<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Lucas Pardue - Bits &amp;&amp; Pieces</title>
    <link>https://lucaspardue.com/post/</link>
    <description>Recent content in Posts on Lucas Pardue - Bits &amp;&amp; Pieces</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 30 Nov 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://lucaspardue.com/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Custom Bluesky Handles with Hono and Cloudflare Workers</title>
      <link>https://lucaspardue.com/2024/11/30/custom-bluesky-handles-with-hono-and-cf-workers/</link>
      <pubDate>Sat, 30 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2024/11/30/custom-bluesky-handles-with-hono-and-cf-workers/</guid>
      <description>&lt;p&gt;I recently changed my Bluesky handle from &lt;code&gt;@simmervigor.bsky.social&lt;/code&gt; to&#xA;&lt;code&gt;@simmervig.org&lt;/code&gt;. I did this using the HTTP validation method, which relies on&#xA;providing custom responses to &lt;code&gt;/.well-known/atproto-did&lt;/code&gt;. The blog explains how&#xA;I used &lt;a href=&#34;https://hono.dev/&#34;&gt;Hono&lt;/a&gt; to set up a simple request router and run it in&#xA;Cloudflare Workers. You too can use this method to easily and quickly set up a&#xA;bunch of handles under a unified organisation e.g., &lt;code&gt;@alice.example.org&lt;/code&gt; and&#xA;&lt;code&gt;@bob.example.org&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>De-Press-ed: Migrating from WordPress to Cloudflare Pages</title>
      <link>https://lucaspardue.com/2024/10/10/depressed-migrating-from-wordpress-to-cloudflare-pages/</link>
      <pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2024/10/10/depressed-migrating-from-wordpress-to-cloudflare-pages/</guid>
      <description>&lt;p&gt;This website was previously powered by a self-hosted WordPress, running on a&#xA;VPS. In front of that, sat Cloudflare and its&#xA;&lt;a href=&#34;https://www.cloudflare.com/en-gb/application-services/products/automatic-platform-optimization/&#34;&gt;APO&lt;/a&gt;&#xA;product that helped to speed it up and reduce burden on the origin.&lt;/p&gt;&#xA;&lt;p&gt;The origin server was an old-school, janky, LAMP stack. In spite of the rest of&#xA;the world seeming having ditched LAMP (or its ilk) and performing a chain of&#xA;moves from the hottest static site framework year-to-year, I took a certain joy&#xA;in the legacy. I liked the fact I was dogfooding the experience of taking a weak&#xA;origin and magically turning it into something that can operate at Internet&#xA;scale with a few button clicks.&lt;/p&gt;&#xA;&lt;p&gt;Lately though, there&amp;rsquo;s been a bit of bluster in the world of WordPress. I have&#xA;little skin in that game, other than as an end-user of a software product that I&#xA;have to run and maintain. That meant having posts on the matter thrust into &lt;em&gt;my&lt;/em&gt;&#xA;WordPress dashboard under the &amp;ldquo;Wordpress News and Events&amp;rdquo; panel. Sure, I can&#xA;remove that panel, but it used to have some value. Abusing the panel to&#xA;inundanate me with WordPress politics is not cool. And the more I&amp;rsquo;ve read, the&#xA;more it seems like there are some very blurry lines between the WordPress&#xA;open-source project, WordPress foundation, wordpress.org, wordpress.com,&#xA;WPTavern.&lt;/p&gt;&#xA;&lt;p&gt;This site is simple and has infrequent content updates. WordPress was really&#xA;overkill for my needs. However, maintaining it did have some toil. wordpress.org&#xA;decided to tell me in my dashboard that they had blocked some sites from their&#xA;update servers. Am I next? Probably not. Yet, the fussing about I&amp;rsquo;ve seen on the&#xA;Internet the past couple of weeks has given me the kick up the arse to finally&#xA;ditch WordPress. I started the migration away from WordPress a few days ago,&#xA;and in the meantime the situation has continued to escalate in absurdity. In the&#xA;words of Blumhouse, its time to say NOPE, GET OUT.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://lucaspardue.com/2024/10/10/depressed-migrating-from-wordpress-to-cloudflare-pages/images/getout.jpg&#34;&#xA;    alt=&#34;Get Out movie promotional title&#34;&gt;&#xA;&lt;/figure&gt;</description>
    </item>
    <item>
      <title>Degox - Taking (Back?) my Internet Privacy and Presence</title>
      <link>https://lucaspardue.com/2024/01/03/taking-back-my-internet-privacy-and-presence/</link>
      <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2024/01/03/taking-back-my-internet-privacy-and-presence/</guid>
      <description>&lt;p&gt;For as long as I&amp;rsquo;ve used email, someone else has provided it to me for &amp;ldquo;free&amp;rdquo;.&#xA;Detoxing in January is a staple, so why not extend that to weening off Google&#xA;and call it a degox.&lt;/p&gt;&#xA;&lt;p&gt;This was supposed to be a short post about my experience migrating to Fastmail.&#xA;However, it went sideways and turned into an essay. I&amp;rsquo;ve knitted together&#xA;various experiences and topics from over the decades. I&amp;rsquo;ve come to the slow&#xA;realization that this choice, to take back my Internet Privacy and Presence,&#xA;isn&amp;rsquo;t a new year fad to be dropped unceremoneously by February.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2 Meg in the Embed, and the little tweet said &#34;Give over&#34;</title>
      <link>https://lucaspardue.com/2021/01/04/2-meg-in-the-embed-and-the-little-tweet-said-give-over/</link>
      <pubDate>Mon, 04 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2021/01/04/2-meg-in-the-embed-and-the-little-tweet-said-give-over/</guid>
      <description>&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p dir=&#34;ltr&#34; lang=&#34;en&#34;&gt;Due to a single embedded tweet, it seems my website at &lt;a href=&#34;https://t.co/jLqWpZKaB6&#34;&gt;https://t.co/jLqWpZKaB6&lt;/a&gt; loads about 2.5 megabytes of JS across a dozen HTTP/1.1 requests to &lt;a href=&#34;https://t.co/7OXJ9hd5oI&#34;&gt;https://t.co/7OXJ9hd5oI&lt;/a&gt;. WTF, this doubles the total size of download resources. I think I&#39;ll just delete the embed.&lt;/p&gt;— Lucas Pardue (@SimmerVigor) &lt;a href=&#34;https://twitter.com/SimmerVigor/status/1345393494559502337?ref_src=twsrc%5Etfw&#34;&gt;January 2, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;As the embedded tweet says, I was shocked to discover that a single Twitter&#xA;embed - inserted into a Wordpress blog using the &lt;a href=&#34;https://wordpress.com/support/wordpress-editor/blocks/twitter-block/&#34;&gt;native embed&#xA;feature&lt;/a&gt; -&#xA;more than doubled the download size of my site, caused by dozens of Twitter&#xA;JavaScript resources, all fetched using HTTP/1.1. For tweet that contains just&#xA;text from me(!), it is unpalatable that so much - well, crap - is pulled in to&#xA;render it. I&amp;rsquo;ve come up with a &lt;a href=&#34;#solution&#34;&gt;solution&lt;/a&gt; now but before that, I sent&#xA;the above tweet in the hope that someone might have a magic fix. My plan sort of&#xA;worked, it generated a lot of replies from people more knowledgable about web&#xA;development than me. The discussion was very interesting, I recommend you read&#xA;it. But if you don&amp;rsquo;t have the time for that my summary is:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dicey Dungeons is a delightful duende</title>
      <link>https://lucaspardue.com/2020/01/05/dicey-dungeons-is-a-delightful-duende/</link>
      <pubDate>Sun, 05 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2020/01/05/dicey-dungeons-is-a-delightful-duende/</guid>
      <description>&lt;p&gt;Dicey Dungeons is a roguelike where you roll dice in dungeons. The premise is a&#xA;game show but it reminds me more of The Running Man than Wheel of Fortune.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://lucaspardue.com/2020/01/05/dicey-dungeons-is-a-delightful-duende/images/dicey-honey.jpg&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;Anthropomorphic die uses non-anthropomorphic die to attack charming Honey Monster in a space suit&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This game has simple mechanics on the surface but steadily grows in complexity&#xA;and difficulty; each successful run is meted with a failed spin of the&#xA;not-wheel-of-fortune wheel and an unlock of a new character or challenge. Each&#xA;of these tweaks the core mechanics in a way that makes the next run unique and&#xA;interesting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2020 gaming in 200 words a week</title>
      <link>https://lucaspardue.com/2019/12/30/2020-gaming-in-200-words-a-week/</link>
      <pubDate>Mon, 30 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2019/12/30/2020-gaming-in-200-words-a-week/</guid>
      <description>&lt;p&gt;This blog has been a little quiet in 2019. After a days work it can be hard to&#xA;think of something worth blogging that isn&amp;rsquo;t tied to my working day, and without&#xA;inspiration it becomes difficult to muster up the energy to write anything.&lt;/p&gt;&#xA;&lt;p&gt;So I&amp;rsquo;ve decided to create a framework for blogging: a single post, once a week,&#xA;that reviews a different game in a maximum of 200 words.&lt;/p&gt;&#xA;&lt;p&gt;To kick things off I&amp;rsquo;ll start with &lt;strong&gt;Crusader Kings II&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://lucaspardue.com/2019/12/30/2020-gaming-in-200-words-a-week/images/manure.jpg&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;Poor Princess Sofie, the end of her life was crap&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
    </item>
    <item>
      <title>Web protocols ate my hosting</title>
      <link>https://lucaspardue.com/2018/12/28/web-protocols-ate-my-hosting/</link>
      <pubDate>Fri, 28 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2018/12/28/web-protocols-ate-my-hosting/</guid>
      <description>&lt;p&gt;New Year, same old blog. A new style, some broken links and some fixed-broken&#xA;links. Here&amp;rsquo;s to yet another Wordpress-based blog! Now for some background.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://lucaspardue.com/2018/12/28/web-protocols-ate-my-hosting/images/starr.jpg&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;An actual front page of a newspaper&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This website has been through a small number of hosts. It started off being&#xA;hosted on a wordpress.com subdomain. I then migrated it over to a cheapo shared&#xA;hosting solution, which worked pretty well for the low volume of traffic that it&#xA;served. As we enter 2019 I am pleased to present the blog from a cheapo VPS,&#xA;which is fronted by a free CDN.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SpotifyStatusApplet v1.3 Beta 1</title>
      <link>https://lucaspardue.com/2018/04/29/spotifystatusapplet-v1-3-beta-1/</link>
      <pubDate>Sun, 29 Apr 2018 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2018/04/29/spotifystatusapplet-v1-3-beta-1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2018/04/29/spotifystatusapplet-v1-3-beta-1/images/Example-300x88-300x88.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;FYI: SpotifyStatusApplet was broken by a Spotify API change made in Q3 2018.&#xA;This page is provided for archive purposes and the download has been removed.&#xA;More information is available on the &lt;a href=&#34;https://lucaspardue.com/spotifystatusapplet/&#34;&gt;Project Page&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A small update to SpotifyStatusApplet has been released as a beta.&lt;/p&gt;&#xA;&lt;p&gt;This version fixes a critical issue with newer versions of Spotify that prevent&#xA;the applet from working. Thanks JeffreyO.&lt;/p&gt;&#xA;&lt;p&gt;It also adds the (much requested) feature of playback control using the&#xA;remaining soft keys: 2 - previous, 3 - play/pause toggle, 4 - next. Thanks&#xA;JeffreyO.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SpotifyStatusApplet v1.2 Beta</title>
      <link>https://lucaspardue.com/2015/06/29/spotifystatusapplet-v1-2-beta/</link>
      <pubDate>Mon, 29 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2015/06/29/spotifystatusapplet-v1-2-beta/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2018/04/29/spotifystatusapplet-v1-3-beta-1/images/Example-300x88-300x88.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;FYI: SpotifyStatusApplet was broken by a Spotify API change made in Q3 2018.&#xA;This page is provided for archive purposes and the download has been removed.&#xA;More information is available on the &lt;a href=&#34;https://lucaspardue.com/spotifystatusapplet/&#34;&gt;Project Page&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A small update to SpotifyStatusApplet has been released as a beta. This version&#xA;adds the ability to toggle on/off the Field titles (Track, Album and Artist) by&#xA;pressing “soft key 1″, the first key underneath the LCD on most models.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beer Catalog</title>
      <link>https://lucaspardue.com/2015/01/16/beer-catalog/</link>
      <pubDate>Fri, 16 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2015/01/16/beer-catalog/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2015/01/16/beer-catalog/images/Brixton-300x200-1.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Since I moved to London I drank a lot of beer. It is easy to lose track of:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;What I&amp;rsquo;ve tried&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;When I&amp;rsquo;ve tried it&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;and would I drink it again&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In order to keep a better track of these beers I created a beer catalog page&#xA;capturing what I deemed to be the important details.&lt;/p&gt;&#xA;&lt;p&gt;In 2024, I retired the catalog page as it was rarely ever updated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ode to IBM Rational Rhapsody</title>
      <link>https://lucaspardue.com/2014/07/15/ode-to-ibm-rational-rhapsody/</link>
      <pubDate>Tue, 15 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/07/15/ode-to-ibm-rational-rhapsody/</guid>
      <description>&lt;h3 id=&#34;ode-to-rhapsody&#34;&gt;Ode to Rhapsody&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;to the tune of &amp;ldquo;Comme d&amp;rsquo;habitude&amp;rdquo; / &amp;ldquo;My Way&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2014/07/15/ode-to-ibm-rational-rhapsody/images/Pentagram_and_human_body_Agrippa-300x287.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;And now,  the end is here&lt;br&gt;&#xA;And so I face, the final codegen&lt;br&gt;&#xA;My friend, I&amp;rsquo;ll say it clear&lt;br&gt;&#xA;I state my Use Case, I&amp;rsquo;ll draw a Lifeline&lt;br&gt;&#xA;I&amp;rsquo;ve declared a class that&amp;rsquo;s pure&lt;br&gt;&#xA;I created each and every dependency&lt;br&gt;&#xA;And more, much more than this, I did it in Rhapsody&lt;/p&gt;&#xA;&lt;p&gt;And now,  the end is here&lt;br&gt;&#xA;And so I face, the final codegen&lt;br&gt;&#xA;My friend, I&amp;rsquo;ll say it clear&lt;br&gt;&#xA;I state my Use Case, I&amp;rsquo;ll draw a Lifeline&lt;br&gt;&#xA;I&amp;rsquo;ve declared a class that&amp;rsquo;s pure&lt;br&gt;&#xA;I created each and every dependency&lt;br&gt;&#xA;And more, much more than this, I did it in Rhapsody&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software Metrics and Craftsmanship</title>
      <link>https://lucaspardue.com/2014/05/26/software-metrics-and-craftsmanship/</link>
      <pubDate>Mon, 26 May 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/05/26/software-metrics-and-craftsmanship/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2014/05/26/software-metrics-and-craftsmanship/images/bottle-92418_640-300x199-300x199.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Software Development Metrics are a notoriously difficult area, there exists a&#xA;large allure of quantitative measurements that can be condensed into a top-level&#xA;dashboard showing progress, plan alignment, effort , costs and so on. However,&#xA;the unfortunate reality is that the collection and analysis of Software&#xA;Development Metrics is difficult for a number of factors such as complexity,&#xA;variance, meaning and gaming of the system. Often it is a difficult case of&#xA;understanding if we are more interested in the performance of the project&#xA;(Health) or the performance of the developer (Efficacy).&lt;/p&gt;</description>
    </item>
    <item>
      <title>UI Navigation - Android</title>
      <link>https://lucaspardue.com/2014/05/19/ui-navigation-android/</link>
      <pubDate>Mon, 19 May 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/05/19/ui-navigation-android/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2014/05/19/ui-navigation-android/images/1087251978-300x168.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Up vs. Back or in other terms hierarchy vs. chronology is one of the User&#xA;Experience aspects touched upon in my post &lt;a href=&#34;https://lucaspardue.com/2014/04/22/uml-modelling-user-interfaces-part-1-hierarchy-and-navigation/&#34; title=&#34;UML: Modelling User Interfaces Part 1 – Hierarchy and Navigation&#34;&gt;UML: Modelling User Interfaces Part&#xA;1 – Hierarchy&#xA;and&lt;/a&gt;&#xA;&lt;a href=&#34;https://lucaspardue.com/2014/04/22/uml-modelling-user-interfaces-part-1-hierarchy-and-navigation/&#34; title=&#34;UML: Modelling User Interfaces Part 1 – Hierarchy and Navigation&#34;&gt;Navigation&lt;/a&gt;. The Android&#xA;methodology for UI navigation has received some attention over the years and the&#xA;largest change to date was brought in with the introduction of the &lt;a href=&#34;http://developer.android.com/guide/topics/ui/actionbar.html&#34; title=&#34;Action Bar&#34;&gt;Action&#xA;Bar&lt;/a&gt;&#xA;as part of Android 3.0+.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UML: Aside - Completeness vs Clarity and other CvCs</title>
      <link>https://lucaspardue.com/2014/05/11/uml-aside-completeness-vs-clarity-and-other-cvcs/</link>
      <pubDate>Sun, 11 May 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/05/11/uml-aside-completeness-vs-clarity-and-other-cvcs/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2014/05/11/uml-aside-completeness-vs-clarity-and-other-cvcs/images/wpid-claustro_de_santo_domingo_de_silos._galer%C3%ADa_sur.jpg.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;One of the recurring issues I have experienced with UML, or more generally Model&#xA;Driven Design is the continual struggle between definition and interpretation.&#xA;One of the tenants of UML is to abstract upwards towards a level that avoids&#xA;implementation specifics. However, this introduces the potential for a need of a&#xA;&amp;ldquo;Leap of Faith&amp;rdquo;, something that was discussed my post &lt;a href=&#34;https://lucaspardue.com/2014/04/22/uml-modelling-user-interfaces-part-1-hierarchy-and-navigation/&#34;&gt;UML: Modelling User&#xA;Interfaces Part&#xA;1&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android Resource and the Eclipse switch Quick Fix</title>
      <link>https://lucaspardue.com/2014/05/05/android-resource-and-the-eclipse-switch-quick-fix-2/</link>
      <pubDate>Mon, 05 May 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/05/05/android-resource-and-the-eclipse-switch-quick-fix-2/</guid>
      <description>&lt;p&gt;In the process of updating and refactoring an old Android project I unwittingly&#xA;changed a Project configuration option (the &amp;ldquo;Is Library&amp;rdquo; option) that lead to my&#xA;resource file being generated differently. E.g&lt;/p&gt;&#xA;&lt;p&gt;Before&lt;/p&gt;&#xA;&lt;p&gt;[java] public final class R { public static final class id { public static final int button1=0x7f090001; public static final int button2=0x7f090002; public static final int button3=0x7f090003; } } [/java]&lt;/p&gt;&#xA;&lt;p&gt;After&lt;/p&gt;&#xA;&lt;p&gt;[java] public final class R { public static final class id { public static int button1=0x7f090001; public static int button2=0x7f090002; public static int button3=0x7f090003; } } [/java]&lt;/p&gt;&#xA;&lt;p&gt;A subtle change indeed but one that caused the following compiler error for each&#xA;line&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;case expressions must be constant expressions&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>C and C&#43;&#43; Preprocessor: warp, Clang and GCC</title>
      <link>https://lucaspardue.com/2014/04/28/c-and-c-preprocessor-warp-clang-and-gcc/</link>
      <pubDate>Mon, 28 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/04/28/c-and-c-preprocessor-warp-clang-and-gcc/</guid>
      <description>&lt;p&gt;I belatedly came across the news regarding&#xA;&lt;a href=&#34;https://code.facebook.com/posts/476987592402291/under-the-hood-warp-a-fast-c-and-c-preprocessor/&#34;&gt;warp&lt;/a&gt;,&#xA;a C and C++ preprocessor written by Walter Bright in a joint project with&#xA;Facebook. This has been released under the Boost license and is available at&#xA;&lt;a href=&#34;https://github.com/facebook/warp&#34;&gt;https://github.com/facebook/warp&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The Facebook blog makes the following statement with regards to  improved&#xA;efficiency over the GCC preprocessor&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Replacing gcc&amp;rsquo;s preprocessor with &lt;code&gt;warp&lt;/code&gt; has led to significant improvements&#xA;of our end-to-end build times (including linking). Depending on a variety of&#xA;circumstances, we measured debug build speed improvements ranging from 10% all&#xA;the way to 40%, all in complex projects with massive codebases and many&#xA;dependencies&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>UML: Modelling User Interfaces Part 1 - Hierarchy and Navigation</title>
      <link>https://lucaspardue.com/2014/04/22/uml-modelling-user-interfaces-part-1-hierarchy-and-navigation/</link>
      <pubDate>Tue, 22 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/04/22/uml-modelling-user-interfaces-part-1-hierarchy-and-navigation/</guid>
      <description>&lt;p&gt;This is the first post in a series that looks at the modelling of User Interface&#xA;(UI) related software using UML.&lt;/p&gt;&#xA;&lt;p&gt;The main purpose of the post is to explore how we effectively model the&#xA;navigation of a tree-like hierarchy, especially when considering the premise &amp;ldquo;In&#xA;a tree structure there is one and only one path from any point to any other&#xA;point&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;The tl;dr is that UML does not necessarily have the ability to represent UI&#xA;concepts of hierarchy and navigation effectively.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Antimatter Poster</title>
      <link>https://lucaspardue.com/2014/06/02/antimatter-poster/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://lucaspardue.com/2014/06/02/antimatter-poster/</guid>
      <description>&lt;p&gt;During university I produced a poster on the topic of Antimatter as part of a&#xA;Communicating Science module.&lt;/p&gt;&#xA;&lt;p&gt;I put this up on the web in 2007 and years on, I am seeing traffic to the site&#xA;driven by a link contained in a Rutgers&#xA;&lt;a href=&#34;http://www.rci.rutgers.edu/~jbass/courses/415_spr09_poster.htm&#34;&gt;assignment&lt;/a&gt;&#xA;concerning Information Design. Unfortunately, across the years the poster image&#xA;had become unavailable&amp;hellip;. until now. While the poster was discoverable via a&#xA;Google search (finding it hosted without permission on other sites, another&#xA;story) in order to help out those eager students I will &lt;a href=&#34;https://lucaspardue.com/antimatter/&#34;&gt;host it here&#xA;permanently&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://lucaspardue.com/2014/06/02/antimatter-poster/images/anti-matter.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
