Nick Vahalik's blog

Put It Where It Goes!

Why can’t people just make the bodies of e-mails the content? Why do they insist on putting an entirely new message in a Word Doc, attaching that to a message, and then sending that message? Put it in the freaking body of the e-mail! It’s not that hard.

I don’t want to have to click to open the document and then have to delete the document. It’s not like there are graphics or pretty colors. Just names, and dates.

Put it in the e-mail body, where it belongs!

Movie Curiosity: Vicky Cristina Barcelona

This morning, I finally managed to finish No Country For Old Men. It was great. One of those genre overlapping movies that doesn’t fit into any one particular category. You might say it was basically a “chase” movie (as the Coen brothers called it).

The bad guy in that movie is Javier Bardem. He’s so good at it. Really great. As it turns out, he is going to be in Vicky Cristina Barcelona as well.

It’s a little deja vù with what Gerard Butler did with 300 and P.S. I Love You. One minute, the guy is a total ultimate badass putting fear and animosity into the hearts of any intelligent soul, the next he’s the reason all the lady’s are wishfully sighing and getting all teary-eyed.

His performance in this movie will be a very interesting contrast to what we’ve seen of him in NCFOM1.

1 Considering that I’ve only seen him in one other thing, my scope is limited. You might already know he’s a great actor.

Back From Vacation!

The cruise to Cozumel was amazing. Probably one of the best parts was turning my phone off for 5 days. At first I wasn’t sure if I could do it… but we got through it and it was such an amazing experience that I would love to do again.

While I was on vacation, I read Neuromancer and started reading The Dumbest Generation. Neuromancer was a great book. It was way ahead of it’s time, and if you have seen the Matrix and never read this book, you should. This book was written by the guy who brought into existence the words “cyberspace” and “matrix.” Totally worth the read.

The Dumbest Generation is about the death of reading in America’s youth. So far it’s been very eye-opening. I’m only about 1/3 of the way through it, but I’m going to try to get through it over the course of the next week.

Turning my phone back on after getting home only yielded 3 voicemails (2 about one thing, and 1 that wasn’t for me), 100 e-mails (already gone through and finished), and 1 txt message. Not bad.

I’ve still got some time this weekend to get re-acclimated to life outside of vacation. That’s great because my brain is still in vacation mode! Got more stuff going trying to get my business in a better state. We’ll see where it is in 5 months!

So Much For a Post Every Day

I’ve been really busy the past week or so. Leaving on a cruise to Cozumel on Saturday. Woohoo! So everything I’ve been doing is getting ready for this. I’ve still got to pack tomorrow and do a bunch of errands.

So I finally redid my office since my roommate moved out and I’ve been using it more. The old was was… well… see for yourself.

The desk was there when I moved in. It was falling apart. The black drawers I’ve had since my college days. There was pretty much no organization, no room to spread out, and very little room to move around.

Old & Busted. Pleh.

No shelves. Just big, ugly, empty walls. Gag.

New hotness! Woot!

All-in-all I spent less than $800 and the improvement is already having a great effect. I’m way more organized and I actually enjoy working in my office now!

Rsync Backups Using ExaVault

When I started Netoteric, I wanted to do everything “my way” (aka better than everyone else). As altruistic as it sounds, it’s much tougher to do in practice. One of the big things I’ve had an issue with is handling backups. For over a year, we’ve been doing disk-to-disk backups inside our servers. This is great for restoring an accidently deleted file, but if something else crazy happens, we’re SOL. Enter ExaVault.

I found ExaVault while looking for rsync providers online. They do a lot of FTP stuff but they’ve added rsync/Linux Backup with ssh, rsync, and sftp support. Not shabby. All plans come with unlimited bandwidth (with a note that you are required to do incremental backups after the initial first backup). I’m on the 25 GB plan for $15/mo. The sign-up is not instant, but I got my information within a few hours.

Their setup information was a little hard to find. After going through there site though, I was able to find the rsync setup page after going to the Support page. It walks you through creating the SSH keys for public-key authentication and a few simple rsync commands.

So far, they seem fast, and the price is better than other rsync providers as well. I’m going to give them a shot for a while and will post a follow-up later on.

Nifty Tool: PC Tools Password Generator

PC Tool’s Secure Password Generator is a nifty little online password generator. It lets you generate passwords that:

  • Are between 4 – 64 characters long.
  • Have letters, mixed case letters, numbers, and punctation (off by default)
  • No similar letters

It can generate up to 50 passwords at once and can generate phonetic output so you can read it out to someone over the phone. Some uses i’ve found: generating database, service account, and forgettable passwords (like ssh accounts that use keyed authentication). Pretty nifty. And by nifty, I mean frackin’ awesome.

Also, if you’re one of those Windows people, you can even download an executable that has some additional functionality.

Just a few of my favorite Things...


I’m horrible on keeping track of stuff. I’ve lost more crap and misplaced more stuff than anyone I know. For a while, “pulling a Nick” involved having something in your hand one minute, and forgetting where you put it the next. Ladies and gentlemen, yours truly is a changed man. Enter Things from Cultured Code.

Things is, by far, the most used program on my Mac aside from Textmate. If you are a busy person, are just plain forgetful and need a way to manage everything you’ve got going on, then you really have to try it. Give it a couple of weeks. I had to use it for about 3 weeks before it really started to kick in. Combined with Inbox Zero, Things has allowed me to become extremely productive. So productive, in fact, that I find myself visiting Facebook less and having more time. In fact, my office is much cleaner than it has been in the past few months.

My boss has even stopped by to ask me what has happened that has made me so much more efficient. I can’t brag about Things enough!

Try the beta now for free! If you sign up now, you’ll get a discount when the release it this summer. There is also a client out for the iPhone. It’s only $9.99 right now in the App Store, and doesn’t support syncing (although it’s coming soon).

You definitely won’t regret it. Really. No, really.

Druplified Netoteric Site Now Live

As a side note, the new, druplified Netoteric site is now live. The intention was to do a 1-to-1 conversion of the old site (which was just hand-coded… yes I know, tsk tsk). The result was almost a complete pixel-for-pixel duplication of the site. There were some changes made on the newer site: links removed, text changed… but other than that, it’s almost a perfect replication.

Just in case you were wondering, Netoteric is a company I started in January 2007 that builds and hosts websites and software. Now you know… the rest of the story.

Alternating Alignments On Full Node Views With Contemplate

While converting my Netoteric site to Drupal, there was a small problem with the portfolio page. The items in it alternate between left and right. Views Theme Wizard didn’t work. It was time for more desperate measures.

I added a function in my custom template file, which created an index number and assigned it to a node member.

/** * Display the nodes of a view as plain nodes. */
function theme_views_view_nodes_portfolio($view, $nodes, $type, $teasers = false, $links = true) { $i=0; foreach ($nodes as $n) { $node = node_load($n->nid); $node->__views_index_number = $i++; $output .= node_view($node, $teasers, false, $links); } return $output;
}

theme_views_view_nodes_portfolio overrides the Views default theme function, but only for the portfolio view.

Then inside the contemplate body template I just added a modulo function to alternate between left and right:

class=“thumbnail __views_index_number % 2 ? ‘right’:‘left’)?>”>

And voila! Now the images alternate between left and right…

Fixing a Quiet Volume Problem on the iPhone Speakerphone

Yet another design flaw in the iPhone. The speakerphone worked great for a long time. Then one day, it got so quiet I couldn’t use it anymore. I tried a volume hack when it was jail-broken but to no success. My problem wasn’t a bad speaker, it was the iPhone equivalent of ear-wax.

While pocket lint is nothing more than a nuisance for you and me, to the iPhone, it’s kryptonite. The phone has little holes on the bottom so sounds can go through. And you know what? Those little holes eat pocket lint for breakfast, lunch, and dinner.


The little holes in question.

Only the holes on the left (if you are holding the phone during regular usage) are utilized when playing music or using the speakerphone. Take a peek down there. Do you see any white, gray, or anything in those holes? If yes, please read on. If not, then I can’t help you. Move along.

Now, I have to warn you that if you do this too hard you can damage your phone and/or void your warranty. But, you probably don’t care, do you? I didn’t think so. So go grab your handy-dandy iPhone speaker-hole cleaner. Don’t have one? Just use a bulletin board stick-pin.


It’s hard to see, but it’s slightly bent at the end. Perfect!

Just gently fish it around in each hole. It should come out with a little time. Be patient. Push too hard and you could damage your speaker. That would suck. I blew a little in mine and a bunch of junk came out. A couple minutes later, the speakerphone was working great again. Hope this helps you!

New Snail Mail SPAM Tactic: Seek & Destroy

So in my weekly ritual of going through mail and shredding everything not of interest… my shredder choked pretty badly. Reverse. Forward. Still stuck. Pulled gently. Wouldn’t budge. Pulled harder. Used two hands. Finally it came out. Turned shredder back on. Still stuck.

What the hell?

After 5 minutes, a screwdriver, and some needle-nose pliers, I finally found the culprit:

One of the auto dealerships had put a key in an envelope. My guess is that in an effort to stop the spamicide of their mailing, they tried to take my shredder out ninja style.

Luckily, my shredder-fu is much greater than their spam-fu. After removal, the shredder kept devouring without a hitch.

Building a Website with Drupal: A Methodology

“How do I build X with Drupal?" I’ve received the question a few times… over the past few weeks as my friends and colleagues have been persuaded to give Drupal? a shot.
But there is still one question that remains. Once you get past that initial step of getting your feet wet, you want more… and how do you get it? Here is a guide.

Step 1: Ask yourself “What am I really trying to achieve?”

Don’t limit yourself by what you know. Write down what you really want your site to do and have. Make a list, but keep it general — don’t write down any specifics. Drupal is extremely powerful and flexible, but unless you can write PHP, it’s easy to forget that you’ve got to play by the rules and use what is already available in order to get the most out of it.

Step 2: Find out the “Drupal” way of solving your problems

This is probably the toughest task you’ll have in your endeavor. In this step, you’ll take the list of wants from Step 1 and find a module (or combination of modules) to make your ideas work in Drupal. There are a couple of ways you can go about this. One might work for you, but it’ll usually take combination to get your list taken care of.

  1. Head over to drupal.org Modules Page and start your search. Modules are arranged by category. If you create an account and login, you can filter by the version you are using.
  2. Just search Google for a rough idea of what you want. drupal.org is indexed very well and not only will it return module search results, but forum posts and handbook pages that might have exactly what you need.
  3. Check out the Drupal showcase. There might be a site that has already done what you want and you can benefit from their experience.
  1. Post in the forums. There are sections for Post Installation and Converting to Drupal where you can ask your questions, post scenarios. Be nice, though.

Some modules that can really solve a whole blanket of problems easily are:

  1. CCK – The Content Construction Kit allows you create and customize fields using a web browser. Custom content types can be created in core, and CCK allows you to add custom fields to any content type.
  2. Views – The views module provides a flexible method for Drupal site designers to control how lists of content (nodes) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted.
  1. Content Templates – This module was written to solve a need with the Content Construction Kit (CCK), where it had a tendency toward outputting content in a not-very-pretty way. And as such, it dovetails nicely with CCK, adding a “template” tab to CCK content-type editing pages and pre-populating the templates with CCK’s default layout. This makes it easy to rearrange fields, output different fields for teaser and body, remove the field title headers, etc.

Step 3: Have fun and play around

Install your modules, give it all a shot, and be patient. Drupal has a learning curve, but it’s well worth it if you play around with it and try not to rush. It’s tough to approach it with that frame of mind if you’ve got a site you “just want built” and don’t have the time (or the patience) to sit down and play around with it. There is a wealth of resources out of there on the intertubes. You just have to look for it.

There is a lot that can be achieved with what is out there now. It’s all about finding the right modules and implementing them correctly. You can build some pretty interesting sites without even touching a single line of PHP.

Step 4: Write a module

If you just can’t find the solution to a particular problem (or, more likely, the exact implementation of a solution, you’ll need a module. Modules in drupal are tough to start off. The API for drupal is pretty big. There may already be a hook that does what you need.

At any rate, there are some problems that can only be solved with a module. Also, there are some problems that can only be solved by patching drupal core. I don’t recommend the latter, because it can create problems down the road with upgrading. In general, you may want to explore a trade-off or look at another way to solve the problem if it involves making a change to the drupal core.

Drupal core, by the way, is anything that comes with a default installation of a downloaded drupal source tarball. There are reasons why certain things aren’t in core. Keep this in mind.

Writing about module development tactics could take up another post, so we’ll just leave Step 4 where it is.

I hope you found this post useful.

Peace and Quiet... or not.

I’ve been quiet for the past week or so… mainly because if I haven’t been really busy then I’ve been asleep or just being a bum. I ended up getting a new Plasma TV for my birthday (as well as a Blu-Ray player and some movies) so the majority of my bum-time has been spent gawking at 42” of pure technological beauty.

I was really surprised to find that (unlike other TV of similar size) I could play Guitar Hero 3 without calibrating for lag. In fact, the only calibration I ended up making was a 4ms audio lag. Not bad considering some of the previous adjustments I had made with other TVs or projectors.

Setting it all up was super-easy and I’ve even gotten my remote reprogrammed for it. Yay Logitech Harmony. Now it’s just a matter of time before the HDMI cables come in and all of the component cables can be put into storage. Call me silly, but I was unaware that HDMI also carried audio until hooking all this stuff up. The whole setup is much cleaner and getting rid of the top of the entertainment center has really opened up the living room.

Lately my place has started feeling much more like home. I hung up curtains, really cleaned, moved a bunch of stuff around, and thrown away stuff that I had been holding onto. It’s been my way of being productive during this period where I really don’t feel like doing anything web-oriented. I’m sure it’s just a phase, though.

Download Adium X 1.3b2

Saw this article on Ars Technica earlier, and had to try it out. Latest beta of Adium has a Facebook module. Sure enough, it works like a charm. I can see and chat to everyone just as if they had IM, all from the comfort of Adium.

Go download the Adium Beta

UPDATE: It appears that by using this module, it continuously logs you out of your browser session. Trying to browse the Facebook site while logged into the IM client through Adium was a painful experience. Just FYI.

For all your Bruce Schneier Facts

Bruce Schneier Facts

My favorite… Bruce Schneier’s secure handshake is so strong, you won’t be able to exchange keys with anyone else for days.


Theme & Icons by N.Design Studio
© 2010 Nicholas Vahalik
Syndicate content