Security
December 5, 2017
Or, what happens when you send an email to the wrong place.
Note, for the time being, I have redacted the names of the company and doctor
involved as I am attempting to follow through with a responsible disclosure
process for this security issue.
I had something very strange happen to me today.
It all began with a random email to an address that I don’t use much anymore,
but still have in Mail. It’s an email account I’ve had for over 13 years, so it
still gets the occasional stray email. The subject read as follows:
Welcome To <redacted> Patient Portal
Followed in quick succession by another one:
Welcome To <redacted> Patient Portal
Wait, what?
Read More
Raspberry Pi
December 1, 2017
In my last post about building the pet feeders, I alluded to one of the
limitations of the Raspberry Pi has: it lacks a real time clock. This is an
understandable omission. They take up extra space and cost, are not needed for a
lot of applications and can be pretty easily added if they are.
One of the limitations I found is that, if there is a power outage that lasts a
significant amount of time - long enough for the UPS batteries that keep the
wireless up go dead, for instance - that the Raspberry Pi’s may “lose” track of
time if they can’t reconnect to wifi and, thus, sync up by NTP.
Read More
Release Announcements
April 7, 2017
As you can tell from the last few posts, I’ve been having a lot of fun with
collectd and instrumenting my systems. But I had one glaring hole until
recently: my Ubiquti Unifi AP access points. Well no longer!
Read More
Release Announcements
March 31, 2017
Okay, no profit in this, but it certainly is fun!
I have two Nest thermostats in my house and, after some teething pains (yay the
life of an early adopter) they have been pretty solid. But they’re also black
boxes that I know little about. I know they’re collecting mountains of data and
sending it back to the Google mothership. Wouldn’t it be nice to get at some of
that data and build my own reports?
Read More
Javascript
March 12, 2017
AngularJS’s built-in ngResource is
a great tool for natively supporting REST APIs in your Angular application. But
what happens when you need to support something besides a simple call that
retrieves a list of JSON objects? You quickly run into the limits of ngResource.
Here’s a great case where you might need to do something more complex: paging.
Say you want to get a list of objects, and there’s 10,000 or so of them. You
don’t want to send 10,000 objects to your frontend app. You want to send a
portion of them, but you still need to indicate to the app that there are more.
Surprisingly, considering how widespread this pattern is in web development,
there does not seem to be a native way to accomplish this. But you can extend
ngResource. Here’s how I did it.
Read More