Disconnected ramblings about software development, iOS, FreeBSD, anti-social networking, kittens, drosophilidae, small business, Android, web services, finches, Windows, electrical engineering, XML, rental cars, rye, or ... FIVE dollars??!... something something beer.

Single Threading, or Why won't my application use more than 12/25/50% CPU?

I get this question a lot.

You're running a graphics program or some other application that is performing a complex operation that is taking several minutes, yes the CPU usage won't surpass one of these values.

If the value changes up and down, your application is probably I/O-bound, meaning the CPU is waiting for the disk or network to catch up before it can do the next step.

However if it is pegged at one of these values, it is because the CPU-bound operation is single-threaded, and you have a multi-code and/or hyperthreading CPU. In my case, I often see a process pegged at 12/13% because I have a 4-core hyperthreaded (8 virtual CPUs) i7-2600K processor, and the application has not or cannot split the operation over multiple threads.

Text missing when you open a CAD PDF in Illustrator

Illustrator is usually prettey good about opening PDF files and keeping the text in tact, although usually with some font substitution issues.

I have found that when opening CAD drawings from PDF files that it says it is going to substitute fonts, but when the file opens, all text is missing. There is a quick workaround:

  1. Create a new empty document the same size or larger than the source PDF.
  2. Use File | Place to place the PDF in the empty document.
  3. Use Object | Flatten Transparency...
  4. Check Convert all text to outlines.
  5. Uncheck Convert all Strokes to outlines.

Businesses I predicted would fail

Name Date of Prediction Date of Failure Reason for Prediction Destiny
Blackberry 2007 2013 RIM decided to focus on the saturated consumer market and ignore its enterprise market. I sold my shares for a tidy profit. Less than 2.3% market share and $6 billion loss in 2014.
Eaton's 1992 1997 No focus, decline of department stores, overpricing, poor marketing choices, understaffing, closure of key departments. Bankrupt and acquired by Sears
Zellers 1994 2011 Entry by Walmart into Canadian market, poor inventory control, inconsistent brand, degredation of physical stores, poor upkeep of displays Liquidated, real estate bought by Target.
Target 2011 2015 Chose to enter Canadian market at time when Zellers failed and Walmart thriving, no e-commerce, poor online presence, poor market research, failure to replicate US stores in Canada. Ceased all Canadian operations.
Sears 1997 waiting Competition between catalog and in-store sales. Confusing e-commerce strategy, decline of department stores, understaffing, fragmented business strategy.  
General Motors 1995 2009 Brand fragmentation, poor choices in product line. Filed for bankrupcy protection in 2009. Discontinued failed brands.
Syquest 1995 1998 Slow reaction to success of Iomega Zip drive Bankrupt and acquired by Iomega
Quark 1999 debateable Lack of innovation, leaving a captive market for Adobe InDesign, failure to release OSX version of product until 2003 (two years too late), overpricing. Went from 95% market share to immeasureably small.
Apple 1999   PC market share falling from 10% rapidly, fragmentation of product line, poor licensing choices. I got this one wrong. One word: iTunes. The dollar-a-song model reestablished revenues that funded the R&D for iPhone and rescued the recording industry.

Looking for an objective about your business? I can help.

Chris, the Ramones, and the summer of '89

The Ramones

Sensory memory. I's when a sound, smell, taste, etc. takes you back to latent memory.

The CBC just played Teenage Labotomy and I was instantly transported to the summer of 1989. It was a summer that I hope most kids get: the indulgence of doing as little as possible.

I spent most of that summer with my best friend Chris.

Chris and I both lived on Pine Grove Crescent in Lisle Ontario. More accurately, Pine Grove Crescent was a "suburb" of about 50 people about a kilometre outside the metropolis of Lisle, population 300 or thereabouts.

Chris got me my job at the Sweet 'n' Spicy Restaurant in Alliston. We worked together as dishwashers. We worked hard, and we had a lot of fun. We weren't old enough to drive yet, and so we spent many nights together at 2am riding our bikes the 15km or so home, usually with a couple of beers under our belt.

Much of that summer was spend hanging around the neighbourhood. Chris was into skateboarding, the Ramones, and Thrash culture. He usually (willingly) dragged me along, and I even picked up a few moves on the quarter-pipe.

Most days included a bike ride into downtown Lisle (where the two roads intersect) to the the gas station/restaurant/movie rental place/arcade (all the same tiny place) to play pinball, video games and flirt with the girls.

Chris, if you're reading this, give me a call.

Tags: 

Xmas List

Tags: 

How to add a tab to a Table of Figures in Word

You have a Table of Figures in word and the descriptions do not line up, and some of the lines wrap. Since there isn't a tab after the figure/table number, lines do not wrap correctly.

There isn't a way to do this by setting a format when you create the table. You have to start when you are creating each of the captions.

You have to add a tab in each caption e.g. Figure 23:<tab>A photo of a kitten.

Then once you build your table you can set up tabs for the style used in your Table of Figures.

We miss you so much, Maggie.

We never expected to lose you so soon.

You are sweet and gentle and kind; quiet, but ready to give a non-intrusive tap on the shoulder when you need a pat or fell left out.

I know you often felt stressed out, but I hope you enjoyed spending the last eight years with us.

Xamarin Certified Mobile Developer

I took my exam yesterday. If you know anyone who needs cross-platform mobile apps, let them know that you know a Xamarin Certified Mobile Developer.

Tags: 

Pages

Simple Copyright Policy: If you want to reproduce anything on this site, get my permission first.