Geek music

dimecres, 17/09/2014 (22:46) per carles

Helen Arney, during one of the Festival of the Spoke Nerd, sang this song:

She did amazingly, as always! I’ve talked about her here in Pintant (with a video or the Festival of the Spoken Nerd).

And another song worth a mention:

Prime numbers have always been special for me. My second webpage, in 1996, was Prime Numbers.

Recipe for a bad programming day

dimecres, 10/09/2014 (21:33) per carles

Do you want to have an non-productive and bad programming day? I can help you! Keep reading, be my guest. Everything will go bad, don’t worry!

First of all, and for this particular example: you need a bug. A non trivial one and a bit obscure is better. Let’s say that to test if the bug it’s fixed you need to do a few steps involving the mouse.

Recipe for the bad day:

  1. Ignore your existing unit tests. Don’t even compile them
  2. Don’t add a new unit test to reproduce the bug. Anyway, you have some steps (more or less) for this, right?
  3. Don’t think of the root of the problem. Just use the debugger and change some code here and there (try changing multiple things at the same time)
  4. Don’t think of the consequences of your changes. Just change it
  5. Use the staging servers for the testing, that ones that they are being changed too. Don’t write fake/mockups/double classes for the tests

When you are believe that everything is working: run the existing unit tests. See how a few of them fails. Start again. You can spend a full day or even more.

When tired of this programming by coincidence try a better approach:

  1. Step back and think of: what’s the root of the problem? Ask yourself “Why” a few times, not only once (5 whys?)
  2. Write a unit test that fails because this bug (this will help to understand the problem, possibly with an Eureka moment where you will see a very simple fix)
  3. Fix the problem

I still wonder why I tried the incorrect approach that day.

Telegram, Whatsapp and APIs

dimecres, 03/09/2014 (21:50) per carles

At Mendeley we are working on a new API and the documentation is already available at dev.mendeley.com. We think that a good API is important to promote Mendeley, create an ecosystem, help niche use cases that we could not tackle, etc.

Since January I have been using Whatsapp. It helps me to keep in contact with some friends and specially with my family. I also installed Telegram which I’ve not been using until recently when some friends from Catux Linux User Group installed it and we created a group on Telegram.

I always wished that I could use Whatsapp on the computer but this is not possible. There are no Whatsapp clients (Web or desktop applications). Whatsapp developers don’t create them, and there is no API to create them. I don’t much like typing on the mobile and many times when I use Whatsapp I have my laptop with a better keyboard just next to me.

I knew that Telegram had a public API. And yes, there is a good desktop application that also runs on Linux. So far I’ve used Telegram Desktop with great success: no problem to install or use. A friend tried the Web Telegram app and he is happy too.

Typing (swiping) on the mobile while I have a good keyboard next to me makes me sad. Now on Telegram I can use the good keyboard if I wish. Or the small.

Telegram has a few interesting features that are not available on Whatsapp: private chats, setup the notifications per group (instead of all groups), the aforementioned API, etc.

I see that some people use WeChat. This one has a Web interface too. I don’t think that it has a public API.

Seems that Whatsapp is very popular in Spain and in a few countries but other applications have better features and almost the same user interface. As always, it’s very difficult to change social applications usage.

Web Jordi Pina

dimecres, 27/08/2014 (20:29) per carles

Finalment el meu germà Jordi Pina també té pàgina Web!

Si algú necessita un enginyer industrial o químic que avisi.

I want this application to have this option. Found a patch. I did it 2 years ago?

dimecres, 20/08/2014 (23:45) per carles

Yesterday I upgraded my Debian distribution. I usually use Debian Testing but I don’t run apt-get upgrade frequently. Many years ago, when I was studying, I used to do it every day but nowadays I do it a few times a year.

Yesterday I upgraded the system and I got a new Firefox version, LibreOffice 4 (the load speed of some of my spreadsheets is much faster), systemd and many other new packages. So far so good!

I use korganizer as a calendar application (I prefer to have it locally instead of using Google Calendar). To be able to access the calendar remotely I have a small script called by cron that reads the vCalendar files that korganizer creates and prepares an HTML and CSS. The script uploads them to the server and then I can access my calendar from any browser. I can’t change it remotely but I don’t usually need to. This system might sound complicated but I like it and it’s a bit of a hobby project.

Anyway, after the system upgrade the ical2html application didn’t work anymore. I quickly realized that the script was using /usr/local/bin/ical2html binary and it couldn’t load a shared library due to the aforementioned system upgrade. I didn’t remember why I was using /usr/local/bin/ical2html instead of the Debian binary (/usr/bin/ical2html). I assumed that when I prepared this calendar system the Debian package had some problem so I downloaded a newer ical2html and installed in /usr/local/bin

Then I thought that this time I would try to use the Debian binary. I changed my script to use the /usr/bin/ical2html and it failed because the script passed the option “-m” which wasn’t recognized. I deleted the “-m” option from the script and I got the calendar in HTML as expected. But the week started on Sunday instead of Monday.

Then, what we do? Well, as a good software engineer with many years of experience in programming languages, systems, toolkits, integrations, etc. I Googled for “ical2html monday” and I found a Debian bug report #679194 that had a patch! So cool! Someone needed the same as me and sent bug report with a patch, thank you very much!

When I was reading the bug report I saw:

Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=ISO-8859-15) (ignored: LC_ALL set to ca_ES@euro)

How interesting! Someone with Catalan localization sent the bug report. Who was the person? (let’s see if I know him to thank him)… I scrolled up… IT WAS ME!, 2 years ago.

I had completely forgotten. I had added the option “-m” for Mondays. I sent the patch to the original developer who I think said that he was not maintaining ical2html anymore. I sent the patch to the Debian bug report system and no-one answered. Now I applied my own patch again and I have /usr/local/bin/ical2html with -m (for Mondays) support again. Thank you Carles-2-years-ago, I really appreciate it!

This also shows that code is better released than stuck in the hard disk – in this case I probably wouldn’t have remembered it since I would have never searched on my hard disk for this patch. Even though I had it a few centimetres from me I downloaded it from the other side of the world.

Something similar has happened to me before: I sent a patch, I forgot about it. Years later I started receiving emails from some project and I didn’t know why I was receiving it. Then reading the emails I realized that someone was commenting on some very old patch for something that I wasn’t using anymore.

Hack Days at Mendeley: Elsevier Connect post

dimecres, 13/08/2014 (21:26) per carles

Some readers might find the Hack Days at Mendeley: What? Why? How? interesting.

I explained there what we do, how we organize, etc.

Driving in UK: slow

diumenge, 20/07/2014 (01:03) per carles

Last weekend I went to Northern Ireland, which was my second time driving a car in the UK.

This time I was really relaxed and I found it almost as easy as on my usual side, probably because I’ve been living in London for 5 years and my brain has been re-wired for the other side of the road driving, while walking, using the bus, etc.

But something that got my attention while I was driving: sometimes I saw signs on the road saying “SLOW”. Slow what?! It’s not a speed. If one is driving following the legal limits… should the car drive slower? It was usually written before a bend or some place that required extra attention. I’m not sure what the Google Car would do there: 80% of the legal limit? Or just ensure that I’m at or under the legal speed? No one should be faster than the legal limit, right?

I don’t have any data to confirm this but in Spain they tend to change the speed limit much more than in the UK. In Spain, sometimes, before a bend, they change the speed limit and then change it back again after the bend. It seems that in the UK they display SLOW which is slightly ambiguous: if the speed limit is not slow what should happen there?

And yes, in Spain sometimes there are so many signs that one can’t focus on the road anymore…

Anyway, looking forward to driving again in the UK and this time perhaps with a manual car instead of automatic. It might be in Cornwall where an American friend said that it’s nerve-racking due to the width of the road and the bends.

Kirkaldy Testing Museum

dissabte, 12/07/2014 (23:44) per carles

A colleague from work wrote a blogpost with some hidden London museums.

On his blogpost he wrote about 5 museums that are not widely known in London. Some of them open once a month. It’s another type of museum compared to the typical British Museum, Tate, Science Museum, etc.

Recently I went to one of the museums: Kirkaldy Testing museum. The museum has the firsts machines to test iron and steel.

The very keen volunteers explain everything in a tour and they do demos: they broke a steel bar to show how the machine works and how to operate the machine.

Until they started testing iron and steel Victorians had many accidents: bridges that collapsed, railways that broke and boilers that exploded. Kirkaldy invented a machine to test and started, very meticulously, testing steel and iron from different manufacturers. All his business, at that time, was testing and recording the results.

He rapidly became an authority on testing and everyone used the results to know how good certain steel and iron was.

Nowadays we have companies that are specialized in software testing. My first time employer Elvior (in Estonia) or more recently for my work a potential software would be Frologic.

Visiting the testing museum helped to realize that in software engineering, even if we are doing more and more to test the software, there is still room to improve compared to other disciplines where testing is core of the business and not an addon that can be done or skipped.

Designing a sport

dissabte, 05/07/2014 (20:39) per carles

Let’s say, as an exercise, that I want to design a new sport. I would start with a list of requirements:

  • It should be possible to practise it indoors (so I can play regardless of the weather). Playing outdoors should be possible but not mandatory.
  • It should be an individual sport, so a team is not expecting me on a certain date. If desired, it could be played with a partner.
  • The game should require some thinking and strategy, not only physical effort.
  • The equipment should be easy to carry (in a backpack for example).
  • The equipment should be affordable.
  • Everyone should be able to play it, no matter what age, physical conditions, etc.
  • It should be fun to play, challenging, etc.

Should I think hard to design a game like this? Or just keep playing table tennis? I think that I’ll keep playing, it meets all the requirements. The only potential problem is that it always requires a partner (yes, a robot is also a partner) but it’s part of the fun!

Archipelago Restaurant: exotic restaurant

diumenge, 29/06/2014 (20:39) per carles

Recently, a few colleagues from work went to Archipelago Restaurant. This is a really different restaurant!

The menu has meat from unusual animals: zebra, python, crocodile, bugs, grasshoppers, etc.

Everything is cooked in the western style. The ingredients are different but the result is a familiar to what our taste buds are used to. The texture was all known too. As they said: everything is dead and cooked so don’t worry about what it’s come from.

Some of us enjoyed it a lot. Others didn’t enjoyed it so much, but it’s a small restaurant and I’d say that it’s worth going to.

If you think that you would enjoy please give it a try. They have less exotic food for friends who don’t fancy eating the aforementioned things.