Ubuntu to Mepis
So just last week, after I finished up my last midterm of the week, I installed Mepis 7.0 on an extra partition I had on my hard drive. Previously, I've been running Ubuntu Gutsy Gibbon. One of the first things I did after installing Gutsy was to install Enlightenment 17, which I feel is possibly the best windows manager around. The only quibble I had with E (as Enlightenment is so often called) is that it is still alpha and bugs are therefore quite common. Eventually, I forced myself to switch over to using Gnome, which is the default windows manager for Ubuntu. I was annoyed by the fact that Gnome sucked tons of memory (especially when compared to E) and didn't look nearly nearly as good. Because I have a relatively old ATI graphics card, I had to install fglrx and xgl in order to get Compiz Fusion working. Xgl had a memory leak that would become extremely prominent after a few days. At first startup, Xgl would use around 20MBs of RAM, but after a few days it was up to 90, and by the end of the week it was using about 150. The end result was that I had to restart X ever day, which was a bit of a minor annoyance. I did try running Gnome without Compiz Fusion but the shiny 3D effects were just too cool to pass up.
Circular Doubly Linked Lists
So a linked list is basically just a bunch of nodes linked together by pointers. In a singly linked list, each node contains a pointer that points to the node in front of it. Whereas in a doubly linked list, each node contains two pointers, one pointing forward and one pointing backwards. In a circular linked list, there is a "dummy node" that acts as a beginning-place-holder, and the list forms a kind of circle (thus the name circular). I realize that this was an extremely abbreviated and hard to understand explanation of what a linked list is. However, this is not meant to be a full explanation behind linked lists, merely a quick introduction to the rest of my post. For a full, in-depth description of linked lists, go here (oh wikipedia, where would we be without you?).
Just like in any other basic computer science class, I had to design and implement a linked list for a project. I also had to include a short write-up along with a little diagram. The diagram, is what this post is all about. Unfortunately, I had some issues getting my lovely ASCII art to display properly using XHTML markup, so heres a screenshot. I better get an 'A' on this project, if not for my awesome programming, then at least for my stellar ASCII representation of a circular doubly linked list
To Be or Not to Be
Unlike many of my article titles, this one actually pertains directly to my article. Once again, this is from a high school English class (seems like I wrote a lot when I was in high school).
Hamlet’s “To Be or Not to Be” soliloquy from the play Hamlet by Shakespeare, describes Hamlet’s morbid and tempestuous feelings. Prior to the soliloquy, Hamlet’s emotions have been in turmoil due to the appearance of his father’s ghost and his mother’s marriage to his uncle. Shakespeare’s use of literary techniques such as diction, imagery and syntax give the reader insight into Hamlet’s thoughts and feelings as he contemplates death and the afterlife, and the problems of life.
Throughout the soliloquy, Shakespeare’s use of punctuation reveals where Hamlet begins to grow particularly emotional. The phrase “... and by a sleep to we end the heart-ache and the thousand natural shocks that flesh is heir to...” is much longer then the short, terse phrases surrounding it, drawing the reader’s attention. This long phrase shows the swelling of Hamlet’s emotions, and allows the reader to deduce that Hamlet greatly dislikes his earthly pains and finds the bliss of death to be a “consummation devoutly to be wish’d.” This quick terse phrase helps to emphasize Hamlet’s opinion of death. At line 66, Hamlet says, “for in that sleep of death what dreams may come when we have shuffled off this mortal coil, must give us pause.” Hamlet’s fears of the afterlife, are emphasized by his outpouring of emotion, which he then pulls quickly to a stop.
A Sonnet for Me
I wrote a rather poor sonnet for an English class in high school, and found it again while I was paging through some of old files stashed away in the recesses of my once beastly huge (lets face it, 250gigs just doesn't cut it anymore) external hard drive.
As I have grown older, I have continued to lament my inability to convey my thoughts clearly. My deficiency is especially clear in the sonnet that follows.
I dreamt today of times long gone and dead,
when land and sea, were yet still great jewels
untainted not by man’s great lust. I fled
to lands still raw, where verdant growth and pools,
yet blue, filléd the earth. When men might live
and quest for love, desiring only true delight
and God. A rawness in the world might give,
a freshness to the life I lead. With might
and not intelligence this world was ruled,
be it by man or beast. Such dreams beyond
the hopes of man have played my mind, and fooled
me with their seemingly glorious sights and sounds.
For only ghosts still know the beauty of the past,
and know if my dreams hold some truth.
Dynamically Create a Multidimensional Array
I had a few problems trying to dynamically create and pass a multidimensional array in C++ for my previous programming project. Of course, passing an array by value is rather ridiculous when the array is large, so I had to pass by reference. Now, passing a single dimensional array is really quite simple in C++, you just do the following:
//stuff
int input_cols;
char *char_array_ptr;
//stuff
cout << "cols? ";
cin >> input_a;
char_array_ptr = new char[input_cols];
return char_array_ptr;
And hey, you're done. The same thing could pretty much be done in C by using malloc, instead of new. But as I mentioned, I needed to pass a multidimensional array.
The Pervasiveness of I
In 1998, Apple Computers started selling a new version of their desktop computers, called the imac. The first imac had the CRT and all other components of the computer enclosed in a cool futuristic case, that came in various colors. I remember touring an Apple facility with my dad nine years ago (ASME offered their members tours of tech facilities) and hearing all the commercial hype about the new imac. They gave us some free toys and sat us in front of a projector to show us an imac commercial, which showed some imacs spinning across the screen, showing off their cool colors (because PCs were notorious for only coming in beige boxes back then) while an old Beetles song played in the background. Our guide also emphasized that the imac was simple to assemble and worked right out of the box, unlike a Windows PC. When I was a wee lad in grade school, I never could have guessed that the naming pattern for the imac would extend into just about all of Apple's products, and even into other companies.
How to Cool a Computer
I really like these lightbox effects, forgive me if I go a little overboard with adding photos.
I took these photos a really long time ago. My computer uses a Pentium 4 CPU, and therefore runs quite hot. Thus, I ended up using a large house fan to cool the computer after one of my case fans died, and my computer started to overheat.