Archive for 2007

What Barry Says: The American War Machine

This is worth watching:

Electric Daisy Carnival – In retrospect

The summer is almost over and in the process of ordering books and supplies, i started browsing around for some Electric Daisy Carnival clips. EDC was awesome, with great music and great people. So here’s some clips I found. If you couldn’t make it – see you there next year! 25 000 plus *beautiful* people…

Colette from the Deep House stage – where I spent most of my time. Colette sings live, which is totally uncommon and siiiick.

Opening (“Didn’t mean to turn you on”)

“About Us”

Kaskade of course rocked the party (he did Gleb…)

The quality sucks but check the nice visuals on those screens!

There’s tons more but I can spend only so much time looking through crappy Youtube videos before I am obliged to get some better quality and more satisfying stuff… Let me go put on some vinyl


My friend Marcello recently took me to see the movie “Paprika” by Satoshi Kon. I was blown away by the movie – it is definitely worth seeing!

Wait… you thought the MPAA does NOT concone movie copying? But they do it themselves, dude

Sure, this clip is no proof at all, but it’s hilarious, and it only serves to back up the evidence that is already out there.

An open letter to John Soat.

After reading InformationWeek’s June 18th edition, I emailed the following to John Soat in response to his “Google Vs. The FBI” article.

Dear Mr Soat.

I read your column in InformationWeek (June 18th) on the data collection done by Google and the FBI.
I particularly noted your opinion on the value of the FBI’s data mining:

“I guess I should be concerned about the FBI’s data accumulation plans. I might console myself with the idea that the FBI will never get its huge data mining operation built… But the fact is, I want the FBI to succeed. I believe in what the FBI is doing. If a mammoth data mining operation is what it takes to stop domestic terror attacks, I’m all for it. How can I help?”

Although I understand and agree with most Americans that the concept of innocent civilians dying in events such as the attacks on the Twin Towers on 9/11 are horrific, I don’t follow the logic in your paragraph.

How does the FBI plan to identify “terrorist subjects” from this massive database of information? Do you truly believe that they will come up with a great way to accurately pinpoint true terrorists? That is definitely not what their track record indicates. Rather, it sounds like the American nation will go even further in alienating Muslims, immigrants and people from the Middle East. Is intruding on every American’s privacy really supposed to be able to identify terrorist suspects? The concept of “identifying” these people have always been left incredibly fuzzy, much worse that most of Google’s ideas of “data collection”, that I can hardly jump up to support the FBI through algorithms that they hardly mention.

How will a mammoth data mining operation stop terrorist attacks if the American nation keeps on violating the basic human rights of millions of people, both abroad and domestic? Do you truly support the organization that tortures innocent civilians in an operation to find out even more about each person in America? How do you plan to have America remain a player in today’s global economy by supporting the alienation of its people, and the building of walls to keep people out?

I cannot support the FBI’s concepts of “gathering information” while we as a country cause more reason for terrorist attacks every day we violate the basic rights of the people we are at war with.

I ask you to please reconsider your stance towards this matter. I have little power as an individual civilian and student. As a columnist, your opinions reach and influence thousands of people. Will you not put your power towards justice rather than creating a police state?

Yours sincerely

Niels Joubert
UC Berkeley

Setting up Eclipse for Red5 Development

I’ve been playing with Red5, an open source alternative to Adobe’s Flash Communication Server. My Eclipse setup just died on me, so in the process of setting up eclipse for developing the Red5 server, I’ll put up a quick tutorial on using eclipse to work with Red5. Note that this is aimed more towards hacking on Red5 itself than writing applications that use Red5, although the latter will definitely benefit from starting with the setup I’ll be doing.

Tools we will be installing:
- JDK SE 1.6
- Eclipse SDK (Eclipse Classic)
- Spring IDE plugin for Spring development
- IvyDE for dependency management using the Ivy system.
- Subclipse for SVN management

We want to do some serious java development, so we’re going to need the Java Development Kit… Or, as it is now known, the Java Standard Edition. Download the current JDK and install.

Next, we need Eclipse itself. I grabbed Eclipse Classic (Eclipse SDK) from Eclipse’ Downloads section. Another good alternative to start from is the Expert Java build from EasyEclipse. Download the zip file and extract it to some directory. I prefer C:\Program Files\eclipse for windows, or /home/njoubert/eclipse for Ubuntu.

NOTE: If you want FlexBuilder as a plugin inside your eclipse install, you should install flexbuilder NOW before doing anything else. There seems to be some conflicts when FlexBuilder plugin gets installed after other 3rd party plugins are present or something…

Open up Eclipse, and select whatever directory you want as your workspace. If you already have Red5 checked out somewhere, you can make the directory that Red5 lives in as your workspace, or you can choose some other one, and we will associate the already-checked-out code with the workspace you select a little later.

Once Eclipse is running, we want to associate Eclipse with our shiny JDK that we downloaded instead of sitting on top of the built-in JRE. Go to Window > Preferences… and open Java > Installes JREs. It should show only the supplied jre (jre1.6.0_01 for my Eclipse 3.3.0). Hit “Add…”, then “Browse” for a JRE home directory. (aka. “C:\Program Files\Java\jdk1.6.0_01″). Everything should pop up. Hit OK, and make sure to select the new JDK in the list of Installed JREs. Hit OK, and you’re good to go.

Now we need to get IvyDE and the Spring IDE installed. The Spring IDE is technically not necessary, and I tend to not use it in the areas of Red5 i’m working on, but Red5 is built on top of Spring, so it’s worth installing it and removing later on if you think it is unnecessary. Eclipse plugins all follow the same installation procedure, so i’ll be a bit more detailed with the first plug-in, and then roll with it for the rest.

Spring IDE 2.0 plays well with Eclipse Europa’s Java Development edition, since this Eclipse build comes with Mylyn, which Spring plugs into. Mylyn is a fancy task manager that does all kinds of cool stuff, which i’m not going to go into now, but it worth looking at.

Spring IDE has an Eclipse update site, that Eclipse uses to install the plugin from. go to Help > Software Updates > Find and Install.. in Eclipse, select “Search for new features to install” and hit next. Current known sites pop up. Select “New Remote Site…” and set the URL to and name to “Spring” (or whatever you want). Make sure there’s a check next to it, and hit “next”. After contacting the site, Eclipse should show “Spring” as a feature to install. Check it, and click Next. Accept the terms and select Finish. Click finish to start the installation procedure. Eclipse will first download the necessary utilities, then prompt you to install them. Restart Eclipse when prompted to.

Once Eclipse comes back, we follow the same procedure to add IvyDE to Eclipse. There is a good tutorial on the Red5 wiki on installing IvyDE and using it with Red5. For the moment, follow the previous procedure, with the update site “”.

Lastly we want to get Subversion compatibility for Eclipse, so we need Subclipse. You can follow the same procedures as before, this time with the update site “”. When it prompts you for which features to install, open up the Subclipse item and deselect Integrations. Some of the integration plugins is not installed, so i just skip that part.

To get the current Red5 source from scratch, go to File > New > Project… and choose SVN > Checkout projects from SVN. Select “Create a new repository location” and use the URL “″ in the next section. Eclipse should resolve this and download a Table of Contents from which you can select what you want to check out. Browse to java > server, select “trunk” and go for it! This should check out and try to build Red5.

If you already have a copy on disk of Red5, I opted for a File > Import > File System, and imported the root Red5 directory. Once this was in my workspace, I right-clicked on the project, and selected Team > Share…, at which point SVN should kick in and realize that this is a current SVN project and associate the project with the right repository.

To get Ivy running with your local checkout copy of Red5, you need to set some non-obvious preferences. Open up Window > Preferences > IvyDE in Eclipse. Each of the fields needs to be filled out before Ivy will start doing its job. Point the IvyConf URL to the ivyconfig.xml file that is in the root of the Red5 folder. Fill in Accepted types, Sources types and Javadoc types as in the examples below each. I checked “Do a trtrieve after resolve” and set up the Pattern to their example, although I believe you can get away by not doing this. When you click “OK”, Ivy should start running and resolving dependencies.

Voila, Red5 is ready to run! Launch it by going to src > org.red5.server and running as a Java application.

FireEagle & TripTracker – Where I am and What Pictures i’m taking!

This is one sweet widget, using some of the super-alpha location platforms from Y!RB as well as ZoneTag (

FireEagle is the current super-alpha location platform being developed right here at Yahoo! Research Berkeley. It allows multiple applications to update and access your location to predefined levels of privacy. This specific badge looks at your current location to the ZIP code level and displays a picture taken in this location. It was developed by Rahul Nair, one of the researchers at Y!RB.

This is a sweet flickrstream widget!

Pogramming tip of the day

Courtesy of Visual Studio C++ 6.0:

“Always code as if the person who will maintain your code is a maniac serial killer that knows where you live”

Holocaust survivor leaving the US

From Justice for None:

Holocaust Survivor Leaving US

Monday, May 02 2005 @ 03:02 PM PDT
Contributed by: Joey Picador
One of our neighbors is moving. I’ve been in this neighborhood for about six years now, but didn’t really know them very well at all – just waves and nods, mostly.

So I heard the moving van pull up this morning. When I got home this evening I happened to spy my neighbor (he’s like 85 years old – I don’t know exactly, but he’s old, talks and moves very slowly) standing on the sidewalk next to the van. I walked over and shook his hand, and we started talking. I asked him where he was moving, and he said, “Back to Germany.”

I had been stationed in Germany for two years while in the military, so I lit up, and commented about how beautiful the country was, and inquired if he was going back because he missed it.

“No,” he answered me. “I’m going back because I’ve seen this before.” He then commenced to explain that when he was a kid, he watched with his family in fear as Hitler’s government committed atrocity after atrocity, and no one was willing to say anything. He said the news refused to question the government, and the ones who did were not in the newspaper business much longer. He said good neighbors, people he had known all his life, turned against his family and other Jews, grabbing on to the hate and superiority “as if they were starved for it” (his words).

He said he was too old to see it happen right in front of his eyes again, and too old to do anything about it, so he was taking his family back to Europe on Thursday where they would be safe from George W. Bush and his neocons. He seemed resolute, but troubled, nonetheless, as if being too young on one end and too old on the other to fight what he saw happening was wearing on him.

I gotta tell you – it was chilling. I let him talk, and the whole time, my gut was churning, like I had mutated butterflies in my stomach. When he was finished, he shook my hand, gripping it really hard, until his knuckles turned white and he was shaking. He looked me in the eyes, hard, and said, “I will pray for your family and your country.” He let go of my hand and hobbled away.

I have related this event to you in the hopes it will serve as a cautionary anecdote about the state of our Union, and to illustrate the path we Americans are being led down by a group of fanatics bent on global economic and military dominion. When a man who survived the fruits of fascism decides its time to leave THIS country because he’s seeing the same patterns that led to the Holocaust and other Nazi horrors beginning to form here, it is time for us to recognize the underlying evil inherent in the actions of those who claim they work for all Americans, and for all mankind. And it is incumbent upon all Americans, Red and Blue, Republican and Democrat, to stop them.

EDC Baby!

The ‘Hawk is Back

awyea, originally uploaded by vladidadi.

Yeah, you guessed it – I was up until 5am with my wonderful girlfriend getting my hair all ready for EDC! Here we come L.A., here we come Electric Daisy Carnival!’s Fontenna a disappointment, although other factors might be to blame.

I was very happy to be one of the Foneros who received a free Fontenna in the mail a week ago. I live right above a street full of eateries and coffee shops, and hoped to direct my Fon spot straight into the Starbucks at the top of the street with my new Fontenna. After installing it against a wooden panel on the one wall of my apartment, I see no noticable increase in range or coverage. In fact, I put a Netgear RangeMAX router right next to it with no external antenna, and the Rangemax managed to give me just as good if not better coverage. Attributing this to the technology inside the RangeMAX (7 dynamic antennas), I hooked up a cheap $30 D-Link router with its tiny built-in antenna, and the signa strength was better than the Fontenna when I moved several rooms away – to the point where I could still use Internet with the D-Link while the Fonero/Fontenna match could barely connect.

I’ve begun to look into interference issues – as an Amateur Radio operator i’ve seen issues with antennas that seem barely possibly, such as ground planes, electric wires, conductive surfaces becoming reflectors, etc. etc. that completely destroy an antenna’s performance. hopefully I can nail the bad reception to one of these issues. Still, it is a disappointment that the Fontenna didn’t work as well as I expect.

The Semester in Retrospect

What a semester – I can only say I’m glad it’s over! I haven’t posted here at all mainly because I’ve been so incredibly busy with this semester that I simply did not have time to shower on a daily basis, let alone write philosophical blog posts on snowboarding and hacking…

Hmmm let me reflect back on this semester. It sure was a busy one, to say the least. I think I finally reached my workload ceiling, I quite outdid myself in the amount of things I tackled.

It was my first semester with four technical classes – Physics 7C, Radioastronomy Lab 121, Computer Science 61C (Machine Structures), Electrical Engineering 120 (Signals and Systems). Radioastronomy was an amazing experience, but it also took anywhere between 15 and 50 hours per week to generate those awesome pictures and reports on my site. EE was challenging, serious math and a lot of smart people in the class, but with Babak as professor, it was awesome! It stripped off a lot of the mystery around Fourier, Laplace and Z transforms and I learn a whole bunch about signals and (you guessed it…) systems. I’m looking forward to getting into DSP, feedback control and communication systems! Computer Science ALWAYS takes time, and it’s amazing to see how far i’ve come. At the beginning of this semester I knew Scheme, some Ruby/Rails and Java. At the end of it, I’ve done C, PHP, MIPS, Digital logic design, some Flash and some C++ on top of that. Phew! The class itself taught me all about how a computer *really* works, and without the knowledge of caches, virtual memory, pipelines, machine language and assembly, I just won’t be a good coder. It was FUN to see my own processor chugging away, eating up MIPS instructions! Physics with Professor Adrian Lee was rewarding, fun, and almost always helter-skelter-almost-not-in-time! But DAMN it was awesome to prove that that electron you through you put it a cup can randomly appear outside it – just stare long enough ;)

Then, of course, I was a part-time employee of Yahoo! Research Berkeley during the course of the semester. 10 to 15 hours per week, phew! The stuff I get to do is exciting to say the least. Its incredibly gratifying to find myself in an environment where we’re literally hitting the tip of the iceberg in developments. Youtube, Google Video, Yahoo Video, Jumpcut, etc etc… Old school, dude, that’s history – we’re doing the future right here. Man I can’t wait to get here every morning! And I’m learning so much in the process. Its great to see academic knowledge coming together with practical experience every day.

Hmm, and then I was of course still on Professor Alex Filippenko’s research team, looking for supernovae. He was voted US Professor of the Year 2007, which of course made me pretty chuffed to be working with this guy – Amazing! Last weekend was my first true observation run on top o fMt Hamilton with the 40″ Nickel telescope there, which was just insane. For two nights we spent the duration of the dark hours working with the telescope, learning the intricacies of observing. We also spent a significant time having fun with Weidong – this guy is just incredibly smart and such a great guy! I can’t wait for the next trip, and soon we’ll start doing regular remote observing. Fun fun! I also get to build a database system for the group to automate and keep trac of scheduling and the like. Sweet!

Ah, and I joined Tau Beta Pi, the general engineering honors society. Candidate requirements, events, interviews, workshops, fun activities, meetings, socials, game nights… you name it, we did it. The experience was less gratifying than I hoped for, but oh well! you can’t get everything perfect. I’ll write a post some other time on TBP and my opinions on the candidate process.

Oh, and I also made it into the EECS Honors program – so I better shape up, there’s gonna be more astrophysics coming my way!!

Since I’m not going to say more about my love life except for the fact that there *is* someone special (another time commitment right there!) I think that just about covers the big picture of my semester. The details will mostly be “I wanna sleep… I really realy wanna sleep… let’s get some Jolt and get on with this…”, so I’ll leave that out. I should comment that, so far, I kept it at another semester of all A’s, so it went well to say the least!!

Time to get home – and return these stupid headphones!

Handy Tip: Adding custom entries (Emacs!) to right click menu in Windows

So my good ond Linux laptop recently stopped booting – i guess it finally gave up after than nasty drop a couple of months ago! So, spending all my time on Windows, I naturally had to get emacs up and running, since I’ve pretty much fallen in love with emacs over the course of this semester. After installing the windows copy and customizing it with the .emacs file and additional goodies from Berkeley’s Radio Astronomy Lab I wanted to be able to open all my random files with Emacs. And boy, i don’t want to make file associations for everything. So i found this handy tutorial to add an “Emacs It!” selection in the general right-click menu in windows.

This is from Tech Recipies:

Customizing Right Click on File:

-open regedit (start\run, type regedit)
-expand until you are in: HKEY_CLASSES_ROOT\*\shell
-if the key ‘shell’ does not exist, right click on * and add new key and name it ‘shell’
-to add the item right click on ‘shell’ and create a new key, the name of this key will be what appears in the menu. I named mine “cmd”
-next right click your newly created key “cmd” and create another key under it named “command”
-double click the default entry in this folder and type in command.exe
-(if you are doing a different program, you would do the complete path to that program instead of command.exe)
-that’s it your done, now when you right click on a file the option to open a command prompt will be there!

Yup, there we go! Pretty handy stuff.

You’re always one step away from alienating your users…

Apple – Will you really drop DRM?

Sign an Open Letter To Steve Jobs

Radioastronomy Website up!

Midterm for Computer Science (machine structures) tomorrow, Research Report for Radio Astronomy Tuesday, Electrical Engineering problemset Tuesday, Computer Science project Friday (recursive assembly, floating point).

Right NOW, I’m “launching” my one-page radioastronomy site! I spent some time doing pretty CSS and having fun with Aptana, and voila! Welcome to Radio Astronomy 121, please click here to see the craziness!


Getting CVS up and running at Berkeley EECS.

Here’s a handy post I did on getting CVS set up on the servers at Berkeley.

Hi everyone!

After hearing several horror stories of programs magically blowing up
and people having to start over because I can’t find the bug, or people
keeping 8 backup copies to make sure nothing goes wrong, I find myself
in the rare position of making up for my flamewar post of earlier (sorry
about that) by doing some community service. How? If you’re working on a
big project, *especially* with partners (later on), a version control
system is just what you need.

CVS (Concurrent Versions System, not cyclic vomiting syndrome) is a
system that manages code. It has several uses, but those relevant to our
projects are:

— CVS keeps track of every file change you make, and can jump back
to any version of a file. It does this by keeping logs of how you
change files, thus saving a lot of space (one copy of a file with a list
of changes instead of multiple copies) and helping gobs when you’re
trying to figure out why your latest version broke.

— CVS is already on the Soda servers, so using it to manage your code
means your code is in two places at all times, on the Soda servers and
your laptop. You drop your laptop and corrupt your project 2 hours
before the deadline – its okay! Run to the nearest linux box and check
out your code.

— Many IDEs plug straight into CVS, and will manage your code and your
CVS repository for you almost out of sight. Emacs has a context menu
that appears when you’re working in a CVS-managed directory. Eclipse
integrates very well also (and there is an Eclipse plugin for C editing!
If you’re running EMACS and hating it, check out

— CVS also does a whole lot of fancy teamwork features, so that
several people can work on the same file/project, and when you commit
your changes to the server, it will show you what changed from your
version to the current version on the server, show any collisions (place
where you edited code that was edited in the meantime by someone else)
and a whole list of cool stuff.

— CVS allows you to “branch” your code – save the point you are now, call it something else, work on it and experiment, and either “merge” the changes back into the repository, or abandon it. Great for experimentation!

OK, so hopefully i’ve convinced you that CVS is a good thing to have.
There’s many alternatives, and CVS is not the newest (Subversion is the
CVS “replacement” but since CVS is already on Soda’s boxes, roll with it
I say.)

There’s a couple of steps to getting everything set up. The big picture
is this:

1. Create a repository on a server somewhere with SSH access. We’ll do
this with your handy home directory in Soda!

2. Import your current projects. BACKUP YOUR DATA BEFOREHAND SO THAT YOU

3. Export your newly imported projects so that the folders gets little
“CVS” subfolders that identifies them as being managed by CVS

4. Understand the checkout-edit-update-commit cycle (without the update
in the case when there’s only one person working on one computer)

5. Get your IDE to work with CVS

6. Check in your project as often as possible as you work on it! (This
is a style thing.

So, let’s get cracking.

Setting up CVS / Creating a repository

Jump into the terminal in soda, hit your home directory (or wherever you
want a “repository” subdirectory) and type “cvs init”. This should take
a couple of seconds, and return with nothing. Check your current working
directory, and there should be a “repository” subdirectory. Yay, CVS
is ready to go!

You want to set up your environmental variables so that there is a
“CVSROOT” variable pointing to this repository directory. This helps CVS
to know where it should create its database. I set up my environmental
variable inside .bashrc in my home dir, like so:

setenv CVSROOT /home/cc/cs61c/sp07/class/cs61c-xx/repository

This doesn’t work when you SSH in (i dont have the skillz or the time to
look up the right place :-( ) but yeah, put it somewhere! All that this
does is you don’t need to type “-d ” in your CVS
commands. More on this later! The point is, you want to know where your
repository is at.

Importing current projects

So, presumably you have some code somewhere that you want to put into version control. For example, you just copied over the fresh fresh code from ~cs61c/proj/01 or something. Let’s quickly talk about some terminology:

* import = insert files as a new project into CVS
* checkout = create a project on your harddrive, fresh from the latest files on the server
* project = a base directory of a directory structure that is managed by CVS
* commit = write the files you changed to the server
* update = updates your local code to reflect the server’s latest code

these are the basic 4 things you’ll be doing. So lets look at command structure:

cvs import -d
or, to make it easy
cvs import -d ~/repository proj1 proj1 initial

do that now with your project. You’ll get a nice output telling you how you just imported a new project and all the files that goes in.

Now *MOVE THIS CODE AWAY*, you can even delete it. I like to keep it somewhere else until i know that i’ve got CVS working right..

Now, to let CVS manage this project you just imported, check out the project to your workspace.

cvs checkout -d ~/repository proj1

now it’ll spit all the files back out (hopefully!) and when you take a look, there’ll be a CVS subdirectory.

go ahead and be productive, edit and go wild!


I like to check in fairly often. As in, once every 30 minutes to about once every couple of hours. When you’ve made a significant change, its definitely a good idea to commit. And if you want to experiment, use commit a lot, and read up on branching.

To commit your newly saved files:

cvs commit -d ~/repository -m “message for this commit”

Emacs has a bunch of keyboard shortcuts, and Eclipse allows you to check in projects from CVS directly into the workspace. You can, of course use the shell as always.


So let’s say you just broke something in your code and you want to look how it differs from earlier, or you want to replace it with an earlier version of the file. Eclipse does this great. Also, you can see the differences between revisions:

cvs -d repository-location diff [[-D date] || [-r revision_nr]] [[-D date] || [-r revision_nr]].

Thus, you can say. compare my current version with some other version or date. CVS works on a versioning system, and when you check in the version automatically increases.


There’s a LOT more to CVS, but this should be enough to get people running. I’m also falling asleep on the keyboard – this project is taking up a lot of time – so good luck to everyone!

Yahoo, Astrophysics, Computer Science, Research – Too much to do, too little time!

My blog has been very much neglected over the last few weeks! And no wonder – it’s 2am and i’m sitting in the radioastronomy laboratory on the roof of Campbell hall with 6 other students, slaving away at our research papers. Yesterday night I was in this same room until 4am to collect and reduce data. The night before that was an all-nighter in the basement of Soda Hall to implement BigNums in C for a Scheme interpreter. I was out Friday night until 3am with my girlfriend. Thursday night was Abhi’s birthday party, so we were out until 3am. Every morning I get up between 7am and 9am. This makes for very little sleep over the last few days. Thus, my blog lies somewhere in between exersize (which I crave) and reading philosophy (which has been lying next to my bedside table since the semester started).

I’ve also officially started with Yahoo! I’m at the Yahoo Research Berkeley labs, with a great group of people. I spent the last week getting settled in – network security, SSH access, RSA keys, etc – and getting to know their architecture and development platform. I’m situated in the Media and Community research/advance prototyping group. I can’t disclose what we’re working on – NDA – but i’ll keep this space updated on programming and the like. I’m very excited to be working in this area, and my direct manager Peter Shafton and his team has some awesome cutting-edge stuff going on. Badge and all, I’m happy to be a Yahoo!

In school i’ve been battling with MIPS and C in my computer science course, and radioastronomy keeps me up with fourier transform on fourier transform of sampled data.

Of course, I can’t forget my personal life, so snowboarding next weekend!