Dr. Dobb's Blogs http://www.drdobbs.com/ Dr. Dobb's Copyright 2012, United Business Media. en-us Starts with a V http://www.drdobbs.com/embedded-systems/starts-with-a-v/240156894 VHDL (or VHSIC Hardware Description Language — VHSIC stands for Very High Speed Integrated Circuit) is a language that resembles Ada. Tue, 18 Jun 2013 08:56:00 -0400 Game of Life — Distributed Lists http://www.drdobbs.com/parallel/game-of-life-distributed-lists/240156759 I want to take one more look at the parallelized list-based version of the Game of Life simulation. Sun, 16 Jun 2013 20:25:00 -0400 When Is It Safe to Move an Object Instead of Copying It? http://www.drdobbs.com/cpp/when-is-it-safe-to-move-an-object-instea/240156579 I'd like to explain how the compiler can figure out during compilation when to move objects instead of copying them. Wed, 12 Jun 2013 19:24:00 -0400 Leonardo's Code http://www.drdobbs.com/embedded-systems/leonardos-code/240156256 If you know me at all, you know I have an ongoing love/hate relationship with Arduino. Fri, 07 Jun 2013 09:17:00 -0400 Moving Is Not Copying http://www.drdobbs.com/cpp/moving-is-not-copying/240156175 Like many subtle ideas, the idea of moving data in C++ is built on a simple concept. Thu, 06 Jun 2013 07:44:00 -0400 Paper to FPGA http://www.drdobbs.com/embedded-systems/paper-to-fpga/240155922 I'm wrapping up CARDIAC by moving the Verilog implementation, vtach, over to a real FPGA board. Sun, 02 Jun 2013 21:48:00 -0400 Copying Container Elements From The C++ Library: It's Trickier Than It Looks http://www.drdobbs.com/cpp/copying-container-elements-from-the-c-li/240155771 We must generally assume that adding elements to a vector will invalidate every reference, pointer, or iterator that refers to a vector element. Thu, 30 May 2013 06:35:00 -0400 CARDIAC to FPGA http://www.drdobbs.com/embedded-systems/cardiac-to-fpga/240155599 Why put a 35-year-old paper computer into an FPGA? Sun, 26 May 2013 19:03:00 -0400 Game of Life — Using Threads and Lists, Part 3 http://www.drdobbs.com/parallel/game-of-life-using-threads-and-lists/240155543 If I'm programming my list-based version of Game of Life in the real world, how can I parallelize it when I am using a third-party provided data structure? Fri, 24 May 2013 07:28:00 -0400 The Hazards of Remembering Positions in Vectors http://www.drdobbs.com/cpp/the-hazards-of-remembering-positions-in/240155532 Don't remember pointers, references, or iterators to vector elements until
 you're done putting new elements in the vector. Thu, 23 May 2013 20:25:00 -0400 Java Apps on the Raspberry Pi http://www.drdobbs.com/jvm/java-apps-on-the-raspberry-pi/240155309 Here is an update on my ongoing project, where I use Java on a Raspberry Pi to control an Arduino, which in turn will control some other electrical device Tue, 21 May 2013 16:43:00 -0400 Expanding VTACH http://www.drdobbs.com/embedded-systems/expanding-vtach/240155198 The last few weeks, I've been building vtach — a Verilog implementation of CARDIAC, the old paper-based demonstration computer from Bell Labs. Sun, 19 May 2013 22:49:00 -0400 Aliasing Is Particularly Troublesome With Vector Elements http://www.drdobbs.com/cpp/aliasing-is-particularly-troublesome-wit/240155096 I would like to continue our discussion with a particularly nasty case in which the result is not well defined. Thu, 16 May 2013 22:28:00 -0400 Troubleshooting Verilog http://www.drdobbs.com/embedded-systems/troubleshooting-verilog/240154701 I want to squash a bug as a way to show how you "debug" Verilog hardware designs (or, at least, one way to do so) Sun, 12 May 2013 15:31:00 -0400 Some Subtleties of Aliasing http://www.drdobbs.com/cpp/some-subtleties-of-aliasing/240154618 Aliasing can cause paradoxical behavior. Thu, 09 May 2013 19:27:00 -0400 The CPU Crawl http://www.drdobbs.com/embedded-systems/the-cpu-crawl/240154406 I want to talk a bit more about Verilog and how it is different from simply writing something using software. Tue, 07 May 2013 21:00:00 -0400 Sometimes, Making a Program Clearer Makes It Faster http://www.drdobbs.com/cpp/sometimes-making-a-program-clearer-makes/240154079 We can "optimize" our code by removing requests for operations that our data structures do not really need to support. Wed, 01 May 2013 21:15:00 -0400 The Heart of a CPU http://www.drdobbs.com/embedded-systems/the-heart-of-a-cpu/240153772 A paper computer is certainly novel, and the spreadsheet version lets students get familiar with the architecture without having to write on cardboard. I wanted to go further, though. Sun, 28 Apr 2013 18:47:00 -0400 Some Optimizations Are No-Brainers http://www.drdobbs.com/cpp/some-optimizations-are-no-brainers/240153739 Kernighan's rule for optimizations (Don't do it) is good advice. But as with most rules, there are exceptions. Fri, 26 Apr 2013 14:53:00 -0400 CPU Design on Paper http://www.drdobbs.com/embedded-systems/cpu-design-on-paper/240153480 FPGAs are great for experimenting with CPU designs. Tue, 23 Apr 2013 12:57:00 -0400 BodyCom Development Kit http://www.drdobbs.com/security/bodycom-development-kit/240153458 Use your body's electric field to authenticate Tue, 23 Apr 2013 07:27:00 -0400 Java SE 8 Schedule Update http://www.drdobbs.com/jvm/java-se-8-schedule-update/240153268 Yes, the release of Java SE 8 (JDK8) has slipped again. But it's for good reason: platform-wide security enhancements. Fri, 19 Apr 2013 12:49:00 -0400 Sometimes Optimizations Cancel Each Other http://www.drdobbs.com/cpp/sometimes-optimizations-cancel-each-othe/240153129 Two rights can make a wrong in the software-design world. Wed, 17 Apr 2013 14:43:00 -0400 More Conversions http://www.drdobbs.com/embedded-systems/more-conversions/240152937 Many processors now have built in analog I/O and that certainly makes things easier. But it is still worthwhile to understand how at least some of these devices work. Mon, 15 Apr 2013 10:45:00 -0400 Optimizing a Program Means Making It Run Faster, Right? http://www.drdobbs.com/cpp/optimizing-a-program-means-making-it-run/240152663 People often use optimization to mean changing a program in ways that they think will make it run faster, but that casual definition is far from complete. Wed, 10 Apr 2013 14:18:00 -0400