Skip to main content

Chasing the Technology

A big problem I have with people who consider themselves programmers is that they spend most of their time chasing the technology.  They spend more time whack-a-mole code hacking and no time trying to learn the basics, like source control, methodologies or algorithms.

I personally lack in these areas because I do not come from a Computer Science background, but I strive to overcome this.  My favorite computer books deal with ways of thinking about and doing programming, not just code cookbooks.  I observe my programming habits and change them to be better.  I make the effort that I don't see these others making.

I see the chase in people I work with and friends of mine.  I see it in people that think they are doing a great job just because the project they are working on compiles, runs and the client likes the pretty interface.  Unfortunately they have taken so many short cuts in building their monolithic bag-o-crap that the slightest requirements change pops the poop bag leaving a big nasty mess to clean up.

Or they make a change in the code then forget why they changed it and what they changed now the program breaks.  If only they had used soruce control they could roll back to a working copy.

I love the blank stares I get from these chasers when I say that, instead of learning xyz programming language, they should read a programming book, like The Pragmatic Programmer or The Mythical Man Month.  They look at these books and ask "But where is the CODE?"

This is when I realize that I have real job security.


Popular posts from this blog

Json for jqGrid from ASP.Net MVC

jqGrid takes a specific format for its json (taken from jqGrid documentation): [js]{ total: "xxx",page: "yyy", records: "zzz", rows : [ {id:"1", cell:["cell11", "cell12", "cell13"]}, {id:"2", cell:["cell21", "cell22", "cell23"]}, ... ]}[/js] The tags mean the following: total - Total number of Pages. page - Current page Index. records - Total number of records in the rows group. rows - An array with the data plus an identifier. id - The unique row identifier, needs to be an int from what I have found. cell - An array of the data for the grid. The ASP.Net MVC framework has the JsonResult response type which we can use to populate the jqGrid. As an example I created a Person model and a method to return some data: [csharp] public class Person { public int ID { get; set; } public string Name { get; set; } public DateTime Birthday { get; set; } } public I

Remote Controlled RoboTank

This is my version of the ever popular to build RoboTank. It uses an Arduino Mega 2560 with the AdaFruit motor shield and an XBee S1 to communicate to the DFRobot Gamepad. The sketch for the RoboTank makes use of the AFMotor.h to drive the motors and includes a serial parser to read and process the commands coming from the Gamepad. DFRobot Wireless Joystick

FileSystemWatcher With the BlockingCollection

While working with the FileSystemWatcher I found that if too many files were created the built in buffer will overflowed and files will be skipped.  After much research I found out about the Producer-Consumer Problem .  Then I found that .Net 4 has the BlockingCollection which helps solve the issue.  But how to use it with the FileSystemWatcher? On StackOverflow I found  Making PLINQ and BlockingCollection work together .  I'm not so interested in the PLINQ issue but this is a great example of using The BlockingCollection with FileSystemWatcher. [csharp] using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; namespace ConsoleApplication4 {     public class Program     {         private const string Folder = "C:\\Temp\\InputData";         static void Main(string[] args) {             var cts = new CancellationTokenSource();             foreach (var obj in Input(cts.Token))