Life-long learner. Software Developer. Fur baby dad. Creator of things that (hopefully) make lives better. #Java, #Angular, and #Ruby are the cause of (and solution to) many of my problems. ⌨️☕️🇨🇦 #Winnipeg is my home.
Years ago, when our team started doing more conference calls rather than in-person meetings, we ran into a lot of trouble with people talking over each other.
I created ihavetheconch[dot]com as my tongue-in-cheek way of getting people to only talk one at a time.
The project still lives on today (still works, too!).
Over the past month, I've been looking into starting my own business. It's a daunting task, having never done anything like this before. There's a thousand things to worry about.
The way to Step 1000 is to tackle Step 1. The trick for me is figuring out what Step 1 actually is.
Step 2: monitor the inbox using #n8n. Extract out the tracking number with a bit of Regex, then use the 17Track API to add the tracking number to my account. Optionally set the carrier if 17Track wasn't able to detect it, based on the info provided in the email. #automation
Step 3: Set up the 17Track integration in #HomeAssistant, then create an automation that detects an increase in the delivered package count, then notify as you see fit.
The 17Track work within #n8n could probably be done differently. All credit for the inspiration goes to this GitHub repo. After I realized how to do it I was able to just open the Inspector tool on the 17Track website and implement necessary HTTP calls.
I've only handled Amazon shipping notifications so far, but this should be fairly simple to update for Shopify-based shipping info.
Amazon shipping notifications all seem to have the "X-AMAZON-MAIL-RELAY-TYPE: notification" email header. Shopify-based systems probably have something similar, but I haven't anything physical delivered from a Shopify store in quite a while!
I was getting frustrated with the multiple versions of #Tasker plugin documentation, so I started creating a wiki article with up-to-date information and examples.
While the examples provided showed me what to copy-and-paste, I didn't understand how it all fit together or how to build something from scratch. This is my attempt at reducing pain for future developers (and future me!). Examples, tutorials, gotchas, and more.
My current obsession is sticking little NFC stickers on anything and everything to automate stuff with #Tasker as the trigger.
🚰 Tag on the water bottle? Scan to log water consumption.
🐕 Tag next to the dog leash? Start the #Toggl time entry for walking my dog.
📺 Two on the back of the TV remote for watching YouTube or movies (the movie one dims the lights).
👕 One on the washing machine to start a timer to remind me to put the clothes in the dryer.
I ended up using #n8n for a bunch of other data collection tasks:
☁️ I've always suspected that the cloudier it is, the less happy I am. I track cloud coverage and temps every 4 hours via OpenWeatherMap
🦣 Does posting to social media impact my mood? Count today's Mastodon posts
🗣️ What does the impact of using social media have on my day? Pull data from the #RescueTime API for my productivity score and a few categories
☑️ WIP: How many tasks did I complete in a day?
Been going down the #lifetracking rabbit hole over the past few months. What previously started as a bunch of manual inputs is slowly getting more automated.
Yesterday's contribution was pulling data from the Fitbit API for weight, steps, sleep quality, and water consumption. Using #n8n, it looks a little something like this.
Anything that'll be accurate just after midnight I collect shortly after at 1am. Other things like my weight or sleep stats get collected at noon.
There's a JEP draft currently underway to support Markdown in documentation comments.
I'd love for this to become a part of OpenJDK. Having to use HTML gives developers one more reason to not write docs. Markdown is also much easier to read in its source code form. (Ironically, JEP 1 states that JEPs should be written in Markdown. It's fitting to extend this to Java comments!)
Eating tortilla chips last night threw off my whole morning routine.
Having a snack? May as well sit down and watch a bit of YouTube.
1 or 2 videos turned into 5 or 6. 5 minutes turned into 30. And now I'm going to bed late.
And if I want to get in 7 hours of sleep, then my morning starts later. But my work day always starts at the same time.
So something has to give. My time to work on my personal projects, reading, journaling.
One small decision has such a big compounding effect.
Well, after a bit of fumbling, I'm releasing the first version of my first #Android app, Timekeeper.
Timekeeper is a #Tasker plugin to automate interacting with #Toggl Track for time tracking. My main use case is things like scanning NFC tags around the house when I'm doing various things.
It only does some basic time entry starting and stopping now, but it's a good starting point. If that's something you might benefit from, consider checking it out.
Last month, I started going down the rabbit hole of learning how to make #Android apps.
The whole mobile development ecosystem feels totally foreign to me. Jetpack Compose has definitely made the experience smoother for me, having dabbled with Flutter a few years ago. Still, the brain hurts.
Day by day, it gets a little easier to figure out how things piece together.