Monday, July 28, 2014

Robot recognition and the arms race of spam

I have two blogs: this one, and one over at byteblacksmith. I'll admit I'm not as prolific as I need to be to attract and retain followers. (Not like my friend Roger Lanctot who blogs to his personal and company blogs, posts four articles to LinkedIn, then tweets them all before he has his morning coffee.)

Since I don't have a lot of followers, I get rather excited when I get emails saying there's a new comment on one of my blogs. However, the comment often looks like this:

If you want to be set up barricades outside the funeral supplier may be difficult in the majority of our sites are mobile responsive, meaning how your own arrangements, unless some of you. First key to getting traffic as long as you are experiencing the sadness of a complete mess. That way, you may need to be so-so at best and everyone's going to be disposed of in a timelier manner than if the deceased. Just having a negative review with no money?

Take a look at my web-site ... http://a.b.c.com...

I've got most of the moderation and spam rejection turned on, but I still get these lame-ass attempts at BlackHat SEO coming through. Sigh.

Now I really hate CAPTCHA although it exists to screen out these terrible automated spam attempts. Half of the tests are unreadable by humans. I'll often decode a CAPTCHA only to get it wrong multiple times in a row. The "Top 10 Worst Captchas" has some entertaining examples; here are my two favourites:

Good thing they didn't use Chinese.

Are you seriously thinking I can solve this better than a computer?

However CAPTCHA done well is actually pleasant. I appreciate what those fine people are doing to keep evil spammers at bay. Here are two great examples of CAPTCHA done right:

Areyouahuman: You run a little game that makes you sort images based on a verbal description. Ow.ly uses it for URL shortening.

Actually fun to do, and no misinterpreted results.
ASIRRA: This has the user pick pictures of adoptable cats or dogs from the millions of animals on Petfinder.com. (A "live" example is at the bottom of this blog.)

Fun, cute, and socially responsible!

Let me offer a great big thank you to all those industrious people trying to keep my blog's comments actually relevant!

Believe it or not, I suspect that most comment spam is unintentional. Many naive or technically unsophisticated people are desperate for their website to rank high and they don't know what they need. They don't know or can't create great linkable content nor can they intelligently promote it. Instead, they stumble upon a service that promises they can "magically" improve their page rank.

Guess what? THERE IS NO FREE SEO LUNCH.  If you don't have any content, you can't magically improve your SEO. To do SEO without any content, someone has to generate links to your page. And they do that by spamming blogs all around the world with your web link.

Why do I know this? Because I look at the links that comment spambots are trying to insert. Some are for casinos or male enhancement drugs, but many seem to be legitimate small businesses. Clearly, here are people who are clueless what happens when they ask someone else to improve their SEO.

If you're trying to improve your rank, don't contribute to world evil. Create good content instead.



Thursday, July 24, 2014

Android Auto + CarPlay: Makers and Destroyers

Everyone recognizes that Google and Apple are going to change the infotainment game. There's been some distressed discussion on the potential damage that Android Auto's free software platform will do to the Tier ones by commoditizing their existing infotainment business. However, there's an industry subsegment that is going to benefit immensely from these competing consumer electronic giants that seems to be overlooked.

And that's the Aftermarket space. 

Of course, there are some interesting things going on aftermarket today independent of Apple and Google's direct influence. A new crop of startups are forging a link between the car's OBDII, your smartphone, and their cloud services. Companies like DashCarvoyant and mojio have a great opportunity to build a new category of aftermarket devices that are using your smartphone to augment your car.

But I'm really talking about the aftermarket old guard: folks like Pioneer, JVC Kenwood, Alpine, and Clarion. It hasn't been an easy run for these guys over the last few years. Functionality is continually migrating either down into the OEM infotainment or telematics systems or up into the smart phone. The aftermarket makers are continually playing catch up, making a consumer aftermarket purchase less and less likely.

Do you remember when systems like this were all the rage?
Have you seen one lately? No? Exactly.

But with Car Play and Android Auto, Apple and Google are creating an opportunity to make aftermarket not only relevant again, but potentially displace the automaker head units. Aftermarket companies have an ability to move faster and update the technology as soon as it evolves. The OEMs, no matter how fast they can trim their development lifecycle, will still be tied to releasing products coincident with vehicle shipping schedules.

Pioneer is a first mover with their CarPlay solution (shown below). But expect that all of the big aftermarket brands will offer CarPlay, Android Auto, or combined solutions in short order.


What do you think: can a revitalized aftermarket compete again in the head unit space? Will the differences between aftermarket and Tier1 head units be erased?

Thursday, May 1, 2014

Small Business Infrastructure

I just talked to a friend who left her company to start her own business, so we shared on the joys of incorporation.  I gave her some advice that I've learned over the last couple months. And a lot of that was on tools. Why cobble together your own systems when you can use real tools? Plus there are a lot of services that cater to the small business.

Here is a list of the services we're using and have been happy with, and a couple that we haven't.
  • GoDaddy - Yes, they're everywhere, and yes they tend to nickle and dime you on new features. But I do have to say that I've been really quite pleased with their hosted account and the plethora of options you get for free. And for the couple of support questions I had, very prompt service. 
  • Assembla - Easy peasy source code management. I don't need this for much, but I used it for ByteBlacksmith when I was writing Ablative Air, and I'm using it for CX3 to maintain a shadow of our website.
  • DropBox - The king of file sharing. Need I say more? Yes I do. Many people don't realize you can get backups of old files. This is a lifesaver if you accidentally overwrite your master copy of a file or if you're working with someone else and you're not in sync. That "pseudo-version control" has come in handy twice already.
  • Toggl - Time management. All online, free, can deal with multiple people and gives you lots of options for reporting where your week's efforts have gone.
  • Doodle - Are you trying to find a good conference time between a number of people? Doodle to the rescue: it sends an email to the participants and everyone can pick their favourite times.
  • Sugar CRM - CRM management, it’s free (you can pay for more features as you grow, but right now there’s already way more than I need). If you're using GoDaddy, they have a simple one-click installer to get it up & running. Handles contact lists, email blasts, prospect management, history/notes, etc.
  • Expensify - Makes expense reports almost pleasurable. Okay, maybe not, but certainly way better than any of my previous company's expense "systems". Plus it automatically hooks up to QuickBooks.
  • Quickbooks - Online hosted, quite easy to use (other than I don’t understand accounting, but I’m learning) and relatively cheap.
  • VistaPrint - For traditional paper business cards, I used VistaPrint—it’s easy to do, fully automated & online, and inexpensive. The card quality is good, but I’ll warn you that we had two boxes of cards printed, and the color registration wasn’t identical. If you only need one box, it probably won’t matter. It really helps color registration if you select the same cardstock. Doh! New cards are on their way...
  • OverAir - They're a little more pricy than plain paper, but I also got NFC-enabled business cards printed. Our business is high-tech marketing, after all :-) There aren’t a lot of places that do it yet--this one is "local" for us in Canada. I’ve been quite pleased with the result. It’s a little more “hands on” as they’re not yet fully automated (despite their online store), but we got quality PVC business cards that look like a Visa card and have our info baked into the NFC. You can slap it on the back of a Android or BlackBerry phone (won't work on Apple phones yet) and enter all your contact info automatically. Since they’re not widespread yet, they make a very cool impression!
  • Envato - Tons of options for creative resources: web templates, graphics, photography, audio, video, etc. It's like an open source/open community iStock or Veer.
  • United Conferencing - Free world-wide conferencing. Sounds awesome, but my experience on this is hit & miss. First time it worked great. Second time all the participants had the same conference bridge #, but different countries appeared to log into different servers so we never connected. You get what you pay for. I'll probably be using webex or some other "real" conference bridge next time.
  • TimeAndDate - I'm sure everybody already knows about this, but still--handy tool for dealing with world-wide meetings.
  • WorldCard Pro - Little (and portable) business card scanner for $150. It went through my boxes and boxes of business cards in a few hours. It gets great online ratings and is one of the very few business card scanners that works on either Mac or Windows. I had a few highly designed or unusual texture/finished cards that it really couldn't deal with. The OCR usually works pretty well, but in the end you'll have lots of cleanup to do. Thankfully it keeps the images of the cards in the database so the cleanup can be done all on the Mac. Overall, it saved me huge amounts of time compared to entering 2000+ business cards manually.
If I come across any other great small business timesavers, I'll share.

Wednesday, March 26, 2014

Repairing a HP41CX

Our cat is only trained on algebraic entry system. I don't otherwise know how to explain why he threw my vintage HP 41CX on the floor. Doesn't he look frustrated and confused by RPN entry? Unfortunately after a dive from the table onto the floor, my HP41CX wouldn't boot.

This wasn't the first repair I've done to it. I originally rescued it from my Dad who was going to contribute it to his township's unneeded electronics drive.

VINTAGE CALCULATOR GOING IN THE GARBAGE? Sweet Baby Jesus. I love old calculators! Probably because once upon a time I used to work for HP in the calculator lab. This shabby treatment of a highly prized relic would not do, even though it was dead.

After cleaning the corroded battery compartment from long drained and oozing batteries, the foil touching the battery tips was eaten through. I inserted a strategic bit of aluminum foil to bridge the worn down battery contacts and...it fired up to life!

That was about a year ago, and she was a trusty old friend until the cat incident. My poor old HP41CX has been sitting around again for a while, dead to the world and patiently waiting for me to get up the nerve to crack it open and see what was wrong. In light of my recent success repairing a sea-soaked Z10, I decided to give it a go.

First, I looked at the HP Calculator Museum on disassembly and repair tips. I popped open the battery compartment, removed the rubber feet, unscrewed the back, and pulled it apart.

The thing I was most worried about was broken screw posts, which seems to be a common occurrence with this model. However, everything looked in order--no broken posts. All the other components were solidly attached. There was still a lot of corrosion on the interconnect left over from my first cleaning. I cleaned that thoroughly with rubbing alcohol and a Q-tip, and then slightly squeezed the interconnect flex strip. That compression was to bow the contact strip outwards more, allowing it to more solidly touch when I reassembled the unit.

I put it back together, and it worked first time, another TINY VICTORY!

Maybe I should start an electronics repair company! Okay, maybe not. But I'm still quite happy that I've saved two of my devices from the landfill. Just so it won't happen again, I'll start teaching the cat how to use RPN. Wish me luck.

Saving a drowned Z10


The BB Z10 for all its great features is not waterproof nor saltwater-proof. This probably won't be a surprise to you, but it might be if you forgot it was in your pocket when you took a dip in the ocean. You probably see where this is going, and it's not good.


Other lessons to learn if your electronics has taken a swim: wash it right away in distilled water (or at least fresh water from the tap), and don't try turning it on until absolutely positively dry. Otherwise, if you did try to dry it and turn it on without rinsing it, you might get one or two random boots with the camera's flash LED blasting on and off erratically followed by nothing at all. Completely and unretrievably dead. Yes, despite knowing better, I made that mistake too.

However, even if you do everything wrong like I did, you'll be happy to know that there's still a chance you can get your device back to life. I had nothing to lose from completely disassembling it, giving it a good clean, and putting back together. Either that, or spring for a new phone. So once we were back from our Costa Rica vacation, here's what I did.

1) Acquire a very tiny Torq screwdriver - T4. In Ottawa, very few places carry it, but one that does and is super helpful besides is Canada Computers and Electronics. They have the iCAN32 toolkit, a handy little driver kit that has the needed T4 and a ton of other cool electronics bits for a mere $9. Peanuts compared to a new phone.
(Lee Valley is the first place I thought to go, but they won't have what you need. Their electronics screwdriver kit doesn't have the T4 or smaller bits. And Ottawa Fastener Supply is super cool, but they won't have a T4 either.)

2) Disassemble the Z10 according to these youtube videos:

I referenced both, but I preferred the first. I didn't pull the screen (it wasn't necessary)--just popped off the case and extracted the motherboard.

3) Scrub out all visible corrosion with rubbing alcohol and a Q-Tip. Even though it was just in the sea for a minute or two, there was quite a bit of surface rust, salt, and copper oxide. Most of it was around the battery contacts and camera, but it was on some of the shielded chips too. I was able to get most of it off, but not all.

4) Bathe it in distilled water. I gave it about a 10 minute soak and gently agitated it (swished it back and forth) in a small bowl of distilled water to try to get any salt that may have been underneath the shielded chips to dissolve.

5) Gently shake it off, then pack it in a bowl of white rice overnight to extract any excess water.

6) Reassemble it and plug in the battery.

I had my fingers crossed and held my breath for the seemingly long time before the screen lit up, but... IT WORKED! I ran the BlackBerry Virtual Expert and I only had one casualty--the camera. While the "selfie" camera worked, the main front-facing camera was completely dead. It was probably giving itself a nice shorting out while it going berserk flashing on and off after I turned it on. Whoops. (Anybody have an otherwise dead or defunct Z10 that I can salvage the camera from?)  

Everything else worked perfectly! Especially rewarding as I never backed it up, so would have lost everything on the internal flash.

The moral of the story is even if you soak your phone in a conductive sea-water bath, and try to turn it on and it's dead, you may still be okay with a little work and a lot of luck. Don't lose heart!

Wednesday, February 5, 2014

Three things to love about the Z30

It's been a while since I've blogged, and those who are following my @truegryc Twitter or LinkedIn profiles know that I've now left QNX to start my own venture, CX3 Marketing. I'm sure I'll have lots to say about that, but the first thing I wanted to blog about was switching my phone.

I've had a BlackBerry Z30 for the last few months, and I loved it. Problem is that it was a prototype device--I got it by volunteering as a beta tester--and as a prototype, I couldn't keep it after leaving QNX. QNX did however let me keep my Z10, so this last weekend I made the process of downgrading back to the Z10.

Don't get me wrong: I still love the Z10. I used to have a personal iPhone and a work BlackBerry. When I got a Z10 as a new work phone, I realized that I preferred it to the iPhone, and I dropped the two-phone-juggling act. But I really miss my Z30. Why? The Z30 runs the same BB10 OS and isn't that much different is it?  No--I'm not going through complete withdrawal. Just a little bit! Here are my top three Z30 features that I'm sad to be without.

1) The screen. Yes, this one is obvious from the specs, since the Z30 has a bigger 5" screen than the Z10's 4.2". It's not that much bigger when you lay the phones on top of each other, but it's enough that typing now seems more cramped than I'm used to. The Z30 has a Super AMOLED that's brighter and has more contrast. Overall, just a lot nicer to look at when you're spending a lot of time looking at the screen.

2) The radio. This is not at all obvious, since you probably wouldn't know the Z30 had a FM radio. But with the latest OS release, they added radio support to the Music player. I listen to music on my phone a lot while working, while biking/jogging, and while driving. And having a radio built in lets me switch to CBC when I'm bored of the 32GB of music on my SD card.  I had been testing that release for a while, and I loved the radio feature. Unfortunately, the Z10 doesn't have a radio in the hardware, so I'm back to listening to radio in the car only.

3) The battery. You know how everyone has a ritual about plugging their phone at night to start the day topped up? I had gotten lazy with the Z30, because it would last two days on a charge--easy. The Z10 can't do that. End of day, and it's whimpering about needing some juice. I don't know the milliamp difference between the two batteries, but it was hugely noticeable when I switched back because I had to go back to my nightly plugging habits.

Maybe if my new company is successful, I'll spring for a Z30. Or maybe there will be something even better by then. Heck, maybe I'll even consider the painful process of switching families. But for now, I'm back to my trusty old Z10.

Sunday, October 6, 2013

Ablative Air

I've been working nights and weekends on creating a game for the BlackBerry Z10, and it's finally done! It's called Ablative Air, and the objective is to destroy orbital debris before it destroys the ISS.

Completely unintentionally my game posted the same week that Gravity the movie started showing. The plot of Gravity is pretty much the theme of my game. I promise, I didn't know about Gravity before I started development. In fact, I heard about it the first day my app was up for sale. I am pretty sure that the producers of Gravity didn't know about me, either. Everybody is jumping on the orbital debris bandwagon these days.



Oh, and in case you were wondering, "to ablate" is to destroy through vapourization. Like what happens to meteors superheated by the atmosphere.