From bddda1613c461aa96a3f5ee01b48f2456cdd6c62 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Sun, 13 Nov 2022 20:55:11 -0800 Subject: more tmp and misc stuff to scratch --- scratch/artists.page | 7 +++ scratch/common_as_air_book_nots.txt | 33 +++++++++++ scratch/expat.txt | 26 ++++++++ scratch/newcomb-paradox.page | 69 +++++++++++++++++++++ scratch/numerical_computation.txt | 32 ++++++++++ scratch/nz.page | 34 +++++++++++ scratch/payments.page | 20 +++++++ scratch/review_nonblocking_verilog_kill | 67 +++++++++++++++++++++ scratch/teaching-cs.page | 102 ++++++++++++++++++++++++++++++++ scratch/topics-of-curiosity.page | 54 +++++++++++++++++ 10 files changed, 444 insertions(+) create mode 100644 scratch/artists.page create mode 100644 scratch/common_as_air_book_nots.txt create mode 100644 scratch/expat.txt create mode 100644 scratch/newcomb-paradox.page create mode 100644 scratch/numerical_computation.txt create mode 100644 scratch/nz.page create mode 100644 scratch/payments.page create mode 100644 scratch/review_nonblocking_verilog_kill create mode 100644 scratch/teaching-cs.page create mode 100644 scratch/topics-of-curiosity.page (limited to 'scratch') 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 + +.. 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 -- cgit v1.2.3