Digital Logic


Happy New Year!

by on Jan.03, 2012, under Computer Science, Games, Leisure, MMOs, Personal, Technology

Well, the holidays are officially over and I have no excuse to avoid writing here. This term I’m taking three courses at the University of Waterloo, two of them being distance education and one of them requiring me to make the trip to campus. The three courses that I’ve enrolled in this term are:

  • ENGL 109: Introduction to Academic Writing (Online)
  • PHIL 215: Professional and Business Ethics (Online)
  • CS 447: Software Testing, Quality Assurance and Maintenance

It may seem like an odd course selection for a 4B Computer Science student, but I haven’t taken an English course in a long time and it’s never a bad time to improve one’s communication skills. I’m really hoping that the philosophy course will tie in nicely with the software engineering content that I’ve been learning over the past few terms. From what I understand, the typical software engineer is responsible for not only designing software, but designing good software (as in, software that makes sense from a design and usability perspective). PHIL 215 is also one of the courses recommended by the degree requirements checklist for my year.

CS447 is the final course in a series of three software engineering-related courses (the first two being CS445: Software Requirements and CS446: Software Architecture). I’ve found myself being extremely interested in the design philosophies of software from the software engineering perspective. This is kind of surprising, given the attitudes of many of my classmates towards these three courses (generally not positive). The courses have also been some of the highest marks I’ve received at the University of Waterloo, and their content has been extremely useful in some of the side projects that I’ve been working on lately (more on this later).

On the lighter side of life, I have been playing BioWare’s new Star Wars game with a few of my friends and have been thoroughly enjoying it. As a former World of Warcraft player (clean and sober for 2 years now, thankfully) it’s fairly easy for me to nitpick the small flaws with SW:TOR, but I have to admit that the holiday launch was one of the smoothest I have seen from the MMO genre. One of the major ideas that the player community is missing is that many of the features that they take for granted in mature games like World of Warcraft were not present at launch, and time will only improve the technical quality of the game.

I also recently upgraded my computer’s graphics hardware by installing two XFX HD6950 cards in a CrossFireX configuration. This is my first multi-card installation and from what I have seen so far, it works pretty well. I did have some minor issues with screen tearing (even after enabling vertical sync) which I will attribute to the 3D engine not working well with multiple graphics cards, but installing Catalyst Application Profiles seems to have fixed the problem. Additionally, I did have to install an additional 120mm fan on the side of my case (which is obnoxiously loud) in order to regulate the temperature of the cards under load. Because of the layout of my motherboard, the video cards sit right next to each other, causing the top one to suck in hot air from the bottom one. Before the fan was added, the temperatures of the top and bottom cards were 95C and 80C, respectively (a little too hot for me). Adding the fan reduced the temperatures to 75C and 65C; these are well within acceptable bounds given that they’re powering a 1440p display.

That about wraps it up for my life right now. I’m still planning on writing about (potentially) interesting facts on a daily to weekly basis. Once I determine the load that classes and work are placing on me this term, I will decide how much time I can devote to this blog. Until then, I’ll be posting here whenever I have something to say.

Leave a Comment more...

New Content and a Challenge

by on Nov.16, 2011, under Personal,

I know it’s been a while since I posted here. I also know that there’s probably very few people who have stopped by for reasons beyond looking for Still Alive or other tidbits of information, but I think it’s time to turn over a new leaf. Because I’m nearing the end of my academic career (and am now filled with answers on many of the “why’s” of computer science), I feel that some research is in order. Although the New Year is still a month and a half away, I’ve already made my resolution: I am going to strive to learn something new every day, and attempt to describe that knowledge here.

Now, when I say “something new”, I do not mean “a random fact that I happened to overhear today”. Instead, I mean approximately an hour’s worth of research on the topic. My goal here is to provide myself with a deeper understanding of the practical applications of the theory that I have studied at the University of Waterloo. In addition, I feel this experiment will  give me a chance to explore many of the interesting topics that I overhear every day. Finally, it is an opportunity for me to improve my comprehension, communication and research skills so that I may better represent my thoughts and ideas in a way that others can understand. For those few people who subscribe to this blog at the time of this writing, I encourage both positive and negative feedback on the ideas and research presented here.

Due to the fact that I am just entering the term-end crunch at school, I will probably not be posting very much until after the holidays (this is a New Year resolution, after all), but I may sneak one or two entries in during the Christmas break. Until then, I will keep anything interesting written down until I have time to research it.

1 Comment more...

White Noise and HTML 5

by on May.25, 2011, under Personal, Web Design

I’ve been looking for a high-quality white noise (more specifically rain) generator for a while now. Some recordings are available for purchase or download, or even to listen to via Flash player, but none of them seem to meet my expectations. It recently dawned on me that I can simply use the recorded sounds from the various games that I play. These are professionally recorded sound bytes that can be strung together to form the illusion of an infinitely long soundscape.

At first I thought of creating a client application that one could use to loop and adjust these sounds. Now, I’m sure that somewhere, this program already exists, but it’s far more fun to experiment and try something new. It occurred to me that the newly supported HTML5 audio tag might be useful; there’s no need to create a UI or worry about audio threads as these functions are all handled by the browser. The fact that it’s on the web means it’s accessible from everywhere as well.

It turns out that while the audio tag supports a looping function, said loop is not gapless (at least for wav playback) in any browser. That is, there is an audible silence between when the track ends and when it starts again. There are a few ways around this, and most of them involve a small amount of Javascript.

Click here to see my white noise demo.

The background rain in the above player is actually composed of two audio tags. The sound plays for 8 seconds (it’s a 9 second sound file), after which the second player starts and resets the first player. The audio “bounces” back and forth between the two players to create the illusion of infinitely falling rain. You may notice some occasional clicks if you listen for a while; this is because the Javascript engine is falling behind. Unfortunately, this is unavoidable.

The thunder is actually several more audio tags (each with a different thunder sound effect) that are triggered at random intervals. This serves to cover up any pops between the rain loop, and also to keep any subconscious patterns from forming in the underlying rain sounds (all while making the entire scene more exciting). I haven’t added a function to disable the thunder at this point, but the delay between “strikes” can be set to an arbitrarily high number.

Either way, for an hour or so’s work, I’m very impressed with the result, and will no doubt be listening to it when I head to bed tonight.

Leave a Comment more...

Looking for Something Old?

by on May.17, 2009, under

Update: Aww, nuts. You can find information on how to extract your own files from GCF archives here. Still Alive can be listened to and downloaded from my file repository here.

It has come to my attention that there are still a few links to the old version of this site. As I want to avoid the dreaded 404 error, I will be redirecting those links to this post. If you’re looking for the Portal Song (Still Alive), you can listen to it on YouTube. If you’re looking to extract information from GCF archives, I may cover this when Valve gets around to releasing HL2: EP3.

Sorry for the inconvienience. I lost some data during site migrations.

Leave a Comment :, , , more...

Summer Development

by on May.17, 2009, under Personal, Technology

Just wanted to make a quick post outlining what I’m going to be working on this summer. I think I’m going to be brushing up on my PHP skills. I’d also like to learn a bit more about SVN and source control in general.

In addition, I’ve decided that I’d like to take my other web skills to the next level. I’ll be integrating URL rewriting and new CSS rules into my project. I’ll post more about the project once I’ve determined exactly what it’s going to be.

Leave a Comment :, , , more...

Time for an Update

by on May.05, 2009, under Personal, Technology

Well, I haven’t been here for a while, so let’s give a quick recap of what’s going on in the world of Warren.

First, I’ve moved! I’m now in a much nicer housing unit living across the hall from my friend Dave and down the street from another one of my coworkers, Jake. I have to say that I was very impressed with the state that this particular appartment was left in, and our landlord has been nothing less than incredible.

Business is still going strong, and for anybody interested in having their computers fixed or purchasing home electronics, you can feel free to send me a message. I’ve got a few new clients here and there which may lead to me actually having a positive income this year from my business partnership, Edgelink Consulting.

Work-wise, I’m back at RIM for the summer, returning to my roll as a BIS Tools Developer. The work isn’t anything out of the ordinary, but I plan to put a few Warren-themed changes into the system. (No, Jake, I won’t break anything.) I’m planning on starting my Work Report early this term so that I have plenty of time to review it.

School-wise, the winter 2009 term went really well. I ended up with (what I think) are pretty decent marks in my CS and Human Resources class, and an okay mark in statistics. With any luck, this means that I might actually be in good standing with UW (which I’m told is not an easy feat). Over the summer, I’ll be taking another Professional Development course (Problem Solving), which should be, um, enlightening….

I haven’t yet decided what I’m going to do with my free time this summer, but I’m going to try to focus on learning some C++ or Perl, and I should probably brush up on my PHP skills (check back later for an article on getting PHP running on IIS).  I’d sort of like to update this site with some sort of software, but I don’t have any ideas as to what to actually make.

I think that pretty much does it for now, but I’ll try to update this thing once in a while.

- Warren

Leave a Comment more...

Back, and Aiming to Stay Active

by on May.28, 2008, under

After a brief database corruption, I have managed to reinstall WordPress on this site. I have to say for one, that I’m very impressed with the quality of the Admin Panel in this version of WP. The last version that I installed (yes, laugh if you must at both my laziness and any website insecurity) was way back in June 2007, and it looks like the platform has come a long way since then.

For those of you who actually used my site for information, have no fear, as I will be recovering the lost articles and posting them again (apparently PHP Form input is a difficult task). Additionally, I have to rework my Google Analytics settings. To be honest, I’m not going to put any Google Adsense ads on the site. The traffic that this site generates is not sufficient to keep the (not-so) trendy ads on the site.

I’d like to bring back some interesting sections that I originally planned, but I couldn’t keep updated. One of my favorites was OCRemix Mondays, and since there’s such a large selection of tunes over at Overclocked ReMix, I should have enough content to last me for a while.

Another planned section is the weekly web links. I will be trying to compile a list of interesting links every week and putting them out on Fridays. This will include the various web comics, articles and other fun reading that I run across during my daily RSS feed reading.

Finally, I’m planning to post actual useful content once in a while. Things from tutorials to tips and tricks to whatever else I can think of. We’ll see what happens here, but I have a few DIY projects coming up, and I’m going to try to keep track of them so that I can share my accomplishments (or hilarious failures) with the world.

First I have to find a non-crappy WordPress theme….

3 Comments :, , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...