Showing posts with label development. Show all posts
Showing posts with label development. Show all posts

Thursday, March 11, 2010

Digg loves Cassandra

What's Wrong with MySQL?

Our primary motivation for moving away from MySQL is the increasing difficulty of building a high performance, write intensive, application on a data set that is growing quickly, with no end in sight. This growth has forced us into horizontal and vertical partitioning strategies that have eliminated most of the value of a relational database, while still incurring all the overhead.

Relational database technology can be a blunt instrument and we're motivated to find a tool that matches our specific needs closely. Our domain area, news, doesn't exact strict consistency requirements, so (according to Brewer's theorem) relaxing this allows gains in availability and partition tolerance (i.e. operations completing, even in degraded system states). We're confident that our engineers can implement application level consistency controls much more efficiently than MySQL does generically.

As our system grows, it's important for us to span multiple data centers for redundancy and network performance and to add capacity or replace failed nodes with no downtime. We plan to continue using commodity hardware, and to continue assuming that it will fail regularly. All of this is increasingly difficult with MySQL.

An interesting blog post from from Digg's VP of Engineering, briefly describing their need and chosen solution.

Nothing new for those who are interested in NoSQL space, because Digg was contributing a decent amount of development time with Cassandra and shared its experience with developers.

What's also a good thing, that Digg decided to open source everything that they do and will do with Cassandra, making it more solid product.

# Posted via web from opportunity__cost

Tuesday, February 23, 2010

Customer Validation by Ash Maurya

At the end of Customer Discovery you should have identified a customer problem worth solving and started building your solution (MVP). During Customer Validation, you’ll test your finished MVP by selling it to earlyvangelists and in the process start developing a repeatable and scalable sales process.

One more great post by Ash Maurya on Customer Validation. Give it a look.

# Posted via web from opportunity__cost

Saturday, December 26, 2009

The Cost of Customer Acquisition

...you can’t afford to ignore the cost of customer acquisition. The earlier you work on this the better, as many of the best techniques require you to build your product differently.

It is also important to ask yourself the question: can my business realistically expect to acquire customers for considerably less than the amount that I can monetize them?

Very nice insight into Customer Acquisition process.

If you don't understand this, do not start your business, until you understand every single word out of here.

# Posted via web from opportunity__cost

Tuesday, February 10, 2009

Dashboard widgets

I'm giving a quick look at the Mac OS X Dashboard widgets. I knew that they're pretty much HTML + CSS + JavaScript piece of code, with some features on the top, but never worked with them before.

However, even while the world goes into cloud, I like the dashboard widgets and found them to be pretty useful for many types of tasks. Anyway, until the computer is not the browser (it might be so, someday, though), there is a market for desktop software.

As it comes out, you can start doing them pretty easy by using Dashcode. It's still in beta, but gave me a pretty solid impression and made them process very clear for me.

Literally, it takes only few steps to produce sample widget. More then that, you can also test it right within the Dashcode environment. I was prepared for overriding the dashboard into debug mode and placing widgets on the desktop for further development, but using Dashcode makes it much easier. (I'm still going to place some widgets on the Desktop anyway.)

The only thing that Dashcode doesn't make very easy, is how to get the link to the actual widget package. I found it to reside within the project's folder, but it looks like this is something I could just click and get from the menu bar.

Now I'm going to keep the designers and developers busy with nice picture and functionality, so I can continue playing with the widget.