Eponymous http://tak.skinnymf.com/~mforde/blog/index.pl My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner en 1702672835 http://tak.skinnymf.com/~mforde/blog/index.pl/2023/12/15#1702672835 ---boundaryRMS123
Content-ID:<0000>
Content-Type:text/html
Content-Disposition:inline
Content-Transfer-Encoding:base64

PGh0bWw+PGhlYWQ+PHRpdGxlPlQtTW9iaWxlPC90aXRsZT48L2hlYWQ+PGJvZHkgbWFyZ2lud2lk
dGg9IjAiIG1hcmdpbmhlaWdodD0iMCIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBiZ2Nv
bG9yPSIjZmZmZmZmIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNjAwIiBjZWxsc3BhY2luZz0i
MCIgY2VsbHBhZGRpbmc9IjAiPjx0cj4KCQkJCSAgICAgPHRkIHdpZHRoPSI2MDAiIGNvbHNwYW49
IjIiPjxpbWcgc3JjPSJjaWQ6ZG90dGVkbGluZTYwMC5naWYiIHdpZHRoPSI2MDAiPjwvdGQ+CgkJ
CQkgICAgIDwvdHI+PGJyPjx0cj48dGQgd2lkdGg9IjYwMCIgY29sc3Bhbj0iMiI+PGltZyBzcmM9
ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjIwIj48L3RkPjwvdHI+
PHRyPjx0cj48dGQgY29sc3Bhbj0iMSIgYWxpZ249ImxlZnQiPk9uZSBsYXN0IHRyeSA8L3RkPjwv
dHI+IDxUUj4KICAgICAgICAgICAgICAgIDxURCB3aWR0aD0zNTAgY29sU3Bhbj0xPgogICAgICAg
ICAgICAgICAgPElNRyBzcmM9ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3aWR0aD0iMzUwIiBoZWln
aHQ9IjMwIj4KICAgICAgICAgICAgICAgIDwvVEQ+CiAgICAgICAgICAgICAgICA8L1RSPgogICAg
ICAgICAgICAgICAgPFRSPgogICAgICAgICAgICAgICAgPC9UUj4KICAgICAgICAgICAgICAgIDx0
ZCB3aWR0aD0iMjQwIiBiZ2NvbG9yPSIjZjJmMmYyIj4mbmJzcDs8L3RkPgogICAgICAgICAgICAg
ICAgPC90cj48dHI+PHRkIHdpZHRoPSI2MDAiIGNvbHNwYW49IjIiPjxpbWcgc3JjPSJjaWQ6Zm9v
dGVyLmdpZiIgd2lkdGg9IjYwMCIgaGVpZ2h0PSIxMDUiPjwvdGQ+PC90cj48L3RyPjx0cj48dGQg
d2lkdGg9IjYwMCIgY29sc3Bhbj0iMiI+PGltZyBzcmM9ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3
aWR0aD0iNjAwIiBoZWlnaHQ9IjQwIj48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+DQo8L2h0bWw+

---boundaryRMS123
Content-ID:0
Content-Type:text/plain;Charset="us-ascii"
Content-Disposition:Attachment;Filename="text_0.txt";Charset="us-ascii"
Content-Location:text_0.txt

One last try
---boundaryRMS123
Content-Type: image/gif; name=tmobilespace.gif
Content-ID:
Content-Disposition: inline; filename=tmobilespace.gif
Content-Transfer-Encoding:base64

R0lGODlhAQABAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAMzMAADMAMwAzMxYW
FhwcHCIiIikpKVVVVU1NTUJCQjk5Of98gP9QUNYAk8zs/+/Wxufn1q2pkDP/AGYAAJkAAMwAAAAz
ADMzAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZAP+ZAADMADPM
AGbMAJnMAMzMAP/MAGb/AJn/AMz/AAD/MzMA/2YAM5kAM8wAM/8AMwAz/zMzM2YzM5kzM8wzM/8z
MwBmMzNmM2ZmM5lmM8xmM/9mMwCZMzOZM2aZM5mZM8yZM/+ZMwDMMzPMM2bMM5nMM8zMM//MMzP/
M2b/M5n/M8z/M///MwAAZjMAZmYAZpkAZswAZv8AZgAzZjMzZmYzZpkzZswzZv8zZgBmZjNmZmZm
ZplmZsxmZgCZZjOZZmaZZpmZZsyZZv+ZZgDMZjPMZpnMZszMZv/MZgD/ZjP/Zpn/Zsz/Zv8AzMwA
/wCZmZkzmZkAmcwAmQAAmTMzmWYAmcwzmf8AmQBmmTNmmWYzmZlmmcxmmf8zmTOZmWaZmZmZmcyZ
mf+ZmQDMmTPMmWbMZpnMmczMmf/MmQD/mTP/mWbMmZn/mcz/mf//mQAAzDMAmWYAzJkAzMwAzAAz
mTMzzGYzzJkzzMwzzP8zzABmzDNmzGZmmZlmzMxmzP9mmQCZzDOZzGaZzJmZzMyZzP+ZzADMzDPM
zGbMzJnMzMzMzP/MzAD/zDP/zGb/mZn/zMz/zP//zDMAzGYA/5kA/wAzzDMz/2Yz/5kz/8wz//8z
/wBm/zNm/2ZmzJlm/8xm//9mzACZ/zOZ/2aZ/5mZ/8yZ//+Z/wDM/zPM/2bM/5nM/8zM///M/zP/
/2b/zJn//8z///9mZmb/Zv//ZmZm//9m/2b//6UAIV9fX3d3d4aGhpaWlsvLy7KystfX193d3ePj
4+rq6vHx8fj4+P/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////ywAAAAAAQABAAAIBAD/BQQA
Ow==
---boundaryRMS123
Content-Type: image/gif; name=dottedline600.gif
Content-ID:
Content-Disposition: inline; filename=dottedline600.gif
Content-Transfer-Encoding:base64

R0lGODlhWAIBAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/
/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm
AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/
MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm
ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/
mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm
zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/
/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ
AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA
M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ
ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A
mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z
zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAABYAgEA
AAhFAFP9+yeQ4MCCCA8qNMgwYcOFDiNCnPiwokSLFC9qzMgRo8eNHzuCHCmyZMiTJFGaTMlypUuV
MFvGfCmzJs2bM3Pa9BgQADs=
---boundaryRMS123
Content-Type:image/gif;Name="footer.gif"
Content-ID:
Content-Disposition:inline; filename=footer.gif
Content-Transfer-Encoding:base64

R0lGODlhWAJpANUAAOMhfq+vr9fX1/mUwP7K4PBcoISEheHh4bi4uPX19aOjpZmZmo+Pj8LCw3p6
e+vr7Pyw0HBwcVpaW8zMzecxhvaGuP/x9//X5//l8O1OmPV4sOs/kGRkZfNqp/uhyP282P///wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0
IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4
bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAg
NjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpy
ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRl
c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94
YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw
ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIg
eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE4OEM2RDU3
QzcwNzNBMDg5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwOTMxNEYwQTZGRDExRTNCNDIz
RjZGQjBFMURGOEYzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwOTMxNEVGQTZGRDExRTNC
NDIzRjZGQjBFMURGOEYzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFj
aW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDI4
MDExNzQwNzIwNjgxMTg4QzZENTdDNzA3M0EwODkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6
MDE4MDExNzQwNzIwNjgxMTg4QzZENTdDNzA3M0EwODkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwv
cmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx
8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4
t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/
fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdG
RURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4N
DAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAWAJpAAAG/0CQcEgsGo/IpHLJbDqf0Kh0Sq1ar9is
dsvter/gsHhMLpvP6LR6zW673/C4fE6v2+/4vH7P7/v/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaX
mJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q
0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAwocSLCgwYMI
EypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rc
ybOnz/+fQIMKTYiBgNGjSJMSGMoUUAEAUKNKnQpAC4EBWLFeOHI164ClSyBg1VAh7IAPQ7IWgNCU
5VOoHdBGJXBhAIWoWiC8harhSAepGdguqbABagElF6JaEFLgLoABbVe+FQxirpALjrlAiLrhiGMA
Hp5gMKyEQFQMQzxAhRw55dO+QywL+QCVi+moW4nQdgzWCWklGjKUHXKbdeuTT1HHhtobRGHbADKs
LlKBwtvmTH5DKX4cZYEMRWQLGVB1i2ny0Yts0HAdivYn3Klg8KC8e8MCsJcDaE4bOgHHi10GwAft
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
---boundaryRMS123--

http://tak.skinnymf.com/~mforde/blog/index.pl/2022/10/07#20221007 I'm looking California and feeling Minnesota Fireside Chat http://tak.skinnymf.com/~mforde/blog/index.pl/2021/12/29#fireside

Tonight I signed up for the Fireside beta. They asked for all my social media accounts to prove I'm a human. The problem is, I don't have a twitter account, a facebook account, instagram, etc. Years ago I took the advice of numerous psychology studies and my own therapist's advice and got off the social media platforms. It was one of the best things I've ever done for my mental health.

So hopefully this blog, though infrequently updated (and slightly broken since the last major perl update), will serve as proof to the people at Fireside that I am human and not a bot.

It was the Astonishing Legends Podcast that led me to Fireside. It would be nice to use it for one of their interactive live chats sometime.

Bill Gates is Satan's Minion http://tak.skinnymf.com/~mforde/blog/index.pl/2020/05/07#satan Bill Gates was Satan's minion, is Satan's minion, and always will be Satan's minion. Tenth Runniversary http://tak.skinnymf.com/~mforde/blog/index.pl/2018/03/13#runniversary10 Today is my tenth runniversary. It's been a decade since I first stepped on that treadmill. Like my first day running, I ran on the treadmill while listening to br\oken. I've had some set backs in my recovery. Not properly rehabilitating the atrophy in the left leg has caused some problems with the muscles around my hip. Listening to my trainer only made it worse. But now I'm taking care of it properly. Like that first day ten years ago, I have a goal I am working toward. This time it is the Dublin Marathon in October. This will be marathon number 13. I don't expect to PR. I think 10 minute miles are a much more reasonable goal at this point, but frankly I'll be happy just to cross that finish line. It's been a long, hard road out of Hell, but God has been by my side and put some amazing people in my life to help me along the way. I have to thank the Giraffes for today. I have to thank the Giraffes for much of my life this last decade. I was heading for an early grave, and they changed that. Giraffes, I thank you from the bottom of my heart and I look forward to running the LTC and many other races with you in the next decade. Take back your privacy http://tak.skinnymf.com/~mforde/blog/index.pl/2018/03/12#takebackyourprivacy Recent surveys have found that 76% of [the most visited] websites in the world cotain trackers from google and 24% contain trackers from facebook. This has been reported by CNBC, PC World, The Verge, Fortune, and Breitbart.

Almost anywhere you go on the internet, they are following you, building a profile on you, and selling that information, your information, to the highest bidder. Even if you don't have a user account for google or facebook "services," they've built a profile of you using this surreptitiously collected data.

It turns out there are some steps one can take to prevent these companies from following you wherever you go. It's not perfect, but it helps a lot. First, don't use Chrome. Second, install ad-blocker plugins for your browser. Third, use your firewall.

It turns out Google and Facebook are large enough that they have their own Autonomous Systems (AS) composed of numerous subnets. Google owns AS 15169, while Facebook owns AS 32934. Using a little bit of shell, it's relatively easy to look up all the subnets owned by these companies.

whois -h whois.radb.net -- '-i origin AS32934' | grep "^route:" | awk '{print $2;}'
whois -h whois.radb.net -- '-i origin AS15169' | grep "^route:" | awk '{print $2;}'


That's a lot of subnets. Because I have different operating systems on different computers and still want to block traffic to and from all those IP addresses, I've written some simple scripts to add rules to various firewalls. I have scripts for IPFW on FreeBSD, IPTables on Linux, and the Windows Firewall that should work from XP SP3 through Windows 10. I've only tested it on Windows 7 and Windows 10, and it worked in those.

All of these scripts can be found in this directory. The IPFW and IPTables scripts are self-contained. For the Windows command shell batch files, the *ips.txt files are also needed.

I have to say, the internet looks very different with these firewall rules in place. There are noticeably fewer advertisements and pages load faster. Embedded YouTube videos and Instagram photos don't appear. Sometimes the frame disappears, sometimes you get a "failed to connect" page appearing in a frame in the middle of a page. (Yes, these rules block YouTube and Instagram; they are owned by google and facebook and reside in the subnets owned by those companies.) On a relatively rare occasion, I come across a site using some sort of javascript or css or something hosted by a machine in one of those ASs and that will be blocked. Sometimes the site handles that gracefully, sometimes it stops being functional. A small price to take back your life.

Update: Twitter has trackers on a decent amount of sites out there too, so I've added scripts to block Twitter's AS 13414 as well. Those scripts are in the same directories as the others.

St Michael, defend us in battle http://tak.skinnymf.com/~mforde/blog/index.pl/2017/10/17#defendusinbattle Crisis Magazine has a great piece about St Michael and the ongoing spiritual warfare in the world.
New PGP Key! http://tak.skinnymf.com/~mforde/blog/index.pl/2017/10/12#pgpkey So apparently Evil32 happened. Approximately 24,000 PGP keys were generated that had collisions with the 32-bit short IDs of existing keys. Then someone decided to use those conflicting keys to generate revocation certificates and upload them to the keyservers. Joy.

Though my old keys still work, they were affected by this mass revocation of collsions. I have created a new key which can be found at http://skinnymf.com/~mforde/mforde.asc.

On a related note, if anyone is interested in Key Signing Party, shoot me an email. I haven't been to one of those since college.
Time Travel? http://tak.skinnymf.com/~mforde/blog/index.pl/2017/09/30#oldtimey A few months ago I happened to snap a photo of the DeLorean on Main Street in Boonton near the Darress Theatre. It's probably one of my favorite photographs of the car and certainly one of the best I've ever taken.
The theatre was built in 1919 and has remained largely unchanged since then. A lot of Boonton still has a very old "look and feel" to it, and this section of Main Street served as a perfect backdrop for the DeLorean.

DeLorean DMC-12 Darress
Theatre Boonton
How to Drive a Classic Rolls-Royce, or a DeLorean, Any Time You Want http://tak.skinnymf.com/~mforde/blog/index.pl/2017/08/24#howtodrive Bloomberg has posted an article entitled How to Drive a Classic Rolls-Royce, or a DeLorean, Any Time You Want. It's really quite simple, actually. You take your keys, go out the the garage, and you drive the DeLorean any time you want. This ends tonight... http://tak.skinnymf.com/~mforde/blog/index.pl/2017/08/16#theend Sometimes... http://tak.skinnymf.com/~mforde/blog/index.pl/2017/08/16#sometimes Sometimes it's dificult to find a reason to continue. Ninth Runniversary http://tak.skinnymf.com/~mforde/blog/index.pl/2017/03/14#runniversary9 Yesterday was my ninth runniversary. Like my first day running, I ran on the treadmill while listening to Broken. Unlike the first time, I only listened to it once, and covered 4.48 miles during the duration of the EP, thanking God every step of the way.

I'm confident in knowing that the bone in my ankle has healed completely now; however, I'm still rebuilding the muscle in that ankle and the rest of that leg. There was significant atrophy during the early phases of recovery. Slowly as it may be, I am making progress, and I am thankful for that.
Merry Christmas http://tak.skinnymf.com/~mforde/blog/index.pl/2016/12/24#holidays_ While the holidays are supposed to be a joyous time, I know and understand how hard they can be for some people. If you're having a rough time over the next week or so and need someone to talk to, feel free to message me. If you're reading this blog, you likely know my email address or phone number. Aisling at 35 http://tak.skinnymf.com/~mforde/blog/index.pl/2016/10/28#aislingat35 She's still looking good at 35....
DeLorean DMC-12 with
gullwing doors open
Happy Birthday Aisling!!!! http://tak.skinnymf.com/~mforde/blog/index.pl/2016/10/02#happybirthday My DeLorean, #5333, was built in October of 1981. This month, the car will be 35 years old and she looks and handles like the day she came off the assembly line. Don't Call it a Comeback http://tak.skinnymf.com/~mforde/blog/index.pl/2016/09/26#mamasaidknockyouout On June fourth, I was running in the Tourne on a trail I first ran twenty years ago, a trail I've run hundreds if not thousands of times before. On that morning, my foot came down on a wet rock at just the wrong angle, slipped just enough and I rolled my ankle. Not only did I roll the joint, I came down on it with enough force to break it; a fact I would learn when I final saw a doctor about it on June ninth.

No surgery was required, but I was unable to run for three months. I was finally cleared to run. The plan was to start with short distances, about a quarter mile, on a rubberized track then build up from there, moving on to treadmills and eventually roads and trails. I was instructed to spend six months rebuilding my 60 mile per week base.

On the morning of September 11 (a day I will never forget and a morning that will always make me feel a bit uneasy), I took to the track for the first time. I started by walking a mile. As I finished the fourth lap, I said a prayer, asking God to give me the run I needed and the wisdom to know when to stop. I queued up my playlist: AC\DC's "Back in Black" and LL Cool J's "Mama Said Knock You Out." I took my first stride.

I've been progressing well in the last two weeks; pushing it on some days, resting when necessary. Though the short, slow distances have been frustrating, it feel good to be running again. Every stride I take I'm reminded of everything I love about the sport.

It's good to be back.

Fun Conversations http://tak.skinnymf.com/~mforde/blog/index.pl/2016/09/18#insuranceagent The DeLorean often leads to conversations one wouldn't normally expect. Case in point: today I had to call my auto insurance provider for an issue with my daily driver. After taking some info to pull up my account the conversation went something like this:

Agent: Which car is this?
Me: The Pontiac.
Agent: Am I reading this right?
Me: Reading what?
Agent: I'm sorry, do you have a DeLorean?
Me: Yes.
Agent: I never thought I'd see someone with a policy on a DeLorean.
Me: Well, you've insured both of mine...
Agent: You've had two DeLoreans?
Me: Yes.

At that point there were a few more questions and then we got back to the issue which my phone call had been about originally.

An Observation http://tak.skinnymf.com/~mforde/blog/index.pl/2016/08/24#observation There is something satisfying about driving in a DeLorean while listening to The Clash's Live: From Here to Eternity. What Year is This?! http://tak.skinnymf.com/~mforde/blog/index.pl/2016/08/13#whatyearisthis So this was my Saturday night....
A bottle of Crystal Pepsi with Metallica's Ride the Lightning and
Joy Division's Unknown Pleasures vinyl records sitting on the hood of a
DeLorean Joy Division's Unknown Pleasures on a record player
He's Not Wrong... http://tak.skinnymf.com/~mforde/blog/index.pl/2016/08/09#hesnotwrong Over at Net Meister there's a nice peice entitled Things They Don't Teach You in School". A lot of what Jan has to say is spot-on observation and good advice.

It's definitely worth a read.
Trouble opening aterm in FreeBSD? http://tak.skinnymf.com/~mforde/blog/index.pl/2016/07/20#aterm Here's a soltuion! https://forums.freebsd.org/threads/44941/ X11 Mouse Cursor Themes http://tak.skinnymf.com/~mforde/blog/index.pl/2016/07/08#mousecursor Starting after installimg the binary nvidia drivers on both my laptop (Quadro K1100M) and my workstation (GeForce GT 630) Blackbox was defaulting to a mouse cursor that was suboptimal, a black, notched triangle.

The settings in the Xresources for the mouse cursor theme are honored by XDM at the graphical log in, but when Blackbox or Fluxbox start, the cursor would change to the black notched triangle. TWM honors the settings in Xresources, but TWM is just a little too minimalist, even for me.

But there's a simple fix!

Create a file in your home directory (if it doesn't already exist) .icons/default/index.theme. In this file, add the following lines:
[Icon Theme]
Inherits = polarblue

where polarblue is the name of the X11 mouse cursor theme you wish to use. FreeBSD installs many of the X11 cursor sets into /usr/local/lib/X11/icons/, your Unix flavor may be different. In theory, you can also install new themes of your choosing into ~/.icons/ and use those without the need for any elevated privileges.

Additionally, there's the option of creating a .Xdefaults file in the home directory and adding the line
Xcursor.theme: polarblue

Again, where polarblue is the name of theme you want to use.
FreeBSD Unix on Dell Precision M4800 http://tak.skinnymf.com/~mforde/blog/index.pl/2016/06/18#m4800 I installed FreeBSD 10.3 on the laptop I recently acquired and almost eveything worked out of the box. The gigabit ethernet and wi-fi coards worked fine and by setting the BIOS to discrete graphics only, the nVidia Quadro was recognized.

I installed the binary driver from nVidia, because they support FreeBSD because they're awesome like that. The nvidia-xconfig(1) program was useful to streamline the process of getting X.org to use the Quadro.

There were a few things that did need some tewaking though. First there's the sound card. Because the quadro supports HDMI (in addition to VGA and DisplayPort), it includes an HDA-compliant sound card. This card is recognized before the primary HDA-compliant sound card in the machine, the one that's actually connected to the speakers.

I did some research and there were some suggestions about using sysctl(8) to control soundcard GPIO pins to connect the nVidia sound device to the speackers but what ultimately worked was using sysctl(8) to change the default primary sound device to the dedicated card. There were a few ways to make this happen but the one I found that actually worked was to place sysctl(8) command lines in /etc/rc.local.

First I found the device I wanted as the default:
mforde@gaz:~> cat /dev/sndstat 
Installed devices:
pcm0:  (play) default
pcm1:  (play)
pcm2:  (play) 
pcm3:  (play)


Device pcm2 was the one I wanted so I added the following lines to /etc/rc.local
sysctl hw.snd.default_unit=2
sysctl hw.snd.default_auto=2


Now when boot completes pcm2 is set to my default and sound "just works" and sndstat shows pcm2 as the default.

I found ACPI support has some weirdness as ACPI support often does. What I found was that Suspend works from console, but resume doesn't... HOWEVER After I start X ACPI suspend and resume work just fine. Normally I prefer to boot into a console and only start X if I really need it, but because I want suspend and resume to work "by default" I've enabled X to start at boot by allowing the xdm console in /etc/ttys.

But this had one last issue. See, when manually starting X, I added the -dpi 143 option to get graphics and text to be appropriately sized for my screen. XDM needed to know about this.

This probably wasn't the best place to do it, but I edited /usr/local/lib/X11/xdm/XServers and modified the call to X(7) to add the -dpi 143 option. Now when Xdm loads at start up, the DPI is set correctly.

The function keys for adjusting the screen brightness don't work; however, xbacklight(1) works just fine. Similarly the volume keys don't work but I can adjust the volume quite easily with aumix(1).

I've submitted my dmesg output to NYCBUG's dmesgd repository.

I suppose I've posted this for two reasons. The first is so I have a record of how I eventually got these little things working in case I have to do it again. The second is in case anyone has similar issues with their hardware; if they happen to stumble upon this, it might give them some hints.
Megapath sucks http://tak.skinnymf.com/~mforde/blog/index.pl/2016/06/08#megapathsucks Speakeasy was by far the best ISP I ever dealt with. Freindly, and above all, knowledgeable. Since they have been purchased by Megapath then merged into Global Capacity, their tech support has been, frankly a bunch of idiots. Furthermore, their website routinely has "Service failed" errors that prevent you from logging in, changing passwords, and viewing account information.

Today, after being unable to log in to the website due to "service failed" the tech support rep on the phoned didn't understand what a subnet mask or gateway address were. Eventually I just got her to read me "all three IP addresses" on the screen in front of her.

But at this point my only other option is Verizon. So I'm sticking with Megapath.
Eponymous
Eponymous
   



About
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


contact

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavors
There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    21 Jun 2013

    Excluding directories while using pax(1)
    My primary disk is failing. There are large segments that are generating low level IO errors during read or write operations. Most of the files written to the bad area were under /usr/ports/ where the FreeBSD Ports collection is installed. A few files were under the web server's root.

    Figuring I'd take care of things prior to the disk actually failing to the point of it being irrecoverable, I purchased a new disk early. I installed it, partitioned it, and formatted it.

    To copy the data over, ignoring the areas that were causing the IO errors, I used mv to "move" the files from the web root under /usr/ports and used the following command as root:

    pax -rwvpe -s':/usr/ports/.*::gp' -X / /mnt/newdisk/

    The -X prevents pax from traversing into mount points that have a different device ID than the one on which it was started. This prevents an infinitely recursive loop from happening when the new disk's mount point would have been hit. It also prevents data on the non-failing disks from being copied as well.
    the -s option allows for sed search and replace scripts to be run. In this example, the : is used as the delimiter and any path matching /usr/ports/* is replaced by a null string. With this replacement all directories under /usr/ports are excluded from the copy.

    [/unix] [permanent link]