Signal vs. Noise

Search
  1. Search People
    1. Search People
    2. Search Page
    3. Search Comments
    4. Advanced Search

Latest Comments

Hi David,

I was thinking about that just yesterday at night and was planning to try differente approaches.

Thank you!!!

Reply | Original | Permalink | | Tweet

Marten, I wouldn’t use default_scope for this. Anchoring off the current account makes it explicit that there’s a security scope in place. I like better to follow the path of execution like this.

IMO , default scope should only be used for things like a natural order, like “updated_at DESC ”.

Also added a noscript block with just a link to the code example.

Reply | Original | Permalink | | Tweet

Just a wee blog usability heads-up. Browsing with JavaScript disabled (the way I roll) nothing at all shows up for this post – not even an indicator that something isn’t showing up.

You also might want to check your error message on a JavaScript disabled form submit.

I’ll be bookmarking the code though so thanks. This is definitely something I will need.

Reply | Original | Permalink | | Tweet
11 hours ago Morten on Making Highrise faster with memcached

@nathan – the cache [ array, here ] do syntax is Rails 2.2

Reply | Original | Permalink | | Tweet

Just a quick nit: 50ms to 100ms would count as 100% worse, but 100ms to 50ms is “only” a 50% improvement. You’d have to achieve 0ms to improve by 100%. :) (Your point is still absolutely valid of course. And to reiterate the comments of others, these kinds of posts are great, thanks!)

Reply | Original | Permalink | | Tweet

Hi David,

It appears as though you’ve overloaded ActionView::Helpers::CacheHelper#cache with your own implementation. Are there any gotchas to using ActionController::Caching::Fragments & configuring ActionController::Base.cache_store to use :mem_cache_store? Or alternatively, using Chris Wanstrath’s cache_fu?

Reply | Original | Permalink | | Tweet
11 hours ago francisco on Mr. Moore gets to punt on sharding

fair point here: http://jeremy.zawodny.com/blog/archives/010841.html

Reply | Original | Permalink | | Tweet

Sweet Thanks,

Can you make it a bit simpler next time? :o)

Reply | Original | Permalink | | Tweet
11 hours ago Marten Veldthuis on How to do Basecamp-style subdomains in Rails

The modern way for step 4 would probably be by using default_scope, right?

Reply | Original | Permalink | | Tweet

Thank you.

Reply | Original | Permalink | | Tweet

Hi, Justin here from Xero.We have launched our Global version (http://blog.xero.com/2008/12/were-global/) so please do check out our free online demo.‘AC’ – you can upload statements currently in OFX and QIF formats into Xero.Please contact me at justin.keen@xero.com if you have any further questions.

Reply | Original | Permalink | | Tweet
11 hours ago Anonymous Coward on PHOTO: Peculiar error from QuickBooks Pro. You can

Does Xero work with US banks?

Reply | Original | Permalink | | Tweet

The problems with RDBMS and sharding is that relational databases were never designed for it. By using sharding, replication, read load balancing – naturally you need to sacrifice some of the benefits and complexity of RDBMS .

Transactions – no way you can consistently use them in a sharded environment. Foreign keys between shards? No-go. Thus you also sacrifice enforced (and immediate) consistency that comes with a well-designed relational database. In the end you need to add extra layers (in app or db proxy?) that handle sharding, system becomes quite complex… Not to mention the scenario when an application was not designed for sharding – scaling such systems can be really painful.

Sure there are several ways you can shard your data to keep some (most) of benefits of RDBMS but I would still call this design “hacking”.

On the other hand systems like CouchDB becomes an interesting option. It it much simpler in implementation, less complex but very powerful. Come on – on very large, high-traffic systems the role of DBs is very often reduced to “keep the data” (i.e. less logic, less enforced consistency…), while more specialized tasks are moved to external resources (maps, filters etc.).

I dare say that high-volume and high-traffic projects would benefit much more from scalable solutions than from hacked, partitioned and clustered RDBMS . Compare Amazon’s SimpleDB (configure in minutes, scales to zillions, but still a bit poor query options and limits) to custom MySQL or PostgreSQL replicated / sharded cluster that takes a handful of engeners to set-up and maintain?

Many projects need “database” storage that is easy to configure and easy to scale.

Recently we have been also looking at CouchDB. This is not relational, not transactional, but a document-oriented database. I think the project is worth watching in 2009 and IMHO could become a huge success.

Reply | Original | Permalink | | Tweet

Hey David, Any thoughts or plans on implementing some sort of BigTable mini-system for your database capacity needs?

Reply | Original | Permalink | | Tweet

You know you’ve made it when Seth Godin is handing out advice in your blog comments. Seth Godin! Awesome.

Reply | Original | Permalink | | Tweet

You post great information and insight on development and user-centered-ness. I’m guessing your audience are people who recognize that they are developers. I propose you create a presentation for business users who don’t think of themselves as developers but who actually are. I work for a consultancy, and when we are preparing an ACL script-based tool to perform a specific analysis, it is sold as an ‘analysis’ but it is as involved as a small- to medium-sized software project, requires code writing and documentation, and even a manual (usually) of sorts, even if it just lumped in with ‘the deliverable’. Some of us try to apply lessons you and those like you teach – tell us how you would convince a non-technical senior management or c-level decision maker to invest in techniques and time spent doing the job right.

Reply | Original | Permalink | | Tweet
11 hours ago RS on iPhoto '09 and Domain Language

Great points Karen. There is something special happening when the domain language also fits our natural language and expectations.

Reply | Original | Permalink | | Tweet

We have a prototype of Parallel ALTER TABLE workingin our labs. We demonstrated it at the last developersmeeting in MySQL where for MyISAM, archive and HEAP we were able to use 16 cores fully utilized to ALTER a10 million row table in 2.5 seconds. In many cases thestorage engine limits the scalability.

However when we introduce such a feature it will befairly straightforward to pinpoint how to fix thisparticular scalability issue.

This feature mainly works when there are partitionedtables involved, for non-partitioned tables we cansplit into a read thread and a write thread. To domore than that would require changing the handler API to accomodate for multithreaded changes.

It’s very likely that we’ll look at how we can do a similarparallelisation of other variants of ALTER TABLE , LOAD DATA and various other load functionalities.

Reply | Original | Permalink | | Tweet

I second the Xero call… Although I need to wait a couple of months till their multi currency is released…

Reply | Original | Permalink | | Tweet

@Steve

Try AccountEdge once and you’ll be begging for Quickbooks. It’s almost as if the app designers took every basic time-honored UI concept and threw them out the window. Cmd/Cntrl – A to select all in a field? Nope – not here bub. Click a dropdown to view a selection of reports, and a “helpful” tool tip completely obscures the contents of the dropdown. And it also throws ridiculous dialogs instead of just scrubbing data.

Reply | Original | Permalink | | Tweet

Fred, maybe Jeremy was joking?

Reply | Original | Permalink | | Tweet

A lot of things scale non-linearly inside of MySQL. I don’t have any experience running MySQL on 512GB of memory.

Reply | Original | Permalink | | Tweet

The quarterback stats are interesting, particularly if you read The Blind Side by Michael Lewis. Dan Marino is singled out very convincingly in Lewis’s discussion of how the left tackle transformed the game, even as most observers gave “star quarterbacks” like Marino all the credit.

Not sure how this is relevant to the “leap before you look” point, but I find it fascinating nonetheless, and The Blind Side is definitely worth a read!

Reply | Original | Permalink | | Tweet
11 hours ago DavidK on Leap before you look?

Re: IQs of quarterbacks. This caught my eye because it reminded me of something I was talking about with a friend after watching a lot of sports recently (Olympics, then football, then basketball): despite the (perhaps true) notion that some athletes have low IQs, elite athletes of all kinds by necessity are students of their game/sport.

You simply can’t be at the top of your game (choose your hall of fame QB) and not have a vast knowledge of the game its tactical and strategic histories, your opponents, how they play, what they do in particular situations, etc. You may call it ‘gut,’ but it’s also a matter of internalizing hundreds of hours of game play, even more game tape study and practice.

I don’t know how relevant IQ is to football (or anything, for that matter), but I can’t recall ever seeing an elite athlete interviewed about his profession and thinking “this guy is dumb.”

Reply | Original | Permalink | | Tweet

For spontaneity and creativity - e.g. brainstorming, creative writing, improv, quarterbacking? etc. - leap before you look is the way to go. Being cautious in these situations is too stifling.

However, for high-risk activities - e.g. flying planes, leaping out of them, peforming surgery, defending a client in court, etc. - I would recommend looking first.

Viva situational dependence!

Reply | Original | Permalink | | Tweet
Name
Signal vs. Noise
Website
www.37signals.com/svn

Top Contributors

Feeds