Hi John, it’s me: future you. You think you know everything about writing software, and you’ve been told this same thing by countless others. But take it from me: you know so little you don’t even know what you don’t know. You think you’re pretty clever. You always use a language’s cu...
Ten Reasons Why You Can't Afford to Miss SpreeConf Posted March 19, 2013 by Sean Schofield Comments We’re really excited about SpreeConf DC and hope you are too. The two-day event takes place May 20th – 21st at the Studio Theatre in Washington, DC and features training on Spree as wel...
The new feature release Redmine 2.3.0 is available for download at Rubyforge . Here are the highlights: Spent time list and report: improved filtering system, ability to choose columns (including custom fields) Gantt chart: issue relations and progress line can now be displayed AJAX u...
As a teen and twenty-something programmer I often found myself tossing hundreds of lines of code at a problem. I see this pattern over and over again in the young programmers we hire at my day job. I've noticed that now that I'm in my mid thirties and have been programming for almost ...
is Mike Gunderloy's software development weblog, covering Ruby on Rails and whatever else I find interesting in the universe of software. I'm a full-time Rails developer and contributor, available for long- or short-term consulting, with solid experience in working as part of a distri...
Ian McFarland, Principal and VP of Technology for Pivotal Labs, reprises his popular RailsConf 2010 talk. Ian describes the technical and social aspects of how Pivotal practices agile software development.
I gave a talk the other day at the Flatiron School here in NY, and had a great follow-up discussion over email with one of the students, including a number of questions about Pivotal. She and I decided to open source the discussion so everyone could see one Pivot’s thoughts on the que...
Welcome to Michael Hartl's Home on the Web! You found your way here—you might as well stay a while. I wear several different hats, and if you poke around this site you'll get to know about a few of them. These days I mainly work as an educator and entrepreneur. I'm the author and pres...
Here we have a simple method for calculating Fibonacci numbers that we trigger five times, each in a separate thread and when the program has finished we print out the total time it took to run. When we run this under JRuby it takes under a second to complete, but if we switch Ruby ve...
: Add "closed_on" issue field (storing time of last closing) & add it as a column and filter on the issue list.
Quer saber se este dia se aproxima? Observe o dinheiro. O dinheiro é o barômetro da virtude de uma sociedade. Quando há comércio não por consentimento, mas por compulsão – quando para produzir é necessário pedir permissão a homens que nada produzem – quando o dinheiro flui para aquele...
I recently ran into some code that forced me to integrate with a Java library. While using the library I found myself wanting to do a bit of interaction testing, which I've historically done with Mockito. As a result, I added the ability to do interaction based tests on mock Java obje...
A/B testing is probably not worth your time. When you start hooking metrics up to your product, the feedback is addictive. All of a sudden you’ve got lots of actionable data and you’re tacking validation goals onto feature stories. This is great, but I implore you to not take it too f...
I recently ran into some code that forced me to integrate with a Java library. While using the library I found myself wanting to do a bit of interaction testing, which I've historically done with Mockito. As a result, I added the ability to do interaction based tests on mock Java obje...
The Boldest Keynote of SXSW 2013 Etymological buggery has brought me to define “religion” as one’s most personal and rigid relationship with the universe. But rigid doesn’t mean static, so there’s an art to attacking religious beliefs – one that Peter Thiel put to good use in his 2013...
Validate password entropy with StrongPassword gem / easy browser tests with Page Object Pattern and SitePrism gem / RubyGems 2.0.3 released / Visualizing Memory Leaks / Tracking a Memory Leak blog post / Rails status bar via Glimpse gem
Revision r11648 (build 1295 started on 2013-03-19T04:41:34Z) Building in workspace /var/lib/jenkins/workspace/trunk/DATABASE_ADAPTER/mysql/RUBY_VER/ruby-1.8.7-p370 Updating file:///var/svn/redmine/trunk U Gemfile At revision 11648 [ruby-1.8.7-p370] $ /bin/sh -xe /tmp/hudson36995516585...
Building in workspace /var/lib/jenkins/workspace/trunk/DATABASE_ADAPTER/mysql/RUBY_VER/ruby-1.8.7-p370 Updating file:///var/svn/redmine/trunk U Gemfile At revision 11649 [ruby-1.8.7-p370] $ /bin/sh -xe /tmp/hudson9068624776882295441.sh + PATH=/var/lib/jenkins/ruby/ruby-1.8.7-p370/bin:...
Active Record scopes are an interesting thing to test. In projects I’ve worked on, I have seen many different patterns of testing, some much better than others. A little over two years ago I wrote the gem pg_search , which provides a sort of Domain-Specific Language (DSL) for creating...
I’ve been working with my client, Unpakt , for a while now. One of their core values is making people’s lives easier. They’re specifically focused on making it easy for people moving to a new home or office to find a mover, compare prices and book their move online. As a development t...
By default, if you simply run bundle install after running bundle package , Bundler will still connect to rubygems.org to check whether a platform-specific gem exists for any of the gems in vendor/cache . This behavior can be avoided by instead running bundle install --local . Note th...
Generating printable documents can be ridiculously hard, but it doesn't have to be. What we really need is not another special purpose application or kitchen-sink library, but a hackable platform instead. We are working hard on Prawn 1.0, which supports both high level APIs for the mo...