Friday, December 23, 2011

Fixing my foot wound

I just know from outpouring of concern, you are just dying to know how I resolved my Java/SQLServer 2008 issue. So I shall tell you.

I happened to have a 2 month old snapshot of my development Virtual Machine, so I pulled the cached copies of the old install .debs and forced them to install on my current system. Everything works (except for a broken dependency warning ) now.

Now I just have to wait, and test, to see when the problem is really solved and I can update my system.

Sunday, November 27, 2011

Shooting Myself in the Foot

I went through a lot of effort recently to create development system to 'isolate' it from my usual pc activities so that my development system would remain stable.

Then what did I do?

I installed a java update without testing it and now a critical process i need (jdbc to sqlserver 2008) is broken.

And,  did I have a backup of java ?  NO.

So now I will pay the price of having to figure out how to get this to work again.

What did I learn?

1. Backup your programming environment not just your source code (Possibly in git)
2. Test all updates (I'm running a VM so I can make a snapshot)

I guess the moral of the story is "Experience is what you get when you don't get what you want."

Saturday, November 19, 2011

7 Reasons Why I still like VI

I cut my teeth on UNIX 25 years ago and the first text editor I ever leaned to use was vi (on AT&T UNIX) .  Over  the last 25 years computer interfaces have progressed from ASCII to GUI and programming has progressed from command line to IDE's and I've moved along with with then. But recently I moved my development system from Windows to Linux and had rediscovered VI. Here are my 7 reasons that I still like it and one new one:

  1. It runs in pretty much any terminal environment
  2. Being able to open and edit multiple files with a wildcard from the command line
  3. sed scripts for mass edits 
  4. You can delete a word or a series of words with 2 or 3 keystrokes
  5. The dot (.) repeat last command key
  6. Never having to touch a mouse
  7. Being able to impress younger colleagues
One new reason that vim provides:
  1. Groovy Syntax highlighting
By the way you can install vim on your windows machine too so you can have these advantages anywhere.

Wednesday, September 21, 2011

Is Groovy Relevant Part Deux

One of the discussions at the NFJS conference last weekend was on this very subject. (See my earlier post.)

  • I learned that there is more Grails acceptance in the 'back office' than I was aware
  • Every Session on Language had references to Groovy (even if it wasn't the subject) and typically they were quite positive.
  • Also I saw this article in eWeek (has nothing to do with NFJS).

So maybe I'll move out of my doldrums now.

Tuesday, September 20, 2011

This Years Resolutions

Went to to NoFluffJustSuff in Atlanta this weekend, this is a great conference and I always come out of it with new resolutions to improve my programming. I decided on two major areas to work on:  First, start using some kind of version control (I don't even think I need to justify this one). Second, learn a functional programming language since this is a paradigm that I'm not familiar with, and it should help me round out my programming skills.

As for the first item, I downloaded git (its all the rage among the open source folks) and I've started using it. It's surprisingly easy to implement for simple version control that I've tried. You can update and save changes with just two commands. The windows version even has a GUI menu.

As for the second item, I downloaded a copy of clojure which is a lisp-like language that runs on the JVM. While git was easy to figure out,  functional programming with clojure is anything but. I have to change my whole perspective form the hybrid OO/procedural method I use now. (And there are way too many list types too) . We will see how that goes.

I'll try to keep you updated on my progress.

Sunday, September 11, 2011

Is Groovy and Grails still relevant

Groovy and Grails have been around a while, and are becoming mature. There are lots of cool features and tons of great capabilities. But in the TIOBE Programming Community Index for September 2011 groovy is in the 50 to 100 ranking, which only warrants them a listing with other programs en mass that is more akin to a footnote than anything else. If you look for a job on various freelance sites, you will find the number of Groovy/Grails opportunities in the single digits, and Ruby/Rails and Python opportunities in the triple or quadruple digits. Its very hard to find low end  web hosting companies that support Grails. Even Cloud Foundry from VMWare (the parent company of Spring  who brought us Groovy)  doesn't specifically mention it on the home page of the website

This forces the question: Is groovy worth it?  Even though Groovy is fast and easy and Grails makes creating web apps efficient, I can't use it to make money (and I do have to eat).  Should I stick with it, or jump ship to something else ? what do you think?

Saturday, July 2, 2011

C vs. Groovy

A quick program in C and Groovy, You can compare and contrast

//Calculate Cost
def cost (s,r,m) {

//main portion of progam
println "cost for month $it is ${cost(100,10,it) }"

/***Cost.c ***/


/* Function protoypes */
float cost(float,float,float);/*Calulates Costs */

/* main function */
void main (void) {
float c=0;
int n;
for (n=1; n<11; n++) {

printf ("Cost for month %i is %f\n",n,c);


/* Cost Formula */
float cost(float s, float r, float m) {
return (s+(r*m) );

Friday, May 20, 2011

My Programming Toolbox

I've expanded my programming toolbox over the past few months, so figured I'd tell you what's in it right now. (These are the tools that I use regularly.)

Power tools

  • Java: If its big, and complicated I pull out multi purpose language. It runs anywhere, can create a sophisticated GUI, and has static typing.  What more could you ask for ?
  • Grails: Fast and full featured you can build quite a sophisticated web application. Lots of plug-ins save time and effort.

Hand tools:

  • Groovy: Do you need a sophisticated script, or to build a java class quickly, Groovy fits the bill. It simplifies many common programming tasks but still lets you leverage your java knowledge.
  • Powershell: Do you need to talk to Microsoft applications like office, etc. and mange Windows machines? Powershell is your tool. Its a cross between shell scripting and .net programming. and you can access any .Net library too. (Powershell is available on most windows platforms.)

Specialty Tools:

  • C#: If nothing but a DLL will do you can do it with C#. Don't worry, if you know java programming in C# is an easy transition. (Visual Studio Express is free too!!)
  • Lua: A fast scripting language that runs interpreted scripts almost as fast as C. Its great for stuff that needs to run in near real time. Available on most common platforms and can be ported to any platform that has an ANSI C compiler.
  • PERL: Sometimes you need to deal with text files and nothing does it better than PERL.

One of the keys to building a programming toolbox of your own is to be pragmatic. I'm a big open Source/JVM fan,  but I do a lot of work on windows  as well,  so Windows tools are are a part my toolbox.