Saturday, January 8, 2011
Comic 844: Things Which Must Flow
[ALT: "You can either hang out in the Android Loop or the HURD loop."]
I should start by pointing out that I did not follow the helpful step-by-step guide that Randall constructed to aid in the reading of flowcharts--most notably, I did not go drink, nor did I install BSD. This may have had an effect on my understanding of the latest comic.
When last we left our intrepid Megan-stalker, he was laid up with convulsions after having had to interact with "wrong people." Still weak from the fit, he was unable to exert the usual, grueling effort that he puts into his comics. Fortunately, for just such an occasion, Randy keeps a secret weapon up his sleeve--the chart comic! And of all charts, there is no chart better than the flowchart (where by "better" I mean "easier," and Randy definitely needed some rest).
So it was only a simple matter of finding a subject for his flowchart. As a programming enthusiast--he likes programming so much he has hired a programmer to handle the code-related aspects of "Randall Munroe's Comic About Nerdy Things Such As Programming"--the decision was easy. But how, he found himself asking, could you transfer something so mysterious and godly into an amusing flowchart? The question contained its own answer: by marveling at the mystery of someone producing good code.
He started with the common truism: "good, cheap, fast, pick two." As Randall's comic is one for lesser programming enthusiasts--ones who are not enthusiastic enough to hire their own programmers--he chose, wisely, to remove "cheap" from this selection. And, since the question was how to produce good code, he would have to change "good" to "right." As every programming enthusiast knows, it is an easy choice to make when you begin a project--do I wish to do this the Correct Way, as approved in the Book Of Correct Solutions To Programming Problems, or do I wish to shave time off it?
He carried on like this for some time, ultimately generating a loop which indicates that completing a project is impossible (without, the implied message seems to suggest, hiring your own programmer to do it like a true programming enthusiast should)--really he has no idea how to make good code! And therein lies the joke, of course. Good code is a mystical creature that no mortal can attain. Such raw perfection--it is to the true programming enthusiast what faster than light travel is to the astrophysics enthusiast. A beautiful dream, something that makes for good stories, but far beyond the realm of possibility.
The difference, of course, is that, while wormhole drives are the stuff of science fiction, programmers are real. Randall has even met one once. And that has given him much joy in these dark times.
EDIT: Also! Mysterious commenter "Intro to Jhum" has created a blog where he does XKCD/Dinosaur Comics mashups, and I like it. It is here.
Subscribe to:
Post Comments (Atom)
The summary is that Randall sucks at programming.
ReplyDeleteThis isn't much of a review, but this isn't much of a comic.
ReplyDeleteIt works out.
The summary is that Randall sucks at programming.
ReplyDeleteAnd, Randall being Randall, he's unable to comprehend that even though he sucks at some things, it doesn't mean that everyone does. In other words, he thinks good code is impossible to write just because he can't write it.
What a tool.
Captcha: Phili. Here's hoping the Packers beat Phili tomorrow.
The worst part about all of this? I think I kind of like the linked 518. The FreeBSD joke is kind of forced and awkward, and the alt text is pretty unnecessary as well. But ignoring that the rest of it actually managed to get a few chuckles out of me.
ReplyDeleteIf it weren't for the fact that 844 is just plain terrible, I don't know if I'd be able to handle this defiling of my reality.
yeah, I remember liking the left half of 518. the BSD joke killed it for me, but it had such potential
ReplyDeleteHere is the dc mashup for 844 if you missed it (I also updated the text):
ReplyDeletexkcdinosarcomics:"Good Code"
haha, I think my comment and your edit appeared at the same time. thanks rob!
ReplyDeletethe comment preceded it slightly, because that is what prompted the link.
ReplyDeletehttp://en.wikipedia.org/wiki/Webcomic#Business
ReplyDeleteechhh, why the hell is xkcd used as the example there.
I have a small request Rob. Is there any chance you can also include the title of the Comics somewhere in the post, like you include the alt text? The reason I ask, is that I don't go to xkcd.com anymore at all, and sometimes the title is so terrible as to be a spoiler to the punchline (if the comic is fortunate to have one), so it would be good to have it for reference sake.
ReplyDeleteWhy don't you go to xkcd.com if yo still read the comics???
ReplyDeleteDo you want to punish Randall Munroe for making shitty comics? Maybe if the traffic goes down, he will stop.
BUT THEN THIS BLOG WITH DISAPPEAR!!
And with it, the millions of advertising dollars that help Carl pay for his aesthetic surgery and Rob pay for his junk food.
You could look at it that way if you like, sure, it wouldn't be terribly inaccurate.
ReplyDeleteBut in the end what it boils down to, is that a trip to xkcd.com does not entertain me, and was usually a wasted trip. A trip here on the contrary usually entertains me, and so I keep coming back. I don't come here for the comic, I come here for the writing and the follow up banter. The comic just happens to be what that banter somewhat built on. Every once in a while I find myself reading a comment that mentions the title of the comic, but since I don't know what that title is, I have to go to xkcd.com to find out. It just would be convenient if I didn't have to check xkcd.com is all.
i will try to remember that
ReplyDeletenext time
Cool, sounds good.
ReplyDeleteRob from XKCD Sucks = Rob from Cyanide & Happiness? I ask only because both hate everything and both are depressing.
ReplyDeletePlus it stretches the imagination that there's enough room for two Robs in the world.
ROB HOW COULD YOU R. TOTALLY DISAGREES WITH YOU 518 HAD NO POTENTIAL BECAUSE IT WAS A FLOW CHART COMIC
ReplyDeleteNOW IS NOT THE TIME TO BE MAKING ENEMIES WITH YOUR ALLIES
OMG, I too suck at programming.
ReplyDeleteRandall, get out of my head!
@Rochambeau
ReplyDeleteIf xkcd finally ends Carl will shed his hideous deformities, and Rob will deflate down to normal proportions.
"Rob from XKCD Sucks = Rob from Cyanide & Happiness? I ask only because both hate everything and both are depressing."
ReplyDeleteno but I think I will take that as a compliment, maybe
This is such a lame comic, there's really nothing to bash that isn't self-evident.
ReplyDeleteBut then what are we going to hate on.
QUICKLY, FLAME WAR. HILTER WAS AWESOME. DISCUSS.
Hitler: actually from ancient Space Egypt? Tonight, on the History Channel.
ReplyDeleteAnon 6:44, don't forget how he'll come back in 2012 as told by Nostradamus!
ReplyDeleteNostradamus: The Mayans' Greatest Prophet???
ReplyDeleteNostradamus: a kind of delicious biscuit?
ReplyDeleteIt's a coaster.
ReplyDeleteMost recent comic's alt text implies that he only follows the soldier onto the battlefield on Saturday and Sunday. Would that make him a Weekend Warrior?
ReplyDeleteFixed 845 for Randall.
ReplyDeleteFun fact: Used original letters, except for Z/K/F [[which look wonky as a result]].
Captcha: conallis. Don't google-image that, trust me.
The alt-text was terrible, but the comic itself made me laugh. Randall had a long terrible streak, but now he's settled into a depressing mediocrity.
ReplyDeleteTerrible? No, the alt-text was terrifying. Just picture some geek looking you straight in the eye, saying that with 100% sincerity.
ReplyDeleteI have a brother in Afghanistan who I wish I could be with! GOOMHR!
ReplyDeleteFortunately, my faith in humanity allows me to believe that the alt-text was facetious.
ReplyDeleteAs to the comic, I will say that Raven's edit was far superior and leave it at that.
[Rewrite]: Clowns are supposed to be funny, but they aren't. Just because Randall meant to sound facetious doesn't mean it was delivered that way.
ReplyDeleteI really don't get the joke here... Is it just that it's so stupid it's supposed to be funny? Because, as I understood it, that's what xkcd WASN'T about.
ReplyDeletei don't know if it's because i haven't had any sleep but i found the comic was funny and i laughed at the alt-text
ReplyDeletealso raven's edit
I didn't find the comic itself that funny but the alt text nudged it over to 'hilarious' for me.
ReplyDeleteAbout 845: HOW THE FUCK IS THAT SUPPOSED TO BE FUNNY?
ReplyDeleteIs it even supposed to be funny? Or has Big R. given up trying to be funny?
I quote the guys from "Explain XKCD": Fuck this I'm done.
What I'm most bothered by is how the bloggers at xkcd sucks seem to be the ones obsessed with Megan rather than Randall like they keep claiming. Why else would they mention her in every... single... review?
ReplyDeleteI used to enjoy this site, but when it moved from "criticize comic" to "insult Randall & his personal life", it lost its purpose. This also seemed to happen around the time that the original author left. It never used to be this mean spirited.
Very disappointed.
@anon 4:46
ReplyDeleteThis concern has been raised before and a few things are at play here:
-Randy makes the SAME MISTAKES EVERY SINGLE TIME. Most of the reviews by Carl, near the end, kept saying the same things. The reviews grew stale and people started to grow restless.
-Most of the action happens in the comments section.
-Rob is a micro-fiction writer.
-Rob understands the reviews are largely just there to semi-organize comment threads.
So Rob gets to write some micro-fiction (which is delving deep into the Megan obsessed creature we call "Randall") and roughly organize comment threads at the same time. The reviews really are secondary at this point as everything that can be said about XKCD has been said as Randall refuses to evolve and improve his technique (both artistically and comedically).
I'm not gonna lie, I chuckled a little at 845. I have never been more disappointed in myself.
ReplyDeleteBut then again, maybe by enjoying a few of the comics, I can better realize how much crap the rest are.
"Good code is a mystical creature that no mortal can attain."
ReplyDeleteThat's... actually sort of true though. Any programmer should be able to look at supposedly good code s/he did a year ago and realize what's not good about it.
Part of this is that you can always improve, and the other part is that what 'good' coding is will change often.
Randy, I'm pretty sure you've never been to war zone. Don't lie and say that its your hobby.
ReplyDeleteNever mind, I take back what I said earlier. The alt text ruined it.
ReplyDeleteI stared at 845 because I didn't immediately get it, but when I did I had a good laugh. I thought it was legitimately very very good.
ReplyDelete@Matt
ReplyDeleteChallenge accepted. I'm gonna write some code right now that cannot be objectively improved.
#include
using namespace std;
int main(){
while (true){
cout << "You suck." << endl;
}
return 0;
}
Crap. It removed my angle brackets. Imagine iostream is included. Also imagine you're surrounded by dead rabbits.
ReplyDeleteI agree that just normal reviews of the comics would be boring. However, I think as long as Rob hits the major problems and good aspects of the comic, it's fine. Anything else from there is fair game-even Megan jokes (which I don't like, but that's besides the point).
ReplyDelete@cptnoremac
ReplyDeleteBecause I feel like pushing the issue, I'd say you should just use std::cout, saving you a line because you don't need the namespace thing anymore.
That counts as an objective improvement, right? Doing the same with less while retaining readability?
I agree. I'll leave it to someone else to take up the challenge, then.
ReplyDeleteBASIC:
ReplyDelete10 PRINT "Go stick a pineapple up your ass sideways"
Also I am surrounded by dead rabbits as it happens
ReplyDelete@cptnoremac
ReplyDeleteI would call 'not using iostream' an objective improvement.
@Gamer
ReplyDeleteYou leave that C bullshit out of this!
captcha: mullizes. Yiddish for the chicken pox. "I've got these mullizes developing all over my face."
The new comic 845 is such utter garbage.
ReplyDeleteUTTER GARBAGE
ROB!
Right this by writing an amusing review about it. I am owed this.
An objective improvement would have been to write it in LISP.
ReplyDelete<flamewar>
...
LISP is good for domain-specific solutions, but it doesn't adequately address the issue of multiple inheritance out of the box.
ReplyDeleteEh, you don't really need multiple inheritance to print out a creative variation of "Go hump a landmine," though.
ReplyDelete@anon 4:46
ReplyDeleteCriticism can only remain interesting for so long when the author of the subject matter never learns, never changes, never even manages to make NEW mistakes. If you go back through the history, you will see that Carl probably could have copy pasted some of those posts and just replaced comic names and they still would have been valid. If you want criticism of the latest comics, I assure you, it's all in there, somewhere.
ann i saw wat u did ther
ReplyDeleteMaybe good code doesn't exist, but "the best code" certainly exists. There are only a finite number of programs of at most a certain length, and one can argue that some small program must do "hello world" better than any program with more than a million lines.
ReplyDeleteBut yeah, hoo boy, did 845 suck CAMEL TURDS. It expresses the complete lack of perspective as regards war that can be expected from Randy, a semi-autistic white boy who considers going outside to be an extreme sport.
ReplyDeleteI'm as anti-war as one can reasonably be, but that shit is INTENSE. Randy comes off as an asshat whose sole perception of war is as an electoral argument.
@Captain Obvious
ReplyDeleteIt is neither certain nor likely that "the best code" exists for most problems, because there are various measures of best, and some of those measures vary per target machine.
The code that produces the smallest binary, the code that uses the least RAM, the code that uses the fewest cycles, the code that runs on the most platforms, the code that's the most forward-compatible to likely future platforms, the most readable code, the most maintainable code, the most enlightening code (as in one where reading it teaches the reader something), the most localizable code.
The infinite "You suck." loop only works on people who can read colloquial English and who use a console frequently. The second thing I thought was to get it off the console into some GUI, but then, that's less platform independent. The third thing I thought was to give it a localizable string. The first thing I thought was ye gods, what horrible indentation and bracing style; but I doubt I'll change your mind on that.
The FOURTH thing I thought was this is stupid, let's stop thinking things and type up a response. Then a fifth thing happened, in defiance of the fourth, which was to get rid of "using namespace" but somebody already said that. Then I typed this and then it's now.
As for today's I did like Ravenzomg's edit better, but I'm a little surprised that it's against "the rules" to set jokes in a warzone, yet that's the only way I can seem to interpret the "complete lack of perspective as regards war" comment.
On the contrary, the existence of code that cannot be improved is a mathematical necessity, on the mild assumptions that
ReplyDelete(i) if A is an improvement of B and B is an improvement of C, then A is also an improvement of C;
(ii) it is not possible for A to be an improvement of B and also B an improvement of A;
(iii) the code must fit inside the known universe.
If your criterion for improvement includes fuzzy, "it makes me feel good inside" nonmathematical crap like enlightenment, then you may end up in the unhelpful situation that no code is improvable, because someone might be enlightened by 50 pages of printf("SUCK ME").
Still there exists code that cannot be improved.
As for "the rules", they are the same as in any piece of comedy: you can go as far as the laughs will take you. Monty Python's Meaning of Life gets away with war jokes because they're funny. At the other extreme, "soldiers are stupid" is not a joke, it's simply offensive.
Randy definitely lands on the near side.
why are you nerds arguing about whether it's possible to improve code?
ReplyDeleteWHAT, LISP COMES IN A BOX??
ReplyDeleteTo prove that it's possible to have this argument?
ReplyDeleteyou'd make randy proud, is all i'm saying
ReplyDeleteRob their argument is a roundabout way of calling Randall a dumb. Surely you approve?
ReplyDeletethe goatkcd for 844 is pretty awesome
ReplyDeleteI'm not gonna lie, I only read this blog because I love pulling myself off to Randall-stalking-Megan fantasies.
ReplyDelete845: at least there weren't floating heads. That would be in bad taste.
ReplyDelete@Captain Obvious:
Point (ii) is probably not universally true. Consider two optional improvements that are mutually exclusive. As someone else pointed out, "goodness" of code is not one-dimensional.
@Arthur:
It's not C, it's C++. And I'd agree with Anon@1:24 about not using iostream.
does anybody want to see a deluded middle school cuddlefish crying because a link to xkcd was removed from wikipedia??
ReplyDeletehttp://en.wikipedia.org/wiki/Talk:Centrifugal_force_(rotating_reference_frame)#I_removed_the_link_again_per_wp:ELBURDEN
amusing. keep an eye on the aptly named Incompetence who is about to explode. i would encourage you all to leave nasty messages on his talk page. let's burst a cuddlefish!
http://en.wikipedia.org/wiki/User_talk:Incompetence
all i want to say, is today ryan north tweeted xkcdinosaur.blogspot.com.
ReplyDeletehell yea
@Michael, a partially ordered set doesn't have to be one-dimensional for it to have maximal (unimprovable) elements. Finiteness suffices.
ReplyDeleteAlso I'm not sure how "two mutually exclusive improvements" relates to point (ii). It would relate to trichotomy, which is not one of my hypotheses.
ReplyDeleteputs "fuck off every single one of you"
ReplyDeletethe only way you can improve it is by fucking off
ReplyDeleteThe lack of indention wasn't my fault. This thing won't let me use the ul HTML tag.
ReplyDeleteOh my god shut up no one cares about computers
ReplyDelete"It was already established that this is not just a funny comic (as a comic it sucks, in my opinion), but a valuable addition to the article."
ReplyDeleteI'm all, =\, because he acknowledges that it sucks, but still claims that it is "a valuable addition to the article." =\=\=\=\ Overwhelming sense of =\
Captcha: Beriest. Berier than all the others.
the reviews for Ryan North's new dino comic book feature a blurb on the back cover from our favorite awkward sycophant... none other than xkcd's Randall Monroe!!!
ReplyDeletehttp://www.topatoco.com/merchant.mvc?Screen=PROD&Store_Code=TO&Product_Code=QW-CHICKENS-BOOK&Category_Code=QW
It amazes me how he manages to be awkward/creepy/needy/when-will-megan-come-back all in one short little sentence.
Let me add to this confusion/discussion by postulating that there is no non-trivial piece of code that cannot be improved.
ReplyDeleteAnd additionally I would assert that both goodness and triviality of code are subjective, making it impossible to prove me wrong. ;)
@Sven
ReplyDeleteEven with subjectivity, if you can compare two pieces of code and determine one to be better, logically there would be a 'perfect' solution to any stated problem. Although, chances are, you'd probably end up with having to choose between something with perfect execution time / minimum cycle use, something with minimum binary size and something with minimal memory consumption.
This doesn't matter given the triviality of the code, even if it is prohibitively expensive to produce a perfect solution to a nontrivial problem. Doesn't mean it can't theoretically be done, though.
Again, the set of possible codes (which fit in the known universe) may not be totally ordered, but it is certainly partially ordered. Hence it has maximal elements (not necessarily greatest). In other words, there is code that cannot be improved, although there may be different pieces of code which cannot be improved and are thus incomparable.
ReplyDeleteIt all comes down to the criterion you choose for comparison. If we go with one of Ens's faggy gay homosexual criteria, we could say that all code is equally valid, as long as it makes someone happy, even if it is only Eric Raymond.
Also, who the fuck posts under the name of a QC character SVEN
Sven was a name long before QC existed. I am personally holding out hope that it ties back to Ren Höek's Bavarian cousin.
ReplyDeleteAlso, almost all code can be improved because almost none of it is written in LISP.
Furthermore! Since code is nothing more than a symbolic mathematical representation, I'm sure you geniuses can boil it down further. I'll start. What is the perfect symbolic representation of the concept of four and one half?
OH NO ARE YOU GONNA HACK THE MAINFRAME
ReplyDeleteI AM GOING TO MAKE A ZERO INSTRUCTION SET COMPUTER AND SHOW YOU ALL UP.
ReplyDeleteCaptain Obvious, can you PLEASE stop proving that you know fuck all about computers, and also fuck all about common names apparently?
ReplyDeleteBut stupidity is what keeps this community going
ReplyDelete@Capn
ReplyDelete9/2?
dude, it's 4.5, duh
ReplyDeleteThe newest xkcd is "funnier" if you employ Randy's hyphen moving technique.
ReplyDelete(Real Time-War Reenactment? Potential. The comic as-is? Awful.)
Anon 11:21, that's awesome. You're pretty much my hero right now.
ReplyDeleteAlso, it prove that Randy IS capable of having good ideas and good comics (on rare occasion).
This comment has been removed by the author.
ReplyDeleteI thought he implied that it had to have the form [adjective]-ass [noun] for it to have potential hilarity. Apparently hyphen moving has potential for hilarity whenever a hyphen is involved. It doesn't even need to have swears in it you guys!
ReplyDeletemy hobby: making shitty-ass comics
ReplyDeleteAnd also the perfect way of symbolically representing four and one half is four and one half pies. Since they are countably delicious.
ReplyDeleteI'd rather have a motherfucking shitload of pies, but that's just me.
ReplyDeleteDid somebody say... pie?
ReplyDeletehttp://www.firmanproductions.com/?p=400
are PIES GUSHING OUT your BLOODY EYESOCKETS?
ReplyDeleteTHEY'RE PIE-SOCKETS.
ReplyDelete"Also, who the fuck posts under the name of a QC character SVEN"
ReplyDeleteSven happens to be my *actual* name. The fact that it is also a QC character has nothing to do with it.
there aren't any real people called Sven. snopes debunked that aaaagggees ago
ReplyDeleteHey who the fuck posts under the name of a comic book/film character SCOTT?
ReplyDeleteNot like that could be your NAME or anything.
And hey, arthur, you ain't no aardvark man.
He's obviously the King of the Britons, spaz.
ReplyDeleteCaptcha: Merls. What he calls his mentor, I assume.
"there aren't any real people called Sven."
ReplyDeleteTrue. I'm actually a sophisticated chatbot named Sven.
All of the programming enthusiasts do their own programming... because, see they're ENTHUSIASTS, not the business owners (hey, I'm 13, my friends tend not to own businesses. They are, however, the sort of people others will pay to do their programming) and do it because the enjoy it and are good at it. An rock-climbing enthusiasts doesn't pay someone to climb more effectively. They practice.
ReplyDeleteSven, maybe you should read QC and reconsider whether you really want to continue life sporting a name used in that comic. If they don't let you legally change your name where you live, remember that suicide is painless. It brings on many changes, and you can take or leave it if you please.
ReplyDeleteDo I need to be familiar with Ke$ha to understand the latest xkcd? If so, I don't really consider the strip worth it.
ReplyDeleteAug 07, 2009 ---- Tik Tok
ReplyDeleteFeb 19, 2010 ---- Blah Blah [Ft. 3Oh!3]
May 21, 2010 ---- Your Love Is My Drug
Jul 13, 2010 ---- Take It Off
Oct 22, 2010 ---- We R Who We R
Regress with respect to "t", for sense of "timing".
Latest xkcd: fucking terrible. And look, a whole panel of nothing but text that doesn't even look properly laid out. I award it no points.
ReplyDeleteHowever, the goatkcd of it should be good.
I don't get 846 but I'm assuming I'm supposed to go "GOOMH RANDALL I HATE THAT SONG TOO." Fuck this one is really bad.
ReplyDelete846 is she brushes her teeth with alcohol in the morning but that isn't proper dental care so randall feels he should educate the dumb whore and tells her to use toothpaste first.
ReplyDeletetl;dr - randall thinks women are dumb and mansplains basic hygiene.
moral? megan has excellent dental hygiene
ReplyDeleteHaha XKCD that was a good one I never thought about it that way! You really shouldn't brush your teeth with Jack LOL you need toothpaste instead oh man I'm so tweeting this one.
ReplyDelete@Ravenzomg
ReplyDelete"captcha: Merls. What he calls his mentor, I assume."
That is awesome.
@Randal Munroe
I SAW THE STAR TREK TIC TOC VIDEO TOO. GOOMH.
Seriously. What the fuck?
other note: this fit perfectly to DC's six panel format; thanks randall!
ReplyDeleteRandall seems pretty hip to the pop culture with this reference, right? That song is newer than something like five years old!
ReplyDeleteArthur: Sometimes I think the captcha generator is intelligent, because that captcha was actually uncanny.
ReplyDelete@Rob: I sent you a review for 846. You had better post it, because it will be infinitely better than whatever your hipster mind could've generated.
Captcha: Kinte. Kunta
Hey, Little Jhummer Boy, can you Dinosaur Comics up 145? I bet you can't. You can't, can you?
ReplyDeletelol, I'll do you one better anon; all images of t-rex will be replaced by nicolas cage.
ReplyDeletealso, HE IS A VAMPIRE!
ReplyDeleteOMG I can get behind that.
ReplyDelete631
ReplyDeletei challenge you
He's actually already done that one!
ReplyDeletehere you go: 145
ReplyDelete