12 Feb 2008
10 Feb 2008
8 Feb 2008
30 Jan 2008
I haven’t posted for quite a long time. The thing is I moved to a new place and I’m really busy on working clients + setting up my new office + dealing with way too much paperwork. Anyway, enough excuses, here are few tips that I believe will be useful to some of you: ZenTest Autotest I love autotest, but…
27 Jan 2008
The web application revolution: blurring the line between websites and software.
4 Jan 2008
RSpec is an awesome testing framework. On top of being the first Ruby BDD framework the core team is doing a great job in enhancing our testing experience and therefore the quality of our code. This time, I don’t want to introduce to the latest changes but instead showing you what Josh Knowles, Bryan Helmkamp and myself came up with.…
31 Dec 2007
I’ve had a new iPhone for about a week now, so I figure it’s time to write up some thoughts about it. First, the little things. It is, in typical Apple fashion, an incredibly slick piece of work. Scrolling and zooming images or webpages is simple, easy, and, well, just fun to do and watch. Mobile Safari does a great…
Being a consultant is great, being a consultant working exclusively with Ruby is awesome, being a Ruby consultant using Agile methods on great projects with cool clients is just super-awesome. The English language doesn’t seem to have a word/expression defining this feeling without using the “f-word” (at least, there’s nothing I can think of right now) I have to say…
27 Dec 2007
"Effortlessly migrate your Gallery2 photos to Flickr with this step-by-step guide."
21 Dec 2007
Supporting TimeZones is a serious pain in a developer’s neck. Thankfully, Rails comes with a bunch of tools making our life easier. One of my Rails patch just got merged in Rails Edge (Future Rails 2.1) and I believe it will make my life just a tiny be more enjoyable. Let’s look at a simple scenario, your application has many…
19 Dec 2007
Finding the sweet spot: Pragmatic unit testing for optimal code quality.
18 Dec 2007
Mastering the console: Unlocking non-blocking input across platforms.
17 Dec 2007
What’s new? Rails default database is now sqlite3. If you are running Leopard, everything is already setup for you. As DHH mentioned, just “rails -d mysql your_app_name” if you want to generate a new app preconfigured for MySQL. Sqlite3 is great and if the only reason why you didn’t give it a try is because you have to use CocoaMySQL,…
12 Dec 2007
XMPP and Flex: A developer's guide to instant messaging integration.
I just released Googlecharts 0.1.0 (few bug fixes and enhancements). The first thing you want to do is to install the gem sudo gem install googlecharts The second thing you want to do is check the great brand new website for googlecharts The third thing you want to do is to recommend me on Working with Rails ;) The fourth…
10 Dec 2007
update Nov 11: the gem is finally available there or simply: sudo gem install googlecharts Note that I’m working on merging this gem with another Google Charts gem. (see comments for more info about that) I’ve been working on a Google Chart Gem that I have ready for a beta release but unfortunately, getting a new project setup on RubyForge…
5 Dec 2007
I was recently asked by Rubyist friend (Josh Knowles) how I was organizing my Javascript files when using LowPro. LowPro is the best solution for doing Unobtrusive Javascript using Prototype. With the help of LowPro, you define behaviors that get triggered by the user. This is great, however, you’ll notice that some behaviors are used all over the place (a…
4 Dec 2007
During Thanksgiving break I had fun with a friend of mine working on a Ruby challenge while digesting the traditional turkey. The challenge was quite simple, create a small library that can generate random words from the English dictionary. But of course there was a twist. One should be able to choose the total amount of characters, the amount of…
29 Nov 2007
JavaScript 2 and the Open Web Brendan Eich Mozilla Corporation @media Ajax London 20 Nov 2007 Herewith a hacked-up version of my S5 slides, with notes and commentary interpolated at the bottom of each slide. Dilbert – the Big Time See how JS is paired with Flash — poor, mundane HTML, CSS, DOM! HTML5 needs … Continue reading "My @media…
28 Nov 2007
I recently bugged Rick Olson so much about attachment_fu that he gave me SVN access to fix few bugs. Rick being really busy with ActiveReload he didn’t spend too much time maintaining attachment_fu. On my side of things, I’ve been using attachment_fu on a lot of projects and I’ve been fixing bugs and adding new features. My first contribution to…
27 Nov 2007
If you’ve read my post on Ajax pagination you know that I’m a big fan of Dan Webb’s LowPro unobtrusive javascript library. Doing Unobtrusive Javascript (UJS) is basically registering event handlers programmatically using CSS selectors to select the elements to register. In other words : keeping things separate and avoiding inline javascript. If you’ve been using LowPro 0.4 and recently…
20 Nov 2007
A bit more than a month ago I posted a tutorial on how to use Flash with Rails to create some awesome/sexy graphs. Since a lot of people seemed interested by the topic, the SDRuby guys asked me to do a intro talk on how to create Sexy Charts with super sexy Rails. In the mean time, a lot of…
17 Nov 2007
According to Marcus Baker, if you are a PHP developer and new to OOP, it’s possible that your story will go something like this: You’ll learn the syntax and build an object or two. You’ll try it in a live project. You will realise that you are getting no real advantage, and you’ll post your […]
16 Nov 2007
This is an archive of Dan Weinreb's comments on Symbolics and Lisp machines. Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI Richard Stallman has been telling a story about the origins of the Lisp machine companies, and the effects on the M.I.T. Artificial Intelligence Lab, for many years. He has published it in a book, and in…
12 Nov 2007
Times arise where a class (One) is supposed to do everything another class (Two) does and more. The preliminary temptation would be for class One to extend class Two , and thereby inheriting all of its functionality. However, there are times when this is the wrong thing to do, either because there isn’t a clear […]
9 Nov 2007
For 50 years, computer programmers have been writing code. New technologies continue to emerge, develop, and mature at a rapid pace. Now there are more than 2,500 documented programming languages! O’Reilly has produced a poster called History of Programming Languages (PDF: 701K), which plots over 50 programming languages on a multi-layered, color-coded timeline.
6 Nov 2007
ES4 News Some news on language size: the proposed ECMAScript 4th edition (ES4) grammar is a bit more than twice as big as ES3’s, counting several ways (concrete productions, abstract syntax tree node types): Syntax ES3 ES4 ------ --- --- Concrete 238 490 Type Exprs 50 Classes & Interfaces 23 Patterns 17 Abstract 33 77 This … Continue reading "ES4…
Few of you contacted me to let me know that my RSS feed was always getting reset up to few times a day. (Thanks Josh). It looks like a Mephisto problem, so if you subscribed to the mephisto feed, please switch to this feed: https://feeds.feedburner.com/railsontherun I made sure to clean up the blog header so the old mephisto link won’t…
1 Nov 2007
Chris, You seem to be repeating falsehoods in blogs since the Proposed ECMAScript 4th Edition Language Overview was published, claiming dissenters including Microsoft were ignored by me, or “shouted down” by the majority, in the ECMAScript standardization group. Assuming you didn’t know better, and someone was misinforming you, you (along with everyone reading this letter) … Continue reading "Open letter…
31 Oct 2007
As a good Rubyist, I do TDD and even BDD. Since I’ve started using RSpec I’ve started writing tests against my views. RSpec makes things really easy and I’ve been enjoying testing my views. I’m not the only one having fun, check this great post from Mr Planet Argon aka Robby Russel Recently I was working on implementing some Sexy…
26 Oct 2007
Today I came across an interesting post written by Troels Knak-Nielsen. We all know that patterns are not perfect in all situations and the Registry pattern is no exception. Here is what Troels has to say about this: The Registry Pattern – By Troels Knak-Nielsen The task, that a registry aims to solve, is to […]
15 Oct 2007
I’ve been a freelancer/consultant/contractor/mercenary for many years now. However, until now, I used to do that on the side. Few months ago, after thinking a lot about it, I finally decided that freelancing was what I wanted to do. I left my job and started my own adventure. The first reason for this switch was a desire to be more…
4 Oct 2007
date = “NOV” slug = “NOV/sexy-charts-in-less-than-5-minutes” Last time, in our ‘do it in less than 5 minutes’ series, we saw how to add quickly and simply add Ajax pagination. This time we’ll see how to add some sexy/fancy charts to your rails app. The goal is to end up with something like: Various options You might have heard or even…
27 Sept 2007
updated Nov 26 to reflect the recent low pro changes. (please use low pro 0.5 and Prototype 1.6) Recently one of my client asked me to add ‘ajax’ pagination to his application. His site already had a very nice pagination using the excellent will_paginate from Mislav and the guys(PJ & Chris) from err the blog but since my client had…
19 Sept 2007
That’s kind of cool, I was reading a post about DHH Keynote at RailsConf Europe when I realized that DHH mentioned one of my contribution to Rails Edge. “small, but to me significant improvement has also found its way to Rails 2.0: You can now create the needed databases with a rake command. By running this command, all referenced databases…
16 Sept 2007
By now, you should have heard about ambition if not read the latest post from the author. Ambition has a simple goal: making you stop writing SQL in your queries and only stick to Ruby. (who cares if you use ActiveRecord, Sequel, DataMapper or another ORM) I’m so used to the ActiveRecord way of querying the database that I was…
2 Sept 2007
I’m glad to announce a major update of Globalite. First off I’d like to thank all the translators who helped with this release. Globalite now support its first Asian language: Chinese! Ivan Chang did an awesome job creating a localization file in Chinese for Taiwan, Hong Kong and Main Land China. I’m really glad thinking that Globalite will make the…
29 Aug 2007
I’m almost ready to update Globalite with 2 major changes: Support for Chinese (Taiwan, Hong Kong and main land China) thanks to Ivan Chang Better support for Active Record error messages in forms (based on contribution from Ivan) I’m writing more tests and updating the sample app before releasing the updated version. It should be out in the next few…
25 Aug 2007
Josh Knowles shared with me a great video about working methodologies, client relationship and project management. Check it out, it’s really worth it.
22 Aug 2007
From the inimitable Chris Double of Mozilla’s New Zealand brain trust: moving, rotating, scaling <video> in SVG (so who needs yet another non-standard plugin?). If you make a build from Chris’s code, don’t forget to view-source the demo. /be
Recently, I got really annoyed at some code I had to work on. The main reason was that the developer I was working with likes making everything super DRY. While I hate repetitions I like being able to understand the code I’m reading and I want to be able to quickly refactor it. Anyway, I got over it but during…
16 Aug 2007
14 Aug 2007
The Seattle.rb guys did it again! After releasing the excellent Zentest suite, imageScience, Heckle and much more, Ryan Davis and his crew came back with great news. From Saturday, August 4th to Tuesday, August 7th, the Ruby Hit Squad was in full effect. After almost 4 days working almost none stop, they released Vlad the Deployer What’s Vlad? Some sort…
5 Aug 2007
I’m sitting in the airport in Las Vegas on the way back from DEF CON 15. It’s the first time I’ve been at the con, and it wasn’t really what I expected. Frankly, I walked away feeling kinda underwhelmed. Very few of the talks were as technical as I was hoping – they were almost universally broad overviews of an…
28 Jul 2007
is one of my favorite web application of the moment. It got publicly released last April (2007) by the activereload ninjas. Since then, they also released but I’ll keep that for another post. I’ve been using Lighthouse for a little while and I have to admit that I was a bit confused at first. I’d like to share with you…
26 Jul 2007
My Ajax Experience West keynote covers a lot of ground, with slant-wise truth telling the over-arching theme. Mozilla believes in fairly radical open source action, including open strategy. In that spirit, three new projects, the first already known via jresig: ActionMonkey, the project to join forces between SpiderMonkey and Tamarin, being driven by Jason Orendorff … Continue reading "New Projects"
24 Jul 2007
I just released a simple plugin that I use to backup and restore databases instead of using a mysql dump. check out the plugin page File structure will look like that: I use this plugin to backup my apps running in production. When I need to debug an application, I just need to restore the db locally and debug. The…
23 Jul 2007
Here is another type for attachment_fu users. This evening I wanted to try Railroad to generate one of my app diagram. I alreay wrote my own script generating a .dot file that I usually import in omnigraffle before exporting a pretty version for my clients. The thing is, my script is quite simple and only covers models while railroad also…
21 Jul 2007
I recently had to deal with an interesting challenge. I had to write a simple interface between a rails app and a Flash application. Nothing hard and if you browse the archives, you’ll find examples and tutorials on how to create a REST interface to communicate between Rails and Flash. The thing was that this time I had to interface…
18 Jul 2007
SoapUI is a free and open source desktop application for inspecting, invoking, developing, simulating/mocking and functional/load/compliance testing of web services over HTTP. It is mainly aimed at developers providing and/or consuming web services. Functional and Load-Testing can be done both interactively in soapUI or within an automated build/integration process using the soapUI command-line tools. Mock […]
15 Jul 2007
I recently had a discussion with someone(not really familiar with Ruby and its frameworks) and this person didn’t realize the power of IRB and the Rails console. Not, this irb, the Ruby IRB. According to wikipedia IRB is a shell for programming in the object-oriented scripting language Ruby. IRB is run from the command line and allows the programmer to…
13 Jul 2007
resftul_authentication is a great plugin, but not always resftful… especially if like me you dropped unit test for RSpec. I have a set of RSpec examples I use all the time on all my projects requiring restful_authentication, obviously I always end up tweaking them because each application has its specific needs. However, I was recently asked what’s the way of…
11 Jul 2007
For many Americans, the 4th of July reminds them of their freedom. Since I didn’t grow up in the US, for the 4th of July was a great occasion for a BBQ with friends and enjoying fireworks. However, things changed this year when I decided to leave my full time job as Rails developer to become a consultant and work…
3 Jul 2007
If you haven’t check out the Globalite sample app yet, here are some screenshots. Here is the French yml file used for the UI translation/localization: Here is the code to display a select box so the user can choose the publication date: So you know, <code><%= :published_date.l %> </code> is the same as <code><%= :published_date.localize %> </code> Globalite will try…
1 Jul 2007
I’ve used a lot of UML design tools like Visio, Poseidon and a couple others. But recently I’ve had the opportunity to use Sparx Enterprise Architect (EA) Professional, a very good tool. Has round-trip code engineering for PHP, plug-ins for eclipse and tons more for only £115! From the author: “Enterprise Architect combines the power […]
27 Jun 2007
Today I updated Globalite, refactoring the code and fixing some issues. I added a bunch of aliases since I was tired of typing: <code>Globalite.current_language = :fr </code> I shortened it to <code>Globalite.language = :fr </code> But the old method is still available so it won’t break your code ;) The major change with this update is a better support for…
26 Jun 2007
The Rails hackfest is a chance for people to be rewarded for contributing source code to Ruby On Rails. The value of their contributions are accumulated and the results charted. I’m honored to be listed as contributor number 4 few days before the end of the month. I know I got lucky with some of my patches getting merged in…
Globalite contributor: Marcus Derencius just submitted a Portuguese translation for Rails. Your application can now speak Portuguese thanks to Globalite and Marcus :)
Globalite contributor: Marcus Derencius just submitted a Portuguese translation for Rails. Your application can now speak Portuguese thanks to Globalite and Marcus :)
22 Jun 2007
Quick note to let you know that I updated mimetype_fu to actually get the mime type of a file using the file command on mac and linux. I still didn’t post an example since I’m planning on writing a patch for attachment_fu.
14 Jun 2007
mimetype_fu/ is a new plugin I just wrote. It’s simple and it can be really useful if you need to get the mime type of a file already on your server. During one of my project, I add to migrate old assets from a legacy system to a new Rails app. The new app uses attachment fu and even though…
9 Jun 2007
As Dave Herman just posted at Lambda-the-Ultimate, we ECMA members who have been working on the successor to the JavaScript standard have a new www.ecmascript-lang.org website, which now hosts the “milestone 0” release of the ES4 Reference Implementation, written in Standard ML of New Jersey. As Dave notes, this is a “pre-release” in the Open … Continue reading "ECMAScript Edition…
6 Jun 2007
Recently I helped few people moving to Rails Edge and start using RSpec. I realized that I learned few tricks and even if for me everything seemed quite simple, things are not that simple when you recently started with Rails. This would work on Mac and Linux, sorry Windows users, you’ll have to slightly change the code below. Live on…
2 Jun 2007
The guys at integrum launched their resources site as promised. — CHECK IT OUT — There’s not much there yet but I would recommend to subscribe to their feed!
26 May 2007
I’m quite glad to let you know that my first patch made it to Rails Edge. UPDATE: Ryan Daigle covered the new added features in his blog How cool is that? That’s a great achievement that I owe to josh Knowles and Josh Susser Josh Knowles and Matt Heidemann from Integrum started working on rake_tasks a little while ago. I…
22 May 2007
Josh knowles and Matt Heidemann from Integrum and I released few weeks a go a cool plugin called rake_tasks The thing is that the plugin was getting too big when I started hacking the MySQL adapter and adding utf-8 support we figured out it was smarter to split the plugin and create db_tasks and svn_tasks I temporarily hosted db_tasks there:…
15 May 2007
I’ve been recently slightly annoyed by the lack of simple yet powerful internationalization/localization plugin for Rails. It seems like the only real solution out there is Globalize However, it’s a heavy, bloated, hard to setup plugin. I might seem to complain, but I’m actually glad that someone came up with a decent solution. Globalize is quite powerful but I would…
11 May 2007
This morning I couldn’t remember how to get an array with only the unique properties of a Model attribute. For instance, I have a User model, and I want to retrieve the list of all my users' cities. I also don’t want to retrieve all the attributes and only the unique rows. in my model: <code>def self.cities User.find(:all, :select =>…
9 May 2007
I’m working on a Rails project and I need to make sure that our code is compatible with PostgreSQL. I never installed/used before and since I’m lazy and rely on other people knowledge, I decided to install Postgresql using MacPort. It was actually simpler than I expected. I simply followed this post and almost everything went ok. <code>sudo port install…
26 Apr 2007
Adobe open-sources Flex under the MPL — a good second step. Congratulations to all the people who made it happen. My browser-war battle-heightened senses tell me you’ll see more open-sourcing, and no small amount of “openness” hype, from several big players in the coming days. As we mozilla.organs learned the hard way, getting the license … Continue reading "Open Source…
DrNic the most famous Australian Rails developer surprisingly doesn’t spend most of his time working on Rails read interview That’s maybe why he recently became so active in the Rails community ( see Magic Multi-Connections, Magic Models, map_by_methods, Gem Generator etc..) Today he released something very helpful for the Rails Community, not another Gem or another cool plugin to extend…
18 Apr 2007
I recently realized that a lot of people using RSpec didn’t use the great TextMate bundle designed for them. You might not think you need an extra bundle, or maybe you never used a bundle ever and don’t know why you would try one. I’ll try to change your mind, let’s look at some screenshots first: This is what you…
9 Apr 2007
With the recent Buzz around Adobe Apollo I figured out that since I recently switched to Mac and that I didn’t try the latest Flex upgrade, I should try Flex 2.01 for Mac. I really like what Adobe did with Flex, Unit testing, better accessibility, etc… but one thing I regret, it’s getting closer and closer to Java and AS3…
4 Apr 2007
Debunking fear-mongering: What really kills us, according to data.
2 Apr 2007
30 Mar 2007
I recently started working on migrating an old PHP based application to a new sexy Rails app. The old model was kind of messy, the usual case of bloated, feature creep app written by many people without any standard conventions. Anyway, I have to migrate users and content from many sites using the legacy app. Data Structure Instead of having…
UPDATE: Aslak Hellesoy just mentioned in a comment that the trunk version of RSpec bundle for TextMate ( svn://rubyforge.org/var/svn/rspec/trunk ) doesn’t require the RSpec Gem installed anymore. To install the bundle: <code> cd ~/Library/Application\ Support/TextMate/Bundles/ svn co svn://rubyforge.org/var/svn/rspec/branches/0.9-dev/RSpec.tmbundle </code> I recently discovered RSpec, well, not really, but I finally got to start using RSpec. For those who don’t know RSpec…
13 Mar 2007
A small presentation I gave at SXSW asks what it means to be “Open” in the sense of open standards, open source, and a web whose major content formats are not controlled by a single vendor (I credited Nat Friedman’s amusing keynote from last year’s Free Software & Open Source Symposium for inspiration of the … Continue reading "The Open…
25 Feb 2007
"Unconvention-al Conversations: A BarCampLondon2 Recap."
15 Feb 2007
A friend for your server: Jabber, the ultimate office wingman.
12 Feb 2007
This is not an original thought, but I write with some authority here. I hacked Unix kernel code out of grad school at SGI, in SGI’s “good old days” (1985-1992). Among other things, we took single-threaded (ST) kernel code and multi-threaded (MT) it on SGI’s SMP boxes. I won a free trip to New Zealand … Continue reading "Threads suck"
11 Feb 2007
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but one of the most egregious, in my opinion, is that they force you to use CVS for your version control. Problem sets are distributed by the TAs importing them into your repository, and are then checked out later to be graded. Well, CVS sucks,…
7 Jan 2007
A week in the wild with the Ray Mears School of Bushcraft
10 Nov 2006
For Mozilla 2, I proposed that we use Oink, or really Elsa, to build a tool that can help automate deCOMtamination, switching to C++ exceptions instead of nsresults, and similar tasks beyond the reach of sed or perl. The idea is to specify pattern and replacement abstract syntax trees (ASTs), and have the tool match … Continue reading "Oink-based Patch…
7 Nov 2006
I just committed the initial revision of mozilla/js/tamarin, the open-source ActionScript Virtual Machine contributed by Adobe. But I had nothing to do with this fine work. It’s the product of some talented folks at Adobe (originally at Macromedia; at least one of whom has moved on and is doing a startup). Tamarin, the open-source AVM, … Continue reading "Project Tamarin"
24 Oct 2006
Automate your CV printing woes with a Python twist no VBA could ever conquer
14 Oct 2006
Mozilla has gone from open source whipping boy in 1999 to open source poster child since 2004, due in large part to the success of Firefox. For that we can thank some amount of luck with our “timing the market” — the browser market that no one knew existed, until it was suddenly clear in … Continue reading "Mozilla 2"
16 Sept 2006
A grape-fully delicious journey through French wine grapes.
30 Jun 2006
I went to a talk about food and wine pairing, it was surprsingly interesting
From Bacon to Boxed: The Webgroup's Porky Punchlines.
22 May 2006
The talk I gave last Friday at XTech 2006 in Amsterdam, a revised and extended version of the talk I gave at the Ajax Experience the previous week in San Francisco, is here.
15 May 2006
13 May 2006
Halliburton's SurvivaBall
9 May 2006
A markdown masterclass, where plain text shines.
Unsubscribing from inbox clutter, one feed at a time.
28 Apr 2006
Graydon has been busy. The XPCOM garbage cycle collector lives. Huzzah! One (half-way) down, two to go…. /be
10 Apr 2006
31 Mar 2006
Amazon's star rating system lacks starlight