Ebert on crying (but not from games)

Was just reading some of Ebert’s responses to comments on his blog post about how Video Games Can Never Be Art:

Ebert: I’ll show you movies that will show you what crying is. Try "Grave of the Fireflies."

Didn’t realize his tastes were so varied… And I guess he considers it art then. Thought only Shakespeare and Dickens qualified to him.

————–

Another great one!

Like someone else pointed out, you just don’t get it. Besides, you lost all credibility when you typed,"IMHO". You’re an adult so act like one.

Also, your taste in movies is usually horrid

Ebert: LMAO

Testing RAID in CentOS

Now that I created a CentOS system with RAID-5 and RAID-1in my previous post, it’s time to test whether the RAID will actually save my system in case of disk failure.

A simple way to simulate a disk failure without actually beating the crap out of one of your disks (which would be especially difficult with the virtual disks in this case) is by using the mdadm utility included in CentOS and other Red Hat-based linux distributions.

1) First, confirm that your RAID includes a spare drive that the system will rebuild the array with and determine which disk is going to “fail” by checking the output of ’cat /proc/mdstat’:

Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda1[0] sdb1[1] sdc1[2] sdd1[3](S)
      104320 blocks [3/3] [UUU]
 
md0 : active raid5 sdd2[3](S) sdc2[2] sdb2[1] sda2[0]
      20755456 blocks level 5, 256k chunk, algorithm 2 [3/3] [UUU]
 
unused devices: <none>

As you can see, I have split each of the 4 disks in my virtual machine (VM) into 2 partitions each – a small RAID-1 partition for /boot and a large raid-5 partition for / (everything else). The (S) next to some of them signifies that that partition is a Spare, to be used in case of disk/partition failure.

2) To simulate disk failure, we will pass ’fail’ argument to one of the partitions:

mdadm /dev/md0 --manage --fail /dev/sdb2

Make sure the partition you’re marking is part of the correct array, or it will just tell you it can’t find it.

The array should automatically start rebuilding at this point. You can check the progress by checking mdstat again:

[root@rsheyd ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda1[0] sdb1[1] sdc1[2] sdd1[3](S)
      104320 blocks [3/3] [UUU]
 
md0 : active raid5 sdd2[3] sdc2[2] sdb2[4](F) sda2[0]
      20755456 blocks level 5, 256k chunk, algorithm 2 [3/2] [U_U]
 [>....................]  recovery =  2.6% (278172/10377728) finish=6.0min speed=27817K/sec
unused devices: <none>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

3) After you have verified that the array rebuild has completed, you now know your system is safe from virtual hammers! To re-add the virtually destroyed partition back, just run:

mdadm /dev/md0 --manage --remove /dev/sdb2
mdadm /dev/md0 --manage --add /dev/sdb2

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }You might have to reboot before being able to add the partition back into your array.

Installing CentOS 5.4 in VMware

I will be documenting my process in homework #3 for my ISE 311: System Administration class here.

This assignment has three sub-tasks: Linux CentOS and RAID-5 installation, a
Mail and collaboration system setup and configuration, and firewall setup.
They are described in detail below.

The first step is to create a 4-disk virtual machine running CentOS 5.4 in VMware.

1)We will be creating a custom vmware configuration with the following parameters:

  • Hardware compatibility: Workstation 6.5
  • Disk image from which OS will be installed: CentOS-5.4-i386-bin-DVD.iso
  • Guest OS: Linux – Version: Red Hat Enterprise Linux 5 (as instructed by professor)
  • Name: hw3 (up to the user’s preference)
  • Processors: one
  • Memory: 256MB (as instructed by prof)
  • Network Connection: bridged (to obtain an individual public IP)
  • SCSI adapter: LSI Logic
  • Virtual Disk Type/Size: SCSI 10GB
  • USB, Sound, and Floppy controllers removed (as we will not be needing them)
  • 3 more virtual SCSI 10GB disks added in the Virtual Machine Settings post-vm creation wizard.

2) Prior to installation – as a precaution and to have a clean slate in case this VM breaks – I cloned the created configuration with the independent full clone option. You can also take a snapshot to the same effect.

3) Since I am connected to the VMware server over the internet, I will be using CentOS text install option so latency has a lower effect and graphics aren’t taking up as much bandwidth. This process can be accessed by using “linux text” as your boot option. I had to use an additional option “noapic” due to the VMware’s lacking support for APIC at the present time.

4) CentOS 5.4 setup:

  • Pick your preferred language and input methods.
  • Setup may ask you to initialize the hard disks to create new partition tables which would in turn erase all data on them – this is fine as I am working with empty disks to begin with.
  • Since I am making a RAID-5 (RAID-1 for /boot partition) system, during the partitioning step I will be creating a custom layout.
    • I will be using sda1, sdb1, sdc1, and sdd1 for a 100MB /boot ext3 RAID-1 partition, with 1 acting as a spare.
    • I will be using sda2, sdb2, sdc2, and sdd2 for a 20GB / ext3 RAID-5 partition, with 1 acting as a spare.
  • GRUB will be my boot loader.
  • For most steps the default option suffices.
  • I configured my eth0 network interface as well, with ‘activate on boot’ and ‘IPv4 support’. I left IPv6 disabled since I wont be using it for anything and there’s no reason to make my system any more complicated than it has to be. All students are assigned their own hostname based on their username. I checked the IP set for my username by pinging the hostname on the VMware server, and used that to manually configure eth0. Running ‘ifconfig’ showed me some of the other network attributes I needed in the setup.
  • While many packages would be useful in my system, the size of my system is one of the details graded in the homework, so I deselected all the software to make for a quicker install and a smaller system. I can install all required packages individually later.

5) That’s it! Once the newly installed CentOS boots, configure your networking interface (for most that involves editing /etc/sysconfig/network-scripts/ifcfg-eth0 if you haven’t configured the networking interface during the installation process) and run ‘yum update’ to make sure the system is up to date.

* From this point on, I recommend using SSH to connect to your virtual machine as it should both be more responsive than running VMware workstation remotely, and allow for clipboard functionality. My SSH client of choice is putty (since I run Windows).

* To see how to test if RAID is working correctly, see my next post about this homework.

contrib/.htaccess… error installing Bugzilla

I ran into a very annoying problem while working on hw2 for my System Administration class, specifically during installation of Bugzilla on a barebones Fedora 12 virtual machine.

After running ./checksetup.pl in /usr/share/bugzilla, the following error sprung up:

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Creating contrib/.htaccess...
No such file or directory at Bugzilla/Install/Filesystem.pm line 485, <DATA> line 228.

I was unable to find anything about it online, but it turned out to be a very simple solution of either creating a contrib directory in /usr/share/bugzilla:

mkdir contrib

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }Or creating a symbolic link as my professor suggested on the mailing list:

ln -s . contrib

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }And then re-running the checksetup.pl script. I didn’t try the symbolic link but I have no reason to believe my professor is wrong =).

Variable Speed Limits

Once GPS is built into every car manufactured, along with a constantly displayed speed limit – which is bound to happen sooner or later – we can instate variable speed limits. Since you can drive perfectly safe above 50mph on most 3-lane highways it would make sense to increase the legal speed limit during offpeak times when there’s no congestion, and decrease it when congestion is high and there’s less time/space for reacting to accidents or any reckless driving.

In addition to a decreasing the speed limit during peak times in order to decrease traffic jams and minor accidents, you can dynamically adjust the speed limit based on locally available weather conditions, so that if there’s major lack of visibility or slippery conditions the speed limit would be lowered depending on the intensity of the conditions.

At this point the limit becomes more of a recommendation.

This entire idea is a result of my 6am drive this morning which was just as congested as it would’ve been at 8am =(. I was wondering about the benefits of waking up even earlier, but was dismayed by the fact that even though there would be less cars, I would still have to be breaking the law if I want my commute to be shorter, even though the road is empty and straight.

Toys R Us – my happy place

The Accudot™ 300 Laser Bore Sight by Sightmark® provides a convenient and accurate method for sighting in rifles of all types. Simply chamber the bore sight like a regular bullet and a laser dot will show exactly where the rifle is aiming. It’s easy to use and will save both time and money by avoiding prolonged live fire tests at the range. A lightweight carrying pouch protects the laser for convenient use in the field.

http://www.toysrus.com/product/index.jsp?productId=2850498

update: Aw, it seems Toys R Us took it down =(. There were such positive reviews about 5 year olds and their exemplary use of assault rifles!

Treme

http://www.nytimes.com/2010/03/21/magazine/21simon-t.html

Article about David Simon’s (the man behind “The Wire”) new TV series set in New Orleans. While I knew that “The Wire” was a brilliant show, this excerpt came as quite a surprise:

If likening Simon repeatedly to Dickens and Dreiser, Balzac and Tolstoy and Shakespeare hasn’t proved adequately exalting, Bill Moyers lately freshened things up by calling Simon “our Edward Gibbon,” while the literary critic Walter Benn Michaels went so far as to suggest that the beauty and difficulty of watching “The Wire” in English — the multifarious 21st-century English of Baltimore detectives and drug dealers — compares with that of reading Dante in 14th-century Italian. It should go without saying that Duke; the University of California, Berkeley; and, next term, Harvard, are offering courses on the series, seminars focused not merely on the sophistication of its storytelling but also on its sociological and political perspicacity.

It would kick so much butt to take a class like that =).