Wednesday, 30 April 2014

Founding expectations

People expect you, in certain professions, around your forties, to found a company of your own. I think the only reason I would ever found a software company would be if it were less stressful than being an employee, and I don't see that happening. I don't want to be a manager. I don't want to hire and fire people, work for sales, kowtow to demanding clients, or publish a vision and mission statement. I'm fiercely disinterested in all of that. I just want to write software. If I could found a company that let me ignore all of that stuff and focus even more on writing the software I want to write, that would be my dream.

About the only way I can see it working is if I'm a one-man software shop. I might just need to call in consultants occasionally for sales, accounts and management direction.

Mokalus of Borg

PS - This assumes I have a product to sell.
PPS - Which, right now, I don't.

Tuesday, 29 April 2014


I don't deny that people have done some stellar work and put in heroic efforts to bring rich functionality and interaction to JavaScript, turning it into a relatively powerful language. My only observation in response is to say that no such extensions and enhancements were needed for any other modern language. They started that way. JavaScript, to me, feels like a horse cart, but now with neon lights, alloy wheels and a huge spoiler. It's trying to race with the big boys but, ultimately, it's still a horse cart in a V8 world. It was designed for much less than it is trying to do, and we are only using it because a generation of programmers decided that desktop environments and deployment was too hard.

We should think of JavaScript the same way we thought of Assembly language after the C compiler came along.

Mokalus of Borg

PS - Finding an alternative JavaScript is not the point.
PPS - We need compilers that output JavaScript.

Monday, 28 April 2014

Shareware vs web servers

Before (the widespread consumer use of) the internet, we had "shareware". This was software that you were encouraged to copy from person to person, try out, and pay the owner (on the honour system) if you kept using it. Thinking about it now, that has some elements of P2P filesharing, though the payment system was obviously the only thing that worked at the time for non-traditionally-published software. These self-published software developers treated software copying as word-of-mouth advertising and, because they couldn't rely on an internet connection, the only measures they could try to take against non-paying customers was to try and make the software only function for a certain time, or only distribute a functionally limited version. This is the software environment I grew up in. Mail-order software as advertising for honour-system payments. No wonder I'm so different to today's always-on webserver thinkers.

Mokalus of Borg

PS - I need to work on that.
PPS - It's not that I can't think that way, it's just not my default setting.

Friday, 25 April 2014


I've had to learn to use Git, which is the most popular distributed version control system in the software world. I was quite happy with Bazaar, a different version control system, because it fit very well with the way I worked on my own, whereas Git was designed primarily to be fast for thousands of developers working in very distributed teams over the internet. None of that describes how I work, but I've been outvoted by the world.

The biggest problem I encountered while learning was the "working over the internet" part. Every tutorial and every third-party tool I tried always reached a point where it began assuming I was working from a remote server, complicating matters and failing to teach me what I needed to know. It was a very frustrating situation to be in, because I'm trying to accomplish very simple goals - well within the software's capabilities - but it's already been presumed that complex dealings with remote servers are the norm. This seems especially galling to me, because Git is distributed, and should have no need of a server, but the first thing people do with it is say "Yeah, but how do I put it on a central server?"

I've successfully imported all of my Bazaar history into Git repositories, though, so at least that part went well.

Git works, especially for what it was designed for. That's part of why it's become the de-facto industry standard for distributed version control, even if most people use it in a heavily centralised mode. Compared to Bazaar, I like how easy merges are to perform. In Bazaar, there were more conflicts when merging. In Git, merging is relatively simple and quite often conflict-free. More conflicts are resolved automatically, anyway. That's pretty good. It's also the part that took me the longest to learn.

Mokalus of Borg

PS - I'm happy enough that I made the switch.
PPS - I'm not as happy that it wasn't entirely my choice.

Thursday, 24 April 2014

Buying petrol discounts

If you have to spend $5 in store to get a 4c/L discount on petrol, then you'd better be buying more than 125L of petrol, or else you just got screwed. For example, if your petrol was priced at $1.40 per litre and you filled up with 40 litres, that's a total cost of $56. If you buy $5 worth of chocolates to get the 4c discount, then your petrol is $1.36 per litre and your total cost is $59.40, or $3.40 more than you would have paid without getting the "discount". It's only when 4c per litre adds up to $5 that this becomes worthwhile. $5 divided by 4c/L gives 125 litres.

If you buy items you would have bought anyway, but at the higher petrol station prices, the calculation is more complicated. You only have to count the extra dollars you paid over supermarket prices for milk and bread and convert that into litres. Let's say you buy milk to get your discount, because you are running low at home. You pay $5 for 3L of milk but you would have paid $3 at the supermarket. That's an extra $2 you paid to get your petrol discounted by 4c/L. For that to be worthwhile, divide your $2 by the 4c/L discount and you need to be buying 50L of petrol to hit the break-even point. It's more plausible, but for me, personally, my car only has a 40L tank, so it is never worthwhile for me to spend $5 at the petrol station to get a 4c/L discount, even if it's something I already need.

Mokalus of Borg

PS - Dollars spent for the discount (D) = cents per litre discount (c) times litres bought (L).
PPS - Plug in the two numbers you know and solve for the remaining one to find out whether it's worthwhile.

Wednesday, 23 April 2014

Phone space used by Pocket

I started using Pocket for offline reading on my phone when Instapaper stopped being useful enough. I used to delete articles when I was done, just because the alternative was archiving, and I just didn't see the need for an archive of my read articles. Also, I assumed that Pocket was going to keep that archive to make a profile and sell my data. I still assume they're doing that, but I started using the archive for one very simple reason: it was faster. Archiving an item is one click, deleting is two, because every delete has an "are you sure?" confirmation question. So my archive started building up. Now I'll have to start deleting articles again because, it seems, Pocket stores the archive on my phone, taking up extra space. I currently have 2.2GB - that's 20% of my phone's available storage - taken up with Pocket's cache of article images from alone. There's more than 3GB total, and a good chunk of that will be the archive (assuming my theory is correct). The archive has to go, which should release some space. I'm not sure how much. If I want to release the maximum amount of space that I can, right away, I need to find, read and remove any articles that contain animated GIFs. They are by far the biggest images stored by Pocket which, unfortunately, can't display animated GIFs anyway. Starting this week, I will be aiming to destroy my Pocket archive, because that will save space on my phone and prevent it from being used as a marketing tool against me.

Mokalus of Borg

PS - I used an app called DiskUsage to figure this out.
PPS - It works pretty well.

Tuesday, 22 April 2014

An update on the universal playlist

I've been keeping all of my entertainment in one big playlist for a little while now, allowing me to focus on books, movies, podcasts or TV shows that seem most important to me at the time. I vote for them against each other, deciding which of two items I would most like to be doing at that time. When a few rounds of voting are done, some clear winners emerge, and it's much easier to choose something fun from that smaller list. Incidentally, this is also how I choose which blog posts to make here, out of the huge backlog I have in storage.

The first observation is that, because of the way the list works, new items don't get voted down immediately. They don't have to fight for position against the top performers. This means new items actually have an advantage over older ones that already got voted down. I will often get something brand new come to the top of the list despite only having added it the day before. This is a bit against the ideal I set out to embody with the list, but I don't think it's been too big a deal yet. We'll see.

The second observation is that I really don't have as much time as I thought. I'm not getting through any more entertainment than I used to. I'm just getting more variety and more quality. It's good, but the list does continue to grow. As I write, I have over 400 items on the list. As I add more, they're not going to go away more quickly. It is likely that this list will continue to grow longer as long as I use it, unless I look at the tail end and decide there are some items I will never need to bother with at all. Those I can cut out.

It's funny how the size of the list still plays on my mind. I know I don't have to get it all done. That's why I use it in the first place. If I can't do everything, I'd better do what's important or most fun. Perhaps this means I just haven't accepted my own mortality.

Sometimes the voting is hard. Two items that I'd really like to do come up against each other, just at random, and I have to choose between them. Or two really bad ones. That's just as difficult.

Mokalus of Borg

PS - On the whole, though, it's working pretty well.
PPS - I've changed software once since I started. I wrote both myself.

Monday, 21 April 2014

Facebook doesn't do news well

For me, at least lately, Facebook is a terrible way to get official news. It's buried under cat videos and Candy Crush invitations and I'll often skim right over special-interest news I would otherwise very much like to read. For companies looking to get the word out, Facebook is terrible in a different way. When you post something to your company Facebook page, it only goes out to 5% of your followers - people who have deliberately sought you out and linked their profile to your page because they want news from you. Apparently, if you pay Facebook a gatekeeper tax, they'll bump that number up to 10%. So, basically, Facebook is terrible as an official news channel.

Mokalus of Borg

PS - I'm also not on Facebook every day, so I miss news that way, too.
PPS - And I don't always read my whole news feed when I'm there.

Friday, 18 April 2014

Faith in large primes

I saw Adam Spencer give basically this same talk at Tech Ed 2011 in Queensland. He talks about prime numbers, the ongoing search for larger primes, the discovery of Mersenne primes and one particular number, known as M48, that is simply too large to show on a slide, let alone to comprehend its massiveness.
Because it has been proven prime, and it being the largest known prime so far discovered, Adam says that he knows, with the same deep-down certainty as he knows anything else, that this number is prime - it has no factors but 1 and itself.

The thing is, what he's talking about isn't knowledge as such. Rather, he has faith that this number is prime. He has faith in the computers and software that performed the proof. He has faith in the people who created that hardware and that software - that they did not make mistakes in creating them, nor in running them. That no unforseen errors occurred and were accidentally buried. That no deliberate fraud was committed in order to claim the title of the discoverer of M48 (though I'm also pretty sure that's not the case). Because unless he performed these calculations himself, Adam cannot really know that M48 is prime. He is trusting that judgment to others. Trust and faith in maths too big to do for himself. That's what Adam has. It might not seem like a significant distinction, but it makes a significant difference when discussing science.

I don't, personally, know any forensic science, archaeology, anthropology or molecular biology. I trust my understanding of those topics to trained people or, more accurately, to popular journalism of those topics, filtered through all the news channels and brains that stand between me and the scientists doing that work. There are a lot of layers to trust there - a lot of translation and assumptions of honesty or even just accuracy. The point is, a lot of what you "know" about science is based on faith in a lot of people doing their jobs honestly and accurately. That is trust or faith, but it is not knowledge.

Mokalus of Borg

PS - Faith that computer hardware works as designed is pretty well-founded these days.
PPS - There are plenty of places where the story could go wrong, though.

Thursday, 17 April 2014

Browser security

When websites are more like apps, we need to be able to grant or deny permissions to them like we do any other software. A firewall or whitelist that allows or denies code full permissions based on its origin is too coarse, and most people aren't even doing that much with their desktops, let alone their browsers. Browser security is probably the next big battleground.

Mokalus of Borg

PS - Actually, it's probably the big current battleground.
PPS - It is, after all, the biggest sector of computer use right now.

Wednesday, 16 April 2014

Clock vs timepiece

I learned something recently. In a couple of TV shows I've watched - specifically Heroes and Grimm - there is a character who works with clocks, though they are careful to use the term "timepiece". I thought this was just weird professional terminology pedantry, but then I read the Wikipedia article on clocks. It turns out that the word "clock" is derived from a word that means "bell", so a device that tells time but has no bells has a different name, "timepiece". So that's why your wristwatch or cheap wall clock is technically a timepiece. It also means that the name "Big Ben" for the Clock Tower in London is slightly more accurate than you might think after hearing that bit of trivia that Big Ben is actually the bell, not the tower.

Mokalus of Borg

PS - This also might make sense of the word "glockenspiel".
PPS - Though maybe not.

Monday, 14 April 2014

Criticising art

The only valid way to criticise someone's art is to make better art. You're not allowed to just say "that sucks", and you're definitely not allowed to say "that sucks and you should stop making art forever". If you want to say some artwork is bad, whether painting, drawing, writing, acting, film-making, music, whatever, then your only recourse is to make something better.

Mokalus of Borg

PS - If your retort is "but I can't", then you're making my point.
PPS - The world has enough critics and not enough artists.

Friday, 11 April 2014

Rating quality by true or false questions

Games, movies and books tend to be rated on a 1-10 scale, 7 being the lowest and 9 being the highest, as they say. Or 1-5 stars, which is pretty much the same. As a game reviewer, I've heard, you can expect a hard fight to get anything outside that 7-9 range published as your official score, if you work for a major outlet. If you don't work for a big publisher, then obviously you do what you like, so this post doesn't apply to you.

This 1-10 or star-rating scale is heavily skewed to the top end, is what I'm saying, and it's hard to decide what it means. Is an "8" game always better than a "7"? Probably not, if they're in different genres and you prefer one genre over another. It all depends on the reviewer's taste, their mood on the day, the rest of the audience (for movies or live shows) and so on. Some publications try to get around this "all in one" score by rating individual aspects for their reviews. For games, it might be "music", "sound", "graphics", "gameplay" and whatever else. For movies it would include "plot", "script", "performances" ... you get the idea. It's slightly more helpful, but still not objective.

I think it would be instructive to try a binary categorised rating system. For a set of aspects of the work, the reviewer answers "yes" or "no" and that's it. "Was the music enjoyable?", "Was the plot free of gaping holes?", "Did the movie/book/game feel too long?" Things like that. Now we have a way to break down enjoyment of a work and give it an honest score percentage (depending on how many "good" boxes it ticked). No mucking about saying "Well, I thought the music might have been a 3, maybe 3.5 stars, but I said that about that other movie last week, and this was better than that. Better make it 4". Just "Yes, music was good". It's still subjective, but it's harder to lie to yourself and worm around your answers if they're "yes/no" questions. Hopefully, if you ask the right questions, preferably across a broad sample of people, you'll get a representative rating, plus a solid data set to back it up.

Mokalus of Borg

PS - If you ask the right questions, this could work for a lot of situations.
PPS - And if you match answers with a user profile, the ratings can reflect the taste of individual readers.

Thursday, 10 April 2014

Pegging the creepiness meter

I read recently about a way to sort-of-quantify creepiness. I thought I'd plug in my own self-assessment to the formula and see where I come out. The entire argument is kind of moot anyway, because I'm going on 7 years married now, but it's fun to see. I'm going to go with a star rating, 1-5, on the formula components to come out with a number at the end that's very difficult to interpret and almost totally context-free. Well, the four factors I need to assess for myself to use the formula are:

Awkwardness: High. I'm so awkward I'd rather lose contact than risk saying something stupid. 5.
Forwardness: I am not forward until I know you, and even then it's maybe once per year. Still, I'm not a total shut-in. Rating 2.
Attractiveness: Grading from "lice-bearded hobo" at 1 and "airbrushed supermodel" at 5, I'd rate myself a middling 3.
Persistence: Hmm. I am actually difficult to discourage, I suppose. I'd like to think I am going to back off if you are taken, but in all honesty, I'm likely to carry a torch for a while after that. 4? Go with 4.

The creepiness formula is:
Creepiness = ( (Awkwardness x Forwardness) / (Attractiveness) )^Persistence

In my case, then, that's: (( 5 x 2 ) / 3 ) ^ 4 = 123.45

Wow. That seems really high. How about we compare my score to a confident, go-get-'em jock who, nevertheless, takes "no" for an answer:
(( 1 x 5 ) / 4 ) ^ 1 = 1.25

So, compared to the "ideal" I've just invented, I'm creepier by about a factor of 100. Yikes. Well, that makes sense of my entire (lack of) high-school dating history.

So what adjustments can I make to lower my score? Step 1 should probably be to dial down the persistence. Don't be immediately discouraged, but take a hint (also, learn to read hints). Forwardness needs to go down, too. I can't affect my attractiveness enough to significantly swing the number up, and I can probably only affect my awkwardness for the better with a long process of confrontation therapy. Looking at the formula, it's probably worth it. New predicted result:
(( 3 x 1 ) / 3 ) ^ 2 = 1. Better than the jock. That's because, with these new scores, my awkwardness x forwardness score is the same as my attractiveness, which actually means persistence has no effect. I guess that's good.

Mokalus of Borg

PS - The worst-case value for this formula used this way is about 9.7 million.
PPS - I guess, by that standard, I'm doing pretty well.

Wednesday, 9 April 2014

Automated interpersonal package delivery

What I would very much like to set up is a private package delivery network between my family and friends. If I want to borrow a physical book from a friend, I would just text them the request and send a quadcopter drone to them. They put the book in a box and send it back. I wouldn't need to wait until I see them next or arrange a meeting to exchange physical goods. Just send the drone.

I think this would also be a very neat way to use self-storage. If you have some automation inside a storage locker, then you can access it from anywhere with drones. To put something away in storage, tell the drone what it's picking up (so you can retrieve it later), then just put it in the drone when it arrives. To get it back, look it up in your index (presumably on a mobile app that lets the drone find you) and tap "deliver". You could even throw things out from storage or have them all moved to another facility or a bigger locker without ever going there.

You know what drone delivery reminds me of most? The little parachute "gifts" from sponsors in The Hunger Games. They float down from some unspecified location in the sky right to where you are. Swap the parachute for four little helicopter rotors and that's exactly what I'm talking about.

Basically, drone delivery lets you be as disorganised with your physical stuff as you currently are with your real-life plans since mobile phones came along.

Mokalus of Borg

PS - This does ignore security.
PPS - Now your possessions can be "Only a Drone-Call Away(TM)".

Tuesday, 8 April 2014


This is being awkward: I am too afraid of making a fool of myself to ever cut loose and have some fun. I am so afraid of losing my friends that I will stay quiet, lest I offend them, and just let them drift away to more fun places. It's the quietest, lamest form of self-destruction I know, but it feels like cautious self-preservation at every step from "good friends" to "who are you again?"

Mokalus of Borg

PS - I want to work on this.
PPS - Step 1, research.

Monday, 7 April 2014

What backups should be

"Backed up" means lots of copies. That should be obvious. "Fireproof" means that those copies are in lots of physical locations. "Secured" means strongly encrypted with keys that nobody else knows. "Recoverable" means that those copies can be obtained and restored in the event of disaster. For your most valuable personal data, you should have at least fireproof, recoverable backups and, preferably, secure them.

Mokalus of Borg

PS - You might be able to get away without securing your backups if they are merely personal, not sensitive.
PPS - You'd be surprised what counts as sensitive, though.

Friday, 4 April 2014

I need maps on all weather warnings

I need maps on every weather warning issued by the Bureau of Meteorology. I don't know, for instance, if I live inside the Calliope River catchment, so it's hard to tell if certain warnings apply to me. I can, however, locate my home and place of business on a map. Give me that.

Mokalus of Borg

PS - I'm fairly confident I don't live in the Calliope River catchment.
PPS - That's only because I don't know where the Calliope River is. Geography is not my strong suit.

Thursday, 3 April 2014

Computer user self-esteem

Some people seem to have low computer self-esteem. Being shown around my new workplace, several people introduced themselves as being "in the remedial class", "hopeless" or "the one who causes the problems". I just wonder how we got to that point. Why should people blame themselves for computer problems? Probably because programmers and sysadmins have spent years blaming them.

Mokalus of Borg

PS - You can stop blaming yourself now.
PPS - Well, maybe not for everything.

Wednesday, 2 April 2014

The source code of language

On a particular TED talk, an Ajit Narayan talked about his methods for teaching autistic children the structure of abstract language through the use of some concrete thought maps, and how those thought maps (which he called "Free Speech", not to be confused with the US Constitution's first amendment right) could be converted into grammatical speech in any language via fairly simple rules.

Being a software developer, this struck a particular chord with me, because that sounds like he has discovered the source code of language itself. His thought maps are the ideas we are trying to express, and the rule engine applied to them is the compiler of language. If you're looking to translate a document into many different languages, then, what you're doing is decompiling it into source code, which, for any language, involves a fair bit of nuanced understanding and reworking. If you succeed, though, you'll have a thought source document that can be compiled into any human language. If you are all for the preservation of languages, then these compiler engines are what you should be working on.

I'm sure there's a lot more complexity to the process than I'm getting, especially since the subtleties of language are many, but it is at least a good start. To include all human language subtleties, you would need to ask a lot of questions that aren't relevant for all target languages. In some cases, for instance, to talk about people's relatives, you may need to draw out a full family tree to illustrate the links, including ages, where, in English, the word "cousin" would cover all that detail. Also, technical vocabulary would be very complicated to convey. Unless there's an icon for "coeliac", how would you convey it in simple terms?

It sounds like the key to universal translators, the end of Babel, but picture this: people all have subtly different understandings of language itself. Not just dialects, but to the extent that my mental associations with the word "cat" might be very different to yours. All communication might be done via these thought maps, but what if every person maintained their own compiler engine for them? We would all be speaking slightly different versions of English, French, Spanish, Portugese, German, whatever, and they would drift further apart without interaction and correction. In the end, only the thought maps would make sense.

Mokalus of Borg

PS - And maybe then our understanding of those would start to drift apart.
PPS - Hopefully not.

Tuesday, 1 April 2014

Kickstarter investor pain

The dream of sidestepping corporations via Kickstarter might be over. It might never have been realistic to begin with. Two recent events have led me to start thinking this way. There is, of course, the VR headset Oculus Rift being bought out by Facebook. There's also the Veronica Mars movie, whose backers were promised digital downloads and sorta-kinda got them, as long as they use Warner Bros crippled, horrible, device-limited DRM system. The promise of these Kickstarter projects wasn't just for the producers of these works, being able to get funding without needing to kowtow to big venture capitalists. The promise was also to the backers, that, when they put up the cash to make the project happen, they get the investor rewards.

That hasn't been happening. As soon as a project reaches commercial viability, big companies are swooping in and taking over. And, in a way, that's okay, I guess. It's the way business works in a capitalist economy. The problem, to me, is that the ones being paid aren't the backers.

I think Kickstarter might need to grow up a little bit here. Instead of offering different rewards at different levels of support, the campaigns may need to offer a buy-back price option. Once their business or product gets off the ground, they can start buying back shares from their supporters at a given percentage rate, low for low investors and higher for those that risked more. This isn't quite the way Kickstarter has worked so far, and it might be a bit of a big cultural shift in their operations, so it should also be possible to offer their more "traditional" rewards as a selectable option for the buy-back. You can have our revolutionary 3D printer as a reward, or we can buy back your $100 worth of shares in our company for $110.

This isn't the form of investing that everyday people are used to, though. The promise of a $10 reward six months down the track might not inspire them to put up the cash, but it probably wouldn't leave quite as sour a taste in their mouths as the buy-out/kick-teeth model that is taking over.

Mokalus of Borg

PS - Or maybe not. I'm not an expert on investor relations.
PPS - I'm not even an amateur or hobbyist. So, you know. Grain of salt, etc.