By far my favorite way to learn a new subject is to find a well written book or tutorial on it. I have spent many years learning about software development but did not find it to be a true joy until I found Michael Hartl’s Rails Tutorial. I have attempted to watch and follow online courses but have found that I do not retain the information as well. I made a couple of failed attempts to learn Swift using Stanford’s online course but found picking up the professor’s book to be much easier to follow. I found the same be true of learning automated testing with RSpec. It becomes easy to figure out why companies like O’Reilly Media do so well.
Lectures, in-person teaching, and other techniques rarely worked well for me. However the explosion of YouTube and video lectures has been a big leap forward. While I can gleam concepts from lectures I really enjoy being able to rewind and replay videos to understand what the speaker is talking about. Harvard’s CS50 lectures are some of the best that I have watched. A well done lecture can augment learning, but I still rarely find them as good as a book.
The explosion of coding bootcamps, college courses, personal trainers, and other pay for teaching services shows that what works for me is not what works best for many people. I have come to recognize that I am not usual. However this unusualness gives me an advantage. Books tend to be much cheaper than courses and lectures. Unfortunately while organizations are happy to give folks professional development time to attend a course, it can be challenging to convince them to give you time to sit down with a good book.
One of the biggest banes of my existence is dealing with passwords. In order to manage my collection I have an app called 1Password that mostly takes care of my password management. However they recently released a new beta version that has proven to be buggy. Ironically I attempted to report the bugs in their beta form and after filling out their form failed to login. Then I attempted to recover my password by putting in my username and did not get a reset email. Maybe it went to an email address I no longer own. Either way I instead decided to report my bug via twitter.
1Password has shown me that I have a huge number of passwords. My 1Password database contains 872 items, and out of them 625 are over 3 years old. I rarely change my passwords and do not have the energy to go through 625 logins to be more secure. This is why I am excited by new systems like Apple using FaceID and Apple Watch to secure accounts. I would be able to authenticate without needing to know a password for each website. The most surprising thing to me is that you can already use Apple’s APIs for payment but they have not extended them for web logins yet. As a user and web developer being able to login using Apple’s system would be a huge leap forward in not needing to keep track of nearly 1000 passwords.
Finally the biggest challenge with password management to me is the fact I keep getting logged out. Despite trying to use a third party application to stay logged into Gmail and trusting my computer I am asked to sign in almost every other day. When I do certain things on GitHub I am also asked to re-confirm my password. Ultimately if I am using a device that I am authenticated to, I want to be able to stay logged in. It might not be perfectly secure, but the cost and annoyance of having to login all the time is huge.
One of my favorite speeches ever is Aaron Sorkin’s graduation speech:
Develop your own compass, and trust it. Take risks, dare to fail, remember the first person through the wall always gets hurt.
I spent the weekend in New York City visiting friends. While living in Boston gives me a window into the future going to New York City gives one a window into prosperity. Walking around the Upper East Side you can feel the wealth. While Boston may build the future, New York City seems more likely to fund it.
And that is what I have been spending my time thinking about over the past week or two. As I work on my civic technology projects one of the pieces of the puzzle that remains challenging is sustainability and funding. Regular technology projects are often funded by venture capitalists and then supported by product or ad revenue. Civic technology projects need to be financed by increasingly strapped government. We are lucky that many philanthropic foundations like Bloomberg are putting money towards trying to show government that civic technology can work, but we need to build the case that this work is worth including in government budgets that increasingly are under pressure by pension costs.
I never thought of myself as a fundraiser. It is not something that I typically enjoy. However I have spent enough time in politics to understand the importance of fundraising. Money is fuel for growth and change. And growth and change are the things that improve the lives of everyone. If government is to improve the lives of people, the people need to invest in their communities.
This morning I saw the following tweet from Aaron Snow in my timeline:
Stories like these frustrate me greatly as someone who builds technology for government. The first reason is the size of these contracts are enormous relative to the cost of developing good software. At MAPC our projects tend to all be budgeted under a million dollars. We deliver them in the span of a year or so with a small team of developers. The magic part about software is unless you reach enormous scale, you can serve millions of users without spending lots of extra money. At Berkman Klein I worked on a project that served millions of users via Google Search on a daily basis and had three developers on it. The team that fixed Healthcare.gov fit inside a single mansion. You do not need a large team to build great technology.
The second reason is the human impact this has. This broken technology at millions of wasted taxpayer dollars has taken that money from available social services. It has made it more challenging for the most vulnerable among us to qualify and register for the social services they are entitled to. This impacts on the Rhode Island economy and the faith of people in their government. In an era where people trust government less and less, we need it to make better decisions about technology so people have more faith in it. We can and should do better.