Chuck Coffing Post Index Professional Tech Garage
  • A Real Code Review January 2, 2018
    This an anonymous blog post. I write code for a living. My peers write code for a living. We are cats. Don’t fucking try to herd us. At the same time… yeah… that’s why that dot-com-era ad was funny. We must be herded to get anything done. Well, maybe? Some people seem to think I’m a big fucking fluffy cat at this point, but I don’t want to be. I want to mind-meld all the cats in the same general direction.

    Read more ››

  • 2008 Toyota RAV4 Fusible Link November 30, 2015
    I goofed, blew a fusible link on my wife’s 2008 Toyota RAV4, and had to figure out how to replace it. It took a while to figure out, but there is nothing fundamentally difficult in the process. Background Story Yesterday I replaced the water pump in my wife’s 2008 Toyota Rav4 4 cylinder. After a few tries to get the old water pump out, I finally admitted that I had to pull the alternator.

    Read more ››

  • Installing Kodi on RaspberryPi October 9, 2015
    These are my notes from installing Kodi (formerly XMBC) on several Raspberry Pi’s (original and 2) to create media-centers. Parts List Raspberry Pi (original or 2) Edimax EW-7811Un 150Mbps 11n Wi-Fi USB adapter Logitech wireless K400r keyboard High-quality USB power adapter SD card Note that quality of the USB power supply really matters, especially for the original RPi. I had to unsolder the fuse from the original RPi due to excessive voltage drop, otherwise even high-quality power adapters could not power it reliably.

    Read more ››

  • Modeling Evolution (3) October 9, 2015
    Major changes since the last update: Multiple organisms can now inhabit the same square. This is a better model of reality. You might starve trying to live in the same area with another organism, but you’re now free to try. This is a bit of evolutionary pressure to encourage movement. The shade of the square indicates how dense the population is. The fertility of the landscape is now shaped by Perlin Noise.

    Read more ››

  • Illusions of Control March 12, 2015
    I saw an interesting quote today on npr.org: Wilderness is a place, any place, where the illusion of control slips away. As a kid perhaps 10 years old, I longed for what I perceived to be “wilderness”. It was just the woods down the road, but indeed the illusion of control slipped away while I was there. I was in something larger than myself and I intuitively understood this. Perhaps that’s why I went into the woods with a hatchet and a home-made bow and arrow.

    Read more ››

  • Building on Haiku February 10, 2015
    This is the first time in a while that I have tried to build one of my projects on Haiku. Here is a quick rundown of my experience. VM Specs Downloaded haiku-nightly-hrev48786-x86_gcc2_hybrid-anyboot.zip. Running in a VM hosted on VirtualBox 4.3.20 on FreeBSD 10.1, given 512 MB RAM and 8 GB disk. Networking The AMD network adapter provided by VirtualBox seems to not work well with Haiku. The networking stack was perpetually stuck trying to acquire a DHCP address.

    Read more ››

  • Twelve Days of Christmas December 13, 2014
    Got a knock on the door this evening. No one there, but a gift. Apparently this is the first day of the twelve days of christmas. My wife and I don’t know what to think or do. We love these people. We appreciate them. But chocolate and gift cards … and what might come tomorrow? I hope nothing, really. We are private people, and we have a hard time accepting gifts.

    Read more ››

  • Tastes change while on chemo December 12, 2014
    After two chemo visits (weekly, so a total of a week and a half since we started), Aaron’s tastes have changed. They never warned us about this. Appetite decreases I would say Aaron is a normal 5-year-old with normal tastes, but that’s not precisely true. Yes, he loves the weekend doughnut, and cereal, and “treats” (like the nasty corn syrup “fruit snacks” and such) but he also loves broccoli and yogurt and granola and other healthy stuff.

    Read more ››

  • Things They Don't Tell You About Brain Cancer December 5, 2014
    We’re 4 weeks into our 5-year-old’s brain tumor. We started this with that “twilight zone” feeling… we suspected what was coming, but it was too bizarre to really accept until the doctor was gently showing us MRI images on the computer screen in a darkened room, while the social worker was standing nearby ready to catch us if we fell apart. There was motion even in that gentle moment, because as soon as they saw we might be able to take it, they were sending us to another hospital for surgery.

    Read more ››

  • Happiness is a warm puppy November 15, 2014
    Aaron is home now. Pet therapy is awesome.

    Read more ››

  • Modeling Evolution (update) October 31, 2014
    In my previous post, I started trying to model evolution, but I was stymied by “cancer”, in which the child cells took all of their rightful genetic material and also stole the parent’s. Repeat this a few times, and you have exponential growth, and the simulation grinds to a halt. I analyzed the mutations that caused this cancer. (It may be useful to refer to my previous post.) This original sequence:

    Read more ››

  • Modeling Evolution October 20, 2014
    I have long been fascinated with computer modeling, simulations, and open-ended explorations on the computer. So finally over the past weekend I got serious about doing some evolution. I have pondered evolving digital organisms for years, so I had a mental arsenal ready to release on the project, but the discussion here is based on a weekend’s worth of coding. First Implementation Obviously after just a weekend, this code is not yet well baked.

    Read more ››

  • Linux Block Layer July 8, 2014
    Which drivers only accept struct bios (not struct requests)? http://yannik520.github.io/blkdevarch.html

    Read more ››

  • Fail Early, Fail Hard June 17, 2014
    For more than a decade, while considering best practices in software development I have often recited a mantra to my coworkers: Fail early, fail hard. Prior Art? “Fail early, fail hard.” I claim this one as mine. I think I made this phrase up at some point 10-15 years ago (somewhere during the dot-com bust while I was at Volera), but to me it seems so obvious that I’m surprised it’s not ubiquitous.

    Read more ››

  • Linux /proc and seq_file June 13, 2014
    DRAFT The create_proc_entry API has been removed from Linux kernel 3.10. Every /proc coding tutorial I’ve seen mentions this function, so I expect this to bite a few people (even though the replacement function proc_create_data has been available for 5+ years). It’s good that this went away, because it helps force buggy code into the light (to be squashed) as I experienced recently. Races in create_proc_entry create_proc_entry has some inherent races.

    Read more ››

  • How to Dispose of Old Gas March 5, 2014
    I am constantly adopting and rebuilding old vehicles and tractors. So it seems that I have a constant supply of old, stale gas. What to do with it? Some advocate just letting it evaporate. But I suspect a gas station might only have a gallon per day evaorate (gut order of magnitude guess). So my contribution would be significant, especially if this were what everyone did (tragedy of the commons, right there.

    Read more ››

  • Rethinking Licensing December 23, 2013
    I recently was rethinking licensing of a software project (OcherBook). At the time it was GPL version 3, because I am/was sick and tired of DRM and the overreach of corporations. GPLv3 was my symbolic way of striking back. David vs Goliath And yet, on reflection, I don’t think GPLv3 is the right way to address such problems. The GPL is the iron curtain. It is shock and awe. It’s us versus them.

    Read more ››

  • Linux Spinlocks October 4, 2013
    Spinlocks disable preemption. Spinlocks have acquire/release semantics.

    Read more ››

  • Memory Barriers October 4, 2013
    I can’t seem to keep the details of memory ordering and memory barriers fresh in my mind, so this time I am taking notes. References Memory Ordering in Modern Microprocessors by Paul E. McKenney Reordering Constraints for Pthread-Style Locks by Hans-J. Boehm http://www.mjmwired.net/kernel/Documentation/memory-barriers.txt Background Processors used to be slow, in-order, and single-core. Now they are fast, out-of-order, and multi-core. It’s the out-of-order memory accesses, combined with multi-core, that really cause the problems.

    Read more ››

  • Flying Spaghetti-O Monster September 17, 2013
    To catch you up since the last exciting episode… I’m an atheist stuck in the state that’s the hotbed of Mormonism, which is embedded in the country that’s the hotbed of Christianity. And yet I’m trying to raise my children in a scientific, rational, and compassionate way. It’s not always easy, but sometimes it’s funny. I suppose along the way I’ve mentioned the Flying Spaghetti Monster a few times, perhaps even in front of my children.

    Read more ››

  • Degunking a PowerPC Mac September 7, 2013
    Old Hardware… or Slow Hardware? My wife’s Mac Mini (1.4 Ghz PPC, 10.4.11, 1GB RAM) is showing its age. We’re not ready to spring for a new Mac because we have plenty of more pressing financial demands. But moreover, as a software engineer, I am annoyed and dismayed by the state of software. Bad software is bad software; continually throwing more hardware at the problem does not fix it. Therefore I’m curious to find out why this Mac is getting so painfully slow over time, and hopefully fix it.

    Read more ››

  • Sparse Context Checking in the Linux Kernel August 1, 2013
    Sparse is a static code analysis tool, originally and primarily targetting the Linux kernel. I’ve used it previously to find bugs due to mixing incompatible pointer types (user vs kernel). So when I discovered locking problems, I naturally returned to it. Sparse does lock checking via its more general “context” checking. Linus’ original email announcing context checking was, as typical, concise, so I hoped it would just work. Bugger. It didn’t.

    Read more ››

  • MaxJax Arrives! July 31, 2013
    My MaxJax arrived today! But first, I have to comment on the shipping company, ConWay. This is the second time I’ve received something heavy via ConWay. I’m just an average bloke with a garage out back. I don’t have a fork lift or a loading dock. And yet both times, the ConWay driver has humored me and helped me figure out how to get the damn thing unloaded. I actually worried that this time the driver would be annoyed or on a tight schedule, and we’d not be able to get it unloaded.

    Read more ››

  • VPN Over PPTP July 31, 2013
    At work, we do VPN with PPTP. The “easy” way Since I have never before set up PPTP from Linux, I figured I would do it the “easy” way and install the NetworkManager plugin. However, that drug in some GNOME dependencies. (I normally use XFCE.) Worse, the NetworkManager plugin wasn’t showing up on the XFCE panel, so I installed the entire GNOME desktop in hopes of making it show up.

    Read more ››

  • Trivial Patches July 17, 2013
    I sent a patch to Michael Kerrisk, of Linux man-page “fame”. It was absolutely trivial, but it was a race condition the I noticed in readlink(2) recently. If you are Linux programmer, I suspect you too cut/paste example code from the man pages, and massage it to fit your purposes. I know I do, multiple times per week. I know what I’m doing, so it feels okay, but this perhaps is the Linux equivalent to the IDE’s nasty habit of spitting out boilerplate code.

    Read more ››

  • So What's Your Story? May 6, 2013
    “So what’s your story?” With no prior setup, I was asked that question during a final interview by the CEO of the company that I now work for. That’s a hell of a question, and it briefly took me off guard. It’s not merely “How are you qualified?” or “What can you bring to the table here?”. It’s also: What motivates you? How did you arrive at this point in your life?

    Read more ››

  • The Knee in the Curve April 13, 2013
    Exponential functions are very interesting things. I’ve been encountering them a lot recently with my reading list. Most fiat currencies are, by their very nature, exponential. Chris Martenson’s excellent book “Crash Course” explains this very well. Population growth, in the presence of sufficient resources, is exponential. (Continuing our average of 2.2 kids per couple over generations is exponential growth.) Your bank account, if you are earning a regular rate of interest (don’t we wish) and not withdrawing (don’t we wish), would be exponential.

    Read more ››

  • Hitch December 16, 2011
    I raise a toast (whiskey) to Christopher Hitchens. I owe you the next round. I suppose we fundamentally are who we are, but Hitch was a trigger (release?) for me and probably many others.

    Read more ››

  • Waking Up, Part II September 26, 2011
    Perhaps ironically, it was the Boston Church of Christ, the most fervent of believers I had met by that point in my life, that were most responsible for jolting me out of my slumber and making me think more critically. But change is often not just slow, but can also progress alternately on both conscious and unconscious levels. The arc of progress is only, then, traceable in retrospect. And so after having my faith briefly shaken by true believers, I found myself headed to Utah to start my first full-time job.

    Read more ››

  • Programming Our Kids September 22, 2011
    A week ago, my wife and I went to parents’ night at our kindergartener’s new school. This was a night to get introduced to the PTA, meet the teacher, and get oriented with the school policies and website. All of us parents gathered in the gym and took our seats. A PTA mom did some introductions, and then handed it over to the principal who asked us to stand and recite the pledge of allegiance.

    Read more ››

  • Lot, Morality, and Culture April 26, 2011
    Below is part of an email exchange I have been having with a devout Mormon. We’ve been friends for over a decade so in some ways I feel slightly guilty for posing hard questions to him. On the other hand, he’s eager to have a go at this. The topic that triggered this debate was, basically, is the bible the literal word of God? I pointed out that at one point Lot (someone declared righteous by God!

    Read more ››

  • Grow Up, and Stand Up April 12, 2011
    Recently I read these two posts on ThinkAtheist, and they hit home with me: The Atheist Debt Stop Lurking and Start Speaking Up All of us who are thinking freely and have thrown off religion owe a debt to those who came before. I probably would not be an atheist if I hadn’t read a Christopher Hitchens book, one which made me realize that it is possible (and moral) to point out that the emperor has no clothes.

    Read more ››

  • End Times? March 11, 2011
    Last night Japan had an 8.9 magnitude earthquake, along with a tsunami. A natural disaster on that scale is hard to comprehend. As bad as it was (and will continue to be, with aftershocks and the continued effects of the tsunami), Japan is probably better equipped than many other places. It’s my understanding that the economic boom in Japan in the 80’s included a lot of earthquake-proof buildings. So far I’ve heard death toll estimates in the hundreds or perhaps thousand.

    Read more ››

  • Waking Up, Part I March 11, 2011
    I think it is time that I dig into how I got to where I am. My writings here are to chronicle my ongoing growth as an atheist (and humanist), but it’s not clear how to do that if I don’t first analyze how I arrived at where I am today. I need first to build a foundation. In the religious sense, my mother was head of the household when I was a child (much to her dismay).

    Read more ››

  • Coping Skills February 16, 2011
    Maybe it’s just my perception, but it sure seems that recently religion is getting pushed into my life (and home, and work, …) more and more. Or perhaps my awareness of it is going up. I would consider this a good thing (increased awareness is good, regardless of topic) but I’m finding it more difficult to cope. Just a few examples: I’ve hinted to my mother (but only gently, because I’m not yet ready to catch those pieces) that I’m an atheist.

    Read more ››

  • The Growing Atheist February 16, 2011
    I want to take a moment to explain what I mean by the title of this blog. I grew up with a Christian family, and my mother was always striving to “grow in Christ”. The implication was that we humans are never a finished product. No matter how we strive, we are always unfinished, growing, learning, … and yet also imperfect, sinning, dirty, undeserving, and needing god’s grace. I am an now an Atheist, and have shed most of that upbringing.

    Read more ››

  • Sagan January 27, 2011
    My wife and I have been watching astronomy documentaries on Netflix recently. I find it really enjoyable, because it takes scientific topics and makes them very real. Will time ever end? How did the planets form? Is there life out there? Could there be life next door (maybe even on Io?) The universe, and the science we use to try to model and comprehend it, is awe inspiring. This, then, reminds me of some of my favorite quotes by Carl Sagan:

    Read more ››

  • Condescendence December 30, 2010
    A little bit of holiday reflection, if you will allow. Due to a bizarre sequence of events, I live in Utah. I originally came from the “Bible belt”, but even so, Utah was a whole new world to me. The vast majority of the state’s population is Mormon. I was dimly aware of this before moving here over a decade ago, but the true meaning did not sink in until I’d been on the job for a few months.

    Read more ››

  • Coming Out (or just venting) October 18, 2010
    This is a letter I’d send to my mom, if I had the nerve and if I thought it would open the door to something better. But I’m not sure about either. I know I don’t write to you often. I worry about this because I don’t want you to think it’s because I don’t love you. Quite the opposite. But it seems I have fallen far from the tree. Many of the things I care about, the hopes and worries I have for my kids, how to fix some problems I see in this country, my love of science and reason, even my hopes for where humanity will go in the decades and centuries to come and how I might in some small way contribute to that – I worry that my true feelings on all these things I care deeply about would be offensive to you.

    Read more ››

  • What is Church? August 8, 2010
    What is church? This isn’t how I expected to start this blog. To cut back to the beginning: I have been skeptical of religion for more than ten years, and have been a self-confessed atheist for almost one year. One whole year! What an amazing year it has been. Someday I will circle back around and cover that metamorphasis. I want to write because I am sure I am not the only one like this.

    Read more ››