summaryrefslogtreecommitdiffstats
path: root/scratch
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@archive.org>2022-11-13 20:55:11 -0800
committerBryan Newbold <bnewbold@archive.org>2022-11-13 20:55:33 -0800
commitbddda1613c461aa96a3f5ee01b48f2456cdd6c62 (patch)
treee86d625bd28a8b5ede6faf456f1f79e3bd7e0289 /scratch
parenta3c2af968cda5d27ec0bd36328e9c14cd32deebf (diff)
downloadknowledge-bddda1613c461aa96a3f5ee01b48f2456cdd6c62.tar.gz
knowledge-bddda1613c461aa96a3f5ee01b48f2456cdd6c62.zip
more tmp and misc stuff to scratch
Diffstat (limited to 'scratch')
-rw-r--r--scratch/artists.page7
-rw-r--r--scratch/common_as_air_book_nots.txt33
-rw-r--r--scratch/expat.txt26
-rw-r--r--scratch/newcomb-paradox.page69
-rw-r--r--scratch/numerical_computation.txt32
-rw-r--r--scratch/nz.page34
-rw-r--r--scratch/payments.page20
-rw-r--r--scratch/review_nonblocking_verilog_kill67
-rw-r--r--scratch/teaching-cs.page102
-rw-r--r--scratch/topics-of-curiosity.page54
10 files changed, 444 insertions, 0 deletions
diff --git a/scratch/artists.page b/scratch/artists.page
new file mode 100644
index 0000000..ac1cc86
--- /dev/null
+++ b/scratch/artists.page
@@ -0,0 +1,7 @@
+Artists
+=======
+
+* Kay Sage (1898-1963), American Surrealist Painter
+* Yves Tanguy (1900-1955), French Surrealist Painter
+* Hans Bellmer (1902-1975), French. "Die Puppe" series (dolls)
+* Francis Picabia (1879-1953) French Painter
diff --git a/scratch/common_as_air_book_nots.txt b/scratch/common_as_air_book_nots.txt
new file mode 100644
index 0000000..6adfa66
--- /dev/null
+++ b/scratch/common_as_air_book_nots.txt
@@ -0,0 +1,33 @@
+---
+format: rst
+categories: book
+toc: no
+...
+
+
+============================
+Common as Air
+============================
+
+:by: Lewis Hyde
+
+.. warning: These notes still in progress!
+
+p50: double telescope story (patents are public)
+
+p51: old history of publishers over authors
+
+land as canonical property: feudal commons, then enclosure
+
+p61: present value analysis says 20+ year copyright no incentive today
+
+p73: copyright over cage's 4'3" ! (actually trademark)
+
+stinted markets: not "free"
+
+allodial vs. feudal ownership
+
+p125: "patent of importation" given to immigrant (not inventor)
+
+p129: franklin loved "public and durable knowledge"
+
diff --git a/scratch/expat.txt b/scratch/expat.txt
new file mode 100644
index 0000000..0583474
--- /dev/null
+++ b/scratch/expat.txt
@@ -0,0 +1,26 @@
+======================================
+On The Merits of Expartiatization
+======================================
+
+"Hairshirting" must be avoided: the benefits of all human progress should be
+leveraged going forward, and technologies and lessons learned under flawed and
+unjust organizations should not be ignored. The point is not to drop off,
+abandon, or boycott the polical grid, it is to create a new and improved
+subnetwork of the grid.
+
+Change happens when things are done well.
+
+The United States, and arguably many other developed western captialist
+democracies, is stuck in a rut: political and social progress has slowed to a
+halt and momentum has been lost. It is unclear whether there is a significant
+backslide taking place or if this is just the perception from a lack of
+progress.
+
+Other Places
+---------------
+
+Unused infrastructure is good.
+
+A balance of resources is good: enough to not be desperately dependant, but not so many that outside forces will be attracted.
+
+
diff --git a/scratch/newcomb-paradox.page b/scratch/newcomb-paradox.page
new file mode 100644
index 0000000..58ace89
--- /dev/null
+++ b/scratch/newcomb-paradox.page
@@ -0,0 +1,69 @@
+---
+format: rst
+toc: no
+...
+==================
+Newcomb's Dialemma
+==================
+
+Newcomb's paradox was thought up by a researcher named Newcomb; it was first
+explored and written up by Robert Nozick in the 1969 paper
+"Newcomb's Problem and Two principles of Choice".
+
+The Situation
+-------------
+As narrated by an all knowing "predictor"::
+
+ I am going to give you a choice. It is important to know that I really
+ pretty much know what you are going to do. I have been watching their whole
+ life and am additionally an immortal being; i've been doing this a long
+ time and always guess correctly. It's also important to know that I am
+ unbiased and don't care which decision you make, I have nothing to gain
+ either way.
+
+ Here are two boxes: a large and a small. The small has a 10 shekel coin
+ in it (show everybody). The large one may or may not have a thousand
+ shekels in it; you don't know. Your choice is to either take only the
+ large box or to take both the large and small boxes. The twist is that
+ I already knew which decision you will make and decided whether or not
+ to put the $1000 in the large box or not based on that knowledge.
+ If I knew you would "two box", then I left the large box empty. If I knew
+ you would "one box" then I filled it.
+
+Dominance Mindset
+-----------------
+Regardless of what decision was made previously, and whether or not there
+is anything in the large box, the person is better off taking both boxes;
+either they will get just $10 (better than none) or $1010 (better
+than $1000). So two-box.
+
+Trusting Mindset
+----------------
+The predictor is pretty much always right so we can just ignore the
+possibility that they are wrong. In this case, choosing to one-box
+implies that the Predictor knew you would and you get $1000;
+choosing to two-box implies that the predictor knew you would and you
+only get $10.
+
+The predictor doesn't even have to be perfectly accurate; say they are
+90%:
+If you one-box, your expected value is $900.
+If you two-box, your expected value is $110.
+
+Discussion
+----------
+It's disputed whether this is a paradox, and there are many deeper arguments
+that I don't have time to go into here. Ultimately, I am a one-boxer
+though this is something of a minority position.
+
+Afterword
+---------
+The person who taught me this paradox, Professor Augustin Rayo, a
+two-boxer, then had this to add. He was talking with his one-boxing friend
+and accused her of letting irrationality undermine her logic: she is so
+optimistic that if a statement S is unprovable, but it would be nicer if S
+was true than false, then she pretens that S is proven. So basically, even
+though there is no rationalization, she will accept a statement "just
+because it would be nice", and this isn't how logic works. To which she
+replied "but wouldn't it be nice if it was?".
+
diff --git a/scratch/numerical_computation.txt b/scratch/numerical_computation.txt
new file mode 100644
index 0000000..ca606b9
--- /dev/null
+++ b/scratch/numerical_computation.txt
@@ -0,0 +1,32 @@
+
+Link Dump on Numerical Computation Topics
+============================================
+
+"Issues in Numerical Computing With Java" (NIST)
+http://math.nist.gov/javanumerics/reports/issues.html#StandardInterfaces
+
+"Guide to Available Mathematical Software"
+http://gams.nist.gov/
+
+netlib
+
+http://math.nist.gov/MatrixMarket/
+
+"Tools for Evaluating Mathematical and Statistical Software" (NIST dept)
+http://math.nist.gov/temss/
+
+"Statistical Reference Datasets" (NIST)
+http://www.itl.nist.gov/div898/strd/
+
+"Digital Library of Mathematical Functions" software comparison page
+http://dlmf.nist.gov/software/
+
+"Computer Physics Communications Program Library"
+http://www.cpc.cs.qub.ac.uk/
+
+"The Table Maker's Dilemma: our search for worst cases"
+http://perso.ens-lyon.fr/jean-michel.muller/Intro-to-TMD.htm
+
+Third-Party Commercial Libraries:
+ http://www.nag.com/library_details_table
+ http://www.roguewave.com/products-services/imsl-numerical-libraries
diff --git a/scratch/nz.page b/scratch/nz.page
new file mode 100644
index 0000000..0c50c5d
--- /dev/null
+++ b/scratch/nz.page
@@ -0,0 +1,34 @@
+================
+New Zealand
+================
+
+Justice System
+----------------
+
+203 prisoners per 100k, vs. 760 for USA and 55 for Iceland.
+
+Military
+-------------
+2.3/2.8% of population is active/total military, vs. 5.1/9.8% in the USA. 1% of
+GDP (NZ 1.7 billion) vs. 4.7% ($692 billion) for USA.
+
+Sent some troops for Afghanistan War, sent engineers but not soldiers to Iraq.
+
+#2 in "Global Peace Index", USA #82/153.
+
+During the Vietnam War, Agent Orange chemicals were produced in New Zealand and
+shipped to US forces in Vietnam.
+
+Privacy, Spycraft
+-------------------
+
+NZ participates in US/Canada/UK/Australian spying and information sharing,
+including ECHELON, with 2 ECHELON ground sites in NZ.
+
+Economy
+------------
+"Westpac CEO gets $5.4m [NZD] pay packet [...] The figure likely makes him the
+highest paid CEO in New Zealand this year." (2011; roughly $4.2m USD)
+
+http://www.stuff.co.nz/business/industries/5962549/Westpac-CEO-gets-5-4m-pay-packet
+
diff --git a/scratch/payments.page b/scratch/payments.page
new file mode 100644
index 0000000..decf409
--- /dev/null
+++ b/scratch/payments.page
@@ -0,0 +1,20 @@
+
+Costs of various payment plaftorms
+----------------------------------------
+
+As of Dec, 2011.
+
+Visa rates go down for reliable or "small ticket" vendors; eg 1.65% + $0.04 per
+swipe. See http://usa.visa.com/download/merchants/Interchange_Rate_Sheets.pdf
+
+ - Visa Standard Credit Fee: 2.70% + $0.10 per swipe
+ - Visa Standard Debit Fee: 1.90% + $0.25 per swipe
+ - Visa Utility Payment (Credit or Debit): $0.75
+ - PayPay transfer, credit or debit (p2p): 2.9% + $0.30
+ - PayPay transfer, bank (p2p): Free
+ - PayPal merchant (eg, ebay): 2.9% + $0.30
+ - PayPal discounted merchant: 2.2%
+ - Stripe: 2.9% + $0.30
+ - Dwolla under $10: free
+ - Dwolla over $10: $0.25
+ - Square credit cards: 2.75%
diff --git a/scratch/review_nonblocking_verilog_kill b/scratch/review_nonblocking_verilog_kill
new file mode 100644
index 0000000..296f8c5
--- /dev/null
+++ b/scratch/review_nonblocking_verilog_kill
@@ -0,0 +1,67 @@
+to: team@leaflabs.com
+subj: paper review: "Nonblocking Assignments in Verilog Synthesis..."
+
+TL;DR: this is something like a "goto considered harmful" w/r/t using confusing
+blocking assignment in (non-sythesizable?) Verilog.
+
+# Context
+
+This paper was written in 2000 and seems to target Verilog programmers who
+write non-synthesizable simulation code. Despite the word "Synthesis" in the
+title. After reading, the implication that this paper might have any new
+insights for an engineer whose failure might "kill" stikes fear in my gut.
+
+Apparently this won a "Best Paper" award at a conference back when it was
+published.
+
+On page 15 there is a note about about synthesis performance: "The latter would
+be inefficient from a simulation time perspective"; perhaps this was the
+historical temptation of these bad practices?
+
+# Judgement
+
+There's really nothing new here (for jess/aj/bryan at least): for sequential
+logic use nonblocking assignment in always@ blocks, and for combinatoral logic
+use 'assign' statements outside of a block, unless you have something really
+tight and complicated going on, in which case use an always block with a
+carefully selected sensitivity list and all blocking assignments inside.
+
+# Nuggets
+
+From page 20: "Nonblocking assignments are updated after all $display
+commands". I did not know this! The example given is pretty good; $strobe is
+recommended as the alternative:
+
+ module display_cmds;
+ reg a;
+ initial $monitor("\$monitor: a = %b", a);
+ initial begin
+ $strobe ("\$strobe : a = %b", a);
+ a = 0;
+ a <= 1;
+ $display ("\$display: a = %b", a);
+ #1 $finish;
+ end
+ endmodule
+
+gives:
+
+ $display: a = 0
+ $monitor: a = 1
+ $strobe : a = 1
+
+# Appendix: Verilog Coding Guidelines
+
+Verbatim from paper:
+
+1: When modeling sequential logic, use nonblocking assignments.
+2: When modeling latches, use nonblocking assignments.
+3: When modeling combinational logic with an always block, use blocking
+.
+4: When modeling both sequential and combinational logic within the same always
+nonblocking assignments.
+5: Do not mix blocking and nonblocking assignments in the same always block.
+6: Do not make assignments to the same variable from more than one always block.
+7: Use $strobe to display values that have been assigned using nonblocking
+.
+8: Do not make assignments using #0 delays.
diff --git a/scratch/teaching-cs.page b/scratch/teaching-cs.page
new file mode 100644
index 0000000..d441985
--- /dev/null
+++ b/scratch/teaching-cs.page
@@ -0,0 +1,102 @@
+---
+format: rst
+categories: cs
+toc: no
+...
+====================================
+Notes on Teaching Computer Science
+====================================
+
+:author: Bryan Newbold <bnewbold@mit.edu>
+
+.. note:: Incomplete, just a structure of starting topics
+
+.. contents::
+
+In thinking about how to teach somebody new "how to program" or "about
+computers", it seems like getting the rough big picture is the best first step.
+
+
+Engineering and Scientific Philosophies
+-----------------------------------------
+keywords: computation, computability, hierarchy, interface, implementation
+
+In approaching computer science it is important to note an arbitrary division
+of the field between "computation" and "computability" that has arisen over
+the years. Similar to the "theory" vs "experiment" schisms in other scientific
+fields like physics, "computation" puts emphasis on actually generating
+hardware and software to run in the real world, while "computability" focuses
+on what can be computed and generalizations of specific computations. Of course
+they are two sides of the same coin and should be appreciated together.
+
+It is almost impossible to deal with computer systems (hardware or software)
+without breaking them up into modules and layers. Perhaps more so than in any
+other field, conceptual barriers are reflected in the actual design and
+implementation of systems, which can make it hard to learn how things work
+because their inner workings are shielded from view both literally and
+figuratively. For example, a software developer writing a web browser doesn't
+have to know about what kind of monitor the user is sitting in front of,
+what kind of physical link to the internet they have (or even how this
+connection is managed), the details of their computer architecture, how their
+application is delegated computing resources, what kind of mouse is being used,
+etc etc.
+
+A more formal example is the ethernet protocol, which is used to
+pass data between nodes in a relatively unstructured network. The ethernet
+protocol itself lies above the physical "link layer", which means the same
+protocol can be used for wireless radio communications or with conducting
+wires. It lies below any sort of higher network layers and far below the
+"application layer", so large amounts of data can be streamed over it between
+two nodes, or messages between dozens of nodes can be passed over it, or it
+can be only one link in a very large web of interconnections. This flexibility
+has made it ubiquitous and is the protocol most network devices use without
+a hitch, but occasionally it's imperfections can lead to problems at higher
+levels which are hard to track down.
+
+Turing Completeness
+-----------------------------------------
+keywords: finite state machine, deterministic
+
+Personal Computer Hierarchy
+-----------------------------------------
+keywords: CPU, RAM, hard disk, peripherals, network, BIOS, motherboard,
+ operating system, serial, parallel, interrupts, multicore, register
+
+UNIX Operating Systems
+-----------------------------------------
+keywords: file system, kernel, driver, threading,
+
+UNIX is the Latin of operating systems: there were operating systems that came
+after, and the average user isn't running a UNIX operating system, but it's
+design is simple, functional, and has represents the dominant paradigms for
+modern (non-experimental or special use) operating systems.
+
+As some context, Microsoft Windows is not directly based on UNIX. Apple OSX
+and subsequent versions is built on top of a UNIX core. Linux is an open source
+implementation of UNIX. BSD was the free UC Berkeley distribution of UNIX which
+has branched off into open source implementations like FreeBSD, OpenBSD, and
+NetBSD. "UNIX" got started as a Bell Labs research project in the 70's (?)
+
+
+The Internet
+-----------------------------------------
+keywords: IP (internet protocol), ARP, MAC, routing, servers, backbone,
+ protocol, email, http, html
+
+
+Software Development Tools
+-----------------------------------------
+keywords: compiler, lexical analysis, library, language, interpreter
+
+
+Data Formats, Structures, and Algorithms
+-----------------------------------------
+keywords: string, integer, bit, list, pointer, tree, sort, P/NP
+
+
+Design Paradigms
+-----------------------------------------
+keywords: server/client, object oriented, wrappers, KISS, parallelization,
+ resource locking, serialization, buffer
+
+
diff --git a/scratch/topics-of-curiosity.page b/scratch/topics-of-curiosity.page
new file mode 100644
index 0000000..c07b13c
--- /dev/null
+++ b/scratch/topics-of-curiosity.page
@@ -0,0 +1,54 @@
+---
+format: rst
+toc: no
+...
+
+Topics of Curiosity
+---------------------
+
+*or, list of future knowledge items*
+
+* United Nations
+* List of International Treaties
+
+ including signatories
+
+* Ethernet
+* Benthic Biology
+* Antarctica
+* Kyoto Protocol
+* Sensory Deprivation
+* Beat Authors
+* Harvey Mudd
+* National Science Foundation
+
+ And other US national science organizations
+
+* Iraq War
+
+ Strategy, costs, political figures, history, technology, prospects, companies, etc.
+
+* Recycling
+* Pollution sources in the United States
+* US Education System
+* US Judicial Branch
+* Kennedy School of Government
+* Democratic Party
+* Republican Party
+* Green Party
+* Bob Dole
+* Al Gore
+* Obama
+* Book Publishing
+* Internet
+
+ Power consumption, user numbers, global connectivity, core and backbone services
+
+* One Laptop Per Child
+
+ Bundled knowledge, regions, implementation plans, new software concepts, connectivity
+
+* Paul Dirac
+* LaTeX
+* vim
+* pykrete