Things I’ve learned on the Mac so far

I bought a 27 inch iMac last year, and I’ve been trying to get used to it ever since.

Here’s what I’ve figured out so far:

  • There is no “cut” feature in Finder, only “copy”. To get “cut” you must first “copy” and then when you are ready to “paste”, hold down the “option” key, and the “copy” turns into “move”.
  • Install XtraFinder. It adds the following features to Finder
    • Multiple Tabs
    • Options to arrange folders on top of files
    • “Copy Path”, “Show Hidden Items”, “Refresh”, “Copy to”, “Move to”, “New Terminal Here”, “Make Symbolic Link”, “Contents”, …
  • Install DoubleCommand to make the “home” and “end” buttons on the keyboard work properly. Be sure to uncheck the “Enter Key acts as Command Key” or else the Enter key on the numeric keyboard will appear to stop working.
  • To make the forward delete key work properly in the terminal, edit the current Terminal profile, go to Keyboard, and look for the forward delete symbol. If it’s not there, add a new mapping. Select “Send Text” as the action, and then press ⌃-⇧-D (Control-Shift-D) in the input box. it will record it is \004. You are now good to go.
  • Any keyboard shortcuts you’ve defined on your iPhone will sync to the Mac, assuming you’ve got iCloud enabled. Except that these shortcuts don’t work in Chrome because they’ve opted not to use the MacOS spell-check thingy.
  • The Solarized project has a great colour scheme, and they have the setting for the Mac Terminal program, which is nice.
  • I use PureText on Windows to paste from the clipboard in plain text. On the Mac, you can get the same effect by using ⌥-⌘-V (Option-Command-V).

(Handy page with Unicode HTML entities for Apple key caps)

The Blackberry death spiral continues

One of the most popular travel apps, Worldmate, recently announced it has “teamed up with Blackberry” to produce a travel app. Tried to install it on the brand new Curve from work, and it failed. A brief search shows that the new travel app wont work for those using a Blackberry Enterprise Server (BES), which is, I don’t know, MOST OF THE USERS.

Web::Scrape with XPath and the dangers of Chrome

My first time submitting a question to Stackoverflow – what a great site!

I’d already written the SNMP discovery tool, which I was pretty proud of.  But, there was still some information that was only available by logging into the device’s web interface, use basic auth to get in, navigate to a page, and get 2 strings, then navigate to 5 other pages, getting the same two strings.

Sounds like a job for a script!

Everything was going well, decided to use Web::Scraper, wrote my program, and then … nothing.  It wouldn’t work, and I didn’t know enough about XPATH to even know where to start.  Plus, the Web::Scraper module was a bit scary to read.

Long story short, the XPATH being returned by Chrome was incorrect.  In the developer tools, right click on an element in the elements window and select “copy Xpath”.  What you might not know is that Chrome inserts HTML elements into the DOM that aren’t in the source HTML.  In my case, it was for extra <tbody> elements inside tables.

Oh, and learning the XPATH syntax helped too!

Excel: Combine Cells in Selection

Often when responding to RFPs, I find myself copying and pasting out of PDFs into excel to create Table of Compliance. This often results in some donkey-work that people might find familiar: deleting the header and footer for every page, and sorting all the lines into cells. Problem is, copy and paste from a PDF reader includes a CR/LF at the end of every line, which means your long sentence or paragraph gets pasted into several cells.

Copy and paste from a PDF and sentences will be split into rows

This macro (which I have on a button in the ribbon) will combine all the selected cells into a single text string, and place it in the upper-left-most cell in the selection.

First, select the rows the merge:

Select the rows to merge

Second, run the macro:

Run the Macro. I have it located on the main tab of the ribbon

Third, delete the rows left behind. I toyed with the idea of deleting these rows right in the macro, but opted to leave them alone. If I did delete them, then you’d still have to remove them, and I certainly didn’t want to do that in the macro, in case you were merging cells in amongst other cells.

Delete the remaining rows

Finally, apply some word wrap, resize the dimensions, and voila!

Resize and Word Wrap

Here is the script. All suggestions, comments and corrections welcome.

Function ConcatinateAllCellValuesInRange(sourceRange As Excel.Range, seperator As String) As String
    Dim finalValue As String

    Dim cell As Excel.Range

    For Each cell In sourceRange.Cells
        finalValue = finalValue + seperator + CStr(cell.Value)
    Next cell

    ConcatinateAllCellValuesInRange = Trim(finalValue)
End Function

Sub CombineCellsInSelection()
    Dim ActSheet As Worksheet
    Dim SelRange As Range
    Dim finalValue As String
    Dim destination As Excel.Range

    Set ActSheet = ActiveSheet
    Set SelRange = Selection

    finalValue = ConcatinateAllCellValuesInRange(SelRange, " ")
    SelRange(1, 1).Value = finalValue

End Sub

“Repairing” an amplifier from an Ex-CBC Editing Suite

CBC Radio got rid of a bunch of hardware from a couple of their editing suites from their studios in Calgary.  I heard about it when I was at Inner Sleeve, a store I’ve recently discovered when Lisa told me that they got a hold of the the CBC Calgary vinyl collection.  What I didn’t know was that they took a bunch of the hardware as well.

The amp is a Sony TA-1055 amplifier, and a set of Dynaco A25 monitor speakers, all with CBC Radio Canada asset stickers, which I think is super cool.

It’s old gear, but it sounds fantastic.

It started to drop the right input from the turntable, and I finally opened it up to have a look.

Woah – wire wrap.  Haven’t seen that since university.

In general, the problem was that the input source selection buttons are wired up weird, and that the other switches on the font actually route input signal through them when not selected. Wiggling them fixed the issue,  so “repair” is perhaps overstating what actually happened.

Damn I hate mechanical switches, they eventually fail intermittently, and send such a horrible crunch when they are usednad I have to remember to mute the volume when using them.

In general, it was a satisfying task.  It’s been a long time since I’ve taken apart an appliance!

The Latest Version of Blackberry Desktop Software Broke Outlook Syncing

RIM have gone and “updated” their desktop software, and they have “updated” it good and proper this time.

They have taken a functional PIM synchronisation tool, and completely broken it.  Worse, the previous version didn’t need fixing.  They’ve not added a single new feature, only bugs.  So many bugs, that it prompted this blog entry, and a downgrade to their previous version.

Lets take a look at the brokeness.

Redemption. How apt. And the lack of it quite ironic.

It starts with this wonderfully ironic error message.  Redemption appears to be a third party library to enable better access to Outlook data.  However, “redemption” is defined thus:

re·demp·tion [ri-demp-shuhn]
1. an act of redeeming or the state of being redeemed.
2. deliverance; rescue.
3. Theology . deliverance from sin; salvation.
4. atonement for guilt.
5. repurchase, as of something sold.

Is RIM is atoning for the complete lack of QA? Or is it hoping for deliverance from a slow and painful corporate death, by releasing suicide software that everyone will hate? (mind you, iTunes is not that much better).

When all else fails, exit the program and announce that you’re done. Computer Science 101.

Syncing with Outlook data, while Outlook is running, doesn’t work.  You don’t know that though, because when it fails, you get the above dialogue. Configuring Outlook sync with Outlook running also doesn’t work.  You must close Outlook anytime you want to view or modify any settings, or indeed sync any data.  This resulted in the following sequence:

  • Try to configure Outlook settings
  • Discover that it can’t see any Outlook profiles.
  • Swear
  • Close Outlook
  • Restart the BB desktop software
  • Try to configure Outlook settings
  • Select the only Outlook profile configured on the machine
  • Configure the sync
  • (… time passes …)
  • Start Outlook
  • Try to configure Outlook settings in BB desktop software
  • All the settings are gone
  • Swear

That actually happened.

Conflict resolution screen.
Conflict resolution, with “Entry Updated” being the only clue
Conflict detail screen with no details.
Conflict details screen with no more details than what was shown on the previous screen. Lack of context makes it hard to know which entry to choose.

Now we come to the crux of the problem.  There are so many things wrong with these screens.  Here are some:

  • No feedback as to which entry you are modifying
  • Name column is fixed, and no way to change it.  Too bad if you have contacts with long names that all start similarly.
  • Since I didn’t trust the data I was being shown but still wanted to sync and eliminate conflicts, I wanted to copy some of the information to the clipboard in case I lost it.  Nope.  None of the text is selectable on any of these screens.
  • If a contact entry has been modified in two places at the same time, there is a chance that you will want to keep some fields from one edit, and other fields from another edit.  You know, merging.  Nope.  Not only can you not select fields from either side to merge, but no other fields are shown.  This lack of context means it’s very hard to know which copy you should take.
Finally, a screen that shows some context about the conflicting entries. But you can’t go back to correct anything!

Once you taken the plunge and  guess which entries to choose, you are presented with this screen, which looks more like the first screen in the conflict resolution process from the previous version of the software.

From here, you click on the information button, and you get a popup that contains the entire record, and highlights what has changed. This is much better, but it should have been the first screen you see, not the last.  At this point, having all that contextual information is useless, because you can’t go back and adjust your choices.  From here, you can cancel, and start all over again.

Lots of people are having problems with this version, many of them far worse than my gripes.  In some cases, the software crashes or hangs, and doesn’t work at all.  I came across this thread at Crackberry.  In it, they point to this link to download the previous version, which I plan to do. Update: That link is reportedly broken.

I’ve been saying for some time now, that I don’t understand it when people say they love their Blackberry.  To me, that is like saying you love your stapler.  And when my stapler starts to piss me off, I throw it away.   Unfortunately this is not my Blackberry.

Lotus Notes can’t edit or extend a meeting reoccurance

You have exactly one chance to get the meeting repeat details right, otherwise you have to delete the meeting and start again.
Or lets say you’re trying to extend a periodic meeting. Sorry. Can’t. IBM suggests you create a second meeting.

Notes is functioning as designed. An enhancement request for this added functionality was submitted to Quality Engineering as SPR #DGAY5NEGS5. There are no current plans to address this request.

I guess it was rejected due to the

Smart Meters will eat your Children!

Some guy named Jerry Day, has posted a bunch of youtube vidoes about Smart Meters.  They have been picked up such reputable sites such End of the American Dream and others.

The profess to teach everyone about the dangers of Smart Meters.

Here is some choice excertps:

“The meters are watching you.”

No, they are only monitoring the electricity consumption.

“They see how many watts your electric toothbrush uses”

No, they have no way of knowing what is consuming the power.

“They send information about [when you use your toothbrush] over wireless networks”

No, they send a continuous feed of the current amount of electricity consumed. They do not record when appliances are turned on or off.

“They send the information to the power company, where they keep record of all your power consumption, volumes and patterns, and store it forever on computers that you have no access to”

Utility companies already store this information, and have done for many years. It is how they bill you. Data cannot be stored forever, it will be archived, just like your credit card information and your driving record.

“The data shows when you were at home, when you were sleeping, when you’re on vacation, when you have visitors, when you turned on a lamp, a power tool, some extra computers, and if you look like you are running a business out of your home.”

Usage patterns can be used to infer alot of things. The meters will not record exactly when you go to bed or turn on a lamp, but the usage over time creates a pattern that can be recognised. Power companies already have illegal usage detection to prevent grow ops in your neighborhood.

“It even senses when you ‘bootleg’ energy off the grid”.

For shame! They should turn a blind eye to that!

“This is not electrical metering. This is personal surveillence. It is a search without a warrent every day.”

“The smart meters are radio transmitters which can easily be intercepted by a hacker to gain intimate personal knowledge of your life”.

No. The information is encrypted. Just like every time you use your debit card at the store, your banking information “shoots through the air to some institution somewhere.”

“Your power company can give or sell your personal information to whoever it wants.”

Then pick a better power company with a privacy policy you agree to.

“Any abnormal use is considered just cause … for a raid … to bust you for illegal activities in the privacy of your own home that they otherwise wouldn’t have known about.”

Getting away with a crime does not make it legal. It makes it hidden. If the power company used meter data to bust a grow-op in my neighbourhood that attracted dangerous criminals, I’m ok with that.

“Smart meters are no different than wire tapping devices.”

They are very different. Wire tapping devices intercept your communications and allow the attacker to know exactly what was said. Smart meters only watch electricity consumption.

Grandfather tech support

After a bit of a marathon effort, I have finally restored my Grandfather’s email system to a working state.  What a mess!

First thing I battled with was a corrupted PST file.  scanpst.exe is a little hidden gem that helped with that.

Then, after someone “helped” 1, and messed up the mail delivery, I had to fix his outlook profile. Trouble was, I could not find the “show profiles” tab in the mail control applet. This was maddening, because it was turning up nothing in my Googling.

Turns out that somehow, outlook had been switched into “Internet Mail Only” mode, and I suppose this somehow removes the profile editing stuff. However, the profile that was left was so broken that it had to be fixed. 10 GOTO 10.

Lukily, I found this link which informed me about IMO mode, and how to switch it back.  So a lesson for everyone is that in order to use profiles in Outlook, which you need in order to have multiple PST datafiles, and to control how and where mail is delivered, your Outlook must be in Corporate Workgroup mode.

May I also add that TeamViewer is a very good remote control solution, which I used to great effect today for about 3 hours, including 2 reboots.

[1] By “helped” I mean completely screw everything up.