Recently in my graduate level operating systems course, we were assigned to make a networked semaphore manager. Essentially, client machines can connect to the semaphore manager and ask it to control access to SOMETHING. In our case, we’re just proving a point, so we’re controlling access standard error. It’s an interesting problem because coding anything over a network is tough. Secondly, creating a reliable semaphore manager is tough on it’s own. To make matters worse, we’re using a hosted environment called Inferno. Inferno was once created by Bell Labs, but is now distributed by Vitanuova. For reference:
Oh, and it’s due in two days. Taking a bit of time off was nice, but probably not the wisest decision.
This weekend I’m charged writing a networked semaphore manager. In other news, I’m hanging out with Kelly all weekend.
Spring Break 2009
If you follow the blog at Re-Cycled Air, you’ll know that I’ve been contemplating making a break from school and starting real life. After much job searching, I ended up with three local interviews and two job offers (I canceled the third interview, but that’s a story for another day). What I’ve realized is that I really like college. I know that good things can’t last forever, but I really enjoy learning. I have the chance to stay in a great place for another 1.5 years, so why shouldn’t I?
During the job interview process, I came across 3 distinctly different companies:
- Company 1: A small GIS startup that is still in it’s early phases of development. It’s profitable, interesting, flexible, and the partners are dedicated to what they do. They’re also laid back, nice guys.
- Company 2: A medium size web development business. It’s well established, has a profitable base of customers, and the people are nice. However, after extensive interviewing and research I’ve found that their implementation and code seems to be sloppy.
- Company 3: A fortune 500 company with great benefits, better pay, and semi-interesting projects. No flexibility, very profitable, and filled with boring people.
Company 2 and 3 would require me to quit Grad School. At the time this seemed like a great choice, but after much thought, I’ve determined that the only thing that will really make me happy is staying right where I am. After the undergraduate degree, most people assume that you have to jump right in to work and so called “real life”. I’m suggesting that you don’t need to do that. Real life is wherever you are. I might be in college, but this is still real life. I have responsibilities, a car payment, a wedding to pay for, hope, dreams, and everything you do…. except I’m having more fun while doing it.
Working a 9 to 5 job isn’t a bad thing, but for those of us blessed with the intelligence to go on to grad school, I think that the 9 to 5 paradigm isn’t the right way to go. That said, I chose to continue school, continue to learn, and continue to teach. After this epiphany, I decided Company 1 was the place to be.
Wish me luck!
This week (Monday), I started my position as a teaching assistant for the Computer Science department at Central Michigan University. As this was my first time as a TA, they thought it would be prudent to give me lab sections of CPS 100 (“Computers and Society”).
I have 5 sections of CPS 100, with roughly 45 people in each section. I thought that my lab sections have gone well so far. In fact, I even learned some things.
- No matter how many times you explain it, some students will still staple the papers in the wrong order.
- Stapling papers in the correct order doesn’t matter.
- Students are generally very surprised when I walk in and stand up by the podium. Apparently I look young.
- The students are generally very cordial and nice when dealing with me. Most don’t want to be there, so it’s all I could ask for I guess.
- The technology required for Lab WILL fail. This is not the end of the world, just kind of roll with it and there won’t be any problems.
- I am old. Someone called me “Mr. Slingerland”.
- It feels nice when someone approaches you, apologizing profusely for not bringing a flash drive, because the course syllabus said that they would need one. If everyone was this dedicated, my job would be way too easy.
- There is a strong camaraderie between the grad assistants in the department. We all can relate to each other, so what seems like instant friendships have formed.
That’s all I’ve really learned by teaching so far. The first lab excercise was really simple, and having done it before class helped a lot with being prepared.
Besides that, I have 3 courses this semester.
- CPS 650 – Compiler Construction
- CPS 670 – Operating Systems
- CPS 685 – Pattern Recognition and Data Mining
All these courses interest me, so I feel that I’ll do well this semester. Between that and having an office (that I share with 4 other people) on campus, it’ll make getting homework done very easy.
Sometime last year, my fiance and I came up with what seems like a great web site idea. Over the past month, I have been implementing this idea a little at a time with the purpose of getting it out the door before school starts. That being said, I’m within throwing distance of the end.
Big announcement to follow when it’s all ready.
This fall semester will be my first semester as a graduate teaching assistant. In my department, the course nobody wants but everybody gets is CPS 100. There are probably 30 lab sections for this course, so every GA will get one or two. However, there are a few other classes available for GA’s to teach. One of them is “Modern Web Site Design”. I was personally hoping to teach this course, as I have loads of web design experience. I’ve been doing it regularly since 6th grade, but that doesn’t matter. I failed to market myself to the department chair, who makes the decisions. Perhaps next semester I’ll actually request the course once I’ve been proven as a GA.
On another note, my next project is coming to completion. This one has the potential to change the way college students do things. Be ready for it.
Every time that i try and extract a large file using the built in file archiving utility in Ubuntu, it crashes. Every time. By large file, I mean anything >= 1gb. I know that this is no fault of my machine, as this happens on every machine I use. To solve the problem, I run trusty WinRAR under Wine on my Linux box. It’s honestly faster than anything I’ve used yet on linux (aside from command line stuff).
If you have any suggestions, I welcome them.