Sunday Selection 2018-01-28

Around the Web

Field Notes Shenandoah Edition
Field Notes Shenandoah Edition

Why Field Notes Have Remained Curiously Addictive for a Decade

In the last few years, I’ve become a big fan of pen (and pencil) and paper for taking notes, journaling and sketching out ideas. More recently, I started carrying around a Field Notes pocket notebook all the time and using it to write down and keep track of all kinds of things about my day-to-day life. This is a wide-ranging and very interesting article about how Field Notes got started and kept going, along with a healthy dose of context to understand the why paper notebooks seem to making a comeback.

From inboxing to thought showers: how business bullshit took over

I’m very grateful to work in a field and environment where I have to deal with very little “business bullshit” on a regular basis. But this is an interesting look at how differences in language can shape the way we think and act and can spread unchecked through society at large. Pair this with an older article on the phenomenon of bullshit jobs.

Human Values and Science, Art and Mathematics

I am a big fan of Maria Popova’s Brain Pickings blog and this is, in my opinion, the best article she’s written so far this year. It contain’s excerpts from an out-of-print by Lilian Lieber of the above name interspersed with Popova’s commentary. The book starts off using the discovery of non-Euclidean geometry to explain how science progresses, and then extends that line of reasoning to understanding the human condition, ending with a set of postulates that I think deserves to sit right beside Utilitarianism and Kant’s Categorical Imperative as foundational moral principles. A long, interesting and inspiring read. I hope to get my hands on a copy of the book itself someday.

From the Bookshelf

The Rise and Fall of DODO by Neal Stephenson and Nicole Galland

I started this year wanting to read one book a week, but it looks like I might end up at one book a month instead. Oh well, I think I picked a good one to start with. Without going into details, this book blends together magic, time travel, politics, and a wide range of curious characters into a gripping and hard-to-put-down read. This book has made me stay up past my bedtime reading for the first time in a long while.

Video

Pacific Rim: Uprising 2nd trailer

The original Pacific Rim is one of my favorite movies. As far as movies go, I would it’s very good, but not excellent, but it is a whole lot of fun with a lot of great and unconventional characters. I’m really looking forward to the second installment, and to seeing more of Guillermo del Toro’s excellent work.

Advertisements

Amazon’s Digital Wonderland

A few weeks ago I found myself in Seattle, WA. Contrary to popular belief, it was a rather bright and sunny few days (if somewhat chilly). Here’s an obligatory picture of the Sky Needle.

Sky Needle

Anyways, on the first day there I fought a mostly losing battle against travel-induced tiredness (I was up at 4:30 in the morning) and walked around downtown for a while, somewhat zombie-like. I spent the most of the next day in one of Amazon’s new buildings attending their first ever PhD Symposium. I got to meet Amazon employees like Swami Sivasubramanian, one of the creators of Amazon’s Dynamo database, as well as fellow graduate students like Rahul Potharaju. The day was full of interesting presentations and the breaks in between were packed with lots of cool conversations. I presented my current project, Merlin(excuse the visuals) and got some good feedback. All-in-all it was a great day, I had a wonderful time and I hope Amazon keeps having more of these research Symposia.

But that’s not what this post is about. Personally, I think of Amazon as a retailer first and a technology company second. In fact, I’ve even written a post about their exemplary customer service. Even though I’ve known about EC2 for years and have used both S3 and Glacier as personal backup, the idea of Amazon as a technology company has always been at the back of my mind. In fact, it was only while attending the symposium that I really thought about the full weight of Amazon as a technology services company.

After coming home I looked up the keynote from Amazon’s recent Re:Invent conference. The keynote shows off some of their more interesting recent technology (including new EC2 instances) as well as client technologies built on top of it (including companies like Netflix and Vimeo). I also stumbled across Dave Winer’s post on Amazon’s support of static JavaScript applications and why that’s so interesting and important.

The more I think about it, the more I like Amazon. They make incredible technology, employ lots of really smart people and have a refreshingly honest and direct business model in an industry dominated by advertising and harvesting user data. From computation, to storage, to scalable DNS, Amazon offers a suite of services that’s just about stunning in its breadth. Though I’ve had little use for their services personally (apart from Glacier for backup), I can see myself extensively using their systems and technology if I was building any of type of scalable, distributed service.

Even as I write this, I’m trying to come up with excuses for trying out more of their technology. What would I build? I honestly don’t know. But looking at the range of Amazon technologies and thinking about the possibilities reminds me of the feelings I got when I first started programming and learning about computers.

In many ways, the world has changed since I started writing code about 12 years ago. I had a lot of fun writing LOGO and BASIC programs and then hacking together little Perl scripts. Today I find myself wondering what the loosely coupled services and technologies offered by Amazon and other cloud computing services enable. I wonder if the new programmers of today, still learning on primarily single-threaded, single-box computing platforms, should be encouraged to move on to the brave new world of instantly accessible, practically unlimited computing power. I wonder what we’ll achieve if we were to take distributed, connected computation as the starting point, rather than the state of the art.

As an ending note, let’s think about Microsoft. It’s become standard to talk about Google as today’s Microsoft, but I’m starting to wonder if that title doesn’t rightfully belong to Amazon. I’m not talking about monopolistic activities or questionable business practices, but rather their similarities in making computing more popular. Microsoft’s goal (ostensibly) was to put a computer in every household. Amazon, for its part, has commoditized high-powered computing and distributed systems and made them available to people with modest budgets. I suppose the more things change, the more they stay the same.

Sunday Selection 2013-10-13

Around the Web

Advice to a Young Programmer

I’ve learned a lot about system design and programming since I started grad school two years ago. I’m still learning a lot as I use new tools and techniques. This post does a good job of summarizing an experienced programmer’s advice to someone younger and newer to the craft.

Why Microsoft Word Must Die

I’m quite happy to say that I haven’t used Word in years. I don’t have a copy installed and I can’t remember the last time I needed to edit a Word document. I use LaTeX for most of my writing (everything from applications and academic papers to my resume). For the rare occasion that I need to open a Word document, Google Docs is more than adequate. Charlie Stross is one of my favorite newer science fiction authors and like most of his technology-related writing, this piece is on point about why the modern Microsoft Word is simply bad.

Less is Exponentially More

This article about why Go hasn’t attracted more C++ programmers is over a year old, but as a student of language design it’s interesting to see how language features interact with programmers’ needs. If you’re interested in programming languages or write lot of C++ code this is a worthwhile read.

Video

Jiro Dreams of Sushi

I’ve been meaning to watch this documentary for a long time, but finally got around to seeing it last night. It’s about Jiro Ono, and 85-year-old sushi master and owner of a tiny 3-star Michelin sushi restaurant in Japan. At its heart it’s a story of a man’s quest for perfection and devotion to his craft. Though it’s ostensibly about the art of sushi, I think there’s a lot for any professional can learn. It reflects a way of life and devotion to purpose that we rarely see in day-to-day life. You can catch it on Netflix streaming and on Amazon Instant Video (it’s not free for Prime members though).

Sunday Selection 2012-12-09

Around the Web

A Funny Thing Happened on the Way to Academia

As my third semester as a PhD student draws to an end, I’m starting to think about what to do in the long term: what kind of a career I want to have, what kind of problems I want to focus on, etc. This piece is an interesting look at how research in computer science can coexist with making an impact in the real world today.

Trouble at Code School

I’ve been a Teaching Assistant for two semesters, but I haven’t really been on the front lines of teaching students. That being said, from what little experience I have introducing newcomers to programming that both teaching and learning beginning programming is no easy task. Luckily, with the growth of education-based startups and the resurgence in academic CS programs we’ll probably see interesting approaches in the near future.

GitHub vs Skyrim

Giles Bowkett manages to come up with interesting perspectives on a regular basis. This article talks about about GitHub and Skyrim and how the way they encourage team dynamics may lay the foundation for a new way of organizing companies and teams. Perhaps the most insightful idea is that the very definition of an office or workspace is not only changing, but gradually becoming irrelevant as work becomes increasingly distributed.

From the Bookshelf

Surely You’re Joking Mr. Feynman

I first read this book years ago in school and it was probably the first book to show me that you can fill a life with equal parts work and fun. This book probably played an important, though subconscious part in my decision to stay in academia for the time being. Even if you’re not a scientist or and academic, this book is worth reading and learning from. Life is supposed to be fun.

An Unexpected Error has Occurred

There are a number of web services I use on casual basis. These are services that I find interesting and somewhat useful, even fun. Every now and then I learn interesting things from them and they don’t require me to devote large amounts of time or energy to them. At the same time, they’re not services I depend on and I wouldn’t be disappointed if I lost them.

I was using one such service the other day, in the form of a Chrome plugin, when I got an error: “An unexpected error has occurred. Please try again”. For a number of reasons, I think that is a particularly bad way to handle an error. I was not told what the error was or why it occurred. I wasn’t told if it was an error on my part, or if something was wrong with the service. I didn’t know if I could do anything to fix it (other than to try again, which didn’t work). There didn’t seem to be any way for me to report this error and I didn’t know if the developers were aware of the error.

Now, I don’t pay for this service and like I said, I probably wouldn’t miss it if the service ended. This is definitely a first-world netizen problem. That being said, I’m assuming that the people running the service want it to grow and prosper (and maybe someday make them money). But I can’t help but wander: how are they dealing with user-end errors? Looking at their website it looks like they’re a pretty small team. Maybe they don’t have the manpower to track down and solve each and every error. As a user (and early adopter) I understand they’ll have growing pains and rough edges, that things won’t work perfectly every time. I’m not very disappointed by the fact that there was an error, but I am annoyed that there was absolutely nothing I could do about it.

I like this service, I think they’re doing a good job. If I could, I would help them by reporting errors. I’ve filed bug reports in the past and I would do it again for a service I like. But I simply have no way of doing it. Almost anything would be a better error message than “An unexpected error has occurred”. Perhaps they don’t want to scare away users by dumping error codes or long error messages, but in that case let me know that the error has been logged. The way things stood, I didn’t know what the error was or that the developers were aware it had occurred.

So here’s the message I would like to give to this startup (and others like it): your users are smart and some of them want to help you. Especially if you’re a new webservice, many of your early adopters may be technically adept people who can file good bug reports and diagnose errors. But they can only help you if you let them. If you don’t want your users seeing long error messages, at least let them know that you’re aware of the error (you are logging errors, right?).

I ended up not using the service for several days because I didn’t care enough to track down the error. I later realized that the error could have been because I wasn’t in logged in to the service in Chrome. This is really something they should have just told me (or even not let me use the plugin till I was logged in). As a final word of advice: don’t be afraid to tell the user when they’re doing something wrong (but do be polite about it).

Postscript I tried to email the startup telling them about this issue, but I couldn’t find an email address either on their website on their blog. Their About page only has Twitter handles for the people that work there. Another note for startups: make it easy for your users to get in touch with you. I’m starting to reconsider the original goodwill I had towards this company.

Sunday Selection 2012-06-17

Around the Web

The Essential Psychopathology of Creativity

Andrea Kuszewski is one of my favorite writers on creativity, in large part because she references actual scientific research as opposed to blog posts and random opinions on the Internet. In this article she looks at the link between creativity and apparently detrimental psychological traits.

The care and feeding of software engineers

It’s a bit disappointing that despite how much of modern society and businesses depend on software engineers managers still need articles like this to tell them how to manage engineers. The only company I worked for did not have non-technical managers so I haven’t seen this firsthand but I’m guessing I might be the exception.

How Yahoo killed Flickr and lost the Internet

The computer industry has seen more than its fair share of companies rise and fall. While Yahoo is certainly not dead yet, it’s definitely not in its heyday. I’ve never been a big Yahoo or Flickr user, but there are lessons worth learning in this story.

Books

No videos this week because I’ve been trying to avoid videos and TV and focus on reading more books.

Accelerando

I first read Accelerando a few months and I’ve been re-reading it over the last few days. It paints an interesting view of the evolution of the human race in an era of intelligent machines and accelerating technological change. While the future it shows can be terrifyingly alien, I personally also find it very interesting and hopeful.

Sunday Selection 2011-09-25

Unfortunately work-related activities having been taking up a lot of my time and energy over the past couple of weeks. On the good side I’m gradually making progress towards figuring out this grad school thing. While work on a funny and insightful blog post to blow you all away I leave with you a brief tour of the Intertubes.

Society

It’s not gender warfare, it’s math Being a computer science graduate student I’m regularly confronted by the fact that there are not enough women in our field (and that doesn’t seem to be changing any time soon). Here’s a look at why and that needs to change and some work in the right direction.

The Fraying of a Nation’s Decency Sometimes we just need a reminder that we’re all human after all.

Web Technology

10 best @font-face fonts I think embeddable web fonts are one of the best things to have happened to the web in recent years. Think of this article as a good “getting started” guide if you’re trying to figure out what fonts to use for your own projects.

How to make a simple HTML5 Canvas game The canvas element is an even bigger improvement than web fonts. Like the name suggests, it gives you a general purpose drawing element on a web page. Combine that with fast JavaScript engines and you have a pretty decent game engine on your hands.

Video

QuakeCon 2011 John Carmack keynote If you’re interested in gaming engines or high-performance, down-and-dirty programming then you should take the hour and half to listen to John Carmack — the brains behind the Doom and Quake game engines.