Archive for the 'Life' Category
Coming back from dinner one night, I was stopped (as I routinely am) by my talkative landlord landlady and her friend. As I’m sure many people reading this can relate to, the conversation quickly transitioned from pleasantries to “hey, you are a computer whiz, right?”
Most geeks know that this is the code to bow out of the conversation and run away with haste. I didn’t this time, and I’m kind of happy I didn’t. The reason is because they started asking me how to copy music to send to her ex-husband in Hawaii. My landlady is deeply religious, so my first question was “are you comfortable breaking the law?” Two jaws dropped, and neither were mine.
“What? Copying music I own and sharing it with others is illegal? But I bought it!”
And that is an excellent point. I won’t beat any dead horses here, anyone reading this probably has their own firm beliefs about fair use and music piracy. But stepping away from all that, let’s look at the initial reaction of two middle-aged average computer users, a sample of which I’m sure represents much of our 35 years and older demographic. They firmly believed that because they purchased the music that they owned it, and were free to share it with whom they pleased.
I’m not even going to continue here, or try to make any grand points about what this means. The arguments are all old, and no one stumbling across this post is going to have a changed opinion because of it. But for me, knowing that two people that haven’t been following the “war on piracy” believe that music you buy is *yours* to use as you please… well, it just makes me a little happier.
I just got back from a wonderful vacation, hence the no posting for the last couple weeks.
From a geek’s perspective, it is kind of interesting to look at the infrastructure of places you travel to. One of the stops on my trip was Grenada, a beautiful island with poorly constructed homes and a relatively poor group of people. But even there, with concrete shells for homes and scrap tin roofs, multiple people were sitting outside with bluetooth headsets and laptop computers with wireless access. My perceptions of a deep digital divide on this small Caribbean island were completely shattered! It was really kind of neat.
I have to catch up on work, so this is a short post. But I leave with another rubber duck, this time found in Brenner and Queens’ apartment.

Apparently this duck grew bloodthirsty and violent with age. It has been caged to protect those that would otherwise have been drawn to its deceptively innocent features.
A new quarter at school has started, and I’m pretty excited for this one. My schedule consists of probability and statistics, programming skills, privacy and security, and an independent study.
Probability is boring, boring, boring. My instructor frequently uses incorrect notation, confusing all the students. We won’t be discussing that class, because I try to keep this blog a happy place.
Privacy and security is pretty cool. Right now we are going over the legal and ethical issues in electronic privacy. The class is discussion based, and some of the talks have been fairly enjoyable (especially since Brady is taking it with me). Our first assignment was to use any resource available to us to datamine our professor and his family. Along with his public records and other easily available stuff, I obtained a list of all his vehicle registries in New York, and discovered some other fun tidbits about his children. Later on we’ll actually be jumping on the more technical side of computer security. Not a lot of it will be code-based (which I’m really disappointed about), but it is the part of class that I’m most looking forward to.
Programming skills is an upper level CS elective that has a changing curriculum depending on the quarter and professor. My class is focusing on Aspect Oriented Programming. We are just getting into it, but AOP is… well, a trip. I don’t know how I feel about it yet, but I’m learning.
My favorite class this quarter is my independent study. I’ve wanted to get some exposure to web development for a while now, and I’ve also been wanting to get some more experience with python. By developing a web-based quiz administering system for the CS department at RIT, I hope to accomplish both of those goals. It is kind of a big project for only 10 weeks, so Dave is signed on to help. As far as implementation goes, we’ll be using Python Server Pages as provided by mod_python for Apache. Javascript will assist with client side logic and any AJAXian features we decide upon, while HTML and CSS will be responsible for making a pretty interface.
It should be a fun quarter :)
I am a team player.
Notice I’m not saying it to a recruiter or in an interview, it is something I actively seek in all avenues of my life. I play soccer because I love the interdependence everyone has on one another for the collective to succeed. I am a part of Computer Science House because I like the feeling of belonging to something larger than myself. It is this attitude that makes me bond with my peers in work and school to form truly kick-ass functional units. Put me in a group where we can form a team, give us enough freedom to be autonomous, and presto-chango: you’ve created a self-reinforcing productivity monster.
I put a lot of effort into my teams. Regardless of the role I play, I never expect more out of anyone than I have given and am prepared to continue to give. If everyone else feels the same, your teammates are happy, respect one another, and bond at a depth that goes beyond the work at hand. However, there are people that destroy teams.
They look good on paper, but truthfully their successes have little to do with their individual abilities. The material on their resume comes from the effort of other people, their previous teams, which they have used as a cover for their own incompetence. They exploit their personality, physical appearance, or the good nature of the people they interact with to get assistance in every avenue of their work. They handle the basics, but the real shine comes from many other used, uncredited individuals.
Their results look good, but they are not their own. True team players put forth completed work as the result of the group’s effort, fully understanding that the goal would have been unattainable without utilizing the skills of their teammates. The user, however, abuses the efforts of the group for their own personal gain. As the efforts of the team go from working for the collective to furthering the agenda of an individual, the team suffers. Members will be unfairly burdened by the work, becoming burnt out, unhappy, and suffering the pains of missing deadlines while hearing no praise for their successes. Meanwhile the individual stands out in the group, appearing to produce quality work while the rest of the team is straggling.
These individuals may not be conscious of their actions. But it doesn’t matter. Either they are unaware of the effects of their actions and are too oblivious to see them, believe what they are doing is normal, or they understand what they are doing is not right but continue to do it anyway. In any case, keep them off my team. I want individuals who are fully capable of doing their job, people competent enough to do their work without changing the position to better fit their lacking skill set. Bring me people who are both reliable and willing to rely upon others, and cast out those toxic individuals who will serve themselves over the group.
So to any hiring managers reading this entry, don’t take a chance on that individual. See past their credentials and degrees, and ascertain whether that person really got to where they are from their own efforts and contributions. Because while that candidate may look incredible on paper, with a 4.0 GPA and more letters behind their name than are in the English alphabet, their pristine throne may rest upon the backs of everyone they’ve used to get there.
And that is not a person I want on my team.
I am a CS student at RIT, but commonly use the IT labs because they have nicer keyboards (yep, it matters). The main lab constantly staffs multiple student lab managers to watch over it - you know, to keep other students from eating, talking on their cell phones, and printing multiple copies of a document.
Alright, let’s focus on that last one. I’ve been employed as a systems administrator before, so I understand the need to keep the labs clean and quiet. The multiple copy restriction baffles me, however. The lab’s policy clearly states that multiple copies may not be printed in the lab, presumably as a courtesy to other students when many people try to print at once, and possibly to preserve lab printer supplies. But when someone does print multiple copies, there are no actions that the labbie can take against a student other than to withhold all but one copy of the document, verbally chastising the student in the process. The extra documents are then put into a recycle bin. Preserve lab resources my ass.
There are a couple ways to beat the system, which I have never used but see being used routinely. Here are my favorites:
- “It’s one document. The page numbers matter.”
- “Are these multiple copies of the same document?” “No, they are individual copies of *different* documents.”
- “Yes, they are multiple copies, but there was another document in there. Can I just pull it out real quick?” *Grab papers, walk away as lab manager stands helpless*
- Enter with a group of friends and one thumb drive, everyone prints the document.
- Two documents to print multiple copies of: print one copy of the first, one copy of the second, wait five minutes. Repeat.
I don’t even understand why after the documents have been printed, they throw them out instead of giving them to the user. There is no penalty for the now disgruntled student to use one of the above methods to print the number of documents they wanted to initially, but now at the cost of (2*copies)-1 resources utilized for 1*copies received.
Silly.
Alrighty, as life presents the opportunities, I’ll be sharing the funnier things caught on camera. Here is one that made do a double take before laughing a little:

Caught it in the RIT parking lot. I’m not going to explain it; LISP junkies, have your moment ;)

It’s a rubber duck. I found it one day after work protecting my car. Why he was out of the water, we may never know.
This isn’t a how-to or a generic “10 things you NEED to make your life better” post. It’s a post to remind everyone who reads this that you need to check yourself and what you are doing and make sure it is worthwhile.
What does it mean to do something ‘worthwhile?’ I’m going to take the easy way out and state that it depends on the person pondering the question. For some people it is trying to get laid regularly, for others it is building a corporate empire. Just make sure that whatever you are doing now works against the feeling that you’ve wasted your eighty years on Earth.
I think far too often we are pushed into our lives by some forces of our environment, and we end up realizing that we’ve been living our lives pursuing the dreams of someone else (whether that be an individual or a collective ’someone’). I really hope that if this is the case for anyone that reads this, you discover it early enough that you have a shot at changing things.
My biggest tip? Say hi to someone on the street. Find someone sitting alone at a restaurant or a coffee shop and sit down with them. Find out what the person you are sitting next to really wishes they were doing with their lives. Pay attention.
Programmers, techies, and geeks especially: don’t place all your value in how well you can hack, or how much you know about the latest hardware specs, or any of the other silly things we convince ourselves are actually important. They aren’t, and you are worth so much more than that for so many other reasons.
Business and career types: corporate may want you to have a degree, but never give in for a second to the thought that the letters behind your name reinforce an attribute of yourself. Don’t let others trick you, either. No one that actually knows their shit has to point to a degree as support for their position, idea, or status.
And everyone, for God’s sake, be a good roommate, spouse, parent, citizen, person, or whatever role you find yourself playing. You aren’t going to get a second chance at this. (Really. Special relativity says we can move at a rate that is slower relative to the world around us, but traveling backward in time isn’t likely.) You are involved with other people, make that a positive experience for everyone. Selfishness, dishonesty, and other ‘evil’ things are contagious and toxic. Do not be the source of toxicity in someone else’s life.
Absorb the experiences of others, share your own, be a good person. Make it your life’s purpose.
As our legions of students head back to school, I got to thinking about how my educational experience has changed with each passing year, and the things I wish I had been told before starting. Not much of it may apply to non-CS majors, but software engineering students may find something of use. And if you aren’t a CS or SE major? Read this post anyway so you can be there for your CS buddies! With no more buffer, here is the list:
- You are going to want to quit. I don’t care how proficient you are in programming, you are going to hit a snag or two in your first quarter or semester. Something won’t compile right, you are getting exceptions for weird reasons, an algorithm is returning odd values - it is going to happen. It gets frustrating. What I wish someone would have told me is that it is happening to everyone. Work through the problems (better yet, find a mentor to walk through them with you), and stick with it. The ability to write whatever you want for whatever reason is coming soon, and I have to say that if you really enjoy computing, being a programmer is one of the best professions you can have.
- It gets easier! Programming courses are difficult for a lot of people, more so for those without a lot of a background in the field. You are going to have to learn everything from the syntax of the language to your development environment’s method of finding libraries. These problems fade very quickly - you’ll be amazed at your ability to retain the solutions to these annoying problems.
- Don’t be cocky. One thing I hated my freshman year was the number of people coming in thinking they knew everything. It gets even more amusing when you meet incoming freshman who think this after you’ve matured a year or two. So listen: you may be the best computer person at your high school, and I’m sure your family thinks you are the next Bill Gates. However, there are millions of people that know more than you, and you are going to meet a lot of them in a very short amount of time. Go to school to learn, and listen to whoever will talk to you about whatever. You’ll be amazed with how much you have to offer, but more importantly, how much you have to learn.
- Don’t fear the supposedly smart kids. In my CS classes, we always had a couple of those cocky kids I mentioned above. These people may be knowledgeable, but that does not mean you shouldn’t ask a queston out of fear of their reaction. If it is an honest question and someone in the class scoffs like “psh, EVERYONE knows that,” ignore it. It means they just learned something they didn’t have the courage to ask. I’m not kidding, take note of who those people are, and keep asking questions. After you finish your first year strike up a conversation with them. You’ll be surprised at how less intimidating they seem when you find out how little they’ve progressed.
- Use your professors! They are amazing mentors, and will walk you through assignments providing whatever help they can. In class they’ll teach you languages, design patterns, data structures, and algorithms. In private, they’ll teach you how to code. Super student initiative bonus: use other CS professors teaching the same class for a different approach. Most professors really (really!) don’t care if you go to someone else for help. They just want to see you succeed.
- Find something to do away from your computer. You are going to be spending a lot of time at your machine, increasing over time, writing and debugging code for classes. If your hobby is gaming, your eyes are going to hate you, your wrists are going to suffer, and you will start to get headaches. Step away from your computer, whether it be to do math homework or hang out with your friends. Just get away for an hour or two - it will help you in the long run.
- Take up small coding projects on your own. The only way to get better at coding is to code, code, code. Taking up your own projects will solidify and expand upon what you’ve learned in class. The quickest way to becoming a competent programmer is to find something you want to work on it, and work on it. If it is in another language or involves a technology you’ve never worked with, so much the better. You’ll be surprised how much your knowledge carries over.
- Energy drinks will keep you awake, but they will not help you code. Your body needs sleep, don’t fool yourself into thinking the code you write at 4:00am is going to be usable tomorrow. I’m completely serious about this. If you need sleep, sleep.
To my readers: that is all I can think of. Any other tips? Leave them in the comments!
My latest co-op has been an interesting one.
I’m working for SAIC down at their Chantilly, VA location but live in Columbia, MD. This results in a 112 mile daily commute through agonizingly slow traffic along the DC beltway (up to 3 hours in one direction when there is a bad accident). Add the long commute to an intern’s hourly wage slowly being strangled by the cost of rent ($500 monthly), food (~$200 monthly), and increasing gas prices (~$300 monthly) compounded by living 2,500 miles from my nearest family member and one can find themselves feeling overwhelmed.
There are however factors that make it bearable, even rewarding, and I hope that sharing them will help someone in a similar position:
First, I know this is temporary. I have committed to this situation for six months, and the amount I am learning about the professional world is invaluable. (For example, guess who is going to avoid a long commute if at all possible in the future? That’s right, yours truly. It just isn’t worth it.)
Second, I’m making connections in a very job-hot sector. Washington DC has got to be the easiest location to get a job at any level if you just know a couple people. Everyone here is so interconnected that just throwing out an e-mail to a friend or old manager is bound to net you a reply of a job opening in their company or one of the other agencies they routinely interact with. Managers talk, and are always looking for talented people.
Third, the commute is completely handled by your mindset. At first I was frustrated, tense, and bored just sitting in my car every day. Then I purchased an FM transmitter for my MP3 player and things changed. Now, while I wouldn’t say I look forward to my commute, I don’t dread it either. Audio books, lectures in various subjects from respected professors, and stretching my brain to extend my comprehension of German now occupy my time. It is actually kind of relaxing, and the time passes pretty quickly now. (Just remember to pack a water bottle and snacks! :) )
Fourth, I am recouping my gas costs by working overtime. I come in and leave early most days, but Thursdays and Fridays have the worst traffic by far, so I stay for two or three hours after my normal leaving time and work through the traffic. This time is my most productive because the weekend is close and no one is around, and getting paid 1.5x my hourly wage for these couple of hours really help when paying at the pump.
Fifth and most importantly, a lifestyle change. Specifically, I now make better use of my free time and balance the amount of time allocated to different activities. Number one on this list is spending time with my girlfriend. Being gone for 12 hours out of a day results in missing out on a lot of shared time, so I make it a point to use my two to four hours of daily free time to do things with her. Lately, we’ve been eating dinner, walking the dog, and either jogging around a loop nearby or to the library to get more books to keep moving. Then we wrap things up with back rubs and watching an episode of whatever TV show we are in the mood of before going to bed. It is amazing! If you aren’t spending quality time with your family and loved ones, you are missing out on something huge. Number two but equally important has been an attitude adjustment from my old style of skeptical and negative to skeptical and positive. Just giving people the benefit of the doubt and being a nicer person has made me feel a lot better about myself and my situation. It seriously has made me a happier person in general. Number three is personal enrichment. While you always feel busy and overworked, I’m learning that when you look back on yourself you can’t believe how much free time you had and wasted. I’m stopping that cycle and using my free time now to read more, spend more time outside enjoying the sun, and enjoy the company of others - because honestly the thing that has made me the most happy with my life is by making myself happy. It works.