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.