Jonathan Fischer

Implementing A*

I recently put together an A* implementation for the first time. I actually did it twice: once in a naive way just to get a good grasp on how the algorithm works, and then a second time with an eye towards making it perform better. I’ve been meaning to write up my observations on it for a couple of months, so here they are.

Tracking Touches in an MKMapView

This post is the result of me playing around with MKMapView to figure out what I can and can’t do with it, so it may ramble a bit.

Here’s the idea: I want to be able to tap on a map view and drop a pin. I don’t want to try and subclass the map view, and the MKMapViewDelegate protocol doesn’t give you access to taps.

However, it is still a normal view, and that means I can attach UIGestureRecognizers to it.

Lunchtime Hike

Went on a short hike at the (future site of the) Veteran’s Memorial Park in Carlsbad.

I managed to scratch the camera lens on my phone, so there’s a blurry corner in these pictures. Need to replace that.

IT Career Advice

Someone asked me for advice on getting started in IT, and I thought I’d post it up here as well. He’s just getting started and doesn’t really have any experience at all yet, so this is geared towards finding out if you really even want to do this for a living.

I’m going to preface this with two caveats: I am a college dropout, and I have no certifications whatsoever. I attended a University for 5 years before deciding to drop out; it got to the point where I’d taken all of the Computer Science classes I cared to and all that was left was a bunch of general education stuff that I didn’t want to spend any more time and money on. I’m not really sure whether the lack of that degree has hurt me. I still manage to get in to job interviews, and of the 6 or 7 positions I’ve interviewed for in the last 5 years, I’ve gotten offers at all but 2 of them.

If you don’t have any experience at all in IT, the most important thing I can suggest is getting that experience. Ever set up a website before? That’s a good place to start:

  • Register a domain name (e.g. yourname.com or something)
  • Find hosting
  • Make a basic, static website. (HTML + images only)
  • Got the hang of that? Now go further: set up a dynamic website; Wordpress is an excellent starting point
  • Find out what a database is, what PHP is, what Javascript is, etc.

That all sounds more like web developer stuff than straight IT, but a good IT person ends up needing to be able to handle a little bit of everything, and you need to know if you enjoy this stuff at all. If you hate it, you want a different career.

Learn Unix. Windows is ubiquitous on desktop computers, but Unix provides the backbone of the Internet. Not knowing it will hurt an IT person. It’s easy to get started in: download Ubuntu, install it alongside Windows (assuming you have a Windows computer), and start playing.

Before you do that, back up everything. Backups are not something you want to learn about the hard way.

Have a Mac? Congrats, you’re already using a Unix machine. Launch Terminal and start playing.

Really, the single most important skill you can have going into the IT field is the ability to learn. Constantly. Things never stop changing, new things pop up every day, and you’ll never get to the point where you can stop learning new things. You have to be ok with that, and even enjoy it if you’re going to make it in IT.

Simple Jambalaya

Ingredients

  • 1 pound smoked sausage (I use beef, but pork is good too)
  • 1 green bell pepper
  • 1 white onion
  • (optional) a few stalks of celery
  • 2 cloves of garlic, minced (I use the pre-minced stuff in a jar, because I am lazy)
  • 3/4 cup white rice
  • 14 oz. tomato sauce
  • 11 oz. chicken broth
  • 1/2 tsp. ground thyme
  • 1/4 tsp. cayenne pepper
  • 1/4 tsp. white pepper
  • 1 bay leaf
  • Dash of Worcestershire sauce

Instructions

  1. Dice the bell pepper, chop up the onion and celery, slice up the sausage. Start cooking the sausage over medium-high heat in a largish skillet until it begins to render its fat, then add the bell pepper, onion and celery.

  2. Cook the above until the onion turns clear, stirring occasionally.

  3. Add the garlic, cook for another minute.

  4. Turn the heat down to medium low and drain the fat, if you wish. (I usually don’t bother when cooking with beef sausage.) Stir in the rice, coating the sausage and veggies with it.

  5. Add the rest of the ingredients, stir well, and simmer covered for 20 or sominutes, or until the rice has cooked fully. Stir it every few minutes; the bottom layer likes to stick to the pan.

  6. Fish out the bay leaf (you don’t want to bite into it by mistake), and serve!

When I make this for myself, I usually pig out on it for dinner and have enough left over for two lunches afterward. It still tastes great after reheating in a microwave.