Pencils Down

This weblog is about my experiences in software development

FindBugs is a program which uses static analysis to look for bugs in Java code.

It is offered as an Eclipse plugin. So, just like any other plugin:

  • right click on the item(s) you want to check,
  • click on “FindBugs” and
  • off you go.

Some of the issues that have come up for me:

  • use of static SimpleDateFormat – it’s not thread safe – who knew?
  • new coding did not have a setter for a dao – hopefully testing would have shown the error
  • compares on different object types – the code looked correct, but oh oh…

I love things that just work

Just saw that Java 8 fixes the date problem –

The Worst Developer Job (Boston)

Job Responsibilities for a horrible Web Developer Job at a company you will HATE:

-Achieve 100% code accuracy in all 300+ required programming languages. If 99% accurate, termination.

-Argue with all product development teams in an aggressive manor wherever possible for optimal productivity.

-Conduct design and code reviews. If a bug is found, termination.

-Maintain a low awareness of industry issues and trends, particularly in regard to web technologies. (If you are looking into latest trends you are wasting company time, termination)

-Provide technical leadership and make fun of on ALL new developers as they are on-boarded.

-Give 100% accurate time estimates.

-Contribute to documentation and arguments amongst co-workers where required .

-If you share how to identify and implement ways to improve how we build software in any way, termination.


-A-holes are promoted within the first 6 months.

-12+ years experience designing and developing highly scalable web apps on the Microsoft platform

-Hands-on expertise with ASP.NET, C#, C++, SQL, CSS, HTML, JavaScript, jQuery, AJAX, Ruby on Rails, Node.js. If not expert level, termination.

-Passionate about having a hatred towards co-workers, wants to stay hands-on, enjoys coding in dark (locked) closets, enjoys being chained to their desk. (recommended)

-Able to organize and clarify complex business fights in the office.

-Familiar with Agile development processes.

-Able to work in an Hierarchical company where nobody gives a S*#! about your opinion.

-Self-motivated and willing to work all weekends and holidays.

Benefits (If asked about any of these, termination)

-Competitive salary (If you are not an expert programmer, you will not get paid)

-No time off. Even if sick. If sick, termination.

-$1,000 bonus if you never talk in the office

-Grade D Health and dental insurance

-No group life, short-term, and long-term disability insurance

-Opportunity to work in a small, high stress, impossible to grow startup environment

-Ping-pong and foosball tables for superior hand-eye coordination. If you give into temptation and play these game in the office, termination.

-Paid in Trident Layers. (used)

– $25,000 Base Salary. Pay increase after 8 years.

If you want to find a tech job that doesn’t suck, apply on …

I have run across an issue several times with Maven in Eclipse. If a dependent project is updated my project is toast for the rest of the day. I have tried shutting down Eclipse, rebuilding all, updating all dependencies: you name it.

After being fed up with this today I tried shutting down my machine and starting anew. Guess what? The build worked! No changes whatsoever to any of my code.

Just got this (while trying to create history records of a set)

The error occurs because an attempt was made to store the exact same Collection object more than once (possibly in multiple objects).

In my case I just attempted to copy the collection out of the real object into the history object.

I think this is enforcement of the not allowing multiple inheritance in Java. Also, not sure how this would work at the database level

jQuery DataTables

No comments

Great jQuery add-in datatables

  • Variable length pagination
  • On-the-fly filtering
  • Multi-column sorting with data type detection
  • Smart handling of column widths
  • Display data from almost any data source
  • Scrolling options for table viewport
  • Fully internationalisable
  • jQuery UI ThemeRoller support
  • Wide variety of plug-ins

All the things you want

Summer Doldrums

No comments

In between project/phases. We commented all the code. Made minor adjustments to packaging. Regression tests take a few days…

Especially fun as contractor since you don’t show up you don’t get paid.

Trying to investigate newer, neato things like hadoop. But that will take a while.

What do you do?

Jump Ship or Not

No comments

If you are a developer (probably in any language) you are getting phone calls on a daily basis asking if you want to go work elsewhere.

I have been at current contract for a few years now. It’s good work. Good people. Great location. Good environment.

I have also run into significant bills in the last 2 years, mostly medical. And like everyone else the creep of inflation (I know Obama keeps saying it’s very low) is taking it’s toll.

So, I have started responding to these agencies asking what the rate might be for this neato position. In most cases it’s less than I am getting now so it’s a no brainer.

Today someone responded with a rate 25% higher. What the heck do I do now?

Another developer and I started seeing this running an app locally.

While it sounds really interesting with hints of transaction state it was really just noise cascading up from a missing property in the local properties file.

Yes, it did not occur on server. But again, from the wording it sounds like some filter error or the like and we use different authorizations running locally.


No comments

VerbalExpressions is a library available on GITHUB for Java,C++,PHP…

It allows you to build an expression using a VerbalExpressions object.  The example from this site is below (showing Java but very similar in other languages).

VerbalExpression testRegex = new VerbalExpression ()
                                 .anythingBut(" ")

// Create an example URL
String url = "";

// Use VerbalExpression's testExact() method to test if the entire string matches
// the regex
testRegex.testExact(url); //True

testRegex.toString(); // Ouputs the regex used:
                      // ^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$

VerbalExpression testRegex = new VerbalExpression ()

String testString = "defzzz";

//Use VerbalExpression's test() method to test if parts if the string match the regex
testRegex.test(testString); //true
testRegex.testExact(testString); //false

I just started getting this screen instead of the normal breakpoint screen in Eclipse.

Turns out that (My)Eclipse must be checking the source tree that is in use.

Stopped the project

Updated the project (there were updates)

Rebuilt and deployed project

No longer an issue

Unclear if there is a way to tell debugger to stop looking and just use what is on my machine