gmosx

Miscellanea

by gmosx, at 22 Apr 2010

I 'm not in the mood for a long post, so here are random thoughts in aggregate form:

f8

The new Facebook Social Plugins are FriendConnect done right. FriendConnect has so much potential yet the current implementation leaves a lot to be desired (to say the least). Moreover, the Graph/OpenGraph APIs are a bold step forward towards the machine readable Web (Web 3.0 / Semantic Web if you will). The 'Like' button is an obvious (yet powerful) idea that Google should have implemented a long time ago.

π is wrong

I always thought that 'π' should be the number known as '2π'. Then 'π' would be the perimeter of the unit circle, angle measurements would be more intuitive (90 degrees == π/4, 180 degrees == π/2, 360 degrees = π, ie a full 'cycle' is π radians) and a lot of formulas would be simplified:

p = πr, ie scale the unit perimeter by the radius,
sin(x+π) = sin(x), ie the period of the trigonometric functions is π,

etc. At the moment π is the sum of the angles in a triangle and the perimeter of a circle of with a diameter equal to 1 (doesn't this look awkward to you?). Read 'π is wrong' for a better treatment of the argument.

iPhoneOS TOS

The latest iPhoneOS TOS made a lot of developers angry. I don't agree. One of the problems in our profession is what I call a Babel situation: So many different languages and platforms hinder cooperation. Finding and integrating engineers into a software development team is a pain. Thus, having a single platform (iPhoneOS), a single system language (Objective C) and single scripting/application language (JavaScript) is refreshing.

New Blog platform

by gmosx, at 21 Jan 2010
Old time readers of my blog know that I regularly change the platform that I use. Lately, I was using Google's Blogger, but I wasn't happy with the layout. Before that, I used a lovely, custom-made, Ruby-based CMS. But since I am fed up with Ruby (after 8 years, no less) it was difficult to maintain.

Therefore, I decided to utilise my AppengineJS and Nitro open source projects to create a new platform for my blog. This new version is implemented in JavaScript, the language of the Web, and one of the languages I dig these days (the other being Haskell). Even though I am relatively pleased with the result (and the clean code behind it), there is a lot of work to be done, when I find the time.

In the meantime, please subscribe to my feed and check this blog often for interesting content. Oh, and bug reports are always welcome ;-)

Update: This blog is not based on the blog-gae example source code. In fact, the blog-gae example is outdated and does not reflect the latest improvements in Nitro and AppengineJS. Perhaps, I will release the mini CMS behind this blog as an example if there is sufficient demand...
My main hobby is reading. Reading newspapers, magazines, sites, blogs, PDFs and books. I especially like reading books. I am really pleased to see that as of today, Amazon Kindle is finally eligible for international orders.


To tell you the truth, I would prefer to get the DX version (PDF or an equivalent open standard is the future of e-reading if you ask me).

But I can't help it, I have to place my order right away!

The Open Fund

by gmosx, at 23 Jul 2009
I had the pleasure of attending the first Open Coffee meeting, two years ago. From the humble beginning (10 geeks in a small cafe) the project went from strength to strength. Typically, around 300 people participate in the monthly event where aspiring entrepreneurs present their ideas.

I always thought that Open Coffee was just one part of the equation: surely, networking opportunities are important for bootstrapping an ecosystem of entrepreneurs. But a great idea doesn't guarantee a successful business. Neither does technical savvy. more

Nitro in Javascript

by gmosx, at 28 Feb 2009
It's no secret that I am working on a web application framework. I was bored (not to say unhappy) with my old Ruby framework, so during the past year, I designed and implemented no less than 3 different Ruby versions and 2 different JavaScript versions. This blog, for example, runs on my latest Ruby experiment.

Why I kept redesigning the framework you ask? Well, I wanted to make sure the design is as simple, as standards compliant and as transparent as possible. Some days ago I started a new revision. This time I am confident I 'll nail down a great balance between simplicity and power. I am using JavaScript, a truly excellent language with an unfortunate name. JavaScript is the obvious choice in an era where the distinction between server and client is blurred. The show stopper for JavaScript is the omission of a standard library. Thankfully, Rhino and Java come to the rescue.

I 've released some preliminary code on github. The project is still called Nitro, but apart from the name, it has nothing in common with my older effort. There is not much in the repository yet but you can expect regular updates. Of course, I will chronicle the latest developments here.

Even at this early stage, I would love to hear comments, suggestions and ideas for further improvements or better refactoring.