Dr. Dobb's Blogs http://www.drdobbs.com//author/6824 Dr. Dobb's Copyright 2013, United Business Media. en-us The Language of Math http://www.drdobbs.com/jvm/the-language-of-math/229301329 The language of math is an odd creature, idiosyncratic and given to a huge number of inconsistencies and assumptions. Some symbols are Roman, some are Greek, some are Hebrew, and some just unique. Mon, 21 Mar 2011 07:16:00 -0400 TDD is Great for University http://www.drdobbs.com/tdd-is-great-for-university/229300297 I have not been a situation where I felt I could use TDD in my own development work, but when teaching classes, it has been fantastic. Tue, 15 Feb 2011 11:25:46 -0500 Why is GOTO bad? http://www.drdobbs.com/architecture-and-design/why-is-goto-bad/229300301 <![CDATA[Why is GOTO bad? Eric asks this question, suggesting that because most hardware has a JUMP instruction, that Dykstra was too hasty in denegrating it in high level languages. He then asks if ... Mon, 27 Dec 2010 18:23:42 -0500 Why is Programming so Hard? http://www.drdobbs.com/tools/why-is-programming-so-hard/229300255 <![CDATA[I'm sure many of you have written just as many lines of code over the years as I have. Have you noticed that other than garbage collection and object oriented programming, precious little has... Fri, 19 Nov 2010 07:39:00 -0500 Eric Schmidt wanted to fire me my first day at Sun. http://www.drdobbs.com/architecture-and-design/eric-schmidt-wanted-to-fire-me-my-first/228701410 We were having an all-hands presentation on a brand-new product that was being released in a few weeks and Eric wanted everyone to know about it. It was an elaboration on source control using SCCS and a unique feature known as the "Translucent Filesystem". The idea of TFS was that you could "layer" your changes to files ontop of the existing system, so that you would see all the files in a directory, including your changes, whereas another person would only see the base files without your changes. The idea was that we could save vast amounts of disk space by not having to copy everything. Tue, 21 Sep 2010 06:12:44 -0400 The Pipeline http://www.drdobbs.com/jvm/the-pipeline/228700668 In "Multithreaded Programming with PThreads" and "Multithreaded Programming with Java," I reviewed the use of a pipeline for the purpose of allowing parallel processing and concluded that there wasn't a lot of value in it. It's easier to write a straightforward program that simply distributes chunks of data for processing to multiple threads. I stand by my reasoning for the situations I described, but have subsequently encountered different situations that merit independent analysis. Wed, 01 Sep 2010 15:03:08 -0400 Why Isn't Help Helpful? http://www.drdobbs.com/tools/why-isnt-help-helpful/228700903 Why Isn't Help Helpful? How many times have you used a help system, only to find that it couldn't answer your question? Back in the early 80's, Bob Wilensky of Yale infamy* was working on this problem. I didn't care for him, but he was a very clever fellow. Outside of a few rather simplistic observations, he got nowhere. Nor did I. My conclusion based on both my own work and his, was that the biggest problem was that people didn't know quite what they wanted. They wanted a program to "do this", where "this" was kinda vague. Not surprisingly, it's really hard for a keyword search system to make much sense of "I want to make a list of all the people in the district who won three awards." The user pretty much has to have some idea of what a spreadsheet is and how queries can be written against one. Even when we do know exactly what we're after, many systems fail because they use specialized language or simply fail to index on all relevant terms. I typed "Draft" into MS Word's Help System, hoping to find an entry that would explain how I can have "Draft" written across my proposal, so no one would mistake it for the final version. Does its lack of relevant entries indicate that Word simply can't do that? Or did they simply use some other term? Since 1965, every mouse-based text editor I knew of used a double-click to select a single word. (Triple-click was usually the whole line, and 4 clicks selected the entire document.) So I was very surprised that Word didn't follow this convention. "Perhaps it's supposed to select a word, and MS Word on a Mac is simply buggy," I thought to myself. Help didn't help. Of course, it's not to an ISV's advantage to advertise things their product doesn't do. So we find a rather unplesant situation where ISVs are motivated to make their help system difficult to use. I do not expect the human advisor to disappear any time soon. -Bil ==== * Or fame--depends on your point of view. Yale's AI group was always lined up in opposition to the rest of the world. Whatever we did at Stanford, they would mock and assure the world that their approach (involving Mopsy, Flopsy, and Cottontail) to the problem would be vastly superior as soon as it all worked. There were some nasty feuds. Tue, 13 Jul 2010 11:44:13 -0400 Computer Science for International Relations Majors http://www.drdobbs.com/architecture-and-design/computer-science-for-international-relat/228701006 The abstractions that I thought so simple ("See? You can make a flip-flop out of two NAND gates. Now we'll draw a square around that and treat it as a black-box."), were foreign to them. They seemed to comprehend that they could construce a flip-flop, but when I tried to use lots of flip-flops, they had trouble. Fri, 23 Apr 2010 19:30:32 -0400 Assertations vs. Exceptions http://www.drdobbs.com/jvm/assertations-vs-exceptions/228701655 A very common mistake many programmer make is to use assertions where exceptions should have been used. Thu, 25 Mar 2010 05:59:58 -0400 Stealing Passwords http://www.drdobbs.com/architecture-and-design/stealing-passwords/228701255 Excerpt here. Fri, 19 Mar 2010 16:08:36 -0400 Eschew ELSE http://www.drdobbs.com/architecture-and-design/eschew-else/228701191 Fri, 19 Feb 2010 19:00:00 -0500 Can You Prove It? http://www.drdobbs.com/architecture-and-design/can-you-prove-it/228700946 Wed, 03 Feb 2010 19:00:00 -0500 Don't Prevent Disasters http://www.drdobbs.com/architecture-and-design/dont-prevent-disasters/228700755 Wed, 20 Jan 2010 19:00:00 -0500 How Do You Manage Email? http://www.drdobbs.com/architecture-and-design/how-do-you-manage-email/228701353 Mon, 11 Jan 2010 19:00:00 -0500 Because 31(oct) == 25(dec) http://www.drdobbs.com/architecture-and-design/because-31oct-25dec/228701497 Sun, 20 Dec 2009 19:00:00 -0500 Never Produce Human-Readable Output http://www.drdobbs.com/architecture-and-design/never-produce-human-readable-output/228700446 Mon, 07 Dec 2009 19:00:00 -0500 Sudoku and the Turkey Bird http://www.drdobbs.com/architecture-and-design/sudoku-and-the-turkey-bird/228701840 Sat, 28 Nov 2009 19:00:00 -0500 Barbara Liskov: Exceptions, Checked or Unchecked? http://www.drdobbs.com/architecture-and-design/barbara-liskov-exceptions-checked-or-unc/228700670 Fri, 20 Nov 2009 19:00:00 -0500 Why are Python Files So Big? http://www.drdobbs.com/architecture-and-design/why-are-python-files-so-big/228701023 Wed, 11 Nov 2009 19:00:00 -0500 When is it Reasonable to Reuse a Name? http://www.drdobbs.com/architecture-and-design/when-is-it-reasonable-to-reuse-a-name/228701268 Mon, 02 Nov 2009 19:00:00 -0500 Self-Optimizing Data Structures http://www.drdobbs.com/architecture-and-design/self-optimizing-data-structures/228700409 Thu, 22 Oct 2009 20:00:00 -0400 Dynamic Data http://www.drdobbs.com/architecture-and-design/dynamic-data/228701040 Wed, 07 Oct 2009 20:00:00 -0400 My *New* Favorite Anti-Pattern http://www.drdobbs.com/architecture-and-design/my-new-favorite-anti-pattern/228700902 Tue, 29 Sep 2009 20:00:00 -0400 How Simple is Too Simple? http://www.drdobbs.com/architecture-and-design/how-simple-is-too-simple/228700008 Sat, 26 Sep 2009 20:00:00 -0400 Dynamic Typing? http://www.drdobbs.com/architecture-and-design/dynamic-typing/228701634 Fri, 04 Sep 2009 20:00:00 -0400