<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (jm)</title>
    <link>https://pinboard.in/u:jm/public/</link>
    <description>recent bookmarks from jm</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://beza1e1.tuxen.de/config_levels.html"/>
	<rdf:li rdf:resource="https://docs.astral.sh/ruff/"/>
	<rdf:li rdf:resource="https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github"/>
	<rdf:li rdf:resource="https://blog.virustotal.com/2023/04/introducing-virustotal-code-insight.html"/>
	<rdf:li rdf:resource="https://dougallj.wordpress.com/2022/11/09/why-is-rosetta-2-fast/"/>
	<rdf:li rdf:resource="https://greenlab.di.uminho.pt/"/>
	<rdf:li rdf:resource="http://www.wired.com/2015/09/epa-opposes-rules-couldve-exposed-vws-cheating/"/>
	<rdf:li rdf:resource="https://code.facebook.com/posts/1648953042007882/open-sourcing-facebook-infer-identify-bugs-before-you-ship/"/>
	<rdf:li rdf:resource="http://input.fontbureau.com/info/"/>
	<rdf:li rdf:resource="https://groups.google.com/forum/#!msg/mechanical-sympathy/g-iCw1HbZ-o/XXcQYb596X4J"/>
	<rdf:li rdf:resource="https://code.google.com/p/error-prone/"/>
	<rdf:li rdf:resource="http://arstechnica.com/information-technology/2013/05/gimme-the-cache-memcached-turns-10-years-old-today/"/>
	<rdf:li rdf:resource="http://sweng.the-davies.net/Home/rustys-api-design-manifesto"/>
	<rdf:li rdf:resource="http://www.johndcook.com/blog/2009/07/27/baklav-code/"/>
	<rdf:li rdf:resource="http://www.chessbase.com/newsdetail.asp?newsid=7807"/>
	<rdf:li rdf:resource="http://blog.jgc.org/2011/09/lovelaces-leap.html"/>
	<rdf:li rdf:resource="http://www.computerhistory.org/highlights/macpaint/"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://beza1e1.tuxen.de/config_levels.html">
    <title>The 5 Levels of Configuration Languages</title>
    <dc:date>2025-04-15T10:23:23+00:00</dc:date>
    <link>https://beza1e1.tuxen.de/config_levels.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[I'm glad to see this comes to the same general principle I came to in https://jmason.ie/2011/02/18/001527a.html , many years back:

"The guiding principles is to use the lowest possible level [of configuration language] to keep it simple. Unfortunately, it usually is not an easy decision because you don't know the future."]]></description>
<dc:subject>config software-development configuration code coding complexity languages keep-it-simple</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:0a64459e957e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:config"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:software-development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:configuration"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:complexity"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:languages"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:keep-it-simple"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://docs.astral.sh/ruff/">
    <title>Ruff</title>
    <dc:date>2025-03-03T17:54:01+00:00</dc:date>
    <link>https://docs.astral.sh/ruff/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>An extremely fast Python linter and code formatter, written in Rust.

Ruff aims to be orders of magnitude faster than alternative tools while integrating more functionality behind a single, common interface.

Ruff can be used to replace Flake8 (plus dozens of plugins), Black, isort, pydocstyle, pyupgrade, autoflake, and more, all while executing tens or hundreds of times faster than any individual tool.</blockquote>

]]></description>
<dc:subject>formatting coding python tools lint code</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:ad96dfc2296a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:formatting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:python"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lint"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github">
    <title>Suppressing generated files in GitHub pull requests</title>
    <dc:date>2024-10-14T11:23:03+00:00</dc:date>
    <link>https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is a handy feature. If you have to check in generated files for some reason, you can mark them as generated in Github using this .gitattributes setting (via Tomasz Nurkiewicz)]]></description>
<dc:subject>via:nurkewicz git github code pull-requests</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:727fb5958911/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:nurkewicz"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pull-requests"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://blog.virustotal.com/2023/04/introducing-virustotal-code-insight.html">
    <title>Introducing VirusTotal Code Insight: Empowering threat analysis with generative AI</title>
    <dc:date>2023-04-27T09:55:54+00:00</dc:date>
    <link>https://blog.virustotal.com/2023/04/introducing-virustotal-code-insight.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>Impressively, when these models are trained on programming languages, they can adeptly transform code into natural language explanations. [...]

Code Insight is a new feature based on Sec-PaLM, one of the generative AI models hosted on Google Cloud AI. What sets this functionality apart is its ability to generate natural language summaries from the point of view of an AI collaborator specialized in cybersecurity and malware. This provides security professionals and analysts with a powerful tool to figure out what the code is up to. 

At present, this new functionality is deployed to analyze a subset of PowerShell files uploaded to VirusTotal. The system excludes files that are highly similar to those previously processed, as well as files that are excessively large. This approach allows for the efficient use of analysis resources, ensuring that only the most relevant files (such as PS1 files) are subjected to scrutiny. In the coming days, additional file formats will be added to the list of supported files, broadening the scope of this functionality even further.</blockquote>

(via Julie on ITC Slack)]]></description>
<dc:subject>virustotal analysis malware code reverse-engineering infosec security</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:8b4cef2b2507/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:virustotal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:analysis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:malware"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reverse-engineering"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:infosec"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://dougallj.wordpress.com/2022/11/09/why-is-rosetta-2-fast/">
    <title>Why is Rosetta 2 fast?</title>
    <dc:date>2022-11-21T11:26:18+00:00</dc:date>
    <link>https://dougallj.wordpress.com/2022/11/09/why-is-rosetta-2-fast/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['Rosetta 2 is remarkably fast when compared to other x86-on-ARM emulators. I’ve spent a little time looking at how it works, out of idle curiosity, and found it to be quite unusual, so I figured I’d put together my notes.']]></description>
<dc:subject>apple arm code emulation rosetta jit x86</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f5f9996b2833/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apple"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:arm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:emulation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rosetta"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jit"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:x86"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://greenlab.di.uminho.pt/">
    <title>Green Software Lab</title>
    <dc:date>2020-02-24T10:55:08+00:00</dc:date>
    <link>https://greenlab.di.uminho.pt/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Lots of research on making sustainable, power-friendly software at a coding level]]></description>
<dc:subject>coding sustainability power green code optimization papers research</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:ef4155d23f24/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sustainability"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:power"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:green"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:optimization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:papers"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:research"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.wired.com/2015/09/epa-opposes-rules-couldve-exposed-vws-cheating/">
    <title>EPA opposed rules that would have exposed VW's cheating</title>
    <dc:date>2015-09-28T09:34:01+00:00</dc:date>
    <link>http://www.wired.com/2015/09/epa-opposes-rules-couldve-exposed-vws-cheating/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>[...] Two months ago, the EPA opposed some proposed measures that would help potentially expose subversive code like the so-called “defeat device” software VW allegedly used by allowing consumers and researchers to legally reverse-engineer the code used in vehicles. EPA opposed this, ironically, because the agency felt that allowing people to examine the software code in vehicles would potentially allow car owners to alter the software in ways that would produce more emissions in violation of the Clean Air Act.  The issue involves the 1998 Digital Millennium Copyright Act (DCMA), which prohibits anyone from working around “technological protection measures” that limit access to copyrighted works. The Library of Congress, which oversees copyrights, can issue exemptions to those prohibitions that would make it legal, for example, for researchers to examine the code to uncover security vulnerabilities.</blockquote>

]]></description>
<dc:subject>dmca volkswagen vw law code open-source air-quality diesel cheating regulation us-politics</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9f3478ec3465/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dmca"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:volkswagen"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vw"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:law"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:air-quality"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diesel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cheating"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:regulation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:us-politics"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://code.facebook.com/posts/1648953042007882/open-sourcing-facebook-infer-identify-bugs-before-you-ship/">
    <title>Facebook Infer</title>
    <dc:date>2015-06-11T16:17:52+00:00</dc:date>
    <link>https://code.facebook.com/posts/1648953042007882/open-sourcing-facebook-infer-identify-bugs-before-you-ship/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[New static analysis goodnews, freshly open-sourced by Facebook:

<blockquote>Facebook Infer uses logic to do reasoning about a program's execution, but reasoning at this scale — for large applications built from millions of lines of source code — is hard. Theoretically, the number of possibilities that need to be checked is more than the number of estimated atoms in the observable universe. Furthermore, at Facebook our code is not a fixed artifact but an evolving system, updated frequently and concurrently by many developers. It is not unusual to see more than a thousand modifications to our mobile code submitted for review in a given day. The requirements on the program analyzer then become even more challenging because we expect a tool to report quickly on these code modifications — in the region of 10 minutes — to fit in with developers' workflow. Coping with this scale and velocity requires advanced mathematical techniques. Facebook Infer uses two such techniques: separation logic and bi-abduction.

Separation logic is a theory that allows Facebook Infer's analysis to reason about small, independent parts of the application storage, rather than having to consider the entirety of the memory potentially at every step. That would be a daunting task on modern processors with their large addressable virtual memories.

Bi-abduction is a logical inference technique that allows Facebook Infer to discover properties about the behavior of independent parts of the application code. By storing these properties between runs, Facebook Infer needs to analyze only the parts of the software that have changed, reusing the results of its previous analysis where it can.

By combining these approaches, our analyzer is able to find complex problems in modifications to an application built from millions of lines of code, in minutes.</blockquote>

(via Bryan O'Sullivan)]]></description>
<dc:subject>via:bos infer facebook static-analysis lint code java ios android coding bugs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f2df52efe4e6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:bos"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:infer"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:facebook"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:static-analysis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lint"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ios"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:android"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bugs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://input.fontbureau.com/info/">
    <title>Input: Fonts for Code</title>
    <dc:date>2015-05-12T11:37:50+00:00</dc:date>
    <link>http://input.fontbureau.com/info/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Non-monospaced coding fonts!  I'm all in favour...

<blockquote>As writing and managing code becomes more complex, today’s sophisticated coding environments are evolving to include everything from breakpoint markers to code folding and syntax highlighting. The typography of code should evolve as well, to explore possibilities beyond one font style, one size, and one character width.</blockquote>

]]></description>
<dc:subject>input fonts via:its typography code coding font text ide monospace</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:21412cb7563e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:input"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:fonts"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:its"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:typography"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:font"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:text"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ide"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monospace"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://groups.google.com/forum/#!msg/mechanical-sympathy/g-iCw1HbZ-o/XXcQYb596X4J">
    <title>How to perform a load/latency test, correcting for coordinated-omission error</title>
    <dc:date>2014-07-03T14:05:19+00:00</dc:date>
    <link>https://groups.google.com/forum/#!msg/mechanical-sympathy/g-iCw1HbZ-o/XXcQYb596X4J</link>
    <dc:creator>jm</dc:creator><description><![CDATA[p-code from Gil Tene]]></description>
<dc:subject>gil-tene coordinated-omission measurement jmh latency testing errors code</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:c98b6e03164d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gil-tene"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coordinated-omission"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:measurement"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jmh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:latency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:errors"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://code.google.com/p/error-prone/">
    <title>error-prone - Catch common Java mistakes as compile-time errors</title>
    <dc:date>2013-11-11T21:32:51+00:00</dc:date>
    <link>https://code.google.com/p/error-prone/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>It's common for even the best programmers to make simple mistakes. And commonly, a refactoring which seems safe can leave behind code which will never do what's intended.  We're used to getting help from the compiler, but it doesn't do much beyond static type checking. Using error-prone to augment the compiler's static analysis, you can catch more mistakes before they cost you time, or end up as bugs in production. We use error-prone in Google's Java build system to eliminate classes of serious bugs from entering our code, and we've open-sourced it, so you can too!</blockquote>

]]></description>
<dc:subject>analysis java static-analysis code errors bugs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:e66db84c4275/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:analysis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:static-analysis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:errors"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bugs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://arstechnica.com/information-technology/2013/05/gimme-the-cache-memcached-turns-10-years-old-today/">
    <title>memcached turns 10 years old</title>
    <dc:date>2013-05-21T22:48:19+00:00</dc:date>
    <link>http://arstechnica.com/information-technology/2013/05/gimme-the-cache-memcached-turns-10-years-old-today/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Well, apparently tomorrow, but close enough.  Happy birthday to bradfitz' greatest creation and its wonderful slab allocator!]]></description>
<dc:subject>birthdays code via:alex-popescu open-source history malloc memory caching memcached</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:36d9c6f1755c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:birthdays"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:alex-popescu"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:malloc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:memory"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:caching"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:memcached"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://sweng.the-davies.net/Home/rustys-api-design-manifesto">
    <title>Rusty's API Design Manifesto</title>
    <dc:date>2013-05-15T09:06:28+00:00</dc:date>
    <link>http://sweng.the-davies.net/Home/rustys-api-design-manifesto</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This classic came up in discussions yesterday...
<blockquote>
In the Linux Kernel community Rusty Russell came up with a API rating scheme to help us determine if our API is sensible, or not.  It's a rating from -10 to 10, where 10 is perfect is -10 is hell. Unfortunately there are too many examples at the wrong end of the scale.
</blockquote>

]]></description>
<dc:subject>rusty-russell quality coding kernel linux apis design code-reviews code</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:af2d8a163fb9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rusty-russell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:quality"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kernel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code-reviews"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.johndcook.com/blog/2009/07/27/baklav-code/">
    <title>Baklava code</title>
    <dc:date>2012-12-18T17:22:04+00:00</dc:date>
    <link>http://www.johndcook.com/blog/2009/07/27/baklav-code/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['thin software layers don’t add much value, especially when you have many such layers piled on each other. Each layer has to be pushed onto your mental stack as you dive into the code. Furthermore, the layers of phyllo dough are permeable, allowing the honey to soak through. But software abstractions are best when they don’t leak. When you pile layer on top of layer in software, the layers are bound to leak.']]></description>
<dc:subject>code design terminology food antipatterns</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:e665646fb9c7/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminology"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:food"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:antipatterns"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.chessbase.com/newsdetail.asp?newsid=7807">
    <title>ChessBase.com - Chess News - A Gross Miscarriage of Justice in Computer Chess (part two)</title>
    <dc:date>2012-01-04T22:07:43+00:00</dc:date>
    <link>http://www.chessbase.com/newsdetail.asp?newsid=7807</link>
    <dc:creator>jm</dc:creator><description><![CDATA[An amazing article, via Nelson Minar -- careful examination of the evolution of chess programs over the past 8 years appears to show clear signs of code/algorithm copying and unauthorised reverse engineering -- by many of the developers.  'Dr Søren Riis of Queen Mary University in London shows how most programs (legally) profited from Fruit, and subsequently much more so from the (illegally) reverse engineered Rybka. Yet it is Vasik Rajlich who was investigated, found guilty of plagiarism, banned for life, stripped of his titles, and vilified in the international press – for a five-year-old alleged tournament rule violation. Ironic.']]></description>
<dc:subject>chess code games open-source licensing reverse-engineering copyright infringement via:nelson</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4a1f566d4544/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:chess"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:games"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:licensing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reverse-engineering"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:copyright"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:infringement"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:nelson"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.jgc.org/2011/09/lovelaces-leap.html">
    <title>Lovelace's Leap</title>
    <dc:date>2011-09-25T20:29:40+00:00</dc:date>
    <link>http://blog.jgc.org/2011/09/lovelaces-leap.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[a great observation from jgc.  'Lovelace realized that even though a computer was, at its heart, a mathematical machine, it wasn't restricted to doing mathematics. She realized that a computer could be used to process other types of 'information' by having numbers represent anything else. She realized that a computer could handle text, or music, or practically anything. That's Lovelace's Leap.']]></description>
<dc:subject>jgc history ada-lovelace computing software information code babbage</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:72d7f08ac4d6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jgc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ada-lovelace"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:computing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:information"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:babbage"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.computerhistory.org/highlights/macpaint/">
    <title>Computer History Museum: MacPaint and QuickDraw source code</title>
    <dc:date>2010-07-20T11:54:10+00:00</dc:date>
    <link>http://www.computerhistory.org/highlights/macpaint/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[wow, great snapshot of computing history here.  just wish the code was not locked away in a ZIP, and instead hyperlinked for readability.  Also a working link would be nice too (via jgc)]]></description>
<dc:subject>via:jgc apple code history mac source bill-atkinson macpaint pascal quickdraw graphics</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:484ffb9f882c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:jgc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apple"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mac"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bill-atkinson"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:macpaint"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pascal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:quickdraw"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphics"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>