It's entirely undocumented, for good reason. In case you also have a peculiar interest in RFC2385, this is what you need to do:
Not actually that hard. A successful application, with -M and the key passed to tcpdump, will show md5valid in the TCP options. An incorrect key will show md5invalid.#include <linux/tcp.h> ... struct tcp_md5sig md5sig; char *key = "foobar"; /* addr is the struck sockaddr * passed to connect(2), from getaddrinfo() or otherwise */ memcpy(&md5sig.tcpm_addr, addr, sizeof addr); md5sig.tcpm_keylen = strlen(key); memcpy(&md5sig.tcpm_key, key, md5sig.tcpm_keylen); setsockopt(sockfd, IPPROTO_TCP, TCP_MD5SIG, &md5sig, sizeof md5sig);
It's released! Grab it while it's hot.
Problem: you acquire a MKV file you want to play on your iPad. It's already H264/AAC, which the iPad can handle, so you don't want to re-encode it.
Solution: extract the tracks with mkvextract, and mux them into an iPad-friendly MP4 with MP4Box.
Sometimes, though, you'll get audio in a non-AAC format (e.g., MP3 or AC3). This requires conversion.
Here, drag: DDG
Works wonderfully as a hot-key, e.g., cmd-2 in Safari as the second link in my Bookmarks bar.
Like many programmers, I was introduced to the craft through a BASIC dialect, specifically a MacOS-only one named METAL. I was taking extracurricular classes in C++ at the time, but the SIOUX (Simple Input Output User eXchange, i.e., the I/O offered by cin/cout) Mac runtime we used couldn't do anything graphical.
I can't remember how I stumbled upon METAL, but I have fond memories of heading to my friend's house, putting Cowgirl by Underworld on repeat, and seeing what we could get this simple language to do. We never created anything ground-breaking, of course -- a few simple point-'n'-shoot pseudo-3D games, for example -- but man would those coding sessions be serious.
Upon entering high school, we moved on to bigger and better languages. My friend found the Macromedia Flash MX (ca. 2002?) application on our school's computers, and I somehow dove deep into Java. I remember when version 1.5 (...5.0) came out, and thinking that generics and auto(un)boxing were the shit.
Anyway. METAL v1.7.3 was nevertheless my bread and butter for a few years. I recall checking its website once, noticing that an incredible v2.0 was on its way. To this day, the website still has "METAL v2.0 ULTRA" listed as ??? percent done.
That is, the Wayback Machine's version of the website. Naturally, the author graduated, and his personal website disappeared. It's still available here: http://web.archive.org/web/20080327004511/www.iit.edu/~sarimar/GDS/. METAL can be downloaded from there.
It still runs on Snow Leopard through Rosetta. Trying to run code results
in a crashing runtime, but when "compiled" the resultant executable works fine.
If I ever stumble upon some old code I've written in METAL I'll post the atrocities. And I owe its author, Marin Saric, a beer or two.
This public service announcement was brought to you by the "Why The Fuck
Don't My Bit Shifts Work" Department.
Goodness, that was amateur.