"Focus on the core things that do not change"Read more...
"Ohio State University is notifying about 760,000 people whose personal information was stored in the university’s computer server that a data breach could put them at risk for identity theft. The university, located in Columbus, began sending letters on Wednesday to current and former faculty and staff members, students and applicants, telling them that hackers had broken into the server that stored their names, Social Security numbers, dates of birth and addresses." ...continue reading
Initial sales figures for the iPad are in, and Apple says that by midnight on Saturday, April 3, it sold over 300,000 iPads. iPad users have also downloaded over 1 million apps and over 250,000 e-books during that same time period. The iPad sales include deliveries of preordered iPads, sales in Apple Stores, and deliveries to "channel partners," which include limited quantities sent to Best Buy stores and a few select authorized Apple resellers. It doesn't include any preorders for WiFi + 3G models, which are set to be released later this month. Along with a planned launch of the iPad in select countries internationally on April 24, there's likely to be other similar burst of sales. The frenzy on Saturday had Piper Jaffray analyst Gene Munster predicting sales as high as 700,000. Analysts expected Apple to have roughly 300,000 iPads built in time for launch, however, which suggests the first batch may be nearly sold out. We haven't heard any details of Apple Store being out of stock, though, and Apple doesn't have an iPad stock tracker like it has had in the past for iPhone launches. ...continue reading
Andrew Dupont and the the Prototype team have announced the first RC of Prototype 1.7 which changes the selector engine to Sizzle, a new event API, has new layout/dimensions API, and more. b.Element#on Element#on is a new way to access the Prototype event API. It provides first-class support for event delegation and simplifies event handler removal. ...continue reading
Lean software development has been inspired by lean manufacturing and specifically the work that Toyota pioneered in the field. It is then very surprising to find out that the software development arm of Toyota has been traditionally working with waterfall and is in it's infancy in lean software development. Henrik Kniberg reported on this on his blog describing a lean study tour he undertook last year. Henrik and the members of his group had the opportunity to visit Toyota and their head of software development: ...continue reading
Summary Chris Wanstrath discusses the state of GitHub's architecture, how GitHub is used and its impact on open source collaboration. "I am here with Chris Wanstrath of GitHub who has been having a lot of success lately an want to talk to you a little bit about that success and where GitHub is going and the interesting stuff about it. So, first of all, for readers that might not be exactly familiar with what GiHub does just give us the 50000 foot view" "We like to call it Social Coding because it's similar to the sites that have been around 10 years like SourceForge or Google Code even, where that's a place you go and you put up an open source project so you can share it with everyone else. GitHub is different, we think, because you are not just sharing it with random people who are googleing for whatever and then landing on your side incidentally. You are sharing it with your coworkers, you are sharing it with your friends, you are sharing it with people that you know either by reputation or because you've met them in person. And so GitHub is a lot more about the people behind the Open Source then just putting up Open Source code. So I think that's what makes it different and what makes it really fun for us and the people who are very into the site to use."... ...continue reading
Stop! I’d like to tell you something important, but it may be a bit shocking, so you should probably have a seat. Here goes: everything you knew about working with routes in Rails 2… is history! With Rails 3, you’ve got to roll up your sleeves, unlearn what you learned, and route the new way around. And this time, it’s faster, cleaner and a lot more Ruby-like. In this post, we’ll walk through the underpinnings of Routes in Rails 3. They’ve been rewritten—for good reason—and after we get through the explanation, I’m confident you’ll agree. Let’s start by looking at some code; here’s the new DSL, in its full glory: ...continue reading
"Both Digg and Reddit have announced their move to Cassandra this month because MySQL does not scale well enough for them. Some consider that MySQL + memcache is no longer the de facto scalability solution. "Digg announced their plans to move to Cassandra in September last year, a process that was completed this month. After looking at other projects - HBase, Hypertable, Tokyo Cabinet/Tyrant, Voldemort, and Dynomite -, the team settled with Cassandra because: " Each system has its own strengths and weaknesses, but Cassandra has a good blend of everything. It offers column-oriented data storage, so you have a bit more structure than plain key/value stores. It operates in a distributed, highly available, peer-to-peer cluster. While it’s currently lacking some core features, it gets us closer to where we want to be than the other solutions." "Digg has rebuilt the entire infrastructure moving away from the LAMP stack. The main culprit was MySQL because, as any other SQL database, it is optimized for reads and cannot handle writes properly:" ...continue reading
EventMachine is a simple(ish), fast, event-driven I/O library for Ruby. Its goal is to provide highly scalable I/O performance with an easy-to-use API wrapped around the nastiest parts of the process (since typical Ruby coding practices aren't particularly event-driven friendly). Aman Gupta has put together an awesome 114-page deck of slides (also available as a PDF) that walks through EventMachine with lots of practical code examples... ...continue reading
The social media company lays out what it likes about the open-source software and its advanced data model Digg, the San Francisco-based social media company, is dropping the popular MySQL database software and instead betting on Cassandra, another open-source database. It's the latest sign of the growing popularity of Cassandra, which was developed (and open sourced) by Facebook. Facebook has since backed off Cassandra, but Digg plans to open source all its work on Cassandra and champion the software's development and adoption. In a post on the Digg blog, John Quinn, Digg's vice-president of engineering, says: "Perhaps our most significant infrastructure change is abandoning MySQL in favor of a NoSQL alternative. To someone like me, who's been building systems almost exclusively on relational databases for almost 20 years, this feels like a bold move." Quinn says it's increasingly difficult to get the proper performance from a relational database. ...continue reading
CSSPool is a CSS parser. CSSPool provides a SAC interface for parsing CSS as well as a document oriented interface for parsing CSS. ...continue reading
"MongoDB a is a high-performance, open source, schema-free, document-oriented database written in C++. It's sort of a cross between scalable key/value stores and traditional functionality-rich relational databases." "MongoDB might be useful as a fast, simple, non-transactional data store for a web application, or as a caching mechanism. You don't ever need to worry about migrations due to Mongo's schema-less nature." "Getting started with MongoDB using Ruby is now fairly straightforward thanks to the Mongo Ruby driver. This provides access to the core Mongo database operations, and natively supports many Ruby objects without requiring conversion (including nested hashes). There's even an ActiveRecord connection adapter for Mongo." ...continue reading
"I have had a few requests for tips on getting started with MongoDB and Rails so I thought I would drop some quick knowledge. It is actually really easy to get going, but Rails always does everything for you so when something comes along that doesn’t, you sometimes feel lost."
rails mongomapper_demo cd mongomapper_demo"Now that your Rails shell is created, let’s add MongoMapper to the mix. Open up environment.rb. First, configure it as a gem, then remove ActiveRecord from the mix, and lastly, point it at a database." ...continue reading