Sunday Selection 2017-06-25

Around the Web

The Largest Git Repo on the Planet

I’m always a fan of case studies describing real world software engineering, especially when it comes to deploying engineering tools, and contains charts and data. This article describes Microsoft’s efforts to deploy the Git version control system at a scale large enough to support all of Windows development.

Why our attention spans are shot

While it’s no secret that the rise of pocket-sized computers and ubiquitous Internet connections have precipitated a corresponding decrease in attention span, this is one of the most in-depth and researched articles I’ve seen on the issue. It references and summarizes a wide range of distraction-related issues and points to the relevant research if you’re interested in digging deeper.

Aside: Nautilus has been doing a great job publishing interesting, deeply researched, and well-written longform articles, and they’re currently having a summer sale. The prices are very reasonable, and a subscription would be a great way to support good fact-based journalism in the current era of fake news.

How Anker is beating Apple and Samsung at their own accessory game

I own a number of Anker devices — a battery pack, a multi-port USB charger, a smaller travel charger. The best thing I can say about them is that by and large, I don’t notice them. They’re clean, do their job and get out of my way, just as they should. It’s good to see more companies enter the realm of affordable, well-designed products.

From the Bookshelf

Man’s Search for Meaning

I read this book on a cross-country flight to California a couple months ago, at a time when I was busy, disorganized, stressed and feeling like I was barely holding on. This book is based on the author’s experience in Nazi concentration camps during World War II. The book focuses on how the average person survives and reacts to life in the brutality and extreme cruelty of a concentration camp. The second part of the book introduces Frankl’s theories of meaning as expressed in his approach to psychology: logotherapy. In essence, the meaning of life is found in every moment of living, even in the midst of suffering and death.


Black Panther Trailer

I’m a big fan of Ta-Nehisi Coates’ run of Black Panther and really enjoyed the Black Panther’s brief appearance in Captain America: Civil War. This trailer makes me really excited to see the movie when it comes out, and hopeful that it will be done well. If you’re new to the world of Wakanda in which Black Panther will be set, Rolling Stone has a good primer.

Portable Ubuntu and dual monitors

I love dual monitors. Roughly half of the labs I spend my time in have dual monitors. The others don’t and hence I try not to spend much time in those. Unfortunately one of those single monitor labs is the only computer science Linux lab that we have, so by necessity I actually do need to spend a considerable amount of time there. And whenever I’m there I miss not having a second monitor.

If you’re not someone who hasn’t used dual monitors for a while, then it can be somewhat hard to understand how much easier two monitors make your life. Two monitors provide a very natural division of information that you need on your screen. One monitor contains reference information, this is stuff that you’re always looking at, but that you’re not actively interacting with. The other monitor contains whatever things that you are actively interacting with. For me as a programmer, one monitor generally contains API references in a browser (Chrome on Windows, Firefox on everything else). The other monitor contains my editor/IDE. Unfortunately I do most of my programming in the Linux lab which are all single monitor machines or on my laptop, which I rarely hook up to an external monitor.

There are a  lot of Windows dual-monitor machines available in other labs, but the only thing I like about Windows anymore is Google Chrome. Our Windows machines aren’t locked down, so students are allowed to install software as long as it isn’t something dangerous. I was considering installing some sort of X server on some of the machines. But I generally move about machines quite a bit and so I don’t want to be installing X servers on every machine I’m on.

My next thought was carrying around a bootable Linux USB drive and running off that. I was seriously considering doing that when I came across an interesting SourceForge project via Reddit which uses virtual machine technology to let you run Ubuntu like an application right in Windows. And yes, that was the answer to my problems. Last evening I downloaded the Portable Ubuntu image to a  lab machine and gave it a test run before moving it onto my 4GB USB drive.

My experience has been mostly positive so far. The Ubuntu installation is somewhat out of date (it’s the 8.04 version of it). But that really isn’t a problem for me. In fact, as it turns out, I haven’t really been using it as a full fledged Linux distribution. For the most part I use it as an interface to my college’s powerful Linux clusters.  I have pulled my personal Git repository to it, but for the most part I think I will be working directly off my college’s machines. The greatest benefit is that I can run normal Windows apps right alongside it. This means that I can have a bunch of terminals and Emacs open while at the same time having Google Chrome and some other Windows-specific software I need. The system really comes into its own with multiple monitors. It’s useful to think of one monitor as a Linux screen and the other as a Windows screen. I’ve only been using it for a day, but I’ve already found it a natural way to work.

As a final note, I would like to put out a little disclaimer: I’ve only used this on powerful machines. The lab computers are 3GHz Core 2 Duo machines with 3.5GB of RAM. Performance is quite acceptable and whatever is happening on the linux side doesn’t seem to be affect the Windows side at all. However, on a machine that is much slower or has significantly less RAM, things might be a good deal slower. If you’re stuck using a Windows machine but would rather use Linux, this is a great way to go if you have a fast enough machine.

Window window on the wall

I realized today that I had forgotten a password and so for the first time this year I booted into Windows hoping that one of my browsers had saved the password. Unfortunately none of my browsers had and I have to find a way to reset it. But as I was sitting around for 5 whole minutes waiting for Vista to start up and become usable, I began to think about all the Windows operating systems that I’ve used over the past few years.

My school was rather behind times and so as late as 2000 we were still running really ancient machines with DOS and programming in some equally ancient version of BASIC. I can vaguely remember using a few times what I no wknow to be Windows 3.1. Yeah, we were that bad. Luckily, I don’t remember very much about those once a week computer classes. My family bought its first computer in late 2001. For some reason, we got stuck in Windows 98. I used 98 for a good few years. 98 was, well…. 98. It was buggy , hung rather often (and took everything I was doing with it), but with knowledge of anything better, I lived with it. I wasn’t the computer geek I am now and I can’t remember ever really digging under the hood. I did some superficial changes, the usual modding that any teenager does to their system, but it was never anything serious.

I never did like the way 98 looked and I thought the gray was really much too bland. It wasn’t until 2003 that I actually got my first taste of Windows XP. Of course, I knew that XP had been out for qutie a while, but it had never caught my fancy. Like I said, I wasn’t the computer geek yet. But once I did have my first taste of XP, I was hooked. Compared to 98, it looked amazing. It took quite some convincing to get my dad to let me actually install it and for a while we double booted with 98. It wasn’t until Windows 98 one day suddenly decided not to work that we moved over to XP full time.

I still think Windows XP was a really great operating system, perhaps Microsoft’s best to date. The user interface was kinda flat and somewhat gaudy by todays standards, but I think it was a good level of unobstrusive functionality. And most importantly it was actually stable for the most part. Of course, I did get bored of it for a while and then I started to try to make it look a like a Mac. My parents still run XP and they’ve kept the same install for about 3 years now. They aren’t power users by any standard, but XP is good enough for them. And that is XP’s greatest merit: in many ways it was just good enough.

I can’t say that I was really looking forward to Vista. By the time news of Vista spilled over on to the Internet, I was well on the way to becoming the open source lover that I am now. I was using linux a lot, not quite full time, but getting there. I played around with the early compositing and transparency technologies and was starting to learn more about the under-the-hood technologies that powered my machine. And I was never going to convince my parents to spend on the upgrades that would be necessary to actually run Vista.

In 2007 I moved to the US and bought my first laptop. With a dual  64-bit processor and a  gigabyte of RAM, vista was a real possibility. And there wasn’t much choice considering that’s what it came with. I did use Vista full time for about a month. But then I installed Linux and I’ve been a committed Linux user ever since. I can’t say I really like Vista, but I don’t exactly hate it. I actually do like the user interface mostly, though I do wish that it was less shiny and more opaque at times. But what I really dislike is how much of a resource hog it is. I takes a good 5 minutes to become really usable and God help you if you try launching programs before it’s finished getting its act together. There are probably ways to tweak to get it to run faster, but I just don’t like it enough to do anything about it.

It will be interesting to see the evolution of Windows 7. If I had a spare machine, I would have tried the Beta. I still don’t like all the transparency everywhere, but I hope the other improvements will be enough to outwiegh that. The integration with the web will also be something to keep an eye on. I would be really interested if they brought back some of the things that got shelved in Vista, particularly WinFS. That being said, I do really doubt that I will ever really go back to using Windows full time. Linux is my operating system of choice for any sort of programming work. For anything else, whether it be writing a paper, making a presentation or keeping my media organized, OS X meets all my needs. I might explore the new Windows when it does come out, but I don’t see much of chance for becoming a full time Windows user in the near future.