Friday, June 26, 2009

Out of work

Not sure why it took me so long to think about posting my current employment situation on my blog..... But here goes.

I am currently unemployed. Things didn't work out with my last company, and they let me go. I'm living in the Seattle, WA area, for at least the next few weeks, while I continue to look for work. If I can't find anything between now and then, we'll be packing up the family and moving back home to SC, unless there are better (read, nearly guaranteed) jobs elsewhere, in which case we'll probably relocate there instead.

If anyone who reads my blog is on a dev team looking for someone, and you think (by my posts) that I might be a good fit, please let me know! I would be forever appreciative. =)

Monday, June 15, 2009


While working on converting my name generator from C# to F#, I've come across some strange things.

I mentioned earlier that the statistical analysis portion of my generator counts the number of syllables in its input set in order to use that data to make certain syllables appear more often than others. While looking through my C# code, it appears that this is not the case - I, in fact, am not using that data for anything.

It was my original intention to use it as such, but in retrospect I recall having issues translating this requirement into functionality - especially since I was using SQL Server to perform my random picking. I wonder if I can fulfill this requirement now that I'm using F# and eschewing SQL.

By the way - when I'm done with this project, I'll post up snippets of my F# for review... I'm sure you vets will have plenty to chuckle at! :)

Saturday, June 13, 2009

F# progress

Made some progress on my name generator. The statistical analysis side is the hardest part - parsing individual words into their constituent syllables. I am happy to report that after several hours of plugging away, I have a mostly F#-axiomatic syllable parser based on the logic of my C# version. I made gratuitous use of discriminated unions, pattern matching, and recursive functions to write the word parsing logic, rather than OOP and procedural methods similar to what I used in C#. I feel like this has given me a decent grasp on what the language is capable of.

My next task is to continue the statistical analysis portion, and generate syllable boundary data (which is important for the generator to know how to put words together in ways that make sense). After that, the generator itself needs to be written, which should be a simple matter.

The only question at this point that I have is how to handle the SQL database access - much of the logic for generation is embedded in the SQL calls to the database. I'm considering eschewing the database completely and designing my own file-based storage solution, but then I have a whole new class of problems.

In the end, this is going to get compiled as a class library, for consumption in my name generator website (which currently isn't online).

New F# project

Despite the fact that work has intervened in almost all my personal project plans (mostly in the form of making me want to do anything but programming while I'm at home), I still want to learn a new language. F# has been on my radar for a while, especially since it's being included with vs2010. I have been struggling with trying to find something to write in F#, something that I know well enough to be useful as a tutorial for myself, but also something large enough that I'll be able to use most of the idioms in F# that I should need for most any large project.

I had forgotten that, apart from simple expression parsers, I used my Random Name Generator project to learn new languages. My name generator requires text input in order to build statistical data from which random words are generated. It was originally written in Visual Basic 6.0, and was ported to VB.NET, then to C#, in order for me to learn those respective languages. I think it's time to do it again. =)

Thursday, June 11, 2009

I hate release days...

My months-long shipping project has just been released - my largest at this company to date - and it replaced a great deal of critical functionality. My nerves are shot and I didn't sleep well last night while our lead dev rolled out the changes. All went well, and everything's fine, mostly thanks to the fact that we 'practiced' the release the day before on our test setup.

Still, the butterflies won't go away...