In Defense of Anagorism

political economy in the non-market, non-state sector

Category: Uncategorized

  • Education and its disruptors

    Some say debt aversion is a bad thing. Maybe it is, “nothing ventured, nothing gained,” and all. I was born in the mid-1960s, but my parents were late bloomers, reproduction-wise, so I’m a demographic oddity for my age in being only one generation removed from the Great Depression.

    My parents were also low-achieving enough that I qualified for a Pell Grant, and Work Study. Do those programs even still exist? Had I not qualified for non-repayable financial aid, I’m pretty sure that either I would not have gone to college (most likely) or limited myself to majors that were directly applicable/marketable at BS-level (accounting, nursing, engineering, etc.) As it is I majored in math, but with a very broad-based selection of electives. I also chose challenging courses over being grade motivated, which may be the main reason I have no degrees beyond the BS degree. As it turns out I’m even more of an underachiever than my parents, career-wise, so I can’t say with a straight face that I’ve given the taxpayers a return on their investment by breaking out of the 15% tax bracket.

    Perhaps we were wrong, as a society, to challenge the conventional wisdom that learning for its own sake is a privilege of the leisure class. Perhaps it is good that the university as we know it is seeing its business model break down and its student body siphoned off by disruptive innovators. Academic careers have become a sort of refuge for people with attitudes that simply don’t fly in a corporate setting, so maybe it is best that a seizable majority of youths should be gently prodded in the direction of practical skills training instead of ivory tower nonsense.

  • More on “right to work” and issue framing

    Framing is of course important, but I cringe just a little when people use the free rider framing against “right to work” because free rider problems and “tragedy of the commons” arguments in general seem to find uses most often in cases for right of center causes. Same for appeals to contractually defined rights. I sometimes invoke contractarian ideas, but with the understanding that I regard contracts as a bug rather than a feature of the status quo. Show me a contract between a business and an individual that was not collectively negotiated (collectively bargained) and I’ll show you a very one-sided boilerplate. Basically, I don’t like that some employers insist on privacy-invasive practices such as unwarranted piss tests or credit checks, but to vote with my feet against the practice would mean limiting the number of openings for which I would be willing to apply, and I’m simply not established enough to be able to afford to be picky about that, so I just have to suck it up and sign a lot of application boilerplate that makes me puke. Some workplaces happen to be union shop (or “closed shop,” as the dishonest types who use dishonest terms like “right to work” prefer to call it). If you have a problem with that then, as the laissez-faire types like to say disparagingly whenever anyone brings up a genuine worker rights concern, “nobody’s holding a gun to your head.”

    That being said, I do understand the importance of being able to argue your cases in terms of principles central to your opponents, as well as the difference between arguing before the water cooler and arguing before the Supreme Court.

  • Open source managers for my recipe collection, maybe yours too?

    My dream recipe database would link to USDA’s National Nutrient Database for Standard Reference by using that database’s NDB_NO field as the primary key for recipe ingredents. This would allow rapid calculation of at least approximate macronutrient profiles of each prepared recipe. As an added bonus, I’d like to create a table that maps barcodes (UPC, EAN, etc.) to NDB numbers. Next step after that is to incorporate barcodes into my personal bookkeeping (perhaps by adding a BARCODE column to GnuCash’s SPLITS (as in “transaction splits”) table so materials cost of each recipe is at my fingertips, based on data collected empirically out in the actual market economy.

    I’ve made a number of (mostly false) starts on this project. The main discouraging factor is that making it information-rich enough to be entertaining would entail millions of keystrokes worth of data entry. Getting some number of other people interested may cause network effects to kick in, but seems unlikely. Surely if it were feasible someone would have done it by now…

  • Is there #OpenData outside #OpenGov?

    Is there a public domain separate from the public sector? Is there any interest in applying pressure to the private sector for increased transparency and a less proprietary approach to data?

    I ask this because when I check in on #OpenData as a Twitter hashtag, approximately 100% of the tweets describe some kind of activity that is being undertaken in the “open government” arena, or something about some local or national government somewhere releasing some dataset into the public record.

    A tweet by Josie and Lori (@peced): Is paucity of #OpenData projects that're not also #OpenGov abt gov as a path of less resistance, or deference to legitimacy of trade secrets?

    I ask this because I want to believe that the open data movement is currently concentrating on public sector data simply because that is the path of least resistance or, in practical terms, that is where the available data are, so those who have queries and algorithms to try out simply go where the data are. Another, more cynical-seeming possibility that occurs to me is that the open data movement is populated largely by people who see a place for proprietary data in the world, or see treatment by business of actionable data as proprietary, as natural, legitimate and perhaps inevitable. “Information wants to be valuable” and all that. Another possibility that has occurred to me is that open data is the new open source, and some percentage of the open data activity is essentially portfolio work undertaken in hopes of making a career of data science, with the candid understanding that information wants to be valuable, and frank acceptance that professional careers in data will inevitably mean non-disclosure agreements, non-compete clauses and other data siloing strategies.

    If there is some kind of career path from open data activism to information asymmetry-fueled careerism or entrepreneurship, then it is right and proper to view those who successfully make that transition as rent seekers, very much in the tradition of companies that stake intellectual property claims on things that are fairly direct fruits of public investment in basic research. If this is what’s happening, don’t be surprised if at some point these “activists” act to cut out the lower rungs on the ladder of their own ascent, perhaps by advocating privatization of those government agencies that supplied the open data they cut their teeth on, or alternatively, advocating “running government like a business” which of course includes recognizing data (which wants to be valuable) as a valuable asset and hoarding it (or at least pricing access to it) as a private entity would.

    The main question on my mind is: Are there “rogue elements” within the open data movement that take a decidedly adversarial view toward commercial entities when it comes to matters of applied information asymmetry? as a “brand” has become so absolutely synonymous with #OpenGov that perhaps I should be looking outside the self-identified open data movement for the “proprietary is a dirty word” kind of irreverence and spunk that I’m looking for.

  • Comment rescued from original article deletion, about Google’s version of patent hoarding

    Hmm, seems the progress.org article to which I referred here has been deleted. To add to the misery this happened before the Wayback Machine got ahold of it. As luck would have it, Disqus retained my comment. Perhaps Disqus isn’t as horrible as I thought. Certainly my opinion of them went up 10 points today. Here is my comment, without the commented-upon item for context, but at least available for your possible enjoyment:

    This sounds like a case of “Google exceptionalism.” Power corrupts, but Google follows a rule that says “don’t be evil.”

    “Inventors often need investors.” And so the argument goes that a more profitable and expensive patent results in favorable terms to the inventor. My argument is that if terms favorable to the inventor were somehow to emerge, it would be because investors need inventors. By need, I mean need, not want, or benefit from. Profit motive is motive, but need is mandate. So excuse me if I don’t believe profit is likely to cancel out need when it comes to terms of a deal. Investors, (almost) by definition, are people with economic surplus. Sure there are pathways that lead from there to need. In theory. You know, if it weren’t for the “glass floor.”

    Perhaps Google will not in fact troll the patent portfolio that apparently it is aggressively accumulating. Perhaps they will mine it instead. They already own machine readability of the entirety of human writings.

    A patent is a disclosure. The social bargain (in theory) is that the entity awarded a patent gets a no-trespassing sign, and the public gets a technology that they don’t get to participate in actively (unless that’s OK with the patent holder) but at least they get to understand what it is and what is its theory of operation. Patents were invented (according to things I’ve been told) as a less antisocial alternative to trade secrets. If how technologies work is a secret then most of us may as well be cargo cultists. So, patents, like court records, land titles, the academic literature and many other things are part of the public record. Now it has emerged that machine readability and searchability (“datafication” as the “Big Data” types buzz) confers decisive advantages when it comes to leveraging data. So it is we have all seen ads from Intelius-like companies hawking peeks at “the public record” for $35 a pop or whatever it is. And other companies offering a one-day pass on a pdf file.

    A non-trivial part of applying for a patent is the “patent search,” or the due diligence necessary to confirm that your “invention” passes the patent office’s “novelty” requirement. I would suggest that datafication of existing patents might have more to do with future patents than with existing patents. Perhaps Google wants to be the worlds patent attorney, as well as the world’s librarian.

  • Are you nescient?

    Nescient, in case you didn’t know, is the opposite of “omniscient.”

    While I hate the whole “thought leader” fad, I’m finding that my favorite ally among public intellectuals is Frank Pasquale, someone who seems to actually “get it” when it comes to what issues I think are actually important concerning the big data fad, and informational issues in general. This article nails it in so many ways, but I draw your attention to this:

    Wired’s flagship article on the IoT asks, “Have you ever lost an object in your house and dreamed that you could just type a search for it, as you would for a wayward document on your hard drive?”

    This perfectly illustrates my love/hate attitude toward Wired. They have (in terms of my own warped worldview) an uncanny sense of what questions need to be asked, but somehow always manage to find a framing for each issue that finds enterprise-in-the-abstract essentially blameless. In this case, I wish to call them out on “bad metaphor.” My complaint isn’t with a tagged tangible object as a metaphor for a searchable informational object. That I think is a valid metaphor and in fact describes a technology which I desire. No, my gripe is with a hard drive as a metaphor for an internet. If I’m looking for a file on my hard drive my options are very direct. Since I’m a Linux user, if I remember all or part of the filename, locate gives me almost instantaneous results. If I remember a few words or numbers, some pipelined combination of find and grep almost always does the trick. There are even tools that can help with accidental deletions. Searching for “lost documents” on the Internet is a whole nother ball game, and this is NOT primarily because the Internet is a bigger informational space than my hard drive. Clearly it’s because the search tools available to me on the Internet are vastly inferior, and are inferior by design. Unless I’m really missing something, building the underlying database of a modern search engine (by “crawling”) consumes much more of every kind of resource than developing or operating tools for searching it at any level of detail one might wish. This is especially true when the even the public domain contains performant big data tools such as as Hadoop. But that’s the whole catch, it seems. I don’t have anywhere near the resources to index the web, therefore I’ll never have enough access to existing indexes of it to have the opportunity to search it intelligently. There’s no technological reason my search engine query can’t be an SQL query against all indexed pages, just like there’s no technological reason my supermarket receipt can’t be a machine-readable document containing everything from the ingredients lists on the packages in my cart to the gross weight of each item (already tabulated as evidenced by the way self-checkout operates). It’s two thousand fucking fifteen and to journal groceries and cleaning supplies in separate expense accounts in my personal accounting software I have to do data entry, like I did for temp agency wages back in the 1980s! There’s no technological reason there can’t be a USB port on my car dashboard that turns my car (or at least its onboard computers) into basically a flash drive, containing a filesystem full of everything from GPS logs to oxygen sensor logs to accelerometer logs. If there is an accelerometer log it’s for Aunt Flo’s use over at Progressive, to see if I’m braking too hard to be eligible for affordable insurance. Beyond filesystems there could be smarter interfaces to the data such as an SQL engine or a (local) webserver. The reasons are rooted in the laws of economics. I’m not a paying customer, therefore I’m the product. And the car manufacturers are very hard at work trying to create legal precedents for my non-ownership of my car. Where’s GWB’s “ownership society” when you need it?

    There’s wisdom as well as irony in the fact that the I in IQ stands for the same word as the I in CIA. As market-based allocation of resources tends toward the rich getting richer and the poor poorer, likewise in a data landscape in which monetization is a prerequisite for organized activity, the smart get smarter and the ignorant get ignoranter. Advanced big data techniques in service to accumulation of information asymmetry and the accompanying arbitrage opportunities results in what I call TAIWAN. Nothing to do with the country by that name or its admirable citizens; it’s just an acronym:

    Total
    Asymmetric
    Information
    Warfare
    Against
    Nescients

    Whenever there’s a discussion of poverty or inequality in the “money” sense, you can make a drinking game of counting the seconds before one of the participants invokes the “absolute poverty argument.” It could be as sophisticated as someone pointing out that a poor person today is better nourished or has better life expectancy than some medieval monarch (or has technologies “beyond the dreams” of the latter), or as crude as some passing remark about “welfare people” who have iPhones. This of course can be elided into the idea that the welfare recipient with an iPhone has more powerful informational resources at their disposal than the director of MI5 circa 1950, or even NASA circa 1969. Don’t believe the hype. Some things really are zero sum games, and some goods are indeed positional goods. Exclusive access to any resource, including information, is on the short list of goods that can be described as positional. Being in the 0th percentile means being shat upon by roughly 100% of the parties you may have to transact with in the daily grind of securing employment, housing, transportation, credit (to cover house/car emergencies). All the good stuff at the base of the hierarchy-of-needs pyramid. This is as true of being 0th percentile in the information=power game as it is in the wealth=power game.

  • Google, the patent non-troll

    Scott Santens, a.k.a. 2noame, of UBI (unconditional basic income) movement fame, has clued me in on a website called progress.org. Their agenda seems to be a synthesis of Georgism and Aust(e)rianism, and their recruiting strategy seems to be baiting progressives with a domain name like “progress.org” and switching them with the “it’s really corporatism you’re against” admonishment that progressives have already heard a million times from the tea party types, the left-styled libertarians, the other anarcho-capitalists, etc.

    The link posted by Scott is to this piece on whether money for nothing will spoil you. Intra-site clickbait drew me to this piece on Google’s recent publicity stunt involving Google somehow wanting to be a patent hoarder without being yet another patent troll. I left a comment there, in case anyone is interested.

  • Confession

    I sincerely hope the 21st century turns out to be as humiliating for supporters of free (and “freed”) market ideology as the 20th was for supporters of egalitarianism.

    If this makes me a bad person, oh well.

  • Thesis

    Thesis: There are abuses of humans that arise from economic phenomena, that do not have their root in the political process.

    Identifiable groups that are attacking that thesis: Conservatives, neoliberals, classical liberals, laissez-faire capitalists, anarcho-capitalists and “left” libertarians.

    Questions: Any questions?

  • A simple CGI example in Scheme

    This example is tested with Guile 1.8.8, a nice lightweight open-source Scheme. The string-split function is not part of the RSR5 standard, but shouldn’t be too hard to hand-code. I found a ready-made one, but apparently that one requires a single character split expression to be “listed,” which is to say, in the code below, #\= would be replaced by '(#\=). As is always the case setting up new languages for CGI access, there is a need to tweak /etc/apache2/httpd.conf. This is what I’m running with:

    LoadModule cgi_module modules/mod_cgi.so
    ScriptAlias /cgi-bin/ /var/www/perl/
    AddHandler cgi-script .cgi .pl .scm
    
    <Directory "/var/www/perl/">
    Options +ExecCGI
    </Directory>
    
    <Directory "/var/www/scheme/">
    Options +ExecCGI
    </Directory>
    
    

    The Scheme script is pretty trivial. Its task is to display the environment variables and their values as a table. Here is the script:

    #!/usr/bin/guile -s
    !#
    
    
    ; Convert an element of the return value of (environ), which is a single string
    ; in which the #\= character separates key and value, to a pair in which the
    ; key is the car (suitable for lookup via assoc) and the value is the cdr.  If
    ; the string contains more than one #\=, only the first one is a delimiter;
    ; hence re-joining the cdr of the result of string-split.
    (define (assocify equate-string)
     (let ((stuff (string-split equate-string #\=)))
      (cons (car stuff) (string-join (cdr stuff) "="))))
    
    
    
    ; Return the value of the environment variable QUERY_STRING
    (define (query-string)
     (cdr (assoc "QUERY_STRING" (map assocify (environ)))))
    
    
    
    ; Escape out angle brackets in text.  This of course needs to be modified to
    ; cover all escapable characters.
    (define (deangulate text)
     (string-join (string-split (string-join (string-split text #\<) "&lt;") #\>) "&gt;"))
    
    
    
    ; Output one table row, containing an environment variable in the first column
    ; and its value in the right column.
    (define (display-environment-row key-value-pair)
     (let ((key (car key-value-pair)) (value (cdr key-value-pair)))
      (display "<tr><th>")
      (display key)
      (display "</th><td>")
      (display (deangulate value))
      (display "</td></tr>\n")))
    
    
    
    ; Output a table containing all of the environment variables and their values.
    (define (display-environment-table title)
     (display "<table>\n<caption>")
     (display title)
     (display "</caption>\n<thead>\n<tr><th>varable</th><th>value</th></tr>\n</thead>\n")
     (display "<tbody>\n")
     (let ((environment-assoc-list (map assocify (environ))))
      (for-each display-environment-row environment-assoc-list))
     (display "</tbody>\n")
     (display "</table>\n"))
      
    
    
    ; Output a <head> element for our web page.
    (define (display-head title)
     (display "<head>\n")
     (display "<meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\" />\n")
     (display "<link rel=\"stylesheet\" href=\"/scheme/cgi-test.css\" type=\"text/css\" />\n")
     (display "<title>")
     (display title)
     (display "</title>\n")
     (display "</head>\n"))
    
    
    
    ; Output the <body> element for our web page, which contains a table listing
    ; the environment variables and their values.
    (define (display-body title)
     (display "<body>\n")
     (display-environment-table title)
     (display "</body>\n"))
    
    
    
    ; Output a complete web page.
    (define (display-document title)
     (display "Content-type: text/html\n\n")
     (display "<!DOCTYPE HTML>\n")
     (display-head title)
     (display-body title)
     (display "</html>\n"))
    
    
    
    ; The function call that does it all:
    (display-document "Hello, world!")
    
    

    Below is a screenshot. Notice the slash after the filename (cgi-test.scm), and how this is reflected in the value of REQUEST_URI. Also note the GET parameters, reflected in both REQUEST_URI and QUERY_STRING.