~/devreads

14 Feb 2010

1 min read

I’ve been looking for a good solution for versioning and synchronizing my dotfiles between machines for some time. I experimented with keeping all of ~ in subversion for a while, but it never worked out well for me. I’ve finally settled on a solution that I like using git, and so this is a writeup of my workflows for working…

5 Feb 2010

1 min read

CVE-2007-4573 is two years old at this point, but it remains one of my favorite vulnerabilities. It was a local privilege-escalation vulnerability on all x86_64 kernels prior to v2.6.22.7. It’s very simple to understand with a little bit of background, and the exploit is super-simple, but it’s still more interesting than Yet Another NULL Pointer Dereference. Plus, it was the…

3 Feb 2010

1 min read

To celebrate the relaunch of this site and since we are waiting for Rails 3.0 beta to be released, I figured I should share with you what I worked on the other night. I merged patches, refactored and released a new version of googlecharts, my Gem to create graphs using Google Chart API. sudo gem install googlecharts Here is a…

2 Feb 2010

1 min read

It is now official: I have traded my freedom & home office for a job title, an Aeron chair in a cubicle and a 401K. I received my new employee package and, in less than a week, I will officially become a full-time employee at SCEA (Sony Computer Entertainment America). I’m going to work in the PlayStation department, working on…

31 Jan 2010

1 min read

After going through two betas, MacRuby 0.5 final is now released and can be downloaded by clicking on the icon below: MacRuby 0.5 Don’t worry about having MacRuby and Ruby 1.8.x or 1.9 installed, MacRuby is namespaced and won’t affect your current Ruby installations, just download and launch the installer. (Note: The build was compiled for SnowLeopard only) You can…

27 Jan 2010

24 Jan 2010

1 min read

In my previous blog post, I discussed how git is distinctive among version control system in the way in which it makes the backend model that is being used to store data the most important element of the tool, and that experts use it by having the complete model in their head, and thinking in terms of operations on this…

18 Jan 2010

1 min read

I’ve been helping a number of people get started working with git over the last couple of weeks, as Ksplice has brought on some new interns, and we’ve had to get them up to speed on our internal git repositories. (As you might expect from a bunch of kernel hackers, we use git for absolutely everything). While that experience is…

1 min read

Over the weekend, MacRuby’s trunk became version 0.6 and the bug fixing is currently done in both the 0.5 branch and trunk. Based on MacRuby’s usual release cycle I would expect a 0.5 beta3 or 0.5 final to be released soon so most of the work can be focused on trunk. I’ll let you check on the TODO list to…

17 Jan 2010

1 min read

Since Mac OS X v10.5, Apple added a technology called Scripting Bridge which allows to control and communicate with scriptable applications such as Mail, iChat or iTunes. A few weeks back, I showed how to control iChat with MacRuby. This time I’m going to show you how to control iTunes. Here is a small script that I wrote to wake…

16 Jan 2010

11 Jan 2010

1 min read

(This is part three of a multi-part introduction to termios and terminal emulation on UNIX. Read part 1 or part 2 if you’re new here) For my final entry on termios, I will be looking at job control in the shell (i.e. backgrounding and foreground jobs) and the very closely related topic of signal generation by termios, in response to…

5 Jan 2010

1 min read

For Noël, my wife got me a new toy: the Amazon Kindle 2. Kindle vs Nook Before my wife bought what became my new favorite gadget, we checked on the Barnes & Noble Nook. The primary problem with the Nook was that it was out of stock. That pushed me to dig deeper and really compare both devices. The Nook…

1 Jan 2010

59 min read

This is an archive of an old Google Buzz conversation (circa 2010?) on a variety of topics, including whether or not it's inevetible that a closed platform will dominate social. Piaw: Social networks will be dominated primarily by network effects. That means in the long run, Facebook will dominate all the others. Rebecca: ... which is also why no one…

52 min read

This is an archive of an old Google Buzz conversation on MIT vs. Stanford and Silicon Valley vs. Boston There's no reason why the Boston area shouldn't be as much a hotbed of startups as Silicon Valley is. By contrast, there are lots of reasons why NYC is no good for startups. Nevertheless, Paul Graham gave up on the Boston…

31 Dec 2009

1 min read

Here is the geekiest way I found to wish Happy New Year to my IM contacts: framework 'ScriptingBridge' app = SBApplication.applicationWithBundleIdentifier("com.apple.iChat") original_status = app.statusMessage new_year = Time.mktime(2010, 1, 1, 0, 0) loop do now = Time.now time_left = (new_year - now).ceil if time_left > 0 app.statusMessage = "#{time_left} seconds left until 2010 (EST)" else app.statusMessage = "Happy New Year 2010!"…

30 Dec 2009

1 min read

(This is part two of a multi-part introduction to termios and terminal emulation on UNIX. Read part 1 if you’re new here) In this entry, we’ll look at the interfaces that are used to control the behavior of the “termios” box sitting between the master and slave pty. The behaviors I described last time are fine if you have a…

29 Dec 2009

1 min read

To be ready for 2010, I’m taking some time off relaxing and spending time with my family in Florida. During my free time, I’ve been reading, catching up on movies and TV shows and worked on the MacRuby book that I am writing for O’Reilly. I wrote a bunch of small apps, played with various APIs and every single time…

22 Dec 2009

1 min read

If you’re a regular user of the terminal on a UNIX system, there are probably a large number of behaviors you take mostly for granted without really thinking about them. If you press ^C or ^Z it kills or stops the foreground program – unless it’s something like emacs or vim, in which case it gets handled like a normal…

16 Dec 2009

30 Nov 2009

1 min read

If you were at RubyConf 2009 or looked at the schedule, you saw that the big thing happening in the Ruby scene is the maturation of a many of the Ruby implementations: BlueRuby, HotRuby, IronRuby, JRuby, MacRuby, Maglev, MRI, REE, Rubinius, SmallRuby… Ruby developers really have plenty of choice when it comes to choosing an alternative Ruby implementation. Is that…

27 Nov 2009

21 Nov 2009

1 min read

During RubyConf 2009 in San Francisco, CA Matt Aimonetti gave a talk entitled Writing 2D games for the OSX platform in Ruby. ##Description of the talk: Are you a developer who would love to get into video games but get scared when he hears “OpenGL” or “rendering engines”? Or Maybe, you never considered writing a video game because you have…

16 Nov 2009

1 min read

[caption id=“attachment_638” align=“alignright” width=“300” caption=“Mohandas Karamchand Gandhi”][/caption] My recent ‘Ruby revolution being over’ blog post generated quite a lot of comments. Let’s be honest, I did not expect less from the readers. However, I noticed three types of reactions I would like to address: It was not a Ruby revolution, it was a Rails revolution The revolution has stalled due…

9 Nov 2009

1 min read

According to wikipedia, a revolution (from the latin revolutio, “a turn around”) is a fundamental change in power or organizational structures that takes place in a relatively short period of time. Somehow, I believe this is exactly what Ruby has done in the programming world, especially with the help of Rails. Over the last few years, Ruby lead a mini…

25 Oct 2009

1 min read

This is yet another pretty simple tip. Use case: let say you want your applications users to choose one or multiple files or folder on their file system. A good example would be that you want the user to choose a file to process or a folder where to save some data. In the example above, I added a browse…

23 Oct 2009

1 min read

During Rails Summit2009 in São Paulo, Brazil Matt Aimonetti gave a talk entitled The future of Ruby and Rails. ##Description of the talk: Plans for Rails 3 and tour of the various Ruby implementations. ##Slides ##Video The video of this talk is available here. ##Blog post I have had the opportunity to go to and speak at many conferences but…

20 Oct 2009

9 Oct 2009

1 min read

If you are writing any type of games you might want your users to interact with your application using their keyboards. This is actually not that hard. The approach is simple and fast forward if you are used to Cocoa. Everything starts in Interface Builder, add a custom view instance to your window. Now switch to your project and a…

7 Oct 2009

1 min read

Good news everyone! MacRuby beta 1 has been released! Official announcement here. [caption id="" align=“aligncenter” width=“144” caption=“Download MacRuby 0.5 beta1”][/caption] Note that the download is only for SnowLeopard, intel machines. Lots of great stuff in this new release, the first one based on LLVM. Check the Laurent’s post to learn more about the work done on compilation, optimization, concurrency, compatibility…

6 Oct 2009

1 min read

Let say you want to release your MacRuby app and use a custom embedded font? You probably don’t want to force your users to install the font. Well, don’t worry, just put the font file in your resources folder and use the following code: font_location = NSBundle.mainBundle.pathForResource('MyCustomFont', ofType: 'ttf') font_url = NSURL.fileURLWithPath(font_location) # in MacRuby, always make sure that cocoa…

1 min read

Let’s say you would like to play an audio file in your MacRuby app/script, how would you do? It’s actually pretty simple, you just need to use NSSound. If we wanted to use a system sound we could do: NSSound.soundNamed('Basso').play But let’s look at a more advanced example with some Cocoa patterns. We will loop through all the audio files…

5 Oct 2009

1 min read

Laurent just posted a MacRuby status update on the mailing list and the first official beta of MacRuby 0.5 should be released pretty soon. Let’s quickly look at Laurent’s report: Early backtracing support. Much better AOT compilation. Parts of the standard library are now pre-compiled for testing. Migrated to LLVM top of tree. Dispatcher performance is now back to normal…

1 Oct 2009

17 Sept 2009

7 Sept 2009

Twist Team 1 min read

In Twist, we have a nice cool feature where fixture names are automatically imported as and when you start using workflow steps across fixtures. The interesting outcome is that this feature can be used to get the dependencies between stories. Let me explain how. When you use Twist during the early phases to write the acceptance tests (intents) for each…

30 Aug 2009

1 min read

I had people asking me how come I was not blogging as much lately. Well, on top of being really busy, I have been blogging on other blogs such as the official Rails blog. There aren’t a lot of Merb news, we are waiting for Carl and Yehuda to sign out on the 1.1 release and will hopefully soon start…

26 Aug 2009

10 Aug 2009

30 Jul 2009

27 Jul 2009

1 min read

Over the weekend, I spent some time working on a Ruby + Rack +CouchDB project. Three technologies that I know quite well but that I never put to work together at the same time, at least not directly. Let’s call this Part I. Before we get started, let me introduce each component: Ruby : if you are reading this blog,…

20 Jul 2009

13 Jul 2009

1 min read

CouchDB is an awesome technology. I’m lucky enough to work on quite a big project where we decided to switch from MySQL to Couch for various reasons. One of the many things I like with Couch is that it handles attachments and can replicate them as well as serve them for you using the Erlang based builtin webserver. (you can…

12 Jul 2009

1 min read

To celebrate the amazing work being done by Laurent Sansonetti on MacRuby here is a hello world using the new LLVM based compiler. $ echo "p ARGV.join(' ').upcase" > hello_world.rb $ macrubyc hello_world.rb -o macruby_says $ ./macruby_says hello world "HELLO WORLD" Note that to achieve this result, you need to be using the experimental branch of MacRuby and have LLVM…

17 Jun 2009

1 min read

Li Jian (TWer in China office) took few days to write ruby code to clean the artifacts repository of Go automatically. It is ruby code on google code (svn checkout http://cruisetools.googlecode.com/svn/trunk/ ). Anyone can check out to use. You can run it to clean the artifacts under the artifacts folder. If some files/folders need to be kept, just put the…

16 Jun 2009

Darius Kumana 1 min read

Agile software development has hit the mainstream! Since the Agile Manifesto was published, various software development methodologies that follow the manifesto's values have steadily gained popularity. Many organizations are adopting these lightweight processes to get their software built. Many of the Agile methodologies recognize and value the input of users as domain experts:

11 Jun 2009

10 Jun 2009

27 May 2009

1 min read

What’s MacRuby? MacRuby is an Apple-sponsored, open source, full Ruby implementation on top of Objective-C runtime. In other words, whatever code runs on Ruby 1.9, should/will run on MacRuby. Yes, you read correctly, MacRuby can/will be able to run all your Ruby code. That means that eventually you will even be able to run your Rails/Sinatra/new-sexy-ruby-framework app on MacRuby. Unlike…

21 May 2009

20 May 2009

17 May 2009

1 min read

The other night, during our monthly SDRuby meetup, lots of people were very interested in learning more about CouchDB and Ruby. I tried to show what Couch was all about but I didn’t have time to show how to use CouchDB with Ruby. Here is me trying to do that in 10 minutes or less. I’ll assume you don’t have…

10 May 2009

8 May 2009

1 min read

During RailsConf 2009 in Las Vegas, Nevada Matt Aimonetti gave a talk entitled Rails 3: Stepping off of the golden path. ##Description of the talk: Back in December 2008, the Rails and Merb core teams surprised everybody by deciding to merge their teams and focus their energy on a common release: Rails 3.0. On one hand, Rails is famous for…

7 May 2009

6 May 2009

28 Apr 2009

Jez Humble 1 min read

In an exciting milestone for us, we had our first blog review from somebody who has never worked at Thoughtworks.

14 Apr 2009

1 min read

We made the decision to slightly delay the release of Merb 1.1 as we ended up changing the scope of what we wanted to make available in the 1.1 release. If you have been following our releases, you know that this is not something we usually do, but we strongly believe that this is actually something that will save us…

7 Apr 2009

31 Mar 2009

1 min read

Following the DataMapper 0.9.11 release, we just pushed a new minor Merb release. This release is mainly targeting new developers and Windows users wanting to install the full Merb stack. Others can simply update their dependencies if they use the dependencies.rb file or install the new gems if nothing is bundled and no hard dependencies are set. Merb is a…

21 Mar 2009

18 Mar 2009

1 min read

We just pushed a really tiny update because of a bug in 1.0.9 affecting people using: Merb::Config[:max_memory] Merb::Config[:max_memory] has been fixed and now polls for memory usage every 30s instead of 0.25s. (memory is set in KB) This new version also uses DataMapper.repository instead of Kernel#repository (DM and Vlad related bug fix) We are still on schedule for Merb 1.1…

16 Mar 2009

15 Mar 2009

2 Mar 2009

1 min read

Yesterday, Carl Lerche, Yehuda Katz and myself had a meeting to discuss Merb 1.1’s roadmap. Key items on the agenda were: Ruby 1.9 Mountable apps migration path to Rails3 After spending some time arguing back and forth, we decided that few things had to happen before we could migrate the current slices to pure mountable apps. Freezing the releases while…

23 Feb 2009

6 Feb 2009

1 min read

As they say: fail early, fail often. Well, I’ve been failing to blog recently, but as always I have some good excuses ;) Yehuda has been blogging a lot about the work done on the merge. I have been busy working on probably the awesomest CouchDB Ruby DSL/ORM. I have been working with the Rails Activists on the new wiki…

22 Jan 2009

19 Jan 2009

13 Jan 2009

1 min read

Lately, I have been really busy with my business, an upcoming training and some non rails-merb related experimentations. (I’m learning objective-c and playing with macruby) However, here are some of the latest news: Merb 1.0.8 should be released soon with some bug fixes and some improvements The Merb book got 2 new sections, Sequel and Active Record. I’ll be spending…

6 Jan 2009

1 min read

Meet today’s merbist: Hampton Catlin I’m personally looking forward to seeing Hampton’s work migrated to Rails 3 in a few months. Matt Aimonetti: Hi Hampton, could you please introduce yourself and tell us what you do for a living. **Hampton Catlin: **I’m Hampton Catlin. I’m “The Haml Guy” as I’m apparently termed all the time when introduced. I’m an early…

5 Jan 2009

1 min read

Today is Monday. I usually don’t like Mondays. Being Monday goes with waking up early, going back to work, and lots of deadlines. However, today is a special Monday. It’s the first Monday of the year and I have a special announcement! During the Rails/Merb merge announcement, it was mentioned that I will be joining the soon to be created…

29 Dec 2008

1 min read

Foy Savas, author or the “merb way” wrote a very well written post on “Rails monoculture” Pat Eyler, wrote an article asking if Rails and Merb would be better together. Ben Aldred, tell people to stop worrying and start loving Rails 3. fotonauts.com a Rails and Merb Photo website developed by an ex-apple team, was featured in TechCrunch. Fotonauts is…

25 Dec 2008

1 min read

December 23, 2008, was an important day for the Ruby community. People who used to argue and not get along, have decided to sit down, talk and evaluate their differences. The end result is a strong collaboration of two teams who share the exact same goal. Overall, the news was very well received, just look at the tweets out there…

24 Dec 2008

1 min read

This is huge! While people still try to find some drama an in hypothetical war between rails and merb. The Rails team and the Merb team announced working together on a joined version of the 2 frameworks. This is so exciting, nobody believed it could ever happen (I personally, had my serious doubt). Yehuda had a great post laying down…

23 Dec 2008

1 min read

This is huge! While people still try to find some drama in a hypothetical war between Rails and merb … The Rails team and the Merb team announced today that they will work together on a joined version of the 2 frameworks. This is so exciting! Nobody believed it could ever happen (I personally, seriously had my doubt). Yehuda had…

20 Dec 2008

1 min read

Today I’m interviewing Jason Seifer known for the funny envyads and the weekly RailsEnvy podcast. Matt Aimonetti: Hi Jason, could you please introduce yourself and tell us what you do for a living? Jason Seifer: My name is Jason Seifer and I do mostly web development for a living along with podcasting and screencasting. Matt Aimonetti: How did you get…

18 Dec 2008

1 min read

Today, Andy Delcambre is our featured merbist. Matt Aimonetti: Could you please introduce yourself and tell us what you do for a living. Andy Delcambre: My name is Andy Delcambre and I work for Engine Yard (https://engineyard.com) as a Software Engineer. I work primarily on internal and customer facing projects. These projects are almost exclusively written in Merb. At Engine…

17 Dec 2008

1 min read

](https://loriholden.com/) Today, I’m interviewing Lori Holden from YellowPages.com/AT&T Interactive. I met Lori on IRC a bit before MerbCamp 2008 where she gave a very interesting talk on Sequel. Matt Aimonetti Hi Lori, could you please introduce yourself and the company you work for? Lori Holden: Hi Matt, my name is Lori Holden. I originally became interested in software development when…

15 Dec 2008

1 min read

Today, I’m starting a new series called meet the the merbists. My goal is to feature various people from our community and ask them a few questions about Ruby, Merb and their projects. Let’s get started with Derek Neighbors from Integrum. Matt Aimonetti: Hi Derek, could you please introduce yourself and the company you work for? Derek Neighbors: I am…

11 Dec 2008

1 min read

I hear a lot of people asking for better Merb documentation as they are learning Merb. I remember struggling with the very same problem when I started using Rails a few years ago. The good news is that the core team is working hard on improving the state of documentation. You have the Merb Book on which I am actively…

9 Dec 2008

8 Dec 2008

1 min read

3 days ago, I announced the Merb Open Source Book project. I expected that few people would be interested as we heard complaints about the lack of documentation. What I did not expect, was more than 60 emails and pull requests in 2 days, people committing pages of content, fixes and offering their services to translate the book. The mailing…

4 Dec 2008

1 min read

Here is a graph representing the growth of of web searches related to the programming category. This is not a comparison of the amount of searches made. We can see a huge peak around the time Merb 1.0 got released. More and more people are looking for information about what’s already being called the “Ruby web framework for the enterprise”.…

2 Dec 2008

1 min read

[caption id="" align=“alignright” width=“240” caption=“Love is in the air”][/caption] Yes, it is true and no, I am not being passive aggressive or cynical. As you might have heard there has been some tension between the Rails team and the Merb team in the last few weeks. Sometimes caused by us, sometimes caused by them. I already addressed this issue in…

30 Nov 2008

1 min read

Wow, It’s been two weeks since my last post. I’m really sorry about that but at the same time, I really enjoyed Qcon and Thanksgiving which did not give me much time to work on a blog post. [caption id=“attachment_291” align=“alignleft” width=“200” caption=“Mr Bean vs X-mas turkey”][/caption] Thanksgiving is a big thing in America, and after few years I got…

22 Nov 2008

Darius Kumana 1 min read

Create Software Users Can't Live Without The agile software development movement has made huge improvements in reliability when delivering software, increasing return on investment, and reducing the risk of building software. However, in a world of iPhones and Google apps, this may no longer be enough.

16 Nov 2008

1 min read

I’ll try to keep the community posted on the latest merb news. Feel free to email me if you want me to feature your app, plugin, tool or blog post. Quality time with Yukihiro Matsumoto (まつもとゆきひろ) aka Matz, Ruby author Hack time with Aaron Paterson (Nokogiri) and Bryan Helmkamp (Webrat) Merb presentation at ORUG RailsCamp Australia Rails podcast Rails vs…

14 Nov 2008

1 min read

 As you must know by now, last week,Merb 1.0 got released. Because we wanted to assure the release was fine, we asked Engine Yard, Apple and YellowPages.com to help us by hiring the NSA to monitor Merb users. After all, we need to know what people complain about so we can fix it ASAP. Turns out all the echelon…

12 Nov 2008

11 Nov 2008