- The Oligopoly of Academic Publishers in the Digital Era (PLoSone) — Combined, the top five most prolific publishers account for more than 50% of all papers published in 2013. (via CBC)
- LLVM Bitcode Gives Apple Hardware Independence (Medium) — Bob [Mansfield] has been quietly building a silicon team with the skills to rival all other players in the industry. Bob works for one of 15 companies with an ARM architecture license, giving his team carte blanche to modify and extend ARM in any way they see fit. And Bob’s CPUs only have to satisfy a single customer.
- Github Exception Monitoring and Response — I need another word than “porn” to describe something that makes me sigh fervently with desire to achieve at that level.
- 31 Negotiation Tactics (Nick Kolenda) — he mysteriously omitted my power tactics of (a) crying, (b) greeting my opposite number with the wrong name, and (c) passing a napkin covered with random scrawls as I say, “what do you make of this?”
Communicate more efficiently, concisely, and accurately.
Download a free copy of An Engineering Manager’s Guide to Design Patterns, a brain-friendly report that shows you how object-oriented design patterns are ideal for solving specific problems in application design.
If you haven’t had the pleasure of viewing Hal Abelson & Gerald Sussman’s 1986 MIT introductory computer science course, you owe it to yourself to set aside a few hours to view it. “1986?”, you say — “Could that really be relevant to my work today?” Unless you came through MIT or a similar program that teaches from their seminal book The Structure and Interpretation of Computer Programs, I’d bet you are most likely going to learn a few new things (even if you consider yourself a seasoned software developer).
Play the video, and right away you might be surprised, as Abelson, in the first five minutes of the class, states that not only is computer science not a science, it doesn’t have all that much to do with computers. Rather, Abelson suggests, computer science is more of an engineering discipline, or perhaps even an art; and, rather than being concerned with computers, computer science is more an exercise in creating imperative knowledge and managing complexity.
Anyone who has ever been late on a software development project (who hasn’t?) can relate to this. Software development starts to feel more like an art or craft when the best you can do is roughly estimate the size and scope of a job and then cross your fingers and hope for the best — certainly, it is at times like these when our field doesn’t feel like much of a science. And, for anyone who has worked on a project of moderate size, at some point you find complexity staring you in the face. All too often our first designs, and our code, turn into the dreaded big ball of mud (yes, that is a technical term).