There can be only one.
It’s about time! Finally the functional but otherwise not very attractive Skype on android has been updated. User interface has been totally revamped and follows the nowadays so popular flat style. With my initial testing the new version seems to work really well and so far I haven’t found anything to complain about. Well except for the most awkward ad I have seen in a long time.
I recently wrote about leaving Google Reader. Of course this decision was made for me when Google announced that they will shutdown Google Creader on 1st of July. In the beginning I simply used thunderbird as my RSS reader but eventually this became too limited as for instance I couldn’t easily access my thunderbird installation from work. Then I switched to theoldreader which is more or less a Google Reader clone with additional features. It worked just fine and was free as in it didn’t cost anything. However theoldreader failed to fetch all the articles for me. Of course I couldn’t complain much as I was not a paying customer but it was enough to push me for searching for an alternative.
After some googling I bumped into NewsBlur which not only worked fast and without errors but also was open source. I have the option of installing it on my own server and also premium service is provided for very affordable 24$/year price. I chose the latter option. So far newsblur has filled all my RSS reading news by being super fast to use and fetching all the articles. They also offer mobile applications for all major platforms albeit I have only used the Android version. It works fine but does not offer the same user experience as the web user interface.
Anyway I can highly recommend newsblur for anyone still looking for replacement for Google Reader. If you don’t feel like paying for service that you are most likely using on a daily basis, then just host your own instance. For everyone else there is paid service offered at newsblur.com. They also offer free service but it’s fairly limited and will not be enough for most users.
I am a strong believer of mobile computing and to me a perfect setup is a small laptop that can be connected to a bigger screen via docking station or similar setup. My current setup consists of two year old Lenovo X220 and a high resolution Dell U2711. I’ve been quite happy with it. Laptop is easy to take out from the docking station, which by the way comes with the device, and it serves as a desktop replacement while at home. However two years is a long time in technology and I constantly find myself drooling after newer laptops.
I’ve been an full time linux (check out Arch linux, it’s awesome!) user for the past eight years, albeit I did own a first generation intel macbook for almost two years. However lately I’ve been less and less interested about tuning your computer and more interested getting things done. I’ve also learned to love my external monitor color capabilities and high resolution which makes sure that I will not buy another laptop with 1366x768 resolution. Unfortunately Apple is currently pretty much the only manufacturer with laptops with truly high resolutions. Yes I know laptops with fullhd resolution have multiplied over the past year but it’s simply not enough for me. We have mobile phones with similar resolution!
Since I have mostly good memories from my short period of being a part-time mac user I am seriously considering buying the next generation macbook pro. I feel OS X is a good middle ground between productivity and application support. I will have access to most developer tools I’m used to on linux but also services like Netflix will work just fine. Also Apples devices are well built and look gorgeous. That being said I still have my doubts too, mostly regarding restrictions set by Apple. However I am fairly convinced that I can successfully run linux on the device should OS X turn out to be too restrictive for me.
Anyway I was slightly disappointed because Apple didn’t update their MBP models to Haswell in the WWDC but I’m sure it will happen soonish. If nothing radical will happen between now and then I will likely be another linux user converting to mac. As far as I can see Lenovo’s catalog just isn’t enough.
So yesterday Google announced that they will retire Google Reader. At first this annoyed me since to me Google Reader was their best service after Google Search of course. Luckily there are plenty of alternatives and for now I chose Thunderbird as I already use it for email.
1 2 3
I’ve been using Dropbox and Google Calendar for as long as I can remember and I’ve rarely had any problems with them. As a matter of a fact both products work great, offer free service and have saved my ass on few occasions. Sounds too good? Yeah… The old truth still stands: If you’re not paying for it; You’re the product (and sometimes even if you’re paying). The part of me that is concerned about privacy issues has never liked the situation but I’ve argued that the benefits are greater than lack of privacy. Also lately I’ve been syncing more files to my Dropbox and my free disk quota is running out. Therefore I need to either find a better alternative or start paying for the service. Well yesteday I had some free time on my hands and decided to look for an alternative to Dropbox. Ideal replacement should be easy to use, work well and preferably be open souce. It didn’t take me long to bump into ownCloud.
At first sight ownCloud looked great: nice user inteface, open source, media streaming, suppot for applications and most importantly solid enough to have multiple companies offering services using ownCloud. Let’s take ownCloud into a test as I happen to have some extra web space. I have to say though that ownCloud uses the word cloud pretty vaguely as by default ownCloud is installed on one server and the support for external storage is only an experimental feature.
Installation itself was pretty straightforward. I simply downloaded the latest
ownCloud from their install page and
extracted it on my server. Next I navigated to
To make WebDAV work I had to edit the .htaccess file in the installation directory.
I changed the existing
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Spotting the difference is left as an exercise. :D Nah, just kidding it’s the HTTP_AUTHORIZATION line and the added ,L at the end.
One problem solved but then apache started complaining about permissions.
As as solution I added to the .htaccess file following lines.
Voilá and the sync client managed to synchronize everything.
Next step is to configure my desktop and mobile calendar, email client and mobile phone for contacts and of course sync client to synchronize everything important. I have to test ownCloud for few months until I’m confident enought to ditch my current solutions but so far everything looks great.
I’ve used open source software for many years now but I haven’t really contributed back to any of the open source communities. I have filled some bug reports but other than that I’ve been simply a happy (and sometimes less happy) user. However yesterday I took the first step by doing tiny tiny contribution to GNOME or to be specific to gnome-session. The funny thing is that it was all because of selfish reasons.
I was writing my script called osinfo and found out that gnome-session gave exit value 1 when called with —version argument. This was easily tested doing the following.
1 2 3 4
Exit value 1 with non-error cases is problematic because usually exit values other than 0 are interpreted as an error. This was also the case with Python’s subprocess module and specifically its check_output function.
Since I knew that this was trivial to fix I thought that I might just as well
fix it. The problem was that I had never before contributed to GNOME so I had
no clue how and where to send patches. Luckily after some help from google and
I was directed to their bugzilla.
Unfortunately GNOME documentation isn’t the
easiest for the beginner because they are quite dated and I really didn’t want
setup IRC client to join their IRC channels and ask for help. So I spent most
of the time browsing their bugzilla and reading git logs to determine
conventions used for commit messages and bug reports.
EDIT: I finally did find the documentation Contributing patches.
Finally I created a bug report and attached a patch for the bug. Few minutes later one of the developers reviewed my patch and a while later I received email that my patch was committed to the master branch. Everything went smoothly and surprisingly fast so I might just do this again next time I find something that bothers me in GNOME.
Last week I took part to an intensive Clojure-course which was an introduction to functional programming using Clojure. The course itself was fairly well organized and interesting but that’s not the topic of this post.
The course was built around solving small programming tasks using clojure. Each topic had their own separate git repository on github which we cloned and added our solutions in. The end result was that participants had many repositories (one for each exercise set) and this was fine during the course. Now that I’ve successfully passed the course I wanted to get rid of all the separate repositories and combine them to a single git repository. I could have simply created a new repository and copied the files into it but this way I would have lost all commit history. I have previously used git submodules but since I won’t be developing these assignments further I would rather not user that method. Few minutes of googling and I found a solution for my problem, git subtree merge. Subtree merge is perfect for my use case since I my repositories were separate but they shared no data with each other. In other words there would not be any merge conflicts.
Here is a quick tutorial of the steps that I did.
First I created a new folder called Clojure and two subdirectories called exercises and material.
1 2 3 4
Then I initialized an empty git repository to the Clojure directory.
Next I created a subdirectory which I will use as a prefix to a following merge.
Now it was just a matter of adding the old repository as a remote repository to our newly created main repository.
Then do the merge without doing the actual commit.
Next we actually add the old_project repository to our new repository. This happens with git read-tree command which reads the master tree of the old_project repository and stores it under the path given with prefix argument.
Now we are almost done. Final step is to actually do the commit.
In my case I had multiple repositories so I just repeated those steps for every repository I wanted to combine. My final repository structure looks like the one below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
The first level subdirectories below exercise and material directories were originally separate git repositories. Now I have one single repository that contains the data of all the old repositories which I can easily push to github.
Brace yourselves, it’s time for another “I migrated from X to octopress” blog post. Try to bear with me.
Like the title hints I have finally started my migration process from wordpress to octopress. I have nothing against wordpress per se but it’s way too big for my needs. I only need a simple way of creating posts every now and then and for that purpose octopress seems to be quite suitable. Also static html pages are more pop than hipster glasses these days.
Migration was easy enough since I didn’t have too many blog posts and pictures in them. The initial migration was made using excellent tool called exitwp. Exitwp converted my wordpress export xml to several markdown posts without problems. Some people have complained that they’ve had some encoding issues with exitwp but I didn’t have any.
So far I have only customized the default theme little bit and transferred the about page and blog posts. I don’t know yet wheter I will transfer the gallery I had on my old blog or not. I think I might just upload my images to picasa or flickr and just link to it. Also I might enable few more plugins if I find any interesting ones. I can already say that Octopress had the best out-of-the- box experience I’ve had. Default theme was gorgeous and few interesting plugins were built in.
Right now everything seems to work and I am more than happy with octopress. I especially like the fact that I can just use vim to edit blog posts and keep everything under git. Octopress also loads a lot faster than my previous wordpress installation, even though I tried to enable all necessary optimizations.