A Little Ludwig Goes a Long Way

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

Your Buckeye-colored guide to this weekend's football -- go BC! go UW! go Utah!

09 October 2013

bcWe are getting close to the first BCS rankings and the projections clearly identify OSU’s problem – the computers hate them, and they hate the rest of OSU’s opponents. Without a lot of help OSU will be on the outside looking in, even if OSU takes care of business throughout the season. OSU is certainly going to be stuck behind the ACC champ and the Pac12 champ if those teams are undefeated, so OSU needs to remain undefeated and hope those champs have 1 loss.

So this weekend, while OSU is enjoying it’s bye, here is the OSU fan’s viewing guide:

  • BC at Clemson, 1230pm, ABC/ESPN2. Unfortunately I don’t think BC is very good so I have to cheer for Clemson to have one of those days where nothing goes right. Probably not happening.
  • UW vs Oregon, 1pm, Fox Sports 1. (Why is this game relegated to Fox Sports 1?) Big rivalry game, these schools don’t like each other. Oregon is awash in Nike money and, in the eyes of Washington fans, is the most corrupt school yet to be caught cheating. The Huskies looked very good against Stanford. Oregon has been running up numbers against hapless opponents. Here is hoping that Oregon trips over their first taste of adversity.
  • Stanford at Utah, 3PM, Pac12 Network. Utah is a credible team, Stanford might have a letdown after UW game, it is Stanford’s first tough road game. Certainly reasons to hope for the upset

Is there really no way in Android to tell the os that a .md file is a text file?

08 October 2013

I have a bunch of markdown files on dropbox. (and also some restructured text files). i just want to edit these with my text editor on android. but apparently there is no way to tell android that a .md file is just text? Android doesn’t maintain a mime/file type registry and a user can’t just add a mapping? without screwing around with app manifests?

Someone please point me in the right direction if there is a way to do this.

Rooting my Android phone and putting on a clean rom -- but which rom?

07 October 2013

http://www.flickr.com/photos/mikelove/Crap there are too many choices. XDA dev has somewhat popular options for the ATT G2

  • Cleanrom is the most popular and scrapes off all the AT&T goo while leaving LG goo. This seems like a reasonable approach
  • AEON is second most popular but man the pages feel sketchy.
  • Basic rom is the third choice and seems to wipe off AT&T and LG cruft.

Then there is some Korean derivative and a stock AT&T rom that has been rooted.

This is probably all going to turn into a chocolate mess. Don’t be surprised if you call me or text me and never hear back.

UPDATE: Ok I am working first on rooting the phone. This is so obvious:

  • Go to Settings, General, About Phone, Software Information, and whale away on “Build Number” until developer mode unlocks. Crappiest easter egg ever.
  • Back to Settings…General…Developer Options and turn on USB Debugging.
  • On your PC, download the LG drivers from the LG support web site.
  • Hook up the phone to the pc
  • download the ioroot package pointed to by the xda forums

OK so I guess I am rooted now. Yay. Geek merit badge partially redeemed.

My feelings on Android 3 weeks in

07 October 2013

  1. If this was the first smartphone I’d ever had, I’d be happy. Good app selection, looks nice, works fine.
  2. Battery life is a lot better than the iPhone 5 + ios 7. Not sure why but it is better. Life changing better? No, but I don’t have to run from charger to charger anymore. I can get 3/4s of a day of solid use on a charge, and I am always in the car a little bit each day (with car charger), and so I am generally making it a full day. Much happer.
  3. As many people have pointed out, the touchscreen is just not as good as the iphone. Fewer pixels, worse software, I don’t know, but it is just not as good.
  4. Fragmentation has real impacts. I’ve tried to change usage tips with other Android users, and simple things are moved around in the UI from OEM to OEM. Or carrier to carrier. Just stupid on everyone’s part.

I’m going to probably root the phone in the next couple weeks and see if I can’t get a clean Android build on and see if that improves the fragmentation point. Good tips up on xda dev

Recent Books -- Smil, Candide, Wiesenthal

06 October 2013

candideThe last set of books I read had some stinkers, perhaps not suprising given that I was surfing through popular genre fictions. Decided to raise my standards a little bit:

  • Harvesting the Biosphere by Vaclav Smil. Some random blogger recommended this book, it’s a descriptive survey of human consumption of the planet’s biological resources. Not very prescriptive, but interesting and great background data. Boy could the author use some data visualization advice tho, a few charts would go a LONG way.
  • Candide by Voltaire. What a fun book. My knowledge of mid-1700 European politics and intellectual movements is pretty thin, so thankfully the notes give a lot of context. We need a modern version of this talk written with our idiotic current government and politics as the setting.
  • The Sunflower by Simon Wiesenthal. This was in the house, I think one of kids had to read this at some point. Probably best read as part of a discussion group or class, the book is not that long or engaging, but the discussions could be very enlightening.

Evernote you are dead to me

06 October 2013

I’ve used evernote for years. I’ve loved having my notes everywhere, on every device. They’ve had great coverage of devices. Their UI is a little long in the tooth but still I have loved it.

And now I need to walk away. Twice in the last 2 weeks I’ve experienced unavailability and data loss. On one of my iPads, Evernote refuses to show me any note created past July of this year. No idea why. Uninstall didn’t help. Plenty of storage free on the iPad. Just a mystery.

I might be able to live with this, but even worse one of my notes has just gone missing. Probably the single note I refer to most often as it has some network config info in it for one of my setups. It is just gone. Not in the trash on any device. Just gone. Thankfully I had not sync’ed on my Android phone and was able to copy the missing note before I sync’ed and past it somewhere else. Once I synced it was gone on that device too.

I have no tolerance for data loss. Moving everything out today. Wish there was an note editor that fronted github on all platforms.

UPDATE: I followed through. All my content is out of Evernote and account deleted. I really really really can’t tolerate data loss. All my notes are in github now with an additional replication system in my house so that i am protected against machine failure and github failure. and i have a couple machines syncing with github so i should have version information available in multiple places.

Moving on to the next phase of my professional life.

30 September 2013

http://www.flickr.com/photos/calliope/As of midnight tonight, I am a free agent for the first time in a long time. I am leaving Ignition and beginning to plan the next phase of my professional life. It has been a while coming.

I’ve been associated with Ignition for 13+ years – the longest involvement I’ve ever had with a company. The early days were exciting, I was fully engaged. But in 2005, some personal issues caused me to step aside for a while. I eventually was able to recommit time to Ignition, but I never really had the same connection after returning. I found myself frustrated with the venture model, uninspired about the nature of the work, and too often thinking that I was on the wrong side of the table – my empathy was with sweat equity, not financial equity.

And so I’ve made no new investments the last couple years, I’m not part of the latest fund, I’m not currently on a board seat. I’ve effectively voted with my feet, I don’t really want to be involved with the venture business anymore. So effective now, I am completely out of Ignition, I am not involved with management of Ignition or the funds at all. I still have an investor’s interest in the funds, but I am just another LP now. It’s an amicable separation, I wish my remaining friends at Ignition all the best, I will still help them out when asked, as I will my friends at portfolio companies.

Going forward, I am not going to be sitting in the park feeding pigeons. I am as excited about technology as I’ve ever been. I am working hard on retraining myself to be a modern developer, becoming conversant with all the current technologies and tools. I am very excited about the coming wave of ever cheaper devices and the Internet of Things (terrible name tho). It still feels like early days in the digital revolution. I am meeting folks, talking about ideas, prototyping little things, learning open source, brainstorming, etc. I have 25 devices and sensors spread all over my desk. I’m working with some other folks on all this and having a blast. We may form a company. We may do angel investing. We may do something else. At some point I, and we, will be ready to talk about what we are doing next.

For now tho, I am enjoying the freedom of a completely blank slate, and the chance to really dig in to technology. And the opportunity to do more of the things that I enjoy – working with great people, betting on the long technology waves, and figuring out the thin edge of the wedge for new technologies and new products.

Video Bills??? Really AT&T???

28 September 2013

“Congratulations! Your first AT&T Wireless Bill is Now Available on Video.”

videobill

Who came up with this one? What was the internal discussion around this, how did they convince themselves that “video bills” were a good idea? This better not add even a penny to my monthly billing.

I'm kind of in container/vm hell right now, I must be doing it wrong.

26 September 2013

www.CGPGrey.comSo I have a Docker/Ubuntu VM running in virtualbox via vagrant, and am building new docker images that i can use as containers in another virtualbox vm running coreos, and i need to copy files around between all these, and ssh between them, and manage all the variants of images that each of these needs, and manage packages across all these (and trying to avoid using different package managers between all these), and oh yes i also spin up vms at a cloud service and need to shuttle things up there and back, and also i need to build some physical install images for real hardware, and manage all the images and packages for that, and jeepers this is all confusing as hell. so many levels of containment and slightly different containers and key management and network management and i just want to blow my brains out at some point.

Feels like there is a need for a new type of IDE that manages all this crap and keeps it straight for you. A container/cloud focused IDE. The emergent wave of cloud IDEs are great for the cloud but they don’t really help me with all this other stuff.

Maybe I am doing it wrong? Maybe I should just dump virtualbox (which is kind of a buggy mess anyway) and just shift everything to cloud vms on a particular cloud service? that has some appeal, but i am thinking about building appliances and ultimately i need code running right here in boxes here, accessing real devices and inputs here.

Thank goodness college football starts for real this weekend.

25 September 2013

buckeyes 001OK now that the miserable non-conference schedule is out of the way, on to the real season. OSU is bunched up with a large number of undefeateds at the top of the polls. OSU can probably get to the BCS championship if they remain undefeated, but given weakness of schedule, they probably need help – if they end the regular season with the same record as an SEC and a PAC-12 team, I fear the Buckeyes would be odd man out. A quick glance suggests that these games and weekends could define who plays for the championship:

  • Weekend of September 29: #23 Wisconsin @ #3 OSU, #6 LSU @ #9 Georgia. Certainly OSU’s biggest bump in the road, and an LSU win on the road could vault them up the standings.
  • Weekend of October 5: #16 Washington @ #5 Stanford. Go Huskies!
  • Weekend of October 12: #2 Oregon @ #16 Washington, #20 Florida @ #6 LSU.
  • Weekend of October 19: #8 FSU @ #3 Clemson
  • Weekend of October 26: PSU @ #4 OSU
  • Weekend of November 9: #2 Oregon @ #5 Stanford, #6 LSU @ #1 Alabama
  • Weekend of November 23: #10 Texas A&M @ #6 LSU
  • Weekend of November 30: #1 Alabama @ Auburn, #3 Clemson at #12 South Carolina, #4 OSU @ #18 Michigan, #22 ND @ #5 Stanford, #8 FSU @ #20 Florida,
  • Weekend of December 7: Conference Championship games. Very possibly a rematch for OSU vs Northwestern or OSU vs Michigan?

Looking forward to a great season!

NCAA coaches dumping on players re APU movement is kind of a dick move.

25 September 2013

Fitzgerald “disappointed” – OK when you read the details, Fitzgerald actually is pretty reasonable, but still his word choice “disappointment” is what carries the day. And he should know that. A guy in position of power, making millions of dollars, expressing any disapproval of a young player who is under-compensated and has few rights – that is a dick move. Saying it is a team issue and should have been handled within the team, and then talking to the press about it and expressing disappointment – how exactly is that a team move on the coach’s part?

Hopefully some coach will get on the right side of this issue.

Experimenting with CoreOS

24 September 2013

CoreOS seems like a very nice idea – a minimal linux kernel with just enough libs to run and manage containers. So a container-ready linux kernel, systemd to launch and maintain containers, and etcd to communicate settings (key-value pairs) across containers. The project is motivated by high scale datacenter needs, but i think it is a much more general idea, i see applications in the appliance space as well – managing the software load on a widely deployed set of appliances is hard for many of the same reasons that managing the software load in a datacenter is hard.

I have been using a Centos kernel for my appliance experiments but am going to try a quick coreos experiment. There are some things I don’t understand yet – coreos at this point is focused on virtualized environments and the bare-metal support is just coming along. SystemD is cool but if the containers are centos based, not quite sure how that is going to work out. and networking within the appliance is confusing to me, the coreos docs suggest that one of the containers can manage all the traffic distribution but i am not quite clear on how that works at all levels – dhcp, dns, iptables, nginx, etc etc etc.

So lots to learn! Digging in…

Deeper into CoreOS networking -- I understand most but not all of what is happening

24 September 2013

OK so I brought up a CoreOS instance using Vagrant/virtualbox on my machine. I am trying to understand the network config and how traffic is managed and routed to the containers. From spelunking around the web, here is what I think is happening:

  • CoreOS uses iptables to control routing and deliver to containers.
  • By default the iptables rule set is totally open – everything accepted, everything permitted, everything routed. ie, /sbin/iptables -L indicates that there are no rules set and the defaults are ACCEPT.
  • As an option, one could create an iptable firewall config and define a systemd config file that ran it. So system-wide restrictions can be implemented.
  • Additionally/alternatively, the individual containers can define iptables firewalls (using systemd or whatever in those containers).
  • you have a very permissive iptables setup in coreos, you are letting all
  • OK besides the inbound ethernet interface, CoreOS defines a bridge interface for the containers to use.
  • Per http://blog.docker.io/2013/03/docker-containers-can-haz-networking-now/, Docker analyses the bridge definition and uses that to assign IP addresses to the containers that start up. This is how containers get their IP addresses.
  • The Docker command line can also be used to map certain inbound ports to the container. Docker will twiddle the nat table rules to achieve this.

OK so this makes sense. so now let’s look at what is actually happening on my system when I bring up CoreOS in a VM, with two containers, an ubuntu and a centos container.

  • “/sbin/iptables -L” confirms that iptables is totally permissive. Check
  • “/sbin/iptables -L -t nat” shows that Docker has indeed inserted itself into the nat table, the appropriate nat rules are there along with the necessary masquerade rule. Check.
  • “/sbin/brctl show” lists two virtual ethernet connectors, one per running container. When I kill a container, one disappears. Check.
  • “/bin/ifconfig” starts to confuse me a little. after the one container is killed, with only one running, i get the following interfaces:

    • bond0: I understand what a bonded interface is, but this seems like a rump inteface. No ethernet address, no aliasing i can find anywhere, there is nothing to bond? there is no packet traffic over the interface.
    • docker0: ok this makes sense, this is the previously defined bridge for the containers, check.
    • enp0s3: this has a reasonable looking IP address and is probably the virtual interface for the coreos host, check.
    • gre0: ok this is usually for ip tunneling, as is the next. But i am not tunneling anything I don’t think? And again no traffic on it.
    • tunl0. no traffic on it.
    • lo: standard loopback, check.
    • vethXXXX: this is the adapter for the active container, check.
    • within a container, ifconfig shows me the virtual ethernet interface and a loopback interface, and iptables is wide open. check.

So I think I understand the lay of the land. Maybe the tunneling and bonding are just created for all configs but only used in certain uses?

UPDATE: the good people on the coreos google group helped me out, the bond/gre/tunl adapters are temporary artifacts that are unneeded and will go away.

Switched from iPhone to Android this week

21 September 2013

lg-g2I’ve been an iPhone user since the first release, and have upgraded my hardware faithfully at every opportunity. I did take a little detour to Windows Phone land for a short while.

But I flipped this week to an LG G2 android device. I’ve been running the developer previews of iOS7 for months so there was no real new excitement from Apple for me this week on the software front. And the new iPhone hardware is fine but nothing stunning about it. And most importantly, neither the hardware nor the software addresses my number one smartphone problem: battery life. I have struggled with my iPhone 5, needing to keep charging setups at home, in all cars, at work, and cables and car chargers with me at all times. I use the internet a lot and I would get at most a half day of use on a charge. And then iOS7 just make it horrible with the background tasks – Facebook and Maps in particular would just kill my battery, and this never got a lot better during the iOS7 betas. I had to constantly monitor what tasks were running and manually kill them. Smarter battery management is sorely lacking on these devices – there is no reason that Facebook should be nattering away in the background burning battery when the phone is in my pocket. Maybe the app developer thinks their app is so awesome that it should do this, but the OS should be smarter about managing the tradeoff between network usage and battery life.

So I am switching. I am looking for the full smartphone experience with better battery life. Several Android phones promise this, and I decided to try the LG based on other’s recommendations. I’m only in day 2 so I can’t be sure if it has solved the problem, but it does seem at first impression to survive longer on a charge. And it certainly has every app I need. The level of polish is so much better than the Android devices I toyed with 2 years ago. Way too many buttons and options but I am learning my way around all that. The input keyboard is way better than iOS thanks to Swype and also better autocorrect preview.