The War On Ads

I spotted on techcrunch this morning that my favourite browser, Opera, has just added a built in adblocker which it claims speeds up page loads by up to 90% in some cases. This is sure to fuel the current tension surrounding ads and adblocking. 

I stand firmly on the side of blocking ads. I’ve heard the arguments for ads, for white-listing a site so it can continue to profit etc. I’ve even complied a few times just to test out the experience, and I quickly relented. 

I’m not going to go into a big anti-ad rant just now. I don’t have time. I’ll just say this: I hate ads. I hate them on TV, billboards, junk mail, spam, web page popups, inlines, sponsor messages, or in apps – especially in apps, and I know you do too. Everyone does, and the narrative that we need them in order to keep things the way they are is just more marketing on top of marketing.

I never have, and never will, put ads on any of my websites, or in any of my apps.


Found this nice little in-browser editor through HN:

– Your thoughts are backed up directly to Chrome: no account or syncing.
– Here are some handy shortcuts for you. Take notes ⌘B, ⌘I, ⌘U, ⇧⌘S
– Choose Day 🌤 or Night 🌕 mode
– Count the number of characters 🔢
– You can print your note

It has most of the things that Poe currently does, and a few that it will have in the next version. It doesn’t save your work, so you must export it to keep anything you write. This is a fairly big hole in functionality, something that could be easily fixed by leveraging localStorage.

It’s pretty though, and I like how simple it is. Simple is good.

Voice Recognition in Windows Phone 10 Beta is abysmal

Voice recognition on Windows Phone 10 Preview is terrible. To demonstrate, I’ve attempted to write the next sentence of this blog using it. Here’s every attempt:

  1. It off and start
  2. it’s nothing stops halfway through a sentence.
  3. It off and stop
  4. Often stops halfway through president
  5. It often star
  6. It often starts at waitara send an
  7. It often starts at waitrose in
  8. It after
  9. Aften stop sao
  10. It often stops halfway through the
  11. It often
  12. It often stop sasha
  13. It often stops halfway through a sentence?

Thirteen attempts just to get one sentence. This is bad. This is comically bad. Voice recognition on Windows 8.1 was near perfect. Although it was only available for text messages, it worked almost flawlessly. WP10 seems to have done an about turn, because now it can’t figure out what I’m saying no matter what way I force myself to speak.

What happened Microsoft?

Impostor Syndrome – an analogy and pep talk – Mary Robinette Kowal

Mary Robinette Kowal, author, narrator, puppeteer, and caster-of-pods over at writing excuses, has this to say about “imposter syndrome” on her blog today. We’ve probably all felt this at one point or another. I know I have.

I’ve just given the same pep talk to three different writers, so I figure you probably need it to. Let me speak to you about impostor syndrome. That thing where you are sure everyone knows you’re faking it and they are going to find out any minute and then you will be cast down and …

Source: Impostor Syndrome – an analogy and pep talk – Mary Robinette Kowal

Foodpairing Ninja

This is cool – put in any two ingredients into and it will pick out matches from a database of over 600,000 recipes.

It’s also the first .ninja site I’ve seen in the wild, which is mildly interesting

I couldn’t find anything matching Peanut Butter and Sausages, I think there’s a potential opening there.



jbranchaud/til: Today I Learned

Josh Branchaud wrote a small file detailing some bit of programming knowledge he learned every day for 328 days. I really like this idea and I think I might just do it. I certainly won’t be posting as often as he is – I don’t learn quickly enough – but it’d be nice to be able to look back on everything I’ve learned in one year.

So what did I learn today? 

Electron has two processes – a main and a renderer. Both have access to node.js but almost all of your code should sit in the renderer. This is not what I expected. I assumed my code would go in main.js, but apparently this is really only for very low level stuff like manipulating the window and menu. Even database / file access code belongs in the renderer!

Differences Between Main Process and Renderer Process

The main process creates web pages by creating BrowserWindow instances. Each BrowserWindow instance runs the web page in its own renderer process. When a BrowserWindow instance is destroyed, the corresponding renderer process is also terminated.

The main process manages all web pages and their corresponding renderer processes. Each renderer process is isolated and only cares about the web page running in it.

In web pages, calling native GUI related APIs is not allowed because managing native GUI resources in web pages is very dangerous and it is easy to leak resources. If you want to perform GUI operations in a web page, the renderer process of the web page must communicate with the main process to request that the main process perform those operations.

In Electron, we have provided the ipc module for communication between the main process and renderer process. There is also a remote module for RPC style communication.

Note: If I do start a series of TIL’s I’ll probably follow Josh’s example and stick it on github or somewhere. I’ll keep it out of the blog.

What Kind of Name Is That? The Perils of Naming Fictional Characters

An interesting look into naming fictional characters. I always have trouble with this. Something else they don’t mention are the perceived problems of giving a character the same first name to someone you know, and then worrying that they’ll think the character is based on them. Yes, I overthink things. That’s the key to a good procrastinator

How to name your fictional characters.Characters in need of names.To me the most embarrassing part of writing fiction, aside from telling people about it, is naming your characters. Of course, even “real” names are made up, but in life our names are things we can alter only with a great deal of paperwork; in fiction, writers… Read More »

Source: What Kind of Name Is That? The Perils of Naming Fictional Characters

wordpress from the command line

Decided to see if I could find a way to post to wordpress from the command line today. Promptly found wp-cli, which seemed to be the business. Promptly spent an hour trying to get it to install on Windows 10. I had to install php & composer first, only to find that method did not work. Then I had to download a .phar file and write a batch to install it. I also had to go fiddling with system path variables.

Would it be quicker if I knew what I was doing? Sure.
Would it take less than 2 minutes if I used Linux/OSX? Probably.

But neither of those conditions held true. I’m not au-fait with composer (though I should be I’m sure) and I don’t run Linux because I develop I use Visual Studio for work. More than that, all the many times I’ve tried various flavours of Linux over the years, they just haven’t floated my boat. They always feel unfinished.

Maybe soon I’ll try again, and maybe I’ll like it, but that’s for another post.

So I finally got wp-cli installed, and wasted about another 30 minutes trying to connect to wordpress. It seems that it wants me to install WP to a root folder, and then it can do command line stuff to that install. So basically, I have to run it on the server on which I have WP installed.

And I’m out.

Aside from taking hours to get up and running, and finding it doesn’t do what I want, the complexity is crazy, for a simple command line tool. The wp-cli folder installed has a brain numbing 2,635 files, and clocks in at 10mb. WordPress itself isn’t that complex, with just over 1,500 files and taking 50mb of my SSD. How can the simple command line tool to post to wordpress need 1,000 more files than wordpress itself? Granted this is a cloned git project, so a lot of that is probably not strictly necessary to the compiled app, but still it boggles the mind.

I abandoned wp-cli, and found a node.js library called “wordpress” which is ‘only’ 500 files (though these are hidden away in my node_modules folder). I can write a single node script that will do most of what I need to my remote wordpress install. If I’d only done this to begin with, those 90+ minutes would have been better spent.

Developer Woes–SQLite, WinJS & Windows Phone

If you’re building a Javascript app for Windows Phone 8.1/10 and you want to have a database, it is NOT easy. I’ve had to do this recently, and I’ve hit so many walls along the way. There’s a lot of conflicting information out there, especially on StackOverflow. 

Things I have learned about Databases under WinJS on Windows Phone (as of 2016-01-28)

So there you have it. If you’re developing in Javascript for Windows Phone and you need a database, your only option is SQLite. And the only wrapper that works for that is cloudcrypt’s