Hacker's Diary
A rough account of what I did with Emacs recently.
- August 31
- Tooling around with TinkerCAD
in an attempt to create some bits and pieces to use in SweetHome3D;
for some reason they disagree on which way around the axes are, so
objects created upright in the former appear face down in the
latter; and exports with defined materials won't load directly -
you need to replace "d X" with "T 1-X" (or just remove it outright
since you're probably not creating transparent things, right?)
before SweetHome3D will import the objects. Still, though: pretty
cool.
- August 30
- So, ah, The Grifters.
Somehow nominated for four Oscars, including "Best Writing", and
damned if I can tell why. It doesn't actually appear to have a
plot, it's just a bunch of stuff that happens. There's no
character development. There's no reason to care about any of the
principals. I am confounded as to how this got any sort of good
reviews for anything, to be honest.
- August 27
- Just discovered that my mail server has been silently bouncing
mail for the last week or more due to an almost-full disk. Trying
to figure out where the almost-full disk came from right now. If
you sent something to me at waider.ie and got a bounce, this is
why.
(I should stress it's not been bouncing all mail, which
is why I didn't notice the problem.)
- August 24
- Bombshell: The Hedy Lamarr Story
was a fascinating look at a fascinating person. The best part
about it is that it's partly based on, and made up of, an audio
recording of an interview Lamarr did late in her life, so in some
places it's literally her own words telling her story. Really
enjoyed this.
- August 23
- Hellboy:
not a patch on the previous version. Really. It wasn't terrible,
but it kinda dragged and lacked... oomph. (also the trailer
spoiled at least one reveal, boo.)
- August 20
- Trying to build some tools for the GoPro linux partition. Three
different packages with three different ways of configuring for
cross-compilation and installing somewhere other than
/usr/local.
But YESSSSSS I managed to put a working ssh binary on the
camera.
- August 19
- Finished up with Catch-22 tonight. Given how... visceral the
McWatt/Kid Sampson bit was, I was surprised at how restrained the
makers were with Snowden's moment. I find myself trying to recall
the book at this point, and will probably reread it for comparison
- but a lot of what I remember from the book wound up on screen,
and well portrayed.
- August 17
- Missed the first half hour but watched the rest of The Fugitive
which was fun and, since it predates a lot of the more popular CGI
and camera techniques now in use, was a lot easier to follow
despite several glasses of wine and an ongoing conversation with
my visiting brother. Probably helps that I'd seen it before as
well. I did not recall that Joey Pants starred in this movie,
however.
- August 11
- So, sharing what I know and all. Getting onto your GoPro HERO+'s linux
partition is straightforward enough in the end - create a file on
your SD card called autoexec.ash whose contents are t
app usb linux with a plain '\n' line-ending - no MSDOS text
files here! - then unplug your camera from the computer, power
cycle it, wait a few seconds and plug it into the USB port on the
computer again. You should now get a new USB device - for me on a
MacBook it shows up as /dev/tty.usbmodem14101 - which is a
serial terminal for your GoPro's linux partition. Run some sort of
terminal emulator (I'm using Minicom) to access this and hit enter
and you should get a login prompt (buildroot
login:). Enter root as the login, with no password, and
ta-da, you're now root on your GoPro.
Next thing I did was brought up the WiFi in client mode: (these
commands assume your wifi database is empty, which it is by
default, otherwise when you run the first one it'll output a
number which you can substitute in the subsequent commands instead
of zero)
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"YOURSSID"'
wpa_cli -i wlan0 set_network 0 psk '"YOURWIFIKEY"'
wpa_cli -i wlan0 enable_network 0
Note the weird quoting on the SSID and wifi key - single quotes
surrounding double quotes surrounding the string you want to use.
After a few seconds this should successfully join your wireless
network and obtain an IP address, after which you should be able
to ping the camera across your network. There's an Avahi setup on
the camera which announces _gopro-web._tcp.local. In
theory you can put the above script into a file on the SD card,
then create an autoexec.ash file containing lu_util
exec "/tmp/fuse_d/scriptname.sh" to launch it, but I've not
tried this yet.
Note also that enabling the USB port as a USB-over-serial port
means you can't download your pictures, so to get things back to
normal you can replace your autoexec.ash with one that
says t app usb mtp and do the disconnect, powercycle,
reconnect dance again. Possibly simply deleting the autoexec.ash
file and dancing will work, but I've not tried that yet
either.
So now I'm gonna have to figure out why I wanted to do this; most
of the writeups on what you can do with the autoexec.ash
mechanism revolve around better photography which frankly I don't
much care about. I am interested in identifying the source of the
2GB bug I mentioned previously and figuring out if there's a way
to hack around it. Oh, and running a telnet or ssh daemon would be
nifty.
- August 10
- So no, I can't use an AWS ARM instance out of the box for GoPro
hackery because for one thing the AWS instances are 64bit and the
GoPro is 32bit. Anyway, turns out GoPro themselves link to a
compiler toolchain that will cross-compile on x86 Linux to produce
what look to be functioning binaries for the camera. Having poked
around the camera's linux partition a bit, I want to see if
there's somewhere I can make persistent changes that don't require
firmware reflashing - maybe there's a startup script that copies
stuff around, for example (the current hackery is enabled by a
startup script on the SD card; I'm looking for something that
might actually persist on the camera itself, or failing that will
get copied off the SD card by the linux subsystem on
boot).
Also, since I've used Linux from about 1993 when it was installed
from 4 floppy disks, it's a bit weird for me to be interacting
with the very same operating system on a camera that's probably
got more horsepower than my early 90s machine.
- August 9
- Evening project this week (because why not add another
unfinished project to my list) is hacking about with my GoPro. It
turns out that with a few simple commands you can get a
serial-over-USB terminal to the "outer layer"; currently working
on transmuting this somehow into access to the Linux system
sitting inside it. There are tantalising hints all over the
interwebs, but a lot of them aren't obvious to casual
searching. It's also occured to me that since it appears to be
using ARM binaries, I can probably build stuff on an AWS ARM micro
instance that might just run on the embedded Linux build...
Sparkling Cyanide
wasn't completely terrible but it was mauled viciously by the
fashions of the eighties and there was more ham in the acting
than in your average pig factory... this story works far better
when it's the Poirot episode, "The Yellow Iris".
- August 5
- Interesting. Have I Been Pwned?
tells me that my email address was included in the
CaféPress data breach, but I don't have a login recorded
for the site in my password safe, and the "I forgot my password"
option on the site doesn't recognise the email
address. Sooooo. It's possible I bought something long ago from
Warren Ellis' CaféPress affiliate but it looks like the
site held onto my details long after they should've removed
them. Well done, team.
- August 2
- Billion Dollar Brain
isn't a patch on the previous Harry Palmer we watched; even
though I read the book I found the plot difficult to follow and
Winterpants or whatever his name was came across as someone who
paid a lot to get a big scene rather than a frothing loon (well,
he also came across as a frothing loon, but that's beside the
point). Probably not a disaster if you never see this
movie.
previous month | current month| next month