mjording

Dec 12

fine print

In a previous life before I was invested in the Ruby community, and before my life as a Java Enterprise Consultant I was a Linux and Free Software activist moonlighting as a Unix System Administrator. After seeing the same arguments on IRC channels recycled ad infinitum I may have become as jaded as Statler or Waldorf, but I still believe.

Ruby makes me giddy after a stint as the Senior Portal Developer for Conde Nast. Ruby has a culture and community that embrases self sufficiency in a way that cannot fathom a corporate sysadmin unable to install a local internal Tomcat server within a two week framework.

But yes it does have the trappings and handicaps of an isolated subculture. My experience prior to 2007 was outside of the rails word, and I have to admit to my being as disturbed as a pythonist to my rejection of whitespace rules when I first looked at rubys server and system offerrings. Things are way better on that front but we do seem to have a blind spot to the legal side of software.

Generally I do care about licensing. There Linux and GNU tools that were added to the GNU toolset in 1988 and having reliable mature native C or lisp code is a godsend. This is a sharp contrast to the web application market. Even the government and banking applications I have done in Java have around a 5 year lifecycle.

Ruby’s embrace of Rapid application development methodologies, never mind its core tool and framework incredibly short cycles make a decision to completely refactor a Ruby Application

Not to worry I’ll not reject bathing and shaving completely, but I’ll pay my FSF and EFF dues. I’ll make more effort to use the freeist code within a lean pragmatic workcycle.

Unfortunately there are plenty of times that there is more money then time

So I’m annoyed that the community still fails to produce products that are GPLd that have anything but a suggested market value. So because of that one of my new years resolutions is to produce at least one non-gratis free product.

cravin some tuna?

Last weekend I participated in another hackfest this time centered on the venn diagram intersection of Food and Technology. There were some great people there with great ideas that would improve the health and lifestyles of new yorkers. But I just wanted one thing that no food site has been able to deliver to me yet. Decent search results for restaurant food.. not restaurants but the actual menu items. So I sat down with some members of the new york ruby meetup and others interested in just getting this one feature and we cranked out a really simple app that gave the results in a wall of text results. 

This week a few of us spent a couple of hours on making it cleaner and its starting to shape up. Perhaps tonight you will be able to use the alpha.  

Nov 12

[video]

Sep 20

[video]

Aug 23

secrets of the software conference pros

Have you ever been at a development conference and been struck by the developers command of the command line. Not to say that they are all snake oil and high equity mortgage salesman but most of them use a bit of *nix illusion. 

The trick to pulling this of is to record your bash session with something like the script or ttyrec commands. If your on debian or ubuntu you likely still have scriptreplay available to you. 

record your session

script -t 2> tutorial.timing -a tutorial.session

execute what you you want to show off

exit the session 

replay

scriptreplay tutorial.timing tutorial.session

if your not on debian you need to build ttyrec

git clone git@github.com:mjording/ttyrec.git

cd ttyrec

 

make

If you don’t have the  directory setup (from macports or another unix add on)

 

/usr/bin/sudo /bin/mkdir -p /usr/local/bin
/usr/bin/sudo /usr/sbin/chown root:wheel /usr/local /usr/local/bin
/usr/bin/sudo /bin/chmod 0755 /usr/local /usr/local/bin 

Otherwise copy the binary in and make some shortcuts

 

 copy ttyrec, ttyplay and ttytime to /usr/local/bin
/usr/bin/sudo /bin/cp -i ~/Desktop/ttyrec-1.0.8/ttyrec /usr/local/bin
/usr/bin/sudo /bin/cp -i ~/Desktop/ttyrec-1.0.8/ttyplay /usr/local/bin
/usr/bin/sudo /bin/cp -i ~/Desktop/ttyrec-1.0.8/ttytime /usr/local/bin

Now you can record your session to a file via

ttyrec -a tutorial.session

and play it back with 

ttyplay tutorial.session

ttyrec also has advanced features that allow you to adjust playback speed. 

Aug 22

rails 3 generators hand-rolled edition

Annoyed that rails 3 did none of the radical change of guard changes to default options? I know i was. Luckily its trivial to make right. 

You can follow along by creating a new rails 3 application

rails new hand-rolled

At the end of the config/application.rb file add replacements

config.generators do |g|

g.orm :active_record

g.template_engine :erb

g.test_framework   :rspec, :fixture => true

g.fixture_replacement :machinist

end

better yet you can now build a rails app passing templates for any manner of change you want to make by default. 

 

generators = «-GENERATORS
config.generators do |g|
g.test_framework :rspec, :fixture => true, :views => false
g.integration_tool :rspec, :fixture => true, :views => true
end

The template file is passed to the rails new action and the generators are replaced. Match this up with the ease of generating your own generators package it up in a gem and you can create a set of rails application generators that suit your preferences while maintaining flexibility of context.