Thursday, 26 December 2013

Which programming language to learn next

This is a revamp of an earlier post that started with my personal path of finding a language I'd like to master in 2014. After lots of discussion on different forums I've come to a nicer, and higher level view of this question that puts it in a different perspective. My hope is that this approach is more useful for the reader.
There is a common wisdom that a programmer should learn a new programming language every year. I think that would be too much and after a certain number one wouldn't benefit much from the next language. I agree in that one should know several different languages in order to see different ways of expressing and solving problems and to use that experience in their working environment. "Several" is not a specific number, but it is not less than 3 and not more than 7. Probably a wisely chosen five languages should be enough. Here is a way to group the languages that I believe can help in the process.

The basics

C or C++ with a touch of Assembly. Without these you will struggle to see and understand what's happening in the background when you use a higher level language in the future. You don't need to be proficient in any of these, but you should get to the level where you understand what happens on the stack during a function call and you can implement the basic data structures and algorithms with some performance constraints. On this level you are forced to think about the efficiency and this understanding comes handy in the future when a mere decision between HashSet and List will makes or breaks the efficiency of your code.

An OO language

C++, C#, Java. Pick one, master it. Learn the platform not just the language. Learn and apply the OO principles.

JavaScript

This one is not a for learning new concepts. If you really want to avoid it then you can. But it's definitely worth to familiarise with it: besides being the C of Internet it is the chosen language for cross-platform mobile development and you can program server-side (nodejs) or Windows 8 desktop apps in it as well. Sooner or later during your career it will catch you :)

A scripting language

Python is an obvious choice here, Ruby is another one. Perl, shell script and probably some dozen others are also on this list.

A functional language

Haskell, F# or Erlang. Haskell is THE language to learn if you want to master the functional programming principles. If, however, you plan to use the language for work then you are better of with F#. And there is Erlang somewhere in between.

One from the Lisp family

This level is mostly academic (except if you are working with AI) but I am sure one still can benefit enough from this. The problem is that the Lisp community is very fragmented (and Lisp syntax is (very (very)) strange). There are two major dialects and several minor languages. Today I would recommend Clojure: it targets the JVM and compiles to JavaScript. Both are such benefits that move the language to the "actually useful" field.

How to choose

If you want to choose your one language then you are reading the wrong blog. So you want to choose your nth programming language. First of all you should choose one that you like: you like the community, you like the company that controls the platform, you like the syntax, the libraries, the frameworks and the tools. One should not learn a language that they don't enjoy using. My second advice is: diversify. Choose from a group above that you have no experience with yet. My next one is Haskell.
Happy coding!

Tuesday, 10 December 2013

Strong passwords

Dear Microsoft,
I am writing to let you know that you are the only service provider I've ever used that doesn't let me use my 17-22 character long passwords. And to make it more controversial at the same time you don't forget to emphasize how important a strong password is.



The above was the original drafted blogentry, but by the time I am posting it this landed in my news reader. Now that makes the story complete.

And one more comment: the world would be a better place if everybody, including ops teams in the companies I've ever worked for, read xkcd. Besides that employees would stop storing server passwords in Excel files the passwords would also be really strong. FYI all brute-force password cracking software test against substitutions like o->0, s->$, l->1 and all the other tricks that make the usual corporate-security-policy-forced 8 character long passwords "strong".


Saturday, 30 November 2013

An engineer's business card

Recall the countless times you desperately needed a 1 KOhm resistor to fix an amplifier at a party, only to see the girl you were trying to impress slip away with an OCaml programmer?

Tuesday, 19 November 2013

RSS readers re-evaluated

Six months passed since I compared the Google Reader successors. I didn't plan to look at them again this soon but many people asked me recently what I would recommend. My answer was Newsblur every time but I realised that this advice might be outdated. The reason is that at the time of my last review the competition was in its very early stage and much can change in six months. Since I use my RSS reader extensively and I had some time to do a re-evaluation, here is the update.

TL;DR

The final choice is between Newsblur and Feedly. First of all consider the pricing and limitations and see if they both are an option for you. If they are, then I would recommend Newsblur if you are a control freak, if you want to keep your finger on the heartbeat of your feeds and if you are an iOS user. If you can let it go and you are fine with no stats from your feeds then nothing beats Feedly.

Overview

I am going to look at Hive Reader, Digg Reader, Netvibes, The Old Reader, Pulse, Newsblur and Feedly. My usage pattern is: I am subscribed to 240 feeds, some are picture-heavy (no, it is not lolcats!), some have hundreds of items per day, others have one item per month. I consider only online applications, if for some reason you want a thick client, this review is not for you. I also need mobile and tablet clients: reading feeds is a very typical content consumption activity and I expect strong support for second and third screens. Offline reading is also expected: main reasons are that it makes reading more fluid, there are no mobile reception situations (London tube in my case), but it is also very handy when I can "charge" my reader with content before a flight and consume on the plane or update in the hotel when abroad and read it during the day. These are my priorities, yours may be different. I try to cover other aspects as well in this review.

Hive Reader

It's a no-no. No mobile app, UI is confusing, unacceptably slow feed refresh, "Import from Google Reader online" is "coming soon". Feels like an under-powered and abandoned project.

Digg Reader

Long awaited and arrived a bit late (after the shutdown of Google Reader). In my opinion it failed to meet the high expectations many had for it: it does the job but nothing more. Very limited feature set and no mobile app.

Netvibes

It is the same: does the job but that's it. It is ugly on mobile and the mobile offline mode doesn't work properly: it probably uses HTML5 local storage with its limitations. The full version also has tasteless UI that looks like a desktop app.

The Old Reader

Good 3rd party mobile app support. Not bad, maybe a bit hipstery. Some UI glitches, and limited feature set. The 3rd party reader for iOS is Feeddler: offline reading works, but it doesn't sync "mark as read" status and misses the "like" feature.

Pulse

It is still not an RSS reader. It is however a nice RSS "picture browser" especially on mobile or tablet. But it misses all the RSS reader features: no export/import, doesn't remember read-status between sessions...

The finalists: Newsblur and Feedly

Feedly changed a lot since my last review: it is not a browser extension anymore, probably it works in IE, and OPML export/import are added. It also survived the transition to their own back end servers with some minor hiccups only. Thanks to the Google Reader compatible API there are several mobile applications that support Feedly. It still requires Google login. And the UI has always been beautiful albeit a bit unusual on mobile. Newsblur is mostly the same as it was six months ago when I picked it as the best reader. There are some nice improvements; the most important is that the iOS app now supports offline mode. So let's compare these two in more details.

Pricing

First of all: they both are on freemium model. If you don't want to pay for your reader and you have more than 64 feeds then Newsblur is not an option for you. There are other limitations, not all listed on the front page. On the other hand I didn't find it necessary to pay for Feedly; the free version is feature-complete for me. Would you need (or want) to pay for either then Feedly is 45$ a year, Newsblur is 24$. I paid 24$ happily for Newsblur but I am also happy that the free Feedly works fine for me: 45$ is a bit above the acceptable price.

Licensing

Newsblur is opensource (including the mobile apps), Feedly is not. Not that it makes any difference in functionality, but it might matter for you.

Mobile

Newsblur is not supported by 3rd party mobile clients so you have to accept the two applications provided by Samuel. The iOS client is good, the Android client however lags one step behind: version 3 has been just released but it still lacks the offline mode. With Feedly however you get several 3rd party clients besides the official one: on iOS I use Reeder and sometimes Byline. Byline feels like an abandoned project with a bit dated design, but it works perfectly. I am satisfied with the official iOS client of Newsblur but it's nice to have choices. Also if I used an Android device I wouldn't be completely satisfied with Newsblur and I would be stuck with the official client with no alternatives.

Analytics

Newsblur is very strong in analytics features. It tells you how frequently it updates a feed, how many subscribers a feed has, shows you stats about the post frequency, indicates the feeds that are problematic and provides you with the log of the problem (timeouts for example). Feedly not only lacks all of those features but it even doesn't tell you the URL of the feeds. In exchange it is slightly more fool-proof with broken or problematic feeds: there are 3 feeds out of 240 I have problems with in Newsblur and they work fine in Feedly.

Feed update

Update frequency of paid(!) Newsblur is better than Feedly on not popular feeds. Feedly promises 30 minutes faster updates on paid plan but that would be still slower than what Newsblur does. Newsblur also has an "insta-fetch" feature (per feed) in case you can't wait for your auto update. Feedly however performs slightly better even on the free plan with the popular feeds.

Intelligence

Newsblur lets you teach it your preferences. After some training you will find the articles most relevant to your interest in the "Focus" view. You can teach it to prioritise by the source, author, keywords in the title or by tags. Feedly on the other hand shows you how many people recommended an item but it knows no personal preferences.

UI

Feedly is way nicer. I used to Newsblur UI in six months but after some time on Feedly I see Newsblur as cluttered and ugly. Feedly does scroll-for-paging on mobile instead of regular scrolling. In the beginning it was annoying but after some time I fell in love with it: all mobile apps that have long-lists should offer this gesture. The reason is that it doesn't require precision movements with your fingers when you scroll through a long list. Feedly's "cards view" is very nice for picture-heavy feeds and although I don't use the "magazine" view I can imagine that for some feeds I will change to that.

Sharing integration

Newsblur is slightly better here: it can share to Twitter, Facebook, Readability, Instapaper, Pinboard, Pinterest, Buffer, Diigo, Kippt, Evernote, G+, Pocket, Tumblr, Delicious. Feedly can share to Evernote, Instapaper, Pocket, G+, Twitter, Facebook, Linkedin, Buffer, Pinterest and in the pro plan "Custom sharing" is available.

Authentication

Feedly requires Google authentication and your permission to read your basic Google personal data. That means you need a Google account and you have to feel ok sharing your name, gender, profile picture, profile URL, country, language, timezone and email address. Or you create a fake Google account if this is the only thing that stops you using Feedly. Newsblur uses custom authentication.

My choice

I moved to Feedly. My reasons are: better mobile support with 3rd party applications, much nicer UI and better UX. What I will miss is the analytics of Newsblur: I have a slight ADHD so I loved to see all those stats and I don't like the fact that Feedly doesn't tell me if a feed is misbehaving so I might miss some items out of my hundreds per day. I also miss the sharing to Readability. Readability is way nicer than Instapaper so I won't change, instead I will create a Chrome extension to fix this. I also decided that it is more valuable to see what others like than to train my RSS reader to my preferences. The former can widen my horizon, the later would shrink it.

Self hosted

A review wouldn't be complete without this category. In case you are a real geek you can run the services on your server. Tiny Tiny RSS and Selfoss are the popular options here. You can also run Newsblur, but that feels a bit overkill: it uses Django, MongoDB, RabbitMQ, PostgreSQL and some other tools that make it scalable way beyond the one-user-case. Both Tiny Tiny RSS and Selfoss are simple PHP applications, probably much easier to setup than Newsblur. I know about mobile clients that support tt-rss, but I didn't see any for Selfoss. I stop here: if you are into this then probably I can't make as much research as you will do for yourself.

Wednesday, 23 October 2013

Solution for the memory fragmentation in .Net LOH

I don't really blog here about current technical questions. The reason is that most of the posts would be outdated in a year or two. But this one is a "breaking news" and it's worth a post. Short technical background:
Most developers assume that because of Garbage Collector (GC) they don't have to deal with the memory in .Net. It is true. Most of the time. But it is ALWAYS worth to learn what's going on behind the curtains. And if one digs into the details of GC, they will find at least two possible issues: pinned objects and the fragmentation of the Large Object Heap (LOH). The specialty of LOH is that it is not compacted when GC happens, so it can become fragmented over time and cause OutOfMemoryException even if the numbers say that you are far below your memory limits. Maybe you never experienced this. And maybe you didn't because IIS regularly restarts your processes. Another "dive deeper" topic. Anyway. .Net 4.5.1 has a solution. Or more precisely: it gives you the power to address the LOH fragmentation. It is not automatic. You have to deal with it. But now, at least you can.

Wednesday, 2 October 2013

Do you need JavaScript libraries?

I know jQuery. Now what? by Remy Sharp is a great reading. Just recently also John Papa had some thoughts about how we are overwhelmed with all the libraries we have today. Web development is a very rapidly changing field. Best practices of two or three years ago are not recommended anymore, popular libraries are losing their edge while others emerge to replace them, and Internet Explorer version 9 and above kind of does the job of a web browser.
The question is, of course, provocative. The right questions are: When do you need JavaScript libraries? and Which libraries do you really need? In some cases maybe all you need is JavaScript with Vanilla JS. In other cases you might need jQuery and nothing else.
Think twice before you add another library just to use one single feature it provides, or before you learn yet another templating library whilst John Resig's micro-templating solution might serve your needs.
I am currently working on a Chrome extension. I can't justify to myself using any libraries for that. It runs only in one browser and that one supports all the latest standards. It is a special example of course, but the point is: don't automatically start all your web projects with
<script src="jquery"...

Sunday, 29 September 2013

The "Rockstar" programmer

Scott blogged about the Rockstar programmer. Maybe a coincidence, but yesterday I read this other article in the same topic. Then I found this from Joel. They all accept the existence of Rockstars. However while Scott and Shanley emphasize the importance of "Rockstar Team" over "Rockstar Programmer", Joel says that you have to build a Team of Rockstars. The context is the difference here and Joel is the only one aware of that. As he rightly pointed out, a successful software company has no choice but to build a team of Rockstars, while in-house development rarely requires or can afford that. I would go further. Because mediorce/average programmers would struggle to work with rockstar's code, it is in the best interest of the in-house development to avoid rockstars. They won't enjoy the environment and they will leave. Their replaceability (however inappropriate this word sounds here) is limited and very expensive.
Pairing "step back and think" devs with "crank a lot of pretty good code out" devs is a recipe for a good team. - Scott
"Crank a lot of pretty good code out" doesn't make a Rockstar in my dictionary. Rockstars don't need somebody else to "step back and think" because they do that when necessary.
Calling out rockstars demotivates the team. - Scott
If you call yourself a Rockstar, you are not one. - Anon (I can't find where I read this.)
Besides, if your team is like Joel's then this would only motivate the others to become even better.

And a funny side-note: Scott works for Microsoft. Microsoft is a software company. Joel uses Microsoft in his examples. And earlier he also justifies the success of Wal*Mart. Is Microsoft the Wal*Mart of software companies according to Joel?

Tuesday, 24 September 2013

CyanogenMod and Android fragmentation

Android's OS fragmentation is an ongoing issue the Google mobile ecosystem faces. Whilst iOS7 adoption hit 35% within a day (that's including my 3-year-old iPhone 4), Android Jelly Bean stands at 45% more than one year after the release of 4.1. Some companies, like Amazon with its Kindle Fire and forked Android OS, are obviously working against Google's best interests. But what about the recently incorporated CyanogenMod? Before the incorporation I agreed that Cyanogen was helping to unify Android. But this changed last week. Sooner or later they have to make money. Some options the same article cites:

  • "Licensing software/services to OEMs" OEMs make big money from their short device life-cycle. Cyanogen works against that. Also good luck to do all the certification (second part of the article) work that holds back the software upgrades, especially for low-budget, low-profit devices.
  • "Building hardware" In some way Cyanogen's sole purpose is to make all Android devices equivalent. It will be really hard to give a reason a customer should buy their devices.
  • "Creating secure enterprise solutions" This one sounds interesting. I am not sure if they can do it without forking Android.

All in all, it is possible that Cyanogen keeps helping with the unification, but it's way more likely that in the long term in one way or another they become another "Amazon" in the Android universe.

Monday, 23 September 2013

Actually usable Windows tablets on the horizon

And no, I am not talking about the new Surface "tablets". Beginning this September Intel announced their new tablet processor family built on Bay Trail architecture. This is a great news for those who plan to buy a Windows tablet this year. Including me :) As of today there are three options:
  • Windows RT tablet. That's a joke, not an option.
  • Full Windows tablet with non-Atom processor. And with CPU-fan. And at least 800gr weight... that's not a tablet.
  • Full Windows tablet with Atom Z2760 processor. And 2GB memory. That's a joke again.
With the 3000 series Atom processors we can have a full Windows tablet with 4GB memory, no CPU fan, and ideally also in size 8" and sub-1-pound weight. Like one of these. For the 64bit versions we have to wait until Q1 2014.

About Windows 8.1 "Smart Search"

In October 2012 it caused a small "rebellion" against Canonical when they released Ubuntu 12.10 with built-in Amazon search. The problem was that users' search was sent to Amazon even when they intended to search locally. That "feature" wasn't welcome in the Linux community to say the least. Now, just one year later, Microsoft is going to release the same "feature" in Windows 8.1. The big difference is that users can disable it. However, watching the silence of the Windows community and knowing the willingness of the average Windows user to fiddle with system settings, I am sure Microsoft copied a perfect solution to monitor their customers. The rare moment I must admit: albeit unethical, this was a very clever move.
And as a side-effect, since the search engine can't be changed for this feature, we can expect a serious gain of Bing's market share; a search hit for Bing every single time a user does search on their desktop.

Wednesday, 4 September 2013

Microsoft buys Nokia, Ballmer leaves

Some say it makes no sense, except if Nokia was about to switch to Android or to bankrupt.
Cringely says it's all about money-laundering.
A long summary from Tomi Ahonen.
Some are visioning the end of Windows as standalone product.
And now everybody is like Apple. Except that they are not (see below).

I, personally, think Microsoft just made another non-decision decision. Now their mobile ecosystem is neither Apple-like nor Android-like. It's the mix of the two and that is simply wrong.

And by the way: the step down of Steve Ballmer is the greatest news of 2013, or maybe even the next decade. Vista, Longhorn, mobile, Nokia, tablet, Silverlight, and just recently he tried to ruin the Xbox business. Anything comes, the future can only be better.

UPDATE: I've found a good article describing Microsoft's mixed "strategy".

Sunday, 18 August 2013

How to tie your shoes

... so that they don't come untied. If you ever had to double-knot your dress shoes it's high time to relearn how to tie them properly.



Life ends when you stop learning new things.

Monday, 27 May 2013

After Google Reader

One more month until Google shuts down Reader, it is high time to evaluate the alternatives and move on. My requirements are:

  • It must be web-based (or cloud-based, as they call it nowadays).
  • It must be reliable. Some history, a big user-base, financial plan, or something that makes me believe that it will be around for the next year or two.
  • It must have an export feature. NEVER use a service like this if it doesn't let you export your data.
  • It should have a good selection of keyboard shortcuts.
  • It should have a mobile (iPhone and Android) client with offline support. Originally this was a "must have" request, but I had to lower the barrier.

The starting shortlist: Feedly, Hive ReaderNetvibes, NewsBlur, PulseThe Old Reader. These are the online ones that were mentioned by other blogs and articles. I wouldn't expect reliability from a service that failed to get into the news and blogs in the past month.

Feedly

Probably the most popular alternative, it was all over the news when Google announced that they close Reader. They also promised to provide a Google Reader compatible API that helps the developers of the mobile clients to re-target their clients to Feedly. It does have a mobile client, but the UX is a bit unusual and it doesn't work offline. However my bigger concern is that as far as I understand it is basically just a front-end to the Google Reader. I am not sure how they will serve their some-million user's RSS feeds by themselves: that's a totally different architecture, infrastructure and business. Also I don't like that it works with a browser extension and they still don't support IE (not if I cared, but it is just plain wrong). And the final no-no: there is no export functionality.

Hive Reader

This one is in beta. I requested an invitation and I am still waiting for it.

NewsBlur

First of all, this one is open-source. Doesn't matter from the functionality point of view, but it is exceptional. It has a mobile application that looks really good but doesn't support offline mode and no "mark as unread" feature. The web-application offers good functionality with some social features. Offers OPML export. There are also MANY extra features, you can read a detailed review here. All looks good so far, but unfortunately sometimes I experienced endless "fetching stories" status bar that can be fixed only with a page reload. (see Update 2 below!)
UPDATE: I tried to throw money on Samuel Clay, the developer of NewsBlur, so that he could feed his dog Shiloh and even that failed for the first try. After I successfully upgraded to Premium account (second try after a page reload, yes I am desperate) the server errors are gone. Happier dog, happier user, happier Samuel. Besides the fix of server errors there are more keyboard shortcuts in the premium package. The social and AI features yet to be discovered, but it looks very promising so far.
UPDATE 2: I talked with Samuel and we came to the conclusion that most probably the error was on my side. The service works absolutely reliably since then.

Netvibes

I really like the UI after switching to the "reader view" from the default "widget view". There is no mobile client but the mobile page has offline feature which, however, failed on my tests. Also no "mark as unread" on the mobile: this one is important because it often happens that you tap on an item on the mobile then realise that this one you would like to process on the desktop. Yes to export features and also offers a limited set of keyboard shortcuts.

Pulse

It is on the list because it was mentioned so many times by other blogs but if you are moving from Google Reader you understand why I don't evaluate this one. This one is a totally different breed.

The Old Reader

The UI is good with some annoying minor issues. No mobile client and no offline feature in the mobile site. Not really future-proof: it was started by a team of three and now it seems like it has one developer, an artist, and some friends who help with the development. Also doesn't seem to have a big user base. Does offer export. Somehow looks the most likable one: it is a really lovely hobby project from some young guys with nice technical solutions (I like their REST-like interface) and a cute rabbit in their release announcement.

Summary

No for Feedly because of the missing export feature and because I wouldn't risk a broken service if they fail to migrate from Google Reader. No for Pulse because it is not a Reader replacement. And no for Hive Reader because they are late. NewsBlur is the best one if you don't mind paying for it. Netvibes vs The Old Reader are on the second place, far beyond NewsBlur. They are a draw: Netvibes is more professional and realiable, but feature-wise The Old Reader is also complete in a more likable package. Both have export features so you are safe with any of them and you can switch later if it doesn't meet your requirements or the other one evolves to something better (mobile app please!).
I think NewsBlur definitely worth the price, but if you are a real geek you can even host it on your own server and use it for free :) Samuel is very responsive developer, the service has a nice, open and free API and so many features I wasn't even looking for when I used "just another RSS reader". It is the absolute best RSS reader, even better than Google Reader. If you don't have many feeds (less than 64) then you can consider the free package.

Thursday, 16 May 2013

The First Principle

When one goes to Obaku temple in Kyoto he sees carved over the gate the words "The First Principle." The letters are unusually large, and those who appreciate calligraphy always admire them as being a masterpiece. They were drawn by Kosen two hundred years ago.

When the master drew them he did so on paper, from which workmen made the larger carving in wood. As Kosen sketched the letters a bold pupil was with him who had made several gallons of ink for the calligraphy and who never failed to criticize his master's work.

"That is not good," he told Kosen after the first effort.

"How is that one?"

"Poor. Worse than before," pronounced the pupil.

Kosen patiently wrote one sheet after another until eighty-four First Principles had been accumulated, still without the approval of the pupil.

Then, when the young man stepped outside for a few moments, Kosen thought: "Now is my chance to escape his keen eye," and he wrote hurridly, with a mind free from disctraction. "The First Principle."

"A masterpiece," pronounced the pupil.

source: 101 Zen Stories

Saturday, 20 April 2013

Crockford in defense of JSLint

You can disagree with Douglas Crockford's guidelines by JSLint, you can even hate them and choose JSHint instead. What you can't do, though, is ignore both of these tools. But watch this video before you decide against JSLint.


Thursday, 11 April 2013

Bitcoin

In the past month, triggered by the events in Cyprus, almost every financial analyst published an article about the Bitcoin bubble. Then yesterday it burst (CNET, CNN), at least that's what seemed to happen: the rate dropped from $266 to $105. But that wasn't the end of the story, now it is back to $180. One explanation is that Bitcoin entered the return to "normal" phase:
Source
However I have another theory. The Bitcoin market is not regulated by FSA or any other authority. It is incredibly easy to make manipulating transactions on this market. Given that the value of all outstanding Bitcoins is worth something between less than $1billion and $3billion (depending on the current rate) such transactions can be made by the investments of just some hundred million dollars. I am sure that with such a small and non-regulated market the Bitcoin rate is just a toy for a small group of speculators. A very profitable toy.

Friday, 5 April 2013

Facebook Home (updated)

Yesterday Facebook announced Home. I am not on Facebook (more about that later), but I like the concept: when somebody contacts me or updates their status I don't care much about the application they used but I care about the person. If it's a close friend I want to see their updates and messages, if it's just a acquaintance probably I wouldn't mind to read their updates until some later time or just omit it completely. On the other hand the implementation is far from being perfect: will Facebook let Twitter, Email, Google+ or GTalk updates to be integrated in Home? I don't think so, even if Zuckerberg doesn't deny it (3rd question from the bottom). That would break the business concept behind the idea: make users use Facebook more flawlessly than the rival platforms. It would be nice to read a comparison by a generation Z reviewer of Facebook Home, Windows Phone and HTC Sense's similar solutions .

Update: The word is out there that Google works on a Unified Messaging application ([1] [2] [3]...) Probably another half-baked almost-ideal solution for the users: merging messages only from the Google systems. This is just the extension of the game we've been watching since the "app store war" is over: extending the platform close in. Apple, Facebook ( with Microsoft?) and Google all provide their unified messaging experience. Maybe Google Reader was also the victim of this war? And the losers of this war are the blog and micro-blog platforms.

Thursday, 4 April 2013

Fabric simulation

This is a very clever stuff: all just in 270 lines of JavaScript code. Don't just look at it, play with it! You can tear it apart! My geeky mind couldn't rest until I figured out how it is possible to do this with such a short code: it uses verlet integration.

Wednesday, 3 April 2013

Vim rocks too

Maybe not that exciting as the Emacs one, but this is also nice :)


Introducing dispatch.vim from Tim Pope on Vimeo

If you don't know who tpope is you are probably not a Vim user. He is a legend in this community: probably everybody use, or have used one of his plugins.

Tuesday, 2 April 2013

Emacs rocks

I am a Vim user when I have to leave my beloved Visual Studio but this Emacs plugin is really awesome.

Friday, 15 March 2013

On the death of Google Reader

Every morning at 5:52am my alarm goes off and I have 8 minutes to get up-to-date what happened in the world while I was asleep. The only way to accomplish that is using an RSS reader. Yesterday morning my Google Reader delivered the news to me that it's time to change. I wasn't surprised but this made me really upset just like it did some tenthousand of other users. I think those petitions are pointless, it didn't work when Google removed the social Reader.
Google Reader is the way I see the internet - I even wouldn't recognise most of the websites I follow if I've visited them. Byline, the best mobile Google Reader client, alone was enough reason to make me think to switch back to iPhone. So first thing is to find a replacement and in the past two days many blogs created lists of the alternatives (e.g. lifehacker, CNET) Reading the comments it seems that Feedly is the most recommended and given that they are going to create a Google Reader compatible API that makes it possible for the ex-Google Reader client apps to use their services (whilst probably most of the clients will just die) it seems a good choice except that I can't see how it meets Greg's "must have a solid business plan/revenue stream" requirement. Another one with "classic" UI, The Old Reader, has also positive reviews and there are many others with UI concepts different from the Google Reader's simplicity.
The question arises why does Google do this? Why are they killing a service with such a loyal community? A possible explanation is that Google needs their only team that understands social to work on other products (you don't need to register, just read the first answer). We can't know how many (active) users the Reader or Orkut have, but the numbers are probably in the same range: some 10 millions for Orkut and the same for Reader. And the fact that Orkut is still alive proves how anything social is more important for Google than a useful and loved service.

(source)

Monday, 25 February 2013

Tizen

What once started as OWD and Boot to Gecko is coming to market this year as Firefox OS. I still believe that it is going to be big, but it is just for the lower segment of the market, it is about the feature-phones and it is not going to cannibalise the market of iOS or Android. I didn't even consider it as my next mobile OS. However what I shouldn't have forgotten about is Tizen. The OS supported by Samsung, today's biggest smartphone maker. I haven't heard much about it recently until this week, when I read in the news that Bada is merged into Tizen. I believe that Tizen can easily outgrow Microsoft's mobile market share within a year. Given it's compatibility with some other platforms I would seriously consider a Tizen phone by the end of the year.

Saturday, 9 February 2013

Bing is still in war with Google


Bing asks you to break up with Google this Valentine. I tried it for a day. Got the worst search results ever. The least expected one was when I searched for "surface pro technical specification". Bing returned one microsoft.com result at the end of the first page and that one is also useless. With Google the first result was exactly what I expected. No breakup this year. Not even if Google scroogles me and reads all my emails. I kinda hope Microsoft does the same, hard to imagine a working spam filter engine that doesn't read the content of the emails.

Friday, 8 February 2013

Nexus 4

Disclaimer

It's a bit late maybe but those who missed the first order window have received their devices just recently, and the supplies are just catching up with the demand. After ordering it on 6th of December mine arrived a week ago, and since then I made the move from the iPhone 4. First of all I have to emphasise: this is not a review of the Nexus 4. This is a subjective personal opinion and a little bit of comparison to my 2.5 year-old iPhone 4. <sarcasm>You might ask why I would compare it to an almost three years old phone, but honestly: it feels fair :) Also three months, that's the age of Nexus 4, is a very long time in technology especially when a CES takes place during those months: today's best Android phones have 20% bigger screens (6"), 2.1x more pixels (Full HD), and the next Nexus is already rumored to arrive soon. Comparing two outdated products is a fair comparison :) </sarcasm> And yes, I love the quality of my iPhone so I might be biased at some points.

Hardware

This is one of the best built Android phones I've ever seen. Quality still lags behind the iPhone 4, but it is comparable to the iPhone 5, which I think is a step-back. It is acceptable. The loudspeaker and vibration is useless just like the camera in low-light conditions. The screen is ok, but far from good. I love the status LED: no more need to switch the phone on just to check if there is anything waiting for me. And also I got used to the size: the iPhone feels too small now, but the ideal size is still somewhere between the two.

OS

It is capable, but has some after-thoughts and annoying details. The menu "button" is squeezed in the corner next to the 3 main buttons, the search bar is removable but the freed up space still can't be reused by icons and widgets, when all alarms are switched off the alarm settings disappears from the menu... Other features, however, are easy to fall in love with. The possibilities and flexibility is liberating after the iPhone's you-get-what-we-give-you closeness: the task-switching, the two-fingers down for quick-settings and the widgets on the desktop are all very useful features.

Software

It is still a secondary platform. 8 out of 10 applications are more polished and have better UX on iOS than on Android. Some really hurts, like the fact that Google's email client is worse than the Apples's built-in one, or that there is no Google Reader client as good as the ones on iPhone. Many of my i-applications have no replacement on Android. But for example Evernote is far better than the iOS version.

Blade Runner

The skin-job's generation in movie Blade Runner is called Nexus 6 :)

Verdict

Some very nice features in the OS, good build quality but painful compromise with the camera, the loudspeaker and the screen, applications need some more time to catch up. Good phone for the price.

My next phone?

It is a good time (and price) for Apple or MS fans to try the Android platform until Apple or Nokia or MS comes out with a real 2013 phone. Possible forecast by the end of this year:
  1. Apple releases a really new iPhone with some refreshing changes in iOS 7. Probably an instant buy.
  2. Nokia or MS releases a good Windows phone and the Windows phone platform climbs up to the third place (beating Blackberry and Bada :) ) and Microsoft doesn't burn the entire platform again... too many preconditions, this year is again not the year of Windows phone for me.
  3. Neither of the above happens. Then I hope that at least one of the dozens of Android phone makers is capable to build a quality phone and I can switch to that.

Tuesday, 22 January 2013

My wishlist 2013 - from Apple

Please be AMAZING again, that's all I want from you. The price, the millimeters, the gigapixels and the market-share doesn't matter. You became just another '12.4% thinner, 9.1% lighter, 25% more megapixels' mobile-device maker. And in that league you are going to loose, even if we, who (used to?) love your products, have no idea where to turn next. After releasing the same phone three times it's high time to give us something new this year. Something new and amazing.

I don't have a MacBook yet, but after reading that even your ex-employees are 'struggling to accept the junk Apple keeps adding to OS X' and 'trying to keep the faith' I am not sure anymore that I want one. But I also don't think that the gap shrinking between you and your competition is that bad as Cringely says. Those who appreciate the real quality won't buy some plastic replica just because it's cheaper.

My Nexus 4 has been shipped one hour ago. Somewhere deep in my heart mind I still hope that it's going to be just a temporary change for me.

Vacuum

Sunday, 20 January 2013

A must read if you have a gym membership

Thank you Scott for drawing my attention to this. I've been visiting the gym for more than 20 years and that is long enough time to develop the sixth sense to smell when a sport advice stinks. Also enough time to learn that there is something fundamentally wrong with the 'traditional' weight training practices. It's a long article but it spares hundreds of wasted gym hours for the reader. Only one comment from me: do add some cardio. As much as 30 minutes jogging twice a week is enough. And it's fine to do it on the treadmill whilst watching TV - don't push it hard, you are pushing it enough if you do what you learn from the article. Cardio is for you resting days.

Saturday, 19 January 2013

Times are changing

Not that long time ago, in the high-school, I used to borrow CDs and copy the tracks I liked the most to audio tapes. Some years later the more wealthy guys had CD writers in their PCs. Some more years passed and this week HMV went into administration. I can't name any other store on the high street you could buy CDs in. But why would you do that anyway? For the price of one CD you can have all the music of the world on all your devices for a month. I opened the CD tray of my Denon only once, just to see if the cup holder is in place.

Some more years ago, in the prep school, I had one of these:

It froze only once; in a very cold Winter in the Ukraine at about -30 degrees Celsius. After warming up it was back to life. Back to the future, and some days ago I updated the software of my watch. Wirelessly!

It's a wonderful watch, I am not complaining. I am not sure if I could remember how to put one leg in front of the other when I run if I didn't have this on my wrist. But since the update it freezes on a daily basis. I'm going to downgrade it. I hope it's doable with no jailbreak or root access to the OS it runs.

Times are changin'.

Wednesday, 16 January 2013

My wishlist for 2013 - from Microsoft


First of all sort this mess out please. I am asking you as a developer.

Then this other one: There is no reason to differentiate smartphones from tablets. Especially today when all the high-end phones come with Full HD resolution and ~5" display and the most successful tablets with size ~7". They should run the same OS and the same applications from the same appmarket.

And give me a reason to buy a Windows Phone by the end of this year. Beginning of 2011 I was considering to buy one by the end of that year. But there was no reason to do so. Then I planned it again in 2012 but you decided to purge everything and start again from scratch. If you are lucky and Apple stays hibernated for another year then you can win me and probably some more users. Just give a good reason other than you have phones in magenta and other colors that no man can name. Oh, and leave the league of  "Other" where currently your mobiles are listed in the recent statistics. Chicken and egg problem I know :)

This is a good start. Albeit it's not your merit but the sleeping Apple's fault. I remember there was time when people queued for Windows 95 and I believe some did also for XBox and recently for Surface. But the man-months spent in Microsoft queues is far less than those spent in Apple queues. If you really want to be cool, be determined and try harder.

Friday, 11 January 2013

Best of 2012 - the best talks

Let's start with my personal hero: Scott Hanselman. Scott has many amazing tech presentations. In fact all of his presentations are amazing. But my favorite one in 2012 was not technical.

Nicole Sullivan is also a geek, probably more famous from her CSS presentations. But the 2012 favourite is again a non-techie talk.

By Ira Glass, host and producer of This American Life. Catchy voice, and it is just funny what topics he addresses whilst he teaches you how to create balloon animals for children.
Balloon Animals: A Video Tutorial by Ira Glass

And of course can't miss TED from a 'best talks' list. I admit I didn't watch many of them this year, but here is one of my favourites from Seth Goddin.


Tuesday, 8 January 2013

Best of 2012 - the best adverts

Not many people achieved what he did. I am going to read that book.



I use Chrome exclusively for ages now, but this ad almost made me join twitter to follow Lady Gaga :)



Simply amazing.

Monday, 7 January 2013

My wishlist for 2013 - from Google

Microsoft and Apple are working on platform unification. With more or less success. Google did the job in the mobile-tablet world. But in my opinion Android is the best candidate to become the real three-screen unified platform. Given that a Chrome OS notebook is the best selling laptop on Amazon they might not feel the urgency for this. The problem is that if others do it first that is just not the same. It won't ever meet the popularity and user expectations that a Google release could. So, dear Google, make 2014 the year of desktop Linux please ;)

Tuesday, 1 January 2013

No resolutions

Do not make New Year's resolutions. Resolutions set limits. Resolutions blind you from seeing new opportunities. Resolutions demotivate you when you miss them. Resolutions don't let you evolve. Resolutions don't let you diverge.
Simply get better every day. Just do it.