\geek

2020.07.22The Pet Contest (UPDATED)

D Magazine's Cutest Pet Contest Finalist

 

A couple of months ago, my wife learned that D Magazine — a magazine promoting the City of Dallas — was having contest to determine the cutest pet.

The rules were simple enough: voting was open to the public, and the public was encouraged to vote as often as it wanted for the pets in the contest. That is, there was no limitation on voting, and voting was as easy as clicking a button.

So I wondered, given these rules, if I could develop software that would do the voting for us: something I could run that would visit the link that was the destination of the button click, but do it in a way that wouldn't create problems for other users — no denial of service or anything like that. Something that could run inside of a loop and just click, but would also look like a browser to the server, so the server would have data available to collect.

Over time, the project grew more and more mature. It really wasn't about my dog at all — it was about learning something new, and adding more features as I learned more about developing in Windows Forms: I wanted this to be a desktop application, something outside of my comfort zone. And honestly, I hadn't built anything in Windows Forms since maybe just after high school.

As the project matured, I thought a lot about the pace at which the application operated. I decided to introduce a slow mode to really pump the brakes and run at a pace of one click per minute over several hours. Steady clicks at a rate that should not interfere with any other traffic. Slow and steady would win the race for us — slow enough, in fact, that I even "wired in" sounds so I could run the software minimized and hear a short beep each time a click was performed.

I also had the software output to a text file as an option, so one could see the incoming status messages from the server. Shorter runs produced shorter logs.

One big breakthrough was in learning how to create menus. It made the app look so much nicer than the simple tabbed interface I'd originally used.

I found that 8-hour runs of 500 clicks at 1 per minute was the sweet spot.

I probably went a little over the top near the end of development, when I added web services. Two calls: one to report the parameters at instantiation, and another made intermittently to update the current click count. Using the web services, I could monitor the run without having to visit my computer; I could do it right from a browser on my mobile device. The first here: implementing web services on a desktop app.

This was never about the contest. My dog isn't really very cute. I don't care about having a professional photoshoot. He's a little pizza-stealing asshole who glues himself to me whenever it rains. He's not pretty. But we do love him, and he loves us so much. No, our good boi is simply a beneficiary of the development — development simply done to satisfy my curiosity.

(Even if it was about the contest, there was nothing stopping the other 999 participants from building their own click machines too.)

The contest has two parts: the popular vote and the judging. How are we doing? well...

He made it into the top 20!

D Magazine notified us today that pup is a finalist, and their art department made us the faux magazine cover. For me, this is enough. Really. If there were no judges involved, and the prize was awarded solely on the popular vote, I would explain things and insist the prize go to the next popular pet. I wouldn't feel right about that. But because there are judges, that tells me there's more afoot here than just clicks.

(Besides, I feel pretty comfortable that he's not the cutest in Dallas. I mean, look at him.)

UPDATE:
I'm thrilled to report that we didn't win!!!

Our good boi placed in the top 20, and that was pretty amazing, I think. I'm really glad we didn't win, though, because I think I would have felt awful had we won based largely on a program I wrote. It wouldn't sit well; I would have asked them to choose another winner... even though the rules did not prohibit his particular path to victory.



Link to this

 

2020.06.27Windows Won't Update my Dell Machine

 

Late last year I bought a Lenovo laptop to replace my Dell Inspiron 13 laptop. I've loved that Dell — it's the perfect size, with an i7 processor -- but I figured out later its motherboard could only support 8GB RAM.

Over the past 18 months or so, the machine has been... slipping... with occasional "senior moments" between running the BIOS and booting into the OS. It's why I started looking for a replacement. I couldn't believe my luck when I found this ThinkPad at a crazy low price on Lenovo's Black Friday Weekend sale.

So here we are, about six months on. I use both laptops, side by side — the older one I use for work; the newer I use for fun. I've kept them both updated, and have marvelled at the speed at which my new machine (goosed with 24GB RAM) installs updates. The older one takes so much longer.

Last week (I think) I installed the new Windows 10 version 2004 on the new machine. With an update as large as that one, I figured I'd better hold off on installing it on the Dell.

Today I tried installing the update, but Microsoft wouldn't let me — Instead, I was shown a "learn more" link that reads as follows:

Windows 10, version 2004 is available for users with devices running Windows 10, versions 1903 and 1909, who manually seek to "Check for updates" via Windows Update. We are continuing our phased approach on initial availability, as we listen, learn, and adjust. Today [as of June 16, 2020] were are slowly beginning the training of our machine learning (ML) based process used to intelligently select and automatically update devices approaching end of service.
Clicking more links, I found this on a Microsoft blog:
You may not see Download and Install on your device as we are slowly throttling up this availability over the coming weeks, or your device might have a compatibility issue for which a safeguard hold is in place until we are confident you will have a good update experience.

I'm pretty sure I bought the machine at Best Buy in mid-March, 2015. So the machine is over 5 years old, and it had been running Windows 10 version 1909 just fine... what the Hell, Microsoft?

I guess they're saying either there's something about my Dell that 2004 won't yet run smoothly on, or they're saying my Dell is old.



Link to this

 

2020.06.24The Pet Contest

D Magazine's Cutest Pet Contest Finalist

 

A couple of months ago, my wife learned that D Magazine — a magazine promoting the City of Dallas — was having contest to determine the cutest pet.

The rules were simple enough: voting was open to the public, and the public was encouraged to vote as often as it wanted for the pets in the contest. That is, there was no limitation on voting, and voting was as easy as clicking a button.

So I wondered, given these rules, if I could develop software that would do the voting for us: something I could run that would visit the link that was the destination of the button click, but do it in a way that wouldn't create problems for other users — no denial of service or anything like that. Something that could run inside of a loop and just click, but would also look like a browser to the server, so the server would have data available to collect.

Over time, the project grew more and more mature. It really wasn't about my dog at all — it was about learning something new, and adding more features as I learned more about developing in Windows Forms: I wanted this to be a desktop application, something outside of my comfort zone. And honestly, I hadn't built anything in Windows Forms since maybe just after high school.

As the project matured, I thought a lot about the pace at which the application operated. I decided to introduce a slow mode to really pump the brakes and run at a pace of one click per minute over several hours. Steady clicks at a rate that should not interfere with any other traffic. Slow and steady would win the race for us — slow enough, in fact, that I even "wired in" sounds so I could run the software minimized and hear a short beep each time a click was performed.

I also had the software output to a text file as an option, so one could see the incoming status messages from the server. Shorter runs produced shorter logs.

One big breakthrough was in learning how to create menus. It made the app look so much nicer than the simple tabbed interface I'd originally used.

I found that 8-hour runs of 500 clicks at 1 per minute was the sweet spot.

I probably went a little over the top near the end of development, when I added web services. Two calls: one to report the parameters at instantiation, and another made intermittently to update the current click count. Using the web services, I could monitor the run without having to visit my computer; I could do it right from a browser on my mobile device. The first here: implementing web services on a desktop app.

This was never about the contest. My dog isn't really very cute. I don't care about having a professional photoshoot. He's a little pizza-stealing asshole who glues himself to me whenever it rains. He's not pretty. But we do love him, and he loves us so much. No, our good boi is simply a beneficiary of the development — development simply done to satisfy my curiosity.

(Even if it was about the contest, there was nothing stopping the other 999 participants from building their own click machines too.)

The contest has two parts: the popular vote and the judging. How are we doing? well...

He made it into the top 20!

D Magazine notified us today that pup is a finalist, and their art department made us the faux magazine cover. For me, this is enough. Really. If there were no judges involved, and the prize was awarded solely on the popular vote, I would explain things and insist the prize go to the next popular pet. I wouldn't feel right about that. But because there are judges, that tells me there's more afoot here than just clicks.

(Besides, I feel pretty comfortable that he's not the cutest in Dallas. I mean, look at him.)



Link to this

 

2020.04.07NJ Needs COBOL Programmers

image of a laptop

 

When I was working for the university, I was in a department that was split between web programmers and mainframe programmers. The mainframe folks were all approaching retirement — I mean like they had months to go before getting their full medical — many having joined the staff as punch card operators way back in the day.

After a couple of years, the U decided it was dumping the mainframes and moving forward with Java. All of the mainframers were given the option of learning Java or retirement. Suddenly retirements were happening left and right.

I'm reminded of all of this because the Stte of New Jersey put out a plea for COBOL programmers to support the state's 40 year-old unemployment insurance system. That system is run on mainframes which run the 60+ year old computer language. New Jersey is looking for volunteers.



Link to this

 

2020.03.21CompTIA Server+ Beta (UPDATED)

CompTIA Server+ Certificate

 

COMPTIA asked me to take a survey for candidacy to take their new Server+ exam.

I thought it was weird, but... they asked. So I gave them a link to my LinkedIn page and a copy of my resume, filled out a survey, and sent it off. Maybe I'll end up with a tee shirt.

Would I like another certification? Of course! But I don't want to get my hopes up for anything here. Heck, I don't even know how I'd study if I'm selected.

At least there are more Pearson Vue exam places nearby than I could shake a stick at... no shortage of exam facilities.

UPDATE:

From an email I received from CompTIA on March 2, 2020:

Congratulations, you’ve been selected by CompTIA to participate in the CompTIA Server+ Beta Exam! If you take and pass the CompTIA Server+ SK0-005 Beta exam, you will earn the new certification at no cost, plus CompTIA will pay you $200! Simply complete the beta exam by March 31, 2020.

Then the pandemic hit: public places have closed; restaurants are only available for take out; the stock market went into the toilet, and there's no toilet paper to be found because idiots keep buying it all.

The pandemic had reached the east and west coasts in advance of reaching Texas. On March 17th, Dallas County issued orders which placed an emphasis on "social distancing" — the notion that people need to stay apart so the virus could not spread as easily — including limiting gatherings to 10 people — even social gatherings on private property. With this order, followed by a state of emergency declaration from the governor of Texas, it became clear the testing facility would not be open, and likely would not reopen in time for me to take the exam. Time to find some guidance from CompTIA.

I visit the main help page on the CompTIA website, and it says, in very large font, that all vouchers for currently scheduled exams are now extended throgh the end of June. This would have addressed all of my concerns handily, but I knew the beta was on a deadline, so I chatted in.

Get this (names omitted):

Chat started on 19 Mar 2020, 06:03 PM (GMT+0)
(06:03:05) *** I joined the chat ***
(06:03:05) Me: I was scheduled to participate in the Server+ beta exam. The deadline for scheduling my test was March 31st. Has this deadline also been extended to June 30?
(06:03:18) *** CompTIA Customer Service joined the chat ***
(06:04:30) Customer Service: Good afternoon, I would be happy to assist you.
(06:04:56) Customer Service: Thanks for your interest and intention to take the Server+ SK1-005 beta exam. The beta exam cutoff date is March 31, 2020, and unfortunately, it's not possible to extend this date in order to maintain the exam development schedule. We apologize that not everyone scheduled to take the Server+ beta exam will be able to complete the exam, due to the impact of the COVID-19 (Novel Coronavirus) pandemic.

Cold.

(By the way, it's obvious to me that the customer service rep was copy/pasting a prepared statement. These people do what they're told. The shade I'm throwing here is meant for the Draconian fucksticks who made the shitburger she had to serve. And yes — I changed the font of the response so it could appear as cold and impersonal as it seemed as I received it.)

CompTIA could have approached this differently. Softer messaging would have helped. A lot. Perhaps because their messaging was as cold as it was, I got pissed off: Because CompTIA's guidance to beta testers was to study as though I was taking an actual exam (that's almost a quote), I'd spent $200 on CertMaster practice software (for the previous version of the Server+ exam) to study. I bought it figuring I'd use it to pass the course, and the $200 would cover the cost. Now I wanted that money back.

(06:06:24) Me: Not cool. The state of Texas is under a state of emergency and there's no way the testing center is going to remain open.
(06:06:50) Me: Also, I was counting on the $200 I was going to get paid to cover what I spent on the CertMaster for the exam!
(06:06:56) Me: will I be reimbursed?

More of that amazing bedside manner follows. Reading it in the voice of IG-11 from The Mandalorian might help:

(06:08:24) Customer Service: It's unfortunate that you and others scheduled to take the Server+ beta exam will not be able to complete the exam, due to the impact of the COVID-19 (Novel Coronavirus) pandemic. We appreciate your intention to do so, and we'd like to offer you a complimentary voucher to take the new Server+ SK0-005 exam once it launches (in lieu of the $200 Amazon gift card stipend). Please confirm if you would like to receive a complimentary voucher for the new Server+ SK0-005 exam, and we'll track this ticket and follow up with you when the exam launches. The new Server+ SK0-005 exam is currently targeted to launch in July 2020, but this is subject to change.

WOW.

Let's review. I was taking the exam in the first place because CompTIA asked me to. CompTIA promised a free voucher for taking the exam, plus $200 for passing. So replacing a free thing with another free thing and taking away the $200 thing doesn't seem like a good deal. Even my kid, when she was 4, could do THAT math.

I did pursue the issue of reimbursement, and am waiting on a response. I feel I gave it a good shot, anyway (again, names replaced):

[Customer Service Manager],

CompTIA approached me about taking the Server+ beta. It's not really in my wheelhouse, nor is it really on my training trajectory, but I consider the offer and I'm accepted. CompTIA explains that I should treat the beta as an actual exam, and that I should study for it as I normally would. So I bought the CertMaster course to accomplish that. (Why would I do that? Have you seen the marketing materials?) After the State of Texas makes a declaration about COVID-19, I see a post on the CompTIA help website that says that all exam dates have been pushed out until the end of June. I chat in to be sure, and basically get told to pound sand.

CompTIA asked me to take the beta. I agreed.
CompTIA asked me to study for it like a normal exam. I agreed.
Now I'm out money and time, and CompTIA has taken advantage of my goodwill.
Please make this right, and reimburse me for the expense of the CertMaster training. The Order Number is 719987.



Link to this

 

2020.03.17Hard Wiping Old Hard Drives

My drive wiper rig

I have a bunch of hard drives from tower machines going back years and years. My intention has been to either keep them for the data they have on them, or to wipe them before disposal.

Motivated by my studies for the Server+ exam, I figured I'd finally get serious about looking at the data and wiping them.

In present day, I don't have a tower machine anymore... just my laptops, which use hard drives of a much different form factor than the "bricks" from my old machines. So I knew I'd need a way to access those old drives via a USB connection to my laptop.

After some online research, I decided to buy a unit from Unitek to handle the hardware connection. The device is light and compact — about the size of one's fist. It ships with a AC power cable (to power the device), a small MOLEX power cable to connect to older hard drives, a USB cable for connection to the laptop, and a small CD containing a program for the device's on-demand backup capability, if you care to use the device that way. You'll also find a tiny red instruction booklet on how to use the device. (Yes, of course I read it.)

The second thing I needed was software to handle overwriting the drive with data. I chose Macrorit® Data Wiper for this job. I found the software very easy to use, Windows 10 compatible, plus its available for free for home use. One note I'd offer — Macrorit is a trademark of Bada Technology Co., Ltd. When you install the software, you'll see that Bada name, not Macrorit. I'm very wary about installing software from developers I don't know. Don't let the different name scare you.

The Walkthrough

To save you the trouble, here's how I erased my first drive — an old 300GB Maxtor PATA drive -- using this set-up. I'd recommend you set this up in early evening and let it run overnight.

  1. Install the Data Wiper software on your Windows computer, but don't run it yet.

  2. Set the Unitek device near your computer, plug in the AC adapter, and connect the adapter into a power source. Do not turn the device on yet.

  3. As you're looking at the device from above, with the AC adapter plugged into the top, plug your old hard drive into the female interface on the left side.

  4. Now connect the provided molex cable to the device and to the hard drive.

  5. Connect the provided USB cable to the device and to your computer.

  6. Power the device up. You should see a new drive letter appear in Windows Explorer.

    Hard drive connected to the IDE interface on the Unitek device

  7. When you're ready to wipe the drive, open the Data Wiper software.

  8. Find the drive you connected — if your computer has only one hard drive, that drive should appear as Drive 0, so your old hard drive should appear as Drive 1.

    Hard drive displayed as Drive 1 in the Data Wiper software

  9. To hard wipe the drive, select Entire drive or disk as the Wipe target, then choose how you want to wipe it: I went with DoD 5220.22M as my Security level. These settings are above the partition displays, and to the left of the giant silver "WIPE NOW" button.

  10. When you're ready, click the giant silver "WIPE NOW" button. The software will prompt you a couple of times with "Are you sure?" prompts. I recall it actually made me type the word "WIPE" to start the operation.

    Screenshot taken when the wipe was nearly complete

  11. The wipe will take some time, depending on your computer's capabilities. I used a laptop with 8GB RAM and probably a USB 2.0 port, so the operation was projected to take 12 hours. I'd recommend setting all this up and kicking it off at about 7 PM, so it'll be complete the following morning.

  12. Once the wipe is complete, you'll see the target drive is now shown as uninitialized.

    Drive 1 is wiped!

  13. Turn off the power to the Unitek device.

  14. Carefully remove the molex cable from the hard drive.

  15. Detach the hard drive from the device.

The wipe took about as long as the software had initially expected. The hard drive was warm to the touch during the wiping process, so keep that in mind if you have mobile little ones or pets.



Link to this

 

2020.03.07Computer Power Consumption

image of a laptop

 

Have you ever wondered how much power your PC or laptop consumes? I work on a laptop all day long... how much juice does it pull?

While studying for the CompTIA Server+ exam, I encountered several statistics for use when troubleshooting computer problems:

EQUIPMENTPOWER
MOTHERBOARD30 W
CPU45 W - 150 W
RAM 2GB30 W
OPTICAL DRIVE5 W

Notice the power consumption for RAM is 30 W for every 2GB installed. If you consider a standard laptop ships with 8GB installed, you're talking about power consumption equivalent to two incandescent light bulbs.

Assuming a minimal demand on the CPU, a laptop with 8GB RAM is puling about 200 W — with over half of it being consumed by the RAM.



Link to this

 

2020.02.25CompTIA Server+ Beta

CompTIA Server+ Certificate

 

COMPTIA asked me to take a survey for candidacy to take their new Server+ exam.

I thought it was weird, but... they asked. So I gave them a link to my LinkedIn page and a copy of my resume, filled out a survey, and sent it off. Maybe I'll end up with a tee shirt.

Would I like another certification? Of course! But I don't want to get my hopes up for anything here. Heck, I don't even know how I'd study if I'm selected.

At least there are more Pearson Vue exam places nearby than I could shake a stick at... no shortage of exam facilities.



Link to this

 

2020.02.02CompTIA Recertified!!

CompTIA Security+ce Certificate

 

All done!

Both of my CompTIA certifications have been extended through May, 2023. How cool is that?



Link to this

 

2020.01.31Recertification Time!

CompTIA Security+ce Certificate

 

Three years passes in the blink of an eye.

And jeez what a busy three years it's been. I originally got these certifications because my job required I had at least one. For good measure, I got two — thinking I'd look good for the government contract, but also it could open a path into a cybersecurity career.

I have no complaints about CompTIA's CertMaster CE program. You read over the material and take the assessment. Once you can pass all assessments with 100% correct, you're done with the course and your certification is extended. I thought it would take me much longer than it currently seems to be; I'm over halfway done and I only started the thing two days ago.

Plus, it's a little cheaper than retaking the exam, and you have access to the course materials for a year (if retaking the course way before your certification expires is your thing).



Link to this

 

2019.12.22RAM JAM

Lenovo laptop
 

I'd mentioned before that I was concerned about the ability to expand the RAM in the Lenovo ThinkPad T490. I bought the machine based on the customer support representative's information: (1) that yes, it is expandable and (2) The board will take up to 40GB RAM.

I couldn't surf to Crucial.com fast enough. Found a 16GB stick that appeared reasonably priced, and placed my order.

Ten days had passed when I contacted their customer service. I hadn't received so much as an order number... in the past, my order would have arrived sooner than that.

I got the order number from the chat specialist, and used their online form to check status... it told me my order was out of stock. Through an additional and completely half-assed subsequent customer service interaction over email, I learned they also had no idea when the RAM would be back in stock. WTF?!?! Why did Crucial let me order something that was out of stock with an undetermined arrival date?

Then I ordered from Kingston. It arrived quickly, and the upgrade operation lasted about three minutes. BOOM.

Crucial is not the same company it used to be. I won't buy from them again.



Link to this

 

2019.11.30New Laptop On the Way!

Lenovo laptop
 

I love love love my Dell XPS 13 laptop. It's been quite a nice workhorse. I bought it at Best Buy several years ago, and over time I've learned a few things about it that soured me a bit on the experience — primarily, that I couldn't expand the RAM beyond the 8GB it came with. But with the Intel Core i7 processor, it's still been a very capable machine — capable enough that I would absolutely order another through DELL (with a custom configuration, of course).

That is, I would have purchased another through DELL, if it wasn't for the ThinkPad I was issued by an employer a couple of years ago.

The distracted boyfriend meme 
      image, with the DELL logo over the upset girlfriend's face and the Lenovo logo over
      the attractive girl's face


I was really taken by a few things about the ThinkPad. One, it was amazingly thin. Two, the keys had a nice feel — and that's super important to me. Years ago I had a Toshiba laptop that I regretted buying about a week in because the keys wouldn't give good feedback to my fingers. I had to constantly retype things because it felt like I wasn't striking keys — I was just pounding on a flat surface with my fingers. But the ThinkPad T470s felt good. Three, the ThinkPad had a docking station that allowed me to run multiple monitors from it, and to secure the machine to it. All-in-all, I really enjoyed my experience with that machine. PLUS it was a 14" laptop. A little larger than my personal DELL, but it didn't feel big.

So, for funsies, I started surfing yesterday for Black Friday deals. Not as a serious shopper — just as a curious consumer. I started at Dell, and didn't find anything exciting there. Then I hopped over to Lenovo... where they were selling the T490 — a $1900 machine -- for $749?! What the what?!!

Things got more serious. I reached out to their sales support people to address a single concern: is the RAM expandable beyond the 8GB it ships with? Answer: Yes - the board can handle up to 48GB!!

I couldn't bring myself to pull the trigger on it yesterday. I let it sit in the cart while I was wracked with indecision. Laurel and I have been working very hard on getting debt paid down. To me, this represented a significant detour from our plan, despite my current machine's occasional "senior moments." So, with that, I let it go.

Fast-forward to morning coffee today. Laurel mentioned we now have a little money coming in we weren't expecting — compensation from an auto accent at the start of the year. So she gave me the go-ahead to buy the laptop if I still could.

With a mixture of excitement and guilt, I powered up my Dell and pointed the browser back to the Lenovo site. I was amazed to find they'd extended their sale — and that the T490 was still in my cart at the discounted price!

The new machine should be here this coming week (SQUEEE!!).



Link to this

 

2019.11.29Apple AirPods: REPLACED

Apple AirPods

 

I had to replace my AirPods. RIP set one, November 2019. I replaced them because one of the pods' batteries wouldn't hold a charge for more than about a half hour.

If you look at one of the ear pieces, you'll notice there are basically two sections - the part that goes in your ear, and the part that hangs out of the ear pointing downward. Apparently, the latter part houses a long, thin battery. After two years, this one piece simply couldn't carry on.

My new pair are perhaps of a later generation, or later model. The case surely is, anyway — it can charge by sitting on a pad or by inserting the proper cable.

Finally, A check of my battery life after 10 minutes of playing music showed a decrease of 3%; extrapolating, that means an hour of playtime should drop the batteries by about 18%, meaning I ought to have about five and a half hours of playtime before the new AirPods require recharging.



Link to this

 

2019.11.09"Keyboard Cat"

Charlie Schmidt's Keyboard Cat

Sometimes I forget to engage my PawSense software, and the cat gets one over on me. The other day I came home from lunch and found she had renamed one of my Outlook folders with an extraordinarily long string of the letter "P", plus the magification on the active window was set so high I could see a few giant letters and the window close button.

Of course this led me to consider other solutions.

I use — and adore — the Microsoft Sculpt ergonomic keyboard. It uses a wireless transceiver to communicate with my laptop. The transceiver is a teeny tiny USB dongle. I briefly considered simply unplugging it and putting it in my pocket when I leave my desk for long periods, but the unit is so tiny that it could easily fall out of my pocket when, say, getting my keys out or something, and I'd never know it. Plus, the transceiver and keyboard are paired by some means below the software level; one can't just buy a replacement transceiver and pair it to the keyboard. So any solution involving arresting the keyboard must exclude removal of the device.

Why not just lock my keyboard? Doing that engages the screen saver or background, too. Certainly a very good idea — good enough to be SOP at an office where prying eyes are about. But I'm working from home, and want to leave certain communication software up and visible. I know how nitpicky this is. But not everybody uses only one machine or one location for everything.

My ideal answer came in the form of a USB hub my daughter had bought from Amazon. Made by a company called Sabrent, it is a four-port USB hub with the added feature of a button above each port.  Push the button in to engage the port beneath it. This allows me to disconnect the transceiver from the keyboard with the touch of a button, and without physically separating the transceiver from the port. AWESOME!

It's probably the next best thing to a switch directly on the keyboard to turn it off (which I wish the Sculpt actually had).

Now my cat can sit her fat butt on my keyboard while I'm not around and no input will be passed into the laptop. It's SUCH a beautiful thing.



Link to this

 

2019.10.30Dark Mode All the Rage

This week, the Office team at Microsoft FINALLY came through with something I've been wanting for a long, long time.

Microsoft Office has had a dark theme for a while now, but it didn't quite seal the deal in Outlook, because the theme did not extend to the message pane... until this week.

Microsoft rolled out its new Dark Mode in Office 365, which finally goes the last mile and gives the Outlook message pane white text on a black background.

I'm a huge fan. And very, very grateful. It's just sort of a shame that Apple introduced it in iOS first.



Link to this

 

2019.10.17Safari's New Setting

Do not attempt to adjust your browser.
We are controlling transmission.

 

Lately I've been working pretty hard on a new stylesheet for the iPad. I was pretty happy with it, but it suddenly stopped working. I frantically went through my code to figure out what I broke — then I realized I hadn't broken anything. Apple did.

...In a way.

The new iPadOS is here. I believe this is actually a fork of the iOS code, now meant to concentrate solely on the iPad as a platform. Along with the new operating system, a subtle change in Safari's behavior: it now requests, by default, desktop versions of websites. Put another way, stylesheets made specifically for devices like the iPad are now ignored by default.

To make Safari stop requesting desktop websites by default,

  • go to Settings > Safari.
  • In the right pane, scroll down to a region called SETTINGS FOR WEBSITES
  • tap on REQUEST DESKTOP WEBSITE.
  • Under the heading REQUEST DESKTOP WEBSITE ON, switch the "All Websites" toggle to OFF.



Link to this

 

2019.10.08Why I'm Now Onboard with Apple Pay

The Apple Pay logo

Apple, you tried so hard and for so long to make me sign up for Apple Pay. In iOS 13, you even went so far as to tie the setup of the new operating system to your beloved Apple Pay. So I signed up for it because I wanted to finally. Shut. You. Up.

I figured that having it didn't mean I had to use it. Oh, but I DID have to use it. And thanks to Jersey Mike's, I now appreciate Apple Pay.

Jersey Mike's sandwich shop is a place where my family and I pretty much always get the same things. I ordered from there online once, and the site suggested I'd receive some sort of reward for using their mobile app... so I downloaded it, and used it the next time I placed an order. The app allowed me to mark the order as a favorite, so on future orders I'd just find the favorite and all would be set.

Six taps.

Six taps and a double-click is all it took to order sandwiches from there today. The double-click was the payment part, through Apple Pay.

And now I appreciate it. Now I get it. Using Apple Pay was SUPER easy. I had the entire order done in 30 seconds. Again, six taps and a double-click is all that stood between me and a #9, Mike's Way, no onions.



Link to this

 

2019.09.27Facebook is Killing off Smart Lists

The Facebook logo

This morning when I opened the Facebook app on my phone, I was notified that Smart Lists are going away.

Smart Lists are lists that Fecebook makes automatically, based on certain elements in your profile that you have in common with friends, like home town, current city, and workplace.

Facebook advises that posts that use Smart Lists for access control will be converted to "Only Me" privacy when the Smart Lists feature is deleted.

For me, I have tons of posts from previous years that have at least one Smart List as part of a custom privacy setting. As a precaution, I archived all of the Smart Lists I have in my queue, hoping to prevent those posts from becoming inaccessable.



Link to this

 

2019.09.27Setting Up the Apple Watch 5

The face of an Apple Watch

My wife has given me an Apple Watch Series 5 (44mm) as a gift to replace my Series 3. I thought I'd offer some thoughts on the setup for others who have found it's time for an upgrade.

Right off the bat, you're asked if you want to set up the Series 5 as a new watch, or to restore from backup. I opted to set it up as a new watch, but my wife advised (a little late) that I should have opted for the restore from backup option. (Happily, I later learned the Apple Watch app on my phone can differentiate between the two watches and control them both. That's pretty slick.)

The first thing I noticed when I pulled it from the box is how much larger the display seems to be. My Series 3 is a 42mm; it shouldn't seem that much different. But when I was asked to add a password once it was on, I was pretty surprised by how much larger the display seems; the digits seem much bigger than they do on the Series 3. I believe the difference is that the display is longer than previous versions were, and this length offers some nice changes to support rectangular faces.

Okay. Let's make with the unsolicited advice. Here are my do's and don'ts:

Don't Push All Your Apps

The watch offers one the option of pushing all of one's phone apps over automagically, or the option of doing it manually. Personally, I don't want everything that has a companion Apple Watch app pushed onto the unit. I use very few of them; there's no need for them all to take up space... or RAM.

Don't Let Content Fill Available Space

I hvae a pretty big music collection. But I listen to it on my phone, not my watch. So while I'm thinking about it, in the Apple Watch app with my new watch selected, I scroll down the list of apps — not available apps, just the apps onboard by default — until I find music. When I tap into the menu item, I find that Apple has by default set my watch to download music I play in heavy rotation, plus three different curated mixes updated weekly... it turned all of those switches off.

I then do the same with the Audiobooks menu: I turn off the switches for "Reading Now" and "Want to Read."

Both Music and Audiobooks will automatically fill available space on your watch with content. The problem I have with this is updates to Watch OS won't install if you've no available memory. That's why I ensure these are all shut off.

Don't Let Your Watch Pester You with Everything on Your Phone

If you want to experience how annoying the Apple Watch can be, all you need is one group messaging thread.

As every message comes in, the watch will give your wrist a sharp tap. One very active group thread was enough for me to learn that the watch does not have to tell me about everything happening on my phone.

In the app, navigate to Notifications, then scroll way down to the section that reads "MIRROR IPHONE ALERTS FROM:"; now turn off the notifications from any app you don't feel is important enough to nag you about. Do I want notifications about my flight? Yes. Maps? Yes. Facebook? Nope. Outlook? Absolutely not. Flavor to your taste.

General Settings

The first thing I do here is scroll down to the Wake Screen item and zealously disable Auto-launch Audio Apps.

Monogramming

One of the settings under Clock is for a monogram. I've published instructions in the past on how to set this to the Apple logo, if that's of interest to you.

Now for the Best Part: The Faces

Sex sells. And you can bet these sexy watch faces are a big part of why these units must be flying off the shelves. I have a couple early favorites:

  • Solar Dial. The new and improved solar watch face is completely gorgeous, with the time placed prominently across from the relative position of the sun in the sky and four complications, all displayed in hues of blue.
  • Meridian is the default face displayed when the watch setup completes. One of the really nice things about it is its white face presents when your wrist is lifted, but the face fades to black when your arm is returned to your side. That is, you can still see the hands and its four complications all grouped toward the face's center which are set to multi-color by default, really showing off the beauty of the new face.
  • Infograph is similar to Meridian, except the Infograph face is circular, as opposed to Meridian's more rounded rectangular face. Infograph features a series of up to eight complications -- four circular ones clustered near the center (like Meridian), plus four that appear at the corners. Information overload all right at your wrist.

Functionality

The new Watch OS does behave differently based on which version of the Apple Watch you have. One nice improvement I noticed on the Series 5 is that it will show you the time even if the last thing you were displaying was something other than a watch face.

Say you're doing what you do when a summary of a news story pops up on your Apple Watch. So you read it and drop your wrist back to a natural position. When you next look at your watch, a clock appears over the blurred image of that news story you didn't dismiss. I think it's a nice touch... I feel it was somebody's pet peeve — it seems rather a specific use case, no?

What Next?

So now I have my super shiny Series 5. What do I shop for next? More watch bands? Well, maybe. Happily, I'm told the bands I already own from my Series 1 and 3 will fit it. But I'm actually thinking about screen protectors instead.

The screen on my Series 1 smashed when the watch fell from my wrist. My Series 3 has a few scratches from bumping the face against various things. I don't want this Series 5 getting the same kinds of scratches, and a screen protector might prevent the screen from smashing from a fall. I'll be placing an order through Amazon here shortly.

Summary

The Apple Watch Series 5 is a beautiful, beautiful machine. I've found these watches to be very reliable, and indispensable. If you're careful about balancing the software and content you'll actually use against the software and content you have available, you should be able to perform upgrade after upgrade without complication (pun totally intended), and enjoy it for years.



Link to this

 

2019.09.23Why I Love iOS 13

The Apple iOS 13 logo

iOS 13 installed very smoothly on my iPhone X. Between the new OS and my new glasses, I feel like I have a brand new phone.

I'm not a power user or anything, but I've been an iPhone customer since the iPhone 3G, so I think I know a fair amount about how the product has evolved, and how I use it. Based on these, I'd like to tell you what I LOVE about iOS 13.

Dark Mode

I'm a programmer. I'm on a computer (full disclosure: a Dell PC, not a Mac) for over eight hours each day. I'm a big fan of software that lets me run in dark mode on my PC, so you can imagine how happy I was to learn that iOS was also coming to the dark side.

Now I just need the app developers to implement the new capability into new versions of their apps.

Improved Share Sheets

Select a photo from your library and opt to forward it. Instead of seeing a share sheet with an open area for AirDrop and some other options, you now see forwarding options for the people you're in touch with most often as a top row, a list of applications as a second row, and other options in a scrollable list below that. This new format is far more useful than was previously available. I'm really glad Apple rethought this.

Memojis

The introduction of personalized animated emojis ("memojis") was a very nice novelty-— cool that you could animate them using facial tracking. But I don't know how widely used they ultimately were. Bringing up your memoji then recording yourself responding in conversation was kind of a lot of work, so I think they were largely ignored. In iOS 13, Apple introduces us to some preset memojis with various common emojis as facial expressions — that is, YOUR memoji's epressions — all ready for you to use. It seems many of the most commonly used emojis are represented here. Very slick.

Plus, memoji construction is more advanced. I could finally add my single hoop earring to my left ear!

Integration of Bedtime Clock with Other Clock Functions

The bedtime feature has been pretty nice, but it always seemed weird it wasn't integrated in with the other clock app functions (like timer, countdown, and the other alarms). No more: this is rectified in iOS 13. The bedtime alarm may even be disabled and enabled on the alarms form. Still, it's not fully integrated: the bedtime alarm sounds are still exclusive to the bedtime feature.



Link to this

 

2019.09.13My Ego Needs New Glasses

An image of blurry text.

Summerland in my past
Days were full and I knew it would last
I never thought there was anything else but you
Summerland
The wind is getting cold
Summerland
You're finally getting old

About two weeks ago I noticed a significant shift in my near-field vision. At first, I thought I was just tired from having spent too much time working that day, but when I noticed this was happening evening after evening, and that adjusting the text size on my phone made very little difference, I realized I had become dependent on my glasses for reading just about everything up close. The glasses made things manageable, but not clear.

New glasses are on the way. My prescription now includes a Near Add value of +2.00. Holy shit. I'd never had additional correction before. Suddenly I'm... Suddenly I do.



Link to this

 

2019.08.25Nerd Work is Killing the Will to Nerd Hobby

Low battery

 

Years ago, I had a really powerful PC, loaded with all of my programming stuff as well as a bunch of "kill-kill-kill" games. Packed with RAM and processing power, it was a really sweet machine.

Fast forward a few years. I was in a different place in my life — both figuratively and actually. Eventually, my "promance" with my PC fell apart, and for three reasons:

  1. I stopped playing the kill-kill-kill games because I had a four year-old in my house and usually attached to my hip;
  2. If I wasn't playing PC games, what was I doing with it? Paying bills, mostly
  3. Occasionally I'd have to use it to connect to work and troubleshoot system problems in the middle of the night.

I also found that not only was I avoiding my computer, but I was avoiding the desk it was on, too. My computer desk used to be where I'd go to have fun. But at that point, it was where I would go to sort and pay bills. In short, that wasn't a fun place anymore, so I began to avoid it. And that's when I figured out how wrong it was to actually avoid anyplace in my home.

Years later, I had a work-from-home job for a company near DC. THIS time, I put my desk someplace in my home that I wouldn't normally go — someplace I would deliberately have to visit to do work: in a corner of my basement. Great idea -- but execution was a little lacking. I spent hours and hours each day in a musty basement.

Present day. As a contractor for my current company, I do my work by remote connection through my personal equipment. Happily, my "office" is in a part of my home that isn't in the usual stream of life here — and not in a basement (they don't build basements in this part of Texas). My client has a ton of work and is very eager to my current project "under our belts," so I work 9-hour days for them... my weeks seem long, and so the zeal I normally have for working on my website on the weekends has ebbed.

And that hurts.

I spend so much time in this chair each day — working through a punch list, tracking my time, taking calls, making notes... no wonder I don't want to sit here on a Sunday afternoon, even if its to do fun things.

This is a signal to me that I need to slow down, or slog less, to get back to wanting to fire up QUAKE and mess around for a few minutes. I'll get back there -- I usually do — but right now I just need a little space.

Link to this

 

2019.07.08UPDATED: "Burner Phone" Apps are the New Spam Email Accounts

An image of apps on an iPhone.

I'm starting a position with a new company next week. I'll be working remotely, which means I'll be depending on my personal mobile phone for voice calls. Not that I mind that so much, but over the past few years I've learned the value of keeping my private number private. So I thought back to the days of Google Phone, and wondered whether a present-day app could do the same.

I'm considering two apps - Burner and Hushed. I'm reading reviews of both, and I'm leaning toward Burner. But then it hit me — these apps provide exactly the same kind of service that keeping multiple addresses does for e-mail: lets you quickly separate "spam" and solicitations from content you actually want.

This was sort of a bellwether moment for me — the idea that as communications technologies emerge, we'll always develop a need to fight unwanted traffic. It didn't take too long to catch onto the idea that you should have two email accounts: one for transactional use — buying stuff online, for example, because you're going to get spammed the moment your purchase is made — and one for personal use. Fast-forward to the smartphone era, when early adopters got onto apps like these to separate their personal line from whatever else they were doing (one reviewer of Hushed identified as running a "strictly-platonic cuddle business"). These apps must be becoming more popular — within the past couple of months I saw some press on the mobile phone carriers being given the authority to crack down on robocallers.

The same is obviously true for social media — Facebook got called on the carpet for not doing enough to combat the emergence of accounts spreading Russian propaganda in advance of the 2016 presidential election, and still gets blasted at the federal government level for leaks of private information (think Cambridge Analytica).

Tumblr, another social media platform, saw a huge percentage of its user base leave late last year because Verizon was having trouble monetizing the platform. Put simply, Verizon updated its acceptable use policy to drive out the porn communities so they could sell ads; but then they found they didn't really have anybody left to sell ads to!

It seems that in the digital age, regardless of the platform, somebody always has to be the reason we can't have nice things. PCs got viruses. Email has spam. And phishing. And spear phishing. Voicemail? "Vishing." Phones? Robocalls and other assholes out to trick the elderly, and people "calling from Microsoft because my computer has a virus." It's just absurd, the shit people do.

People get new technology, and then they have to think of ways to protect themselves while using that new technology. Protect themselves from everything from invasive advertising to bad actors. In a world where YouTube actually interrupts a video to show you an ad, I'm afraid that's just how it's going to be. Forever.

And the "bad actors" thing brings me back around to burner phone apps. You know, with GMail, all of the data you receive and send via GMail is available for them to do whatever they want with: 1

When you upload, submit, store, send or receive content to or through our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content.
Personal assistants monitor you all the time. And anything that gets recorded is stored and tagged and analyzed by a legion of linguists who will do who knows what with the data they capture. So as I think about something like a burner phone app, I have to wonder: who owns the data?

Who Owns the Data?

Ad Hoc Labs is the maker of Burner. Their privacy policy, dated 2015, explains that they do collect personal data "when you use certain services" (which they do not identify), and that they will "use your Personal Data to provide you with access to such services and to monitor your use of such services." In short, whatever you're saying over that line or text is being captured on your phone, sent to Ad Hoc Labs, and shared with other companies:

By voluntarily providing us with [personally identifiable data, aka] Personal Data, you are consenting to our use of it ... you acknowledge and agree that such Personal Data may be transferred from your current location to the offices and servers of Ad Hoc Labs and the authorized third parties referred to herein located in the United States.
Interestingly enough, the privacy policy says that you can use the app without providing any personal data, but that you may not be able to use "certain services" as a result.

Try Before You Buy

I have decided to try Burner.

After reading some of the reviews, I was a little worried that the app would try to trick me into signing up for some sort of premium service, but I found the setup to be pretty straightforward. I'm on a two-week trial that has limited services — 20 minutes of phone time and a maximum of 40 texts. I chose the number from lists of about ten numbers associated each area code I selected.

One thing I'm really excited about is that the Burner app appears to interface with Nomorobo, a subscription service I have that notifies me in real time of calls from numbers reported to be bad guys.

Burner also reports it integrates with other serivces. For example, Burner shows how I can use its Developer connection to integrate with IFTTT and Zapier. But when I tried the IFTTT integration, it appeared that IFTTT had no idea what Burner is, and had no intention of connecting with it. Granted, this is nerdy advanced stuff that isn't critical, but, if it SAYS it can connect with IFTTT, I expect it will connect with IFTTT. Burner will actually integrate with Dropbox, which I think is a very nice plus.

So I'm going to publish the Burner number on my outgoing messages, for the client to use. So far, I've received no robocalls, no texts, no messages, which is a great sign -- I interpret the silence as the line has probably not been cloned or the target of suspicious campaigns.

Tempus Fugit

So, it's Monday, and Burner is already trying to tell me my trial expires tomorrow:

For reference, when I created the number on Saturday, the app showed that it expires the following Saturday. The app still shows the number expires in five days, regardless of their poorly-implemented popup message.

Things like this are irksome. I don't tolerate them well. Maybe I'm predisposed to be aloof because of the reviews I read, but telling me two days into a 7-day free trial that my trial expires TOMORROW certainly doesn't read like an honest mistake.

Not cool, Burner.

 

I'll update this post as warranted.



Link to this

 

2019.06.08Apple Watch OS

Apple Watch OS 5

 

Thank you, Apple.

I'm loving your most recent WATCH OS 5 update (5.2.1). The other day, I was out doing some walking and returned to my car. The watch showed me a message which basically reminded me to stop my workout — I'm HORRIBLE at remembering to do that.

Then this afternoon, I was in my pool when the watch detected I was probably swimming, and asked if it should start a workout for me.

Damn convenient updates, Apple!



Link to this

 

2019.05.22Ransomware Hits Home

An image of a computer ransom message.

Ransomware is software that gets introduced to usually a company's data systems by a malicious actor (who wrote the program) and a generally unwitting victim (who downloaded or activated it). The victim clicks a link in an e-mail message or a web page, and that click connects that person's computer to a computer elsewhere, which transmits a file back to the requesting machine. Like almost any computer virus, the file spreads itself to all the other machines on the local network. Ransomware programs differ in that they encrypt the contents of the hard drives and advise the victim that they must follow a series of instructions to purchase the decryption key. Some versions demand payment be made within a specific amount of time; others increase the cost of the key as time passes. Given the strength of modern encryption algorithms, the data is lost without the key. In this way, the affected machines are being held for ransom by the software — hence, "ransomware."

Ransomware is also something that I read about in tech news stories and summaries. It's... it's a far-off thing for most — something we've heard of like so many bad things in our world, but it's never close enough to be... real.

Well, here's reality: I've just learned of a friend whose company was struck by a ransomware attack. I don't know any details beyond that, except to say that if the company is unable to meet the captor's demands, it could go under.

I don't want to see my friend out of work, especially due to something like this. In the IT world, the job market is volatile enough without threats like these. Why, in my own resume I mention, as a final bullet under certain employers, the circumstances of my departure: layoffs, end of contract, that sort of thing. Way back in my history I do have an instance where the company I'd worked for for several years closed. It's far enough back now where I don't generally have to reference it, but back when I did, it was always awkward to have to say "I did all these great things for this company, but you can't contact them for a reference because the company is gone." It caused problems for me for years.

I wish him and his company great luck. I don't know how many people the company employs, but I seem to recall it's a small shop. Hopefully law enforcement has been engaged, and they'll resolve it without the company suffering too greatly. I'm convinced all these captors want is money; but in situations like these, they get no money AND they ruin lives. Is that really acceptable collateral damage?



Link to this

 

2019.03.27Apple AirPods

Apple AirPods

 

In it's initial announcement about the AirPods, Apple promised:

  1. AirPods would sound great,
  2. AirPods would power themselves off when taken out of the ear,
  3. AirPods could be used individually, and
  4. AirPods would recharge quickly.

Two years on, all four are still true. Battery life was a concern I had going in, and today I took a measurement to figure out how long they would play before giving me the warning beep.

1 hour, 52 minutes.

When I wrote my first post about them in January 2017, I estimated about 1 hour 45 minutes of service, which forces me to consider that they haven't lost anything on battery life at all.



Link to this

 

2018.12.312018 Year in Review

Posts about politics and national issues dominated the interests posts in 2018, with some healthy side-effects: posts on books rose 500% from last year. There were maybe some not-so-healthy side effects too: fitness posts were way down, and I started a new topic about whiskey (!!).

TopicCount
books6
car1
cooking/food4
family/kids9
fitness3
gaming5
geek10
leadership0
movies4
music1
nation/politics21
texas life5
whiskey3

 

I published far less interests content this year than I had in 2017 — and for good reason: I spent far less time in front of a keyboard this year. We moved to Texas (the inclusion of Texas life and whiskey topics should have provided a prtty big hint) and I spent every day I could in our pool with kiddo, reaching all the way into NOVEMBER. Between the move and the sun, it's little wonder I'm not seeing the numbers I saw in 2017.

The nature of my posts were different this year, too. Those national interest posts were typically very long and very involved, with a lot of research behind them — most of the time, they were news articles (The Washington Post is my main source because I'm a subscriber), but in some cases, the sources were books that I'd read from cover to cover. So, fewer posts, but with much more behind them. I wouldn't call it a format change; I'd just say it's a function of the content — it demanded greater discipline and effort.

Finally, I split some content out into new topics this year. Kids/Family was used for probably most things family-related, and eventually I split out the posts related to our move and adjusting to life in Texas into its own topic. The cooking topic was renamed to food, so I could talk not just about dishes I prepare, but others I got to experience not of my kitchen (I still miss forkly). The new whiskey topic is separate from food, because I wanted to highlight our new discoveries in their own topic.



Link to this

 

2018.12.04A Few Words on Test-Driven and Behavior-Driven Development

I was lucky enough today to sit down with a solutions architect who walked me through a simple test-driven development (TDD) and behavior-driven development (BDD) exercise.

My mind was blown. It was everything he said it would be: it's challenging, because you have to think differently about the problems you're solving — first and foremost, you have to partition your mind to focus only on the test — it's givens and the outcome you're looking for (this is the test-driven part) — and THEN to focus on writing the code to satisfy the outcome (this is the behavior-driven part).

The net result is amazing and mind-bending. By making yourself think in this way, the code is reduced to the means of satisfying the tests. In that sense, it is pure.

I've worked for several organizations that all said they wanted to move to TDD, but couldn't. One reason: clients didn't want to pay for it. TDD pushes out the time to produce an application, but the benefit is the code doesn't fail. Add to that a continuous integration server that runs your tests and re-runs them when others check in their test-driven code...

I guess I want these guys to understand how lucky they are that they actually get to engineer in this way. I think it's super amazing. I'm SO grateful for the demo I received today.



Link to this

 

2018.09.18Upgrading My iPhone X to iOS 12

The Apple iOS 12 logo. Copyright Apple, Inc.

This post is going to be quick, just like the upgrade: My upgrade went super fast, and I didn't even have to log back into iCloud or anything. Even after I shut the unit down and restarted it. My upgrade experience couldn't have been smoother.



Link to this

 

(older entries)