Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- pretty



  How to write good requirements

Requirements are pretty ubiquitous in the embedded world. They are used to define tasks, help coordinate large development efforts, and to communicate the behavior of the desired end product between the developers and the customer. When done right, requirements can be very useful. Unfortunately, if you spend much time working in the embedded world you quickly discover that there are a lot of bad requirements. And then when you try to go fix them, you quickly discover that writing good req...

   Requirement gathering,Good requirement     2012-02-18 12:53:15

  Automate Everything

Performing manual, repetitive tasks enrages me. I used to think this was a corollary of being a programmer, but I’ve come to suspect (or hope) that this behaviour is inherent in being human. But being able to hack together scripts simply makes it much easier to go from a state of rage to a basic solution in a very small amount of time. As a side point, this is one of the reasons that teaching the basics of programming in schools is so important. It’s hard to think of any j...

   Automate,Email,Repeative     2012-02-07 06:21:19

  When to use STDERR instead of STDOUT

Every process is initialized with three open file descriptors, stdin, stdout, and stderr. stdin is an abstraction for accepting input (from the keyboard or from pipes) and stdout is an abstraction for giving output (to a file, to a pipe, to a console). That's a very simplified explanation but true nonetheless. Those three file descriptors are collectively called 'The Standard Streams'. Where does stderr come from? It's fairly straightforward to understand why stdin and stdout exist, however ...

   UNIX,STDERR,STDOUT,Difference     2012-01-14 12:07:43

  Why, oh WHY, do those #?@! nutheads use vi?

Yes, even if you can't believe it, there are a lot fans of the 30-years-old vi editor (or its more recent, just-15-years-old, best clone & great improvement, vim). No, they are not dinosaurs who don't want to catch up with the times - the community of vi users just keeps growing: myself, I only got started 2 years ago (after over 10 years of being a professional programmer). Friends of mine are converting today. Heck, most vi users were not even born when...

   Linux,Vi,Vim,Advantage,History     2012-02-05 07:21:17

  The Five Stages of Hosting

As a proud VPS survivor, I thought it might be fun to write up five common options for hosting a web business, ranked in decreasing order of 'cloudiness'. People who aren't interested in this kind of minutia would be wise to pull the rip cord right here. 1. The Monastery You run your site on an 'application platform' like Heroku, Azure, or Google App Engine. You design your application around whatever metaphors and APIs the service lays out, and in return you are veiled from all t...

   Website hosting,Recommendations,Stages,Advantages     2012-01-30 05:43:42

  How to Think Creatively

I grew up hungry to do something creative, to set myself apart. I also believed creativity was magical and genetically encoded. As early as the age of 8, I began sampling the arts, one after another, to see if I'd inherited some gift.Eventually, I became a journalist. For many years, I told other people's stories. I was successful, but I rarely felt truly creative.The first hint I might have sold myself short came in the mid-1990s. In the course of writing a book called What Really Matters, Sear...

   Creative thinking,Saturation,Incubation,Illumination,Verification     2011-11-14 08:39:11

  In praise of impractical programming

Although it’s become a cultural mainstay now, I still remember when I first saw that thick book — the one with the wizard on the cover — about a school for magic where wonders are easily conjured by those who know the proper spells. Of course, I’m talking about the Structure and Interpretation of Computer Programs. There was that other book with the spells, but the “Wizard Book” sincerely claimed to teach magic. For the past few years, I’ve been ...

   Impractical Programming,Structure,Scheme,Practical     2011-12-05 12:28:58

  How Speeding The "Most Important Algorithm Of Our Lifetime" Could Change This Modern World

Math breakthroughs don't often capture the headlines--but MIT researchers have just made one that could lead to all sorts of amazing technological breakthroughs that in just a few years will touch every hour of your life. Last week at the Association for Computing Machinery's Symposium on Discrete Algorithms (SODA) a new way of calculating Fast Fourier Transforms was presented by a group of MIT researchers. It's possible that under cert...

   FFT,Speed-up,Fast fourier transform     2012-03-20 07:47:04

  PHP Sucks! But I Like It!

I read a rather interesting post yesterday called PHP: a fractal of bad design. It's been getting a lot of traffic among the PHP community lately because it's rather inflammatory. But to be honest, it does make a lot of really good points. It also makes a lot of mistakes and misses a bigger picture. A Few Mistakes The post makes quite a few mistakes and odd apples to oranges comparisons. Let me point out the major ones that I saw. No Debugger - PHP has xdebug which works quite...

   PHP,Bad design,Like     2012-04-12 06:15:42

  C Macro Tips and Tricks

Preprocessor vs Compiler To properly understand C macros, you must understand how a C program is compiled. In particular, you must understand the different things that happen in the preprocessor and in the compiler. The preprocessor runs first, as the name implies. It performs some simple textual manipulations, such as: Stripping comments. Resolving #include directives and replacing them with the contents of the included file. Evaluating #if and #ifdef directives. Evaluating #defin...

   C,Macro,Preprocessor,Trick     2012-05-01 06:49:05