Archive for the ‘Uncategorized’ Category

Wednesday, March 3rd, 2010

My favorite professor, Dr. Bezrukov, used to have a very apt approach embed to those all-important, core elements in computer science to which there was no simple explanation: “I’m going to tell you how important it is that you should know this. Not only do you need to remember…it needs to be there in the center of your mind. If someone were to come into your room in the middle of the night, grab you, and shake you awake…you need to be shouting as you wake up.” This was an extraordinary way to help us realize how much he wanted us to learn this topic.

The first thing that my professor explained to me in just such a way was the structure of a Java class. I had never had any programming experience in my life, and Java was as foreign to me as Greek. But it didn’t take long for me to memorize “public static void main(String[] args){}”. I had no clue what any of it meant, but I shouted it when I was startled from my sleep. I also got used to typing it every time I started my homework in vim.

My most enjoyable memories in the computer science field were those “a-ha” moments when the simplest of concepts suddenly made complete sense, like Dr. Bezrukov’s “public static void main()”. I admit that I used to have one of these every week. I remember standing in the shower before an early morning of class and suddenly realizing how hot and cold water piping really worked and why it took time for water to warm up. This may seem silly to you, but it’s not something I had thought about before. I encourage everyone to have these moments as often as possible at every phase in life.

Saturday, February 27th, 2010

Tonight’s dinner was a nice quick meal of Curried Potatoes and Barbecue [Turkey] Ham (I’m trying to live a little healthier, after all). This was a bit of an experiment for me, as I’m not fully acclimated to using curry in my recipes, but I braved it for you, the reader. I do all this for you, and I get nothing in return.

The preparation is simple enough. 3 medium, Yukon gold tomatoes (I’m sure the recipe would work fine with russets or other kinds) and 1 medium onion, both chopped broadly. Come to think of it, I don’t think I know another way to say “chopped into big pieces, kind of bit-sized but maybe a little bigger”. Anyway, spread these about the cooking pan.

Warm up a 2-3 tablespoons of olive oil with 1-2 tablespoons of butter. As you are beginning to see, I’m not a big fan of measuring things. Anyways, balance this out with a tablespoon-ish of curry powder and a hefty sprinkling of red pepper and some minced garlic. This is all relative to your taste! Add pepper if you want, I don’t care, I even threw in a pinch of cilantro. How you warm this up is your business, but since I don’t own a microwave I used a cereal bowl nestled in my rice cooker. Let me shatter your belief that decent cooks (and computer people) lead glamorous lives.

Drizzle this evenly over the potato/onion mix. Then start the process to cook this bad boy in an oven or, in my case, Nu-wave oven. Halfway through, stir it up and be sure the sauce coats the potatoes. I would recommend another peppering of curry powder, but I love the taste of curry. Once the potatoes are done, eat them! Bam, who’s amazing? You are.

Look, I could give you more to work with, but I hate recipes. Even when I follow one I tend to drift off halfway through and add my own personality to it. I’ll grant you I’ve never made a souffle, but I’ve never had a bad time while cooking. Let me know if you found a way to better this recipe.

Bonus – BBQ Ham: Easy, precooked ham, cubed, dropped in a bowl of hickory bbq sauce, thrown on the grill rack and warmed up in the oven. Easy to do, and life is simple.

Wednesday, June 17th, 2009

Rejoining the workforce, if only temporarily, has reminded me of what it’s like to be productive. That’s not to say that my education is unproductive, but you do get a sense of accomplishment when you come home every night from a 9-5. You also feel some daily pains when it comes to things like team spaces, both physical and virtual. This is especially true if you’re joining an established team with idiosyncrasies to which you haven’t yet grown entirely comfortable.

I made a reference list of rules to obey when using a team Exchange server or other tool supplying a calendar service. While some of the following rules may seem like common sense to you, I challenge you to check yourself against these rules and see if you aren’t violating at least one of them. Actually, in writing these rules I picked things that I do too, but I won’t tell you which ones.

Raymond’s Rules for Team Calendars (Outlook, Google Calendar)

  1. All teammates must agree to use the calendar service as their primary method for personal appointment management and the collaborative scheduling tool. *
  2. Each member of the team is accountable for their own calendar.
  3. Calendars must be shared with openly with all teammates.
  4. All calendars must be up to date to provide for efficient meeting scheduling and accountability.
  5. All employees are in one of three states at any given time and their calendars should reflect this:
    • Free/Open – No scheduled events or appointments labeled as “Free” to show they do not require direct physical attention.
    • Busy – Unavailable or occupied during the time of this event.
    • Out of the Office – Time period when the employee is not located on campus. (Includes telework, alternate duty locations, vacation, personal days)
      In the event of an unexpected scheduling change the team member should make alterations to reflect that change as soon as feasibly possible.**
  6. Tentative appointments should be firmly changed to “Accepted” or “Declined” as soon as meeting attendance is most likely ensured. ***
  7. Exceptions are allowed in the form of incalculably, but necessary, overlapping appointments.
  8. It is reasonable to accept an event meeting and cancel in the event of an unexpected change.
  9. Do not add/save items on your calendar that do not serve a purpose in scheduling your day. Extraneous meetings and unrelated events that a team member does not effect the workday should be removed.
  10. Notes/Changes/Modifications to events made on calendars should be performed and tracked through the calendar service to preserve process continuity and centralized storage for meeting related data on changes or additions.
  11. Members who plan to actively attend meetings (i.e. offer input, act on authority, plan to ask questions) should be added by the meeting manager to the official roster and be notified of changes like other participants.

*If this a team cannot agree to dedicated use of the system then the team must agree to live in chaos.
**Enabling permissions for a second office-mate to modify a calendar would allow for support for meeting organization and last minute changes.
***All plans are tentative by nature so labeling events as “tentative” implies a further uncertainty than is experienced daily by mortal beings of this universe.

Casual Tips:

  • Any foreseeable blocks of work time in which a teammate prefers to be uninterrupted should be labeled on their calendar.
  • Further use of color coding to specify certain complex cases may be used, but it should be thoroughly enforced. For example, teleworking means an out of the office status but you are available for phone calls and will be responding to email just as you would if you were in the office, so a color code or tag may apply to this situation to help coworkers.

As with anything, you may disagree or agree, but I hope you’ll communicate with me either way. If I’ve forgotten something that you think belongs on this list, I’d love to hear it. This is only version one, and there will be other rules to come.

Try printing this off and sharing it with your teammates at your next meeting.

Saturday, March 28th, 2009

I’ve been meaning to get into podcasts for a while now as a way to expand my sources and let me pick up more stuff while on the road.  Also, it’s a little more fun, which is one of the biggest biggest advantages I see to podcasting: the presentation of valuable information in a manner that’s a little more social and palatable than black-on-white. (Read on…)

(more…)

Thursday, February 26th, 2009

I pose a challenge to any and all who read this blog: tell me how to disable binary logging on a 5.1 installation of the MySQL community server on a Windows XP box.

He who finds the Holy Grail and can return the magic elixir found therein to me shall be heralded as one greater than all in the land.

Sunday, February 15th, 2009

Over the last two semesters I’ve found many-a-use for a couple Java functions to aid in reading and writing to byte-level values. I don’t have the time to create an entry in the OSS section of the website so I’m going to post them here for now. This release is under the Creative Commons license.

They consist of ByteUtil.java and BooleanUtil.java

Download Zip

Feedback welcome, updates and additions are welcome as well. Please let me know if this has helped you at all.

Friday, October 24th, 2008

Unless you really, really like garlic…do not buy this product.

Liquid Garlic Salsa - 1% Lime, 2% Salsa, 97% Garlic

I’m not kidding. I mean, seriously, I’ve eaten raw cloves of garlic that taste less garlic-ey than this salsa. I only hope that the bottle I got was just disgustingly full of garlic. If not, vampires aren’t safe walking in Walmart any more. One of these bottles hits the floor and they’re all dead.

Saturday, September 20th, 2008

I’ve been straying a bit from technology a bit lately on the blog, but really that’s a mirror of real life. I love being a programmer and a computer security guy, but the reality of the matter is that it doesn’t define me as it once did. I’ve gotten back into my love of cooking lately, along with photography and music, and I must say that it’s done me a world of good (especially since my time not working in technology shrinks by the day).

One of the tools that brought me back was the NuWave Oven (Pro). This was a wedding gift to/from a couple that I know and love, but I guess that’s a long story. The short story is that the oven is quite nice. While I’ve only used it for two things so far, both turned out quite nice.

The first was traditionally more complex: herb encrusted chicken breast. To do this I tried the basic approach with some frozen chicken breasts. I don’t have a lot of time or space so this was going to be quick and dirty. I tried to thaw the breasts a little, but didn’t get too far and just went right in to the spices. The base was basil, thyme, and rosemary with a little lemon pepper and crushed red pepper for warmth. All of these were just patted into the breast surface and the breasts were just tossed on the rack. Then I seasoned the other side and started the oven up.

Within a minute I could see the chicken sweating off all memory of the freezer and loosing a lot of fat. The wonderful thing about this oven is that you can clearly watch the progress and get a great estimate for how it’s doing. I noticed that the bottom side wasn’t cooking well so after the first 8 minutes I flipped the three pieces over and started again. After 10 more minutes the entire cycle was complete.

The seasonings seemed to be sucked rightinto the chicken and the flavor was fantastic. I did notice that the breast was tough (especially as it sat), but I think that was a combination of faults on my part. First, I didn’t use directions (please, no guy jokes). Second, the chicken was pretty close to the coil on the top, I should have dropped it to a lower level. Third, frozen chicken breasts shouldn’t ever be used…especially if your freezer has been struggling to reach 32 degrees for a week. That said, I think the only pull back from the chicken could be righted almost immediately and I could start adding vegetables to lower trays.

My other experiment was a simple lesson in toasting. I took a huge, day-old-sale sourdough loaf and sliced it up into pieces. Then, using extra virgin olive oil I coated each of the slice sides. Then I seasoned with basil, oregano, and garlic salt, and I threw the slices on one rack in the oven. It took longer than I thought, but the results were fantastic. Perfect restaurante quality toast to mix with some tasty tomato-basil penne from the night before (quick saute with extra sauce makes a great way to reheat).

If you have extra money to spend, or marrying benefactors, I recommend trying out this product. If you don’t have either of the aforementioned items stop by, and I’ll make dinner for you.

Wednesday, August 27th, 2008

Yes, the lyrics to this delightful song by Santana (featuring the always forgettable Rob Thomas) share a truly fascinating phenomenon. It is the belief or need for reason merely because of the existance of one’s true love…or, in my case, a Cryptanalysis course.

While studying common methods for cryptography, there was quite a debate when discussing how humans crack the Caeser Cipher. Everyone seemed to have a strong opinion on whether the method was induction or deduction that humans would use to experiment with various 2- and 3-letter word possibilities, as you do in my mother’s personal vice: the cryptogram.

As I pointed out, to much derisive laughter, it’s neither. The correct form of reasoning to use here is abduction. This kind of methodology is not as pure as its bother and sister, deduction and induction, as it can lead to incorrect results. However, this sort of reasoning is arguably the most visible in our modern society. In particular, mysteries and detective-work almost always begin with a great deal of abductive reasoning. A trick to remembering these is to walk through a scenario. Here’s one that I made up:

Sherlock Holmes went to his friends house for tea and found his friend laying in the entrance with a gash on his head and a bloody candlestick next to him; he was dead. Using abductive logic, he could guess that he was struck and killed by the candlestick. It is possible that he died some other way, and that may not even be his blood on the candlestick, but it is fairly reasonable to make that step. Based on this, he could could also use inductive reasoning to estimate that a human struck him (a fairly strong induction as Sherlock remembers only 1 in 200 beating victims that he’s seen attacked by an animal).

Sherlock then remembers that his friend’s will stated that ‘if I die, my butler will take over and own my estate’. Since the man is dead, the butler must own the estate. This fine bit of deductive reasoning tells Sherlock It’s probably a good idea for him to go talk to the butler.

Monday, August 25th, 2008

For those three of you who didn’t know, I’m not a Minnesotan any more. Or a Wisconsinite, I guess. No, my home is now in Tulsa, Oklahoma. It’s strange to say, but I almost feel like I’m already living that small dream. I’ve heard people say that “if you talk about something it long enough, it’s real”.

I don’t know how long it will be before I start to feel like this is where I’ve always been. It will probably be after I stop hearing about my accent, and maybe after I change my license plates. I hope it will come like the pentecostal flame, only giving me the strength to kill giant spiders instead of speaking in tongues.

There were a few steps to this journey, and I’ll probably document them for you in the next day or two. Without internet access or a working knowledge of Tulsa’s geography, I’ll probably be sitting inside a lot without much to do. It’s good, and I’m not trying to ‘fix that’.

But in summary: it’s now a week before my graduate courses start up in computer science, and three days before I find out just how small I am relative to the entering class of graduate students. These are major events, and major chapters that I’m now going to be exploring. I’m glad you’re reading this, and I hope you can find time to leave a comment or two on this blog series. I’d like to hear what other people are going through.