<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://movingparts.net/atom.xml" rel="self" type="application/atom+xml" /><link href="https://movingparts.net/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2026-05-24T20:18:28+00:00</updated><id>https://movingparts.net/atom.xml</id><title type="html">vanRijn / MovingParts</title><subtitle>Kinda like Batman, but with a wife and 3 kids</subtitle><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><entry><title type="html">Twenty-Six Years of Blog, Mostly Saved</title><link href="https://movingparts.net/2026/05/23/twenty-four-years-of-blog-mostly-saved/" rel="alternate" type="text/html" title="Twenty-Six Years of Blog, Mostly Saved" /><published>2026-05-23T06:30:00+00:00</published><updated>2026-05-23T06:30:00+00:00</updated><id>https://movingparts.net/2026/05/23/twenty-four-years-of-blog-mostly-saved</id><content type="html" xml:base="https://movingparts.net/2026/05/23/twenty-four-years-of-blog-mostly-saved/"><![CDATA[<p>I started blogging in 2000, and I never quite stopped — though there were stretches where I really, really did stop. The blog has lived in WordPress at movingparts.net for all of those twenty-six years, and during that time I’ve managed to make a few long-term-thinking mistakes.</p>

<p>This week I finally moved the whole thing — 425 posts, 231 images, twenty-six years of excellent fashion choices, hot takes about Linux, notes on family and video games and such — to a static Jekyll site. GitHub-hosted, fully self-contained, no database, no plugins, no server-side anything. Here’s a retrospective.</p>

<h2 id="flickr-sure-was-great-until-it-wasnt">Flickr sure was great until it wasn’t!</h2>

<p>I started using Flickr to store all of my personal photos in 2005, way back when Flickr was free and cool. I had 1 Terabyte of storage, for free!!
It was fun! It was neat! It had great features! It was free! I loved old, free Flickr! And I kept literally every photo
our family had ever taken in Flickr.</p>

<p>And heck, since Flickr worked so well, and since they legitimately had really nice
features and functionality like gallery views, photo sets, etc., I also used Flickr for all of my website pictures.
Herein lies the start of my blog mistakes. What I should have done way back then was set up a separate Flickr account
that just hosted my blog graphics, but mistakes were made and I did not think of that.</p>

<p>14 years later, in 2019, after SmugMug bought Flickr, they limited the amount of free photos you could have in your
account to 1000 photos or videos. Then they started actively deleting photos that were above that 1000 photo limit. This
sucked and I started looking for options ASAP.</p>

<p>I at least had the forethought do do a full export of my Flickr library and saved it to my NAS,
around 9,600 photos and 9,600 metadata JSON files. The tools at the time
were pretty bad for doing anything with this export, so it was all I could do to try to go through the export and at
least name the files from the absolutely useless <code class="language-plaintext highlighter-rouge">img_3423_4675736600_o.jpg</code> format to something more manageable like
<code class="language-plaintext highlighter-rouge">2015-03-07-picture-of-family-dog.jpg</code>.</p>

<p>Shortly after doing the Flickr export and trying to salvage all the family photos, I cancelled my Flickr account. I had a vague sense that “I should probably make sure my photos aren’t only on Flickr,” but I lacked a more specific sense of “the previous 19 years of my blog has every single photo embedded as an <code class="language-plaintext highlighter-rouge">&lt;img src="https://farm2.staticflickr.com/.../whatever.jpg"&gt;</code> and the moment your account goes away, every single one of those URLs returns a <code class="language-plaintext highlighter-rouge">410 Gone</code>.”</p>

<p>I did go through some of my more photo-centric blog pages and found those images in the Flickr export and uploaded them
to WordPress’s database. But there were so many images missing that I just didn’t have the time to deal with.</p>

<h2 id="the-wordpress--jekyll-import">The WordPress → Jekyll Import</h2>

<p>The export from WordPress was easy. The import via <code class="language-plaintext highlighter-rouge">jekyll-import</code> was, technically, also easy. It produced 425 HTML files in <code class="language-plaintext highlighter-rouge">_posts/</code>, each with proper YAML front-matter and permalinks matching my old WP URLs.</p>

<p>What it ALSO produced, on every single post, was this:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;p&gt;</span><span class="cp">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;</span><span class="nt">&lt;br</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;html&gt;&lt;body&gt;</span>
<span class="nt">&lt;p&gt;</span>The actual content of my post...<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;p&gt;&lt;/body&gt;&lt;/html&gt;&lt;/p&gt;</span>
</code></pre></div></div>

<p>Each post had been silently re-wrapped in a fake-HTML-document shell during import — <code class="language-plaintext highlighter-rouge">&lt;!DOCTYPE&gt;</code>, <code class="language-plaintext highlighter-rouge">&lt;html&gt;</code>, <code class="language-plaintext highlighter-rouge">&lt;body&gt;</code>, all glued to the top inside a stray <code class="language-plaintext highlighter-rouge">&lt;p&gt;</code> tag, with a deeply confused <code class="language-plaintext highlighter-rouge">&lt;p&gt;&lt;/body&gt;&lt;/html&gt;&lt;/p&gt;</code> orphan at the bottom. WordPress had also, at some point in its history, replaced every Amazon-affiliate tracking pixel’s <code class="language-plaintext highlighter-rouge">&lt;img src&gt;</code> URL with a local <code class="language-plaintext highlighter-rouge">/assets/YYYY/MM/ir</code> reference (the importer stripped the <code class="language-plaintext highlighter-rouge">assoc-amazon.com</code> host but kept the path, ending at just <code class="language-plaintext highlighter-rouge">ir</code> because the original URL was <code class="language-plaintext highlighter-rouge">.../e/ir?t=...</code>).</p>

<p>So before I could even look at the content, I had a 425-file regex problem and a strange pile of “404 Not Found: ir” warnings.</p>

<h2 id="the-cleanup">The Cleanup</h2>

<p>Working through this over the course of several long evenings, and with the help of our new friendly and amazingly
capable AI/LLM friends, the rough order was:</p>

<ol>
  <li><strong>Strip the WP wrapper junk</strong> from all 425 posts. Two regex patterns covered the standard wrapper, plus an extended variant some posts had picked up (DOCTYPE / html / head / meta / body, all wrapped across two paragraphs) that hit 8 outliers.</li>
  <li><strong>Patch orphan <code class="language-plaintext highlighter-rouge">&lt;/p&gt;</code> tags</strong> the wrapper-stripper left behind. About 95 posts had ended up with a closing <code class="language-plaintext highlighter-rouge">&lt;/p&gt;</code> that no longer had a matching <code class="language-plaintext highlighter-rouge">&lt;p&gt;</code> open — readers saw a literal <code class="language-plaintext highlighter-rouge">&lt;/p&gt;</code> floating in the rendered text.</li>
  <li><strong>Strip Amazon affiliate tracking pixels</strong> — 22 of them across 10 posts, all rewritten by the importer to non-existent local paths.</li>
  <li><strong>Audit image references</strong> — 95 unique images were referenced in posts but missing from the assets folder. The blog rendered fine for text but had broken-image icons everywhere.</li>
  <li><strong>Recover what I could from the Flickr export.</strong> This is the part I’m most relieved about. Flickr embeds the photo ID directly in filenames (<code class="language-plaintext highlighter-rouge">chisel-out-the-rest_192264665_o.jpg</code> — <code class="language-plaintext highlighter-rouge">192264665</code> is the Flickr ID), and the export’s per-photo JSON sidecars are keyed by ID too. A small Python script extracted candidate IDs from each missing filename, cross-referenced them against the export, and copied the original-resolution files into the matching <code class="language-plaintext highlighter-rouge">assets/YYYY/MM/</code> folders. <strong>61 of the 95 missing images came back this way</strong>, including two complete photo essays — a vinyl-windows DIY tutorial from 2006 and a 31-photo arcade-fightstick mod walkthrough from 2012 — that had been entirely broken since whenever I cancelled Flickr.</li>
  <li><strong>Drop the rest</strong> that couldn’t be recovered: small WP UI decorations, hotlinked Wikipedia/KDE icons, Amazon product images, two Flickr photos that had been deleted before my 2019 export. 36 broken <code class="language-plaintext highlighter-rouge">&lt;img&gt;</code> tags removed across 24 posts.</li>
  <li><strong>Clean up dirty filenames.</strong> A previous WP-Photon CDN sync had created files literally named <code class="language-plaintext highlighter-rouge">sk0304_jsh01_18630658_o.jpeg?fit=620%252C622</code> on disk — the <code class="language-plaintext highlighter-rouge">?</code> made them HTTP-unreachable, since browsers strip query strings before the file lookup. They were just wasted disk space, scaled-down duplicates of the originals I’d just gotten back from Flickr. Deleted 56 of them and rewrote 154 HTML attribute references to point at the clean originals.</li>
  <li><strong>Rewrite the external Photon CDN URLs</strong> (<code class="language-plaintext highlighter-rouge">https://i*.wp.com/movingparts.net/wp-content/uploads/...</code>) used in lightbox <code class="language-plaintext highlighter-rouge">&lt;a href&gt;</code> wrappers to local <code class="language-plaintext highlighter-rouge">/assets/...</code> paths, so clicking an image no longer asks a long-dead WordPress CDN to serve me a copy of a thing I already have on disk.</li>
</ol>

<p>There were also a handful of secondary cleanups along the way: switching from <code class="language-plaintext highlighter-rouge">jekyll-paginate</code> (which only paginates <code class="language-plaintext highlighter-rouge">/index.html</code>) to <code class="language-plaintext highlighter-rouge">jekyll-paginate-v2</code> (which paginates anything with <code class="language-plaintext highlighter-rouge">pagination: enabled: true</code>), then chasing down why the sidebar nav broke after the swap (because v2 strips the <code class="language-plaintext highlighter-rouge">path</code> attribute on paginated pages, which breaks the theme’s <code class="language-plaintext highlighter-rouge">where: "path", "blog.md"</code> lookup), then fixing excerpt extraction (because WordPress-imported posts have one <code class="language-plaintext highlighter-rouge">&lt;p&gt;</code> per line separated by single <code class="language-plaintext highlighter-rouge">\n</code>, and Jekyll’s default <code class="language-plaintext highlighter-rouge">excerpt_separator</code> is <code class="language-plaintext highlighter-rouge">\n\n</code> — which never matched, so every “excerpt” was the whole post).</p>

<h2 id="lessons-learned">Lessons Learned</h2>

<p>If you take anything from this, take this:</p>

<ul>
  <li><strong>Don’t cancel a photo host without searching your blog for <code class="language-plaintext highlighter-rouge">&lt;img src&gt;</code> references to it first.</strong> The <code class="language-plaintext highlighter-rouge">&lt;img&gt;</code> tag’s silent failure mode — the broken-image icon — is one of the loudest forms of personal-archive rot, and you don’t usually notice until years later.</li>
  <li><strong>Take the export.</strong> Even if you don’t use it for seven years. <em>Especially</em> if you don’t use it for seven years.</li>
  <li><strong>Filenames are interfaces.</strong> Photo IDs in filenames, machine-readable metadata in sidecars, naming conventions you’ll be able to grep five years later — these are gifts from Past You to Future You.</li>
  <li><strong>Static sites are forgiving.</strong> Once everything is just files in <code class="language-plaintext highlighter-rouge">_posts/</code> and <code class="language-plaintext highlighter-rouge">assets/</code>, you can do almost any cleanup with a few hundred lines of Python and some quality time with your computer. Try doing that to a live WordPress database with whatever affiliate plugin you installed in 2008.</li>
</ul>

<p>The blog’s back. The photos are back. I owe most of this rescue to a single one-good-decision-among-many that 2019-Me made — taking that Flickr export — and most of the actual labor to several evenings of regex hygiene. Yay Jason!</p>

<p>Now to go actually post things.</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Computer Stuff" /><category term="Life in General" /><summary type="html"><![CDATA[I started blogging in 2000, and I never quite stopped — though there were stretches where I really, really did stop. The blog has lived in WordPress at movingparts.net for all of those twenty-six years, and during that time I’ve managed to make a few long-term-thinking mistakes.]]></summary></entry><entry><title type="html">All You Can Eat (up to 4’x8’ at a time) Whiteboards for only $13!</title><link href="https://movingparts.net/2016/03/11/all-you-can-eat-up-to-4x8-at-a-time-whiteboards-for-only-13/" rel="alternate" type="text/html" title="All You Can Eat (up to 4’x8’ at a time) Whiteboards for only $13!" /><published>2016-03-12T01:29:12+00:00</published><updated>2016-03-12T01:29:12+00:00</updated><id>https://movingparts.net/2016/03/11/all-you-can-eat-up-to-4x8-at-a-time-whiteboards-for-only-13</id><content type="html" xml:base="https://movingparts.net/2016/03/11/all-you-can-eat-up-to-4x8-at-a-time-whiteboards-for-only-13/"><![CDATA[<p>Inspired by <a href="http://lifehacker.com/cover-a-wall-with-a-giant-whiteboard-for-under-15-1587162959">LifeHacker's older post about making your own whiteboard for cheap</a>, I bought a <a href="http://www.homedepot.com/p/EUCATILE-32-sq-ft-96-in-x-48-in-Hardboard-Thrifty-White-Tile-Board-HDDPTW48/205995949">4'x8' sheet of dry erase board from Home Depot</a> for $13. I had them cut it down into 2 3'x4' sections and one 2'x4' section on account of I have a Honda Fit and that's just not gonna hold a 4'x8' section of anything.</p>
<p><a href="http://movingparts.net/wp-content/uploads/2016/03/37E41D84-C8FD-4454-B238-099E78BA601B-scaled.jpeg"><img src="/assets/2016/03/37E41D84-C8FD-4454-B238-099E78BA601B-300x225.jpeg" alt="" width="300" height="225"></a></p>
<p>I had some spare <a href="http://amzn.to/1UmdK4z">aluminum foil tape</a> left over from a previous project (fixing 10 individual water leaks in my 2007 Honda Fit). I lined the 4 edges of each board with the foil tape, putting roughly half of the foil tape on the front and then wrapping the rest around to the back of the board. This helps to provide a little bit of rigidity and more importantly covers up any edges and imperfections from when the board was cut. If you want more rigidity, just put another layer of the aluminum foil tape on.</p>
<p>Then I used some <a href="http://amzn.to/1UmdVNr">Command medium picture hanging strips</a> (I LOVE these things!) and mounted my new whiteboards on the wall.</p>
<p>I'm pretty happy with these!</p>
<p>And I have enough whiteboard for another one downstairs in the family room.</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Life in General" /><summary type="html"><![CDATA[Inspired by LifeHacker's older post about making your own whiteboard for cheap, I bought a 4'x8' sheet of dry erase board from Home Depot for $13. I had them cut it down into 2 3'x4' sections and one 2'x4' section on account of I have a Honda Fit and that's just not gonna hold a 4'x8' section of anything.]]></summary></entry><entry><title type="html">On Facebook, Notifications, Filtering, and Hire Me</title><link href="https://movingparts.net/2016/01/30/on-facebook-notifications-filtering-and-hire-me/" rel="alternate" type="text/html" title="On Facebook, Notifications, Filtering, and Hire Me" /><published>2016-01-30T18:13:41+00:00</published><updated>2016-01-30T18:13:41+00:00</updated><id>https://movingparts.net/2016/01/30/on-facebook-notifications-filtering-and-hire-me</id><content type="html" xml:base="https://movingparts.net/2016/01/30/on-facebook-notifications-filtering-and-hire-me/"><![CDATA[<p class="_45m_ _2vxa" data-block="true" data-offset-key="6a3bo-0-0"><span data-offset-key="6a3bo-0-0"><span data-text="true">tl;dr: 1) Nice job on the Notifications dropdown, Facebook devs! 2) I still really miss RSS feeds and Jabber message integration!! 3) You should hire me! I have some ideas on how to make this better! =;P</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="22hg6-0-0"><span data-offset-key="22hg6-0-0"><span data-text="true">I've just never really used Facebook consistently before. My biggest complaint has always been that unlike Twitter or RSS feeds or e-mail, I did not see any way to stay caught up. To leave off wherever you are, come back to it later and your place in the list of events has not moved. With Twitter/RSS/e-mail/other things, you can do this. Pick up again wherever you left off and keep working your way through whatever it is, and most importantly, you know that you have not missed anything during any of this. Sure, you might be behind in your progress for a while, and until you're caught up, you may have delayed reactions to things. But I much prefer this linear information navigation. Or at least I prefer having this type of knowledge consumption and data navigation be even possible. Knowing that I'm not missing out on anything is important to me.</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="8dnug-0-0"><span data-offset-key="8dnug-0-0"><span data-text="true">Facebook has never made this easy for me. Facebook used to have RSS feeds that I would use and be able to catch up on unread events, etc., and know that I'm not missing anything along the way. That functionality was removed a long time ago.</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="7gtg1-0-0"><span data-offset-key="7gtg1-0-0"><span data-text="true">Anyway, where I'm going with this is that I just discovered that I can do an approximation of what I'm looking for by using the Notifications dropdown in the Facebook toolbar at the top of my screen. It's not perfect, but now that I've found it, it looks like it's my best alternative to just refreshing Facebook and looking at the list of groups and friends I'm most interested in. Or scrolling and scrolling and scrolling. And there's a "see all" link to take you to a new page to navigate your notifications. Nice.</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="405r6-0-0"><span data-offset-key="405r6-0-0"><span data-text="true">I think it would be a nice addition to Facebook to add functionality onto the <a href="https://www.facebook.com/notifications" target="_blank" rel="noopener noreferrer">/notifications page</a>. I wouldn't necessarily force it to be tied to settings or persistent changes, but there are times that I'd like to choose what data I'm seeing on this Notifications list differently than others. For example, right now I'm most interested in staying caught up with all of my VMware family and friends. If I could get a list of "here's all the people that I'm going to show you in the list below" and check/uncheck them individually or assign groups or whatever, that would be very helpful. Similarly, sometimes I'm interested in seeing who has liked one of my posts or comments. Right now, the information flood is too much and I'd like to filter that noise out.</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="a1qp2-0-0"><span data-offset-key="a1qp2-0-0"><span data-text="true">So... nicely done on the Notifications dropdown, whomever at Facebook designed that.</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="7mal1-0-0"><span data-offset-key="7mal1-0-0"><span data-text="true">And I still miss RSS feeds and Jabber integration. =:(</span></span></p>
<p class="_45m_ _2vxa" data-block="true" data-offset-key="7mal1-0-0">And now that I've <a href="http://blog.chipx86.com/2016/01/26/a-tribute-to-vmware-workstation-fusion-and-hosted-ui/" target="_blank" rel="noopener noreferrer">been laid off along with the rest of my Workstation and Fusion friends</a>, I'm looking for interesting work in areas that I've not done before. So clearly, Facebook should hire me because then I could help implement the ideas I posited above. =;)</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Life in General" /><category term="facebook" /><summary type="html"><![CDATA[tl;dr: 1) Nice job on the Notifications dropdown, Facebook devs! 2) I still really miss RSS feeds and Jabber message integration!! 3) You should hire me! I have some ideas on how to make this better! =;P]]></summary></entry><entry><title type="html">On Gaming, Highest Quality, Best Price</title><link href="https://movingparts.net/2015/09/01/on-gaming-highest-quality-best-price/" rel="alternate" type="text/html" title="On Gaming, Highest Quality, Best Price" /><published>2015-09-01T22:15:24+00:00</published><updated>2015-09-01T22:15:24+00:00</updated><id>https://movingparts.net/2015/09/01/on-gaming-highest-quality-best-price</id><content type="html" xml:base="https://movingparts.net/2015/09/01/on-gaming-highest-quality-best-price/"><![CDATA[<p>I am a nerd and love video games. I looked into buying a gaming laptop, but after researching and talking to some friends who know more about this space than I do, I decided to go a different route.</p>
<p>First, the GPUs they put into laptops are nowhere near as good as the same model GPU you get in a desktop machine. The GTX-980M GPU is nowhere near as good as the GTX-980.</p>
<p>Second, gaming laptops are REALLY expensive. I was tempted to get a top of the line Alienware gaming laptop with a GTX-980M GPU. It cost over $2200. And that's for a graphics card that won't be able to handle what I want to throw at it anyway.</p>
<p>Third, I mainly do my gaming at home. If I travel, I don't want to have to lug around a second laptop for gaming. And competent gaming laptops are really heavy and bulky. I wanted to optimize my gaming experience at home. If I travel, I can "make do" with gaming natively on my MacBook Pro. Bootcamp is always an option too.</p>
<p>What I wanted was a better gaming experience while at home mainly. But I don't like being tied to a desktop machine, only being able to play from one room in the house. I wanted to be able to play from my laptop, in any room of the house, but to get a better gaming experience than I'm able to get from my current laptop (2013 Retina MacBook Pro). I also wanted to make sure that I bought something that was going to last me for at least the next 5 years. I just about only play Guild Wars 2 right now, but I wanted something that was going to be able to handle whatever I might want to play next.</p>
<p>Last week, I built myself a monster of a gaming desktop rig. I mainly play Guild Wars 2, and this machine lets me run GW2 on absolutely highest settings everywhere. The machine is a beast and I'm thrilled with it. GW2 looks like a totally different game on highest settings.</p>
<p>Then I set up Steam Streaming on the new desktop machine and manually added Guild Wars 2 to it. Now I can start up the Steam client from any Linux, Windows, or Mac laptop or computer in the house and stream the game in highest quality to it. The Steam client also allows me to turn on hardware rendering. This means that since the client machine isn't doing any of the heavy lifting, and all it's doing is rendering audio video to the screen, my MacBook Pro doesn't get hot, and doesn't use hardly any battery.</p>
<p>Playing Guild Wars 2 natively on my MacBook Pro in OS X is sub-par graphically. I have to turn all of the settings down to their lowest, just about. And the thing gets so hot that I can't put the laptop on my legs or else they'll get burned. And I get maybe an hour's worth of battery life. If I play in Windows 7 in Bootcamp, the graphics look better, but the rest of the problems exist.</p>
<p>But playing Guild Wars 2 through Steam Streaming, the game being hosted on my beast of a desktop machine upstairs, and only rendering on my MacBook Pro through Steam Streaming... the laptop doesn't get hot, the quality is amazing, and I get hours and hours of battery life.</p>
<p>I have Cat 6A networking running from my upstairs office down to my router in the basement and up again to the living room, where I have a 2012 Mac Mini and a 60" Plasma TV with surround sound stereo. The Mac Mini isn't powerful enough to run Guild Wars 2 natively with anything but lowest quality in OS X. However, using Steam Streaming, I'm able to have the highest quality settings and there's zero visible lag or rendering problems. And with surround sound, it is just an incredibly awesome experience. This is now my favorite way to play video games. This was definitely not the case prior to this new desktop machine I bought, or Steam Streaming.</p>
<p>One thing I was nervous about was being able to play Guild Wars 2 on my MacBook Pro via Steam Streaming, over my WiFi connection. I didn't really want to have to run Cat 6A wiring to every room in the house I'd possibly want to play from. I have an Airport Extreme upstairs, and an Asus RT-N66U Dark Knight Double 450Mbps N router in the basement. Between the two AP's, I'm able to sustain between 30 and 60 FPS through Steam Streaming. So yes, you can get the highest of quality from the Steam Streaming server in your house, to your laptop, over WiFi, assuming you have 802.11 n or ac.</p>
<p>Here's a picture of the parts I bought:</p>
<p><a href="http://movingparts.net/wp-content/uploads/2020/02/sitrep-i-did-a-thing-newgamingrig_20931842936_o-scaled.jpeg"><img src="/assets/2015/09/sitrep-i-did-a-thing-newgamingrig_20931842936_o-225x300.jpeg" alt="" width="225" height="300"></a></p>
<p>And here's the finished product:</p>
<p><a href="http://movingparts.net/wp-content/uploads/2015/09/sitrep-i-finished-doing-a-thing-newgamingrig_20971194021_o-scaled.jpeg"><img src="/assets/2015/09/sitrep-i-finished-doing-a-thing-newgamingrig_20971194021_o-300x225.jpeg" alt="" width="300" height="225"></a></p>
<p>Here's the parts I bought, based on this editable list: <a href="http://pcpartpicker.com/p/mvTWqs">http://pcpartpicker.com/p/mvTWqs</a>:</p>
<ul>
<li>Antec Nine Hundred Black Steel ATX Mid Tower Computer Case (<a href="http://amzn.to/1UiTeyH">http://amzn.to/1UiTeyH</a>)</li>
<li>Gigabyte GA-Z97X-UD3H-BK (Black Edition) Motherboard Core i7/i5/i3 LGA1150 Intel Z97 Express ATX RAID Gigabit LAN (Integrated Graphics) (<a href="http://amzn.to/1UiTjCn">http://amzn.to/1UiTjCn</a>)</li>
<li>Antec 750W 80-PLUS Gold ATX12V/EPS12V 750 Power Supply (<a href="http://amzn.to/1UiTnC8">http://amzn.to/1UiTnC8</a>)</li>
<li>Kingston HyperX Savage 32GB Kit (4x8GB) 1866MHz DDR3 Non-ECC CL9 DIMM XMP (<a href="http://amzn.to/1JroGI3">http://amzn.to/1JroGI3</a>)</li>
<li>ASUS STRIX GeForce GTX 980 Overclocked 4 GB DDR5 256-bit DisplayPort HDMI 2.0 DVI-I Graphics Card (<a href="http://amzn.to/1NYXhOT">http://amzn.to/1NYXhOT</a>)</li>
<li>Intel Core BX80646I74790K i7-4790K Processor (8M Cache, up to 4.40 GHz) (<a href="http://amzn.to/1JroIjh">http://amzn.to/1JroIjh</a>)</li>
</ul>
<p>I spent $1500 for the whole thing. I saved a bit since I already had a spare 2TB 7200 RPM HDD and a 500GB Samsung 840 EVO SSD. I still have a bunch of rebates I need to send in, which will lower the price. And I bought everything from Amazon, since I have Prime, but you could definitely save money by buying from whoever has the cheapest price for the parts you want.</p>
<p>I'm extremely pleased with the way all of this turned out. I was hesitant and worried that I'd mess something up, or that playing via Steam Streaming wasn't going to be a viable option for me.</p>
<p>I'm very happy to say that I was wrong.</p>
<p>This works beautifully so far and I love it.</p>
<p></p>
<p><br />
</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Apples" /><category term="Desktop" /><category term="Video Games" /><summary type="html"><![CDATA[I am a nerd and love video games. I looked into buying a gaming laptop, but after researching and talking to some friends who know more about this space than I do, I decided to go a different route.]]></summary></entry><entry><title type="html">Thoughts on Guild Wars 2 Expansion</title><link href="https://movingparts.net/2015/06/17/thoughts-on-guild-wars-2-expansion/" rel="alternate" type="text/html" title="Thoughts on Guild Wars 2 Expansion" /><published>2015-06-17T22:59:39+00:00</published><updated>2015-06-17T22:59:39+00:00</updated><id>https://movingparts.net/2015/06/17/thoughts-on-guild-wars-2-expansion</id><content type="html" xml:base="https://movingparts.net/2015/06/17/thoughts-on-guild-wars-2-expansion/"><![CDATA[<p>As I mentioned previously, I BIG TIME LOVE Guild Wars 2. And now <a href="http://buy.guildwars2.com/store/gw2/en_US/html/pbPage.heartofthorns">there's an expansion coming</a> and I am really excited about it. But I've seen a lot of complaining from current players that ArenaNet decided to charge $50 for it and also throw the core game in for free for people who don't have it already. I think the thought process there is "well, I spent $50 on the game already, and now I have to spend another $50, so my investment is $100; whereas new players will only have to pay $50 for all that I have now." I think this is a flawed mindset and I dumped this into my Guild's Facebook group post earlier and thought I'd also post it here.</p>
<p>I have a different opinion. I think $50 is a completely fair price for an expansion, especially considering that Guild Wars 2 has no monthly or recurring subscription fee. <span data-reactid=".2.1:4:1:$comment804785519635549_804820059632095:0.0.$right.0.$left.0.0.1.$comment-body.0.3"><span data-reactid=".2.1:4:1:$comment804785519635549_804820059632095:0.0.$right.0.$left.0.0.1.$comment-body.0.3.0"><span data-reactid=".2.1:4:1:$comment804785519635549_804820059632095:0.0.$right.0.$left.0.0.1.$comment-body.0.3.0.$end:0:$text0:0">I think a better question to ask is is $50 a fair price for a major expansion to the game, regardless of all the other issues around core game being included for new gamers? I think it is.</span></span></span></p>
<div class="_209g _2vxa" data-block="true" data-offset-key="b6an5-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$b6an5"><span data-offset-key="b6an5-1-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$b6an5.1:$b6an5-1-0">If you think about from the perspective of "I spent $50 and now I have to spend another $50, while people who have never signed up before just have to spend $50 to get the same thing as me", you're guaranteed to be frustrated and disappointed. But I think that is a flawed base point of view. The new people don't get the same thing as you. If you spent $50 on the game even just 3 months ago and played for the last 3 months, you got 3 months of enjoyment and experience and rewards out of it that a new person won't have gotten. So it's not like that earlier $50 (or whatever you spent on the game at first) doesn't give you anything more than the person who is just buying the game now for the first time.</span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa"><span data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa.0:$asbfa-0-0">ANet has said that the expansion is $50. Period.</span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa"><span data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa.0:$asbfa-0-0">They're throwing in the rest of the existing game to entice new people to join us. </span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa"><span data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa.0:$asbfa-0-0">None of that is bad, IMHO. </span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa"><span data-offset-key="asbfa-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$asbfa.0:$asbfa-0-0">$50 is completely fair for an expansion we've been waiting for 3 years for. New people don't have to buy 2 things! Great! Get a bunch of new people in! It'll drive up the value of the things that us current players have been accumulating! It'll keep this game alive longer! It'll enable ANet to continue to invest in adding content and new features! Awesome! Let's keep it alive! =:)</span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="7m8fd-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$7m8fd"><span data-offset-key="7m8fd-2-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$7m8fd.2:$7m8fd-2-0">I've invested thousands of hours in this game and spent lots of $RealMonies$, and what I got out of it was a year of having an absolute blast. I've tried other games out there and nothing even comes close to GW2. $50 is right in line with every other expansion out there. The fact that you could have bought the game and been playing for $FREE for the last 3 years is amazing and different. I choose to encourage and support a company who is willing to buck the trend of monthly subscriptions. I'd MUCH rather spend $50 here and there on a game that I truly enjoy and that lets me do things that I want to do than have to pay $20 every month just to be able to play the game at all.</span></div>
<div class="_209g _2vxa" data-block="true" data-offset-key="74bgs-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$74bgs"><span data-offset-key="74bgs-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$74bgs.0:$74bgs-0-0">Not making any commission here at all, just trying to bring balance to the discussion. =:) FWIW, I'm extremely pleased with having spent $100 last night on the expansion. I immediately got:</span></div>
<ul>
<li class="_209g _2vxa" data-block="true" data-offset-key="aasbj-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$aasbj"><span data-offset-key="aasbj-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$aasbj.0:$aasbj-0-0">4000 gems (which I needed to buy anyway and was going to in the next week or so. this would have cost me $50 by itself anyway)</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="4d8ot-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$4d8ot"><span data-offset-key="4d8ot-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$4d8ot.0:$4d8ot-0-0">a Guild Hall decoration thingy that I can hang in our new Guild Hall when it comes out!! Gonna be so cool and SWAG!</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="1i7bq-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$1i7bq"><span data-offset-key="1i7bq-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$1i7bq.0:$1i7bq-0-0">a Revenant Rytlock (different from the previous Rytlock miniature!!)</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="62rsl-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$62rsl"><span data-offset-key="62rsl-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$62rsl.0:$62rsl-0-0">a Revenant Finisher (PLEASE watch <a href="https://www.youtube.com/watch?v=FrLbseXmp9o">https://www.youtube.com/watch?v=FrLbseXmp9o</a> and tell me that isn't one of the most awesome finishers in the game!!! Rytlock is so angry!!!)</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="eeef9-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$eeef9"><span data-offset-key="eeef9-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$eeef9.0:$eeef9-0-0">an exclusive glider</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="36i5e-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$36i5e"><span data-offset-key="36i5e-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$36i5e.0:$36i5e-0-0">an exclusive title</span></li>
<li class="_209g _2vxa" data-block="true" data-offset-key="f9nch-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$f9nch"><span data-offset-key="f9nch-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$f9nch.0:$f9nch-0-0">access to ALL the upcoming beta events (I spent at least 40 hours grinding in Silverwastes and Dry Top before the last beta to try to get in and couldn't get the beta portal key to drop. I'd spend $50 just for the ability to not have to do that again!)</span></li>
</ul>
<div class="_209g _2vxa" data-block="true" data-offset-key="aij0o-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$aij0o">Okay, I'll shut up now. I feel like I'm ranting or trying to win an argument. I'm really not. I just think there's a flawed base assumption and invalid feelings of entitlement that's behind a lot of the complaining about the price out there. Every map I've been in for the last 13 hours or so is full of people complaining and thinking they're entitled and it's frustrating.</div>
<div class="_209g _2vxa" data-block="true" data-offset-key="aij0o-0-0" data-reactid=".2.1:5.0.$right.0.0.0.0.1.0.0.1.0.0.$aij0o">So what do you think? =:D</div>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Video Games" /><category term="guildwars2" /><summary type="html"><![CDATA[As I mentioned previously, I BIG TIME LOVE Guild Wars 2. And now there's an expansion coming and I am really excited about it. But I've seen a lot of complaining from current players that ArenaNet decided to charge $50 for it and also throw the core game in for free for people who don't have it already. I think the thought process there is "well, I spent $50 on the game already, and now I have to spend another $50, so my investment is $100; whereas new players will only have to pay $50 for all that I have now." I think this is a flawed mindset and I dumped this into my Guild's Facebook group post earlier and thought I'd also post it here.]]></summary></entry><entry><title type="html">Neato Botvac 80 Is The Best Robot Vacuum Out There (No Really)</title><link href="https://movingparts.net/2015/04/01/neato-botvac-80-is-the-best-robot-vacuum-out-there-no-really/" rel="alternate" type="text/html" title="Neato Botvac 80 Is The Best Robot Vacuum Out There (No Really)" /><published>2015-04-01T20:17:36+00:00</published><updated>2015-04-01T20:17:36+00:00</updated><id>https://movingparts.net/2015/04/01/neato-botvac-80-is-the-best-robot-vacuum-out-there-no-really</id><content type="html" xml:base="https://movingparts.net/2015/04/01/neato-botvac-80-is-the-best-robot-vacuum-out-there-no-really/"><![CDATA[<p>I posted this on <a href="http://www.amazon.com/gp/cdp/member-reviews/A1QYNNXJ0C8PE6/ref=pdp_new">my Amazon Reviews page</a> too, but I figured it was worth a blog post as well.</p>
<p><a href="http://www.amazon.com/gp/product/B00J08ITFG/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00J08ITFG&amp;linkCode=as2&amp;tag=movipart-20&amp;linkId=LLCJN2LR5EKOCH32"></a><br />
I cannot emphasize how much I love the <a href="http://www.amazon.com/gp/product/B00J08ITFG/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00J08ITFG&amp;linkCode=as2&amp;tag=movipart-20&amp;linkId=LLCJN2LR5EKOCH32">Neato Botvac 80</a>! It's still early days and we've only had it for a month or so, but the Botvac 80 is absolutely perfect for our family.</p>
<p>We have a large house. It's around 1100 square feet per level and we have 3 levels. We've had a Neato XV-11 for 3 years now and it has some very major design flaws. The belt and gear assembly underneath, where the brush is, is exposed and not protected. This means that the belt and gear are constantly getting clogged with hair. The only way to clean this area is to get a very long sharp pointy thing (I use an exacto knife) and a very long pointy set of tweezers. And then you spend, I kid you not, at least 15 minutes each time the XV-11 gets clogged and tells you "my brush is stuck", cleaning it out. I used the XV-11 to clean our upstairs carpet and the first time through, I had to clean its belt and gear area 6 times before it finally got through. This is just irritating beyond belief. Here's a YouTube video that shows what I'm talking about:</p>
<p>https://www.youtube.com/watch?v=ZbwBgpgz67M</p>
<p>The display on our XV-11 finally completely died and all we have now is a bright white square that tells us nothing when there's problems. So it was time to look for a new robot vacuum. I looked at the Roomba line and was hoping that they'd fixed the major design flaw that drove me to buy a Neato originally: Roombas run out of battery and go back to their charging station... and call it a day. They don't go back out and finish the job. You either have to start them manually again or wait for their next scheduled time to run. And they're going to start from the very beginning again, either way, so they're probably going to run out of battery before they finish the job again! Neatos, on the other hand, will return to their charging station, charge back up again, and go back out to right where they left off and finish the job. Like it should be!</p>
<p>Even the latest Roomba models have not fixed this yet.</p>
<p>Also, Roombas use little lighthouse stations that you have to buy and stick D batteries in to block off areas for the vacuum. Neatos, on the other hand, use a simple magnetic strip that you can put anywhere, even under carpet, to block off areas for it not to cross over. And since it's a simple magnetic strip, you can make your own magnetic strips and not have to buy them from Neato. We do this often, either temporarily or seasonally (to keep it from going under the Christmas tree, etc.).</p>
<p>So I looked at the Neato Botvacs and tried to see if they'd addressed the gear/belt design flaw. I couldn't find any reviews that said they did. I also found a lot of people making negative reviews, saying that the Botvac is just a rebranding of the XV line and not worth the money. BOY WERE THEY WRONG!</p>
<p>The Botvac 80 has completely addressed the gear/belt design flaw. This area is completely enclosed now and cannot possibly get clogged with hair. They've also improved the brush design, the size and quality of the dust bin, the HEPA filter, the interface, button layout, the charging station, used ball bearings to help the brush spin more freely, and even the noise level is MUCH better (quieter) than the XV-11 that we have. They also added a side brush, like the one the Roomba has, to make sure the robot can get the entire surface of the floor, up to the edge of the walls, and even under the edges of furniture. Oh, and they made it shorter, so it fits under more furniture now and cleans better.</p>
<p>I hate spending money on things that do simple jobs. Especially large amounts of money ($400 or so) for something as "simple" as sweeping/vacuuming. But I can tell you that I am 100% satisfied with the Neato Botvac 80. I will be buying at least one more for the upstairs and basement. It is SO worth the money spent.</p>
<p>Neato still seems to be the underdog in the Vacuum Robot wars. Roomba has made some really nice products and has a lot of brand recognition. But I wholeheartedly recommend the Neato Botvac, especially if you're coming from an older Neato XV model like we were. It will blow you away with how good it is. Disclaimer: I've had absolutely zero contact from Neato, spent $400+ of my own monies, and this is not a paid review in any way. That being said, I'd LOVE to test any of Neato's products in the future,. =:D</p>
<p>Well done, Neato. I've fallen in love with your robot... again.</p>
<p><iframe style="width: 120px; height: 240px;" src="//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ss&amp;ref=ss_til&amp;ad_type=product_link&amp;tracking_id=movipart-20&amp;marketplace=amazon&amp;region=US&amp;placement=B00J08ITFG&amp;asins=B00J08ITFG&amp;linkId=EXSLVCGNFVMD6MYR&amp;show_border=true&amp;link_opens_in_new_window=true" width="300" height="150" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"><br />
</iframe></p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Life in General" /><summary type="html"><![CDATA[I posted this on my Amazon Reviews page too, but I figured it was worth a blog post as well.]]></summary></entry><entry><title type="html">Guild Wars 2 AC Dungeon, Path 3, Burrows Pattern, Memorization By Grid</title><link href="https://movingparts.net/2014/11/18/guild-wars-2-ac-dungeon-path-3-burrows-pattern-memorization-by-grid/" rel="alternate" type="text/html" title="Guild Wars 2 AC Dungeon, Path 3, Burrows Pattern, Memorization By Grid" /><published>2014-11-18T20:29:43+00:00</published><updated>2014-11-18T20:29:43+00:00</updated><id>https://movingparts.net/2014/11/18/guild-wars-2-ac-dungeon-path-3-burrows-pattern-memorization-by-grid</id><content type="html" xml:base="https://movingparts.net/2014/11/18/guild-wars-2-ac-dungeon-path-3-burrows-pattern-memorization-by-grid/"><![CDATA[<p>I've been playing <a href="https://www.guildwars2.com/en/">Guild Wars 2</a> lately and I absolutely LOVE it. That's actually an understatement. I may have a problem. Guild Wars 2 is SO awesome. It's the first MMO RPG I've ever seriously tried outside a brief try at WoW, so I don't have anything else to really compare it to. But this guy does! So if you've played other RPG's before, or you're wondering what Guild Wars 2 is all about, check out <a href="https://www.youtube.com/watch?v=Ax-_06Acj8Y">this Guild Wars 2 Angry Review</a> for perspective. tl;dw: he loves it, which is RARE. Warning, there's some amount of cursing in this review, sadly.</p>
<p>https://www.youtube.com/watch?v=Ax-_06Acj8Y</p>
<p>Anyway, Guild Wars 2 is AWESOME. It's a <a href="http://buy.guildwars2.com/store/gw2/en_US/html/pbPage.buyguildwars2">single, very inexpensive, price up front</a> and no monthly fees. I won't get into how much I love the game or why right now, but "IMMENSELY" and "IN EVERY WAY" are good descriptors. We've been playing as a family too and that's been a whole lot of fun, when school, work and busy-ness don'tÂ intrude.</p>
<p>I found an <a href="https://www.facebook.com/GW2ChristianFellowship">awesome Guild</a> to be a part of. We do dungeon speed runs, which get you lots of gold quickly, allow you to quickly level up characters, and are tons of fun when you coordinate as a team. One of the dungeons we speed-run is <a href="http://wiki.guildwars2.com/wiki/Ascalonian_Catacombs_(explorable)">Ascalonian Catacombs (AC</a>). AC path 3 has a part where you have to take out a sequence of 15 burrows that pop up and spawn gravelings. If you don't kill the burrows quickly, you DIE. So what you want to do is memorize where each of the 15 burrows are going to spawn and then get to that spot before they spawn and take them out immediatelyÂ (Ice Bow #4 from an <a href="http://wiki.guildwars2.com/wiki/Elementalist">Elementalist</a> is our preferred way of doing this).</p>
<p>But it's really stinking hard to memorize the pattern where the burrows are going to spawn. I've seen people describe this pattern in terms of standing in a particular spot in the dungeon, <a href="http://gaminggix.com/guild-wars-2/ascalonian-catacombs-path-3-burrows-pattern/">like this page does</a>:</p>
<p> </p>
<p>... but that's super confusing to me. Maybe I'll have to learn it that way eventually, but I wanted to try a different approach.</p>
<p>I found <a href="http://gw2dungeons.net/media/dungeonimages/ACP3_burrows.jpg">this top-down map (copyright Oranisagu)</a>, which shows the graveling burrow locations. And I thought that if I overlaid the map with a simple 3x3 grid, maybe I could memorize the grid location sequence.</p>
<p>So here's my stab at it. All I did was take <a href="http://gw2dungeons.net/media/dungeonimages/ACP3_burrows.jpg">Oranisagu's map</a> and overlaid it with a grid:</p>
<p>[caption id="attachment_4579" align="alignnone" width="300"]<a href="http://movingparts.net/wp-content/uploads/2014/11/acp3-burrow-map-with-grid_15200499754_o.jpeg"><img src="/assets/2014/11/acp3-burrow-map-with-grid_15200499754_o-300x266.jpeg" alt="" width="300" height="266"></a> I took Oranisagu's ACP3 burrow map (this image belongs to him) and put a grid on top of it to try to make it easier to memorize burrow spawn locations.[/caption]</p>
<p>My thinking is that I can memorize the spawn locations by grid ID. Like:</p>
<ol>
<li>2</li>
<li>5</li>
<li>4</li>
<li>8</li>
<li>7</li>
<li>6</li>
<li>2</li>
<li>6</li>
<li>5</li>
<li>8</li>
<li>9</li>
<li>1</li>
<li>3</li>
<li>8</li>
<li>3</li>
</ol>
<p><strong>So, the graveling burrow spawn sequence, by grid ID would be 2548-7626-5891-383.</strong></p>
<p>I don't know if that's helpful for anyone, or if it's even going to work for me. But I haven't seen anyone else try this, so I figured it was worth a shot. We'll see how it goes. It occurred to me that it might also work if I use a clock (1 - 12 o'clock, etc.) as a positioning system, but I think that would be even harder than this.</p>
<p>Any thoughts?</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Video Games" /><category term="dungeon" /><category term="guildwars2" /><category term="gw2" /><summary type="html"><![CDATA[Wherein our fearless GuildWars2-playing blogger attempts to memorize the burrow graveling spawn pattern in AC P3.]]></summary></entry><entry><title type="html">I need to blog more again, social media and iPad be darned</title><link href="https://movingparts.net/2013/12/22/i-need-to-blog-more-again-social-media-and-ipad-be-darned/" rel="alternate" type="text/html" title="I need to blog more again, social media and iPad be darned" /><published>2013-12-22T21:08:39+00:00</published><updated>2013-12-22T21:08:39+00:00</updated><id>https://movingparts.net/2013/12/22/i-need-to-blog-more-again-social-media-and-ipad-be-darned</id><content type="html" xml:base="https://movingparts.net/2013/12/22/i-need-to-blog-more-again-social-media-and-ipad-be-darned/"><![CDATA[<p><p>I haven't blogged much lately. I'm sure this isn't that big of a deal to anyone but me, based on the complete lack of questions like "hey, you haven't blogged much lately, is everything okay", etc. It's also obvious to me that my friends, who themselves used to be avid bloggers, now don't really do all that much with their blogs anymore either. </p></p>
<p>But it's been bothering me for a while.</p></p>
<p>I blame Twitter and Facebook, personally. It used to be that the only way we had to be social, with ideas and feedback and such, were blogs. And with Twitter and Facebook, it's so easy to satisfy 90% of my desire to communicate with and get feedback from my friends, that I just rarely think about blogging much anymore.</p></p>
<p>I blame awesome technology like my iPad too. It used to be that I'd nearly always have a laptop on my lap, and it was much easier to just open a new tab and blog something. I was the loudest of scoffers when the iPad first came out. I thought that this was just one new technology that was a clear attempt at taking more money out of my wallet and that there's no way it would actually work for me. After all, I'm a software developer!! I eat and breathe and live code! I live in the Matrix!!! So why would I ever want to get a device like a tablet that I couldn't even compile code on?!?</p></p>
<p>That didn't last long, of course. I got an iPad because it was shiny and I thought it would be neat to have as a cool toy, and I wanted to have one like my friends. But I honestly didn't think it'd be the device that I used most whilst not at work.</p></p>
<p>Boy was I wrong.</p></p>
<p>I'm sure I'm not alone in this, but I now use my iPad probably at least 99% of the time when I'm not at work. I won't even go into the discussion about how this has led me to not hacking on Open Source projects hardly at all anymore. That's just too depressing. But I will say that having my iPad be my 99% device outside of work means that it's just not as easy to blog anymore.</p></p>
<p>But I think I want to change this. I managed to resurrect my Think Outside Stowaway folding bluetooth keyboard once again (COME ON, JORNO KEYBOARD!!!!). And I've discovered the free Posts application for the iPad, which is what I'm using right now. And this feels doable.</p></p>
<p>So here I sit, in the local Starbucks lobby, about to enjoy a Pumpkin Spice Egg Nog Latte, blogging once again. And it feels good.</p></p>
<p>I still need to figure out how to tie my blog into the social networks better. I'd love any suggestions and help with that. I think I'm using the Social plugin for my Wordpress blog right now. Maybe there's something better?</p></p>
<p>Anyway, here's to blogging in the New Year. And here's wishing all of you a very Merry Christmas. =:)</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Life in General" /><summary type="html"><![CDATA[I haven't blogged much lately. I'm sure this isn't that big of a deal to anyone but me, based on the complete lack of questions like "hey, you haven't blogged much lately, is everything okay", etc. It's also obvious to me that my friends, who themselves used to be avid bloggers, now don't really do all that much with their blogs anymore either. ]]></summary></entry><entry><title type="html">You Have To Actually Start To Cancel A Phone Line To Get Good Customer Service?</title><link href="https://movingparts.net/2012/11/09/you-have-to-actually-start-to-cancel-a-phone-line-to-get-good-customer-service/" rel="alternate" type="text/html" title="You Have To Actually Start To Cancel A Phone Line To Get Good Customer Service?" /><published>2012-11-09T22:00:57+00:00</published><updated>2012-11-09T22:00:57+00:00</updated><id>https://movingparts.net/2012/11/09/you-have-to-actually-start-to-cancel-a-phone-line-to-get-good-customer-service</id><content type="html" xml:base="https://movingparts.net/2012/11/09/you-have-to-actually-start-to-cancel-a-phone-line-to-get-good-customer-service/"><![CDATA[<p>This is more of a rant than anything else. I despise the "threaten to cancel your phone account to get good customer service" approach to dealing with companies, so I've not tried it before. And this was no idle threat today... I was fully prepared to cancel a phone line to get what I needed. So please don't read this as "hey, this trick worked for me and you should try it too," because it's definitely not. I was prepared to cancel 1 phone line to get what I needed, but Sprint surprised me by doing what I'd been asking them to do for the last month to keep me from canceling. And I'm hesitant to even post this because I am honestly thankful that I'm able to do what I need to do for my family without having to cancel any phone lines and I don't want people to read this as a possible strategy or a way to cheat the system. But I'm more than just a little bit irritated that I had to actually call to cancel a phone line to get the good customer service I felt I deserved.</p>
<p>But I'm getting ahead of myself...</p>
<p>We have 6 smart phones on my Sprint mobile phone account. Prior to today and with absolute certainty for the last month, I was told that Sprint is utterly and physically and technically unable to add more than 5 phone lines to a shared family plan, and that if you add more lines, you have to add another plan. This meant that I had 5 phone lines on Sprint's "1500 minutes, shared everything" plan for ~ $250 per month and then I had to buy another plan to service the 6th phone line. So instead of spending $250 for 5 lines and adding the 6th line on for the usual $19.99 per month, Sprint was making me pay $70 per month for the 6th phone line because it required an additional plan. Mind you, we use maybe only 500 shared minutes on our main "1500 minutes, shared everything" plan, so we're theoretically paying for a lot of minutes that just go to waste every month. But anyway...</p>
<p>I have tried at least 5 times in the last month to get Sprint to figure out some way to let me include the 6th phone line as part of our 5-line shared everything plan. I spent 4 hours in the Verizon and AT&amp;T stores, talking with their sales people and comparing how much they'd charge for the same services that I'm getting from Sprint. I did a pretty extensive spreadsheet which showed me that while AT&amp;T and Verizon would cost me less in the long run, I'd have an up-front cost of about $1000 between early termination fees and buying new phones to switch from Sprint and one of their competitors. And I was honestly at the point of being tired of getting poor customer service from Sprint on the 6 lines thing, and also the mobile hotspot thing, that I was willing to pay that $1000 and move from Sprint to AT&amp;T or Verizon. I called Sprint's customer service and told them that I was unwilling to pay $70 for a 6th line and $19.99 for the privilege of having 2GB of mobile hotspot on one phone. I asked them if there was anything that they could do to work with me and convince me to stay with Sprint rather than canceling my 6 phone lines with them and my $350/month bill. And I received a resounding and final "nope, sorry, there's nothing we can do for you."</p>
<p>And so, today, I called Sprint customer service and told them that I wanted to cancel one of my phone lines. I spoke to an account representative who understood that I was not threatening to cancel. I was actually calling to cancel. And to my HUMONGOUS surprise, the account rep told me that she talked to her manager and they were able to just go ahead and put the 6th phone line on our main shared everything plan. This means that instead of having to have a separate plan for the 6th line and pay $70 per month for it alone, we would only have one phone plan and the 6th line would only cost us $19.99 extra per month.</p>
<p>Hallelujah! This is what I've been asking for for the last month!</p>
<p>But... wait a second.... Why didn't Sprint do this to begin with? What is the difference between asking if there's anything Sprint is willing to do to keep me as a customer, versus canceling a phone line?</p>
<p>It seems to my poor, uneducated-in-the-ways-of-mobile-phone-providers head that the difference is between making threats to cancel and actually canceling. Maybe in their minds, what I was doing before was trying to trick Sprint into giving me better customer service by threatening to leave them, and maybe they don't respond to that or like it? But when I call to actually cancel a phone line with no questions first, then they're able to actually give me good customer service so I don't leave them?</p>
<p>Either way, it seems really petty and stupid to me. Maybe it makes sense to them because if people could just call and ask for good service and say that they're thinking of leaving Sprint, they'd end up not making as much money because they wouldn't be able to charge people as much per month? Maybe people would take advantage of Sprint and sign up all of their friends on their phone plan and that would be dishonest? Maybe there's a rule book for Sprint customer service that says not to budge on things like this unless the customer is not merely threatening to cancel, but actually canceling?</p>
<p>I dunno... it's just frustrating to be pushed to the wall and have to actually say "screw this; I'm outta here" to get what you feel like is fair and good customer service from a company. Maybe Sprint could sense fear or uncertainty when I called previously to say "hey, take me seriously, I'm really thinking of jumping ship"? Maybe they thought "ah, he's just bluffing... he won't really do it... we should stand firm and not give in?" Maybe the lady I spoke to previously didn't actually care about giving good customer service and this lady did? Maybe when I called today, I had a manlier voice and it was clear that I wasn't messing around?</p>
<p>Anyway, I don't know what the rules and guidelines are for this game--either for the customer's or Sprint's side. I feel like I just discovered a secret way of getting good customer service... and I really don't like it. I don't want to have to start canceling service to get what I need. I'd like to just have good customer service provided to me because it's the right thing to do and that's how you should treat people. Say what you will about Apple, but I feel like they do a really good job at this and I think they deserve the customer loyalty that they've earned because of it.</p>
<p>End result: if the coming month's bills reflect what was promised to me today, I'll be staying with Sprint. Somewhere between grudgingly and happily, but staying nonetheless. For a family with 5 smart phones, Sprint honestly is the cheapest provider out there right now. And other than a few hiccups with my iPhone5 (which decided to get stuck in an infinite reboot loop last night and had to be DFU-restored to stop!?) and mobile hotspot reporting that I used 2GB worth of tethered data in 3 hours (is that even possible to do over a 3G data connection??), I'm otherwise very happy with Sprint. And today, I got good customer service from them, just as I have in the past.</p>
<p>I just hate that I had to go to <a href="http://en.wikipedia.org/wiki/DEFCON" target="_blank" rel="noopener noreferrer">DEFCON 1</a> to get it.</p>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Life in General" /><category term="phones" /><category term="sprint" /><summary type="html"><![CDATA[This is more of a rant than anything else. I despise the "threaten to cancel your phone account to get good customer service" approach to dealing with companies, so I've not tried it before. And this was no idle threat today... I was fully prepared to cancel a phone line to get what I needed. So please don't read this as "hey, this trick worked for me and you should try it too," because it's definitely not. I was prepared to cancel 1 phone line to get what I needed, but Sprint surprised me by doing what I'd been asking them to do for the last month to keep me from canceling. And I'm hesitant to even post this because I am honestly thankful that I'm able to do what I need to do for my family without having to cancel any phone lines and I don't want people to read this as a possible strategy or a way to cheat the system. But I'm more than just a little bit irritated that I had to actually call to cancel a phone line to get the good customer service I felt I deserved.]]></summary></entry><entry><title type="html">Changing Background/Wallpaper on OS X With Multiple Spaces and Multiple Monitors</title><link href="https://movingparts.net/2012/09/25/changing-backgroundwallpaper-on-os-x-with-multiple-spaces-and-multiple-monitors/" rel="alternate" type="text/html" title="Changing Background/Wallpaper on OS X With Multiple Spaces and Multiple Monitors" /><published>2012-09-26T00:31:02+00:00</published><updated>2012-09-26T00:31:02+00:00</updated><id>https://movingparts.net/2012/09/25/changing-backgroundwallpaper-on-os-x-with-multiple-spaces-and-multiple-monitors</id><content type="html" xml:base="https://movingparts.net/2012/09/25/changing-backgroundwallpaper-on-os-x-with-multiple-spaces-and-multiple-monitors/"><![CDATA[<p>There are a bunch of partial solutions and comments and questions "out there" about how to change the background/wallpaper on OS X so that you have the same background image on all of your desktops/spaces and all of your monitors. The way Apple has implemented this, at least on Lion, is goofy as heck. I've been participating in one of these discussions on this <a href="https://discussions.apple.com/message/15665521#15665521">Apple Support Community thread</a> and while there's been a couple of decent hacks, I've not really liked any of them so far.</p>
<p>I was playing with this again today, not really happy with any of the solutions I've seen. I first started looking into <a href="http://appscript.sourceforge.net/index.html">python/appscript</a>, which used to expose the internal bits necessary to do this, but I discovered that it's been discontinued. I did find some nice Applescript examples that led me down a different path. Here's what I've ended up with. And my apologies to the numerous people who came up with partial solutions to this... this has been cobbled together from their work, but I didn't keep track of all the parts.</p>
<p>This Applescript (I saved mine as ~/bin/changeBackground.scpt) will prompt you for a new background image, then it will iterate through all your spaces and per each space iterate through all monitors and set the background image. I have 8 spaces, for example, so this script will prompt me for a new background image and then switch to desktop 1, change both right and left monitor backgrounds, and then switch to desktop 2 and so on. This is only the second time I've tried playing with Applescript at all, so there's probably some things I'm not doing right, but thus far, this seems to be working better than the other options I've tried!</p>
<p>It's still a little goofy because it requires actually flipping through the spaces (at least it's automated!) while it changes the background for each space. And this particular implementation requires the user to manually set how many desktops they have, as well as the keybinding that takes you to desktop 1 as well as the keybinding for "move right a space". I would LOVE to see this Applescript enhanced so it doesn't require that to be changed per individual user. And this script requires "enable access for assistive devices" to be set under Universal Access.</p>
<p>But anyway... disclaimers aside, I'd love to hear comments, etc. =:)</p>
<blockquote><p>-- pick a new background image<br />
set theFile to choose file</p>
<p>-- Find out how many spaces/desktops you have (this doesn't work on Lion?):<br />
tell application "System Preferences"<br />
reveal anchor "shortcutsTab" of pane id "com.apple.preference.keyboard"<br />
tell application "System Events" to tell window "Keyboard" of process "System Preferences"<br />
set numSpaces to count (UI elements of rows of outline 1 of scroll area 2 of splitter group 1 of tab group 1 whose name begins with "Switch to Desktop")<br />
end tell<br />
quit<br />
end tell</p>
<p>log numSpaces</p>
<p>-- the above doesn't work, apparently, so set the number of spaces/desktops manually<br />
set numSpaces to 8</p>
<p>log numSpaces</p>
<p>-- Loop through the spaces/desktops, setting each of their backgrounds in turn:<br />
-- *Note*: Set your keyboard shortcut for desktop 1 if it's different<br />
tell application "System Events" to key code 18 using {command down} -- Desktop 1</p>
<p>repeat (numSpaces) times</p>
<p>-- Now loop through each monitor (confusingly called desktop) and change its background<br />
tell application "System Events"<br />
set monitors to a reference to every desktop<br />
set numMonitors to count (monitors)<br />
log numMonitors<br />
repeat with monitorIndex from 1 to numMonitors by 1<br />
set picture of item monitorIndex of the monitors to theFile<br />
end repeat<br />
end tell</p>
<p>delay 1</p>
<p>-- switch to the next desktop<br />
-- *Note:* Set your keyboard shortcut for "next desktop" if it's different<br />
tell application "System Events" to key code 124 using {command down, control down} -- ⌘→<br />
delay 1<br />
end repeat</p></blockquote>]]></content><author><name>Jason &apos;vanRijn&apos; Kasper</name></author><category term="Apples" /><category term="Desktop" /><summary type="html"><![CDATA[There are a bunch of partial solutions and comments and questions "out there" about how to change the background/wallpaper on OS X so that you have the same background image on all of your desktops/spaces and all of your monitors. The way Apple has implemented this, at least on Lion, is goofy as heck. I've been participating in one of these discussions on this Apple Support Community thread and while there's been a couple of decent hacks, I've not really liked any of them so far.]]></summary></entry></feed>