My personal blog. Mostly technical stuff.

Navigation

Unblocking Google Photos AutoBackup

I've been using Google's AutoBackup feature for photos for a while. It is quite nice - if you upload photos no larger than 2048x2048 the storage space is free, and you get an easy, fast (Google servers) way to access your photos from anywhere using any device. Recently, the auto backup feature on my Android phone has stopped working. All I was seeing was a stuck progress bar saying something like "Backing up N photos...", but…

Put your smartphone's power to good use

Smartphone companies nowadays are fighting a spec war - who pushes out the first quad, octa, trillion core phone, who has more ram, who has more bling. We, consumers, end up buying them to reply to emails, check Facebook and play some "intensive" game like Cut the Rope or Angry Birds.

postimage

It would be great to actually put all that (spare, let's face it!) computing power to good use. Fortunately, the folks at HTC have built an easy to use app for this, that just works!

You can read more about the initiative here, but basically HTC Power to Give is an app that uses your Android phone's power to solve research problems while charging and connected to Wifi. It

My Thoughts on Swift

During this year's WWDC, Apple announced Swift, an "innovative new programming language for Cocoa and Cocoa Touch". This caused quite a frenzy, and I think it is for good reason. The feature set, full of buzzwords, got everybody in the room excited. On top of that, the demos hinted at the new workflow and style of programming that Swift enables. Personally, I'm glad Swift "happened", even though it targets a "closed silo". This post tries to illustrate why.

postimage

In case you missed the keynote, here's a wordcloud with the (main) features of Swift:

Swift features

From the language design perspective, Swift is similar to other modern languages, like Scala. Among the main features, its memory management model focuses on safety (no overflows

Caching For the Win

It seems like every now and then, while working on something, I get reminded that no matter how much you optimize any given process, most of the time, caching will give better results - even with no (other) optimizations.

postimage

When you think about it, it's pretty obvious - not doing any work at all is better than doing "some" work. Nevertheless, we still look out for web framework performance, NoSQL access times and whatnot. The Disqus guys have a great blog post on how they used Varnish to scale their systems to huge numbers while using a "slow" Python-based stack.

I got bit by this recently while working on a school assignment. We had to solve the Expedia ranking problem

Start using your GitHub data

GitHub is the home of Open Source software. Not only that, but both individuals and companies host their private code there. It started out as a hosted git solution, but it has evolved way beyond that. You can now track issues, keep wikis, host web pages, run tests for every commit and more.

postimage

While collaboration is indeed easy, I feel that GitHub lacks some of the features that are basic with dedicated issue trackers, like Bugzilla, JIRA and others. With GitHub, it's hard to keep track of lagging issues. Pull requests get forgotten all the time. Getting a quick overview of what are the most active issues is not trivial. If you want to make sure the issues are fairly

A GitHub river for Elasticsearch

Elasticsearch is a great tool, allowing users to store and query giant text datasets with speed and ease. However, the thing I like most about elasticsearch is the workflows that you can build around it and its idioms. One of these idioms is the so-called river.

postimage

A river is an easy way to set up a continuous flow of data that goes into your elasticsearch datastore. It is more convenient than the classical way of manually indexing data because once configured, all the data will be updated automatically. This reduces complexity and also helps build a real-time system.

There are already a few rivers out there, like the twitter and wikipedia rivers, but there wasn't any GitHub river until now

Liking Light Table

If you haven't done so already, you should check out Light Table. It's a great new IDE that is trying to approach the way we go about programming in a different manner, kind of like what Bret Victor suggests.

postimage

Leaving the philosophical aspects aside, Light Table is also interesting from a technology perspective. First of all, its architecture allows for plugins to be "first class citizens", able to do anything within the IDE, as if their code was part of the editor's core. Second, LT is a packaged webapp. It's written in ClojureScript and packaged with node-webkit, so it's pushing both ClojureScript's development and the Web forward.

Recently, the code was open sourced and the plugin infrastructure was made available