Hoppa till innehåll

Kategori: Okategoriserade

First Ubuntu App Showdown submission: Quiz

Quiz is a quiz game, simply. But not really as simple as a simple quiz game.The idea is quite large, which actually makes me wounder if I should just make it simple now, and to make it bigger later on.

The idea is that you can use Quiz for two main reasons:

1. To learn: You can add any kind of question you like, and then use it to learn my answering your own questions. I’m currently reading a book about pretty much everything, and I add thinks like years, scientists, definitions and elements.

2. Game: Challenge your friends either by your own quiz, or by already submitted. That brings be to the much bigger thing: infrastructure. I will have to write a web back-end for users to authenticate and submit questions – and most importantly: make it safe.

So this first update is just to bring you up to speed: You can add your own questions, and you can answer them.

Next step will be to add a function do add alternative answers and returning these as buttons for the users, instead of a text field, which will have to be answered exactly.

Kommentarer är stängda

Music App update – July 15th.

It’s been a while since the last update, but there haven’t been any real news or updates – until now(!).

Today there where a lot that got merged into trunk, and therefore is coming to a PPA near you.



  • Removed the ability to chose your own music directory. Instead using default: ~/Music (Victor Thompson)

  • For Ubuntu Hackfest, make Music scan ~/Music on each start up. (Victor Thompson)

  • Placeholder for cover art in Now Playing toolbar. (Victor Thompson)

  • Initial playlist support. (Daniel Holm)

    • Create/edit/remove playlist.

    • Add track to playlist.

    • Show playlists in Playlist tab.

  • Popover. (Daniel Holm)

    • Press and hold playlist to either edit or remove it.

    • Press and hold track to add to playlist or queue it.

  • Debug (Daniel Holm)

    • New function that’s makes it easy to shut debugging of for later.

  • Library. (Andrew Hayzen)

    • A limit has been introduced into the buffer to stop large memory allocations.

    • Performance tweaks so database is written in a single transaction.

  • Ability to seek on the Now Playing view. (Andrew Hayzen)

  • New icons. (Lucas Romero Di Benedetto)

    • Default album/cover art missing.

    • Last.fm

    • Playlist

    • Music Directory


Bugs resolved

  • Buttons in queue dialog being too far down.

  • Playlist dialog not showing up.



Last week Ubuntu Hackfest started off and day two treated the Music app.

I (Daniel) worked on the playlist support, which landed in trunk today. Although you aren’t yet able to actually play, or show any of the tracks in them, they work.

Andrew Hayzen helped a lot with the scanning of the music dir. He first proposed a branch that shortened the scanning process a LOT! Then he helped trying to resolve the UI lockup during scanning by introducing limit to the buffer.


Design meetings

During one of the past design meetings we decided to pretty much put the UI on hold, since we haven’t yet decided how the app will look like, exactly. However, we still do some change, like icons and annoying bugs, but there will be no large changes and I hope you all can bare with us until the UI is decided – and Lisette Slegers and Lucas have some really good ideas coming our way: It will be gorgeous!


Whats next?

Well, quite much.

  • Victor and I will take a look on how to switch from the current tracklist playing, to the chosen playlist.

  • I will move the remove the queue dialog and move the queue list to the Playlist tab.

  • I will continue to work on scrobble support, which is not yet done – and together with that, we will get a new way of downloading and using missing cover art.

  • Some nice new icons will land by Lucas.

  • Micah Losli is working on the bug that when shuffling is activated, wrong track info is showing for the currently playing track.

  • Probably much more, which I don’t yet know of.

Kommentarer är stängda

Web apps for Ubuntu Touch.

I got my Galaxy Nexus last week and immediately installed Ubuntu Touch on it, and have run it ever since. I really like the way to jump between applications in the UI, but don’t really like having many tabs running on a smart phone/tab – also I don’t want to input the site I want to check out every time I know what I want to do. Therefore I started to create apps for Ubuntu Touch just like the one for Twitter and Facebook: a simple launcher that opens a new browser window with a set URL.

I started two night ago with testing and yesterday I started to setup and build packages for all of them (moved to let Launchpad to the building now, instead). Today I’ve added a few more.

I started out with the ones I need personally:

  • Swedbank (Swedish bank)

  • Ping Pong (app for Swedish Universities)

  • Wikipedia

  • Västtrafik (Public transit where I live)

  • tv.nu (Whats on TV right now – Swedish channels)

  • IMDb

  • SR (Swedish Radio)

  • SJ (Train)

  • Wunderlist (todo service)

Might be more… they’re building.

They’re all in by PPA: https://launchpad.net/~danielholm/+archive/touch-apps

You can find the code here: https://code.launchpad.net/~danielholm

In the coming days I will post a simple guide the describes how you can do this too – it’s really simple. The only thing that’s hard, really, is the packaging stuff and setting up your environment, which isn’t that hard either.


Kommentarer är stängda

Music App update – June 19th.

This is the first update of the Music app in the Ubuntu Core apps project – the official Music application of Ubuntu Touch.

At the time it’s been me (Daniel Holm) and Victor Thompson that’s been developing the application for a couple of weeks now.

Victor has put in some really good work to populate the library of meta data of each track in the users music directory, and then show the results in the app. This had to be done, due to that it’s hard to extract meta data of each and every track on each start up. Instead the music directory is scanned on first run and each tracks meta data is saved in a database, which is used later to create each of the tabs now used:

  • Music – Contains each seperate track in music dir.
  • Artists – Not done yet, but will show each artist.
  • Albums – Shows coverart (those who have) of each album in music dir.
  • Playlist – not done yet. More on that later.

The function to populate the library was quite hard to do in a QML way. We made a move to Nemo.FolderListModel(), which Victor sumbitted some changes upstream to.
Victor also has worked out the shuffle function so that works. Also the Now Playing dialog together with the ability to swipe for next/previous track.

This past week I’ve been working on integrating some of Lucas’ ideas about the UI, together with integrating scrobble support and support for Playlists:

  • We now use tabs (might switch to a nother way later on)
  • Some inital code to support scrobble support to Last.fm (not yet complete, so it doesn’t yet scrobble).
  • Tab, functions and database for playlists. Will include import playlist files, that the user already has.


Lucas yesterday submitted a demo of his thoughts of how the Music app should work:


Music 0.3 just landed in trunk and the package should be in the Core Apps PPA later tonight. Altough Victor’s upstream changes has not yet landed in Nemo.FolderListModel(), which unfortunately makes it unable to run before you got the latest changes. But a PPA package for that is under way.

Kommentarer är stängda

My Music app on it's way to Core apps.

Great news! My Music App, which I showed the to the world a week or so, ago is now being developed together with Canonical and the Community to become one of the Core applications in Ubuntu Touch – the default music application!

I just had my first meeting with Michael Hall, Alan Pope and Victor Thompson, where we discussed how to proceed with the development.
The application will be based on my code, which is great. Also we will adopt the UI design from Lucas Romero Di Benedetto, which you can see above.

I’m so excited!


Kommentarer är stängda

"Kan du jobba för en kvinna?"

För snart två år sedan så gick jag in på en arbetsintervju för att bistå ett göteborgsplacerat företag med en flytt och diverse ihopkoppling av nätverk, datorer, m.m.
Intervjun gick utmärkt och jag fick senare jobbet och har fått mig en vän för livet då hon, chefen, som intervjuade mig har fått en särskild plats hos mig och är en fantastisk person. Men under intervjun ställer hon mig frågan: ”Kan du jobba för en kvinna?”

Jag hoppade näst intill till av chock. Jag förstod inte varför hon ställde mig frågan. Självklart kan jag jobba för en kvinna! För mig spelade det ingen roll om jag jobbar för en kvinna, vid en kvinna eller att en kvinna skulle jobba för mig. Det har ju ingenting med hennes biologiska kön att göra. Jag svarade att jag givetvis inte hade något problem med det. Hon förklarade hur hon på ett annat jobb hade haft problem med män som, av min tolkning, mobbade henne för hennes biologiska kön och hade utttryckt sig som att de försökte se vad hon gick för innan de tänkte ta något från henne.

Jag blir vansinnig.

Men då slog det mig hur, naivt, att bara för jag inte ser den skillnaden på män och kvinnor, så betyder inte det att andra gör det. Bara för att jag har insett hur könen är socialt konstruerade och hur jävla ojämlikt det kan är, så har inte andra det.

Situerad som en vit, ung man i Sverige, med en pågående hög utbildning, bra möjligheter till jobb, stor kunskap och som dessutom är frisk – och smal; jag är på toppen av världen och den grupp som är minst utsatt av alla. Detta ger mig ett ansvar att bekämpa utsatthet, istället för att spe på den. Jag vill jämna ut detta samhälle genom utbildning och politik. Det är mitt kall – mot ett hållbart samhälle.

Frågan är kanske mer: ”Kan jag jobba för ett patriarkat?

Kommentarer är stängda

Kort om näthat.

Det har varit mycket tal om näthat senaste tiden, med all rätt. Det underbara med internet, som är möjligheten till obegränsad och ocensurerad yttring av ens egna tankar och känslor, har också en mörk baksida: folk beter sig som idioter.

På internet kan man vara vem man vill, så varför vill man vara en idiot?

För det är ett väldigt spännande beteende. Hur man vill spendera sin tid genom att hänga ut, förolämpa, och kanske även ibland intill förstöra godtyckligt valda människor.
Jag är övertygad om att dessa ”troll” helt enkelt är väldigt ensamma, oaktsamma, socialt isolerade människor som söker göra sig själva större genom att förminska andra. Patetiskt.

En del säger som så ”Hater’s gonna hate”, och vill helt enkelt lämna det där. Men inte jag. Jag vill bekämpa detta för att jag tror att det går att ändra. Livet är för kort för att hata. Och dessa troll är sociala missfoster som behöver stöd och tillrättavisande. De behöver bli en del av afk-samhället.

Jag har, som så många andra, haft min beskärda del av hat- och förolämpande kommentarer. För en tid sedan så såg jag ett klipp på YouTube där några framstående, kvinnliga, journalister läste upp några av sina värsta hatkommentarer. Det var en man där som förklarade (foliehatt-prat) hur CIA finansierade feminsm, och därför var det ondskefullt. Jag svarade och delade min rädsla och sorg över hans okunnskap. Mannen blev arg och bestämde sig för att kommentera en jävla massa av mina egna YouTube-klipp med kränkande ord.

Jag tycker bara att det är pinsamt – det är för min del som att hälla vatten på en gås: det rinner av. Men många andra tar faktiskt illa vid sig, och därför är detta ett stort problem.

Problem är till för att lösas, men hur löser man detta? Inte ska man sjunka till samma nivå som dessa människor, inte heller ska man ta illa upp för det de säger, för det är deras energi, och deras ord betyder absolut ingenting.

3 kommentarer

Minecraft och QML.

Jag började för ca ett år sedan att spela Minecraft. Initialt var jag inte så imponerad när jag såg spelet, men när jag köpte det, och testade det; när man febrilt grävde sin första gruvöppning med en blomma nattetid, med alla mobs som ständigt tog kål på en: då var jag fast.

Sedan dess har jag och några vänner haft en egen server, som kör Ubuntu och administeras över SSH. Vi använder Overviewer för att se en kart över vår vackra skapelse och spelar någon gång i veckan. Minecraft är som lego för mig – ingen ände på vad man kan göra – än mindre när det kommer till Redstone.

Hur som helst så har vi blivit allt fler, och det är nästan alltid någon inne, och jag, mfl., har behovet att kolla så att servern är uppe och fungerar, samt att det är kul att se vad det pratas om, samt vilka som är inne. Jag kunde lätt göra det eftersom jag har direktkontroll över servern med SSH, plus att vi kör med MSM för att administera Minecraft-servern. Men jag ville gå steget längre.

Därför satte jag igång och började koda på ett WebUI för msm. Alltså en hemsida man kan gå in på för att kunna ha lite kontroll på vår server. Egentligen mest för att utmana mig själv, och för att det är kul att koda. Sedan ville jag även ta steget till att skapa en mobil-applikation, och eftersom jag är mest intresserad av kommande Ubuntu Touch så fick det bli en app till det: mstm – Minecraft Server Touch Manager.

Det är faktiskt fruktansvärt lätt att komma igång med QML i QtCreator. Det som jag hade – eller har – problem med var att jag ville kunna utföra kommandon direkt från applikationen – vilket skulle kräva att jag skulle få skriva en extension till Qt i C++, vilket jag inte kan. Så istället gjorde jag om min msmwebui för att visa den info jag söker i XML, vilket jag sedan hämtar in i applikationen. Dessutom visar den vår karta.

Dock är ju denna kod väldigt anpassad för mina egna ändamål, men jag har tänkt att släppa koden fri efter att jag har anpassat den nog för att man själv ska kunna förstå sig på den, och inget finns kvar av den info som endast gäller mina egna servrar.

För att få det at funka nu så krävs det att man har en webbserver, msm, overviewer installerat och uppe. Sedan ska man skapa SSH-nycklar m.m. Så det kommer.

Kul är det!

Kommentarer är stängda

Clean out unwanted comments.

I had some kind of issue with my spam filter, and my database was filled with like 6000 pages of spam (30 per page, so round 180 000 spam comments). And the thing is, that they take up a LOT of data space. I started to sort them out using the Drupal UI, but later found that the database still was rather large (~150 MB compressed). I took a look in the database and found that the data values where still there, altough I’ve removed the linkage of the comment from the nodes. So i still had these ~ 200 000 spam comments.

Well, I have plenty of backups, and altough 150 MB isn’t that much it becomes quite a lot in time – so I wanted to remove the data values in the database too, and here’s how you do it:


The table ”comment” contains the ”visible” comments. It also contains a comment id (cid). The two tables ”field_data_comment_body” and ”field_revision_comment_body” contains the full comments. These are the rows we want to remove. the table ”comment” shows only the comment which I’ve already ”deleted”, but the other two still has the comments and use a lot of space. So by a simple MySQL Query, they will be gone, by using the cid’s from ”comment”.

I use phpMyAdmin, and chose the database of this site, and clicked the mysql button, then pasted this and ran it:

Delete from field_data_comment_body:
DELETE FROM field_data_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL


And then from field_revision_comment_body:
DELETE FROM field_revision_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL


What is does? Well, it removes all the rows from the field_*_comment_body tables that does not have a entity_id that corresponds with the cid from the comment table.

As easy as that! Now you only have the comments which you agreed to using the Drupal UI. And my compressed database backup as shrunk to 15MB(!).

Kommentarer är stängda