Archive for the ‘Uncategorized’ Category.

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

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 (zonetag.research.yahoo.com).

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!

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!

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

http://forge.ironrealms.com/2007/05/02/digg-users-revolt/

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!

http://ugastro.berkeley.edu/~njoubert/

Peace!

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
http://www.easyeclipse.org/site/distributions/cplusplus.html)

— 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
CAN SCREW UP AND START OVER!

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..

CHECKING OUT A PROJECT!
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!

CHECKING IN FILES AS YOU EDIT
=============================

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”

IDE STUFF
=========
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.

GETTING BACK OLD VERSIONS & COMPARING VERSIONS
==============================================

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 1.1.1.1 versioning system, and when you check in the version automatically increases.

MORE MORE MORE?
===============

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!

Lets pop the champane, Rails 1.2 has arrived!

Yes indeed, Rails 1.2 is officially out. My gems are updating as we speak, and Agile Web Development with Rails Second Edition should just about be in the mail ;)

The concepts of REST (Representational State Transfer) that technically seeks to model web sites as a state machine is the new hot thing for the Rails community, which means the focus is all on resources that can be accessed through simple GET and POST methods to a set of simple controllers.
This is a very vague incomplete description, but that is one of the big effects of going the REST way, which is what Rails is doing. I like the idea for its abstraction – data, with a layer of “views” built on top of it, with simple intuitive access to these views. There’s a whole bunch of cool things going on, and instead of me babbling about it (dude… it’s still downloading!), read what the core people are saying.

In other news, what’s Google up to… Would you believe me if you say that Google could possibly become bery much THE INTERNET? Read Cringely’s post on Google’s Fiber control, its interesting!

The First Two Days – just getting into it.

Its only been two days and i’m already up here in the RadioAstronomy lab trying to figure out how 21 units appeared on my schedule… CS61C, Physics 7C, EE120, EE40, Astro 121, IEOR 190C, Decal… And I haven’t even started at Yahoo! Good thing, because in the next week I’ll have to wittle down that list of 7 classes to a much more managable 5… hold on… make that 6. 17 units. Sounds good. And 10 to 15 hours per week at Yahoo. That should leave Friday nights open for some time with my girlfriend. Then again, she’ll most probably be up in Worster working on an architecture project ;) Life is good eh?

Ok, now not to get too much into going on about my personal life (which is exceptionally great at the moment), I’ll get to what I DID want to talk about. I walked into the RadioAstro lab today and ran into the local tech/engineer guy Jonah and a guy named Andrew (another student), busy tinkering with a little AMD-based board that they’re hacking to make an Ethernet-enabled sensor box. We had an interesting conversation about using technology and engineering in the astrophysics field, and the Center for Astronomy Signal Processing and Electronics Research (CASPER) came up, directed by Dan Werthimer (of Seti@HOME fame). I haven’t heard of them before, but they’re doing some awesome stuff! Taking the tools that Engineering teaches and applying that to the sciences. A very worthy cause in my mind!

I’ll say more later, but right now we need a program to capture some telescope data. w00t!

Art meets Technology: Smart focusing creates beautiful pictures

In the spirit of my belief that technology is a tool for the creative purposes of our mind, I found this picture simply amazing. Through smart composition and focusing, this image was taken (no photoshop, apparently):

Isn’t that awesome?

Snowboard Extreme!

I had a wonderful break in Yosemite, where I spent two days learning how to snowboard at Badger Pass. I'm hooked! Its an amazing feeling to have control of your board and zoom down the slopes!

I also cross-country skied out to Glacier Point. We covered just over 10 miles our first day, which HURT! Its beautiful to get out and leave civilization behind on your cross-country skies though – those of you whole always end up spending days on end with the crowds on the slopes should try it out. Bliss!

Its also now almost the start of the next semester. I'm hoping to focus this blog on my programming and design/development during this semester – I'll be doing micro circuitry in EE40, C, Assembly and MIPS in CS61C, and web development for Yahoo! Sounds like a fun-tas-tic semester!

End of the Free World?

I was slightly shocked to, on this bright Christmas morning, find this article on Reddit.com:

Almost 70 years after George Orwell created the all-seeing dictator Big Brother in the novel “1984,” Britons are being watched as never before. About 4.2 million spy cameras film each citizen 300 times a day, and police have built the world’s largest DNA database. Prime Minister Tony Blair said all Britons should carry biometric identification cards to help fight the war on terror.

Blair said citizens have to sacrifice some freedoms to fight terrorism, illegal immigration and identity fraud.

“We have a modern world that we are living in, with new and different types of crime,” Blair said Nov. 6 at a press conference in London. “If we don’t use technology in order to combat it, then we won’t be fighting crime effectively.”

End of the Free World, huh? Indeed it seems like it! There’s no “My Privacy” on Britain’s Camera System! There’s a drastic difference between information you choose to make public (Facebook, Myspace, Flickr, etc etc) and forcible control by the Government!

Read the article at Bloomberg

Tag Clouds Clouding your view?

Tag Clouds are pretty sweet and they are the hype in the AJAX generation, but too much of a good thing ends up doing nothing… I wasn’t sure what to make of zaads.com when I logged on… This is a serious overuse of this design pattern:

Leonid Meteor Shower!

Yesterday night the Leonid meteor shower peaked, with up to 100 meteors entering the atmosphere per hour. I ended up watching (but mostly talking about the state of cosmology and the theories of the expanding universe) from two spots up on Pagemill road in the Los Altos Hills. We counted 5 meteors amongst the 4 of us, making a pretty good average for spending only about an hour seriously watching.

Look out for when the next meteor shower is coming your way, its a great reason to grab a flashlight, a blanket, and some friends, and go out there to discover the universe!

We are, quite directly, The Universe’s way to perceive itself. Get to it!

Police Brutality at the University of California???

I was extremely shocked today to watch the video of a UCLA student screaming out in pain as he is repeatedly tazed by the University of California’s Police Department when he did not immediately comply with their demands that he leave the building. Although I do agree that the student overreacted when the police demanded that he leaves, I can see no evidence of a physical danger that he posed, and the the response from the police was neither humane nor calculated. It is sad to see that the authorities who are responsible for the students that will form the next generation of leaders in the USA act in such brash, trigger-happy ways. The initial press article is here (”Student shot with taser by UCPD“) as well as a follow up (”Community responds to Taser use in Powell“).

It is very ironic to note that UCLA just awarded a “Meritorious Service/Taser Award” to their officers for “subduing a patient without harm after he threatened staff at the Neuropsychiatric Hospital”. It sure seemed that these officers thought they had the perfect opportunity to be awarded the “Angry mob/Taser Award”. I can only hope that I do not find myself in a situation where this is happening, because chances are good that people at Berkeley will step in more forcefully that the onlookers at UCLA, since there is still strong feelings of “protecting” our legacy from the Free Speech Movement.

I would say more, but I do not feel safe to express any other opinions that I already have.

Hackers and Ethics

Now having earned the title of “Hacker” in an official competition by Yahoo!, I probably need to put into perspective what I do as a hacker… I mash existing services together in creative ways they were not necessarily made to fit together. Notice that there is no criminal activity involved! The “Criminal” connotation with the term “Hacker” is mostly a by-product of the (as is too often the case) misrepresentation in the media of seemingly similar but ideologically completely separate groups.

A great paper on this was written by my old professor Brian Harvey! Read up on his view of “What is a Hacker”, and “Computer Hacking and Ethics”.

In the meantime, I hope I survive this week!
Stay well and stay strong!

Yahoo! University Hack Day Success!!!

For the 36-hour period between Wednesday morning, November 8th, and Thursday evening November 9th, I happily hacked away at “The Schedulator” – my hack for Yahoo!’s university hack day. My concept was extremely simple – mash together Berkeley’s online schedule of classes with Yahoo!’s calendar. Why? Frankly, I’m sick of picking classes using Berkeley’s Web 0.5 interface (schedule.Berkeley.edu), and then going through a 30 minute process (if I’m really fast) to import all these details into my Palm Pilot / Google / Yahoo calendar. And if you have all three of those, expect it to take 3 hours to get that scheduling information everywhere. Cmon, what’s the digital age about, wasting time? So! A purely utilitarian hack to a very much pressing personal problem – save some time and import your schedule into Yahoo!’s calendar with a couple of clicks (don’t forget the sweet AJAX!)

My hack involved a lot of screen scraping – until Yahoo! releases their Calendar API (which I discussed with Jeremy Zawodny) I will stick with Ruby’s WWW::Mechanize and good ol’ net/http. This makes any hack very unstable, unfortunately!

Berkeley (to prove that they, although they claim to be number one, falls just short of the mark) ended up having no hacks submitted on time – yes, not a single one. I contacted Yahoo!’s reps beforehand, explaining that my dearest Physics Professor (who rocks btw) scheduled a midterm right through hack day presentations, and can i please come over to Stanford to present?

Everything worked out nicely, and I ended up winning a nice big check for first place! Very impressive, considering that my hack demo ended up with a nice big Exception error message! Stanford’s firewall screwed over my WWW::Mechanize hack (which was completed around 5am… might explain that!) and I couldn’t import the data into Yahoo!’s calendar. All in all I proved my concept though!

SO, what did I learn in this process of a Yahoo! Open Hack Day and the University Hack Day?

- Presentation is key. If you can’t demo your hack, you probably won’t get far. On the same level, a good demo is worth as much as a good hack!
- Hack something different. Yes, this is very logical – duh! And my hack did not even satisfy this – its a very straightforward app, nothing “wow!” – but its worth thinking long and hard about what idea you want to show.
- Don’t be afraid to do anything! In contradiction with above, don’t sit around waiting for the perfect hack, just hack it! You will be surprised with what you learn
- Collaboration is great. Team members, friends, fellow programmers, what have you – they make the whole process much more fun and much more creative!
- network network network! The people you meet and the people you know can help you and guide you, so make contacts, get their cards, email and visit!
- Ride the wave. This Web 2.0 thing is still new to developers at the college level. Ride this wave while you still have lots of space on the waters!

OK, that’s all I can think of now. I won’t say too much about how disappointed I am with Berkeley’s response to this awesome event, and that I’m pleasantly amazed by Stanford’s nice people and (since i’ve been there many times) sweet sweet campus.

All in all, The Schedulator, written in Rails, will become part of thecafetable.com soon enough!