jOOQ Framework - A Java SQL DSL

After reviewing higher level JPA 2.0 ab­strac­tions like Ec­pliseLink and TopLink for tieing a service ap­pli­ca­tion to a database I chose to use jOOQ because of its flex­i­bil­i­ty and ability to provide tight control over the SQL being executed in the ap­pli­ca­tion’s data layer. ...

April 4, 2014 · MichaelHughes

Slicing vs. aggregating big data

So you have a lot of data from something. What’s happens next? Where does the data go after point of capture? The data in question could be analytics gathered from application performance, click logs from a website, search data from a search engine, traffic flow data from a state agency’the point being that there is a lot of it. The given examples share use cases with some of the things covered by the much abused phrase “big data”, this post will touch on that concept lightly. The main point of today’s post though is to briefly cover one approach to thinking about how to store a bunch of data whatever it happens to be. ...

March 30, 2014 · MichaelHughes

I want a good, competent developer not necessarily a rock star

Something about describing a developer as a rock star is slightly off putting. Maybe it’s because when I think of rock stars the phrase “temperamental divas” comes to mind or maybe it’s because I never really understand what it means. Maybe it means this — Photo By gammaman / CC By 2.0 I think that I understand the intent. Technology firms and start ups really want talented motivated individuals who love what they do to apply for positions. The same phrases (talented, motivated, etc) could also be applied to members of popular bands and pop sensations. It just also happens that a number of other positive (or negative) adjectives may apply to a really popular musician but not to a good team software developer. At my employer very few projects are completed by solo developers. ...

March 5, 2014 · MichaelHughes

From dynamic to static to dynamic or why my blog is back on WordPress

I recently migrated back to Wordpress as my blog platform of choice. The change has been painful, in fact, many of my older posts haven’t been migrated to WordPress. The change has been worth it though since it makes publishing easier. Today’s post is about the importance of focusing on the core workflows of an application and ensuring that they are as easy as possible to complete. ...

February 27, 2014 · MichaelHughes

Engineering Priorities

A (really) short post on the priorities of hobby projects, 1st draft projects, final production grade ap­pli­ca­tions. As per the post tag the below is only 1/4 serious and 3/4 for fun- Hobby / 1st drafts: Novelty (Can I use this new shiny thing?) Per­for­mance (Can I make this new shiny thing go faster too??) Re­li­a­bil­i­ty (Oh yeah–it fails sometimes, but I just restart it.) Cor­rect­ness (Wait you mean it was supposed to solve problem X and not problem Y???) As in: I want to try something new that’s fast, usually works, and normally returns me the right thing (for what I thought I was solving). ...

February 18, 2014 · MichaelHughes

UX is important for business applications too

One of the hardest parts about building software for people is the people. The last couple projects I have worked on have been user oriented data exploration tools (generally speaking, one was for a marketing group and the other was for an automotive firm). In both cases there were two overarching questions that had to be answered for every feature we implemented. The questions were what would a new feature do and how would a user use the new feature. In a version of form over function we discovered that a number of times how a user would use a feature to find data would influence how it needed to be implemented. ...

January 7, 2014 · MichaelHughes

Brewing and development

I’ve been brewing and developing systems for a few years now. Today’s post is about some similarities and differences I have noticed between brewing and developing and differences (this will make more sense later). ...

December 23, 2013 · MichaelHughes

Patterns, learning on the job, and college graduates

Today’s post is on how new hires out of college seem to learn best at my firm. Keep in my that the following is purely my opinion and is based on my experience as a consultant working on custom software development projects with recent college graduates. ...

December 22, 2013 · MichaelHughes

Nginx ipv6only setting gotcha

Summary A brief tip on the symptoms of con­fig­u­ra­tion gotcha I ran into when binding Nginx on IPv4 and IPv6 networks. The fix was to set ipv6only=off in the listen directive. Recently I upgraded to Nginx 1.4.0 on my the host for this website from an older version of Nginx. After the upgrade I found that con­nec­tions to port 80 from IPv4 hosts were refused. Con­nec­tions from IPv6 enabled hosts worked fine. ...

December 14, 2013 · MichaelHughes

Engineering Priorities

A short post on the priorities of hobby projects, 1st draft projects, final production grade applications. As per the post tag the below is only 1/4 serious and 3/4 for fun. Hobby / 1st drafts: Novelty (Can I use this new shiny thing?) Performance (Can I make this new shiny thing go faster too??) Reliability (Oh yeah–it fails sometimes, but I just restart it.) Correctness (Wait you mean it was supposed to solve problem X and not problem Y???) As in: I want to try something new that’s fast, usually works, and normally returns me the right thing (for what I thought I was solving). ...

April 21, 2013 · Michael Hughes