6 ms·
Bumper Sticker Computer Science (1985) [pdf]
- pacaro 8y agoOMG I remember this being passed around in the late 80s early 90s but I lost my copy long ago. Thank you for finding this gem!
- icebraining 8y agoHere's in HTML form: http://quotes.cat-v.org/programming/bumper-sticker-computer-science http://quotes.cat-v.org/programming/bumper-sticker-computer-...
- deleted 8y ago[deleted]
- reaperducer 8y agoIt's amazing that 33 years later, nearly all of these still apply. And nearly all are mistakes that are still being made. Theses gems stuck out for me: Eighty percent of all input forms ask questions they have no business asking. A procedure should fit on a page. And especially: Don’t make the user provide information that the system already knows. This happens all the time, especially in e-commerce. And even moreso in paper form. For example, every time I go to a new doctor, I have to fill out 15 forms and 15 times I have to write down my name, address, SSN, insurance id, etc... Why can't the doctor's office, which already knows all of that, just print out 15 forms with all of that pre-populated? Somewhat related: We build so many input forms demanding people provide data to the computer in a form that the computer can immediately read. The computer should work for the user, not the other way around. Example: The FCC's Do Not Call web site has notes on its input fields that phone numbers have to be entered as numbers only. No dashes, parentheses, etc... How about the web site take whatever is input and strip out anything that's not a number? So basic, but I see this all the time.
- kamaal 8y ago>>Why can't the doctor's office, which already knows all of that, just print out 15 forms with all of that pre-populated? Which brings us the principle: Never ask a question whose answer you already know If you know the answer already, why does the question exist on a form?
- dasil003 8y agoBecause you don't know it for everyone.
- sonofblah 8y agoHealthcare is an abomination. If the will existed, the situation could be radically different, but it never seems to change. "Obamacare" was just another (effective) tax increase in disguise, like adding the fees for a new thing, but never actually changing the thing itself. Sheeple one and all. Backwards paper systems serving the moneyed interests.
- Sandword 8y agoI don't know the law in the US, but here your medical information is private so they legally aren't allowed to give it to others
- paulie_a 8y agoYet it happens, while this anecdotal. I know of a married couple that broke HIPPA and actively admitted they will be doing so. One was a pharmacist one was a doctor and it involved a couple of patients and herpes. I barely knew then and I should not have heard the information. They definitely should not have shared it even as husband and wife.
- sgt101 8y agoDon’t make the user provide information that the system already knows.... well, in several systems that I've worked on we "knew" several different versions of the information we were asking from the user. The question was : what did the user think right now. Truth... that's a different thing!
- hkai 8y agoSome Russian people I know started a project that gives random obvious advice, along with a profanity to make you pay attention. Examples include: - change your damn passwords! - reset the damn cache! - say no to your damn project manager! - use the damn frameworks! - stop creating the damn global variables! - don't use the damn "!important"! They've assembled a database of probably a few thousands of those wisdoms for different industries and it's truly entertaining. They've added an API too. Sadly it's not in English.
- jimmaswell 8y agoWhat's wrong with !important?
- coldtea 8y agoIt's an exceptional bypass, so if you use it frequently, it means you didn't get the base class design right.
- freehunter 8y agoCase in point, I extensively use !important in the very rare situation I'm doing front-end work, because I struggle immensely with CSS and can never seem to get it to render properly. And in almost every situation, !important leads to more problems than it solves. Yet I keep doing it, because I fundamentally don't understand CSS. If you use !important, you either understand CSS very well, or don't understand it at all.
- exikyut 8y agoWhat would you say are the biggest pain points? Someone probably knows of a targeted resource or two that may help.
- freehunter 8y agoI think honestly my biggest problem is just lack of familiarity. I don't do a lot of front-end work, and when I am doing front-end work it's probably a side project that I'm not getting paid for. If I'm working on my own time, the back-end stuff is more interesting to me so I spend as little time as possible on front-end. Order of precedence is the hardest thing for me to figure out, if I have three nested <div>s and a couple of <li> elements and all of them with a conflicting fontColor property, which one takes precedence? If I think really hard and trace back all the code, I can figure it out. Or I can put an !important on it and future me will deal with the consequences.
- pasbesoin 8y agoFrom TFPDF: "If you lie to the computer, it will get you." From my observation at work, I'd change this to: "If you lie to the computer, it will let you." Lots of people who take computer output as gospel. They never get, GIGO.
- freehunter 8y agoI think the original comment was the natural extension of "it will let you". Yeah, it will let you, and you might not notice. And then a week later, a month later, suddenly something doesn't work right. There's no immediate cause for the error you're seeing. The debug output isn't pointing to anything you've worked on recently. Why isn't this working? The change you just made is absolutely flawless. But it calls a function you wrote last month and forgot about, and that function is wrong. It let you lie to it, and then it got you.
- olooney 8y agoA few of my favorites, not found in the linked article: "There are two ways of constructing software. One way is to make it so simple that there are obviously no deficiencies. The other is to make it so complex that there are no obvious deficiencies." C.A.R. Hoare "The purpose of software engineering is to control complexity, not to create it." Dr. Pamela Zave "The most important single aspect of software development is to be clear about what you are trying to build." Bjarne Stroustrup "The cardinal sin is to make a choice without knowing you are making one." Jonathan Shewchuk "Good code is short, simple, and symmetrical - the challenge is figuring out how to get there." Sean Parent "The ability to simplify means to eliminate the unnecessary so that the necessary may speak." Hans Hoffman "Any intelligent fool can make things bigger, more complex, more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction." Albert Einstein "The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion... the trick is to pick features that don't fight each other." John Carmack "If we'd asked the customers what they wanted, they would have said, "faster horses." Henry Ford "What I cannot create, I do not understand." Richard Feynman "Such is modern computing: everything simple is made too complicated because it's easy to fiddle with: everything complicated stays complicated because it is hard to fix." Rob Pike "A program is a poem: you cannot write a poem without writing it. Yet people talk about programming as if it were a production process and measure "programmer productivity" in terms of "number of lines of code produced." In doing so they book that number on the wrong side of the ledger: We should always refer to "the number of lines of code spent." Edsger Dijkstra "As a programmer, it's your job to put yourself out-of-business. What you can do today can be automated tomorrow." Doug Mcilroy "The whole point of getting things done is knowing what to leave undone." Oswalf Chambers "Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for." Chris Sacca "Knowledge is a process of piling up facts. Wisdom lies in simplification." Martin Luther King, Jr. "Measuring programming progress by lines of code is like measuring aircraft building progress by weight." Bill Gates "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." Brian Kernigham "It ain't what you don't know that gets you in trouble. It's what you know for sure that just ain't so." Josh Billings "Be careful that victories do not carry the seeds of future defeats." Ralph Stockman "The most effective debugging tool is still careful thought, coupled with judiciously placed print statements." Brian Kernigham "Controlling complexity is the essence of computer programming." Brian Kernigham "Simplicity is prerequisite for reliability." Edsger Dijkstra "...but there is one quality that cannot be purchased that way - and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay." C.A.R. Hoare "UNIX is simple. It just takes a genius to understand its simplicity." Dennis Ritchie "Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build, and test, it introduces security challenges and it causes end-users and administrators frustration." Ray Ozzie "A charlatan makes obscure what is clear; a thinker makes clear what is obscure." Hugh Kingsmill "Fools ignore complexity, pragmatists suffer it. Some can avoid it. Geniuses remove it." Alan Perlis
- dang 8y agoDiscussed in 2014: https://news.ycombinator.com/item?id=8676982 https://news.ycombinator.com/item?id=8676982
- chestervonwinch 8y agoI enjoyed: > [Conservation of Code Size] When you turn an ordinary page of code into just a handful of instructions for speed, expand the comments to keep the number of source lines, constant.
- microtherion 8y agoI remember that column. I was always particularly fond of the first bumper stickers cited "π seconds is a nanocentury"
- ehudla 8y agoI've recently become fond short 2-5 minute podcasts as part of my daily routine, which makes me think that a short, 3 minute, daily podcast consisting of one "bumper sticker" plus maybe a little explanation or an example is definitely something someone should produce.
- opnitro 8y agoOne I always liked: weeks of programming can save hours of planning.
- invalidusernam3 8y ago"Allocate four digits for the year part of a date: a new millenium is coming" Interesting that people were aware about the Y2K problem 15 years before, but it still required so much work to correct. I guess it's kind of similar to the Year 2038 problem (https://en.wikipedia.org/wiki/Year_2038_problem https://en.wikipedia.org/wiki/Year_2038_problem) and how nobody cares about it yet