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.

  •        
    15 Dec 2023

    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
    EQFBBwUUUEF9QhhmgQcadDBAfXVlRUR8QxyYoAcBIvH/VAEd2qfQBdiJBwIGaJm3318AUKaaBQWC
    cEFhGwygwXTLZZCBdYW1KAQEPZYnBIYwAkBBBU9lECJ11uUmYkQmemEaAZsBkF8GhxVowV1K/ggV
    ZVF1CQKLYG1ZG3E4glCBkbn9BR4SHnQw3JMKIZmgYJZdkGCCHu5JmYF7zjmlBVBRIAShoRW45oBE
    FEZBgOKNlh5jZw6Jo6RzJubjj4HS6dBerFl2W6XhRWUcEegBcJilS0m3HwibbVVgZkQsiuekQ/SY
    21sX4rhoig0C0EFaUa3q6UKgBvvqqEKWmiaqxaK5FHpladAZCO3d9mZqcAWbH6Wb8ormY+A66Vyl
    qRp7/2xCyVbGHAjMIiHVqcRqN6WMUIF3JLhL3aYuvL89C8KN5GJLanyO7ZkggONFu65CYmEFlmUY
    eIWEV9gNmRVl94Lg2GYptlflv/4GSy96rIlracGmepWVcl0N8OfDDUXZRccEP8cvwKoWUbK79LKY
    8sE4MkyzRzb7N1tUw+6sbRGqCettEW+FTHTBMR69UVShhdExoV8OMSupakLVdb7qQRWgyjyzZmsR
    F8ysNUSj0tsFbcC+VV+BBAMLgnSPKkshX2JfzZqm32L779wOYbAXBX538SG324JdsJnG0gaafsb+
    RUF9PdYXdX5kDnGjuYwzlCpVi18BJGdlJTbcXvmyhf+ZqhBUB8Cco1XgAQUbEMamEMJDtUEBekq1
    FghFCjuAdHKnrlDMLst8s8uCTThe9WV6sKcGzVUsBAZ2cphh9RW73JuG+DEo/fvwxy///PTXb//9
    +Oev//789+///wAMoAAHSMACGvCACEygAhcohQMI4IECOEACDkAECeKCgg2EYASHcIAHDOEBAjgC
    BocQwgd48AkhTIIJsWBBBrqhAQEwgAEC0AABGIAIBkjhJBJwQiGMMAs3lAIMZUjDIRhgAUNYgASO
    EMQhLDEAAYDCEpMARSzk0IVwqCIIbLgJBOjwAFHcQhOloEUjOsCIUyzCGIdQRiy0kQpXxKIbtCgA
    BzT/QAETAIECKAhFBHwQATAUQAD2CIIEIEABfkyAAgKQxwMskoIHWMACToiASjagkIf0oxAakEc8
    6vEBimRACB0ZgBGSkoIPGGQeBdCAQx7gABFwAAYdEIFLwhABCRBCAoLoRUMWEQRBJKQQDNBKPwKy
    kEj0oSR7KIQ3HnGUSsTkL4lZyWGCoIqGROQQOKnHTj7ghgKYwAI6qMprRjGbiVxkHiewyFwKQQCV
    DEAuZwjFXAoyAB5kpSsxqU05aoGOHEhAAjgAzAcqQI/uFEBAJxCBBEyAASBYgB9FyciIAnOCfozA
    K5HYAI7eUKIgEOU7keiAg55Roru86AE0qdKMStAB/wmIIQgeek0dChIEDYBoR4fAAArCFKQLuOQU
    4wjMiTbgABBl5xA0GskiOFOpjFwiUC9pAKOC4IlRBKlIt0hSk171mhyYQAI0mgCYVlGrgswjSXGq
    wwBAFAFInKEeEfCAhtb1mjekKVr9mQU6BnGJORwrPkkIzsKCIAIPhKIAapnLGOZxiyD8aApviNh7
    LjUBC3DAAyDawTri9bHNNEAeH+CAB1I0ilwMgE2juFWCblIBmwWBawUA0aHqMIi0PSxmRyiAyDo1
    iqmMImVBANMlzhaiuK2tOQ+b2DDqNrOxfeJBSWtay1ZWsYwF5jiJoFohRKCg5kRAGA0ARtRStrl8
    df9jGLn41SsaMgIn5KJ8b8gBCHrwAQo44xYZYFLV3jCO9LWvEVtJzEsqQJT6pe1BScjfA5T2gTE1
    b01JyNoUuraQDjjmcb8KXmvu95oN0K8QHODf34IguMAMKReN+07ktvirVazvA3tIzQLDOIoOhmCE
    ZStg/Oo3xKDtbntD2MfxlneLAZ5xeq/gVyEA9oEG1uR8kRxSPlbSp00d6JTFS+WeXpOlCJBlAOD7
    1YFa1MxCQKKZvwvMI6d2tSDgcm6T2FAVf5nD9TUikf1Y1wVTmb1sdK41Q+zHJYo0AH68IqJvXOU7
    CyHMYCQzVr07zCN7GdEI8KkADkrTZuIYuUQu5Q3Cx7pcLl4alzpcchSaPORdyjChhuUiKRcwQQeU
    FKe2viQDEM0AUEpUATectTtBcIAlMrSZEl0AK3O9TWazc5ClzqtGhVDXBmA2ANsdQqcjie3GStTL
    QlDAt90pSyLsGgG95q6gU/wACVBwidymtR7HzWhhc9DYbJ70TBd50CoK28G3zm+5m8kAuFJQ0VEc
    pAIuWUVZL5LWAkijqgHRgEs+IJl7+CUVysoJIU+cExfH9g/xAOxhN9COHU/1x1fO8pYHJQgAOw==
    ---boundaryRMS123--

    [/mobile] [permanent link]

    07 Oct 2022


    I'm looking California and feeling Minnesota

    [/musings] [permanent link]

    29 Dec 2021

    Fireside Chat


    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.

    [/musings] [permanent link]

    07 May 2020

    Bill Gates is Satan's Minion
    Bill Gates was Satan's minion, is Satan's minion, and always will be Satan's minion.

    [/musings] [permanent link]

    13 Mar 2018

    Tenth Runniversary
    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.

    [/running] [permanent link]

    12 Mar 2018

    Take back your privacy
    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.

    [/musings] [permanent link]

    17 Oct 2017

    St Michael, defend us in battle
    Crisis Magazine has a great piece about St Michael and the ongoing spiritual warfare in the world.

    [/musings] [permanent link]

    12 Oct 2017

    New PGP Key!
    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.

    [/musings] [permanent link]

    30 Sep 2017

    Time Travel?
    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

    [/dmc] [permanent link]

    24 Aug 2017

    How to Drive a Classic Rolls-Royce, or a DeLorean, Any Time You Want
    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.

    [/dmc] [permanent link]

    16 Aug 2017

    Sometimes...
    Sometimes it's dificult to find a reason to continue.

    [/musings/self] [permanent link]

    14 Mar 2017

    Ninth Runniversary
    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.

    [/running] [permanent link]

    24 Dec 2016

    Merry Christmas
    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.

    [/musings] [permanent link]

    28 Oct 2016

    Aisling at 35
    She's still looking good at 35....
    DeLorean DMC-12 with
gullwing doors open

    [/dmc] [permanent link]

    02 Oct 2016

    Happy Birthday Aisling!!!!
    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.

    [/dmc] [permanent link]

    26 Sep 2016

    Don't Call it a Comeback
    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.

    [/running] [permanent link]

    18 Sep 2016

    Fun Conversations
    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.

    [/dmc] [permanent link]

    24 Aug 2016

    An Observation
    There is something satisfying about driving in a DeLorean while listening to The Clash's Live: From Here to Eternity.

    [/dmc] [permanent link]

    13 Aug 2016

    What Year is This?!
    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

    [/musings] [permanent link]

    09 Aug 2016

    He's Not Wrong...
    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.

    [/code] [permanent link]

    20 Jul 2016 08 Jul 2016

    X11 Mouse Cursor Themes
    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.

    [/unix] [permanent link]

    18 Jun 2016

    FreeBSD Unix on Dell Precision 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.

    [/unix] [permanent link]

    08 Jun 2016

    Megapath sucks
    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.

    [/musings] [permanent link]


       
    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.

  •        
    27 Dec 2007

    Optical Illusion
    I saw this today. I thought it was interesting.

    [/musings] [permanent link]

    20 Dec 2007

    WTF?
    I'm used to guitarists mocking the bass and bassists. It doesn't bother me too much. But this... This irritated me. A lot.
    Today at work there was a group of people talking about Rock Band and Guitar Hero 3. None of them actually know how to play intstruments but they claim to be great at these games. They seem to believe this entitles them mock bassists.

    • "Oh man, bass is so easy. It's the guitar that's the hard part. Yeah, I'm on expert on the guitar."
    • "Yeah, bass is so stupid."
    • "So It's me, my brother, and my sister. I play guitar, he's on drums, and my sister sings."
      "what about bass?"
      "My friend just got Guitar Hero 3. I'll make him play bass."
      [Both laugh]
    • After making statements indicating this person believes he actually is better than Tom Morello, "After you make Tom Morello or Slash your bitch, they play bass for you."

    [/musings] [permanent link]

    13 Dec 2007

    chdir(2)
    So today at work another developer many years my senior, with many more years experience than I, came to me with a Unixy problem.
    "When I have a program, how can I have it so the current working directory for all processes it starts isn't the one that it started in?"
    "chdir."
    "No, I want so that if this process starts something like ls, when ls stats 'dot' I want 'dot' to be the directory that process wants it to be, not the directory that process was started from."
    After about 15 minutes of me suggesting chdir while he said that's not what he wanted but then describing chdir, I finally wrote something along the lines of the following

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int
    main (int argc, char *argv[])
    {
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/tmp");
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/etc");
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/");
      system("/bin/pwd");
      system("/bin/ls");
      return 0;
    }
    

    I compiled that, ran it, showed him the output. He said, "Yeah, that's what I want to do."
    I showed him the code.
    "chdir does that?"

    [/unix] [permanent link]

    08 Dec 2007

    Alpha
    Due to the power failure, there was the loss of several hours of work. Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation 200 I have. I had started building a new, smaller kernel for it around 23:30 last night. It had not completed by the time of the power outage. I have restarted that build.
    Any one reading this would reasonably ask, "Why are you not as confused/angry/annoyed with a compile that was not finished in 7 hours as you were about one that took 3 hours?"
    The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this machine around 1994 or 1995. I expected the build to take a long time; the machine is around a dozen years old.

    [/unix] [permanent link]

    06 Dec 2007

    How long does it take to build a linux kernel?
    It has been a number of years since I built a linux kernel. Slackware 9.1 was the last GNU/Linux distro I used before switching back to BSD. Tonight I put together a machine from some old parts (1.2GHz celeron with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware 12. I customized a kernel configuration and attempted to build it. I don't remember the 2.4 kernel taking as long to build as this 2.6 kernel. It took nearly two hours. Granted, this machine is fairly old, but 2 hours? After I complete the tasks for which I needed this setup, I'm going to install an older Slackware with the 2.4 kernel and build that. I may also install FreeBSD and NetBSD and build their kernels. I'd like to get an idea how long it takes to compile other kernels on this rig.

    [/unix] [permanent link]


       
    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.

  •        
    03 Nov 2014

    Things I love about vim

    • Tabbed interface in the 7.x line
    • Macro recording
    • Built-in sed
    • :make
    • Not needing to remember a thousand key combinations that require seventeen fingers to properly execute

    [/unix] [permanent link]

    24 Oct 2014

    Initial Thoughts on Windows 10 -- UPDATED!
    I'm done with Microsoft for any platform that is not a telephone. Windows 10 attempts to "fix" the abomination that was windows 8 on the desktop, but just makes things worse.

    The "search" "app" that replaces the previous existing search feature really only sends a query to bing. I'm looking for a file somewhere in a subdirectory on my hard drive. I didn't want to search the web for 20141020*.txt. The UI looks like crap. Slapping a titlebar on top of the "modern" "apps" does not make them usable on the desktop. The start menu has returned, but it has never been this useless. And the ability to revert to the "classic" start menu, the behavior introduced in windows 95, and refined in win98 and Windows 2000, has been removed. I shouldn't be surprised by that given that Windows 7 also lacked the "classic" start menu. At least Windows 7 allowed a "Windows Classic" theme for the rest of the UI.

    Ever since Service Pack 3 for Windows XP, MS has been slowly and surely trying to make things "easier." However, what they deem "easier" often means removing features and behaviors I relied on to get work done. Windows 10 continues this tradition.

    I never really had a problem with Microsoft, I never avoided their software for ideological reasons. I believe in using the right tool for the job. Windows 10 is the wrong tool for any job.

    UPDATE!!!

    Using the Windows Update mechanism, MS pushed out a new build of Windows 10. This upgraded the installation from build 9841 to build 9860. After a lengthy download, installation, and a very long reboot, I was able to log in again, Only to be greeted by this:

    Windows 10 build 9860 Update breaks Windows Defender causing error
code 0x80070241

    And this lovely error when I tried to open the new "Notification Center":

    Windows 10 build 9860 Update Notification Center cannot find
explorer.exe

    Now isn't that special?

    [/musings] [permanent link]

    07 Oct 2014

    The Truth is Out There
    Tonight, I had the great fortune of joining a person who means the world to me at a book signing by Gillian Anderson and her co-author Jeff Rovin. Jeff has ghost-written/co-written several novels for and with Tom Clancy, and Gillian is AGENT DANA SCULLY!!!

    Gillian indicated that she modeled the main character as someone she would play in a cinematic version of the story, and Jeff mentions that, while not required reading, the novel is a spiritual sequel to Edgar Allan Poe's only novel, The Narrative of Arthur Gordon Pym of Nantucket.

    I'm going to put The Crytptonomicon on the back burner and put Poe's work and this new novel, A Vision of Fire at the front of my priority queue. Gillian Anderson and Jeff Rovin
    Gillian Anderson and Jeff Rovin

    [/musings] [permanent link]

    26 Sep 2014

    Give My Love to the Princesses
    I was out and about and happened to run into these two lovely ladies who seemed to like the car.

    Elsa and Anna of Frozen with DeLorean Elsa and Anna of Frozen in DeLorean

    [/dmc] [permanent link]

    14 Aug 2014

    Resetting Vim
    On occasion while I'm coding, I'll mistype something and vim's code autoindenting will stop honoring my settings. Likely, I've done something stupid that has disabled or modifying the settings from the defaults I set in my .vimrc file.

    If (when) this happens, Vim can be reset without exiting the procces by going into command mode and typing

    :source $MYVIMRC
    

    This reloads the settings of the .vimrc file without forcing you to restart the process, thus losing your place in your code.

    [/unix] [permanent link]

    31 May 2014

    1401554904
    http://en.m.wikipedia.org/wiki/Amargasaurus

    ==================================================================
    This mobile text message is brought to you by AT&T

    [/mobile] [permanent link]

    28 Apr 2014

    Looking back...
    As I look back at code I wrote a decade ago as an undergrad, I often find lots of little things that can be done better. For instance, in one file I found that reversing the order in which two functions were called would have eliminated a half dozen conditionals from one of the functions and would have resulted in the same expected behavior, but with fewer lines of code and a lower cyclomatic complexity.

    [/code] [permanent link]

    07 Apr 2014

    1396881317
    Gear Tip: Dry Out Soggy Sneakers | Runner's World http://www.runnersworld.com/running-shoes/gear-tip-dry-out-soggy-sneakers?cm_mmc=F

    ==================================================================
    This mobile text message is brought to you by AT&T

    [/mobile] [permanent link]


       
    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.

  •        
    13 Mar 2018

    Tenth Runniversary
    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.

    [/running] [permanent link]

    12 Mar 2018

    Take back your privacy
    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.

    [/musings] [permanent link]


       
    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.

  •        

       
    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.

  •        
    09 Aug 2016

    He's Not Wrong...
    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.

    [/code] [permanent link]

    28 Apr 2014

    Looking back...
    As I look back at code I wrote a decade ago as an undergrad, I often find lots of little things that can be done better. For instance, in one file I found that reversing the order in which two functions were called would have eliminated a half dozen conditionals from one of the functions and would have resulted in the same expected behavior, but with fewer lines of code and a lower cyclomatic complexity.

    [/code] [permanent link]

    10 Dec 2013

    Thoughts on National Computer Science Education Week
    This week is apparently National Computer Science Education Week. Code.org is organizing the "hour of code" to promote teaching of Computer Science and Programming in schools. They're also organizing petitions to make CS courses count as credits in Mathematics or Science for High School graduation requirements.

    In High School, my CS courses were by far my favorites, Programming in Pascal, AP Comp Sci in Pascal, Programming in C++, and AP Comp Sci in C++ ( the language for the exam switched my junior year). I learned a lot about structured code, elegant, efficient code. I learned enough about Data Structures and Algorithms that I didn't have to study for my college CS classes until Computational Structures (Discrete Math II with Scheme, essentially) in my third semester. I had an amazing Computer Science teacher who also taught me Calculus and the proper order of precedence in life: God, Family, Math. I wouldn't be where I am today without that educational opportunity I had in High School. I want others to have that opportunity too.

    However, this is where I differ with the opinion of the Code.org folks. I do not believe that CS classes should count toward the Math or Science requirements. In this state, CS counts toward the "practical or performing art" requirements, I'm assuming under the "practical" label. I think this is a better place for it at the High School level.

    Computer Science is not a hard Science. It's not Physics. It's not Biology. It's not Chemistry. There's a saying that if the subject has science in its name, it's not really a science. That is true with Computer Science. It's not studying the how and why of atoms, of molecules, of living systems, of anything really. It's not science.

    Computer Science is really applied mathematics. I am very fortunate that the college program I went through was very strong in mathematics: Calc I and II, Linear (Matrix) Algebra, Discrete Math, Discrete Math II in the guise of Computational Structures, Probability and Statistics, Theory of Computation, Algorithmic Analysis... the list goes on. All of these mathematical foundations were then applied to a machine, to make the machine carry out a task in an efficient manner. It's those mathematical foundations that are the true core of Computer Science.

    While mathematics is the core of Computer Science and Computer Science is essentially applied mathematics, I do not believe it should count toward the Math requirements. The CS classes would likely detract from other mathematics courses such as Geometry, Trigonometry, and Calculus. These courses are far too important to an education to be replaced by a Computer Science course. Many, maybe even most, High School Computer Science courses focus more on "programming" than the fundamental mathematical theories. They will pick the language du jour and teach you the syntax and semantics. They'll teach about basic data structures like arrays, and linked lists. The AP exam currently focuses not on implementing lists, trees, stacks, queues, and sorting and searching algorithms, but on arrays and lists using Java library calls. This is not math. This is learning Java syntax.

    [/code] [permanent link]

    20 Aug 2012

    unHide
    After a friend's computer became infected with some malware that hides files in your home directory and tries to extort money from you in order to "recover" your data, I was inspired to write this little program.

    All it does is search for hidden, non-system files and unhides them. It defaults to the user's home directory (My Documents), but other directories can be chosen.

    If anyone wants to try it out, please do. If you do try it, let me know what parts I can do better. I primarily work on embedded systems and Unix daemons professionally; the user only knows my software exists when it isn't working. As such, I have very little experience with GUIs or human-computer interactions. Any feedback would be much appreciated.

    The Windows executable can be found at: http://www.skinnymf.com/~mforde/unHide/. Source code is available upon request.

    [/code] [permanent link]

    01 Mar 2012

    Just a Question
    Given the following code fragment, I was asked to implement foo such that the program would output "America." How would you do it?

            int main()
            {
              char *p = "Hello";
    
              foo(         );
              printf("%s",p);
    
              return 0;
            }
    

    My solution involved allocating new memory from the heap to store the new string, and changing p to point to that buffer. They didn't like that answer. They preferred the method of putting the new string in the data segment as well.

    I personally would always avoid that, whenever possible. "Hello" is stored in a read-only area of memory as is "America" in their preferred solution. Any attempt to alter those strings will trigger a segfault. This is an accident waiting to happen.

    [/code] [permanent link]

    19 Apr 2011

    It's not magic, it's C.
    I love reading comments like

    /* These defined magically in the linker script. */
    I found that in the GNU Standard C Library implementation when GCC told me the the variables to which the comment referred were undefined. I guess that linker script isn't magic after all...

    [/code] [permanent link]

    19 Oct 2009

    C#, XNA, and 8 Queens
    I spent some time this weekend learning some C# and getting working a bit with the XNA framework. I implemented a solution for the 8 Queens problem in C++, then ported that class to C#. After getting that working in Windows, I started moving it to the Xbox.

    It works there with little issue, but, as expected, writing to system.console doesn't produce useful output. My next step is to get some sort of graphical representation of the chessboard displayed with the solution set.

    [/code] [permanent link]

    17 Oct 2009

    XNA
    As of this morning, I am now a member of the XNA Creators Club.

    [/code] [permanent link]

    14 Oct 2009

    Self Documenting Code
    Despite what you think about your code, it is not self documenting. When writing code add comments, describe what a function does, explain why you're using that convoluted pointer arithmetic and bit shifting. I'm sure it makes sense now, but someday you'll have to go back and look at it and figure out what the hell you were doing. Or worse, I'll have to go back and look at it and figure out what the hell you were doing.

    Sometimes it is important to have some sort of separate documentation for the code; maybe some UML or ER diagrams, maybe some English text. Use what ever it takes to explain what you were doing. Do not paste snippets of your code into the text and call it documentation.That is not documentation, that is code.

    [/code] [permanent link]


       
    Eponymous http://rainysoul.net/~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://rainysoul.net/~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
    EQFBBwUUUEF9QhhmgQcadDBAfXVlRUR8QxyYoAcBIvH/VAEd2qfQBdiJBwIGaJm3318AUKaaBQWC
    cEFhGwygwXTLZZCBdYW1KAQEPZYnBIYwAkBBBU9lECJ11uUmYkQmemEaAZsBkF8GhxVowV1K/ggV
    ZVF1CQKLYG1ZG3E4glCBkbn9BR4SHnQw3JMKIZmgYJZdkGCCHu5JmYF7zjmlBVBRIAShoRW45oBE
    FEZBgOKNlh5jZw6Jo6RzJubjj4HS6dBerFl2W6XhRWUcEegBcJilS0m3HwibbVVgZkQsiuekQ/SY
    21sX4rhoig0C0EFaUa3q6UKgBvvqqEKWmiaqxaK5FHpladAZCO3d9mZqcAWbH6Wb8ormY+A66Vyl
    qRp7/2xCyVbGHAjMIiHVqcRqN6WMUIF3JLhL3aYuvL89C8KN5GJLanyO7ZkggONFu65CYmEFlmUY
    eIWEV9gNmRVl94Lg2GYptlflv/4GSy96rIlracGmepWVcl0N8OfDDUXZRccEP8cvwKoWUbK79LKY
    8sE4MkyzRzb7N1tUw+6sbRGqCettEW+FTHTBMR69UVShhdExoV8OMSupakLVdb7qQRWgyjyzZmsR
    F8ysNUSj0tsFbcC+VV+BBAMLgnSPKkshX2JfzZqm32L779wOYbAXBX538SG324JdsJnG0gaafsb+
    RUF9PdYXdX5kDnGjuYwzlCpVi18BJGdlJTbcXvmyhf+ZqhBUB8Cco1XgAQUbEMamEMJDtUEBekq1
    FghFCjuAdHKnrlDMLst8s8uCTThe9WV6sKcGzVUsBAZ2cphh9RW73JuG+DEo/fvwxy///PTXb//9
    +Oev//789+///wAMoAAHSMACGvCACEygAhcohQMI4IECOEACDkAECeKCgg2EYASHcIAHDOEBAjgC
    BocQwgd48AkhTIIJsWBBBrqhAQEwgAEC0AABGIAIBkjhJBJwQiGMMAs3lAIMZUjDIRhgAUNYgASO
    EMQhLDEAAYDCEpMARSzk0IVwqCIIbLgJBOjwAFHcQhOloEUjOsCIUyzCGIdQRiy0kQpXxKIbtCgA
    BzT/QAETAIECKAhFBHwQATAUQAD2CIIEIEABfkyAAgKQxwMskoIHWMACToiASjagkIf0oxAakEc8
    6vEBimRACB0ZgBGSkoIPGGQeBdCAQx7gABFwAAYdEIFLwhABCRBCAoLoRUMWEQRBJKQQDNBKPwKy
    kEj0oSR7KIQ3HnGUSsTkL4lZyWGCoIqGROQQOKnHTj7ghgKYwAI6qMprRjGbiVxkHiewyFwKQQCV
    DEAuZwjFXAoyAB5kpSsxqU05aoGOHEhAAjgAzAcqQI/uFEBAJxCBBEyAASBYgB9FyciIAnOCfozA
    K5HYAI7eUKIgEOU7keiAg55Roru86AE0qdKMStAB/wmIIQgeek0dChIEDYBoR4fAAArCFKQLuOQU
    4wjMiTbgABBl5xA0GskiOFOpjFwiUC9pAKOC4IlRBKlIt0hSk171mhyYQAI0mgCYVlGrgswjSXGq
    wwBAFAFInKEeEfCAhtb1mjekKVr9mQU6BnGJORwrPkkIzsKCIAIPhKIAapnLGOZxiyD8aApviNh7
    LjUBC3DAAyDawTri9bHNNEAeH+CAB1I0ilwMgE2juFWCblIBmwWBawUA0aHqMIi0PSxmRyiAyDo1
    iqmMImVBANMlzhaiuK2tOQ+b2DDqNrOxfeJBSWtay1ZWsYwF5jiJoFohRKCg5kRAGA0ARtRStrl8
    df9jGLn41SsaMgIn5KJ8b8gBCHrwAQo44xYZYFLV3jCO9LWvEVtJzEsqQJT6pe1BScjfA5T2gTE1
    b01JyNoUuraQDjjmcb8KXmvu95oN0K8QHODf34IguMAMKReN+07ktvirVazvA3tIzQLDOIoOhmCE
    ZStg/Oo3xKDtbntD2MfxlneLAZ5xeq/gVyEA9oEG1uR8kRxSPlbSp00d6JTFS+WeXpOlCJBlAOD7
    1YFa1MxCQKKZvwvMI6d2tSDgcm6T2FAVf5nD9TUikf1Y1wVTmb1sdK41Q+zHJYo0AH68IqJvXOU7
    CyHMYCQzVr07zCN7GdEI8KkADkrTZuIYuUQu5Q3Cx7pcLl4alzpcchSaPORdyjChhuUiKRcwQQeU
    FKe2viQDEM0AUEpUATectTtBcIAlMrSZEl0AK3O9TWazc5ClzqtGhVDXBmA2ANsdQqcjie3GStTL
    QlDAt90pSyLsGgG95q6gU/wACVBwidymtR7HzWhhc9DYbJ70TBd50CoK28G3zm+5m8kAuFJQ0VEc
    pAIuWUVZL5LWAkijqgHRgEs+IJl7+CUVysoJIU+cExfH9g/xAOxhN9COHU/1x1fO8pYHJQgAOw==
    ---boundaryRMS123--

    http://rainysoul.net/~mforde/blog/index.pl/2022/10/07#20221007 I'm looking California and feeling Minnesota Fireside Chat http://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~mforde/blog/index.pl/2017/08/16#theend Sometimes... http://rainysoul.net/~mforde/blog/index.pl/2017/08/16#sometimes Sometimes it's dificult to find a reason to continue. Ninth Runniversary http://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~mforde/blog/index.pl/2016/07/20#aterm Here's a soltuion! https://forums.freebsd.org/threads/44941/ X11 Mouse Cursor Themes http://rainysoul.net/~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://rainysoul.net/~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://rainysoul.net/~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.

  •        
    07 Oct 2022


    I'm looking California and feeling Minnesota

    [/musings] [permanent link]

    29 Dec 2021

    Fireside Chat


    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.

    [/musings] [permanent link]

    07 May 2020

    Bill Gates is Satan's Minion
    Bill Gates was Satan's minion, is Satan's minion, and always will be Satan's minion.

    [/musings] [permanent link]

    12 Mar 2018

    Take back your privacy
    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.

    [/musings] [permanent link]

    17 Oct 2017

    St Michael, defend us in battle
    Crisis Magazine has a great piece about St Michael and the ongoing spiritual warfare in the world.

    [/musings] [permanent link]

    12 Oct 2017

    New PGP Key!
    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.

    [/musings] [permanent link]

    16 Aug 2017

    Sometimes...
    Sometimes it's dificult to find a reason to continue.

    [/musings/self] [permanent link]

    24 Dec 2016

    Merry Christmas
    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.

    [/musings] [permanent link]

    13 Aug 2016

    What Year is This?!
    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

    [/musings] [permanent link]

    08 Jun 2016

    Megapath sucks
    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.

    [/musings] [permanent link]

    25 May 2016

    Found this sitting in a tarball of my old home directory...

    
                                                                                                                                  
                                                                                                                                  
                  ..,,..  ..ttLLLLtt..  ..;;ii;;,,..;;ttGGLL;;....iiiiiiiiiiii..    ..iijjttttii..                                
          iiLLLLGGKKKKDDLLGG########GGLLDDWWWWWWKKKKKK######WWDDEEWW##WWWW##WWDDjjffDD##########LL..          ..;;..              
      ..ffWW########WWKK####KKjjttEE####WWGGGGEEGGDDDDGGjjttGGKKWWWWLLGGLLGG##########DDjjttttGG##GGffttiiiiffDDKKDDGGGGGGii      
      ff####GGffffttii;;ttLLiijjtt;;LLtt;;,,,,;;;;;;iittLLtt;;,,iiiiiitt;;;;ffGGGGLLtt;;iiii;;;;DDWW####WWWW####KKDDKKKKWWWWtt    
    ..EE##LL;;ttttLLttLLLLttff##WWGGjjffGGDDGGKKKKKKWW####WWDDGGDDDDWW##EEEEffttffLLffGGWWWWGG;;;;ttffjjffDDDDff;;;;;;iittKKWWii  
    ;;KKKKiittKK######WWWW######################################KKKKWW##WW##################WWKKDDffttjjjjiiiiiiLLEEGGDDiittWWLL  
    ..KK##ttGG######WWDDDDEEKKDDKKWWDDKKEEKKWWEEKKEEWW##WWKKWWEELLLLDDDDDDEEEEEEEEEEEEEEKK##########WW####KKWWKK########KKiiDDEEii
      DD##ffGG######EELLLLLLLLLLGGDDLLDDGGDDDDLLLLEE####WWGGGGLLLLLLLLLLLLLLLLLLLLLLLLDDKK######WW####KKKKKKWWWWKKKKWW####ttLLWWLL
      GG##LLLL##KKKKDDLLLLLLLLLLLLLLLLLLLLLLLLLLGGWW####WWLLDDLLLLLLLLLLLLLLLLLLLLLLGGKKWW######EEEEDDLLLLLLDDEEEELLEE####ffLLWWGG
      LL##GGjj##KKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDKK####WWLLEEDDLLLLLLLLLLLLLLLLLLLLGGEEKK##WW##EELLLLLLLLLLLLDDDDLLKK##WWiiGGKKjj
      jj##GGiiWWWWGGLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDKK####KKLLKKEELLLLLLLLLLLLLLLLLLLLLLLLKK##GG##EEDDDDLLLLLLLLLLLLLLKK##GG;;KKDD;;
      ii##EE;;DDWWGGLLLLLLLLLLLLGGLLLLLLLLLLLLLLLLKK####KKLLDDDDLLLLLLLLLLLLLLLLLLLLLLLLEE##ffWWKKEEEELLLLLLLLLLLLLLKKWWiijj##ff  
      ;;WWWWiiGGKKLLLLLLLLGGLLDDEEDDLLLLLLLLLLLLLLKK####KKDDGGLLLLLLLLLLLLLLLLLLLLLLLLLLDDWWttEEWWDDDDLLLLLLLLLLLLLLEEKKiiKKWW;;  
      ;;WW##ttGGWWGGLLLLLLEEDDEE##KKLLLLLLLLLLLLLLKK######WWEELLLLLLLLLLLLLLLLDDDDGGGGDDKKWWiiLLWWGGLLLLLLLLLLLLLLLLKKKKttWWLL    
      iiWWKKiiKK##DDLLLLLLEEEEWW##WWDDLLLLLLLLLLLLKKWW######EELLLLLLLLLLDDEEEEWWWWKKKKWW####ii;;KKDDLLLLLLLLLLLLLLDDWWKKffWWtt    
      ii##WWttWW##EELLLLLLDDEE######EELLLLLLLLLLLLKKDDEE####KKLLLLLLLLLLEE##################ii..KKEELLLLLLLLLLLLGGDD##DDffWWii    
      ;;WW##ttLL##KKLLLLLLLLEE##KK##KKLLLLLLLLLLDD##LLLLEEWWKKLLLLLLLLLLKK####WWKKffLLKKWWGG;;..EEKKLLLLLLLLLLLLDDEE##LLLLWWii    
      ..EE##LLiiWWKKLLLLLLGGKK##LLKKKKGGLLLLLLDDWW##ff;;iiKKKKLLLLLLLLLLKK##WWLLffttiijjLLiiffttGG##DDLLLLLLLLDDEEKK##ffLLKKii    
        LL##KKiiKKWWGGLLLLLLKK##ttGGWWDDLLLLLLEE####tt;;,,EEKKDDLLLLLLLLEE##########WWWWWWttGGGGttWWWWDDLLLLLLGGGGKK##ffGGKK;;    
        iiWW##ttGGWWDDLLLLGGWWKK;;GGWWDDLLLLLLEE##KKiiGG;;KKKKDDLLLLLLLLGGEEWW##KKEEDDDDKKttKK##ttGG##DDLLLLLLLLGGWW##jjEEEE..    
          GG##GGttWWDDLLLLGGWWKKiiWWWWDDLLLLLLEE##GGttKKiiGG##EELLLLLLLLLLLLGGDDGGLLLLEEKKjjWW##ffLLWWGGLLLLLLLLGGWWWWjjKKGG      
          tt##EEttWWDDLLLLDDWW##WW####DDLLLLLLKK##ffLL##DDttWWWWDDLLLLLLLLLLLLLLLLLLLLKKKKjj####jjGGKKLLGGLLLLLLDD##KKttWWLL      
          ii##KKttKKDDLLLLGGWW####WW##EELLLLLLEE##jjGG####ttDDWWGGLLLLLLLLLLLLLLDDDDGGWWEEtt####ttKKWWLLLLLLLLLLDD##GGffWWtt      
          iiWWKKttWWEELLLLLLEEKKKKEEEEDDLLLLLLEE##ttEE####jjKKWWDDLLLLLLLLLLLLLLDDDDDDWWDDtt##WWttWW##DDLLLLLLLLEE##LLLLWWii      
          iiWWKKff##EELLLLLLLLLLLLLLLLLLLLLLLLEEWWttKK##KKttWW##EELLLLLLLLLLLLLLLLLLDD##GGtt##WWttWW##EELLLLLLLLEE##ttGGEE..      
          iiWWWWff##KKLLLLLLLLLLLLLLLLLLLLLLGGKKWWttWW##KK;;EE##EELLLLLLLLLLGGGGGGGGEE##GGtt##WWttKK##EELLLLLLLLEEWWttEELL        
          ;;WWKKff##KKGGGGLLDDLLLLLLGGLLLLLLDDWWKKtt####WWiiLL##EELLLLLLDDKKWWWWKKWW####ffff##WWttEEWWDDLLLLLLLLEEKKiiEELL        
          ;;WWKKjjWWKKLLLLDDWWEEDDEEKKDDLLLLDDWWKKjj######jjLL##EELLLLLLEE##############jjLL####ttGG##DDLLLLLLLLKKKKiiKKff        
          ;;WWWWttKKEELLLLEE####WW####KKGGLLDDWWDDjj######ffGG##EELLLLLLEE##LLLLLLWWWWKKiiGG####LLjj##DDLLLLLLLLKKEEttWWff        
          ;;KKWWiiEEDDLLLLWW############DDLLGGWWDDjj######GGff##KKLLLLLLEE##ttiiiitttt,,;;KK####DDtt##EELLLLLLLLKKDDttWWtt        
          ;;KKWWiiDDDDLLLLWWWWffff######EELLDD##GGff######KKttWW##DDLLLLEE##ffGGKKjj;;iiDD######KKjj##KKLLLLLLLLKKGGffWWii        
          ,,KK##iiDDEELLLLWWGG  iiffffWWDDLLEE##GGff########ttGG##EELLLLEE##ttLL####WWWW########KKtt##KKLLLLLLGGWWLLLLKK;;        
          ..KK##ttLLKKLLLLKKGG......ttKKGGLLEE##LLLL########GGtt##KKLLLLEEKK;;LL########WWKKWW##KKttWWWWDDLLLLDD##ffLLGG..        
          ..KK##jjLLWWGGLLKKKK;;ttttff##DDLLDDWWttGG########KKttWWKKGGLLDDKKiiEE##ffttttii..ttWWWWttKK##EELLDDKK##ttGGGG          
          ;;KK##ffLLWWGGLLKKEE;;LLGGtt##KKLLGGKKjjKK########WWttKKWWDDLLDDKKttKKEE..          GG##ffff##WWDDWW##EEiiEELL          
          ..DD##GGttWWDDLLEEGG..LLWWttKKKKGGEEKKjjWW##########ttGG##KKDDDDWWttEEDD..          tt##KKiiWW##WW####GGtt##ff          
            ff##KKiiWWDDGGEEGGiiWW##ttDDKKDDWWKKjj############ffLL####WWKK##ttDDEE..          ;;KK##ttLL######WWttLL##ii          
            ;;WWWWttKKWWKKKKGGjj####ttGGWWEEWWGGtt############LLLL##########ttKKDD              GG##EEiiDD####LL;;KKEE..          
            ..EE##ffLL##WW##GGtt####jjLL######LLtt############LLttWWGGKK##LLttWWLL              iiWW##ffff####ttGG##ff            
              LL##EEttGGLL##GGtt####LLttWWKK##ffLL##EEttttKK##DD;;ff;;ttEE;;GG##tt                ff##DDiiKKLLiiWWKK;;            
              tt####ttii;;KKffff####KKiiii;;GG;;LL##ii    iiWW##LL::  ;;tttt##DD..                ;;KKWWiiffiiGG##ff              
              ..KK##GGttiiii;;GG######DDLLii;;;;KKEE..      ff####DDLLii;;GGWW;;                  ..DD##LL..tt##KK;;              
                jj######GG..jj############GGiiDD##ff        ..LL######WWKK##GG                      ff##WWDDWW##tt                
                ..LL####WWGGWWWWffiittGGWW##WW##DD::          ..ffKKWWWWWWKKtt                      ,,DD######ff..                
                  ..ttEEWWWWDDii        ttEEKKGG;;                ..;;;;ii;;                          ;;ttffii..                  
                      ..ii;;..            ..;;..                                                                                  
                                                                                                                                  
    

    [/musings] [permanent link]

    21 Apr 2016

    Prince
    I'll never forget the day I started liking Prince's music. I was with my friend in his car headed somewhere. We were listening to K-Rock and they had a "listener playlist" where for about an hour, all the music had been selected by a listener and this listener was on the phone, talking with the DJ about his selections and introducing songs.

    The guy announced that the next song was from Prince. The DJ questioned this selection and he said, "No, this dude can shred. Just listen."

    And we laughed.

    And we listened.

    And Prince shredded.

    [/musings] [permanent link]

    20 Apr 2016

    It's been a while...
    It's been a while since I've had a substantial update here. I've been busy living life leaving little time to be writing about it; at least writing about it here.

    Work has been quite busy for a while now. Lots of projects, lots of deadlines, lots of extra hours. But there hasn't been any "mandatory seven day work weeks" like I had at that one job, and there isn't that expectation of "you can work from home so you are always expected to be working" I had at the last job. Plus, the work is a lot more interesting than anything I've done in years.

    Bernstein was right: money doesn't motivate me, interesting problems and the ability to tinker do.

    Yesterday the DeLorean rolled over to 16,000 miles. That's still about 1,000 miles a year I'm putting on it. I'd like to keep the mileage low, but she's just so much fun to drive. I've been asked by people at work to bring Aisling next week for Bring Your Child to Work Day. Apparently a lot of my co-workers have told their kids about the car and they want to see it.

    I ran my 29th half-marathon this past weekend. I'd like to get up to 32 this year. I'm also signed up for my 13th marathon this Autumn. I'm considering running number 14 a few weeks later.

    In addition to all of that taking up my time, I've also been volunteering with the Youth Ministry at a church in my diocese. That's been quite an amazing adventure. It's had a profound impact on my life and has certainly helped at least a few teens. It's been an honor to do the Lord's work. Maybe someday I'll publish some of the talks I've given. The In His Image talk seems to have resonated with a lot of people, certainly more so than some of the other talks.

    I guess that sums things up for now.

    [/musings] [permanent link]

    16 Feb 2016

    On Content "Management" Systems
    Wordpress is the new Typo3.

    Discuss amongst yourselves.

    [/musings] [permanent link]

    16 May 2015

    It was a good day...
    So today I woke up and watched an episode of Star Trek while I did some weight training and core work. Then I met my friend and her 5-month old baby for breakfast. That baby is so cute, and so happy too.

    After that I met another friend for a run in the Tourne where we met a fox on the Red Trail. When I got home from the run, I turned my lawn into an avant garde art installation and then took a shower.

    I took Ailsing out for a drive and on the way home she rolled over to 15,000 miles. I've had the DeLorean for about five years now, so I'm still averaging 1,000 miles per year. Not bad.

    A large part of a tree fell and missed my house by about 18 inches. So then I went and ran another Six miles during a National Weather Service tornado watch.

    Now I'm finishing up the day with a good movie and a glass of Monk's Blood.

    Today, I didn't even have to use my AK. It was a good day.

    [/musings] [permanent link]

    08 Apr 2015

    Cast Yourself

    "Cast yourself upon Him and be not afraid; He will not draw away and let you fall. Cast yourself without fear, He will receive you and heal you."

    -- Saint Augustine, Confessions: Book 8, Chapter 11

    [/musings] [permanent link]

    10 Mar 2015

    It's not stupid, it's advanced
    I opened the Windows 10 settings app, not to be confused with the control panel, and I selected "Windows Update." Next, I chose the "Advanced Options" and was greeted with this mess. I hope the next build fixes this problem, as well as the myriad of other issues plaguing the current Windows 10 preview release.

    Windows 10 Settings App, Windows Update, Advanced Options,
unusable

    [/musings] [permanent link]

    24 Oct 2014

    Initial Thoughts on Windows 10 -- UPDATED!
    I'm done with Microsoft for any platform that is not a telephone. Windows 10 attempts to "fix" the abomination that was windows 8 on the desktop, but just makes things worse.

    The "search" "app" that replaces the previous existing search feature really only sends a query to bing. I'm looking for a file somewhere in a subdirectory on my hard drive. I didn't want to search the web for 20141020*.txt. The UI looks like crap. Slapping a titlebar on top of the "modern" "apps" does not make them usable on the desktop. The start menu has returned, but it has never been this useless. And the ability to revert to the "classic" start menu, the behavior introduced in windows 95, and refined in win98 and Windows 2000, has been removed. I shouldn't be surprised by that given that Windows 7 also lacked the "classic" start menu. At least Windows 7 allowed a "Windows Classic" theme for the rest of the UI.

    Ever since Service Pack 3 for Windows XP, MS has been slowly and surely trying to make things "easier." However, what they deem "easier" often means removing features and behaviors I relied on to get work done. Windows 10 continues this tradition.

    I never really had a problem with Microsoft, I never avoided their software for ideological reasons. I believe in using the right tool for the job. Windows 10 is the wrong tool for any job.

    UPDATE!!!

    Using the Windows Update mechanism, MS pushed out a new build of Windows 10. This upgraded the installation from build 9841 to build 9860. After a lengthy download, installation, and a very long reboot, I was able to log in again, Only to be greeted by this:

    Windows 10 build 9860 Update breaks Windows Defender causing error
code 0x80070241

    And this lovely error when I tried to open the new "Notification Center":

    Windows 10 build 9860 Update Notification Center cannot find
explorer.exe

    Now isn't that special?

    [/musings] [permanent link]

    07 Oct 2014

    The Truth is Out There
    Tonight, I had the great fortune of joining a person who means the world to me at a book signing by Gillian Anderson and her co-author Jeff Rovin. Jeff has ghost-written/co-written several novels for and with Tom Clancy, and Gillian is AGENT DANA SCULLY!!!

    Gillian indicated that she modeled the main character as someone she would play in a cinematic version of the story, and Jeff mentions that, while not required reading, the novel is a spiritual sequel to Edgar Allan Poe's only novel, The Narrative of Arthur Gordon Pym of Nantucket.

    I'm going to put The Crytptonomicon on the back burner and put Poe's work and this new novel, A Vision of Fire at the front of my priority queue. Gillian Anderson and Jeff Rovin
    Gillian Anderson and Jeff Rovin

    [/musings] [permanent link]

    10 Oct 2013 15 Jul 2013

    Windows 8.1 in Virtual Box
    I was attempting to run the Windows 8.1 Preview in a VM using Sun's Oracle's Virtual Box on a Windows 7 host. I ran into a minor problem.

    The OS wouldn't boot. I received an error stating:

    Your computer needs to restart. Please hold down the power button. Error Code: 0x000000C4 Parameters: [redacted]

    Looking for the error code online led me to this article describing the issue and a fix. The key to fixing this was running the command:
    "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "" VBoxInternal/CPUM/CMPXCHG16B 1

    The CMPXCHG16B is an instruction in 64-bit X86 processors that allows for atomic operations on octal words.

    [/musings] [permanent link]

    02 Apr 2013 02 Dec 2012

    Happy Birthday

    I'm starting to get used to celebrating my birthday at TBM concerts. This year it was about a week prior to my birthday at a show on December 1 held at New York's Gramercy Theatre.

    Along with the tickets, I had also purchased the "VIP package." This package included an autographed poster signed by all members of the band, a "VIP" laminate on a lanyard, and... the opportunity to meet the band prior to the show!

    You may be thinking, "But they stick around after shows and mingle with their fans anyway," and "You've already met them a few times!" Both are true. And even with this "VIP" package meet-and-greet, they still make time for all their fans after the show. What this provided was a somewhat quieter meeting in a more intimate setting.

    In fact the meeting was in a small lounge beneath the concert hall. Dim mood lighting, mirrors, and couches set the atmosphere. I spoke with Rainbow, Michael, and Nate first. Rainbow informed me his name was Michael also and made a joke about the "power of the three Mikes lighting the room." After a bit, they started moving me to Chibi who was sitting on a couch after injuring her knee during a show two nights prior. She tried to walk to me, but I told her not to. She said, "I'll meet you half way then."

    I gave her a get well card, knowing she had had surgery on her vocal chords about 8 weeks prior and recently injured her knee. Someone decided we needed a photo of that and she gave me the card back so I could give it back to her. I believe it was Owen who said, "Act natural and hold it for 30 seconds!"

    I asked Rainbow about writing "Unfamiliar" because both he and OE were given credit in the liner notes. He said it was mostly OE; OE started it and Rainbow had finished it. I said I wanted to thank them because it was a song that had taken on some greater meaning to me and I relayed a brief version of the story of the moment I recognized that. It turns out "Unfamiliar" is one of Chibi's favorite songs too.

    Every one of the bands that night were amazing. All, remarkably, were performing as duos. Creature Feature was a real fun band to see. Their music is heavily influenced by old horror movies which gives them a dark yet fun sound.

    Aesthetic Perfection put on a good performance. Their drummer is amazing and fun to watch. They heavily synth-based and while there was a dark tone to most of their songs, they still had fun and lightened things up with a Fine Young Cannibals cover.

    William Control was the only other act I had heard before the show (Thanks Last.fm!). He was great live and I'd love to see him again. He reminded me a little of Dommin in that Dean Martin meets Glen Danzig sort of way.

    The Birthday Massacre was great. They played a good mix including songs from every album. For most of the set Chibi was sitting on a speaker placed near center at the front of the stage, wearing a knee brace. She stood up and moved around occasionally, but not much. At one point Rainbow sat down on another speaker and stuck out one leg in a similar fashion to how Chibi was seated and laughed a little. It was easy to tell by their interaction here that Chibi and Rainbow are close.

    If you care (or even if you don't), their set list follows:
    • Night Shift
    • Down
    • Control
    • Always
    • Red Stars
    • Video kid
    • Lover's End
    • Forever
    • Pins and Needles
    • Happy Birthday
    • Alibis
    • Calling
    • In the Dark
    • Sleep Walking
    • Midnight
    • -- Encore --
    • Leaving Tonight
    • The Long Way Home
    • Blue


    The band did not leave the stage prior to the encore as they normally would. Chibi said, "This is the part of the show where we say thank you and leave and you clap and we come back out and play some more. But I'm not going to walk down those stairs anymore than I have to, so do you want to hear three more songs?"

    [/musings] [permanent link]

    07 Oct 2012

    Signs of the Apocalypse
    A friend told me this was from Glee. I found it amusing; thought I'd share.

    It's a fact that the book of Revelations predicted Twitter. It's one of the seven signs of the apocalypse; Along with porn, unexplainable weather anomalies, martian rovers, Barney Frank, the middle east and MSNBC. It's like Kirk Cameron said, "It's never too late, until it's too late."

    [/musings] [permanent link]


       
    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.

  •        
    13 Mar 2018

    Tenth Runniversary
    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.

    [/running] [permanent link]

    14 Mar 2017

    Ninth Runniversary
    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.

    [/running] [permanent link]

    26 Sep 2016

    Don't Call it a Comeback
    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.

    [/running] [permanent link]

    03 Jun 2015

    National Running Day ... part 5
    This evening on my second run, I met up with one of the middle school kids I had coached on the cross country team. He was driving (because he's not in middle school anymore) and stopped at an intersection waiting for me to cross. He called out to me, I stopped, and we chatted briefly.

    Although the conversation was brief, I realized that I had left an impression on him, I had made a difference, however small, in his life. And no matter what else happens, nothing can change that.

    Happy National Running Day!

    [/running] [permanent link]

    09 Aug 2013

    chafing...
    WARNING: possible TMI

    I thought I had healed from the chafing left after Saturday's River to Sea Relay... Until I ran in the rain yesterday. To quote a friend, "It feels like someone took a cheese grater to my crotch."

    [/running] [permanent link]

    22 Jul 2013

    Why do I run?
    So, why do I run? Here's one reason:


    [/running] [permanent link]

    30 Apr 2013

    I LOL'ed

    PATIENT: "The problem is that obesity runs in my family."
    DOCTOR: "No, the problem is that no one runs in your family."

    [/running] [permanent link]

    17 Jan 2012

    Races, Races, Races
    I've been busy the last few weeks or so; I've done a few races.

    • On October 30, I ran the Marine Corps Marathon in Arlington, VA and Washington D.C.
    • On November 5, I ran the Beavertown Fall Classic 5K in my hometown.
    • On November 6, I ran the New York City Marathon for the second time.
    • On November 19, I ran the Knickerbocker 60K Ultramarathon in Central Park.
    • On December 3, I ran NJ Winter Trail Series Race #1 Half Marathon in Wayne.
    • On December 10, I ran the NYRR Jingle Bell Jog in Prospect Park.
    • On January 7, I ran the Walt Disney World Half Marathon, part one of Goofy's Race and a Half Challenge.
    • On January 8, I ran the Walt Disney World Marathon, completing the Goofy Challenge.

    In 10 weeks I ran a 5K, a 6K, two Half Marathons, three Marathons, and an Ultramarathon, plus a few training runs in there...

    And last night Wii Fit called me a couch potato.

    In defense of the game, I hadn't used it in 547 days, and I'm now 11 pounds heavier than when I had last used it. It has no way of knowing that the vast majority of that weight gain was lean mass. It also has no way of taking into account all that I've done outside the game.
    Even with that in mind, it's still a little frustrating to be called a couch potato after running a marathon and a half last weekend.

    Each of these races were pretty special. I ran MCM alongside some fairly awesome people; people who I consider to be among my closest friends. In the Beavertown 5K, I somehow managed to take 12th overall and 5th in my age group without really trying.

    At NYC and then at the Knickerbocker, I ran with the friend who got me started running in the first place. I credit him with saving my life, and it was an honor and a pleasure to run with him.

    The trail half was my first trail race (not counting my time on the high school cross country team) and I ran that with a friend I hadn't seen since our days on the high school track & field team (she was a runner, I was thrower). We have both run full marathons in less time than it took us to complete this half.

    The Jingle Bell Jog was a fun race with bells and hot cocoa, and it was the first time I ran alongside my friend and former physics TA. And lastly, I ran the Goofy Challenge alongside another one of my close friends and training partners.

    These races were a lot of fun. Some of the courses were quite amazing to see, and these races were opportunities to spend time with some pretty awesome people.

    [/running] [permanent link]

    18 Apr 2011

    25th Anniversary Lincoln Tunnel Challenge 5K
    Yesterday the Giraffes ran the Lincoln Tunnel Challenge to benefit Special Olympics New Jersey. It was the events 25th anniversary and the Giraffes' third anniversary.

    The weather was much nicer than the previous two years with far less rain than last year and a much milder temperature than the 90+ degrees of two years ago. In fact, the weather outside was ideal for running. The weather inside the tunnel was a few degrees warmer, but still in that ideal range.

    Before the race, I met up with my friend Bobby. He's an athlete who competes in the Special Olympics. We went to school together and were on the Cross Country and Track & Field teams in high school. Back then, he and I were almost always the last two runners to finish at the Cross Country meets. The difference between us was that I was a quitter and he never gave up.

    That first time I ran this race in 2008, I failed to meet my goal 31:26. When I saw Bobby after that race, it made me think back to Cross Country. His determination to never quit was one of the influences that kept me running after that day.

    Back to this year's race...
    After talking to Bobby, I met some other friends from my town who were running (but decided not to register as Giraffes... grrr...). They, as well as the other Giraffes, were running in the second wave at 8:45. It was getting close to the start of the 8:00AM wave, so I parted ways with them and took my place in the starting area. After the standard pre-race speeches, including the announcement that this year's race raised almost $180,000 for SONJ, the gun went off and the race began.

    After a few seconds in the tunnel, my watch lost satellite reception and continued using the footpod while searching for satellites. Because it went back into the open sky search mode, I couldn't see any sort of timing or pacing information on the display. I was running blind, so to speak. Having set a PR of 19:08 in the 5K last month and a previous best of 20:16 for this course, I was hoping to just break 20 minutes. The Lincoln Tunnel is essentially a "V" shape with the second and fourth quarters of the race being uphill.

    During the second half I caught up to another runner I had seen in Weehawken prior to the start of the race. As I approached, he sped up. I said to him, "You're going to make me work for this, aren't you?"

    He replied, "I don't like people passing me. And I'm trying to catch that guy," gesturing to another runner about 50 feet ahead of us.

    I said, "Okay" and started picking up the pace a bit, overtaking the runner who had been in front of us. And I kept going. I started to feel the lactic acid in my left calf. I decided to ignore it. The feeling subsided. As I neared the end of the tunnel, I could hear the announcer calling out the finishing times. I gave it everything I had left, and cross the finish line.

    I stopped my watch and saw my time at 18:57. I knew then there was the possibility I had broken 19 minutes, but it would be close. I'd have to wait for official results. But I was too excited, I had tell someone, so I text'ed a few friends.

    I reconnected with my friends from town and the other giraffes, and told them all to kick ass and chew bubblegum. I watched as their heat started and they all entered the tunnel. I went and picked up my blanket from the registration table and tried to keep warm while I waited and watched my friends finish. It brought a huge smile to my face to see each of them, and especially Bobby, cross the line.

    The Giraffes celebrated another race and another year with our traditional post-race brunch. And the waiting continued...

    The official results were posted late in the afternoon, while I was helping a friend prepare for the flooding we're experiencing for the second time in two months. A friend text'ed just before 5:00PM with

    18.55
    congrats
    
    It was two seconds faster than I thought. It was 13 seconds faster than my previous PR set only last month. I finally broke 19 minutes, and I did it on the same course on which I ran my first race three years ago. I took 16:56 off my time in those three years. I finished 9th in my age group and 33rd overall, and for the seventh time in nine races this year, I set a new PR.

    Damn, it feels good.

    [/running] [permanent link]

    10 Apr 2011

    Scotland 10K 2011
    This morning I ran the NYRR Scotland 10K for the third year in a row. The first time it was cold and raining, and I had food poisoning from eating at the Macaroni Grill the night before. (The Giraffes had a team dinner the night before and 40% of us got sick.) I ran that race at a slower pace than the 15K race a few weeks prior.

    Last year, the morning of the race was unseasonably hot and I was dealing with an ITBS flare-up. I ran that one almost as slowly as the previous year.

    All of the other 10K's I've run were always sub-par compared to my 5K and 15K times. I had never felt like I had a good 10K race. I always felt like I let myself down; like I should be doing better.

    Until today...

    Today's Scotland 10K was the first time I had a good run at this distance. When I set out this morning, my goal was a 6:56 pace, one second per mile better than my PR. Central Park was a bit chilly at about 52 degrees with an overcast sky.

    My team made our plans for meeting afterward and we took our places in the corrals. The gun went off and I started running. As soon as I crossed the starting line I decided I wanted to see how fast I could do this, how fast I could run a 10K. I wanted to see if I could break 40.

    So I ran fast and hard, watching my pace a little too closely at times. After the first mile I was warm and debating whether or not to take off the arm warmers. I decided to wait until later in the race, as one side of the park is usually warmer than the other. At about 2.5 miles I had a weird cramping feeling in the ball of my right foot, but within a few hundred meters the high kicked in and the pain went away. At the halfway point I knew I'd be close to a 40 minute finish if I kept up the pace.

    I kept up the pace until the last mile, then I sped up. I was close to the goal. I was going to make it or die trying. Well, probably not die. More likely vomit or pull a muscle or re-injure the IT-band. But not one of those problems happened. What did happen was I crossed the finish line less than 40 minutes from the time I crossed the starting line.

    For the first time, I had felt good during and after a 10K. I ran the race I wanted and the race I needed. I accomplished what I set out to do and it felt awesome.

    The official results posted a few hours later put me at 39:46, a 6:24/mile pace. This is a faster pace than my current 5 mile and 4 mile PRs. I ran at a 67.5% AG performance rating and finished 318 of 8491.

    I'm pretty pleased with myself...

    [/running] [permanent link]

    23 Mar 2011

    Lincoln Park Triathlon
    This Summer Lincoln Park will hold its first triathlon. More information can be found at www.lincolnparktriathlon.com.

    If you're not quite interested in racing it, we're looking for volunteers to help out that day.

    [/running] [permanent link]

    22 Mar 2011

    WPLJ's NYC Half Marathon Themed Phone Scam
    Yesterday Scott and Todd aired a phone scam related to the NYC Half Marathon. It's available here for now if you haven't heard it.

    I was a little disappointed in the way the guy from the running store responded. He struck me as the kind of guy that looks down on the back-of-the-pack plodders. They're out there doing their best just like the elites and everyone in between; they deserve respect too.

    Other than that, it was a rather funny phone scam; one of the best I've heard in a while.

    [/running] [permanent link]

    27 Feb 2011

    Why does tomorrow have to be Monday?
    Today I decided to be awesome. My friends decided to be awesome too. It was awesome.

    We packed up and drove down to Westfield and ran the CJRRC Hangover 5K. It was supposed to be held January 1, but was rescheduled multiple times due to the weather.

    I ran a PR today finishing in 19:22. I was 4th in my age group and 15th over all.

    My friends ran the race too, all except one who has a broken toe. Everyone was happy with their time and met their goals for the day, ranging from sub-25 to "eh, taking it easy, seeing how it goes..."

    After the race we went cycling. This was my first bike ride outside. I've been working with an indoor trainer for the last few weeks and this was the first time I had been on a bicycle, outside, actually moving, in about 16 or 17 years. My friends have been cycling longer and more recently than I have, so today's 17 mile ride was rather easy for them.

    I was freaking out quite a bit, but they calmed me down, gave me pointers, and just helped me out in general.

    As we rode, I got more comfortable with the bike and I realized comparing this bicycle to my last bicycle is like comparing my DeLorean to my old Mercury Sable. It takes a while to get used to the differences, but once you do it handles far better and offers more control.

    [/running] [permanent link]

    07 Feb 2011

    Look How Far We've Come
    Just under 3 years ago, I started training. That first 5K took about 53 minutes and change. My first race was the 2008 Lincoln Tunnel Challenge, about 6 weeks after I first stepped on the treadmill. My time in that 5K was 35:51, about 11:32 per mile.

    Yesterday I ran the NYRR Gridiron 4 Mile. I finished in 25:47 (6:26 pace), a full ten minutes faster than that first 3.1 miles.

    Last month, I ran the Fred Lebow Classic 5 Mile race in Central Park. I finished that race in 33:09 (6:37 pace), over two minutes faster than that first 5K race.

    I hope this achievement will serve as a testament to the fact that with determination and hard work, anything is possible.

    [/running] [permanent link]

    14 Nov 2010

    2010 New York City Marathon
    One week ago, I ran the New York City Marathon. As noted many times throughout this blog, this race was something I've been working toward since December of 2008. This event was the culmination of nearly two years of hard work and dedication. And it was worth every single mile I've run over the last two years.

    At 9:40, the cannon was fired and the marathon started. Within minutes, I was crossing the starting line and running over the Verrazano Bridge. Not only was I running in the footsteps of the current world record holder and the first American to win New York in 27 years, I was running in the footsteps of legends.

    About three and half hours later, I entered Central Park for the last few miles of the race. I looked around and had the odd sensation that I was home.

    It's difficult to put into words the feelings of that day. Despite having completed three sanctioned marathons prior to this day, crossing the finish line was something I couldn't believe I was actually doing.

    It was absolutely amazing.

    [/running] [permanent link]

    13 Nov 2010

    Pre-Race Thoughts
    Last Saturday, I sent a letter to the Giraffes mailing list. I've decided to post here.

    In March of 2008, Brian told me I was running a 5K with The Giraffes. He didn't ask and he didn't give me a choice. Two days later I got off the couch, got on the treadmill, and started running. Six weeks later I ran my first race with this team. This team saved my life that day.

    Nine months later and a hundred and one pounds lighter, I got this crazy idea in my head. I decided I was going to run a marathon. I thought, if I'm going to run a marathon, I'm going to run the biggest marathon in the world. I'm going to run the New York City Marathon.

    I did some quick research about how to get in and found the 9+1 qualifying method. A couple of days later, I told Brian I was going to spend 2009 working toward guaranteed entry for the 2010 NYC Marathon. Almost immediately, he sent out an email to The Giraffes saying, "Mike and I are doing this and so are you." I'm paraphrasing, although it was quite close to that.

    So on January 10, 2009, five of us piled into the car and drove to Central Park on a frigid Saturday morning and began our journey with the Fred Lebow Classic.

    We continued to run, and picked up some new members along the way. Some with an impressive history of ultramarathons, and some just starting out.

    Those of us who first set out that day in January reached our goal and qualified for NYC 2010.

    At some point we decided we should run a marathon prior to NY, to get an idea of what we were really getting into. We chose Philadelphia, and for several Giraffes that day, it was our first. It was the day we joined the ranks of the one tenth of one percent of the population who can call themselves marathoners.

    While training for Philly, I fell in with a group of runners from my hometown and began running with them. At first it was short runs during a 5K training program they were running, but soon thereafter, they began including me in their longer training runs on the weekends. They introduced me to a number of other runners. Eventually I convinced (most of) them to sign up for the Giraffes mailing list.

    For the past two years, I've run with these people, the original Giraffes and the runners who have joined us along the way. And through it all, this team is what has kept me going. Through inspiration, through motivation, through friendships, through training runs and races, you've kept me going. You have been my support system.

    And now I sit here on the eve of the New York City Marathon, less than 24 hours from the start of the race, less than 24 hours from realizing our goal we set for ourselves so long ago.

    To all of you who have been with me for this journey in some way, shape or form... To those who got the team started and pulled me in, to those who saved my life... To those who persevered through qualifying races under grueling weather conditions with me... To those who got food poisoning with me from Macaroni Grill the night before the Scotland Run 10K... To those who got me through the last 5K of Philly... To those who made the 22+ mile training runs a little more bearable at the end... To those who have shown their support in any way they could...

    I offer you my eternal gratitude. I would not be where I am today without all of you. I love you all.

    One final note. To those of you joining me in tomorrow's running of the New York City Marathon... Kick ass and chew bubble gum.

    --
    M. Forde
    "Running never takes more than it gives back."

    [/running] [permanent link]

    30 Oct 2010

    It's been a while...
    I haven't updated this blog in quite some time. A lot has happened since the last post.

    First and foremost, I spent about two months volunteering as the Cross Country team's coach for the local Middle School. Due to budget cuts, all athletics programs were cut. The local Police Athletic League stepped up and volunteered to take over the programs. Many of the teachers who have coached in previous years did not want to do so now, so the PAL went looking for volunteers within the community.

    A friend of mine with whom I train put me in contact with the PAL and after an application and vetting process, I became a Rutgers Certified coach and began my duties.

    The team was relatively small, seventeen boys and six girls. Having never really worked with kids before, I was glad that this year's team was half the size of last year's; however I was still apprehensive about working twenty-three middle-schoolers. Thankfully, several parents helped me throughout the season. One in particular was there with me for almost every practice and every meet.

    I tried to emulate the aspects of my middle and high school coaches that I thought worked, and tried different approaches in an attempt to avoid the aspects I had never liked. I wanted to motivate and inspire these kids.

    I told them about my history as a runner: my experience in 8th, 9th, and 10th grade, my first 53-minute 5K on the treadmill in March of 2008, my marathons, my personal records, and my improvements over the last two years. I told them I would never make them do any thing I wouldn't do myself in training. And I ran with them. Whether the day's training was 100 and 200 meter repeats, running the course, "time on feet" running, or fartlek's, I ran along side them.

    During one session I was catching up to the lead group, the fastest of the 7th and 8th graders, and asked, "Are you really going to let an old man with bruised ribs keep up with you?" One of them turned and said, without breaking pace, "You're not that old and you run marathons."

    During the Cross Country season, in the last six weeks or so I've run a few races and set a few PRs. On September 19, I ran the Marathon Tune-Up 18 mile in Central Park. I set a new 18-mile PR at 2:27:34, taking 18:56 off my time from last year. Also of note, I didn't end up in medical being treated for hypothermia this year.

    The following week I ran the 5th Ave Mile. I shaved 9 seconds off from last year's race and 3 seconds off my previous best in training. My new mile PR is 5:25.

    About 2 weeks later I ran the Hartford Marathon. My friend and I got there very late the night before the race. Because we were stuck in traffic for about four and a half hours, my friend missed the on-site registration. He debated what to do while we went to dinner at a local tavern. I promptly felt sick after eating.

    The next morning we got and got ready to run. I still felt sick from the night before and threw up the previous night's meal shortly before we went to the registration packet pickup. I got my bib and timing chip and my friend failed to convince the race officials to let him enter. When he asked, "can I run unsanctioned?" the response of the somewhat sympathetic official was, "I can't tell you that you can." So my friend decided to run unsanctioned. After all, no one said he couldn't.

    We lined up in the corral. Despite the way I felt, I knew I had to go out there and run my best marathon. I had told the Cross Country team what Prefontaine had said, "To give anything less than your best is to sacrifice the gift." I had to go out there and try to PR. But as Yoda said, "Do or do not; there is no try."

    I started the race keeping the 3:45 pace group in my sights. My friend kept along side me for the first three miles then fell back a bit. I had some conversations with two runners in the pace group, Gavasker, the pacer, and Jen, a woman who was looking to BQ. I kept with them the whole way and finished in 3:43:32.

    Unbeknownst to me at the time, my friend dropped out at mile 8 and made his way back to the start/finish area. He was there at the finish line, waiting for me as I crossed the line just ahead of Jen who BQ'd with 2 minutes to spare.

    The next morning I went out with some other friends and ended up running another 24 miles putting me at 50 miles for the weekend. Monday evening I ran in a charity 5K with another friend, and then took a few days off.

    Since then, the Cross Country season has ended. They had their last meet, a few more days of practice, and then this past Wednesday they had team photos followed by an end-of-season pizza party.

    At the party the kids presented me with a plaque to say "thank you." I damn near cried when I unwrapped it and saw the photo taken at one of our practices. But if anyone asks, I'll deny that part.

    Plaque

    The 6th and 7th graders also asked me to come back and coach next year. During and since the season, I've run across some of the kids in town. Every time, they come up to me and say, "Hey coach!" And that means the world to me. It makes me think I've succeeded, that there's a possibility I've inspired them to keep running. Hopefully they'll love running as much as I do, if not more.

    I've encouraged the kids to enter our town's annual 5K next weekend and several of them have signed up. I'm looking forward to running with them again.

    [/running] [permanent link]

    31 Jul 2010

    If my calculations are correct...
    Over the course of the last two years and four months, I've changed considerably both mentally and physically. I lost 108lbs and then put on 6 while marathon training. This 6lbs was purely lean mass (muscle, bone density) and I'm now at about 6% body fat.

    Running is known to increase bone density, and the various forms of exercise I use in my training increased my muscle mass as well throughout this transformation. I've been curious to know just how much fat I lost.

    If my calculations are correct, throughout this process I lost 123.96 pounds of fat and gained 21.96 pounds of bone and muscle resulting in my current net loss of 102lbs.

    Why is this filed under the Running section? Because running was what enabled this transformation to happen.

    [/running] [permanent link]

    26 Jul 2010

    Damn, it feels good to be a gangsta..
    After I finished my run tonight, still in my soaked running gear, I walked directly to local grocery store for chocolate syrup and had the following conversation with the woman at the check out counter.

    her: Over ice cream or chocolate milk.
    me: Chocolate milk.
    her: Nothing hits the spot like a cold glass of chocolate milk.
    me: Especially after a long run.
    her: How far did you run tonight?
    me: Half marathon. My third in three days.
    her: God bless you. God bless you.

    Then, as I walked away she said, "Nice legs."
    "Thanks. I've worked hard for those."

    [/running] [permanent link]

    02 May 2010

    2010 New Jersey Marathon
    I was registered for today's NJ Marathon in Long Branch. I lost a few weeks in training due to some IT-band issues, and earlier this week was stricken with a bout of bronchitis.

    I got down there today, and 30 minutes before the race start I did a quick quarter mile and decided I wasn't over the bronchitis enough to run a marathon today. It was difficult for me to be there as the race started, watching my chance at reaching my goals disappear. As the morning went on and clouds disappeared and the temperature rose, my thoughts changed.

    Not running today was probably the best and hardest decision I've made in a while. Often the right choices in life are not the easiest to choose, no matter the circumstances.

    [/running] [permanent link]

    22 Mar 2010

    2010 NYC Half Marathon
    Yesterday was my best half marathon yet. As I stood in the corral waiting for the race to start, the chill in the air was a welcome change from the heat and humidity of last year's race. The decision to move the race from August to March was a good one. The course is definitely a fun one. It starts with an 8 mile loop around Central Park before exiting onto 7th Avenue. From there, the route goes to 42nd street, through Times Square, and out to the West Side Highway where the course finishes near Battery Park.

    I started out with the goal of beating my time from last year. As long as I did better than 1:51:49, I'd be happy. I was hoping I'd finish within a minute or two of the half marathon PR I set back in January, but I wasn't counting on it.

    As I ran I looked at the split times, and roughly gauged how I was doing, trying to stay on target for something close to 1:37 finish, but primarily making sure I was doing better than last year's 1:51. At mile 8, just before exiting Central Park to head to Times Square, the clock time was about 59 minutes. I realized that the winner of the race was about to finish, if he hadn't already, and I hadn't even made it out of the park.

    This year's splits were much better than last year's.

    split20092010
    5K0:23:420:23:22
    10K0:47:320:46:09
    15K1:14:451:07:59
    20K1:46:091:29:28
    final1:51:491:33:26


    This is the first time I've run negative splits. What really amazes me is that not only was the second half faster, but every 5K split was faster than the previous. There was an excitement exiting the park. There was an amazing rush turning the corner onto 42nd street. The crowds were great, cheering every runner as we passed by.I remember around the mile 11 marker realizing I had a chance to PR, estimating my time at about 1:36, and picking up the pace a bit. I started passing people left and right. One runner saw me and yelled, "Go, man! Go!"

    Out of about 15 to 16 thousand people that signed up, 11,493 finished. I finished in 895th place; far, far, behind the winner who took home $20,000.

    Universal Sports had a live telecast of the event. I set the DVR to record it before I left, but I haven't had a chance to watch it yet. It likely focused primarily on the professionals who ran, including the Marathon world record holder, Haile Gebrselassie.

    This was a great race on a great day.

    [/running] [permanent link]

    12 Mar 2010

    Coogan's 5K - Update
    Officially I ran my best 5K to date. I finished in 19:41 averaging 6:20 per mile.

    It was a rather hilly course, starting at 173rd and running up to the Cloisters. After circling the museum, the same route was taken back to 173rd.

    On Saturday I said I was going to PR. I was told that was a bit a of a lofty goal given how hilly the course was. Sunday morning I woke up with a bit of discomfort after gorging on sushi the night before and thought I might not do well.

    As I stood in the corral, those feelings changed. I knew I was going to PR. And I did.

    [/running] [permanent link]

    07 Mar 2010

    Coogan's 5K
    Unofficially I just PR'd at 19:44.

    [/running] [permanent link]

    21 Feb 2010

    Run for Haiti
    Yesterday I posted on the mobile section that I had finished the race coming in number 256 of 8704. The statistics have been updated and I need to post a correction. I finished number 266 of 9421 at a time of 27:17.

    This was of course about a minute slower than the Grid Iron classic where I PR'd, but I finished in the top 2.8% this time.

    Yesterday's race raised over $400,000 for the relief effort in Haiti, with over 10,000 people registering and making donations.

    Yesterday's race was also the first time I had run in a week. Last Saturday (February 13) I ran 31.73 miles. With the upcoming race schedule and training for the New Jersey and Pocono Marathons in May, I figured it would be best to actually rest.

    It felt good to run again. I missed it.

    [/running] [permanent link]

    02 Feb 2010

    On sunday I ran...
    27.22 miles because I felt like it.

    I woke up Sunday morning, ran some errands, and then met a friend for a run. While I was waiting for him, I ran a one mile warm-up. Then he and I set out and ran a half marathon.

    I felt pretty good afterward, so a little while later I set out to do another 10K. That 10K turned into an 8.4 mile hill work out.

    I realized I was only about four miles shy of a marathon at that point and I still felt really good. After a short break I went out one more time. Four and a half miles later, I was back home and had logged the most miles in a single day that I had ever done, breaking my previous record by a mile.

    It felt absolutely amazing.

    Can every body feel like I do? Can't you can't you trip like I do?

    [/running] [permanent link]


       
    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.

  •        
    02 Dec 2012

    Happy Birthday

    I'm starting to get used to celebrating my birthday at TBM concerts. This year it was about a week prior to my birthday at a show on December 1 held at New York's Gramercy Theatre.

    Along with the tickets, I had also purchased the "VIP package." This package included an autographed poster signed by all members of the band, a "VIP" laminate on a lanyard, and... the opportunity to meet the band prior to the show!

    You may be thinking, "But they stick around after shows and mingle with their fans anyway," and "You've already met them a few times!" Both are true. And even with this "VIP" package meet-and-greet, they still make time for all their fans after the show. What this provided was a somewhat quieter meeting in a more intimate setting.

    In fact the meeting was in a small lounge beneath the concert hall. Dim mood lighting, mirrors, and couches set the atmosphere. I spoke with Rainbow, Michael, and Nate first. Rainbow informed me his name was Michael also and made a joke about the "power of the three Mikes lighting the room." After a bit, they started moving me to Chibi who was sitting on a couch after injuring her knee during a show two nights prior. She tried to walk to me, but I told her not to. She said, "I'll meet you half way then."

    I gave her a get well card, knowing she had had surgery on her vocal chords about 8 weeks prior and recently injured her knee. Someone decided we needed a photo of that and she gave me the card back so I could give it back to her. I believe it was Owen who said, "Act natural and hold it for 30 seconds!"

    I asked Rainbow about writing "Unfamiliar" because both he and OE were given credit in the liner notes. He said it was mostly OE; OE started it and Rainbow had finished it. I said I wanted to thank them because it was a song that had taken on some greater meaning to me and I relayed a brief version of the story of the moment I recognized that. It turns out "Unfamiliar" is one of Chibi's favorite songs too.

    Every one of the bands that night were amazing. All, remarkably, were performing as duos. Creature Feature was a real fun band to see. Their music is heavily influenced by old horror movies which gives them a dark yet fun sound.

    Aesthetic Perfection put on a good performance. Their drummer is amazing and fun to watch. They heavily synth-based and while there was a dark tone to most of their songs, they still had fun and lightened things up with a Fine Young Cannibals cover.

    William Control was the only other act I had heard before the show (Thanks Last.fm!). He was great live and I'd love to see him again. He reminded me a little of Dommin in that Dean Martin meets Glen Danzig sort of way.

    The Birthday Massacre was great. They played a good mix including songs from every album. For most of the set Chibi was sitting on a speaker placed near center at the front of the stage, wearing a knee brace. She stood up and moved around occasionally, but not much. At one point Rainbow sat down on another speaker and stuck out one leg in a similar fashion to how Chibi was seated and laughed a little. It was easy to tell by their interaction here that Chibi and Rainbow are close.

    If you care (or even if you don't), their set list follows:
    • Night Shift
    • Down
    • Control
    • Always
    • Red Stars
    • Video kid
    • Lover's End
    • Forever
    • Pins and Needles
    • Happy Birthday
    • Alibis
    • Calling
    • In the Dark
    • Sleep Walking
    • Midnight
    • -- Encore --
    • Leaving Tonight
    • The Long Way Home
    • Blue


    The band did not leave the stage prior to the encore as they normally would. Chibi said, "This is the part of the show where we say thank you and leave and you clap and we come back out and play some more. But I'm not going to walk down those stairs anymore than I have to, so do you want to hear three more songs?"

    [/tbm] [permanent link]

    12 Dec 2011

    Happy Birthday

    Last night, as an end to my 30th birthday weekend, I went to see The Birthday Massacre in Teaneck. The show was at the Mexicali Live which is a rather small, intimate venue with full table service for dining, and a bar with some really good microbrews on tap.

    The first act was A Verbal Equinox. I thought they were pretty good, especially considering they all seemed to be still in high school. Their set was pretty tight, with mostly original songs and a My Chemical Romance cover. Frankly, I think they did the MCR song just as well, if not better, than MCR. They definitely had a good rhythm section.

    The next band, who shall remain nameless, was described by some as "Armenian Industrial." I thought the music was good, but I wished the singer would just shut up. No singing, no talking to the crowd. Just. Shut. Up. Their set would have been awesome as an instrumental.

    During their set they had two "gothy cheerleaders" on stage. It turned out that one of them was my friend's niece. Kinda random.

    After their set, I ran into a couple of the kids from the first band and talked to them a bit. I told them I liked what I heard and they thanked me and gave me a CD-R labeled with sharpie containing their first recorded single. Something about that is just awesome.

    The Birthday Massacre was great. They played a good mix including songs from every album.

    If you care (or even if you don't), their set list follows:
    • Pins and Needles
    • Control
    • Happy Birthday
    • Forever
    • Burn Away
    • Shallow Grave
    • Always
    • Weekend
    • Video kid
    • Blue
    • Looking Glass
    • Lover's End
    • In the Dark
    • Horror Show
    • Red Stars
    • -- Encore --
    • Sleep Walking
    • Midnight


    They didn't play my favorite song, "Broken," but I was not disappointed in the set at all. After they finished, Rainbow was on stage for a bit talking with people from the crowd. I told him it was a great show and asked if they'd be playing "Broken" at tonight's show with Dir En Grey. He said it wouldn't be in the set, but he loves that song and they'd rehearse it for their next tour.



    The Birthday Massacre on stage at Mexicali Live in Teaneck, NJ
    A rather blurry picture of The Birthday Massacre from the show.

    [/tbm] [permanent link]

    26 Apr 2009

    Happy Birthday

    Last night I went to see The Birthday Massacre in Hackensack. The show was at the School of Rock which is a rather small, intimate venue.

    The first act was September Mourning. I thought they were pretty good. I got to speak to Emily and Chris from the band later in the evening and they seemed like pretty cool people.

    Dommin was the next band up. The singer's got a pretty good voice and the bassist was really good. They played a cover of Depeche Mode's "People are People" and it was pretty good.

    I was a little less than impressed with I Am Ghost. They weren't bad, but I couldn't get into them.

    Early in the evening, before Dommin's set I went to the merchandise table and picked up two new shirts. Now I have TBM shirts that fit! I also picked up a copy of the new live album Show and Tell. Zimmy couldn't make it this tour, but Michelle, the girl who took his place, was just as awesome as he was.

    The Birthday Massacre was great. They played a good mix from their albums including songs from their three albums and the Looking Glass EP.

    If you care (or even if you don't), their set list follows:
    • Red Stars
    • Goodnight
    • Falling Down
    • Play Dead
    • Weekend
    • Shiver
    • To Die For
    • Lovers End
    • Remember Me
    • Video Kid
    • Violet
    • Looking Glass
    • I Think We're Alone Now
    • Walking With Strangers
    • Blue
    • Happy Birthday
    They didn't play my favorite song, "Broken," but I was not disappointed in the set at all.

    After the show they came out to meet the fans. I was able to get their new live album signed by Falcore, Oen, Rainbow, and Chibi. The latter three also autographed the photos I had taken with them last year and they were pretty nice about it.

    Not that anyone really cares, but these are the photos my friend took. If you view the full version, be warned that I'm in the photos too.

    M. Falcore Chibi

    [/tbm] [permanent link]

    29 Jun 2008

    Happy Birthday

    Friday night was the Birthday Massacre/Mindless Self Indulgence show. Due to various circumstances and events, my friends and I made it to the venue just in time to see the last 3 minutes of TBM's set.

    I made an attempt to see The Birthday Massacre last August in new York but that attempt failed due to prior commitments. So for two years in a row I tried to see them, and for two years in a row I failed. Sorta.

    After seeing the last 3 minutes of the set and being very disappointed, I went over to the merchandise booth to buy a souvenir T-shirt. My friend James joined me and we, mostly James because of his gregarious nature, started a conversation with the guy at the counter, whose name was Zimmy. We told him what had happened and asked if there was any chance of catching the band as their equipment was being packed up.

    He told us their gear had already be packed, but if we hung out after the show they'd be coming out to meet the fans. So we hung out after the show.

    After the crowd dissipated, we went back into the venue's main room. Sure enough, several members of The Birthday Massacre were standing around, signing autographs, and talking to the fans. James and I went up to O-En first. He was very friendly and talked with us for ten or fifteen minutes. I told him about missing the show two years running and he gave me his sympathies and thanked me for trying to get to the shows. I asked him if he had any idea when they'd be in the area again and he gave me a general idea of when to expect them to be back. He was nice enough to sign my copy of Violet and let us take a photograph.

    Next we went over and talked with Chibi. She was also very friendly although we didn't speak to her for quite as long as we did O-En. She signed Violet and took a photo with me and thanked us for coming to see them, even though we missed the set.

    The last member of the band I got to see was Rainbow. Like O-En and Chibi, he too was very friendly. We talked to him for several minutes and I collected another autograph and photo.

    All three of them were very friendly with every one and they all seemed to genuinely care about their fans. I had heard from some one who had met them before that they were some of the nicest people you could ever meet. O-En, Chibi, and Rainbow confirmed that on Friday night. Now that I've met them, I can't wait for the next opportunity to finally catch their set.

    Not that anyone really cares, but these are the photos James took. If you view the full version, be warned that I'm in the photos too.

    O-En Chibi Rainbow

    [/tbm] [permanent link]


       
    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.

  •        
    20 Jul 2016 08 Jul 2016

    X11 Mouse Cursor Themes
    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.

    [/unix] [permanent link]

    18 Jun 2016

    FreeBSD Unix on Dell Precision 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.

    [/unix] [permanent link]

    25 May 2016

    Remapping Keys in Vim
    While I love the keyboard on my relatively new Dell M4800, I'm not particularly fond of the placement of the Page Up and Page Down keys to the left and right of the Up arrow, and above the Left and Right arrow keys. I find myself accidently hitting those keys too frequently while editing code and jumping all over the file.

    So I remapped them. It was quite simple, because Vim is awesome. I added the following lines to my .vimrc file:

    map <PageUp> <Up>
    map <PageDown> <Down>


    This turns Page Up into a second Up arrow, and Page Down into a second Down arrow. For now, I'll leave it like that. I may remap them to the Left and Right arrows in the future. Or not.

    [/unix] [permanent link]

    19 May 2016

    How to Make VMWare suck less Tip #273
    Find the .vmx file for your VM and add a line

    bios.bootDelay = "15000"


    That gives you 15 seconds before the virtual machine launches the boot loader, giving you plenty of time to do things like change the boot order so you start from a recovery CD.

    [/unix] [permanent link]

    03 Nov 2014

    Things I love about vim

    • Tabbed interface in the 7.x line
    • Macro recording
    • Built-in sed
    • :make
    • Not needing to remember a thousand key combinations that require seventeen fingers to properly execute

    [/unix] [permanent link]

    14 Aug 2014

    Resetting Vim
    On occasion while I'm coding, I'll mistype something and vim's code autoindenting will stop honoring my settings. Likely, I've done something stupid that has disabled or modifying the settings from the defaults I set in my .vimrc file.

    If (when) this happens, Vim can be reset without exiting the procces by going into command mode and typing

    :source $MYVIMRC
    

    This reloads the settings of the .vimrc file without forcing you to restart the process, thus losing your place in your code.

    [/unix] [permanent link]

    17 Oct 2013

    ... On man pages, a mini-rant
    I really despise the linux man pages. They're useless at best and wrong at worst.

    From the man page for setsockopt: "The include file <sys/socket.h> contains definitions for socket level options, described below."

    1) The options are not "described below."
    2) No, that file actually doesn't contain those definitions.

    On the other hand... The FreeBSD man page for setsockopt does actually describe the options and under FreeBSD the <sys/socket.h> file does indeed contain the definitions.

    [/unix] [permanent link]

    16 Oct 2013

    [mini-rant]
    I hate bash. I hate it. I hate how it bastardized bourne by adding half-assed implementations of features from ksh and tcsh.

    [/unix] [permanent link]

    12 Oct 2013

    Problems with loader.conf

    First the background. The story of how I got into this mess:



    I'm trying to get ACPI working on my laptop under FreeBSD. Specifically, I'm trying to get Resume to work properly. Suspend works, and resume seems to partially work. The fans spin up, the keyboard's backlight comes back on, but no screen. And without video, it's a little hard to figure out what's going on.

    ACPI works great on my server. It's running the same FreeBSD 9.1 x86-64 build that the laptop is, but the biggest difference is that it's an intel motherboard. The laptop is an Alienware, for our purposes, I might as well just call it a Dell.

    I started comparing the ASL output from both machines and noticed some things. First, the Alienware's ACPI implementation looks for the OS to be various forms of Windows or "Linux." The intel ACPI implementation also looks for these Windows variants and "Linux" but it has an additional OS string. It has an entry for "FreeBSD."

    I figured the easiest next step was to use iasl co compile the intel ASL source and load that DSDT onto the laptop.

    I calculated the odds it would work vs the odds I was doing something incredibly stupid... and I went ahead and did it anyway...

    I compiled the asl and I set /boot/loader.conf to override the DSDT with the intel one I had just compiled and I rebooted. At first everything was good. The machine went down, I got the boot loader, and the FreeBSD kernel started to load. Seconds into the kernel load, it rebooted itself. After the second time, I powered off and tried a cold boot. Same problem just as I had feared.

    Now i was in a situation where I couldn't successfully boot because of an error in loader.conf I needed to find a way to edit it.

    And here's the solution:



    The FreeBSD bootloader, like many others, works in stages. At a certain point, it can be interrupted at which point it provides a set of simple yet powerful commands to control various aspects of the loading process. If you still have that default menu at load, I beleive the option to chose is 6. I disable that menu so during a brief countdown I hit escape before the boot loader turns control over to the kernel.

    Once in the boot loader prompt, I entered the following commands:

    unload
    load kernel
    boot
    


    Pretty simple right? The unload command does what it says, it unloads the kernel and any modules loader.conf had pulled into memory. The load kernel command grabs the kernel and loads it into memory... but only the kernel thus ignoring the broken DSDT in loader.conf. And of course boot tells the boot loader to continue booting the system.

    Once booted, I removed the bad DSDT from loader.conf.

    [/unix] [permanent link]

    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]

    28 Aug 2012

    freebsd-update
    I'm attempting to update my laptop from FreeBSD 9.1-Beta1 to 9.1-RC1. The freebsd-update(8) utilitly was reporting an error finding the public key. A quick search found this thread. As per tangram's suggestion, I used

    env UNAME_r=9.0-RELEASE freebsd-update upgrade -r 9.1-RC1

    and then the update began working.

    [/unix] [permanent link]

    01 Jun 2012

    Fun little alias
    I use a console based RSS reader written in Ruby. It crashes often and will delete my list of feeds in the process. It also has a tendency to not fully exit, leaving a ruby process sitting in the background soaking up close to 100% CPU time. For such occasions, I've added the following alias to my .cshrc file.

    alias killraggle kill -9 '`ps ax|grep raggle|grep -v grep|awk '\''{print $1;}'\''`'

    [/unix] [permanent link]

    01 Dec 2010

    FreeBSD 6.4 EoL
    As of yesterday, FreeBSD 6.4, and with it the entire 6.x branch, has reached its End-of-Life. It's time to upgrade (or maybe upgrayedd, for a double dose of something-or-other).

    So herein lies the problems. Months (years?) ago, I attempted to upgrade tak to FreeBSD 7.2. I plugged in a SATA disk into my workstation, installed the OS, reconfigured all the daemons, services, and functionalities tak has running, copied over a snapshot of all the data, and then edited the fstab to match the device names as they'd exist on tak.

    I removed the IDE root disk and installed the new SATA disk and tak and watched the kernel fail to find the root disk. Or the other SATA disk in tak.

    Based on the bug reports in the FreeBSD Gnats system, and various conversations in the mailing list, it seems Asus, who made the motherboard in tak, used a slightly non-standard SATA implementation on this particular board. Between the 6.x and 7.x line, some work had been done on the SATA drivers in FreeBSD and mad them more standards-compliant (a good thing). This, however, broke SATA on this Asus board.

    Tak is about 6 years old now, and other than some over heating issues, serves its purpose well. So do upgrade to FreeBSD 8.x on an IDE disk and replace the other SATA disk with another ATA disk, or do I build a new, lower-power, higher-performance system?

    If anyone actually reads this, feel free to use the new comments feature to give me feedback. I think it's working.

    [/unix] [permanent link]

    18 Nov 2009

    SATA Weirdness update
    A BIOS update from Intel corrected this issue.

    [/unix] [permanent link]

    02 Oct 2009

    Gmail and mutt
    I like mutt. Of all the mail clients I've used over the years, it sucks the least. It works well with my mail server.

    Despite having my own domain and mail server, I still use gmail for certain things; things I don't mind being retained for 3 years after I delete them, or more specifically, things I want retained for 3 years after I delete them.

    I don't like the gmail web interface. I find checking my gmail to be annoying because of this. I remembered gmail offering POP and IMAP. I figured I could use that to get my gmail. Shouldn't be too hard right?

    A quick search of Mr. Yahoo and Mr. Google gave me two good starting points: Lifehacker.com and MattCutts.com.

    I read the sites and the getmail man page and figured out what I needed to do. First I enabled IMAP for my gmail account. Next, I created the .getmail directory in my home directory then created a getmailrc file there. I want all gmail mail to be delivered to a specific mbox file without going through my normal mail delivery channels. The contents of the getmailrc file are quite simple:

    [retriever]
    type = SimpleIMAPSSLRetriever
    server = imap.gmail.com
    username = username@gmail.com
    password = usernamespasswordgoeshere
    mailboxes = ("inbox",)
    
    [destination]
    type = Mboxrd
    path = /usr/home/mforde/Mail/GMAIL
    
    The retriever section defines how getmail will retrieve the mail. In this case it uses IMAP over SSL to connect to imap.gmail.com. The mailboxes setting can be used to specify only certain gmail labels to retrieve, but I want anything in the inbox.

    The destination section tells getmail what to do with the mail once it has grabbed it from gmail. This configuration dumps it into an mbox file I've named GMAIL.

    I chose IMAP over POP because of the slightly-less-than-documented "feature" of gmail only allowing 99 messages at a time over POP.

    So to get the initial batch of 7000+ emails, I ran
    > getmail -vvv -l 
    
    to get verbose output and to leave messages on the gmail server. When that was done I pointed mutt at the GMAIL mbox and like magic, there was my gmail, organized nicely in my terminal.

    Now, I want to check to get the latest mail fairly often, and I don't want to download messages already copied over. To accomplish this, I added a crontab to run every 10 minutes and invoke
    getmail -l -n -q
    
    This tells getmail to leave copies on the server, only get new messages it hasn't already retrieved, and be quiet about it.

    This has worked out well for me. If you're interested in setting up something like this, I highly recommend reading the article at matcutts.com. That article also links to several sample getmailrc files.

    [/unix] [permanent link]

    25 Aug 2009

    FreeBSD 8 Beta 3 Available
    FreeBSD 8.0 Beta 3 is now available for download. The final release is expected in about a month.

    [/unix] [permanent link]

    27 Oct 2008

    BSD v. GPL
    Jason Dixon gave a talk at this year's NYCBSDCon entitled "BSD v. GPL (a.k.a. not the sequel to "BSD is Dying")." It's a humorous look at the differences between the licenses and their supporters. Despite the humor, he made some good points.

    You can find a copy of the presentation at The Dixon Group website.

    [/unix] [permanent link]

    17 Sep 2008

    Mailman
    The other night I installed mailman on my server. I integrated it into the apache configuration and restarted that. The mailman web interface became available as expected.

    I used the web interface to subscribe to the one list I had set up and I received an email asking me to confirm my subscription. I went to the included link, and all seemed to be good.

    Another person joined the list successfully, then sent an email to the list. This email never arrived in her inbox. She told me about it, and I checked only to find I did not have a copy either. I sent a mail to the list and promptly received a message saying that [listname] was not a valid recipient at the domain.

    That's when I realized I had forgotten to tell the mail server (postfix) about mailman. I had told apache about mailman, and mailman about postfix, but not postfix about mailman.

    I used mailman to create an alias database for its single list, then updated postfix's configuration to use that as one of its alias maps. All seems to be working now.

    In conclusion, I learned two things. One is always test your configuration before telling people it's ready. The other is, "I'm an idiot."

    [/unix] [permanent link]

    18 Aug 2008

    FreeBSD 7 SATA Weirdness
    Over the weekend I installed the x86-64 build of FreeBSD 7 on my workstation, dib. I haven't had time yet to configure everything to my liking yet, but almost everything works.

    The one really annoying issue centers around a SATA DVD burner. When this device is attached to the primary SATA controller (ICH7), the system refuses to boot from the hard drive. It reports that no system disk has been found. I've tried all of the SATA settings options in the BIOS and none work.

    If I connect the SATA burner to the secondary Marvell "RAID" controller the system boots from the hard drive without issue. In Windows, this requires another driver (which for some reason installed a copy of apache along with it). Under FreeBSD 7; however, this second controller seems to be currently unsupported, leaving me with only the IDE burner available.

    I may spend the $20 and get another IDE burner and just forget about the SATA issue, but I really would like to know what the problem is. If any one has any idea why the system would fail to boot from a SATA hard drive when a SATA optical drive is attached, please email me and give me some insight into this issue. Maybe the Unix category wasn't the best for this. I spent more time discussing the hardware/BIOS weirdness than the installation or configuration of FreeBSD7. In fact, FreeBSD 7 isn't a very good title for this either. I'm going to change that.

    [/unix] [permanent link]

    13 Dec 2007

    chdir(2)
    So today at work another developer many years my senior, with many more years experience than I, came to me with a Unixy problem.
    "When I have a program, how can I have it so the current working directory for all processes it starts isn't the one that it started in?"
    "chdir."
    "No, I want so that if this process starts something like ls, when ls stats 'dot' I want 'dot' to be the directory that process wants it to be, not the directory that process was started from."
    After about 15 minutes of me suggesting chdir while he said that's not what he wanted but then describing chdir, I finally wrote something along the lines of the following

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int
    main (int argc, char *argv[])
    {
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/tmp");
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/etc");
      system("/bin/pwd");
      system("/bin/ls");
      chdir("/");
      system("/bin/pwd");
      system("/bin/ls");
      return 0;
    }
    

    I compiled that, ran it, showed him the output. He said, "Yeah, that's what I want to do."
    I showed him the code.
    "chdir does that?"

    [/unix] [permanent link]

    08 Dec 2007

    Alpha
    Due to the power failure, there was the loss of several hours of work. Last night I installed FreeBSD 6.2-RELEASE on an old DEC AlphaStation 200 I have. I had started building a new, smaller kernel for it around 23:30 last night. It had not completed by the time of the power outage. I have restarted that build.
    Any one reading this would reasonably ask, "Why are you not as confused/angry/annoyed with a compile that was not finished in 7 hours as you were about one that took 3 hours?"
    The answer is simple. This AlphaStation is powered by a 100MHz DEC Alpha EV4 CPU and has 64MB of RAM. To the best of my knowledge, DEC made this machine around 1994 or 1995. I expected the build to take a long time; the machine is around a dozen years old.

    [/unix] [permanent link]

    06 Dec 2007

    How long does it take to build a linux kernel?
    It has been a number of years since I built a linux kernel. Slackware 9.1 was the last GNU/Linux distro I used before switching back to BSD. Tonight I put together a machine from some old parts (1.2GHz celeron with 256KB cache, 256MB RAM, 20GB hard drive) and installed Slackware 12. I customized a kernel configuration and attempted to build it. I don't remember the 2.4 kernel taking as long to build as this 2.6 kernel. It took nearly two hours. Granted, this machine is fairly old, but 2 hours? After I complete the tasks for which I needed this setup, I'm going to install an older Slackware with the 2.4 kernel and build that. I may also install FreeBSD and NetBSD and build their kernels. I'd like to get an idea how long it takes to compile other kernels on this rig.

    [/unix] [permanent link]


       
    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.

  •        
    07 Mar 2010

    Coogan's 5K
    Unofficially I just PR'd at 19:44.

    [/running] [permanent link]