Saturday, November 8, 2008

Open Letter to the Obama-Biden Administration

To Whom it May Concern,

In many ways am excited by the ramifications of and possibilities inherent in an Obama-Biden Administration, but I understand that you are busy and will get directly to the point.

There have been many worrying precedents set by the Bush Administration.  Perhaps most worrying to me are that administration's use of singing statements.  Some of them seem to be nearly contemptuous of the legislative branch and it's role in our government.

Historically, it seems difficult for a new administration to relinquish powers gained by a previous one.  So, it is of interest to me what philosophy the Obama-Biden White House will have on the Unitary Executive theory and signing statements in particular.

I appreciate your time, and I am excited about the change that this administration is poised to bring to America and the world.

Sincerely,

Brian Rowe

I sent that to the Obama-Biden administration using the website they have set up at change.gov.  When I get a response I will post it here.

Monday, October 13, 2008

Wanna Know About the Credit Crunch?

Friday, October 3, 2008

Election '08: Sara Palin!? My Decision is Made



Democrats almost never have a great sound-bite, but here the McCain-Palin ticket has served one up. Palin cannot complete a thought.  We just had eight years of incompetence in George W. Bush.  The mere risk of this woman inheriting the Oval Office is enough to swing my vote to Obama-Biden. 

When Bush ran for the Presidency in 2000 his simple speech and "folksy" behavior was charming.  We were sick of suave Washington politicians who could smile and dazzle (or baffle) us with their cunning tongue.  So we leaped  for what seemed to be a straight-talking down to earth candidate.  I am concerned that many people will make a similar choice with regard to Sarah Palin. 

Fast-forward eight years from Bush's first campaign.  The United States has been grievously damaged by misstep after misstep, as we all know.  I am not trying to tie McCain to Bush's legacy.  In fact, I believe that is a cheap political trick and is condescending to the American people, but McCain is not a young man.  I don't know the actuarial tables, but I think there is something near a one in three chance that he does not live through his first term.  In that terrible circumstance Sarah Palin would be our President.  That is a wholly terrifying thought.

Please, take some time to read up on Sarah Palin. 

Wednesday, September 24, 2008

Wow

This looks really amazing.  Imagine form input taken directly from your web camera...  That would be one of those simple innovations that changes many things.

Monday, April 21, 2008

Sorry about lack of posts

I have meant to continue blogging about epistemology and its relation to statistics and extremisan, but deadlines are fast approaching. Bear with me, and I'll soon begin posting again.

Wednesday, April 16, 2008

Green Washing?

I got this email today from HSBC:

Dear BRIAN ROWE,

Small changes can make a big impact. That's why HSBC has partnered with The Arbor Day Foundation to help the environment.

Now, when you switch to environmentally-friendly eStatements, HSBC will plant a tree with The Arbor Day Foundation.


On the surface, that sounds really good, and it is. I will take them up on their offer. Yet, I'm annoyed.

If HSBC wanted to make an impact on environmental issues, they would just do it (sorry Nike). I expect that if a large enough number of their customers switch to eStatements, then HSBC will actually make money on this deal. Thus their tree-planting scheme is simply marketing. This is all just cynical assumption on my part, but just because it's cynical doesn't mean it's wrong.

HSBC, be a leader, and give The Arbor Day Foundation the windfall from this switch to eStatements.

Sunday, April 13, 2008

PAINful threats and the Climate Crisis

I have a friend who is fairly eloquent in claiming that we should not worry too much about the Climate Crisis. I hope he sees this:


Shell History Meme

There's a meme going around in the Ubuntu community. It seems that listing one's shell history is currently all the rage:
brian@gandalf:~$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
172 java
105 git
58 cd
50 ls
18 ssh
18 ipod-touch-mount
15 sudo
11 ipod-touch-umount
7 exit
5 nspluginwrapper
Curse you, AI class requiring the use of Java!!


Oh, yeah and I just got myself a new iPod Touch...

Thursday, April 10, 2008

So What Is Extremistan

Nassim Taleb's Extremistan is an interesting "place." It is a place dominated by power-laws, the "long tail" if you will. In these systems the vast majority of events are small and inconsequential, yet from time to, exceedingly rare, time, a massive event can occur which outweighs everything which occurred before. That is to say, this sort of system does not obey the Law of Large Numbers.

For example, consider human height verses human income. Human height is a system whose values (or events as I referred to them above) fall along the well known Gaussian distribution (or bell curve). This means that the average height of a random sample of humans is stable. If you measure the height of 10,000 people and then include the tallest person in the world the average will not change in any meaningful way.

We cannot repeat this experiment with incomes. Bill Gates' income utterly dwarfs the average person's income. The average income of the 10,000 people would not reflect the average income of the same set of people plus Bill Gates.

This has major consequences for prediction--induction, to be more precise. Inductive reasoning holds that if we observe an experiment return a certain result many times, then we are justified in expecting that it will continue to achieve that same result in the future. I will have more to say about induction, or Hume's Problem, in the future.

My next post will be a bit more technical. I'm going to drill into what I meant by: "the average will not change in any meaningful way." We'll see that there's circular reasoning going on at the heart of statistics, and that it is inescapable.

Saturday, April 5, 2008

An Elegant Shuffle Redux

Gary King has posted his reaction to Leslie's shuffle algorithm. As always, his comments are very relevant.

I feel remiss for not posting a copy of Leslie's code here, so here it is:

(defun seqrnd (seq)
"Randomize the elements of a sequence. Destructive on SEQ."
(sort seq #'< :key (lambda (x) (random 1.0))))
How elegant!

An Elegant Shuffle

Leslie Polzer just posted a very elegant bit of code to shuffle a sequence. It made me as happy as an elegant proof can, so I felt like sharing it with you.

Friday, April 4, 2008

Science Journalism is Misleading at Best

So, I just read this article. It's a typically blurry piece of science journalism sadly.

Michael McGuigan thinks that computers will soon be able to pass the "Graphical Turing Test." The article makes him out as being of the opinion that real-time rendering is the main obstacle to passing the "Turing Test". In fairness to him, I doubt very much that that's what he thinks. Other scientists are quoted as saying things like this:

But others think that passing the Graphics Turing Test requires more than photorealistic graphics moving in real-time. Reality is not 'skin deep' says Paul Richmond at the University of Sheffield, UK. An artificial object can appear real, but unless it moves in a realistic way the eye won't be fooled. "The real challenge is providing a real-time simulation that includes realistic simulated behaviour," he says.

Which I'm sure no one doubts.

Imagine a virtual world where the user is playing a game of pool. This would be much easier to do realistically than a world where interacting with a virtual human (or indeed even a dog or cat, for example) was possible. In order for the user to not realize that she's in a virtual world, that character would have to behave naturally, of course. Thus, we're back to the "Turing Test."

So, I don't know if this author is conflating "Graphical Turing Test" with "Turing Test" or what's going on. The only thing of interest that this article says is this:
"You never know for sure until you can actually do it," he says. "But a back-of-the-envelope calculation would suggest it should be possible in the next few years, once supercomputers enter the petaflop range – that's 1000 teraflops."
That's McGuigan talking about being able to pass the "Graphical Turing Test." So, a nice VR is coming soon. Not a machine capable of passing the "Turing Test."

This is a sort of sensationalist journalism. It's just aimed at a geek audience. Sensationalist journalism is sensationalist at best, and dangerous at worst. Please read Manufacturing Consent if you haven't already.


Note: I was an intern at BNL during the summer of 2003. Michael McGuigan was my mentor while I was there.

My Favorite Firefox Bug

https://bugzilla.mozilla.org/show_bug.cgi?id=347226

Just to pique your interest, here's a quote from one of the bug comments:

Alex Polvi 2006-08-11 00:18:01 PDT
Something weird just happened... I fell asleep in Manhattan and woke up in the
Willamette Valley of Oregon. I can't explain it, but I think something is about
to happen.
Enjoy! :-)

Saturday, March 29, 2008

Your Vote Matters

This being a presidential election year, I wanted to point out that your vote matters. Consider the following:

Friday, March 28, 2008

The World, It's a Changin'

So, my friend just alerted me to this:



That's an amazing microcosm of how the world is changing: virtual economies, user-generated content, the resurgence of vaudeville (online), mashups


All very good things, IMHO.

Why C++ is bad

Eric Naggum made a good post on his beliefs about why C++ is a bad language. It's relatively inflammatory in tone, but the points are great.

  C++ is philosophically and cognitively unsound as it forces a violation
of all known epistemological processes on the programmer. as a language,
it requires you to specify in great detail what you do not know in order
to obtain the experience necessary to learn it. C++ has taken premature
optimization to the level of divine edict since it _cannot_ be vague in
the way the state of the system necessarily is.
also:

in other words, a C++ programmer is _required_ by language design to express 
certainty where there _cannot_ be any.
I agree with this. C++ forces the programmer to "cut up the world" into kinds (natural) before she has enough knowledge about the system in question to do so. Naggum's observation that this unjustified categorization is then forced by the language to be blended with justified categories is interesting. Epistemologically, this eliminates all justification whatsoever. Relegating solutions in the language that seem so strong and well specified to nothing more than guesswork. How do you know what needs done, if you don't know what you're operating on?

In order to gain the necessary knowledge, we have to run experiments. In testing the vague ideas directly, the programmer can ferret out unwarranted assumptions early. Much like scrolling in a google map which is zoomed all the way out. In the C++ world, the programmer does not have the option to zoom out. Essentially, C++ makes the solution-space of a problem much, much, larger.

Wednesday, March 26, 2008

It might be time to leave Florida soon...

A region of ice in Antarctica is breaking up. It's area is 570 square kilometers, which in the grand scheme of things is not large. The problem is that the loss of this ice creates a threat to the Wilkins ice shelf. This ice shelf is 3250 square kilometers, and if it goes sea level could rise by 5 to 10 meters.

From the article:
As of the 2001 IPCC report, scientists believed that the West Antarctic Ice Sheet was unlikely to collapse in the next 1000 years.

Saturday, March 22, 2008

The Black Swan

I'm currently reading a book called The Black Swan, by Nassin Nicholas Taleb. I'm reading it for a few reasons. Taleb has some very interesting things to say about induction; it can be a dangerously misleading form of reasoning in certain domains. This is fascinating, because one of the popular epistemological theories today, Bayesianism, is is entirely dependent upon the notion of induction. Another reason that this is interesting is that all science (aside from mathematics, if it is a science at all) rests upon the assumption that inductive reasoning is sound.

The reason why I'm reading this book now, in the middle of the semester, is because I have an epistemology term paper to write. I would have read it in any case, since this is a subject that has fascinated me for years. Any of my close friends will tell you that I have a pet lunacy/theory about what I like to call "Introspective Systems." In a nutshell, that it is impossible to predict their behavior. I have been unsuccessful in making this concrete, and that's why I'm now attending RPI. The systems that exist in what Taleb calls "Extremistan" are all instances of what I would call "Introspective Systems." Interestingly, Taleb claims that induction is dangerous in "Extremistan."

So, if you are interested, keep a feed reader tuned here. As I dig into my term paper, I will be posting some of my work--a sort of open serialized rough draft.

NOTE: The induction that I refer to above is not mathematical induction. Mathematical induction (both strong and weak) is a deductively sound method of reasoning. It does entail its results.

Thursday, March 20, 2008

Funny!

So, I just heard this:

Bob: Punani

Alice: Why do you say that?

Bob: Because I just looked at your Noni.

I may or may not have been a part of that conversation ;-), but is was about Noni juice, nothing else...

Wednesday, March 19, 2008

Object Orientation

Why is Object Orientation a buzz word?

I had an interview today, and I was asked to explain my technical background. I zipped through and talked about my experience. I talked about my work on web sites, Mozilla and especially XPCOM, but I never once said "object oriented," or "polymorphic," or "encapsulation," or "inheritance." But these things should go without mention... especially when the candidate has spoken of XPCOM.

So, later the interviewer mentioned object orientation in a manner which hinted that he had been expecting to hear those words. I was thinking something like: "christ, if mentioning any variety of COM doesn't count as 'object oriented,' then I don't know what does." Mentioning COM is like mentioning Java. The very next thought that should be triggered in the listener's head should be "Gah!! Too much OOP!" or, alternatively, "Gah!! The wrong way to do OOP!"

That said, I think the interview went well. Much more went on than just our discussion, or lack thereof, object orientation. Such as discussing PHP, MySQL and various web programming techniques.

Another thing mentioned in passing: Agile development. They brought it up as if it were supposed to perk my ears up and cause salivation, much like the Pavlovian bell. While agile is better than some methodologies, I'm sure, methodology is methodology. Methodology is an "ology" like theology, not biology. The former sort of "ologies" are more likely to cause dogmatic thinking than insightful thinking. For crying out loud, agile has a manifesto! That does not bode well. Of course, I've never been on an agile team, so take my words with a grain^H^H^H^H^H few pounds of salt. Check out this for more.


P.S. - Agile's Manifesto does say a lot of nice things. Too bad many movements which start out on the right path get corrupted.

Sunday, March 16, 2008

An Idea Worth Spreading

Neuroanatomist Jill Bolte Taylor shares her experience of having a stroke:

And in that moment my right arm went totally paralyzed by my side. And I realized, "Oh my gosh! I'm having a stroke! I'm having a stroke!" And the next thing my brain says to me is, "Wow! This is so cool. This is so cool. How many brain scientists have the opportunity to study their own brain from the inside out?"


Thursday, March 13, 2008

libnotify is evil

While I can understood the logic behind libnotify and its various cousins, I'll never know why would anyone want their computer to jump up and irritate them for reasons as unimportant as the availability of a software update. And now this nonsense is coming to an emacsen near you. Of course this isn't in the official emacs distribution, but still... I feel the sanctity of emacs has been violated (tongue firmly in cheek hah!).

I won't pretend to know the first thing about HCI. I guess it's reasonable to destroy the user's concentration with a pop-up if the laptop is about to run out of power, but most things (like software updates) could make due with an interface which functions more like email. Let there be an inbox which accumulates new messages which I can check at my leisure.

Machines should not jump up and down and yell and scream at their users at the drop of a hat.

Wednesday, March 12, 2008

An Emacs Lisp Heap

For those who are interested in trivial snippets of code written in relatively obscure languages, here's a heap written in emacs lisp.


Enjoy!

Wednesday, March 5, 2008

Holy Monkeys!

Mozilla is one amazing project:

Dehydra:
* look at what Benjamin Smedberg has to say about it
* Just want to point out that this is another instantiation of "code is data"
* This is only be within the realm of possibility because GCC is open... open source is good

Ok, I'll get off my soap box.

Data is Code

I was just reading a post by David Humphrey. In it he speaks about a visit Mike Shaver (of Mozilla fame) paid his class. Here's an interesting excerpt:
I also enjoyed one off-hand comment he made in response to a question about design patterns in the code. “Increasingly,” he said, “the patterns in Mozilla borrow more and more from the web itself.” I’ve been reflecting on this same point a lot lately, namely, that unlike most applications that tightly house data within structured silos, Mozilla invites its data to cross the application boundary and become part of its inner-being. The web isn’t something that Mozilla renders. Mozilla is a part of the web itself.
It's very interesting seeing the "data is code; code is data" meme spreading around the net. Even if it's spread is slow.

If you want to learn on a more about this concept, let me suggest this lisp tutorial, this classic, and of course this.

Monday, February 18, 2008

A quick sketch of a spell checker

I was just poking around in some dusty corners of my hard drive, and I found this little gem. It's part of a writeup for a lab I had to do last semester in Data Structures and Algorithms. Haha, we had 2 hours to implement this in C++... yuck
Norvig's spelling checker makes use of two probability models. The first model describes how likely a particular word is in a given language. For example, in English, "the" is more likely than"theraputic." The other model describes how likely a given mistake is when typing some word (ie. "tha" is more likely than "thm" when trying to type "the").

So the first step in implementing this is to build up a hash table k which maps correctly spelled words to their probability. This is our language model. Next we need to generate the error model. We do this by finding the set of all correctly spelled words which are one or two "edits" away from the word w that we are given to check. If w is in k, then we're done. Otherwise, if the set of words one edit away from w is not empty, take the one with the highest probability. If that set is empty, check the set of words two edits away, and again return the word with highest probability. Finally, if all else fails, return w.
Wow, that was fun. (Note: sarchasm) If we weren't forced to do this in C++ it really would have been fun... I love lisp.

Judge orders DNS records of wikileaks.org removed

Recently a story was published on wikileaks.org detailing money laundering schemes and other devious banking practices at the Cayman Island branch of Julius Baer, a Swiss bank. There are reports DDoS attacks and fires at the wikileaks co-location hosting provider, and perhaps more seriously a California judge, named Jeffery White, has ordered the wikileak DNS entry taken offline.

According to the law department at UC Berkely, Judge White was appointed by President Bush to the federal bench in 2002. Here are details from uscourts.gov.

Here is a list of alternate DNS names which, reportedly, can reach wikilinks. Please go read this post before following the https links. Make sure you read the bottom few paragraphs (they appear after the url list)

http://wikileaks.la/
https://secure.wikileaks.la/



http://home.e.co.za/

https://secure.home.e.co.za/



http://joburg.e.co.za/

https://secure.joburg.e.co.za/



http://new.alain.co.za/

https://secure.new.alain.co.za/



http://wikileaks.be/

https://secure.wikileaks.be/



http://stockholm.divx.se/

https://secure.stockholm.divx.se/



http://jwdc.org/

https://secure.jwdc.org/



http://ljsf.org/

https://secure.ljsf.org/



http://freedomsbell.org/

https://secure.freedomsbell.org/




http://freedomspen.org/

https://secure.freedomspen.org/



http://libertypen.org/

https://secure.libertypen.org/



http://sunshinepress.org/

https://secure.sunshinepress.org/



http://new.1.vg/

https://secure.new.1.vg/



http://zurich.base-v.ch/

https://secure.zurich.base-v.ch/



http://bratislava.iypt.sk/

https://secure.bratislava.iypt.sk/



http://new.iypt.sk/

https://secure.new.iypt.sk/



http://wikileaks.org.uk/

https://secure.wikileaks.org.uk/



http://new.ilex.cl/

https://secure.new.ilex.cl/



http://wikileaks.tl/

https://secure.wikileaks.tl/



http://freedomsbell.com/

https://secure.freedomsbell.com/



http://wikileaks.in/

https://secure.wikileaks.in/



http://bucharest.roxi.ro/

https://secure.bucharest.roxi.ro/



http://wikileaks.es/

https://secure.wikileaks.es/



http://wikileaks.ws/

https://secure.wikileaks.ws/



http://riga.ax.lt/

https://secure.riga.ax.lt/



http://special.k.vu/

https://secure.special.k.vu/



http://wikileaks.cx/

https://secure.wikileaks.cx/



http://new.it.cx/

https://secure.new.it.cx

I love Paul Graham

Paul Graham has made yet another quotable quote:
Graffiti happens at the intersection of ambition and incompetence:
people want to make their mark on the world, but have no other way
to do it than literally making a mark on the world.
That is from his essay on trolls.

I didn't find that essay as interesting as his average essay, but I did like his discussion of the Six Principles for Making New Things.

Tuesday, February 12, 2008

Common Lisp Tutorial

Oh, by the way, if you happen to be looking for a great Common Lisp tutorial, Practical Common Lisp is the best you can get.

Hey there!

Yeah, so I've had a couple of blogs before. They both stalled and died. I'm going to try to keep this one alive. So that means it's going to be a mix of random links that I wish to share with the world, but I'm going to try to make some longer posts that actually have a bit of content. "Try" being the operative word there.

So, I come across many interesting web articles/posts/stories what-have-you. Usually I spam my friends with the links to these interesting tid bits, but I think I should post them here an let my friends (and you) choose when and what to see.

Hopefully you enjoy!