Whenever I see photos of Afghanistan, I’m always shocked at the geophysical resemblance of that country to my home state of Utah and to the neighboring state to the West, Nevada. The political resemblance is, of course, minimal. I hope that some day it can be just another beautiful place to see.


My Social Web Experiences

Well, since WoBloMo is officially a bust, I may as well not try to get posts in on time. It’s been an interesting exercise in posting regularly, and I have to say that it wasn’t all bad. I was surprised that I was able to come up with this many things to write about. This is one of those days when I’m at a loss, so I’ll just blab about my experiences with social media for a post.

Like most people, I didn’t see the point in the social web sites, like Facebook. I guess Twitter falls into that category too. I tried Twitter first, and I have to say that I didn’t see it. I didn’t know why people used it at all. Then I was on a mobile plan with unlimited texts, that no one took advantage of, so I decided to do something with them. I added Twitter to my mobile phone and that’s when I got it. For some reason, it’s incredibly entertaining to hear from various people about what they’re doing and what’s on their mind.

That last bit is what you have to realize about Twitter. When you can just blab about what’s on your mind and you don’t care what friends see it or who in the world sees it, and then someone that you didn’t know starts following you because they have something in common with you, that’s pretty cool. I cut off the unlimited texts because of my lifestyle change, so I had to get my Twitter fix somehow. I didn’t get TweetDeck the first time I tried it, but I tried it again, and I’m addicted. I follow lots more people now because of it. It’s a near necessity for following many people. If you follow me on Twitter, you know just how much I use it.

Facebook is kind of a different story for me. What was cool about Facebook was that I started getting in touch with all these people that I hadn’t talked to in years. That was also a downside, I might add. But it’s mostly a positive. For me, even keeping up with email correspondence seems difficult. But on Facebook, you can see what an acquaintance is up to right away, and then you remember to drop a note.

For me, I guess, Twitter and Facebook are kind of the same activity as writing letters was to my grandparents. Except it’s a lot faster, and suits my distracted nature.

WoBloMo: Fail

I forgot to post yesterday. And I was so close to the end of the month!

Oh well. If you’re at all curious about how my talk went (probably not) then I can tell you that it went well. I need some practice on a few things, like planning and time management, and Suresh pointed out that I write microscopically on the board. I also realized that I didn’t plan my board layout well enough, and I glossed over bits that would have really driven the message home.

As for the paper, it’s incredibly fascinating once you get into it. I recommend it to anyone interested in the bound on union find with path compression, and why the hell the inverse Ackermann function appears there.

Path Compression

It’s my turn to present a paper for our Algorithms reading group this Friday, and I’m presenting Seidel’s & Sharir’s paper Top-Down Analysis of Path Compression. I don’t have a lot to say about it yet, as I’m still digesting it. This is basically what I’m doing tonight, so I don’t have much to blog about either.

Feel free to wax philosophical about recursion in the comments.

Convexity Using Metric Balls

I figure that I owe my readers a technical post, so while I’m riding home on the bus, I’ll write it up. This occurred to me when I was trying to figure out what to do on the ride. I have a nice gadget with a WordPress app, so why not?

The project that I’m working on now involves defining a notion of convexity for a non-Euclidean space. There are any number of difficulties that you can run into when you attempt to define convexity on an arbitrary space, but I do have a few guarantees:

  • I’m on a manifold, so shapes make “sense,” albeit in a squishy way
  • I don’t have any limitations of convexity; that is, I can make a convex set as large as I like
  • Metric balls are convex

So now I want to define a convex hull of a set of points in this space. I can do this in one of two ways. I can say that the convex hull is the convex set of minimal volume containing the set, or equivalently, that it is the intersection of all convex sets containing the set.

I’d like to say that the intersection of all metric balls containing the set is the same as the convex hull (not just any convex superset of the set, mind you; specifically metric balls that are supersets of the set in question). I don’t necessarily need this lemma to be true, but it would be nice. The way to show that two sets are equivalent is usually to say that one contains the other, and vice-versa.

It’s quite trivial to show that (in this space) the intersection of all metric balls that contain the set also contains the convex hull. Metric balls are, after all, convex. It’s trickier (to me) to show that the converse would also be true; that is, that the convex hull of a set also contains the intersection of all metric balls that contain the set. Any ideas?

[Update: apparently there’s a construction called a ball hull that is exactly the intersection of all metric balls containing a set. Perhaps it is essentially different from a convex hull.]

Casual Weekend Notes

This weekend, I give you a cop-out post, hopefully a little lighter than my last. Just a few things happening in my sphere.

  • I’m addicted to Twitter, ever since I figured out how to use TweetDeck.
  • Lots more hits on my layoff post than I thought (25, as of today, rather than my predicted three).
  • People still like my hypersphere post, but not as much as when it was new on reddit. I still can’t get over the fact that someone reddit-ed my post! I’m still really flattered.
  • My wife and I checked out a few neighborhoods today that we’d move to, and that hopefully we can afford. We’re looking at houses this time (to rent, not to own), and we plan to move at the end of Summer. We’re hoping that the difficulty of selling will work in our favor.
  • I officially love Sumatran coffee beans. The flavor is exactly what I’m looking for in a cup of coffee. Of course, for all I know, Sumatran may just be the white zinfandel of coffee.
  • I dislike using the word random outside its probabilistic meaning. Desultory, casual, or stray are usually more appropriate words for the way that I find most people use the word random. Unfortunately, I find myself using it inappropriately at times, so I can’t really be that critical.

Have a good weekend!

Being Laid Off

Yesterday’s PHD Comics got me reminiscing about all the emotions that I’ve had when I’ve been laid off. For my age (thirty-two), I’ve probably been laid off an unusual number of times (three: twice during the dot-com mess and once for the housing mess). However, it’s also possible that this decade has been unusually cruel to the employed. I’m told that it wasn’t for anything lacking on my part either. By all accounts, I was at least a competent engineer if not an excellent one. But recessions happen, so shit happens to average people. Despite this fact, there are an unfortunate number of people, especially engineers, who internalize these events. When you can put it in perspective, though, it makes it much easier to get on with your life and move to the next step.

My first layoff was a mixed bag of emotions for me. After a few years of working as an engineer, and being good at what I did, I started to think of myself as one. That is, I tied my identity to it. When I was laid off, I thought that I was ok. I got a job as a tech writer, then as a tester, neither of which I liked. My old company hired me back, and I was happy for a while. I was an engineer again. Then the other shoe dropped and I was finally laid off a second time when they shut down the site.

This made me pretty bitter about my life and about being an engineer. I didn’t feel like I had purpose anymore, that what I did was a waste, and that I should avoid software altogether. I had a couple jobs as a bartender, and I was thinking about going to grad school in philosophy (which I’m happy I didn’t do). My marriage went through a rough patch as well, which only created a nasty feedback loop. After a couple difficult events, I wound up as a software engineer again, because I realized that I was still good at it.

This company was probably better than the last (though the first was still good). I had a good time there, the people were nice, the culture was laid back, and I got to work on some pretty cool projects. But as we all know, the mortgage bubble burst. I was certain that we were safe, but I was wrong. I had good reviews of my work, and I was asked to do some important projects, so I thought that even in the outside chance that we did have layoffs, I’d be passed over. I was wrong. But I knew better this time. I shook my managers’ hands and let them know to call me if they needed my assistance. Then I got about arranging my affairs. Then I got accepted into the grad school I’m in now, so I’ll be doing that.

If I had any advice to new grads going out into industry, I’d probably exhort them to think about things a little differently:

  1. Think of a software job as a good way to pay the bills.
  2. Think of your work as currency that you’re using to buy income.
  3. The good news: doing something that you enjoy doing will let you be enthusiastic about your work, which means that you have a greater chance of your currency (your work) being worth more (money and benefits).
  4. But: nothing falls in your lap. You’ve got to sell it to get it. If you think that you’re entitled to compensation, you may well be correct. But you’re not going to get that compensation without showing that you’re worth more than the guy who does half the work.
  5. Remember that your company has no loyalty to you; their legal obligation is to their investors, and when your paycheck becomes a problem, they solve it by laying you off. This is the way of industry.
  6. Sometimes you have to do stuff you don’t like to pay the bills. In fact, that’s the majority of any job. If there is no percentage of it you like, it’s probably time to move on.
  7. Just because what you did wasn’t worth something to someone, doesn’t mean that you can’t take pride in it.
  8. You’re not a software engineer. Software development is something that you do (maybe you do it well, or you like it, or both) to get income.

This may all sound very cynical, but I believe it all to be true. The sooner that you can accept it, the easier time you’ll have coping with it when you encounter it. Then you’ll recover faster, which means you’ll be on to your next job faster. Then you’ll have income again. Or you’ll decide to do something completely different. The trick is not to languish in an identity crisis.