Posts
1145
Comments
890
Trackbacks
1
June 2010 Blog Posts
Advantages of being a contractor

Davy Brion has a good post about overtime that is worth a read.

I’d like to expand on my comment to his post.

I should note that this applies beyond IT.

It seems to be an expectation in many organizations that the people who work for them should need to work more than 40 hours a week.  This is unfortunate, but it is what it is.

As a contractor, you can bill for it.  End of story.  If the organization you work for, for whatever reason, good or bad, has this sort of expectation, then your billing invoice raises this as an issue for them.  They can choose to accept it, modify your expected hours, or get rid of you, all of which are valid choices for them to choose, but it raises the issue to management.

Another advantage (which generally trumps the billing thing) is very clear: you don’t have to care about certain types of office politics.

In the times that I have been an employee (and sure, this reflects on me, that’s fine), it has mattered if Employee A who does less work and provides less value than me gets paid more or gets other benefits (whether specific like salary and options or more vague like time off, being able to work from home, etc.).  Even when I knew the specific reasons why this occurred (for instance, I once had to work for someone who was clearly less qualified than I was because that person had to be offered a particular position in the org chart to come back to the organization…it was an understandable business decision), it was highly annoying to know I should have been at his position or even above it based on job qualifications.

When you are a contractor, this doesn’t matter.  Employee A has more pull with the big boss, regardless of skill, because of past experience?  Okay.  I’m a contractor.  Unless it massively affects my daily work processes, then that’s fine, let Employee A do whatever role he’s assigned to do.

For all sorts of legal reasons, there are potential differences between how employees and contractors are treated, and you should be aware of them.  But once you are freed from worrying about where you sit in an org chart, you are really freed from all sorts of considerations that might otherwise be relevant.

posted @ Wednesday, June 30, 2010 7:17 PM | Feedback (0)
On the Ontological Nature of Comedic Discourse

Or, more succinctly, is Dane Cook remotely funny?

Sirius Radio

I spend a lot of time driving.  At a previous client, I used to have one of those fantastic 2+ hours a day commute going out to the west ‘suburbs’ of Chicago (if you can call either Lisle or Naperville a suburb) and while I don’t miss it at all (well, I miss a person or two from the client, I guess), I used it to keep at least vague track of contemporary music and listen to a lot of sports radio (digression…I have never, ever been accused of being hip, but I realized most directly last year how out of it I’ve gotten when, from The Rolling Stone’s Top 100 Singles of the Year, I recognized the name of the band for only seven of them, and could only hum 3 of them to save my life).

More recently, my commute to downtown has made daily life a lot easier, but I tend to take a number of road trips.  This past spring, I did a ‘NHL Hockey Tour’ and visited 8 different cities for games (the downside of the Blackhawks’ resurgence is that it has become easier to get a ticket to a Red Wings game than a Blackhawks game, for instance), and a wonderful companion on the trips is Sirius satellite radio.  Since I was usually travelling on a weekend, I would listen to any live NHL game on the Best of XM package, but if that wasn’t available, I would usually tune into one of the various comedy channels (except for the Jamie Foxx channel, since there’s too much music played there), and I’d say that about 50% of the time, that’s what I listen to now at any given moment (especially since it’s the offseason for the NHL and so not as much to hear about). 

Anyway, something got me to thinking (and you can probably guess where I’m going with this…).  But first, for one of the rare times on this blog, let’s talk a little about Philosophy.

Philosophy 101

When I taught undergrad philosophy, it was generally a lecture course, that is to say, I rarely used my classes as interactive forums about any particular philosophical topic, instead, I would simply teach using my fascinating examples, and let them ask questions, etc.  I did this for a number of reasons (one major reason is that I just didn’t really care to devote a semester to hearing what individual students thought about any particular topic), and one major reason was that getting students to understand what Philosophy was involved getting beyond typically trite statements that tended to start with “Well, my personal philosophy is….”, since that had little to do with Philosophy.

But, to get people to begin to understand some of the fundamental concepts and distinctions, I would usually start the first or second class by writing a set of statements on the board, typically like the following:

A: 2 +2 =4

B: The Earth revolves around the Sun

C: Capital Punishment is immoral

D: The Beatles are better than Duran Duran (I was deliberately dating myself with this one, but people got the gist of it)

I would then ask them what they thought about these statements.

One of the fundamental mistakes that they would make would be to blithely classify things in terms of facts vs. opinions, and as you might guess, most people would readily accept A and B as facts, you’d get more of a split when it came to C, and then usually, most would classify D as an opinion.

Some fundamental distinctions within Philosophy are between Objective vs. Subjective and Absolute vs. Relative.  Once you start to get into it, you find some seemingly strange results.  For instance, A is Relative but Objective, that is, that 2 + 2 = 4 is Objective, but Relative to Base 10 (so, 1+1 = 10 is true relative to Base 2, but false relative to Base 10).

When students would say that something was an opinion, what they typically meant was that it was (almost or completely) Subjective (if it was up to an individual to decide if it was true or not) or, when it came to moral statements, perhaps Relative (to a particular culture, for instance). 

But when it came to something like D, students were more likely to say that it was an expression of a personal opinion, that you simply preferred one over the other.

My professional informed opinion is too complicated to describe here, but even the layman student could be pushed to think about it (if they cared to) by making some basic observations.

For instance, there seems to be no inherent contradiction (and a lot of Philosophy involves discovering or eliminating inherent contradictions) in saying that I think The Beatles are better than Duran Duran, even though I might at any particular point prefer to listen to Duran Duran at the time.

To press this, I would usually use movies as an example (for whatever reason, people seemed to be more inclined to think that there was something about a movie that might make it better or worse than another one) and ask if it was just an ‘opinion’ that  The Godfather was a better movie than Porky’s Revenge.  There’s one in every crowd, but more people than not were hesitant to accept this.  The Godfather, in some sense, seemed to have better actors (better in what way?), a better script (better in what way?), an actual plot (okay, not much to say there), etc.  Even if you didn’t want at any particular point in time to slog through a viewing of The Godfather, it seemed harder to defend the position that Porky’s Revenge, in any way, shape or form, was a better movie.

And most people are able to make similar distinctions across all sorts of genres in all sorts of cases.  You might be in the mood for a romantic comedy (knowing full well it was fluff) but not really think that it was better than a ‘serious’ film.  You might want to see an action film (knowing full well that the chase scenes were completely unbelievable) without thinking it was better than a documentary.

And (though it dates me a bit as well again), a show like Mystery Science Theater 3000 was as highly entertaining as it was because the premise of the show was that the movie being showed in each episode was, well, crap.  The characters of MST3K pointed out at every possible moment that the movie was crap, and, in fact, seemed at its best when the movie was as craptacular as you could get.  Yet, few people would actually say that the movie was good, just because it was enjoyable to watch under those circumstances.

Which brings us back to comedy.

This Dane Cook fellow

My ‘taste’ in comedy is pretty wide ranging, and so I spend as much time as I do listening to Sirius’ comedy channels because you get a wide range of comedic styles.  You have political humor, the standard ‘men and women are different’ humor, impressionists, ‘blue’ comedians vs.. safe, ‘Blue Collar’ vs.. edgy, a wide gamut of things.  I have my preferences, but I’ve always wondered if I preferred certain comics because they were funny (and not preferred others because they weren’t funny) or if there was more to it than what I happened to prefer.  In most cases, I would like to think that I could at least identify why something might be thought as funny, even if it didn’t strike me personally funny at the time.

And then there’s Dane Cook.  By all financial accounts, he is one of the most successful comedians of our time.  He’s made millions, sells out tours, sells countless product….but I never heard a single bit of his (and he’s played a lot) that caused a single laugh (though more about this at the end).  I mean, not even close.  He’d do a bit, the audience would be going wild….and I couldn’t tell what could possibly be funny about any of it.

It turns out (from a Google review, anyway) that I’m not the first person to wonder about this (you can Wikipedia the dude to find out).  How is this guy so successful when he doesn’t seem to have a single bit, a single sketch, a single routine when he elicits a laugh?  At all?  In fact, the funniest ‘routine’ of ‘his’ that I’ve ever heard was a MST3K-type spoof of him about how unfunny he is.

So, is it just an opinion of mine that he’s unfunny?  Am I right or wrong about it?

Irony, perhaps

The ironic thing is that after dozens of routines that I’ve heard from him that I never came close to laughing about at all, I’ve heard two in the last week, and perhaps the funniest one was about him Googling himself and talking about how unfunny people find him to be, and how it affected him.  It was LOL stuff (paraphrasing: “You know, after Googling all this stuff about Dane Cook, this guy is a complete douchebag.”)

So, is the Ontological Nature of Comedic Discourse Absolute?  Relative?  Objective?  Subjective?

There’s a correct answer, but I leave it for now as an exercise for the reader to determine it (though as a hint, if you say it is totally Subjective, you’re wrong……)

posted @ Monday, June 28, 2010 9:53 PM | Feedback (0)
NoSQL and the Six SQL Urban Myths

A very interesting article from the Hot Scalability site about VOLTDB, a next-generation RDBMS that is purported to scale beyond NoSQL implementations without giving up ACID.  It targets both the NoSQL style databases (listing the six SQL urban myths that its makers think NoSQL advocates fall prey to) as well as the ‘dinosaur’ traditional RDBMS’ like Oracle and SQL Server.

The article is a very interesting read, giving a lot of pros and cons about VOLTDB, but if databases are your cup of tea, it’s definitely worth looking into.

Check it out.

posted @ Monday, June 28, 2010 5:13 PM | Feedback (0)
Horrible Performance is a Bug

TDD can’t help you when it comes to determining the performance of a software development project.

Imagine if you will a situation where you are dealing with a 3rd party vended application, and you work through all of the functional requirements in a UAT environment.  Imagine that you have previous experience where related software projects have performed by orders of magnitude better in PROD than in UAT.  When the important software development project is migrated to Production, how will it actually perform?

Anyone with any decent amount of experience already knows the horrific result of finding out that it performs orders of magnitude worse.

There is no easy answer when it comes to this, but it’s a fact of life.  What is important is having metrics for each key component of the project so that you can at least pinpoint where in Production things are worse than what they should be.  And then do a lot of guessing.

From an end user’s standpoint, perfectly functioning functionality that performs significantly slower than expected can be as bad, if not worse, than broken functionality. 

Keep this in mind when developing any new software.

posted @ Tuesday, June 22, 2010 8:55 PM | Feedback (0)
Pool Safety is Important

A completely unrelated topic to what I normally post, but what the hell.

If you have kids, and they are going to be in a situation where there is a pool involved, make sure it is fully staffed, especially with lifeguards.

Very good friend of mine had the ‘joy’ of having her kid (a decent swimmer for her age, but age 4) pulled from a pool today because apparently the non-lifeguard staff lost sight of her and didn’t notice that she was struggling and in danger.  Luckily, the lifeguards did their job and all is well.

All’s well that ends well, but in all seriousness, this is one of those things that you see in the news and think won’t happen to you.  If your child is going to be in an area where they could potentially drown, take the necessary precautions, and always have lifeguards present.

End of lecture/service announcement.

posted @ Tuesday, June 22, 2010 8:33 PM | Feedback (0)
A description of a not entirely ideal software development project

Names and places are changed to protect…well, to protect against any personal liability.  You can guess the rest.

The first thing you will note about a project like this is that the actual end user and/or business requirements are not really defined until you are at least 75% through the development of the software that is supposed to support the requirements.  An important thing to highlight here is that the actual end user requirements and the business requirements are not necessarily the same.  No, it would be folly to think that they were.

Another fine point is when the PM in charge of the project, and the lead developer who built the code for the project, both leave the day after the initial deployment of the software in question to production.  And leave it to you to manage it.  And, by the way, the software doesn’t actually work quite right and needs to be fixed.  And no, I’m making this up.

And let’s compound the fun by making the software part of a deployment process where the development team is not allowed to have any physical or remote access to the servers in UAT or Production.  And, also, let’s add that this is the first deployment of the group into a particular environment (so, there’s Production in the current environment, and then there’s Production in the new environment) which compounds everything because you haven’t had the chance to ‘kick the tires’ previously to shake out all of the configuration related issues that always come up.

And, finally, let’s add the fact that the new Production environment is ‘clustered.’  This means different things in different situations, but for now, let’s just say that it means that there are multiple virtual machines (the number of which is potentially always in flux), all of which have the application deployed.  And each machine runs one or more Windows Services to manage the application.  Oh, and finally, finally, let’s point out that the application was designed under the assumption that one and only one machine would be running it at any time, meaning that no single machine has any idea that there might be other active machines trying to do the same things at any given point in time.

And did I mention that at the core of this application is a vended application that we have no control over (in terms of changing code, at the very least)?

Some might think I was making a scenario like this up.  Though the details are sometimes better or sometimes worse, this isn’t actually completely out of the ordinary.  Okay, it isn’t good. <digression>Having the PM and Lead Developer leave the day after it was first deployed to production was a nice little event to deal with.  They both left voluntarily (i.e., they weren’t canned), and I don’t blame either of them for it, but it makes for some interesting issues.  As much of a jackass as I am, I’m very little inclined to blame the prior regime for any problems, as I don’t think it comes across well, and it’s sort of irrelevant.  What matters is dealing with the current situation and dealing with it.  On the other hand, some of the problems are, quite simply, due to oversights.  In this particular scenario, the fact that it was being deployed into a ‘clustered’ environment was not really thought out.  The ‘solution’ designed assumed it could be handled by shutting down the Windows Service(s) on all but one machine when deployed.  Anyone with any operational experience knows this is a non-starter.  It’s a clustered environment where there are multiple active machines, not one where there is software that automatically handles having one machine be active with the rest passive, as you have when running Microsoft Cluster Server, for instance.  But, I digress. </digression>

The question is: what the hell do you do if you find yourself in this position?

The Magic Happens Here…Maybe

The first thing you need to do is to determine, what really is the critical business need?

What helps here is to find out who the actual end users are who are on the critical path, and to determine what they really need to work.  When coming into a software project ‘blind', so to speak, there are certain things you can do.  As primitive as it might sound, a great starting point is to watch an end user use the application to get a sense of what their expectations are.

The idea is pretty simple, but I think worth describing.  I’m Johnny New Developer, and I’m given a fairly significantly sized Visual Studio solution.  It’s always fun to go through the source code ‘cold’, so to speak, but even when the code is well-written (as the core code, the code that provides the central functionality of the application, for this app was), it isn’t always clearly evident what the starting point is.  I mean, obviously, if the App is a Windows Form app (as this one is), you can start from Main, and go from there, but that doesn’t really tell you the crucial parts of the software, where it is most likely to fail.

The fact that at the core lies a vended app brings up another point (or 12), so let me digress….

TDD sucks, but even if it didn’t, it wouldn’t matter

I’ve often commented on why I really dislike TDD, but it’s worth expounding upon, because this particular project helps to explain why.

TDD tells you to write tests before you write functioning code (there are endless debates about how rigorous you need to be about this.  The people who argue in favor of total rigorosity (yes, I made that up) are wrong.  But I digress).  The idea is straightforward, which is why is sounds so cool.   Before writing the code that actually implements functionality, writing tests naturally forces you to consider basic questions like “what do I actually want this code to do” and “once I figure out what I actually want the code to do, what’s the easiest, simplest way to implement it” and so forth.  Nothing about this is inherently bad, in fact, in general, it is inherently good.

But what TDD doesn’t tell you is where to start, and even worse, it focuses on the class level.  What should this class do?  What random edge cases do I need to consider?  Unless you are building a framework (where you don’t know necessarily how it might be used, and so need to define an API that considers all legitimate possibilities), this is wasted effort.

Where what is commonly called BDD (no one really agrees what to call it, or what it exactly means, from what I can tell, but I digress) is vastly superior by orders of magnitude is that your testing is guided by the business requirements of the software project, which should be defined by, well, the business.  Moreover, when you are building an application, *you* define how the application works.

To use a stupid example: suppose if someone enters “-74” in a textbox, it will cause your class function to blow up.  TDD would tell you that you need to write tests to determine what will happen if “-74” is an input to your function.  What if someone enters “Q”?  You need to write a test for that (and to be clear, I don’t mean to imply you need to write tests for every single possible input, that would be silly, but that you should write tests for ‘types’ of bad input).  And so on and so forth.

If you look at it from a BDD standpoint, you don’t need to know how your function will respond to bad input, because you write ‘Specs’ (a fancy word for ‘Tests’ that has some implications) that prevents your application from accepting bad input in the first place, often through simple RegEx validation (and yes, I know that the idea that RegEx is easy is funny, but I digress). 

More importantly, from a BDD standpoint, you understand that the important functionality of your code crosses classes, functionality which you can control at the application level.  TDD can tell you how classes will function in isolation, but they don’t really tell you how your code works across classes, and when it comes to testing an application, this matters most of all.  BDD focuses your attention on the functional/business requirements of your software, exactly where it is needed.

Once you start working with vended applications, TDD really sucks because it doesn’t focus on the often unavoidable interactions your application have with those vended applications.  BDD ‘Specs’ more naturally focus on how the various parts fit together, which is often times where real-world applications break down.  It’s not a *bad* thing to know that *if*  a vended application gives back output A, my Application will do B.  And mocking all that out (or stubbing or whatever) isn’t evil.  But more often than not, you want and need to know what the actual output from a vended Application is.

And with BDD, you can easily separate ‘Specs’ that are ‘integration-like’ from those that aren’t.  With TDD, integration testing is something above and beyond, but, especially when you are working with vended applications, the integration tests often become the most important ones.  BDD tests “does my application actually work” whereas TDD tests “given how well I’ve thought out the possibilities, do my class functions work as I expect?”  The latter is nice to know, the former is what actually matters.

Where the magic happens, maybe (again)

Once you understand that the integration tests are the ones that ultimately matter, you can then focus in on the entry points into the vended application that can cause your application to fail.

There is no ‘magic’ without knowing what those entry points are and how the vended application will perform, but some simple points are obvious.  If you are in a ‘clustered’ environment, are those entry points idempotent?  If they are, great, but if they aren’t, sometimes you have to fall back to a simplistic data driven solution, where only one server is designated as being active, and so no action will be performed unless performed by the designated server.  Though it feels massively hacky to do this, it is often the easiest way out of a tough situation.

Every situation is different, but if you are forced into trying to support a software project that you otherwise know nothing about, work with the end users.  Watch how the application works.  Find out what the critical entry points are and focus on them.

Or, you could quit.  I don’t recommend that course of action, but in the end, you have to do what you have to do.

posted @ Friday, June 18, 2010 7:21 PM | Feedback (0)
cqrs for dummies – an interlude – DDD Exchange 2010

Event Store Layer post is coming (really, it is), but in the interim, you can find a lot of good presentations from the DDD Exchange 2010 in London (which obviously covers DDD in general, as well as CQRS) from Eric Evans, Udi Dahan, Greg Young, Ian Cooper and Gojko Adzic.

Check it out here.  Good stuff.  For those of you not inclined to watching online presentations, you can find good summaries here, here, here and here.

posted @ Tuesday, June 15, 2010 7:30 PM | Feedback (0)
Concrete Blonde, 6/12/2010, Vic Theater, Chicago, IL

PIC_0664

I’ve never been what I would call the ‘target market’ for Concrete Blonde.  I don’t care about vampire songs, the recurrent anti-religious and “be true to yourself” lyrical themes have never done much for me, and I’m pretty sure I’m not a young single woman looking for a role model (let me check….nope), or whatever other demographic trends towards them.

But they’ve always been one of my favorite bands and for a number of reasons.  The guitarist John Mankey has always been solid, there’s the “don’t mind the details” nostalgic reasons why their songs have resonated for me, but, let’s face it, the biggest reason is that Johnette Napolitano can sing the f&^k out of a song (the tight, slinky black thing she was wearing tonight points to another reason but that would sound sexist if I mentioned it, so I won’t).

The opening act was someone named Jim Bianco.  He played an entirely acoustic set, and noted that it might have seemed strange, though he had a long partnership with Napolitano.  His set was actually pretty good and he had a nice give and take with the crowd (“This is a love song…does a Concrete Blonde crowd mind if I play a slow ballad?   Okay, that’s two of you, this one goes out to you.  It’s a song about when I was in love.  And addicted to Vicodin.  I hope you like it”… it was funny).  It’s worth checking out his stuff.

Since this was only the 4th show in the ‘20 years of Bloodletting’ tour, the only set list I had seen was from their first show in Boston, but what they performed went beyond that.  The crowd was pretty hot and mixed in terms of age and gender.  The first encore set was entirely acoustic, which actually went off really well.  As always, Johnette sang the f&*k out of the songs.

Except for one obvious flub (which unfortunately occurred in my favorite song of theirs “Heal It Up” when she forgot the lyrics to the second verse and had to direct the band to skip it), the band was hot.  Mankey’s playing was crisp (and loud), the drummer (someone I’ve never heard of) was solid, and Johnette, well, she sang the f^&k out of it.  For the first encore, Johnette didn’t play bass, and it was only drums and Mankey on acoustic guitar, and featured an outstanding version of “Tomorrow, Wendy” (it also allowed her to, well, slink around more).  There wasn’t a lot of interaction with the crowd, she thanked the Vic for years of great memories, and did ask the crowd “Did your team win?”, and seemed genuinely grateful for some of the thunderous applause. 

Setlist:

  • Bloodletting
  • Joey
  • I Don’t Need a Hero
  • Days and Days
  • Lullabye
  • Scene of the Perfect Crime
  • Ghost of a Texas Ladies Man
  • Someday?
  • Everybody Knows
  • Caroline
  • When I was a Fool
  • God is a Bullet
  • Run Run Run
  • Little Wing
  • Heal It Up
  • Your Haunted Head
  • First Encore
  • Mexican Moon
  • Happy Birthday
  • True
  • Tomorrow, Wendy
  • Second Encore
  • Still in Hollywood

It was a very good show.  If you’re a Concrete Blonde fan, I’d definitely go to a show.  Who knows if they’ll ever tour again, so enjoy it while it lasts.

posted @ Sunday, June 13, 2010 12:38 AM | Feedback (0)
Congrats to the Hawks

PIC_0644

I thought they should have won in five, but there you go.  It was one of the worst goaltending Cup Finals ever (so Fleury would have fit in), but the better team won.  The Hawks face massive salary cap issues, but like the Pens, the core that they have is tied up for a bit, so they will be in the running for years to come.  A Pens-Hawks final would be interesting.

It was fun to head to Clark Street to watch the celebrations for a while. 

Since comments are disabled:  Oot aboot round bacon aboot Celine Dion oot aboot Barry Melrose.

posted @ Friday, June 11, 2010 9:33 PM | Feedback (0)
Comments Disabled For a Bit

Still trying to figure out the comment email error thing (not surprisingly, Haack isn’t responding, though I would think a problem with the new code would trump the blacklisting….customer service isn’t what it should be), so I’ve disabled comments till I can figure out what’s up.

Clustrmaps stuff has been fixed, and the weird “www” vs no ‘www’ has been fixed.  New Subtext apparently requires a new way of setting that up.  Or I never knew something about how it worked previously past the ancient 2006 version.

posted @ Thursday, June 10, 2010 9:48 PM | Feedback (0)
Upgraded to SubText 2.5, sort of

You get what you pay for.

That comment is not actually directed towards SubText (well, mostly) but towards customer service at hosting providers.  I will probably detail that part later, for obvious reasons.

Haack and crew put together a set of instructions and developed a tool to help upgrade to the newest version.  I was pleasantly surprised, well, hell, stunned, that it seemed to upgrade my local test flawlessly.  I was upgrading from 1.9.ancient to 2.5, and expected the local test to fail massively.  It didn’t (at least not massively).  So, I decided to upgrade my online version.

A good thing to know about customer service is what you can expect.  Different hosting providers provide better or worse service.  No hosting provider that I have worked with has done things flawlessly (or at least, gives me control to do everything myself), so you expect that there might be some issues.  What I didn’t count on was uploading a SQL backup file and hearing it was corrupted.  I also didn’t count on the customer service team saying (essentially) “the file you uploaded was corrupted, so we can’t help you.  More importantly, we won’t help you.  At all.  Figure it out yourself.”  Nice.

The current issues seem to be thus:

- you can make a comment on a post, and it will show up for me to moderate, but the page itself will give you an error.  Nice.

- if you hit my blog at http://blogcoward.com, it will tell you the blog is not yet set up, but if you go to http://www.blogcoward.com, everything displays in its glory.  I left a comment (or tried to at Haack’s blog, but apparently am auto-moderated…can’t imagine why…lol) to see if this is one of the bugs Haack said they are aware of, but that’s obviously not great.  I think almost all of the Google links to my site use ‘www’ so it’s manageable.

- I need to re-implement CAPTCHA and ClustrMaps stuff, but that’s okay.  That was expected.

So, let’s see how this goes.

posted @ Tuesday, June 08, 2010 8:08 PM | Feedback (0)
Test post after upgrade

Testing posting from Live Writer.  Comments appear broken, but we’ll get to that.

posted @ Tuesday, June 08, 2010 6:18 PM | Feedback (0)
Upgrading SubText (I think)

For the longest time, I’ve been running an old version of SubText.  Really old.  Really, really old.  Ancient even.  Okay, maybe not that old, but it certainly isn’t current.

Anyway, sometime in the near future (as in hopefully this week), I will attempt to upgrade it to either the new 2.5 release, or to an older (likely 2.4) version, and then upgrade to 2.5.

As you might imagine, the chance that this will go smoothly is…unclear.  I have backed up everything, and I’m going to try it out locally, but we’ll see.

Just in case this thing goes down for a bit.

posted @ Monday, June 07, 2010 7:12 PM | Feedback (0)