Final Thoughts: Moving On

I didn’t want to take this class. I thought it would be a rehashing of a bunch of things I already knew, and we did cover several topics I was already familiar with to a large extent. That said, I got a lot more than I expected out of this class. I was introduced to even the familiar concepts from a different angle and learned a considerable amount about Information Technology as an industry.

The discussions, videos, and assignments have painted a clearer picture, though I’d say I’m at an impressionist level of clarity, not a renaissance level (at least it isn’t cubist or otherwise abstract). This semester has put me on the right path towards a career in programming, but I think further school is a bad idea. I have a degree, and that should count for something. What I need are certifications; something that says “Not only did he finish college with a degree that demonstrates critical thinking and good communication skills, he has valuable technical skills in these specified areas.” If nothing else, this class has pointed me in the direction of which skills would be most valuable.

But there’s more to it than that. Recall, I am trained as a writer, and it’s how I approach the world first, and a lot of this has been valuable for getting a perspective on how to write about these topics. I’m not talking about generating a level of realism when writing about computers, though that is ever so worthy an undertaking, I’m talking about the softer questions about what it means to society to have the advent of technology ever peering down at us in the uncertain future. These are concepts that can’t be approached through a method of sheer fabrication. That’s how you end up with B List Science Fiction films that make you cringe. The only way to dig deep enough to have meaningful content is research, and this class has certainly provided generous source material and ideas worth spreading.

Now, onto certification boot camp. Any last minute recommendations for which ones I should pursue?

Posted in CSIT1110 | Comments Off

Virtual Reality: User or Developer Content

null

I’m a writer; it’s what I do. My interaction with everything is viewed from the perspective of how I could turn it into a story or an article. Games are much the same way. Many people like to think of virtual spaces in terms of the freedom they allow, whereas I look at the constraints and ask why they’re there. I’ve never been a big fan of Second Life because of the entirely open world structure of it. Yes, it’s a neat piece of technology that allows for extraordinary content to be built, but I’m disinterested in a virtual world which requires me to compete with the rest of world’s UGC for attention. There’s enough of that in this life. Second Life is merely a development tool, without it’s own aesthetic or a sense of direction. A consequence of this openness is that the UGC in general feels amateurish and equally directionless.

As a writer, yes, I can see where Second Life would be an environment to tell my own story, but frankly it’s extremely constrictive as a story telling medium in that it must take place in Second Life, which I’m sure was the developers’ intention for promoting it. I’d much rather go through a strictly defined experience, especially one that allows me to guide the direction of it.

Lately, I’ve been playing a browser based MMO called Echo Bazaar. It’s an unusual form of RPG in which you can build your character’s qualities by following stories or opportunities that arise. Some qualities you want to build, like your persuasiveness or inspiration, others you’d much rather not build, like nightmares and scandal. The interesting part is that it’s a form of virtual story telling that takes place entirely inside text, but is remarkably gripping and often funny. It’s a game that allows you to tell your own story through the eyes of your character while exploring the developers’ content that frames your personal story. Extra Credits used it as a case study for a non-combative RPG, but more simply, it’s a case study of a wide ranging character building experience in an extremely conservative setting. The content is entirely developer made, but the angles of approach and quality influenced randomness make it feel like you’re making the story up.

In terms of writing, I had an editor once tell me that character is half the battle, and frankly, it’s the one a player is most invested in. So if the developer provides the framework, a setting, aesthetic, NPCs, and plot, then the player provides the other 50%, which is the protagonist. In an episode of Daria, a teacher, trying to be helpful, but failing, recommends that Daria impose a constraint on the story she’s writing because, “Boundaries sometime paradoxically create new kinds of freedom.” Realistically, all the boundaries are doing is narrowing the scope to force someone to be creative under the imposed restrictions. In a true sandbox environment, those boundaries may be self-imposed, but the boundaries are the creative/artistic component being built by developers.

Second Life itself isn’t art, and I think that’s the big problem I have with it. It’s just a medium of expression. There’s such a wide range of things that can be done there, that only a small percentage of the content actual interests me. Something like Forge in Halo: Reach is different though. Not only has Bungie provided a method for distributing the best content more widely, it’s all built on the framework provided by the development team. A framework that has a defined aesthetic, and pre-built settings.

I find that I’m really just ranting on how frustrated I am with user generated content in general, but what I’m really trying to get at is this: As the scale of UGC to developer content approaches a more UGC framework, the pleasure I derive from it begins to drop. Only when I reach the other side, where I am responsible for all of the content, am I again interested, i.e. I’m writing the whole damn thing. Here’s a handy graphic to help. Kinda Uncanny Valleyish, no?

null

Posted in CSIT1110 | Comments Off

AI: A symphony of language

null

When I was taking linguistics in college, there were two paths you could choose: Phonetics and Syntax. The former was by and far the more popular choice as it was an actual scientific study of sounds and physical arragment of mouth and throat parts. This was easier to grasp than the conecpts behind syntax which involved looking at a foreign language and identifying how it worked based on patterns. While I never mastered this skill, I did manage to write a paper on the use of the reflexive in Bengali, a language I had no previous experience with.

I’ve always wanted to build applications to make the things we did in that class easier. Provide a computer with a string and allow it to decompose it into it’s syntactic pieces. Based on what I learned in that class, it would be pretty easy to take even a random arrangment of phonetic parts and define its governing syntactic patterns. This would be a challenge, but teaching the computer to understand those patterns and respond intelligently is nigh impossible.

Discussions of genetic algorithms and neural networks are a bit out of my range. I don’t know how to write anything that sophisticated. That said, I’m desperate to write something I can have a conversation with. I wouldn’t know where to begin, but it’s part of the reason I got into this field. I want a digital friend.

Years ago, I ended up accidentally downloading Bonzi Buddy. A disgusting purple ape that sat on the desktop, sang songs, and did other annoying things. I hated it, but I liked the idea. If I could design it, then it would do things I found entertaining or useful. The best I’ve been able to do is a science fiction story I wrote about a woman being trapped in a building after an earthquake with the AI she designed. It was the sort of relationship I wanted to have with my computer. If I’m going to be so dependent on this technology, I want to not hate it. I want me to like it.

In terms of making our robot intelligent, I’m satisfied with our results. The Finch moved the way we wanted him to and was photophobic to a degree. With a little more time we could have refined the algorithm for his decision process, but the biggest problem was that the Finch, as an input device and as a machine, was a bit persnikety, mostly the obstenance of the obstacle sensors. I need to learn more about accelorometers, because that would have been a lot of fun to work with.

Also Lojban…

Posted in CSIT1110 | Comments Off

Robots: Bells and Whistles

null

I got a Lego Mindstorm kit for Christmas one year from my dad. It was fun building my own robot and having it beep and spin and move around on the floor. The problem was I didn’t have any project to do with it. Everything we did with it was curiosity based and by the end of a few months my dad and I moved on to other things.

Maybe we should have considered the robot for problems we encountered in the house. It would have been nice to use him to run CAT V cable in the walls maybe, or as sort of a simple wench for things lost down the drain. As it stands though, these are still problems best solved with primative solutions…like tongs…or a plumb bob. What’s exciting about robots to me is making something I can physically interact with and have it respond back.

My crew and I are working with the Carnegie Mellon Finch Educational Robot. Programming it is pretty straightforward if you know the language. There is a Class for interfacing with the robot so creating a Finch object allows one to get at the robot’s functionality with ease, with the help of the documentation of course.

We played with the light sensors, watching the graph to see how the robot interpereted changes in light. Our first experiement was having it beep at a certain tone relative to the light level. We should have made it louder, but it was certainly reacting to us covering up the sensors or putting it under the desk.

The next thing we experimented with was the accelerometer. We used the graph to experiment with how it reacted to changes in position, but it wasn’t entirely clear how it was interpreting x and y. Its z was fairly clear. Tip the beak up, the z goes up, tip it down and the value goes down, but we weren’t entirely sure why the x and y were always so close. Both of the them rose and fell in unison when tipping the robot the the left and right, but it what they represented independently was something of a mystery. Using these values though, we made a simple program to augment the color of the beak mounted LED depending on how it was positioned.

It’s neat. Rudimentary, but neat. That simplicity works in its favor as a teaching tool for Java though. I’d say it’s not a good place to start because there are some basic things that need to be covered in some detail before handling the Finch object makes sense: primative types, casting, and the fundamentals of methods and objects. Maybe I’m just having trouble seeing how these basic concepts can be taught in labs that uses more complicated Java features at their base, but maybe the Finch could be used to make concrete examples of such things as booleans and Strings, but if I had to start out with working with objects, I might be a little put off. It would have to be treated the same way the Scanner object is treated, i.e. with the understanding that some of the syntax being used to interact with it will be explained later.

That said, a robot is the perfect illustration of many concepts and having something to physically interact makes a huge difference in appreciating the results of your work.

Posted in CSIT1110 | Comments Off

Security: Technical Caution and Curiosity

null

My dad used to tell me stories about tapping into the dorm phone system when he was in college. He could listen in on current calls and make dorm wide broadcasts. These stories came in abundance with other stories about shooting bottle rockets out the windows and filling a guy’s room with rolled up newspapers they’d collected over the course of a semester. They serve to remind me that, until grad school, my dad was a complete slacker.

One of the first things I did when I got settled into my dorm was check out the dorm network. I could see a little more than a dozen computers on the network and started spamming available printers with inane messages and recommending that people come visit me. Through this channel I met a pair of girls who agreed to let me come to their room and set up the security on their computers, but were completely disinterested in getting to know the guy who had pointed out their vulnerability. I suppose on the off chance that I ever have kids, I’ll tell them stories like this the way my dad did for me, except replace the bottle rockets with cans of Mountain Dew and the newspapers with a single bouquet of paper flowers I made for the girl I liked across the hall. That went nowhere too by the way.

Security has always been a non-issue for me. Maybe I’m paranoid enough that I don’t let my equipment get compromised, though that same paranoia makes me wonder if it is compromised and I don’t know it. My scheme of generating no interest in myself seems to be working so far.

I did once clear some malware off one of my student’s laptops that was particularly nasty. It was an “Anti-Virus” Trojan that I presume he got by clicking one of those handy pop-ups that let you know your computer is infected. After I wrestled the OS from its grasp and killed it, I told the kid what had happened and why he shouldn’t just go clicking willy-nilly. I think he was still pretty sure the Trojan had been alerting him of real threats.

Protecting computers seems like a hopeless, losing battle. The same seems true of hackers. I respect the intellectual pursuit of building a virus or cracking a system, but there has to be a better outlet for that curiosity. I’m all about toys for the sake of toys, but there has to be something constructive to do, or is being malicious just the next step when there are no more practical applications of those talents? Then there’s my friend who downloaded a 6 gb text file of common passwords and cycled through each of them until he got on the neighbors WiFi. That’s just being cheap.

When I think security though, I think of piracy. It really is all about the money eh? Mitnick pointed out in the video that taking a copy of something wasn’t depriving the original owner of the property, but it does hamper the original owner’s ability to pursue the value of a product. I’ve never had my work stolen, but I’ve known a number of artists who’ve had to hunt down assholes who had the audacity to essentially transform my friends’ hours of labor into personal profit.

I love free media, but I don’t want to cheat the artists (or programmers) out of their right to profit off of their own work. That’s why I like the Radiohead paradigm. Pay what you want. If you like an album, you can support a musician by contributing and if you don’t, it’s as if you never bought it at all, but at least you could make an informed choice. Games are taking this route by making free to play games with microtransactions built in as a way to get something extra in the game for supporting it financially. Anyone can play the game in it’s relative fullness, but don’t have to potentially shovel out $60 for something they may not like.

Of course, this is an issue somewhat outside the topic of Security, but it’s one I feel strongly about. As long as I feel safe, even on this hijacked connection, I don’t worry too much about security. Just need to keep a wary eye and make sure the code for my inputs is sanitized. Was that a noise in my garage…

Posted in Thoughts | Comments Off

Scratch: Nope, Not Kidding.

null

I’ve heard a lot of complaints about ActionScript in Flash, but I suppose that’s from the perspective of artists who can’t really be bothered to haggle with the technical end of computer graphics. Scratch is probably a good place to get a start for the idea, though I’ve never used ActionScript myself so I can’t say how it would compare.

My familiarity with programming probably puts me out of the target audience for Scratch, but I can see how this would definitely be a great starting point for learning the basic concepts: loops, conditionals, events. More than anything, it’s graphic, and that’s the primary touch people are looking for. Scrolling numbers and Hello Worlds are cute and everything, but not as cute as a pixelated kitty running in circles. Definitely not as cute as lolcats. There’s something really thrilling about that feedback too. Seeing a program operate is a lot more satisfying than just knowing it didn’t fail. I guess what I’m saying is that a picture is worth a thousand words, so moving pictures must be exponentially compounding the effect.

That said, I’m having to pull all the levers and press all the buttons to simulate programming concepts I’m already familiar with, so back forming isn’t as easy, but now having been introduced to the syntax of about half a dozen languages, it’s pretty clear what a lot of these blocks are trying to do. I used to play with Lego Mindstorm stuff which was programmed with similar block sets. I never got it to do anything more complicated than drive a little car in circles, though it did have hit detection, which made it kind of like a Roomba…hmmm…that might be fun to play with again.

On Randy Pausch, well, I’d seen this once before; another fragment of my time with Ze. I saw it halfway through my undergraduate degree, and the feelings I had then are the same ones I’m having now. I think what Randy accomplished is really amazing, and that he has left a lasting impact on the world via his legacy of projects and sheer optimism. However, seeing such accomplishment always makes me feel inadequate.

I’m not reaching my potential, and I’m the person that gets left behind the brick wall while other people are finding ways around it. I think of where I want to be when I’m in my early thirties and where I’ll probably be, and they’re pretty far apart. It’s not much fun to watch people do amazing things around you when you have to struggle just to reach mediocrity. I already failed my goal of becoming a writer, and have since had to watch my peers success in the field from the sidelines as I attempt to become more practical about my capabilities.

In my eyes, Randy Pausch is depressing, if only because he brings on an introspective penumbra of guilt evident in my lack of drive. Academia is why I left the English field, but Academics get to do all the fun stuff while the working stiffs get the pleasure of saving a company modicums of cash by solving practical problems. I need a pick me up.

Posted in CSIT1110 | Comments Off

SQL: My Past, Present and Future

On the website, well, I’ve done this before. Granted, everything I do is amateurish and puerile, but I’d already made a webpage and uploaded it to a server for the world to see – even if no one was looking. I need to dig deeper. The free hosting I used before had lots of features I didn’t even begin to dig into. I want to understand what namespaces are and what I can do with PHP. There’s a lot to the web, and there’s a reason that’s the space I want to get involved in.

If you haven’t seen it already, Ze Frank has done some interesting talks about how the internet connects people. We have moments in virtual space that are as real as the ones we have in real space. Someone posts something on Facebook that I think is particularly funny, or even annoying, and I’m affected. It’s real emotion being elicited by text or a picture. These are things that usually only take a moment to look at, but linger for a while and continue to have an effect well after the initial moment.

It’s why I wanted to write. I wanted to connect with people, to be able to impart a small piece of my experience into the lives of others. I feel like I carry a small portion of Jane Austen’s life with me wherever I go, and I want to be able to create the same impact. Virtual media is proving that this can be done in small increments. As few as a 140 characters are now the jumping off point of enormous discussions. I want to be a part of the new collective, and to do something that makes someone smile enough that they feel like they need to share it.

SQL is a much less interesting story…

A little over a year ago, I took an internship documenting a tool built in MS Access. I had to learn VBA and SQL in about three months. After the first round of documentation, I was given the responsibility of developing the next version under the guidance of the project lead; building an interface, pulling data together from different sources, manipulating the data through an algorithm I coded, even if I didn’t develop it.

It wasn’t a traditional database in that the database just provided a structure for handling the data, but it was important to me that we normalize it. I had to make the case for normalization allowing the database to be easily changed to account for the numerous scenarios the tool was going to represent.

When I look back on that project, I know that what we were doing wasn’t orthodox. The tool used SQL in ways I don’t think were intended, and the JET engine behind MS Access was fighting us the whole way. If my boss had it his way, the tool would have been built in Excel, but our version didn’t support enough rows, so we used what we had. Even though the end result was sort of a Frankenstein of ODBC connections, heavy handed forms, and loosely strung together queries, the damn thing worked. It was easily broken, but that was what the documentation was for.

What I don’t know is how other databases work. The more powerful and less dog like ones like MySQL and SQL Server. I did plenty of Oracle SQL, but I never designed a real database or constructed procedures for managing it. I’m beginning to wonder if I maybe spoiled the database experience by hitting it with a hammer and reading the instruction manual at the same time. Doing things wrong is the best way to learn though, and as Ze Frank said, “Just to start playing with it.”

Posted in CSIT1110 | Comments Off

HTML: Return to Roots

Back in the dark days of Angelfire and Geocities, I made my own website using the Angelfire web development wizard, which was hard to use and kept building these hideous pages. “This is it?” I asked my mother, who wanted me to quit wasting minutes of online time and quit tying up the main phone line. Despite this she showed me that websites were composed by HTML documents, which I could write if I wanted. She pulled up a few tutorial pages and saved some sample pages so I could get to work, but promptly disconnected the modem, saying I should work offline.

What I learned was that HTML generators are harder to use than HTML. I breezed through the creation of pages, which were essentially just a collection of animated gifs and scattered thoughts I had about TV shows and how stupid school was; but it was easy. I was given a spiral bound book that showed me how to do more complicated things. Soon I was shoplifting javascript from my Dad’s website, which he had shoplifted from other sites. Shortly before I left for college, I was even paid to build a website for my uncle’s business.

I might have kept right on with it except that I have nothing to do with it. All I know how to do are simple things, and I keep thinking that I could take it step further, but unfortunately I can’t come up with an idea for a site that anyone would want to visit besides myself. Not to mention the hassle with free webhosting and cost of domain names. It’s too much work for not enough idea.

When I started substitute teaching after college, I found myself pretty much taking over the last few of weeks of a webdesign class. They had been using HTML, but the last bit of content was Dreamweaver. Most of the work they were producing was rudementary, and I could tell they were getting bored of making ‘about me’ pages so I spent my last days with them going over some higher level concepts. First, I used their presentations of their work as an opportunity to talk about good design philosophy, particularly form matching function/content. Then I put together Quasar and showed them what they could do with javascript and dynamic content.

I haven’t touched HTML since. I was more interested in XML and using it for making readable documents for a game I was developing. Coming back to it though, I realize I miss the simplicity. My mother teaches Desktop Publishing, so maybe I just gleaned an interest in the matter from her, but good, working design is really satisfying to see in practice. I’d like to think I can get there on my own, that my design philosophy is elegant, but when I look at the work of others, I realize I tend to throw in more flash than I need. Not Adobe Flash of course, but the various bells and whistles that, while they may look impressive, detract from the minimalist theme I’m trying to achieve.

For a more technical look at what I’m trying to accomplish, I build on <DIV> tags, a technique I learned by looking at the source for XKCD. Each <DIV> represents a container or an element of the page, and a style sheet dictates what the <DIV> looks like. It’s taken me a while to learn how to ‘float’ properly, but I’m getting the hang of it I think. To assist with the process, I’m using Aptana, which is a great development environment. Mostly I wanted to be able to track my tags and swap quickly between my HTML and CSS. It had the added bonus of strong development tools for javascript, though I used the IE debugging tools, as I have yet to understand how Aptana can be used to do so.

I’ll probably continue to tweek this and that to pretty it up, or supply this or that feature. To be honest though, I’m much more interested in programming now. With XAML as part of WPF in C#, markup languages won’t be far behind. And who knows, maybe I’ll be making Web Applications someday.

Posted in CSIT1110 | Comments Off

ALS: The Search For Real Programming

I got my start on an enormous Toshiba “laptop” with an orange display running Windows 3.1, but it booted into DOS. I was probably 5, and I’d been taught by my Dad that the computer operated on a stream of binary that instructed electronic equipment to respond in a certain way, but this had always been a vague idea. It was a concept I could conceive of, but I didn’t understand it, nor could I reproduce it. It really was magic, even at a level as low as QBasic, in which I ignorantly stumbled through a linear series of inputs, outputs, and gotos as a kid.

The instruction set that was controlling the operations was a complete mystery to me, until I started taking coding seriously and my Dad sat me down and had the machine language talk with me. The architecture and relationship between memory and the CPU started forming in my mind, but nothing has solidified it the way the Assembly Language Simulator has.

Tracking individual CPU instructions is pretty humbling. While I know that this is an bare-bones set up, I’m finally able to see how declaring a variable and manipulating it with expressions in C# is almost like cheating. The number of instructions required for an average line of code starts compounding quickly when viewed in terms of Assembly Language.

The suggestion that knowing this somehow ruins the magic of computers doesn’t hold up to me though. When I track the execution of 16 bytes that allow me to do such a narrow, but astonishingly complex variety actions, I’m dazed to think how that has allowed us to make what we have now. It’s like discovering the fundamental laws of physics and how they can play out in such radically different ways if given enough space and material.

Alas, this makes it hard for me to go back to C# without feeling like I’m missing something, the way biologist specialize in a broad category of what is essentially physics. The ALS has made it apparent that I’ll never be a ‘Real Programmer’ in the sense that I can’t make heads or tails of how I would take an approximate Assembly Language and reproduce anything I’ve made to date. Thank goodness for objects and libraries or I don’t know how I’d get anything done.

In short, the ALS is a fabulous teaching tool, and rather than dispel the mystery of computers, it engages one in the fascinating world of the smaller pieces.

Posted in CSIT1110 | Comments Off

Building a Computer : Marvin

I’ve never built my own machine, perhaps more because of a lack of funds than a lack of interest. Not to mention the convenience and reliability of pre-existing builds by our friends, the computer manufacturers. However, having the task before me, I’m surprised I don’t know where I want to start. I’m familiar with the inner workings to some degree. I was once asked to transfer memory from about two dozen obsolete machines to the empty slots in new machines and I’ve replaced drives in even more, but my familiarity with the internal workings really stops there. Let’s see if that’s enough to get me started.

My first decision is what kind of computer I’ll be building. I don’t have need for a desktop, as the one I have works perfectly well, and I have a laptop that, while sometimes finiky, gets the job done. It might be nice to have a decent gaming rig, but frankly, I’d be wasting my time as I usually defer to consoles (though the momentum is slated to change back to PC gaming). What I am in need of is a webserver.

I’d like to start a website, and while there are dozens of great places to host from, a good starting experience would be to host myself. Currently, I don’t know what the website will look like, but I have an idea about the requirements for serving it up. I’m expecting low traffic as the intitial intent is to create a glorified resume, perhaps with blog features as an additional development experience. My priority is budget first. I’m shooting for components under $100 (more expensive parts may average out with cheaper ones), so perhaps a budget of $700-$850 to get the job done. If need be, I can cannabalize the less critcal pieces from my current stock. Let’s begin the search for parts.

The Case:

What I know I need in a case is that it can eventually be rack mounted. I don’t know what the future of this project could become, but I might want additional servers in the future. Just the same, I can’t imagine a personal project like this would ever require more than 3 or 4, no matter the course of development. So I decided to go with a mountable 4U case.
Habey RPC-410

From the reviews of this case, it works well in and out of a racking unit, having rubber feet for when sitting on a table somewhere. It also has a locking front, which, while not entirely necessary for my purposes, is certainly a comfort. Likewise, it’s good to know that the drive mounts are there if I need them, though I’ll likely never need more than maybe two. Being 4U I’m less restricted in my choice of components, and know I can fit an ATX motherboard in. Most importantly, it’s cost effective. This one is currently on sale at newegg, only $69.99.

The Motherboard:

My major requirement for the Motherboard was that it would support an AMD processor. I’ve had an Intel processor before, which was nice; however, I’m familiar with AMD and brand loyality being what it is, I’m going that route. I also wanted to make sure that the onboard video was reliable.
SUPERMICRO MBD-H8SCM Micro ATX Server Motherboard

This meets my major requirement of fitting with an AMD processor. It does have decent onboard video (the complaint about the video I attribute to bad luck, as that individual seemed to be having problems with everything). It supports up to 64GB of memory, but it was pointed out by someone that it was only recognizing memory in two of the slots. Not a huge problem as I’m not expecting the server to be taxed for memory. I didn’t think I’d be getting this one under $100, but $229.99 is comparatively a decent price. The higher end ones supported multiple processors, but really, that’s reaching too far.

The Processor:

Like I said, AMD is just a brand loyalty thing. Through almost half a dozen machines they’ve served me well, so I’m not complaining and not diverting either. I’m not looking for it to do amazing things either, so I set the bar kind of low. More than anything I needed one to fit a C32 socket.
AMD Opteron 4130 Lisbon 2.6GHz

This came in a 2.2GHz and a 2.6GHz version. Since there was no price diffence, I went ahead on selected the 2.6GHz version. More than anything, it was reasonably priced. I could just as easily use a second hand one and get it cheaper, but $109.99 was again very competitive with the higher end options and I would be more comfortable with something right out of the box. Without a heatsink of its own, I did have to look for one that would fit it, which is why I was excited to discover…

The Heatsink:

Above all else, I want to know the CPU won’t turn into a puddle of goo. I’m sure most people would prefer this didn’t happen to their machine. Because of my choice processor, there were few options. Two on newegg.com to be precise.
Noctua NH-U9DO A3

Of those that fit a C32 socket were a “Workstation and Server” specific Noctua and this one which is oddly smaller and quieter (according to the spec sheets). This one was also about $10 cheaper. The major concerns about the unit seem to be the difficult installation and over all size interfering with memory placement. Given I don’t have too many options in the first place, I’ll just stick with this for a ‘cool’ (wink) $76.99.

The Power Supply:

This was a bit tricky. I didn’t know what I needed in a Power Supply. The best I could figure, I would want one that had a fan pointed out the back. The main connector needed to be 24 pin to match my motherboard. What I discovered was that most server specific Power Supplies were designed to fit 1U and 2U cases. I figured 400 to 500w would be sufficient because I don’t expect to need more than two or three drives at any given time, so I narrowed the list down to those. Again, my options were kind of limited.
SuperMicro PWS-502-PQ

Of the ones within my Wattage range that are designed for the 4U form factor, only one had a fan out the back. Though there was plenty to recommend it, after a little research, I discovered it had no SATA power cables. Looking over the case again, I saw it had a vent where the fans on the other options would be, so I decided on a 500w version from the same company that makes the Motherboard I’ll be using. I perused the plugs and saw that it would have everything I needed. It’s potentially louder, but it’s just as well because it’s $10 cheaper than the other option, coming in at $79.99.

The Memory:

Having heard that the selected motherboard had some trouble with certain memory, particularly when handling three or more units and given the heatsink might breach the space over the memory slots, I decided to get two relatively large units instead of four of the smaller units. I don’t need much memory as the server won’t be asked to do too much at one time, and this will give me some flexibility. I’ve used Kingston memory with great satisfaction in the past, so all I had to do was find it in DDR3.
Kingston 8GB (2 x 4GB)

This two pack would do the job nicely. It also has ECC, which will be handy since the machine will be constantly running. I suppose that’s why this is the “Server Edition” which is about twice the cost of the “Desktop Edition,” running $79.99 for the pair. 8 GB should be plenty.

The Hard Drive:

The advantage of the server is supposed to be that it can hold a lot of stuff and make it easy to distribute, part of the reason it has so many slots for drives. I might do some file serving, but the primary concern is the website I’ll be hosting. Anything over 500GB is overkill to me, and going small will keep it within budget.
Western Digital AV-GP WD3200AVVS 320GB

320GB seemed appropriate. Enough space for an OS, half a dozen pieces of server software, and room for all the web and personal content I expect to actually use. Among the many choices, I narrowed it down to this one based on brand and the reviews confirming it’s near silence. $54.99 is a fair price for quality. Thanks Western Digital!

The Optical Drive:

In an effort to be as economical as possible, and given I will probably only use it to install software, I chose to look only for a DVD/CD Reader. Won’t be doing any writing, and I don’t think I’ll be buying software on BluRay any time soon, so why not get the cheapest thing I can find. Heck, I could pull one out of my spare parts, but let’s keep it clean.
LITE-ON DVD-ROM Drive Model iHDP118-08

Absolutely nothing special about this piece. Reviews were sound, but it does use an IDE connection and a classic four pin power plug. Fortunately, the motherboard and power supply will support it. Given any hard drive I put in will be SATA, I don’t even have to daisy chain the IDE. Most importantly, it’s stupid cheap. $18.99, and I don’t even have to spend that if I don’t want to. As of writing, it’s currently out of stock anyway.

Putting It All Together:

Even with the Optical Drive, the total is a mere $720.92 (isn’t free shipping great). Construction might be difficult, but I’ve checked over the list of parts and know that the pieces are compatible. The case has a crossbar, so I would remove that and the drive bays while I put the motherboard in. I could attach the CPU to its socket right away, but I would save the heatsink for later. After attaching the Power Supply to the case, I’d tie up the cables I won’t be using.

Putting the drives in is pretty simple. I’d go ahead and knock out a spot for the optical drive and put the hard drive in one of the numerous 3.5″ slots in the drive bay before loading that back into the case. At this point I could put the memory in. Because I don’t know if there is a preferred order to the slots used (I would have to get the documentation to be sure), I don’t know if it would be possible to seat the memory in the two slots farthest away from the CPU. I’m not incredibly dexterous so I don’t want to run into the same trouble with the cooling unit that other people seemed to be having.

Some assembly required for the heatsink. It has brackets for different socket sizes (nice feature overall). It also comes with it’s own thermal compound. Needless to say, I’ll have to do some pretty intense documentation digging on this one. It’s the one product whose operation I know the least about. Depending on what it’s covering, I might take advantage of the fact that I can turn it 90 degrees.

The last bit will involve the cabling. Of course the 24 pin power for the motherboard and the 8 pin plug for the CPU power. The optical drive will get its classic four pin plug, and the hard drive will get a SATA power connector. Then I’ll connect the optical drive’s IDE connector and the hard drive’s SATA connector to the motherboard.

Then put in the crossbar and close the lid. Now it’s time to play with the software!

What I learned:

Maybe most significant is that I learned about new standards and options available to those confident enough to build their own machine. Most of the equipment I’ve worked with is more antiquated than the parts I was looking at, but the principles are still the same.

AMD is a tougher sell though. Maybe C32 is just an unusual socket size, but I sure felt like there wasn’t a whole lot of love for the processor I selected. By that I mean the parts were limited compared to what I was seeing from Intel or even the G34 AMD socket size.

Alas, even at a mere $700 (or close to it), I can’t afford to go through with a project like this. The money involved in carrying a project like this through would extend beyond constructing the machine. I would need an uninterrupted power source and a dedicated IP, neither of which I’m going to get at home. So this is just a fun exercise to let me get to know what kind of device my files will actually be sitting in someday. At that point I don’t care how loud it is.

Whenever I get a new machine, I always try to give it the name of a fictional computer/AI/Robot. For networked computers there are surely more practical conventions, but I liked the idea that this was a cheaply put together machine that would end up being an antique among the new servers put in around it. I imagine that the end of its lifetime will be spent trudging along, complaining whenever it is asked to do something, not because it’s work, but because it’s being under utilized. I’d call this one Marvin, and it would end it’s days thinking, “We apologize for the inconvenience.” Thank you Douglas Adams.

Posted in CSIT1110 | Comments Off