Home
Tobin's Lab Notebook [entries|archive|friends|userinfo]
Tobin Fricke's Lab Notebook

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

"order of magnitude" [Jan. 7th, 2010|01:48 pm]
I have a gripe with the phrase "order of magnitude": the name makes it sound like a natural quantity, independent of your number system, but really it's defined relative to our base-10 system of counting. Base 10 is about as anthropocentric as you can get.
LinkLeave a comment

LIGO on Twitter [Jan. 3rd, 2010|03:31 am]
[Current Location |30.5628° N 90.7742° W]

I made Twitter accounts for the LIGO control rooms:

http://twitter.com/LIGOWA - LIGO Hanford (Washingston)
http://twitter.com/LIGOLA - LIGO Livingston (Louisiana)
LinkLeave a comment

...doomed to repeat it [Jan. 1st, 2010|06:13 pm]
Some of our scripts at work started writing to this directory last night:

/cvs/cds/llo/burt/autoburt/snapshots/20010
LinkLeave a comment

fireflies in javascript [Dec. 26th, 2009|12:53 am]
[Tags|]

As my christmas eve coding project (and second toy javascript project), I wrote up a little firefly simulator. The idea is that you have a collection of "fireflies" that blink at regular intervals. The time until each firefly's first flash is chosen randomly, so there is no order to their pattern of flashing. However, by some protocol, the collection of fireflies synchronizes themselves so that they all flash in unison. Here's the protocol:
  1. Each firefly has a "charge" that builds up at a regular rate.
  2. When that charge exceeds some threshold, the firefly flashes and its charge is reset to zero.
  3. When a firefly observes the flash from another firefly, it gets a little increment of charge.
Rule #3, I am told, will lead to synchronization of the group.

You can imagine my implementation. Each firefly is an object. It sets an alarm to go off in the future, at the time it's supposed to fire. When it does fire, it sends a message to all of the other fireflies. When a firefly receives such a message, it resets its firing alarm to go off just a little bit earlier.

Unfortunately, it turns out that Javascript in Safari on this G4 machine is just too slow for this to work except for the smallest collection of fireflies (less than 100). This all seems kind of sad, because a 1.5 GHz PPC provides an outrageous amount of computing power. I hear that Google Chrome actually has a just-in-time compiler that might make Javascript useable, but alas it is not yet available for this architecture.

Anyway, I will let you critique my Javascript since I am a complete N00B at it.

code )

Frankly, I'm still a little bit confused about what the JavaScript new operator does. Copy obj.prototype into a new object?
Link4 comments|Leave a comment

life in javascript [Dec. 19th, 2009|01:37 am]
[Tags|]

My little project for this evening was to implement Conway's game of Life in Javascript, using the <canvas> element to display the life universe. Basically this is just a "Hello, World" so that I can learn this newfangled JavaScript thing (these days I only program in Matlab).

http://www.phys.lsu.edu/~tfricke/notebook/2009/12/19/life.html

It's implemented in the naïvest possible way. The 2d grid is stored as an Array of Arrays of booleans. It's kind of slow. The canvas element makes Javascript seem like a good way to rapidly make little visualizations.

Does the fact that all computers now ship with a Javascript interpreter make it the BASIC of the 21st century?
Link8 comments|Leave a comment

conferences [Dec. 18th, 2009|05:52 pm]
[Tags|]

Maybe I'm just attending the wrong conferences. What have been the most interesting conferences that you've attended? What has made them good?

The best conferences I've attended have been one-offs, or at least one-offs for me. They seem to be boring the second time around.

I enjoy being an outsider. The learning curve is steeper.

The best talks are usually short ones, status updates by people doing stuff. "Works in progress".

I like coming away from a talk feeling like I understand something new. Isn't that the point of listening to talks? It seems kind of rare. Best is when I come away with a new theory, language, model, or other sort of toy that I can immediately begin playing with on my own.

I enjoy conferences where I run into people I know, or get to know new people.

I'd really like to attend a conference where the talks are tutorials of all sorts of miscellaneous subjects from all of science.

I'd like to go to a conference where people at the conference are working together to accomplish some interesting task over the course of the conference that leads to collaboration and discovery.
Link3 comments|Leave a comment

feedforward and feedback for conference talks [Dec. 18th, 2009|05:39 pm]
[Tags|]

Too often conference talks are boring. Often this is because they miss the most appropriate level or angle for the target audience. Rarely do conference speakers receive effective feedback about their talks. At most conferences I attend, everyone has a laptop computer. I propose that conferences adopt a cool web interface to provide feed-forward to speakers before the event and feedback afterwards.

1. Before the conference, the agenda will be available, including a list of participants, the topics they intend to speak about, and the topics they want to hear about. At some point, speakers will refine their topic into a specific abstract. Based on comments posted by other participants, the speaker will have an idea of how technical (etc) their talk should be.

2. During/after the conference, listeners can use the web interface to give constructive feedback about talks, and discuss the subject matter.

I guess this is what "unconferences" try to do, almost always using a Wiki. I've never seen it actually work, so maybe it's not such a good idea. Maybe the use of computers to mediate the process is antithetical to the intended result (socialization).
Link2 comments|Leave a comment

black hat cloud computing [Dec. 7th, 2009|06:52 pm]
[Tags|]

>>WPA-PSK networks are vulnerable to dictionary attacks, but running a respectable-sized dictionary over a WPA network handshake can take days or weeks. WPA Cracker gives you access to a 400CPU cluster that will run your network capture against a 135 million word dictionary created specifically for WPA passwords. While this job would take over 5 days on a contemporary dual-core PC, on our cluster it takes an average of 20 minutes, for only $17.<<

http://www.wpacracker.com/
Link1 comment|Leave a comment

effective unix habits? [Dec. 7th, 2009|03:10 pm]
1. How do you organize your files (i.e. home directory, etc)?

2. How do you organize your work across multiple computers?

3. When do you decide something has outlived its useful lifespan and actually delete the old cruft?

I'm looking to change things up a little bit. I used to commit everything to a central CVS, but I got out of the habit of doing that for every single file, and then the machine running the CVS went away. I have a directory called "notebook" where there is a chronological hierarchy of subdirectories, like notebook/2009/12/06 where I keep that day's scratch work (small single-use programs, data files, notes, etc). I like this, but it's hard to separate work stuff from fun stuff. I put bigger things in subdirectories of a projects/ directory, i.e. projects/thesis. What do you do?

These questions are spurred in part because I am now spreading my usage across three computers: two linux laptops which are no longer mobile (one at work and one at home), and a borrowed G4 mac laptop for portability. I've reverted to sshing into a machine on which I have a shell account and doing my work there.
Link13 comments|Leave a comment

artificial firefly [Nov. 25th, 2009|01:39 am]
I would like to build a tiny circuit to implement an 'artificial firefly'. It will simply flash a bright green LED periodically, and have some means of detecting such flashes from other fireflies, and synchronizing their flashes so that all the fireflies in an area will flash together.

What is the smallest circuit that could implement this? A tiny little all-analog phase-lock loop would be great. I imagine the pulses of light would actually be modulated at several kHz in order to distinguish the firefly flashes from ambient light (or perhaps that wouldn't be necessary?).

Extra credit if the electronic fireflies can successfully mingle with 'analog' fireflies in the wild.

I imagine a similar device placed on bikes, e.g. in a critical mass ride. When the mass gets together, some emergent behavior arises.
Link2 comments|Leave a comment

the magic of wings [Nov. 5th, 2009|09:03 pm]
[Tags|]

It is kind of counterintuitive that an airplane (a 737-800, say) weighing 100,000 pounds can be held aloft by engines with a total of 10,000 pounds of thrust.
Link1 comment|Leave a comment

airport nerdery [Nov. 5th, 2009|08:49 pm]
On the Continental airlines flight status page, it tells you not only when a flight is expected to depart/arrive, but it also has a button labeled "Where is this aircraft coming from?" By clicking this repeatedly, you can see the route taken by a particular airplane. For example:

Boeing 737-800 aircraft #501

Flight 1016: RSW (Ft Myers, Florida) to CLE (Cleveland, Ohio)
Flight 189: CLE to PHX
Flight 363: PHX to CLE
Flight 515: CLE to LAX
Flight 1403: LAX to EWR (Newark, New Jersey)
Flight 41: EWR to SFO (San Francisco)

I clicked many more times and never got back to San Francisco.
Link3 comments|Leave a comment

(no subject) [Nov. 5th, 2009|11:46 am]
An interesting anagram of "BANACH TARSKI" is "BANACH TARSKI BANACH TARSKI".
Link3 comments|Leave a comment

cos[x]^n = sum over cos[k x] [Nov. 4th, 2009|05:19 pm]
[Tags|]

I want to write cos[x]^n as a sum of cos[kx] for integers k, i.e:

cos[x]^5 = (5/8)cos[x] + (5/16)cos[3x] + (1/16)cos[5x]

I'd like a nice closed form expression for those coefficients. It's easy to do, because you can just write

cos[x]^N = ((1/2)(exp(ix) + exp(-ix)))^N

and then apply the binomial theorem.

You get:

Cos[x]^n == 2^(1-n) (Sum[Binomial[n, k] cos[(n - 2 k) x], {k, 0, Floor[n/2]}] - If[Mod[n, 2] == 0, (1/2) Binomial[n, n/2], 0]

where the funny "If[Mod[n, 2] == 0, (1/2) Binomial[n, n/2], 0]" part corrects for double-counting the exp[0] term when n is even.

Anyone have a nicer way to write it?
LinkLeave a comment

matlab programming contest [Nov. 4th, 2009|02:58 pm]
[Tags|, ]

The 20th MATLAB Online Programming Contest is currently underway.
Link1 comment|Leave a comment

HD radio is proprietary [Nov. 3rd, 2009|02:50 pm]
You've probably heard about "HD radio"--the new digital radio technology rapidly being implemented in the United States--but probably don't know much about it. I offer two points:

1. It doesn't stand for "high definition". They want to fool you into thinking this, I think. Originally the HD stood for "hybrid digital" but now it officially doesn't stand for anything. The audio quality is not necessarily better than analog (FM) radio.

2. It's proprietary! Despite being the only approved digital radio technology for use on the FM band in the United States, the codec is protected by trade secret.

Point #2 makes me angry.
Link9 comments|Leave a comment

darpa balloon challenge [Nov. 3rd, 2009|12:01 pm]

To mark the 40th anniversary of the Internet, DARPA has announced the DARPA Network Challenge, a competition that will explore the roles the Internet and social networking play in the timely communication, wide-area team-building, and urgent mobilization required to solve broad-scope, time-critical problems.

The challenge is to locate ten moored red weather balloons located at ten fixed locations in the continental United States. Balloons will be in readily accessible locations, visible from nearby roadways and accompanied by DARPA representatives. All balloons are scheduled to go on display at all locations at 10:00AM (ET) until approximately 4:00 PM (local time) on Saturday, December 5, 2009.

A single $40,000 cash prize will be awarded to the first participant to submit the correct latitude and longitude of all ten weather balloons within the contest period. Entries are accepted until noon, 12:00 PM (ET) December 14, 2009. No prize for second place will be awarded.

http://networkchallenge.darpa.mil/
LinkLeave a comment

visual complexity [Oct. 25th, 2009|02:57 am]
a gallery of data visualizations of all sorts:

http://www.visualcomplexity.com/vc/
LinkLeave a comment

Renegade BBS in Ubuntu LINUX (Telnet|Multi-Node) [Oct. 11th, 2009|07:52 pm]
[Tags|, , ]

This guy is clearly after my own heart:

http://geek.phatus.com/2009/08/renegade-bbs-in-ubuntu-linux-telnetmulti-node/

A while ago I began thinking back about the the good old days when a dial-up BBS was the only thing even remotely resembling a basic website. Back when kids would unplug their parents phones over night and run their underground boards participating in a brilliant scene of hackers and phreakers that was decades ahead of its time. Since most young hackers typically had little to no money, the free and legendary Renegade BBS always seemed to be at the heart of this scene. Dispensing tens, perhaps even hundreds of megabytes of underground information and warez to all who would dial-in and participate in her communities. Now days I pretty much only use Windows for games and recording so I wanted to find a way to run a multi-node Renegade BBS under my Ubuntu system that you could telnet to. Below is a tutorial explaining how to accomplish this.
Link5 comments|Leave a comment

adaptive fitting [Oct. 6th, 2009|01:11 am]
In experimental physics, it is very common to measure many data points and then fit a model to the data. For example, I recently measured the spot size of a laser beam at several locations along the beam. Then, using a nonlinear least-squares fitter, I found the parameters of a gaussian beam best matching the data.

I would like to have a more interactive process, one in which, given the measurements made so far, an algorithm tells me what measurement to make next to produce the greatest improvement in the determination of the model.

It seems this ought to be a very routine process.

One idea: Given the model-so-far, produce a monte-carlo ensemble of possible experimental outcomes over all possible experiments. Find the experiment which has the highest variance in possible outcomes--perform this experiment to further refine the model. This idea has some obvious failures: i.e. it will suggest you perform experiments totally unrelated to the model.
LinkLeave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]

Advertisement