The Greedy Restaurant Shares Software Improvements with Other Restaurants

EDIT: If you are actually looking for Open Source Restaurant Reservation software, take a look here.

I recently came across a question asked by a high school student in the United Kingdom. One of his teachers had asked a question that seemed to imply that needing to share improvements to open source restaurant reservation software with the open source project that created the software was a disadvantage of using open source software.

Im currently delivering a high school qualification in the UK and part of the course is on open source. We have just had an examination paper with a question on what are the disadvantages of using open source software to create a restaurant booking system.

One of the model answers says that the restaurant would have to then release their changes to the public.

For some reason, the fact that this was a model answer bothers me, because that implies that this answer is something the student should strive to emulate to receive a good grade. As if that answer could possibly be part of a coherent answer that makes any reasonable attempt to take the full implications of open source economics into consideration.

So, let us examine the many ways in which sharing code improvements with “the public” for $0.00 is to the advantage of the individual restaurant. Each of the below points could easily be expanded to be an essay unto itself, but I shall endeavor to be brief. We will start by examining a few ways in which it has no negative effect on the individual restaurant because it almost certainly isn’t going to help the competition. Then, we will look at how it will help the restaurant.

Sharing Hurts Nothing.

To begin with, their food and customer service will never be identical to another restaurant – a streamlined reservation system does not change the attire or politeness of staff, nor the amount of curry in the food. Restaurants supply a heterogeneous product, and that product ain’t software.

Furthermore, the software would not even necessarily work for any other restaurant unless it was using an identical software stack minus these trivial modifications.

Thirdly, restaurants outside that city or county are not competitors. If one restaurant in several cities or counties use, improve, and share the software then each of these restaurants will benefit at the expense of all other restaurants in their respective cities. Unless the software becomes ubiquitous, odds are the small number of restaurants adopting the software will be from different cities — located in different markets.

Sharing Has Many Benefits.

It is in each individual restaurant’s best interests to submit the improvements upstream so that each time a new version of the software comes out, they can benefit from all of the other improvements without the need to re-patch the new version of the software with the stuff they wrote. It is far more efficient and streamlined to allocate resources towards working as part of the wider team than to allocate all of the resources that would be needed to maintain internal patches and revision control.

If a single competing restaurant in the given city does use the improved software, then it will still be in that other restaurant’s best interests to share-alike as well any improvements they make (or bug reports, or even feature requests) — so the two restaurants in the same city (eg, market) using this software can both share a comparative advantage over the other n restaurants in town.

Finally, explicit costs of sharing code improvements upstream (eg, “to the public”) are nil as the IT guy that is familiar with Open Source and can do a bit of coding is already assumed to be an employee in the scenario created by the question, and the Marginal Benefit of releasing modified source code back is almost certainly going to exceed Marginal Cost. If there is one thing drilled into the head of any student of economics, it is that if MB > MC – you move forward and do it. Period, and end of story.

So, clearly, it is not a disadvantage for a restaurant to share improvements made to the software “with the public”. They will not be getting any direct revenue for this software, but they will be getting additional indirect revenue through the continuous improvement in their critical customer service infrastructure that this is a key contributor to. The restaurant should not contribute code improvements upstream to be nice or to be communists, they should share this stuff for $0.00 to be greedy rational self-interested business people trying to make as much money as humanly possible.

The Greedy Restaurant Shares Software Improvements with Other Restaurants

Facing AT&T’s new 150GB Monthly Cap, How to Monitor/Calculate your Usage

AT&T internet customers now face a monthly bandwidth cap, and will have to pay additional money per month if they exceed that limit. This is especially of concern for daily Netflix users, but frequent .torrent users may also have cause for concern. The specific target of this action on AT&T’s part is Netflix users; people who pay AT&T for internet service and Netflix for TV/Movie service. AT&T would rather you pay them for both and Netflix for nothing, so they are going to charge you a little extra for your disobedience.

As frustrating as this may be, the current United States Congress (R) and folks appointed by President Obama (D) all agree that this is an appropriate, allowable, and legal thing for AT&T to be doing.

If you wish to be obedient to AT&T, this link will take you to what AT&T offers to replace Netflix with.

If you would rather monitor your internet usage to avoid the disobedience fee, keep reading.

I made a picture, and I think it explains it well enough. There are per-computer bandwidth monitors, but these must then generally be installed on every computer in the household connected to the internet — including your Netflix-enabled DVR that probably will not allow this. The method presented below works regardless of how many computers or devices are using your internet connection.

If you use a sample time period that is not representative of your normal internet usage, this method will fail. Use the internet how your normally do for several days, and then do your calculations.

What you need:

  • Your computer, connected to the internet at your home, with a web browser.
  • A calculator (the one on your computer works fine).
  • This assumes you are using the standard “2wire” router that most AT&T customers are using. If you are using something different, you may have to enter a different number into your web browser. If that is you, and you figured out what that number was, please list the model/make of your router and that number in the comments section.

Synopsis of this method:

  1. Enter ‘’ into your web browser.
  2. Navigate to ‘broadband link’ and then to ‘statistics’.
  3. Note the number of bytes received, and the numbers of days that was collected for.
  4. Divide the first number by the latter for your average bytes per day.
  5. Convert that number to gigabytes by dividing it by 1 billion. Multiply that by 30 for your predicted monthly bandwidth usage.
  6. If that number is far below 150, then you have nothing to worry about.
  7. If it is close to 150 and you need more precise calculations, use data from a larger number of days and google to find a byte to gigabyte calculator.
Facing AT&T’s new 150GB Monthly Cap, How to Monitor/Calculate your Usage

Android -> Linux Desktop Remote Control (better documentation than official)

I just went ahead and used URemoteDesktop to turn my Android phone into a remote control for when I am watching movies or listening to music on my computer, and don’t have immediate access to my keyboard.

(Image Credit: From here, published under this license.)

The app I used and its Linux support is good, but the official English documentation is not that great.  Also, much of the website is in Spanish (something I can not read!). The official English documentation works if one is already savvy enough to understand it all, but still leaves the user having to type numerous terminal commands to get it going.

One advantage of this app over others, in my opinion, is that it doesn’t try to be smart and tailor itself to specific desktop software. It sends generic play, volume up, etc, commands and leaves it to your computer to interpret. It seems to work everywhere that the identical buttons on my keyboard work. I like that, because it doesn’t place barriers between me and trying new software out.

Hopefully these instructions will simplify the process, and require only one terminal command on your computer. It will even tell you your current “Host IP Address” needed by the Android phone. I hope these directions are basic enough to be accessible to all – if not, please let me know what I need to clarify.

These directions are for Ubuntu. If you aren’t using Ubuntu, you probably already know how to translate the directions into your distribution’s lingo. If you aren’t using gnome, you probably know how to translate directions into gnome.

Install Instructions:

1 ) Install the app on your phone. You can search the market for “URemoteDesktop” on your phone, or point the barcode scanner here:

2 ) Download the needed .zip file from here. That is the desktop server that talks to the app on your phone. Double click on that .zip, and extract it to your home folder so that it is at /home/YOURUSERNAME/URemoteDesktop_Server.

3 ) Install the xautomation and curl packages, needed for the server to work: sudo apt-get install xautomation curl

4 ) Go to places -> Home Folder -> URemoteDesktop_Server

5 ) Right click on -> Properties -> Permissions -> Verify that “Execute” is checked next to “Owner”. Do the same process with

6 ) Type this in a terminal: gedit ~/.bashrc

6 ) Copy and paste this line of code at the end of .bashrc, replacing ‘whatever’ with whatever you want (I used ‘amote’), but leaving the rest the same:

alias whatever='echo My IP is && curl && echo && cd ~/URemoteDesktop_Server && ./

7 ) Save and exit.

8 ) CLOSE THE TERMINAL, and you are done. If you leave the terminal open, you aren’t done yet.

Use Instructions:

1 ) Open a terminal (you did close it when you were done installing, right?).

2 ) Type ‘whatever‘ or ‘amote’ and hit enter.

3 ) On the next line in the terminal, it will tell you your IP address.

4 ) Turn your phone’s wifi connection on, connect to your home wireless network. Start the app on your phone.

5 ) Put the IP Address from step 3 into the app.

6 ) Works!

Android -> Linux Desktop Remote Control (better documentation than official)

iOS (iPod, iPad) Devices on Linux – Long Term non-jailbreaking Solution

Outline of the Problem.

Many people would like to have their iOS devices, such as iPods and iPads interact with their Linux devices. Apple clearly lists Microsoft Windows or OS X as a requirement for such devices, but I can nonetheless understand why someone may wish to get use out of a gift they received or similar instead of selling it or giving it away. There are several reasons why I personally avoid such devices, but I can respect the choices of others.

Those that have chosen to own iOS devices and not use proprietary desktop operating systems are frequently met with frustration when trying to sync them or have them otherwise communicate. A method is developed by a clever open source volunteer programmer, it works for a few months, then suddenly stops working with an iOS update. Rinse, repeat.

There is already a long-term solution that, while legal, voids your warranty on the device and is often difficult for non-techy types.

A Humble Proposal.

There generally is no long-term approach outlined to break this cycle that doesn’t involve voiding of warranties, so I will outline and propose one.

  1. Look into methods to cease software/firmware updates to the device.
  2. Wait for the open source volunteer programmers to work around Apple’s shenanigans as of the last time you did get an update, and thus your device will eventually work again.
  3. Continue to not update the device.

I have no idea if this is currently possible without jailbreaking an iPhone with an active data plan that is always internet-facing, but I would encourage the aforementioned open source volunteer programmers and casual tinkerers to focus on a method wherein the device is not fully jailbroken. Only any forced system update software needs to be turned off, disabled, or have its knee caps busted with a sledge hammer. Ideally, the semi-skilled bureaucrat at the Apple Store will not be able to tell at a that this was done when casually going through the itemized warranty verification checklist.

The simplest method of avoiding updates for an iPod is to simply never connect it to iTunes.

Worth Noting.

This long-term solution could be implemented in addition to the current short-term solution that works, as outlined somewhere on the internet so that you can get your device working today. I cannot link to the current method because that would render this post obsolete exactly one iOS update from now, but I can offer you a hint: for the short-term solution that currently works, you need to be looking at how-to guides and discussion forum posts more recent than the date of the last iOS update you received.

Remember that the short-term solutions are cyclical and temporary. Don’t be surprised if the method that worked last month no longer works today.

If your iOS device is receiving updates, one will eventually break all currently existing non-iTunes & non-Steve-approved support.


This difficulty is by design, not accident. The entire point of many of Apple’s so-called security updates is to maintain or re-introduce Apple’s security and control. Over you.

The base problem that causes the problem outlined in this article is a social problem – how people treat people, such as how the folks running the Apple Corporation treat customers. Thus, what I propose here falls into the realm of a technological solution to a social problem. In itself, that presents a problem. A smart fellow just the other day pointed out that technological solutions to social problems are generally imperfect (much like military solutions to social problems). This proposal, even if implemented perfectly, will still be imperfect. It will still require extra hassle on the part of the end-user, for example.

If you have come across this blog entry, then you have also probably read a relevant Wikipedia article or two, or maybe even three. Thus, I trust that you already know that there is a series of social solutions to this social problem and ones like it. Please respectfully and tactfully advocate for such a solution, when you see such an opportunity present itself.

iOS (iPod, iPad) Devices on Linux – Long Term non-jailbreaking Solution

Ubuntu Linux Sucks.

Well, not really. I like it and blog from it and use it every day by choice. Anyways, what follows is a post of mine from a discussion over at about Ubuntu’s difficulties in entering the mainstream.

Someone else said this:

The main problem with the competition for Ubuntu is not Mac or Windows. it is the other operating systems you can download for free, the hacked versions of Windows.
A few people criticized and mocked him. His post was not looking very popular, because it didn’t make anyone feel warm and fuzzy inside. Here is what I have to say, in response to his comment:

I think he is onto something, here.

It isn’t significant that one 20 year old nerd thinks he has it made with cracked windows–

–it is significant, however, that he has the 4 or 6 people in his life that he sets up with that cracked version and that he provides the tech support for. The best operating system for any non-nerd is whatever OS their local nerd is willing and able to support, period.

I spent 20 minutes just last night explaining to my Ubuntu-using mother what a ‘checkbox’ looked like in nm-applet over the phone, and that the lack of a check in the box did not mean it was magically no longer a checkbox. Or something. I really have no idea what I was explaining to her, I got more confused the longer I talked to her. All I know is that she eventually clicked around enough that her wifi that had previously magically broken had suddenly magically started working again. I wish I could claim to have helped my mother, but I really have no idea what broke and what fixed it. Fairy dust is just as good a guess as any. The point is this: I told my mother that I was willing and able to support Ubuntu, and she thus uses Ubuntu.

Another example: My nerd girlfriend has a Mac and, thus, so do both of her parents and all of her siblings and a few of her other friends. Not because anyone did any rational cost-benefit analysis, but because that is what she told them to purchase because that is what she felt she was willing and able to support. One nerd willing and able to provide support to her loved ones translates directly and exactly into 6 or 7 computer sales. Impressive, huh?

Ubuntu needs to replicate that effect.

I hate to say it, but the best thing that could ever happen to Ubuntu’s market share in the short term is that every cracked copy of Windows ceases to function tomorrow.

Few people will pay $200 for a start menu (or a dock) and facebook. Many will pay $0.99 to burn a CD-R for facebook – something that Ubuntu provides, like it or not.

Ubuntu Linux Sucks.

History of UNIX User Interfaces – 1969 to 1998

I recently came across a phenomenal graphical history of UNIX user interfaces done by user “Spice Weasel” over at, and I thought I would share it.

It includes screenshots of what the UNIX desktop looked like from the dawn of our modern operating systems in the late 60s to the turn of the millennium.

Sneak Preview:

Image of the CDE desktop from 1993. It is gray and purple colored, and pixels are clearly visible.
(Image Credit: screenshot from

Click here to see this wonderful piece in its entirety. Click here for the full discussion that includes it.

You will note that most of these old UNIX screenshots look much nicer than what you would find on a typical home computer of that same year. The most stunning case in point is the 1993 CDE, pictured above, as compared with the contemporary Windows 3.11 or Windows 95 that was still a few years in the future. Part of that is because these were intended for expensive and mission-critical big business uses, not for writing a letters to grandma.

The screenshots are of the following:

  • Unix in 1969. All of us Linux and Mac users are still using principles and methods that date from this period in time.
  • The great leap forward of twm in 1987. twm relied on the X Window System, from 1984. Many of us Linux and Mac users are still using X’s child, X11, on a daily basis.
  • 1989’s OpenWindows from Sun Microsystems.
  • CDE – Common Desktop Environment – in 1993.
  • FVWM-95 in 1995, a Red Hat implementation.
  • KDE in 1998.

To complete the history and fill in the last decade of UNIX user interfaces for a total of 42 years, this was me playing around with my desktop as of a few hours ago in the context of a hyper-nerdy discussion. If I weren’t lazier, there would have been a fancy icon and more imaginative text in the upper left corner.

(Click for full size)

History of UNIX User Interfaces – 1969 to 1998

2011: Best April Fools Pranks on the Web

My favorite internet holiday has ended, and I must now wait 364 days until the next.

I really shouldn’t say these are the “best”, but I already did. A more accurate statement would be that this is “a selection of ones that I found amusing”. Here we go:

US Army Moving to Stetsons

This one actually got both my roomate and his friend going for a while, both US Army veterans. In the case of my roomate, he recalled when the Army adopted the silly looking berets they currently wear, making the story credible.

Image of a soldier with the sun setting behind him, creating a silhouette effect. Soldier is facing the South, estimated by the sun setting in the West. He is equipped with a rifle, body armor, and a cowboy hat.
(Image Credit: US Army)

Linux to Adopt BSD License

If you aren’t a nerd, don’t bother looking at that one.

If you are a nerd: Includes quotes from Ballmer, Torvalds, rms, and Oracle.

I Am Going to Libya

A few people seemed to fall for that one. I made this picture to go with the article, but it would have introduced a plot hole so I didn’t post it at the time. It is completely over-the-top ridiculous.

Me, sitting on a bench. Baseball cap backwards, aviators on, smoking a cigarette. I have an M-14 rifle in my hands, and am wearing a bou-bou over camouflage and a rambo-style bandoleer. I look completely ridiculous.

Before any other Marines or Former Marines get all riled up over the distinctive pattern on my sleeves and collar: this was in my back yard and in the context of a joke. Settle down, jefe, you’ve got bigger fish to fry.

ThePirateBay Purchases eBay

Get it? PirateBay and eBay? Yeah.

Scientific American: “OK, We Give Up”

Worth reading the whole thing. It is satire, and mostly a criticism of pseudo-scientists, CNN and Fox news “experts”, creationists, etc. They talk about dinosaurs, global warming, and so on. You know, the important stuff.

And Finally, one that I hope is a prank: US Army to Issue Smartphones to All Soldiers

For Angry Birds and Words With Friends!? No! Google Maps and Text Messaging.

Unlike the Stetson article, the one was written by a named three-star General and was not updated today to include a giveaway that it was an April Fools joke.

If it is not a joke, I wonder how they came to the conclusion that American Troops carrying American Cellular Phones will have cell phone reception in foreign nations that we may someday be at war with, and I wonder what the rationale behind putting a GPS locater on every soldier was… to keep the enemy better informed of the whereabouts of American forces via radio triangulation?

That would especially be a concern in a theater were few locals have cellular phones. In such a theater, 40 people walking together and broadcasting radio transmissions over both cellular and GPS frequencies can pretty much mean only one of two things: either the 40 richest people in the nation are out for a walk together, or a platoon of US Army soldiers is on the move. We all know that telling a bunch of teenagers and people in their early 20s, “OK, everyone turn off your cell phones now” doesn’t always work out exactly as one would hope.

2011: Best April Fools Pranks on the Web