Live data from Hacker News

A significant amount of programming is done by superstition

utcc.utoronto.ca

201–210 of 214 posts

Re: A significant amount of programming is done by superstition

#201

Earlier quoted context omitted.

why write unit tests when we don't understand the microcode in the CPU? We can't have "tested" it because we don't understand said microcode. Or wait... no, maybe your characterization is wrong. Yeah... that's probably it.

Where exactly did I say you should understand the code down to how electrons flow through the chip's gates? I said if you do not understand what you are testing (not the compiler, not the runtime libraries, not the OS, not the instruction decode, not the microcode, not the gates), you can't say you actually tested it. You merely observed what could be a side-effect.

you're drawing an arbitrary line, that was the point.

We specialize and abstract for a reason. No one understands everything about everything surrounded their code, and that includes other software. Don't tell me you've personally been through the code of every single project your projects touch.

You haven't and that makes you a hypocrite.

Re: A significant amount of programming is done by superstition

#202

sysv init scripts in particular are so pointless to write. In the end, the whole script usually revolves around four lines of actual code (starting a process, stopping it, querying the status, optionally sending it a SIGHUP to make it reload its configuration), but the result is a script with 50 lines of boilerplate. Which, of course, could nearly all be automated away by a sane, declarative format. Leaving all the p…

The issue isn't so much in the medium (shell), but the underlying program itself (sysvinit) being overly primitive. See the daemontools family where runscripts are largely as short or shorter than systemd unit files: http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/ru... In addition, the BSDs have much shorter rc scripts mainly by putting all the boilerplate functions into a single library file that is then…

Franly i find myself thinking that moving the boilerplate elsewhere is also what systemd and upstart does. But those implement it in C rather than shell script.

Re: A significant amount of programming is done by superstition

#203

Earlier quoted context omitted.

Where exactly did I say you should understand the code down to how electrons flow through the chip's gates? I said if you do not understand what you are testing (not the compiler, not the runtime libraries, not the OS, not the instruction decode, not the microcode, not the gates), you can't say you actually tested it. You merely observed what could be a side-effect.

you're drawing an arbitrary line, that was the point. We specialize and abstract for a reason. No one understands everything about everything surrounded their code, and that includes other software. Don't tell me you've personally been through the code of every single project your projects touch. You haven't and that makes you a hypocrite.

A line that encompasses the object you are testing but that you don't fully understand (or that is hidden from you) and nothing more is not arbitrary. The best you can do in these circumstances is say it adheres to a spec for the cases you tested (which could, for all you know, be the only ones that yield correct results).

Re: A significant amount of programming is done by superstition

#204

Earlier quoted context omitted.

you're drawing an arbitrary line, that was the point. We specialize and abstract for a reason. No one understands everything about everything surrounded their code, and that includes other software. Don't tell me you've personally been through the code of every single project your projects touch. You haven't and that makes you a hypocrite.

A line that encompasses the object you are testing but that you don't fully understand (or that is hidden from you) and nothing more is not arbitrary. The best you can do in these circumstances is say it adheres to a spec for the cases you tested (which could, for all you know, be the only ones that yield correct results).

It's an arbitrary line. Too many people come up with an opinion and then cast about for a way to make it seem valid.

Re: A significant amount of programming is done by superstition

#205
post #168

Earlier quoted context omitted.

The web might have been created by amateurs, but it works incredibly well. Sure, we have browser incompatibilities and whatnot, but this is an effect of having multiple independent implementations of the standards, which is part of what makes the web work in the first place.

>The web might have been created by amateurs, but it works incredibly well. The fact that it was created by amateurs helped make it work incredibly well for amateurs. The professional CS alternatives - gopher and the like - were not successful in comparison. There's a thing in CS where solutions become so clever they become stupid - because the goal stops being task-oriented usefulness, and becomes ideological and fo…

In any case, Tim Berners-Lee wasn't an amateur. He was a computer scientist who had experience with information systems before creating the Web. But his design was clever AND simple and accessible to use for amateurs.

If I remember the context of the "created by amateurs" quote, it was really Alan Kay complaining that the web wasn't designed by OO principles. He wanted the web to consist of objects encapsulating their own presentation logic, rater than document in declarative languages. So basically something like Java applets instead of web pages.

While OO is great for software design, I believe declarative documents have proven to be much better as a foundation for a decentralized information system. Think about how to implement Google, accessibility, readability.com and so on in a web of encapsulated objects. And it is not by accident that TBL chose declarative languages over objects, he actually though about it: http://www.w3.org/2001/tag/doc/leastPower-2006-01-23.html

This is an example of the contextual insight you talk about, and which I believe Kay lacks in this case.

EDIT: The interview is here: http://www.drdobbs.com/article/print?articleId=240003442&sit... It is not totally clear what he is arguing, but is seems he is suggesting that the only job of the browser should be to execute arbitrary code safely, but any actual features beyond this should be provided by the objects. So the browser should really be a VM or a mini-operating system executing object code in a safe sandbox. This seem to be the philosophically opposite of TBL's principle of least power.

Honestly, it seems like Kay is ranting a lot in the interview. When something like the web is not designed the way he would have done it, the only reason he can imagine is that the designers must have been ignorant amateurs.

Re: A significant amount of programming is done by superstition

#206

Earlier quoted context omitted.

Can you expand upon what you mean?

The Rails community at least is infamous for drunken boorishness and generally being gratuitously offensive and unprofessional. Rails is the spiritual capital, if not the origin, of the worst of the brogrammer attitude.

you really can't generalise like that.

in fact referring to more than one person at a time is morally wrong. everybody is different.

i think collective pronouns and plurals are weapons of oppression.

Re: A significant amount of programming is done by superstition

#207

Earlier quoted context omitted.

A line that encompasses the object you are testing but that you don't fully understand (or that is hidden from you) and nothing more is not arbitrary. The best you can do in these circumstances is say it adheres to a spec for the cases you tested (which could, for all you know, be the only ones that yield correct results).

It's an arbitrary line. Too many people come up with an opinion and then cast about for a way to make it seem valid.

This is, BTW, just what you did by claiming the line is arbitrary.

Re: A significant amount of programming is done by superstition

#208

Earlier quoted context omitted.

It's an arbitrary line. Too many people come up with an opinion and then cast about for a way to make it seem valid.

This is, BTW, just what you did by claiming the line is arbitrary.

yes and I'm racist when I point out someone is being racist.

I'm also a troll when I point out someone is trolling.

do you know how I turn female? By pointing out that someone is female.

It's amazing how making an observation suddenly means you've become the thing you're observing.

Or not, but who am I to judge, amirite?

Re: A significant amount of programming is done by superstition

#209

Earlier quoted context omitted.

Physics of also a branch of mathematics. But experimentation is key to proving correctness.

What? Physics is not a branch of mathematics, it just uses mathematics and mathematical properties. That's like saying psychology is a branch of mathematics because it involves statistics. Using math isn't the same as being math. Admittedly physics is one of the "mathiest" fields, but it still involves doing experiments and coming up with mathematical models that fit the data rather than coming up new kinds of mathem…

Certainly physics is not a branch of mathematics, but it isn't uncommon for papers in theoretical physics to essentially be math papers with an eye toward applications to some physical notions, and physicists do come up with new math.

Re: A significant amount of programming is done by superstition

#210

Earlier quoted context omitted.

The Rails community at least is infamous for drunken boorishness and generally being gratuitously offensive and unprofessional. Rails is the spiritual capital, if not the origin, of the worst of the brogrammer attitude.

you really can't generalise like that. in fact referring to more than one person at a time is morally wrong. everybody is different. i think collective pronouns and plurals are weapons of oppression.

ok bro.
Post reply on HN