<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Benjamin Muskalla on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/bmuskalla/</link><description>Articles written by Benjamin Muskalla on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 23 Oct 2021 06:55:03 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/bmuskalla/index.xml" rel="self" type="application/rss+xml"/><item><title>Git Archeology: Removing the Sands of Time from Code</title><link>https://foojayio.github.io/website/today/git-archeology/</link><pubDate>Sat, 23 Oct 2021 06:55:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/git-archeology/</guid><description>&lt;p&gt;Working on a large codebase, it&amp;rsquo;s pretty normal to not remember every small or large subsystem or implementation choice. Be it whether you&amp;rsquo;re new to a codebase, or you&amp;rsquo;ve been focused on a specific area of the codebase.&lt;/p&gt;
&lt;p&gt;When working on refactorings or bug fixes, I often end up in areas I might not be too familiar with. Generally not dramatic, it happens quite often that I&amp;rsquo;m stopping what I&amp;rsquo;m doing because I need to decide on how to move forward. As software engineers, we have to make so many micro-decisions every minute that we&amp;rsquo;re pretty used to it.&lt;/p&gt;</description></item><item><title>Introduction to Simplify Protocol Refactoring</title><link>https://foojayio.github.io/website/today/simplify-protocol-refactoring/</link><pubDate>Mon, 28 Jun 2021 13:22:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/simplify-protocol-refactoring/</guid><description>&lt;p&gt;The other day, I went grocery shopping. While waiting in line, I thought about some struggles I had in a test I wrote earlier that day. When it was my turn, the cashier scanned my items and said what I owe him. And I just gave him my whole wallet. He stared at me blankly and gave it back. A little confused for a second, I took out my card, paid, and left the store. And at that point, it hit me what was wrong with my test.&lt;/p&gt;</description></item><item><title>Let's Do Some Java Syntax Puzzlers Today</title><link>https://foojayio.github.io/website/today/java-syntax-puzzlers/</link><pubDate>Wed, 06 Jan 2021 09:26:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-syntax-puzzlers/</guid><description>&lt;p&gt;Roughly 12 years ago, I started to contribute to the Eclipse ecosystem in various functions. One of the most interesting experiences to this date was to work on developer tooling and handling the edge cases so others don&amp;rsquo;t have to struggle. Though I stepped down as an Eclipse committer in the meantime, I&amp;rsquo;m still attached to working on productivity tooling nowadays as a member of the &lt;a href="https://github.com/gradle/gradle" target="_blank" rel="noopener noreferrer"&gt;Gradle Build Tool&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;While working on Eclipse, I fondly remember working on various parts of the Java Tooling (JDT) and while working on refactorings and quick fixes. And not surprisingly, working on language-intensive pieces turned out to have the same hiccups as other non-trivial algorithms - the transition from &amp;ldquo;this is gonna be easy&amp;rdquo; to &amp;ldquo;why am I up at 3 am reading the Java Language Specification&amp;rdquo;.&lt;/p&gt;</description></item></channel></rss>