Fanax: the Mycenaean term for "king"; pronounced "wanax". The funny initial letter, "F", is called digamma and shows up in Archaic Greek epigraphy (papyrus and tablet writings). The sound, if not the letter form, and its linguistic equivalent initially show up in the heiroglyphic writings (Linear B) of Bronze Age Greece both at Pylos, in the far west of Greece (Peloponnese), and at Knossos in north central Crete, the funny "F". Specifically, digamma shows up in the Greek of Homer's Iliad with the word "F"anax, but there it's a "rough breathing" in the form "(h)anax", where the term is linked to an important individual at Pylos. In Classical and Hellenistic Greek, the F continues in this aspirant, or "h" sound, form at the beginning of many Greek words.

Entries Tagged as software development

The Oddities of Leaving

November 04, 2008 ·

Have you ever left a job that you didn’t feel bad about leaving?  I don’t know that I have, not really.  Looking back across half a career, it seems like there have been two general categories:  jobs that sucked but it felt like "if I could just [fill in the blank], I could help this thing turn the corner ...", and then jobs that were fine or even great, the kind you leave because the new opportunity is simply too good to pass up or because the current job is great but not a great fit.

In the rough spots, that first category, there are the good people that you’re leaving behind.  They’re still there, dealing with whatever made the place rough to begin with.  Lingering doubts of “could I have done more?” coupled with the knowledge that I could have done more, but not probably enough to make a difference.  Lingering doubts of “maybe it was just me being a jerk or being out of touch” but then watching a parade of others leave every month or two for a year after I’ve left.  Watched my boss leave once a few months after I did, inspired, she said, by my decision.

So, when you’re in a good spot, in that second category, why in the world would you leave?! What, are you nuts??  I’ve been functioning as a business analyst (BA) for the past year or so, a professional IT consultant tasked with helping to define and guide software projects.  This is a highly valuable role in today’s market, so when I float a resume on a job board, even when the resume is development-oriented, I get regular contact from HR reps and consultancies offering to discuss Great BA Opportunities.  Don’t get me wrong, I actually really do enjoy doing BA work, which is why I left my last job to focus on that area of the market.  Huge need in market, I have strengths there, great match and a good move on my part.  Problem is that it’s not all I want to be doing.  Secondary problem is that if I want to be a BA, there’s no way I would leave Cardinal to do so … I can already be a BA, change companies every year or so, get opportunities to learn new businesses and new processes, all while having the support of a well run, employee-centric consulting firm.

So, the decision to jet comes down to one of two causes, which can be related, although they don’t have to be.  One possibility is that the current great job is simply not the best fit, “You know, I really want to be doing X”, whether it’s more or at all.  Another possibility is that an opportunity comes to you which is simply excellent, either because of the career opportunities, the money, or the fit, which is where the 2 causes can be tightly related.  People are known to make lateral or even backwards moves to get a better fit with their hopes and dreams or preferences.  Sometimes these things only come clear over time, so “fit” is distinctly changeable.

Business analysis was certainly one of those areas for me.  I have been doing BA work in one capacity or another since I started doing freelance software development projects back in the mid-90s.  I like talking to users, I like figuring out what they really need to be doing, and I love designing software solutions that can meet those needs efficiently and effectively.  As I noted earlier, there is a huge need in the market for these skills, and so it was an excellent career move to narrow my focus and to head off in that direction.  But I miss the execution.  Especially in large corporations, in huge IT groups, it’s impossible to even get visibility into design and development because the execution is so many steps removed from the users and the BA.  Forget about influencing design and development.  For me, that’s simply no good.  I am a strong system designer, a strong database designer, and I see solutions in all their complexities.  That ability to analyze and to track all the variables is what makes a good BA, but no one reads documentation, period, they just don’t, which means that a good BA can only bring his expertise to bear if he can influence / participate in design and development, at least at some level.   In my opinion this is what makes agile methodologies like Scrum so strong:  get the business rep (BA, PM, whatever) on the project team, make the whole team accountable to each other, define short bursts of clear direction, and get out of their way while they figure out how to nail it.  Keep documentation to manageable levels and make sure that the business rep (BA, PM, whatever) is fully engaged.  Let the ScrumMaster help keep the work clean and the wheels moving, and let ‘er rip.

All that being said, this Friday I roll off my consulting gig, to no longer be a Cardinal Solutions consultant bringing my BA skills to Fortune 500 clients in the Cincinnati area.  As of next Monday, I will be the Manager of IT for Gardner Publications, a closely held publishing company, managing their department of programmers, database folks, and network specialists.  Whether or not I push code, or regardless of how much code I end up pushing, I will be once again deeply involved in actually architecting and delivering solutions for problems both immediate and strategic.  And so, as much as I hesitated to leave a company as supportive as Cardinal has been – and they have been amazingly supportive, I cannot express how excited I am to be making this move!

New challenges, a new industry (it’s not seasonal textbooks this time, it’s trade magazines in the manufacturing world), management responsibilities, and a return to the ‘real’ business of tech! for a company that was looking for exactly my skills and background to help them into and through new transitions.

God is good!

Tags: family · miscellany · software development

ColdFusion

October 15, 2008 ·

Thanks to Dan Vega for posting this brilliant gem, linked back to coldfusioncommunity.org!

Ben Forta (The ColdFusion Evangelist for Adobe) on who should NOT use ColdFusion:

Click this link for the video

 

Tags: ColdFusion · software development

Numbers table / Calendar table

September 19, 2008 ·

Sadly, in all my years of DB work and programming, I had never run across this concept of populating lookup tables with sets of numbers and dates, but what an outstanding concept!  Basically, a Numbers table and a Calendar table (or whatever name you want for them) can be used to entirely avoid looping in T-SQL and even in middleware.  Fabulous stuff.

I ran across this on Ray Camden's blog, and in the comments on that post by Daniel D, who listed the following links:

How to create a numbers table http://www.sqljunkies.com/WebLog/amachanic/article...
What a number table can do
http://sqlserver2000.databases.aspfaq.com/why-shou...
And here is a similar page for days table
http://sqlserver2000.databases.aspfaq.com/why-shou...

 

 

Tags: software development

Arehart's Master List of CF Resources

September 04, 2008 ·

Charlie Arehart has just re-arranged his awesome list of CF (and non-CF) links, publishing the entire library at a new URL: CF411.com  If you're a CF user, use it and tell your friends about it!

Tags: ColdFusion · software development

Deliver a Redirected File

August 24, 2008 ·

So a few weeks ago, my low-cost, shared hosting account began to reach / pass capacity, as a client got further and further into weekly video uploads.  These were church messages, so each about 25-30 minutes long, and quite large.  The cost of adding additional storage seemed out of line with the costs of other services which are just "online backup" or "online storage".  Most of those services focus on providing free storage, however, and they don't allow direct-linking; the user has to go their website to link the file.  This wasn't going to work since I wanted to be able to put the Flash player widget on the page and show the video which had been uploaded.  (They're *.flv anyway, which means they don't play without a player to begin with.)

After trying several different free accounts (box.net, fileden.com, mediafire.com) and learning the ins and outs of each, I settled on MediaFire, a vendor with very low cost and very high storage / bandwidth.  They claimed to allow direct linking, so I thought I was set and good to go.  I purchased the pay-per-month plan, since you don't get their direct linking for free, and uploaded the first file.  I found that I could direct link to it and download the FLV, but I could not get the URL to work as the param of my Flash player.  What was going on??  After some more digging and a quick Live Chat to the service's support (love Live Chat support!!!), I realized that while they give me (the owner) a very nice, readable, share-worhty link (such as http://www.mediafire.com/?w0xlliia9k1), the service actually redirects on their side (to something like http://download236.mediafire.com/l33ddlcmxavg/v2qrqraqdsx/2008_06-29.flv, which actualy even uses the original file name).  The given short path is perfectly fine and works transparently when linking to a Word doc, for instance, but certainly doesn't work at all as the file param in Flash.

But, CF came to the rescue again, as usual.  After worrying I had picked the wrong service, it suddenly dawned on me that CFHTTP has a redirect param which can be set to 'No'.  Doing so returns the URL of the redirection, that is the 'true' destination / location of the file.  All I had to do then was add the unique part of MediaFire's file storage key to my database, and then run a quick CFHTTP to get only the URL (not the file, which would take 45 minutes to load from server to server), and then generate the Flash object with param = cfhttp.response.  So, after a file is FTP'd to our web server, the local path will work fine; if the file has been moved to MediaFire, then it doesn't exist locally, and I can test for the 'mf' key in the DB.  If I get a response, then the code swaps the path variable and continues to the object call.

<!--- "v" gives the file name of video, if it's there locally --->
<cfset v = viewState.getValue("v")>
<cfset mov = "../swf/" & v>
<!--- "mf" stores the MediaFire key --->
<cfset mf = viewState.getValue("mf")>
<cfset movFile = expandPath(".") & "\swf\" & v>
<cfif not fileExists(movFile) and len(mf)>
 <cfhttp method="GET" url="http://www.mediafire.com/?#mf#" redirect="No"></cfhttp>
 <!--- the response header now has a 'location', which is the redirect URL --->
 <cfset mov = cfhttp.responseHeader.location>
 <cfset v = listLast(mov, "/")>
</cfif>

Simple. Brilliant. Effective.  Love the CF!

Tags: ColdFusion · software development

Time to move on

April 06, 2007 ·

After 7 1/2 years with the same company, Global Cloud, it is finally really time to move on. I spent considerable time over the years challenging myself to make things better here, challenging myself to define new strong roles here, and hoping for changes that would both re-energize me and re-invigorate the company. A number of years ago, I started putting together my resume, and then we went through a massive strategic planning process, spending several months with a high-powered consulting company to redefine and refocus the company. Great work, great results, and a clear plan.

Which wasn't followed. I spent over a year working with other programmers to identify and start work on a new framework, since the company uses an archaic methodology for all its programming. That work was then circular filed for no clear reason, and the company continues to limp along, losing people, losing clients, and making thin-edge profits.

There is new hope, however, in the most focused product move to date, and I wish them all the very best. As for me, today is my last day, and Monday I move on to become a consultant with Cardinal Solutions Group, starting my first project for National City Mortgage. I'll be away from code and away from servers, acting as a pure project manager in the implementation phase of product updates and National enters the last 9-10 months of a 4-year project. Should be a heck of a change and a monster challenge, so I'm really looking forward to it.

-J-

Tags: family · miscellany · software development

Powered by Mango Blog Questions? Comments? Wanna say 'hi'? Write to us! top