Tag Archives: google

Not mine, not yours — it is a common good

This post is only partially related to the topic of this blog, but since it is such good news I decided to re-blog about it. As I learned from Jardine Software blog Google announced unusual program for hunting security bugs — you fix a bug in a third party program (see the announcement for the list of accepted software), and you get paid by Google. Sweet.

I am happy not because of the prospect of getting any money (I am not security guy) but because open-source is getting more and more care. Open-source does not have all the answers of course, but the world is too small to rely on closed source software. Even such giants as Microsoft or Apple are not capable to maintain their own software.

As a proponent of open-source I am glad to see it is treated as common good.

Tagged , , ,

How Google ruined my evening

I wish I could spent fruitfully my entire day, not bothering with irrelevant issues — not so many days like this in real life. Today when uploading newer NLT package to Google Project Hosting site I was notified that starting on January 15, 2014 upload of binary packages will be disabled. This translates to picking up another server, finding and updating all the links… I am thrilled. Sure, it is their server, free of charge, but it would be at least decent to give a honest reason for such call, not some pathetic excuse of abusing upload feature by some users.

I am planning gentle switch — keeping both sites in parallel, and if Google does not cancel this new policy, eventually kill Google address. The problem is which hosting site choose as a replacement? I tried Bintray (complex, no tickets), CodePlex (ticket system is a disaster), LaunchPad, GitHub and BitBucket (all three have no support for binary packages). Visually much less appealing than GPH (no MarkDown) there are SourceForge and BerliOS — most likely one of these two will be my choice.

Let’s leave the story of killing a good product aside now — this weekend, as I intended I wrote resolver for function overloading. And also:

  • I added extra syntax and logic for recursive function call,
  • I introduced infinitive “loop-end” — no big deal, but writing “loop” instead of “while true do” is quicker and more elegant,
  • I noticed Skila didn’t have boolean operators (and, or, exor), so I added them.

I also changed the concept of the function and procedure distinction. Now, it is only a function, the only difference is that by default the result of the function has to be read.

def square(x : Int) : @ Int = x*x;

The “@” character before type indicates it is OK to drop the result. One keyword saved (proc), and now syntax is a bit more consistent with existing sink variable. This will also help in introducing light-weight interfaces.

And to keep me busy — all those changes in syntax made NLT parser fail, so I had a reason and opportunity to improve it.

OK, it is Tuesday already, so I went way overboard with “weekend work” idea — see you next week then, I am going to add strict control of execution flow and rich strings.

Tagged ,