August 08, 2006

TextMate & Markdown

TextMate & Markdown

I've been messing around with TextMate lately, trying it out for several unrelated tasks that seem to always require a little bit more than your basic text editor. I had not tried the blogging bundle before, but figured it was worth a try.

Markdown support has always been pretty crucial for me, as well as the ability to construct new posts with a minimal amount of effort (I hate mouseclicks!). So far so good. The only remaining issue is dealing with the strange default template that TextMate seems to use when constructing the headers with markdown, but that seems to be fixed by using nothing but the following at the top of the entry:

Title: __insert title here_
Format: markdown

Not too bad. Now if I could only figure out how to add keywords, and set comments to be turned off by default, that would be fine. Cheers. --ivan

March 26, 2006

The Product of One's Labor

Three years ago, I left the world of consulting to join a small start-up. Our 10-12 person company was purchased by 360Commerce a year later, during which I stayed on as a contractor for twelve more months developing the same software (a small piece of a now larger pie) before leaving for another job. Our development team was never greater than 5-6 people, and we worked in a pretty close-knit environment. A few months ago, it was announced that 360Commerce was itself being purchased by Oracle. As goes 360, so does my old team.

Lost in the news of this latest acquisition is the small detail that the software I worked on is no longer considered a strategic piece of the new company's larger pie. Apparently it's being shelved. Even though I am no longer at that company, I still wonder what to make of it all..

Continue reading "The Product of One's Labor" »

Where is Ivan?

I took a slight turn in the past few weeks, and thanks to some welcome prodding, got myself a new flickr account. All photos will be there, possibly referenced here-- I'm not sure yet what to make of all this.

It might actually work out for the better. The desire to post a few photos on the web (since photography is what I aspire to do in my off hours) overshadowed the original purpose of this site to be about other things. But photos fit in with the short attention span most of us keep on the web, so to keep them off this site would probably be a mistake.

That said, not having photos here for a few weeks has taught me an important lesson about myself-- I'm getting lazy doing non-photo related things outside of work.

February 12, 2006

Flamingo In Black

Flamingo In BlackOne last thing for the evening, taken from the same roll as my previous post. Shot this on a rainy evening after work (ironic that you can see my building in the background!), right before descending a staircase down to the blue line. They had some fence posts around this piece by Alexander Calder for the past few months due to construction. This bummed me out since I liked the fact that this was the last thing I saw before I head downstairs to take the train home, or the first thing in the morning as I head back to work.

Ever since I was young, I always preferred this piece to the Picasso. I just had a flashback after looking up other works by Calder of this book cover that we used in CS 373 over ten years ago. Trippy.

December 04, 2005

You say 'test first', I hear 'test eventually'

I think there's a common misunderstanding that "test first" doesn't really mean "test FIRST", but something more like "start testing when the code starts doing something interesting", but I think that even that short-cut is more dangerous than one might think.

For example, if you were writing a new class that contains one simple method which takes an array and reports its length, when would you start writing test cases?

  1. Before you write the class.
  2. After you write the class, but before you write the method.
  3. When your method handles a 'null' argument.
  4. When your method starts handling zero-length arrays.
  5. When your method starts handling arrays of length >0.

Purists would go with (1) and answer that since the test fails to compile, your first task would be to make the test compile. Personally I've had the best success with (2). That first test case (which might just be nothing more than an empty test with a valid setup and teardown) might already make you question the very need for the new method or class in the first place.

Based on experience, I think most people practice 4-5.. but I think starting the test writing process at that point is way too late. You've already invested some time in writing some code, and by doing so, have already raised the effort required to start from scratch if your design assumptions are wrong. More effort will be spent retrofitting a wrong assumption at that point than designing as you go.

October 28, 2005

Spellcheckers, prosciutto and cross-site scripting

Curious note on Language Log regarding Artifacts of the spellchecker age. I was reminded a bit of bad merges and twitchy refactorings (such as removing seemingly unused methods still referenced through reflection). I thought the final note was worth a chuckle or two:

One very odd type of substitution started popping up a few years ago among users of Yahoo Mail. If an email in HTML format was sent to a Yahoo address and contained the string eval, it would mysteriously get changed to review when the message was received. So medieval became medireview, retrieval became retrireview, primeval became primreview, and so forth. (In French messages, the word for horse, cheval, would become chreview.) It turned out that eval was one of a number of strings that Yahoo's security filter automatically replaced in order to prevent cross-site scripting attacks.

October 25, 2005

A word on this blog

Since this is a new blog, I figure I should get a few things out of the way.

  1. I don't have any categories set up, but most of what I plan to put here for the next few days will be OOPSLA related (I took some notes last week with doing this in mind, and these should spur me on a bit). Eventually I might make the subject matter more of a general nature (writing and photography), or splinter things into "software" and "non-software". We'll see.

  2. "Why the blog?" A few reasons-- non-work related email was becoming less appealing, and work-related email, while occasionally of a general nature, isn't easily shared with non-work colleagues. I'd rather put my thoughts here, and if people find it interesting, they can pick from it at will.

  3. "What's a 'semper creo'?" I'm not a latin major, but unless the internet lies, it means "always create" or "ever creating". I played around with a few sayings and phrases, but these two words sounded good together, and damn it, even if the conjugation is wrong and it's not perfect-- well, welcome to the site. After all, if you want the news, get a newspaper. :)

  4. I'll try to make things entertaining from time to time without posting code.

  5. As a technical aside, you'll notice that I'm not using Blosxom anymore. I had a thought that I'd blog during OOPSLA (hah! right!), and Blosxom is almost certainly one of the fastest ways to get up and running after you blow away your old website for the umpteenth time.. but now that my initial plans fell through, I took a step back and went with MT. Still using the markdown plugin however, as I'm a big fan of it.

October 24, 2005

"Breakthrough Ideas" - The Acceptability Envelope

Tuesday @ oopsla

Of all the short talks in the Breakthrough Ideas session, Martin Rinard's presentation prompted the greatest number of questions and comment from the audience. He gave a very quick and intense talk on Exploring the Acceptability Envelope. The point of the talk was first to propose that we can consider software "correctness" by using statistical analysis and probability to arrive at a level of acceptability in software, and then to present some examples supporting this idea. In short, he favored probabilistic reasoning over logical certainty. After thinking this over for a while, I admit this idea started to appeal to me.

Continue reading ""Breakthrough Ideas" - The Acceptability Envelope" »

October 19, 2005

Aspects from afar

Tuesday @ oopsla

This has been the first year I've really taken a close look at aspects due to my work at G2, particularly in reference to Spring, so I decided to sit in on this lecture in order to get a bit more perspective on aspects "in the large". I can't say I changed my mind very much about aspects (I still think it holds some promise, but I'm also still skeptical), but I think I've been able to think a bit better about what I do and don't like about aspects.

Continue reading "Aspects from afar" »