<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>jkachel dot blog</title>
  
  <subtitle>still writing things no one reads</subtitle>
  <link href="https://jkachel.com/rss2.xml" rel="self"/>
  
  <link href="https://jkachel.com/"/>
  <updated>2023-02-12T04:00:17.439Z</updated>
  <id>https://jkachel.com/</id>
  
  <author>
    <name>James Kachel</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Migrating from BitWarden to 1Password</title>
    <link href="https://jkachel.com/2023/02/12/Migrating-from-BitWarden-to-1Password/"/>
    <id>https://jkachel.com/2023/02/12/Migrating-from-BitWarden-to-1Password/</id>
    <published>2023-02-12T08:59:33.000Z</published>
    <updated>2023-02-12T04:00:17.439Z</updated>
    
    <content type="html"><![CDATA[<p>I’ve been using Bitwarden for a year or two now, after switching from 1Password when they opted to add some dumb crypto nonsense to the app. It works really well and I don’t <em>really</em> have any major complaints about it - the UI’s not all that great and I miss the additional record types that 1Password had, but it has a Linux client and it’s open-source and I can run the cloud portion of it myself. But, I kept seeing the new stuff that the Agile Bits team was doing and, well, FOMO, so I decided to switch back to 1Password to see what the deal was. Doing that required me to move my stuff back from Bitwarden to 1Password. </p><p>The easiest-slash-obvious way to do this is to use the native 1Password importer, which will take a CSV formatted file and allow you to match the fields in the file to what’s available in 1P itself. This is a great approach but it seemed like a lot of work for my use case. (I migrated my 1P data into Bitwarden, so I have something like 12 years of data? It’s a lot.) But, this is probably the easiest way to do this if your Bitwarden vault is smaller or better organized (and especially if you don’t keep your credit card info in it or use secure notes). </p><p>The more complex method is to try to figure out some way to convert the Bitwarden vault export into a 1Password-compatible file (either a <code>1pif</code> or a <code>PUC</code> file). Bitwarden will export in both CSV and JSON formats and the JSON format is very much the best way to go. Agile Bits doesn’t document the format of their interchange formats. At this point, my thought was to write up some quick Python to split out the Bitwarden JSON export into a few export CSVs so I could re-import them into 1Password using the CSV importer.</p><p>Fortunately, there was another way. When digging for a format for the 1pif format, I found <a href="https://1password.community/discussion/80050/documentation-for-1pif-export-format">this post on the 1Password community site</a> which pointed me to a suite of converters that were written by the poster there, MrC: <a href="https://1password.community/discussion/101693/moving-to-1password-from-another-password-manager">Moving to 1Password from another password manager</a> This actually does everything necessary. </p><p>The MrC Converter Suite is a Perl app that includes a ton of conversion modules for various different password managers, and Bitwarden is among them. It works with the JSON export too, which is the best way to do it as it allows it to work natively with the different types of record and the varying fields that are present in each record. Finally, it can export that data into either the PUC or the 1pif foramts. It being a Perl app makes it multiplatform too (though the included instructions only support native Windows and macOS). I found the docs to be pretty good and the code is pretty readable, which is amazing for Perl. (Only sort of joking - I used to write a lot of Perl around the turn of the millennium and there are still scars.)</p><p>In my case, I didn’t want to install Perl on my Windows machine (and I was feeling lazy and didn’t want to do this on the Mac in another room, because I’d have to get up), so I did this on WSL using a Ubuntu 22.04 install. I needed to install a bunch of packages, which I opted to do via <code>apt</code> rather than try to wrangle CPAN into installing it. (Some of them failed installing in CPAN, and by that I mean they failed to compile things, and I had already gotten super tired of waiting for the compile for <code>XML::XPath</code>. It took forever on a fast machine.) These are the packages I installed:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt install libdate-calc-perl libarchive-zip-perl libxml-xpath-perl</span><br></pre></td></tr></table></figure><p>There were a couple others I searched for but they ended up being installed - just searching for the CPAN module name worked fine. These were <code>archive::zip</code> and <code>bit:vector</code>. </p><p>After doing this, I ran the conversion utility: <code>perl convert.pl -v bitwarden &lt;file&gt;</code>. This failed - not sure but something about my input file broke it and I kept getting duplicate key errors. The fix for this was to specify the <code>1pif</code> output format, rather than the default PUC file. So, the command was <code>perl convert.pl -v -F 1pif bitwarden &lt;filename&gt; -o &lt;outpufile&gt;</code> (by default it’ll try to put your output file in ~&#x2F;Desktop, which I didn’t have). </p><p>The other problem was importing the file. The latest version of 1Password actually <em>doesn’t</em> support importing their own files. Or, rather, it doesn’t support importing their <code>1pif</code> format ones. So, I installed 1Password 7, which is still <a href="https://1password.com/downloads/windows/">handily available on the website</a> under the ‘Using an older computer?’ heading at the bottom. I’ll upgrade to 8 later. I think 8 was part of the reason I was also sort of annoyed with 1Password too so maybe I won’t do that, actually.. Anyway, once you have 1Password 7 installed, you can import the file. I opted to do this into a fresh vault. Everything seemed to work fine, though the create and modify dates all got trashed. That’s a minor thing, though. Importantly, my credit card info is in there right, the secure notes all look good, and the actual passwords are all in the right spot.  My tags seem to work too, including my all important Security Questions one. (Because security questions are terrible and bad, I just generate passwords for ‘em.) </p><p>If I’m being honest, one thing I don’t like about this whole process is that the conversion suite isn’t somewhere more visible. It’d be nice if it were up on GitHub or something. Maybe I can use it as inspiration (or at least a spec) to make up some Python packages for the file formats. </p><p>So, this all worked fine, and now other than the logistics of installing it everywhere and updating browser plugins, I’m pretty much back to 1Password. </p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;I’ve been using Bitwarden for a year or two now, after switching from 1Password when they opted to add some dumb crypto nonsense to the a</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
  </entry>
  
  <entry>
    <title>Minor Updates</title>
    <link href="https://jkachel.com/2022/12/16/Minor-Updates/"/>
    <id>https://jkachel.com/2022/12/16/Minor-Updates/</id>
    <published>2022-12-16T11:03:15.000Z</published>
    <updated>2023-01-12T02:35:43.848Z</updated>
    
    <content type="html"><![CDATA[<p>This is mostly a post to try to keep up with the blogging habit: I’m currently evaluating Linux distributions on my laptop and putting together a post of random stuff makes for a good test of the Docker install on here, and keeps me remembering to write things here. So, here’s some random stuff.</p><p><strong>The Mastodon server</strong> has been up for a month and a half now, which has been nice. I’ve mostly decided to keep with the individual instance rather than move to a different one (though I did stake a claim on the <a href="https://mastodon.mit.edu/">mastodon.mit.edu</a> server - I’m @<a href="mailto:&#106;&#x6b;&#97;&#99;&#104;&#x65;&#108;&#64;&#109;&#x61;&#x73;&#116;&#111;&#x64;&#x6f;&#110;&#x2e;&#109;&#105;&#x74;&#46;&#101;&#x64;&#x75;">&#106;&#x6b;&#97;&#99;&#104;&#x65;&#108;&#64;&#109;&#x61;&#x73;&#116;&#111;&#x64;&#x6f;&#110;&#x2e;&#109;&#105;&#x74;&#46;&#101;&#x64;&#x75;</a> there). I’ve been following the story of the hachyderm.io instance by dint of following <a href="https://hachyderm.io/@nova">Kris Nóva</a> over there and that’s been interesting - that instance would probably be where I move to if I get tired of running my own; they’re doing a pretty great job with it. I’ve mostly given up on Twitter. My apartment has heating so I don’t really need the ever-larger dumpster fire that it’s become. </p><p>I’ve pulled the Twitter widget from the sidebar - sometime soon I’ll put up either a RSS embed or an ActivityPub thing to grab my Mastodon timeline. (Did you know that most, if not all, Mastodon timelines can be subscribed to via RSS? It’s true. Just append <code>.rss</code> to the end and you get an RSS feed. <a href="https://kachel.social/@james.rss">Like so.</a>)</p><p>Some <strong>Linux distro tryouts</strong> are commencing at the moment. I’m sort of planning a new system build now that all the new AMD stuff is out, and the plan is for it to be a red team build and also a Linux build. So, I’m fiddling a bit with Linux distributions on my Lenovo Yoga laptop. I’ve tried straight Debian 11 and Linux Mint 21 so far. I liked Linux Mint anyway but I may try Fedora or Alma or Rocky too. Debian 11 gave me some <del>flashbacks</del> nostalgia for old times installing Linux - out of the box, the wireless didn’t work, it dropped me into a screen to choose from any of dozens of ancient Ethernet drivers for my modern Gigabit Realtek card for some reason (i.e., unnecessarily), and it wouldn’t take my password. Reminded me a bit of installing Debian 1.3.1 off of some like $2 CheapBytes CDs back around, oh, 1998 or so. I don’t think I <em>ever</em> got that installed properly. (In my defense, I was a Slackware user at that point and more familiar with the “compile everything” sort of situation that existed at the time. Package management was a <em>new thing</em> back then - Red Hat and Debian were leading the way on it with managers that actually cared about dependencies - and man oh man were things broken for a long time.)</p><p>I have succumbed to YouTuber sponsorship spots and now I own a bunch of Vessi shoes. (Not that I do YouTube, but I do watch a lot of it.) They’re pretty comfy. I had some but got more because of a bundle deal with some gloves and a toque (they’re Canadian, so..), but also because I’m a bit afraid of wearing out the pair I wear <em>all the time</em>. </p><p>I’ll probably be working on testing out my <strong>10Gb Ethernet</strong> switch some more over the holiday break and will write up a thing about that. I don’t have any SFP+ cables yet but I should at least be able to get to a console and use the lone GigE port on it. I’ve gotten a NetApp 1U 16-port switch with redundant power supplies; it’s gotten a full Noctua fan swap so might be interesting to do a bit of writing about. So far I’m only about $200ish in on 10GbE rollout - the switch was &lt; $100 and the 4 dual-port NICs I bought were like $25&#x2F;ea. Cabling will be another couple hundred (from FS.com, probably) but these are entirely reasonable prices. </p><p>That’s it for now - time to see if this publishes properly.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;This is mostly a post to try to keep up with the blogging habit: I’m currently evaluating Linux distributions on my laptop and putting to</summary>
      
    
    
    
    <category term="meta" scheme="https://jkachel.com/categories/meta/"/>
    
    
    <category term="meta" scheme="https://jkachel.com/tags/meta/"/>
    
  </entry>
  
  <entry>
    <title>Stupid Computer Drag Racing</title>
    <link href="https://jkachel.com/2022/11/27/Stupid-Computer-Drag-Racing/"/>
    <id>https://jkachel.com/2022/11/27/Stupid-Computer-Drag-Racing/</id>
    <published>2022-11-27T10:42:25.000Z</published>
    <updated>2022-11-27T16:57:08.474Z</updated>
    
    <content type="html"><![CDATA[<p>Two mini PCs, facing off against each other in a race that’s somewhat network dependent. What fun!</p><p>I got a couple of those weird mini NUC-style PCs. They’re very cosmetically similar PCs, of the “AK2” variety, that you can get on the Amazon for between $70 and $175 depending on what deals are going on and spec. They were bought for other things, but I figured why not see what the difference is between a couple of generations of Celeron? </p><p>Similar things on each: both have 2x HDMI ports, a smattering of USB 2 and 3 ports, RTL8111-family GbE network, onboard single-port SATA, AC wireless (one with an Intel card, one with a Realtek). The differences are memory, CPU, and storage (outside the SATA). </p><p>AK2: J3455 - <a href="https://ark.intel.com/content/www/us/en/ark/products/95594/intel-celeron-processor-j3455-2m-cache-up-to-2-30-ghz.html">Celeron J3455 Apollo Lake</a> (4c4t), 6GB RAM, 64GB eMMC, no NVMe slot (there <em>is</em> an open slot but it’s Mini-PCI for some reason)<br>AK2 “Pro”: N5095 - <a href="https://ark.intel.com/content/www/us/en/ark/products/218701/intel-celeron-processor-n5095a-4m-cache-up-to-2-90-ghz.html">Celeron N5095 Jasper Lake</a> (4c4t), 12GB RAM, 256GB NVMe SSD (this came with an SSD that threw a ton of errors during Ubuntu installation.. swapped it for a known-good 256GB drive but not sure if that was just weirdness or that the pack-in drive is flaky)</p><p>To do the drag race, I set both of these up with Ubuntu Server 22.04 LTS with full updates, <code>pyenv</code>, and Docker Engine; and connected them to my network via Ethernet. The Ethernet connection is somewhat bottlenecked as I’m using the two Ethernet ports on the TP-Link Deco P9 mesh pod in the room where they are, and that’s generally using the slower HomePNA powerline backhaul to the rest of the netwrok. But, they ranged from 7-10MB&#x2F;s when both were hitting the network simultaneously to about 15MB&#x2F;s when one got full shouting rights over the cable, and they were run so they were both basically sharing space all the time. </p><p>The workload I chose was setting up an <a href="https://github.com/openedx/devstack">Open edX devstack</a> instance on each from scratch. Open edX is a pretty big thing - a full “large and slow” setup ends up with 14 Docker containers - and there’s a smattering of compiling stuff and decompression and database ops and all that, so it seemed like a good fit. (Plus, I’m really familiar with it. The day job mostly entails writing software that interfaces with Open edX in some manner, so I’ve run it on much faster systems than these two.) However, it’s worth noting that some of these steps are very network bound, and those steps are noted as such. I did include the preliminary Python setup steps here too, so that’s a lot more compiling. </p><p>Here’s the results. The times listed are the Real time from <code>time(1)</code>.</p><table><thead><tr><th></th><th>J3455</th><th>N5095</th><th></th></tr></thead><tbody><tr><td><code>pyenv install 3.11.0</code></td><td>10m40s</td><td>05m20s</td><td></td></tr><tr><td><code>pyenv virtualenv</code></td><td>00m12s</td><td>00m05s</td><td></td></tr><tr><td><code>make requirements</code></td><td>01m35s</td><td>01m09s</td><td>- this step is pretty network dependent</td></tr><tr><td><code>make dev.clone.https</code></td><td>04m56s</td><td>05m00s</td><td>- this step is pretty much just network access (cloning GH repos)</td></tr><tr><td><code>make dev.pull.l&amp;s</code></td><td>10m20s</td><td>09m39s</td><td>- yup a lot more network, this time Docker stuff</td></tr><tr><td><code>make dev.provision</code></td><td>108m54s</td><td>51m32s</td><td>- this one is not network</td></tr></tbody></table><p>Round 2: now with identical TeamGroup AX2 SATA SSDs (512GB) connected to onboard storage and fresh install of Ubuntu Server 22.04. Some of the network speeds went up here; the machines got kinda out of sync and so they had the network to themselves for a bit. </p><table><thead><tr><th></th><th>J3455</th><th>N5095</th><th></th></tr></thead><tbody><tr><td><code>pyenv install 3.11.0</code></td><td>10m40s</td><td>05m22s</td><td></td></tr><tr><td><code>pyenv virtualenv</code></td><td>00m12s</td><td>00m05s</td><td></td></tr><tr><td><code>make requirements</code></td><td>03m35s</td><td>01m11s</td><td>- this step is pretty network dependent</td></tr><tr><td><code>make dev.clone.https</code></td><td>04m04s</td><td>06m33s</td><td>- this step is pretty much just network access (cloning GH repos)</td></tr><tr><td><code>make dev.pull.l&amp;s</code></td><td>09m22s</td><td>07m31s</td><td>- yup a lot more network, this time Docker stuff</td></tr><tr><td><code>make dev.provision</code></td><td>90m03s</td><td>43m48s</td><td>- this one is not network</td></tr></tbody></table><p>The most telling of these is the first and last result - <code>pyenv install 3.11.0</code> and <code>make dev.provision</code> are places where you can really tell what the difference a couple of generations of Intel architecture enhancement make. As a reminder, these two chips are about 5 years apart (Skylake to Ice Lake; 6th gen Core to 11th gen). Interestingly, the performance difference is about the same as the cost difference. The J3455 system was about $75 and the N5095 system was about $150. </p><p>Neither of these systems are particularly performant (and they’re probably gonna lose those 512GB SSDs) but they make good point of need systems for lower-end tasks. They’re pretty small - roughly 5in square and about 3in high. The J3455 is going to be a Home Assistant box because it’ll outperform the Raspberry Pi 3 that’s currently doing that task and it’ll fit nearly anywhere. </p><p>A couple weird hardware things I’ve noticed:</p><ul><li>They both have a USB-C under the lid. You can get power out of it, but it doesn’t seem to do anything. I plugged a drive into it and nothing.</li><li>The J3455 has a micro SD card reader on the board (that evidently works). The N5095 one doesn’t. </li><li>The J3455 has a mini PCI slot on it. I was thinking maybe I could put a M.2 2242 drive but nope! I suppose you could use it for a WwAN modem or something, though.. do they still make those in mini-PCI? I have a CDMA one floating around, I could try it to see if it works in the slot.. </li><li>If you get one and take it apart, be careful about the WiFi antennas. I disconnected one taking apart the J3455 unit and in the process of trying to wedge the connector underneath the plastic thing they glued down to the top of the WiFi module (to keep the antennas connected..) I really broke the other one. Surprisingly it still connects to my local network, but that may be a function of it being basically next to one of the mesh pods. </li><li>I also learned that Realtek USB WiFi NICs are <a href="https://github.com/morrownr/88x2bu-20210702">less than great for use in Linux</a>.</li></ul><p>Most of this was from <a href="https://www.youtube.com/watch?v=1XwX_0Q_fFA">some videos by Goodmonkey on YouTube</a>. He had some better luck with the AK2&#x2F;GK2 pricing than I did. (But I might also look at deploying these TP-Link Omada WiFi dingles..) </p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;Two mini PCs, facing off against each other in a race that’s somewhat network dependent. What fun!&lt;/p&gt;
&lt;p&gt;I got a couple of those weird m</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="cheap-thrills" scheme="https://jkachel.com/tags/cheap-thrills/"/>
    
    <category term="docker" scheme="https://jkachel.com/tags/docker/"/>
    
  </entry>
  
  <entry>
    <title>Mastodon Week 2</title>
    <link href="https://jkachel.com/2022/11/12/Mastodon-Week-2/"/>
    <id>https://jkachel.com/2022/11/12/Mastodon-Week-2/</id>
    <published>2022-11-12T21:09:03.000Z</published>
    <updated>2022-11-27T04:40:37.090Z</updated>
    
    <content type="html"><![CDATA[<p>After another week of Mastodon instance running, I’ve learned a few more things. So, here they are.</p><p><strong>Sizing:</strong> Sizing was a problem! Turned out this was due to some choices I’d made (which I’ll discuss later). By the end of things, I went from a giant Sidekiq job backlog to none at all, and from a 2 vCPU&#x2F;4GB droplet to a 4 vCPU&#x2F;8GB droplet. This is actually too big now but it’s going to stay that way until I get some actual monitoring going on the machine. DigitalOcean provides some but I’d like some better stuff. </p><p><strong>Relays:</strong> I added like 7 relays to the server to help grab stuff for my federated timeline. Relays are sort of a garden hose of posts - if you’re connected to a relay, your posts get aggregated and resent by the relay to the other connected instances. For me, this ended up creating two problems.</p><ol><li>I had too many of them and that spawned a ton of jobs that my smaller droplet couldn’t keep up with. If you want to add a relay to your instance, maybe only do one or two. (And you’ll want to be very judicious about what relays you add.)</li><li>As for the relays I’d added from <a href="https://github.com/brodi1/activitypub-relays">this list</a> that I’d mentioned in the previous post: yeah, <em>don’t do that</em>. If you add a relay, you need to go through the published connections list to see who’s connected to the relay first or you’re going to get a bunch of hate speech and shitposting.</li></ol><p>To be honest, once you get started following folks and rolling through hashtags and stuff like that, your instance will find things on its own. If there ends up being some focused relay systems in the future for certain communities, then I can see that being a thing to join up with; otherwise it really does seem to take care of itself. </p><p><strong>Upgrades:</strong> As I’d noted, the DO one-click installer rolled forward with version 3.1.3 of the Mastodon server software. That’s pretty old and I upgraded it to 4.0.0rc3. (Aside: it’s nice that I can do that! One of the benefits of running your own stack.) It was a pretty easy process. The Mastodon docs mostly cover it but this was the gist of what I ended up doing (note that this is for the DigitalOcean one-click installer environment, yours will be different if it’s not that):</p><ol><li>Stopped all Mastodon services.</li><li>Install newer Ruby and Node. <code>rbenv</code> is installed already, so you just use that to install 3.0.4 or newer. I added the NodeSource packages (see <a href="https://nodejs.org/">nodejs.org</a>) to the <code>apt</code> sources list and installed Node 16 using that. </li><li>Follow the instructions in the <a href="https://github.com/mastodon/mastodon/releases/tag/v4.0.0rc3">tagged release</a>.</li></ol><p>I took a snapshot of my instance before starting. That took longer than the upgrade process. If you’re moving from an old version of Mastodon to a newer one and you’re out a few versions, you should go back and re-trace the release notes to see if anything special needs to be done - in my case, going from 3.1.3 to 4, the instructions for 4.0.0rc3 included all the extra steps. I would have had to do those steps even if I didn’t go to 4.0.0rc3 as they were recommended in verion 3.2 or something. (There’s probably a reason why they’re not, but I kinda think the steps attached to the 4.0.0rc3 release should probably be the steps to do going forward.)</p><p><strong>Hashtag pinning and following:</strong> This is in 4.0 and it’s great. I heart it. </p><p>Anyway, that’s it for now. The machine is humming along nicely and as an added benefit I check Twitter far less often now. Don’t get me wrong, they’re still complimentary services (to me), but I’m enjoying being on the pachyderm site. Next thing on the list is adding some more instrumentation. You get some with DigitalOcean and I have it linked into Pulseway but it’d be nice to get some Prometheus&#x2F;Grafana and&#x2F;or Zabbix or something running too. </p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;After another week of Mastodon instance running, I’ve learned a few more things. So, here they are.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sizing:&lt;/strong&gt; Sizin</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    <category term="meta" scheme="https://jkachel.com/categories/computing/meta/"/>
    
    <category term="mastodon" scheme="https://jkachel.com/categories/computing/meta/mastodon/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="social networking" scheme="https://jkachel.com/tags/social-networking/"/>
    
    <category term="birdsite" scheme="https://jkachel.com/tags/birdsite/"/>
    
    <category term="toots" scheme="https://jkachel.com/tags/toots/"/>
    
  </entry>
  
  <entry>
    <title>Riding a Mastodon</title>
    <link href="https://jkachel.com/2022/11/07/Riding-a-Mastodon/"/>
    <id>https://jkachel.com/2022/11/07/Riding-a-Mastodon/</id>
    <published>2022-11-07T05:05:14.000Z</published>
    <updated>2022-11-08T02:11:12.004Z</updated>
    
    <content type="html"><![CDATA[<p>I rolled out <a href="https://kachel.social/">a vanity Mastodon instance</a> a week ago (as of writing this) so I could get in on the Fediverse experience and start distancing myself from the bird site. It’s been an interesting week as it goes, so here’s some notes I’ve collected. </p><h4 id="Mastodon-has-a-pretty-distinct-“feel”-compared-to-Twitter"><a href="#Mastodon-has-a-pretty-distinct-“feel”-compared-to-Twitter" class="headerlink" title="Mastodon has a pretty distinct “feel” compared to Twitter."></a>Mastodon has a pretty distinct “feel” compared to Twitter.</h4><p>Especially right now, going through Mastodon is a lot more like being new at a newish community meeting spot than anything else. There’s a lot of introductions and people trying to find their people and trying to figure out how to work things, and there’s a lot less people - it’s more like the party is just starting to crest over, compared to Twitter’s already in the deep end and getting deeper. It definitely still feels <em>nicer</em> and more civil, for now at least. </p><h4 id="Visibility-is-a-lot-different"><a href="#Visibility-is-a-lot-different" class="headerlink" title="Visibility is a lot different."></a>Visibility is a lot different.</h4><p>I used the <a href="https://fedifinder.glitch.me/">Fedifinder</a> tool from <a href="https://vis.social/@luca">@Luca@vis.social</a> and that.. really didn’t help a whole lot! Turns out a lot of my followers don’t have the Mastodon handles in their bios, so it found like 5 (and hasn’t found any more since then). It may work better for you. Mostly, I’ve found people I’d like to continue following from Twitter by virtue of the fact that I’m following them on Twitter and they’ve posted their Mastodon handles there. </p><p>However, there’s some other things that I’ve been doing to find folks:</p><ul><li>Hashtags help a lot. Especially a few that are interesting - for me, that’s #introduction, #highered, #edtech, stuff like that. <ul><li><del>I wish there was a way to follow these tags - none of the clients I’ve used so far seem to do that.</del> <em>Updated</em>: <a href="https://github.com/mastodon/mastodon/blob/v4.0.0rc2/CHANGELOG.md">Server v4 will do this!</a></li></ul></li><li>Looking through the instance list. I can find instances that are generally geared towards my interests and then go looking through their member directory to see if I can find folks to follow. This doesn’t work so much for the huge general purpose instances like <a href="https://mstdn.social/explore">mstdn</a> or <a href="https://mastodon.social/">the official(?) Mastodon instance</a> but for ones like the already mentioned <a href="https://vis.social/">vis.social</a> or like <a href="https://mastodon.art/">mastodon.art</a>, it can be pretty nice. </li><li>Looking through other sites. For example, I’m on <a href="https://metafilter.com/">MetaFilter</a>, so I added my Mastodon handle to my profile there and I can look up a list of other folks that have handles too. </li><li>The federated timeline helps, of course, but I have more to say about that later.</li></ul><p>But, there’s some caveats too. Because everything is spread out, it’s sometimes hard to see content. I’ve kinda blindly followed a few people because their bio is interesting or they’re part of another account, but I wasn’t able to see anything they’d posted because their last post was too old to hit whatever upper bound my instance or client has. It’s also sometimes kinda frustrating to really not have an effective firehose (but that’s also sorta nice too).</p><h4 id="Choosing-an-instance-to-be-on-can-be-easy"><a href="#Choosing-an-instance-to-be-on-can-be-easy" class="headerlink" title="Choosing an instance to be on can be easy!"></a>Choosing an instance to be on can be easy!</h4><p>You can mostly just search around and find an instance that is geared towards your interests (or a portion of them) and see if you like the vibe, and then (try to) join it. There are some more general instances too, but a lot of them have turned off signups for now because of the exodus from Twitter.</p><h4 id="but-it’s-sometimes-not-easy"><a href="#but-it’s-sometimes-not-easy" class="headerlink" title="..but it’s sometimes not easy"></a>..but it’s sometimes not easy</h4><p>And that’s why I fired up my own instance - I didn’t really feel like I fit in with the instances I had short-listed enough to want to sign up for an account on any of them. So, I used the one-click installer on DigitalOcean to get my own vanity instance set up. This is a most decidedly <em>user hostile</em> way to go - I found it to be pretty easy but I’ve been running Internet-connected servers for 20+ years; if you’re not a tech folk then this is much less of an option. </p><p>However, one thing I <em>have</em> learned is that migrating between instances is pretty easy. There’s just a button and it’ll move your account settings (including followers) to a new account if you want to do that, even across instances. Your history doesn’t move, but it does stay wherever you were. So, that takes some of the anxiety out of the choosing process. </p><h4 id="Maybe-don’t-run-your-own-instance"><a href="#Maybe-don’t-run-your-own-instance" class="headerlink" title="Maybe don’t run your own instance?"></a>Maybe don’t run your own instance?</h4><p>I’ve done it and I plan on sticking with it now, but there were a couple of things I’d wish I’d known about it beforehand.</p><ul><li><strong>Visibility</strong>: I said earlier that it’s a lot different but it’s even more differenter if you’ve started up your own instance, because they don’t come federated out of the box. In other words, you’re staring a blank page until it knows about other servers. This is pretty quickly resolved - as you follow people, your instance will start gathering toots from their instances - but it’s a little discouraging to begin with. I also worried a bit about whether or not anything I was posting was making it out of my bubble, which it probably wasn’t until I started following people. </li><li><strong>Sizing</strong>: The one-click DigitalOcean installer doesn’t give you a sizing guide and neither do the official server docs (or I never saw one, at least) but you probably need to sock more resources at the thing than you may think. I thought I was going to be ok with a 2 vCPU, 4GB, 25GB disk instance and, well, no; it’s fallen over and died a couple times. <ul><li>Sidekiq logs to <code>syslog</code>, which is fine, but Ubuntu 18.04 defaults to rolling that log daily, and it’s by default <em>really really chatty</em>. Like, it fell over the first time because I had 14GB of <em>just</em> <code>/var/log/syslog</code> after a couple days. I changed the settings to roll the logs every 3GB, and moved the cron runner script to run hourly, and I resized the machine to a 60GB instance to get back into the system.</li><li>It ran out of memory! I haven’t actually fixed this yet - I added an 8GB swapfile. But, Mastodon really needs 6GB of memory. It’s holding tight at 5 and change now for my tiny instance. </li><li>So, my recommendation would be at least 2 vCPUs, at least 40GB disk, and 6GB RAM, and make sure you set up object storage (S3 or alike) if you’re going to post a lot of media. Then, make sure you make the logging changes I mentioned. If you don’t want to do any of that, then maybe do 100 GB of disk or more. </li><li><em>Update</em>: I ended up with a 4 vCPU server, 8GB RAM and 80GB disk, and that seems to be pretty good for now. The CPUs are mostly idle at this point - I added them to help drain the message queue. That took a few hours; my Sidekiq queue was at about 100K jobs backlogged. After some further looking, it appears the DigitalOcean one-click installer installs a pretty old version of the server too (3.1.3 vs. 3.5.3 that’s out now) so now I get to figure out how to update it (on top of the other learning how to admin a Ruby app things). Nothing more fun than performing umpteen point upgrades for something…</li></ul></li></ul><p>My instance specifically is as it ships, except I did turn on ElasticSearch for full-text searching, and I’ve added about 7 relays into it. (I think the relays are really the problem with regard to logging. It’s just a lot more jobs that get scheduled into Sidekiq.) </p><p>Speaking of relays, I added a handful of relays <a href="https://github.com/brodi1/activitypub-relays">off of this list</a> to my instance, and now I’m going to clear out a few of them. Relays help shuttle a bunch of toots to your instance, so your federated timeline is more “fleshed out” and your posts get to more places faster, but you should be somewhat judicious about this. Most of them give you a list of instances they know about if you just go to the relay’s root page, and that’s useful for seeing what kind of content will be relayed to you. In my case, I added too many; my federated feed has a lot of just sort of random stuff in it now. (I added a relay in Japan and half of it is Japanese now.) If you’re running a vanity instance like mine, maybe just having a couple relays would be a good idea. You don’t specifically need them. </p><h4 id="It’s-pretty-interesting-and-fun-though"><a href="#It’s-pretty-interesting-and-fun-though" class="headerlink" title="It’s pretty interesting and fun, though"></a>It’s pretty interesting and fun, though</h4><p>It doesn’t replace Twitter for me - all the local news stuff, sports-specific stuff, and complaining about service stuff is just about non-existant on Mastodon right now. But, it’s pretty fun to be on and to keep up with. And, it’s a lot slower, so it’s easier to catch up on and then be done with. (And there’s a lot less yelling. I signed up for some of that yelling, but it’s nice to have it in a separate place.) I recommend it - it is a lot more work to use and get into than Twitter, but it’s pretty worth it. I liked it enough to sign up for <del>a blue checkmark</del> <a href="https://www.patreon.com/mastodon">the Patreon for the developers.</a></p><p>At some point I’ll swap the Twitter box on the right for a Mastodon box, and at some point I might cross-post things from Mastodon to here, or vice versa, or also to Instagram. (My ever growing cache of cat pictures could use a less Facebooky home.) </p><p>If you want to find me on the Mastodon, I’m <a href="https://kachel.social/web/accounts/2">@james@kachel.social</a>. </p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;I rolled out &lt;a href=&quot;https://kachel.social/&quot;&gt;a vanity Mastodon instance&lt;/a&gt; a week ago (as of writing this) so I could get in on the Fed</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    <category term="meta" scheme="https://jkachel.com/categories/computing/meta/"/>
    
    <category term="mastodon" scheme="https://jkachel.com/categories/computing/meta/mastodon/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="social networking" scheme="https://jkachel.com/tags/social-networking/"/>
    
    <category term="birdsite" scheme="https://jkachel.com/tags/birdsite/"/>
    
    <category term="toots" scheme="https://jkachel.com/tags/toots/"/>
    
  </entry>
  
  <entry>
    <title>Futzing around with XDM</title>
    <link href="https://jkachel.com/2022/10/29/xdm-tricks/"/>
    <id>https://jkachel.com/2022/10/29/xdm-tricks/</id>
    <published>2022-10-29T07:59:02.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>A buddy of mine asked me a weird question the other day: how do I get a remote GUI on a Linux server? As it happens, I knew at least the starting point to this query. It involves using a bunch of stuff that’s built into X Window that’s been there pretty much forever. </p><h3 id="Some-background"><a href="#Some-background" class="headerlink" title="Some background"></a>Some background</h3><p>Most people who are familiar with your average Linux distribution are familiar with at least one of the <em>desktop environments</em> that they come with: GNOME, KDE, Xfce, Cinnamon, etc. These provide the UI and a bunch of utilities and other miscellaneous things to allow you to use your machine. Different distributions use different desktop environments, and some distros offer some choice in the desktop enviroment you end up with. (For example, Manjaro Linux has three - you can download a version that uses KDE Plasma, one that uses GNOME, or one that uses Xfce.) But, the desktop environment is only half the equation. All the desktop environments run on top of a separate graphical layer - generally the X Window System, or just X. (Xorg, specifically, which is the current implementation of it.) </p><p>X itself is really a protocol - your computer runs an X server, which talks to your keyboard, mouse, and screen; and the programs you run are X clients and talk to the server to display output and capture input. Most of the time, this is all done on your local system, but there’s no requirement for that. X has supported, from its beginnings in the <em>80s</em>, the ability for the server and clients to be on separate computers and talk over a network. This gives you a lot of flexibility. X in addition has a concept called the Display Manager, which allows you to request a session and log into a machine via a greeter program. This is actually how you log into your average Linux system - there’s one of the various DMs running and it displays your login prompt and gives you some options, and then actually logs you in and starts your session. Display managers <em>also</em> work over the network, so you can have one (or several) large machines that do all the compute and a bunch of smaller machines that the users actually use. </p><blockquote><p>Back in the day, there were actually hardware devices known as X terminals that contained your standard input&#x2F;output devices and enough compute and network capability to handle incoming X connections. Sun Microsystems made a couple, and there were some NCD machines as well. Nobody really does this with X anymore, though, oddly enough, this general idea and setup persists in the Windows world.</p></blockquote><p>So, in conclusion, X - the actual thing that makes your GUI work on a Linux box - can push all your pixels over the network to a separate machine. It’s been built into the system since it came out, essentially, and literally everything supports it. (To some extent - some things go around the X server and more-or-less write directly to the display hardware. That stuff’s not using X the protocol, though.)</p><h3 id="So-the-premise"><a href="#So-the-premise" class="headerlink" title="So, the premise"></a>So, the premise</h3><p>The ask was to be able to bring a more-or-less normal Linux desktop over the network from the server to a local system. Basically, Windows’ Remote Desktop functionality. It turns out this is relatively not terrible to set up, though it is somewhat.. Unixy to use. As I mentioned, the Display Manager handles setting up logging in graphically and setting up the session, and that additionally can work over the network and supports multiple sessions, so that’s where you start. Then, you need to be able to get something to request the session over the network. Finally, you have to figure out how to do at least a bit of security for all this. (Remember how I mentioned that X did this in the 1980s? That wasn’t a joke - X originally came out in 1984 and this functionality was in place then - but the world was very very different at that point, and so it does a lot of things over unencrypted communication channels, which is just really super not good today.)</p><p>My thought was to do a couple things:</p><ol><li>Set up the DM on the server machine to accept “remote” connections. (They won’t really be remote connections but by default DMs expect to see just one set of physical input devices attached directly to the machine.)</li><li>Set up a nesting X server on the server machine that’ll request a new session from the DM, and, through the magic of just basically being a proxy for X, display that over the network.</li><li>Get an X server running on the local machine that can be used. (Surprise! WSL 2 has this built in.)</li><li>Finally, use SSH to log into the remote system, run the nested X server, and behold! a graphical desktop enviromment from the remote system on your computer.</li></ol><p>Setting up the DM is really pretty easy. Most modern Linux systems use either <code>lightdm</code> or <code>gdm</code> or <code>sddm</code> so you really just have to configure one of those. For <code>lightdm</code> and <code>gdm</code>, it’s just a matter of a few configuration lines added to a file and restarting the service. I found <a href="https://wiki.archlinux.org/title/XDMCP">this page</a> in the Arch Linux wiki that has some cut and pasteables. (This is nice because the documentation for lightdm specifically is “read the sample config file”, which is terrible. Do better, folks.) Note that you choose which DM you’re using in step 1 and then do the steps for that one - you don’t have to configure all three options provided, and you shouldn’t because you can only run one DM at a time. I chose to stick with the <code>lightdm</code> one for my initial testing.</p><p>Setting up the nesting X server is also pretty easy. There’s two: <code>Xnest</code> and <code>Xephyr</code>. You just find those (search for them in your package manager, probably using their names all in lowercase) and install it. No further configuration. What these do is provide an X server that outputs to another X server - any X clients you point at it basically just get thrown in a buffer that gets displayed elsewhere. Because they’re real X servers, they support display managers and can request a session from one. In my experience, <code>Xephyr</code> works better, especially over a slower connection.</p><p>You’ll need something for the nesting X server to talk to, and that is an X server on your local machine. On macOS, you use <a href="https://www.xquartz.org/">Xquartz</a> for this. Windows is a bit different. There are some X servers for native Windows, but WSL 2 gained <a href="https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps">support for running graphical Linux apps in August 2022</a> - that’s <em>just X</em> so it’s got an X server built in, and you don’t have to do anything. (And, let’s face it, you’re about knee-deep in Unixy stuff at this point so why not just go whole hog and use WSL if you’re using Windows at this point?)</p><p>Finally, you need to be able to access the remote system. You just use SSH for this. You may need to enable <code>X11Forwarding</code> on the server side, but you should be able to just use the <code>-X</code> flag when you connect to your machine to automatically forward X11 stuff to your machine. You can test this by SSHing into your remote machine with the -X flag and running something simple (like <code>xeyes</code>, which will put a set of eyes on your desktop that will follow your mouse cursor.) </p><blockquote><p>Fun fact: you can run any X program like this! So, if you don’t want to screw around with the whole desktop environment thing, you can literally just <code>ssh -X</code> into something and run whatever and it should appear alongside your other windows. Like this:</p></blockquote><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2022/10/29/xdm-tricks/xeyes-lookin-at-you.png" class="" title="xeyes running on my Ryzen 2700, but eyeballing me from the MacBook Air"><p>xeyes running on my Ryzen 2700, but eyeballing me from the MacBook Air</p></div><h3 id="Actually-running-things"><a href="#Actually-running-things" class="headerlink" title="Actually running things"></a>Actually running things</h3><p>To actually get a desktop, I ran:</p><p><code>Xephyr -query 127.0.0.1 -br -ac -noreset -screen 1280x720 :1</code></p><p>This runs the <code>Xephyr</code> server, tells it to ask for a session from localhost, and set the screen size to 1280x720 (and make this display <code>:1</code> - it’s important that you don’t reuse these, in that it won’t let you). Once I ran that, it popped a window on my desktop and gave me the normal login screen. Neat! </p><h3 id="Other-options"><a href="#Other-options" class="headerlink" title="Other options"></a>Other options</h3><p>It turns out too that <code>lightdm</code> (and probably others, not sure) will just go ahead and set up VNC for you. There’s some instructions <a href="https://wiki.archlinux.org/title/LightDM#VNC_Server">here</a> - if this is set up, you can use a standard VNC server to connect. (macOS has one built in since that’s how its own screen sharing stuff works, and this isn’t hard to come by everywhere else.) The second time I set this up tonight - yes, I did it twice, it really didn’t take long - I ran into some issues with the XDMCP method but for some reason turning on the VNC server worked just fine. Go figure. </p><p>So, here’s a neat thing you can do with some crusty old Unix stuff that is amazingly still very well supported today.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;A buddy of mine asked me a weird question the other day: how do I get a remote GUI on a Linux server? As it happens, I knew at least the </summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
  </entry>
  
  <entry>
    <title>Cookin&#39; with Gas, I Guess</title>
    <link href="https://jkachel.com/2022/10/15/cookin-with-gas/"/>
    <id>https://jkachel.com/2022/10/15/cookin-with-gas/</id>
    <published>2022-10-15T08:48:41.000Z</published>
    <updated>2022-11-06T22:51:15.034Z</updated>
    
    <content type="html"><![CDATA[<p>Welp, I’ve gone and done it. I redid the blog. We’re now <a href="https://hexo.io/">Hexo</a>. I wrote some quick and dirty Python (which was neither dirty nor particularly quick, but not too bad) to convert the Canvas posts that were here into whatever format Hexo uses, so when I want to get fancy and re-do this in Jekyll or Hugo, it should be pretty good. But, most importantly, this isn’t running on what was an ass-old version of PHP. Hooray!</p><p>The obvious question: why not upgrade Canvas? Well, it got to a point where the version I was using was too old and upgrading it would have been a mess. This happens with Laravel apps. The codebase here was version 6.2 and if you’re not pretty good about updating, you’ll find that it’s just a lot of hoops to go through to bring everything up to speed. On top of that, this site didn’t need a full on web framework. Hexo is a static site builder so all this is just HTML stored on a server.</p><p>The other question is: why Hexo? Well, … it was the first thing that looked interesting when I Googled. I tried doing this with Hugo (which has some professional benefit to me - some stuff at <a href="https://openlearning.mit.edu/">the place I work</a> incorporates Hugo) but I had some sort of mental block about it so <em>eh</em>. (Turns out the post format is basically the same so who knows, maybe this’ll be generated by Hugo at some point.) </p><p>There are bugs. Search prob doesn’t work and I haven’t gotten around to making list pages or limiting the posts on the front page or anything. Also, I have to set up a CI pipeline for this so it publishes to somewhere. But yay no more actual script processing!</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;Welp, I’ve gone and done it. I redid the blog. We’re now &lt;a href=&quot;https://hexo.io/&quot;&gt;Hexo&lt;/a&gt;. I wrote some quick and dirty Python (which </summary>
      
    
    
    
    <category term="general" scheme="https://jkachel.com/categories/general/"/>
    
    <category term="meta" scheme="https://jkachel.com/categories/general/meta/"/>
    
    
    <category term="general" scheme="https://jkachel.com/tags/general/"/>
    
    <category term="meta" scheme="https://jkachel.com/tags/meta/"/>
    
  </entry>
  
  <entry>
    <title>A comparison of two laptops</title>
    <link href="https://jkachel.com/2021/08/23/a-comparison-of-two-laptops/"/>
    <id>https://jkachel.com/2021/08/23/a-comparison-of-two-laptops/</id>
    <published>2021-08-23T15:35:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>Full disclosure: this is more or less going to be however many words of me hating on my MacBook Pro. Just so you know.</p><p>I have a 2019 13” MacBook Pro system, the base two USB-C port model with slightly upgraded storage (256GB from the base 128GB). I bought this system to do software development and as a general purpose daily driver to replace the hodgepodge of machines I was using so I could be a more effective software developer on a project I was working on. The choice to get this particular model machine came down to cost, capabilities over the similar tier MacBook Air model, and desire to have a macOS-based system (as my dev toolchain works best on a Unix-y system). This was a $1,500 system when I bought it, after my educator discount and fortuitous timing to get it during a tax-free weekend. </p><p>This thing was a mistake. (This is the bit where I just complain about this dumb computer.) On paper, it seems pretty nice for the time, but there’s problems. The 8th generation Core i5 CPU in there was getting old, even in 2019, and it doesn’t help that it’s a laptop efficiency SKU so base clock on it is 1.4GHz (and no HyperThreading). The 256GB storage is far more limiting than it seemed it would be. The keyboard, well.. this one’s got the 3rd generation butterfly switches, so it doesn’t fail if you look at it wrong or happen to not live in a clean room, but the switch feel is terrible. Some of this I tried to remedy - really, this thing mostly lived as a desktop, so I’ve amassed a bunch of USB-C dongle docks and one quite fancy CalDigit one, and so I had additional storage hooked in and screens and a real keyboard - but then you have to deal with macOS getting confused by there being things attached and then generally sometimes forgetting that there are screens, getting stuck in beachball mode, etc. All the while, WSL kept getting better, and PC parts kept getting cheaper, so ultimately I ended up building (now a handful of times - fiddling with things is fun!) a desktop system that’s now my daily driver and the Mac rarely gets used anymore. I didn’t even miss it when it had to spend a week or so out at AppleCare for service. (The keyboard broke. But not in the way everyone’s did - my backlight gave up. So, it’s got a new keyboard now. And a new screen, because the shitty webcam also failed. First time I’ve sent a machine in for service in maybe a decade.) </p><p>Now, the easy fix for this is one you can do on the front-end: don’t buy the base model. I thought 8GB RAM, especially coupled with Apple’s “fast” SSDs, would be OK, but really with the stuff I tend to need to have running (which includes Docker, IDEs, all that) it doesn’t work out. I thought too that I could make do with 256GB but that just meant I was running the SSD close to full all the time, which is bad. And sorry 1.4GHz Core i5 sucks. Just does. Almost as much as the keyboard. So, why didn’t I get the 4-port model instead? In this case, because the cost went up <em>dramatically</em> - I got this thing during a tax-free weekend, so not only would stepping up mean going to the $1,800 system or so, it’d also mean paying another roughly 10% more in sales tax, so really instead of a $300 difference, it’s closer to $600. (In Tennessee, tax-free weekends cover computer purchases up to $1,500 as long as they’re entirely under that amount. Go a penny over and the entire purchase price becomes taxable again.) Plus, the obvious - I had the money for that machine, and not more than that. So, I dealt with it and as things went on built up my daily driver desktop PC into the fairly ridiculous system it is. </p><p>Laptops are nice to have and it’s also nice to be able to do stuff from not my desk with the questionable ergonomics, so I’ve been looking and thinking about getting a new system. I’m also now mostly a Windows user again - Docker and WSL 2 especially make things a lot nicer for the things I need to do - so I’ve been considering those things too. I’d mostly thought on a Dell XPS 13” or HP Spectre x360 13”, as I like the form factor of the smaller machine. Either of those would run about $1,500 - of those, the Spectre was the winner since Dell likes to run warranty scams and it just had better specs for less money. But, I saw that Best Buy actually had a Lenovo system for pretty cheap that had pretty nice specs. Poor impulse control said I could get it, so I did. </p><p>The machine I got is a <a href="https://www.bestbuy.com/site/lenovo-yoga-6-13-2-in-1-13-3-touch-screen-laptop-amd-ryzen-7-16gb-memory-512gb-ssd-abyss-blue-with-fabric-cover/6455180.p?skuId=6455180" rel="noopener noreferrer" target="_blank">Lenovo Yoga 6</a>, which I suppose is nominally part of their ideapad line, so not a fancy ThinkPad system. It’s a 13.3” machine again, occupying the same 2d space as the MacBook Pro but somewhat thicker (maybe about 33%? Both of these machines are super thin) largely due to its convertible nature (has touchscreen, folds backwards). The screen isn’t quite as nice as the Mac’s - just a 1080p panel versus the sort of 2.5k that the Mac has that you can’t actually run at native resolution - but it’s close enough. The trackpad isn’t as nice but it’s worth noting that Windows Precision trackpads are leaps and bounds better than what used to come on Windows laptops. (Again, it’s close enough.) Port selection is way, way better - 2 USB-Cs and 2 USB-As, though only one of the USB-Cs supports PD, and no headphone jack on the Lenovo. The keyboard is <strong><em>so much better </em></strong>and mine’s even slightly broken - the LEft Shift Key Sticks Occasionally - but the layout is comparable to the Mac and is even backlit. No touch bar, which I prefer but I wasn’t a touch bar hater. (Escape is still roughly in the same place either way but tactile feedback is nice, but on that same token, the touch bar does some neat things too that I sort of miss a bit.) Has a fingerprint reader! The webcam sucks - it’s a 720p thing, but it works, I guess - but as a nice touch it has a physical shutter you can activate. Mine came in a nice darkish blue with a denim cover on the screen, which I like a lot. Needless to say, this is a plastic machine, but it’s nice plastic. </p><p>The guts are where the thing really stands out. Even adjusting for time, it’s way better. The Lenovo came with an AMD Ryzen 7 5700 CPU, 16GB of RAM, and a 512GB SSD that’s actually upgradable. This means it’s got a CPU that’s pretty comparable to my desktop and better graphics than most anything Intel has, especially the UHD stuff that’s in the 8th gen. (Prob worth noting that despite the name the laptop 5700 Ryzen is internally a Zen 2 CPU, so it is really the baby laptop-style sibling of my main machine’s Ryzen 7 3700X. Same architecture, same 16 threads, but clocks and TDP are different, and the laptop CPU’s got graphics where the desktop one does not.) 16GB RAM is good too, especially since that isn’t upgradable, and though it’s limited to PCI-Express 3.0 I can swap in a bigger SSD easily. The SSD itself is a Western Digital Black model, even, that I believe benchmarks faster than the one in the Mac too. (I can feel the difference between it and the ridiculous Sabrent Rocket PCIe 4.0 one in the desktop but that’s a ridiculous drive.) </p><p>Price comparisons are a fun thing to do, so let’s do that. I looked on the Internet’s favorite auction and corporate intimidation site, eBay, and found that my MacBook Pro can be had for around the $600-$700 mark at this point. Which is handy, because the Lenovo was $700. Yep. Granted, I saw this system on Best Buy via the Ars Technical deals thing, so it was on sale - normally it’s $950. </p><p>Basically, this all made me somewhat more annoyed than I was with the Mac before - if I stripped out the macOS requirement when I was looking initially, I’d have ended up with a much better laptop, and now, barely 2 years later, I spent about half the price of the Mac and got easily way more machine. Oh well. At least the USB-C dongles and such are still useful - while the Lenovo lacks Thunderbolt (it’s an AMD machine), it’s still got a couple of whatever the fast USB C ports are so I can still use ‘em. (And part of my annoyance was&#x2F;is those things - I have like 3 of the dongle dock things, and the CalDigit one wasn’t cheap.)  </p><p>So, moral of the story: don’t buy the base model, and, yeah, look at the damned Windows machines. I’d have been happier with either a contemporary Dell XPS or HP Spectre&#x2F;Envy or something or by saving a bit more and getting one of the 4-port MacBook Pros. (Or even the Air, really - 512GB storage would be better. Or being able to upgrade the storage. Damned Apple SSDs aren’t even that <em>fast</em>. They’re not magic.) I am, though, real impressed with this cheap Lenovo. </p><p>Other thoughts: Battery life is still pretty great - I get a good 8 hours at least depending on what I’m doing. Lenovo gives you a year warranty and adding on up to 4 years is pretty cheap - something like $200ish to go up to 4 total years with on-site support; less if you’re good with shipping it out. Mine didn’t have too much bloat crap on it, just a handful of annoying Lenovo apps and McAfee (or the ghost thereof), all of which (other than a couple of Lenovo things to make the support site work) went away when I reformatted and installed Windows 10 Pro. I can’t unlock it with my watch, but then most of the time I unlocked the Mac with the Touch ID sensor because the watch unlock is really slow. The convertible bit is pretty nice, though I won’t use it much. Still nice to have and because of poor impulse control I did get a Wacom Bamboo pen for it, which works pretty well (at least as good as my ancient Surface Pro 4 pen). I have in fact used it a few times in the short time I’ve had it so far. And man the keyboard. It’s like it was designed by people who actually use their computers for things and who might want to type on them occasionally. Nice travel, nice tactile bump, and this isn’t even the nicer ThinkPad keyboard. Being able to actually do things from the couch is nice.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;Full disclosure: this is more or less going to be however many words of me hating on my MacBook Pro. Just so you know.&lt;/p&gt;
&lt;p&gt;I have a 20</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="personal" scheme="https://jkachel.com/tags/personal/"/>
    
    <category term="cheap-thrills" scheme="https://jkachel.com/tags/cheap-thrills/"/>
    
    <category term="development" scheme="https://jkachel.com/tags/development/"/>
    
  </entry>
  
  <entry>
    <title>Easy HiFi Streaming</title>
    <link href="https://jkachel.com/2021/02/21/easy-hifi-streaming/"/>
    <id>https://jkachel.com/2021/02/21/easy-hifi-streaming/</id>
    <published>2021-02-21T06:57:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>In my office, I have an actual component stereo system set up. It’s got a receiver, CD player, turntable, and speakers - most of which is circa 1990. And, it’s a fun thing for playing my ever-expanding record collection and CD collection on (and  occasionally terrestrial radio, mostly <a href="https://wevl.org/" rel="noopener noreferrer" target="_blank">WEVL</a> and <a href="https://wyxr.org/" rel="noopener noreferrer" target="_blank">WYXR</a>, though the RF noise from computers and such in there makes that difficult). It couldn’t do any sort of streaming, though. This is unsurprising as the newest thing in the stack hails from the era of the 9600bps modem. But, I thought it’d be nice to have a way to stream audio from a computer to it, or to maybe be able to queue up stuff from a service on it directly. </p><p>The obvious first step here was a Bluetooth receiver. I got a cheap one off of Amazon - which seemed to be a rebranded Logitech unit maybe? - and tried that out, but there’s a lot of 2.4GHz.. stuff so that was a bit of a no-go, even at the relatively short distance I had to go. Also, Bluetooth streaming is a pain in the ass. Sometimes I have stuff playing on my main PC, sometimes it’s coming from the Mac, sometimes a phone, and sometimes something else entirely, and switching between all of those requires re-pairing the device. It’s less than ideal. </p><p>But then I stumbled across an old Android phone, and had an epiphany - what if I could use that instead? At worst, I could probably load it up with Spotify and do stuff that way, or use YouTube on the device, but maybe there’s an app that’ll receive Chromecast or AirPlay I can get. So, I did a bit of searching and yep, there’s actually a bunch of those, most of which had demo versions. I did some testing of things, paid the ungodly sum of like $3 USD, and now I have AirPlay and Chromecast streaming to my stereo system. Initially, I used some cables I had lying around - all that was needed was a charger and an audio cable to go from the headphone socket to the receiver - but I cleaned it up a bit with some right-angle cables and some zip ties and stick-on mounting bits so that it could be anchored to the shelves the system sits on. I also added a fancy live wallpaper&#x2F;screensaver thing and Nova Launcher, with settings tuned for always-on use, so it’s got a nice backdrop and some handy info on it too (the weather and the current time). With everything situated, it looks like this:</p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2021/02/21/easy-hifi-streaming/q0iwF83N0MbMfiQOJzNYrsiY9jxjYqF5WY41mbjA.png" class="" title="I suppose this picture could be worse, but I" alt="m not sure how."><p>I suppose this picture could be worse, but I'm not sure how.</p></div><p>This is the hardware bill for this particular project:</p><ul><li>The phone itself: in my case, a Samsung Galaxy Sol, locked to Cricket Wireless. A burner phone that I think cost me all of $20 that I got literally to have phone while my number was porting some years ago. (In this case, it’s nice because it has an HD-resolution screen - actual 1920x1080 - that looks really quite nice.) This device has really not enough onboard flash to handle the ancient Android 6 install it has on it; it’s not fancy or well known enough to have a LineageOS build; it’s basically frozen in time, which makes it great for this - no worries about wanting to repurpose the thing for use for anything more than this. </li><li>The streaming app: the most important part of this. I tried a bunch of them but the one I ended up liking the best was <a href="https://play.google.com/store/apps/details?id=com.softmedia.receiver" rel="noopener noreferrer" target="_blank">AirReceiver</a>. There’s a lite&#x2F;free version available of that. It supports Miracast, and can be an AirPlay and Chromecast target, the latter of which were the best options. What sealed the deal for me specifically was that it supports AirPlay Audio specifically - in my AirPlay sources list, I can choose to stream just audio, which is essential. I really just want audio routed through the thing. (You can use it to do full AirPlay video mirroring too, but that’s less than ideal on a 5” screen, even if it is 1080p. Would be handy for a larger device, like a tablet, though.) </li><li>Cables and such: The two I had to buy were <a href="https://www.amazon.com/StarTech-com-Micro-USB-Cable-Cord/dp/B00EBGGXS2/" rel="noopener noreferrer" target="_blank">this StarTech right-angle micro USB cable</a> and <a href="https://www.amazon.com/Hosa-CMR-203R-Right-Stereo-Breakout/dp/B0032IBYXO/" rel="noopener noreferrer" target="_blank">this Hosa right-angle audio cable.</a> I sought these two out specifically because I’d planned on zip tying the phone to the front of the wire shelf, so I wanted the cables to run straight back from there. These are obviously optional - you can use whatever cables you have - but it’s important to note that the right-angle USB cables can be a bit tricky to source as some careful consideration has to be taken to ensure you don’t end up with one that goes backwards. That StarTech cable specifically had the USB port oriented correctly so the cable would exit behind the phone - you can get them with the port oriented the opposite way too. (There’s also some concern about data speed on those things - I didn’t care about that so much as this thing will forever live hooked to a simple charger.) For the charger, I just rummaged around and found a spare USB charger; I did have to try a couple because some of the older ones were very noisy, which came through the stereo speakers. </li><li>Other stuff: Nova Launcher, set to not time out and set up with the widgets I wanted, and the <a href="https://play.google.com/store/apps/details?id=wave.paperworld.wallpaper" rel="noopener noreferrer" target="_blank">Wave screensaver</a> because I thought it looked neat. The built-in Samsung launcher on that phone sucks and I didn’t just want a static background. This is entirely personal preference, though. I also turned off notifications and generally set the device to ignore the top drawer, and set the screen to never time out. (This will decrease the life of the screen but I don’t really care, and honestly most of the time it stays off anyway because I’ve turned it off and I’m too lazy to power it back up. AirReceiver works whether or not the phone is locked.)</li></ul><p>The device is mounted just by sticky-backed mount loops I got from Monoprice; they’re meant to be stuck to flat surfaces and have a zip tie go through them so cables can be anchored to them. I put them on the back case and cinched them down with some zip ties to the wire shelf. </p><p>There are some things to keep in mind about this setup - having the screen on will reduce its lifespan, and it’ll be on the charger all the time so the battery will fry itself sooner rather than later. If you’re using a slightly nicer device, this may be something to think about. However, for me, part of the great thing about this is it mostly uses things that were lying around: an audio cable that was kicking around, a spare phone charger, the phone itself, though I did replace the cables with nicer ones. You’ve probably got an old phone in a drawer that works but is largely too old to be useful for much of anything, and that would be perfect for this. (Or, an old Android TV box - I have one of these too, running either Android 5 or 6, and it does this job quite well too. I preferred having a screen, though.) If you don’t have a spare phone, a second-hand one is easy enough to pick up, or there are some really good deals on pay-as-you-go Android phones out there as of this writing. (And, another nice thing is that I’ve now put that app on some other Android devices, including my straight up Android TV, so it too has AirPlay and all that now where it didn’t before.) </p><p>But, for just a little bit of work and a few dollars (plus a few more for fancy cables), I can now get a whole lot more use out of my stereo system. AirPlay works wonderfully on my MacBook and on my iPhone and via iTunes on Windows, and I can stream other stuff to it as necessary too quickly and easily.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;In my office, I have an actual component stereo system set up. It’s got a receiver, CD player, turntable, and speakers - most of which is</summary>
      
    
    
    
    <category term="general" scheme="https://jkachel.com/categories/general/"/>
    
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="general" scheme="https://jkachel.com/tags/general/"/>
    
  </entry>
  
  <entry>
    <title>Refurbing a PowerBook G4</title>
    <link href="https://jkachel.com/2020/09/09/refurbing-a-powerbook-g4/"/>
    <id>https://jkachel.com/2020/09/09/refurbing-a-powerbook-g4/</id>
    <published>2020-09-09T21:42:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>So, I have this PowerBook G4 that’s been sitting on a shelf for a while. It’s not a terribly interesting model - just a regular 15” one, second-to-last generation, that’s basically stock except for a slightly upgraded hard drive (faster, but not any more spacious). I believe I originally got the machine maybe 12-13 years ago as a “it’s gonna get thrown out otherwise” deal from one of the various jobs I’ve had, just as an extra machine to do things with. (It’s old enough that Intel machines were out by this point, and this was even then skirting the edge of usefulness as a PowerPC Mac.) At some point, it got given to a friend to use for audio stuff, and then ended up back in my hands a year or two ago, where it’s sat since then. I think I tried to power it up once and it really wasn’t having it, so it got turned back off and shelved. </p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2020/09/09/refurbing-a-powerbook-g4/IrVz0bm58rUlHDjM3ahTvnilRRqyZXeKsqboxgbF.jpeg" class="" title="Always run OS X Installer with the computer half apart, for better horsepower."><p>Always run OS X Installer with the computer half apart, for better horsepower.</p></div><p>I ran across the thing the other day while doing some reorganizing and decided, why not see if this thing works? So, I pulled a power adapter (fortunately I actually have a couple!) and gave it a shot. Lo and behold, it actually did power back up and at least tried to boot! This was pretty surprising. It didn’t boot successfully, but it at least got to a point where I could start it in verbose mode, so that was nice. A burned Tiger DVD later and.. yeah, the hard drive gave up the ghost. I happened to be watching one of the myriad YouTube channels about retro computing, and ended up watching a video about <a href="https://www.youtube.com/watch?v=_2jvRgRQXIE" rel="noopener noreferrer" target="_blank">putting a mSATA SSD into a Titanium Powerbook G4</a>. Fortunately, it also listed the specific parts necessary for this, so I headed to Amazon and made a quick purchase. (You do have to be a bit careful with the SSDs - chips to convert SATA to old-style parallel ATA are pretty easy to come by, as are enclosures that give you that plus an m.2 slot for an actual drive. But, the drive itself needs to support mSATA specifically - a sufficiently fancy NVMe one may not. So, it was nice to have specifically an enclosure and drive pair that worked, and worked in a PowerBook G4 specifically, even if it was a much older one.) Once all that arrived, I pulled the machine apart (which is simply a case  of “take out all the screws, use a bit of prying, hope you remember where the screws went”) and swapped out the now-dead hard drive with the assembled mSATA enclosure. Reassembled and hey! now I have an actually working PowerBook G4 running Tiger. </p><p>As a side note: it’s pretty impressive how much faster even a really cheap, probably somewhat iffy SSD is over a spinning rust disk.</p><p>With Tiger installed, I put a couple of older games on there and a few useful things, like TenFourFox (a modern version of Firefox compiled to work on old versions of Mac OS X and with old PowerPC processors). The next step was getting Linux on it, because of course. I tried <a href="https://www.adelielinux.org/" rel="noopener noreferrer" target="_blank">Adelie Linux</a>, which still produces a PowerPC version (and also because the channel that did the TiBook upgrade has a <a href="https://www.youtube.com/watch?v=LLLfCgBu96M" rel="noopener noreferrer" target="_blank">video on putting that on a G3 iMac</a>) but it seemed like too much work. (There’s no installer, so you’re basically bootstrapping it via chroot by hand. The “too much work” thing.. well, that’s a pretty dubious line.) So, it got Debian Linux 8, which does have a proper installer. It works pretty well! Obviously, with some caveats, given the age of the CPU in it and the limitations of the hardware in general, but Firefox seemed to work OK. Really, the biggest pain was resizing the existing Tiger install - mainly because that OS is old enough that it doesn’t understand resizing partitions, so I had to clone it to a flash drive (which it can’t boot from, because Open Firmware), repartition the drive, then clone it back, and oh did I mention that this machine just has USB 2.0? That took awhile. All in all, though, it did work, and now it will dual-boot into Debian and Tiger. </p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2020/09/09/refurbing-a-powerbook-g4/1mvxftiyRt4C1wxXqpA3LJ9S30EIoDJ3NDUgTiYo.jpeg" class="" title="Remember when you could do this?"><p>Remember when you could do this?</p></div><p>Now, because I am a terrible nerd, I also recalled that OS X used to ship with X11. Not installed by default, but it was on the DVD, so that got installed too. Now I can do stupid Unix tricks with the much, much, much faster Core i5-4570 Ubuntu system sitting headless on a shelf behind it. Unfortunately, the version of X that comes with Tiger is rather old, so it’s not particularly happy working with modern things (and modern things aren’t particularly forgiving of this, and therefore crash). There is, of course, more than one way to do this.. so a download of Xcode 2.5 was initiated, and, lo and behold, MacPorts actually still supports OSes all the way back to Tiger. With Xcode installed, I went ahead and installed MacPorts as well. Some hours later, I have now a working MacPorts setup on here. </p><p>Another aside: I also installed WebObjects. Ask your elders. I have a boxed copy of this on my shelf, so printed manuals that might not be too horribly out of date with the copy that’s installed on here. Maybe I’ll do something with it! </p><p>The MacPorts setup on older platforms like this basically works by replacing all the development tools with its own toolchain. So, while you need Xcode installed so it can at least bootstrap itself, it’ll install its own copy of gcc and all that so it can bring up whatever package you’re trying to install. (This is basically a BSD ports-style distribution, after all - it’s less a package manager like apt and more a build script manager. Everything is compiled, except where it’s not a compiled language or whatever.) </p><p>So, “sudo port install xorg-server” was run. And that’s where this story ends for now, because that was.. quite literally 12 hours ago. It’s not done yet. It’s still compiling libgcc. It stopped in the middle, even, because it required manual intervention (literally, running a command, but still) to disable a library so it could continue building things successfully. Perhaps it will be done in the morning, but I doubt it; there were a lot of packages that needed to be done up and just the bzip2 install alone took an hour or so. </p><p>Needless to say, the takeaway so far is: 1.5GHz G4s were really fast in 2005. They aren’t so much now. Bootstrapping a modern compiler toolchain on such a machine - even one with an SSD - takes a while, because there’s only one core, because that wasn’t a thing yet. (Not in consumer applications, anyway.) On the plus side, I know this machine definitely works fine, because the load average on it has sat at 1.3 since this process started. </p><p>I do have some more stuff to do with it - it’s only got 1GB RAM, so I’ve got another DIMM on the way - but really this will be around to play old games on and maybe fiddle with old developer tools and stuff. And stupid Unix tricks. </p><p>Final aside: because old games, I did have to get Mac OS 9 installed on it. Problem: this machine is too new to boot OS 9. (It being a PowerPC means it runs in Classic on this system.) So, I had to figure out how to install OS 9 via Classic without the restore CDs, which would have included a disk image Classic environment to work with. I did figure that out! So it actually, technically, runs 3 OSes - OS 9, OS X 10.4.11, and Debian Linux 8. (And maybe Leopard if I can find my DVD of it. I don’t know that I want to buy a spindle of dual-layer DVD-Rs.) </p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2020/09/09/refurbing-a-powerbook-g4/keS7irfIqL4H8YFAiyrO9V03RHT3PkylU1Yz74mV.jpeg" class="" title="Compiling... forever. (This was taken now 12 hours ago. It" alt="s still at this point.)"><p>Compiling... forever. (This was taken now 12 hours ago. It's still at this point.)</p></div>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;So, I have this PowerBook G4 that’s been sitting on a shelf for a while. It’s not a terribly interesting model - just a regular 15” one, </summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="cheap-thrills" scheme="https://jkachel.com/tags/cheap-thrills/"/>
    
    <category term="retro" scheme="https://jkachel.com/tags/retro/"/>
    
    <category term="unix" scheme="https://jkachel.com/tags/unix/"/>
    
  </entry>
  
  <entry>
    <title>Quick actual nerd thing!</title>
    <link href="https://jkachel.com/2020/07/12/quick-actual-nerd-thing/"/>
    <id>https://jkachel.com/2020/07/12/quick-actual-nerd-thing/</id>
    <published>2020-07-12T22:04:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>The other day, I shipped my MacBook Pro off to be fixed, as the webcam and the backlight on the keyboard stopped working. (They broke some time ago, but it’s coming up on the end of the standard warranty, so I figured I’d get that done before it cost actual money to fix.) This post isn’t really about that computer, though; it’s much more about something that I managed to cobble together to take care of a thing I was doing on it. This post is much more about <a href="https://sveinbjorn.org/platypus" rel="noopener noreferrer" target="_blank">Platypus</a>.</p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2020/07/12/quick-actual-nerd-thing/3nlYzigNDbOCxY8Z9gXrwH5cd6hfZHtpAIabc6MI.jpeg" class="" title="Not this kind of platypus. (From https:&#x2F;&#x2F;www.livescience.com&#x2F;27572-platypus.html"><p>Not this kind of platypus. (From <a href="https://www.livescience.com/27572-platypus.html">https://www.livescience.com/27572-platypus.html</a>)</p></div><p>So, while I do still use my Macs a good bit, they don’t get used a whole lot for real work. (The ridiculous Ryzen machine takes care of that for the most part.) The Mac gets used for Web terminal stuff, email - Outlook on Mac is better than Outlook on Windows, because unified inbox and it actually checks gmail accounts on a regular basis why is this so freaking difficult - and messaging via Messages, so basically text messaging. With the new machine in for service, I set up my 2010 MacBook machine to handle the handful of Mac-type things I can’t reasonably do on the Windows PC. It works well enough for its age but it’s not the quickest thing to do Web browsing on, and I was getting somewhat annoyed anyway with having to switch machines to send Messages (or otherwise having to do all that on my phone). </p><p>To that end, I set up the MacBook as sort of a third screen next to the Ryzen machine’s monitors and put Synergy on it. Synergy still works really well, and I can control the MacBook from the Ryzen box. Then I got thinking on getting it set up to open links and stuff on the Ryzen system, rather than trying to do it on the MacBook itself. I did some poking around and found some manager apps that give you a lot more options on the Mac side - there’s <a href="https://www.choosyosx.com/" rel="noopener noreferrer" target="_blank">Choosy </a>and <a href="https://github.com/johnste/finicky" rel="noopener noreferrer" target="_blank">Finicky </a>and a few other things - and I found a page talking about using the Chrome remote debugger, which has now been deprecated, and I had an epiphany: can’t I open a URL on the command line? And, well, yes - on either Mac or Windows, running a command will allow you to open arbitrary things through the GUI (on Mac you use “open”, on Windows you use “start”). So, “start <a href="http://www.google.com&quot;/">http://www.google.com&quot;</a> opens a new tab in Chrome and loads that URL. </p><p>So now I just needed a way to get URLs across the wire from the Mac to Windows. The Windows side was actually pretty easy: I just wrote a (very) simple PHP script that looks for a “url” GET argument and then pipes that into an exec call. This is wildly insecure but it does at least check for a valid remote IP and it’d be pretty easy to put in a simple URL regex check in there or to add some simple request signing (and of course everything’s behind a firewall anyway), but, after firing it up with the built-in PHP server, I could hit a URL with another URL in it and it’d open on the Windows machine. </p><p>The  Mac side was a bit more involved. I wrote a simple shell script to pump the first argument passed to it into curl, so curl’s hitting my fancy endpoint ont he Windows side of things, and so I could open URLs remotely via the command line that way. The next step was figuring out how to get macOS to treat it as a “Web browser” and therefore “open” links using it. That’s where Platypus comes in. </p><p><a href="https://sveinbjorn.org/platypus" rel="noopener noreferrer" target="_blank">Platypus </a>is a pretty neat utility that I had no idea existed until today. At its core, it allows you to wrap a script (including a shell script) in a standard Mac app bundle, so that to the system it looks and works mostly like a normal app. It’s also got a bunch of neat features to handle script output and do things like load bits into a WebView (not like an app-specific browser, though), or display progress bars, or etc. etc. etc. The only drawback to it nowadays is that modern macOS really, really wants your apps to be signed, and it doesn’t do that, so if you’re on a modern system you’ll have to jump through some hoops to get that to work. But, it’s a pretty versatile utility that’s available for free. </p><p>I packaged the shell script up using Platypus. That worked about as well as it could have - I didn’t make any attempt, really, to get it to do anything but launch and run the script, and it did that (and, somewhat hilariously, it kept blocking because on the Windows side it was spawning a command prompt, which I had to close before PHP would consider itself done and then also return data back to curl on the Mac). The next step was to figure out how to get the thing registered as a Web browser system-wide and hope that macOS passed the target URL into it in a sane way. </p><p>Registering an app as a Web browser requires a  couple of things: the app’s Info.plist needs a couple of key&#x2F;value pairs to tell the system that it can handle http and https links, and the app needs to be in the system Applications folder. Platypus doesn’t have any controls in it to edit the default app Info.plist, so a bit of poking about was needed to edit it. (The gist of it: on the command line, I just used the plutil -convert command to convert the plist to XML format, then made some chanages, and then same thing to convert it back to binary format.) The necessary values that had to go into the plist itself I found in <a href="https://apple.stackexchange.com/questions/219582/default-browser-plist-location" rel="noopener noreferrer" target="_blank">this Stack Overflow post</a>, and, once I had those in and move the app bundle to &#x2F;Applications, it showed up in the Default Web Browser dropdown in System Preferences. Selecting it, then opening a URL.. actually worked. (Not the first time as.. well, that blocking issue? I’d managed to trigger that again, and had a couple of requests queued with no URL in there. So, once I cleared out the command prompt windows, I got a barrage of things I’d clicked on.) So, now I can click on URLs on the Mac and they’ll open in Chrome on my Ryzen machine.</p><p>Now, the next steps are to make this somewhat more secure. Platypus can run pretty much any script - it just, really, runs it, so it can be in any language; it just happened that shell script was the most straightforward for now. So, I’d like to switch it up a bit so that I can maybe accept an SSH key or something and do this that way, so it’s not just piping things in cleartext over the network and has at least some form of authentication. It’d also be great if the thing could figure out if nothing’s listening on that particular IP and port so that it can revert back to a local web browser - if I grab the machine and go elsewhere, I’ll have to remember to switch it back over to Chrome or I won’t be able to click links outside the browser, and that’ll be annoying. Then, maybe I can release it on Github or something.</p><p>Is this the easiest way to do this? Oh god no - the easiest way is probably just to keep using my phone for this stuff. And, as mentioned, I have Synergy set up between these systems - it syncs the clipboard, so I can right-click and copy links and paste them into Chrome (in either direction) that way too. But, this was a fun 30 minute distraction that honestly makes things a lot nicer. (And, as a note, I’ve spent easily two to three times as much time writing this post about all this - and it was supposed to be short, even! - than I did actually doing the thing. I don’t even want to calculate the difference in length here with code written as it’s quite literally less than 10 new lines of code so far.) </p><p>So, just a.. well, not quick post about this neat thing. Stay tuned for the next post, in which I will invariably do something stupid with an old computer!</p><p><em>(</em><strong><em>Updated shortly after posting</em></strong><em>: Platypus actually does have an interface in it to register URI handlers for your generated app. I missed that somehow, so you can probably use that instead of mucking about with the Info.plist directly. Whoops!) </em></p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;The other day, I shipped my MacBook Pro off to be fixed, as the webcam and the backlight on the keyboard stopped working. (They broke som</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="development" scheme="https://jkachel.com/tags/development/"/>
    
    <category term="servers" scheme="https://jkachel.com/tags/servers/"/>
    
  </entry>
  
  <entry>
    <title>Cheap computer = go</title>
    <link href="https://jkachel.com/2020/07/06/cheap-computer-go/"/>
    <id>https://jkachel.com/2020/07/06/cheap-computer-go/</id>
    <published>2020-07-06T10:07:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>So, at the beginning of the lockdown situation I had a go at refurbishing an old corporate desktop class machine for use by a friend. This thing was an Optiplex 790 or some such tomfoolery, which was a first-generation Core i7 machine in the small form factor case (closer to a Mac mini in size, low-profile PCIe slots, etc.). It actually impressed me when it was done - it was a perfectly capable lightweight computing machine. My refurbishing extended to all of fitting 16GB RAM to the thing (it had none at the time) and putting Windows 10 on it (which activated with the 7 license it had - corporate desktop!), and even with the spinning disk inside as a boot drive, it’s perfectly fine even for some rather older games, and handles basic tasks like web browsing and Office perfectly well. I did hold off on replacing the hard drive with an SSD, though - some quick looking showed that the price of doing that (even with how cheap SSDs are now) wouldn’t have been a good idea. </p><p>The looking did give me ideas, though, as to what you can get for not much money. The dumb-no-longer-dumb-but-real-PC really started up as an experiment to see how cheaply you could build a decent PC, and that got pretty cheap but some more eBay searching and benchmarking indicated that you could do, perhaps, a bit better. So, I started looking at some of these business PCs, specifically the small form factor ones, and basically came up with this: for between $100 and $150, you can get a 3rd or 4th-gen Core i3&#x2F;i5 system with some memory (generally about 8GB) and a spinning disk drive (usually around 500GB, though sometimes bigger or sometimes SSD), and it will likely have Windows 10 on it. That’s a complete computer (unless you want to get a bit tetchy about it not having a keyboard, mouse or monitor). To put that into perspective, the new build involved a Pentium Gold CPU for about $70, and about another $50 on the motherboard, and that doesn’t include even RAM or storage.  </p><p>Prices spike after the 4th gen CPUs at this point in time, and systems with i7s in them come at a premium as well that I’m not entirely sure is worth the additional cost or jump down to a 2nd-gen CPU. (I’d rather have a i5-4560 rather than a i7-2660, personally.) You’re also not going to get a real GPU most of the time with these - onboard or bust - and if you get an SSD, it’s going to be a 120GB one. (I did look, and while I was more after a SFF system, a regular midtower doesn’t incur a price premium, other than maybe additional shipping cost.) But, that’s still a complete system, with a licensed and activated copy of Windows 10, for about $150. And, that’s a fair amount of computer too - it’s not going to be the thing you want to depend on to do your 4k renders for YouTube, but for most anything else it’ll be perfectly acceptable. Even some software development stuff shouldn’t be too hard to do on a machine like this.</p><p>I did end up putting a bit of money where my mouth is on this one, and I ended up with an HP ProDesk 600 G1 SFF machine. Spec-wise, this thing came with 8GB DDR3, a 500GB spinning disk (with two! empty bays and matching SATA ports for each, one of which a 2.5” one), a DVD-DL RW drive, a Core i5-4570 CPU (3.2GHz, burst to 3.6), and Windows 10 Pro. Also handy: 3 PCIe slots (one 16x and two 1x), DisplayPort, and USB 3 ports. And a serial port. Because business. It’s also a vPro capable system, so it even has some rudimentary LOM stuff on board and ready to be an attack vector because Intel has problems with that. I’m going to drop a 240GB or so SSD in it (those run about $30 these days) and another 8GB RAM to.. bring it half to max - did I also mention it’s got 4 RAM slots and supports up to 32GB RAM? No? Well, it does - and then basically leave it alone. The spinning disk in there hurts performance a good deal, as they always do, but it’s a pretty decent machine otherwise, and it did for sure boot into an activated install of Windows 10 Pro. With shipping costs, this ran me a total of $105. </p><p>I like the way the Dell SFFs are done up - they just seem really solid and.. dense, really, which is nice - but I actually think I prefer the HP layout. It’s a bit bigger than the Optiplex SFFs but all of the bays are on a swing-out bracket, and there was even spare mounting screws included (in a designated spot, from the factory) for adding additional drives. There’s a 3.5” and a slim 5.25” external bay, and a 2.5” and 3.5” internal bay each. So, with some additional commodity mounting brackets, you could slot a total of 3 SSDs in here and have a pretty decent little storage server. Expandability is pretty nice on here - it of course uses low-profile cards, as do most any SFF-style machine, but three total slots is pretty good, and there’s a good number of USB 3 ports on the front and back. (And, of course, vPro management stuff and the one somewhat neat thing that tends to get glossed over: the internal speaker’s hooked to the sound card, so you have actual audio without having to hook up speakers. Not good audio, but not just the 1981-style PC beeper either.) One big drawback here, though, is that the power supply is totally nonstandard; sometimes these things will have an SFX or TFX power supply, which is at least pin-compatible with ATX, but in a weird size. This doesn’t; the power going to the motherboard is totally weird. There’s like 3 different, beefy 6-pin connectors that would be at home in an Amiga. It’s a good PSU in there, but if it goes out, the machine is unlikely to be salvageable. Still, that’s a lot of good machine and options for the $105. </p><p>Now, am I going to use this as a desktop PC? Of course not. It’ll work fine for that purpose, but that’s not really why I wanted to get one. I also got a 4-port GigE card (also HP, with an Intel chipset) that uses a PCIe x4 slot, and that’s been added to it. In essence, this is going to become a router. Commodity WiFi routers cost about this same amount, but not ones that can be loaded down with Proxmox (and&#x2F;or maybe Kubernetes) and pfSesne. (And obviously WiFi routers have WiFi, and this doesn’t. But, I’m just going to keep using my cheap TP-Link router, and just make it not do routing anymore. It’ll just have to manage WiFi and the what-passes-for-mesh networking I have.) So, for $100, another $30 or so for the NIC (you don’t have to get a quad-port one, but they all run about the same price via the eBay) and about another $60 in some upgrades I don’t really have to do, I’ll have a pretty decent home router and edge server. And it’ll be way easier to do WireGuard up to real cloud stuff too. And I can maybe finally use the IPv6 block I’ve had forever. And VLANs, because what every home network needs is 4 more networks laid on top of it! </p><p>In conclusion, if you need a decent amount of computing power, but don’t have or don’t want to spend a bunch of cash on a new build.. old business desktops are a thing to check out. $125ish for a machine that you can then slap an SSD and some sort of half-height video card into, and play some games or get some work done is a great deal - it’s excessively hard to compete with that by building your own from scratch.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;So, at the beginning of the lockdown situation I had a go at refurbishing an old corporate desktop class machine for use by a friend. Thi</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="cheap-thrills" scheme="https://jkachel.com/tags/cheap-thrills/"/>
    
  </entry>
  
  <entry>
    <title>At the end of Pinnochio, the puppet becomes real</title>
    <link href="https://jkachel.com/2020/06/24/at-the-end-of-pinnochio-the-puppet-becomes-real/"/>
    <id>https://jkachel.com/2020/06/24/at-the-end-of-pinnochio-the-puppet-becomes-real/</id>
    <published>2020-06-24T17:16:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>Or, the continuing saga of the original “dumb PC”! </p><p>The “dumb PC” has seen a lot of changing roles and changing uses since I set it up. Originally, its purpose in life was “I have this case, what’s about the cheapest PC I can build into it?” and part of that goal was to re-use some spare parts I had from refurbishing and upgrading an HP all-in-one I managed to take home. Ultimately, building a system with even used parts around an old Athlon II X2 CPU was pretty cost prohibitive, and I ended up putting together a pretty cheap 9th-gen Intel Core system. Doing that gave way to trying to use a Linux desktop for the first time in.. well, decades, which went well, but, yano, games, so Windows 10 it was, and it got a fairly decent video card. It ended up becoming my main system, especially after the pandemic hit and working from home was the order, and more upgrades ensued until it ended up moving from an 8GB&#x2F;240GB machine to a 16GB system with a 500GB M.2 SSD and a 1TB SATA SSD. It’s got both my 4k screens on it, and I even got it a cheapish webcam (once demand settled a bit) that actually works pretty well and support Windows Hello.</p><p>At this point, the machine really is my main system - all of my main job stuff is done there, most of the screwing around I do is done there, games are on there (when I have time and interest in playing them), etc. But, one of the things I started to run into was a lack of processor. This was supposed to be a cheap machine and as such it’s got a cheap processor in it - a Pentium Gold G5400, which is based on the 9th generation Core architecture, but is intended for budget systems and appliance use more than anything. It’s only got 2 cores, and does do HyperThreading, but my workflow now depends on virtual machines and Docker and all that more and more and that’s a bit much for that CPU. So, I decided it was time to bite the bullet and move from “let’s build a PC for cheap, it’ll be fun!” to “yep let’s build a pretty serious system.” </p><p>The one thing I didn’t do is actually stick with Intel. The 9th-gen Cores are great and all, and I’ve had an eye on a i5-9600 that’d swap right into the board, but it bothered me that I’d then have this basically new, current CPU floating around not doing anything, and it’s both too modern and too budget to really get anything out of it on the used market, so I’d want to also get another motherboard to slot it into and use for, I dunno, something. (Plus with previous upgrades I did have 8GB of DDR4 and the original 240gb SSD not doing anything.) But, looking at prices for the motherboard plus CPU kinda put me off. And, I kept seeing things on YouTube and whatnot talking about the Ryzen CPUs, and I hadn’t had a really good AMD system in a while.. so that’s what I went with: a Ryzen 7 3700x. That’s an 8 core&#x2F;16 thread CPU for about the same money as the i5 (6 core&#x2F;12 thread). On top of that, the new B550&#x2F;X570 chipsets <em>also</em> just came out, so why not do all the new things? </p><p>As a quick aside, one of the first real modern systems (or maybe the first real modern system) I built was a 1.2GHz Athlon Thunderbird. It’s been a long, long time - arguably since the Pentium 4&#x2F;Athlon XP Barton days - since AMD was not only a power player but legitimately better than Intel. Processors sure are ridiculous these days but it’s nice to kind of revisit those days of building systems and playing Unreal endlessly, and loading up games because it’s just so damned weird to have things that look so good. (And if you want to go back further.. we had a 386DX-40 system back in the halcyon days of Windows 3.1, CPU lawsuits, and the very early Internet. Me and AMD go back a ways, and those DX-40s were fast as hell and bulletproof in the day.) </p><p>Anywho, so aside from the processor, I also ended up with an ASUS Prime B550 motherboard to slot it into. The nice thing about the B550 is that it’s PCI-Express 4 capable now, and will support the new Zen 3 processors when those come out too. (So in 6 months or whatever, my VM infrastructure will become properly ridiculous.) It’s also got two PCI-Express M.2 SSD slots, one that maxes out at 2280 and one that goes up to 22110 or whatever the longer one is. And better I&#x2F;O - the Intel board I have (also an ASUS Prime) has like 4 on-board USB ports total; this one has 6, at least, 4 of them USB 3.1 and two 3.2s on top of that. The one thing that kinda sucks about it over the other B550 boards I was looking at is that the LAN port is only 1Gb where other ones have 2.5Gb Ethernet. But on that same token I’m totally not putting the money down yet for 10GBaseT infrastructure so not gonna worry too hard on that. </p><p>I threw that all together and.. holy crap Docker starts so fast now. I did a test Windows install to the 240GB SSD and kept getting up while it was doing its thing, to come back 20 seconds later to a reboot, and then confusion because it wasn’t erroring out, it just blew through the install steps that quickly. I did run a Cinebench R20 test, and it benches about 6 times faster. The NVMe stuff is also vastly improved - somehow or another, my drive was running at PCI-E 2.0 with just 2 lanes, where it supports PCI-E 3 x4. (Why this was I don’t know.) I haven’t run games or 3DMark yet, but I don’t expect a huge increase there; I’m still on the older RX 570 GPU and I have a hard time justifying that expense. That said, it’s definitely snappier, which alone is an accomplishment - things are just so damned fast nowadays that it’s hard to really get a machine that feels faster, but this is a move that does it. To be sure, this was a pretty massive upgrade - it’s 4 times the cores and threads, and on an architecture that’s perhaps a bit faster than the Coffee Lake stuff now - but when you factor in the cost, it’s pretty impressive.</p><p>So, loads of SSD, a video card I’m pretty happy with, and a real fast processor. This thing is a pretty properly good computer now. The current final specs on it:</p><ul><li>AMD Ryzen 7 3700x 8-core&#x2F;16-thread unlocked CPU (3.6GHz factory)</li><li>ASUS PRIME B550M-A&#x2F;CSM B550 chipset motherboard</li><li>16GB Crucial 2666MHz DDR4 RAM (2x8GB)</li><li>AMD Radeon RX 570XT GPU (6GB I think? Maybe 3)</li><li>500GB Mushkin M.2 NVMe SSD (PCI-E 3.0 x4)</li><li>1TB Patriot Burst SATA SSD</li></ul><p>I’m pretty happy with it. So, I’m done now, right? Well, of course not! I am a terrible nerd after all, and there are slots and things that aren’t being used. </p><p>The first thing in line is the case and PSU - the Rosewill case it’s in is cheap and I’ve cut myself each time I’ve had to work in it, and it’s cramped and yeah basically no cable management. Airflow is OK given the case fans and mesh front but cable routing is a pain. And, the RAIDMAX 500 watt PSU that’s in it now makes odd noises sometimes. (The fan’s dying.) I’m not terribly worried about power consumption - the UPS that runs the whole nine yards there, including the screens, the MacBook Pro, its screens, and the dock&#x2F;charger, all together use about 300wt - but bad fan is no bueno, and I want a modular PSU anyway. So, probably going with a Thermaltake or Fractal Design case and some sort of real PSU (Tt, Corsair, or Silverstone probably) for the next round. I have like maybe 1cm of clearance between the GPU fans and the front panel cabling&#x2F;bottom of the case on the current one so this is now pretty needful. </p><p>Next up is RAM. 16GB good, 32GB better, RAM is cheap. 4x8GB DDR4-3200 or whatever runs like $130, and that board has 4 slots for a maximum of either 64 or 128GB. NVMe SSDs are cool but actual RAM is better. Speaking of, I’d also love to jettison the SATA SSD and drop in a NVMe 1TB one (or two!) in there. Even those are pretty inexpensive - I won’t get a Samsung 970EVO PRO for $100ish but the WD Black drives are pretty damned good too. (I believe I get RAID on the 3700x CPU too so a RAID 0 of two NVMe drives sounds like I need a moist towelette.) </p><p>I’d like to do up a faster video card but until case and power supply (and probably RAM) I’d rather not. It’s just too cramped in there as is. And I kinda want an RTX card (yes, for Minecraft), and those are still way more than I want to pay. </p><p>So, not but a few months in, and the fun plaything modern PC turned into my main machine, then turned into a real boy. I mean computer. And, I’ve already repurposed the Intel stuff into a new machine - the new and improved sinbox! So many weird computing projects. </p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;Or, the continuing saga of the original “dumb PC”! &lt;/p&gt;
&lt;p&gt;The “dumb PC” has seen a lot of changing roles and changing uses since I set i</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
  </entry>
  
  <entry>
    <title>Feelin&#39; ESXi</title>
    <link href="https://jkachel.com/2020/06/18/feelin-esxi/"/>
    <id>https://jkachel.com/2020/06/18/feelin-esxi/</id>
    <published>2020-06-18T04:19:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>One of the ridiculous pieces of computing gear I’ve got is an HP ProLiant ML350 G6. This is for-real server gear, with (optional) redundant PSUs and remote management and all that nonsense. It began life as a single-CPU 8-thread Xeon E..5620something or other, but which is a first-generation Core architecture based type thing basically, with 4GB RAM and a single 147GB SAS 15k drive. It’s now a dual CPU X5560 (so 24-thread) system with 24GB RAM and 3x240GB Adata 2.5” SFF SSDs. And VMware ESXi 6.7, which is the point here.</p><p>Turns out, VMware Fusion on the Mac and Workstation Pro on Windows allow you to manage an ESXi server from your machine. (Manage is kind of a loose term - you can fiddle with VMs but you can’t do any host management stuff without logging into the Web UI or vSphere.) But.. it’s super neat to be able to sit at your Mac laptop, fire up Fusion, and then fire up a Windows 10 VM <em>that’s not on your actual computer. </em>That’s almost like magic. It’s legit like running the VM locally, except your actual computer doesn’t take the hit. (You don’t get the Unity stuff you do with a real local VM, though.) And, what’s also cool is firing up Fusion on the Mac and then Workstation Pro on the Windows PC and controlling the same VM on both systems. Watching the mouse move and stuff on both screens is just kinda neat. Did I mention I’m a huge nerd who thinks things like that are neat? Because if you haven’t gotten the hint by now.. </p><p>That, plus the additional Docker workflow stuff that Fusion Pro at least gets on macOS, may actually push me into dropping Parallels for VMware. At least with the Docker integration on the macOS side I’d actually be using VMware on a regular basis; I can’t remember the last time I used Parallels at all. Running full VMs on my computer just isn’t a thing I do anymore. </p><p>This is just a quick post while I’m in between a number of things. I do plan on writing up a bunch of gibberish on all the upgrades that I did to the ProLiant - I’ve even swapped out the drive backplane at this point! and I still need to put more disks and RAM and the 2nd PSU in it - and the “let’s build some sort of PC cheap” project is about to turn into a “oh, well, here’s an actually good computer” project. But, things for later, and ideally when I’ve got some time to write some stuff for this to present multiple posts as a story type situation. Or work on this at all. </p><p>In conclusion, I have the best ping time.</p><div class="embedded_image" contenteditable="false" data-layout="default"><img src="/2020/06/18/feelin-esxi/8U1V5o5YDLfMhXiKIkaJqUXcYJst5vNEapmcGJ4e.png" class="" title="speeds are so last century. the kids these days need latency!"><p>speeds are so last century. the kids these days need latency!</p></div><p>And I actually <a href="https://www.youtube.com/watch?v=YwhpczlQQvg" rel="noopener noreferrer" target="_blank">posted a video to YouTube</a>. (The Sun still rises! And runs Solaris 8! And has the IDPROM I got it!)</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;One of the ridiculous pieces of computing gear I’ve got is an HP ProLiant ML350 G6. This is for-real server gear, with (optional) redunda</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="development" scheme="https://jkachel.com/tags/development/"/>
    
    <category term="unix" scheme="https://jkachel.com/tags/unix/"/>
    
    <category term="servers" scheme="https://jkachel.com/tags/servers/"/>
    
  </entry>
  
  <entry>
    <title>Even More Dumb Things</title>
    <link href="https://jkachel.com/2020/05/07/even-more-dumb-things/"/>
    <id>https://jkachel.com/2020/05/07/even-more-dumb-things/</id>
    <published>2020-05-07T17:00:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>So, I’m going to have to stop referring to the dumb PC as the “dumb PC”, as I’ve recently acquired two new (to me) systems that actually really do count as.. dumb PCs. The dumb PC I built - dumb PC Prime, essentially - is actually a modern, relatively up-to-date PC build that is reasonably fast and is, for all intents and purposes, a decent PC. (It even got a new 1TB or so SATA-3 SSD, since the spinny disk that was in it was slowly dying and I just hate mechanical storage, so it’s now got a terabyte and a half of all-solid-state storage.) </p><p>In contrast, the new dumb PCs are.. actually quite dumb, at least for spending money on in this day and age. One’s not even really a PC. These were both eBay finds, and were sold as non-working systems for repair or part out. I am, of course, a dork, and therefore have at least mostly fixed both. </p><p><strong>Dumb PC 1</strong> is an actual PC. It’s an HP Vectra VL400 desktop system, featuring a spry 866MHz Intel Pentium III (a Coppermine variant, with a 133MHz bus speed), 256MB RAM, 40GB hard disk, floppy, and a fancy 56X Max CD-ROM only drive. It refused to boot with a BIOS error stating that it had some issues with the fans and wouldn’t boot. A quick look at the various fans in the system indicated that someone at some point plugged the fan into the wrong header. Redid that and booted fine - or at least tried, into some sort of NT-based Windows install that was broken. I put Windows 2000 Pro SP4 on it initially - it had a COA for it! - and used that temporarily. </p><p>While Win2K was a nice blast from the past, it was kinda pointless - it’s hard to find <em>any</em> sort of web browser that’ll work with it and it’s sufficiently old that modern Windows won’t talk to it, and it’s also just weird enough that using it as a game machine is kind of out of the question with that OS. (Win2k is close enough to XP that stuff may be doable on there but it’s not really all that well supported, and that’s not even getting into the video card, which it doesn’t have. Yep, this thing has one of the first couple generations of integrated Intel video, which only nominally has 3D support! They’re really more fancy framebuffers.) I already have a Windows 98 system (the P133), so on this one I went Linux. Amazingly, there are still distributions that come in 32-bit flavors and will install on a P3! And they happen to be Debian Linux. So, it’s now running Debian Buster. (No, Ubuntu doesn’t provide a 32-bit build anymore.)</p><p>As an aside, I did initially try to do Slackware on there, just to really, really blast off into the wild blue past. Slackware was really my first real Linux distro back in the day, and it’s still around (sort of), so I tried that first. Unfortunately, the only writable CD media I had were old CD-RWs that are 650MB only, and the first install disk ISO is bigger than that, so Debian net install it was. (Slackware doesn’t do a net install - the last release for it was in 2016, so it’s only sort of still around anyway - and the machine is of that nice age to both have USB but not be able to boot from it.) Getting a GUI on it was a no go, as I have no idea how to set up.. Xorg or whatever the hell they use now, so it’s console-only. (I did put Firefox on there and tried to use it over an SSH tunnel to my MacBook Pro, which worked! Slowly. Very very slowly. Tens of minutes slowly, to load the initial internal pages and chrome. It really illustrates just how far software and hardware has come in 10 years, as that machine is roughly circa 2000, and even my 10-year-old MacBook can reasonably browse the web and such with ease, where as it.. can sort of load the browser. But not really.) </p><p>I capped it off by hooking the Apple IIc to it as a serial terminal (surprisingly easy!) and installing some text-based fun things, like nethack and the first three Zorks. I may open this (more) to friends as a sort of tilde.club clone. It’s a pretty fun type thing so far, though, and it’s pretty nice that I can still at least sort of run modern software on it. </p><p><strong>Dumb PC 2</strong> is.. more of a work in progress at this point, and isn’t a PC, technically. I’ve mentioned previously that I’ve had or used a bunch of non-mainstream computers, and.. yeah. It’s a Sun Blade 100 workstation. </p><p>A Sun Blade 100 is an entry-level workstation from back when Sun actually.. existed and contains a 500MHz UltraSPARC IIe processor. Mine’s got a 20GBish disk and 256MB RAM. It’s also got a dead IDPROM&#x2F;NVRAM chip in it. These are relatively uncommon on standard PC hardware in execution - it basically fills the role of the CMOS or UEFI setup on a regular PC, and stores a bunch of system settings and stuff. Unlike a (newer) PC, though, this is done up with a single “chip” type thing that contains the RAM itself, a realtime clock, and the (non-rechargeable lithium) battery, and it is of course dead. Also unlike a PC, this also means the system doesn’t know what its ID is and (more importantly) the Ethernet MAC address on it is now wiped. So, this causes a whole lot of fun problems and makes you have to work with the OpenBoot firmware in the system to get it to do anything. Once you know what to do it’s more tedious than anything but it’s a lot of “hey let’s poke hex values into straight memory locations until it works!” kind of stuff. Also: remember how really, really old PCs and Apple IIs and Commodore 64s and stuff all booted up and you could write BASIC programs immediately? Sun systems do that too, except they use Forth, which really, really doesn’t work like most other C-style or BASIC languages. (Techncially, it’s <a href="https://en.wikipedia.org/wiki/Open_Firmware" rel="noopener noreferrer" target="_blank">Open Firmware</a>, which also exists on all PowerPC-based Macs, amongst other things. On real Unix workstations, though, it’s a lot easier to get into and very much more likely you’ll have to interact with it. Though it used to be a bit of a fun party trick to drop into it on a then-modern PPC Mac, like a Power Mac G5 or iBook G4, to do stuff.) </p><p>Another side note: the way Sun did this whole system settings&#x2F;real-time clock arrangement isn’t necessarily new, or even unknown in the PC realm. A number of PCs up through even the 386 age would use a similar chip provided by Dallas Semiconductor to provide these things, until at least the clock functionality started getting baked into the chipset. (And until there were things like chipsets that were more highly integrated. You must remember that, in the early days of PCs, the “chipset” was really more just the glue logic that held everything together and the specialized bus management chips and such, and going back further meant not even that much - you’d just get a board with a ton of discrete logic on it. It was no joke late into the 486 era that you’d even get a IDE interface or Super I&#x2F;O - meaning floppy drives and serial and parallel ports - integrated into the motherboard. Nowadays, the chipset arbitrates the various busses in the system and provides bootstrapping and some legacy I&#x2F;O and stuff - most everything is integrated directly into the CPU - but back in the day a motherboard and a CPU wasn’t even half the equation. But, that’s reminiscing for another time.) Sun (and presumably other workstation vendors) held on to this setup for far, far longer. The Blade 100 and 150 machines are circa 2001&#x2F;2002 - PCs really stopped using these things in the late 80s&#x2F;early 90s. </p><p>Anyway, I did some searching and found at least a few of the incantations necessary to get it to boot up off of the built-in storage, and lo and behold, it does indeed boot. The machine’s got Solaris 8 on it. That was nice to know. It’s also got a password, which is unsurprising. I obviously don’t know what this is - the seller got as far as “NVRAM invalid” and an ok? prompt and stopped - but at least I do know the hard drive works. I did venture into the world of burning ISOs on the command line with Linux and got an OpenBSD 6.6 ISO written to a disk, but it doesn’t appear that the drive in there much likes CD-RWs (or that I should have also read the documentation), so it wouldn’t boot off of that. Solaris, as a general rule, was very much not a free operating system, so getting a set of 8 ISOs is a no-go either (as far as I could find - no, WinWorldPC doesn’t have it, they have the Intel version). I may yet try to find a Solaris 10 ISO and try that, as I actually kinda do want to see what’s on the drive, but..</p><p>Booting a Sun machine, especially one with a dead IDPROM, is a pain in the ass. It’s even more of a pain in the ass if you don’t have a proper keyboard for it. This one at least has USB, so I can use a regular USB keyboard, which is a plus as it didn’t come with a Sun one and the Type 5 keyboards are wildly different interface-wise from a PC keyboard. But, as one of the things that happens with Unix workstations in general, the input devices are still somewhat special, and a Sun keyboard has a bunch of extra keys on it to do various things. (This extends, to an extent, to the mouse. Fun fact: Apple’s Lisa and Mac had a one button mouse. This you knew. PCs generally settled on two-button ones, though now there’s at least a third, usually the wheel, but you basically have to have two. This you also knew. Unix workstations pretty well always have 3. And you really need the third one. And it’s a bit annoying to have a somewhat crap 2-button-plus-mousewheel one on a system that really, really wants a 3-button mouse.) I can’t do a Stop-A, which drops you into the OpenBoot monitor, on a PC keyboard, and there are some other key combos that can’t be done and the modifier keys (Ctrl&#x2F;Alt&#x2F;Windows on your average PC keyboard) are different too, or at least differently named. And, as noted, the dead IDPROM means the Ethernet address doesn’t work, so networking isn’t really functional. (And it’s like 20 lines of code to reset it each. time. you. boot.) </p><p>So, I will probably migrate the SD-to-IDE setup from the P133 into the Sun (I have a second on order) so I don’t have to erase the original drive, and try harder to get OpenBSD or NetBSD working on there, and then just never turn it off. But, this is really a bit of a work in progress as the system really does need a new PROM and a Sun keyboard. Those seem to be pretty easy to find - the Type 6 and Type 7 USB keyboards&#x2F;mice especially - but the official Sun replacement IDPROMs are prohibitively expensive. (I got this on a bit of a lark - since it didn’t work it was already cheap and I used the eBay “Make Offer” thing that was, surprisingly, accepted. The NVRAM chip thing is easily 2&#x2F;3rds of the way to what I bought the entire machine for.) eBay seems to have questionably new-old-stock supplies of the actual chip itself (it’s just a STMicro Timekeeper chip) so I may try that first and then see how that goes. But, I am remembering all the fun things about working with real Unix hardware. It’s sort of like working on old cars - the HP is like having a nice older Accord or a Ford Explorer or a GM truck or something: the parts are pretty easy to find, or there are newer replacements or things can be adapted pretty easily. Working on this Sun is more like fixing a BMW or something - the concepts are all largely the same, some things can be replaced pretty easily with cross-compatible parts, but there’s a lot of just straight up “we did it this way because we were doing X in 1981 where PCs didn’t get to that until like 1999” and stuff. This thing is at least mostly PC stuff inside - PCI, an ATi Rage video chip, USB and FireWire 400, IDE - so it’s not the pain and suffering of wiring out your own weird-ass serial adapters or figuring out how to hook a modern LCD into a 13W3 connector or SBus. I am kind of excited to see how this thing compares to the HP, though, since they’re about the same age but very, very different architecturally, and even more different as far as clock speed and such goes (866MHz P3 vs. 500MHz UltraSPARC IIe). SPARC64 hadn’t yet lost the plot at this point - that’d come later, and it’s worth noting that this CPU is 64-bit where the P3 isn’t - but this, even though it was lower-end, was serious Unix hardware for serious people and very much did command a price premium over commodity PC gear (though it was very, very rapidly catching up here). I’d also like to try to hunt down the US-III based Blade 1500 because.. well, <a href="https://en.wikipedia.org/wiki/Sun_Blade_(workstation)#/media/File:Sunblade1500.jpg" rel="noopener noreferrer" target="_blank">look at it</a>. Also it’s Taco, and what does Grover need but a Taco?</p><p>So, those are the new fun toy things I’m playing with. The ultimate goal is to actually get Linux or something up on them and maybe on a limited basis open them up for use for people (as noted, like a lower-powered and even more exclusive tilde.club), but for now it’s just a bit of fun to play with some older machines. And there may be a third one. I haven’t pulled the trigger on that one yet,though. </p><p>Oh, and the real reason I did all this crap? I’m going to upgrade the modern PC again with a Core i5 or somesuch soonish and will be a power supply, case, and motherboard away from another modern PC. And the Vectra seemed to be mostly ATX form factor. And was cheap. (I’ve been on the hunt for a while for a Dell Dimension XPS H or D series - the ATX-style Pentium MMX or early Pentium II-based ones with the weird racing fins on the front - just for the case, but they’re a bit pricy.) Turns out the system isn’t <em>really</em> ATX. I could probably force it to work but the power supply is a small-form-factor type thing that’s hard to find replacements for. May still try it, though, and either way I was going to keep the P3 setup around anyway as some of this older stuff is downright hard to come by at any sort of reasonable cost no i’m not gonna pay $300 for your half-assed K6-2&#x2F;450 clone. It is kinda fun to know I have computers that can serve web pages using modern software and languages much more aptly than they can render them.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;So, I’m going to have to stop referring to the dumb PC as the “dumb PC”, as I’ve recently acquired two new (to me) systems that actually </summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="retro" scheme="https://jkachel.com/tags/retro/"/>
    
    <category term="unix" scheme="https://jkachel.com/tags/unix/"/>
    
  </entry>
  
  <entry>
    <title>Bunker Post</title>
    <link href="https://jkachel.com/2020/04/16/bunker-post-1/"/>
    <id>https://jkachel.com/2020/04/16/bunker-post-1/</id>
    <published>2020-04-16T09:26:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>I’m only about 6 weeks out from the last post on here, which is pretty good for me, just in that I haven’t outright forgotten about doing this yet. So, some quick things I’m thinking on right now:</p><p><strong>Linux Experiment</strong> is largely over. I decided I wanted to also play video games, especially with the whole work from home situation, and yeah that pretty well still sucks on Linux. I did have the dual-boot situation going on but the problem with that is that rebooting also sucks. In the end, the Pentium system is now Windows 10 Pro full-time and has taken full residence on the (surprisingly slow, though you’d have to be really fancy to know that) 512GB M.2 SSD rather than the AlertSeal. The AlertSeal will live on to do other things, probably. On the plus side, I do now have a real email client, in that I can actually just use freaking Outlook, which is not as good as the Mac version. (Unified inbox is not a hard thing to miss.) </p><p><strong>The dumb PC</strong> is still going strong and is my daily driver now. I have the MacBook Pro set up for use as well but the main system is the Windows box. I have 3 monitors connected because why the hell not and I can still attach two more to the actual GPU because why the hell not. It did get an upgrade to 16GB RAM, mainly to keep Docker from bitching, and will get upgraded to a real Core i5 soon. (Speaking of: I upgraded from 8 to 16GB RAM and have never been less enthusiastic to upgrade my system. Mainly because I didn’t think to look beforehand, and I should have just spent the not much more to get 32GB. Oh well.)</p><p>One of the nice things about having <strong>fancy mechanical keyboards</strong>, even the relatively cheap TecWare ones I have and enjoy quite a bit, is that at least the keycaps all come off relatively easily. Makes the keyboard super easy to really clean. Both my TecWare ones also have a key switch puller so I can reduce the whole thing to a flat plane for cleanup (though the key switches are much harder to remove). Especially now, having the ability to pull all the keycaps, douse them in bleach or whatever, and put them back on relatively quickly is a nice thing. </p><p><strong>The Wyze people</strong> put together an alternate firmware package for their Wyze Cam product that turns it into a basic webcam. It works pretty well. Enough that I got a separate Wyze Cam for just that purpose (for now, and those things are $20 new so). They’re good security cams by default as well. But now I really have to clean out the office, since, because it’s a security cam at heart, it’s got a wide-angle lens on it. </p><p>This past week or so has been an utter failure in this regard but getting in a pretty regular neighborhood walk has been a nice perk. For now, it’s not stupid ridiculous outside and everything being in bloom means it’s also rather pretty through my neighborhood. </p><p>Working on personal software projects (or projects in general, it’s not like I’ve played with my guitars much either) is even more difficult when you’re also working from home. Oh well. I also rebuilt the Pentium 133 Win98 system (sort of) so at some point I’ll clean that up and do a write up on it too.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;I’m only about 6 weeks out from the last post on here, which is pretty good for me, just in that I haven’t outright forgotten about doing</summary>
      
    
    
    
    <category term="general" scheme="https://jkachel.com/categories/general/"/>
    
    
    <category term="general" scheme="https://jkachel.com/tags/general/"/>
    
  </entry>
  
  <entry>
    <title>New experiment time!</title>
    <link href="https://jkachel.com/2020/03/04/new-experiment-time/"/>
    <id>https://jkachel.com/2020/03/04/new-experiment-time/</id>
    <published>2020-03-04T17:15:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>For about half a week now, I’ve been performing a bit of an experiment with my main computing environment. This has been triggered by my frustrations with macOS Catalina - it’s no secret that Catalina isn’t perhaps as well baked as it should have been, and my complaints with it aren’t new. There came a point where I just got tired of dealing with it not remembering that I had extra monitors, or getting all sorts of chewed up because of.. reasons (never really could figure that one out), or the admittedly small boot volume in it being damned near full all the time. I finally got fed up with it and decided to do two things: reimage the damned thing (which I honestly should have done to begin with - never trust the base image in the box) and switch up the environment some. </p><p>With that in mind, I took the silly Linux&#x2F;Windows desktop I’d built up and began looking at what it’d take to push it into full-time use. The answer to that question was “not much”: most of the stack I use nowadays really works just as well on Linux as it does anywhere else, and I’d really just need to find a way to hook my screens into it. (If you’ll recall, this is a Pentium Gold-base system on a pretty entry-level H310 chipset board - integrated graphics here, and the board itself only has VGA and HDMI video outputs.) A bit of looking and some quick education on video cards pointed me in the direction of an AMD (weird) Radeon RX 570 GPU, and one in particular with 3x DisplayPort 1.4 outputs on it, so I grabbed that. For good measure, and certainly not because it was really necessary, I also opted to upgrade the storage to 500GB of M.2 SSD (it was on sale). I figured that, worst case scenario, this would mean I’d have a decent enough gaming PC to work with if the experiment failed. I do have a pretty long list of things in Steam and such that I either haven’t played or couldn’t play because of a lack of Mac support.</p><p>The SSD and video card came in on a Saturday and I went ahead and got everything installed and configured. And, of course, I started out by testing it out with some games. Intel has certainly come a long, long way from the i810 chipset video, and even the cut-down stuff in the Pentium Gold CPUs is pretty decent (especially for the older games I tend to like to play), but that RX 570 is so, so much faster. </p><p>After a lot of cultivating was done - Farming Simulator ‘19 is surprisingly fun - I went ahead with the core of the thing and got Xubuntu installed and going on the machine. That went pretty well, outside of some issues that were more caused by my router being dumb intermittently, and I got my normal stack installed and all that. Xubuntu got the Radeon configured and set up fine and it’s humming along nicely with my ridiculous mouse and the two 4K displays I’ve got for the main system. I’ve got my SSH and other access set up and working and have deployed some code and all that. So far, so good, and I’ve been able to be pretty productive on the system without it being too weird. There are very much some differences between macOS and Xfce on Linux but a lot of my work revolves around using PhpStorm, Sublime Text, Chrome, and a terminal, so all of that generally works just fine.</p><p>There are, of course, a few quibbles. </p><ul><li>The ATI–er, I mean, AMD Radeon Linux drivers don’t work with non-LTS Ubuntu. Sensible but I’m running 19 so I’m out of luck for the “real” drivers. Game support is even less on Linux than on macOS - far better than I can remember it ever being but still not great - so that’s not a big deal; the 2D performance on this thing is performant to the point of it not mattering. </li><li>GRUB still can’t figure out that I have a Windows installation. I didn’t reinstall it - it’s on a separate disk - but the standard install nonsense didn’t pick it up. The workaround is just to hit F8 to get a boot menu and force it into Windows when I need that, which kinda sucks, but whatever. </li><li>There are oddities with the screensaver on Xubuntu. Something something compositing, something something xfce4, I dunno, sometimes I come back and the screensaver can’t figure out that it actually needs to stop and give me a login prompt. I <em>can</em> go in and switch to another text console, log in, and kill the screensaver, but that obviously sucks. (Although, yeah, text console is really graphics now and so text console at 4k res with a 9x16 font is like watching the Matrix in real life. I would totally screw with a DESQview-type grid-based text windowing interface for a while if there were decent tools to do my stuff there.) I’ve got xscreensaver installed now and we’ll see if that works out better but I’m not holding my breath.</li><li>Mail clients are terrible. I’m spoiled, though; I really actually do like Outlook now. Mailspring comes closest but it doesn’t support calendaring and real Exchange server environments so I can’t get my University mail. (Yes, there’s IMAP&#x2F;POP as an option in Mailspring. No, I can’t use it. And neither should you.) The other option seems to be Thunderbird, which hey guys remember Netscape 3? It works well enough but meh. I’m sticking with Mailspring for now but I may be looking for something else in the near future.</li></ul><p>The one of these that’s really a big deal is the screensaver - one reasonably expects that to, yano, actually work, and to be able to get back into your machine when you’ve wandered off. Perhaps moving to regular xscreensaver over xfce4’s one will help. And, there’s little things that macOS does (and the tight integration that Apple can provide when you’re all-in on the ecosystem) that I miss. I never turn my phone off now because if I do it’s just that much more of a pain to talk to people. Unlocking my computer via my Watch is neat (even if I can only do that at home for now). The keys are in the wrong damned place now and I miss having Alfred and less shitty access to my Apple Music library. These (other than screensaver stupidity of course) are all fairly minor and ultimately I can get my stuff done without really noticing that I’m on a Linux system. </p><p>That said, I’m half of a week into it, during a week in which I’m not being particularly productive, so we’ll see what happens when I get back into gear and do stuff. But, who knows - this might just be the wave of the future for me. It’s been a really, really, <strong><em>really</em></strong> long time since I’ve actually wanted to and enjoyed using Linux on the desktop. </p><p>Oh - and that Pentium Gold CPU? Perfectly acceptable. I honestly can’t tell that much of a difference between it (2-core, 4-thread, 3.7GHz nominal speed, 9th gen Coffee Lake architecture) over the Core i5 in the laptop (4-core, 4-thread, 1.4GHz nominal speed, 8th gen Coffee Lake). Yes, they’re cut from the same cloth, but the Pentium chips slot under the Core i3 CPUs and the difference between 8th gen and 9th gen aren’t much. But, I have to say, this thing <em>flies.</em></p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;For about half a week now, I’ve been performing a bit of an experiment with my main computing environment. This has been triggered by my </summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="development" scheme="https://jkachel.com/tags/development/"/>
    
  </entry>
  
  <entry>
    <title>Childhood memories</title>
    <link href="https://jkachel.com/2020/02/18/childhood-memories/"/>
    <id>https://jkachel.com/2020/02/18/childhood-memories/</id>
    <published>2020-02-18T08:03:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p><a href="https://www.youtube.com/watch?v=5DBPuZHWEXc" rel="noopener noreferrer" target="_blank">This video</a> popped up in my subscriptions the other day and I’ve since watched it a few times and also tweeted about it, because it is very Relevant to my Interests. It is, in fact, how I spent a lot of my tween and teenage years. Yes, specifically installing Slackware from floppies, because even when I got a CD that had Linux (Slackware 3 if memory serves - Linux 1.2.3!), <em>my</em> computer didn’t have a drive for it until later. (And it was a glorious one at that - a NEC reader, connected via IDE that was also one of those fancy 4-disc changers that fit in a single 5.25” bay.) And yes, it was indeed a 40MHz 386, though the ones I tended to have were DX models. (DX models were more common in the US, and lest you forget I did grow up in the Los Angeles metro so computer parts and such weren’t too hard to come by.) </p><p>One thing that stuck out: the software included, in its own disk sets, even. I did a bit of idle Googling to see what became of some of these things, and… yeah. ObjectBuilder? The name now belongs to some Pokemon thing, it seems; I could find pretty much nothing about what Slackware shipped with. XView and InterViews (not related)? IV is still around, sort of, but no idea about XView. And that whole thing about actually paying for an X server? Man, so wild. </p><p>I also enjoyed the dire warnings about making sure, no, really, <strong>really</strong> sure, you were selecting the right options for your monitor. Anyone who complains about Linux being obtuse ought to go back and look at that -you really, honestly, could damage your monitor, which was a big vacuum tube type thing at the time, with the wrong options. You had (almost) full control over the timings of the electron beams that drew the image on your screen. If you got it wrong, it might catch fire! (You could exploit this if you wanted to. The <a href="http://howto-pages.org/ModeLines/" rel="noopener noreferrer" target="_blank">X-Modelines HOWTO</a> was my friend for a while. I did not explode my monitor, but I used to also be better at math.) It was another time.. not one I’d like to go back to but fond memories nonetheless.</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5DBPuZHWEXc&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;This video&lt;/a&gt; popped up in my subscripti</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="computing" scheme="https://jkachel.com/tags/computing/"/>
    
    <category term="retro" scheme="https://jkachel.com/tags/retro/"/>
    
    <category term="nostalgia" scheme="https://jkachel.com/tags/nostalgia/"/>
    
  </entry>
  
  <entry>
    <title>Even more computer weirdness</title>
    <link href="https://jkachel.com/2020/02/17/even-more-computer-weirdness/"/>
    <id>https://jkachel.com/2020/02/17/even-more-computer-weirdness/</id>
    <published>2020-02-17T20:42:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>So, because I evidently need a stream of things to play with, I grabbed a little 11” Chromebook (a Lenovo N22) absurdly cheap. Woot had a bunch of models for around $75 and this one was one of ‘em, except I got it through Amazon since it would have taken longer otherwise. </p><p>Initial impressions: it’s a refurb, but it’s pretty nicely done. The screen is good enough (1366x768). Case design is chunky and kinda ugly but when it’s open the worst parts of it go away. It has a couple neat party tricks, in that the webcam rotates 270 degrees and it has a built-in handle. The keyboard is nice enough, given the size and the slight oddness of the Chromebook layout. It’s not fast but it’s good enough; I can put YouTube videos at full-screen and it’s fine with that. Battery life so far is awesome; it’s reporting about 13 hours remaining after an hour or two of unplugged use including installing software and stuff.</p><p>Oh, and it’s not running Chrome OS anymore. ‘Hacking’ these things has changed a good deal since the last time I had a Chromebook and you’ve got the option to install  a third-party EFI setup on there that makes it into a regular x86 PC. <a href="https://galliumos.org/" rel="noopener noreferrer" target="_blank">GalliumOS</a> is what I’ve got on here; with the base system install, my typical stack for basic web development stuff, and a few other things, I still have 10GB free on the internal 16GB storage. </p><p>I tried <em>not</em> to completely wipe Chrome OS off of here, but it ended up being more of a roadblock - Chrome OS has also progressed a great deal in the years since I’ve used it last, and the Crostini thing has even been more fully baked into the base OS (so you get Debian Stretch more or less running in a hypervisor of sorts), so it has the potential to be useful for more than just basic stuff, but there’s too much that doesn’t work still. (Some of this stems from the fact that their GPG keys had expired earlier this year. If I’d known a bit more about apt at that point, I might have just kept with it, but decisions were made. And yes, regular X&#x2F;graphical apps run in Crostini - just for the hell of it, I fired up rxvt and it came up just fine.) You can dual-boot Gallium and Chrome OS, but dual-booting to essentially choose between running Chrome in forked Ubuntu and Chrome in Chrome OS seemed dumb, so I just went ahead and did the full install. Plus, I won’t have to worry about Google bricking it when they decide that this thing is too old for Chrome OS updates.</p><p>So now I have 4 weird computer projects to ramble on about on here: this Chromebook, the accidental Xubuntu&#x2F;Windows build (now my gaming PC!), the HP all in one, and the Pentium 133 nostalgia machine. It’s going to be fun when I get a Raspberry Pi or two, or maybe start fiddling with one of <a href="https://eater.net/" rel="noopener noreferrer" target="_blank">Ben Eater’s</a> bare computer kits…</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;So, because I evidently need a stream of things to play with, I grabbed a little 11” Chromebook (a Lenovo N22) absurdly cheap. Woot had a</summary>
      
    
    
    
    <category term="computing" scheme="https://jkachel.com/categories/computing/"/>
    
    
    <category term="modern-computing" scheme="https://jkachel.com/tags/modern-computing/"/>
    
  </entry>
  
  <entry>
    <title>Sounds Good, Man</title>
    <link href="https://jkachel.com/2020/02/07/sounds-good-man/"/>
    <id>https://jkachel.com/2020/02/07/sounds-good-man/</id>
    <published>2020-02-07T21:06:00.000Z</published>
    <updated>2022-11-07T00:05:13.186Z</updated>
    
    <content type="html"><![CDATA[<p>One bit of the new PC build I glossed over: I also ordered a set of computer speakers with the new build on a whim. I’m real happy with them! Allow me to provide far more detail than anyone cares about to explain why.</p><p>I’ve completely redone my computing setup over the past year and change, as I got rid of the desk I had in the last move. (It was a solid-core door on some 4x4s that were too tall. I did not spend a lot of time building it, and it showed, and it was time to get rid of it.) That, coupled with my old Klipsch speakers dying and moving to new screens that weren’t on VESA mounts this time, meant that I had issues with computer sound. I’d had an old set of harmon&#x2F;kardon 2.0 speakers that came from Dell a couple decades ago hooked up - they sound pretty good, but somewhat muddy, and they’re pretty tall, so they don’t really fit under my screens or really next to them due to cable length. Anyway, it was time for them to go too. </p><p>Amazingly, I like stereo imaging, so a new set would need to either fit under the screens or, ideally, to the sides. They also needed to be fairly small - new desk isn’t terribly large, and if they’re gonna be big they’d better also be fancy studio monitors. Ideally, what I’d like is a set of JBL Creature speakers, which are small ones they haven’t made since around the time of the first iPhone. (I’d had a set of older ones, from circa 2001, that I liked a whole lot - good sound, small sub, and satellites no bigger than a soda can.) </p><p>As luck would have it, NewEgg had a set of Logitech Z313 speakers on cheap as refurbished when I got the parts together for the PC build, and I went ahead and added them in. For under $25 refurb (or slightly more new, evidently), I’m honestly really impressed. Even before listening to them, I was entirely too happy about how the satellites work. They connect to the sub via a standard TRS connector, which splits off into two separate cables about 3” from the plug. The cable is captive, but there’s just an absurd amount of cable between the satellite and where it joins together to go into the plug - it’s seriously like four feet of cable per channel. That alone would have gotten me to keep ‘em. The sub itself is tiny - roughly a 7”x7”x4” box - and has a small down-firing ported woofer, and contains the connector for the satellites, the power cable (also captive), and the input jack, which is actually connected to a pod with a headphone jack, volume knob and power button. The cable situation on that, even, is ridiculous - the input cable on its own is rather long and terminates at the pod, and there’s another good length of cable between the pod and the sub. I could about literally have my machine across the room long-ways and still have the speakers hooked in if I wanted. That will make some people cringe, but I really do need a bunch of cable to position these things where they’ll make sense and any excess can be handled with zip ties anyway (as it should be). </p><p>The icing on the cake? They sound really good. Perhaps a bit bass heavy, surprisingly - I had Apple Music EQed to boost bass a good bit and yeah, that became a bit much, but just due to sheer volume and not distortion - but otherwise clear and pleasant. They are, of course, no match for the Advents I have plugged into the Onkyo receiver but that setup is way too unwieldy for the computer desk, and these really just do sound good on their own merits. </p><p>The only things I’d change would be to add some weight to both the pod and the satellites. I may do that; 10-15 cents worth of pennies would be more than adequate. And I might change that I only have one set. The JBLs I liked aren’t made anymore and are incredibly hard to come by - truth be told, the Creatures weren’t the ones I had, and the model I had I can’t even find anymore online - and I’d like to have a backup set for when these eventually die. Of course, one of these days I will set up with a nice set of studio monitors and a real amp and audio interface, but I am more than satisfied for now. If anything, that setup will be pushed back a good bit. </p><p>In between the HKs and the Logitechs, I did try a set of the amazonbasics 2.0 pod-type speakers. They’re very small and they have very good weight - they’re surprisingly heavy, and a bit bigger than a nice hand-held rock - but the sound is not great and the cable situation is terrible. (One side connects to the other, and the other has the USB power and audio in, and all the cables are way too short, and, of course, the input one is on the right channel, which works great since my computer is on my left.) They’re a good enough basic speaker for the $16 they cost but the additional $6-$10 or so to get the Logitech set is very, very worth it. </p><p><a href="https://www.newegg.com/logitech-z313-smart-lock-accessories/p/19S-001J-001J5?Item=9SIA10V5ET2579" rel="noopener noreferrer" target="_blank">Here’s the Logitech speakers</a>, via NewEgg (and, of course, readily available on Amazon as well).</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;One bit of the new PC build I glossed over: I also ordered a set of computer speakers with the new build on a whim. I’m real happy with t</summary>
      
    
    
    
    <category term="general" scheme="https://jkachel.com/categories/general/"/>
    
    
    <category term="hardware" scheme="https://jkachel.com/tags/hardware/"/>
    
    <category term="sound" scheme="https://jkachel.com/tags/sound/"/>
    
  </entry>
  
</feed>
