Tag Archives: Technology

Developing Consumer Apps (MyNumberBlocker)

I love writing software and routinely create programs to meet my needs. In many cases my applications are very focused and have a market of one, so I don’t bother polishing them or releasing them. There have been several exceptions to this including ReceiptWallet (now called Paperless and NotifyMail (NotifyMail was not quite consumer friendly, but did well in the enterprise). My latest application, MyNumberBlocker follows in the footsteps of my other apps in that it is very focused. This app is a one trick pony, but it solved my need to block the increasing number of phone calls that look like they come from the same prefix as my phone.

When I started MyNumberBlocker, I was able to get it running very quickly and decided that I could use it as an experiment to see how the current App Store operates. As an individual I’ve only put one app on the Apple App Store and that was many years ago. Making the app user friendly wasn’t difficult, but took me awhile because I like tackling different types of problems and presenting a user interface with instructions was not fun. Another challenge was setting up a website and putting together some instructions.

I know that MyNumberBlocker isn’t going to bring in enough money to change my life so I’ve set a very modest sales goal. The next step is figuring out how to market the app with little to no marketing budget!

Repairing a Time Machine backup

Apple’s Time Machine can be considered a revolution in creating backups for average users. Plug in a hard drive, set it for Time Machine and it just works. When Apple introduced the Time Capsule routers, they brought this ease of use to devices that didn’t have a dedicated external hard drive for backups. For the most part, this worked as well but there are sometimes issues.

When using Time Machine connecting to a Time Capsule, NAS, or other file server, a disc image in the form of a sparse bundle is created for each machine that is connected to the server. The sparse bundle is basically a wrapper that contains the hard drive. Inside of the wrapper are many files called bands that contain the data. This bundle grows as more data is added which is great. Unfortunately if something happens such as unplugging a computer from the network or closing the computer while the disc image is in use, the entire image can become corrupt.

Yesterday I disconnected my Mac from my Thunderbolt Display which was connected to Ethernet during a Time Machine backup. This caused the disc image to become corrupt. Up until now I had just accepted that I’d have to start over with the backup. I spent last week getting a new backup strategy in place and didn’t want to start over again. I did some searching and found a few articles on repairing corrupted sparse bundles. I started with this article but instead of trying to perform the repair on the network, I screen shared to my Mac Pro and attempted to do the recovery locally. Unfortunately the steps outlined failed to repair my disc image. Another article had similar commands but didn’t quite work either. Combining information from the two, I came up with my own steps to repair the image:

Attach to the disc image, but don’t verify it or attempt to mount it. Note the readwrite option as this was key for my repair.

sudo hdiutil attach -nomount -noverify -noautofsck -readwrite /Volumes/Backups/Shared\ Items/Backups/Scott’s\ MacBook\ Pro.sparsebundle

Look at the output that will be something like:

/dev/disk6 Apple_partition_scheme
/dev/disk6s1 Apple_partition_map
/dev/disk6s2 Apple_HFS

Make a note of the disk for the last entry that has HFS in it.

Perform the verification and repair using:

sudo fsck_hfs -drfy /dev/disk6s2

I had to do the above item twice to get a message that the volume was repaired successfully. This will take awhile depending on the damage and size of the disc image.

Once the volume has been repaired, issue the final command

sudo hdiutil detach /dev/disk6s2

After that I did a Time Machine backup and everything worked again! I tested out restoring a file and that worked as well. Now I have a way to fix the disc images when this happens in the future. Apple really needs to do something about this issue as the articles I referenced are 6 and 9 years old meaning this isn’t a new problem.

Review: Western Digital MyBook Duo

Last year I was looking at options for adding storage to my Mac Pro that I use as a media center, Jenkins server, DVR, and security camera monitoring. The Mac Pro has a 1 TB SSD but storage is eaten up very quickly with everything running on it. I wanted at least 8 TB of usable storage and while I could use a RAID, I was more interested in configuring drives as JBOD (just a bunch of disks).

I decided to get the WD 8TB My Book Duo as the price was reasonable at the time and I could configure it as JBOD. I would have preferred Thunderbolt 2 but for the price I went with USB 3. When I got the drives I configured it as JBOD and then partitioned the drives. I was curious to know if I could take the drives out of the case (Western Digital makes it easy to do) and just connect them individually to my computer without the Western Digital case. Turns out you can’t. The case does some magic to manage the drives. I was disappointed in this as it now became a potential point of failure where I couldn’t just take the drives out if the case failed.

The setup worked fine for about a year and then I started noticing that sometimes I’d see error messages on my Mac Pro about the volumes unmounting. I tried plugging the case into a different USB port, but still saw these issues at times. Things started getting worse and I decided to see if the actual drives or the case was failing. I took the drives out of the case and put them in a Thunderbolt dual bay drive dock. This, of course, caused me to lose all my data because I didn’t have the special WD magic sauce on the dock. It appeared that one drive was fine and the other drive was on its way out. I used the one drive and a second 2 TB drive in the dock for a few weeks and didn’t have any of the problems I saw before.

In order to get warranty service on the Duo, I had to send it all back. Since I didn’t know the state of the data on the drives I wanted to do a secure erase on the drives. I individually did a secure erase on the drives which worked fine negating my previous analysis that one of the drives was bad. I put the drives back in the case, reconfigured them then did a drive check using the WD utilities. The drive check failed which indicated to me that the case and not the drives were bad as I had just done a full secure erase which writes zeros to the drive.

The drives and case are now on their way back to Western Digital for warranty repair/replacement. While I don’t know if I had bad luck with this, I’ve moved on to a different case which doesn’t add magic sauce to the drives. Definitely a much more expensive solution than the MyBook Duo, but I trust it a lot more than I do the WD case.

Pros

  • Reasonable price.
  • Easy to setup.
  • 3 year warranty.

Cons

  • Crappy WD software to configure.
  • JBOD configuration doesn’t let you remove a drive and use it in another mechanism.
  • Failed after 1.5 years.

Summary

If you’re looking to add storage to a machine, I’d steer away from this case. In addition, Toshiba drives have been rated better for long term quality and in this case where the drives are running 24/7, spending some extra money on better drives will give me a little peace of mind. If the case simply allowed the drives to show up separately and not add the WD magic, I might have just chalked this up to a drive failure and given it a second chance. However, since all my data is locked into this case, I can’t recommend it. Once my case and drives come back from warranty service, I’m not sure what I should do with it. Any ideas?

Retiring my 5 GHz SSID

As many people know, the 5 GHz WiFi band is going to provide better performance and is less crowded than the 2.4 GHz band. I have always tried to get my devices on 5 GHz. Most WiFi access points/routers broadcast the same SSID for both 2.4 GHz and 5 GHz allowing devices that support both bands to pick which band it wants to use. Unfortunately the devices sometimes prefer the 2.4 GHz band. Apple seems to have acknowledged this shortcoming of devices by providing an option in the AirPort Extreme base station for the user to set a separate 5 GHz SSID.

I’ve used a separate 5 GHz SSID for many years and have had devices that could use 5 GHz use it. While this has worked, once I got to the edge of the range my devices dropped off and I’d have to manually switch to the 2.4 GHz network. This didn’t happen often but it was enough to be annoying and the devices wouldn’t switch back to the 5 GHz network.

One of the features of the UniFi line of access points is band steering which is supposed to push devices to go to 5 GHz if possible. Since I was working on my network anyway I decided to see if I could have one SSID for both bands and if the devices would prefer the 5 GHz network.

The first thing I did was enable the Advanced Features in the UniFi controller:

Screen Shot 2017 09 20 at 1 43 17 PM

Screen Shot 2017 09 20 at 1 43 28 PM

After enabling the Advanced Features, I went to the configuration for each of my access points and turned on band steering to prefer 5 G.

Screen Shot 2017 09 20 at 1 44 04 PM

To finish off the configuration I set the transmit power to high for 5 GHz and medium for 2.4 GHz just to help devices think that the signal is a bit stronger on 5 GHz.

Screen Shot 2017 09 20 at 1 44 04 PM

I tested this configuration for a few days by forgetting the 5 GHz SSID from my devices and watched in the UniFi controller which band the devices chose. Without fail, all the devices including an Apple TV, iPad Pro, iPhone, Amazon Echo, and MacBook Pro chose the 5 GHz network. That was enough to convince me to retire the separate 5 GHz SSID. Today I removed the 5 GHz SSID and if all goes well no one in the house will notice a difference and devices will continue to operate at peak performance.

Getting Better WiFi

As I’ve written in the past, I replaced all my WiFi equipment with Ubiquiti’s UniFi gear. For my relatively small 1600 square foot house, I’ve gone overboard and have 3 access points. The house is a tri-level house so ideally I’d put once access point on each level. Unfortunately, due to convenience, I didn’t do that.

I set up one access point in my networking closet near my office on the ground floor, one in the garage in the hopes that it would cover up (yes, I know it points down) and one behind the TV on the mid level (wall mounting is not a great option). While WiFi coverage was adequate, I’m always looking at ways to improve my network. A few weeks ago, I decided to put the access points where they belonged. Since I have attic access above the mid level and second story, I just had to get a Cat6 cable up there. After several hours of trying to get 2 wires through a hole in the garage (I have about 6 other wires through that same hole and didn’t want to make a new one) I managed to pull the cable and wire things up.

The result can be seen in these pictures; the access points pretty much blend in with motion detector and the smoke detector.

The coverage is now very consistent throughout the house and my wife hasn’t complained about the access points on the ceiling!

IMG 6403

IMG 6407

TV Analysis Paralysis

When I started to see rumors about the 4K Apple TV, I decided that I wanted to jump on the 4K/HDR bandwagon. While there is nothing wrong with my 4 year old Vizio TV and 5.1 soundbar system, I enjoy watching TV and wanted better picture quality (yes, I know I need content and will pay an additional $2/month for Netflix 4K). Since I have been generally pleased with my Vizio M Series TV, I was looking at getting the new M Series that did 4K and HDR. With that decided, I wanted to move to a slight annoyance I have with my current setup.

This annoyance is minor and has to do with controlling sound. Since the Apple TV and my TV support HDMI CEC (consumer electronics control), I can turn the TV on and off with the Apple TV remote. Furthermore, the Apple TV remote can control the volume on the soundbar via IR. This setup works, but requires that I aim the remote at the soundbar to control the sound and sometimes takes a few tries because something is in the way. I had heard about HDMI ARC (audio return channel) which would let me plug a soundbar into the TV via HDMI and route all the audio that way. In addition to just routing the audio, this would give me CEC for the soundbar bringing my dream of one remote to control everything. Off I went to look for a soundbar that met this criteria. I picked up the Vizio SB4051-D5 at Costco and it appeared to meet my needs. I was able to control everything from one remote and was even able to change the volume using the Apple TV remote app on my phone or iPad.

My joy faded fast when I started looking at putting 4K/HDR into the mix. The Vizio M Series TV has 4 HDMI ports, put only HDMI 1 supports HDMI 2.0 which supports the latest 4K/HDR standards. In addition, only HDMI 1 supports ARC for audio. OK, no problem I thought; plug the Apple TV into the soundbar and the soundbar into the TV, all via HDMI. This works fine for HD, but once I got down into the specs, I realized that the soundbar would have to pass the 4K/HDR video signal to the TV. None of the Vizio soundbars do this today. Soundbar goes back to Costco.

Now I’ve resigned myself to waiting for better options. However, in the meantime, I started looking at a company I’d never heard of, TCL and their P series TV. With 3 HDMI ports that support HDMI 2.0 and 1 of those supporting HDMI ARC, it looks like I still may well be able to realize my goal of 1 remote; the Apple TV would plug into HDMI 2 and a soundbar into HDMI 1. In addition, the TCL has Roku built in; I used Roku prior to the Apple TV and was generally pleased with it, so that’s a bonus.

Where do I stand? Well, I’m going to take a closer look at the TCL TVs and just sit tight for awhile before I make a purchase. I am still going to look at a new soundbar after I get a new TV.

Any advice on new, budget 4K/HDR TVs?

Writing Enterprise Software

Up until a few years ago, I spent most of my career writing software that was used by consumers. This was very satisfying as it was easy to explain to others what I did and in many cases, they’ve heard of the software such as Eudora, PayPal, or eBay. With the rise of the smartphone, everyone and his dog is learning to write software and hopes to strike it rich on the App Store. Many developers, it seem, think that the exciting software to write is this type of software where the developer can earn a name for herself or himself.

Through a few changes in my positions at a company, I started working on retail software that would be used by store associates and would never be seen by consumers. At first this seemed pretty boring as enterprise software is typically very utilitarian and doesn’t get to use many features of modern smartphones. Now that I am fully immersed in enterprise software, there are some key advantages to it over writing consumer software.

  • All devices running the software get the same app version using MDM (mobile device management); no worrying about people running old software.
  • Limited number of users makes it easier to train people to use the software.
  • Bugs can be fixed and features added very quickly without App Store approval process.
  • No one writes reviews of the software that hurt your feelings!
  • You don’t have to worry about marketing a $0.99 app and the race to the bottom in pricing.

With more and more iOS devices being used in enterprise, there are huge opportunities for development. It may not get me fame or fortune, but it is currently my path to a decent living!