Edward HieattEdward Hieatt
CIMonitor (née Pulse)
edit Posted by Edward Hieatt on Tuesday May 04, 2010 at 05:37PM

Because of a conflict with another similar application, we've renamed our CI Monitor application (which I blogged about here) to, appropriately enough, "CIMonitor".

The GitHub project is here: http://github.com/pivotal/cimonitor

CI for the project is here: http://ci.pivotallabs.com:3333/builds/CiMonitor

The Tracker project hasn't moved, but has been renamed: http://www.pivotaltracker.com/projects/2872

Rob OlsonRob Olson
Standup 04/04/2010: Risks of not using a Primary Key
edit Posted by Rob Olson on Tuesday May 04, 2010 at 10:19AM

Happy Star Wars Day!

Ask for Help

"While Apache is serving a large static file it becomes slow to serve other requests. We think this may be an Apache configuration issue. Any suggestions?"

Interesting Things

Enable-pthreads Headache
In Ruby 1.8 the --enable-pthreads build option will dramatically slow down your program, as documented here and here. Do not enable it unless you need it, which is unlikely.

Don't need a primary key? Think again
You might think that you can get away with not having a primary key on a table and just rely on a database index for lookups. This is very dangerous because MySQL will no longer be able to store the records on disk sorted by primary key. Not having this ordering becomes an issue if you want to operate on the records in batches. For instance, normally you ask for all the records having an id between 0 and 1000. Because they are stored by primary key these 1000 records will be in a group on the disk and the lookup will be quick. When doing the same thing with an index instead of a primary key, and a primary key does not exist, the records will be in scattered locations on the disk and the hard drive will have to do many seeks to access them all. The time to do query will be orders of magnitude greater.

Will ReadWill Read
Write Once, Run Anywhere
edit Posted by Will Read on Monday May 03, 2010 at 12:59AM

In response to some recent web browser related debates:
http://sachin.posterous.com/the-web-sucks
http://techcrunch.com/2010/04/30/joe-hewitt-web-development/
http://yehudakatz.com/2010/04/30/the-web-doesnt-suck-browsers-are-innovating/

The web has long since tried to help developers realize the [perhaps misguided] promise that you can write software once and run it anywhere without modification. This might have even seemed feasible when the only real consumer web-enabled device was a desktop or laptop PC with a fairly standard monitor resolution, keyboard, mouse - predictable. You could even bank on IE probably being the browser of choice at one point, like Netscape before it.

Adam MilliganAdam Milligan
BDD-style testing using Objective-C
edit Posted by Adam Milligan on Sunday May 02, 2010 at 10:03PM

As we've grown our mobile practice at Pivotal we've tried to apply to it the same principles and disciplines that have made our Rails practice successful. Often the one that we have the most difficulty translating is testing. In my experience the testing tools for Objective-C in particular are significantly wanting; there are some out there, but they're hard to find, often hard to use, and occasionally defective in frustrating ways.

One of the things I found I miss most in testing Objective-C, Java, or C++, is the hierarchical structure for organizing tests that frameworks like RSpec or Jasmine provide. I find nested describes indispensable for managing orthogonal aspects of the classes under test, for handling preconditions, for eliminating redundant setup code, and for generally keeping my sanity. So, when I first heard about the addition of blocks in the GCC compiler for Objective-C the first application that came to mind was testing.

So, I wrote Cedar, a BDD-style framework for writing tests in Objective-C. The code is available here. Perhaps more importantly, Cedar is in its infancy so I'm interested in any suggestions and feedback. To that end, I created a public Tracker project for it here.

Other articles: