Tag Archive for 'technology'

Why I like Obama better than Clinton

I rarely feel strong support for one Democratic candidate over another in the primaries. Heck, I can usually barely get myself to vote for the Democrat in the general election. So what makes me feel so strongly about Obama? Well, there are 3 main reasons:

His stance against the war

Obama was against the war before it began, has criticized the war since then, and is now running a campaign centered around ending the war. All the way through he has spoken the plain truth about it: (a) there was no compelling evidence that there were any weapons of mass destruction in Iraq (b) we should have been focusing our military efforts on quelling terrorist networks (c) we need to work on improving our reputation and relationships with other countries and cultures in order to not incite terrorism in the first place.

His meta-policies

Reading Obama and Clinton’s policies side-by-side, one will discover that they are pretty similar. I happen to think that Obama’s are presented much more clearly and intelligently on his website, and smack of greater sophistication and detail, but it is arguable that this has more to do with audience targeting than with the quality of the goals and final details of the policies themselves.

What really impresses me about Obama, and sets him apart from Clinton, are his “meta-policies”, if you will; his policies and goals about government.

Obama wants to make our government more transparent, more accessible, and more accountable. To this end he has done the following work while in the US Senate:

  • Introduced the Federal Funding Accountability and Transparency Act, which requires the full disclosure of all entities or organizations receiving federal funds beginning in fiscal year (FY) 2007 on a website maintained by the Office of Management and Budget (http://www.usaspending.gov/).
  • Put together, with Russ Feingold, the Honest Leadership and Open Government Act, which amends parts of the Lobbying Disclosure Act of 1995. It strengthens public disclosure requirements concerning lobbying activity and funding, places more restrictions on gifts for members of Congress and their staff, and provides for mandatory disclosure of earmarks in expenditure bills.
  • Introduced the Deceptive Practices and Voter Intimidation Prevention Act, a bill to criminalize deceptive practices in federal elections, including fraudulent flyers and automated phone calls, as witnessed in the 2006 midterm elections

(Not all have passed. Click through to see current status of each piece of legislation. Descriptions lifted from Wikipedia and slightly modified.)
Now, during his campaign, he has an incredibly impressive set of policies on using technology to improve government transparency and accessibility. I could give you an overview, or I could just direct you to Lawrence Lessig’s fantastic piece on why he supports Obama, which mostly addresses technology and transparency. In a nutshell: Obama wants to make government information and information as easy to access as your favorite blog. On top of that, he has the most sophisticated position on Net Neutrality. (quick definition of Net Neutrality: not allowing the phone/cable company to charge you more to access some websites vs. others, which is what they want to start doing.)

Previously mentioned here: this fantastic lecture Obama gave on  government accountability, transparency, and ethics.

His style of politics

Obama has run an extremely long and beautiful grassroots campaign. He has established an extremely impressive network of paid staffers in most (all?) states. He has engaged his supporters using accessible and innovative online tools. He has the best website, by far.

He has not accepted any lobbyist contributions. (see extensive discussion of this topic here).

He has been able to spool up and sustain an enormous, million-dollar-a-day, grassroots fundraising machine.

Only 10 percent of Clinton contributors did not donate the legal maximum $2,300 for her primary campaign. In contrast, only three percent of Obama donors gave the maximum. The rest of the cash came from small sums from many more people. (source)

He has completely refrained from what, to my understanding, most people would call “negative” campaigning / mud slinging. As of a couple weeks ago, the Clinton campaign can’t say the same…

That’s why Obama is such a different candidate to me. I’d love to hear what folks out there think about the differences (or lack thereof) between the two candidates, if I am buying into hype, or if I am missing some important points.

Barack Obama’s technology platform

One of the areas where Obama impresses me is his technology platform. Not only is he hip on net neutrality and media consolidation, but he has a BIG emphasis on using technology to make the government more accessible and transperant. I was going to compare his platform to Clinton’s, but as far as I can tell she does not even have a page about technology policy.

Check out this list of people in technology I respect who also support Obama:

  • Peter Norvig, Director of Research, Google

    He is the most inspirational, he has the integrity to stand up for what is right and admit when he was wrong (a quality that Clinton seems to lack), and he is honest in answering questions where other candidates are political.

    Most importantly, Obama is willing and able to work with everyone, not just with his base. Clinton wants to reach out to republicans and others who disagree with her, but the level of animosity that many others have towards her may make it difficult for her to do so. McCain and Romney seem to be intent on playing towards their base, and have not shown how they will reach out. Obama has shown he can do it — he can be the president that brings the whole country together and leads us in a new direction.

  • Greg DeKoenigsberg, über geek, Fedora community leader, something or other in Red Hat communications, OLPC evangelist
  • Lawrence Lessig, intellectual property guru / free culture messiah

    … I believe in the policies. Clearly on the big issues — the war and corruption. Obama has made his career fighting both. But also on the issues closest to me. … Obama has committed himself to important and importantly balanced positions.

  • The XKCD guy, (makes this comic)

    Obama has shown a real commitment to open government. When putting together tech policy … others might have gone to industry lobbyists. Obama went to Lawrence Lessig, founder of Creative Commons … and longtime white knight in the struggle with a broken system over internet and copyright policy. Lessig was impressed by Obama’s commitment to open systems — for example, his support of machine-readable government information standards that allow citizens’ groups to monitor what our government is up to. Right now, the only group that can effectively police the government is the government itself, and as a result, it’s corrupt to the core…

    Obama stands against bad governing not only in his support of specific practices like open data standards and basic network neutrality, but in his work against corruption from day one. He’s sponsored legislation to restrict gifts to Congress by industry representatives (which also carried a whole slew of anti-corruption measures that were a breath of fresh air). He’s fought against vote fraud. He’s been pushing for election and lobbying reform from the start, and in his campaign he’s refused to take lobbyist money.

    Clinton has done nothing of the sort, and when questioned seems baffled that anyone would have a problem with what is, by any reasonable standard, bribery. I find her basic lack of integrity troubling, and I think as president she would continue fighting to maintain the status quo.

  • Tim Wu, intellectual property guru, coined the term “Net Neutrality”, professor at Columbia law school
  • Karl Fogel, software engineer, open source software community leader, copyright reformer

    Barack Obama is exactly what he seems: terrifically smart, well-intentioned, utterly free of the personal insecurities that drive far too much of the decision-making in the current administration, and eminently electable. He stands a much better chance of winning against McCain than any other Democratic candidate would have. The canard that he’s light on policy simply confuses a primary-season tactic for a general electoral strategy. There’s no point trying to out-wonk Hillary Clinton, but that doesn’t mean he hasn’t done his homework: when the time comes, it’s there in reserve.

  • Marc Andreessen, co-founder of Netscape, very successful entrepreneur/investor/visionary, down to earth and fun blogger

    Smart, normal, curious, not radical, and post-Boomer.If you were asking me to write a capsule description of what I would look for in the next President of the United States, that would be it.

    Having met him and then having watched him for the last 12 months run one of the best-executed and cleanest major presidential campaigns in recent memory, I have no doubt that Senator Obama has the judgment, bearing, intellect, and high ethical standards to be an outstanding president — completely aside from the movement that has formed around him, and in complete contradition to the silly assertions by both the Clinton and McCain campaigns that he’s somehow not ready.

PHP optimization tricks

Here’s an article I came accross with some interesting PHP optimization tricks. I found the last one, about faster array access, particularly interesting/surprising.

Mac OS Forge

This is SO great: Apple has gotten on the cluetrain and deployed Mac OS Forge, a source control and issue tracking system for various open-source Apple projects, including Darwin. This isn’t just a place to download sourcecode and a one-way bug entry system– this is a full-blown, vanilla deployment of Trac, sitting on top of an SVN server! This is such great news. I’m sure Apple will find that they only benefit from this degree of transperancy and interaction with developers.

And as an added treat, we can see that in addition to their two existing open source projects, darwin and webkit, they are opening up a few more projects– a calendering server, launchd, and bonjour. Nice!

At ibiblio I’m in charge of an svn/trac service that we are eventually going to open for business. Everything is set up and we could go forward with it today, but I am patiently waiting for Trac 0.10 to be released. It has a smattering of features that will be nice to have when managing several or dozens of projects, such as spam control, web administration, and most importantly, mysql instead of sqlite.

The open source development model works, or: why I need to RTFM

When upgrading from MySQL 4 to MySQL 5 on the machine on which the Lyceum blog, Lyceum demo installation, Lyceum wiki, and teachfor.us are hosted, I came across some serious problems. The MySQL daemon would quit unexpectedly, seemingly whenever a query from the demo installation was made, but not any other queries. We checked everything and hunted around the logs and couldn’t come up with anything, so I filed a bug with MySQL. The geekier of my readers may be interested in skimming through it.

The day after I filed the ticket, Heikki Tuuri, the creator and maintainer of InnoDB, was on the case. He and Valeriy Kravchuk let me know how I could provide them with as much information as possible for them to use to debug the problem. Eventually I ran a table optimize, and that fixed the problem. Also, over at ibiblio, we discovered that /var had been at 100% when I was doing an application upgrade (not the DB upgrade), so I figured that might be part of the problem as well; the index got currupted when being rebuilt.

In spite of my findings, at the end of the the thread, I was informed by Valeriy that because of the datatypes in my table, the only way to do a proper upgrade was to dump the table and then reload it after the upgrade, and she directed me to this document. I don’t know if other folks at ibiblio who were working on the upgrade had read this, but I know I hadn’t.

So I’m pleased with the responsiveness and community of the developers of MySQL, and I hang my head in shame for not having RTFM.

Lyceum article in Red Hat Magazine article

I was asked to write an article about Lyceum in Red Hat Magazine. Here it is!

Awesome.

Infinite Redirect

Apache 2 follies

I was trying to get a pretty simple Apache 2 virtual host configuration together and for some reason Apache refused to start up. I tested the configuration with httpd -St and everything was fine. I started httpd with full debug reporting on (-edebug) and got no error messages. But apache would silently fail to start.

My general expectation is that programs will give feedback at the terminal if they fail, so I didn’t think it was necessary to check Apache’s logs while debugging configuration problems. But I was out of ideas so I fired up a tail -f /var/log/httpd/error_log and tried again. Sure enough:

[Sat Apr 08 16:22:00 2006] [error] (2)No such file or directory: could not open transfer log file /www/hosts/www.domain.com/logs/access_log.
Unable to open logs!

The logs directory didn’t yet exist. I created it and Apache started up just fine. Without it, Apache refused to run!

At first this infuriated me. But then I thought: maybe this is the preferable behavior for server software. It’s one less variable to worry about — if my website is up, I know that its logs are working.

Systems folks: what do you think? Should daemons refuse to run if their logs aren’t working?

Independent of if it runs or not, I think that Apache should give feedback at the console (in addition to the logs) when it isn’t starting properly. If I had restarted my daemon and gone to lunch, I would never have known that there was a problem!

MySQL Index Types

The documentation for MySQL index types is hidden in the page on CREATE TABLE Syntax and isn’t as clear as it could be. Here’s an overview. (some of this is pretty obvious but I’m erring on the side of redundancy).

  • KEY and INDEX are synonyms and mean that the colum should be indexed, and do NOT require the column to be unique
  • UNIQUE is unique
  • PRIMARY KEY:
    • is an index
    • implies that all the columns are UNIQUE
    • all columns in the key must be defined as NOT NULL
    • a table can only have one PRIMARY KEY

Let me know if I’m missing anything.

How to use RPMs

Some info on using RPMs, from some questions I asked fellow ibiblian Jon Mills:

pardom my enduring systems ignorance — where does one get rpms? i know that projects distribute them themselves… were some or all of the ones you installed provided by red hat?

RPMS are voodoo. No, redhat provided none of the rpms you asked for. It’s difficult to find binary rpms for specific linuxes (except for really popular, non-proprietary ones, or unless the distro provides them). If you can’t find a binary rpm, what you do then is to try and find a source rpm, which always looks like <package-name>.src.rpm. Source rpms let you compile from source, but it compiles it into an rpm, rather than just splattering it all over your filesystem. You run this command:

$ sudo rpmbuild --rebuild --target=`arch` <package-name>.src.rpm

It will try to compile and roll the binary rpm for you. If it fails on a compile dependency, then you try to auto-install that dependency:

$ sudo up2date --install <dependency>

If that doesn’t work, then you do this whole process over, except with the aim of just installing the dependency. So you look for binary or source rpms for the dependency, get it installed, and then go back to where you were.

This usually works pretty well. The only time you run into trouble is when you’re trying to install something which supersedes a package which lies within a huge chain of dependencies, such that removing it or upgrading it breaks dozens of other packages. This is called dependency hell, or RPM HELL. Upgrading PHP is a good example, because it has hooks into apache, mysql, and a ton of libraries–you can never just upgrade PHP.

for something like subversion, where it has several binaries and also some apache modules– does the rpm intelligently find the apache install and put the modules somewhere appropriate? do rpms ever actually modify config files for you?

The intelligence is in the rpm spec file, which must be written for each specific distro. That’s how the rpm knows how to find things. If all the spec files are well-written, then everything knows where everything else lives, and all is well.

rpms can modify config files, using shell scripts that get executed after the install. The shell script would be included inside the rpm, and called from the spec file. A good example is that when you install a linux kernel using rpm, it adds an entry for that kernel in /etc/lilo.conf or /boot/grub.conf.




Close
Powered by ShareThis