• 2019-08-17 10.50.56

    Base camp


  • 2019-08-17 10.46.13

    MTB at Huber on the edge of summer.


  • Water.

    A while back I wrote an iOS shortcut to log how many 32-ounce Nalgenes I drank throughout the day. I stopped using it after a while because drinking 3-4 Nalgenes per day had become a habit for me but I’ve noticed lately that I’ve fallen off drinking as much water so I’m using it again, partly inspired by this Outside Podcast on drinking water.


  • Fuji X70. Not a portable X series.

    Fuji X70

    I have been loving my Fuji XE2s since I bought it off of Amazon a couple of years ago. It takes some of the best photos of any camera I’ve ever owned and is a joy to use in every way (manual dials for ISO, Shutter Speed, aperture. So nice!).

    Except it doesn’t fit in my pocket. Which means I hardly ever take it with me.

    But when I scroll through iPhone I can always tell the FujiFilm pics from the iPhone photos. It’s night and day.

    No matter how good the iPhone camera software and lenses get, the iPhone will never consistently match what comes out of the Fuji series cameras. Sure, in certain situations the iPhone takes great photos but sometimes it’s just meh. The fuji cameras just give me more consistently better shots.

    So last year I picked up a FujiFilm X70, hoping it would give me the best of both worlds: the great look of the out-of-camera jpegs from the FujiFilm XE2s with those awesome film simulations and also fit in my pocket.

    Well, the X70 fits in my pocket and it sort of gives the film simulations but there’s just something about the lack of the view finder that makes using the X70 lose some of that fuji magic that you get from their other X series cameras. I brought it around with me but never enjoyed holding it and using it the way I do my XE2s.

    So I sold it on ebay a couple of weeks ago and am now going to try to bring my XE2s with me more regularly. I took off the super 35mm 1.4 lens that I usually use and put on the pancake 27 2.8 to bring the form factor down a bit. I love that 35mm lens but it makes the camera even bulkier. The 27 makes it about the same exaxt form factor as the X100. If I can demonstrate to myself that I can reliably bring the XE2s around with this lens then maybe for Christmas I’ll see if Santa can bring me the X100. Stay tuned!


  • NetNewsWire in public beta

    One of my favorite Mac RSS readers ever, has a new version in public beta. I’m currently using Reeder on Mac and iOS but am looking forward to reuniting with this old friend!


  • Bad news from Apple

    What’s up Apple? Is writing code not as creative an endeavor as music or design?

    I was a PC/Linux user for ages before I purchased my first Mac (the G4 quicksilver tower, I think was my first one). And the only reason I bought that Mac was because of OS X was really just a great UI over BSD. Were it not for the ability to fire up a command prompt and have BASH at my fingertips running along side the native Mac apps, I would probably still be running Linux.

    Moreover, having a shell and scripting languages like Python installed on Mac OS by default means that when my kid wanted to learn some Python beyond what he was learning through school, it was easy to show him how to run Python scripts on his MacBook. The ease of firing off scripts felt like Apple, who likes to encourage the “making” side of technology, considered “making” scripts on par with “making” movies or graphics or any of the other creative outputs that a Mac could be used for.

    Now Apple has announced (in what seems like a really bad move) they are dropping the scripting runtimes from Mac OS. Meaning, by default there won’t be any Python or Perl or Ruby. I have so many little scripts in my ~/bin directory that rely on these languages (mostly Python).

    Yanking these runtimes out of Catalina gives the impression that Apple doesn’t consider making scripts on par with making drum loops in Garage Band. I’d argue they’re both pretty damn creative outputs and Apple is denying its users the creative tools they’ve come to rely on.


  • Installing Velo Orange Fenders on Surly Midnight Special

    I installed these fenders less than 48-hours before departing for an extended bike camping trip along the Erie Canal in upstate NY. The forecast called for rain and boy am I glad I got these installed. Did a great job keeping the rain and mud from spraying all over me, my bike and my gear. I probably over-torqued a few of these bolts out of fear of stuff falling apart mid-ride but everything stayed assembled, nothing came loose and I love these fenders on this bike. [Note, if you want to see my 30-day review of the Midnight Special, head over to my family/special needs travel site, AllTogetherOutThere.]

    There were a few things not covered in the instruction manual from Velo Orange that I’ve noted below

    fender install
    Finished Product

    Go to the hardware store and buy the bolt/nut/washer combo that you’ll need to go through the hole on your front fork as if you were mounting brakes on the center of the fork. You will not be able to install fenders without this bolt and it is not included with the fenders:

    fender install
    I happened to have the correct length bolt and a suitable lock nut in my box of miscellany.

    (more…)


  • Replace Multiple Occurrences of a string or char in SQL Server

    It is unbelievable to me that Microsoft SQL Server does not support regular expressions. In the absences of regex, replacing multiple occurrences of the same string/char becomes super tedious. You can nest multiple Replace() statements which gets ugly and impossible to read and you have to know exactly how many multiple occurrences there are. But for a current project I have to replace all line breaks in a column.
    Here’s how I did it:

    WHILE EXISTS(SELECT * FROM #yourtable WHERE (Comments like '%'+char(10)+'%')) --note I knew that char(10) and char(13) always occurred next to each other and in an effort to speed up this loop got rid of the char(13) filter
    BEGIN
    
      UPDATE #yourtable
      SET Comments=REPLACE(Comments,char(10),' ')
      WHERE (Comments like '%'+char(10)+' %')
     
       UPDATE #yourtable
      SET Comments=REPLACE(Comments,char(13),' ')
      WHERE (Comments like '%'+char(13)+' %')
     
        -- again you can probably do this in one statment but I was hoping to speed it up by simplifying the where statements. 
     
    END

    There are no doubt a dozen ways to optimize this but it seems to have worked and didn’t take forever. Good luck out there, folks, working with a “modern” RDMS that doesn’t support regex.


  • Bullshit.

    Wealthy white boys from North America are more likely to be full of shit than other kids:

    Having derived and established the comparability of our bullshit scale via measurement invariance procedures, we go on to find that young men are more likely to bullshit than young women, and that bullshitting is somewhat more prevalent amongst those from more advantaged socioeconomic backgrounds. Compared to other countries, young people in North America are found to be bigger bullshitters than young people in England, Australia and New Zealand, while those in Ireland and Scotland are the least likely to exaggerate their mathematical knowledge and abilities. Strong evidence also emerges that bullshitters also display overconfidence in their academic prowess and problem-solving skills, while also reporting higher levels of perseverance when faced with challenges and providing more socially desirable responses than more truthful groups.

    Here’s the study: Bullshitters. Who Are They and What Do We Know about Their Lives?


  • 2019-04-29 14.01.11

    Whoa. Mesh. Where have you been all of my life? Picked up a Netgear Orbi bundle the other day on Amazon. All of a sudden all of my Rogue Amoeba Airfoil setup is WAY more stable and predictable. Stoked. Detailed review forthcoming. #wholehouseaudio #firstworldproblems


Current Spins

Top Albums

Check out my album Set It All Down on your favorite streaming service.


Posts Worth Reading:


Letterboxd


Reading Notes

  • Who profits from our constant state of dissatisfaction? The answer, of course, is painfully obvious. Every industry that sells a solution to a problem you […]
  • the shifts have been in place for awhile. A certain kind of book—say those reviewed in the NYRB—will become like opera, or theater, or ballet, […]
  • • No more struggle: “Whatever arises, train again and again in seeing it for what it is. The innermost essence of mind is without bias. […]
  • . The EU invokes a mechanism called the precautionary principle in cases where an innovation, such as GMOs, has not yet been sufficiently researched for […]
  • The real problem, in my mind, isn’t in the nature of this particular Venture-Capital operation. Because the whole raison-d’etre of Venture Capital is to make […]

Saved Links

RSS Error: A feed could not be found at `https://links.jimwillis.org/feed/atom?`; the status code is `404` and content-type is `text/html; charset=utf-8`