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

  • 2023
  • 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.

  •        
    28 Jan 2016

    1453995544
    https://m.youtube.com/watch?v=P3hY1eagq88

    ==================================================================
    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

  • 2023
  • 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

  • 2023
  • 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

  • 2023
  • 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

  • 2023
  • 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.

  •        
    26 Mar 2010

    Powergrabs
    Yay Socialism!
    That was sarcasm. Socialism is bad news. It leads to the government controlling every aspect of your lives. Take for example this story or a bit closer to home, this story.

    [/politics] [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

  • 2023
  • 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.

  •        
    18 Jun 2013

    Senator Elbert Guillory
    Elbert Guillory, a state senator in Louisiana, has switched his party affiliation from Democrat to Republican. This website has a short commentary on the matter, as well as an embedded video of Senator Guillory explaining his decision.

    [/politics] [permanent link]

    26 Mar 2010

    Powergrabs
    Yay Socialism!
    That was sarcasm. Socialism is bad news. It leads to the government controlling every aspect of your lives. Take for example this story or a bit closer to home, this story.

    [/politics] [permanent link]

    17 Dec 2009

    MTA
    Why is the MTA's budget each year referred to as a "doomsday" budget? They vote on it every year, and every year it's approved, and every year they get subsidised by the tax payers and toll payers. So why is it a "doomsday" budget? They're not going out of business, although it sure seems their worker's union would like to see that happen given their demands.

    [/politics] [permanent link]

    16 Dec 2009

    Don't they have better things to do?
    It has come to my attention that Congress, in their infinite wisdom, has decided to write legislation against television commercial advertisements having a louder perceived volume than the actual programming.

    While I do sometimes find this annoying, do we really need an act of congress to outlaw this? Shouldn't our representatives be doing something better with their time, like repealing hundreds of laws that hinder the free market economy and trample the Constitutionally guaranteed rights of the citizens?

    Of course not, that would threaten their power.

    [/politics] [permanent link]

    31 Oct 2009

    NJ Governor Endorsement
    I officially endorse anyone who is not Jon Corzine.

    [/politics] [permanent link]

    17 Sep 2009

    Can't Argue with That...
    Well, I have to admit it; there's one issue I agree with Obama on: Kayne West is a jackass.

    [/politics] [permanent link]

    26 Aug 2008

    The DNC Hates Unix Users Pt 2
    Looking through this script, it appears that DNC is relying on Microsoft's Silverlight plugin. Currently, this browser plugin is supported for a limited selection of browsers on a limited selection of operating systems. A relatively complete list of supported platforms can be found here.

    Knowing full well how limited the support for this technology, the DNC still decided this was the best solution.

    I hope the RNC will use technologies that are more cross-platform than this. Currently the video available at their site is based on Flash. While Flash support is a bit shaky outside of Windows and Mac OS, it is supported in Unix.

    [/politics] [permanent link]

    25 Aug 2008

    The DNC Hates Unix Users
    Just confirming the Slashdot story (http://news.slashdot.org/news/08/08/25/229210.shtml):

    We're sorry, but the Democratic Convention video web site isn't compatible with your operating system and/or browser. Please try again on a computer with the following: Compatible operating systems: Windows XP SP2, Windows Vista, or a Mac with Tiger (OS 10.4) or Leopard (OS 10.5). Compatible browsers: Internet Explorer (version 6 or later), Firefox (version 2), or, if you are on a Mac, Safari (version 3.1) also works.


    My User Agent string is currently "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.3) Gecko/20070527 Firefox/2.0.0.3"

    So not only does the Vice Presidential nominee want to expand the powers of the DMCA, the entire party wants to prevent Unix users from obtaining information.

    [/politics] [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

  • 2023
  • 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.

  •        
    14 Jun 2009

    The new phone book is here!
    I am now officially 5% rockstar. At least I am according to the New York Times. I am now the proud owner of DeLorean #6291 manufactured in November of 1981.



    closed
doors open
doors

    [/dmc] [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

  • 2023
  • 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.

  •        
    29 Mar 2012

    Lincoln Park Triathlon


    Registration for the 2012 Lincoln Park Triathlon is now open. If anyone is interested in volunteering, please email volunteers@lincolnparktriathlon.com.

    [/musings] [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]


       
    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

  • 2023
  • 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 2015

    1449069975
    https://www.instagram.com/p/-ywsdLrXFZ/

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

    [/mobile] [permanent link]

    24 Sep 2015

    1443142404
    This is only a test. Had this been an actual post, there would be actual content. Or not.

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

    [/mobile] [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]

    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]

    04 Feb 2015

    1423064732
    http://elitedaily.com/money/entrepreneurship/psychology-behind-messy-rooms-messy-room-may-necessarily-bad-thing/708046/

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

    [/mobile] [permanent link]

    06 Jan 2015

    1420590331
    Castle of Dr. Brain : Sierra On-Line, Inc. : Free Streaming : Internet Archive https://archive.org/details/msdos_Castle_of_Dr._Brain_1991

    ==================================================================
    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

  • 2023
  • 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.

  •        
    31 Aug 2024

    Blosxom 2.2.0
    Apparently Blosxom development has been picked up again. There was a new release on 2024-02-03. Nice!

    [/unix] [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]

    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

  • 2023
  • 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.

  •        
    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]

    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]

    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

    New Vernon Coach and Motor Works is Awesome
    For as long as I've been a DeLorean owner, I've been taking the car to New Vernon Coach and Motor Works. They have always been professional and courteous, and they have always done top-notch work. I highly recommend them.

    [/dmc] [permanent link]

    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]

    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]

    19 Apr 2016

    1461117251
    "Each of us is willed. Each of us is loved. Each of us is necessary." - Pope Benedict XVI

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

    [/mobile] [permanent link]

    16 Feb 2016

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

    Discuss amongst yourselves.

    [/musings] [permanent link]

    06 Feb 2016

    1454815466
    Beautiful https://www.instagram.com/p/BBeDsOSrXEk/

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

    [/mobile] [permanent link]

    28 Jan 2016

    1453995544
    https://m.youtube.com/watch?v=P3hY1eagq88

    ==================================================================
    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

  • 2023
  • 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.

  •        
    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]

    05 Nov 2013

    Normalcy
    I realized that if and when I have children, they will grow up thinking it's normal to have a DeLorean.

    [/dmc] [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]

    10 Oct 2013 05 Oct 2013

    1381017534
    Good night, demonslayers.

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

    [/mobile] [permanent link]

    1381006292
    --_CEEC49CB-DE1D-4A1E-9DFE-114E3B54D3CB_
    Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain; charset="Windows-1252"

    Test blog

    Sent from my Windows Phone=

    --_CEEC49CB-DE1D-4A1E-9DFE-114E3B54D3CB_
    Content-Transfer-Encoding: quoted-printable
    Content-Type: text/html; charset="Windows-1252"


    pe>


    Test blog R>
    Sent from my Windows Phone
    =

    --_CEEC49CB-DE1D-4A1E-9DFE-114E3B54D3CB_--

    [/mobile] [permanent link]

    1381005175
    Corning is a quaint little town. Looking forward to exploring.

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

    [/mobile] [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]

    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]

    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]

    18 Jun 2013

    Senator Elbert Guillory
    Elbert Guillory, a state senator in Louisiana, has switched his party affiliation from Democrat to Republican. This website has a short commentary on the matter, as well as an embedded video of Senator Guillory explaining his decision.

    [/politics] [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]

    02 Apr 2013
       
    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

  • 2023
  • 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.

  •        
    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

  • 2023
  • 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.

  •        
    29 Mar 2012

    Lincoln Park Triathlon


    Registration for the 2012 Lincoln Park Triathlon is now open. If anyone is interested in volunteering, please email volunteers@lincolnparktriathlon.com.

    [/musings] [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]