One Great Reason to Love Linux

Because sharing is caring.
Wednesday, April 30th, 2008
Besides enjoying weather on the good days I’ve been working on the Topeka Habitat for Humanity website a little bit, making progress on a new photo gallery that will be integrated in soon. Though I’ll admit it wasn’t what was taking up a lot of my time…
One of my best friends and I are busy with starting a new LLC, and one of the things we’re going to do is build and sell PC’s with Ubuntu Linux preinstalled and customized in advanced for each customer. So when you get your PC, Compiz will be configured the way you want it to be, and a bunch of other stuff I can’t go into detail about right now. As such, my priorities are starting to shift and I’ve not really felt like writing a whole lot in here recently, but I will do so more often very shortly. Sorry if you’ve been waiting for a CCNA post to pop up, but I’ll eventually get around to writing about the Cisco IOS sometime (though it’s dreadfully boring, I have to tell ya).
Saturday, April 26th, 2008
So we’re getting down to the final days of testing before the official release of Ubuntu 8.04. There are several new features included with it, but we’re only going to take a look at just a couple of them before the official release in just six days!

I have been testing out the Beta version of Ubuntu 8.04 for roughly the past two weeks and put an end to it last night by removing it and replacing it with Ubuntu 8.04 Release Candidate, a preview version of the official release. A lot of performance improvements have been made to this latest edition of my favorite operating system. Firefox 3 Beta 5 and Open Office 2.4 are included with Ubuntu 8.04 by default. Firefox in particular has made major memory usage improvements which translates into faster load times for the user. And overall, Hardy Heron users report snappier performance.
A new feature called Pulse Audio is being ushered in with Ubuntu 8.04 which stands to bring ease to sound card configuration and make obsolete certain hardware limitations of some cards. Pulse Audio is a sound server and you can do a lot of cool stuff with it, such as set one computer up to accept sound from another computer over a network. You could imagine having a Home Theater PC receiving sound from a wireless laptop in the same room. And it is actually surprisingly easy to configure that scenario I just made up.
There are still a couple of small drawbacks about Pulse Audio that I must mention:
For some people, this isn’t much of a big deal. Not everybody has a surround sound system connected to their computer, and two speakers is all they could ever ask for. But for people like me, it’s a bit of a disappointment. Though… they had to implement it at some point. So I’ll stop crying about it for now. I am sure additional mixers will soon be integrated in with Pulse Audio. In most cases, the technical problems it will solve outweighs its weaknesses.
Wubi is a new installer that is part of the Ubuntu Live CD. Wubi allows Windows user to install Ubuntu on their system in a manor similar to installing any other program.

To start Ubuntu after installing, you restart your computer and select “Ubuntu”. If you want to boot back into Windows, you restart and select Windows. If you’d like to remove Wubi/Ubuntu from your computer, you can go into Control Panel>Add/Remove Programs, and simply uninstall it. Now that’s easy!
These are two of the biggest advancements made outside of Ubuntu’s already impressive boost to system wide performance and stability. All of which are preparation for a dramatic face-lift set to take place when 8.10 is released in October.
Saturday, April 19th, 2008

This note just hit Digg’s front page a short moment ago. I thought I’d share it with you all.
Tuesday, April 15th, 2008
I have a confession to make. I have been using Ubuntu Linux for over a year now. No, wait.. let me correct that. I started with a 3rd party distro of Ubuntu called Ubuntu Ultimate Edition, which at that time had included many different “power applications” pre-installed with it, most of which I had no immediate use for (several apps in the Programming menu come to mind…). There was a particular application in the Sound & Video category that I gave a short look but never really bothered to give it a GOOD look. That program was Amarok.
Forgive me, Linux community, for I have sinned! [dramatic pause... sound of thunder in the distance] But please, do not fret or pity me, my friend. For I have been saved. Behold! My new great Icon:
![]()
Ok, dogma jokes aside: If you have Ubuntu, or pretty much ANY distribution of Linux, INSTALL THIS APP! Would you like to have a few thousand Internet radio stations in HUNDREDS of different genres at your finger tips? Well that’s just ONE feature of many that make up Amarok. Here are some others that really stand out:
I feel sorry for you Windows and Mac users. You have been forsaken….for now. You’ll have to wait a little bit longer for your musical savior to enlighten you, when version 2 is released. Unfortunately, it’s only in its first alpha phase, so it will be several months before a final release (or even a stable beta) can be expected. But keep your eyes peeled. This is a wonderful application!
Click Applications>Add/Remove. Then search for “Amarok”, check off the box next to the search result “Amarok”, and then click the Apply button. You’re done! Install takes just a few minutes (depending on your Internet connection and download capabilities).
The program is pretty easy to get used to. Unfortunately, I’m not in much of a position to give an full review of the program. Being as I myself just “rediscovered my music” with this app, I don’t have much more to say about it other than the MASSIVE collection of radio stations already included with its play-list collection is absolutely jaw dropping. There must have been over 40 stations listed in the Oldies genre alone! Now that’s insane. Even for the Internet.
Ok. Nuff said. Download, Install, Enjoy!
To install Amarok in Other Linux Distros, you can check out one of the links below.
![]() Kubuntu |
![]() openSUSE |
![]() Fedora |
| Gentoo |
![]() Arch |
![]() Ark Linux |
![]() Debian |
![]() Mandriva Linux |
![]() PCLinuxOS |
Other (FreeBSD, Yoper, etc.) |
||
Sunday, April 13th, 2008
Today we’re going to talk about Layer 4 of the OSI model, also known as the Transport Layer. The transport layer is responsible for establishing either “connectionless” or “connection oriented” conversations between two nodes. It is also responsible for flow control, congestion avoidance, and error recovery.
A connectionless connection is analogous to sending a letter via First Class mail. You drop a letter off at the post office with the trust that they will be able to deliver it to the destination, but you are not given any other automatic notification about the status of the letter or whether or not it arrived. UDP is most often used for these types of connections. The header of a UDP packet contains the bare minimum amount of information to save on bandwidth. UDP is generally the protocol used in transmitting voice and video across a network. This is because there is no time to re-send lost packets when listening to someone or watching a video in real time. Error correction (if any is to be used) depends on higher layers to detect and send requests for retransmission.
It is important to note that while two computers can talk back and forth to each other using UDP, they are still working in a connection-less fashion.
A connection-oriented protocol such as TCP use many more tools to ensure packet delivery, and is analogous to sending via Certified Mail. With certified mail, you are given a receipt that says when a packet has successfully arrived at it’s destination. The header of a TCP packet contains much more information for services that operate at Layer 4, like flow control for instance.
The first thing that happens with TCP is a three-way handshake. One computer says to the destination computer (via a SYN packet), “Can I talk to you?” The destination computer replies back with a SYN/ACK packet, “Can I talk to you? And yeah, you can talk to me.” Finally the first computer replies to the second computers question with another ACK packet that says, “Yes, you can talk to me.” The purpose of this is to ensure bi-directional communication is possible between the two nodes. A conversation is closed with one FIN packet and one ACK packet being sent to the receiving end, and the receiving end responding with an ACK packet.
Let’s say the first computer (we’ll call N1) is sending three packets of data to N2. Each of these packets will have a sequence number assigned to them by Layer 4, correlated to the number of bytes sent in each packet. Let’s say first packet arrives at the destination with 1024 bytes of data. The sequence number for this packet will be 1024. The receiving end will then send back an ACK packet with an incremented acknowledgment number based upon the sequence number of the last packet it received. So the ACK number it sends back in this case is 1025. To the sender, an ACK number of 1025 means “I have received all bytes before 1025 and I expect my next packet to be seq 1025″. This is called Forward Acknowledgment, and the receiving end could send back ACK packets for every packet it receives. But that would eat up a lot of bandwidth.
So what we have to help keep overhead down is something called a delayed acknowledgment. An example of a delayed ACK is when the three packets arrived at the receiving end, and the receiving end responds with one ACK 3073 packet (1024 + 1024 + 1024 + 1). This tells the receiving computer, I’ve gotten all data up to byte 3072, I expect 3073 to be next.” The number of packets that can be received before an ACK packet is sent back to the sender can vary due to things like congestion windowing, explained below.
Now lets say that for some reason, the network device on the receiving end was so busy, it could only handle the first 2 of three incoming packets. Since the buffer is now full, and it cannot receive more data for now, it will send back an ACK of 2049 (1024 + 1024 + 1) with a Window size of zero. This basically tells the sending end to wait until it gets another ACK 2049 with a Window greater than 0. A Window is a value set in the TCP header and it is indicative of the receiving ends’ data acceptance capabilities.
N2 isn’t the only device that may become overwhelmed by incoming traffic. Routers in between the two computers may also be choked by heavy traffic, and cause buffers to become full, and packets to be dropped as a result. A process called slow-start is used to help “feel the network out”. Basically, the sending side starts with one packet, gets an ACK, then sends twice the data it did last time, gets the ACK for that, doubles the data again, and this goes on and on until the ACK the sender gets back indicates that the capabilities of the networking equipment from end to end have been maxed out. This is why, when you start downloading a file from a web server, it typically starts of slow for a second or two, climbs higher, until reaching some sort of average data rate.
The TCP header also utilizes length and checksum fields. If there is a discrepancy between data being sent and either the length or the checksum, the bad packet can be resent by decrementing the ACK number back to the last known good packet. The sender won’t know the packet was corrupted. It will just think it never got there in the first place and resend the bad packet.
Sequence numbers are also used to reorder data back together for the higher layers.
I’m sure I’m leaving something out, but the important thing is that you understand the difference between connectionless and connection-oriented protocols. Future CCNA posts will concentrate on a great deal on the Cisco Internetwork Operating System. Fun fun!
Saturday, April 12th, 2008
I was recently looking for a dockbar solution for my new Ubuntu 8.04 Beta machine. There are a few out there to pick from. One that I’ve checked out before was called AWN, but I didn’t like its animations. Then I found this other one called Cairo Dock. Here’s a video of Cairo Dock in action:
Cairo Dock comes with a lot of really cool looking themes too. I went ahead and took screenshots of all of them to show you. But first, how to install this program.
Visit this website. (Note: If you are running Firefox 3, you will be prompted to make a certificate exception before you can view the site). You’ll be presented with a page that looks something like this:

Note the two links I’ve highlighted in red. You need to download both of those deb files, and save them to your desktop. Once they are there, double-click on the main cairo-dock deb file to install the base program, then after it’s finished installing, double-click on the plugins deb file to install the neat extras.
You’re done with the installation.
To run Cairo-Dock you can find a shortcut to it in your Applications>System menu. Try cairo-dock out to see if it runs well on your system (as this program is dependent on Compiz in order to look nice and transparent like glass). To play with the cairo-dock settings you just right-click on the dock bar and you’ll get some menus that you can explore on your own. Nothing too technical. The “Manage Themes” menu option will allow you to change the docks appearance and behavior to preset themes.
Once you’re familiar with the dock and decide you’d like to use it regularly, you can remove your other task bar just by right clicking on it and clicking “Remove Panel”. I don’t think you’ll miss it, but that’s just my opinion.
To auto-load cairo-dock at login, goto System>Preferences>Sessions.
You’ll be shown a new window listing programs that auto run at login. All you need to do is add cairo-dock to the list by clicking the “Add” button.
Once you click add, name your item “Cairo Dock” and in the command box type “cairo-dock” without the quotes. You can leave the comments field blank. Then click OK. That’s it! Now when you login in, Cairo Dock will autorun for you.
As mentioned before, I took screenshots of all the themes that are included with Cairo. Well, here they are. Enjoy!











Thursday, April 10th, 2008
My girlfriend and I celebrate our one year anniversary today! I’m pretty tickled by the present that she gave me:

I believe I now have bragging rights in the computer world (especially the Linux world). It’s a shame she had to work tonight, but we’ll be going out for drinks shortly to relax, you can be sure of that
And if having such a super cool girlfriend doesn’t give me bragging rights of some kind in the computer world…well…. turns out I also had time to rip the guts out of my dirty old computer today (which I haven’t cleaned in years) and put all of it back together inside of a very cool looking shell (which happened to be sitting on my floor for over a year doing nothing):

There we go. I had that sticker laying around here too. Sweet…
Wednesday, April 9th, 2008
It’s about 2:30 on Tuesday morning. The Kansas Jayhawks just won the NCAA championship. It appears they’ve brought on some thunder…

So I’ve unplugged almost everything you could possibly call a computer at my place, and am now hunkered in my girlfriend’s bedroom at her apartment, running on lithium ion and T-Mobile cellular Internet access… I’m still adapting to this place. And I’m about to run out of power. I could go off on a rant… but it’d be pointless.
To pass the time by, I’ll probably crack the blinds open a bit so I can watch the lightning. It can be pretty impressive. And if that doesn’t keep me up, my girlfriends roommates’ noisy friends probably will.
Tuesday, April 8th, 2008
Today we’re going to talk about Layers 2 and 3 of the OSI reference model.
First layer 2, the Data Link Layer.
Strait from Wikipedia:
Logical Link Control Sublayer
The uppermost sublayer is Logical Link Control (LLC). This sublayer multiplexes protocols running atop the data link layer, and optionally provides flow control, acknowledgment, and error recovery. The LLC provides addressing and control of the data link. It specifies which mechanisms are to be used for addressing stations over the transmission medium and for controlling the data exchanged between the originator and recipient machines.
Media Access Control Sublayer
The sublayer below it is Media Access Control (MAC). Sometimes this refers to the sublayer that determines who is allowed to access the media at any one time (usually CSMA/CD). Other times it refers to a frame structure with MAC addresses inside. There are generally two forms of media access control: distributed and centralized. Both of these may be compared to communication between people:
The Media Access Control sublayer also determines where one frame of data ends and the next one starts. In a snail-mail network, each letter is one frame of data, and one can tell where it begins and ends because it is inside an envelope. One might also specify that a letter will begin with a phrase like “Dear Sir”, and ends with a phrase like “Yours faithfully”.
————–
Direct communication between a router and a PC, or a PC and another PC, uses MAC addresses for communication. Also used is CSMA/CD, or Carrier Sense Multiple Access/Collision Detection. When a packet is about to be sent out on a network the wire is checked for a signal to see if anybody else is transmitting data over the wire. Kind of like the way you look both ways before proceeding past a stop sign on a street.
If another transmission takes place at the same time, the voltage on the line will spike and be detected by all those on the wire. A 32 bit long jam signal is then sent out, and all network devices start the Backoff Algorithm. This basically makes every computer shut up for a random period of time. The first one with the lowest random waiting time interval will then attempt to send data after their waiting period is up. If a client experiences more than 15 failed attempts to transmit data due to collisions, it will proceed to let the upper OSI layers deal with the problem.
These days, almost nobody uses Hubs, and instead use switches and routers. Switches dynamically create dedicated virtual pipes between computers on a network. This way they can send and receive data between each other without worry of a collision occurring. The ability to both send and receive data at the same time is called Full Duplex communication. Half Duplex is where you can send and receive, but only one at a time.
There’s also the ARP request. Basically, if a computer is trying to send data to another computer on a local area network (LAN), it knows what the IP address is, but not the MAC address, it will send out a broadcast ARP request asking for the MAC of the target IP address. The target host will see it’s own IP address with a ? in the target MAC address field, and reply to the source MAC to say, “Hey, my MAC is xx:xx:xx:xx:xx:xx” The source host will then proceed to send data using the targets MAC address. Other hosts on the network, when they hear packets destined for a MAC address other than a broadcast address or their own MAC address, will discard the packet.
———————
Layer 3 - The Network Layer
The purpose of the network layer is mostly to handle end to end transmission of a packet over the Internet…. Here. Think about these terms real quick:
City and Zip = Network IP Address
Street = Host IP
Name = MAC Address
This isn’t absolutely accurate, but you get the idea (I hope). If you can imagine what the Postal Service basicly does, then you can handle the above.
An IP address is made up of 32-bits (one’s and zero’s). This string of numbers is represented to us humans in decimal as 4 seperate octats. An example of a common local IP address is 192.168.1.1 — This address is actually two addresses. Part of it is the Network IP, and the other part is the Host IP. This is determined by the Subnet Mask being used. The default subnet mask for 192.168.1.1 is 255.255.255.0, or “24 bit”. It’s 24 bit because 255.255.255.0 in binary looks like 11111111.11111111.11111111.00000000.
Don’t hurt yourself thinking about this too much right now. Just know that 192.168.1.0 is the Network IP to us, and the .1 at the end of it is the part of the address that pertains to the target computer (host).
The three most common IP address ranges seen are:
IP Fragmentation is something that occurs when packets of data must traverse a network whose Maximum Transmission Unit is smaller than the size of the packet. Data that is fragmented will stay fragmented into smaller chunks until they all arrive at the destination for reassembly.
That’s all for now.
Tuesday, April 8th, 2008
© 2008, Dave’s Tech Blog. All Rights Reserved.
WP theme by GetTemplate.com