Vote Charlie!

Technology Archives

Not perfect downtown but another GPS win for Garmin 67i

Posted at age 36.

Yesterday I did a fairly long run in downtown and west Oakland past some slightly taller buildings than in my first set of GPS comparison tests last month. I’m glad I had the Garmin 67i for this one, not only because its track logs were the cleanest overall, but because both my Fitbit Charge 6 and Pixel 6 Pro Runkeeper app had problems preventing me from having a complete tracklog. At least this put me over 55 percent completion for Oakland for my running every street project!

Sample A

Sample A

Read more

Website and notetaking system

Posted at age 31.

While I was traveling in Taiwan in March 2020 as the world was descending into Covid-19 chaos, I had some time to ponder improvements to my blogging and notetaking processes. At the time, my website was happily powered by the mostly static generator Movable Type, and my notetaking was strewn across text files, Google Docs and physical paper. I wanted to try to merge them as much as possible, so it seemed to make sense to do both in the same place: text files on my computer. I resisted moving away from MT for a long time, because I love its super intuitive templating system and ease of logging in and blogging from anywhere. MT has served me well for almost 20 years (wow!), and if this site had to support more than one author, I wouldn’t want to change.

Read more

Cleaning my Runkeeper activities list again

Posted at age 31.

As has my life, my Runkeeper and Fitbit tracking has been a mess for more than a year. Most of my runs have two or even three copies in Runkeeper. My stats have therefore been useless, not that I’ve had time to look at them anyway.

I had been meaning to sit down and document some issues with the Runkeeper-Fitbit integration before I started tracking many GPS activities in Fitbit. I expected I would track each runs with my Fitbit Ionic and the Runkeeper app on the phone, and then delete one, leaving whichever was best. This hedged against GPS breakdowns, which have happened on any device I’ve ever tested. The first problem was Fitbit did not allow saving notes with the activity, so I would have to copy the notes from the Runkeeper tracked run to the Fitbit imported run on Runkeeper. Upon saving, often the miles would change, perhaps due to some algorithm Runkeeper has to smooth GPS jitter. Whether or not the miles changed, it seemed Runkeeper would then reimport the Fitbit activity since apparently the one resaved with the note was no longer connected to the original.

Read more

fwupd trouble on XPS 9370

Posted at age 30.

I didn’t realize my fwupd installation was not working till I noticed my BIOS is still running 1.5.1 instead of the latest 1.6.3. Upon investigation, I realized I did not have the Linux Firmware Update boot entry above the Linux Boot Manager entry. When I fixed that, or tried to manually select after F12, it still was not working. It took some time to notice there was an extremely tiny message flashing for less than .1 seconds. I had to use my DSLR to zoom in and record a video of the corner of the screen to figure out what it says:

Found update fwupd-7ceaf7a8-0611-4480-9e30-64d8de420c7c-0 WARNING: No updates to process. Called in error?

I realized I could boot to the laptop’s native BIOS update utility with F12 and then navigate to the .pac file in \EFI\arch\fw\, so I did not need to solve this problem.

Read more

Insync broken with GDAuthError

Posted at age 30.

The backup and sync saga never ends! Now on my desktop I have been unable to open the Insync UI or apparently get it to sync at all. I killed it and run it by console to see if there was any output, and it fails before it starts syncing anything with an error: GDAuthError: Access token refresher stopped. Only two search results appear for “GDAuthError Insync”. One from a year ago has no solution, but someone commented recently that it happened to them, so perhaps there was a regression.

Read more

Switching to Dvorak, Part 3

Posted at age 30.

I’ve been using Dvorak full time on computer for 17 months, a number that shocked me just now when I initially wrote “5 months” and then realized I was off by a year. I have not deliberately practiced much in the last year, and am also not as fast as I hoped I would be by this point. Still, I have no regrets. I have also not had any typing related hand or finger pain, which was what led me to this originally.

I still use QWERTY on my phone, but I have been thinking about switching there, too. My brain does seem to treat them totally separately; I initially suck at typing QWERTY every time I try on computer but never think twice on the phone.

Since I want to do some more practice, I’ll continue to log some statistics to this entry just as I have in the past in Switching to Dvorak and Switching to Dvorak, Part 2.

Read more

Canceled Xfininty, got Sonic fiber Internet

Posted at age 30.

From https://www.xfinity.com/support/articles/cancel-my-xfinity-services:

How to Cancel Your Xfinity Account

  • Chat with us online. Seven days a week (8:00 AM - 11:00 PM ET).
  • Visit your local Xfinity Store or Comcast Service Center.
  • Email your cancellation request by completing a simple form.
  • Mail your cancellation …

Read more

Charging four 35AH 12V batteries from empty

Posted at age 30.

In preparation for the burn, it’s time to charge the batteries I use for my solar setup. I was surprised to find them registering only 5 volts on my multimeter; something in the solar regulator must have been discharging them. This at least gave me an opportunity to see how long they take to charge from empty and how much power that uses.

Power to charge 12V 140AH battery 10h

Power to charge 12V 140AH battery 10h

Read more

Random numbers

Posted at age 30.

In my Arduino projects, I had been using the typical pattern of seeding the pseudo random number generator with a reading from an analog pin like randomSeed(analogRead(A0)). Anecdotally, the results seemed nowhere near random. If I had a program that selected from three modes, the first mode would be the selected mode the majority of the time.

Read more

Starting with DigiKam

Posted at age 30.

I’m starting to figure out my photography workflow on Arch Linux. Previously I used Adobe Lightroom for organization but still did almost all editing in Photoshop. I never quite figured out an editing workflow I was happy with in Lightroom. But now I get to circumvent that step and figure it out on Linux. :-)

Read more

Automatically relaunch unresponsive Mac app

Posted at age 29.

The Insync client on my macOS 10.12.5 installation freezes at least daily, which I only notice when I find files are not syncing across my computers. My hacky solution was to write an AppleScript to check if the client is unresponsive and create a launchd agent to start the client any time it is not running or crashes (different than “Not Responding”).

Read more

uWSGI socket activation configuration

Posted at age 29.

I sat down this week to start writing a small Python application to aggregate my data and generate a status page like the AWS Service Health Dashboard but with my goal completion instead. This is largely supposed to motivate me to find ways to spend more time doing deep work, but more automatically planned than my past efforts. Well, as I feared, it has taken a few days to lay the groundwork. The last piece involved more trial and error than I would have liked due to lacking documentation, but perhaps someone can make use of this configuration.

Read more

Switching to Dvorak, Part 2

Posted at age 29.

After a few months mostly typing in QWERTY due to a compromise to get some programming done faster, I am recommitted to forcing myself to use Dvorak. I picked it back up quickly. In fact, right off the bat I was possibly faster than when I left off. Strange. This entry will continue documenting my progress.

Read more

Switching to Typora Markdown editor

Posted at age 29.

I almost pried myself from reading news story after story this morning thanks to Google Now’s suggestions and the endless shenanigans of the current administration. Then I clicked one more, a SitePoint article “The Best Markdown Editors for Mac“. I skimmed it, mostly looking to see if MacDown was mentioned. It was not, but another caught my eye, and I was converted to Typora before I even tried it. The editor itself is the live preview!

typora.png

typora.png

Read more

Distracted learning Vim

Posted at age 29.

I spent some time today reading Vim documentation and a handful of blog posts. I learned the extreme basics of Vim many years ago, but I have not graduated much past cut-paste and search-replace until this year. In my mission to memorize more things I never bothered to for lack …

Read more

Backup chronicles: Settling on Insync

Posted at age 29.

Following my issues using the official Google Drive client, I tried another Google Drive client called Insync. I wanted to write more, but time is flying and I wanted to post some screenshots before I forgot. Bottom line: I managed to get about 700GB of my documents uploaded to Google Drive using Insync, though I needed to employ a folder by folder approach else it would freeze. I am using some of Insync’s filtering features to keep my projected synchronized on my laptop and desktop, but the app itself is somewhat clunky and the UI blocks the folder name once I enter it in the filtering section. Here are some screenshots I intended to document earlier.

Read more

Not fake news: Amazon ruined by fake reviews

Posted at age 29.

Amazon pioneered consumer confidence with their product ratings system, but my confidence in that system is greatly diminished. As if the SEO driven keyword soup product titles were not bad enough, many vendors now differentiate their products with false descriptions and claims backed by fake five star reviews. The products are often cheap enough customers likely don’t bother with returns or complaints, but at the same time I am surprised the fake reviews are submitted by accounts that did not first buy the product. It would only cost vendors the small Amazon fee to ask their employees to actually buy the products and give them back to the seller. Clearly vendors see no point in even that small expense since Amazon’s system enables fake, unverified reviews to drive search and sales. As it stands, you can only filter by verified purchase status and eliminate many of the fakes once you are on the product page. It’s a shame Amazon includes the fake reviews in the ratings by default and forbids filtering out the fake reviews from the product search.

Read more

Mint batch transaction import hack

Posted at age 29.

Years ago, I started using Mint to aggragate my financial information. The idea made sense, like browser based Gmail made sense compared to using Outlook on the desktop. Mint seemed to be the first free service to connect with most financial institutions. Now there are many such services, and Mint has not managed to resolve any of the usability issues I have experienced all those years. I was about to look for alternatives today till I found a workaround for my latest annoyance: lack of bulk import.

I right clicked the updateTransaction.xevent request and selected *Copy as cURL*.

I right clicked the updateTransaction.xevent request and selected *Copy as cURL*.

Read more

Nikon camera live tethering, and I need to run

Posted at age 28.

I spent a bit of today taking photos of creatures in my saltwater tank, and while I had my Tamron 90mm f/2.8 macro lens out, I figured I would take a photo of Alan’s eye and then my eye. One thing led to another, and I tried to figure out how to tether my Nikon D800 to my laptop so I could use the screen as a viewfinder, making self eye portraits easier. It was not easy.

Read more

Creative SB1560 and macOS Sierra

Posted at age 28.

Creative released a Sound Blaster Omni Surround 5.1 firmware update that allows the SB1560 to work with macOS Sierra. Despite the notes claiming it must be installed from a computer running either Windows or a version of OS X older than macOS Sierra 10.12, I was in fact able to install it directly from within Sierra. This entry serves simply to document that fact.

sb1560_sierra.png

sb1560_sierra.png

Read more

Years of photos, comments gone from Facebook

Posted at age 28.

I noticed May 11 I could not upload photos to Facebook via the Adobe Photoshop Lightroom Facebook plugin I had been using for several years. This was not a surprise, as I have been having intermittent issues with my publisher connections through my recent reformatting and data shuffling process. I thought the worst case would be needing to reauthorize the plugin and perhaps create a new “May 2017” album to continue uploading to. Then I checked Facebook and saw it was much worse. Thousands of photos were missing, and I was not alone.

Read more

Switching from Backblaze to Arq+Amazon

Posted at age 28.

These plans already have been foiled: Amazon Drive failure to launch

Having recently reformatted my desktop to document my setup in my dotfiles and hackintosh Git repositories, I needed to reinitiate my backup process. It became clear Backblaze was not going to work for me any longer due to the fragility of their architecture. After admittedly minimal research (I have pursued far too many tangents lately!), I am ditching Backblaze and trying Arq+Amazon Cloud Drive instead. Backblaze was at least kind enough to give a refund for my unused time.

Backblaze Inherit Backup State / Backblaze failed to make this computer inherit your backup state.  / ERR_error_unknown

Backblaze Inherit Backup State / Backblaze failed to make this computer inherit your backup state. / ERR_error_unknown

Read more

Withings data management a mess

Posted at age 28.

I just completed migrating my weight and heart rate information to a new Withings account because they are incapable of figuring out why my Wi-Fi Body Scale (WBS01) (new version) can no longer be associated to my original account. Their export and import process does not support temperature data, so I need to continue using my Thermo with the Thermo app signed into my original account, while using my blood pressure monitor with the Withings app is signed into my new account. Additionally, the import process ignores comments, so I needed to manually copy and paste all the comments for each measurement. What a pain!

I thought I had low confidence in Fitbit based on my experience over the years, but man, now I don’t know who I would recommend for smart body devices. I really want to support the pioneers instead of the big companies, but if they keep screwing up, I guess there’s no point.

Read more

Switching to Dvorak

Posted at age 28.

This is the most painful entry I have ever written, but hopefully the pain will be worth it. I am typing in the Dvorak keyboard layout thanks to a deceptively enticing set of lessons at learn.dvorak.nl, which I found linked on Reddit while researching what people do with programmable layers like my CODE 61 key has.

dvorak-keyboard-training.png

dvorak-keyboard-training.png

Read more

Android rabbit hole: rsync and adb root

Posted at age 28.

I have a Nexus 6P running Android 7.1.1, but I am a few updates behind. I haven’t gotten the process down for updating since my phone is rooted and I am wary of losing data, so I tend to delay. I almost documented what I did last time, but it turned out to be simpler than I expected and I neglected to save the instructions. Now I sat down to do it again, but figured I would first try to understand how to fully back up and restore the phone at more of a disk image level. It didn’t end as well as I hoped, and this entry serves more as a log of what I did than as a guide for anyone else.

Read more

Apple frustration: Copying contact info impossible in Messages

Posted at age 28.

When I message a new person using Messenger, I frequently want to copy and paste the phone number elsewhere once I have begun talking. This is maddeningly difficult and requires me to either copy and paste the number before I hit enter upon first entering it, write it with pen and paper or fully open the Contacts app and locate the contact and number.

Once a conversation is started, double clicking the number or the contact name produces a little popup with the contact info. You would think you could copy the info easily, especially since you can highlight portions of it. But the copy function does not work at all here.

Once a conversation is started, double clicking the number or the contact name produces a little popup with the contact info. You would think you could copy the info easily, especially since you can highlight portions of it. But the copy function does not work at all here.

Read more

Brief addiction to 2048 game

Posted at age 28.

I don’t know what came over me the other day, but I looked at the popular apps for macOS Sierra, and I downloaded the game 2048. It looked simple and thus I thought it would be a quick diversion. Oops.

2048-4x4a.png

2048-4x4a.png

Read more

Fixing macOS dark menu bar icons

Posted at age 28.

I use the dark menu bar on my machines running macOS Sierra, but some app icons are hard to see. I finally bothered to search for a solution, and it was quite easy.

My dark menu bar before fixing the first and sixth app icons

My dark menu bar before fixing the first and sixth app icons

Read more

Crowd funding frustrations

Posted at age 28.

This entry is simply documentation of a phenomenon that might be of interest to future or past historians.

You’d think after years of collective experience, companies relying on crowd funding would get better at their shipping claims. The KANOA earphones I ordered in May were promised around July, then pushed to August, then September, and now October or November. I hoped to have them before the San Francisco Marathon and then before the Burning Man 50K. Now Apple’s launching the AirPods and will probably ship them before I get the KANOA set. Also I ordered a laser projector on Indiegogo, but it was canceled altogether apparently due to issues shipping to the United States. At least I supposedly got a refund on that!

Read more

Sound reactive fur coat

Posted at age 28.

Two winters ago I bought a faux fur coat at a secondhand store The Retique in Milwaukee. I intended to take it to Burning Man in case it got cold. And it did, but I forgot the coat. This year I intend to not forget it, and I also managed to spend some time putting lights into it today. I hope to improve it, but I am documenting it now lest I never get back to this.

Sound reactive fur coat hanging up

Read more

Disabling Facebook, other notifications in Android 6

Posted at age 28.

Facebook app notifications in Android 6.0 are controlled in either of two places, at the system level or from within the app. Totally disabling the notifications can be done in either place, while disabling only some types of notifications must be done within the app.

I created this entry since I was sending my dad instructions anyway.

Read more

Why am I using Coinbase?

Posted at age 28.

I received a request from Coinbase to provide more personal information. While I still hope bitcoin replaces much of our current payments system, I must admit I am at least not being interrogated by my bank regarding the use of my account.

Read more

First tardigrade sighting!

Posted at age 28.

As explained in the first entry, I bought a microscope mostly so I could look for tardigrades, aka water bears, and hopefully make lovely videos of them. Within hours of getting my scope set up, I managed to find some!

Isolated tardigrade: My first attempt at finding tardigrades and putting them on a slide, using an OMAX M837ZL microscope. This is using a 40X objective and a 14MP camera at the smallest video setting, 1024x822, for faster frame rate.

Read more

First impressions of OMAX M837ZL series microscope

Posted at age 28.

The microscope I bought arrived, and I spent a day getting familiar with it and the lenses. I was generally pleased, but ended up buying a bunch of new objectives and condensers to see if I could get better images. This post is regarding the initial purchase except the images at the end featuring the darkfield condenser.

_CNG5017.jpg

First test of the OMAX M837ZL microscope, looking at some local moss associated cells.

Read more

Seeking OMAX M837ZL series microscope manual

Posted at age 28.

It took me a while to locate the manual for my new microscope. I was not surprised to have trouble since the lone Amazon review warned of no manual being provided and a broken link, but it was more difficult than I thought it would be to find the manual online.

IMG_20160601_160447.jpg

My OMAX M837ZL microscope came with a broken CD, but luckily I was still able to get the files off.

Read more

I bought a microscope

Posted at age 28.

As an early birthday present to myself, I bought a microscope despite many other priorities. I’ve spent a few days using it over the past two weeks, and while I have mixed feelings, I don’t regret the purchase.

IMG_20160601_115812.jpg

While waiting for the microscope to be delivered, I searched for moss in the park that overlooks my house from above.

Read more

OMAX software and micrometer sample images

Posted at age 28.

I’ve been getting acquainted with my new microscope and its digital camera software. I initially decided to buy a microscope based mostly on the USB camera resolution finally exceeding a few megapixels without costing thousands of dollars. After these tests, it looks like I may end up not using the USB camera much after all, due to difficulty getting the colors right. Thankfully I decided to try a Nikon SLR adapter, as photos through that look much better!

micrometer-meiji-plan-40x-nikon-d800.jpg

Stage micrometer viewed through a Meiji plan 40X NA0.65 (spring) 160/0.17 objective lit through an OMAX dry brightfield Abbe NA1.25 condenser captured by a Nikon D800 with AmScope 2X SLR camera adapter

Read more

Creative SB1560 and OS X

Posted at age 27.

While I haven’t found a great solution for optical digital surround sound on OS X, I’m accepting my current setup. Using an external sound card device, I am feeding three separate audio cables into my surround speakers, and everything seems to work reasonably well now.

Read more

Confusing Drobo Dashboard email settings

Posted at age 27.

In my endless endeavor to optimize my data storage scheme, I changed my Drobo 5D‘s drive redundancy setting from dual to single, such that I would only be able to sustain one drive failure, but I would gain an extra six terabytes of space. The free space has fallen below 20 percent, and I’ve ready reports of Drobos becoming incredibly slow once past three quarters full. I also had some issues connecting Drobo to Gmail, but got it working using Port 587 and checking the SSL box, despite this being against Google’s documentation.

Read more

Turtle Beach Micro II and OS X

Posted at age 27.

After troubleshooting surround sound on OS X El Capitan all week, I bought a USB digital audio adapter in hopes of circumventing the problems using the digital audio port on my motherboard. Well, those hopes have been dashed! It seems I can only reliably get surround sound through the Micro II using the annoying Plex Home Theater app, which is exactly the situation with my onboard optical port. Oh well!

Read more

Striving for surround sound

Posted at age 27.

Update: I’ve settled on a solution using the Creative SB1560 and three audio cables, giving up on optical digital audio.

This week I’ve been trying to get true surround sound from my desktop’s optical digital port. I haven’t been totally successful yet, but I do have a much better understanding of audio formats and channels and and technologies involved. Using Windows, everything works splendidly, but I’m primarily running OS X El Capitan. Needless to say, it’s been frustrating! I currently can only get reliable DTS surround sound using the Plex Home Theater app, but that’s clunky and won’t play any video file like VLC player.

Read more

Apple frustration: AirPort Utility shows inconsistent mapping

Posted at age 27.

The following screenshots were taken within 10 seconds of each other after restarting the AirPort Utility app.

Sometimes launching OS X's AirPort Utility from a wired computer on the network shows a correct layout.

Sometimes launching OS X's AirPort Utility from a wired computer on the network shows a correct layout.

Other times the layout is squashed and therefore I don't have much confidence it's right even when it doesn't look squashed.

Other times the layout is squashed and therefore I don't have much confidence it's right even when it doesn't look squashed.

Read more

Runkeeper’s paid charts still aren’t working

Posted at age 27.

I started using Runkeeper to track my runs in July 2010, and soon after I started paying $19.99 per year to support the service. The additional features for the money were limited, basically boiling down to some extra charts and a live run feature where others can see your run in real time. This wasn’t as cool as it could be, or even as similar features from competitors. I’ve seen friends using a Nike app, I think, where it would post to Facebook at the start of a run, and the phone would read comments and cheers as friends interacted with the post. As far as I know, Runkeeper never did anything like that. And I’m not sure I would have used it anyway.

Read more

Android voice transcription prompts

Posted at age 27.

I use voice transcription instead of typing quite a bit, and I have for a few years. Often I don’t even bother correcting it, or I only use it for shorter sentences so I can easily see problems and fix them. But I’m trying to use it more …

Read more

Raspberry Pi and Smokeping network monitoring

Posted at age 27.

We’ve had some network issues lately, so I dug out one of the Raspberry Pi Model Bs I got for free from Adafruit with my first couple of orders in September 2013. I then set it up to do network monitoring using Smokeping. Since it takes 10 or 20 seconds to generate the graphs, I switched to a master-slave setup where the graphs could be generated on my web server, but the measurements taken from the Raspberry Pi on my home network.

Read more

Alignment in Python code

Posted at age 27.

Since my first programming book 15 years ago, I remember the convention of using extra spaces to align the equal signs in lines of variable assignments. This has been pretty standard in most of the languages I’ve used over the years. It’s not a big deal, but it’s something I do instinctively. I struggle much more with other spacing and indentation issues, and seeking guidance, I read Python’s PEP8. And I’m not sure I like with what I found.

Read more

Rough start with SmartThings

Posted at age 27.

Soon after I moved in here last year, there were a number of suspicious incidents in the shared garage. I’m told a rental car was stolen and later found by police, and another time a rummager took some items, including keys to some motorcycles. At least one of the incidents did not involve the door being accidentally left open, but we weren’t sure if they had a key or taped a lock open or something.

Anyway, it seemed some more theft might be imminent, so Paul bought a Nest camera and installed it in the garage. It’s worked pretty well, sending notifications to all our phones on activity in the garage. There are false notifications due to light changes from vehicles driving by, but it’s alerted me to the door being left open many times. One such time, we got the alert in the middle of the night and found a video of someone poking around. He took a few things, but we’re not sure what exactly.

Read more

Apple still flunks first grade math

Posted at age 27.

One third of four multiplied by three is not four, according to the OS X calculator. I know this quirk is due to behind the scenes floating point arithmetic, but it’s interesting Apple hasn’t found a way to cosmetically fix this considering this calculator might be the most commonly used one in the world!

4/3*3=3.9999999999

4/3*3=3.9999999999

Read more

Encryption, key to democracy

Posted at age 27.

I’ve only ready a few stories on the Apple controversy, but I’m increasingly anxious, hoping civil liberties prevail. This is a bit of a journal entry combined with some comments I want to remember, so I’ll give a bit of background in case I read this in …

Read more

Comcast illegally pulls hard, promises free service

Posted at age 27.

I signed up for Comcast’s XFINITY Internet service this week, despite a deep seated aversion to contributing to the reign of a giant monopoly. Time will tell if I can live with the decision, but so far, it’s not looking so good. They have already done a hard pull on my credit report illegally, as I did not consent to it and they explicitly told me no such pull would be done since I was paying a $100 deposit. Additionally, the speeds are not as advertised. My attempts so far to deal with both these issues have wasted a lot of time and have been unsuccessful.

Read more

Fast Fourier transform examples

Posted at age 27.

I finally got a fast Fourier transform working on an Arduino Due! This is not exactly a final product but just a documentation of progress. I am working my way toward beat detection, but am still getting a better feel for FFT processing and observing different types of music and beats. Below is some information about how I got up to speed, and at the end are videos of where I am now.

Listening to Superlove by Avicii and visualizing it with the free iSpectrum app

Listening to Superlove by Avicii and visualizing it with the free iSpectrum app" class="mt-image-none" height="1820

Read more

Sound reactive room lighting using Arduino and LED strips

Posted at age 27.

In a recent journal entry I said I would post more details on the lights I’m using in my apartment. I wanted to spend some more time on the program itself first, but the weekend disappeared too quickly, so that will be an ongoing process. For now, here are some parts lists and information on setting up. I’ll also try to make a similar post for my rainbow spirit hood.

Room lights diagram. Note the NeoPixels image has the data and +5V switched. The data is actually between the ground and voltage.

Room lights diagram. Note the NeoPixels image has the data and +5V switched. The data is actually between the ground and voltage." class="mt-image-none" height="2033

Read more

Back up OSX Messages attachments incrementally

Posted at age 27.

The Apple OS X Messages app stores files sent and received in a folder with a structure that doesn’t lend well to browsing. If you want to separately back up the family photos and videos received via iMessage on your computer, you can use some ideas here to help.

OSX Messages attachments folder

OSX Messages attachments folder" class="mt-image-none" height="602

Read more

Handwriting font service automates what took me hours 10 years ago

Posted at age 27.

While I was looking for some old political test results in my files, I stumbled across a font I made of my handwriting in high school. The filename is charlie2006.ttf, though I seem to remember making the font earlier than that. Perhaps I made two. Making that font using some program I don’t remember took many hours of painstaking curve plotting and adjustments, but I figured there might be an easier way now. And sure enough, Google showed me myscriptfont.com.

FCNG6438.jpg

The automated handwriting font creator from myscriptfont.com is slick, but I needed to redo my scans a few times to make corrections for thickness and more.

Read more

Software solution to drug shortages

Posted at age 27.

Deciding how to fix health care is hard enough. But when huge problems I didn’t even know were problems come to light, it makes me wonder how we can ever hope to change. Then again, every problem is a solution waiting for someone to take charge.

In this case, drug shortages could be studied and solved through smart tracking software run by a national health organization or on a smaller scale within a hospital system.

Read more

Drobo ‘data protection’ triggered upon switching to Thunderbolt

Posted at age 27.

Last week I built a hackintosh, and it took a few days of troubleshooting to get the USB ports working properly so I could access all my data, which is stored on a Drobo 5D. I had to wait several days before I could fully access my data, and now it seems I have to wait yet again.

I am not sure what event I have to thank for the current edition of 'data protection', but I am hoping it finishes faster than the 290 hours it initially reported!

I am not sure what event I have to thank for the current edition of 'data protection', but I am hoping it finishes faster than the 290 hours it initially reported!" class="mt-image-none" height="736

Read more

Built hackintosh, gained respect for Microsoft

Posted at age 27.

Since I bought my first (Micron) computer when I was 10, I’ve had a thing for desktops and customizability. I did buy a giant Dell laptop in around 2003, but after that, I always built my own desktops.

Moving across the country in 2012, though, started convincing me to try to make a laptop work as a primary computer. I had to fit everything I owned in a small SUV, and desktops take up a lot of space! MacBook Pros around that time were starting to get sufficiently powerful to use with external monitors and play movies and everything else, so it seemed it was time to chuck the desktop. Also, all the travel I’ve done in the last two years was infinitely more feasible while using a laptop as a primary.

IMG_20151227_152349.jpg

The 2015 MacBook has only one port for USB and power, so you need a special adapter. This one didn't work, though, even to connect to my SSD. The 36 inch cable caused too much power loss to keep the drive connected, and it didn't work at all with the power plugged in. I was only able to access data while using a six inch USB2.0 cable and no power. USB3.0 caused intermittent disconnects.

Read more

Fitbit battery fizzles again

Posted at age 27.

A few weeks ago, my Fitbit Charge HR rather quickly deteriorated from needing charging once a week to needing charging every day and a half. Thankfully it was within the one year warranty, and Fitbit pretty easily sent a replacement after I sent an email inquiry. I suppose had it happened just after the warranty ended, I could have gotten a replacement through my credit card warranty service, but it was nice Fitbit didn’t make it a big hassle.

IMG_20151224_003426.jpg

My Fitbit Charge HR after 11 months of use

Read more

Generate nested redirects from CSV file

Posted at age 27.

One of my work clients is undergoing a migration from Movable Type to WordPress, and the decision was made to change the URL structure of basically every piece of content. While not ideal, this move can make sense, especially if the old structure wasn’t very future proof and started causing duplicate URL conflicts.

Read more

Runkeeper heatmaps

Posted at age 27.

This morning my friend Walter sent me a link to his cycling heat map on Strava, and it was pretty cool. Even cooler than my silly temperature + Fitbit history chart maker app, Weatherbit .

Update: Check out an example map from CityStrides.

Walter's cycling heat map

Walter's cycling heat map

This morning my friend Walter sent me a link to his cycling heat map on Strava, and it was pretty cool. I figured there must be a web service that creates these based on Runkeeper data, so I Googled "runkeeper heatmap." Apparently there isn't a readymade service, but the top result gave me exactly what I needed to do it myself.

Running heat map: San Francisco, California

Read more

Week in review: drugs, overtime and genetics

Posted at age 27.

This week involved not much more than working 56 hours (unusual), though it was at least in the company of my dog, Vera, since her new owner was out of town.

Work has been pretty crazy lately, as two of my large clients are undergoing migrations and redesigns. One of those launched this week, which went pretty smoothly, but just took a lot of time I didn’t have. The other has a lot of work left, but I hopefully finished most of my role and provided enough documentation for others on my team to fill in the gaps. Time will tell, there. As for me, I supposedly have off two days next week in exchange for the overtime this week, and I am already planning to take off the entire following week to get caught up on personal stuff.

I almost forgot to get a new Adderall prescription this week. I am prescribed one 25mg capsule daily, but because amphetamines are Schedule II drugs, it is somewhat inconvenient to actually obtain what I am prescribed. For most drugs, I can get 90 day prescriptions automatically filled by the mail order pharmacy my insurance uses, OptumRx. The two drugs I take, however, aren’t so easy. (Truvada as PrEP is a story for another time.)

Amphetamine and methylphenidate

Amphetamine and methylphenidate

Read more

Handling 404 errors in Movable Type

Posted at age 27.

You can of course handle page not found errors entirely outside Movable Type by doing nothing or creating a static error page and pointing to it with your web server’s ErrorDocument or similar directive.

Or, you can make use of a fancy plugin called Clean Sweep by Byrne Reese and Dan Wolfgang that logs errors and allows you to redirect them to their correct pages. It also attempts to guess the correct URL if the attempted URL matches the basename of an existing entry, which is pretty slick.

Read more

Finally fixed my phone

Posted at age 27.

Earlier this year in February, I broke my Nexus 5 screen and opted to buy a new Moto X (2nd gen., XT1095) since I was going to be leaving the country for six months soon, and wasn’t sure if I’d have time to repair it. Since I had to transfer everything to a new phone, I rooted the Android 5.0 installation right away so I could use Titanium Backup, which would supposedly let me do a full backup and transfer in the future without much hassle.

Read more

Blogging barriers

Posted at age 27.

I initially sat down to write briefly of how I was having an enjoyable morning getting organized and working sporadically on the many things I want to do today: potting plants I bought on Amazon, processing photos from the past several months, and perhaps blogging. This all seems rather trivial considering today we bombed a hospital, yesterday we lost a ship and 33 people to Hurricane Joaquin, Thursday we had a mass shooting, and Wednesday fricken Congress almost shut down the government, again… but you have to make the best of things.

Anyway, I got the idea to take a photo of myself doing work at my desk so I could later reminisce. That wasn’t too difficult, though it did require my “Hobby Creek Helping Hands Third Hand Kit Soldering Tool” to hold my GoPro HERO4 balanced on top of the closet door.

GOPR0187.jpg

My bedroom, a work in progress

Read more

SIM cards

Posted at age 26.

This was originally going to be a more thorough description of the mobile data situation everywhere on this trip, but I fell off the wagon, so I will just post what is here and leave it at that. :-/

Read more

Moving MySQL data with Vagrant and Ubuntu 14.04

Posted at age 26.

I recently started doing my local development on virtual machines using Vagrant, and PuPHPet. I really should have started this long ago given all the hoops I’ve had to jump through setting up Perl and friends with every new version of OSX. And even though the new OSXes lately barely qualify as a new version and come out more and more frequently, they still break nearly everything about my development environments. So, virtual machines are super convenient.

Read more

Credible’s incredible marketing is just not credible

Posted at age 26.

Back on February 19, about six weeks ago, I saw an ad on Facebook for Credible, a company that supposedly helps you consolidate private and government student loans. I had done a consolidation before through the sort of official Education Department route, but only some of my loans qualified, so I was still left with six loan accounts to deal with, ranging from 5 to 6.5 percent interest rates. For a few years they have been on auto pay, so it wasn’t a big deal, but the OCD me would prefer to see just one nice loan account instead of a bunch with weird payment amounts.

Credible claims to solve my “problem” with ease, in just three steps!

Credible marketing

Credible marketing" class="mt-image-none

So I filled out the Credible sign up form and waited.

Read more

Party in Japan like it’s 1999: Internet

Posted at age 26.

Given that a typical visit to Facebook with its auto updating news feed complete with preloaded videos could easily blow my daily data cap in just a few minutes, I have no qualms about saying the notion of Japanese technical prowess is dead, and I would not be surprised if the state of the Internet here is indicative of where this country and its economy are headed. People come here and try very hard to throw away money to get some work done, and still fail. They say Japan is in a crisis; perhaps this is why!

flets-hikari-light-next.jpg

My speed test on Toppa! Internet over Flets Hikari Next fiber line


Read more

I hope YouTube commenters aren’t representative of society

Posted at age 26.

Scrolling through my Facebook feed, I found a link to (a blog post linking to) the below video of some boys known as the Rhodes twins, coming out to their father. I wasn’t going to click, as I’ve been experiencing strong overhyped-sentimental-click-baiting fatigue, but then I caved, maybe because they appeared to be cute. What the hell kind of person am I?

Read more

Runkeeper hiring via hidden message

Posted at age 26.

Though maybe not hidden to their target audience.

Earlier this year, at the top of Runkeeper’s HTML (actually, after 50 blank lines, for some reason), I found this cute message:

<!doctype html>
<!---


      ,------. ,--. ,--.,--.  ,--.,--. ,--.,------.,------.,------. ,------.,------.     
      |  .--. '|  | |  ||  ,'.|  ||  .'   /|  .---'|  .---'|  .--. '|  .---'|  .--. '    
      |  '--'.'|  | |  ||  |' '  ||  .   ' |  `--, |  `--, |  '--' ||  `--, |  '--'.'    
      |  |\  \ '  '-'  '|  | `   ||  |\   \|  `---.|  `---.|  | --' |  `---.|  |\  \     
      `--' '--' `-----' `--'  `--'`--' '--'`------'`------'`--'     `------'`--' '--'


      ,--. ,---.      ,--.  ,--.,--.,------. ,--.,--.  ,--. ,----.                       
      |  |'   .-'     |  '--'  ||  ||  .--. '|  ||  ,'.|  |'  .-./                       
      |  |`.  `-.     |  .--.  ||  ||  '--'.'|  ||  |' '  ||  | .---.                    
      |  |.-'    |    |  |  |  ||  ||  |\  \ |  ||  | `   |'  '--'  |                    
      `--'`-----'     `--'  `--'`--'`--' '--'`--'`--'  `--' `------'

                                                                              ,---.,---. 
      ,--.,--.  ,--.    ,-----.   ,-----.  ,---. ,--------. ,-----. ,--.  ,--.|   ||   | 
      |  ||  ,'.|  |    |  |) /_ '  .-.  ''   .-''--.  .--''  .-.  '|  ,'.|  ||  .'|  .' 
      |  ||  |' '  |    |  .-.  \|  | |  |`.  `-.   |  |   |  | |  ||  |' '  ||  | |  |  
      |  ||  | `   |    |  '--' /'  '-'  '.-'    |  |  |   '  '-'  '|  | `   |`--' `--'  
      `--'`--'  `--'    `------'  `-----' `-----'   `--'    `-----' `--'  `--'.--. .--.  
                                                                              '--' '--'

      It's dangerous to go alone!

      Take this!

      /jobs.

      or email us directly! jobs[at]runkeeper[dot]com

  -->
<html xmlns:og="http://opengraphprotocol.org/schema/">

Read more

Six friends and many wasted hours later, I have Internet!

Posted at age 25.

It has been a long road thus far to get decent Internet here in Tokyo. I thought Japan was technologically advanced, but no more.

I spent my first month at a temporary place I found on Airbnb, and prior to booking, I asked the host if he could do a speed measurement on his Internet connection. Instead of doing that, he responded, "The internet connection of here is optical fiber broad band one." Well, it turned out to be fast enough, but not as fast as that "optical fiber" made it sound. My connection there was around 10 megabits down and 2-5 up. Not horrible, for sure. The main problem there is the Internet would cut out periodically, and at least once a day I would have to power down the modem and router to troubleshoot. I really looked forward to getting an actual apartment and my own Internet service!

_CNG6108.jpg

A plastic cable the Internet installation people used to try to get the fiber optic cable to pull through wherever it comes from

Read more

MT tag autocomplete trick to see private tag list

Posted at age 25.

Anyway, to work around this, you can force the script to read the whole text entered and generate a new drop down by hitting the right arrow to cancel the drop down, and then the down arrow to force the drop down. If you have no tags beginning with "2", you can just hit the down arrow after entering "@" to see the list of private tags.

All private tags show after hitting the right arrow key and then the down arrow key

All private tags show after hitting the right arrow key and then the down arrow key

Read more

How to stop Spotify from killing the Internet, and Backblaze uploads

Posted at age 25.

Overall, I feel left out of the conversation, as Spotify is not very forthcoming about how it uses your connection. The only mention I can find in their help documents is a question "How much disk space and bandwidth does Spotify use?" where it states without answering the question:

To reduce download data, increase the cache size. To reduce upload data, reduce the cache size.

Or, just block Spotify from uploading and leave your cache alone, and Spotify will respond much faster and allow your household to enjoy the Internet again. And Backblaze can resume uploading my data. :-)

Read more

Movable Type 5 error upon publish

Posted at age 25.

I haven’t gone back to see what version of MT this starts with, but this particular setup is a Movable Type Pro 4.37 installation that was upgraded to 5.2.7. Upon publishing an entry, I observed this error screen:

An error occurred

Undefined subroutine &MT::Template::Tags::Entry::_hdlr_entries called

Read more

Creating a CSV export Movable Type template

Posted at age 25.

Movable Type is an incredibly flexible publishing system that makes it trivial to create output files of any text file format. One common request is to create a Microsoft Excel compatible CSV (comma separated values) spreadsheet of various data from a content management system.

A basic CSV file might look like this:


Name, Birth Date, Death Date
Britney Spears, 1981-12-02,
Albert Einstein, 1879-03-14, 1955-04-18
Justin Bieber, 1994-03-01,
Betty White, 1922-01-17,
George Washington, 1732-02-22, 1799-12-14


Read more

CSV file of Movable Type entries with duplicate titles

Posted at age 25.

On the off chance this might be useful to someone, here is a sample template to output a CSV formatted file with all the entries in a blog that have duplicate titles. In the first Entries block’s blog_ids modifier, replace the word “all” with a blog ID number, or remove the modifier altogether if you are publishing this template within the blog from which you are exporting entries.

Read more

Weatherbit: Discover how weather affects your activity level

Posted at age 24.

I don't remember exactly how I came up with this idea, but when I was looking at some D3.js powered charts, I decided to make something so I could play with them. Somehow I chose to try pulling my daily step counts through the Fitbit API and graphing it against temperature data. I found a neat weather data API, Forecast.io, and used my Foursquare history to determine which location to use for weather data each day. Once I got this working, I created a web page so others can create their own graphs. And I called it Weatherbit.

Screen Shot 2013-06-08 at 18.12.57.jpg

My Weatherbit chart

Read more

Amazon CloudSearch could improve its unhelpful errors

Posted at age 24.

I was setting up a search domain last night, and went to bed while the latest draft of my SDF file generated. This morning I tried to upload it on the "Create a New Search Domain" dialog, and got this new error.


Screen Shot 2013-01-29 at 10.23.06.jpg

Amazon CloudSearch's "Create New Search Domain" dialog. I didn't take a screen shot of the error, though. :-(

Read more

Picasa Express 1.0 for Movable Type released

Posted at age 24.

Today marks my first Movable Type plugin release! I've been working on this on and off for almost a year, so I'm very happy to finally have finished it.

This all started early 2011 when I needed to get my photo blogging workflow nailed down for my impending trip to Buenos Aires. I reluctantly decided to port my Movable Type installation over to Wordpress since there were many more plugins available. Particularly, there was a plugin that made it super easy for me to post photos hosted on Picasa Web Albums, which I was already using. I got a basic WP install up, moved all my content from my MT system, and that was that.

PicasaExpressSettings.jpg

Picasa Express 1.0 settings screen

Read more

Stop taking naps

Posted at age 24.

I need to stop taking naps midday. Or stop being tired midday. Or something. But I hate just getting to work in the afternoon! When I could be almost done for the day!

I started using the app Sleep Cycle last night. We’ll see.

Read more

Simple PHP file caching

Posted at age 23.

Note to self that might be useful for others doing really basic stuff:

Often I use Random Web Service’s API to get a JSON file of data repeatedly, but that file doesn’t need to be refreshed 600 times a second. I can then use a simple PHP script to store the file and retrieve it from disk until it gets to be a certain age.

Read more

Hackers & Painters’ by Paul Graham

Posted at age 23.

While I was searching for electronic formats of my printed books, I stumbled on the book “Hackers & Painters: Big Ideas from the Computer Age” by Paul Graham, published by O’Reilly and copyright 2004. I started reading it on a whim and basically got sucked in, reading on the plane and in between things for the past two days. About 250 pages later, I’m antsy to program and move to San Francisco more than ever! But first I’ll take a minute to recall the parts of the book I most want to remember before I don’t.

Read more

Use PHP to output first two paragraphs of MT entries

Posted at age 23.

This is a quick and dirty solution for use in Movable Type templates, but it should work!


<?php
$body = <<<EOT
<$mt:EntryBody encode_php="here"$>
EOT;
preg_match_all('#<p>(.+?)</p>#is', $body, $matches);
switch(count($matches[0])) {
case 0: break;
case 1: echo $matches[0][0]; break;
case 2: echo $matches[0][0].$matches[0][1]; break;
default: echo $matches[0][0]."<p>".$matches[1][1].' <a href="<mt:EntryPermalink>" class="actionlink">Read more &raquo;</a>'; break;
}
?>


Read more

Bank website password inconsistencies drive me insane

Posted at age 23.

I've never been one to use the same, simple password for everything, like many FBI agents and possibly 92 percent of Sony customers. For the better part of a decade, my strategy was to use a ridiculously long "secure" password for important sites, and a simple (but nondictionary) password for the rest. Then a number of years ago I switched to the much more robust strategy of using a complex sequence combined with parts of the website name following some formula. I didn't want to make it too complicated, though, so I limited the password to eight characters, as one of my banks had this limit on passwords.

Fullscreen capture 7212011 121559 AM.jpg

Capital One password restrictions

Read more