REST APIs with RESTEasy and Tomcat

Java EE application servers at times can feel big and heavy…as in behemoth. I’m “lucky” enough to work with an old version of WebSphere AS on a daily basis at the moment. To keep things fast, I’ve resorted to using lighter weight containers for the job at hand. Tomcat is king when it comes to meeting the servlet specification, and no more. Its hell fast. As a result is very lean on what it offers out of the box. I needed to whip up a quick and dirty REST API using Tomcat and ideally using something based on JAX-RS. RESTEasy is a JBoss project that provides and surfaces various frameworks (e.g. Jackson for JSON serialisation) for building RESTful services, and is a fully certifed and portable implementation of the JAX-RS specification. Perfect. ...

April 17, 2014 · 4 min

Mac Tools List

A cruft free collection of life changing, awesome tools, that will help you squeeze the most out of your Mac and OS X. Essentials HomeBrew - rock solid package management, think apt-get for your mac. Install software with ease example: brew install wget. There are others, but I’ve never needed to look further. tree - a tiny, but super elegant command line (CLI) program that recursively dumps the contents of a given directory, visually as an ASCII art tree. So good! Demo: ...

April 10, 2014 · 5 min

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