Category Archive: com-pew-tars

Technical stuff

May 12

Resetting Panels in Lubuntu

Cocked up the taskbar panel badly in a new Lubuntu install. Found the following fix:

cp /usr/share/lxpanel/profile/Lubuntu/panels/panel ~/.config/lxpanel/Lubuntu/panels
lxpanelctl restart

Oct 24

How to Flash OTA updates

Honestly, the easiest way I’ve found is with the Nexus Root Toolkit and doing Flash Stock + Unroot with the “No Wipe Mode” and “Force Flash” boxes checked.

I find it easiest to just download my current build factory image and flash that.

This returns the phone to stock, but without wiping it, allowing it to download and install the OTA updates.

I’ve never been able to properly sideload OTA updates, so I find this way more convenient.

(Didn’t work for the Marshmallow update for some reason. Ended up sideloading it manually using adb.)

Oct 05

Rtorrent Won’t Start

Sometimes Rtorrent won’t start. The SCREEN process will be running, but the main rtorrent process won’t be.

Usually, this is caused by a bad .lock file.

Stop the service (just in case), go to /home/rtor/.rtorrent-session, delete the .lock file, and then start the service again.

Sep 18

Install Btsync 1.4.111 on a new machine (ubuntu)

Since I’m still using Bittorrent Sync 1.4.111 (because the free version of 2.0 is too restrictive for my use case), I need to use the following command to install it via Tuxpoldo’s PPA:

sh -c "$(curl -fsSL"

May 13

Adobe Offline Activation

Adobe products (in this case Lightroom 6) will refuse to do Offline Activation if they detect an internet connection at all (even if the activation site is somehow inaccessible).

The fix is to disable the ethernet port completely and restart the software, at which point you can get it to switch to Offline Activation mode and get your code to use on the Adobe website to obtain your activation code.

Whew. What a pain in the ass.

May 12

Adobe is Pissing Me Off

TL;DR – A profanity-laden screed dedicated to Adobe, the company that makes software we all have to use even thought we’d all use something else if there were any decent alternatives because they are a bunch of bastard anal warts.

Adobe, get your shit together.

I’m a buyer of Lightroom, and I recently decided it was time to upgrade and take advantages of some of the new features, particularly those related to video. I like the way Lightroom’s catalog works, but version 4 handles video like crap. 6 is reportedly much better.

So I go on Adobe site to buy Lightroom. I want the standalone version because I don’t want to “rent” the app via Creative Cloud. I want a version that will work even if I stop paying (for instance, if Adobe raises their subscription prices to more than I can afford). Luckily, there is a standalone version of Lightroom (you’re out of luck if you want Illustrator or Photoshop, though). However the website does its damndest to keep you from buying it. Go there via Google, and you land on a page that sings the virtues of Lightroom but will only allow you to buy the Creative Cloud version (bundled with Photoshop CC).

For fuck’s sake.

I eventually find the motherfucker on a page called “All Products”. I configure the version that I want (English, Upgrade version) and hit “add to cart”. The webpage takes me to the cart, gives me the total in USD, and invites me to hit the check out button. I hit the checkout button and am slapped with the message that I can’t purchase this because my account is registered to another country and I should log in with an account registered in the country the site is in (presumably the U.S.) It then proceeds to automatically log me out (after I click the only option on the page: “OKAY”).

I sign back in with my account. Okay, I thought I was on the international site, but fine. I find a page that lets me switch to the Japanese site. Which is, of course, entirely in Japanese. Which is understandable, but why force me to shop there? The southeast Asia region is in English. Surely the sites can’t be that different. Anyway, with the help of Google Translate, I locate the product page in Japanese and set it up there. Of course, it’s more expensive that the U.S. version, but oh well.

I get to the credit card screen and pop in my Credit Card details. Unlike the US site and the Canadian site, Paypal is not an option. I want to use my Canadian credit card because I recently bought a plane tickets on my Japanese one because I didn’t have quite enough money in my Canadian account to cover them. Everything goes through fine. (At this point, I could have torrented the software three or four times over, but the ordeal doesn’t end here.) After an hour or two of not getting my download link (Lightroom 6 doesn’t have a downloadable demo version—only Lightroom CC does), I get antsy and check my account page. Of course, I need to change the website region to an English-speaking country in order to get a clear picture of what’s going on. The order is “bring processed”. There is a notification that the order might take up to 24 hours to process. Grrr.

36 hours later, I check back in. Order is still being processed. Fuck this, I’m going to contact support. The three options are a phone number (not for my region, and outside of support hours anyway), a live chat session, and the Adobe forums. Fuck the Adobe forums. They are full of community mods/fanboys (called MVPs) who basically shit down the neck of anyone who suggests that Adobe may have done anything wrong.


Q. Lightroom is mangling Canon camera RAW files on import. Other files are fine.

MVP. It’s your hardware.

Q. I’ve tested it on several combinations of hardware, including different PCs, different cables, different card readers, etc.

MVP. It’s your hardware.

Q. I’m pretty sure at this point it’s not my hardware. I can copy these files all day long using other methods and they’re fine. They don’t corrupt until I use Lightroom to move them.

MVP. What don’t you understand? Adobe is perfect, therefore, it’s your hardware. Try changing USB cables.


There are dozens of threads on this particular subject alone that basically end up like this. Another common refrain is

Q. I think [product X] should have [Y feature] that [competing product Z] has.

MVP. If you need that feature, you are obviously not a professional in your field.

Q. I am a professional, and the industry is heading this way because of [good reasons].

MVP. You need to buy [consumer grade piece of shit product]. Adobe [product X] is only for professionals.

So yeah, fuck the Adobe forums.

So I try to open a chat window. Here is what it says:

24 hours a day, 7 days a week
Chat is currently closed


After several days, I finally get an email from Adobe saying that the order can’t be processed because of a problem with my credit card. I realize that I was never asked for the credit card address, and they probably just applied my Japanese address, which is why it failed. Annoying that, while partly my fault, this took nearly four days to figure out. Annoying too that I can’t use a credit card in my name that doesn’t match the address on my account. I can understand why, on one hand, but on the other hand, Amazon doesn’t have this problem, so what the fuck gives, Adobe? Especially since there is no alternative source to buy the upgrade version of your software.

Also, your shitty forums and chat support.

Jan 28

Flicker on Liquidsmooth 3.2 ROM

Good friend Pete Kambasis sent me his old Galaxy Note i717 for me to fiddle with. If I can get better performance out of it than my Galaxy Note SC-05D (the Japanese model), then I may switch over to it as my primary phone.

The problem is that my Japanese phone has hardware that’s unique in the world of Galaxy Note phones, so there aren’t a lot of good custom ROMs for it. The i717 was widely used in North America, and therefore has a lot of choices.

I’ve chosen LiquidSmooth 3.1 as it promised good speed. One of the problems with it (that I supposedly fixed with a patch) is a screen flickering issue that occasionally renders the phone well-nigh unusable.

This is caused by the GPU and CPU essentially “fighting” over which of them is rendering the screen, apparently. A potential cause is a conflicting line in the /system/build.prop file. Here’s the fix I found and I tried:

In the build.prop file under "# Screen flicker fixes" [there is] this line – "persist.hwc.mdpcomp.enable=false" and then under additional build properties [there is] this line – "persist.hwc.mdpcomp.enable=true". I removed the conflicting "persist.hwc.mdpcomp.enable=true" under additional build properties and rebooted.

Use a root enabled file explorer. I use Root Explorer. Navigate to Root/System/ there you will find a file "Build.prop". Mount system as RW (read-write, on Root Explorer this is an option at the top of the file list. Change from RO, read only, to RW) Long press the Build.prop file and select open in text editor. Now you will be able to edit the file. Careful here, you don’t want to change anything you’re unsure of. Scroll down towards the bottom of the text and you will find the aforementioned duplication under "Additional build properties". Just delete the duplicated line then select save and exit. If you think you made a mistake, just close without saving and start over.

(This from user rsfinsrq at XDA developers. )

Now I just need to solve the “move app to SD” problem…

Nov 17

ZFS Fails After Xubuntu Version Upgrade

Basically, the pools were showing critical errors after upgrading from Xubuntu 12.04 to 14.04 like this:

pool: mediatank
  state: UNAVAIL
status: One or more devices could not be used because the label is missing
        or invalid.  There are insufficient replicas for the pool to continue
action: Destroy and re-create the pool from
        a backup source.
  scan: none requested

        NAME                                          STATE     READ WRITE CKSUM
        mediatank                                     UNAVAIL      0     0     0  insufficient replicas
          mirror-0                                    UNAVAIL      0     0     0  insufficient replicas
            scsi-SATA_Hitachi_HDS7220_JK11B1B9HXYAWF  UNAVAIL      0     0     0
            scsi-SATA_Hitachi_HDS7220_JK2171B9HYRASL  UNAVAIL      0     0     0

  pool: tank
  state: UNAVAIL
status: One or more devices could not be used because the label is missing
        or invalid.  There are insufficient replicas for the pool to continue
action: Destroy and re-create the pool from
        a backup source.
  scan: none requested

        NAME                                     STATE     READ WRITE CKSUM
        tank                                     UNAVAIL      0     0     0  insufficient replicas
          mirror-0                               UNAVAIL      0     0     0  insufficient replicas
            scsi-SATA_TOSHIBA_DT01ACA_14TRP11GS  UNAVAIL      0     0     0
            scsi-SATA_TOSHIBA_DT01ACA_14TRRNVGS  UNAVAIL      0     0     0

Turns out, the new kernel changed the way it refers to these devices. Instead of


for instance, the new name is



Anyway, after looking at a couple of sites that said I needed to use symlinks to the old names in the /dev/disk/by-id folder, I found this fix:

sudo zpool export backups
sudo import -d /dev/disk/by-id/ backups -f

Thanks to the Blog of Graham.

Aug 28

Getting Excel to Open Sheets in New Instance

This is something that bothers me about Excel: it always opens worksheets in the same window. Then when I go to close one, it tries to close all of them. A couple of times, I was futzing around with a spreadsheet, closed a different one, clicked through the dialog on instinct, and saved over the original file I wanted to preserve.

Prior to Windows Vista, you could fix this problem from the folder options –> file type menu. Not any more.

I found this solution at

In the Registry Editor in Windows 7:


Change the default value from

"C:Program Files (x86)Microsoft OfficeOffice12EXCEL.EXE" /e


"C:Program Files (x86)Microsoft OfficeOffice12EXCEL.EXE" /e "%1"

Rename the command key below it to “commandOLD” or something.

Then, rename the ddeexec key (one level up, I believe) to ddeexecOLD

This change will work for the .xls file extension (Excel 2003 files)

To do the same thing for Excel 2007 files, make the same changes (minus the “command” key, which didn’t exist here for me) at HKEY_CLASSES_ROOT/Excel.Sheet.12/shell/Open/command.

I should have done this years ago. Must remember to do this on my laptop and make it standard on the YTG machine builds.

Jun 21

ZFS Pools Disappear After Upgrade

No idea why this happened by the fix was easy:

# apt-get update
# apt-get install zfsutils

Then rm -R the two mountpoints and sudo zfs mount –a


Apr 28

CUDA with Premiere Pro CS6

I was struggling for the longest time to get the GPU given to me by my friend Tommi to work with Premiere (to use the GPU for playback rendering), and here’s how I finally managed to get it to work:

Go to the Premiere folder in Program Files, edit the cuda_supported_cards.txt to include the card (make sure it is a CUDA-supported card), and add your card if it ain’t there. In my case, I futzed around putting in GTX 560 until I used the GPUsniffer.exe in the Premiere dir and found that the actual name of the card was GTX 560 Ti.

Also, needed to go into the NVIDIA control panel and change the multiple monitor settings under Premier Pro.exe to “compatibility” mode. (And make sure CUDA was turned on there. It was.)

As always, writing this down so that I don’t forget this if I have to rebuild this machine at some point.

Mar 21

NAS Server Fixes

A few problems that I had to solve while setting up the new NAS.

One of the ZFS pools dismounted for no reason

This was a problem I’d never had before. Even the pool was gone and I had to re-import it using zfs import –f [pool name].

Hopefully, this isn’t a sign of problems to come.

ZFS doesn’t mount on boot and dir gets mounted by other app first

– sudo rm –R [mountpoint name]

– sudo zfs mount –a

(Technically, this is wrong, since mountall is installed, but somehow, it isn’t working on the main volume)

Edit /etc/default/zfs

Change ZFS_MOUNT=’no’ to ZFS_MOUNT=’yes’

Routing Table is Fucked Up

– applications that should be going out on eth0 are stuck on tun0

– netstat –rn showed slightly different tables on old NAS and new NAS

– turned out it wasn’t the routing tables, but a typo in rc.local that for some reason had the old machine’s eth0 address in it. These lines should be in rc.local

ip rule add from [eth0 address] table 128
ip route add table 128 to [eth0 address] dev eth0
ip route add table 128 default via [eth0 gateway]

Crashplan Reports whole directories as missing when they are clearly there:

– stop service

– go to /usr/local/crashplan/cache and delete EVERYTHING

– restart service

– it will compare files (might take a while)

Mar 03

Linux Box Fix — Subsonic / Rtorrent Not Running Following a System or ZFS Crash

Because this has happened more than once and I keep wasting time figuring it out, I will post it here.

If I get a 503 error from subsonic or a message from rutorrent that it’s not connecting to rtorrent, one of the possible problems (check to make sure services are running first, of course; then check that ZFS filesystem is up) is that a bad shutdown has fouled them up.

sudo su
Shut down subsonic service
Go to /var/subsonic and rename the db folder
Start subsonic and let it recreate the db folder
Copy an older version of subsonic.script into the new db folder (this has all the user settings, etc.)
Note: you may have to hunt around. The most recent subsonic.script file could be damaged.

sudo su
Stop rtorrent service
Go to RtorrentSession folder and delete the rtorrent.lock file
Restart rtorrent

Feb 09

Lightroom and Disappearing Presets

When I moved back to my main PC and tried to import photos (after three months on the road working exclusively from my laptop and another desktop), my metadata presets were missing.

Here’s what probably happened: I had “store presets with catalog” checked on my desktop, but not on my laptop or the new desktop. So when the presets were missing on the new install, I created them anew (on the laptop) or copied them from the %appdata%\adobe\lightroom\metadata presets location. Then, during the trip, I of course saved the catalog file multiple times (every time I imported a photo and made a change). So the presets were removed from the catalog.

So when I came home and fired up lightroom on my desktop, the presets were missing. I had to go to edit –> preferences –> presets and uncheck “store presets with catalog” and then copy the presets from my laptop. My original presets are lost (though I can recover them from a photo, presumably).

Jan 17

Recovering an Unsaved Word File

Again, recording this in case it happens again.

Had an important file open (new revision to my play 39, if you must know) and PC crashed overnight. Auto recover feature is turned on and Word is supposed to recover from such a crash by telling me that there is a recovered file the next time I open the program.

It didn’t.

Long story short: the fix is to search %appdata%\Microsoft\Word for *.asd. (Or just search the whole C: drive if you don’t know what that means.)

Word stores its auto-recover files in that directory in that format. You can’t open it directly by double-clicking as it’s not a registered file type, but you can drag it into an open WORD window.

Nov 26

Media Player Classic Essential Tweak

Just making another note on a fix so that I don’t forget it.

YTG recently received a donation of about 36 Thinkpad X100E netbooks. According to my research, these netbooks were supposed to be able to play HD video, but in practice, they were stuttering even on 720p video files.

After some research, I discovered the answer. In MPC-HC, I needed to go into the options menu, select “internal filters” and uncheck “DirectShow Media”.

This more or less fixes the problem. Playback is not 100% perfect, but that might be my test files. There are still a The bottleneck (if one exists) now seems to be I/O, not CPU (CPU holds at under 20%). A vast improvement.

Nov 05

Crashplan crashing

I got my usual weekly backup email from crashplan this morning, and for the first time in almost a month, I actually had the time to read it.


There were no alerts on it, but I noticed that my Linux box hadn’t completed a backup in more than 19 days. It didn’t trigger an alarm because it was connecting. I connected the GUI and saw that it was getting stuck in the “analyzing” phase. A browse of the logs showed that the crashplan daemon was starting and stopping every minute or so.

Some Google-fu later, and I found the problem: a hard-coded memory-use limit.

The fix:

sudo nano /usr/local/crashplan/bin/run.conf


Then, edit the two lines in the file and change the Xmx512 entries to Xmx1024. This expands the amount of memory crashplan is allowed to use with Java and will stop it from crashing. At least until my backups get bigger…

Oct 08


So, YTG is about to receive a donation of a bunch of Thinkpad notebooks/netbooks. These machines, which include licenses for Win 7 Pro, will be used for volunteers, board members, ensemble members, and interns. Surprisingly, a lot of people don’t own laptops, or own such big ones that carrying them around is a pain. This way, YTG volunteers will get a very light form factor machine, with all the required software installed.

Because all the machines are the same hardware, I am having to revisit creating a standard image: something I haven’t done in about 8 years. (At ASIJ I used images, at Nokia we used automated installs due to the ever-changing hardware.) Of course, that means learning how to use sysprep all over again… I’m sure that will be the subject of a later post.

There are three test machines that I’m currently playing with. I’ve been using Clonezilla to back up the machines, simply because it’s easier to make a boot USB disk for (the machines have no optical drive), but now that I’ve decided to install Windows 7 on all the machines (might as well, they all have a license, and Win 7 is less of a hassle than Xubuntu for me), I’m switching to DriveImageXML, which means BartPE.


Having worked out all the kinks from it when I used it at Nokia, I’d forgotten what a pain in the ass it could be. Not booting, bluescreening because of incorrect storage drivers (the base version doesn’t cover a lot of SATA drives), etc.

So just briefly, this is what the process was (in case I ever have to replicate it):


  1. Download and install pebuilder from nu2
  2. Download PEtoUSB from and move executable to pebuilder dir
  3. Download bootsect.exe from (had to join the forums to do so… boo!)
  4. Download DriverPacks Base, storage, and LAN from
  5. Run DriverPacks Base decompression/install.
  6. Copy the storage and LAN .7z files into its DriverPacks dir
  7. Run DriverPacks. Pick BartPE plugins location. Slipstream.
  8. Build with pebuilder
  9. Run PEtoUSB, point at BartPE folder in pebuilder
  10. From the command line run bootsect /nt52 p: where P: is the target drive you just installed BartPE onto.


That should do it. Target machine should boot.


Oh, I also had to download and install the DriveImage XML plugin (.cab file).

Jul 01

Phone Restore Nightmare

So I recently had my Galaxy Note serviced, as you may recall. I got it back today with the USB port all fixed up and a clean factory wipe.Picture 5-Edit-2

I’d been really careful before I took it in: I’d done a nandroid backup, and as a pro user of Titanium Backup, I’d also backed up all my apps, data, and system settings.


My first mistake was that Titanium Backup, by default, saves its backups to the SD card, which, in a modern phone like the Galaxy Note, means the internal SD card. The one that gets wiped when you do a factory reset. Luckily, I’d had it backing up all my data to dropbox. However, I didn’t realize this, and so my first restore attempt ended up being screwed by the fact that /titanium_backup directory I was restoring from was the one from my HTC Magic.


Reboot, wipe, start again.


The second attempt was to restore the nandroid backup I took the day before I took the phone into the shop. It died at restoring data, leaving the phone with most of the apps installed, but very crashy.

Reboot, wipe, (reflash root), start again.


For the third attempt, I went for using the Titanium Backup feature that restores from the nandroid backup. It jammed at 4% complete.

Fourth attempt: copied the backup of the backup from dropbox (where TB was thankfully saving them for me every night). Jammed at 0%.

Maybe because I hadn’t…

Reboot, wipe, start again


Fifth attempt: before booting up again, I made an attempt to install ONLY the data part of the nandroid backup. Failed again.

Reboot, wipe, start again


Sixth attempt: Titanium Backup restore. This time restoring missing apps first, then system data.

Okay, this worked, I think. I’ve had to tweak a few things. My launcher was restored, but the lock screen was still the default, as were my security settings. Also, some DoCoMo apps that I froze or uninstalled are still on the phone, and I’m having to remove them by trial and error again.


Lesson learned: do a double nandroid backup and a CRC file check or something to make sure it’s not corrupted.

Jun 24

A Week? What?

So I’ve been banished from my beloved (and over-taxed) Galaxy Note for a week while the USB port gets repaired, and I’m having to put up with the loaner phone, a Sharp Aqueos (SH-04E). Aside from the POTA of having to spend a couple of hours just to get the basics set up to my taste (two Gmail accounts, both with 2-step auth, while on the road being the first hurdle), I need to handle it with kid gloves or I end up buying the goddamned thing.Sharp Aqueos

When I return it, DoCoMo will inspect it for scratches on the frame (I very nearly put one on it today when it slid out of my shirt pocket), damage to the USB port, and moisture exposure. While I hadn’t been intending to toss my loaner phone around like a baseball, I am a little miffed because they didn’t even give me a case for it!


I was lucky that the Note was accepted for service. It’s still within its warranty period, but I’d rooted it, and I spent part of Sunday unrooting the device and resetting the flash counter to 0. Even with a factory wipe on top of that, I was a little nervous about being found out.

I was actually more nervous, though, about the fact that Japan is bloody humid and I’ve known those moisture stickers they have on phones these days to trigger just by being in my pocket on a muggy August day (happened to a battery I had). Also about the fact that I dropped it twice this month and put some serious scratches on it. Yeah, it fell on the corners where my case doesn’t protect it if it’s open.


So yeah, basically just disappointed that I have to wait a week to get it back. Last time I had a hardware issue, they just replaced the phone, but I guess that stocks are getting depleted.

May 10

PHPMailer Problem

Okay, here’s another tech problem I’m recording here so I can find the solution if it happens again.

I was having trouble receiving mail send from the phpmailer-based contact form on the YTG website.

The problem was that the domain didn’t have any MX records set up. This is because they are set up elsewhere, but mail sent from inside my webhost is using the webhost’s records, not the public MX records. By adding them in my host’s C-Panel, I solved the problem.

Mar 19

An Open Letter

I use NotScripts and NoScript in Chrome and Firefox, respectively, to block scripts on web pages. On that note, I would like to write an


Dear sites-that-make-me-authorize-a-dozen-other-sites-in-order-to-view-any-content,

Fuck you.




Google+: View post on Google+

Post imported by Google+Blog. Created By Daniel Treadwell.

Mar 02

Ugh, did a limited share of this when I originally posted it, but G+ won't let…

Ugh, did a limited share of this when I originally posted it, but G+ won't let me expand it, so I need to reshare it to make it public.

Reshared post from +Andrew Woolner

AeroFS – After Rough Start, It Rocks Nads

I was really feeling the pain when Microsoft retired Windows Live Mesh on February 13. Suddenly, my main working directory was no longer synchronized between my various machines. With 35GB to sync, Cloud storage was too costly to consider. I needed Peer-to-Peer.

The promising alternatives had proven not-so-promising: Cubby made their P2P solution available only if users paid for 100GB of cloud space; GoodSync was licensed per-machine; Gbridge's sync was a hack that I didn't trust; and Bitorrent Labs' SyncApp is only in alpha.

That left #AeroFS, the free version of which is still invite-only (beta). Five days after Live Mesh had been shut down, all my machines were out of sync and it was driving me crazy. I could no longer work on a file on my desktop and then grab my laptop and hit the road, confident that I could pick up my work later.

Luckily, thanks to +Scott Mortimer, humanitarian, I managed to get an invite for AeroFS and got it installed.

Now, normally, when you're syncing a large number of files it makes sense to do what we call "seeding". That is, to have a set of the files to be sync'd already on each machine. Then the software compares the files (which are 99% identical in my case), saving time by not having to copy all 35GB to all the machines running the sync software.

Ah, but this was apparently a major AeroFS glitch. Weird for syncing software to not be able to deal with seeding, but there you have it. For almost two weeks, I left 5 of my 7 PCs turned on 24/7 just to complete the sync. During this time, it wasn't syncing any new files, it was just updating identical version of existing files with each other, and occasionally deleting random files in certain subdirectories for no reason I could figure out.

It would also restore deleted files (removed in a mistaken attempt to speed things up by reducing the number of files) on machines on which AeroFS hadn't enumerated those same files yet.

I won't bore you with further details, but it wrapped up earlier this week. Either because all the files had finally been enumerated and everything was finally in sync, or because AeroFS developers had fixed the problem (a thread about the issue wrapped up the morning my files came into full sync, so it's hard to say).

Now it works amazingly. And unlike Live Mesh, it tells me the instant a file has been updated, just like Dropbox. I am thrilled; this is exactly what I was looking for. My single complaint is that, like Dropbox, any sync'd files or folders must be stored under the AeroFS directory itself. I have a fair amount of software that points to config files or the like in my Sync directory. Currently, I've solved the problem with a junction point, but I hope in the future that AeroFS will allow us to sync whatever folders we like no matter where they are.

So anyway… a big hurrah for AeroFS. Hopefully when they finish their beta, they won't try to screw P2P users like Cubby did. Or if they do, maybe SyncApp will be ready by then…


Google+: View post on Google+

Post imported by Google+Blog. Created By Daniel Treadwell.

Feb 14

Wrong Resolution on Every Boot

Another blog entry that’s purely technical but exists in case the problem recurs.

Okay, so ever since I got back from Canada, my main machine, which has two dual 1680 x 1050 monitors has been defaulting to 1024×768 resolution on the primary every time it reboots. What’s weirdest is that when the login screen first comes up, it looks fine, and then seconds later it drops to low res.

A quick google search revealed that Microsoft Live Mesh Remote Desktop (a service that is actually being discontinued by Microsoft today) is the culprit. Buried in the registry (Local Machine –> Software –> Microsoft –> Live Mesh) is a key that sets the resolution for each monitor. By shutting down the Live Mesh Remote Desktop service and deleting both these keys and rebooting, I was able to fix the problem.

My conjecture is that because I was using Live Mesh desktop while in Canada with my X60s laptop (resolution 1024×768), I somehow jammed the display settings. I’ve done this before with no problems, but maybe the chances of this happening with repeated use are higher.

This shouldn’t be a problem in the future, since, as I mentioned above, Microsoft is shutting down this very useful service today.

Jan 14

Joomla Language Switcher Stops Pointing at the Correct Page

[Note: I’m going to start writing about technical fixes here. This is less for my readers, and more just to note certain tricky or non-intuitive fixes for myself so that I can look back and reference them. Do not feel obliged to read this.]


Today the language-switcher module on the YTG site stopped working. It would send the user to an incorrect page. Either the home page, or a page I had visited recently. The last part was the crucial hint. After turning cloudflare caching off, I remembered that I’d recently enabled caching within the Global Settings menu in Joomla.


Turned it off. Problem solved.

Jan 14

No More Sentimentality

IMG_0635It is a sad day for me, but one that should have come last year.


I’ve been running my websites (this one and on the same web host since about 2000. My old web host (let’s call them came highly recommended by a friend, and so I signed up. They were a titch more expensive than other options, but they were local (I was based in Toronto at that time), and super friendly. Even now, when I send a support email in, 9 times out of 10, I have a response within the hour from the company president.


Here is the problem that started putting the thought of changing into my mind: My sites are slow. Too slow. I initially thought that the problem was the lag—I’m accessing the sites from Japan. Setting up CloudFlare , which can cache the files in Tokyo didn’t help, though. It was suggested to me that perhaps my sites weren’t well-optimized. They weren’t, but there was little I could do about the YTG site without also changing the template, which I was not about to do. (CloudFlare actually does a lot of the optimization as well so that you don’t have to do it piecemeal on file000111245589the back-end of your website.)


Just out of curiosity, I backed up the site and moved it over to a free domain host, this time in the U.S. It was faster, even without CloudFlare. No more waiting for the admin interface to slowly reload after applying a single change. No more waiting for my banner graphic across the top of the site to load. I quickly realized that I was paying for early 2000s performance at early 2000s prices.


Also, tends to lag behind on server software. They didn’t switch to PHP 5.3 until November 2012, even though 5.2 had been end-of-life since January 2011—I had website components complaining about this. There’s something to be said for caution, but this was a bit over-the-top. They offered no real support for common website software, like WordPress or Joomla, instead implying to me that these platforms were insecure or faulty in some way (not sure which platforms they expected me to use, then). They had many features considered standard by other hosts disabled for security reasons which they claimed was standard practice (and I discovered was not).


In addition, I had no access to any logs, so I always had to go back and forth with support to investigate issues that required me to check logs.


The main thing is the speed. In 2012, I shouldn’t be experiencing this level of speed from a website. And certainly not for the price I was paying. After realizing that it wasn’t only my site setup affecting the speed (I tested using a free host based in the U.S.), as I’d been told, it was pretty much just a matter of time until I researched an alternative and moved.


My current package:

  • 10 GB web space
  • 50 GB total space (including mail accounts, databases, etc.)
  • 2 domains
  • unlimited sub domains
  • 40 email addresses (don’t use them—I use Google Apps for Domains instead)
  • No SSL
  • Email-based support (response time 1-4 hours)


For this, I pay $199.99 CAD per year. I mean, seriously—is this hosting package stuck in 2006 or what?


New package (on HostGator)

  • Unlimited web space*
  • Unlimited domains
  • Shared SSL
  • SFTP (and unlimited users! no more having to give collaborators my main password!)
  • Support for JOOMLA
  • A bunch of software installers (fully supported)
  • cPanel and whole pile of great tools for database, file, and site management. (I can MOVE files from one directory to another by DRAGGING and DROPPING, FFS!)
  • A bunch of checkout software packages (fully supported)
  • Email, phone, and chat-based support (response time 1-4 minutes)


TANGENT: *You and I both know that “unlimited” anything in this industry never really unlimited. They have restrictions on what can be on your account and what can’t. For example, only one site backup can reside on the server. Which is honestly a bit impractical when I find myself backing up my site before each major change, and I’m not always in a location where a large download is possible (e.g. when I’m connected over phone tethering). However, for all practical purposes, I am not likely to run into an upper limit any time soon. The really sneaky part is that they limit your CPU usage. I don’t anticipate this being a problem, as I think it’s designed to catch people who abuse the service, but I will have to be careful nonetheless.


For this, I pay $228.96… for three years. 38% of my bill.



TANGENT: I’ve also been gearing up to move my domain registrations away from as well. The cost there is a flat $19.99 per year, with no multi-year discounts. For a dot com. Once I’ve finished testing the host gator platform, I will be redirecting the old domain and moving it to Moniker, which is not only cheaper, but easier to manage (better U.I).

I’m also migrating a bunch of my domains from doteasy. Doteasy was my very first host— a free one—I moved away from them because their free package had no php/mysql support back in the day. That’s how I originally ended up at My volunteer web developer insisted on making a database-driven site. Which was a great idea—except what I got was a static site with php files instead of html files. I’d left some domains that I wasn’t using except for email on doteasy, but the $20/year renewal was starting to piss me off, so I moved them to Moniker and once the transfer is done, I will point them to hostgator as parked domains (with email).



One of the other annoying problems I will have fixed by moving to HostGator is a recurring file ownership issue I was having.


On, the default file and folder permissions were 644 and 755, respectively. While this is a best practice, security-wise, and one that I agree with,  it caused a lot of problems because the FTP user was different than the web account user. If you’re not familiar with ACLs and UNIX file permissions, let me sum up: the FTP user couldn’t delete or modify files created by the website software and vice versa. Like a lot of people, I tend to use a combination of FTP and the built-in tools on my CMS platform (WordPress or Joomla) to get things done. So until I realized what was happening and made a bunch of support calls to change the owner on all my files (something I couldn’t do myself), I was constantly wondering why component upgrades were failing or why I didn’t have permissions over FTP to delete or change certain files.


On HostGator (yeah, going back and forth on the CamelCase, I know, but my editor doesn’t have a find/replace function), the main FTP user and the default web user are the same. RELIEF!


So: a few things to move and test still (as of today, this site has now been rebuilt and moved), but so far things are looking positive. My next hosting bill comes due in July, and I am planning to give my notice to close down the account in June at the latest. It’s going to be a bit sad, but in the end, simply didn’t keep up with changes in the industry over the last ten years and their service isn’t good enough to be paying a 62% premium (plus tax, because they are Canadian—and don’t get me started on having to pay HST when I’m not residing in Canada).



TL;DR Though sad to be leaving my webhost of many years, I felt they were not delivering value for money paid so I am reluctantly leaving them for another hosting company.

Dec 30

IPHONE VS. ANDROID–PART III: Stores and Accounts

Both phones essentially require you to have an account in order to properly operate the devices. In this post, I compare the iTunes account and store to the Google account and market. I’ve managed to successfully buy an app from each store, and it is a fairly different experience.


iPhone: This is where I lose patience with the iPhone: endless accepting and re-accepting of terms, confusion over which country I’m in, endless inputting of my password, etc. The Apple Store is famous for being safe and well-organized. This is true. It’s also a fucking morass of red tape.

For some reason, when my wife wiped her old iPhone (the one that is now mine, in case you haven’t been following this epic), it got set to Canada as its region. Not sure why. During the setup screen, I never set language. Anyway, when the time came that I actually wanted to try to BUY an app, it turned out that I couldn’t put in my Japanese address. Strangely, I could do so on the Apple website, but then when I checked the account on my phone, it was always mangled somehow.

Finally, after searching several support forums, I realized that I had to switch the store location on my phone. So I did that, put in my Japanese billing address and credit card info, and proceeded to try to buy an app.


Tried to download a free one (as I had many times up until this point).



The message? That my apple ID was only valid in the Japanese App Store. But I’d set my store location to Japan, right? Okay, maybe things didn’t set right. I killed the App Store task and restarted. Nope. Rebooted the phone and tried again. Nope.

Another arduous search (during which I had to agree to more Apple terms of service to access their user support forums—where users support each other), and I finally figured out that I had to log out of my account and then log back in. Why? I have no fucking idea. This is iOS 5.01.; they’ve had plenty of time to iron this kind of crap out by now.

Absolute frustration.


Oh yeah, and NOW all the reviews are in Japanese.


HTC Magic: This is one of the few areas that the HTC Magic wins, hands down. The Android Market just works. It lets you download whatever. It lets you pay for stuff without waving 15 screens of agreements in your face, and without really giving a shit what region you’re in. Once your phone is hacked and you’ve got root access, your provider can’t stop you from downloading and using whatever software you like (and, of course, you can sideload applications as well). In fact, Cyanogenmod 5.8 firmware has USB/Bluetooth tether built right in. Of course, you can do some of these things with a jailbroken iPhone too… I’ll bet it doesn’t even ask for your password as much. But, like I said in my first post, this comparison isn’t fair.

The only downside is the speed and stability, and again, that’s because I’m pushing this device to do far more than it was designed to do.


Android phones also require that you have an account. In this case, it’s a Google account, which I already had since I run my entire life off of Google. For some reason, using that account felt better and less intrusive than setting up the iTunes account. (By the way: number of times I have to input my password to the Google Market? 0, once the phone is authenticated. I had to redo it once when I set up 2-step authentication.)

Dec 26

iPhone Vs. Android–PART II: Cameras



Both: Both cameras on both phones suffer from similar problems.

    1. They are cheap and crappy
    2. No screen-side camera for video calling
    3. They are both sluggish
    4. They both suck and have fucked-up colours and blurring in anything other than perfect lighting conditions
    5. Neither of them have a flash and they both REALLY FUCKING NEED ONE (see #4)

SelfPortraitFirstiPhone: The iPhone slightly nudges out the HTC Magic in this contest. The camera software is a little more responsive, but more importantly, you can lock the auto-focus by touching the screen on the area you want the camera to focus. Oh, and it’s somewhat better in low light. This isn’t the place to mention it particularly, but Instagram is the killer app for the iPhone’s camera. The Android alternatives just can’t compete, either on community or performance.





ohanabiHTC Magic: I think of this camera being absolutely worse, but when I compare the best of the photos taken with this with the best of the iPhone photos, they’re pretty much on par. I favour the iPhone slightly in this contest because of the focusing issue (although, even with auto-focus locking, there is almost always blur) but mostly because of Instagram’s ability to make the photos look half decent. (The software I use for the Android is called picplz, and it’s good, as you can see on the left, but it is sloowwwwwww on the Magic.)

The one reason I’d sometimes choose the HTC Magic’s camera over the iPhone? The hacked firmware doesn’t make a shutter noise. I don’t necessarily want everyone in the restaurant knowing I’m photographing my pizza. Oh wait… one more reason: the HTC Magic is a lot easier to hold when shooting a self-portrait. Maybe the smaller size helps.

Dec 19

iPhone Vs Android–Part I: UI

**NOTE: This is by no means exhaustive. Much more has been written on this, but I’m obviously writing about those aspects of the UI that are important to me. I’m also mixing in performance issues as well. And a titch of hardware. So fucking sue me. (It should be noted as well that the UIs are very similar, so I’m not covering things that I feel are either identical or equivalent.)

User Interface


iPhone: Wow. Suddenly I understand why all my friends who have iPhones are endlessly tweeting. YOU CAN ACTUALLY TYPE ON THE iPHONE! It’s not perfect, but it’s far more responsive and easier to use than the Android keyboard (even pre-hacking). (Even Japanese support is built-in.) The larger screen definitely helps. I find it fiddly for go-back-and-fix work, though. It’s much worse at letting you drop the cursor in the middle of the word.

The UI is almost always responsive (although it does choke at weird times; times when I don’t have a lot of apps running), and it is reasonably intuitive, although annoying. I am not a fan of having pages and pages of icons as my default display. And yes, I know you can collapse them, but that really defeats the utility. So, yeah, let’s just say that I’m not a big fan of a homescreen that looks like an old man’s Windows desktop.

It’s an interesting choice to put the settings for each app under a universal “settings” button. I’m not sure yet whether I like or hate the idea. I will say it’s a bit weird when you’re in an application and you want to change settings to have to back out to the homescreen first.


Something that’s nice though, and this isn’t really a UI thing, but a Process Management thing, which is not going to get its own section so I’ll mention it here: the double tap to manage the iPhone’s running applications is a nice touch. To do the same thing on the Android is a pain in the cojones and usually involves installing an application (and I’ve never found any of them very satisfying).


HTC Magic: Typing. Ugh. I dread having to type on my Android phone. It was not great originally, but now that my HTC Magic is androidhomescreenconstantly choking on the large dick of Cyanogenmod 5.8, typing is usually an ordeal, especially while listening to music via Subsonic (more on music in another part). Also because I switched to a 3rd party firmware, I also wound up having to install a 3rd-party Japanese input method (Simeji), which may be superior to the Magic’s DoCoMo firmware input method, but I wouldn’t know because it is resource intensive and really drags on the Magic. If I dread typing on the Magic in English, I dread typing in Japanese even more. It’s something that I avoid at all costs. Oh, and fuck you Google Maps for making me have to type in kanji addresses (while we’re on the subject).


I will say, however, that the placement of the period and comma on the same screen as the alphabetic characters is a much better idea than the iPhone’s strategy of requiring the user to hit the button for numbers and special characters every time he or she wants to use a comma. Now I know why my iPhone using friends are so miserly with their punctuation. It should be noted as well that now that I’m using the Magic only as an internet access point for the iPhone and not running any other heavy-duty apps on it, typing is actually quite decent… though still not quite as pleasant as on the iPhone, mainly because of the difference in screen size (more on that later, too) and my fat fingers.


I mentioned with the iPhone that cursor placement is problematic. The Magic’s solution to that is the mini-trackball it inherited from its older brother the HTC Dream (a.k.a. the G1, the first Android phone). The trackball is a pain in the ass most of the time (I’ll get to that when I talk about hardware), but it is simply unbeatable for getting the cursor to the letter in the middle of the word that you need to fix. I also find that cursor placement is the one area that the Magic’s touchscreen beats the iPhone for accuracy.


The homescreen on the Android is much nicer than the iPhone’s. The sea of icons is absent and in its place is 3 screens (more or fewer screens can be set) of my beautiful wallpaper and just a few of the most crucial icons, buttons, and widgets. A touch of a button brings up the entire list of installed apps if I want it, but most of the time I only use the old favourites. The advantage here is, of course, not just aesthetic, but utilitarian: you can have widgets that give you important info like weather and calendar, and also functional buttons controlling things like silent mode, wifi, bluetooth, and GPS status, whether or not the machine is syncing accounts, and screen brightness.


Of course, with the underpowered HTC Magic, I removed all but the most necessary widgets, as they do serve to slow the phone to a crawl.


Can you tell I wrote these on the fly from no notes? No? Maybe you should read on…


Next: Part II – Cameras

Dec 18

iPhone vs Android–PRELUDE


So, as some of you know, I inherited my wife’s old iPhone 3G when she recently took the free softbank upgrade to a 4s or whatever the hell the new one’s called. My own phone is an old HTC Magic that DoCoMo resolutely refused to give me some kind of upgrade deal on recently when I signed on for two years of service. Fuckers!android_vs_iphone_wallpaper-1280x1024


I mentioned on G+ that I would be using both of them for the next week and comparing them. Since they are the same generation of phone (they were on sale in Japan at the same time), it would be a fair comparison, right?


Well, my friend Tommi argued that the Android phones at that time were effectively one generation behind the iPhone 3G in terms of blah blah blah whatever. What he says is true, and my testing kind of bears that out.


I say testing, but it’s not really scientific. I chose the Android device for reasons that most users wouldn’t (hackability being one of the key motivators), even if the iPhone blew me away, I would probably make the same choice again if given the opportunity by some Apple-phile time traveller. But, as a non-iPhone user, I wanted to actually try to use the phone on a day-to-day basis and see if it really lived up to the hype.


Okay, first off, here are some ways that the comparison isn’t really fair:


  • My HTC Magic is running a 3rd Party firmware: Cyanogenmod 5.8, which is a version of Android 2.1 or 2.2, I think. If I hadn’t installed that, I would still be running the stock DoCoMo firmware with Android 1.6.
    • Advantage: I have functionality with this phone that DoCoMo would probably like to string me up for, and that the iPhone has no chance of replicating.
    • Disadvantage: The HTC Magic is WAAAYYYY underpowered for the firmware and for all the stuff I’m asking it to run. So it’s slow. Way fucking slow.
  • The iPhone doesn’t have a SIM in it. So no cell service. Everything I do with it is over WiFi. Ironically, I can test it outside the house, but only if I tether it to the HTC Magic using one of those apps that DoCoMo probably would rather I not use.


More coming in Part I …

Older posts «