Saturday, November 20, 2010

Websites....

I consider myself a pretty competent programmer. I can pick up a new language / programming environment in a day and hammer out a cool prototype within three or four days. So when I had an idea for a website, I jumped right in.

Let me start of at the end... the website works! It's in private beta right now and I hope to release it to all in a month.

But it's been a long hard slog; far more work than I imagined. The last website I built was circa 2001. It was really advanced for its time: simple javascript and flash animations! Now, in this Web 2.0 world, "simple" anything won't cut it. It's not just that javascript has changed and flash has been dropped. Today, the list of technologies to choose from to build a site is staggering.

But even if you don't want to learn everything, say you just want to learn enough to put something decent together; well you're still in for a steep learning curve. Here's the list of mandatory technologies I've had to either know or learn to jump into the Web 2.0 world:
  • Advanced Javascript - learning object oriented programming the javascript way is definitely something new. It isn't bad, there's a lot to like about javascript, just different.
  • HTML - Remember the days when tags like "center" and "table" were your friend? Forget it, you're just using div and span now.
  • CSS - I hate CSS. It isn't a programming language at all. It's fine for colors and sizes. But once you use it to do layout, your headaches will begin. It's an art more than a science and nothing feels deterministic:
    Do you use the "top" or "margin-top" attribute? Who knows, try both.
    Why do we have both inline and inline-block? Because we can.
    Unfortunately, CSS is the only thing out there that does what you want. You just have to swallow it.
  • python - Admittedly, I was already pretty well versed in python (i luv python). If you don't want python, you're going to have to learn PHP or one of the other web-programming languages.
And those are just the languages you'll need to learn. The fun really begins when you include all the libraries:
  • jQuery - Very cool, I must admit. But for the uninitiated, it's totally different from anything you've done before.
  • jQuery Plugins - There's a jQuery plugin for everything. Great. Unfortunately, its a new API you have to learn to do anything.
  • Django - The web-backend. Cool technology but pretty massive and you have to learn quite a bit of it to do anything. Oh, did I mention that to use Django you have to learn its own special html-markup language too? It can easily take a day of tutorials to get familiar with the system. I've been working with it for a month now and I've only started becoming comfortable.
  • Google App Engine - It isn't necessary to learn google app engine. But they're a ridiculously cheap web-hosting solution... actually, for most cases it's totally free. But they do things so totally different, that there is a nice learning curve. To start with, there is no file system. Enjoy.
And perhaps I forgot the biggest pain: compatibility between different browsers. Just when you think you put the final touches on your beautiful site, you check it out on a different browser and it looks like crap. I'm not a Microsoft-hater, but this experience has definitely left a sour taste in my mouth for IE and I haven't even tried the mobile browsers.

Moral of the story is that making a website is pretty complicated involving nearly a dozen technologies. But websites are the future (ahem, present) and it feels pretty gratifying being able to put a real-life site online.

More Employed U.S. Engineers!

I saw this article about China's new UAV drones, some of which are superior in some ways than America's. Most patriots probably have a knot in their stomach, concerned that China just beat us in one more thing.

Don't fret! Rejoice!

This is the beginning of a new arms race! No U.S. chief of staff will let some other country have something that flies faster, harder, or longer than our overly expensive aircraft. They're going to have to make something better. That in turn, means more big expensive projects and more employed engineers. Looking forward to it!

Friday, February 26, 2010

Bloom Energy Hype

There has been quite a bit of hub-ub about Bloom energy. Probably overly hyped. People have been making SOFC fuel cells for years. I don't know why he thinks he can make them so cheap.

If you want to see Blooms patents, everything is online:

http://tinyurl.com/BloomEnergyPatent

Monday, November 2, 2009

Posner off his Rocker

I usually enjoy reading the Posner-Becker blog for its great analysis of current events. But a recent post has really amazed me in its stupidity. The article is generally ok, but Posner makes two extremely ridiculous arguments.

First, Posner rants about how American's health care system is a result of "a large 'underclass' (corresponding to the residents of our inner cities) that is poor and has a very high murder rate and high infant mortality and a high incidence of AIDS and other diseases." As a federal judge, you would think that Posner would support his argument with some facts. As it turns out less than a quarter of the United State's poor live in cities. Most live in rural areas. Look a bit harder before blaming America's health problems on the urban areas.

Posner's next argument is that Europeans expect worse medical care than Americans because they are more "fatalistic." Posner has no idea what he is talking about and is totally speculating. Well I thought I would add my own counter-speculation... American's are far more religious than Europeans and are much more likely to accept their "fate" and refuse further medical procedures than Europeans. Because Europeans are less devout they are are more likely to do a rational analysis of their medical situation. Also, Europeans are on average more educated and are probably more informed of their medical options. Of course my facts (at least pertaining to the second paragraph) are just as unsubstantiated as Posners.

Saturday, September 19, 2009

Iqbal Strikes Orly Tatz!

Last May the Supreme Court of the United States issued its decision Ashcroft v. Iqbal. The case concerned Iqbal who was the unwitting victim of the post-9/11 round-up of suspected terrorists. Even though there was little evidence that Iqbal was a terrorist, the government used a variety harsh interrogation tactics on him and kept him in jail for many months. Iqbal sued the government and the case went to the supreme court. The court threw out Iqbal's case. What was special in this case is that they threw out the case at a very early stage of the litigation, at the pleading stage. Previously, it was very easy to get passed the pleading stage.

Now, the holding in Ashcroft v. Iqbal has now been used against Orly Tatz, who claimed that Barack Obama was not born in the United States and therefore is ineligible to be President. Citing Iqbal, the court said that "To state a claim upon which relief may be granted, Plaintiff must allege sufficient facts to state a claim to relief that is plausible on its face."

It will be interesting to see if this holds up on appeal.

Monday, March 30, 2009

Is the ABA biased or are republicans?

A recent newstory by the New York Times questions the ABA's neutrality on advising the president on the qualifiactions of federal judges. The story brings to light evidence that the ABA is more likely to favor judges nominated by democratic presidents than republican presidents. It then goes on to make the claim that the ABA favors liberal judges over conservative judges.

The New York Time's logic is flawed and they ommit several other considerations which may also account for the disparity. Below are several other reasons why the ABA may favor judges by democratic presidents rather than republican presidents.
  • Republicans are more likely to nominate right-wing judges than democrats are to pick left-wing judges
Republicans have been in power longer than democrats and they may feel that it may be easier to push more ideological candidates through Congress than democrats. Furthermore, there is something about the liberal-tone which is more concilatory. Democrats are therefore more likely to pick centrist judges than extreme ones.
  • Ideologically liberal judges are, on average, more qualified than ideologically conservative judges.
Law professors tend to be liberal. It is clear that they have a strong influence on their students. There are probably more liberal lawyers than conservative ones. Therefore there is probably a larger candidate pool to choose from for democratic judges, and thus better qualified judges.
  • The ideals of the ABA are better matched to liberals.
The ABA highly value equal protection and compassion, ideals that are much more associated with liberal values than conservative ones.

The New York Times article jumps over all of these other factors. The reporting reeks of bias.

Conficker Day is Coming

On April 1, 2009 the Conficker virus will activate and start unleashing its malware on the internet. The virus is already running on over ten million computers, silently awaiting orders. No one knows what those new orders will be, but it can potentially be devastating. Some have hypothesized that Conficker could launch a national cyber-attack or even take down the entire internet.

Up until today, Conficker has been undetectable by anti-malware software and it seems unlikely that a mainstream fix will be available before April 1st. The virus is incredibly powerful: it uses multiple attacks to infect a computer, a genious encryption system to protect itself, and a p2p network to spread its malicous code. Read more about this amazing worm here, and hope that on April 1st the internet keeps on running.