Archive for January, 2009

OpenID

January 29th, 2009

Today I started using OpenID.  Even though its been around for years and major players like Yahoo have adopted it, I had trouble finding good documentation – Even I had trouble understanding how it works exactly.  So, I wrote this little blog as Overview/FAQ for OpenID.


What Is It?

As the name suggests, it is an Identification system that is free, safe, secure, and open source.  Nobody owns the system, it is not and will never be a money maker, and you control your own identity. The goal is to have one identity and use it everywhere on the internet instead of having a login/password for every website out there.


How Does It Work?

When you want to login to a website, instead of giving a username and password, you give your OpenID URL. The site then redirects to your “OpenID Provider” (see definitions below) where you are authenticated and then back to the original site.  If it is your first time on the website, some new user info (first name, last name, etc) may be filled out for you.  It is important to note that safety and security are important – passwords are not transferred back and forth – it is similar to how HTTPS can make a secure connection to your online bank.


Why Should I Use It?

You don’t have to remember individual username/passwords, just your OpenID URL.  Also, you can have profile information associated with your OpenID that can be shared.  For example, when you register on a new website, you often fill out first name, last name, username, password, email, etc.  Instead of doing all that, you just provide your OpenID URL and it will automatically get your first name, last name, email, or whatever other info you have decided to publicly share.


Why Should I NOT Use It?

If you only visit a few different sites when you’re online, and those sites don’t support OpenID, then there’s no point now. Competition includes Google Friend Connect and Facebook Connect, meaning those 2 major players most likely won’t support OpenID (src).


Definitions

  • OpenID-Supported Site
    AKA “Relying party” or “service provider”. This is a website that allows you to login using OpenID URL. They will mention OpenID or have the logo (pictured above).   More info, including list of sites.
  • OpenID URL
    The URL you provide to the OpenID-Supported Site, must support OpenID and is usually unique.  You can have more than one. For example, yahoo, flickr, blogger, and aol all support OpenID, so if you have an account with them you have an OpenID URL.  Some sites, like Yahoo, allow you to simply use yahoo.com as a shortcut to your OpenID URL (which is something like http://me.yahoo.com/a/FSegzjtnmOzMcgVI3)
  • OpenID Provider
    This is an entity that verifies who you are then provides information about you to the OpenID-Supported Site. Examples: MyOpenID.com, Verisign, Yahoo.


Examples

Here are some examples of OpenID-Supported sites I use: Sourceforge.net, CareerEco.com, Plaxo, and my.pbwiki.com. I use Yahoo as my OpenID Provider.  That means I sign up by entering “yahoo.com” as my OpenID URL, the site redirects to yahoo.com, yahoo asks me to continue, then I’m back on the site signed in.  With high speed internet this only takes a few seconds.

First I enabled OpenID at Yahoo.  This is super simple, and by default shares the following information: Full Name, Nickname, Yahoo! Email Address, Gender, Time Zone, and Language .. although not all sites will use it.  You can edit that info at profiles.yahoo.com.

Then, the first time I signed up with Plaxo, I went to sign in page, and picked “sign in with openid” and entered “yahoo.com”.  Yahoo auto-authenticates you and asks to Continue, displaying the Plaxo URL.  Click on continue and you are redirected back to plaxo, with info filled out.

If you are paranoid, you might not want to use a 3rd party like yahoo to store your info.  If you have your own server on the internet, you can setup your own OpenID Provider for you or your friends using phpMyID or any other OpenID Identity Servers.


More OpenID

iPhone as a Remote

January 28th, 2009

Yay. Today I finally got it working the way I want – use my iPhone as a remote control when watching movies. If you’re not a uber geek, you might want to stop reading now. Move along.

I use VLC on my mac as my media player. Why? Cuz it plays everything – all types of .avi, .movs. mp3s mpgs, dvds – and lets you program hotkeys to do what you want. For example, I use spacebar for play/pause, and “.” and “,” for jumping forward or backward 15 secs at a time (tivo has trained me well). What else do you need? Volume is done thru my stereo – laptop audio out goes there, and laptop DVI goes into HDMI on my 40″ Bravia. But it sux to have to get up to pause or rewind 10 seconds to see that scene again. So I had to get a remote.

I found it hard to find a good remote control app on the iPhone – Apple’s “Remote” app only controls iTunes, which is good only for playing music (I’m not gonna import GB’s worth of .avi’s into iTunes, Hello..). I really liked the Telekinesis Uniremote app, it has slick remote interface, but I could only get VLC to play/pause (no rewind/ff). XBMC and Movist options seem more complicated.

In the end, the free “mocha vnc lite” iPhone app worked adequately. First, you turn on Apple’s default VNC server – on Leopard, goto System Prefs, Sharing, check the box for “Screen Sharing”, then click on ‘Computer Settings’ button to the right, and on the popup check the box for “VNC .. password” and give it a password – you don’t want anybody in your neighborhood to start controlling your mac. (Tiger instructions). Make sure you remember your password and the IP address. Second, launch VLC on your mac and full screen that baby. Third, install and launch the “mocha vnc lite” app, enter the IP and password and it should connect just fine. Now, you only get a small section of your screen, but thats cool. Click on little keyboard icon to get keyboard, now you can spacebar pause/play your VLC player all night long.

Ending Geek transmission.

Obamauguration

January 22nd, 2009

Last night we got home from a 5 day road trip to our nation’s capital, Washington DC.  It was a long journey, 12 hours and 700 miles each way from Chicago, but I’m glad I went.  Obama’s inauguration itself was definitely the highlight, being on the mall with about 2 million other people to witness the change of power and the beginning of a new day.  It was also great to feel the spirit and mood of Washington – the town was excited, energetic, and happy.

Obama Cheerleaders

Due to some car trouble, we didn’t arrive till late Sunday, missing the “We Are One” concert on the mall.  The Sunday show featured Bono, Bruce Springsteen, Stevie Wonder, Beyonce, Garth Brooks, Tom Hanks, Tiger Woods, and more.  It also included a nice Obama speech and a test run of the jumbotron video screens and security, among other things.  Monday night we headed out on U street near 14th, and it was crazier than a friday night.  Restaurants had 2 hour waits, there were hundreds in line to get ben’s chili, and street guys were selling obama shirts, pins, posters, and really bad art.  We even passed a car just blaring obama speeches.  Not knowing how U street normally is, this probably does not impress you.   But trust me, you could feel the energy.  We ended up eating at some Italian place with a clueless bartender as our waitress, but that did not stop our energy from doing “OBAMA!” cheers (yes, that last person in the pic is the exclamation point).

Tuesday morning we woke up at 7am at our friend Becky’s apt (border of Adam’s Morgan and Columbia Heights).  We walked about 3 miles down to the mall, stopping for Starbucks and snacks.  When we were about a mile away it was so crowded the entire width of 18th street was packed with people streaming in.  We followed the stream to the Washington Monument, where 2 of our posse of 5 decided to setup camp.  Bobby, Shayna, and I ventured on towards the Capitol, mostly just to check things out.  We barely crossed 14th street at the north corner of the Mall (Madison Dr). I say barely because there were lots of camo-wearing army dudes that had zero understanding of crowd control and flow, preventing us from crossing easily.  Or perhaps they intentionally wanted to funnel thousands of people through small openings, creating artificial crowds irritated and confused to why people weren’t moving, you know, for security reasons. After getting through that, we ventured on as far east as 7th street, which appeared to be impassable. We retreated to the carousel on the south side of the mall near 10th st and setup camp. There were tons of people, but for the most part you could navigate as long as you didn’t try to walk in front of a jumbotron, as you can see in this google satellite picture.

JumboTrons

It was almost 10am by this point, and the jumbotrons had been replaying Sunday’s show for the last 2 hours, but now they were switching to live action.  From 10 to 11am we watched various politicians and famous people arrive, including all those Senators, ex-Presidents, Bush, Cheney (aka Dr. Strangelove in a wheelchair), Bidens, and the Obamas.   Everybody got cheers but bush/cheney, surprise, surprise.  I was surprised that the boy scouts and girl scouts handed out thousands of little American flags for everyone to wave – very nice move.  About 10 minutes till noon Biden was inaugurated as VP, then Obama shortly after noon (altho Chief Justice Roberts redid the oath).  When Obama gave his 18 minute inauguration speech (nytimes interactive video), we all listened carefully.  We were surrounded by a million people excited to be part of a new era, despite the fact that it was 22 degrees outside and we had been walking and standing for over 4 hours. I was moved by the speech, I identified with it, and definitely felt the moment much more so than if I was just watching it on TV at home. I won’t go into details of the speech, but I will say that I felt hope and inspiration, I felt a reconnection to our politics and policies, and I felt sober and ready to face the future. I was not alone, and many were moved.

After the speech we started heading out, fighting confused crowds and poorly designed routes to our friends Becky and David by the Washington Monument.  Then we ambled incredibly slow on the massively crowded 18th street back towards Becky’s house.  We stopped to eat, rest, and warm up at a nice mexican mexican restaurant – sitting and eating never felt so good.  The rest of the night was uneventful, followed by a 11 hour drive home Wednesday (9am to 8pm) with our driving buddies, John and Cat. Go Team.

YES WE CAN.

Right to Privacy

January 15th, 2009

Terrorists are winning.  I’m not talking about another violent act of destruction, but the eroding of basic human rights by our government in their attempt to fight terrorists.  For example, how many rights were suspended by the US government at Guatanamo Bay?

Even though a right to privacy is not explicitly stated in the US Constitution, The Bill of Rights covers aspects of privacy (src).  Like many around the world, I believe the government does not have a right to get any and all information about its citizens.  US went too far with the Patriot Act (which allows the FBI and others to get personal private info on anyone in a super secret way without a warrants via NSL), and now the UK is going ever further.

Ben Franklin

As part of a European Commission directive, the Interception Modernisation Programme beginning on March 15 2009 states all internet service providers in the UK will be required by law to collect records on all internet traffic and every e-mail, to be stored in a national central database.  No warrants needed.

“They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” — Benjamin Franklin, 1775

“Give me liberty or give me death” – Patrick Henry, 1775

Remember Hitler’s Enabling Act of March 23, 1933, which suspended all fundamental freedoms of speech, assembly, freedom from invasion of privacy (mail, telephone, telegram) and from house search without warrant.   Let us hope it doesn’t go that route.

Chad’s Tips – What can you do?

First iPhone App In One Day

January 4th, 2009

I was actually surprised by how easy it was to create my first iPhone app – From launching Xcode for the first time, building an application on the simulator, to paying $99 so i can legally put apps on my iPhone, and getting my app to run on my iPhone – all in one day.

The following is a summary of how to create your first app using iPhone OS 2.2 and the iPhone SDK available in December, 2008.  I write this blog since documentation can become out of date very fast (ahem, apple).

First, this is what you will need

  • Intel Mac with OS X 10.5.5 or later (I used 10.5.6)
  • iPhone SDK for iPhone OS 2.2 (I had build 9M2621)
  • iPhone with OS 2.2
  • $99 if you want to run your app on your iPhone – its free to develop and run on the iPhone simulator that comes with XCode

How to create a simple “Hello World” app on your iPhone

  1. Login to iPhone Dev Center
  2. Download and install iPhone SDK if you have not – its 1.56 GB (HUGE, may take more than a day to download).  It comes with XCode 3.1.2 and everything you need for iphone development.
  3. Follow this 6 minute Hello World video.  Note: after a minute he launches Interface Builder – one of the windows does not launch by default, launch it from – Tools – Identity Inspector
  4. Done with free section – Hello World on Simulator
  5. Pay $99 to join the iPhone Developer Program – lets you install apps on 100 devices (iPhone, iPod Touch)
  6. Once you’ve paid, download the “Program portal user guide” (right side, near top) from the iPhone Developer Program Portal, (links will not work unless you login and are in the program).
  7. Follow the instructions in the user guide (version 2.4 is what I had).  It is mostly accurate (getting certificates, etc) up to section called “Installing iPhone OS” (pg 18) where it says

    To run your code on an Apple device, you will need to install iPhone OS onto each development device and “restore” each device to a development state. Note: Once a pre-release version of iPhone OS is installed on the device you cannot restore the device to an earlier version of iPhone OS. The device may only be used for development and testing purposes until that version of iPhone OS is publicly released. Please DO NOT install the iPhone OS before registering device UDIDs, as installation on non-registered devices will render them inoperable. The public release version of iPhone OS should be installed using iTunes.

    ….

    1) Download the iPhone OS Disk Image (.dmg) from the iPhone Dev Center for the Apple device you are using.
    2) Connect your device to your Mac, close iTunes and launch Xcode.
    3) Once the device is detected by Xcode, select ‘Use for Development’ when prompted.

    • Ignore.  You do not need to download or install anything special for development if you have the regular retail version 2.2 on your iPhone (normally installed using iTunes).  I assume these instructions were for 2.1 or 2.0 or earlier.
    • Just backup iPhone on iTunes, close iTunes, launch XCode, go to Window – Organizer,
      click on your iPhone, click “use for development” under summary tab. That’s it.
  8. Continue with guide, create App ID (when choosing your “Bundle Identifier”, I recommend using asterisk like: com.mysite.*), install profile, etc.
  9. If you follow the guide exactly, you will see this error when you try to install app on your device (aka iPhone)

    Your mobile device has encountered an unexpected error (0xE800003A)
    ApplicationVerificationFailed

  10. Here’s how you fix the above
    • You must create entitlements.plist – On you XCode Project, goto File->New File…->iPhone OS -> Code Signing ->Entitlements.  Just name new file “entitlements.plist” (it should be created in your project directory).
    • Goto Build Info (on your main project window in XCode, right under “Groups & Files” click on project name at top, then click the big Info Icon at the top middle). Under “Build” section, look for “Code Signing Entitlements” – the Value is probably blank – double click, in the popup window type in the new file name “entitlements.plist”
    • Under Target Info (on your main project window in XCode, under “Groups & Files” Targets list click on project target name, then click the big Info Icon at the top middle). Under “Properties” section, change “Identifier:” from com.yourcompany.xxx to the “Bundle Identifier” you created  on the program portal website under App IDs – do not include the ten character “Bundle Seed ID” prefix, just the “Bundle Identifier” you picked. ex: com.chadnorwood.${PRODUCT_NAME:identifier}
  11. DONE.  You should now be able to create new projects and more apps.

Links

Voter Info Reform

January 3rd, 2009

I just read “How Should We Get Big-Money Influence Out of Congressional Elections?” on HuffingtonPost.com by Lawrence Lessig.  It inspired me to put down some thoughts I’ve had swirling in my head for several months.  I’m definitely not well-informed on this big-money influence isssue, but I believe Lessig is (blog and change.org), so I will answer the questions raised in his huffington post article as a way to convey what I want to say.  The following is expanded from my comment.

1) Reformers are considering a plan by which congressional candidates who raise a threshold number of small-dollar donations would qualify for a chunk of automatic funding – several hundred thousand dollars. If they accept this funding, they couldn’t raise big-dollar donations. But they could still raise contributions up to a certain amount (such as $100 or $250), which would be matched several-times-over by the central fund, an incentive for politicians to opt into this system and focus on small-dollar givers. What do you think of this general framework?

I think this is could be a good solution, but needs discussion. What would make candidates accept this or not? I assume those who do not accept either have more money or think they can raise more money than the plan would offer. Obama had hundreds of millions more to spend than McCain in 2008, helping him win. Could something similar happen with this plan, making this solution ineffective?


Voter Info Reform Plan

Part of the general problem is that candidates with the most money will always have an unfair advantage in reaching voters. So why not change the game so money becomes less important? The fact is voters don’t always know the truth about candidates, with partial truths and lies spread by campaigns or private interest groups. The more money a candidate has, the more times voters here that candidate’s message, whether it is the truth, a lie, a catch phrase, or whatever.

One solution would be to create a central, unbiased, voter information organization. It would have 2 mandates: promoting itself as the trusted authority on all candidate information; and disseminating said information on all candidates.

The first mandate could be accomplished by requiring all candidates to promote the voter info organization when they promote themselves.   For example, all tv ads must begin and end with a short message saying “As always, for complete and accurate information on candidates, goto vote.gov or call 800-123-4567”. The website would have more information and the phone number would let callers enter their address to receive printed information in the mail.  This ad sharing would have to be delicately balanced – vote.gov would need to be promoted clearly but not too much, the candidate still needs to get a return on putting money into the ad as well. This idea of sharing an ad is not new – it is similar to how all cigarette ads must contain the surgeon general’s warning, or how Intel-Inside ad campaign in 1990’s worked, where Intel would pay a percentage of any computer ad if the ad displayed the Intel-Inside logo.

The second mandate is to disseminate information in popular formats, primarily a website and some type of printed material like a small phone book. Examples of information to be disseminated would include basic facts on all candidates, such as political history, voting records, positions held, fundraising records, and known affiliations. It would also contain candidate submitted information on themselves such as where they stand on all the issues. It should also contain a fact resolution section, similar to factcheck.org.  This section could put claims into 3 groups: “verified facts” that candidates could promote if they wish, “unverified” for new or hard to prove claims, as well as a section for claims that were verified to be not true.  The fact resosution information should be disseminated in a way to promote candidates to make truthful claims about themselves and opponents, like by placing a truth meter or truth percentage next to each candidate’s profile indicating how many verified facts versus all others are found in their ads. Eventually people would learn to not trust anything unless it was a verified fact.  In the event a message is promoted containing late-breaking news, a response team must be available to address it quickly (such as Illinos governor’s arrest for attempting to sell Obama’s senate seat).  The website could also have a way for people to express themselves by answering polls, choosing candidates the intend to vote for, and unofficially voting on specific hot issues.

This solution would allow candidates to continue to reach voters, but equally promote a trusted and accurate voter information source. Fundraising would still occur in order to promote a candidate, although the balance mentioned above must be closely monitored.

Funding for the voter info organization could be funded the way suggested in (1). Another way to fund this would be to impose a fundraising tax – 10% of all money raised by candidates must go to this voter info organization, with the federal government funding if candidate fundraising doesn’t cover the costs of the organization (highly unlikely).

Now back to answering Lessig’s questions …

2) Senators Dick Durbin and Arlen Specter sponsored a bipartisan bill last Congress that would make TV broadcasters pay a fee that would be the sole source of revenue for the central fund that candidates draw from. These broadcasters get access to our public airwaves for virtually free and make billions of dollars in revenue as a result. Under this scenario, no tax dollars would be used – eliminating the central talking point by reform opponents. What do you think about a fee on broadcasters to fund this reform?

A viable solution, but what if broadcaster’s funding falls below required levels? newspapers are going bankrupt and broadcasters revenues are declining as more people spend time on the internet.

3) “Public financing” was the old name for this issue – which would no longer be accurate if the Durbin/Specter proposal passed. And the name’s not that good anyway. What do you think we should call this reform? Clean elections? People-powered elections? Citizen-funded elections? People-funded elections?

The 2 key components being modified are fundraising and candidates. So how about “Candidate Fundraising Reform” ??

However, my proposal goes beyond just fundraising to include information, so how about “Voter Info Reform” ??

4) Barack Obama is on the record supporting the reform of presidential public financing. Some reformers want to pass presidential financing reform first, then pass a separate congressional bill down the road. Others want to merge the two bills and have one joint national debate. What do you think?

When just considering fundraising, presidential campaigns are a different beast due the magnitude of money involved ($600 million in obama’s campaign), so I think it should be handled differently. The next presidential election is 4 years out, but congress elections are less than 2 years, so congress should come first or they should be done together.

What do you think of my Voter Info Reform?