Liberals, Consider Ron Paul March 1, 2012 2:49 PM

I know some of you have already committed yourselves to Obama’s reelection efforts. If so, I respect your choice and you can probably skip this post.

For the rest of you, I’m asking that you register as Republican to support Ron Paul in the GOP primary and beyond. There are many legitimate concerns to be had about a Paul presidency—and I will address these concerns in depth—but his flaws are significantly outweighed by urgent humanitarian issues that only a Paul presidency would address.

It’s time to let go of the left-right paradigm. It’s even time to abandon the four-pronged Nolan Chart. We live in a time where the status quo is devolving into a bipartisan pro-war, corporatist, anti-free speech police state, and the only candidate who will turn it around is Ron Paul. If the likes of Nader or Kucinich were frontrunners in the 2012 primary, this blog post would be about them. Sadly, that’s not happening—but if liberals would reach across the aisle to embrace this iconoclastic libertarian’s surprisingly viable candidacy, iconoclastic progressives might have a chance in the future.

Ron Paul Is Different

Ron Paul is a conservative-leaning moderate libertarian. In areas of foreign policy he is a purist, opposed to any form of war aside from direct national defense. In areas of domestic policy he adheres to a states’ rights philosophy, which I see as a moderate’s approach. He’s narrowed his scope to fighting only federal excesses, leaving most decisions to the states as dictated by the Tenth Amendment. He’d be fine with California turning into a progressive utopia as long as Nevada could become a libertarian utopia: as one writer describes it, “Fifty experiments. May the best system get copied.”

But Paul’s political philosophy is nearly irrelevant. What matters today is his incorruptible nature and his consistent policies. Barney Frank has praised Ron Paul for being “one of the easiest people in Congress to work with, because he bases his positions on the merits of issues.” Former Alan Grayson advisor Matt Stoller expounded on this, saying that while most Congressional offices are mired in politics and procedure, Ron Paul ignores both in a singular dedication to principle. Dennis Kucinich has actually suggested that he would pick Ron Paul as a running mate, and says of Paul, “I know he cannot be bought, cannot be bossed around, keeps his own counsel and is a person of conscience.” Former House staffer and Bush strategist Terry Holt admitted that the GOP didn’t bother trying to bribe Ron Paul, explaining, “We knew he was going to stand on his own principles—that’s why people love him—and it wasn’t worth trying to make a deal with him because he already had his mind made up.”

Ron Paul is the only 2012 candidate, Republican or Democrat, who clearly doesn’t bow to corporate interests and isn’t afraid to stand alone in opposing the militarist establishment. I wouldn’t care if he were a socialist or an anarchist—the way he defends WikiLeaks in the wake of the diplomatic cables leak and suggests that Bradley Manning may be a hero, the way he defends Iran against a war-hungry bipartisan field, the way he consistently opposes bailouts, the Federal Reserve, the Patriot Act, the TSA, and the drug war—these stances, some of which would be considered political suicide by the status quo, make him the only candidate driven by principle rather than by Washington culture.

Paul vs. Obama

I voted for Obama in 2008, and when he was elected, I literally cried with happiness because I knew it was a landmark victory for America’s racial subconscious. I’m still pleased that we finally elected our first non-white president, and I would vote for Obama again if McCain were the only alternative.

Obama has made some great changes while in office. I’m grateful for the end of waterboarding and Don’t Ask, Don’t Tell. I’ve already benefitted personally from Obama’s healthcare act, and I’m impressed by Obama’s support for women in tech initiatives.

At a personal level, I certainly have nothing to complain about. However, having liberal values means I’m not just concerned with my own middle-upperclass existence, I’m concerned with the less fortunate both at home and abroad. It also means that I don’t care only about the reasonably comfortable present, I care about how current actions could lead to an oppressive future.

So for me, Obama’s many good deeds are overshadowed by policies which harm the lives and human rights of innocent people. Furthermore, Obama has continued Bush’s pattern of unlawful, overreaching actions that lay the groundwork for even more human rights violations in the future.

War

The most urgent humanitarian reason to choose Ron Paul over Obama is war policy. Despite the constitutional views Obama espoused in 2007, he has revealed himself to be a president who will disregard congressional vote and legal counsel in initiating an unconstitutional war. Obama has twice waived a congressional ban on military aid to countries utilizing child soldiers, continued the mass killing of civilians in multiple countries, caused twice as many US troop casualties as did Bush, and enormously expanded a highly secretive drone war said to be killing 10-15 civilians for every one potential militant—according to Pakistani sources, it’s actually killing fifty innocents for every one militant. Most outrageously, at least fifteen drones strikes under Obama were followed by additional drone strikes specifically targeting rescuers arriving at the scene, and more attacks have been found to have targeted the funerals of drone victims.

Obama has been ramping up threats against China and Iran while sending troops into Central Africa. It’s a foreign policy which Dick Cheney and former defense secretaries Donald Rumsfeld and Robert Gates have praised as being just like Bush’s. It’s a foreign policy which, according to polling firm Zogby, has caused U.S. favorable ratings in Arab countries to plummet since Obama’s election, and in most countries they are now lower than they were at the end of the Bush Administration.

Considering that Obama had wanted to keep 10,000 troops in Iraq through 2012, his one victory for peace—finally ending the Iraq war 2.5 years later than promised—was not motivated by any sort of commitment to peace. Rather, it was forced by a Bush agreement with the Iraqi government and the latter’s insistence on withdrawal, perhaps stoked by a particularly disturbing WikiLeaks story detailing the murder of 10 Iraqi citizens.

If you condemned Bush for his war policy, you must also condemn Obama’s war policy. Not only is Obama’s aggressive policy killing countless innocents, the killings are radicalizing the citizenry and will lead to more terrorism, forever promulgating the War on Terror. “Let us not become the evil that we deplore,” urged Rep. Barbara Lee, the lone no vote on the original AUMF. In the Bush days, most of you would have agreed that we have indeed become that evil. It’s time to accept the fact that Obama has enshrined Bush’s war policy as the bipartisan status quo. As long as we have Obama or any establishment politician as Commander in Chief, it is you and I who are funding this horror.

Now consider Ron Paul, who consistently votes against war and regularly voices all manner of ethical and practical objections. He was one of six Republicans to vote against the Iraq Resolution and he drafted legislation to sunset the bill. Paul’s idea of an “authentic stimulus” is returning 305,000 troops to the U.S. and having them spend their pay back home. He wants to close hundreds of wasteful military bases in countries like Japan and Australia, and he’d like to replace our aggressive foreign policy with diplomacy and free trade. He has not backed down for a second in the face of the traditionally hawkish Republican Party—in fact, he brings attention to his peaceful foreign policy whenever he has a chance, and he’s finally starting to influence the party with his pro-peace ideals.

Speaking passionately about his war stance to a GOP debate audience in Arizona, he said, “I don’t believe I’m going to get the conversion on the moral and constitutional arguments in the near future, but I’ll tell you what, I’m gonna win this argument for economic reasons.” And ever so gradually, he may be winning it—a recent poll finds that nearly half of Republicans now disapprove of America’s role in frequent overseas intervention.

Civil Liberties

When it comes to undermining foundational constitutional rights, Obama has managed to surpass Bush by setting the precedent of assassinating US citizens without due process. He continued this theme by signing the latest NDAA, which codifies indefinite detention without due process and further prevents transfer of Guantánamo detainees. Obama made it clear in his signing statement that he feels indefinite detention was already authorized by the 2001 AUMF, and he’s continued this practice in midwest detention centers while working to expand a detention facility in Afghanistan that currently detains 2,700 Afghans without trial and in abusive conditions.

Obama championed transparency in 2007, yet his administration has been marked by unprecedented secrecy—he’s targeted more whistleblowers than all past presidents combined, denied more FOIA requests than Bush, adopted Bush’s aggressive use of the state secrets doctrine, and rejected his own Free Flow of Information Act. Obama has renewed the PATRIOT Act, expanded the TSA with intrusive, potentially hazardous body scans and humiliating pat-downs, continued the drug war, and even cracked down on medical marijuana. And while the Obama administration came out against SOPA after the recent uproar, the fact remains that Obama signed the more dangerous ACTA treaty, possibly unconstitutionally, back in October.

Compare this to Ron Paul, who’s a staunch defender of due process who fundamentally opposes assassinations and condemned the NDAA signing as a “slip into tyranny,” recently introducing legislation to repeal the indefinite detainment section. He wants Guantánamo shut down and the detainees tried. Ron Paul was one of three House Republicans to vote against the PATRIOT Act in 2001 and he’s continued to fight against it. He’s opposed the TSA since its inception, condemned similar programs on highways, and has introduced legislation to defend passengers from TSA abuses. Paul is greatly supportive of whistleblowing and other forms of nonviolent civil disobedience—he’s actually requested a WikiLeaks dump on the Federal Reserve and suggested that as president, he would himself be a good whistleblower. For over twenty years he’s fought against the drug war for violating personal rights, calling it a bigger failure than the Prohibition and introducing legislation to protect medical marijuana users. He wants to legalize hemp farming and believes in pardoning nonviolent drug offenders. Ron Paul officially opposed SOPA early on and praised the internet backlash that led to its shelving.

Corporatism

Not to be confused with capitalism, corporatism occurs when corporations funnel money into government and are rewarded with special treatment and positions of power. Unfortunately, Obama has proven to be quite the corporatist: After being enriched by big banks during his 2007 campaign, Obama returned the favor, filling the top ranks of his administration with Goldman Sachs, JP Morgan, and Citigroup executives and appointing many ex-lobbyists. His long line of bailouts have greatly benefitted Wall Street while harming ordinary citizens. He empowered Wall Street bigwigs to profit from and cover up fraudulent activity that led to the economic crisis. Thanks to Obama, a former Monsanto VP is now a top FDA official, and a former Monsanto lobbyist is now chief agricultural negotiator for the US Trade Representative. Obama shielded BP, whose biggest shareholder is JP Morgan, from legal liability after the 2010 oil spill. While Obama has been boasting about the success of the auto bailouts, taxpayers will lose $20-30 billion on General Motors. Ron Paul himself identifies Obama’s health care bill as being not a socialist program, but a corporatist one which massively benefits insurance and pharmaceutical companies.

Meanwhile, consumer champion Ralph Nader had this to say in a recent interview: “Ron Paul has always been anti-corporate, anti-Federal Reserve, anti-big banks, anti-bailouts.” To be clear, Paul’s brand of anti-corporatism differs from Nader’s in that Paul’s free market ideals cause him to seek fewer regulations and taxes on businesses; however, when it comes to corporate welfare and corruption, Ron Paul is as anti-corporate as one can get. His efforts to audit the Federal Reserve for the first time revealed $16 trillion in secret loans to banks worldwide. These banks were enabled to take advantage of below-market rates which netted them $13 billion in profits. Bloomberg warns, “Details suggest taxpayers paid a price beyond dollars as the secret funding helped preserve a broken status quo and enabled the biggest banks to grow even bigger.”

Concerns About Ron Paul

There are a number of areas in which I disagree with Ron Paul. However, I find his social conservative policies to be not much worse than Obama’s, and his most extreme social and economic policies will be moderated into realism by Congress and his own dedication to the rule of law.

Social Issues

There are three social issues on which Ron Paul leans conservative: immigration, abortion, and to a minor degree, LGBT rights.

Ron Paul is considered to be hard on immigration. He calls undocumented immigrants “illegals,” opposes birthright citizenship, and likes to point out that instead of policing Middle Eastern borders, we should be policing our own. However, his policy regarding undocumented immigrants currently living in the US is much more moderate—he considers mass deportation to be impractical and cruel, suggesting that deportation only makes sense when the person has committed a crime. He suggests replacing deportation with some sort of “green card with an asterisk” policy. He is opposed to amnesty and government welfare for noncitizens, but he defends the right of private organizations to support them. Paul favors streamlining the entry process for legal immigration and calls for a generous visitor work program. While Obama has been recently easing up on immigration policy, even pressuring immigration officials to approve questionable applications, the fact still stands that he’s deported record numbers of undocumented immigrants, totaling at least one million deportations so far and snagging a number of legal citizens in the process. Considering Ron Paul’s soft stance on deportation, a Paul presidency would arguably result in a more compassionate immigration policy.

Ron Paul is deeply opposed to abortion and often cites his experience as a obstetrician in supporting his views. This isn’t a case of some sexist blowhard saying women can’t be trusted with their own bodies—consider that Paul feels that sex work should be decriminalized. As with all social issues, including sex work, he believes abortion policy is to be decided by the states. It’s essentially a status quo opinion; however, he has attempted to go further with proposed legislation that would prohibit federal courts from interfering with states’ decisions on abortion and other matters of sex and reproduction. I strongly object to this bill, but I feel it’s too extreme to pass Congress, and it doesn’t seem to be a high priority for Paul. As if to balance out the power of the states, Ron Paul has also voted multiple times to allow minors to freely cross state lines for the purpose of abortion. Paul opposes restrictions on emergency contraception, and even suggests the morning-after pill as a solution in cases of very early pregnancies and rape. When it comes to federal funding for abortion, there’s no question that Obama will be more pro-choice than Paul, but when you realize that Obama will randomly make anti-choice decisions when politically expedient, and even threaten access to emergency contraception, he’s clearly no huge win for reproductive choice himself.

Ron Paul is decent on LGBT rights—he believes that marriage is a free speech issue and he wants the federal government to stop regulating marriage altogether. He voted against banning gay marriage or defining marriage as between a man and a woman. He acknowledges that people are born homosexual and denies that it’s a “sin.” Paul was one of five House Republicans to vote for the repeal of DADT in 2010, a new stance he explained was inspired by feedback from his LGBT constituents. He is, however, generally opposed to any federal legislation fighting hate crimes or discrimination, as he does not believe in using the federal government to force social change. (Note that he’s the same way about social changes he most wishes to bring about—namely, abortion.) Most unfortunately, Paul reluctantly supports DOMA, apparently due to his opposition to expanding welfare. But on this issue, Obama’s not much better—he no longer defends DOMA in court, but he’s still enforcing DOMA, keeping legally married LGBT couples from having their marriages recognized for immigration purposes.

Economic Issues

Most presidents have been worsening our national debt problem because it’s much easier to kick the can to the next generation than make painful spending cuts. Under Obama, the debt has already increased by $4 trillion. Romney, Gingrich, and Santorum may speak disapprovingly of the debt crisis, but their proposals would actually add trillions more to the debt. Only Ron Paul is a serious fiscal conservative, voting against any spending he deems unconstitutional, returning over $100,000 in unspent office funds to the Treasury each year, and now proposing a severe budget plan that could trim the debt by over $2 trillion.

A head-on approach to the debt will be painful, but there are two things to keep in mind: Paul’s actual proposals are much more realistic than his lofty libertarian ideals—he’s not trying to go back to 1776 here; rather, he wishes to return most spending to 2006 levels. And once again, Paul’s most drastic aims would be moderated by Congress.

For example, while Ron Paul is philosophically opposed to welfare programs—and he certainly won’t approve any new ones—he believes in bolstering the existing programs while phasing them out in a responsible manner. He has suggested using “50 percent of the savings from cuts in overseas spending to shore up entitlement programs for those who are dependent on them and the other 50 percent to pay down the debt.” Unlike Obama, Paul does not threaten elderly people dependent on Social Security. He does, however, plan to allow workers 25 years old or younger to opt out of the system.

Paul’s budget plan cuts war spending and corporate subsidies, but it also calls for stopping foreign aid, which he sees as taking money from America’s poor and middle class and giving it to rich dictators. The budget plan phases out five federal agencies, certain responsibilities of which would be transferred to other departments. Paul clarifies: “Nobody gets laid off immediately; they get laid off through attrition”—meaning workers would be transferred to other departments until they retire. But would he actually succeed in dismantling these agencies? Reagan attempted to eliminate the Department of Education in the 80’s and was blocked by Congress. I would expect Paul to have at least as much trouble.

Ron Paul has called for abolishing the Federal Reserve and returning to the gold standard. However, the actual monetary policy he proposes for a four year term is completing a full audit of the Fed and allowing competing currencies, perhaps in the style of John F. Kennedy’s silver certificates.

Paul will be doing everything he can to repeal Obama’s healthcare reform, but he concedes that “throwing it all out is probably not going to happen.” He has introduced legislation to repeal the individual mandate and provide his own health reforms which would make all medical expenses tax-deductible and improve competition amongst insurance and pharmaceutical companies.

Nevertheless, Paul’s priorities are in order. In a joint interview with Nader, Paul said, “We as libertarians might not approve of some of these medical programs. But is that the place to start? Or should it be overseas spending, and should we have a stronger national defense by bringing our troops home? And I say that is the place to go.”

Offensive Newsletters

At a visceral level, the only issue I feel more strongly about than anti-racism is anti-sexism. Anti-homophobia is right up there too. So obviously, the vile content of Ron Paul’s old newsletters is nauseating to me. I believe Ron Paul when he says he didn’t write them—at least not the worst parts—because they don’t match the tone or rhetoric of any of his speeches and writings from the last 15 years. However, Ron Paul has clearly worked with racist homophobes, may have been compliant with racist pandering in the past, and isn’t as clear as he should be in his apology for the newsletters.

Does Ron Paul lack conscientiousness when it comes to matters of prejudice? Yes. But have I also witnessed several occasions in which my liberal friends exhibited a ghastly lack of conscientiousness themselves? Absolutely. How do I feel when one of my ultra-liberal colleagues makes some nasty sexist joke in a professional environment? I get really upset, but I also know that prejudices like racism, sexism, and homophobia are societal ills that have been baked into our culture and and are part of our history. All of us, including racial minorities, harbor a certain level of implicit racism, and it takes an unnatural level of awareness to consistently fight against it. Therefore, I can forgive instances of prejudice, especially when it seems subconscious rather than overt, and especially if it’s been sincerely renounced, as is the case with Ron Paul. (He did defend the newsletters in 1996, but since 2001 he’s disavowed them, explaining that his campaign had initially convinced him it would be too confusing to say it was the work of ghostwriters.)

Regardless of Ron Paul’s inner biases, he’s the only candidate who’s boldly shedding light on institutionalized racism in the criminal justice system, and many of his policies are specifically anti-racist. He’s been opposed to the drug war for having racist origins since 1988—indeed, civil rights activist Michelle Alexander has declared the drug war the new Jim Crow. Paul criticizes the death penalty as being racist, and he condemns racial profiling for being xenophobic and racist.

I think Conor Friedersdorf said it best in his exhaustive analysis of the newsletters: “In 2012, when accused terrorists are held indefinitely without charges or trial, and folks accused of drug possession have their doors broken down by flash-grenade wielding SWAT teams in no-knock raids, Paul would arguably protect the rights of racial, religious or ethnic minority groups better than Obama, regardless of whether Paul is now or ever was a racist, and irrespective of the fact that Obama, as the first black president, has in some ways transformed Americans’ thinking on race.”

Conclusions

My favorite political concept of the year is the overlap between libertarianism and progressivism. Both philosophies at their purest call for fundamental changes which naysayers claim will implode the country. However, the reality is that both philosophies would involve significant transition time, and either ideology in the White House would be heavily moderated by Congress. It happens that the most realistic actions are also the most urgent and the most representative of the convergence of libertarianism and progressivism: anti-war, pro-civil liberties, anti-corporatism. And while the two sides may disagree on how to handle the economy, a libertarian approach of forcefully balancing the budget now will enable responsible spending in the future. If libertarians and progressives would team up, as Ron Paul has done with many progressives, we could achieve change on the level of Obama’s 2007 campaign rhetoric.

A Ron Paul presidency would demonstrate that a status quo president is not the only viable option, that the tradition of war and corporatism is not the only way. To have an honest person in the White House—someone who absolutely can’t be bought—would be a rare shock to our corrupt, entrenched system. If Ron Paul could even begin to dismantle this system, he would bring America closer to progressive goals than any standard Democrat or Republican would. And the changes Ron Paul could bring are incredibly important because they’re the sort of things that only the president could do. Private organizations and regular people can, to some extent, help fund the needy or work on energy solutions or support the arts or promote diversity. However, only an intensely principled president can bring an end to murderous and undeclared wars, veto bills that threaten liberty and privacy, break the pattern of corporate welfare, and curtail the drug war.

While Paul has downsides, the downsides of Obama (or any other Republican candidate) are far more dangerous and permanent. Ron Paul will hinder federal programs, but Obama’s policies are actively killing and detaining innocents while setting terrible precedents in constitutional violations. Domestic economic policies can be adjusted by the next president, but no one can rescue a drone missile casualty.

Vote Ron Paul

Ron Paul can win. A recent national poll ranked him at second place for the GOP primary, only six points behind Romney. Paul’s campaign is entirely focused on a delegate strategy which capitalizes on his campaign’s excellent organization and enthusiastic support base. It’s the same strategy that led to Obama’s 2008 victory.

That said, with the Republican establishment and most media voices stacked against him, it’s a tough road ahead. In a few of the primaries so far, there have already been reports of election fraud or suspicious activity. I’m not sure how factual these reports are, but I imagine a lot of cleverness will be needed to beat out the potential corruption. For a clear victory at the polls, Paul depends heavily on independent and liberal crossover votes. Note that his strong 3rd place at the Iowa caucus only involved 14% of the Republican vote, whereas he received 43% of the Independent vote.

Even if you’re not sure about Ron Paul, consider voting for him in the Republican primary in order to bring the national conversation back to war and civil liberties when it comes time for debates with Obama. If you switch your party affiliation to Republican, you can still change your mind later and vote for Obama in the general election. If Ron Paul doesn’t win the nomination, there’s a good chance he’ll run third party or get so many write-ins in the general election that Obama wins anyway.

Some states, like Washington, Illinois, and Texas, have an open primary/caucus, which means you can choose either a Democrat or Republican ballot when you arrive at the polling place. Other states, such as California and Oregon, require that you register well in advance as Republican if you want to vote in the Republican primary. In New Hampshire, 2,273 Democrats failed to switch parties and ended up having to write in Ron Paul—don’t let that be you!

Visit bluerepublican.org, a site set up for Ron Paul liberals, for more information on switching parties.

Hibari design philosophy January 30, 2012 4:11 PM

Over the past two years, I’ve been working with my partner Wolf on a Mac Twitter client called Hibari.

hibari-blog.pngTo celebrate the long-awaited release of version 1.5 last week, I’ve decided to share the design philosophies, character flaws, and mental instabilities that have resulted in the Hibari you see today.

A Secondary App

Using a Twitter client means I can keep up to date with my friends’ ideas and blips of daily life without getting distracted from my primary activities. Hibari is designed to be always visible on the side of the screen, to be glanced at throughout the day, and as such it necessitates a small footprint and high standards of minimalism.

Native Design

Because Hibari is a secondary app, I want it to fit in with the feel of the operating system as much as possible. I call Hibari “minimalist,” but it’s certainly not an instance of bare, angular, monochromatic minimalism. I’m aiming instead for a quiet, soothing, Japanese-style minimalism; one that feels natural. For my taste, an angular black & white app juxtaposed against the grays of OS X wouldn’t produce the most minimalist result.

With the advent of Lion, Apple apps are becoming less native-looking and more like the full-screen, isolated apps of iOS; however, the basic apps are still the same. It’s the design of those most basic apps that Hibari imitates: Finder and TextEdit.

Clutter Intolerance

Irritating tweets are clutter. I’m emotionally intolerant of certain types of negativity and cruelty, and sometimes a single vile comment can ruin my day. Therefore, Hibari doesn’t just block annoying topics, it can also hide a single bad tweet.

Additionally, I need a way to take a break from certain people. In my opinion, Twitter’s lack of a temporary mute function is problematic due to the mismatch in the way people feel about unfollowing. When you unfollow someone, it’s usually because you just want to unsubscribe from them, as one might privately unsubscribe from a blog. However, the social reality it that when people find out they’ve been unfollowed, they often feel like you’ve un-friended them, like how one might un-friend someone on Facebook. And it’s awkward to refollow after unfollowing, because a follow notification is sent via email each time. Facebook itself actually has an “unsubscribe from updates” feature you can set on individual friends. I’m unable to live without this on Twitter.

Almost all animations are clutter. Animations provide realism and sometimes entertainment, but for a minimalist app, they serve almost no purpose other than to force your attention to them and momentarily make your eye twitch. Readability suffers greatly when there are little bouncing animations during basic navigation of tweets, as your eye can’t stay fixed on one area; instead, it’s forced to move up and down to re-anchor at each navigational action.

Buttons on every tweet are clutter. I also consider buttons that appear—or worse, fade in—on hover to be a type of clutter, as it’s too easy to accidentally hover over them and cause flashing on the screen where it’s not expected. Unfortunately, a lot of people like the one-click nature of buttons. I try to encourage them to use keyboard shortcuts instead.

Timestamps on every tweet are clutter. Timestamps are usually irrelevant to the tweet, so Hibari hides them by default. I’m also against relative time stamps, despite nearly every social site and client using them. Either a tweet happened recently and I don’t need to know the time, or the tweet happened a while ago, and I want to know what time of day it happened, not how many hours ago. I never wonder how old a tweet is, I just want to know at which point in the events of the day it happened.

Read status is burdensome mental clutter. My emails (and to a lesser degree, my feeds) already feel like loads of mental baggage. For me to maintain any semblance of sanity, Twitter must feel like a continuous flowing stream where it’s okay if I miss some of it occasionally. To have an app keep track of whether every last tweet has been read would turn Twitter into a chore. I’d be wasting time every day compulsively marking all my tweets as read.

Too much 3D is clutter. Aside from its standard OS X chrome, Hibari’s interface is purposefully very flat. Shadows and gradients can make a design look interesting at first, but over time it becomes tiring to look at needlessly over-emphasized shading and separation.

Single Stream

Having too many different things to check throughout the day is tiresome. I want Hibari to be the opposite of apps like TweetDeck: Everything that can be reasonably unified into one timeline should be. Mentions, DMs, and optionally search results are all in the home timeline, and there’s more unification I’d like to do someday with multiple accounts. The goal is for maximal involvement with minimal interaction. For the same reason, Hibari features inline image thumbnails and conversations—I don’t want to switch to a whole new visual mode just to learn the subject of an image link.

So of course, I object to Twitter’s list feature. I know I’d be just be compulsively wondering about and checking on the tweets in all the other timelines. While I see the benefit for social media researchers and serious networkers following thousands of people, Twitter is not my main activity and I want it to be fast ‘n easy.

Room for Improvement

Hibari’s UI is far from perfect, and there’s a lot of features that could be added. For example, Hibari currently brings you to the web for user profiles and images. I usually have a browser window occupying one of my monitors, so this isn’t a problem for me, but I’ve come to agree with those who feel these actions should be should be in-app features. Hibari’s DM interface has issues, and the input field’s location at the bottom of the app is just incorrect; there’s an infinite list of other things that need to be improved. I always appreciate when people offer me ideas, as I often get great insights for making Hibari even more of a secondary, native, clutter-intolerant, single-stream app.

Twitter and I

I lost a lot of steam last year when Twitter released an official Mac client and later made decisions that could be considered antagonistic toward third party developers. But with every new change to Twitter and its official apps, Hibari just feels more necessary. Twitter’s aiming to be more of an all-encompassing universe like Facebook, always getting grander and more interactive. As long as they continue this trend, there should always be a place in the ecosystem for Hibari. While I don’t want to promise anything about the future, my own dependence on the app—it’s either this or isolation from my favorite vocational peers—means I’ll be improving or at least maintaining it for a long time to come.

hibariwoman.png

What a computer engineer looks like March 6, 2010 1:47 AM

This month, an unusual new Barbie was born—Computer Engineer Barbie, chosen by popular vote on barbie.com. For the first time ever, you can get a Barbie with her own little laptop.

When I first saw a photo of the doll, I was aghast at her outfit, which seemed garish and drastically outdated for a doll so famous for being fashionable. The press release said she was supposed to represent “geek chic.” I decided to indulge in a little redesign.

First, I swapped the unflattering pink-rimmed glasses for some black ones. I replaced the unlikely Bluetooth headset with some noise-cancelling headphones. The crazy binary-print top complete with flying keyboard keys spelling out “Barbie” was exchanged for a standard tee with just enough binary for the letter B, along with a nice pink hoodie. Finally, the wrist-watch (which actually has a funky circuit board pattern, but seems redundant when you’re always staring at your laptop or cell phone) was swapped for a coffee mug, and I put some command line windows up on the laptop screen.


Anyway! Aside from all this nitpicking (and ignoring the bigger question of Barbie’s overall effect on young girls), I’m really excited about this new variant of Barbie. Every career Barbie has been a cartoonish, glittery representation of the career, and that’s okay; it’s targeting girls who would be attracted to Barbie in the first place, after all. It’s awesome that Barbie now has a computer. I’m happy that millions of girls will see this doll on the shelf and feel that it’s acceptable or even cool for a girl to work on computers. I hope this influences girls to ask for a computer at an earlier age—maybe before their male siblings do, even. It’s really quite impressive that Mattel produces career Barbies at all. I’m sure they don’t sell half as well as the Barbies that come with a unicorn and a glittery princess gown.

Discussions on geek Barbie have brought up some important points about stereotypes. Some people seem to believe that because this new Barbie is so pink and feminine, she couldn’t be an actual computer engineer. In reality, we female engineers range anywhere from highly fashionable to totally tomboyish. I recommend reading through the presentation “I’m a Barbie Girl in a CS World” to see how much of a hurdle the nerdy/boyish stereotype can be for some of us.

I’ve usually worn a t-shirt and jeans to conferences so that I’d look like an average developer rather than a passerby or somebody’s girlfriend who was dragged along. (Yes, I have been asked whether or not I’m a developer. It’s irritating.) However, I also love wearing feminine outfits and I’m interested in both mainstream and alternative fashion, the latter of which has had a lot of influence on my personal style.

I’m starting to loosen up now and wear whatever I want to tech events. One of the nice things about not working for any company besides my own is that I don’t have to represent anyone but myself. By representing myself rather than a stereotype, stereotypes that involve me can become more accurate. One of these days, I hope the US developer community becomes so diverse that these stereotypes weaken and don’t hinder people from joining the field anymore.

(It’s not impossible. There are actually places in the world where these stereotypes don’t exist, and there are also countries with equal numbers of males and females working in technological fields. Egypt is one example.)

Over at the excellent Devchix mailing list, we discussed these topics at length. One person suggested that we blog photos of ourselves coming into work in order to help people see the diversity in the appearance and dress of female programmers. I’ve never posted a photo of myself here—something about pointing to my appearance feels risky—but I realized that if all women worried about this, and thus shrouded their inherent femaleness, it would only exaggerate the gender imbalance in the industry, and stereotypes would continue to go unchallenged.

One of the last tech conferences I attended was about 1% female—and I talked to people who literally knew no female developers back home. it’s hard to blame people for making inaccurate assumptions about female developers if they’ve seen so few of them.

So here’s a photo of me. There might even be more in the future. :)



At the Stables Market in Camden Town, UK.


5 Comments

My worst iPad fears February 1, 2010 7:17 PM

Wow, the iPad. Cocoa developers are going crazy about this because it reeks of iPod-level success with the possibility of changing the face of computing forever. It’s a gorgeous new all-purpose device that anyone can learn to use, nearly as powerful as a normal computer but so much easier to understand; it’s an inspiring machine that calls for a totally new breed of elegant software. And, it might make some of us lots of money. Considering that many more people need a simplified computer than a fancy phone, I think Steve Jobs is probably right when he says the iPad will be a second gold rush for developers.

It wasn’t until dinner at NSConference this evening that I really thought thoroughly about the iPad. Wolf and I had a soulful discussion about different cultures with our new friends from Argentina, Belgium, Denmark, Germany, and Switzerland. We lamented the flaws of human nature and worried together about losses of liberty all over the world. It seems that as governments gain more and more control, corruption is inevitable—unless, perhaps, an intense dedication to freedom is baked into the system.

The conversation turned to technical topics, and disturbingly, the observations we made about governments could be applied to companies like Apple, Google, and Oracle. We started to discuss the closed nature of the iPad.

Oh god, what if nobody actually does make a fantastic, open competitor to the iPad? After all, it can be argued that nobody’s made a solid competitor for the iPhone yet. What if the iPad really does become completely embraced by the 80% of normal people who don’t need a real computer?

At this time, I suspect the closed nature of the App Store is not as worrying as it should be because it only concerns our smart phones. We can still develop anything we want for Macs, the “real” machines. However, what if the iPad starts to replace the Mac to such a degree that it no longer becomes profitable to write apps for the Mac? It seems that to be a Cocoa developer will eventually mean to have one’s business chained to the App Store. To be chained to the App Store means Apple makes the final decision on whether your apps can be sold the way you like them, or at all. Perhaps that’s not as worrying right now due to the relatively low number of App Store rejections, but who knows what the future will hold if Apple actually gains a majority control over the computer market. There are many things I love and respect about Apple, but their current approach to the App Store makes me feel like we’re all doomed.

Maybe no BigCo will make a better iPad and all of this is inevitable. But I consider the massive creativity of the Cocoa developers and designers around me, and I can’t help but think that if some of us formed a company driven to compete with the iPad, we could do it. With our skills for creating beautiful, simple, and intuitive software, and a commitment to developer and user freedom, why wouldn’t we have a chance at making a better computer for the masses?

5 Comments

Decruftifying Movable Type 5 January 31, 2010 2:50 PM

My old install of Movable Type 3 was getting overrun with comment spam, so I decided to start anew with Movable Type 5 in hopes that the spam problem would be fixed out of the box. Unfortunately, it’s not much better than before. I suppose it will, at least, be easier to maintain and upgrade my system from here, and I do get some new goodies like autosave and revision history. I plan to install an extra anti-spam plugin like Comment Challenge if it ever gets updated for MT5. For now, closing comments on all the old entries will help.

Getting Movable Type where I wanted it turned out to be much more of a project than I expected. I’ve documented the following in hopes that it’ll help someone out there.

Putting your blog at the root of your website

Movable Type 5 requires that you create websites that can contain multiple blogs. You can’t have a blog without creating a website first. Your blog URL ends up being something like http://example.com/site/blog/. As I’d think would be a common case, I have only one blog, I want my domain name to point at it directly, and I don’t need the extra idea of a website. The solution I found thanks to this post is to create a website in Movable Type with its root path set to whichever directory your domain name points to, and its URL set to your domain name. Then, create a blog inside it, with its root and URL set to the same respective values as your website’s root and URL. As long as you never publish the website (which would overwrite the blog), it works.

Adding pagination with pretty URLs

When I read a blog, I always want to see the next n entries, not the entries of a specific month (which is how Movable Type’s archive links are displayed by default). Especially if someone blogs only once a month or so, it’s not useful to have monthly archive links.

Movable Type has supported pagination since version 4.3; however, the front-end for it isn’t built into the default themes. A template sample can be found here. By default your page URLs are crufty, and in order to make them clean (e.g. /page/2), you’ll have to modify the pagination code as well as MT’s source.

Replace the 5 lines within the search_link tags in the pagination code with page/. (Save everything that was originally in the search_link tags for the next step.)

In your .htaccess file, you’ll need to rewrite the original search_link value with the new clean URL. The rule would look something like this:

RewriteRule ^page/(.*)$ /mt5/mt-search.cgi?IncludeBlogs=1&template_id=1&limit=7&archive_type=Index&page=$1 [PT,L]

Then, find /lib/MT/Template/Tags/Pager.pm in Movable Type’s source. A quick fix (thanks Wolf for the help) is to replace return $link; near line 156 with return "/page/$page";.

Cleaning up entry URLs

This post helped in removing more cruft from my URLs. Basically, you leave the extension fields empty and add some rewrites. I found this Stack Overflow entry useful for redirecting my old blog post URLs to the new style of URL (with hyphens instead of underscores). (I hadn’t actually wanted to convert all my old URLs to use hyphens, but after exporting my old blog and importing it into this new installation, MT had done it for me, and there doesn’t seem to be a way to get around it.)

Better template modules

I don’t like the way Movable Type does templating in its default theme—you still end up repeating a lot of HTML across the various templates. For my site, I created three new templates modules that I used as includes: upperhead, upperbody, and lowerbody. Upperhead has all the HTML of the head down to the title tag. Upperbody contains all the HTML between the body tag and the content. Lowerbody contains everything below the content. With these modules in place, I no longer had to update all 6 index/archive templates every time I made a change to the HTML.

Comments without registration

By default, Movable Type blogs require people to register before they can comment. I’m not a fan of this, so I disabled the registration options. I completely missed the check box labeled “Allow anonymous commenters” as I didn’t expect it on the Registration page, and this plagued me for quite a few hours before I figured it out. So, just FYI :). I’ll also mention that if you require email for comment, you’ll need to add “required” labels to the email (and name) fields in the comment form template yourself, or there’ll be no indication that those fields are required.

That’s it for now! Currently I’m in London for NSConference UK, which together will my Paris visit will likely result in another post or two.

5 Comments

Reboot January 14, 2010 5:55 PM

In an affront to good taste, I’ve been Twittering semi-regularly but my blog has been silent for over two years. My main problem was that I had become too much of a perfectionist. Each entry would involve several hours of writing, several days of revisions, and then many more days of editing after finally being published. I also had this insane rule of illustrating every post. Blogging became a burdensome task.

I feel it’s important to record my life’s lessons and I enjoy sharing them here, so I’m going to start blogging again as best I can. This time, I’ll try to be more spontaneous with it so I don’t fall into the same rut.

A new blog layout was also overdue. Early last year I started working on a design inspired by the movie V for Vendetta. However, by December I realized I was no longer in a V for Vendetta mood, so I switched to a much lighter look. I also upgraded to Movable Type 5, an experience I’ll have to write up in a later entry.

Please do let me know if anything seems broken.

8 Comments

Beautiful Code & Beautiful Software October 29, 2007 12:35 AM

Programming was fun because I could make cool stuff, but what actually got me obsessed about it was suddenly seeing something interesting in the semantics and syntactics of the very lines of code. Being sensitive to the difference between good and bad code was intensely motivating, and discovering ways to write efficient, self-documenting, and thoughtfully-organized code was something I knew could captivate me forever. This is what I loved (and still love) about my field—the art of programming, the wonderfully complex craft that could take a lifetime to master.

As I added to my Ruby knowledge Java and then Objective-C, I began appreciating software development at a lower level. I grew up in an environment (the Rails community) where there was a lot of hate for those big verbose languages, but upon actually experiencing them for the first time myself, I discovered that I enjoyed them. They were different, but still interesting in differing ways. And hey, there was something satisfying and clarifying about writing dumb code after being born in high-level land—my first for-loop in Java, for example, helped me better appreciate the cleaner, object-oriented practices I knew, but I also saw something appealing in the for-loop itself. It wasn't just elegant language that intrigued me, it was also the basic logic behind the syntax, and the fact of differing syntax. Computer language, and differences in computer languages, were fascinating in and of themselves.

I had the same satisfying feeling when I first learned Assembly in college this term. Assembly was tedious and sometimes quite painful, but the way it made me think about basic programatic functions in such new ways was completely worth the pain. Of course, I also got a geeky pleasure just from being aware of the low-levelness of the code I was writing.

It gets worse! I had a great moment of self-discovery when I read Wolf's Programmers Don't Like to Code early this year. I indeed love the problem solving, elegance-creating, coding-to-learn part of coding, but I realized that I actually like coding for coding's sake, too. At least, that's how I describe my enjoyment of CSS and XHTML. I have an extensive enough grasp of front-end programming that I don't often solve a new problem these days (in fact, problems that take me a while or bugs I haven't seen before can be downright thrilling). Yet, I still enjoy working with the stuff. There's something relaxing about dumping out good-looking code that I understand very well, sort of like how I enjoy doodling the same cartoon cat over and over in my class notes, or how I enjoy playing the same three tunes when I sit at a piano. Even just looking at good CSS—well ok, my CSS, with everything ordered, indented, and cascading correctly—feels good in the same way that I felt bad, almost physically ill, as I waded around in the stylesheets of a certain forum software and found inconsistent indentation, extra line breaks, commented-out junk styles, and styles disabled by deliberately misspelling the property name.

This is what happens when you're so easily inspired, interesting shadows on the walls motivate you to continue living. You have to come back in once in a while and reorganize your levels of sensitivity so that your appreciation for light and sound is appropriately proportional to your appreciation for Off-Off-Broadway.

That is to say, these days I've been thinking a lot about the software part of software development. Specifically, the design of user interfaces in software. At BARcamp this year, I liked how Aza Raskin asked all developers to raise their hands, then all designers, later saying that the hands that went up the first time should have stayed up. All developers should be designers. At least, that's true for all developers lucky enough to work jobs where they have a say in the design of their software.

I'm getting increasingly excited about the importance of design within development, especially as I come to terms with my different passions and reflect over some of my past gigs. In the web app contracting world, design and development are usually separate jobs. In some cases, the design job is minimized in comparison to the rest of the project because clients generally pay for features, not for beautifully thoughtful design. On a project where I played both design and development roles, I recall feeling uncomfortable because I was assigned only two days to complete the visual design. It needed a lot more than two days. It was a complicated application that deserved weeks of rigorous iteration and conversations with the client. Unfortunately, that's not what the client was paying us for. The client was perfectly fine with the version-one mockup that took me a couple hours, and well, we had an app to launch.

I had another wake up call while I was at C4 this year. It appears that many Mac developers, perhaps most of them, are solo indies producing their own products. As such, they really do have to be both designers and developers. Actually, design is often the most significant part, and there seems to be a lot more enthusiasm over user experience and just producing a great product than there is over the code itself. One night during C4, someone inadvertently helped me see this when he described to me the nature of his work: "Coding the basic functionality is the easy part. That just take a couple weeks. What's really hard and time consuming is figuring out the specifics of the UI."

Wow, I thought. Why does that seem so right? Why is that so cool to me?! Oh, right, I'm a designer to begin with. There are dramatic rifts between my enjoyment of development, design, and art because I appreciate each of them in very different ways. I constantly try to integrate development and art, but I really ought to figure out how to mix all three.

After all, my goodness! Do we want beautiful code, or beautiful software? Here's another peek into my life: A side effect of being extremely open minded and absorbent is that I find myself believing all kinds of contradictory ideas, sometimes even opposite ones. It doesn't bother me right now because I'm in exploratory mode, not know-what-I-believe mode, but to retain sanity it is, of course, a must to occasionally sort things through until they make some kind of sense.

Thus, for further consideration I've listed just a fraction of the many things people like about software development, loosely ordered from the most intrinsic rewards to the most extrinsic rewards. I've left out a lot of really wonderful stuff like community, open source values, and challenges because those are harder to fit into this order, but I think you'll get the point. This is an extremely interesting sort order to me because of how psychologists say that intrinsic motivations are stronger and more likely to keep you going. For example, the person who takes karate classes because she feels energized and excited by the sensation of punching and kicking will more likely end up with a black belt than the person who takes the same classes for the health benefits.

Is it the same for programming?

  • The sensation of writing code
  • The knowledge that one is writing code
  • Enjoying computer logic
  • Enjoying computer language
  • Elegant syntax
  • Elegant semantics
  • Learning about code
  • Problem solving
  • Learning about problems
  • Achieving usability
  • Finishing a product
  • Elegant software
  • Solving human problems
  • Solving business problems
  • Satisfying market needs
  • Making money
  • Having a stable career

Which is the most persistently motivating kind of reward? Most importantly, which kind of motivation produces the best software? I'd love to do some formal research on this topic sometime, but I'm already pretty sure that the answer is "a healthy balance of most of the items on this list," as we certainly want our software to be both usable and maintainable, and sellable, and everything else. I'm also pretty sure that the balance is different for every situation and person. At the moment, however, I envision a wide bell-shaped curve sitting upon a rectangle, and everything turned on its side—the motivations that result in the best software are the ones nearer to the middle of the curve; but really, I think all of the motivations are beneficial in some way, and insofar as the programmer has her priorities straight, the more the better.

The tragedy of our field is that most programmers don't ever get to appreciate the majority of these rewards, particularly the more profound ones. Then again, it works out great because the majority of programming jobs couldn't possibly satisfy someone who cared about all these things. Still, I wonder what the industry would be like if we were all intrinsically, thoroughly passionate about our craft, and nobody was signing up for Computer Science classes just for the "stable career." I wonder what it would do to the world.

I think I should revisit this train of thought every year or so as I become a better software developer. I get the feeling, though, that my fate is already somewhat set in the fact that the more I grow, the more I desire a working situation where I have enough freedom to create beautiful things. It's probably worth noting that both freedom and beauty are vague, subjective ideas, so that could mean anything. All I know is that the compromises to both beauty in code and beauty in software design as necessitated in most programming jobs give me an unwavering feeling of discontent. I wouldn't be surprised if I ended up settling down as a freewheeling solo developer using, you know, web design contracting to support my freewheeling solo lifestyle.

Eventually I'll retire my computers and spend the rest of my days plein air painting on some beautiful farm out in the country. That, or a sensuous city life of alternating between street art missions and serving time. It's fun to imagine where I'll go once I feel done with technology. Hopefully that never happens, because I want to be the cool guru grandma who's still around when her children are giving mandatory programming lessons to their children.

22 Comments