22 December 2009

Happy Holidays

Exams are done, my new iMac was finally delivered, and Christmas is almost here.

Exams went pretty smoothly, except for Cisco. The written part took less than an hour, but the hands-on part could only be done 2 people at a time, and I was lucky enough to go last. It sure can be fun waiting around the school for 8 hours to do an exam. It didn't take too long, maybe 2 hours.

Once I finally started, I noticed the guy before me had left all his configurations on the switches, so I had to wait another 15 minutes while the teacher went through them all and made sure there were no traces of it left. I stayed a little longer after I was finished, too, 'cause I didn't want the guy who started an hour before me to feel like too much of an idiot with me finishing before him. And, of course, being the last ones in the room, we had to help clean up and re-wire the room the way it usually is.

By the time everything was done and over with it was almost 9 PM. Not bad for an exam that started at 9 AM.

The last exam was a bit… weird. As a bit of a preface: We didn't do anything in the class all year. He gave about 5 lectures that were mostly review of what we did last year, then gave us assignments without teaching us how to complete them. It turned out the exam was pretty much all the assignments bundled into one.

Except, people were having problems. I mean, sure, we also had tons of problems while doing the assignments, too, but he never actually showed us how to do them "properly". Not only that, but the virtual machines he had given us were also having some problems. Some of them wouldn't recognize the disc drive, so we couldn't install some of the required components. Some of us didn't even have our discs so we had to wait until we could borrow someone else's, which took a good half-hour. Then some of the components within the VMs wouldn't work.

It was a mess.

Finally, when everyone was done, he announced "oh yeah, and your unit tests for the semester should be online later this week". Wow, thanks for that. I'm sure those would've been more helpful before the exam. That was on the 14th. It's now the 22nd and he only just turned on the last two tests. Oh, and our transcripts were finalized today, so any marks we get on the unit tests won't reflect retrospectively in our final mark. I'm just left wondering if I should even do them.

But enough about the bad news. Onto the good news!

My iMac came in! (Finally!) It only took about a month. Ordered on the 27th of November, delivered on the 17th of December. But it's okay, Apple, I forgive you. It was worth the wait. If anything, the wait made it more worthwhile.

27" iMac, 2560x1440 resolution, 178 degree viewing angle (yes, I've even tested it out, it's awesome), 2.8 GHz i7-860, 6 GB of RAM (upgraded Steve's 13" MacBook Pro from 2 GB to 4 GB and put the extra chips in the iMac), 1 TB hard drive, ATI 4850 with 512 MB VRAM. It's amazing.

It also came with a wireless keyboard (which I already had before, but this one is ever-so-slightly different) and Magic Mouse. While not exactly "magic", it's a pretty cool mouse. It brings the cool multi-touch gestures of the MacBooks to the desktop.

Speaking of multi-touch gestures, if you happen to own a Mac with a multi-touch capable mouse, check out this site. It increases the number of things your mouse can do by an order of magnitude. It can even do some multi-touch stuff on some of the older MacBooks that only support two fingers.

I never managed to get that Christmas shopping done. Mostly because nobody told me what they wanted, or anything they needed. I'm thinking of getting the parents some seat warmers for their vehicles, but I'm not sure about my sisters. Money is always nice. As for my brother, I was thinking of getting him some hot sauce, since he's a big fan of spicy food. But not just any hot sauce, I'm talking about hot sauce that has a Scoville rating of over 1 million. The kind that you only use one drop of in an entire batch of chilli. You know, the kind that makes you think you're going to die if you get a drop on your tongue.

I already upgraded Steve's RAM, but I think I might do his hard drive, too. He's got the stock 160 GB, 5400 RPM drive in there right now. I'm thinking of upgrading him to a 500 GB, 7200 RPM drive since it's on sale at newegg right now. Besides, he could use the extra space and speed. He downloads a lot, and speed is always a good thing to have. I'd go SSD, but that's prohibitively expensive, and doesn't have as much space. I kind of wish they would come out with metal foil drives already.

I'll use Time Machine to back up his drive, replace it, then restore his machine from backup. It should be pretty painless.

I might get him his own Magic Mouse, too, since he said he wouldn't mind having one. FutureShop has it for 90$, Apple has it for 70$, so I might get them to price match it.

Megan's back for the holidays. One semester down… I have no idea how many to go.

Oh, and Amanda's moving back in. The parents are gone down to Toronto right now to pick up her and her stuff. They should be back tomorrow.

That's all I've got for now. Check back later for updates on which expected Christmas gifts I got and which ones they forgot to order (like the USB-rechargeable AA batteries).

Oh, and I may start another blog soon. An 18 and over, gratuitously filthy blog, that is. We'll see how that goes.

04 December 2009

Homework, among other things

So I managed to finish my web programming assignment. A big leap, in my eyes, to go from a bit of HTML and CSS on my own time to all-out PHP, MySQL and Javascript, but unimaginably easier and more convenient. Having the ability to use loops to generate a page and only generate the parts you need is pretty nice. So is not having to rewrite every single page. Kind of a pain, however, is getting all the HTML code to still line up in the source code. While not at all necessary, it's still something I like to do as a matter of professionalism.

This weekend I have the task of making a 15 minute presentation about my website (oh boy, and with Steve's MacBook Pro at hand I can finally use Keynote in class!), a short presentation for Systems Analysis about some company offering Software As A Service, filling out an entire lab book with answers, and figuring out how to set up a DHCP server, a VSFTPD server, a backup routine, NIS, LDAP, and a mail server. On SUSE 9.

Yeah, that's gonna be fun, getting to set up obscure software on old software without being given any documentation on how to do any of it. Oh, but it's to "prepare us for the real world, where we might not be told how to do our job". Except in the "real world" (which one are we in now? we're definitely not in Second Life) there's a minimum requirement as to how much you have to know before you can do something. Even The Sims managed to cover that.

All the other stuff isn't so bad. I kind of like giving presentations, especially if I like what I'm talking about. Talking about one of my own projects? That's loads of fun. I love doing that. It's my chance to show off. I'll give it 110%, and hopefully get a similar grade since I managed to put in that much more effort than everyone else.

Making a presentation about something boring? Not bad, but still tolerable if I get to use Keynote.

Filling out a lab book with notes? Boring, but at least it'll boost my mark by 10% (seriously? yeah).

Oh yeah, I'm also expected to do a bit of Christmas shopping and socializing, too. And it's a weekend, so I'm not waking up before noon. This is going to be fun. Assuming Saturday has a 1 PM wake-up time, a 9 PM to 2 AM socializing time, then Sunday has a noon wake-up time, 1 hour finish-up on socializing, then a 11 PM bed time, with about 25% procrastination rate, I've got about 12 hours. The website presentation should take all day Saturday on its own, then the more boring presentation taking up an hour or two on Sunday if I'm lucky, the lab book another hour or two, then the rest of the day can be spent wrestling with SUSE 9. Lovely.

Oh, right, then I have to go on Blackboard and fill out all the course surveys, finish up a few rogue assignments, do a few quizzes, and make sure I'm not missing anything. Awesome.

Not that they could've started giving out this work in any of the 3 months of school we just went through, that would've been too balanced. No, they have to dump it all on us the week before exams. You know, because it's just so terribly easy to do a semester's worth of work in a week. So easy.

Anyway, I think that's enough for one day. I'll be sure to post a status report sometime next week.

24 November 2009

Some Updates and Some Ranting

I've updated my script. Now that I'm on a smaller screen (people who say you can't tell the difference between 720p and 1080p have never gone from a 1920x1200 to a 1280x720 display) having rings with a (maximum) 400 pixel radius seems a bit excessive, so I've fine-tuned it to be proportional to the display. You can download the file by following this link. I love MobileMe iDisk sharing, it's so simple.

The other update is that I've ordered my new iMac, but unfortunately I couldn't fit the i7 iMac into my budget so I've had to go with the Core 2 Duo iMac with the upgraded 4850 video card. Seeing as how the video card was the problem in my old iMac and not the processor I think I'll be satisfied. For now, anyway. Although it hasn't shipped yet, so I think I'd still have time to cancel it and go for the i7 if I really wanted, which I do, but can't afford until later.

Screw it, I'll wait. Shipping and delivery would take a month anyway, I might as well wait a few more days so I can get the model I really want.

Steve's iPhone broke on the 12th. I set up a replacement via Applecare on the 13th. We got his replacement on the 16th. I sent out his old one later that night. Apple still hasn't received it, and FedEx still hasn't recognized that I sent it out. Right now it's considered "lost in the mail" and I may have to end up paying a 300$ late fee because of it. I think I'll call Apple tomorrow to try to explain the current situation, in hopes that I don't get nailed with an unnecessary fee.

I ordered some new pyjamas in September. They got to me in mid-October. They were too big so I returned them and requested a smaller size (5$ shipping). I still haven't received the replacement ones yet, and it's been almost a month. I have a feeling I'll have to call them too.

It doesn't help that Timmins seems to have the worst shipping times in the world. When I ordered Snow Leopard back in August it took almost a month for it to get here. By that time I'd already downloaded and installed it, so now it's more ornamental than anything, although technically it's legal now.

I hate how credit cards take an annoyingly long time to update themselves. I usually have to wait 3 days after any transaction to find out how much my balance is. Right now it's saying I have a "balance owing" of about -100$, which means I should have 100$ in credit. Then right besides it says "available credit" as -75$, which technically means I'm over my limit by 75$. I have no idea how they managed to work out that they owe me money and I owe them money at the same time, but it can get really confusing.

Schoolwork seems to be piling up more and more every day. It doesn't help that teachers give out work faster than we can get it done. Literally. We need to have access to the lab to be able to do our work but the lab has such limited hours that we can't get it done unless we spend half a day waiting at the school between our last class and the last class to use the room to finally finish up. Worse still is the ambiguous work which sets a vague goal, gives no instructions on how to get to it, and expects us to figure it out. I don't really see how that's "preparing us for the real world, where [our] boss might give us a task without telling us how to do it", since employers are kind of required to make sure the employees have the proper training to do any task assigned to them.

Still no job. Nobody's really hiring, and I refuse to work fast food, so it seems I'll be out of a job for a while. I think next semester I'll apply to be work in the lab at school, since you pretty much make your own hours and get to do your homework while getting paid. Of course, there's the downside that you have to help other people do their homework if they ask, but that shouldn't be too much of a problem.

Naps are nice. I seem to be taking a few a week, nowadays. They usually last a full sleep cycle (about 3-4 hours), but they're worth it. I especially prefer it over not napping. Not napping kind of sucks if you're tired. Even going to bed early doesn't quite seem to cut it. Considering most animals (including our ancestors) sleep a bit a night and a bit during the day I don't really see a problem with doing the same. It's what we're designed to do.

I think that's enough for one post.

23 November 2009

It's a New Dawn/ It's a New Day/ It's a New Mac

Well, not exactly. Let me explain.

As some of you might recall, I had my 20" Core Duo iMac replaced through AppleCare a few weeks ago with a new 24" Core 2 Duo iMac. While that wasn't necessarily a bad thing, the fact that an NVIDIA 9400M was now driving a 1920x1200 display, and at times a second 1920x1080 display, was a bad thing. The 9400M is okay for some things, but not the kinds of things I use my computer for. It was slower than the old ATI X1600 I had in my old iMac, which should say something.

This weekend I decided to sell that new iMac (good thing I didn't get the AppleCare on it, eh?) and put the funds toward getting myself the newer 27" i7 iMac. I would go for a MacBook Pro instead, but since it uses the same dreaded 9400M, and since I know there's a MacBook Pro update coming soon (probably using the mobile i5/i7, possibly employing some kind of IPS technology), and because I can't really wait and can't afford the 17" MacBook Pro, I'll be getting the new iMac as soon as I can.

Meanwhile, however, Steve's letting me borrow the MacBook Pro. It's taking a while to import the settings and apps I had on my iMac, but I may soon be able continue doing all my homework. Using the MacBook Pro, however, has made me realize just how much I miss having a laptop. Sure, it's not as good as the big honking 27" i7 iMac I plan on getting, but it's still good. I like the backlit keyboard (why isn't the desktop keyboard like this? They're otherwise exactly the same), the light sensor adjusting the screen automatically, the gargantuan multitouch trackpad, and of course the mobility. Being able to bring this thing everywhere I go is great. And it's so thin, and so light, but still amazingly solid. This is the kind of thing that makes fanboys drool.

Basically, I love the power of a desktop, and the mobility of a laptop, but don't want to get the laptop because it's expensive and likely to be out of date in a few weeks, whereas the iMac just received its first major overhaul since 2007. Sorry, MacBook, I'm going with your stationary, freshly made-over cousin.

07 November 2009

Finishing One Project As I Start Another

So while I'm starting my pseudo-presentation, I just managed to finish another project I've been working on for a while.

A while ago I downloaded a program called Top Draw, a background generation program that uses Javascript-like scripts to create backgrounds for OS X. At first I simply downloaded some of the shown-off scripts and had the program cycle between them.

After a while, though, I got kind of bored, and even a little irritated at some of the backgrounds that were being generated. While I thought it was cool that these scripts were responsible for creating my background, I also thought that there must be better options for scripts. I looked through the Top Draw project but only found the ones I already had. So it was either put up with the backgrounds I only partially liked (and even partially disliked), or find a way to get the backgrounds I wanted.

I went for the latter.

Knowing a bit of Javascript, and playing with the already-existing scripts to determine what certain unknown functions did (since some were non-standard and specific to the program), I started forming my own. I started playing with the Dashed script, which created dashed rings that were blurred out. Then I looked at the ColoredRect script, which simply made a nice gradient for a background, which I decided I could use as the backdrop of my own script. Then I took from another script the code to create a different, darker gradient behind the menu bar. The last script I looked at also happened to fill in the circles that were being drawn, which was apparently a separate command.

I guess you can say I drew some inspiration from the Focus Features snippet they insert at the beginning of their movies, except I wanted something a little bolder, and much more colourful. Going from blurred rings, incomplete circles, and gradients, I put together my own creation.

I started with the base, the background, which I turned from any 3 random colours (one for the bottom left, one for the top right, and another for both other corners) into 3 colours with a darkening filter applied.

Then the same thing for the menu bar, but with the third colour simply being in the middle.

Then came the arduous task of putting together the main body of the script, which managed to take a full month of tweaking and fine-tuning. Starting with the rings.

First I tried to eliminate the dash, which was one of the parts of the default scripts that I found a little annoying. It took a while to figure out which arbitrary command controlled it, but after some trial and error I managed to take it out and end up with a simple ring. Then I started playing with some of the variables, changing the range that the random number function could use until I got a comfortably sized ring radius and ring thickness.

Second, I altered the script to apply a weaker blur effect, but to apply it after every ring was drawn so that there would be a progressive blurriness. It takes a little longer to render, applying dozens of CoreImage Gaussian Blur filters, but the end result is much better than the single blur the original script offered. Also, with progressively more blurring it was harder to notice that the filter didn't blur the edges of the screen as much as the rest. While I was working on the blurriness I also tweaked the transparency of the colours so that they were mostly transparent, allowing me to see all the way down to the first ring.

Third, I had to figure out a way to fill the circles. It sounded easy enough, but unfortunately all the example scripts that had both a ring and a circle had the ring a few pixels into the ring, making it look almost like two rings. After a lot of playing around, I finally figured out that it had to do with the thickness of the ring, and that if I increased the radius of the ring by half its thickness I could get it right on the edge of the circle. Yeah, try figuring that out through trial and error when the thickness and radius are randomly generated every time a ring or circle rendered. Eventually I had the random number stored into a separate variable that I then had to pass on to the rendering function, where it would do a bit of math to get the ring and circle to align.

Then once everything else was almost done, I finely tuned some randomization ranges, changed some colour variation limits, and a few other settings here and there, and finished off the script. After hundreds of hit-and-misses, countless errors, and a few close-but-not-quite efforts, I finally got the script I set out to create.

It took a little longer to make than I thought it would, taking almost a month from start to finish (with enough breaks in between sessions), but I finally got the look I was going for.

Some sample images of the final product (click for full-size, 1920x1200):

Sample Image 1

Sample Image 2

I think it's payed off well. For now, anyway.

04 November 2009

So I'm working on something…

Call it a small side project, if you will. In a perfect world it would rival the Crisis of Credit video (Google it) in terms of how good it is, but unfortunately I'm currently stuck with Keynote as my presentation medium. It's the kind of presentation I would hope to show to government officials whenever they're deciding on an issue that has to do with copyright laws and piracy. It gives a run-down of the basics, what they need to know (since nobody in power seems to know anything), and hopefully clarifies some of the issues. I'll post it when I get around to finishing it. So far I'd say I'm about 10% done, and if I end up finishing it at any sort of normal pace, I should be done by Christmas.

I'll post it on Vimeo if I manage to finish it, then post a link or embed it here.

UPDATE: I realized the project wouldn't really have anywhere to go, and so it's been abandoned.

22 July 2009

AppleCare is AwesomeCare

As I'm sure I've mentioned somewhere before, my iMac's been having issues since the last time I brought it in to get it "fixed". The screen's got an array of dead pixels, the camera barely works, the microphone never works, the wireless doesn't work, and so on. Since my warranty was running up on the 17th (of July, 2009), I decided to bring the iMac to a proper Apple Store (and not some "authorized" service provider that doesn't know anything about Macs, like the one here in town) to have a Genius look at it and hopefully fix it.

When I brought it in and described the many, many issues to the Genius, he immediately placed an order for repair/replacement parts to fix the iMac, but also told me that if I called AppleCare I may be eligible for a replacement, given that there's so many things wrong with it. Lo and behold, a few hours later I was on the phone with a "specialist" (probably just slightly more qualified to fix Macs) who said I could get a replacement.

But that's not all, folks! A short while later I got a call back from the specialist saying that because I had customized my machine when I ordered it (more RAM, more Video RAM) that Apple would compensate me for it by bumping up my replacement from the stock 20" iMac to the lower-end 24" iMac, with a faster processor, twice the RAM, twice the storage, etc etc. For free. And it qualifies as a new machine, so I can get another 3 years of AppleCare for $200. Oh, and because I forgot my wireless keyboard, mouse, and Apple Remote in the box when I brought in my iMac they'll send me new ones of those, too.

Nothing short of amazing.

I've had 2 other computer breakdowns in the past.

The first breakdown was my first laptop, a Compaq from Future Shop, when the hard drive failed. Rather than try to get a replacement drive, they decided they'd just give me a replacement machine. When I got my laptop, though, it was the last of its model, so I'd have to pick a newer machine. But being jackasses, they decided to go by specs instead of by value, so the machine I got as a replacement was worth about $500 less.

The second breakdown was that replacement laptop, another Compaq, breaking off small pieces and acting strangely. It was near the end of the warranty, which was a bit scary, but I managed to bring it back in while it was still covered. Then I got it back more broken than when I brought it in. When I tried to get them to fix the problems they told me it wasn't under warranty anymore (even though they broke it) and that it would cost about $500 to fix (more than the laptop was even worth). I said "fuck that" and got myself a Mac, which was the best computer-related decision I ever made.

Now all I have to do is wait for the Mac to ship, and I'll have a brand new machine with a fresh warranty. Thanks, Apple.

07 June 2009

Fancy Camera Work

I've been noticing something lately.

Camera stabilization software has been getting much better. Better to the point where consumer-level software (like iMovie) has pretty good stabilization software built-in.

Meanwhile, in video games, there seems to be progressively less stabilization. In action games, at least. Whenever there's anything exciting happening on the screen, lately, it seems like it's the game developer's duty to make the camera move around as if there was a (mostly) invincible person holding the camera and running around the action. But the only reason that would be is for a movie, documentary, or newscast, and in all those cases there's almost guaranteed to be some fancy software that could stabilize the image.

It's happening more and more in movies, too, especially during CG scenes. WALL-E is a good example. When the ship is coming back to pick up EVE and WALL-E is racing his way back to her the 'camera' is bouncing around, zooming in and out, dodging around obstacles that a virtual camera could easily just go right through. I mean, it works for the most part, it does make it look like it's actually someone chasing this little robot with a camera, until you think about it and realize it's just some fancy programming.

Still, it's kind of neat to see a certain type of software developing and become widespread while another software that does the exact opposite is also being developed and implemented by just as many people.

29 May 2009

A Quick Look at the inFamous demo

Okay, I realize I'm posting this the day the full game comes out, and I'm sure that whenever my local Blockbuster decides to stop hiding it (which usually takes a few weeks for some reason) I'll be getting the full game, but I'm going to put this up anyway.

I downloaded the inFamous demo earlier this week and finally got a chance to play it yesterday. Then I got a chance to hate it.

I realize it's only a demo and that they only want to give you a taste of what the full game is going to be like, but the full game is going to need to be a lot better than the demo if it's going to fly off the shelves like they're hoping. There's a handful of missions to complete, no chance to take advantage of the sandbox-style of the game, and a flurry of quirks all over the place.

Now, I get that they probably want you to play the missions to get a feel of the game, but when I finish a mission I wouldn't mind being able to go around town and wreak some havoc of my own, or at least explore the city I'm supposed to be saving. But no, they don't let you do that. Instead they give you a few minutes to go from one mission to the next before they simply force you into it. If you don't like it and try to walk away, they'll tell you that you abandoned the mission. And then throw you right back in it.

WTF‽ Seriously, if I don't want to do a mission right now, don't force me into it. That'll make me want to do it even less.

The best part about it, though, is that even if you're not doing a mission, just roaming around the city having some fun, and you die, guess what happens? You get to start a mission! Yes, as a congratulations for dying, they'll start you on a mission. What a great reward. For not doing something you didn't get to do, you get to do it anyway.

So, basically, you have to do as told and there's only 4 things you're told to do before the demo's over. Well that's just fucking great, isn't it?

Not to worry. There's other things in this game waiting to piss you off. Like the unnecessary weaknesses to things that don't make sense. Such as chain-link fences. You can't climb them, you can't shock them, and you can't shock through them. Then there's water, too. It's not like you're an electric eel and you don't kill yourself and everything else in the water. Instead you're both the source of the electricity and the one being killed by it. Not sure how that works, but whatever.

Other than that, though, it's a pretty good game. The regenerative health ensures you that if you're injured you can suck your thumb in a corner until you're feeling better, you have enough abilities from the start to satisfy most gamers, and I guess the graphics are decent enough that you won't think they accidentally made a PS2 game.