patrickmay 12 years ago

The list is heavily weighted to implementation details. I'd include a few essays like "The Rise of Worse is Better" (http://dreamsongs.com/RiseOfWorseIsBetter.html) to encourage programmers to take a step back and think about design and architecture more often.

facorreia 12 years ago

Good list. I would add "Falsehoods Programmers Believe About Names"[1].

[1] http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...

mwnz 12 years ago

10 Articles every web programmer should read. Personally, SEO has zero bearing on my work. Java is only relevant to a subset of developers.

  • nicholassmith 12 years ago

    I'd argue that the ones on memory, floating point arithmetic and games programming networking have little relevance for most web developers.

    • Joeri 12 years ago

      Floating point arithmetic is the only arithmetic if you're a web developer.

    • mschuster91 12 years ago

      Any website dealing with any form of sales/money WILL have to deal with FP arithmetic problems sooner or later!

      • sergiosgc 12 years ago

        Sorry, no. If you are doing your accounting in floating point, you are setting yourself up for really strange non-balancing balance sheets. You can do everything in fixed point.

        Remember that fixed point does not mean the point is at the rightmost position. It means it is in a fixed position.

        • virmundi 12 years ago

          Or do all of your math in cents. Then you've only got to worry about FP at the displayed end.

        • mschuster91 12 years ago

          Of course, yes. But the naive people will start using FP math - so they have to be warned as early as possible.

          I'm doing all my math in fixed point (eurocent), but that has its drawbacks too if you deal with VAT and have to hit a specific total price given only a VAT rate and a net price... or if you're dealing with gas pumps and that x.xx9 cheating. Or scales, where the law requires more precision...

      • BSousa 12 years ago

        Or do it as everyone else and actually use ints instead of floating points? I thought this was common knowledge by now...

        • BSousa 12 years ago

          And I just noted the wording made me look like an asshole, sorry.

      • nicholassmith 12 years ago

        Sure, but not at the ultra low level that the article linked goes into. The article comes at it from an approach that if you're building (for example) scientific software then you need a deep understanding of how rounding will be performed so that the results are correct.

        Don't get me wrong, understanding FP representation and arithmetic is useful for web developers, but the comment was on that actual article that was linked which goes into it in a level of depth that most web developers won't ever really need to dive into.

bitlord_219 12 years ago

"What every programmer should know about SEO"

Yeah, no.

  • asolove 12 years ago

    Why not? While there are lots of terrible SEO consultants and stupid recommendations, knowing how SEO actually works and the way it rewards good, up-to-date content, is incredibly valuable. And knowing how things really work is the best way to defeat the crummy suggestions and gimmicks that a misinformed marketer might suggest.

    • ffreire 12 years ago

      I'm just assuming here, but I think the parent commenter was referring to the fact that not every programmer needs to know SEO, since there are several disciplines that don't depend on search engine results.

    • CanSpice 12 years ago

      When the article title includes the words "every programmer", that's a really large set of programmers. I don't think a programmer working on embedded systems needs to know about SEO, nor do kernel hackers, nor do scientific programmers...

      • Swizec 12 years ago

        Until they want their sexy opensource library to be used by more than one person.

        • k00pa 12 years ago

          Make good enough library, keep the source valid and the persons will come.

          I have never done any special SEO tricks and yet all my content is fairly high on the results.

          SEO in general is quite useless in my opinion. Make the content good enough so that people want to visit the site! Don't trick people to come there.

          • sergiosgc 12 years ago

            Oh, the engineer marketing moto: make a good product and customers will come. So appealing and so false!

            I'm not doubting your experience, but this is such a common misconception that I must point it out.

            If usage of your product is not what puts food on the table, by all means go for the engineering marketing approach. It's genuine.

            If you need customers to have a roof on top of your head, though, learn marketing. It's not evil, it is necessary, and strange as it may seem, it is as important to success as product quality.

            • ASneakyFox 12 years ago

              I think he means if your website contains information google can find it. simple as that. only thing you really need to know is that text on its own is more easily searched than images. but that should be obvious to any one.

        • vonmoltke 12 years ago

          In those areas, SEO is going to have little to do with the uptake of their libraries.

        • jlarocco 12 years ago

          A very large number of programmers spend their time working on non-web code for companies. I don't need SEO at all... that's what our marketing department is for.

          The title should have been "10 Articles Every Java Web Developer Should Read," and even then a few of them would be out of place.

          • Swizec 12 years ago

            The implication in my post was that this was for a pet project where you are the marketing team and things like choosing a good project name that's actually searchable matter.

            Otherwise you end up with things called "Go" and "Ruby", both of which took years to become googlable.

    • Alupis 12 years ago

      SEO tactics and practices change so rapidly... almost any article or book written about SEO is outdated by the time it's released (unfortunately). Tactics that were considered "best practices" even 6 months ago may actually harm your site these days. -- There is no magic bullet for SEO.

    • kjs3 12 years ago

      I realize this is going to come as something of a shock to you, but most of the programmers in the world aren't cool kids working at the Next Big web startup. SEO isn't part of their world, never will be, and SEO consultants never come knocking at their door.

  • derwiki 12 years ago

    At least, if you're a programmer and need to learn a little about SEO, this is a decent article. Most information on this topic are in slideshow format, with only broad bullet points. This one is pretty text heavy and information dense, which I appreciate.

  • at-fates-hands 12 years ago

    Maybe front-end developers; but agreed, not every programmer should know SEO.

ufo 12 years ago

GOTO Considered Harmful

http://www.u.arizona.edu/~rubinson/copyright_violations/Go_T...

If you actually read the letter you can see that it also applies to modern programming and not just to "goto". Its truly a timeless article that everyone should read (and its really short!)

  • mncolinlee 12 years ago

    One might argue that this classic article equally applies to callbacks.

    You could read it as a manifesto for solutions to callback hell which do not mess up your program's state, such as reactive programming.

    http://www.reactivemanifesto.org/

curiousDog 12 years ago

There should also be an article about how every programmer should write without too many grammatical errors. Some of the emails I used to receive were borderline incomprehensible and I'd have to go battle it out in person.

mabbo 12 years ago

"Numbers every programmer should know"- Probably the most interesting part of that article is the slider. As you move it up and down, you can see how all the different things get faster over time.

... Except for the final one, "Packet Roundtrip". Networks have reached a physical limit of the universe, the speed of light.

http://www.eecs.berkeley.edu/~rcs/research/interactive_laten...

  • tinco 12 years ago

    There is no law that says that information can not travel faster than light is there? The law is just a out mass/energy.

    On top of that I believe faster than light transfer of information has already been experimentally shown to exist.

    • pdonis 12 years ago

      > There is no law that says that information can not travel faster than light is there?

      Yes, there is. Information has to be carried by some form of mass/energy, so if mass/energy can't travel faster than light, neither can information.

      > I believe faster than light transfer of information has already been experimentally shown to exist.

      No, it hasn't. If you're thinking of the CERN neutrino experiments a couple of years ago, that turned out to be an equipment error.

      • mschuster91 12 years ago

        Hmmm... shouldn't two linked quantum particles change their state in sync, no matter the distance?

        • legulere 12 years ago

          You can't transport information through quantum entanglement.

        • mdemare 12 years ago
          • pdonis 12 years ago

            It's worth noting that the full explanation given here assumes that the many-worlds interpretation is correct, which not all physicists would agree with. But the "no-communication theorem" is true independently of which interpretation of QM you adopt.

        • pdonis 12 years ago

          This is a non-relativistic description. The correct relativistic description assigns quantum field operators to events in spacetime, and operators at spacelike separated events commute--i.e., they give the same results regardless of which order they occur in. So there is no physical fact of the matter about the order in which the particles "change state".

  • Terr_ 12 years ago

    No, there are still some areas where we can make gains, practical speeds are still below c.

laxatives 12 years ago

Can anyone provide some good reads on the replaying leap second concept? Has anyone ever taken advantage of this? How do projects that rely on subsecond accuracy and syncronization resolve the issue?

edit: for anyone interested, there has never been a negative leap second (it's always been something like 23:59:59, 23:59:60, 00:00:00). see http://en.wikipedia.org/wiki/Network_Time_Protocol#Security_...

edit2: however, there are negative leap seconds in UNIX time. I wonder if there's a vulernability here? see http://en.wikipedia.org/wiki/Unix_time#Leap_seconds

ggchappell 12 years ago

Perhaps we can back up a bit. The first reading I used to assign to my students back when I was teaching lower-level classes (I'm a C.S. prof.) is "On Following Rules" by Kirit Saelensminde.[1]

It's a quick, easy read. It makes a point that is important and not hard to understand, but that is often missed. And it provides a framework for dealing with the concepts you get from all those other articles you're supposed to read.

[1] http://www.kirit.com/On%20following%20rules

  • zorbo 12 years ago

    I'd like to add a rule 3: Don't impose or evangelize rules you don't fully understand.

    • ggchappell 12 years ago

      Good idea.

      Another way to think about it is that if someone doesn't understand a rule, then they are subject to the rule. If they do understand it, then the rule is subject to them.

      Kirit is saying that, in the latter case (and only in that case) they get to decide whether to follow it.

      One reason your idea works is that, in the first case, they don't get to assume that others are also subject to the rule.

platz 12 years ago

For every article you tell me I must read, I'll be happy to demand you read 10 articles of my choosing in return.

kawliga 12 years ago

SEO ???

hahahahaaha