Invariant Properties

  • rss
  • Home

Why You Should Move To Offsite Source Control

Bear Giles | October 27, 2015

A nightmare came up in a casual conversation at work: another group that had been an acquired business but not yet fully integrated into the corporate ecosystem had come into work on a Monday a while back and discovered that all of their computers had been stolen over the weekend. This included their subversion server. All of their source code was lost.

Fortunately one employee had checked out the latest code on his personal laptop on Friday and they were able to restore from that. It would have been disastrous if nobody had code on their personal gear. (I should point out that it is often against corporate policy for developers to have copies of the software to work on at home. This shows why it may be better to encourage developers to keep copies on encrypted disks as a form of ad hoc distributed backups.)

Source code repositories are often sitting on a spare computer somewhere. Sometimes it’s in a locked room, sometimes not. Locked rooms might slow down burglars but they won’t stop fires, flooding, etc. In theory you can create backups AND make off-site copies AND periodically restore the system from backups to ensure your process is solid but in practice if you ever need to put your emergency plans into action you’ll have wished you spent a few bucks earlier to make the problem go away.

There are two broad solutions:

First, set up your own server at a hosting company. You can probably still find colocation and hosting businesses that will lease you a real or virtual server but it will probably be easier to get an AWS micro instance. Install subversion or git and you have a working off-site repository. This gives you the most control but you’ll still need to manage the system – perform backups, periodically check for software updates, etc.

Second, hire someone else to do it. Get a private repository at GitHub or one of the other sites that provide low-cost repositories. The lawyers might grumble but, realistically, few of us write code that’s intrinsically valuable – it’s only valuable as part of the business’s ecosystem. There’s still the risk that the third-party source repository could go down or go out of business but that risk is easy to mitigate.

Something that is not a solution is to bury your head in the sand and pretend it will never happen to you. Even if you avoid theft, fires, flooding, angry ex-employees, etc., you have to recognize the real risk that computer hardware fails fairly often. I’ve had a motherboard and a couple hard drives fail at home despite being on surge protectors and UPSes – they’re only engineered to last the normal replacement interval for consumer computers and things like source code repositories and databases tend to be on systems that run 24/7 and are largely forgotten until the hardware breaks.

(This is “foreshadowing” – another essay in my queue is an exploration of whether I should put my personal databases into the AWS cloud. It has similar questions.)

Comments
No Comments »
Categories
Uncategorized
Comments rss Comments rss
Trackback Trackback

Dhalgren: three notes

Bear Giles | October 17, 2015

In my copious free time I’ve read Dhalgren once and am midway through reading it a second time. I have three observations that seem important but I haven’t seen mentioned in the discussions at the top dozen Google responses. I don’t think it’s something that techies in particular would notice but that’s an interesting question for later.

Each chapter has its own voice.

This should not be surprising since Newboy commented that the notebook has at least four “hands” and there’s the ongoing question of whether the notebook is the novel. The presence of different voices might only be obvious once you’re rereading the novel. The voices color or reflect (or both) the chapter itself, esp. the fourth chapter.

Newboy also observed that one poem is actually a dialogue between two voices. He had missed that on first reading but it was obvious when he read it aloud. I don’t think this refers to the final chapter since that’s too obvious. I’ll come back to this point.

It’s important to keep a notebook.

You do not need a notebook to read the first half of the novel, at least not the first time you read it. But as you progress it’s increasingly important to keep one. Today that means a personal wiki, scrivener, or even MS OneNote, anything with the ability to create links between pages. You now have a framework for rereading the novel – minor characters like the “blond Spanish man” stand out once you start jotting down a note every time they appear.

It’s hard to imagine the author being much more explicit about this – the final chapter has large quotes from the notebook.

As an aside the author said the novel can be read started at multiple points and read by looping from the final chapter to the first. The idea of starting a notebook in the final chapters and rereading the first chapters as though they were new material is not a big jump.

The reader is part of the story.

Some people have suggested that the characters know they are in the novel. Nobody (in my quick Google search) noticed that the reader is also part of the novel. There’s a notebook within the novel that contains passages from the novel and we need to keep our own notebooks that contain passages from the novel.

I have to wonder if this is what Newboy foreshadowed with his comment about one poem being a dialogue. The novel (poem) is a dialogue between the author and the reader mediated by their respective notebooks.

Bonus: Lions and tigers and bears, oh my.

One minor and humorous point: even the casual reader will notice the countless lions in the novel. (The park, the figurines in the Richards’ apartment, the lamp stolen from the department store, the sculpture in the girl’s house, more.) So why does the bartender have a tattoo of a leopard on his forearm? Did I misread it? Is there some deeper significance? I find it hard to believe that this author chose the wrong word.

Comments
No Comments »
Categories
Uncategorized
Comments rss Comments rss
Trackback Trackback

Archives

  • May 2020 (1)
  • March 2019 (1)
  • August 2018 (1)
  • May 2018 (1)
  • February 2018 (1)
  • November 2017 (4)
  • January 2017 (3)
  • June 2016 (1)
  • May 2016 (1)
  • April 2016 (2)
  • March 2016 (1)
  • February 2016 (3)
  • January 2016 (6)
  • December 2015 (2)
  • November 2015 (3)
  • October 2015 (2)
  • August 2015 (4)
  • July 2015 (2)
  • June 2015 (2)
  • January 2015 (1)
  • December 2014 (6)
  • October 2014 (1)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (1)
  • June 2014 (2)
  • May 2014 (2)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (3)
  • January 2014 (6)
  • December 2013 (13)
  • November 2013 (6)
  • October 2013 (3)
  • September 2013 (2)
  • August 2013 (5)
  • June 2013 (1)
  • May 2013 (2)
  • March 2013 (1)
  • November 2012 (1)
  • October 2012 (3)
  • September 2012 (2)
  • May 2012 (6)
  • January 2012 (2)
  • December 2011 (12)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (5)
  • April 2011 (6)
  • March 2011 (4)
  • February 2011 (3)
  • October 2010 (6)
  • September 2010 (8)

Recent Posts

  • 8-bit Breadboard Computer: Good Encapsulation!
  • Where are all the posts?
  • Better Ad Blocking Through Pi-Hole and Local Caching
  • The difference between APIs and SPIs
  • Hadoop: User Impersonation with Kerberos Authentication

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Pages

  • About Me
  • Notebook: Common XML Tasks
  • Notebook: Database/Webapp Security
  • Notebook: Development Tips

Syndication

Java Code Geeks

Know Your Rights

Support Bloggers' Rights
Demand Your dotRIGHTS

Security

  • Dark Reading
  • Krebs On Security Krebs On Security
  • Naked Security Naked Security
  • Schneier on Security Schneier on Security
  • TaoSecurity TaoSecurity

Politics

  • ACLU ACLU
  • EFF EFF

News

  • Ars technica Ars technica
  • Kevin Drum at Mother Jones Kevin Drum at Mother Jones
  • Raw Story Raw Story
  • Tech Dirt Tech Dirt
  • Vice Vice

Spam Blocked

53,314 spam blocked by Akismet
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox