Done with Google – Part 2

We had (and still have some) a bunch of Google Service for our company/domain. For migrating away from Google Apps (now know as GSuite) we’ve had to take loads of steps manually, I’ve not been able to find tools to sort all the things together properly. There are 60 Google services that are part of this GSuite and it’s fair to say that Google is a “first class” citizen on the Internet.

Read More

Stripe Rubbing Salt in the Wound

Many moons ago we had our account with Stripe abruptly closed because one of the services we offered was related to the marijuana business. While we thought of ourselves as a regulatory compliance inventory control solution, they did not. It’s a violation of their TOS. This came at a pretty critical time of growth for our up-start company. It took us a few weeks to find another vendor who was happy to receive thousands of dollars from us in processing fees.

Read More

Terrible UX – Unsubscribe

How is it that in 2016 the un-subscribe experience can be so poorly implemented across so many sites – big and small. Here are a few examples of how to do it wrong. WellsFargo unsubscribe page: And the instructions from their messages: To unsubscribe from marketing e-mails from: An individual Wells Fargo Advisors financial advisor: Reply to one of his/her e-mails and type “Unsubscribe” in the subject line.

Read More

Bay Imaging Consultants – Fun with Fraud

Over the past few months I’ve been receiving threatening phone calls from Bay Imaging Consultants. They seem to have me confused with another David Busby. They seem to think I got hospital services in Alameda, CA when in fact I was in Seattle, WA. I did however used to live in Alameda – until 1997. The harassing phone calls are generated by a robot which informs me that if I continue to listen to the message I assert that I am David Busby (I am, just not the one they are looking for).

Read More

CitiBank & CostoCo: Marketing that feels like fraud

These two companies are engaged in some type of credit card marketing that mostly feels like fraud: For the past few weeks we’ve received many calls from a number claiming to be CitiBank (855-805-5486). It’s an automated robot when it connects to voicemail, if you answer they connect you to a human who is quite demanding with information. And looking this number up on the internet has scores of people calling it a SCAM or FRAUD.

Read More

Windows 10 Hates Dual Boot

The title basically says it all. Windows 10 (and 8 and 7) all really don’t play nice with Dual Boot – despite what Microsoft claims. First, the failure of Windows 7 to handle dual-boot nicely caused some (many) Windows 7 updates to fail on my Lenovo Y480. I kept getting the error where the updates would try to apply, then fail, then roll back and (after a few reboots) Windows 7 would finally start.

Read More

I’m Done with Google – Takeout

After building the huge list of Apps and Services you have connected with your Google Accounts (https://www.google.com/settings/dashboard) you then have to download whatever is left using the https://takeout.google.com/ Takeout tool. Once you have this download and have reviewed everything on the Dashboard it’s time to delete the designated account from your Google Apps Domain. Repeat as necessary. For us we had three or four idle accounts in our Google Apps before cleaning this up.

Read More

I’m Done with Google – Cloud Print

One of the easiest, and most frustrating, “services” Google offers is Cloud Print. It’s basically junk. The Internet is full of dreaded printer offline issues and forum posts about it random loss of functionality. I enjoyed the promise of Cloud Print but it never delivered. I wanted to print to my office or home printers from anywhere. But Cloud Print would drop connections randomly; printers would be offline and require some magic incantation of un-install, reboot, purge Chrome cache, manage devices – across Mac and Linux systems.

Read More

I’m Done with Google (Part 2)

A long while ago I wrote about being Done with Google. They have simply taken over too much for my taste. Frankly however, I went “all in” on Google around 2006 or so. I moved many domains into the Google Apps and enjoyed all the services they offered. But, as they grew these services suffered; my most critical issue then was that inbound messages were getting dropped (because of how Groups had changed for Businesses over time) – it negatively impacts my customer service.

Read More

CyberCoders Shameful Recruit Solicitation

I’ve got a role as a CTO (among other things). In this role one of my duties is finding and acquiring talent for our engineering team. Functionally this duty involves posting job applications, reviewing resumes and candidates. Additionally it involves fielding emails from recruiters from companies such as CyberCoders, TopTal, various boot-camps and others. Finding talent is hard, there is a good book about the problem: Smart & Gets Things Done I find myself agreeing with Joel more often than not.

Read More

Issues Migrating to CloudFlare

I’ve been working to migrate one of my systems over to CloudFlare which on it’s face appears to be a pretty good service. I created an account, entered my payment information and began evaluating their services. I was not impressed with help pages that had images fail to load (due to 404s). Pressing buttons that generated some vague error message (request failed #1053) and froze up pages were also a bit of a turn off.

Read More

Getting Fucked by Stripe

At Edoceo we’ve been using Stripe for a very long time (2, maybe 3 years) without issue. Part of that may have been because our volume of CC payments was so very low. For our little spin-off projects we’ve mostly used PayPal and using Stripe for consulting invoicing was dumb – most clients there paid via wire. A few months ago we started using Stripe as they payment gateway for our marijuana regulatory compliance software: WeedTraQR – which is sold as a SaaS model.

Read More

Changing Business Address in Washington State

We’re in Washington, Ballard (Seattle) to be precise. We recently move the business and then needed to update our business records with the State. In Washington every business is assigned a Unified Business Identifier (UBI). One would think that I could update my business address in one location but…nope. Department of Revenue / Business Licensing First I have to call to determine if a new Business License Application is necessary.

Read More

I’m Fucking Done with Google

I’m fucking done with Google – it’s over. The final straw happened tonight. As an entrepreneur I’m involved with multiple businesses, many of which have Google Apps accounts, we pay G for this and expect support. For the third time a Group in one of these accounts has stopped delivering messages – messages we need to conduct business. I used their Email Reporting system, it indicates that the Group message were delivered to parties in the Group – multiple parties – some on @outlook.

Read More

Finding the Right Startup Idea

I recently read a blog post about “unusual sources of startup ideas“. None of the sources seem unusual to me (I see many attempts to re-create built-in apps or copy recently acquired or shutdown startups) and I don’t think that copying others is a good path to success. I feel like I see a lot of clones (another lo/mo/so sharing app please) because it’s easy to build a copy cat.

Read More

Chrome Forgets Passwords

Chrome has been forgetting my passwords for some sites. It sucks. I don’t use an external password manager, I like the built-in one. So, what happens is we have two login forms on the same host, and the origin_url and action_url in the Chrome Password Manager get confused. This file is called ‘Login Data’ and it’s a SQLite 3 database. Awesome. To execute these steps, you will have to shut down Chrome, we can’t work on this while these files are locked.

Read More

Distributed Application & System Configurations

We run distributed systems. Some of the systems are in AWS, some are in Linode, DigitalOcean, Vultr, Hivelocity and internal, and maybe some one-off vendor some where. So, how can we keep all these guys up-to-date on their necessary configurations? I’ve got a bit of history and then details on a method we’re trying. System Configurations On one hand, system configuration, we can maybe use a thing like cfengine, Chef or Puppet or others.

Read More

Apache auth_digest:error No space left on device

My Apache machine just took a dump :( And on the restart it presented these errors: [auth_digest:notice] [pid 29978] AH01757: generating secret for digest authentication ... [core:emerg] [pid 29978] (28)No space left on device: AH00023: Couldn't create the authdigest-opaque mutex [auth_digest:error] [pid 29978] (28)No space left on device: AH01760: failed to create lock (opaque_lock) - all nonce-count checking, one-time nonces, and MD5-sess algorithm disabled [:emerg] [pid 29978] AH00020: Configuration Failed, exiting A quick check with tools like free and df show there is plenty of space on the system.

Read More

Crappy APIs – Asana

We currently use Asana for some task tracking; it’s a pretty good system. However, I like to do extra stuff with my data – visualise my workflow (kanban?). Asana has a view, ‘Tasks by Project’ which is close, we use these Projects (but they are really Sections) for stages (Icebox, Talk, Make, Test, Beta, Live, Done). One would think that it’s easy to query, via some API the same view of active tickets by these Project (section) groups.

Read More

HipChat doesn’t Understand HTTP Basic Auth on Webhooks

I’ve been working on some Webhook iterations with HipChat. What’s frustrating is that registered webhooks cannot be used with HTTP Basic Auth. What is Basic Auth? That’s simply using some username and password to protect a URL. Remember the URL pattern (defined hella years ago?). http://user:pass@host/path?query#fragment Well, try that with HipChat – it just doesn’t work Here’s some POST and Responses I captured between my API and HipChat. POST /v2/room/edoceo/webhook HTTP/1.

Read More

Converting PO Files to Android XML

We’re looking at working with a new startup called Colatris which will solve some of our translation problems. They focus on solving the multi-language issues for mobile applications with an easy SDK and a translation service. For us, 99% of our work is web-applications, not mobile. And we’ll use things like PO files (gettext) or other string tables. To use Colatris, I hacked together this small Python script: po2xml.py This will convert your PO (or MO) files into an Android style XML language file.

Read More

NSA, Prism, Snowden and Right to Privacy (there is none!)

At the root of all this is an issue of privacy. A fundamental question would be: do you/we have a right to privacy. My opinion is no. We do have a right to be secure in our persons and property against illegal search. Are bits you’ve shared on the public internet still your property? (I think no) It’s information you’re sharing with the public and/or giving to a third party (Google, Facebook, Twitter, &c)

Read More

Sites Don’t Respect Trademarks of Small Businesses

Recently we’ve been in a battle with some of the webs busier sites regarding our registered trademark. See, many sites let the username represent the owner of the account like twitter.com/edoceo. Many sites (Tumblr, WordPress/Gravatar, Twitter and others) make no efforts what-so-ever to ensure that these usernames are not crossing trademarks. According to their policies you could register “Microsoft” and these sites would not mind (but we know that’s not true).

Read More

Linode Outage Review – Counting Events

Yesterday one of out hosting providers had a network hiccup. We use a number of providers and something happens somewhere at least once a week. Network blips are something one simply has to build around, redundancy & failover and all that. Linode manages their issues well with frequent updates to their status page. Employees participate in their IRC channel as well and are very responsive. It was however speculated that the Fremont data-centre has more outages than others.

Read More

Seattle PD Discrimination: Parking

I had this theory for a while that SPD parking enforcement targets vehicles operated by “poor” people. I heard and saw anecdotal evidence – my beat-up Jetta gets a ticket for a time-violation, while the BMW behind me does not. So, today we have an actual experiment going on. My beat-up Jetta, a nice BMW and a clean Dodge Doakota have all parked, on the same block in the same 2h limit zone.

Read More