Audio jack – A love letter. Why Apple is removing audio jacks

Apple’s removal of the 3.5mm audio jack. This topic may have been done to death already, but there are a few technological and social issues people are not really considering.

By doing this, Apple is directly exposing their clients to this market of crap.

Audio Jack Loss – Social Issues


It is much more expensive to get Bluetooth headphones than wired headphones, plain and simple. From crappy headphone vs. crappy Bluetooth, to high end devices, in each case adding Bluetooth means adding batteries, charge management, and processing/communication circuitry. With cell phone costs already very high, adding a second expensive accessory seems unnecessary. This leads directly to the second issue:

Consumer choice

There are thousands or even millions of earbuds and headphones. However, there are only a  few hundred Bluetooth ones. Headphones made in the 1970s would still (with a simple jack adapter) work with a modern cell phone. However, the same cannot be said of Bluetooth headsets, with the current spec already up to V4, there is no guarantee of backwards compatibility. Therefore, there is a good chance that 10 years down the line, your nice Bluetooth headphones will not be usable anymore. This is not even considering the fact that the built-in batteries will die within 3 years, necessitating expensive replacement or DIY efforts.

Also, if I buy cheap, crappy earbuds currently, I just get tinny, scratchy sound. However, trying the same thing with Bluetooth headphones could result in dropped signals, little battery life, and a host of other quality issues. By doing this, Apple is directly exposing their clients to this market of crap.


This is more of a minor issue, but broadcasting data over the fairly insecure Bluetooth standard is not the best idea. Though even wired headphones radiate EM that could be intercepted, they are orders of magnitude quieter than Bluetooth signals. This is not a huge deal in most cases, but confidential conversations and especially financial transactions (like Square does with the audio jack currently) are at risk. Bluetooth does have some encryption and countermeasures to surveillance, but they are not really designed to be robust.

DRM integration


What happens when a torrent of user complaints come in about dropped Bluetooth signals? Apple will announce a “partner program” where companies can get “Apple Certified” Bluetooth headsets approved. This opens the door to further restrict how and when users can listen to their music and content. This also locks out vendors unwilling to pay (what has historically been) high licensing fees to use Apple’s technology. Before you think that this is just scare mongering on my part, let me remind you that Apple is no stranger to proprietary formats and locked down content; they have done this before.


Audio jacks have been used for lots of secondary devices; payment processing, children’s games, etc. This is one of the last, easy to use input/output ports on modern cellphones. Making something work with the audio jack takes a little copper wire, a magnet, and some patience. With Bluetooth, the question becomes a lot harder, and loses a lot of its education immediacy.

Secondary markets

Image result for Ipad POSEver notice how most small cafes now use an Ipad for a checkout register? This is a revolution, mostly started by Square, but now there are hundreds of companies that provide Point of Sales (POS) systems built around an Ipad. They are cheap, durable and easy to program. Most of these systems use the audio jack to input and receive data from the Ipad, because trying to get USB hosting working is (yet another) proprietary nightmare. Here is another avenue that Apple is eventually looking to cut off by removing the audio jack.

Audio Jack Loss – Technological Issues

These issues have been touched on elsewhere in this post, but the essentials are:

  • Bluetooth is more complex, and thus more expensive than simple wires.
  • Bluetooth has backwards compatibility issues, and eliminates a huge amount of very good, old headphones and speakers.
  • Wires are just more reliable than Bluetooth. (I just had Bluetooth audio issues with my car for more than 4 months. I just had to wait for an update. Without the audio jack I would have been totally stuck!)bluetooth
  • The RF spectrum is not infinitely large, with more RF devices, interference and so called “spectrum crunch” will start to play a role. I am willing to bet that if everyone on a crowded subway car tried to use Bluetooth at the same time, everyone would get audio drops and issues.
  • Batteries built into headphones means they last for a maximum of 3-4 years. After that, Li-ion batteries are toast. We will no longer have beautiful, old-school headphones passed down through families.

Audio Jack Loss – Benefits

Well, we have listed the large amount of downsides to losing the audio jack, but there must be some reason to lose it… right?

From the consumer and user standpoint, a *very slightly* thinner phone, is ultimately the only benefit. Users that claim frustration with tangled cords already had the option to use Bluetooth headsets, there is no difference.

From Apple’s standpoint, all of the negatives listed above are potential positives. Greater control over the market is the prime way any media distribution company has of wringing more profit.

apple Waka

Especially with Apple Pay competing with Square in a similar space, the incentive to physically block out their competitor is high.

For the opposite view (totally wrong of course…) see here:

Death To The 3.5mm Audio Jack, Long Live Wireless

Canadian Space Agency Astronaut – My Letter

Hello world,

This year, I had submitted my candidacy to the Canadian space agency for their 2016 recruitment drive. I had worked at the St.Hubert headquarters, and quite liked the environment and experience. Though I was not accepted (and had very little chance anyway ūüėČ ) I wanted to put up my cover letter. Here it is in its entirety.

To the Canadian Space Agency

I strongly believe that space exploration and its peaceful use are essential to the long term success of Canada. Living and working in space is not a goal in and of itself, it is instead the path towards better work and life for all Canadians. This can be seen not only from the economic benefits that space brings, but also from social and environmental benefits. Technologies developed for space exploitation are seen everywhere, from GPS in cell phones to remote monitoring of forestry. Space exploration has also been a driving force for improving the study of software and robotics, two technical fields that are revolutionizing modern industry. However, the societal impacts of our space program are just as important; they introduce the next generation of students to STEM fields. For Canada to remain competitive internationally, future generations must develop new technologies and entirely new disciplines. Lastly, development of space industries is an environmental responsibility; it allows for clean energy, efficient mining and agriculture research. Solar technologies, battery storage, efficient communication systems: these were all developed for space applications, and now contribute to reducing our carbon footprint.

Ever since reading The Norby Chronicles as a child, I have been fascinated with two things in life: robotics and space exploration. From building Lego as a child, to launching model rockets and making small walking robots, I have always had a passion for exploration and technology. My parents immigrated to Canada from Moscow in the early 1990s, looking for more opportunities in scientific research. Since my arrival in Canada, I have studied French and English, and spoken Russian at home. Bilingualism has been invaluable to me; on my first Co-op term from Waterloo University, I was given the chance to work with the satellite communications department at the St. Hubert station of the Canadian Space Agency. I spent my first term developing satellite tracking software for the CSA that is still in use today. In my second term, I assisted with the launch of an ESA satellite. Both experiences were amazing opportunities, showing the immense talent and co-operation of the CSA. My favourite part of each day at the CSA was walking by the control centre and seeing a team of highly talented people working together to accomplish a goal. The experience I gained there has been a great help in my robotics career since.

I have always thrived under pressure, working best under tight timelines and difficult goals. My passion for my work comes across in presentations, talks to the public, as well as open source projects I contribute to. In University, I often simultaneously worked with several start-up companies, completed my full course load, and found time to help student robotics teams. I have also won awards for technical speaking and presentations, a goal I set for myself to improve my public speaking. Lastly, in starting to manage engineering teams, I have had to take on leadership roles and responsibilities. This is new territory for me, however my department has received the highest personal satisfaction ratings in the company. I mention these characteristics purely to show that I am an excellent candidate for the position, as Canadian modesty and team spirit is something I take to heart.

The future of space exploration, and of manufacturing in Canada, will undoubtedly involve robotics. Employing my expertise will prove of great benefit to the Canadian Space Agency. I thank you for the opportunity to apply to be Canada’s next astronaut.

Best wishes,
Ilia Baranov

If you want to know more, check out

Interview with CBC – The National

Had my 15 seconds of fame in an interview with CBC – The National

Check it out here: Automating Jobs

What should Google do with robots?

A very interesting article here:

In my hopefully incorrect view, Google is making the same mistake that Microsoft made; it is purchasing companies only to stifle them. This has now happened with a number of promising companies, with a notable local example: BufferBox.

James Kuffner joins Toyota from Google Robotics – Business Insider

After the division’s tumultuous year, a cofounder of Google Robotics just left to work at Toyota.

Source: James Kuffner joins Toyota from Google Robotics – Business Insider

Sadly it looks like Google (or Alphabet now) has bitten off more than it can chew with its robotics division. Multiple leaders of the group have moved on, and so far no large public project has been shown. Please Google, PLEASE learn the lessons that Microsoft had to learn the hard way in the 90-00s.


Hosting Providers – You get what you pay for.

A tale of two hosting providers

I had to change away from my old hosting provider, cloudatcost. They were not keeping up with their promised service, and lots of user have complained about them. Despite 4 support tickets and 5 months of complaints, service is unchanged (more on that later). Due to this, I have switched over to RamNode (, and so far the difference is night and day (or perhaps 3G and gigabit).

Apples to Oranges

Always a good idea to say more than just “it’s better”, hard numbers help make decisions in a price/performance market. A great place to start is You can download and run a standardized set of Linux tests on any server, and automatically see the results online. Below we can see that although CloudatCost provides just slightly higher benchmark performance, it suffers by 2 orders of magnitude or more in all other categories. This test was done several times, and we can see that CloudatCost is consistently under-provisioning both the network hardware and the disk resources of their instances. On one of the support tickets I had with them, they claimed a “faulty router in the network”, but no improvements were ever seen.

SVZ - Hosting Providers

Cloudpro - Hosting Providers

Raw performance stats in a snapshot are ok to start, but how do you test reliability of service? Though pingdom has recently cut back on the services they offer for free (gotta make a living), they still offer a very good way to track server outages and issues. Here we can compare historic data to see how often a service goes down, how fast it responds, etc:

cloudatcost uptime of 96%, outages every week. - Hosting Providers
cloudatcost uptime of 96%, outages a few times every week.

And here is a zoomed in view of the last few days:

Notice a Difference? - Hosting Providers
Notice a Difference?

Looking at the second graph, if you had to guess, when did I switch over providers? Fairly obvious, when the response time became smooth and fast, and the outages stopped.

One more quick note, a good online tool to hammer your website with simulated load to test for issues:

Self Regulation (sorta…)

After more than 5 months of support tickets and public complaints, nothing changed. Cloud at cost never hit advertised up times, speeds or performance, though they do have a (mostly working…) online interface, so that is nice….

Here in Canada, we have the Better Business Bureau, a group dedicated to helping customers and business establish and report on breaches of trust. I submitted a formal complaint to them about the lack of service. This is what I got back after a little while:

Complaint Case: 1329069
Business Name: Cloud at Cost

BBB has made several attempts to contact the business regarding the above referenced complaint. We regret to inform you that we have not received a response from the company. The case has been closed as will be reported as UNANSWERED.

Despite all this, cloud at cost continually run “80% off sale” “Black Friday Sale” (all emailed to my account) and get new customer sign ups.

As much as I love to support local businesses, their service at this point is essentially a scam, as they deliver a fraction of the promised service.



  • Disclaimer: I have not been paid by anyone, nor received any benefit from this info. This is just my own info gathering, done using my personal funds.

Featured in SICK blog

Most collaborative robots are stationary. But what if you need it to move items from one location to another? See how to make collaborative robots mobile!

Source: Video: Making Collaborative Robots Mobile – SICKUSA Blog

Startup city: The high-tech fever reshaping Kitchener-Waterloo – The Globe and Mail

As BlackBerry fades to a shadow of its former self, a new generation of entrepreneurs is rising out of the Waterloo region

Source: Startup city: The high-tech fever reshaping Kitchener-Waterloo – The Globe and Mail

Altium Circuit Maker – Review and Tutorial Part 1

Altium Circuit Maker

Altium (used to be Protel) makes some very nice PCB design tools, and Altium Circuit Maker is their newest product, with the added benefit that it is free! This two part series looks into Circuit Maker, and has a quick tutorial on usage. As always, leave comments below!

Altium Circuit Maker has upsides and downsides, but overall I think this will be a GREAT addition to the open source hardware movement! Sharing all your designs and parts libraries by default is a bold move, and should lead to great things!


  • New, Modern tool, looks good and is much easier to use than most other stuff out there.
  • Integrated design and library sharing system (see cons), integrated parts backend uses Ciiva
  • Exceptionally well done online manual
  • Unlimited FREE usage (no layer limits, no parts limits)
  • Did I mention it is FREE with NO LIMITS (looking at you EAGLE, Upverter, etc…)


  • Always online, no local storage of any files
  • Forced to share designs, no real choice apart from a few “Sandboxed designs”
  • Slightly buggy, though way better than the professional version of Altium!
  • Not much Tutorial content, more of a manual here-is-everything-and-kitchen-sink approach from Altium.
  • Fatal version control flaw!

If I had to point to one thing that Altium Circuit Maker desperately needs is better community support! The starting community page is lackluster and random.

Altium! Please add this stuff:

  • Ability to rate Users. Show recognition for the best and brightest designers!
  • Make re-use of sub-circuits easier! Right now, my only real option is to go randomly searching through projects, hoping to stumble onto something useful, copy the project, and tear it out. The ideal case would be to have separate sub-circuits section, where I can easily find a buck/boost converter, battery charger, and other stuff EEs use over and over. Then make it easy to place right into the design.
  • Improve Ability to rate designs! You can post a comment and rating, but there is no detail. What about the design is 5/5 stars?
  • Let us comment and accept pull requests on commonly used parts.
  • Let user have their own homepages to show their work! (Kinda exists under Community Profile…)
  • Have a website we can check for community activity, instead on only through Altium Circuit Maker.
  • Speedup access to community. I have a fairly fast internet, and it takes 5-10 seconds to load each page. Very frustrating when you are searching for anything.
  • Bring back the Altium keyboard shortcuts! I miss being able to press P(place) -> W(wire)
  • Many to one relation, or generic parts. I need only 1 model of a 0402 resistor, and then specify that it is a 10k 0402 resistor later.

Version Control

Here is the current deal breaker though: There is no version control for library parts or anything in place at the moment! I can go in and change practically any library part in any way I want, authors retain no control on their parts library entries. My changed part becomes the new default revision, as in the first one listed and selected when importing a part. THIS is a deal breaker, for 3 reasons:

  1. A malicious script kiddie can come in make empty parts for every part in the library, which is easy to restore but annoying. More serious is they can subtly break designs, such that when users make em, the board goes up in smoke!
  2. There is no way to know how good or accurate a design is! It could be off by a mile or perfect, but without visibility into the versioning, I can’t tell what has happened to it.
  3. Even with the best intentions of fixing a mistake, changing a part that is already in someone’s design is a recipe for disaster. The existing design doesn’t change by default, but doing a library update or making a new design and bringing in the part does cause the change. Multiple version revision control is needed.

If¬†Altium Circuit Maker wants to fix this, they need to employ the Github model, and FAST! That way, every part would have an “issues” page, a rating page, and authors would hold the “master” copy. If someone comes along and notices a mistake, they can submit a pull request. If the author is not responsive or doesn’t want to fix, they can then make a fork and direct people to the corrected version. This would solve all of the versioning issues very quickly.

Quick tutorial

There doesn’t yet seem to be a lot of tutorial content out there for Altium Circuit Maker, so I am going to walk through getting a simple board produced! The tutorial will also cover some tips for first time circuit designers. General steps are idea, parts selection, schematic capture, part creation, board layout, and production output. The full documentation is available here:¬†


What do you want the circuit to do? Does this function already exist? (please please PLEASE do not make another level converter or RS232-USB circuit, there are thousands of em). Things to consider:

  • Voltages and currents. Designing for 5V at 500mA max is a good place to start, as you can easy get tons of power supplies for this (USB)
  • Complexity. The complexity of what you are trying to do drives both board size and layer count, which in turn is the major driver of cost on most small projects
  • Manufacturing. Is this a 1 off, or something you are planning to make thousands of. The more you are planning to make, the more time you should spend minimizing parts counts and making more robust designs.

In this example, I will be making a small programming header board to get from the venerable AVRISPv2 to a small integrated board. I will need to source USB power, provide some simple protection, and have a signal inverter for the reset line. I am making 1 board only.

Parts selection

Now that you have decided what the circuit must do, we should consider the core parts of the design. The main microprocessor or other central parts should be listed. For my project, this is simply a header, an inverter, plus a 3.3V linear regulator. When selecting parts, be sure they follow the requirements from the Idea section above.

Schematic capture and starting a Project

Open¬†Altium Circuit Maker, and start a new project. Note that¬†Altium Circuit Maker makes project open to the world by default, but has recently made a “Sandbox” mode available to keep it private. Next, right click on the project and select Add New To Project -> Schematic

Pro Tip: Use the Windows Problem Steps recorded to help easily write super detailed tutorial steps and screenshots

The first part I am going to add is the inverter. Go to the View top toolbar, and select Libraries. On the right side menu, I input the part I am looking for,¬†ensuring the top “Has Model” checkbox is checked, the¬†NC7SV04P5X. Repeat this with enough parts until you have most of the important ones.

Now that we have some components, we can take our first stab at wiring them together. For now we are going to stick strictly to the basics, things like sheet re-use, buses and differential pairs are to be covered later. First add power ports, one for each GND and power signal. Don’t make the mistake of leaving the power port named VCC, double click it and rename it to something like 3.3V. This makes your design less error prone and much more readable. After your power ports, wire up all remaining connections.

You can also add comments, to help explain design decisions. These are publicly viewable, and can also let users flag issues.

Part Creation

Sometimes the part you want does not exist in the Altium Circuit Maker included CIIVA library. This is your chance to create a part and give back to the community! In my case, a header that matches the AVRIPSII programmer does not exist, with part number 75869-131LF.

Open the Libraries side panel under View -> Libraries. Here, enter the part number you want (ensuring the top “Has Model” checkbox is NOT checked) right click on the brought up component and select “Build this component”.¬†Altium Circuit Maker now automatically populates the part entry with a ton of data, saving you time. We now need to add a Schematic symbol and a Footprint. This is done by clicking the + signs at the bottom of the page.

If you realize later on that you made a mistake here, got to Libraries, search for your part, right click and select Edit.

WARNING:¬†Make sure to click “Commit” when leaving, else your work is LOST!

Schematic symbol

Here we draw the schematic representation of the part. This consists of adding pins (Passive, In, Out, etc) and drawing an overall shape of the part.


  • Keep inputs on the left, outputs on the right, +Ve Power on top, -Ve (or Gnd) on bottom
  • You don’t have to match the physical layout of the part, make it easy to understand instead
  • For truly huge pin counts, split the part into several schematic parts. Take a look at the STM32F407 for an example of this, they split the power from all other pins.
  • Keep pin lengths at 20 or 30
  • Hit Tab when placing a part to change its properties
  • Select multiple parts, hit F11 to change properties for all of them
  • The “Display Name” should match what the spec sheet for the part states, the “Designator” is used to match pins from schematic to footprint.
  • When drawing a bounding box, keep it transparent and extend slightly past last pin
  • Adding symbols is optional, but recommended for usability. Good free list here:¬†symbols
  • Add a Reference Designator to your part! Click Library -> Component Properties. My connector is labelled J, from the Standards here:¬†Reference Designator

More info here: Add a Symbol


The footprint is the physical model of the part. It is used to define pin and pad placement, silkscreen outline, and ensure mechanical fit. All parts created should ideally have a 3D model, but this is not required. The bare minimum is a mechanical outline, pads, and indicator for orientation (usually silkscreen symbol for pin 1).


  • Search for existing community footprints with “Place Existing Footprint”, don’t re-invent the wheel!
  • For complex parts, search to see if a manufacturer provided .step model exists. This can be directly imported into the footprint. Read more here:¬†3D body
  • If there is no pre-made 3D model, draw the outline, and then head to Tools -> Manage 3D Bodies. There, extrude the outline you drew up to the height of the part.
  • Pin 1 or center of the part is generally used as the “reference” point of the part, that is the 0,0 location.
  • You can have multiple footprints. This is generally used to make a “tight tolerances” version, and a “relaxed tolerances” version.
  • Press q (with nothing selected) to toggle between imperial and metric measurements
  • Always identify Pin 1 with silkscreen markings or pad shape or BOTH (ideal solution)!

Simulation Model

You may have noticed a third box on the parts creation page titled Simulation model. This is used when simulating electrical parts prior to production. In my opinion, in 99% of cases for the hobby/small project world, it is not worth the effort to use the simulator.


That’s all for today! Tune in next week for Part 2 – schematic naming, Board layout and manufacture!