Spike list 2014

I suffer from list syndrome. A condition where you constantly feel the urge to quickly scribble down ideas, and stuff your pockets with these little yellow crumpled up post-it notes…mine seem to focus on two main topics, [1] of all the cool ideas that randomly pop into my head, and [2] technology related things I want to spend my “free” time studying. I really like the term “spike” coined back in the XP days: ...

April 1, 2014 · 3 min

Essential software development toolkit

Sometimes life in the world of software can seem like complete chaos, and other times a well planned cathedral. Perhaps this is due to subjective nature of software itself. Like any other engineering related discipline (e.g. building construction), beauty is in the eyes of the creator. Also a happy customer is a happy customer…even if they want a pink color scheme and pictures of kittens on their screens. Unlike the construction industry, a customer does not happily accept a product built on unreliable foundations, that is unmaintainable mess. Problems such as software quality and longevity, and even the impediance mismatch between customers and engineers, are by no means new problems, and have been solved in a plethora of ways a long time ago. ...

March 1, 2014 · 8 min

Neat and tidy Swing with JGoodies FormLayout

When its comes to laying out slightly complex forms in AWT or Swing, using the baked-in layout managers (BoxLayout, FlowLayout, GridLayout) can feel frustrating. Thankfully I stumbled across the JGoodies FormLayout layout manager whilst working on some Swing applications using IntelliJ IDEA 13. IDEA has an integrated visual GUI builder, that makes it really quick and easy to mock up FormLayout controlled layouts, but for the most precise level of control I found handcrafting to be very clean and simple. ...

February 24, 2014 · 3 min

Ultimate gym program to put on muscle

This program is a 3-way split. A split provides balance across your workouts, and focus to major muscle groups in each workout. This is my foundation whenever I walk into a gym. Its the result of years of reading, advice from personal trainers, and tips from fellow gym buddies. I often blend it with new or different exercises to mix things up. Chest and Legs Dumbbell chest press Dumbbell chest fly Squat Shrug Leg press Horizontal row Lat pulldown Hamstring curl Calf raises Shoulders and Arms Dumbbell shoulder press Preacher curls Skull crusher Machine shoulder press Dumbbell lat raise Tricep pull down Dumbbell front deltoid raises Cable machine bicep curl Reverse fly Crunches Chest and Back Dumbbell chest press Dumbbell chest fly Chinup Deadlift Reverse preacher curls (forearm) Lat pulldown Cable chest fly Shrug Machine chest press T3 trap raise

February 23, 2014 · 1 min

Machine learning basics

Well, after wanting to do this for years, I finally bit the bullet and enroled in the infamous Machine Learning class run by Andrew Ng through Coursera and Stanford. Professor Andrew Ng is Director of the Stanford Artificial Intelligence Lab, the main AI research organization at Stanford, with 20 professors and about 150 students/post docs. The first revision of this course ran in 2008, where Andrew started SEE (Stanford Engineering Everywhere), which was Stanford’s first attempt at free, online distributed education. ...

October 19, 2013 · 4 min

Must read tech novels for all geeks

Here’s my (growing) list of must read biographies of computing industry superheros. All of these books are based on real life stories and events, and despite my short attention span, I have found them all to be extremely captivating. Steve Jobs by Walter Isaacson Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker by Kevin Mitnick Free as in Freedom (2.0): Richard Stallman and the Free Software Revolution by Sam Williams ...

August 5, 2013 · 1 min

ReSharper killer shortcuts

ReSharper (R#) is a tool that I use, love and recommend for anyone who uses Visual Studio. The immediate benefits that it brings and the sheer productivity boost that you gain from using it makes Visual Studio a pleasure to use. I have been using R# for about 2 years now, and keep discovering new gems every now and then, from other R# fans. It compliments Visual Studio so well, sometimes you don’t notice that you are actually using R#. ...

July 30, 2013 · 5 min

Octopress workflow

Recently I migrated my hosted FunnelWeb ASP.NET MVC blog over to Octopress (a Jekyll based blogging framework) running on Amazon S3. This is a little personal reminder of how sweet it is to spawn a new post. rake new_post["title"] Edit newly created YYYY-MM-DD-post-title.markdown in octopress’s source/_posts directory rake generate cd public ponyhost push www.bencode.net Thanking Moncef Belyamani for his uber useful post How to Install & Configure Octopress on a Mac.

June 17, 2013 · 1 min

Spring Dependency Injection

Spring provides dependency injection capabilities using Setter injection, or Constructor injection. Object models can then be declaratively represented in XML. Here’s a Setter injection based example using the property element: <bean name="shaker" class="net.bencode.model.Shaker"> <property name="proteinPowder" ref="proteinPowder" /> </bean> <bean name="proteinPowder" class="net.bencode.model.ProteinPowder"> <property name="grams" ref="120" /> </bean> Or if XML isn’t your thing, annotations are also an option, using a combination of @Component and @Autowired. @Component public class Shaker { @Autowired private ProteinPowder proteinPowder; ... } @Component public class ProteinPowder { private int grams; ... } Constructor injection is similarly defined using the constructor-arg element. The following example works if the Shaker class has a constructor that takes in a ProteinPowder instance: ...

April 25, 2013 · 1 min

Native Desktop Window Skeleton with ATL

Building native Windows application with C++ can be done using a variety of techniques, from handrolled win32 to MFC. Some uglier than others. Using some ATL macros, here is the most minimalist implementation I could find, that will get you a native Windows desktop shell up and running. Here’s a skeleton native Windows desktop application that uses ATL (Abstract Template Library) as a thin wrapper on top of the underlying Windows scaffolding (e.g. the winproc, the message pump and so on). Compared to hand rolling this plumbing yourself, ATL (although its largly macro based) keeps the code lean and mean. I plan to use this as a shell DirectX render target for testing. For buildable VS2012 solution see github. ...

December 31, 2012 · 1 min