<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>SuperTinyIcons &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/supertinyicons/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sun, 24 Nov 2024 09:08:14 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>SuperTinyIcons &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[The Pull Request Hack is Fucking Magic]]></title>
		<link>https://shkspr.mobi/blog/2023/07/the-pull-request-hack-is-fucking-magic/</link>
					<comments>https://shkspr.mobi/blog/2023/07/the-pull-request-hack-is-fucking-magic/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 15 Jul 2023 11:34:52 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[SuperTinyIcons]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46242</guid>

					<description><![CDATA[I don&#039;t have time to keep up with all the daft Open Source projects I release. I wish my skill and my energy was as wide as my ambition.  Several years ago, I came across Felix Geisendörfer&#039;s Pull Request Hack. The premise is simple - if people are making decent Pull Requests to your project then you should give them commit access.  It sounds mad, I know. But it has worked really well in my case. …]]></description>
										<content:encoded><![CDATA[<p>I don't have time to keep up with all the daft Open Source projects I release. I wish my skill and my energy was as wide as my ambition.</p>

<p>Several years ago, I came across <a href="https://felixge.de/2013/03/11/the-pull-request-hack/">Felix Geisendörfer's Pull Request Hack</a>. The premise is simple - if people are making decent Pull Requests to your project then you should give them commit access.</p>

<p>It sounds <em>mad</em>, I know. But it has worked really well in my case.  I launched <a href="https://shkspr.mobi/blog/2017/11/super-tiny-website-logos-in-svg/">Super Tiny Icons six years ago</a>. It was surprisingly popular and lots of people seemed to enjoy using them - and a few even contributed.</p>

<p>So I gave them Commit access. That means they are able to push directly to my codebase. They can also approve other people's Pull Requests.</p>

<p>Like I say, totally mad and irresponsible.</p>

<p>But people are, by and large, lovely.</p>

<p>Over the years, I've added about 20 random people as collaborators. Some have been more active than others. A few have refused to take on the responsibility. But several are still there - saving me dozens of hours, and helping even more people contribute.</p>

<p>What's the worst that could happen?</p>

<p>OK. Lots of things. The Pull Request Hack probably isn't suitable if you're running big projects. And it is almost certainly a stupid idea if you write code which is actively used by multiple downstream projects. And if your stuff has even the slightest chance of compromising security then you're better off sticking to trusted members.</p>

<p>But if you're just farting around with some scrappy code and you want a quick way to build an ad-hoc team? I don't want to go full "<a href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">Cathedral and Bazaar</a>", but it is pretty fucking magic.</p>

<p>And it gives me a modicum of hope that some of my work might continue after I'm gone. Sorry, that's a bit morbid.</p>

<p>So a huge thank you to <a href="https://github.com/edent/SuperTinyIcons/">everyone who has contributed</a>.
<a href="https://github.com/edent/SuperTinyIcons/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2023/07/Contributors.jpg" alt="A big list of contributors." width="1055" height="463" class="aligncenter size-full wp-image-46250"></a></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46242&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/07/the-pull-request-hack-is-fucking-magic/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Three small tips for shrinking SVG images]]></title>
		<link>https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/</link>
					<comments>https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 24 Nov 2020 12:19:54 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[SuperTinyIcons]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37269</guid>

					<description><![CDATA[I work on the SuperTinyIcons project. Our aim is to make pixel perfect SVG icons in under 1KB.  Because SVG can be quite verbose, every single redundant byte we can eliminate is a byte we can use in drawing.  Here are three quick tips for shaving a few bytes off an SVG.  Decimal Magic  SVG co-ordinates can have decimal precision, like: 123.456. But what about co-ordinates which are less than one? …]]></description>
										<content:encoded><![CDATA[<p>I work on the <a href="https://github.com/edent/SuperTinyIcons/">SuperTinyIcons project</a>. Our aim is to make pixel perfect SVG icons in <em>under</em> 1KB.  Because SVG can be quite verbose, every single redundant byte we can eliminate is a byte we can use in drawing.</p>

<p>Here are three quick tips for shaving a few bytes off an SVG.</p>

<h2 id="decimal-magic"><a href="https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/#decimal-magic">Decimal Magic</a></h2>

<p>SVG co-ordinates can have decimal precision, like: <code>123.456</code>. But what about co-ordinates which are <em>less than</em> one? <code>0.123</code> can be rewritten as <code>.123</code> - we can drop the <code>0</code>!</p>

<p>These two <code>sed</code> commands will turn <code>0.</code> to <code>.</code> and <code>-0.</code> to <code>-.</code></p>

<pre><code class="language-bash">sed -i -z "s/ 0\./ \./g" *.svg
sed -i -z "s/\-0\./\-\./g" *.svg
</code></pre>

<h2 id="whats-my-new-line"><a href="https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/#whats-my-new-line">What's my (new) line?</a></h2>

<p>For boring technical reasons to do with teletype printers, Windows machines use two characters to represent a newline. <code>CR</code> the Carriage Return send the print-head back to the start of the line, then <code>LF</code> is the Line Feed to move the paper by one line.</p>

<p>Unix just uses <code>LF</code>. Because no-one uses teletypes.</p>

<p>The brilliant <a href="http://dos2unix.sourceforge.net/">dos2unix</a> program will convert all Windows-style newlines to Unix style. Magic!</p>

<h2 id="last-line"><a href="https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/#last-line">Last Line</a></h2>

<p>Most text editors add a newline to the end of any file you create. Why? Who knows.</p>

<p>Remove any trailing newlines from the file with:</p>

<pre><code class="language-bash">sed -i -z s/\\n$// *.svg
</code></pre>

<p>Using the above three commands, I've been able to shave off <em>dozens</em> of bytes from these files. A worthy endeavour, I'm sure you'll agree!</p>

<p>If you want to make images as small as humanly possible, <a href="https://github.com/edent/SuperTinyIcons/">come join us</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37269&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/11/three-small-tips-for-shrinking-svg-images/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
