The best pathes

contain negative deltas of code.
That is definitely a motto of today's coding.


things come.

mongodb - tick
redis - tick
juggernaut - tick
devise - tick
bigpipe - tick
integration day ahead.

even new FF got released today


Comet with new Juggernaut

I'm pretty excited with success of with putting new Juggernaut into operation. Super-basic integration with Ext-JS works too. The limiting factor is an implementation of client-side data-store which, by default, allows only whole store reloads. It should be possible to work it around with some custom code, but I leave it for later, as I'm pretty happy what I have now.

The next step is rework SAW views with use of new Rails3 JS tricks for improved user experience.


Javascript business

Getting into the depths of juggernaut 2 I came to the conclusion that actually there is some business model emerging out of delivering undocumented open-source code. In particular having look on the (apparently purposefully obfuscated) core of juggernaut. That looks bad even if feeded through the beautifier
It looks like providing highly specialised consultancy on open-source solutions can be lucrative business. There are two aspects about which I'm concerned.
1. This model doesn't scale. Both coding and knowledge-transmission of such consultancy is strongly limited to author(s) of the solution.
2. I have an impression that this approach can work only in high risk, high ROI environments. Still isn't that how FB came to life ?
As far as old good reliable industry is still in demand (everybody wants to drive a reliable car),  such manufacturing is now a subject for aggressive optimisation (apparently we are fine with Dacia instead of Renault).
Apparently web-business is in love with risk ... (some call it dynamism).



Fighting with completely undocumented code can be quite a frustrating task. Even if code is brilliant, working hard to discover authors intention behind some coding is a really hard job. Lesson learned yesterday ? Communicate !


continuous development

In contrast to continuous integration, continuous development, at the example of Ruby language is simply dreadful. Today I spent quite some time trying to figure out combination of interpreter and gems to match completely undocumented example of 2nd genneration Juggernaut from called blossom.

Anyway. It looks like new Juggernaut (again almost no documentation at all) implements "whatever is available" strategy for selecting reverse-AJAX channel technology. It can be using websockets, server-generated events, some IE speciality and finally in the worst case Flash TCP connectivity. No success yet in starting it up though. Need some time to digest sources of new Juggernaut.

This approach goes bit along the lines of the concept of liquid services (presented by Daniele Bonetta) adjusting to available infrastructure.



I was playing with low-latency reversed-AJAX for quite some time during last summer already. Apparently decent implementation of the push-features is a huge gap in modern browsers. Facebook and java world apparently is in love with COMET. Some nice apps, such as Etherpad use it quite successfully. Facebook decided to go half-way through and reopens http connection once every couple of seconds (hell yeah, very efficient). 
Solution based on on WebSockets appears to be far beyond the horizon due to super-dirty specification and implementation Juggernaut was an answer. Following a least-resistance, maximum coverage approach, client-side connectivity of Juggernaut is implemented as very minimal AJAX component attached to every page. Yes, it is dirty but one has to admit, that it covers 99% of browsers' market. 

Today I was very surprised to find that 2nd generation Juggernaut is node.js and Redis based. Apparently there are whole (json-serialised) objects being transferred. Intriguing. 


This post should be dated to Wednesday (2.3)

Following an example suitable for rails 2 I managed to restful todo list access with new ext and rails 3. Neither clean nor easy I must admit.

Ext and Netzke

This post should date Tuesday (1.3)

Digging bit deeper into internals of netzke code sample I was unpleasantly surprised that by default it actually not only ignores RESTful design principles completely but also skips Rails controllers and accesses model directly.
Security ? Verification ? blah. too bad.
I tried to get and idea on what Redis, as Heroku offers it now as a plugin for their infrastructure, sadly following this video I got only more confused. Gosh. If you have nothing to say, then just say nothing. please.
Anyway. I was happy to find that standalone (and thus offline) ExtJS documentation is still maintained. All-in-browser is nice, but bit bothersome if you're in the run.
To wrap up - you can check up straw-man project as I'll keep deploying it to Heroku.

Code that still runs

This post should be dated to Monday (28.02).

It was a nice surprise for me that Devise and Authlogic that I was playing with earlier in the autumn still do their job right.
After all even netzke worked as expected. Speaking of netzke. This is a very good example how nice piece of software left without documentation can render almost useless. Agrrr...
Of interesting news... Sencha presented new ExtJS 4... I'll have a closer look on that later this week.


Apparently I came back to the development mode of SAW, so it looks like this is going to be the place to perform a progress brain-dump of this project. Enjoy.

Next two entries are backlogged.