Monday, January 13, 2014

Switching my 2009 iMac to an SSD - six months later

What do you call a $1,500 computer that contains a fragile and unreliable component in the core of an unserviceable case? What do call the guy who designed it?

The computer is an iMac, and the guy, Johnny Ive, is often called a genius. Not by me though.

My iMac's first drive died after 2 years of use; I paid for an (badly executed) Apple store replacement and was later reimbursed as part of a recall program. Two years later that drive died.

Yeah, not happy. I hate spending the money, but the hassle of working with Apple service is worse. Backups, hauling the 17" iMac around, waiting, the restore, spending money for a drive that's 4 years obsolete (Apple only replaces 'like-with-like')... Ugh.

So I decided to explore my options. I ran off an external enclosure for a while; I was surprised how well that worked, though the still living internal drive seemed to trigger startup glitches. That gave me time to think; I decided I wasn't willing to throw the 2009 iMac out. On the other hand, if I was going to put more money into a 4yo machine I wanted more reliability, and I wanted performance that would carry me through 2017.

So I bought a 1TB Samsung 840 EVO SSD for (then) $650. I ran it in an enclosure for about a month -- if it failed I wanted a hassle free return. Once it passed the high mortality startup phase I paid First Tech Minneapolis around $140 or so to do the swap (See Ives: not a genius. Among other things, FirstTech says they install a temperature sensor that prevents the amok fan problem).

It was perfect. Well, actually, no. I started having kernel panics. Which had nothing to do with the SSD, one of my firewire cables was coming apart. It took an inordinate amount of time to figure that out. That wasn't the only problem associated with my migration, the process of swapping drives, backup, restore, and Mountain Lion upgrade uncovered lurking problems like...

Gordon's Tech: OS X Mountain Lion cannot delete sparsebundles containing over 262,144 bands (2TB+)

... after cloning the primary drive to an external firewire drive, I noticed an old Permissions bug I've probably ignored for years. Sophos Antivirus didn't seem to like the clone, and I decided it wasn't worth the bother anyway, which led me to Sophos uninstall heck (mostly missing documentation). Next building a Mountain Lion Install SD card for my new SSD exposed weird behaviors of the ML Installer...

... I decided it was a good time to move my iTunes Library to an external firewire drive. That meant I needed to make some room. No problem, I could just delete a 2.4TB Carbon Copy Cloner sparsebundle...

Happily the last big problem was four months ago. So I've had a chance to see how things worked.

Which is very well. Aperture was getting painfully slow, now it flies. My VMWare Fusion XP used to thrash my hard drive, now it zooms. Overall this is the biggest performance improvement since I went from an 8086 to an 80386.

I can't speak for reliability -- the main reason I went SSD. For what it's worth, Samsung claims ...

Samsung's 840 EVO SSD uses TLC memory, yet because of the sophistication of the controller chip and its software, it will outlast any other component of the laptop or desktop it's in, according to Chris Geiser, senior product manager of Samsung's Memory and Storage Division.

"If I'm writing 10GB a day to a 120GB SSD, it will last over 10 years," Geiser said.

Ten years would be fine. Less biasedsources vary.

I think I made the right call. I spent about $800, but I got a high performing machine that should be good for 4-5 years -- not less because the heat output is diminished. A new iMac with faster CPU but overall equivalent performance (and no DVD!) costs $2,800.

There's only one obvious defect -- my iMac's 2009 hardware test now fails because a fan is not detected. Bummer.

Some bullet points from my installation are below...

  • I did a fresh Mountain Lion install on the new drive including an admin account with a distinct name (you don't want to cause a name collision with the restore).
  • Since I was running off an external drive I used Migration Assistant to move data over the SSD after I did my fresh install.
  • I unwittingly upgraded to iTunes 11, but I've finally gotten used to it. Fortunately by the time I upgraded many of the worst bugs were fixed.
  • I put my 340GB iTunes media on an external 2TB drive. I don't need SSD performance for that, external works fine, I have backups and I avoid using costly SSD space and I reduce write traffic on my SSD (writes shorten SSD lifespan)
  • As with all drive migrations I had to delete my Google Drive data, reinstall Google Drive and let Google restore my files.
  • I started out with an encrypted drive but I ran into problems with startup accounts. I suspect this was partly related to my fraying firewire cable kernel panic problem, but I ended up removing the encryption. I may try it again in a few months.
  • I researched the various TRIM debates and decided not to use the Trim Enabler hack. If performance lags in a year or so I'll create a fresh image then reformat. I hate messing with core system functions.
  • After migrating to the SSD Time Machine let me continue against my prior backup. That was a pleasant surprise.

Saturday, December 07, 2013

How to clean up the Samsung Smart TV you shouldn't have bought

You shouldn't have bought that Samsung Smart TV [1].

You should have bought a dumb TV with decent speakers, a simple remote, and simple HDMI switch box so every user can effortlessly switch inputs [7]. Pair it with an Apple TV and, if you insist [4], something to stream Amazon video [2]. If you want to record over-the-air TV please report to the local police station [3].

Alas, you did buy the spyware-by-design [5] Smart TV. You gaze in horror at the crapware infested screen, remembering pre-iPhone mobile and HP winboxes. Set aside an hour or so, because you have cleanup to do.

Short of hacking the TV your cleanup options are limited to:

  • Delete: Only a few of the apps can be deleted. I assume they didn't pay enough to Samsung.
  • Move: You can create a folder to move some app icons too. Moves are slow.
  • Lock: Almost everything can be 'locked', even things that can't be moved. You can't lock the bundled IE browser however.
  • IE Browser only: If you have the patience, you can find a 'restrict' option in the browser settings. Set a passcode and enable nothing.
For the standard Lock and the IE Browser restriction you are asked to enter a passcode -- even though you never set one [6]. The default is always 0000, then you can change it.
 
The basic cleanup pattern is then:
  • Use the Tools button (on remote) to create a folder
  • Select items on screen with remote, click Tools, and see your options (Delete, Move, Lock). Delete when you can, Move when you can, Lock all you can't Delete.
At the end of the day you will be stuck with a number of apps on screen, but they will be locked and thus confusion is limited.
 
You really shouldn't have bought that Smart TV :-).

[1] I've had four hours of experience with post-1994 TV. Isn't amateurism wonderful?

[2] As of today neither Google nor Apple set top boxes will stream Amazon video. Of the options listed here the Roku has a good reputation. The XBOX 360 is abysmal, the original Wii did a good job. I assume Amazon wants to do their own hardware solution. Apple TV does Netflix well. For now we've installed Samsung's Amazon streaming app -- it's slow to start but has worked for a couple of days.

[3] Few now remember the short time when it was easy and inexpensive to record over-the-air (OTA) TV; VCRs dropped their advanced scheduling abilities in the early 90s. The Tivo era died at the hand of Cable and content owners, now there's a crowdfunded effort for OTA DVR with minimal results. For a brief time Samsung SmartTV supported recording to USB stick or drive, but this interfered with their revenue model and has been quietly dropped.

[4] Amazon Prime streamed video library is a very mixed bag. Movie selections are abysmal. Television is variable, but they do offer BBC and thus Dr Who. Apple TV has PBS - with some Amazon carve out exceptions. The media landscape today makes the Netflix DVD era seem a golden dream.

[5] During my cleanup process I ran into at least 4 EULAs; I assume they all grant Samsung the right to monitor everything we do.

[6] Samsung copies Apple extensively, but they need to copy more.

[7] Samsung's comparable dumb TV is more expensive than their Smart TV. I assume that's partly better components, but it's possible that the Smart TV cost is subsidized by the bundled video options.

See also:

Update 5/17/2014 - restoring the missing PVR (recording) function: The SamyGO TV firmware hacking project enables “Video Recording”. The download site is now at http://download.samygo.tv/. We have a Samsung UN40EH5300, per samygo.tv I think this is an “EH5300” model:

<TYPE><REGION><SIZE><YEAR><SERIES><VARIANT>[misc details]

where

U: LED

N: North America

Size: 40”

E: 2012

H: ? H series? EH series? (Wiki is confused here)

5300: variant 5300

Alas, the wiki SamyGo wiki makes it clear that hacking a 2013 Samsung is no trivial task. The relevant wiki page is a work in progress - as of 12/2012. Nonetheless, on the forum there are discussions on hacking it …

1 - One For All remote URC-7320 or similar

2 - Press magic key 3 sec then enter 0812 Press magic key 3 sec then enter 994 + magic key + 00020 + red key ( now red key is 3SPEED ) Press magic key 3 sec then enter 994 + magic key + 00027 + green key ( now green key is FACTORY )

with tv turned on press info in tv original remote and green key in ofa remote and thats all

The URC-7320 is no longer sold, but Amazon does sell a URC-8820. Elsewhere a blog post says using the IR remote hack is particularly treacherous…

I found a discussion on enabling EH5300 PVR, but I think this is a generic direction, I can’t see it’s been used on a 5300.

1.- Download ruSamsungTVCommunicator

2.- Connect your TV and your PC to your local network.

3.- Open ruSamsungTVCommunicator and wait until it finds your TV (If it doesn't find it, you'll need to manually enter its ip address)

4.- A prompt will be shown in your tv, accept it.

5.- Turn off your TV and ruSamsungTVCommunicator then press {INFO} {MENU} {MUTE} {POWER} on the remote and re-open ruSamsungTVCommunicator.

6.- Press FACTORY and after this 3SPEED buttons on ruSamsungTVCommunicator.

7.- From Service Menu select Control, than Sub-option; Find PVR and change it to ON and PVR Num =1

8.- Save settings by pressing POWER on remote controller (TV turns off)

9.- Enjoy your new PVR!!!

I actually tried running ruSamsungTVCommunicator on a no-file-system-access XP VM running on OS X. I set a VM snapshot, then reverted post experimentation. There were quite a few unsettling pauses in the process, which might have been the XP antivirus keeling over. I didn’t get far with the experiment. I think I’ll have to give up on my hacking the Samsung — at least until there’s a less worrisome toolset.

Friday, November 29, 2013

iOS 7.0.3: Large data charges, newly enabled iCloud movie downloads, and missing cellular data controls

Things got quite weird as I and my app.net correspondents dug into this problem. See the updates below for the full story, which seems to have been a change in AT&T services that triggered a glitch in iOS cellular data controls just at the start of a billing cycle. A truly 21st century experience.

---

The messages started to appear around 3pm today ....

AT&T Free Msg: The following mobile ... has used 100% of the additional 200 MB of data ... We've added another 200 MB ... $15 will be charged to your account...

One after the other. They stopped at $136. Which AT&T, to their credit, forgave when I begged for mercy.

So what happened?

Well, to start with, our family is on legacy AT&T family plan contract that offered a low cost 200MB/month data plan option (as in this TidBITS article). It is a relatively cheap way to buy a subsidized phone -- $10/month for the voice, $15 for the iMessage-only data plan, low total cost of ownership. We did it 2 years ago before we switched #1 and #2 to H2O Wireless ($40/year, no data). That contract is up now and #3 is going to join her brothers in ultra-low-cost paygo land. Her 4S will need WiFi for data.

So it's easy to run through that plan. Except it shouldn't have happened so quickly. Take a look at the cellular settings for data in iOS 7 (see Update, wish I'd been more careful to include lower range in my screenshot):

Notice there's nothing there for Video or Movie? That's because iOS 7 isn't supposed to download movies from iCloud over a cellular connection. I tried on my 5s -- nope, not allowed.

But when I ran out to look at her phone I found she'd downloaded a 1.5 GB movie via cellular data. That shouldn't be possible, but there was a bug like this in iOS 6. (Note before iOS 7 this couldn't happen, a movie was either on the phone or unavailable.)

I think she started downloading the movie over WiFi, from the car in our driveway, at the very limit of our household WiFi. As she drove away her phone switched to LTE ... but the download continued.

It's just a theory -- but I'm betting that's what bit us...

See also

Update 11/29/2013: After writing the post below I found I could start streaming an iCloud movie on WiFi, then walk away from home until the WiFi died, and iOS 7 will continue streaming it over LTE. Which it's not supposed to allow. That's how my daughter ran up her bill.

Update 11/30/2013: This is getting weirder. In an app.net discussion @sirshannon sent me a screenshot with Videos as a cellular data option. I looked at my phone and there it was. I figured I was just demented, but @wickedgood sent a screenshot without the option and Emily doesn't have it on her phone ... yet ...

 IMG 2653

It's possible that AT&T is making network changes that enabled both my daughters download and, belatedly, this option. Or perhaps they've changed carrier settings -- though I thought that required a user action.

In the modern world, sometimes we're crazy and sometimes it's just reality flux.

Update 11/30/2013 b: Sure enough, this morning my daughter's phone also has the Cellular data control for Video.app (controls grayed out here as her cellular data is currently disabled).

Bimage

She didn't have it last night, which was easy to tell as she has so few data using apps. I've since turned all but Mail.app off.

Update 11/30/2013c: Later in the day I was able to inspect the 3rd iPhone on our family plan. Emily's phone still does not have the Videos.app cellular data setting. Studying her phone I realized Apple had put some of its Cellular data controls in one settings menu (Cellular) and others in the iTunes & App Store menu (and some in both). At that point I had to laugh. These screen shots are worth a look...

First - no Videos.app control. I tried a few tricks  that might "bring it on", including a power cycle, but nothing worked. I suspect it will appear tomorrow though.

IMG 2653 2

Notice in her iTunes & App Store settings there's a special message. Her iPhone didn't, for some reason, see Cloud media, it's not fully associated with iTunes. I turned on automatic download for iBooks and, as you'll see below this message disappeared.

IMG 2654 1

Take a look at these two screenshots from the iTunes and App Store config. There's an option to show or hide Videos that are in the cloud. That makes sense, but why the heck did Apple put a Cellular Data setting here?!

IMG 2657

IMG 2658

I tried downloading a movie from after disabling wifi (so this isn't yesterday's test, where I started the download on wifi then walked out of range) - 

IMG 2656

As expected. I'll check again tomorrow and report when her phone gains the Videos.app cellular data control.

What a mess.

 

 

 

Thursday, November 28, 2013

Configuring an EnGenius Technologies Long Range 11n 2.4GHz Wireless Bridge/Access Point (ENH202): Computers & Accessories

A buddy of mine decided he wanted a bridged connection to my home network. With a bit of input from me he settled on the EnGenius Technologies Long Range 11n 2.4GHz Wireless Bridge/Access Point (ENH202) ($90/each for two devices). It took a couple of tries, but we were able to configure a point-to-point bridge connection.

The reason this took a couple of tries is that the EnGenius comes with the worst documentation of any device I've ever seen. It's not the usual problem of limited documentation -- there's lots of documentation. Problem is, it's all incomplete and/or contradictory. Unsurprisingly, so is the firmware for these devices. This feels like its made in China 2013 for China 2013. It doesn't feel cheap though, it feels pretty solid -- made to survive outdoors. Go figure.

Oh! And the first set we ordered both shipped without the inline adapter for the Power Over Ethernet connection. We reordered and got the adapters. Yeah, a mess.

The documentation and hardware confusion has to be at least partly related to feature creep. This device is supposed to connect offices or remote billboards over 1 km point-to-point connection, but it does several different things:

  • Access Point connected to Router/Net
  • Client Bridge remote (IP Based)
  • WDS Access Point
  • WDS Bridge Mode MAC Based Network
We device ships with a 1 page setup page that gives some documentation clues, but most of the documentation is on a mini-CD that requires an old-fashioned spindle drive. We ended up configuring the devices as a WDS MAC based bridge (connection is based on MAC address, not IP address) relying on two documents:

I suspect WDS MAC mode is not the 'safest' way to configure these devices. Not only is it almost undocumented (despite all the documentation), but the link quality lights don't work in WDS mode and the UI is rough and inconsistent. For example, sometimes saving a change restarts the ENH202, other times you have to find the Save/Restart menu item and explicitly save changes, and for password changes, it's not quite clear when and how it saves a change.

If you decide to try MAC based WDS bridge (can include up to 4 devices connecting to each other) the sequence is somethign like this:

  1. Starting from the default IP address, manually assign each device an IP address that will work with their network destination (when configured as Bridge both will we on the same network, for us we used 192.168.0.100 and 192.168.101 with subnet mask 255.255.255.0. (Usual procedures with changing IP of configuring computer, etc).
  2. Name devices so you can tell which is which.
  3. Learn MAC (ethernet) address of each device. Disregard what's printed on a sticker -- it was completely wrong. Use the web config UI.
  4. In the WDS Link Setting Screen enter MAC address of remote device (on each device).
  5. Optional: We set devices to 802.11n only, specify matching channel (band within n range), etc.
  6. Test link.
  7. Add encryption.
  8. Add device password

Given that the link quality lights work in Client Bridge, but not in WDS Bridge mode, and given the poor quality of the WDS Bridge documentation, I suspect this device works better in Client Bridge mode (IP based connection)

Once we had it working the  WDS Link Status screen gave us a receiving signal strength of RSSI dBm -74. Wikipedia put that in context for units of dBm:

  • 80: FM radio 50km range (output)
  • 33: Maximum output from a UMTS/3G mobile phone (Power class 1)
  • 30: Typical RF leakage from a microwave oven
  • 31: Maximum output from a UMTS/3G mobile phone (Power class 4)
  • 15: Wireless LAN transmission power in laptops.
  • 0: Bluetooth standard 1m range (output)
  • -10:  maximum received signal power (−10 to −30 dBm) of wireless network
  • -80 dBM: typical range of wfi received signal power (range is -70 to -90)
  • -127: Typical received signal power from a GPS satellite
  • - 140; Received signal for LTE phone
  • - 192: thermal noise floor 1Hz bandwidth space

So for a WiFi received signal we're not too badly off (our homes are close). We could have boosted power further but so far throughput is limited by my 8-10 mpbps DSL connection.

Friday, November 15, 2013

Trello - an orientation review

[This post was first written in 2013 and then revised in April 2016.]

When Emily said she was interested in Trello, on a day when I was at home tending to a recovering child, I leapt at it. She's done a fantastic job with Google Calendar, but she'd never found a task/project app she liked. Indeed, she has a bit of an allergy to them. Trello, it turns out, has a certain arts and crafts following.

That's a bit surprising, as I know Trello as a corporate-focused project and work management tool from Joel Spolsky's geek-loved Fog Creek software. It never occurred to me that Emily might like it.

I've used a number of Task and Project tools myself; particularly a combination of Appigo's ToDo.app and the weirdly named ToodleDo web service [1], but Trello is a bit of an odd duck. So I put together these quick notes for myself - it's a geeky introduction to Trello.

Service properties and revenue model

Trello uses a freemium web model with Android and iOS apps. It is easy to cancel the service and it passed Gordon's Laws for Software and Service Acquisition. You can use Google authorization or a local account. Google access requests are Contacts only - which is plausible.

Revenue comes from corporate sales, corporate buyers pay $200/year for  admin tools, access restrictions, bulk JSON export, Google Apps org directory integration. Non-paying customers presumably encourage corporate adoption. They've added a $5/month option for "stickers" -- if they made this $20/year I'd pay just to support them. I worry about their revenue and longevity.

How Trello is put together

Cards are the equivalent of Tasks in Toodledo or ToDo.app and they are the essence of Trello. Not all of Trellow web features are available on the iOS app, but most are. Here's how Trello works:

  • Organization: A collection of Members and of Boards. Organizations are optional, you can ignore this.
  • Board: A named collection of Lists. Boards do not have dates but they are a good match for Projects especially if there's a collaborator. You need at least one Board.
    • type: individual or organization
    • membership (for org)
    • visibility: public/private for individual, for org is member only/org wide
  • List: A ranked collection of Cards. Lists do NOT have dates. You can move cards between lists. A typical use of a List is state tracking - To Do, Doing, Done. Can also use a List to hold notes, ideas, etc (but I'd use Simplenote for that).
  • Card: A task or, if you prefer, a lightweight project. Has a Name, a single Due Date/Time, Assigned person and... 
    • Description
    • Label - color icon (example, priority)
    • Checklists  - these items don’t have a due date or a responsible person.
    • Attachments - photo/video on iOS, on web can be Google Drive, Dropbox, Computer
    • Subscribe option
    • Comments (@ for autocomplete members)
    • Activity record (read only)
    • Links (can reference a card)
    • Card’s don’t have a done or completed attribute. That’s a problem (see below).

Lists, Cards and Boards can be copied, so you can set them up as a template. Lists enable bulk operations on cards such as archive all and move all. Cards and Lists can be moved within the hierarchy.

Trello has "Power-Ups" that do things like Display Cards in Calendar format. The Calendar works well and it allows drag and drop between dates. The Calendar is supposed to have a feed that can be subscribed to from Google Calendar, but it didn’t work when I tried it. [Update 2016.04: The Calendar feed works well now, I use it to integrate project work into Google Calendar.]

Comparison of Trello to a traditional Task app:

ToDo.app/ToodledoTrello
List/Project Board
Completed (Yes/No) List (state)
Task Card (but no done status [2])

Keyboard Shortcuts

  • D: card date picker
  • L#: Card Label (ex: urgent, etc)

Teams and Boards

If you’re using free Trello then you want to have a single Trello account for each Person — Trello.app for iOS doesn’t support identity switching. A Person (Trello account/profile) can be a member of multiple Teams. Each team can have multiple Boards, but a Board has only one Team. A single Trello account (Person) can be associated with multiple Google IDs.

So the relationship between a Person and a Board is controlled by their Team membership. In Trello web or iOS one changes Teams to see Boards that are Team specific. (This is more clear in the app than in the web version.)

Example of Trello Lists to organize Cards

These Lists resemble states in ToodleDo. I'd personally use Labels to indicate importance rather than create a List and the use of lists to reflect a schedule seems odd...

It's interesting that these two are using Lists to organize by Time instead of moving Cards around the Calendar or assigning Dates. Their organization can be summarized as:
  • Inbox: Cards that are new, not yet sorted
  • Scheduled/Active: Today, This Week, Later
  • Blocked/Waiting
  • Done (which is archived)
I’ve done Trello with a list for an Agile backlog and a list for each iteration of a release. I’ve also implemented it with a backlog, an active list and a ‘done’ list.
 
The one big problem with Trello - no Done status
I like products that strongly represent a coherent philosophy of a willful developer. The downside of these products is said dev can dig their heels in and stick with a dumb decision. That’s how I account for absence of a “Done” status for Cards.
 
Instead of “Done” you are supposed to Archive the card. That would be ok if the Archive were a special list in which Due Dates didn’t make Cards turn radioactive, but the Archive UI is buried away. You can’t see the course of a project if you use Archive. (See workarounds.)
 
If you don’t use Archive you can use “Done” list to hold completed Cards. Or you can keep them in place and use a Label or other attribute to indicate Done; but if you don’t remove the Due Date the Card will become radioactive when it’s post-due.
 
A lesser problem with Trello - no local backup, no export
At least in the free version you can’t create a local XML backup of a Board, and you can’t create any local archive store representing project history.
 
Impression
 
Emily has used Trello as a basic task manager. In April 2016 I started using it for my work and personal projects and I rewrote this review. I’m not satisfied with any project management tool I’ve seen, but Trello is my choice at this time. 
 
Trello is far less complex/powerful that RallyDev’s Rally project management tool. That’s not all bad though — Rally got very complex and hard to use over the years. Trello is a better tool for personal and small team projects. It doesn’t support assigning Card Checklist Items to individual persons, but that’s not a big issue. The user name can always be added to the checklist item.
 
I’d like to see an improved version of Trello that would be less costly than the business version. That version should fix the weird lack of a “Done” behavior and it should allow one to backup Boards locally and export a PDF archival record of Board content.
 
- fn -
[1] Nobody would combine those two — that was a historic accident. I later moved entirely to Appigo ToDo Cloud.app. ToDo Cloud has project management features that are almost good enough, but I ultimately decided to keep those for smaller mini-projects and use Trello instead. Appigo has a similar problem with archived/old tasks and longitudinal project records.

Change in iOS 7 Messages.app (iMessage) behavior causes silent messaging failure for SMS recipients

An iOS 7 change to Messages.app's iMessage behavior is a real problem for us. It strikes iMessage users who have intermittent iPhone network access, in our case it's the kids on the $40/year H2O wireless voice/text plan (no data). i'm not sure if it's a bug or a feature or both a bug AND a feature.
 
The problem is my iPhone believes #1 is an iMessage user -- perhaps because he is when he's on a WiFi network, or perhaps because he has an iCloud address. In iOS 6 I believe (can't verify) Messages.app managed the on/off network problem this way:
  • if SMS received, reply with SMS
  • if use iMessage and it fails, send as SMS
In iOS 7 Message.app I'm seeing
  • if SMS received, but prior history of iMessage, reply with iMessage
  • iMessage doesn't show a 'read' (delivered) message, but neither does it show a fail message. Message is NOT resent as SMS
The trick in today's Message.app is to watch for the 'read' indicator -- or to force an SMS resend immediately if you know the sender doesn't have a net connection. Force a SMS resend by tap and hold on the blue  iMessage, then choose send as text. The message turns green (Text/SMS).
 
If this is a bug, I suspect the problem is with recognizing an iMessage failure.
 
This problem, by the way, contributed to a parent-kid fight about 'ignored' messages. It's worth knowing about.

Thursday, November 07, 2013

The weirdly under-appreciated power of Microsoft Access - Saved queries behave like Oracle Views.

It was only when I was recently forced to explore SQL subqueries (there's a reason people invented functions and even Entity SQL) that I realized why Microsoft Access [1] is so much more powerful than, say, SQL Management Studio.

Yeah, you can access lots of diverse data sources, do (except, weirdly, for unions) ANSI SQL with an excellent GUI tool, store data locally, etc etc.

That's good, but the weird power is that Access treats queries as though they were views. It's trivial to do deeply nested subqueries, create libraries of modular queries, etc.

Except I must be missing something, because this is too obviously useful...

[1] Old, weird, creaky, infested, bizarre, baroque Microsoft Access, whose useful bits have changed very little in the past 16 years and which is a Frankenstein of every Microsoft technology since 1990.