Application Loader missing from Xcode 11

Two weeks ago, I happily upgraded my Macbook Pro to macOS 10.15 (Catalina), which worked out well. As expected, it feels like a solid, stable operating system, and the update was painless.

Some of Apple’s tooling was also upgraded, including Xcode 11.1. Today I needed to update one of our iOS applications, and as usual, I fired up Xcode > Open Developer Tool > Application Loader. Where is Application Loader? Am I tired? Nope… it’s gone.

From xCode 11 Release Notes:

Xcode supports uploading apps from the Organizer window or from the command line with xcodebuild or xcrun altool. Application Loader is no longer included with Xcode. (29008875)

Well, to hopefully save someone else some painful internet gold mining, you now have two options:

1. If you want to use a GUI you can use the Apple Transporter application, which does the same thing only prettier.

2. If you want to use the command line, Cœur posted this on StackOverflow:

xcrun altool --validate-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"

xcrun altool --upload-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"

Happy app uploading.

New .dev gTLD

In 2017 web developers worldwide were caught by surprise when Google announced that Chrome 63+ would force HTTPS (via a preloaded HSTS header) on all .dev domains. This move was frustrating to many developers because .dev names were routinely used during the local development process, and now, unless you want to install an SSL certificate, that practice would no longer work. For example, if I was creating a new website for https://mattsimpson.ca, I previously would have used an unregistered, locally routed, mattsimpson.dev name on my computer during development, but now I would have to use something else. But what?

Well, it turns out that Mike West at Google kindly suggested a better standard, an official standard, where *.localhost is actually routed to localhost, and aptly named “Let ‘localhost’ be localhost.” This brilliantly simple standard would also negate the need for developers to, in many cases, manually modify their local /etc/hosts file in order to use a new local virtual host.

Besides the fact that this take-over-on-squatted-territory was an inconvenience to so many developers, I genuinely applaud Google’s efforts to enforce HTTPS where it can, and I appreciate the leadership demonstrated by providing a better technical solution for web developers.

All this to say, the .dev gold-rush is on now. Get yours. I’ve picked up https://mattsimpson.dev and also a few other nice ones, including a brilliant one for my daughter Myer (https://myer.dev), who will have the coolest domain if she ever chooses to become a developer in the future.

Home Voice Automation is a Bad Idea… with Children

As I plugged in my Amazon Echo Dot today, an event that happens only once in a while, I remembered that owning this sort of technology is a probably bad idea… when you have three young kids.

Approximately 25-30% of households have children under nine years old, and out of those households, a high percentage have more than one child. Have you been privy to a troop of kids harass a piece of technology before? If not, you should pull up a chair, put on your patience cap, and watch chaos ensue. You wouldn’t think an AI could get angry… well, as it turns out, three kids can make Alexa want to turn herself off.

The whole event caused everyone in the room (AI included) to become frustrated and confused. Then it was turned off… until next time when I forget how frustrating it is.

Do you have stories with children and voice automation? Share if you’d like.

Trouble with Data Roaming on DTEK60?

If you happen to be a roaming Telus customer that has a BlackBerry DTEK60 (or potentially other models), and you’re getting a bit frustrated because your mobile data is not working with an error something like this:

Unable to Establish a Wireless Data Connection.
Touch to Open APN Settings
Cause: UNKNOWN

The solution (in my case) was to create and use a new APN other than the default. To do this:

1. Go into Settings
2. Touch, More
3. Touch, Cellular networks
4. Touch, Access Point Names
5. You will likely see two existing APN’s in this list. Create a new APN for isp.telus.com. Yes, even if you already have one.

To creating a new APN click the + sign at the top, and the only two required field values you need are:

Name: It'll Work Meow (or whatever you want).
APN: isp.telus.com

Once that new APN is created, select it. You should be good to go.

Don’t be scared of a little work

I have been working a lot recently on my personal mindset. Karla just sent me this quote, which I truly appreciate and speaks to what I’ve been learning:

Intentionality requires more work, more deliberate action, but that’s where all the reward is—an intentional life always tastes best.
-The Minimalists

I’m pleased to have this opportunity to share. Feel free to comment and share your mindfulness strategies.

Tesla Model 3 Pre-Order Update

Model 3 Delivery Estimate I just happened to think about my Model 3 pre-order today that I placed way back on March 31 2016, so I headed over to the Model 3 website and was excited to find a “Check Your Estimated Delivery” button. After a quick login, I was both happy and sad to see that my date isn’t until “Late 2018“.

Happy because: 1) I don’t really want to get into a car payment just yet, so this actually gives me more runway to get everything in order. 2) The first Model 3’s being produced are (to my surprise) rear-wheel drive and as a Canadian the thought of rear-wheel drive in the winter is terrifying. I wanted the all-wheel drive model, which isn’t being produced for quite a while still.

Sad because, well, this vehicle is impressive and I really want one. Wow, 1.4 years seems like a long time.

Oh well, in the mean time I will sit here patiently waiting my turn.

Vote with my feet, Tesla Model 3

Tesla LogoPre-orders of the Tesla Model 3 opened today at 10:30PM EDT, one full hour before the car was even unveiled by Elon Musk. The Tesla website was under heavy load before starting to automatically redirect all traffic to the launch event site, but I got an order placed by about 10:45PM!

It may seem a little odd to pre-order a car without having actually seen it, but I wanted to make a few points about why I would do this.

First and foremost, Tesla without a doubt understands technology, software, and user experience better than any other car manufacturer on the planet, and a sight-unseen pre-order is my ever-so-small way of demonstrating my appreciation of their commitment to design and engineering.

Secondly, beyond the marketability of creating a car that is better for the environment I believe Elon Musk and Tesla genuinely want to change the world with this. In other words, I don’t sense that this is only for the money, there is heart in this. It has also been an excellent strategy to create high-end luxury electric vehicles (Roadster, Model S, and Model X) that are bought-and-paid-for by the top income earners, and then use that revenue stream to build something else amazing that can be mass produced a lower cost.

Thirdly, I gained a huge amount of respect for Tesla when they open sourced their entire electric car patent library, which also demonstrated to me that they’ve got heart in this.

Lastly, it was a pretty safe bet that the Model 3 would be amazing, and I am now happy to report that I certainly wasn’t disappointed. It’s absolutely beautiful.

Tesla Model 3

Red Tesla Model 3

Tesla Model 3 Interior

Tesla Model 3 Interior

Tesla Model 3 x 3

Tesla Model 3 x 3

In addition to being beautiful, Elon Musk presented limited, but impressive specs for a $45,000CAD vehicle:

  • It has a 5-star safety rating in every category.
  • It’s FAST, even the base model will do 0-100Kmph in less than 6 seconds (finally something to complete with my Mini Cooper S JCW).
  • It will do a minimum of 350 kilometres on a single charge, but I expect it will be even higher by 2018.
  • It comes standard with the auto pilot hardware.
  • It seats 5 adults comfortably.
  • The roof is 1 continuous pain of glass.
  • It has front and rear trunks, and more cargo capacity than any gasoline car.
  • It comes standard with super charging equipment (fast charging).

Other interesting fun facts Elon discussed include:

  • They will have 7,200 super charging stations, and 15,000 destination chargers world-wide in 2017.
  • There will be 441 Tesla locations by end of 2017.
  • Their vehicle factory can make 500,000 cars per year.
  • The Gigafactory is fully operational, and is the worlds largest producer of lithium ion cell batteries. This building also has the largest footprint of any kind in the world.
  • Deliveries for the Model 3 are expected to begin at the end of 2017.
  • There were 115,000 other people like me who pre-ordered the Model 3 in the last 24 hours before it was revealed.

Good for Tesla, better for the planet, and fun for my family. I’m looking forward to getting my Model 3 in 2018.

Really Enjoyed Her

Her PosterAfter putting the kids to bed this evening, Karla and I sat down to watch a movie and unwind. We were browsing through what seemed to be an infinite number of titles, discussing how we could possibly select something amazing based solely on the cover and title. Yes, there are definitely UI issues with how these movies are listed, but that’s beside the point.

We were somewhere in the list close to a favourite of ours, Big Fish (2003), which has a subtle, simple, but beautiful cover, when I proposed that even Her (2013) could be good based on it’s subtly.

A simple click, and the synopsis read:

In the not so distant future, Theodore (Joaquin Phoenix), a lonely writer purchases a newly developed operating system designed to meet the user’s every needs. To Theodore’s surprise, a romantic relationship develops between him and his operating system. This unconventional love story blends science fiction and romance in a sweet tale that explores the nature of love and the ways that technology isolates and connects us all.

This made us both laugh out loud because it definitely sounded like something we could both enjoy watching, and it truly didn’t disappoint. What an interesting movie that explored “human” emotion and the very real impact technology increasingly plays on our lives. Understanding this complexity will become so much more important in the coming decade, as technology will be embedded into our very fabric.

Highly recommend Her; a great watch.

Christmas Projects 2014: Raspberry Pi PBX

Preamble

I was lucky enough to take two full weeks of holidays over Christmas and New Years this year. It was magnificent and completely rejuvenating, despite the fact that everyone in my house was sick with one or more ailments throughout. In fact being sick and stuck at home may have in fact been just the excuse I needed to indulge in a few geeky back-burner projects.

Project 2: Raspberry Pi PBX

I have been running Elastix for years. Elastix is a top-notch open source project that glues together many other open source telephony projects (i.e. Asterisk, FreePBX, HylaFAX, and many more) into a single distribution built on top of CentOS. This setup has worked flawlessly for years, but I had an idea I wanted to try out… build a basic PBX phone server on a $35 Raspberry Pi computer.

My project: use this amazing little Raspberry Pi to run my home phone system.

Raspberry Pi

Well as it turns out, this project was a resounding: SUCCESS

I had most of the equipment around the house already, here is my setup:

Raspberry Pi – 1st Generation.
Lexar Professional 16GB Class 10 SD Card – For Raspberry Pi storage.
RasPBX – A Raspbian based Linux distro with Asterisk, FreePBX, HylaFax, etc.
Aastra 480i CT – A decent IP phone with a cordless handset.
Polycom SoundPoint IP 335 (x2) – Really great sounding IP phones.
Cisco SPA122 ATA – Connected to a fax machine.
NetGear ProSafe PoE Switch – 24 port Power over Ethernet to power the phones.

Also useful may be the layout of the network:

phone-network-diagram
So the Raspberry Pi, the three IP phones, and the Analogue Telephone Adapter are connected through the NetGear switch. Additionally the three IP phones are powered by the switch (PoE), which is extremely nice because you don’t need a big ugly power adapter plugged into each of your telephones.

To configure Asterisk, RasPBX comes with a very slick web application called FreePBX that allows you to setup and maintain your trunks (linkages to your VoIP provider), telephone extensions, inbound call routes, outbound call routes, and much more. You can get really fancy with this stuff, and it’s pretty fun to think of potential uses. In terms of VoIP providers I have been using Unlimitel (owned by Primus Canada Inc.) for 7+ years now, and have nothing but great things to say about their service. They’re not fancy, but they certainly know what they’re doing.

When I started this project I went into it with the expectation I could make it “work”, but that it probably would not be something I could rely on as a phone server. Needless to say that after 3+ weeks of this being fully operational without any issues, this setup has exceeded all expectations and cost less than $50.

Also interested in Project 1: PowerMac G5 Linux Desktop? Read on…

Christmas Projects 2014: PowerMac G5 Linux Desktop

Preamble

I was lucky enough to take two full weeks of holidays over Christmas and New Years this year. It was magnificent and completely rejuvenating, despite the fact that everyone in my house was sick with one or more ailments throughout. In fact being sick and stuck at home may have in fact been just the excuse I needed to indulge in a few geeky back-burner projects.

Project 1: PowerMac G5 Linux Desktop

Apple PowerMac G5When I started working at Queen’s University 11 years ago I was graced with a new Apple PowerMac G5 desktop to work with. While it is long passed its’ prime in the Apple world, this machine with a dual 1.8Ghz G5 processor and 6GB’s of RAM will run Linux without breaking a sweat. It’s still decent hardware.

My project: turn this beautifully designed 11 year old relic into a completely usable Linux desktop computer for light usage.

As you can probably guess, projects like this can go South. 16 hours, several *buntu installations, and a Debian 7.7 installation later, project status: FAIL

This particular PowerMac G5 has an NVidia GeForce FX 5200 graphics card, which absolutely will not work reliably with PowerPC architecture. The reason I think I sunk so much time into trying different things is that it doesn’t fail outright, it just fails in different ways between different versions of different Linux distributions (i.e. screen flickers, text disappearing, white boxes covering certain dialogs, etc.).

All is not lost for 2 reasons:
1. I am apparently stubborn and have ordered an old ATI Radeon 9600 XT for this machine, which appears to have a functioning driver available. I will update later to confirm.

Update: No, the ATI Radeon 9600 XT does not work. Waste of money. Boo. I’m open to suggestions if someone reads this. Hum… Should I install Mac OS X 10.5, or use the thing as a coffee table? That’s pretty much where I’m at.

2. I have a new love and respect for Debian. What a great operating system.

Next – Coming Soon – Project 2: Raspberry Pi PBX