A Little Ludwig Goes a Long Way

A smattering of opinions on technology, books, business, and culture. Now in its 4th technology iteration.

Why I will vote for Obama in the presidential election.

18 October 2012

I am pretty apolitical. I view government as a necessary evil. The political process seems horribly compromised, most politicians seem hopelessly compromised. The campaign ads make me barf. I will be happy when election season is over. Usually I just keep my head down during the season and try to keep my views to myself.

But Facebook has made me increasingly uncomfortable with that policy. I get a flood of political traffic in my timeline every day. Many of these postings espouse positions that I don’t agree with, and I worry that my silence implies my assent. And I feel like the “new normal” is to share your political views, and that perhaps this might even be a good thing, leading to more citizen participation in politics. So I am going to try to be a more involved participant, starting by explaining my vote for Obama in the presidential election.

In considering my vote, I take the long view. What is the impact of my vote on the next 20, 30, 40, 50 years – the remainder of my life, and the heart of my children’s life. The issues of the moment will pass – no one will remember the fine points of the debates this month. The exact marginal tax rate doesn’t matter that much, we have survived adequately as a nation with rates as low as 15% and as high as 90%. The foreign policy crises of the moment will be forgotten. What matters are the structural policy decisions we make that will create enduring change in our society.

For me, fairness and openness are at the heart of our society, the uncompromisable core. Do we treat everyone equally? Does everyone feel like they have a fair shot at the good things in life? Can we talk openly about our society and its problems without fear of reprisal? Can we be critical of our institutions and practices? Do we embrace the diversity in our society and the richness it brings? Does everyone feel valued, and is everyone engaged positively in building a better society? Is everyone’s voice heard? Do we have open processes to make changes in our society?

If we break openness and fairness in our society, then it is very hard to move on and work on any other set of issues. Without openness and fairness, people disengage in productive activities. They engage in civil disobedience or worse. The nation loses its moral authority and leadership abroad.

There are three current openness/fairness issues in front of us, and Obama is in the right on two of them:

* A significant portion of our population feels discriminated against today, due to the same-sex marriage issue. They face discrimination in the tax code. In adoption and guardianship issues. In access to health insurance and benefits. In times of critical health issues. And in many more ways. We need to fix this, and fix it at the federal level, it is wrong to have variation in this basic civil right state by state. After some dithering, Obama is moving to the right position on this issue. * Healthcare is another fairness issue. It is hard to pursue happiness if you are fighting health problems or can’t even get basic healthcare. It is terrible that kids don’t have access to uniform care, it is terrible that young mothers can’t get basic healthcare. It is bad that you have to work for a large corporation to get decent coverage. Obamacare is a tepid and compromised first step to addressing our healthcare issues, and not every aspect of it is right. But it is an attempt to address the issues, and we need to be moving ahead, not stepping backwards. * Campaign finance is a threat to the openness of our society. The lack of any limits on corporate giving is bizarre, we are letting our political process be corrupted by corporations and organizations. This hits right at the “of the people, by the people, for the people” principle. I am a believer in a simple rule – if you can vote, you can give money. If you can’t vote, you shouldn’t be able to donate. Neither party is doing us any favors here, they both have their snouts in the campaign finance trough.

These are not the only openness and fairness issues – we have many more we need to work on. Access to quality education. Transparency in banking and finance. Privacy rights. Women’s rights. But these 3 are on my mind and on 2 of them, there are material differences between the candidates.

These issues trump everything else in the long run. Yes we need to work on economic growth, but to what end if our society and values are compromised? Yes we need to work on the budget and deficits. Yes we have foreign policy issues. But these will all be easier to work on if all our citizenry is valued and engaged, if we can talk openly about our issues, and if our institutions are not compromised.

Why FB is worth just a fraction of GOOG

12 October 2012

“Privacy Fix”:https://www.privacyfix.com/start is instructive. Who knows how accurate it is, but I bet it is directionally correct. And it says that FB makes about 5 cents a year off ads delivered to me, whereas GOOG makes about $32. I have most of my privacy settings cranked up (on both GOOG and FB), so maybe FB does a lot better with other people, but that is a factor of a 1000.

And when you consider that GOOG has other emergent revenue streams (mobile, enterprise), well I am surprised the gap in valuation isn’t even greater.

I’d love to see more features from Privacy Fix. Who exactly is paying GOOG $32? When I visit a particular page, say SI.COM, who is paying for my eyeballs there? WHat exactly does GOOG know about me and are they telling people about me?

I may have too many computers...

11 October 2012

I’m doing some dev work on an ASUS Zenbook running Ubuntu that I am carrying around. I have a Macbook Pro that I carry around for productivity and photography apps. A hand-built WIndows box at home for Steam (tho it has been frightfully long since I played a game). A Raspberry Pi, another ARM sbc, and an Arduino that I am dorking around with. Of course an IPad and a smartphone.

I thank the lucky stars for:

* Cloud services – evernote, github, spotify, bitbucket, smugmug, dropbox, skydrive, google reader, twitter, various mail and cal systems – so that I can get to my content from any of these machines * USB switches and HDMI switches – so that I can share keyboards, mice, and displays, or I would be awash in them * SSH, RDP, and other remote shell/remote desktop solutions – I would die without them

One tool that doesn’t help me much, surprisingly, is good old-fashioned file sharing. I have struggled with getting Windows 7, OSX, and Samba SMB sharing systems to be happy with each other but it is a security and rights morass. I long for the days of password–protected file shares, that would be so much easier in the home.

Grab bag of raspberry pi dev info

10 October 2012

* The “Advanced Setup page at elinux”:http://elinux.org/RPi_Advanced_Setup has great tips on how to go headless, including key-based ssh and zeroconf setup, and basic SD card setup. * This “guide at linuxnews”:http://linux-news.org/index.php/2012/06/02/raspberry-pi-emulation/ is a good guide for getting an RPI emulator working on Ubuntu, I followed it, changing only to the latest raspbian linux distro image, and it worked fine. But it has no net access so more to do. * This “arm emulation guide”:http://franciscobenitezleon.wordpress.com/2010/02/05/installing-debian-lenny-on-virtualized-arm-arch-with-qemu-on-ubuntu-karmic-koala/ adn “this one”:http://www.cnx-software.com/2011/02/10/emulate-an-arm-plaform-with-qemu-on-ubuntu-10-10/ have a little more detail on how to generate and modify the ondisk image, I might want to mix these in with the previous guide. As i understand these, there are 3 images to play around with – the in-memory kernel boot image, the initial ramdisk image (initrd), and an initial filesystem image. * “AQEMU”:http://aqemu.sourceforge.net/ looks like a useful tool for creating and managing a network connection and other qemu setup attributes * Some good guidance on “arm toolchains”:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=2&t=3812. Some people like the “sourcery toolchain”:http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/request?id=478dff82-62bc-44b2-afe2-4684d83b19b9&downloadlite=scblite2012&fmpath=/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/form. And some more “toolchain info”:https://launchpad.net/gcc-arm-embedded

ASUS Zenbook UX31a and Ubuntu -- seem like a fine pairing

09 October 2012

I need to be able to do some Linux-based dev work while mobile. I’ve limped along using OSX and also using VirtualBox, but neither of them are really optimal, notably for ARM-targeted work. For instance, building a Raspberry Pi kernel and then emulating it under OSX is very very tricky, and doing it in a VM is slooooow. So I decided I need a real Linux laptop to carry around.

I’m trying out the ASUS ultrabook – the Zenbook UX31a. Awesome name, but whatever. Some tips on Ubuntu install on this machine:

* Turn off Bluetooth in the BIOS. Under Ubuntu, Bluetooth seems to interfere with WIFI. You can find several solutions. One is to turn off Bluetooth which is no loss in my book. The other is to turn of 802.11n which seems like a poorer choice. With Bluetooth off, everything seems to work swimmingly. * I tried to install Ubuntu beside Win7 and use multiboot. It seemed problematic as the Zenbook already comes with a multiboot config for Windows, system restore, and some bag of Intel utilities. Attempting to install Ubuntu next to all this just seemed to piss the machine off, it persisted in firing up chkdsk and “fixing” the disk. There is probably some smart way to reconfig the multiboot but I gave up (oh and I see that I might have needed to use the 64bit version of Ubuntu for this to work). I ended up creating a “System Rescue CD”:http://www.sysresccd.org/SystemRescueCd_Homepage, backed up all the factory installed partitions to a USB drive, and then had Ubuntu install slam the whole disk. I wanted to keep the factory installed images in case I ever wanted to drop back to Windows for any reason (for instance if I need to get warranty service). * The “Ubuntu forums”:https://help.ubuntu.com/community/AsusZenbookPrime have a fine list of tweaks to apply to get the system fully working. I did the SSD changes, the webcam utility install, the power management tips, and the “highly experimental” touchpad support. Nothing seems to have exploded.

So, up and running. All seems well. The machine is lightweight and seems like it will serve well. I am a little annoyed with the ugly intel and windows decals slammed on the machine that seem impossible to remove, they mar the lines of the machine.

Recent nonfiction -- Quantum Universe, Disrupting Class

07 October 2012

* “The Quantum Universe”:amazon by Brian Cox and Jeff Forshaw. An attempt to explain quantum mechanics. Some good elements but the authors wed themselves to an analogy using clocks that I think just confuses the matter. I gave up 30% in. * “Disrupting Class”:amazon by Clayton Christensen, Curtis Johnson, Michael Horn. Like most nonfiction books, this should be a pamphlet. Good stuff but overly drawn out. Kids have different types of IQ and learning styles, technology can be used to create custom targeted learning experiences.

Recent Fiction -- Adiga, Child, Ignatius, Stein, Abercrombie, Flynn, Simonson

07 October 2012

* “Major Pettigrew’s Last Stand”:amazon by Helen Simonson. An aging British major finds love unexpectedly across race and class boundaries. Awkwardness, tragedy, loss, redemption all ensue. An excellent tale. * “The Blade Itself: The First Law: Book One”:amazon by Joe Abercrombie, and the two following books in the series. Does a great job of creating empathy for an unloveable set of main characters – a torturer, a foppish young swordfighter, two savage killers, an amoral wizard, a drunkard. * “Gone Girl”:amazon by Gillian Flynn. Twisty and fun tale about a missing woman and her husband, the leading suspect. Lots of twists and turns. * “The Art of Racing in the Rain”:amazon by Garth Stein. A story featuring a dying dog dying, a dying spouse, and a terrible custody battle is going to be a downer. But a couple of really interesting characters and some redemption at the end manage to lighten the tale just enough. * “The White Tiger”:amazon by Aravind Adiga. Very engaging novel set in modern India, provides a lot of insight into the many cultures and contradictions of the nation. * “A Wanted Man”:amazon by Lee Child. Reacher novels are always fun, looking forward to the movie. The plot doesn’t make a lot of sense but that is not why one reads Reacher. * “Bloodmoney”:amazon by David Ignatius. Now this plot makes a lot of sense and one can totally imagine that some form of this chicanery has taken place. Good characters and good pace.

Raspberry Pi Dev Environment on OSX, round 2

03 October 2012

OK I am still “stymied by a linker problem”:http://theludwigs.com/2012/09/trying-to-get-set-up-a-raspberry-pi-dev-environment-on-osx/ in getting a native OSX Raspberry Pi dev environment set up. Stymied might be a strong word, I haven’t looked the make file nor have I spent any time cruising the various forums to see if there is an answer to my problem.

That is because I have moved on to another approach – a vm-based approach. And I am successfully compiling now. The setup:

* Install the “Virtual Box”:https://www.virtualbox.org OSX software, and create a new Ubuntu VM. * Download the latest “Ubuntu image”:http://www.ubuntu.com/download * Bring up the VM, and then follow the recipe at “elinux”:http://elinux.org/RPi_Kernel_Compilation for a foreign Ubuntu machine. Note that these instructions assume you are transferring the image over to a raspberry pi and have a lot of extra steps. I am just trying to get to an image I can run in an emulator, and so once the kernel is compiled, I can flip over to the instructions at… * …“RPIForum”:http://www.rpiforum.net/forum/tutorials/article/16-a-raspberry-pi-emulated-environment-on-osx-lion/. I could run the QEMU emulator inside Virtual Box at this point, but running an emulator inside a vm seems a little nutty. So at this point I can pull the zImage image out of the VM and run the native osx qemu emulator.

So still a little Rube-Goldbergian, but working and viable. And since most of the work is done in a VM, I can move the setup over to a Windows machine or a Linux machine or wherever.

If you are coming from the PC universe, the Raspberry Pi boot sequence is funky

03 October 2012

Read the “RPIforum”:http://elinux.org/RPi_Software outline carefully. No boot rom, no boot loader. Instead:

The boards do not include NAND or NOR storage - everything is on the SD card, which has a FAT32 partition with GPU firmware and a kernel image, and an EXT2 partition with the rootfs. We’re not currently using a bootloader - we actually boot via the GPU, which contains a proprietary RISC core (wacky architecture). The GPU mounts the SD card, loads GPU firmware and brings up display/video/3d, loads a kernel image, resets the SD card host and starts the ARM.

I was hopelessly confused as to why I needed a kernel image and a system disk image until I read this. It is no goofier than the PC BIOS but is just different.

By the way, I'm back to the iPhone

02 October 2012

After 6 months or so with the “Nokia Lumia”:http://theludwigs.com/2012/04/switching-to-the-nokia-lumia-900-for-a-while/, I’m back to the iPhone – the iPhone 5. The Lumia was nice looking hardware, but Nokia and MSFT’s orphaning of the handset annoyed me, and the device was pretty underpowered. The iPhone feels marvelously responsive in contrast. I have to say the IOS software is still pretty boring, still a sea of icons. But it is good to be back to a phone with a rich marketplace of apps.

Trying to get set up a Raspberry Pi dev environment on OSX

30 September 2012

I’ve been trying to get a Raspberry Pi dev environment set up on OSX. I’d like to have a cross compiler, a full linux build, an emulator all operational.

There is a pretty clear outline at “RPIforum from earlier this summer”:http://www.rpiforum.net/forum/tutorials/article/16-a-raspberry-pi-emulated-environment-on-osx-lion/. I’ve had partial success:

* Install Xcode and Xcode command line tools. No problem, I had these around anyway * Install “homebrew”:http://mxcl.github.com/homebrew/. A package manager for OSX, a good thing to have. Installing this is what finally “broke my existing flawed OSX install”:http://theludwigs.com/2012/09/beware-the-osx-migration-assistant/ and drove me to reinstall OSX. But installed super cleanly once I had a fresh OSX * Install the dependencies for ARM toolchain: brew install mpfr gmp libmpc libelf texinfo. There is a known error with mpfr compilation, so reinstall that with flags “per homewbrew wiki”:https://github.com/mxcl/homebrew/issues/15061. * Then install the Arm tools. BTW, you can’t just copy and past the script from the RPI forum page because of the damn smart quotes – echo “export PATH=$HOME/rpi/arm-cs-tools/bin:$PATH” » ~/.bash_profile will utterly fail * Then compile kernel. This step is unfortunately failing late in the process, I think at the linking stage. Still digging into. I have tried an alternative recipe at “the elinux site”:elinux.org/RPi_Kernel_Compilation, it fails as well, in both cases unhappy with the vmlinux file. * Then install the qemu emulator. the rpi forum recipe is missing a dash, should be a double dash in front of the use-gcc flag i believe. works fine with that change

So I feel close. Just need to dig into the kernel compile problem. Here are the details, I need to study the make file to figure out exactly where this occurs:

``

==> make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k > compile.txt size: file: arch/arm/boot/compressed/../../../../vmlinux is not an object file size: file: arch/arm/boot/compressed/../../../../vmlinux is not an object file size: file: arch/arm/boot/compressed/../../../../vmlinux is not an object file size: file: arch/arm/boot/compressed/../../../../vmlinux is not an object file arch/arm/boot/compressed/vmlinux.lds:77: undefined symbol __OBJC' referenced in expression make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1 make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2 make[1]: Target arch/arm/boot/zImage’ not remade because of errors. make: *** [zImage] Error 2 make: Target _all' not remade because of errors.`

Tip of the day -- toggle hidden files in finder

30 September 2012

Great “recipe for setting up an automator script”:http://www.macosxtips.co.uk/index_files/quickly-show-hidden-files.php to toggle hidden file display on and off in the finder.

Also the Command-Shift-. keyboard shortcut for open/save dialogs is a huge win, I had no idea that existed.

Nice time savers.

Beware the OSX Migration Assistant

29 September 2012

When I got my Retina Macbook Pro, I used the migration assistant to transfer over all my docs and apps. I had used it in the past and it had worked fine.

But this time, my experience was different. First, it struggled with the amount of picture and music content I tried to transfer over, something about 200G+ of data didn’t make it happy. I ultimately just copied over my iTunes and Aperture libraries manually.

But the bigger problem is that the migration utility refused to copy apps and docs from the “John” account on my old macbook pro to the “John” account on the new machine. It mumbled about the account already existing and demanded I used a new account.

And this ended up being a disaster. I’ve suffered thru a couple months of a constant chown/chmod fest and I have given up. Nothing wants to run, and sudo doesn’t even reliably solve.

So yesterday I nuked the whole SSD and put a fresh install of Mountain Lion on the machine. I downloaded Mountain Lion from the app store, used “Lion Diskmaker”:http://blog.gete.net/lion-diskmaker-us/ to put it on a usb key, rebooted in rescue mode, formatted the SSD, and reinstalled Mountain Lion. And then reinstalled the 50 or os apps, reconnected mail/cal/contacts to all my accounts, reinstalled plugins for xcode, aperture, safari, etc, copied over my Aperture and iTunes library and docs from a network store, and am pretty much back up and running.

Lesson learned. I’m not the only person in the world that has hit this, here is a “good description of the core problem”:http://pondini.org/OSX/MigrationProblems.html and the many ways you can try to solve. One wonders why anyone thought this was a reasonable way for the migration assistnat to act.

I don't understand injury report strategy

21 September 2012

Apparently a lot of coaches think the smart thing to do is to “withhold injury information”:http://collegefootballtalk.nbcsports.com/2012/09/20/lane-kiffin-supports-a-uniform-injury-policy/. Others “spew out injury information at the drop of a hat”:http://www.cleveland.com/buckeyeblog/index.ssf/2012/09/injuries_injuries_though_some.html

This seems obvious to me. At the limit, if you disclose nothing:

* Your opponent must assume that all your best players will play * Your opponent thus must prep for your best possible effort * Your opponent may get an upside surprise when they find you field a weaker team than for which they prepped.

On the other hand, if you disclose every possible injury:

* Your opponent will see that many of your players may be limited * Your opponent may not plan for your best effort * Your opponent may get a downside surprise when they find you field a stronger team than they expected.

It seems obvious to me that you should disclose every injury, major or minor.

Too bad Fisker didn't use Kickstarter

17 September 2012

So a longish time ago I got all excited about the “Fisker Karma”:http://onward.fiskerautomotive.com/en-us/karma/overview/ and put a $1000 deposit down.

Then the car was super late. And the interior was very tight. And the performance wasn’t that outstanding. And I loved my Audi. And I couldn’t justify the expense.

To my surprise they called me last month and offered me my deposit back, I figured that money was long gone.