As of 2016-02-26, there will be no more posts for this blog. s/blog/pba/
Showing posts with label April Fools Day. Show all posts

If you are nerdy enough, then you should be able to imagine how this cracked me up when I saw it from a list of HTTP status code. Remember 7XX status codes: Developer Errors, that is good one, too, right?

It was an April Fools' Joke in 1998 as RFC 2324 Hyper Text Coffee Pot Control Protocol. The definition of status code 418:

tiny tea!
tiny tea! by tseyg
(one of my Flickr contacts)
2.3.2 418 I'm a teapot

   Any attempt to brew coffee with a teapot should result in the error
   code "418 I'm a teapot". The resulting entity body MAY be short and

Decaf? Get outta here! ;)

2.2.3 Omitted Header Fields

   No options were given for decaffeinated coffee. What's the point?

And the header Accept-Additions is just awesome, pretty much cover all additions, even this protocol was written in 1998. Coffee hasn't changed a lot.

Accept-Additions = "Accept-Additions" ":"
                    #( addition-range [ accept-params ] )

 addition-type   = ( "*"
                   | milk-type
                   | syrup-type
                   | sweetener-type
                   | spice-type
                   | alcohol-type
                   ) *( ";" parameter )
 milk-type       = ( "Cream" | "Half-and-half" | "Whole-milk"
                   | "Part-Skim" | "Skim" | "Non-Dairy" )
 syrup-type      = ( "Vanilla" | "Almond" | "Raspberry"
                   | "Chocolate" )
 alcohol-type    = ( "Whisky" | "Rum" | "Kahlua" | "Aquavit" )

I really want to see a tea machine has built-in support of RFC 2324. However, that doesn't make much sense since this RFC is for coffee pot, so the protocol coffee: shouldn't be known by a tea machine, therefore no way it can respond with 418.

If the coffee pot is unable to brew or can't do certain type of coffee, maybe it can return 301/302 for redirecting user to Starbucks?

There was an incredible idea posted early this month in Linux kernel mailing list by Paul E. McKenney:

Although there have been numerous complaints about the complexity of
parallel programming (especially over the past 5-10 years), the plain
truth is that the incremental complexity of parallel programming over
that of sequential programming is not as large as is commonly believed.
Despite that you might have heard, the mind-numbing complexity of modern
computer systems is not due so much to there being multiple CPUs, but
rather to there being any CPUs at all.  In short, for the ultimate in
computer-system simplicity, the optimal choice is NR_CPUS=0.

This commit therefore limits kernel builds to zero CPUs.  This change
has the beneficial side effect of rendering all kernel bugs harmless.
Furthermore, this commit enables additional beneficial changes, for
example, the removal of those parts of the kernel that are not needed
when there are zero CPUs.

Who would have thought the solution is just that simple, zero CPUs. All problems will be gone as long as you have zero CPUs. No more unexpected bugs and developers wouldn't be stuck in complex of design. Zero is the one.

If you think that's ultimately optimal choice, then you are mistaken. Less than five hours later, Eric Dumazet brought up another concept which makes the entire kernel ascends to completely different and extraordinary level. No one has foreseen it until now:

Hmm... I believe you could go one step forward and allow negative values
as well. Antimatter was proven to exist after all.

Hint : nr_cpu_ids is an "int", not an "unsigned int"

Bonus: Existing bugs become "must have" features.

Of course there is no hurry and this can wait 365 days.

Using opposite to negate the disadvantages of having CPUs. As if matter-antimatter collides, which results the energy generated much more than by options we have today. We may have several orders of magnitude greater than currently most powerful CPU's processing capability.

Lucky for Linux user, this technology doesn't need to wait for long. Less than 365 days to go. Since then, our Linux box will be able to do almost everything in a split of a second, which needs an hour or so at the moment.

No doubt that the major OS developers will try to patent it. Someone with good heart has to prevent such thing from happening and allows everyone to use this new concept freely. This is the future of human beings, not just computing, we can not afford being ruined by corporations.