All posts by Shawn

SBrain, Inc.

I was having lunch with Tom today and we started blabbing about something kind of funny…

You know how pretty much anything can be “traded” (stocks, bonds, resources, etc.)? It’s just all based on the perceived future value of something. So wouldn’t it be interesting to essentially issue shares of yourself. Shareholders would essentially own a percentage of whatever ideas/patents/products/income, etc. that you generate over your lifetime. Basically they would be buying part of you in the hopes that you do something cool in your life so they get some upside with their investment.

The funniest part would be to watch your stock go down when you leave the country on vacation or get sick, and then come back up when you are in the country and healthy. :)

Who want’s to buy a piece of Shawn’s Brain? We’ll call it SBrain, Inc… 1 employee that can never be fired or quit. :)

Close… But No.

I picked up the plans from plan check today (this is from 2nd submittal), and there were 8 changes needed. This is tiny compared to the 1st submittal.

At least the 3rd (and hopefully final) submittal can be done “over the counter” right there since there are so few changes.

Update

Plans are at the fire department for review while the minor updates are being done. I guess since the changes are over the counter, we can do that. {shrug}

No Sound With Flash

Dude, this issue has been bugging me for months on my Mac… A couple apps would never play any sound (most notably Macromedia Flash). Anyway, I finally was able to find the solution, so hopefully someone searching Google will find this post useful.

Go to Applications -> Utilities -> Apple MIDI Setup

Check the Audio Output Format (somehow mine was set to 96000.0 Hz) and set it to 48000.0 Hz (or lower).

So to celebrate that I have Flash audio again, I’m glad to present you with a newly released Denny “Blazen” Hazen video (the funny thing about this video is it’s actually 100x better than his previous ones)…

Memory Is Here

Finally got the last (physical) piece for the blade servers (120GB RAM [60 x 2GB DIMMs]). I’m a swell counter because I counted them 5 or 6 times, and each time I counted them, I came up with 40, so I thought they shorted me 20 DIMMs for a 10 minutes or so. :)

So I was messing around with init.d, and wrote a script for it to automatically start the memcached daemon on boot. No biggie there, but this is a newer init.d than I had worked with in the past, and you can put comments in your script to easily enable/disable it for various run-levels. For example insserv -d memcached will configure init.d for the default run-levels defined within the script. Sweet, that’s pretty handy. I also got rsyncd (along with it’s init.d setup) up and running, so keeping the servers in sync should be cake.

Oh yeah… I had an interesting idea last night when doing all this stuff… why not configure all 10 blade servers identically (for example database servers have Apache and web content locally and web servers have database server processes installed). Then set an environment variable within /etc/profile.local along the lines of SYSTEM_TYPE = "database" (for database server). Then when the server boots, have it automatically configure itself as needed based on the SYSTEM_TYPE. That would make it super easy to change the job of a server on the fly. Just change the SYSTEM_TYPE variable and viola!, a database server could become a web server and added to the web cluster instantly. It would be even more interesting if the servers all monitored themselves, and if they were under heavy web load (but light on database), have one of the database servers automatically reset it’s SYSTEM_TYPE variable. Basically it would be automatic reallocation of servers/resources to whatever was needed at the time. Could be cool…

I’m an f’ing dork BTW. :)

A Server Configuration Day

I spent most of the day getting crap installed on the first blade as well as learning about little quirks with SuSE Linux Enterprise 9.3.

MySQL 5.0.21 was an easy install (a nice little RPM for SuSE Linux comes from MySQL).

Memcached was a pretty easy compile/install… just needed to compile/install eventlib first.

The big bitch was getting PHP 5.1.4 compiled and working properly with all the options I wanted (had to install all sorts of secondary stuff that PHP had dependencies on [and then a lot of those things had their own dependencies that needed to be resolved]) and compiled a couple dynamic extensions for it (eAccelerator and Memcache). Most of the problems with the configure script not being able to find libraries it needed was solved with the –with-libdir=lib64 parameter.

I really hope that once the first blade is setup exactly how I want it, I can use the hardware RAID mirroring to just swap out one of the drives into another blade and rebuild the mirrors (and repeat for each blade)… then just set a unique IP address and hostname for each blade/server.

I still need to code some stuff to keep some of the files in sync properly (for example each web server should mirror content on each blade), but I’ll do that next week I guess.

Once the blades are all configured and ready to go, I can do some of the more fun stuff… like setting up the load balancers. I think I’m going to use the load balancers for both web and database connections for both load balancing and fault tolerance. So much good dorky fun!

My Car Is Gone

Well awesome… came home from playing poker last night at around 12:30 am, parked in my “secure” gated parking structure, and went to run some errands at 11:00 am this morning, and my car is gone.

That’s rad.

Early Neutral Evaluation Conference

Just got back from the Early Neutral Evaluation Conference with Judge William McCurine, Jr. (who was a remarkably nice and likable guy). Overall it was a waste of time (as expected) though because they really just want the two opposing sides to figure out a way they can settle without going to a full trial. Judge McCurine asked ██ â–ˆ █████ ██ ██████████ ██ ████████ ███ ████ (not that the MPAA/Universal offered that)… which of course â–ˆ ████ ██ █████ â–ˆ ████ ██ ████████ ██ ███ ██ ███ ███████████ ███ â–ˆ ███ ███████ ██ █████ ███ ██████ ██ ████ ██ █████ █████ ██████ ████ ████ ████ ████████ ██████ ███████ they asked for it. I guess he isn’t a regular reader of my blog, because if he was, he would have known that already (heh.. that’s a joke BTW).

I almost was late for the whole thing because I forgot how to tie a tie. hahaha!

Their lawyers were blabbing about ███ ██ ███ █████ ██ ████ â–ˆ ████ ████ █████████ ██ ███████ ████ ████████████. Hahaha… that’s a weird argument for a court, eh? Thanks for the compliment… I would pay to hear that argument in court. :)

Since I have no interest whatsoever in their extortion settlement offer, we will be going for a trial. Judge McCurine did say ██ ███ █████ ██ ███ ██ ████ ██ ██ █████ ████ ████ (█████ â–ˆ █████ ██ â–ˆ █████ ██████), so that’s cool.

I guess next up is a mutual discovery plan which is due in 3 weeks.

Also… in the last week, I’ve done a couple different interviews regarding this case, so I’ll post links to them when they are published. :)

Update

I guess these conferences are confidential, so I wasn’t supposed to post all that, oops. :)

Google’s Quantum Warping?

I was getting a map to the courthouse for my Early Neutral Evaluation Conference this afternoon, and I noticed something… Broadway Avenue in downtown San Diego seems to have some sort of quantum warping going on. The buildings on the north side of the street appear to be leaning on the buildings on the south side of the street.

I’ve been down there myself, and that certainly doesn’t appear to be the case when you are up close, but obviously it *is* happening, as you can see when viewed from outer space…

http://maps.google.com/maps?f=d&hl=en&ll=32.715373,-117.162926&spn=0.002866,0.002765&t=h&om=1

It’s actually pretty interesting how Google splices the images together, because obviously it’s not done in a straight line…

Save Your Switch Info!

Yesterday I spent about 2 hours configuring all sorts of crap in the new network switch… port assignments/names, QoS, SNMP crap, etc.

I forgot that even though changes you make are applied right away, they are lost if you power cycle the equipment. Hahaha… whoops!

Don’t forget this, I know I won’t ever forget it again. :)

Console# copy running-config startup-config

3 Point Deduction For Racisim

FIFA’s new rule about racist soccer fans will go into affect next month for the 2006 World Cup. Basically if fans are judged to be racist against an opposing team, the fan’s team will lose 3 points.

Should be interesting to see how they control that. Soccer fans are crazy enough that they would probably just be racist against their own team to make the opposing team loose 3 points. :)

New Equipment Is Here

The blade chassis arrived on a palette today (and boy, was that an awesome time getting it upstairs), so that means all the new server equipment is here (except for additional RAM).

We got 1 blade chassis, 10 loaded blades (except for RAM right now), 2 load balancers (1 is a hot spare) and a managed 48-port gigabit switch (along with redundant power supply).

Now I need to go to Home Depot and get an extension cord and plug adapter so I can plug the chassis into a 220V outlet.

Until the equipment is ready to be installed in the data center, we have Yashi (and his camera shy brother, Wiggly) standing guard over it all.

Update

Just so I don’t forget, the chassis has an L6-30P NEMA plug and the drier has a 14-30R NEMA receptacle (for my adventure to Home Depot later).

Tanya Andersen vs. RIAA

I know this is old news for people that have been following the RIAA and MPAA lawsuits, but it’s new to me (now that I’ve been dragged into it, I’ve been reading all I can find). This entry is more of a bookmark entry for myself.

http://p2pnet.net/story/8273

Some interesting stuff that I may find useful for my suit.

I’m sure they are going to want to go diving into my computers, which is fine with me as long as I have assurances they destroy everything afterwards. I’m certainly not going to let them take clones of every computer I own if I can help it. I have enough source code and trade secrets on my computers that I’m sure millions of people would love to get at it.

A judge ruled Andersen could name her own investigator who’d search only for specific files.

And the RIAA will have to pay his or her bill.

But the most interesting part to me is that she brought forth RICO (Racketeering Influenced and Corrupt Organization) allegations against the RIAA about 6 months ago. Since they haven’t been thrown out of of court yet, I’m assuming the counterclaim has enough merit that it will be forced to go to a full trial. I’m thinking I may be able to do the same thing, considering they “offered” a settlement of $2,500 based on no valid information (a random IP address they could have pulled out of thin air). Then when I refused, they flat out threatened me saying that if I didn’t pay, they would take me to court, and my costs incurred would be much more than $2,500 even if I beat their charges.

If they really believe they have a case against me, why are they “letting me off” for $2,500? They have much more to gain by going the court route. Oh wait… maybe because they are extorting money from people.

I’m not a lawyer (so someone please correct me if I’m wrong), but if I’m able to file a counterclaim that doesn’t get thrown out in court, would this prevent them from dropping their original suit against me (forcing it to go to trial and final judgement)?

Map Of Digg Traffic

At the beginning of last November, I had the idea to do an automatic geolocation system for blog/website owners called Geo Visitors.

This blog got quite a bit of traffic in the last 24 hours (because of a front-page digg). Anyway, check out what the maps look like for visitors to this blog in the last 24 hours… It’s crazy how much traffic digg can bring you in a short amount of time. Thankfully my quick little caching mechanism I did for WordPress last time I had something in digg, held up (last time WordPress was thrashing my servers because of the traffic).

The World

Europe

United States

New York area

If you want to check out the map in realtime (or use it for your own blog/site), click here.

Random Email #19

Here’s one I got (in it’s entirety like always)…

I FUCKING HATE THIS DAMN SITE IM GOING TO FUCKING MILK MY COW YOU BITCH!!!!

Okay… I can understand someone hating my site… I’m sure he/she isn’t the only one. But This dude hates my site so much that he’s going to go milk his cow. Huh? That really will show me I guess. {shrug}

Preparing For Early Neutral Evaluation Conference

It’s amazing how no matter how many times you tell someone something, they don’t seem to “get it”. Someone called me letting me know they are preparing whatever paperwork they have to file for next weeks Early Neutral Evaluation Conference. They keep letting me know they are working on getting the issue settled.

But here’s the problem… It’s not about the money for me, it never was. I’ve already spent more in legal fees than what I could have settled for.

I will never sign any sort of admission that I did anything (since I didn’t) in exchange for them to drop it. There is nothing the MPAA/Universal Studios could say or do that will make me settle (I wouldn’t settle for $1). I know technically I can’t prevent them from dropping the case, but if I could, I would force it to go to a full trial with final judgement. As far as I’ve been able to research, out of the tens of thousands of RIAA and MPAA lawsuits, not a single one has gone to a final judgement. Does that seem odd to anyone else? (If anyone knows differently, please let me know.)

The bottom line is I would gladly prefer to spend whatever it takes out of my own pocket, rather than just hand over the $2,500 in extortion money they wanted. Regardless of the money spent, there is always a way to indirectly recoup the costs. For example paid advertising displayed to people reading about my case (which at this point is well over 100,000 people, and we haven’t even really begun). Another idea I had was why not put together a website where people could use it to defend themselves from the RIAA and MPAA lawsuits. The only reason people settle with them is because they can’t afford the cost of going to court. Maybe put together a site that generates all the filings/forms they need to defend themselves for a couple hundred bucks or something. BTW, if any lawyer(s) want to do a joint venture on something like that, please let me know.

More info on this whole case can be found over here.

Update

For everyone asking how to contact me in the comments, my email is shawn at this domain. Please put MPAA in the subject so I know I will see it (I get way too much email).

Dell Blade Servers Are Here

The new blade servers were delivered this morning (10 of them). Hopefully should get the chassis tomorrow (it shipped separately), and the new switch and load balancers later in the week.

Wiggly (one of my cats) is terrified of change, and now he won’t leave my office because there are big boxes in the hallway. heh

Update

I just remembered the chassis runs at 220V instead of 120V. I know that’s fine for the data center, but I just realized I don’t have 220V in my place to configure them (maybe my drier or stove is 220V… I better check).

Multiple Instances Of mysqld

My primary MySQL server has been VERY overloaded lately (which is the main reason new blades are on the way), but today I decided to see what I can do about it in the meantime (the parameters have already been tuned as much as possible).

First I toyed around with a single node MySQL Cluster… it didn’t work terribly well. I think you really need 2 or 4 nodes for it to be effective.

Then I decided to run two different copies of mysqld on the same machine. Dude, this works *so* well under a high load that it’s almost unbelievable. While the memory fragmentation issues are still there, it’s 20x better (really). I should have done this a long time ago… :)

The Wrong Guy Kewney

The BBC was doing a news piece on the Apple music vs. Apple Computer case and they were trying to do an interview with Guy Kewney, but instead they accidentally pulled his cab driver into the interview. :)

“I am very surprised to see…this verdict to come on me because I was not expecting that. When I came they told me something else and I am coming. So a big surprise anyway.”

Update

Okay, it turns out the dude wasn’t a cab driver, but instead someone named “Guy” who was at the BBC for a job interview for an IT position. Still funny though.

Light Can Travel Backwards

Some interesting stuff here… light traveling at speeds other than the speed of light (slower, faster and backwards)…

Boyd, along with Rochester graduate students George M. Gehring and Aaron Schweinsberg, and undergraduates Christopher Barsi of Manhattan College and Natalie Kostinski of the University of Michigan, sent a burst of laser light through an optical fiber that had been laced with the element erbium. As the pulse exited the laser, it was split into two. One pulse went into the erbium fiber and the second traveled along undisturbed as a reference. The peak of the pulse emerged from the other end of the fiber before the peak entered the front of the fiber, and well ahead of the peak of the reference pulse.

But to find out if the pulse was truly traveling backward within the fiber, Boyd and his students had to cut back the fiber every few inches and re-measure the pulse peaks when they exited each pared-back section of the fiber. By arranging that data and playing it back in a time sequence, Boyd was able to depict, for the first time, that the pulse of light was moving backward within the fiber.

http://www.rochester.edu/news/show.php?id=2544

Random Email #18

I really would like to meet some of the people that are on the sending end of these emails. :)

Iwon’t sex film

That’s the whole email… I don’t know why this dude (maybe a girl, I dunno) feels like they need to email me telling me they are not going to “have sex with a film”. I never asked them to, and I certainly wouldn’t recommend it. Would probably cause chaffing anyway, especially if it was VHS vs. DVD.

APC Datastore Class For vBulletin

On one of my ultra-high traffic web servers, I switched from eAccelerator to APC today (an opcode/caching system for PHP). So far it seems pretty nice… Especially the ability to disable stat for each PHP request.

I ended up making a datastore class for vBulletin also so I could use it for the forum, so if anyone else is using vBulletin on a server with APC, here you go (if you know what this is for, you will know where it goes :)).

[code=php]// #############################################################################
// APC

/**
* Class for fetching and initializing the vBulletin datastore from APC
*
* @package vBulletin
* @version $Revision: 0.0.0.1 $
* @date $Date: 2006/05/08 16:51:06 $
*/
class vB_Datastore_APC extends vB_Datastore
{
/**
* Fetches the contents of the datastore from APC
*
* @param array Array of items to fetch from the datastore
*
* @return void
*/
function fetch($itemarray)
{
if (!function_exists('apc_fetch'))
{
trigger_error('APC not installed', E_USER_ERROR);
}

foreach ($this->defaultitems AS $item)
{
$this->do_fetch($item);
}

if (is_array($itemarray))
{
foreach ($itemarray AS $item)
{
$this->do_fetch($item);
}
}

$this->check_options();

// set the version number variable
$this->registry->versionnumber =& $this->registry->options['templateversion'];
}

/**
* Fetches the data from shared memory and detects errors
*
* @param string title of the datastore item
*
* @return void
*/
function do_fetch($title)
{
$ptitle = $this->prefix . $title;

if (($data = apc_fetch($ptitle)) === false)
{ // appears its not there, lets grab the data and put it in memory
$data = '';
if ($dataitem = $this->dbobject->query_first("
SELECT title, data FROM " . TABLE_PREFIX . "datastore
WHERE title = '" . $this->dbobject->escape_string($title) ."'
"))
{
$data =& $dataitem['data'];
}
$this->build($title, $data);
}
$this->register($title, $data);
}

/**
* Updates the appropriate cache file
*
* @param string title of the datastore item
*
* @return void
*/
function build($title, $data)
{
$title = $this->prefix . $title;

if (!function_exists('apc_store'))
{
trigger_error('APC not installed', E_USER_ERROR);
}
$check = apc_store($title, $data);
}
}[/code]

Update

I just found out APC datastore support was added to the yet unreleased vBulletin 3.6. Nice!

Update 2

I’ve since switched back to eAccelerator. APC was causing Apache segfaults under ultra-high loads.