On Sep 25, I’ll take part in .NET Conf 2019, I’ll be talking about High performance servers with .NET Core, sharing some of the details about how we were able to improve the performance of RavenDB by a factor of 10.
I’ll be speaking at the Progressive.NET conference later this week. I’ll be speaking about the nastiest bugs that weren’t my fault. This is a very cathartic talk to give, because I get to go in depth into all the ways I tripped and fell.
This is based on a decade of running RavenDB in production and running into the strangest situations that you can think of.
On the menu:
- Linux and memory management
- Windows and the printer
- The mysterious crash on the ARM robot
- The GC that smacked me
And much more…
Hadi’s had an interesting Tweet:
I read the other day that some well known software that is free and OSS, has over 50M downloads a month. Imagine for a moment if you'd ask for $1 per download. Even if the number of downloads would be reduced by half, that would still make it a very sustainable project.— Hadi Hariri (@hhariri) August 27, 2019
This sounds reasonable on the surface, but it runs into hard issues with the vast differences between any amount of money vs. free. There have been quite a few studies on this. A good reading on the subject can be found here. Take a note of the Amazon experience. Shipping that is free increases sales. Shipping that is 0.2$ does not increase sales. Note that from a practical standpoint, there is no real difference between the prices, but it matters, quite a lot.
Leaving aside the psychology of free, there are also other issues. Let’s say that there is a tool that can save someone on my team 10 minutes a day, it is priced at 1$ / year. By any measure you care to name, that is more than worth it.
But the process of actually getting this purchased is likely to be more expensive than the actual cost of the tool. In my case, the process is “go talk to Oren”. In other environments, that may involve “talk to your boss, that will submit it to accounts payable, which will pay it in 60 days”.
And at that point, charging 1$ just doesn’t matter. You could charge 50$, and the “cost” for the person making the purchase would be pretty much the same. Note that this is for corporate environment, the situation is (slightly) different for sales directly to consumers, but not significantly so. Free stills trumps everything.
When talking about freemium models, you hear quotes that are bad. For example, Evernote had a < 2% conversion rate, and that is a wildly successful example. Dropbox has a rate of about 4%, and the average seems to be 1%. And that is for businesses who are focused on optimizing the freemium funnel. That takes a lot of time and effort, mind you.
I don’t think that there is a practical option for turning this around, and I say that as someone who would love it if that were at all possible.
You can watch the RavenDB Cloud webinar here:
Last week we hosted a webinar to show case some of the fun stuff in RavenDB. The recording is now available:
I started talking about this, and all of a sudden I got 45 minutes of pretty cool demo, even if I’m saying it myself.
In the video, I’m setting up RavenDB on a Raspberry PI, connect to it via the Python client API, connect it to the cloud and start working with widely distributed environment with bi-directional replication, ending up with using subscriptions to process data on the Raspberry PI that is coming from the cloud.
I would love your feedback on the video and the type of deployment that is outlined here.
I had a great time giving this talk, and I think it went really well.
You can watch the recording of the talk using the following link. I’ll also follow up tomorrow with more details about the printer that broke RavenDB, it seems to have hit a spot.
We are running another set of RavenDB workshops in London, Dallas and New York.
These are two days of deep dive into RavenDB. The workshop cover everything from how to talk to a RavenDB database to how to model your data, from how to setup a single node to building a geo-distributed cluster. It is also, at least in my opinion, a lot of fun.
Here are the details:
We’ll also be talking about some of the new features in 4.2 (and later) in the workshop.
The early bird pricing ends tomorrow.
"Select isn't broken" is an important bit of advice from the Pragmatic Programmer book. In most cases, you won't find bugs in your OS, programming languages or core libraries. It is almost always your code that is at fault. Except...
In this session, Oren will discuss how RavenDB has exposed numerous issues in the CoreCLR, the JIT and the underlying operating systems. Along the way, you'll learn deep debugging techniques and how to rule out your own code and pinpoint the actual underlying problem.