• White Rage

    A non-fiction book by Carol Anderson that describes the structural racism of the United States.

    Reconstruction

    Lincoln tried to get all black people to move to Panama placing the blame on them for the war rather than the confederate traitors.

    Andrew Johnson pardoned many confederate leaders and plantation owners and undid programs to re settle former slaves. Confederate leaders made it back to office and vowed to recreate slavery–which they did with the Black Codes. Johnson overtly proclaimed a government for white men and created the conditions for genocide at the hands of southern states embittered.

    Whites even complained about the Black Codes for driving down the wages for workers.

    Mississippi delayed ratifying the thirteenth amendment until 2013 (it was ratified 1995, but not made official by notifying the U.S. Archivist, source).

    The Supreme Court systematically nullified the 13th 14th and 15th amendment by asserting the federal government has no rolein preserving rights and protecting people and the states must do that. However, the states were the ones actively circumventing rights of Black people and inflicting harm by using laws to incarcerate, force conscription of labor, allow violence and murder against black people, and segregation.

    Great migration

    Only because labor was in short supply due to ww1 in the north.

    The South was content thinking Blacks were ok with their current station and immediately blamed outside forces I.e. labor agents from north when Black Americans moved in the millions. Southern states countered with oppressive licensing fees while cracking down on the exodus to keep their no-cost labor force that was the engine of their economy, wealth, and power.

    Under the guise of legal and economic policies the south consistently undermines and enslaves.

    To stop the migration they went after labor agents, Blacks with train passes, a newspaper in Chicago (the Chicago Defender, also an example of the Streisand effect), then they delayed trains to stop transport while WWI desperately needed supplies.

    Vagrancy laws targeted Blacks to put them back into peonage (slavery by another name) or coerce they into staying in the south when they attempted to leave for north.

    Arriving in the north caused immediate reaction from Northern whites. Race riots which were actually white people mass killing black people occurred in major cities. Real estate agents confined black populations to slums and when moving into white neighborhoods met with more mobs.

    Segregation

    States rights is intertwined with slavery, segregation, and disenfranchisement. When states like Mississippi, Georgia, South Carolina didn’t like the Supreme Court ruling on Brown, they changed they argued it was unconstitutional and I grinned on states rights. Really they just wanted to maintain the institutions of Black subjugation and so states rights is a farce to dress up White southerner’s desire to enslave Blacks.

    The playbook repeats throughout the book, use the courts to legitimize and dress up racism, disenfranchise with violence and block Black voters, prevent education by budget spending, argue that its a ‘states rights’ issue as a cover, prevent mobility to shut down economic access and free market wages, look the other way when it’s white on Black crime.

    Stall and deny, stall and undermine. Prince Edward county did everything they could to prevent desegregation. Repeatedly the Supreme Court ruled against them but found ways to keep schools closed, busing, privatize and find white private schools, and eventually black students just dropped out after missing critical years of schooling.

    Southern states like Alabama went after the NAACP, banning it with laws, then taxes, forced to reveal a list of members so they to could be banned from jobs and subject them to violence. Linked them to communism and made up citations from HUAC (House of Un-American Activities Committee).

    Rolling Back Civil rights

    Racism was redefined to mean seats on a bus and voting. It was reduced further to mean KKK radicalism and shift the blame away common white people. Resentment grew from policies like affirmitive action and racism was recast as a zero sum game for jobs (losing jobs to Black people despite Black employment rates and wages drastically lower than white), welfare (medicaid and food stamps), and education (affirmitave action). Nixon embodied this with a dog whistle campaign of law and order and anti liberalism (very reminiscent of Trump).

    Laws targeted Black voters using gerrimandering, literacy requirements, and changing elected positions to political appointees. This further disenfranchised Black voters using a political process they had no representation in.

    Nixon appointed four supreme court justices that pushed the court in an even more conservative to the detriment of civil rights laws.

    The new supreme court found Texas practice of school funding through property taxes which resulted in far less funding per pupil for poor districs was perfectly constitutional. The justices stated that class did not require strict scrutiny like race. However this allowed racial descrimination as most of the white people lived in the rich districts and black people lacked the economic means to move to them.

    A tactic used by the Texas lawyers was to present instances of children that succeeded in poorer neighborhoods proof that the system was fine. But as Thurgood Marshall put it, “[it’s] to the credit if the child not the State.”

    Regan made it worse. He “oozed racial innocense” despite furthering the Southern Strategy. He affirmed states' rights and pushed budget cuts that diproportionatly hurt Black people such as grants for higher education and loans. He even cut school lunch programs.

    Unemployment of Black people rose, widening the gap with Whit people. Youth unemployment was 45% and Regan cut training and employment services by 70%. He induced mass layoffs in government jobs in agencies disproportionately Black.

    Reagan set the stage for a huge drug influx from the Contras who were trying to raise money to fight back after being overthrown by marxists in Nicaragua. Regan was obsessed with helping them fight a shadow war. The CIA and National Security Council ran interference on customs, DEA, FBI to help the contras flood the US with cocaine.

    Crack quickly spread through Black neighborhoods to a population with high unemployment. It was the spread through gangs throught America.

    The CIA, then directed by George H W Bush, funneled money and guns to the Contras. They enlisted the help of Noriega to funnel money through Panama corporations. Noriega, with partnership with the Medellin cartel, used the planes being flown in from the US Black Eagle for drug trafficking! Instead of cracking down, the US agreed that as long as they use a percentage of the drug money for funding the Contras it was ok.

    This resulted in cocaine imports increasing by 50 percent in three years.

    Although the administration actively supported drug trafficking under the guise of national security, even reducing sentences to build a relationship with Noriega, at home they began the mass incarceration of crack users. Worse, Reagan and the media made made crack the enemy threatening their way of life. However, crack was largely associated with Black people furthering a racial divide.

    Crime increased as a result of the crack boom decreasing the life expentency of Black youths.

    Then the Anti-Drug Abuse Act was passed introducing harsh sentences, minimum sentences, even the dealth penalty setting the stage for even more mass incarceration. This also damaged the communities as more people fell victim to the war on drugs.

    Race became criminalized. Tulia, Texas there was a mass arrest of 10% of the black population for drug posession and trafficking. However, the lead investigator made baseless allegations with no evidence while the attorney general and judge enabled it. Later they found no proof, but clearly there racism was at the heart if it.

    In 2008 when President Obama won the election, Republicans turned to disenfranchisement to surpress minority votes that turned out in record numbers. They introduced legislate that required certain kinds of voter ID that Black people are significantly less likely to get. They blamed ACORN, an organization that helped register voters for stealing election after some employees fabricated some voter registration cards. Even though widespread voter fraud was a complete fabrication, they pushed legislation changes to make it harder to vote under the guise of voter fraud.

    They cut down on early voting, essential for hourly workers who already faced lengthy lines at polling places. On Florida, they eliminated voting on the sunday before the election day knowing that Black churches help organize voting. In Arizona, they purged voter rolls by sending mass mail to minority neighborhoods and using any return to senders as grounds to remove them.

    The supreme court in Shelby County v. Holder gutted the Voting Rights Act and said it was discriminatory to the South and did not meet “current needs” despite numerous voter supression legislation in numerous counties. Immediately following, 9 states passed similar voter suppression laws.

    Not only that, voter supression could only be fought after the fact. In Texas a voter ID law made hundreds of thousands of Black voters ineligible. It went to the Supreme Court that ruled in favor of the State because it was too close to the mid-term elections. They later found that it was in violation of the VRA, but only after the election took place.


  • MΓΆbius Strip

    A loop with a twist in it that is non-orientable. If you were to travel from a starting point on the strip and moved the full length of the strip you would end up moving along both sides without crossing an edge.

    See also:

    • Slavoj Ε½iΕΎek used the analogy of a mobious strip (as well as a Klein bottle) to represent the spectrum of ideology where continuing to the extremes results in the complete opposite of the core belief.

  • Personal CRM

    It’s difficult to remember every detail about people you know and who you want to build a relationships with. A personal CRM is a place to record contacts and context so you can build up relationships over time. Automate reminders to reconnect with people and be useful to them so you can grow your network.

    See also:


  • Management Graph

    Sometimes it’s useful to work through a management challenge by drawing a graph of actions based on a particular event.

    For example, someone is having a performance issue that needs to be addressed, you could graph the next action you are going to take and when. From there, think through the different possibilities and branch off of the next action. This helps you better prepare for all eventualities which might reveal something you should be doing today to prevent or mitigate it.


  • GraphPlan

    A data structure and search algorithm for efficiently finding the shortest plan of actions between an initial state and goal state. GraphPlan is a STRIPS style planner that uses a graph of actions (planning graph) that have pre-conditions and effects which alter state. The search algorithm trims the search space by pre-calculating mutually exclusive actions which makes finding a solution much faster.

    See also:


  • Downward Causation

    Macro level processes altering micro level processes by changing constraints. For example, thoughts and memories alter the strength of connections in the brain via gene regulation which alters the physical constraints of ions/electrons (synapses). In this way there is a ‘downward causal effect’ where thoughts alters the constraints of the physics that govern the flow of electrons.

    See also:


  • Webmentions

    Webmention is a W3C web standard for decentralized comments, reposts, and other interactions across websites. It’s basically like a ‘pingback’ with some other building blocks for things like federating identity.

    Setting it up is a little clunky to do by hand, but it looks like most people use plugins for their hosted blogging CMS (e.g. WordPress). There are other centralized aggregators that manage webmentions going out and in, but that seems antithetical to decentralization.

    One challenge is setting it up for static websites–webmentions result in a POST request that need to be handled and persisted by your server if you want to do anything with it e.g. display them as comments on your blog post. One approach is to use some other service to handle the request and store them in static files (like text files in a git repo), but this also means additional complexity and exactly once processing is difficult to get right (I imagine webmentions have a ton of duplicates that need to be handled somewhere).

    See also:

    • IndieWeb is an organization and community that supports the adoption of webmentions and extends microformats for things like login with your personal website (IndieAuth).

  • Talk Then Code

    In a blog post from Dave Cheney, open source contributor to golang, he writes that it’s always better to talk about a bug/feature/change then writing code. This avoids hurt feelings (when a change isn’t accepted) and ensures the change lands the first time.

    Generally, pull requests are the wrong place to have a lengthy discussion. Dave recommends starting with a GitHub issue or design doc if it’s more complicated. Communication early prevents misunderstandings and leads to a smoother process for everyone.

    Read the blog post


  • Talk - The Secret of Psalm 46

    A talk given by Brian Moriarty, a renowned game designer/developer, that encourages listeners to dedicate themselves to the pursuit of making something awe-inspiring.

    His examples range from Bach to Shakespeare and the meta game that transcends their original works of art.

    In Bach’s compositions, numerology intertwined in the music that adds a hidden layer of meaning that requires multi-layer recursion to fully comprehend.

    In the case of Shakespeare, countless people that dedicate untold hours to studying his works and unraveling the mystery of whether he was a group of people or just Sir Francis Bacon. After all, how could one man create all that?

    It’s a reminder to recognize the pure and deserving admiration that comes from creating something that sparks genuine awe.

    Listen to the talk

    See also:


  • Meta Game

    The game about the game. In game development, it’s often cited that it’s all about the meta game. It often has it’s own rules, is player organized, and is an emergent behavior (not intentionally designed).

    Examples:

    • When playing fantasy baseball, you compete directly, but the real fun is the meta game of trash talking your friends and finding interesting narratives.
    • A board game tournament, even though you might lose a few matches, as long as you made it to the next round you were pleased. The tournament is the meta game.

  • Learning How to Read (Literature Notes)

    An essay from Niklas Luhmann about learning to read and how there are different kinds of books that require different approaches.

    Novels require a temporal dimension for the reader. They are continually reminded what they don’t know (e.g. the ending/resolution of the book). We can define novels to be in two states with regards to the reader–already read and not yet read.

    Poems are different. They do not have a temporal dimension, but instead have many aspects that alter the meaning to the reader. Style, tone, word choice, metaphor, rhythm, and more. This requires ‘multi-layer recursion’, to think on each word, sentence, section repeatedly to unlock it’s implied meaning. It’s like the meta game, but in writing.

    Theoretical texts (e.g. text books, non fiction) have different demands. The reader is looking to learn and must uncover what is important and what must be learned. This needs short term memory as well as long term memory. Short term to interpret and long term to recall connections with other references/memories.

    Connecting information often looks like attaching the information and grouping it as is the case with attributing key ideas to the author. Notes are similar in trying to capture information to better retain it, but often fails (covered more exhaustively in his essay about Zettelkasten: ‘Communicating with Slip Boxes’).


  • Org-Roam

    An Emacs library that recreates Roam (software that implements a Zettelkasten-like system) using org-mode.

    All notes are stored as individual files addressed by {timestamp}-{underscore_separated_title} and can be backlinked to create a graph of notes which can be generated using graphviz.

    Read the docs

    See also:

    NOTE: Many things have changed about org-roam in v2. Code snippets and issues are likely out of date.

    Problems with org-roam

    • Auto completion is finicky (case sensitive, not fuzzy matching)
    • Can’t search for content in the body of notes when adding backlinks
    • Synchronizing between mobile and desktop is difficult e.g. Beorg on iOS can’t support a template that doesn’t have a title (org-roam’s template just has a #+TITLE tag)
    • You can’t export to HTML in a built in way (looks like you need to use ox-hugo with a config header in each note which is ugly)
    • Buffers don’t wrap text by default
    • Distinguishes between backlinks and ‘cite backlinks’ which is confusing
    • Automatically changes the file name if you change the title (these should be decoupled if you plan to publish notes)

    org-roam v2

    V2 is less portable than v1 now that links use `org-id`.

    DONE Integrating org-roam [8/8]

    DONE Use helm-rg for fuzzy full text searching notes

    Add a keymap entry for it when in org-roam

    • Add an action to insert a file link to the highlighted result Use helm-add-action-to-source to add the action. See github.
    • Add link anchor words into it (maybe from title?)
    (use-package helm-rg
      :ensure t
      :config
      ;; Add actions for inserting org file link from selected match
      (defun insert-org-mode-link-from-helm-result (candidate)
        (interactive)
        (with-helm-current-buffer
          (insert (format "[[file:%s][%s]]"
                          (plist-get candidate :file)
                          ;; Extract the title from the file name
                          (subst-char-in-string
                           ?_ ?\s
                           (first
                            (split-string
                             (first
                              (last
                               (split-string (plist-get candidate :file) "\\-")))
                             "\\.")))))))
    
      (helm-add-action-to-source "Insert org-mode link"
                                 'insert-org-mode-link-from-helm-result
                                 helm-rg-process-source))
    

    DONE Toggle truncate lines in org-roam buffers

    Make org-mode always use wrapped lines (setq org-startup-truncated nil)

    DONE Set up exporting to html

    • Use ox-hugo to export to md and generate html using hugo Add #+HUGO_BASE_DIR: ~/Projects/zettel and #+HUGO_SECTION: ./ to the front matter of each note
    • Update the capture template to include hugo tags
    • Write a fn to batch export org files from a directory (since each note is it’s own file)

    https://github.com/alexkehayias/emacs.d/blob/master/init.el#L715

    DONE Cloud backup

    • iCloud is nice since all my devices could use it without any additional software, but you can’t symlink directories so an app can’t use the same data directory as another. This makes it difficult to use multiple apps as an input source to zettel notes.
    • Dropbox does sketchy things to desktops and used to cause random CPU spikes that would eat through laptop battery life. Not sure how much that’s changed.
    • Github might work, but once the number of files increases that might become unwieldy.
    • Decided to use icloud for now for syncing a file between Beorg to be processed into notes. On desktop, will use github to backup the exported notes until I can figure out something better for the underlying org mode files.

    DONE Ignore any notes from hugo export that are tagged as private

    https://github.com/alexkehayias/emacs.d/blob/master/init.el#L715

    https://github.com/alexkehayias/emacs.d/blob/master/init.el#L715

    DONE Update org-roam journal template to include private

    (setq org-roam-dailies-capture-templates
          (quote (("d" "Default" plain (function org-roam--capture-get-point)
                   "%?"
                   :file-name "%(format-time-string \"%Y-%m-%d--%H-%M-%SZ--journal\" (current-time) t)"
                   :head "#+HUGO_BASE_DIR: ~/Projects/zettel\n#+HUGO_SECTION: ./\n#+TITLE: %<%Y-%m-%d>\n#+ROAM_ALIAS:\n#+ROAM_TAGS: private\n"
                   :unnarrowed t))))
    

  • Improving the 'Hand Feel' of Software Engineering

    Similar to Neil Gaiman’s remarks about a fountain pen and writing there are ways that enhance the feeling of a craft.

    Examples:

    • A mechanical keyboard improves the typing experience with satisfying tactile feedback
    • Fast feedback loop of making a code change and observing the result
    • Tools for refactoring
    • A REPL that let’s you grow your program
    • Debug tools that let you better understand what’s going on

    The sum of the tools (hardware and software) used while writing code is the hand feel. We don’t spend enough time thinking about the hand feel and often view it through the utilitarian lens.

    What’s the fountain pen for enterprise software? Green field projects?

    See also:


  • Humans Are the Great Interop Layer

    So much of technology is solving the problem of inter-operating between disparate systems e.g. cpu architectures, operating systems, language runtimes.

    Humans provide the greatest interop layer unknowingly. We seamlessly work between different technologies without missing a beat. We interoperate between our desktops and mobile devices, weaving together broken legacy systems at work to operationalize a task, and speak different languages (and computer languages). We manage an enormous amount of complexity without thinking about it.


  • Fuzzing

    The process of generating a range input values based on some constraints to fully explore a programs handling. For example, fuzzing a function that takes a numerical value might reveal it does not properly handle negative numbers even though it’s an allowed value.

    Usage examples:

    • Detecting security vulnerabilities e.g. memory bugs

  • Entropy

    Disorder in a system that tends to increase over time until reaching an equilibrium. Factors of entropy include heat, time, and the number of things in the system.

    Entropy is measured by the number of macro states (e.g. arrangement of molecules) the system can be in where a value of 1 would be a single state (i.e. crystal structure).


  • Difficulty Discussing Social Issues

    The reason discussions of social problems and correctness are difficult is because there is no safe way to fail and learn from feedback about a point of view. When someone is called out, they tend to not engage in social issues for fear of backlash or become defensive and angry, strengthening their belief.


  • Deriving User Flows and Optimal Path to Goals From Events

    By analyzing frontend analytics events we can derive the ‘hot paths’–sequences of actions users often take. If we also know the user’s goals we can then calculate the state space and optimal path (e.g. A* pathfinding). With that we can calculate the frequency in which users choose an optimal path.

    What might the results of this kind of analysis mean for the user experience?

    • A high cardinality of unique paths to a goal might reveal there are too many ways to do the same thing
    • A large percentage of users on an suboptimal path could indicate an opportunity to help users perform an action faster

    See also: