Posted over 2 years back at ones zeros majors and minors
No batteries required. Awesome.
Posted over 2 years back at ones zeros majors and minors
The Poignant Guide is how I learned Ruby. RedHanded made me want to start blogging. Projects like Shoes inspire me to keep hacking for hacking’s sake.
The lucky stiff has been on GitHub for a while, but just yesterday added all his projects. Check it: http://github.com/why.
Hardcore.
Posted over 2 years back at ones zeros majors and minors
It’s true. Read the blog post – we now serve all public git repos via Erlang. We’re trying hard to fit as many buzzwords as possible into our architecture.
Posted over 2 years back at ones zeros majors and minors
I wanted an easy way to share tweets in Campfire. @shayarnett delivered.
Check out http://twictur.es/.
Posted over 2 years back at ones zeros majors and minors
Witness as Ruby dons the fake mustache and bifocals of burly Java:
<script src="http://gist.github.com/1837.js?nonum=1"></script>
Posted over 2 years back at ones zeros majors and minors
What if my GitHub repository is corrupted or deleted?
Don’t Panic! Because of the distributed nature of git, everyone always has a local full copy of the repository, complete with history. Any of your repositories, assuming they have been kept up to date, can be uploaded to the GitHub repository with no loss of data.
If the universe is conspiring against you and all copies of your repository are unaccessible, just email support@github.com – we keep offsite, encrypted backups of all repositories.
How can I share my repository if GitHub goes down?
Luckily, git has a built in server for sharing git repositories. If you have several repositories in your Code directory:
/Users/Matt/Documents/Code/
rbvimeo/
rubyzilla/
You can serve all of these with the following command:
git daemon --base-path=/Users/Matt/Documents/Code/ --export-all
The repositories can then be cloned using the address of your computer
git clone git://127.0.0.1/rbvimeo
git clone git://127.0.0.1/rubyzilla
Note: The default port git uses is 9418. Make sure that your firewall is set up to handle this.
How can I get a quick web interface?
You can run git instaweb to quickly start a network-accessible gitweb interface, for example:
git instaweb --httpd=webrick
How do I deploy my application with Capistrano when GitHub is down?
There are quite a few ways to deploy without github… ah the wonders of git!
Deploy from a local git server
Set up your repositories to be shared using git-daemon as detailed above. Set your capistrano config files to point the repository to your local repository:
set :repository, "git://YOUR_IP/rails-app"
You can now deploy your repository as normal.
Push over ssh
Another handy trick is to push the repo to your deploy server over ssh, then deploy using the local path. For this to work, you need ssh access to your deploy server, of course.
git remote add deployserver ssh://myuser@myserver.com/~/myrepo
git push deployserver master
Assuming your users are stored in /home…
set :repository, "/home/myuser/myrepo"
Posted over 2 years back at ones zeros majors and minors
The following projects need a good home. Interested in taking over?
Let me know.
Posted over 2 years back at ones zeros majors and minors
A few weeks ago I competed in the Django Dash along with Alex Gaynor and Leah Culver. Our team ended up placing second.
We made a comet powered, web based IRC client called Leafy Chat. In fact, we just launched a redesign.
Check it out.
Posted over 2 years back at PeepCode

Mercurial creator Matt Mackall was the technical editor for this screencast!
Many developers have embraced distributed source code control as a faster, more agile way of managing projects both online and offline.
Mercurial is not only fast, it also provides a smooth transition for developers who are already comfortable with Subversion’s basic command set. And it gives you easy access to common functionality without resorting to cryptic command-line flags. It works well on all major operating systems, including Microsoft Windows.
Major projects such as Python and Mozilla use Mercurial, and Google Code now offers it as an option for hosting open source projects. You can even use it with GitHub via the experimental hg-git!
In this 50 minute screencast, Dan Benjamin draws on years of experience with source code control systems to get you up to speed with Mercurial. In fact, he was so impressed with Mercurial that he converted all his personal projects and is now using it daily.
Even if you primarily use Git or another distributed system, this screencast will help you for those times when you want to clone or contribute to a project hosted in Mercurial. And maybe you’ll even learn some tips to take back to your SCM of choice!
Chapters:
- Introduction
- Configuration
- Basic Commands
- init
- ignore
- add
- commit
- remove
- revert
- Status Codes
- Tags
- Working Directory
- Branches
- What’s a branch?
- branches
- parents
- merge
- Shared Repositories
- clone
- outgoing
- push
- update
- Centralized Repositories
- Undoing Changes
- Migrating to Mercurial
- Conclusion
Only $9 for a limited time, or included with all PeepCode Unlimited subscriptions!

Posted over 2 years back at Jake Scruggs
This summer I'm revisiting my short apprenticeship at Object Mentor. I'll be posting commentary on all my posts from the summer of 2004 exactly 5 years later to the day.
Friday 7-9-04
Revision: the State Map Compiler C Sharp version isn't done. It doesn't actually work, as Micah showed us. I feel pretty bad about it because we should have tried the things he tried before showing it to him. The SMCC# produces code that's meant to be part of a larger program. We really should have written the larger program to make sure it works. Bad apprentices. Bad!
On the positive side, I'm becoming a lot more familiar with how this SMC thing functions as we plow through it again (and again, and again). After looking at some UML with Micah we decided to re-design how the C# version of the SMC is written to avoid using inner classes. Which is good because they were confusing me.
David and Paul have suggested that they start writing an 'Anti-Jake' blog. Treachery! We shall speak of them no more.
Tonight I'm going to a ChAD meeting (Chicago area Agile Developers). It's starting at 6:30 at the Loop-area DePaul campus, but my train doesn't arrive until 6:25. So I've got 5 minutes to get off the train, unfold my bike, and peddle my ass on over to Jackson and Wabash.
Last night I bought my airplane tickets to XPAU (eXtreme Programming Agile Universe) which is being held in Calgary this year. I'm pretty excited about going ' should be a great chance to learn a bunch and maybe meet somebody who will offer me a job. (stop laughing -- it could happen). The crazy part is that I have to be back to start my teaching gig the morning after the conference ends. At 8:30pm Calgary time, I get on a flight to Las Vegas, NV. Somewhere around midnight I get on another plane which takes me to Chicago. Arriving at 4:30am. Yipes! I guess I'll sleep a few hours at the airport and take a cab to school. The alternative is taking the 'El back to my home in Chicago, and then getting in my car almost immediately (gotta beat that traffic) to go back to school. That first day is gonna be a little bit crazy. Luckily, it's only a day of meetings -- no teaching required.
Yeah, you should probably run the code before you declare it done. "But all the tests pass" is not an excuse. In fact, it's an insult to your test suite.
XPAU is now just called 'Agile.' I'm speaking at Agile 2009 in August in Chicago, it's going to be weird going back there after all these years as a presenter.
Posted over 2 years back at almost effortless
I'm pleased to announce that El Dorado is now compatible with Heroku, the instant Ruby platform.

This means that deploying El Dorado is no longer a pain in the ass. It also means that you can get started with El Dorado for free. Just follow along with the installation and deployment instructions in the README and you're good to go.
If you need help along the way, drop by the support site: http://eldorado.heroku.com/
Enjoy!
Posted over 2 years back at almost effortless
..."weekly," eh?
pauldix's typhoeus
Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
iPhone-like password fields using jQuery
That may have been the reason why Apple developed implemented an alternative method on iPhone/iPod Touch: passwords get masked while typing but the last character in row is shown in plain text.
Tango Palette Dashboard Widget
Colors from Tango Desktop Project with one-click! Click on color box will copy hex value (without #, useful, for example, with Photoshop) into the clipboard. Enjoy!
The EveryBlock source code
EveryBlock.com is an experimental news Web site that provides information at a "microlocal" level — by neighborhood or city block. It was funded by a grant from Knight Foundation, which requires the site's backend code to be open-sourced. Here is the code.
MongoMapper, The Rad Mongo Wrapper
A few weeks ago, I wrote about Mongo and how awesome it is. Towards the end of the article (and in the slideshow) I mentioned MongoMapper, a project I’ve been working on.
Cassandra Wiki
Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. Cassandra brings together the distributed systems technologies from Dynamo and the data model from Google's BigTable. Like Dynamo, Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems.
tmm1's youtube-g
youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs. In comparison with the earlier Youtube search interfaces, this new API and library offers much-improved flexibility around executing complex search queries to obtain well-targeted video search results.
JaredKuolt's robustthread
This module allows for the creation of a thread that will not simply die when the process dies. Instead, it joins all RobustThreads in Ruby’s exit handler.
zilkey's active_api
ActiveApi allows you to define an XML schema in Ruby, and use that schema to convert ruby objects to xml. Features XSD or DTD generation; Versioning; The ability to represent your model in a way that is not tightly coupled to the model itself.
neerajdotname's admin_data
Rails plugin to browse and manage your data using your browser.
adamsalter's sitemap_generator-plugin
This plugin enables 'enterprise-class' Google Sitemaps to be easily generated for a Rails site as a rake task, using a simple 'Rails Routes'-like DSL. It allows you to take care of familiar Sitemap issues...
GooOS, the Google Operating System
Google isn't worried about Yahoo! or Microsoft's search efforts...although the media's focus on that is probably to their advantage. Their real target is Windows. Who needs Windows when anyone can have free unlimited access to the world's fastest computer running the smartest operating system? Mobile devices don't need big, bloated OSes...they'll be perfect platforms for accessing the GooOS.
Introducing the Google Chrome OS
So today, we're announcing a new project that's a natural extension of Google Chrome — the Google Chrome Operating System. It's our attempt to re-think what operating systems should be.
New on Posterous: Audio and video *plays* on your iPhone in Safari, no flash needed
Now, audio and video you attach and send to Posterous can be played on an iPhone in Mobile Safari. No more "missing flash" errors!
Getting Pretty Lonely
As the developer evaluates communities to participate in, they must evaluate the legal impact such participation will have on their own project. The closed source communities are, by definition uninviting to outsiders. GPL communities are open and embracing of other GPL developers, but generally off-putting to liberal-license and closed-license developers. Only the liberal-license communities are attractive to developers from all 3 camps.
The Mythical Man Weekend
The "I can do it in a weekend" beast reared its naive head on Hacker News recently which in turn generated some intelligent discussion on the topic. We've all been there and we've all learned the hard way.
When GitHub goes down...
There are quite a few ways to deploy without github… ah the wonders of git!
Adam Wiggins and Ryan Tomayko, Heroku
An interview in 3 parts with Adam Wiggins and Ryan Tomayko of Heroku from their recent visit to New Relic. They discuss the vision behind the creation of Heroku, their passion for helping developers create scalable, high-performance Rails apps in the cloud, taking full advantage of cloud deployment, and their tips and best practices to create a high-performance app.
[whatwg] Codecs for audio and video
After an inordinate amount of discussions, both in public and privately, on the situation regarding codecs for video and audio in HTML5, I have reluctantly come to the conclusion that there is no suitable codec that all vendors are willing to implement and ship. I have therefore removed the two subsections in the HTML5 spec in which codecs would have been required, and have instead left the matter undefined, as has in the past been done with other features like img and image formats, embed and plugin APIs, or Web fonts and font formats.
Secrets of Simplicity
Rules for being simple and usable (Giles Colborne)
Go Daddy DNS & Heroku
As easy as using Heroku is, setting up DNS seems to be one of the trickier parts.
The One in Which I Call Out Hacker News
The next time you see an application you like, think very long and hard about all the user-oriented details that went into making it a pleasure to use, before decrying how you could trivially reimplement the entire damn thing in a weekend. Nine times out of ten, when you think an application was ridiculously easy to implement, you’re completely missing the user side of the story.
Twitter, an Evolving Architecture
Most of the tools used by Twitter are open source. The stack is made up of Rails for the front side, C, Scala and Java for the middle business layer, and MySQL for storing data. Everything is kept in RAM and the database is just a backup. The Rails front end handles rendering, cache composition, DB querying and synchronous inserts. This front end mostly glues together several client services, many written in C: MySQL client, Memcached client, a JSON one, and others.
P2: The New Prologue
Prologue broke ground when it brought microblogging to WordPress.com. Now it’s cooler, faster, sleeker, and ready for 2009 and beyond.
fesplugas's typus
Effortless backend interface for Ruby on Rails applications. (Admin scaffold generator.)
Posterous is the best way to publish video and photos from your new iPhone 3G S
Posterous has always been about email, so when Apple announced the iPhone 3G S would shoot video, we already knew it would just work with our site! We've optimized Posterous to work well with the iPhone 3.0, so now it's better than ever. [The benefits of having a simple, universal input are obvious.]
Fails on Rails
The total cost of development for a failed Ruby on Rails system is much less than a failed Java EE system.
Development virtual machines on OS X using VMWare and Ubuntu
I’ve been using Linux as my primary development environment for a number of months now, despite being an abject Mac fanboy.
Posted over 2 years back at almost effortless
I'm pleased to announce that El Dorado is now compatible with Heroku, the instant Ruby platform.

This means that deploying El Dorado is no longer a pain in the ass. It also means that you can get started with El Dorado for free. Just follow along with the installation and deployment instructions in the README and you're good to go.
If you need help along the way, drop by the support site: http://eldorado.heroku.com/
Enjoy!
Posted over 2 years back at almost effortless
..."weekly," eh?
pauldix's typhoeus
Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
iPhone-like password fields using jQuery
That may have been the reason why Apple developed implemented an alternative method on iPhone/iPod Touch: passwords get masked while typing but the last character in row is shown in plain text.
Tango Palette Dashboard Widget
Colors from Tango Desktop Project with one-click! Click on color box will copy hex value (without #, useful, for example, with Photoshop) into the clipboard. Enjoy!
The EveryBlock source code
EveryBlock.com is an experimental news Web site that provides information at a "microlocal" level — by neighborhood or city block. It was funded by a grant from Knight Foundation, which requires the site's backend code to be open-sourced. Here is the code.
MongoMapper, The Rad Mongo Wrapper
A few weeks ago, I wrote about Mongo and how awesome it is. Towards the end of the article (and in the slideshow) I mentioned MongoMapper, a project I’ve been working on.
Cassandra Wiki
Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. Cassandra brings together the distributed systems technologies from Dynamo and the data model from Google's BigTable. Like Dynamo, Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems.
tmm1's youtube-g
youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs. In comparison with the earlier Youtube search interfaces, this new API and library offers much-improved flexibility around executing complex search queries to obtain well-targeted video search results.
JaredKuolt's robustthread
This module allows for the creation of a thread that will not simply die when the process dies. Instead, it joins all RobustThreads in Ruby’s exit handler.
zilkey's active_api
ActiveApi allows you to define an XML schema in Ruby, and use that schema to convert ruby objects to xml. Features XSD or DTD generation; Versioning; The ability to represent your model in a way that is not tightly coupled to the model itself.
neerajdotname's admin_data
Rails plugin to browse and manage your data using your browser.
adamsalter's sitemap_generator-plugin
This plugin enables 'enterprise-class' Google Sitemaps to be easily generated for a Rails site as a rake task, using a simple 'Rails Routes'-like DSL. It allows you to take care of familiar Sitemap issues...
GooOS, the Google Operating System
Google isn't worried about Yahoo! or Microsoft's search efforts...although the media's focus on that is probably to their advantage. Their real target is Windows. Who needs Windows when anyone can have free unlimited access to the world's fastest computer running the smartest operating system? Mobile devices don't need big, bloated OSes...they'll be perfect platforms for accessing the GooOS.
Introducing the Google Chrome OS
So today, we're announcing a new project that's a natural extension of Google Chrome — the Google Chrome Operating System. It's our attempt to re-think what operating systems should be.
New on Posterous: Audio and video *plays* on your iPhone in Safari, no flash needed
Now, audio and video you attach and send to Posterous can be played on an iPhone in Mobile Safari. No more "missing flash" errors!
Getting Pretty Lonely
As the developer evaluates communities to participate in, they must evaluate the legal impact such participation will have on their own project. The closed source communities are, by definition uninviting to outsiders. GPL communities are open and embracing of other GPL developers, but generally off-putting to liberal-license and closed-license developers. Only the liberal-license communities are attractive to developers from all 3 camps.
The Mythical Man Weekend
The "I can do it in a weekend" beast reared its naive head on Hacker News recently which in turn generated some intelligent discussion on the topic. We've all been there and we've all learned the hard way.
When GitHub goes down...
There are quite a few ways to deploy without github… ah the wonders of git!
Adam Wiggins and Ryan Tomayko, Heroku
An interview in 3 parts with Adam Wiggins and Ryan Tomayko of Heroku from their recent visit to New Relic. They discuss the vision behind the creation of Heroku, their passion for helping developers create scalable, high-performance Rails apps in the cloud, taking full advantage of cloud deployment, and their tips and best practices to create a high-performance app.
[whatwg] Codecs for <audio> and <video>
After an inordinate amount of discussions, both in public and privately,
on the situation regarding codecs for <video> and <audio> in HTML5, I have reluctantly come to the conclusion that there is no suitable codec that all vendors are willing to implement and ship. I have therefore removed the two subsections in the HTML5 spec in which codecs would have been required, and have instead left the matter undefined, as has in the past been done with other features like
and image formats, <embed> and plugin APIs, or Web fonts and font formats.
Secrets of Simplicity
Rules for being simple and usable (Giles Colborne)
Go Daddy DNS & Heroku
As easy as using Heroku is, setting up DNS seems to be one of the trickier parts.
The One in Which I Call Out Hacker News
The next time you see an application you like, think very long and hard about all the user-oriented details that went into making it a pleasure to use, before decrying how you could trivially reimplement the entire damn thing in a weekend. Nine times out of ten, when you think an application was ridiculously easy to implement, you’re completely missing the user side of the story.
Twitter, an Evolving Architecture
Most of the tools used by Twitter are open source. The stack is made up of Rails for the front side, C, Scala and Java for the middle business layer, and MySQL for storing data. Everything is kept in RAM and the database is just a backup. The Rails front end handles rendering, cache composition, DB querying and synchronous inserts. This front end mostly glues together several client services, many written in C: MySQL client, Memcached client, a JSON one, and others.
P2: The New Prologue
Prologue broke ground when it brought microblogging to WordPress.com. Now it’s cooler, faster, sleeker, and ready for 2009 and beyond.
fesplugas's typus
Effortless backend interface for Ruby on Rails applications. (Admin scaffold generator.)
Posterous is the best way to publish video and photos from your new iPhone 3G S
Posterous has always been about email, so when Apple announced the iPhone 3G S would shoot video, we already knew it would just work with our site! We've optimized Posterous to work well with the iPhone 3.0, so now it's better than ever. [The benefits of having a simple, universal input are obvious.]
Fails on Rails
The total cost of development for a failed Ruby on Rails system is much less than a failed Java EE system.
Development virtual machines on OS X using VMWare and Ubuntu
I’ve been using Linux as my primary development environment for a number of months now, despite being an abject Mac fanboy.