<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>kill the radio</title>
    <description>Writing about tech and social issues mainly.</description>
    <link>https://killtheradio.net/</link>
    <atom:link href="https://killtheradio.net/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 09 May 2026 06:48:52 +0000</pubDate>
    <lastBuildDate>Sat, 09 May 2026 06:48:52 +0000</lastBuildDate>
    <generator>Jekyll v4.0.1</generator>
    
      
        <item>
          <title>Stamp protocol: a p2p identity system</title>
          <description>&lt;p&gt;If you follow my work much, you’ll know I’m working on &lt;a href=&quot;https://basisproject.net/&quot;&gt;Basis, a project with the end goal of supporting a post-capitalist economy.&lt;/a&gt; I recently decided to move from the theory of the project into a more concrete implementation. But how? A few years back, I would have reached for blockchain tech but I’ve recently become increasingly suspicious of blockchains as a means for building distributed systems. Their reliance on global consensus means I have to “agree” that a transaction between a fisherman and a street vendor in a coastal town somewhere in Italy is valid…in truth, I don’t give a shit. Let them figure it out. It doesn’t scale and it never will. Blockchains are the ultimate rule-by-committee system where every decision has to be ratified by every participant. Kind of useless for anything beyond banks clearing transfers or dicks scamming idiots with NFTs.&lt;/p&gt;

&lt;p&gt;So the next choice is some kind of &lt;a href=&quot;https://en.wikipedia.org/wiki/Peer-to-peer&quot;&gt;p2p system&lt;/a&gt;. If constructed properly, these systems can scale almost infinitely. However, control mechanisms need to be in place. If some actions in a p2p network protocol are not allowed, who makes sure they aren’t happening? Projects like &lt;a href=&quot;https://www.holochain.org/&quot;&gt;Holochain&lt;/a&gt; try to solve this, and have made decent headway in doing so. In fact, I’ve long followed the Holochain project and been interested in using it for Basis or even &lt;a href=&quot;https://turtlapp.com/&quot;&gt;Turtl&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One thing that just bugs me about Holochain – and every other p2p system I’ve run into – is that your &lt;em&gt;identity&lt;/em&gt; in the system is tied to a single cryptographic key. This key is &lt;em&gt;you&lt;/em&gt;: and if the key is lost, “you” no longer exist in the system. This doesn’t end here, though. The “you” key is generated once on one of your devices and forever after lives just on that device with no built-in way to sync it to your other devices. This means there’s a different “you” on your phone, laptop, etc.&lt;/p&gt;

&lt;p&gt;Identity in p2p systems has always been an afterthought.&lt;/p&gt;

&lt;h2 id=&quot;stamp-was-born&quot;&gt;Stamp was born&lt;/h2&gt;

&lt;p&gt;I originally thought of Stamp as a way to cryptographically provide personal identity within a network. It’s much like &lt;a href=&quot;https://en.wikipedia.org/wiki/Pretty_Good_Privacy&quot;&gt;PGP&lt;/a&gt; in that it works by using cryptographic keys as mechanisms for managing the identity. You can make claims, and others in the system can “stamp” (verify) your claims by signing them. This creates what’s known as a “web of trust.” If I trust Joe, and Joe stamps Jill’s identity, I can now extend a bit of trust to Jill.&lt;/p&gt;

&lt;div class=&quot;center padded&quot;&gt;
    &lt;img src=&quot;/images/uploads/stamp-logo.svg&quot; alt=&quot;Stamp protocol logo&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;Stamp differs from existing key-based identity systems in a few ways, however. It allows creating claims that can be automatically verified, such as the ownership of a domain or URL. It allows claims to be named, opening the door for discovery in other distributed systems (ie, maybe I have an “activitypub” URL claim that points to my Mastodon account).&lt;/p&gt;

&lt;p&gt;Another difference is identities in Stamp are not singular objects, but rather collections of “transactions” that are issued by the owner. These transactions link back to previous transactions, creating what’s known as a directed acyclic graph (DAG). This structure allows for auditability, versioning, and easy verification.&lt;/p&gt;

&lt;h2 id=&quot;identity-management&quot;&gt;Identity management&lt;/h2&gt;

&lt;p&gt;Of all the differences between Stamp and other identity systems, the most important is that a Stamp identity is not controlled by a single key. Instead, identities have a set of “admin” keys that are assigned abilities using what are known as “policies.” Effectively, a policy is a set of permissions granted to a key or set of keys, allowing those keys to perform certain actions if they are used in the correct combinations.&lt;/p&gt;

&lt;p&gt;But why the complexity? Because it opens the door for another paradigm: group management of identities. Now instead of having to build a permissioning system around a singular key that allows someone in a group to create a signature on behalf of an identity, Stamp incorporates the permissioning system directly in the protocol. Policies can grant keys &lt;em&gt;outside of the identity&lt;/em&gt; the ability to perform actions within the identity, so before Jill can sign a purchase order on behalf of the company, she needs to get approval from Ted in accounting.&lt;/p&gt;

&lt;p&gt;It doesn’t stop at group management, though! One of the most significant problems with existing identity systems is that because they are managed by a single key, if that key is lost then the identity is useless. Stamp solves this: the policy system allows you to specify a recovery mechanism for your identity. You can set up a policy that says “my spouse, brother, and any one of three friends can sign a key replacement transaction” and if you get the correct signatures, you regain access to your identity again. Not bad.&lt;/p&gt;

&lt;h2 id=&quot;syncing-and-storage&quot;&gt;Syncing and storage&lt;/h2&gt;

&lt;p&gt;Instead of forcing an identity to live on one device and making someone run a bunch of ugly CLI commands in a terminal to move their key to another device, Stamp has built-in private identity syncing for your devices. Although not part of the core identity protocol, the project itself has a layer for keeping your identity synced between your devices.&lt;/p&gt;

&lt;p&gt;Included in this syncing, which is accomplished by setting up a p2p network, is public storage of published identities. So ditch those broken GPG key servers…from now on, you only have to look in one place for published identities, and if you’ve got an internet connection, you can look up an identity.&lt;/p&gt;

&lt;h2 id=&quot;identity-in-p2p-systems&quot;&gt;Identity in p2p systems&lt;/h2&gt;

&lt;p&gt;Ok so I’ve been blathering on and on about this great new identity system. What’s it good for, actually? Remember how I mentioned a Stamp identity is a collection of transactions? Well, turns out, it can issue transactions for things other than just ones that modify the identity.&lt;/p&gt;

&lt;p&gt;In fact, Stamp can issue any kind of custom transaction in the same envelope that lets any system that can speak “Stamp” verify that the transaction is valid (when I say “valid” I mean that the transaction is signed by the key(s) required to issue it via the policy system). This means that a Stamp identity can act as a multisig system for issuing transactions &lt;em&gt;in other p2p systems&lt;/em&gt;. In effect, p2p systems no longer have to build a concept of identity because Stamp is handling it all for them.&lt;/p&gt;

&lt;p&gt;The ability to perform multisig external operations is instrumental for &lt;a href=&quot;https://basisproject.net/&quot;&gt;Basis&lt;/a&gt; because much of the protocol relies on the ability for groups of people to act as singular economic entities.&lt;/p&gt;

&lt;h2 id=&quot;whats-next&quot;&gt;What’s next?&lt;/h2&gt;

&lt;p&gt;The Stamp core protocol is mostly complete at this point. I’m currently working on the network layer of the system: private syncing and publishing. Private syncing is being built in mind with other systems in mind: the next version of &lt;a href=&quot;https://turtlapp.com/&quot;&gt;Turtl&lt;/a&gt; is going to be a p2p system and I’m trying to generalize things in Stamp’s networking layer enough to support Turtl’s need for person-to-person sharing.&lt;/p&gt;

&lt;p&gt;Basis has somewhat different requirements though: in effect, groups in Basis have cost allowances that they need to keep their costs under. If they make an order that increases their costs past their allowance, the transaction creating that order is invalid. How do we enforce this effectively? This is a topic of thought for me, and likely involves some sort of federated verification network within the larger p2p system. This is one of those places people reach for a blockchain, and rightly so, however I’d like Basis to be able to run more than 10 transactions a minute so an alternative is needed.&lt;/p&gt;

</description>
          <pubDate>Tue, 12 Dec 2023 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/technology/stamp-protocol/</link>
          <guid isPermaLink="true">https://killtheradio.net/technology/stamp-protocol/</guid>
          
          <category>identity</category>
          
          <category>p2p</category>
          
          
          <category>Technology</category>
          
        </item>
	  
    
      
        <item>
          <title>The property &quot;ownership&quot; myth (and other thoughts on socialization)</title>
          <description>&lt;p&gt;It was getting dark, and starting to rain. You needed a place to stay. Not just for the night, but a place to call your own after living under other people’s roofs for so long. You’re tired of moving, tired of the journey. You want to put down roots.&lt;/p&gt;

&lt;p&gt;By strange coincidence, a stranger approaches you and says “See that house over there? I’ll sell you the house and the property it’s on for $50K.” You have the money, you’ve saved up for a long time. You agree.&lt;/p&gt;

&lt;p&gt;“There’s just one or two more things,” says the stranger. “You can’t make significant modifications to the property without asking me first.” It seems reasonable, so you agree. “Any large-scale projects you wish to do on the property must be cleared by me,” stated the stranger. “And lastly, at any point, if I ever need the property for something, I can take it back from you, and if I do this I will pay market value…but you cannot refuse.” It struck you as odd, but you agree and buy the property.&lt;/p&gt;

&lt;p&gt;Do you own it?&lt;/p&gt;

&lt;h2 id=&quot;property-ownership-in-the-united-states&quot;&gt;Property ownership in the United States…&lt;/h2&gt;

&lt;p&gt;…is a myth. Nobody owns (land/”real”) property. What people own is a title of use of property, but the property itself is jointly owned between cities, counties, states, and the nation. I’ve had this argument several times with many people, and none of them can reconcile “ownership” with the fact that:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You often need to get government approval to modify an existing structure on property&lt;/li&gt;
  &lt;li&gt;You need government approval for large-scale projects on property (building any kind of large structure, digging a mine, etc)&lt;/li&gt;
  &lt;li&gt;Most importantly, the government can take your property away from you via Eminent Domain whenever it deems it necessary (you being compensated is irrelevant to the fact that you have no choice)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You &lt;em&gt;do not own&lt;/em&gt; the property you “own” but rather own a title of use, and that title comes with various restrictions. If you can prove me wrong, please feel free to comment below, but to my understanding, if someone gives you something but has the ability to take it away from you at any point, you do not own it.&lt;/p&gt;

&lt;p&gt;It gets interesting with things like a civil suit in which being on the losing end means some amount of your assets being seized. Did you own those assets to begin with? It’s an interesting question, but ultimately I would say you &lt;em&gt;did&lt;/em&gt; own those assets, but through some form of wrongdoing via your own action/inaction lost access to them, via some socially-mandated set of rules that come along with social or economic interaction with other people.&lt;/p&gt;

&lt;p&gt;That said, the fact that you can lose your property &lt;em&gt;without wrongdoing&lt;/em&gt; and &lt;em&gt;just because the government wants it&lt;/em&gt;, to me, points to the fact that the property was not yours to begin with.&lt;/p&gt;

&lt;h2 id=&quot;why-does-this-matter&quot;&gt;Why does this matter?&lt;/h2&gt;

&lt;p&gt;This matters because given that property is not owned individually, it follows that property is socialized. In the context of a market system, it means that when you buy/sell property, you’re really just selling the title for use of the property, not the property itself.&lt;/p&gt;

&lt;p&gt;So when talking about socialization of productive property or housing, nothing regarding ownership changes materially: the ownership of property is already socialized! What changes is the mediation of the use of property. What this mediation looks like without markets and how it works is another very interesting but complex set of ideas (which are outside the scope of this post).&lt;/p&gt;

&lt;p&gt;However, the next time someone says that socialization of property is totalitarian or “doesn’t work” or some such nonsense, tell them that all property is &lt;em&gt;already&lt;/em&gt; socialized and ownership is a myth.&lt;/p&gt;

</description>
          <pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/economics/property-ownership-myth/</link>
          <guid isPermaLink="true">https://killtheradio.net/economics/property-ownership-myth/</guid>
          
          <category>economics</category>
          
          <category>capitalism</category>
          
          <category>socialism</category>
          
          <category>property</category>
          
          
          <category>economics</category>
          
        </item>
	  
    
      
        <item>
          <title>The Five Components of Economic Systems: A discovery through explorations of Socialism</title>
          <description>&lt;p&gt;&lt;em&gt;As an opening note, I’d like to mention that while I came to the conclusions discussed in this post while researching what a “socialist mode of production” would look like, I’m attempting to the best of my abilities to not argue for one system or another. Rather, my goal is to share my findings on how economics can be broken down.&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;It was December 2018. I had recently read through a forum discussion about &lt;a href=&quot;https://en.wikipedia.org/wiki/Basic_income&quot;&gt;Universal Basic Income&lt;/a&gt;, an idea I supported at the time. One of the comments mentioned how socialists view UBI as a band-aid fix.&lt;/p&gt;

&lt;p&gt;“Wait,” I thought. “Isn’t UBI a form of socialism?” I realized that even though my past 18 year old self had donned the label &lt;em&gt;anarcho-communist&lt;/em&gt;, I didn’t actually know what that meant, other than “things should, like, be more equal.” I had left anarcho-communism behind in my 20s when I came to the realization that capitalism &lt;em&gt;does work&lt;/em&gt; and became a supporter of it. But for some reason, when this last December rolled by, I connected with my old self again. You see, I have a problem. An addiction. I need to know how things work. It’s why I know a several forms of assembly language. It’s why I have a drawer full of deconstructed electronic components. I can remember my dad tell me as a kid: “Don’t take this apart!”. And now I needed to know what socialism meant; to deconstruct it and understand it. In our culture, the things we most attribute to socialism (state capitalism and welfare capitalism) have nothing to do with socialism. So what is it?&lt;/p&gt;

&lt;p&gt;Then it started. A strange manic episode which seemed to come from nowhere. For weeks, I was waking up after only four or five hours of sleep. I would open my eyes, the sky would still be dark, and I was exhausted, but my head was racing. I used my early mornings to my advantage: reading papers, researching economic theory, architecting systems, thinking through methods and incentives. I swam through ideas like I had woken up at the bottom of a lake and needed air: libertarian socialism, central planning, free association, market socialism, common ownership, democratic socialism, communism, syndicalism, social dividends, collectivist anarchism. Marx, Kropotkin, Cockshott. USSR, China, Cuba, South America, the Spanish Civil War. A raging torrent of information, history, and theory. I found a &lt;a href=&quot;https://www.reddit.com/r/CapitalismVSocialism/&quot;&gt;subreddit where people argue bitterly about economics&lt;/a&gt;. I talked with people and I fought with people, socialists and capitalists alike. I formed opinions. I talked more. I fought more. I asked questions. I reshaped all my opinions. Then I did it all again.&lt;/p&gt;

&lt;p&gt;The whole time, I was working on a project that would be the ultimate conclusion of my findings (which I will publish at a later date). This work has ushered me into a deeper understanding of how things are organized and how the pieces of economics all fit together.&lt;/p&gt;

&lt;h2 id=&quot;the-five-components-of-economic-systems&quot;&gt;The five components of economic systems&lt;/h2&gt;

&lt;p&gt;I ultimately found that there are five main components that describe an economic system. Because these are not apparently obvious, I thought it would be helpful to document my observations:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Ownership&lt;/strong&gt;. This is the crux of the capitalism vs socialism debate. Capitalism necessitates private ownership of the means of production. Socialism is the social ownership thereof. This means capitalism simpler: anything can be privately owned. Socialism is a bit more complicated, because it makes a distinction between &lt;em&gt;private&lt;/em&gt; property (factories and stuff) and &lt;em&gt;personal&lt;/em&gt; property (your hat, your Roomba, your toothbrush). This distinction is lost on many people (aka the “you want to take my toothbrush” problem).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Organization&lt;/strong&gt;. Is the economy completely decentralized and self-organizing? Or is there one entity that plans every input and output down to meticulous detail? It’s important to note that the former is attributed to capitalism, and the latter to socialism. This is mainly because most Marxist-Leninist states employed central planning for their economic system. But central planning is not socialism…social ownership of productive property is. It’s possible to have privately-owned production with heavy central planning (for instance, Nazi Germany). It’s possible, in theory, to have socially-owned productive instruments with a small (or no) government. We also have central planning in the United States (NASA, farm subsidies, etc).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Costs/valuation&lt;/strong&gt;. Valuation can be done with prices guided by market forces, which is the mode we’re all used to because it’s how capitalism does things. However, there are more methods of valuation. There’s the Marxian value theory in which a thing is valued at the average amount of labor it took to build it. There is in-kind valuation, where all possible aspects of costs are tracked for a particular item (for instance, the labor that went into it, how much of each raw material, externalities if possible, etc). It’s important to note that cost and value are different: there is some intersection between the two, but value might ignore a cost like pollution, and cost might not take into account how something is valued to a particular individual.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Exchange&lt;/strong&gt;. What medium do productive entities use to exchange? Money is the most prevalent one. There are other ideas, though, such as the &lt;a href=&quot;https://en.wikipedia.org/wiki/Free_association_(Marxism_and_anarchism)&quot;&gt;free association of producers&lt;/a&gt;, where exchange happens freely…producers order things from other producers in order to meet some social need. If using central planning, exchange would look like an internal transfer might look at a large corporation.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Distribution&lt;/strong&gt;. Who gets what? If using a money system, those with money buy what they want. If using gift economics, distribution might be a function of reputation. If labor vouchers, distribution is a function of hours worked (and possibly the social value of that labor). In some systems, distribution is need-based (“to each according to their needs”…I realize this is loosely defined). Distribution could be ration based as well: each person gets a daily allowance of resources they can consume. It’s important to note that the distribution mechanism is also what puts downward pressure on resource consumption &lt;em&gt;and&lt;/em&gt; incentivizes higher levels of efficiency in the productive process: producers must make things in such a way that those who want those things can afford them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In theory, some of these parts can be swapped out for another. Also, few of these categories are binary: you can have some mix of public/private ownership, or some mix of decentralized/central planning. However, note that money can be used in a number of these economic components. This is a beautiful selling point of moneyed capitalism, but also what makes it hard to pick the above concepts apart: it’s simple. Anyone can own anything, and valuation/exchange/distribution are all based on money.&lt;/p&gt;

&lt;p&gt;Also, notice we’re missing the authoritarian aspect here completely. This is on purpose. Economics and authoritarianism are completely separate topics, as much as people like to lump them in together. It’s possible to have a totalitarian government with privately-owned production. It’s possible to have a tiny government with social ownership of production.&lt;/p&gt;

&lt;p&gt;Let’s clarify some ideas.&lt;/p&gt;

&lt;h3 id=&quot;ownership&quot;&gt;Ownership&lt;/h3&gt;

&lt;p&gt;I’d like to talk about the concept of ownership. I think it’s important to mention because it’s a deep topic of debate between proponents of socialism. What does it mean to have “common ownership over the means of production?” What even are the “means of production?”&lt;/p&gt;

&lt;p&gt;For the productive instruments to be socially owned, there are a number of different ideas. First, the most common understanding is state ownership. This is tricky, though. If the state is representative of the people in it, then by the state owning the means of production, the people do as well. However, if a state is authoritarian such that the citizens have very little control, then the productive instruments are not held in common, but rather owned by oligarchs. This is in contrast with more anarchist ideas, in which ownership of means of production is &lt;em&gt;directly&lt;/em&gt; social, as in, not proxied through a state (or perhaps, in the libertarian case, owned by a municipality) and use thereof is determined cooperatively.&lt;/p&gt;

&lt;p&gt;Then, there’s the “means of production” themselves. There are as many definitions of this as there are socialists, but one common theme I’ve seen over and over would be large capital assets: raw materials/resources, productive land (farms), factories, warehouses, office buildings, air/sea ports, large machinery, and intellectual property. Essentially, anything that’s used &lt;em&gt;exclusively&lt;/em&gt; for productive purposes would be a target for social ownership. It would be &lt;em&gt;possible&lt;/em&gt; to socialize laptops and toothbrushes and things of that nature, but it likely would not be very effective at all.&lt;/p&gt;

&lt;p&gt;Lastly, let’s talk companies themselves. Socialism necessitates abolishing private ownership of companies. What does this mean, though? Does the state own all companies? Do the employees? The answer is it depends. In some models (such as central planning), yes, the state would own, or at least orchestrate, all companies. In other systems, companies would be self-determined and would be state-agnostic. It’s important to note that just because the &lt;em&gt;means&lt;/em&gt; of production are socialized doesn’t mean that the companies using those means of production need to be socialized as well.&lt;/p&gt;

&lt;h3 id=&quot;organization&quot;&gt;Organization&lt;/h3&gt;

&lt;p&gt;Another important topic is how the economy is organized. It’s often thought that decentralized organization cannot work without prices/profits. I’d like to demonstrate that as theoretically false.&lt;/p&gt;

&lt;p&gt;If you have a transparent system that allows orders between productive entities (for instance, some kind of blockchain), demand can be measured directly by looking at the order list. Instead of, then, using price signals to determine supply levels, supply can be matched directly to demand.&lt;/p&gt;

&lt;p&gt;In other words, money is a &lt;em&gt;method&lt;/em&gt; of exchange between productive entities, but it’s not &lt;em&gt;the only&lt;/em&gt; method of exchange. Organization is as much about communication of needs as it is about a means of exchange: if needs can be communicated directly, then distributed production can be enabled, no matter what valuation system (or system of exchange) is used.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;That wraps things up. I hope reading this was as illuminating to you as it was for me to discover it.&lt;/p&gt;

</description>
          <pubDate>Fri, 13 Sep 2019 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/economics/components-of-economics/</link>
          <guid isPermaLink="true">https://killtheradio.net/economics/components-of-economics/</guid>
          
          <category>economics</category>
          
          <category>capitalism</category>
          
          <category>socialism</category>
          
          <category>distribution</category>
          
          <category>value</category>
          
          
          <category>economics</category>
          
        </item>
	  
    
      
        <item>
          <title>The mystification of pricing</title>
          <description>&lt;p&gt;Pricing is an important economic tool. How much things cost, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Socialist_calculation_debate&quot;&gt;how much things should cost&lt;/a&gt;, has been a subject of debate between economists for a long time. However, there’s one part of pricing I’d like to dissect. It’s the aspect of mystification.&lt;/p&gt;

&lt;p&gt;When I buy a product, it sends a signal. It’s essentially an economic feedback mechanism that says “I value this product as much or more than the price that it is being sold for.” This signal is transmitted back to the producer (sometimes over many hops of the economic network because usually you buy a product from a distributor, not directly from the manufacturer). However, the producer does not know &lt;em&gt;why&lt;/em&gt; I bought it.&lt;/p&gt;

&lt;p&gt;The price takes into account many different factors: the inputs to production required to make the product, the wages of the people producing it, the marketing budget to convince people to buy it, the costs of compliance with regulations, the need to pay back interest on loans acquired for startup capital, shipping costs, etc etc. There are likely thousands upon thousands of factors that are bundled into the price of a product.&lt;/p&gt;

&lt;p&gt;The problem is, we don’t know what they are. When I buy something, I am saying “I like this for some reason” and that’s the only &lt;em&gt;economic&lt;/em&gt; signal the producer receives. I can call them and say “Hey, I love your peanut butter because it tastes better than others” and companies will certainly encourage this, but there is no economic feedback mechanism other than the purchase itself.&lt;/p&gt;

&lt;p&gt;So, if labor costs $5, the inputs to production cost $3, marketing is $1, and the owner of the company wants a profit of $3, that’s &lt;code class=&quot;highlighter-rouge&quot;&gt;5 + 3 + 1 + 3 = 12&lt;/code&gt;. Now, as a consumer, how do I tell how much the labor cost for this product? Or how much profit was made? It’s impossible. You can only find one by knowing all of the others.&lt;/p&gt;

&lt;p&gt;Why is this a problem? It’s a problem because people encourage voting with capital. They encourage spending based on beliefs. But, there’s no economic feedback mechanism in place to vote for &lt;em&gt;just one&lt;/em&gt; of the factors of the price of a product.&lt;/p&gt;

&lt;p&gt;Imagine if you had deconstructed pricing for every product. Instead of $5.99 it had $0.03 in environmental compliance, $0.50 in marketing, $1.00 in wages (with a breakdown of labor-hours averaged per-worker), $0.60 in productive inputs (and each input had a deconstructed price as well), $1.67 in equipment maintenance, $0.98 for reinvestment in the company, and $1.21 in profit for the owners.&lt;/p&gt;

&lt;p&gt;Now, pricing is demystified. You can buy a product produced by people who are paid well, or buy products that are made from products made by people who are paid well. You can buy a product that spends more in order to care for the environment. You can buy products that value profit less.&lt;/p&gt;

&lt;p&gt;Would this not be a a requirement of voting with your dollar?&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;This thought experiment came out of discussions I’ve have around an economic model I’m working on. One of the ideas I’m interested in is wages being decided democratically based on a set of attributes: social need, skill/training required, stress level, danger, etc. Essentially, each attribute would be a value between 0 and 1, and the average of all the attribute values multiplied by a maximum wage would be someone’s hourly wage. A productivity attribute could be applied to each person such that their occupational wage goes from being fixed to being a range instead, and this productivity rate would be decided by the worker (if self-employed) or the members of their company. The wage attributes would be decided regionally (per-city/county).&lt;/p&gt;

&lt;p&gt;In essence, you give every industry-occupation pair a score and use it to determine the range of wages a person can have. After that, you let the pricing system take over. The purpose here is for society to make a conscious decision on “what this job is worth.” My theory is that the economy would be shaped very differently if people were given a direct choice. Want smarter children? Raise the need for the education industry and for the teacher occupation. Too many tech dorks on scooters? Lower the social need for computer programmers. Making wages a conscious decision of the members of the community allows them to shape their own economy, without having to deal with the wildly inaccurate pricing system and the feedback loops of the market.&lt;/p&gt;

&lt;p&gt;Should a pro football player be paid 500x more than a teacher? I’m willing to bet that if you asked every single person in the United States this question, the answer would overwhelmingly be “no.” Why, then, does the market enforce these patterns?&lt;/p&gt;

&lt;p&gt;After discussions, this idea of democratically setting wages was met with some resistance. It was argued that the market already does allow democratization of wages. People &lt;em&gt;do&lt;/em&gt; vote for salaries already, and they do it via the products and services they buy. However, after some thinking, I realized this isn’t true. People certainly enforce economic patterns via their spending, but the truth is that, even if they &lt;em&gt;did&lt;/em&gt; want to alter their spending to shape the economy according to their desires, they simply &lt;em&gt;do not have the information they need to do so&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This is because of the mystification of pricing.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;update---feb-12-2020&quot;&gt;UPDATE - Feb 12, 2020&lt;/h2&gt;

&lt;p&gt;It’s important to note that I’ve since abandoned the idea of democratically-decided wages. While the idea was made in good faith, I couldn’t solve for things like&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;On call/emergency hour rate hikes. Sure, my day rate is $100/hr, but if you need me at 3am on the weekend, it’s $200/hr&lt;/li&gt;
  &lt;li&gt;Scale. What does a musician make for performing gigs? What if they are playing shows for 1000+ people?&lt;/li&gt;
  &lt;li&gt;Distributed decision making. My skills might be highly valued, and forcing a wage on someone when their time is worth more (both to them and the other party) is needlessly authoritarian. Shouldn’t the level of stress, danger, need, training, etc be decided by &lt;em&gt;me&lt;/em&gt; and not the general population, who knows jack shit about my job?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I believe all of the problems that might be solved by democratic wages would actually be better handled by democratic workspaces (worker-owned companies) and free association. Not only that, but an excessive amount of beureaucracy is removed (no need to vote just to set wages). While I still support a profitless economy, it should work within the confines of workers being able to negotiate their own wages.&lt;/p&gt;

&lt;p&gt;The other stuff I wrote about pricing in the post still stands, however.&lt;/p&gt;

</description>
          <pubDate>Tue, 02 Apr 2019 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/economics/the-mystification-of-pricing/</link>
          <guid isPermaLink="true">https://killtheradio.net/economics/the-mystification-of-pricing/</guid>
          
          <category>economics</category>
          
          <category>wealth</category>
          
          <category>capital</category>
          
          <category>pricing</category>
          
          <category>wages</category>
          
          
          <category>economics</category>
          
        </item>
	  
    
      
        <item>
          <title>Wealth is (mostly) a zero-sum game</title>
          <description>&lt;p&gt;I’d like to talk about wealth. I’ve heard many times from many different people that “wealth is not a zero-sum game.” I disagree.&lt;/p&gt;

&lt;p&gt;Wealth is (mostly) a zero-sum game. I will argue that most “creations” of wealth are not actually creations, but instead diversions, and when someone talks of “creating” wealth, they usually mean &lt;em&gt;diverting&lt;/em&gt; wealth.&lt;/p&gt;

&lt;p&gt;Firstly, let’s distinguish wealth from money. I will define wealth (for our purposes “material wealth”) as the collection of all of one’s possessions that have monetary value in terms of exchange or use. This can be property, investments, money, stockpiles of food, weapons, etc. This is distinct from money because while money can be printed, wealth cannot. Wealth can gain or lose value without any exchanges happening because the market value of the items counted in wealth might change over time, however the loss of value of wealth for one person is generally a gain of wealth for another. For instance, printing money will raise the wealth of the agency printing it while lowering the value of the currency for those holding it (this is a diversion).&lt;/p&gt;

&lt;p&gt;Secondly, let’s distinguish wealth from value. In many of the discussions I’ve had about wealth, “value” inevitably comes up. “Value was created.” Wealth encompasses things than &lt;em&gt;have&lt;/em&gt; a value (for our purposes, a market value), however this is distinct from &lt;em&gt;societal value&lt;/em&gt;, and people are speaking of &lt;em&gt;societal&lt;/em&gt; value when they say “value was created.”&lt;/p&gt;

&lt;p&gt;Third, let’s describe a market economy. An economy is a network. The nodes of the network are people, companies, or states, and the connections between nodes are transactions. Wealth moves and flows through our economic network like a series of rivers and streams. This network has inputs (things outside of it that feed into it) and outputs (things that are consumed). Creation of new wealth would be defined as an external input to the economic network that previously did not exist (the addition of a new input). All other changes to transactions in the network are diversions.&lt;/p&gt;

&lt;h2 id=&quot;inventions&quot;&gt;Inventions&lt;/h2&gt;

&lt;p&gt;Let’s start with inventions. Often, this is the first thing brought up when people speak of wealth being created. Let’s say I invent the first clock. It consists of a spring that’s wound to power the system mechanically, a set of gears, and a face with arms. The invention is a smashing success, and within a year I am swimming in wealth. Was wealth created? It would certainly seem so, if you were to only look at the individual node of the economic network representing &lt;em&gt;me&lt;/em&gt;. That doesn’t explain where the wealth I’ve gained came from then. When I invented the clock, did the market value of one of my clocks suddenly show up in the bank account of everyone interested in buying the clock? No, it did not. Instead, the people who bought the clock found it &lt;em&gt;more useful than something else they would have otherwise bought&lt;/em&gt;. In other words, my creation of the first clock did not &lt;em&gt;create wealth&lt;/em&gt;, it merely diverted it. If you were to take a simplistic view, you could say that wealth was diverted from sundials. So while I have found new riches, the builders of sundials are perhaps wringing their hands at the very thought of me.&lt;/p&gt;

&lt;p&gt;Now, an important distinction I brought up before: wealth and societal value are different! When I created the first clock, &lt;em&gt;societal value was created&lt;/em&gt;. People can now tell time at night and they can tell time without owning a plot of land on which a sundial would have gone. I have created value (as in &lt;em&gt;societal value&lt;/em&gt;) with my invention. I have not, however, created wealth. No new economic inputs appeared. I have instead diverted existing wealth from other nodes of the economic network to myself.&lt;/p&gt;

&lt;p&gt;This applies to all inventions. Airplanes diverted wealth from trains. Cars diverted wealth from carriages, equestrian tradespeople, and barns. Computers diverted wealth (and continue to do so) from countless industries and professions. None of these things directly created new wealth (however, indirect &lt;a href=&quot;#wealth-creation&quot;&gt;wealth was created&lt;/a&gt; when the market demand for silicon skyrocketed in order to build computers).&lt;/p&gt;

&lt;h2 id=&quot;stock-market&quot;&gt;Stock market&lt;/h2&gt;

&lt;p&gt;But the stock market! If I buy IBM at $10 and sell a year later for $15, wealth has been created!&lt;/p&gt;

&lt;p&gt;Not really. In the simplistic view, people sold other stocks in order to purchase IBM. The stocks they sold are now worth less than before. Or perhaps someone decided to buy IBM’s stock instead of a second car. The car dealership lost a sale because your IBM stock went up.&lt;/p&gt;

&lt;p&gt;Why, then, does the stock market keep trending up over time? Isn’t wealth being created? In some ways, yes. If a country has oil reserves, mining that oil &lt;a href=&quot;#wealth-creation&quot;&gt;has created wealth&lt;/a&gt;. This is not enough to explain the overall market growth, however. In essence, the stock market grows when people put money into it. So it follows that the stock market grows because more and more people are buying stocks. This can be seen as a diversion of wealth from outside the stock market as purchases &lt;em&gt;into&lt;/em&gt; the stock market. This is, in essence, a growing concentration of wealth into the market, most probably caused by extractions of profit by those who are more inclined to invest:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/uploads/dow_100_inflation.png&quot; alt=&quot;Dow Jones 100-year inflation-adjusted&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.macrotrends.net/1319/dow-jones-100-year-historical-chart&quot; target=&quot;_blank&quot;&gt;(Source)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s the Dow Jones over a 100-year period, inflation-adjusted. Notice the growth patterns before the 1990s: a peak in 1929 of $5.5K, a slightly higher peak in 1966 of $7.8K, then after 1996 explosive growth. This explosion happened right around the time of Clinton’s neoliberal policies encouraging hostile banking in foreign nations and relaxation of trade regulations. In a capitalist sense, this represented a new frontier. Wealth was not created, but diverted to the United States from developing nations.&lt;/p&gt;

&lt;p&gt;Speaking of wealth and stock markets, the 2008 financial crisis is a wonderful example of what happens when people attempt to create new wealth. The government bailouts to banks ended up being a large diversion of wealth from taxpayers to greedy pricks.&lt;/p&gt;

&lt;h2 id=&quot;actual-wealth-creation&quot;&gt;Actual wealth creation&lt;/h2&gt;

&lt;p&gt;So why then is wealth a &lt;em&gt;mostly&lt;/em&gt; zero-sum game? Because wealth &lt;em&gt;can&lt;/em&gt; be created: mining resources, homesteading a previously uninhabited plot of land, and harnessing natural forms of energy (such as farming or solar and wind power).&lt;/p&gt;

&lt;p&gt;The best case for wealth &lt;em&gt;creation&lt;/em&gt; would likely be mining. Mining creates new economic inputs that were previously unusable, and some of these economic inputs have very high market value.&lt;/p&gt;

&lt;p&gt;Also, new technologies can &lt;em&gt;unlock&lt;/em&gt; economic inputs that were previously inaccessible. Invention of the offshore drilling rig allows oil extraction where previously infeasible. A device that allows humans to breath underwater indefinitely might allow homesteading of the ocean floor…what was once useless to humans (in the sense of monetary value) is now commodifiable. Or perhaps a space ship that can mine raw materials from Mars would result in the creation of new wealth.&lt;/p&gt;

&lt;p&gt;However, in the case of creation of wealth, the wealth created (as in, the economic inputs added to the network) is miniscule to the other economic operations required. For instance with farming, you have to buy the machines to prepare the soil. You have to buy the seeds. You have to buy the watering infrastructure and the water. You have to hire the workers to help you. &lt;em&gt;You have to pay taxes to fund the legal and military system that ultimately protects your land from hostile takeover&lt;/em&gt;. The amount of in-network economic transactions required to produce the new economic inputs (the input being food grown by the sun), are miniscule to the creations of economic inputs.&lt;/p&gt;

&lt;p&gt;In reality, the few cases where wealth &lt;em&gt;creation&lt;/em&gt; actually occurs are either hyper-competitive such that nobody is getting &lt;em&gt;rich&lt;/em&gt; by participating (unless they own massive amounts of land and equipment), &lt;em&gt;or&lt;/em&gt; they are exclusive to those who already have immense amounts of wealth.&lt;/p&gt;

&lt;h2 id=&quot;yes-wealth-can-be-created-but-not-by-you&quot;&gt;Yes, wealth can be created (but not by you)&lt;/h2&gt;

&lt;p&gt;Wealth can be created. The creation takes place as an economic input that is either external (like the sun), locked away (under the Earth), or by new technology that allows the harnessing of either of those in order to produce new economic inputs. These new technologies are generally not immediately available to the general public, meaning creation of new wealth is controlled by those that have a critical mass of it already.&lt;/p&gt;

&lt;p&gt;In essence, the amount of economic processes that create wealth are &lt;em&gt;tiny&lt;/em&gt; compared to the amount of economic processes that are simply diversions of wealth, and unless you have a good heap of starting capital, you will not be &lt;em&gt;creating&lt;/em&gt; wealth anytime soon.&lt;/p&gt;

&lt;p&gt;For someone with a net worth of $500M, perhaps wealth can be created. For someone with a net worth of $100K, wealth cannot be directly created…only diverted, by convincing people who have wealth already to do so.&lt;/p&gt;

&lt;p&gt;Wealth is (mostly) a zero-sum game.&lt;/p&gt;

</description>
          <pubDate>Wed, 27 Mar 2019 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/economics/wealth-is-mostly-a-zero-sum-game/</link>
          <guid isPermaLink="true">https://killtheradio.net/economics/wealth-is-mostly-a-zero-sum-game/</guid>
          
          <category>economics</category>
          
          <category>wealth</category>
          
          <category>capital</category>
          
          <category>networks</category>
          
          
          <category>economics</category>
          
        </item>
	  
    
      
        <item>
          <title>How to really save Net Neutrality</title>
          <description>&lt;p&gt;Net Neutrality is a hot topic in the United States. On the one hand, you have
people claiming that government should stay out of the internet. On the other
hand, you have people claiming that the internet is much too important to
leave in the hands of a few immense telecoms.&lt;/p&gt;

&lt;h2 id=&quot;what-is-net-neutrality&quot;&gt;What is Net Neutrality?&lt;/h2&gt;

&lt;p&gt;Net Neutrality is fairly simple. There are many people who will tell you it’s
the “government controlling the internet” or “Obamacare for the internet.” This
is useless propraganda.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Net Neutrality is the idea that all traffic is treated the same&lt;/em&gt;, regardless of
its source or destination. From the college student looking at cat photos to the
government contractor submitting plans for a new missle prototype: if it’s going
over the internet, the packets carrying the information are treated the same.&lt;/p&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;Why is this important? Well, Comcast has a service, Stream, that competes with
Netflix. There are two ways to make money by sidestepping Net Neutrality:
Comcast can tell Netflix “pay us a buttload of money every year or we’ll make
sure your little streaming service is unusably slow for our customers.” Netflix
now has to pony up or lose a large segment of paying customers. On the flipside,
Comcast can throttle Netflix and start marketing their Stream service so their
customers will more naturally flock away from Netflix.&lt;/p&gt;

&lt;p&gt;That’s one example. There are a number of things telecoms can do if Net
Neutrality is not enforced:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Throttle competing services&lt;/li&gt;
  &lt;li&gt;Sell tiered internet plans:
    &lt;ul&gt;
      &lt;li&gt;$50 for Basic (Google, Facebook, Twitter)&lt;/li&gt;
      &lt;li&gt;$70 for Premium (Basic + CSS, Fox, and 12 other news websites)&lt;/li&gt;
      &lt;li&gt;$120 for Platinum (all websites)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Block websites outright.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Looks bleak.&lt;/p&gt;

&lt;p&gt;The principals of Net Neutrality are clearly pro-consumer. Having equal access
to all information on the internet without any kind of gatekeeper forcing you
into various acceptable pathways is what our country is about: open exchange of
ideas.&lt;/p&gt;

&lt;p&gt;So why don’t telecoms enforce Net Neutrality?&lt;/p&gt;

&lt;h2 id=&quot;the-problems-with-the-internet-in-the-us&quot;&gt;The problem(s) with the internet in the US&lt;/h2&gt;

&lt;p&gt;Most big telecoms abhor Net Neutrality as they see it as a barrier to their 
profit margins. They don’t want to treat traffic equally, going so far as to say
it hinders their free speech.&lt;/p&gt;

&lt;p&gt;But won’t the free market solve this problem? The answer is “not really.” The
free market, as it exists in its current climate, &lt;em&gt;has&lt;/em&gt; solved this problem. We
are already looking at the solution: A handful of large players, dividing up
service areas on gentleman’s agreements, effectively self-enforcing a
one-company-per-area monopoly for any given town. In essense, there is no choice
in ISP, other than to move to another town.&lt;/p&gt;

&lt;p&gt;Another problem is that given that these companies act as gateways to the
world’s online information, they are given cash infusions by various governments
in order to expand their networks. &lt;a href=&quot;http://irregulators.org/bookofbrokenpromises/&quot;&gt;These expansions either don’t happen at
all or if they do, are miniscule compared to the promises made&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the cases where people decide their town should build fiber lines that are
truly owned by the public, the telecoms will &lt;a href=&quot;http://www.latimes.com/business/hiltzik/la-fi-hiltzik-cable-municipal-broadband-20160812-snap-story.html&quot;&gt;file suit and run propaganda
campaigns in the towns&lt;/a&gt;
in order to fight what is essentially free-market competition (with a
municipality entering the market as a competitor).&lt;/p&gt;

&lt;h3 id=&quot;summary&quot;&gt;Summary:&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Telecoms are monopolies in the US. There is no “choice” in most locations.&lt;/li&gt;
  &lt;li&gt;Telecoms block any competitive choice through collusion or through passing
legislation blocking municipal broadband.&lt;/li&gt;
  &lt;li&gt;The people of the US have invested billions in telecom infrastructure, but
are told we have no choice when deciding the flow of information through the
networks we’ve invested in.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;the-solution-municipal-fiber&quot;&gt;The solution: Municipal fiber&lt;/h2&gt;

&lt;p&gt;Net Neutrality has been ping-ponging in the FCC for a while now. Things were
looking good with Wheeler in charge. Now things look dark with Pai. If there is
a decisive win either way, the battle will move to congress. Telecoms are
pouring money by the truckload into their anti-Net Neutrality campaigns. At the
same time there are a vocal group of people fighting to protect NN.&lt;/p&gt;

&lt;p&gt;The battle will rage tirelessly for years to come unless we change our methods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We need to move the battle out of the federal government and into local
municipalities.&lt;/strong&gt; We need to crush the telecoms with public infrastructure. We
need fiber in our towns, and LTE towers in our rural areas, all publically owned
and operated. Then we can rent out the infrastructure to whoever wants to
compete on it.&lt;/p&gt;

&lt;p&gt;This creates a level playing field for true competition, while putting the
supporting infrastructure where it belongs: in the hands of the public. We have
municipal roads. We have municipal water. We have, in many places, municipal
power.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s time for municipal fiber.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This will end the stranglehold telecoms have on our information. It allows the
free market to solve the issue of Net Neutrality through competition, making it
something that no longer needs regulatory protection.&lt;/p&gt;

&lt;p&gt;The Net Neutrality activists win. The free market fundamentalists win. The only
losers are the entrenched powers that are squeezing your wallet while tightening
their grip on the flow of information.&lt;/p&gt;

&lt;p&gt;Talk to your city/county/state representatives about municipal fiber.&lt;/p&gt;

</description>
          <pubDate>Fri, 27 Oct 2017 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/technology/how-to-really-save-net-neutrality/</link>
          <guid isPermaLink="true">https://killtheradio.net/technology/how-to-really-save-net-neutrality/</guid>
          
          <category>net neutrality</category>
          
          <category>internet</category>
          
          <category>free speech</category>
          
          
          <category>Technology</category>
          
        </item>
	  
    
      
        <item>
          <title>Debug comments (or how to save your sanity using git)</title>
          <description>&lt;p&gt;A lot of times when I’m programming, I need to write a few lines of code that
test what I’m working on. This can be a top-level function call, a few log
entries, etc. Much to my dismay, I tended to end up with this debug code
committed to git.&lt;/p&gt;

&lt;p&gt;I decided I &lt;a href=&quot;https://www.youtube.com/watch?v=7wqWyLb8Vvo&quot;&gt;wasn’t going to take it anymore&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;gits-pre-commit-hook-to-the-rescue&quot;&gt;Git’s pre-commit hook to the rescue&lt;/h2&gt;

&lt;p&gt;Now, whenever I add one of these lines, I mark it with a special comment:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-javascript&quot; data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;the value is: &lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;     &lt;span class=&quot;c1&quot;&gt;// gee, sure hope i don't commit this&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;becomes&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-javascript&quot; data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;c1&quot;&gt;// DEBUG: remove this log entry&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;the value is: &lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Then in my pre-commit hook, I symlink a script that checks for &lt;code class=&quot;highlighter-rouge&quot;&gt;DEBUG&lt;/code&gt; comments
in various languages for that repo:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/sh&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;function &lt;/span&gt;add_to_debug &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;nv&quot;&gt;filetype&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$1&lt;/span&gt;
	&lt;span class=&quot;nv&quot;&gt;comment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$2&lt;/span&gt;

	&lt;span class=&quot;nv&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;
		git diff &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
			&lt;span class=&quot;nt&quot;&gt;--cached&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
			&lt;span class=&quot;nt&quot;&gt;--name-only&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
			&lt;span class=&quot;nt&quot;&gt;-G&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;comment&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;[ ]*DEBUG&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
			&lt;span class=&quot;nt&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;*.&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;filetype&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
	&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;nv&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

add_to_debug &lt;span class=&quot;s1&quot;&gt;'js'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'//'&lt;/span&gt;
add_to_debug &lt;span class=&quot;s1&quot;&gt;'rs'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'//'&lt;/span&gt;
add_to_debug &lt;span class=&quot;s1&quot;&gt;'html'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'&amp;lt;!--'&lt;/span&gt;
add_to_debug &lt;span class=&quot;s1&quot;&gt;'lisp'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;';'&lt;/span&gt;
add_to_debug &lt;span class=&quot;s1&quot;&gt;'sh'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'#'&lt;/span&gt;
add_to_debug &lt;span class=&quot;s1&quot;&gt;'hbs'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'{{!--'&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
	&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo
	echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Please address the DEBUG comments in following files before committing:&quot;&lt;/span&gt;
	&lt;span class=&quot;nb&quot;&gt;echo
	echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'s/^/  /'&lt;/span&gt;
	&lt;span class=&quot;nb&quot;&gt;exit &lt;/span&gt;1
&lt;span class=&quot;k&quot;&gt;fi&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Using this, trying to commit any code that has DEBUG comments will fail with the
output:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Please address the DEBUG comments in following files before committing:

  user.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This forces going back in and cleaning up your code before committing it.
Wicked.&lt;/p&gt;

&lt;h2 id=&quot;get-it-yourself&quot;&gt;Get it yourself&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/orthecreedence/git-debug-hook&quot;&gt;Grab the pre-commit hook off my Github&lt;/a&gt;
to END THE SUFFERING and stop committing your debug code.&lt;/p&gt;

</description>
          <pubDate>Wed, 01 Feb 2017 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/technology/debug-comments-or-how-to-save-your-sanity-using-git/</link>
          <guid isPermaLink="true">https://killtheradio.net/technology/debug-comments-or-how-to-save-your-sanity-using-git/</guid>
          
          <category>git</category>
          
          <category>programming</category>
          
          
          <category>Technology</category>
          
        </item>
	  
    
      
    
      
        <item>
          <title>Ansible: included handlers not running in v2.x</title>
          <description>&lt;p&gt;I’ll keep this short. I recently installed Ansible 2.0 to manage the &lt;a href=&quot;https://turtl.it&quot;&gt;Turtl&lt;/a&gt;
servers. However, once I ran some of the roles I used in the old version, my
handlers were not running.&lt;/p&gt;

&lt;p&gt;For instance:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;c1&quot;&gt;# roles/rethinkdb/tasks/main.yml&lt;/span&gt;

&lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;copy rethinkdb monitrc file&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;src=monit.j2 dest=/etc/monit.d/rethinkdb&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;notify&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;restart monit&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;c1&quot;&gt;# roles/rethinkdb/handlers/main.yml&lt;/span&gt;

&lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;include roles/monit/handlers/main.yml&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;c1&quot;&gt;# roles/monit/handlers/main.yml&lt;/span&gt;

&lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;restart monit&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;/etc/rc.d/rc.monit restart&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Note that in Ansible &amp;lt;= 1.8, when the monitrc file gets copied over, it would
run the &lt;code class=&quot;highlighter-rouge&quot;&gt;restart monit&lt;/code&gt; handler. In 2.0, no such luck.&lt;/p&gt;

&lt;h2 id=&quot;the-fix&quot;&gt;The fix&lt;/h2&gt;

&lt;p&gt;I found &lt;a href=&quot;https://github.com/ansible/ansible/issues/13485&quot;&gt;this github discussion&lt;/a&gt;
which led to &lt;a href=&quot;https://groups.google.com/forum/#!topic/ansible-devel/9aJaoVeRdOg&quot;&gt;this google groups post&lt;/a&gt;
which says to put this in &lt;strong&gt;ansible.cfg&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[defaults]
...
task_includes_static = yes
handler_includes_static = yes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This makes includes pre-process instead of being loaded dynamically. I don’t
&lt;em&gt;really&lt;/em&gt; know what that means but I do know it fixed the issue. It breaks
looping, but I don’t even use any loops in ansible tasks, so&lt;/p&gt;

&lt;p class=&quot;lead&quot;&gt;&lt;img src=&quot;/images/uploads/dr_scurvy.png&quot; width=&quot;720&quot; height=&quot;400&quot; alt=&quot;Do whatever you want, you little weasel. I don't care. I DON'T CARE.&quot; /&gt;&lt;/p&gt;

</description>
          <pubDate>Sun, 05 Jun 2016 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/technology/ansible-included-handlers-not-running/</link>
          <guid isPermaLink="true">https://killtheradio.net/technology/ansible-included-handlers-not-running/</guid>
          
          <category>ansible</category>
          
          <category>servers</category>
          
          <category>debugging</category>
          
          
          <category>Technology</category>
          
        </item>
	  
    
      
        <item>
          <title>Spam entry: We are expert</title>
          <description>&lt;p&gt;This is a post in a &lt;a href=&quot;/tag/spam&quot;&gt;series of spam responses&lt;/a&gt; I’m doing after
creating a new domain for my website. After receiving a flood of sales calls
and emails, I’m deciding to have some fun.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Finally, someone who &lt;em&gt;knows what they’re doing&lt;/em&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hi,&lt;/p&gt;

  &lt;p&gt;Would you be interested in building your website? We are a professional web design company based in India.&lt;/p&gt;

  &lt;p&gt;We are expert in the following :-&lt;/p&gt;

  &lt;p&gt;Joomla Websites&lt;br /&gt;
Word press Websites&lt;br /&gt;
Magento Websites&lt;br /&gt;
Shopify Websites&lt;br /&gt;
Drupal Website&lt;br /&gt;
E-Commerce Solutions&lt;br /&gt;
Payment Gateway Integration&lt;br /&gt;
Custom Websites&lt;br /&gt;
Mobile Apps&lt;br /&gt;
Digital Marketing&lt;/p&gt;

  &lt;p&gt;If you want to know the price/cost and examples of our website design project, please share your requirements and website URL.&lt;/p&gt;

  &lt;p&gt;Thanks,&lt;br /&gt;
Prerana&lt;br /&gt;
Business Consultant&lt;br /&gt;
Note: We are Offering 20% Discount on Web Development Packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Come to think of it, I DO need a website…&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Prerana,&lt;/p&gt;

  &lt;p&gt;Thank you for contacting us. I work for a very large government contractor in
the United States and we are going to use our domain for a very important
project of ours. We were going to put out a bid for website development, but
looking over your offer makes me realize that maybe we can just subcontract
the project directly through your firm. Now, this is a fairly low-budget
project, around $750,000.00 USD so you may not have time to take it on. Also,
thank you for your 20% discount, which brings the project total down to
$600,000.00 USD. Very kind of you.&lt;/p&gt;

  &lt;p&gt;A bit about the project: We’re trying to use open web technologies to create a
supercomputer cluster out of visitors who come to the site. Essentially,
government agencies submit “jobs” and those jobs are broken into tiny pieces.
Anyone who visits the website is put to work such that their browser grabs the
next available job, does the work, and submits it back to the website in
completed form.&lt;/p&gt;

  &lt;p&gt;What we need from your firm is to build a high-throughput queuing system that
handles a) breaking large jobs into small ones b) queuing delivery of the jobs
to visitors, handling things like connectivity issues and retrying failed jobs
c) programming the algorithms in the actual browser that will handle the work
itself.&lt;/p&gt;

  &lt;p&gt;The algorithms are fairly simple, for instance one of them has to do with
processing fourier transforms on incoming SETI waveforms. You will then need
to classify the deconstructed wave forms for a distributed self-organizing map
(Kohonen network) step-by-step using the queue you build so eventually we can
pump a wave form through the system and get an automated classification! Easy
stuff, but we just don’t have the development bandwidth for it.&lt;/p&gt;

  &lt;p&gt;Another one of the client-side algorithms is a stream processing system which
takes certain sensor data from readings at our particle accelerator and
searches for anomalies and outliers across a wide range of data. The detection
mechanisms you use are up to you! We don’t want to micro-manage. However, if
you provide inaccurate results, billions of dollars will be lost, so try to be
mindful!&lt;/p&gt;

  &lt;p&gt;There are about seven or eight more client-side distributed job algorithms
we’ll need, but we can go into details later.&lt;/p&gt;

  &lt;p&gt;Lastly, and I know this is stupid, but the website will need some sort of
video streaming. Our user’s love videos. We have a feed coming from one of our
space stations, however the transmitter on the station is broken and is
sending data incorrectly. It’s an old transmitter, so it’s analog, even though
the signal is digital. We’re planning on sending a mission out to fix it next
year (does your firm do shuttle software?) but until then we need the website
to be able to decode this analog signal and de-corrupt it, essentially. We
have an internal expert on the video feed and the proprietary digital format
it uses, however he’s away on vacation in France for a few months so you’ll
need to figure out the format yourself and try to decode it from the analog
stream. Kid’s stuff. We can send over his notes if needed, but they are
scrawled inside of a Sears catalog (he’s a bit disorganized) and the pages are
stuck together for some reason so we need to bring in an expert to digitize
the notes. However, a firm of your stature should be able to brush this
problem aside without too much effort even without his help.&lt;/p&gt;

  &lt;p&gt;Thanks for your time, let us know if this is something you’re interested in!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sometimes the simplest ideas are the best ones. This project should be a cake
walk for Prerana and her team.&lt;/p&gt;

</description>
          <pubDate>Fri, 27 May 2016 00:00:00 +0000</pubDate>
          <link>https://killtheradio.net/funny/spam-we-are-expert/</link>
          <guid isPermaLink="true">https://killtheradio.net/funny/spam-we-are-expert/</guid>
          
          <category>spam</category>
          
          <category>funny</category>
          
          
          <category>Funny</category>
          
        </item>
	  
    
  </channel>
</rss>
