Thursday 31 July 2014

Software project estimation will always be hard

Software estimation has always been an issue. There's just no way around it, as long as people demand to know long in advance how long a software project is going to take, and especially if they'll get upset if it takes longer. While I appreciate that finance and budgets work a certain way - you have this much money, this much time and this project to do, is it possible? - I also recognise that software is notoriously difficult to predict.

We don't even have a great way to measure software project size. If you're building a bridge, you know how long it will have to be to go from here to there. Estimating a software project is like asking how many blueprints will be needed to design the bridge, but without any clear definition of "blueprint", or even "how many". Probably the best measurement to use is a nebulous Task, which must be broken down far enough that it will probably take an average programmer less than a day to do, and can be clearly seen to be done or not done (never, ever "90% done").

The problem is generating that task list. At that stage of a project, you won't know how big the project is, nor how complex the tasks it requires. To find that out, I think you just have to start. You might not even get a good idea of how large and complex a software project is until it's a quarter of the way complete. The most honest and accurate answer to the feasibility of the project at the beginning is "I can't know".

It seems the only way to get good at estimating software is to spend years trying and failing first, until you develop a good enough intuition about project sizes and how to break them down into tasks.

Once you do have that task list, however, you can start projecting a finish date by using "velocity charts". If you have a record of all your required tasks, then you can track how many are active at any given time and, as long as you're completing them at a rate faster than you're adding them, that graph will, eventually reach zero. If you add a margin around that, based on how far out it is, then you'll get a range estimate for your release date. As that date nears, you'll get more and more certain about exactly when all your tasks will be complete.

Mokalus of Borg

PS - A velocity chart can be depressing if it only goes up.
PPS - Or even if it just stays level.

Wednesday 30 July 2014

Pros and cons of cloud desktops for business

I think there might be something to the idea of company desktop environments stored in the cloud, as long as they are available offline, too. It obliterates the problems of BYOD policies, because the work environment is secured in the cloud, separate from the hardware. Whether the company or the employee provides the hardware is irrelevant. It neatly separates personal and work environments, even to the point of the preferred operating systems being irrelevant. It assists in remote work, too, because now you don't need to supply remote connection software and support that for everyone. In or out of the office, you're using the same environment with the same capabilities. It also means it's very easy to upgrade or downgrade a user's computer power as needed - you just have to adjust the settings on their cloud desktop.

It does raise some concerns, however. First, cloud desktops are probably going to be slow and frustrating to use, so they'll be worse in that way than local desktops. That's the way most people will care about. Second, it does put an extra burden (or maybe a different burden) on IT support, because now they need to make sure everyone can access the remote desktops from whatever is their host system of choice. That could be a problem. Third, it's harder to trust remote storage for some businesses, especially since government agencies can just wander in and copy the data whenever they want. Storing everything in the cloud is a risk for them.

Mokalus of Borg

PS - I haven't heard of anyone trying this.
PPS - One big reason would be the huge expense involved at today's rates.

Tuesday 29 July 2014

Pre-funding TV show rescues from cancellation

What if, instead of petitions or letter-writing campaigns to save our favourite TV shows from cancellation, we just ran our own Kickstarter funding drives? That way, assuming the audience is there, when the network calls "cancel", we can respond with "Oh, yeah? Here's your next season funded right now. UNCANCELLED!" I'd get behind this. In fact, I'd be happy for some shows to put some cash in escrow in case of cancellation - an emergency fund, if you will.

It's not without problems, of course. First, how do you trust that this cash is going to the right people in the first place? What would be to stop someone setting up a fund, slapping the name "Firefly" on it, then pocketing some cash and disappearing, before a trademark dispute can even be raised? Second, you don't want the emergency fund to be the lazy fallback position. If the studio hears that there's a few million dollars held in trust, they might be less likely to greenlight the next season with their own money. Just say its cancelled, grab the rescue fund and carry on. Zero investment, full profit. Third, you want to get the rights right. You don't want fans swooping in droves to save a cancelled show, only to have the network pick it back up and, again, pocket the profits. If the angel investors are the show's fans, they should get a cut of the profits for funding like this. Point 3 should cancel out point 2. Unless you paid in, you don't get cash out. Fourth, and perhaps the biggest problem, by the time the public hears about a show being cancelled, it's way too late to save it. By then, the props and costumes are warehoused, recycled or pillaged, the sets are torn down and the stages reassigned, plus the writers, actors and other crew are looking for their next gig. The network completely dismantles a show, then makes the press release to say it's over, and then the fans cry out in an uproar. We need to get in just at the point where the studio decides their money is better spent elsewhere.

Mokalus of Borg

PS - If we can get in at that point, this might work.
PPS - Or we might learn that TV is way more expensive than we thought.

Monday 28 July 2014

Urban camouflage

Urban camouflage doesn't mean blending in with buildings. It means blending in with people. If you want to be camouflaged in an urban setting, you don't use the same tactics as for jungle or desert camouflage, where you try to blend into the background. You should try to look like people who belong there. Boring people not worth a second look.

Mokalus of Borg

PS - That's how real ninjas did it.
PPS - Apparently.

Friday 25 July 2014

Blu-Ray doesn't work for me

I have, as yet, not had a single Blu-Ray movie play all the way through without some kind of issue on my Panasonic player. I've been encouraged to update the firmware, which never seemed to change anything (after all, the main point of firmware updates is to make sure the player refuses to operate in the circumstances that Hollywood dictates, so I can't imagine it ever adding functionality or fixing anything significant), and sometimes the discs still refuse to even load afterwards. There have always been entire scenes that wouldn't play at all. For example, the middle of The Internship when they go out on the town, or the entire last 20 minutes of Vampire Academy.

I know it's not the player itself, at least in general, because DVDs have zero issues. Not one, not ever, except with badly scratched rentals. All my own well-cared-for discs play perfectly every time.

This is why I blame the Blu-Ray standard itself, and I won't be buying any more of those discs. It's been noted that Blu-Ray demand is falling in the USA much faster than Sony anticipated. Some people think this is because of Netflix and streaming services. Personally, I think Blu-Ray is doing everything it can to self-destruct, and this is just the "Mission Accomplished" moment.

Mokalus of Borg

PS - Plus, streaming services can be pretty great.
PPS - Or they can be terrible, like Ultraviolet.

Thursday 24 July 2014

Unique language sarcasm tones

I read recently that the sound of sarcasm is different in every language. You might think that verbal sarcasm would be easy to detect regardless of the language, but that's just not the case. This does, however, make sense of a story Arj Barker told about performing in Germany. His sarcasm-based comedy didn't quite seem to hit the mark, and even allowing for the idea that English might have been his audience's second language, this would better explain why they didn't seem to get it: they didn't know how to listen for the English-speaking sarcasm tone.

Mokalus of Borg

PS - Fortunately, on the internet, we can all detect sarcasm in text perfectly.
PPS - Just like that.

Wednesday 23 July 2014

Facebook Save proves Facebook doesn't like to share

I'm not a huge fan of the way Facebook wants to be a "roach motel" on the internet: content checks in, it doesn't check out. It's a problem on the mobile app more than the desktop website, because sometimes I'll see an article I want to read, or a video I want to watch, but I can't right now. From that point of view, I'm glad they've introduced "Facebook Save", which is a glorified bookmarking feature to let you save an article for reading later, into a special feed on the Facebook site.

What bothers me is that this plays straight into their roach motel business model. See, there are plenty of other bookmarking tools out there, and plenty of services to save articles to read later. I use one of them often. It's called Pocket, and it's fantastic. This Facebook one could very easily be replaced by Pocket, if only the Facebook mobile app had a "share" function that worked with the normal Android "share" channel, instead of assuming that Facebook is the only place I would ever want to share something I found on Facebook.

This was clearly not the easier path for Zuckerberg Incorporated. Adding a whole new level of functionality to Facebook should not be the default behaviour. It's big, it's potentially buggy, and it reinvents the wheel. The only reason to behave this way is to avoid the suggestion that there's anything on the web but Facebook itself. In other words, Facebook went to a lot of trouble and expense to keep you on their site, rather than learning to share.

Mokalus of Borg

PS - I've checked for the new function but I can't find it yet.
PPS - Functions like this tend to roll out slowly.

Tuesday 22 July 2014

A hard lesson in supply and demand

When I was a young boy I tried various ways of making money, as many children often do. Since my parents were right there and we had a decent supply of fairly thick paper in the house (scrapped printouts from Dad's work) I decided I could make bookmarks and sell them. I scribbled on a page, cut it neatly into long rectangles, and my parents patiently bought one each for the wildly inflated sum of 20 cents.

This is where my tiny brain began to misunderstand the economy of the situation. "If one bookmark gets me 20 cents," I thought to myself, "then 10 bookmarks will get me $2!" I began scribbling and cutting, even designing in new features such as a line marker arrow to show where on the page you had finished reading. With my genius new bookmarks, I once again made my sales pitch to my parents, who explained to me that they simply didn't need that many bookmarks. I thought maybe I could sell them to the neighbours, if we went door to door, but again (saving us all some embarrassment) I was turned down before that plan got off the ground. I had oversupplied my market and my thriving bookmark business was done before it really got started.

At other times, my friends and I picked mulberries from a tree in our back yard, packaged them in cups and managed to sell some to the neighbours, who were probably (again) just being polite, but I believe we ran out of customers before we ran out of our small cups of over-ripe bitter berries.

I can't recall any other money-making schemes I undertook, but I do remember every time feeling either disheartened at the lack of demand or being denied the opportunity to sell my wares. I don't know if this ruined the entrepreneurial spirit in me or if I never had a good grasp of the concept in the first place.

Mokalus of Borg

PS - In either case, I haven't started any businesses lately.
PPS - Or created any products to sell, either.

Monday 21 July 2014

Cloud doesn't mean much

With the movie "Sex Tape" out now, and the trailer containing the phrase "Nobody understands the Cloud!", perhaps it's time to give ourselves a definition we can use. Ready? Here goes:

The Cloud is the internet, when marketers want it to sound new.

There. Now you understand the Cloud. If you want to go into more detail, the word "Cloud" is most often used to describe services provided over the internet, such as file synchronisation or database storage. This is, again, because of marketing, but there's nothing new or special about these services except the name "Cloud". The internet was perfectly capable of these services before companies built them, and it's still the internet afterwards. "Cloud" is just their word to make you think they've done something brand new and revolutionary when all they've done is put some extra services online that weren't online before.

Mokalus of Borg

PS - It's faster to say, so I guess that's something good.
PPS - I wouldn't call that quite enough, though.

Friday 18 July 2014

The stickiness of choice

When you look at the table of which big digital marketplaces sell what kind of experiences - books, movies, TV, apps, music, games - it certainly looks like there's lots of competition, and there is. However, the lack of compatibility and the abundance of DRM in the space makes each choice much more "sticky". If you buy a Microsoft Surface, for instance, you won't be running any Android apps. If you buy an iPhone, you will find yourself also buying your music, your books and your movies from Apple, too, because they won't work anywhere else. And the more you buy there, the less you will be willing to change platforms. You make your choice once, and then the inability to pick up your stuff and take it somewhere else means that you are stuck, unless you are willing to abandon your whole library and start over.

Furthermore, even where there is some compatibility (as with, say, the Kindle app on Android) you are unlikely to take advantage of it, because the fragmentation of your library is a major pain. I don't want half my books in the Google Play Books app and half in Kindle. Why would I? I'd have to remember what collection each one is in, and that's more likely to depend on purchase price than on any kind of theme. It's far easier to choose one platform and stick with it, because anything you buy in one place is locked to that place. You don't own it, you just pay to look at it through a window. If you walk away from that window, your stuff stays there, because it was never yours. Human nature fights very strongly against that kind of sunk cost. If I paid for it, then I feel that it is mine, and I shouldn't be punished for wanting to take it elsewhere. Because I am prevented from taking it elsewhere, I stay where I am and defend the one choice I made several years ago.

This is the way we are building the world now: all the world's media is sectioned into a series of deep holes, and you get to choose which one to jump down, but only once.

Mokalus of Borg

PS - I'm not a big fan of deliberate incompatibility.
PPS - The best software needs to be compatible with multiple other programs or else it's pointless.

Thursday 17 July 2014

Cooking at the office

Something I would like to see some top creative chefs attempt is cooking at the office. Going beyond reheated leftovers and the occasional toasted sandwich, what can you prepare and eat, in the space of 30 minutes, with the tools available at most offices (microwave, boiling water, toaster at minimum, and perhaps sandwich press and coffee drip, if you're lucky)? I expect you'd be using a fair amount of foil and getting creative with the sandwich press most of the time, but I'm barely a home cook, let alone a real chef, so my impression might not be accurate.

Mokalus of Borg

PS - You could probably bring an electric stove top if you were desperate.
PPS - You wouldn't want to prepare it all from scratch, either, I'm guessing.

Wednesday 16 July 2014

What I think of what I make doesn't matter

For some reason just recently, my mind went back to a church service in 2005 when we had some artistic displays. I put together an origami diorama representing the created world: frogs, butterflies, flowers, grass, that type of thing. To me, it looked ugly, hasty and uncreative, especially next to the beautiful things I saw beside it. I was embarrassed by it. You can read my original rant here.

With some distance in time from that service, what actually stands out to me is what my friend Erin said in response. None of that quality-based judgement even crossed her mind at the time. My clumsy creation got her thinking about the world in terms of God's creative act. The way I thanked her for that observation, at least on this blog, was to harp on again about how I didn't want my name on the piece. Well, I'm apologising for that now. I'm sorry, Erin. You went out of your way to tell me that something I made had a positive effect on you, so thank you. I want to spread more of that positivity around.

Mokalus of Borg

PS - I'm also sorry it took me 9 years to gain the necessary maturity.
PPS - Also, huh, I've been blogging here for 10 years as of March. I didn't notice.

Tuesday 15 July 2014

Desktop kitchen appliances for work?

I was wondering, after making a third trip to the office kitchen in a short time, whether there could be any high-end executive desktop appliances built for a single user, such as a desktop dishwasher. This would, of course, complement your desktop espresso machine, so that you could make coffee, drink it and wash up all without getting off your chair. Add a little microwave and a fridge and your desktop kitchen could handle all of lunch, too. You might start feeling like you're working in a grown-up version of a child's play kitchen, though, and you'd need to handle water supply and drainage somehow, too. I can imagine one small water supply tank hooked up to the coffee maker, dishwasher and (why not?) personal cold water tap, too. The waste water could be handled with a similar system, and all you'd have to do is empty out your waste tank when it got full and top up your supply tank for the day.

Perhaps this falls under the category of a kind of "glamping kitchenette" - something you might plug into your generator in your mutant cabin/tent hybrid when you're a short way from civilisation.

Mokalus of Borg

PS - I need a Kickstarter campaign, pronto.
PPS - Though I can't imagine calling it a "glamping kitchenette" for long.

Monday 14 July 2014

Pride in your work is not quality

It is possible to be so proud of the effort it took to make your art that you become blinded to the (lack of) quality of the finished product. What you see when you look at it is the culmination of many hours of difficult work, far better than what you could have produced before you started. What everyone else sees is a painting of a two-dimensional dog with weird proportions.

Mokalus of Borg

PS - I always worry about this with my own artistic efforts, no matter their type.
PPS - Lately, of course, it's my writing.

Friday 11 July 2014

Guessing jelly beans in a jar by volume

Ever since reading an article about the packing density of M&Ms and how to calculate very closely how many fit into a given volume, I've been excited to give the technique a try on a real contest. There have been two contests I've encountered since then, but in both cases the jar was filled with jelly beans, not M&Ms. The technique still stands, but I have always found myself trying to look up the packing factor of jelly beans rather than referencing the M&Ms paper. The best answers I can find online don't state the actual packing factor, but give advice on how to calculate it. You would think, at some point, someone would have figured this out, but apparently not. Perhaps, then, I can be the first to publish a jelly bean packing factor calculation.

In the most recent competition, I was off by 4 beans. I guessed at 2cm^3 per bean and 80% packing efficiency. This means you just have to multiply the volume of the container (in cubic centimetres or millilitres) by 0.4 and you'll get a pretty good estimate. The container in the last contest I encountered was 2 litres, so I guessed 800 beans. The answer was 796 and, unfortunately, someone else had guessed 795, so they won.

Mokalus of Borg

PS - Note that these are "standard" jelly beans, about 2cm long.
PPS - The much smaller "Jelly Belly" brand or any other size won't work with this calculation.

Thursday 10 July 2014

Class of 1979

This year for my birthday, I'd like to point out some of the famous people born in the same year as me, particularly those born in the same month. The closest 1979 birthday to mine that I recognise is Jayma Mays, who appears on Glee, born 6 days after me.

Other celebrities of note (to me) born in my year include:

Singers:
  • Adam Levine (Maroon 5, 18 March)
  • Alecia Moore (P!nk, 8 September)
  • Pete Wentz (Fall Out Boy, 5 June)
Actors:
  • Heath Ledger (The Dark Knight, 4 April)
  • Aaron Paul (Breaking Bad, 27 August)
  • Jennifer Morrison (House, 12 April)
  • James McAvoy (X-Men: First Class, 21 April)
  • Jennifer Love Hewitt (you know ... stuff, 21 February)
  • Kate Hudson (those other things, 19 April)
  • Felicia Day (The Guild, 28 June)

Seems like, if I wanted to be a famous actor, I should have been born in April instead of July. Maybe I should start lying about that.

Mokalus of Borg

PS - Also, I was born on what would have been Nikola Tesla's 123rd birthday.
PPS - I've probably missed a lot. The Wikipedia category for 1979 births is huge.

Wednesday 9 July 2014

Writing Letters to my Lost Children

Recently I wrote a short piece called "Six Letters to My Lost Children", about our experiences going through failed IVF cycles over the past five years. It's raw, it's very personal and it was quite emotional to write. I suppose it was part of my personal grieving process. I won't be posting it publicly anywhere, at least in its current form, mostly because it includes the names of our friends (just in passing, because they were there for us through the process) and I don't want to publish anything about them without their permission, nor do I really want to seek their permission to say even nice things about them in this context. It's mixed up in all that personal emotional stuff. I'm quite pleased with the writing, so I am simultaneously proud of it, wanting to show it off, and also rather guarded about it, because of its emotional weight.

So it raises a few questions. One, is it actually any good, or was it just very emotional for me, clouding my impression of it? Two, if it's any good, should I try to fictionalise it and have it published? Three, if I try to fictionalise it, changing the names and details to protect the innocent, will that bleach out all of the emotion, thereby rendering it into bland, unpublishable cardboard? It's a dilemma. If it's good because it's raw, then it needs to stay raw to stay good, but if it's too private to publish as-is, then it needs to be edited.

In the end, this is probably something that needs to stay private, unless I can find another way to write with the same emotion about it and still maintain the privacy of my friends, my family and myself.

Mokalus of Borg

PS - I did show it to Debbie, though.
PPS - It was quite cathartic.

Tuesday 8 July 2014

Outward-focused self-esteem

I tend to have an outward focus for my self-esteem. I want to be loved and appreciated. This has a way of being naturally disappointing, because compliments and appreciation (except from my wife) can be pretty thin on the ground. It's also something I can't control. You can seek to be loved, aim and plan, perhaps plot and scheme to be loved, but ultimately you pin your happiness on other people, and it's going to be a letdown.

The only thing you can control is yourself, and as much as I know this, I fall back on external expectations. I think it's because I don't know what to do with myself to build self-esteem. How do I become the kind of person I respect? Self-improvement has always been a little bit hit and miss with me, and if I knew how to change that, it wouldn't have been a problem in the first place.

For the most part, I only know how to be negative with myself. I know it doesn't do any good, but it's a hard habit to change.

Mokalus of Borg

PS - I just can't break down a self-esteem goal into small, achievable, measurable steps.
PPS - Any hints? Anyone?

Monday 7 July 2014

The most expensive TV to produce

As expensive as Game of Thrones is to produce, it is still not coming close to Friends, believe it or not. The long-running sitcom cost upwards of $10M per episode in its final season, simply due to rising salaries of the six principal actors. I assume this will not be an issue with Game of Thrones, where characters have a habit of dying horrible deaths quite often.

Mokalus of Borg

PS - Then again, there are plenty of GoT characters who probably won't die.
PPS - To which George RR Martin obviously replies: "Challenge accepted!"

Friday 4 July 2014

Working hours

People used to worry, back at the advent of computers and labour-saving devices, that people would have far too much leisure time, and that society would need to find ways to occupy so many idle people. It seems astounding now that nobody thought we'd just find more work for people to do. Instead of getting the equivalent of a 1950s 40-hour work week done in 20 hours and sitting on our hands the rest of the week, the companies enlarged their scopes. If you get your work done twice as quickly, then you can obviously handle twice as much work, and the company can take on twice as many projects for the same labour costs. So that's what we did.

That pattern will only continue. You'll never build such a wonderful machine that you reduce the hours in the working week. You probably won't get to reduce the stress or the effort involved, either. All it will do is increase the amount of work that can be accomplished with the same amount of effort and time.

Mokalus of Borg

PS - "Labour-saving" became "productivity-enhancing".
PPS - It's the quiet kind of bleak future.

Thursday 3 July 2014

When wifi is slower than mobile data

Sometimes my phone latches onto a wifi hotspot that I've connected to before, such as on the train, but most public wifi requires a click-through pinky-swear agreement to behave yourself while on their network (which I'm sure would hold up in court, right?) so that means I have to open my browser, wait for the redirect page to load, tick a box, tap a button and wait for another page to load, and *then* I can start using data. When I'm only walking past a cafe or park, this is worse than pointless - it's obstructive.

My point is that my phone is designed to use wifi when possible because it's supposed to be faster, but a lot of the time it ends up being slower due to click-through terms and conditions. My wife knows this. She lives by this observation so much that she never turns on wifi on her phone if she can avoid it. To her, it is unquestionable truth that "wifi is too slow". It shouldn't be, but it is. I have only recently convinced her to turn on wifi when she watches video or updates her software (which she also does only when forced). I live as if wifi is the best option. I leave mobile data turned off unless I absolutely need it. Deb leaves wifi turned off because she has a far more pragmatic view of her phone. Either it does what she needs, right now, as fast as possible, or it's broken. She may have a point.

Mokalus of Borg

PS - The only advantage wifi seems to have is that it's cheaper.
PPS - That cost saving comes with a trade-off for convenience and (sometimes) security, though.

Wednesday 2 July 2014

What should in-car computers do?

Dedicated navigation devices for cars are very likely on the way out, being displaced by free services on smartphones like Google Maps. The question for me is what's next for those companies and what's next for car hardware. The companies, if they're smart about it, will want to switch to providing their navigation software as apps on the major phone systems. They might try charging money for them, which may be taken up by enough people if their product is superior. Most manufacturers will probably fail, though.

As for in-car hardware, I think the latest batch of high-end in-car stereos offers a horrifying glimpse into the future. A lot of car manufacturers seem to have caught wind of the idea that "Those young people today like the Twitters, right? Can we put all the social medias in our cars?" It's awful, it's distracting (in an age when distraction is becoming the number 1 killer on our roads) and it misses the point entirely.

What we should be trying to put in our car computers are things like:

- GPS logging and navigation
- Fuel usage and other instrumentation
- Music storage, sync and playback
- Dashcam integration

The one thing I'm not yet sure about is whether these in-car computers should be providing their own wireless connectivity or should be linking to smartphones. Each way has its pros and cons. My best guess is that at least one manufacturer will try to lock you into an ongoing mobile data subscription for your car computer that only works with their network.

Mokalus of Borg

PS - If someone makes a bad product, you can be sure they'll try to handcuff you to it.
PPS - The next best thing to customer loyalty is customer imprisonment.

Tuesday 1 July 2014

Source control to manage third-party database changes

Occasionally at a previous job, we ran into a problem with our databases where a client DBA had modified the schema, a stored procedure or a function somehow, without telling us, and then some changes we made would overwrite theirs. The way we usually worked around that was by carefully (manually) comparing the production schema to our development version, figuring out which changes conflicted with theirs and (again, manually) merging them, then testing, then deployment.

This is time-consuming, error-prone and very annoying. Distributed version control offers a better option.

Here's how it would work. We would keep a copy of scripts for our schema (exported by SQL Server Management Studio) in a Git repository branch. We would keep another branch for the production system. Before deployment, to determine if there are any changes by the DBA that need to be incorporated, we do another export on that end, check it into their Git branch, then attempt a merge with the development branch. Conflicts will be automatically detected and highlighted by Git, so they can be very easily seen. Once any conflicts are dealt with, we generate our deployment scripts and update the production database.

I suppose this doesn't really have to be done with distributed version control, as such. As long as there are separate, comparable repositories for the two environments that allow changes and conflicts to be detected automatically and merged, then you have a better solution than manual comparisons. Also, this isn't really a novel use of version control, either. This is exactly what version control was designed to do, except that one person doesn't have to be aware that the version control system even exists, but everyone still benefits from it.

Mokalus of Borg

PS - I am currently using this source control technique to help with my church's website.
PPS - It's a much smaller scale problem, but the solution holds up nicely.