2,337 karma · joined June 15, 2010
In 1994 we added crunchgen(1) to FreeBSD which does the exact same thing for use on install and "Fixit" floppies.
I wrote the first prototype as a mess of shell-commands, and James da Silva from Maryland Uni turned that into a really neat tool, which to this day creates the "magic rescue binary" on FreeBSD systems:
critter phk> ls -li /rescue/* | head
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/[
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/bectl
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/bsdlabel
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/bunzip2
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/bzcat
2086658 -r-xr-xr-x 146 root wheel 12245968 Dec 6 12:34 /rescue/bzip2
[...]There wouldn't have been a lot of cars in London with that particular three-leter code which increases the chance of recognition a lot.
It was more complex than most people realize and it was unclear for some time where it left the open source BSDs: Were we covered or not ?
One way or the other, we got sent back to "Start" (Do not collect...), and had to spend a number of months to get from Net/2 (once it were ready) to a working system.
And it didn't really help either that the 386BSD people felt we stole their thunder, that caused some low-level frictioon and copyright uncertainties.
But I think the biggest reason FreeBSD "did not become Linux" is that we didn't want it to.
We were all UNIX veterans, we wanted something stable, reliable and fast - hence the tagline "FreeBSD - The power to serve"
Linux back then, less so now, was a paradise for hackers and experimenters, people wrote 60% of a device driver for all sorts of crappy hardware and had endless fun with it.
I used a car comparison a lot in those days: Linux is an open GTI, FreeBSD is a 18-wheeler truck. The GTI is no good for haulin' - the truck is no fun for cruzin'
Amongst other differences, that gave Linux a much bigger mindshare in universities and dorm rooms, but then, as now, people get to a certain age and just want things to work.
There are difference between "running Varnish on your website", "running Varnish for your web-hotel customers" and "running Varnish for some of the biggest web-properties in the world" and software and organizations always mirror each other.
For instance Fastly does not run Varnish on Solaris, FreeBSD, NetBSD or ..., they run it on whatever version on Linux they decided on, and what ever brand and model of boxes they find optimal, and therefore they their own code and changes do not need to be portable and can be tuned with laser-like precision to their hardware and kernel they use.
Even if they threw their codebase up on github, I doubt very many organizations could or would use it, because it is chock full with interfaces to Fastlys business systems, encapsulates their network strategy, and God knows what. (Remember when Y! threw Inktomi over the fence ? Not terribly useful if you were not Y!, it took years to generalize it.)
And you will find the same situation, no matter which other major FOSS based organization you look at, Amazon, NetFlix, the pink-bit-pushers, FaceBook, Twitter, Google ...
You simply don't run a huge company on vanilla software, if nothing else because your geeks can not resist the temptation to improve and optimize it to ease their own jobs.
And just to stake the "Fastly vs. Varnish project" thing through the heart at the cross-roads: Fastly is a major sponsor of the Varnish Cache Project.
The situation happens when an object which should be cached gets hit with a request which causes 'pass' (typically because of headers tested in builtin.vcl) and then VCL (by accident) setting the long TTL for caching on the "hit-for-pass" object.
It's an ugly corner case which we have struggled a lot with finding a solution for, which doesn't have worse side-effects than the problem we are trying to fix.
I think it is mostly a solved problem from Varnish 5.
And engaging in a debate about irelevant technical details applicability in Varnish, with a person who clearly has never actually run Varnish ?
I have better things to do on a saturday.
There is a difference between "being ignorant" and "ignoring".
I don't think there is much in modern HiPerf computing I'm ignorant of (hint: Guess who's writing one of the most intense HiPerf scientific code right now), but there sure is a lot of it I'm deliberately ignoring with respect to Varnish.
TLB flushing, instruction caching ? When your CPU is 50+% idle most of the time, that's not really what (should) worry about.
And the "downright difficult job of an OS scheduler" isn't really that hard when all threads a waiting for I/O, wake up for a few microseconds, then go back to waiting for I/O again.
And so on, and so forth...
Again: Your total lack of actual experience running Varnish shows.
You should try it some day, you might actually find it useful :-)
My personal preference is 'hitch' because I want as few lines of code involved with the certificates as possible.
For important sites, I recommend running two different SSL implementations, so that you are not dead in the water when a bad CVE in one of them comes around.
Take for instance "but you're still going to be dropping performance on the floor vs other I/O models as you get into the 1000s of connections"
Notice how it was written in passive voice, without any references to personal or 3rd party experience, and with nebulous hand-wavy numbers which can literally mean anything ?
Well, he had to write it that way because he could not find any hard evidence to back it up anywhere, could he ?
Here's some "reasonably sounding" information for you: builtwith.com reports that one eighth of the 10k largest web properties run Varnish.
They would hardly do that, if performance "dropped on the floor" with "1000s of connections", would they ?
You know what an actual Varnish users commented about performance after deploying Varnish on one of the worlds largest news sites?
He made jokes about the servers being so bored that they were making grilled cheese sandwiches.
No that comment is classical trolling: Technically sounding bla-bla, based on random google results, but totally removed from the legitimate and relevant critiques actual Varnish users bring.
Contrary to the trollish claims below, Varnish works quite nicely, and is involved in around one fifth of all HTTP traffic globally.
My major source of income is my "Varnish Moral License" (see: http://phk.freebsd.dk/VML/index.html)
It is not particularly easy to shake money loose, but I'm making a living and I'm trying to explain to the world that free software is not the same as gratis software.
(See for instance: http://queue.acm.org/detail.cfm?id=2636165)
As others have pointed out, the browsers are all backed by actual organizations with employees, so that will probably be a tough row to hoe, unless the end goal is to get employed by one of them.
http://queue.acm.org/detail.cfm?id=2904894
What have we gained in security, if TLS1.3 is basically illegal to use for banks ?
Who wins if browsers refuses to connect to web-banking which operates inside the boundaries of the law ?
Don't let them buy you beer.
Insist on tasting their homebrew instead.
I have heard from (other parts of) BBC that Varnish saved a fair amount of bacon for them during the London Olympics, obviously in different workloads.
And nobody would be more surprised than me, if Varnish was a micacle-cure for every single website in the world...
From a purely operational point of view, you are better of with two different SSL proxies in front if your Varnish (or other webserver), so that you can turn OpenSSL off in even-numbered weeks and the other (pick your poison) in odd-numbered weeks.
The code to hold safely onto your certificate and do all the songs and dances involved in SSL/TLS, is under all circumstances something which should be isolated in as small a process/protection domain as possible.
The Varnish Cache FOSS project and Varnish Software the company are two entirely different things.
By and large, the Varnish Cache FOSS project is me, and I am not employed by Varnish Software: I have my own one-man company where I "make computers to do weird things".
The time I spend on Varnish Cache is funded by "The Varnish Moral License":
http://phk.freebsd.dk/VML/index.html
(See also: http://queue.acm.org/detail.cfm?id=2636165)
Varnish Software is one of the handful of companies who pay via the VML to keep me working on Varnish.
Varnish Software has also supported the project in many other ways as well, from running the project server to donating manpower and source code.
Some of these things are being scaled down, for instance the project server had become the square peg in their round internal IT systems, so I have been migrating that off to a server kindly sponsored by RootBSD.
The reason why the tech sector does not engage in politics, is that people feel they are above politics and "don't want to get dirty".
Further more, they're sure the laws doesn't matter on the Internet anyway, right ?
France
UK
USA
Russia
If the state cannot break your encryption, they will break you instead.
Never build more formidable weapons or defenses than you are willing to lay your life down for.
That is the only way human rights have ever been won, and privacy in electronic communication is very much a human right.
(Yes, I'm the author of that piece)