Page 1 of 712345...Last »

Tue, 9 May 2017

This too shall pass

— SjG @ 9:49 pm

Back in October of 2015, I started writing the following, and never finished or published it:

I upgraded the Mac to Yosemite a year or so ago. Yesterday, I wanted to do some development on a project that I’d been idly thinking about. Unfortunately, it required a dependency in a package I’d installed via Mac Ports. I tried to upgrade it, but got an error that I was compiling for the wrong Darwin version. This means I haven’t actually updated any of my Ports since upgrading to Yosemite! For shame.

Rather than fix Mac Ports for Yosemite, and then again when I upgrade to El Capitan, I decided it was time to do that upgrade and then fix it. I also thought … hey, there’re all these neat new container technologies and configuration tools. Maybe I should look into some of those, and save myself the agony next time around.

So I dove into some articles, and pretty soon had become a seething mass of quivering rage.

To set up my environment in Docker, I need Docker, and a VM. I could set it up using Vagrant, or, as some people recommend, Vagrant running Chef or Solo. Then, of course, I need to set up some replacement for vboxsf so I can access my files in the Virtual environment. Each of these requires its own configuration, of course.

Today, I was struggling with something similar. I’m building an iOS app. Years ago, I’d built a few native iOS apps, but I’ve forgotten everything I ever knew about Objective C, and I don’t know Swift. Plus, I need to publish for Android too. So, six months ago, when I started this process, I decided I’d be using Ionic Framework. It had the advantage that it was based on AngularJS, and I’ve done some work in Angular.

Now that I’m starting, I discover that Ionic 2 is the way to go — oh wait, not Ionic 3 was just released! And my AngularJS experience is ancient v1.2.x, knowledge which is largely obsolete. I’d be learning Angular 2 — no, we’re up to Angular 4 now — so better get cracking on that.

I remember, many, many years ago, how excited I was was there was a new version of Windows. I couldn’t wait to get all those 3.5″ floppies home so I could upgrade my machine to the latest and greatest. Now, I dread each year when a new version of Mac OS comes out, and I need to upgrade and track down all the things that broke, and rebuild my ports and and and… Not to mention when I installed a recent Linux on a VM to host some sites, and discovered to my chagrin that systemd has replaced all manner of things Unixy that I’ve been doing mostly-the-same for thirty years.

Well shit. There it is. I’ve become the grumpy old software guy. “Why are they changing things? Why can’t they just leave them alone?” The fact is, some of these changes are indisputably improvements. But so many of them seem to be changes for the sake of change. We have to have “new, improved!” all the time, even if it’s just changing the syntax (why, oh why, is *ngFor so much better than ng-repeat !?).

Part of this is struggling with obsolescence in general. It’s hard being middle-aged in tech. You can’t help seeing that look in the eyes of the youngsters: that old guy is so backwards. But it goes beyond that. My neighborhood is changing around me. Younger families are moving in, and suddenly I’m that guy who’s been in the neighborhood for a long time. I find myself navigating by past landmarks — it’s across from the Burger King, er, those condos, right by the Foster’s Freeze, er, Dunkin’ Donuts. The world is changing around me rapidly. The political world I grew up in has shifted. Every year, I see more obituaries for people I know, or whose names I know. Things that were true when I was a child are no longer true.

I have vague memories of hearing these thoughts expressed when I was younger by people I thought were old. I didn’t understand them then. I’m beginning to understand them now.

I just have to remind myself that change is constant, and not all bad. When I was a kid, there were no known exoplanets. When I was in my twenties, I’d come home from a night out, and I’d be stinking of second-hand cigarette smoke. We had to struggle with card catalogs to find books in the library. When trying to reach my friends, I’d have to leave messages on their home answering machines, and I’d have to call from a pay phone where I’d enter in a multidigit phone card number. If you were interested in obscure music or books, you’d have to read tiny ads in the back of magazines to track down sources or information. LGBQT people were all but invisible, and same-sex marriage was barely even in the realm of speculative fiction.

So, that being said, I’d like change to slow down a bit. Could I please just finish a project before all the constituent languages, libraries, and frameworks have a major version increment?

Mon, 16 Jan 2017

Slow Reality TV

— SjG @ 10:45 am

In the garden, we have a variety of highly aggressive, imperialistic vines that compete for space.

In one hotly-contested piece of real estate, have creeping fig (Ficus pumila), pink jasmine (Jasminium polyanthum), asparagus fern (I think we have both Asparagus setaceus and Asparagus aethiopicus), fo ti (Fallopia multiflora), and red trumpet vine (Campsis radicans). The soil there is just a solid mat of roots and runners.

I propose a very very slow reality TV series. We get a big pentagon of fertile soil, light it evenly from all sides, water it gently on a regular basis, and plant one of of these vines in each corner. After a few years, we’ll see which is the victorious species!

Filed in:

Wed, 10 Feb 2016


— SjG @ 5:16 pm

William Shakespeare and Miguel de Cervantes died on the same date: April 23, 1616. However, Shakespeare outlived Cervantes by 10 days.

Wait, what!?

It’s true. The discrepancy is an artifact of Spain being on the Gregorian Calendar at the time, and England being on the Julian Calendar.

Filed in:

Mon, 27 Jul 2015

Reactivating an iPhone

— SjG @ 6:34 pm

I upgraded my trusty iPhone 5 to an iPhone 6 back in December. I’ve used the old iPhone as a camera for doing some timelapse work, as a geocaching GPS and Ladybug recorder when taking my nephew on a Lost Ladybug expedition, and as a music player to drive a bluetooth speaker in my office. Now that my Mom is tentatively considering entering the world of smart phones, I thought I’d get it re-provisioned so she could try it and see if she likes it before springing for a bigger / newer phone.

Now, one of the great things about the iPhone 5 (as opposed to earlier generations) is that it has multiple radios in it, and supports multiple carriers. This particular phone is unlocked, and was used successfully in India with a Telestial India Airtel SIM card, and in several areas in the US with various other third-party GSM SIM cards on AT&T’s network.

When Mom’s hiking, her AT&T coverage drops out with her current phone. My Sprint coverage in the mountains is spotty at best, so a process of elimination led me to think it would be a good idea to switch the phone over to Verizon. The internet assured me that this was possible, beginning with the iPhone 5. Thus begins Act I.


Reactivating an iPhone, a Tragicomedy in 7 Acts
In which the author wastes over six hours in various retail establishments to get an unlocked phone active with a month-to-month plan.

Act I. The Verizon Store. The first tech looked at me dubiously. “You can’t use a Sprint phone on Verizon,” she said. “It’s unlocked,” I assured her. After recounting the litany of networks above, her suspicion increased. “You sure you weren’t just roaming on other networks?” she asked. Once I had sufficiently convinced her that I had swapped SIMs, she was willing to give it a try. She warned me that she hadn’t seem much success in moving iPhones from Sprint, even when unlocked, due to a “Verizon block.” Being prudent, she tried to use one of the store’s demo SIMs. After half an hour of resetting carrier settings and various other things, the best we could get was an “Invalid SIM” error. “See?” she asked me.

Act II. Another Verizon Store. I had tested my phone’s IMEI on Verizon’s compatibility check, and it said I was good. So I went to another Verizon store, armed with this information, and tried again. This time, I was signed up for an account, assured that it would be simple, given a SIM, and had my credit card charged all between sessions where the technician froze, spellbound by the Mexico/Panama football game on the big TV. But it didn’t work. We got “Invalid SIM” errors. It turns out there is some mysterious Verizon block, after all, even if Sprint considers the phone unlocked. “No problem,” he told me. “We can get you into a free iPhone on a month-to-month plan.” I was skeptical and amazed, but said OK. When it came time to sign on the dotted line, the box I was handed was a Galaxy S4. I made it clear I needed an iPhone. “OK, I can’t get that for free, but I can get you that for $100.” Still skeptical, I again said I’d try it. This time, I was presented an iPhone 5c, a $100 activation fee, $150 in various other up-front fees, and a 2-year contract. At this point, I got my original charge refunded, and left.

Act III. Screw it, thought I. I’ll just keep it on Sprint. If Mom likes it, we can switch networks later when she upgrades. I went to the Sprint store. “No problem,” they said. “We’ll just add it to your existing account as an extra line; it’ll be cheap and easy.” But then they noticed there was no SIM. Somewhere in the long history, the original Sprint SIM had gone missing. If I had known the pain this would engender, I would have given up then and there, and just bought a new goddamn phone. But it seemed no problem. They had a SIM card from an iPhone 6 that someone had returned, we’d just use that. The tech and I had long conversations about travel, Boston, work, school, and such things while she went through the endless steps to provision and reprovision the phone. After a few popups about SIM failure, it seemed to work. I could call to and from the phone! Victory!

Act IV. The phone, sitting on the charger, showed a popup saying “SIM has been locked” and the carrier header said “SIM Fail.” I power cycled the phone, and hey presto! It was back on Sprint. I tried, just for kicks, to bring up the web browser. Immediately, I got a “Data access denied” error, followed rapidly by the “SIM has been locked” and “SIM Fail” notices. Power cycling brought it back. And then the fail cycle happened again.

Act V. Back at the Sprint store. “Sorry, the iPhone 6 SIM must not be compatible. Better to go the Apple store and get an iPhone 5 SIM.”

Act VI. At the Apple store. “Sorry, we’re out of nano SIMs. We don’t have any for the iPhone 5.” but I looked over the shoulder of the tech, and saw numerous SIMs listed. “What about those?” I asked, pointing. The tech went off to talk to another tech. She soon returned. “OK, we have a floater phone, and we’ll use that SIM.” So eventually someone brought over a card with the SIM, and the tech spent a long and frustrating session on the phone with Sprint trying to get the SIM activated. Eventually, this was successful. Strangely, the phone would connect to the network, get three bars, then drop to a single bar and lose 3G and display the “1x extended” data plan. “We have awful Sprint coverage here,” said the tech. I looked at my other phone, at it had three bars. “It may also be that they haven’t activated it yet,” she said. In the settings, we confirmed that it displayed the correct phone number. “I’ll try calling it,” I said. Nothing happened. We power cycled the phone. The phone number in the settings now read “0007423.” The tech said “Well, either your phone is broken, or you need to wait for the activation to go through.” When I asked how it could be broken, she shrugged. “You said yourself that you didn’t use it as a phone for a few months,” was her best answer.

Act VII. At the Sprint Store. I recounted Act VI to the tech. He looked up the SIM in his database, and scowled. “No way, dude, that SIM’s not compatible.” I handed him the iPhone 6 SIM the other Sprint store had given me. The process repeated. “No way,” he said. “Not compatible.” Where could I get a compatible SIM? His advice was to go to a Sprint repair center, where they have more supplies, since the retail stores don’t carry extras. As I was about to leave, he said “wait! Someone returned an iPhone 5 not too long ago. Let me see if it’s still back there, and if it had a Sprint SIM in it.” Wonder of wonders, it was and it did! After a mere ten minutes of typing into the mysterious terminal, it came up. I could call it from another phone, and it could call another phone. It connected to data services with LTE!

Exuent Samuel, cackling with glee.

Mon, 20 Jul 2015


— SjG @ 7:37 pm

Nervously, Renny “The Cart” Cartesius stood in an ill-fitting uniform before the throng of federal agents, police, and bystanders. To his chagrin, he noticed that “Blazin'” Pascal was in the crowd, and was staring intently with a look of puzzled half-recognition — and then Pascal’s face lit up as he saw through the imperfect disguise.

Knowing that his cover was about to be blown, The Cart took a calculated risk. Hissing them quietly under his breath, he spoke the immortal words: “incognito ergo schtumm!”

Page 1 of 712345...Last »