Going Broke Saving Money

Nov 29, 2005 23:15

One of the websites (dealnews) my dad visits on a regular basis during his incessant deal-searching has the wonderful and so-very-fitting slogan, "How to go broke saving money." That's how I feel today... I'm out ~$250, but I saved about that much (arguably more, if you count the extras I got) in the process!

My first purchase was the Adobe Creative Suite (v2.0, of course). As a result of my recent photography endeavors in which I've become increasingly pleased with the quality of my camera combined with my wubbly 50mm prime (if you have a Canon EOS camera and don't have one of these lenses yet, get one now; worth every penny in a number of ways), I figured it was finally time to plunk down the $400 (plus tax) for the student edition of the Creative Suite, seeing as I use Photoshop and InDesign frequently enough now to warrant buying them, and having a legal copy of the whole suite is just a good thing in general. So I walk into the ASU Computer Store, grab a CS2 box, and bring it up to the counter. "We actually have a version that's $190, with some limitations, for students only behind the counter if you'd like," says the guy behind the counter. "Okay," I reply. Turns out that students are entitled to buy one copy of the Creative Suite, minus the printed manuals (bummer... heh), that's licensed through Adobe's "Student License" program for $190 instead of the usual $400. After signing away my soul (well, not really, I asked lots of questions to make sure I wasn't signing into some gimmick, and indeed I wasn't), I paid just over $200 for software that retails for $1,200 (gotta love student discounts). AND, wait until you hear this... by registering online with Adobe, I got a free font! Not some cheesy font either... Adobe Garamond Premier Pro, in all of its OpenType glory =D (which-for those of you who think fonts are things you download for free on 101freefonts.com or what not-would set me back a cool $300 if I bought both the font itself and the Opticals). That was really exciting.

My second purchase wasn't nearly as exciting (it's not often you get a $300 font and pay $200 less than you expect for something), but it was a deal if I ever did see one. You see, I let my friend Patrick "borrow" my Sennheiser HD477 headphones when I helped him build his computer a few months back, and I have yet to see them again. If I went over to his dorm and pounded on the door I'm sure he'd give them back, but I figured I'd buy a nicer pair and just have him pay me $20 for the pair he has instead (he was planning to buy some, and he said he'd pay me for them if I bought a new set). I initially went looking for a pair of HD497s, which are the next model up. Turns out Sennheiser's released some new models in the same line, and I was intrigued, and wondered whether they were worth the extra money. I finally settled on the HD485, because of their improvements over the HD4x7s (single cord, better frequency range, etc.), and started looking around for a deal. The cheapest price I could find was on Target.com, which after tax and shipping was basically the same as everywhere else ($80 or so). I found a 10% off coupon on dealcoupon, which knocked ~$7 off the price. Then I remembered I had a $25 gift certificate (from Hodge, I believe) as well... so when I got home I applied that and ended up only having to pay $50. That was good enough for me, so I purchased them and that was that.

I feel accomplished!

My first "real" program with the potential to be used by a user base larger than two or three people went "live" yesterday. The reason I enquote "real" is because it's a pretty pitiful excuse for a program (it doesn't do much), and by "live" I mean it technically can be downloaded by nurses to use at home, although it hasn't been thoroughly bug-tested yet and no big announcement telling all of the nurses to switch has been made. It does however work, and it works pretty darn well if you ask me. Given that I'd never touched Visual C++ or MFC (Microsoft Foundation Classes, I believe) before, I feel pretty accomplished that I produced an application that works and does so relatively elegantly. I'd post a link to it, but it's useless if you're not part of the College of Nursing.

I still don't know what I think about Visual C++, the Win32 API, and MFC. The reason I ended up coding it in C++ as opposed to C# is because I had to avoid using .NET, given that the app will be installed on any number of home systems of people who don't know what the heck .NET even is, much less have the framework (or the broadband connection to efficiently install it... it's upwards of 20MB, which is suicide for a modem... unless you're Pasta, in which case you scoff at 20MB and keep nagging your parents to get broadband while you leave your computer downloading overnight). So, the only real choice was C++ and MFC, which is good and bad in itself.

I like C++ in general because I like C, and there's something about automatic memory managed languages that rubs me the wrong way (*cough*IhateJava*cough*). The problem with using MFC is that you have to dig around for the documentation, because most of the results returned on MSDN are for .NET, unless you search for an MFC method/class specifically. Of course, the MFC/VC++ documentation is inconsistent, incomplete, and generally lacking when it comes to the functionality I use (of course... obviously the documentation-writers were out to get me), which doesn't help much. MFC is also showing its age, and thus doesn't always take well to the automation that Visual Studio .NET (2003) tries to impose upon it. (I have my own opinions about Visual Studio's automation, but that can wait for another time.) My 1337 CodeWarrior skillz paid off, however, and I beat it into a halfway-decent app, which I then pretty much rewrote because of the server crash a couple of weeks ago.

Here's how it works (for those curious, which is probably nobody at this point, but that's their problem, not mine =P ): It presents a username and password login screen for the nurse. They enter their credentials and click the OK button (or Cancel to quit). The program then pulls a list of drive letters and associated shares from the internet, which it parses. It mounts the first drive (the Z: drive, in this case), and then either continues mounting drives or handles updating itself, if an update is available. If it finds that there is a later build available, it spawns an "updater" process, quits, and then the updater process copies the new version over the current version, and launches the new version, at which point the user starts over and can mount their drives. There's a simple status window as it's mapping drives that tells the user what drive it's trying to map. When it finishes, it tells the user what drives it mapped, and quits.

The app weighs in at ~270KB with MFC linked in, which is nice too-small = good. So far, it works exactly as expected, with the exception of a stupid regex error that made it initially not parse share names with spaces in them... that was a two-character fix though, so all is good now (and the autoupdate worked like a charm too).

So, I feel pretty accomplished... it's nice to have an application "ship" with your boss's approval.

Too smart for my own good?

Lately I've been wondering whether I'm too smart for my own good. Not because I think I'm smarter than anyone or because I claim to know everything, but because, given the situations I'm in at school, work, and church, I feel that some of my "potential" goes to waste. I don't believe I'm the only person in this situation-I think a lot of the time that people are stifled by the lack of resources/people to execute their ideas. I've just been realizing this recently, at work and church especially, and it makes me wonder what would happen if more resources were available to me.

Take work, for example. I have a pretty good idea of what it would take to migrate our domain to Active Directory over the course of one weekend or so, with few glitches along the way. This would solve so many problems we face in IT on an almost daily basis that it's not even remotely funny. Not to mention it'd put to work our dual-Xeon machines that are currently just sitting around doing nothing but idling and wasting electricity and take the load off of the 1.6ghz desktop machine (a.k.a. no redundancy whatsoever and probably the cheapest components money [or lack thereof] can buy, given that it's a Transource box) that's acting as our Secondary Domain Controller and the old decrepid Pentium (II?) machine that's now acting as our Primary Domain Controller. The list goes on and on from there, but basically we'd be using a Microsoft-supported operating system (Server 2003) on still-waranteed machines with still-available components.

Why can't we just bite the bullet and migrate then? Because for two people (me and my boss) to migrate an entire domain seamlessly in 48 hours is not nearly enough time, given Murphy's law and the fact that we have so much other crap going on that we can't plan how we'd execute it or do any sort of testing therein. If we had a few more full-time IT staff, I think we'd be able to do it and do it well, and 99% of the nurses wouldn't notice the difference.

The same goes for an integrated login script-a-majigger. I know how to implement one, and given a few weeks of time to sit and design, spec, and implement code for it I'd produce something that fits our needs to a 't'. However, given the daily distractions (video editing that needs to be done yesterday, P: drive migrations, server crashes, other miscellaneous tech-support problems, making changes to the drive mapping application), it'd take me months to produce something that's up to my boss's standards (which is good... I'm glad he has high standards, because the crap that some of the previous faculty there created is causing us nightmares to this day).

Church is kinda the same way. I have a billion ideas for improving the sound system, streamlining worship, improving the room, etc. all of which we potentially have the budget for... however, I've realized that Starbound doesn't have a good salesman (or saleswoman, but for laziness' sake I'll say salesman). What do I mean by that? Well, between Brandon, Anthony, and I the number of good ideas that exist is pretty overwhelming. None of us can take any of these ideas and say, "okay, we're gonna do this, this, and this... it's gonna cost this much, and it'll take this long." Well, we can do that, but it takes us months, instead of minutes like it potentially could for someone who's got that sort of a mindset. The reason I say we need a salesman is because we need someone to take the ideas, make the trivial decisions, and pitch it to Vince or the elders or whoever so that we can actually put our ideas into action. We currently spend too much time trying to perfect our nascent ideas and not enough time just doing them.

So, all of these potentially good ideas go to waste, and then we end up scrambling at the last minute, or Vince ends up just doing/buying something that isn't really the ideal solution, and we end up "eh" about the whole thing. It's nobody's fault, and there's nothing we can really do about it (as hard as we try, we will never be as good as a "born" salesman would be).

Anyways, just more random observations which you probably knew to some extent or another and are now wondering whether you cared to have fleshed out by yours truly.

Expect more tomorrow (*gasp* intriguing, isn't it?)... I started rambling about a couple of other topics but figured there was enough for one entry here already. It's fun to keep everyone on the edge of their seats, too =).
Previous post Next post
Up