Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://amerdreamdocs.blogspot.com/feeds/posts/default

  1. <?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1317519969686201237</id><updated>2024-03-12T18:45:08.421-07:00</updated><category term="adda"/><category term="adde"/><category term="adds"/><category term="oop"/><category term="syntax"/><category term="security"/><category term="concurrency"/><category term="addx"/><category term="type"/><category term="cstr"/><category term="gui"/><category term="translation"/><category term="addm"/><category term="dstr"/><category term="architecture"/><category term="robotics"/><category term="openware"/><category term="dev.c"/><category term="cyb"/><category term="dev.mac"/><category term="ada"/><category term="1st-class functions"/><category term="python"/><category term="cap&#39;based"/><category term="lang"/><category term="GO"/><category term="lexicon"/><category term="mvc"/><category term="pointers"/><category term="sw.eng"/><category term="capabilities"/><category term="doc&#39;ing"/><category term="library"/><category term="mem&#39;mgt"/><category term="exceptions"/><category term="math"/><category term="soa"/><category term="dev.pyqt"/><category term="dev.python"/><category term="safe pointers"/><category term="ABI"/><category term="constitution"/><category term="dev.cocoa"/><category term="microkernel"/><category term="phy"/><category term="dev.gui"/><category term="dev.obj&#39;c"/><category term="vfs(virtual file system)"/><category term="dev.net"/><category term="edu"/><category term="generics"/><category term="journaled fs"/><category term="lexeme"/><category term="obj&#39;c"/><category term="co.dev"/><category term="ipc"/><category term="journaling"/><category term="lib&#39;mgt"/><category term="mac"/><category term="modules"/><category term="multitasking"/><category term="psy"/><category term="standards"/><category term="unicode"/><category term="GPGPU"/><category term="Parasail"/><category term="ai"/><category term="cloud computing"/><category term="contracts"/><category term="cp4e"/><category term="dev"/><category term="dev.linux"/><category term="filesystem"/><category term="function"/><category term="literals"/><category term="llvm"/><category term="markup"/><category term="multithreading"/><category term="parse"/><category term="pol"/><category term="scm"/><category term="supercomputing"/><category term="terminology"/><category term="type cluster"/><category term="algorithms"/><category term="dev.ada"/><category term="dev.unix"/><category term="evolver"/><category term="ide"/><category term="meta"/><category term="net"/><category term="phi"/><category term="record"/><category term="relig"/><category term="subtype"/><category term="svn"/><category term="C"/><category term="CHaPeL"/><category term="Free Capitalist"/><category term="GPL"/><category term="HPCS"/><category term="Promise"/><category term="adt"/><category term="asynchronous"/><category term="case"/><category term="class"/><category term="conversions"/><category term="design patterns"/><category term="dotNET"/><category term="e-lang"/><category term="frameworks"/><category term="functional"/><category term="g&#39;code"/><category term="iProduce"/><category term="menu"/><category term="minix"/><category term="multi-dispatch"/><category term="multi-inheritance"/><category term="naming"/><category term="param&#39;s"/><category term="polymorph"/><category term="preemptive"/><category term="rom"/><category term="sandbox"/><category term="vm"/><category term="wordcode"/><category term="Amer&#39;way"/><category term="CUDA"/><category term="Chrome OS"/><category term="HPC"/><category term="Java"/><category term="Knol"/><category term="SOP"/><category term="aggregate"/><category term="array"/><category term="compound doc&#39;s"/><category term="cyborganics"/><category term="debug"/><category term="dialogs"/><category term="distributed"/><category term="ducktype"/><category term="enum"/><category term="etree"/><category term="graphics"/><category term="interface"/><category term="lisp"/><category term="morphtype"/><category term="namespace"/><category term="notifications"/><category term="package"/><category term="projects"/><category term="pypy"/><category term="search"/><category term="signals"/><category term="singularity"/><category term="stackless"/><category term="tree"/><category term="tui"/><category term="unit testing"/><category term="unix"/><category term="xcode"/><category term="Android"/><category term="Category"/><category term="Dream Theory"/><category term="Falcon"/><category term="Newspeak"/><category term="PGAS"/><category term="RPython"/><category term="SCA"/><category term="Spyder"/><category term="UHPC"/><category term="accessibility"/><category term="agents"/><category term="aop"/><category term="attributes"/><category term="bitc"/><category term="c++"/><category term="class cluster"/><category term="clients"/><category term="constant"/><category term="coroutine"/><category term="delegates"/><category term="dev.iOS"/><category term="dimension"/><category term="dvcs"/><category term="dyna&#39;linking"/><category term="efficiency"/><category term="encapsulation"/><category term="enclosures"/><category term="gear"/><category term="generator"/><category term="goto"/><category term="hash"/><category term="hg"/><category term="higher-order functions"/><category term="infratype"/><category term="isolation"/><category term="kb"/><category term="keyboard shortcuts"/><category term="label"/><category term="ling"/><category term="linux"/><category term="literate prog&#39;ing"/><category term="loop"/><category term="lui"/><category term="macro"/><category term="metalang"/><category term="nu"/><category term="okL4"/><category term="ontology"/><category term="os"/><category term="patents"/><category term="polymorphtype"/><category term="privacy"/><category term="scratch"/><category term="streams"/><category term="subfiles"/><category term="subheap"/><category term="supertype"/><category term="surtype"/><category term="symbol"/><category term="time"/><category term="tuple"/><category term="tweaking"/><category term="type class"/><category term="type inferencing"/><category term="type.tag"/><category term="value&#39;type"/><category term="vmware"/><category term="wo"/><category term="xml"/><category term="ABC"/><category term="Big Bang"/><category term="CPS"/><category term="DCT"/><category term="DRM"/><category term="Dalvik"/><category term="Defensive Publication"/><category term="English"/><category term="Fortress"/><category term="Go-CUT"/><category term="MOP"/><category term="MPI"/><category term="MacRuby"/><category term="Mathematica"/><category term="NUCC"/><category term="NUI"/><category term="NetVM"/><category term="Open Invention Network"/><category term="Parallella"/><category term="Perfection Plan"/><category term="Plasma Cosmology"/><category term="Qubes"/><category term="SML"/><category term="UDF"/><category term="UPC"/><category term="VHDL"/><category term="Vala"/><category term="WebAssembly"/><category term="X10"/><category term="Xen"/><category term="actors"/><category term="addl"/><category term="aether"/><category term="ambienttalk"/><category term="assertions"/><category term="audio"/><category term="aui"/><category term="automation"/><category term="biop"/><category term="bundles"/><category term="c--"/><category term="cad"/><category term="chunk"/><category term="coffeescript"/><category term="conditional"/><category term="continuations"/><category term="crowdsourcing"/><category term="db"/><category term="deadlock"/><category term="deferred linking"/><category term="democracy"/><category term="dev.android"/><category term="dev.audio"/><category term="dev.parasail"/><category term="dev.qt"/><category term="dev.ubuntu"/><category term="dream synthesizer"/><category term="drivers"/><category term="dsm"/><category term="eiffel"/><category term="energy"/><category term="ergonomic"/><category term="errors"/><category term="forks"/><category term="frames"/><category term="gemini kernel"/><category term="general"/><category term="generativity"/><category term="gestures"/><category term="git"/><category term="gnome"/><category term="green processes"/><category term="guest.tag"/><category term="haskell"/><category term="html"/><category term="hypermatrix"/><category term="iConsume"/><category term="ideogram"/><category term="import"/><category term="intranet"/><category term="kde"/><category term="key bindings"/><category term="kr"/><category term="late binding"/><category term="libjit"/><category term="list"/><category term="localisation"/><category term="logging"/><category term="managed"/><category term="monkey patch"/><category term="morpheme"/><category term="morphsubtypes"/><category term="off-side rule"/><category term="operation"/><category term="operator"/><category term="outliner"/><category term="overloading"/><category term="perl"/><category term="phyla"/><category term="phylum"/><category term="portability"/><category term="powerset"/><category term="pr"/><category term="pragmatics"/><category term="precedence"/><category term="prolog"/><category term="property"/><category term="protected mode"/><category term="quantum"/><category term="ruby"/><category term="s-expression"/><category term="self-modifying"/><category term="serialization"/><category term="set"/><category term="smartcards"/><category term="social engineering"/><category term="solar"/><category term="stackoverflow.com"/><category term="superscript"/><category term="tasklet"/><category term="taxa"/><category term="taxon"/><category term="tortoisehg"/><category term="typescope.tag"/><category term="uniqueness"/><category term="versioning"/><category term="vmem"/><category term="vmm"/><category term="vnc"/><category term="wealth4all"/><category term="wordnet"/><category term="wordule"/><title type='text'>Americium Dream Documents</title><subtitle type='html'>. real opportunity starts with real documentation .</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default?start-index=26&amp;max-results=25'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>701</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-8080608564494091000</id><published>2023-10-13T11:19:00.000-07:00</published><updated>2023-10-13T11:19:58.456-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="cyb"/><category scheme="http://www.blogger.com/atom/ns#" term="edu"/><title type='text'>AI for Educators Blueprint by Noah Johnson Ed.D., Vivian Mitchell MPH 2023</title><content type='html'>&lt;p&gt;2023.10.13: bk.&lt;b&gt;cyb/ai/edu/&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Noah Johnson Ed.D., Vivian Mitchell MPH 2023`Educators Blueprint:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;. a brief review of the book:&lt;/p&gt;&lt;p&gt;Noah Johnson Ed.D., Vivian Mitchell MPH 2023`&lt;/p&gt;&lt;p&gt;The AI for Educators Blueprint:&amp;nbsp;&lt;/p&gt;&lt;p&gt;81 Ways to Skyrocket Student Success, Reclaim Hours in Your Day,&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;amp; Revolutionize Your Classroom Safely and Equitably&lt;/p&gt;&lt;p&gt;(ChatGPT Prompt Guide + AI Integration Framework)&amp;nbsp;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.com/dp/B0CK7VQ4GD?&amp;amp;linkCode=li3&amp;amp;tag=americiu-20&amp;amp;linkId=85018f2e1e8866ffaa6f4aeecd5cca9d&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B0CK7VQ4GD&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&amp;amp;language=en_US&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;https://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;language=en_US&amp;amp;l=li3&amp;amp;o=1&amp;amp;a=B0CK7VQ4GD&quot; style=&quot;border: none; margin: 0px;&quot; width=&quot;1&quot; /&gt;[ad]&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://read.amazon.com/?asin=B0CK7VQ4GD&amp;amp;ref_=dbs_t_r_kcr&quot;&gt;https://read.amazon.com/?asin=B0CK7VQ4GD&amp;amp;ref_=dbs_t_r_kcr&lt;/a&gt;&lt;/p&gt;&lt;p&gt;blackstone publications&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;5-star/good work by a doctor of education:&lt;/h3&gt;&lt;p&gt;. AI will be great for &quot;personalized learning,&lt;/p&gt;&lt;p&gt;immediate feedback, heightened student engagement,&lt;/p&gt;&lt;p&gt;and support for diverse learning needs&quot;.&lt;/p&gt;&lt;p&gt;. each student can have constant access to a&lt;/p&gt;&lt;p&gt;&quot;personal academic advisor&quot; and a &quot;mentor&quot;.&lt;/p&gt;&lt;p&gt;. personalized learning, where the students&#39;&lt;/p&gt;&lt;p&gt;&quot;unique needs and interests are addressed&quot;,&lt;/p&gt;&lt;p&gt;&quot;fosters emotional growth by building confidence&lt;/p&gt;&lt;p&gt;and autonomy in students&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. there are many AI services mentioned&lt;/p&gt;&lt;p&gt;with advice on how to use them.&lt;/p&gt;&lt;p&gt;. the Carnegie Learning AI service&lt;/p&gt;&lt;p&gt;&quot;delivers up to a 200% improvement on tests&quot;.&lt;/p&gt;&lt;p&gt;. Century Tech claims to have provided at times&lt;/p&gt;&lt;p&gt;&quot;a 10x or 1000% national grade improvement&quot;.&lt;/p&gt;&lt;p&gt;. ALEKS (Assessment and Learning in Knowledge Spaces)&lt;/p&gt;&lt;p&gt;&quot;won the EdTech Breakthrough Award&amp;nbsp;&lt;/p&gt;&lt;p&gt;for Best STEM Solution in HigherEd in 2022&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the text is generously referenced&lt;/p&gt;&lt;p&gt;and includes hyperlinks in the ebook.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. it&#39;s true that today&#39;s AI could never replace human teachers&lt;/p&gt;&lt;p&gt;but not for the reasons the authors give.&lt;/p&gt;&lt;p&gt;. today&#39;s AI is very limited by the automatic way it learns.&lt;/p&gt;&lt;p&gt;. if instead we did the hard work of actually encoding&lt;/p&gt;&lt;p&gt;everything that a human should know about&lt;/p&gt;&lt;p&gt;being a teacher of children&lt;/p&gt;&lt;p&gt;then our AI could easily replace a human.&lt;/p&gt;&lt;p&gt;. the main problem with this encoding today&lt;/p&gt;&lt;p&gt;is that humans don&#39;t actually know how to teach;&lt;/p&gt;&lt;p&gt;they look at a new situation and then ask the Spirit&lt;/p&gt;&lt;p&gt;to create a custom solution to this new problem.&lt;/p&gt;&lt;p&gt;. to replicate that, our AI has to recognize&lt;/p&gt;&lt;p&gt;when a situation is not covered by its program&lt;/p&gt;&lt;p&gt;and then get on the phone for some human advice!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the authors claim that human activities that are&lt;/p&gt;&lt;p&gt;not easy to program include:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&quot;mentor, inspire, understand unique learning styles,&lt;/p&gt;&lt;p&gt;and create inclusive environments&quot;; and,&amp;nbsp;&lt;/p&gt;&lt;p&gt;be &quot;essential pillars in shaping students&#39;&lt;/p&gt;&lt;p&gt;social, emotional, and intellectual growth&quot;; and,&lt;/p&gt;&lt;p&gt;&quot;shape personalities, form characters,&amp;nbsp;&lt;/p&gt;&lt;p&gt;build resilience, and ignite imaginations&quot;&lt;/p&gt;&lt;p&gt;--with &quot;nuanced interactions&quot; and &quot;deep understanding&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. this is actually true only for very young children;&lt;/p&gt;&lt;p&gt;for instance, it could be that the rapid learning by infants&lt;/p&gt;&lt;p&gt;entails some telepathy with a living human mind;&lt;/p&gt;&lt;p&gt;or that there are behaviors of a parent&#39;s face and eyes&lt;/p&gt;&lt;p&gt;or the feel of their flesh and pumping heart&lt;/p&gt;&lt;p&gt;that could not be economically duplicated by a machine.&lt;/p&gt;&lt;p&gt;. but kids in grade school should be teachable by robots&lt;/p&gt;&lt;p&gt;when the robot has the same &quot;command presence&quot; as a human&lt;/p&gt;&lt;p&gt;such as the ability to break up fights&amp;nbsp;&lt;/p&gt;&lt;p&gt;and physically enforce commands.&lt;/p&gt;&lt;p&gt;. many teachers are not experts in child psychology&lt;/p&gt;&lt;p&gt;and when we can encode that domain,&lt;/p&gt;&lt;p&gt;an AI with the ability to phone for discipline enforcement&lt;/p&gt;&lt;p&gt;could easily produce better character in students&lt;/p&gt;&lt;p&gt;than the majority of humans.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/8080608564494091000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/10/ai-for-educators-blueprint-by-noah.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/8080608564494091000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/8080608564494091000'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/10/ai-for-educators-blueprint-by-noah.html' title='AI for Educators Blueprint by Noah Johnson Ed.D., Vivian Mitchell MPH 2023'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6410101464463454080</id><published>2023-04-24T13:58:00.000-07:00</published><updated>2023-04-24T13:58:56.657-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="constitution"/><category scheme="http://www.blogger.com/atom/ns#" term="cyb"/><title type='text'>Timnit Gebru and Margaret Mitchell on AI Accountability</title><content type='html'>&lt;p&gt;2023.4.24:&amp;nbsp;news.&lt;b&gt;cyb/ai&lt;/b&gt;/&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Timnit Gebru and Margaret Mitchell on AI Accountability&lt;/span&gt;&lt;/p&gt;&lt;p&gt;. late 2020 and early 2021, two researchers&amp;nbsp;&lt;/p&gt;&lt;p&gt;— Timnit Gebru and Margaret Mitchell —&amp;nbsp;&lt;/p&gt;&lt;p&gt;were given special attention&lt;/p&gt;&lt;p&gt;after they authored a research paper&lt;/p&gt;&lt;p&gt;addressing flaws in today&#39;s AI systems.&lt;/p&gt;&lt;p&gt;[James Vincent Apr 19, 2023]&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.theverge.com/2023/4/19/23689554/google-ai-chatbot-bard-employees-criticism-pathological-liar&quot;&gt;https://www.theverge.com/2023/4/19/23689554/google-ai-chatbot-bard-employees-criticism-pathological-liar&lt;/a&gt;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;some papers by Timnit Gebru and Margaret Mitchell:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2022:&lt;/p&gt;&lt;p&gt;Vinodkumar Prabhakaran,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Margaret Mitchell,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Timnit Gebru,&lt;/p&gt;&lt;p&gt;Iason Gabriel&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://arxiv.org/abs/2210.02667&quot;&gt;https://arxiv.org/abs/2210.02667&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A Human Rights-Based Approach to Responsible AI.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. Research on fairness, accountability, transparency and ethics&lt;/p&gt;&lt;p&gt;of AI-based interventions in society&amp;nbsp;&lt;/p&gt;&lt;p&gt;has gained much-needed momentum in recent years.&amp;nbsp;&lt;/p&gt;&lt;p&gt;However it lacks an explicit alignment with&amp;nbsp;&lt;/p&gt;&lt;p&gt;a set of normative values and principles&amp;nbsp;&lt;/p&gt;&lt;p&gt;that guide this research and interventions.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Rather, an implicit consensus is often assumed to hold&amp;nbsp;&lt;/p&gt;&lt;p&gt;for the values we impart into our models&lt;/p&gt;&lt;p&gt;- something that is at odds with the pluralistic world we live in.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In this paper, we put forth the doctrine of&lt;/p&gt;&lt;p&gt;universal human rights&lt;/p&gt;&lt;p&gt;as a set of globally salient and cross-culturally recognized&lt;/p&gt;&lt;p&gt;set of values that can serve as a grounding framework for explicit value alignment in responsible AI&lt;/p&gt;&lt;p&gt;- and discuss its efficacy as a framework for&amp;nbsp;&lt;/p&gt;&lt;p&gt;civil society partnership and participation.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We argue that a human rights framework orients the research in this space&amp;nbsp;&lt;/p&gt;&lt;p&gt;away from the machines&lt;/p&gt;&lt;p&gt;and the risks of their biases,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and towards humans&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the risks to their rights,&amp;nbsp;&lt;/p&gt;&lt;p&gt;essentially helping to center the conversation&lt;/p&gt;&lt;p&gt;around who is harmed, what harms they face,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and how those harms may be mitigated.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2021:&lt;/p&gt;&lt;p&gt;Daniel J. Liebling Katherine Heller&amp;nbsp;&lt;/p&gt;&lt;p&gt;Margaret Mitchell&lt;/p&gt;&lt;p&gt;Mark Díaz Michal Lahav&amp;nbsp;&lt;/p&gt;&lt;p&gt;Niloufar Salehi Samantha Robertson Samy Bengio&lt;/p&gt;&lt;p&gt;Timnit Gebru&lt;/p&gt;&lt;p&gt;Wesley Deng&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://research.google/pubs/pub50504/&quot;&gt;https://research.google/pubs/pub50504/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Three Directions for the Design of&lt;/p&gt;&lt;p&gt;Human-Centered Machine Translation.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.samantha-robertson.com/publication/hcmt/hcmt.pdf&quot;&gt;https://www.samantha-robertson.com/publication/hcmt/hcmt.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As people all over the world adopt&lt;/p&gt;&lt;p&gt;machine translation (MT) to communicate across languages,&amp;nbsp;&lt;/p&gt;&lt;p&gt;there is increased need for affordances that&amp;nbsp;&lt;/p&gt;&lt;p&gt;aid users in understanding when to rely on&lt;/p&gt;&lt;p&gt;automated translations.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Identifying the information and interactions that will&lt;/p&gt;&lt;p&gt;most help users meet their translation needs&lt;/p&gt;&lt;p&gt;is an open area of research at the intersection of&lt;/p&gt;&lt;p&gt;Human-Computer Interaction (HCI)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and Natural Language Processing (NLP).&amp;nbsp;&lt;/p&gt;&lt;p&gt;This paper advances work in this area by&amp;nbsp;&lt;/p&gt;&lt;p&gt;drawing on a survey of users&#39; strategies in&lt;/p&gt;&lt;p&gt;assessing translations.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We identify three directions for the&amp;nbsp;&lt;/p&gt;&lt;p&gt;design of translation systems that support&lt;/p&gt;&lt;p&gt;more reliable and effective use of machine translation:&amp;nbsp;&lt;/p&gt;&lt;p&gt;helping users craft good inputs,&amp;nbsp;&lt;/p&gt;&lt;p&gt;helping users understand translations,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and expanding interactivity and adaptivity.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We describe how these can be introduced in current MT systems&lt;/p&gt;&lt;p&gt;and highlight open questions for HCI and NLP research.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2020:&lt;/p&gt;&lt;p&gt;Andrew Smart Becky White Ben Hutchinson Daniel Theron Inioluwa Deborah Raji Jamila Smith-Loud&lt;/p&gt;&lt;p&gt;Margaret Mitchell&lt;/p&gt;&lt;p&gt;Parker Barnes&amp;nbsp;&lt;/p&gt;&lt;p&gt;Timnit Gebru&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://research.google/pubs/pub48823/&quot;&gt;https://research.google/pubs/pub48823/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Closing the AI accountability gap:&amp;nbsp;&lt;/p&gt;&lt;p&gt;defining an end-to-end framework for internal algorithmic auditing.&lt;/p&gt;&lt;p&gt;in FAT* Barcelona, 2020,&amp;nbsp;&lt;/p&gt;&lt;p&gt;(ACM Conference on Fairness, Accountability, and Transparency)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://scholar.archive.org/work/txsatfmnp5cdjbuowpt6j773ia/access/wayback/https://dl.acm.org/doi/pdf/10.1145/3351095.3372873&quot;&gt;https://scholar.archive.org/work/txsatfmnp5cdjbuowpt6j773ia/access/wayback/https://dl.acm.org/doi/pdf/10.1145/3351095.3372873&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Rising concern for the societal implications of&lt;/p&gt;&lt;p&gt;artificial intelligence systems&amp;nbsp;&lt;/p&gt;&lt;p&gt;has inspired a wave of academic and journalistic literature&lt;/p&gt;&lt;p&gt;in which deployed systems are audited for harm&lt;/p&gt;&lt;p&gt;by investigatorsfrom outside the organizations deploying the algorithms.&amp;nbsp;&lt;/p&gt;&lt;p&gt;However, it remains challenging for practitioners to identify&amp;nbsp;&lt;/p&gt;&lt;p&gt;the harmful repercussions of their own systems&amp;nbsp;&lt;/p&gt;&lt;p&gt;prior to deployment,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and, once deployed, emergent issues can become&amp;nbsp;&lt;/p&gt;&lt;p&gt;difficult or impossible to trace back to their source.&lt;/p&gt;&lt;p&gt;In this paper, we introduce a framework for&lt;/p&gt;&lt;p&gt;algorithmic auditing that supports&amp;nbsp;&lt;/p&gt;&lt;p&gt;artificial intelligence system development&amp;nbsp;&lt;/p&gt;&lt;p&gt;end-to-end, to be applied throughout the&amp;nbsp;&lt;/p&gt;&lt;p&gt;internal organization development life-cycle.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Each stage of the audit yields a set of documents&amp;nbsp;&lt;/p&gt;&lt;p&gt;that together form an overall audit report,&amp;nbsp;&lt;/p&gt;&lt;p&gt;drawing on an organization’s values or principles&lt;/p&gt;&lt;p&gt;to assess the fit of decisions made throughout the process.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The proposed auditing framework is intended to contribute to&amp;nbsp;&lt;/p&gt;&lt;p&gt;closing the accountability gap&amp;nbsp;&lt;/p&gt;&lt;p&gt;in the development and deployment of&lt;/p&gt;&lt;p&gt;large-scale artificial intelligence systems&lt;/p&gt;&lt;p&gt;by embedding a robust process to ensure audit integrity.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2018:&lt;/p&gt;&lt;p&gt;Margaret Mitchell,&lt;/p&gt;&lt;p&gt;Simone Wu, Andrew Zaldivar, Parker Barnes, Lucy Vasserman, Ben Hutchinson, Elena Spitzer, Inioluwa Deborah Raji,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Timnit Gebru&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://arxiv.org/abs/1810.03993&quot;&gt;https://arxiv.org/abs/1810.03993&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Model Cards for Model Reporting.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://research.latinxinai.org/papers/neurips/2018/pdf/Oral_Andrew_Zaldivar.pdf&quot;&gt;https://research.latinxinai.org/papers/neurips/2018/pdf/Oral_Andrew_Zaldivar.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Trained machine learning models are increasingly used to perform&amp;nbsp;&lt;/p&gt;&lt;p&gt;high-impact tasks in areas such as law enforcement,&amp;nbsp;&lt;/p&gt;&lt;p&gt;medicine, education, and employment.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In order to clarify the intended use cases of machine learning models&amp;nbsp;&lt;/p&gt;&lt;p&gt;and minimize their usage in contexts for which they are&lt;/p&gt;&lt;p&gt;not well suited, we recommend that&lt;/p&gt;&lt;p&gt;released models be accompanied by documentation&amp;nbsp;&lt;/p&gt;&lt;p&gt;detailing their performance characteristics.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In this paper, we propose a framework that we call&lt;/p&gt;&lt;p&gt;model cards,&amp;nbsp;&lt;/p&gt;&lt;p&gt;to encourage such transparent model reporting.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Model cards are short documents accompanying trained machine learning models&lt;/p&gt;&lt;p&gt;that provide benchmarked evaluation in a variety of conditions,&amp;nbsp;&lt;/p&gt;&lt;p&gt;such as across different cultural, demographic, or phenotypic groups&lt;/p&gt;&lt;p&gt;(e.g., race, geographic location, sex, Fitzpatrick skin type)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and intersectional groups&lt;/p&gt;&lt;p&gt;(e.g., age and race, or sex and Fitzpatrick skin type)&amp;nbsp;&lt;/p&gt;&lt;p&gt;that are relevant to the intended application domains.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Model cards also disclose the context in which&lt;/p&gt;&lt;p&gt;models are intended to be used,&lt;/p&gt;&lt;p&gt;details of the performance evaluation procedures,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and other relevant information.&amp;nbsp;&lt;/p&gt;&lt;p&gt;While we focus primarily on human-centered machine learning models&amp;nbsp;&lt;/p&gt;&lt;p&gt;in the application fields of computer vision and natural language processing,&amp;nbsp;&lt;/p&gt;&lt;p&gt;this framework can be used to document&amp;nbsp;&lt;/p&gt;&lt;p&gt;any trained machine learning model.&amp;nbsp;&lt;/p&gt;&lt;p&gt;To solidify the concept, we provide cards for two&amp;nbsp;&lt;/p&gt;&lt;p&gt;supervised models:&amp;nbsp;&lt;/p&gt;&lt;p&gt;One trained to detect smiling faces in images,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and one trained to detect toxic comments in text.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We propose model cards as a step towards the&amp;nbsp;&lt;/p&gt;&lt;p&gt;responsible democratization of machine learning&lt;/p&gt;&lt;p&gt;and related AI technology,&amp;nbsp;&lt;/p&gt;&lt;p&gt;increasing transparency into how well AI technology works.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We hope this work encourages those&amp;nbsp;&lt;/p&gt;&lt;p&gt;releasing trained machine learning models&lt;/p&gt;&lt;p&gt;to accompany model releases with&amp;nbsp;&lt;/p&gt;&lt;p&gt;similar detailed evaluation numbers&lt;/p&gt;&lt;p&gt;and other relevant documentation.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6410101464463454080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/04/timnit-gebru-and-margaret-mitchell-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6410101464463454080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6410101464463454080'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/04/timnit-gebru-and-margaret-mitchell-on.html' title='Timnit Gebru and Margaret Mitchell on AI Accountability'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6940690443793104116</id><published>2023-04-20T22:28:00.000-07:00</published><updated>2023-04-20T22:28:33.381-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cyb"/><category scheme="http://www.blogger.com/atom/ns#" term="dev.net"/><category scheme="http://www.blogger.com/atom/ns#" term="GPGPU"/><title type='text'>WebGPU: a significant web technology</title><content type='html'>&lt;p&gt;2023.4.20: news.&lt;b&gt;cyb/dev.net&lt;/b&gt;/WebGPU/&lt;br /&gt;introducing a significant web technology:&lt;/p&gt;&lt;p&gt;. this is a revision of WebGPU news from&lt;/p&gt;&lt;p&gt;François Beaufort, Corentin Wallez April 6, 2023&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/blog/webgpu-release/&quot;&gt;https://developer.chrome.com/blog/webgpu-release/&lt;/a&gt;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;WebGPU is a new API for the web,&amp;nbsp;&lt;/p&gt;&lt;p&gt;which allows rendering and computation operations on a GPU&lt;/p&gt;&lt;p&gt;for high-performance 3D graphics&amp;nbsp;&lt;/p&gt;&lt;p&gt;and data-parallel computation on the web.&lt;/p&gt;&lt;p&gt;Unlike the WebGL family of APIs,&amp;nbsp;&lt;/p&gt;&lt;p&gt;WebGPU offers access to more advanced GPU features&lt;/p&gt;&lt;p&gt;and provides first-class support for general computations on the GPU.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The API is designed with the web platform in mind,&amp;nbsp;&lt;/p&gt;&lt;p&gt;featuring an idiomatic JavaScript API,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and integration with promises.&lt;/p&gt;&lt;p&gt;. coming soon: better access to shader cores&lt;/p&gt;&lt;p&gt;for even more machine learning optimizations,&lt;/p&gt;&lt;p&gt;and additional ergonomics in WGSL,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the WebGPU Shading Language.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://google.github.io/tour-of-wgsl/&quot;&gt;https://google.github.io/tour-of-wgsl/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;. the W3C specifications for WebGPU&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://gpuweb.github.io/gpuweb/&quot;&gt;https://gpuweb.github.io/gpuweb/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and the WebGPU Shading Language.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://gpuweb.github.io/gpuweb/wgsl/&quot;&gt;https://gpuweb.github.io/gpuweb/wgsl/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Experiment with samples.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://webgpu.github.io/webgpu-samples/&quot;&gt;https://webgpu.github.io/webgpu-samples/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Look at the MDN documentation.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/WebGPU_API&quot;&gt;https://developer.mozilla.org/docs/Web/API/WebGPU_API&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Read the official explainer&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://gpuweb.github.io/gpuweb/explainer/&quot;&gt;https://gpuweb.github.io/gpuweb/explainer/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and best practices.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://toji.dev/webgpu-best-practices/&quot;&gt;https://toji.dev/webgpu-best-practices/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;WebGPU compared to WebGL;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://surma.dev/things/webgpu/index.html&quot;&gt;https://surma.dev/things/webgpu/index.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;eg, simpler and better at General-Purpose GPU&lt;/p&gt;&lt;p&gt;(GPGPU) also known as GPU compute,&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/articles/gpu-compute/&quot;&gt;https://developer.chrome.com/articles/gpu-compute/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;-- as opposed to WebGPU rendering&lt;/p&gt;&lt;p&gt;(canvas, texture, etc.).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Both the Dawn library for Chromium&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dawn.googlesource.com/dawn&quot;&gt;https://dawn.googlesource.com/dawn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and the wgpu library for Firefox&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/gfx-rs/wgpu&quot;&gt;https://github.com/gfx-rs/wgpu&lt;/a&gt;&lt;/p&gt;&lt;p&gt;are available as standalone packages,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and they offer great portability and ergonomic layers&lt;/p&gt;&lt;p&gt;that abstract OS GPU APIs.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Using these libraries in native applications&lt;/p&gt;&lt;p&gt;also makes it easier to port to WASM&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;https://webassembly.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;through Emscripten and Rust web-sys.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://emscripten.org/&quot;&gt;https://emscripten.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://rustwasm.github.io/wasm-bindgen/web-sys/index.html&quot;&gt;https://rustwasm.github.io/wasm-bindgen/web-sys/index.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Emscripten is a complete compiler toolchain to&lt;/p&gt;&lt;p&gt;WebAssembly, using LLVM.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;#Browser support&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This initial release of WebGPU is available in Chrome 113&lt;/p&gt;&lt;p&gt;on ChromeOS devices with Vulkan support,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Windows devices with Direct3D 12 support,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and macOS.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;#Library support&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Babylon.js has full WebGPU support already.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doc.babylonjs.com/setup/support/webGPU&quot;&gt;https://doc.babylonjs.com/setup/support/webGPU&lt;/a&gt;&lt;/p&gt;&lt;p&gt;PlayCanvas announced initial WebGPU support.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.playcanvas.com/initial-webgpu-support-lands-in-playcanvas-engine-1-62/&quot;&gt;https://blog.playcanvas.com/initial-webgpu-support-lands-in-playcanvas-engine-1-62/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;TensorFlow.js supports WebGPU-optimized versions of most operators.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.npmjs.com/package/@tensorflow/tfjs-backend-webgpu&quot;&gt;https://www.npmjs.com/package/@tensorflow/tfjs-backend-webgpu&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Three.js WebGPU support is underway, see examples.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://threejs.org/examples/?q=webgpu#webgpu_particles&quot;&gt;https://threejs.org/examples/?q=webgpu#webgpu_particles&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;about Babylon.js:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doc.babylonjs.com/guidedLearning/bjsBook&quot;&gt;https://doc.babylonjs.com/guidedLearning/bjsBook&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doc.babylonjs.com/guidedLearning/offsite&quot;&gt;https://doc.babylonjs.com/guidedLearning/offsite&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doc.babylonjs.com/journey/learningTheDocs&quot;&gt;https://doc.babylonjs.com/journey/learningTheDocs&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Babylon.js is a fully featured game and rendering engine.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;about PlayCanvas:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://playcanvas.com/&quot;&gt;https://playcanvas.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a web-first game engine:&lt;/p&gt;&lt;p&gt;collaboratively build html5 games and visualizations.&lt;/p&gt;&lt;p&gt;. PlayCanvas Editor is the most advanced&amp;nbsp;&lt;/p&gt;&lt;p&gt;WebGL authoring environment.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;about Three.js:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://threejs.org/manual/#en/fundamentals&quot;&gt;https://threejs.org/manual/#en/fundamentals&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a 3D library that tries to make it as easy as possible&lt;/p&gt;&lt;p&gt;to get 3D content on a webpage.&lt;/p&gt;&lt;p&gt;. three.js often uses WebGL to draw 3D.&amp;nbsp;&lt;/p&gt;&lt;p&gt;WebGL is a very low-level system that only draws&lt;/p&gt;&lt;p&gt;points, lines, and triangles.&amp;nbsp;&lt;/p&gt;&lt;p&gt;. three.js comes offers higher level code like&amp;nbsp;&lt;/p&gt;&lt;p&gt;scenes, lights, shadows, materials, textures, 3d math.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;about TensorFlow.js:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.tensorflow.org/2018/03/introducing-tensorflowjs-machine-learning-javascript.html&quot;&gt;https://blog.tensorflow.org/2018/03/introducing-tensorflowjs-machine-learning-javascript.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. an ecosystem of JavaScript tools for machine learning.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6940690443793104116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/04/webgpu-significant-web-technology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6940690443793104116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6940690443793104116'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/04/webgpu-significant-web-technology.html' title='WebGPU: a significant web technology'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-2180309437237201777</id><published>2023-03-30T11:06:00.000-07:00</published><updated>2023-03-30T11:06:49.599-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="math"/><title type='text'>Pythagorean Theorem proof based on Law of Sines independent of the Pythagorean identity</title><content type='html'>&lt;p&gt;2023.3.30: news.&lt;b&gt;math&lt;/b&gt;/&lt;br /&gt;Pythagorean Theorem proof based on Law of Sines &lt;br /&gt;independent of the Pythagorean identity:&lt;/p&gt;&lt;p&gt;the American Mathematical Society:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://meetings.ams.org/math/spring2023se/meetingapp.cgi/Paper/23621&quot;&gt;https://meetings.ams.org/math/spring2023se/meetingapp.cgi/Paper/23621&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. for the 2000 years since trigonometry was discovered&lt;/p&gt;&lt;p&gt;it&#39;s always been assumed that any alleged proof of&amp;nbsp;&lt;/p&gt;&lt;p&gt;Pythagoras’s Theorem based on trigonometry&lt;/p&gt;&lt;p&gt;must be circular&lt;/p&gt;&lt;p&gt;-- that all the fundamental formulae of trigonometry&lt;/p&gt;&lt;p&gt;are themselves based upon&lt;/p&gt;&lt;p&gt;the truth of the Pythagorean Theorem.&lt;/p&gt;&lt;p&gt;But Ne’Kiya D Jackson and Calcea Rujean Johnson&lt;/p&gt;&lt;p&gt;from St. Mary&#39;s Academy High School&lt;/p&gt;&lt;p&gt;present a new proof of Pythagoras’s Theorem&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pythagorean_theorem&quot;&gt;https://en.wikipedia.org/wiki/Pythagorean_theorem&lt;/a&gt;&lt;/p&gt;&lt;p&gt;which is based on a fundamental result in trigonometry&lt;/p&gt;&lt;p&gt;—the Law of Sines—&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Law_of_sines&quot;&gt;https://en.wikipedia.org/wiki/Law_of_sines&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://planetmath.org/sineslawproof1&quot;&gt;https://planetmath.org/sineslawproof1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and show that the proof is independent of&lt;/p&gt;&lt;p&gt;the Pythagorean identity.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pythagorean_trigonometric_identity&quot;&gt;https://en.wikipedia.org/wiki/Pythagorean_trigonometric_identity&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. video of the discoverers.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.9news.com/article/news/nation-world/no-east-teens-make-pmathematical-discovery-2000-years-making/289-e89f40cb-85f8-4a55-ae3f-3ec37412d7b8&quot;&gt;https://www.9news.com/article/news/nation-world/no-east-teens-make-pmathematical-discovery-2000-years-making/289-e89f40cb-85f8-4a55-ae3f-3ec37412d7b8&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/2180309437237201777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/03/pythagorean-theorem-proof-based-on-law.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2180309437237201777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2180309437237201777'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2023/03/pythagorean-theorem-proof-based-on-law.html' title='Pythagorean Theorem proof based on Law of Sines independent of the Pythagorean identity'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-8107095287138701595</id><published>2022-11-19T12:09:00.000-07:00</published><updated>2022-11-19T12:09:04.182-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="doc&#39;ing"/><title type='text'>The Art Of Note Taking by Thinknetic.net 2022</title><content type='html'>&lt;p&gt;&amp;nbsp;22.11.19: bk.adds/doc/Thinknetic 2022`The Art Of Note Taking:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. this is a brief review of the book:&lt;/p&gt;&lt;p&gt;Thinknetic 2022`The Art Of Note Taking:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Your Research-Based Guide To Taking Notes That Will Stick To Your Memory&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://amzn.to/3GwIYFE&quot;&gt;https://amzn.to/3GwIYFE&lt;/a&gt;[ad]&lt;/p&gt;&lt;p&gt;. the writer is Dianna Aquino,&lt;/p&gt;&lt;p&gt;a teacher with a doctorate, who was an honor student.&lt;/p&gt;&lt;p&gt;. the thinknetic.net founder is Michael Meisner.&lt;/p&gt;&lt;p&gt;&lt;b&gt;5-star/surprised by benefits of handwriting:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;p77:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. rewriting notes is encouraged&lt;/p&gt;&lt;p&gt;especially when taking notes of a lecture&lt;/p&gt;&lt;p&gt;when you don&#39;t have much time to write&lt;/p&gt;&lt;p&gt;and are quickly writing quotes.&lt;/p&gt;&lt;p&gt;p79:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. a legal reason to rewrite notes in your own words,&lt;/p&gt;&lt;p&gt;is to avoid being guilty of plagiarism;&lt;/p&gt;&lt;p&gt;you&#39;ll need copy the speaker&#39;s words&lt;/p&gt;&lt;p&gt;when you don&#39;t understand them yet;&lt;/p&gt;&lt;p&gt;but you should understand them after research.&lt;/p&gt;&lt;p&gt;p101:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. the Cornell doesn&#39;t encourage complete rewriting;&lt;/p&gt;&lt;p&gt;instead you need to leave lots of space between points&lt;/p&gt;&lt;p&gt;and leave a margin for notes made during the&lt;/p&gt;&lt;p&gt;after-lecture review.&lt;/p&gt;&lt;p&gt;p116:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. users of handwriting learned better than laptop typers&lt;/p&gt;&lt;p&gt;[Mueller, Oppenheimer 2014]&lt;/p&gt;&lt;p&gt;and that was randomly controlled;&lt;/p&gt;&lt;p&gt;however, handwriting is usually faster at&amp;nbsp;&lt;/p&gt;&lt;p&gt;indenting, graphing, and symbol writing&lt;/p&gt;&lt;p&gt;which can help with recalling the lecture;&lt;/p&gt;&lt;p&gt;so handwriters who could study their notes&lt;/p&gt;&lt;p&gt;learned more than typewriters who studied typed notes&lt;/p&gt;&lt;p&gt;even though typers wrote more words.&lt;/p&gt;&lt;p&gt;. typers tended to do more quoting&lt;/p&gt;&lt;p&gt;rather than writing what they learned,&lt;/p&gt;&lt;p&gt;but handwriters learned more even when&lt;/p&gt;&lt;p&gt;the subjects were instructed to not quote.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pam A. Mueller, Daniel M. Oppenheimer&amp;nbsp;&lt;/p&gt;&lt;p&gt;Psychological Science 2014&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doi.org/10.1177/0956797614524581&quot;&gt;https://doi.org/10.1177/0956797614524581&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The Pen Is Mightier Than the Keyboard:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Advantages of Longhand Over Laptop Note Taking.&lt;/p&gt;&lt;p&gt;corrections:&lt;/p&gt;&lt;p&gt;Mueller, P. A., &amp;amp; Oppenheimer, D. M. (2018).&amp;nbsp;&lt;/p&gt;&lt;p&gt;&quot;The pen is mightier than the keyboard:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Advantages of longhand over laptop note taking&quot;:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Corrigendum.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Psychological Science, 29(9), 1565–1568&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://doi.org/10.1177/0956797618781773&quot;&gt;https://doi.org/10.1177/0956797618781773&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot;&gt;&lt;b&gt;Austin Kleon` Steal Like an Artist: &lt;br /&gt;10 Things Nobody Told You About Being Creative[ad]&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot; /&gt;&lt;a href=&quot;http://www.amazon.com/gp/offer-listing/0761169253/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0761169253&amp;amp;linkCode=am2&amp;amp;tag=americiu-20&amp;amp;linkId=FQ6VCRTLOCWHS4LA&quot; style=&quot;background-color: white; color: #555599; font-family: Georgia, serif; font-size: 13px; text-decoration-line: none;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=0761169253&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0761169253&quot; style=&quot;background-color: white; border: none !important; font-family: Georgia, serif; font-size: 13px; margin: 0px !important; padding: 4px;&quot; width=&quot;1&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/8107095287138701595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/11/the-art-of-note-taking-by-thinkneticnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/8107095287138701595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/8107095287138701595'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/11/the-art-of-note-taking-by-thinkneticnet.html' title='The Art Of Note Taking by Thinknetic.net 2022'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6577538301248876075</id><published>2022-07-04T13:31:00.000-07:00</published><updated>2022-07-04T13:31:56.321-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="case"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><category scheme="http://www.blogger.com/atom/ns#" term="openware"/><category scheme="http://www.blogger.com/atom/ns#" term="patents"/><title type='text'>Amazon CodeWhisperer and Microsoft Github Copilot:</title><content type='html'>&lt;p&gt;2022.7.4: news.&lt;b&gt;adds/dev/CASE&lt;/b&gt;/&lt;br /&gt;Amazon CodeWhisperer and Microsoft Github Copilot:&lt;/p&gt;&lt;p&gt;&lt;b&gt;summary:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;. AI is being used for CASE&lt;/p&gt;&lt;p&gt;(computer-assisted software engineering).&lt;/p&gt;&lt;p&gt;. it is being trained on opensource code&lt;/p&gt;&lt;p&gt;and then applies techniques used by that code&lt;/p&gt;&lt;p&gt;to the specific needs of your code.&lt;/p&gt;&lt;p&gt;. the resulting code is free of any licensing agreements&lt;/p&gt;&lt;p&gt;because is considered fair use&amp;nbsp;&lt;/p&gt;&lt;p&gt;unless the software ideas are protected by patents&lt;/p&gt;&lt;p&gt;rather than merely copyright or copyleft.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;. Amazon CodeWhisperer may be able to tell you&lt;/p&gt;&lt;p&gt;the license of the project its ideas were lifted from,&lt;/p&gt;&lt;p&gt;but Microsoft Github Copilot claims all its code&lt;/p&gt;&lt;p&gt;is sourced from and licensed by an AI,&amp;nbsp;&lt;/p&gt;&lt;p&gt;not from the projects that the AI studied.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;refs:&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://aws.amazon.com/codewhisperer/&quot;&gt;https://aws.amazon.com/codewhisperer/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/features/copilot/&quot;&gt;https://github.com/features/copilot/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://openai.com/blog/openai-codex/&quot;&gt;https://openai.com/blog/openai-codex/&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;a href=&quot;https://techcrunch.com/2022/07/01/open-source-developers-urged-to-ditch-github-following-copilot-launch/&quot;&gt;https://techcrunch.com/2022/07/01/open-source-developers-urged-to-ditch-github-following-copilot-launch/&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;https://techcrunch.com/2022/06/23/amazon-launches-codewhisperer-its-ai-pair-programming-tool/&quot;&gt;https://techcrunch.com/2022/06/23/amazon-launches-codewhisperer-its-ai-pair-programming-tool/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://sfconservancy.org/blog/2022/feb/03/github-copilot-copyleft-gpl/&quot;&gt;https://sfconservancy.org/blog/2022/feb/03/github-copilot-copyleft-gpl/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/&quot;&gt;https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://lists.copyleft.org/pipermail/ai-assist/&quot;&gt;https://lists.copyleft.org/pipermail/ai-assist/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://lists.sfconservancy.org/pipermail/give-up-github/&quot;&gt;https://lists.sfconservancy.org/pipermail/give-up-github/&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6577538301248876075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/07/amazon-codewhisperer-and-microsoft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6577538301248876075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6577538301248876075'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/07/amazon-codewhisperer-and-microsoft.html' title='Amazon CodeWhisperer and Microsoft Github Copilot:'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6747707702602632633</id><published>2022-07-02T19:14:00.000-07:00</published><updated>2022-07-02T19:14:40.940-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="edu"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="phi"/><category scheme="http://www.blogger.com/atom/ns#" term="phy"/><category scheme="http://www.blogger.com/atom/ns#" term="psy"/><title type='text'>openstax.org free college textbooks</title><content type='html'>&lt;p&gt;&amp;nbsp;2022.7.2: news.&lt;b&gt;adds/edu&lt;/b&gt;/&lt;br /&gt;openstax.org/free college textbooks&lt;/p&gt;&lt;p&gt;I list about 80% of the openstax books&lt;/p&gt;&lt;p&gt;that were of the most interest to me&lt;/p&gt;&lt;p&gt;and organized some in the order that&lt;/p&gt;&lt;p&gt;I read them during college,&lt;/p&gt;&lt;p&gt;or will read them in the future.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Guide to studying.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://assets.openstax.org/oscms-prodcms/media/documents/OpenStax.Effective.Reading.and.Notetaking.Guide.pdf&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw3uqcNfxFEMMlLDV4D9tvnw&quot; href=&quot;https://assets.openstax.org/oscms-prodcms/media/documents/OpenStax.Effective.Reading.and.Notetaking.Guide.pdf&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://assets.openstax.org/&lt;wbr&gt;&lt;/wbr&gt;oscms-prodcms/media/documents/&lt;wbr&gt;&lt;/wbr&gt;OpenStax.Effective.Reading.&lt;wbr&gt;&lt;/wbr&gt;and.Notetaking.Guide.pdf&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/subjects/math&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw3PtHap01jkVxluMvz3MEL-&quot; href=&quot;https://openstax.org/subjects/math&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;b&gt;subjects/&lt;wbr&gt;&lt;/wbr&gt;math&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/prealgebra-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw3r9IZZ8N99Tw9CgMDaGPjd&quot; href=&quot;https://openstax.org/details/books/prealgebra-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;prealgebra&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/elementary-algebra-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw3Ca0Ze6sIJq0pLBHnRmJ7Z&quot; href=&quot;https://openstax.org/details/books/elementary-algebra-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;elementary-algebra&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/intermediate-algebra-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw03UOZa1ABo2wodfkrSV-Hg&quot; href=&quot;https://openstax.org/details/books/intermediate-algebra-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;intermediate-algebra&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/college-algebra-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw0jRzA_AgRokUQELkzAIzOQ&quot; href=&quot;https://openstax.org/details/books/college-algebra-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;college-algebra&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/algebra-and-trigonometry-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw1uWzSOR4HYkPoBThs7fAwR&quot; href=&quot;https://openstax.org/details/books/algebra-and-trigonometry-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;algebra-and-&lt;wbr&gt;&lt;/wbr&gt;trigonometry&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/precalculus-2e&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw1gUcEWy9KlhJN7_fHvXaIK&quot; href=&quot;https://openstax.org/details/books/precalculus-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;precalculus&lt;/b&gt;-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/calculus-volume-1&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw2UA7Lb-6R3cNso1OsizaHT&quot; href=&quot;https://openstax.org/details/books/calculus-volume-1&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;calculus-volume-1&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/calculus-volume-2&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw2JkSWsVvqp8Na9ZXEl_Bmi&quot; href=&quot;https://openstax.org/details/books/calculus-volume-2&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;calculus-volume-2&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/calculus-volume-3&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw2sBPNvTZwmO4GVUJllGAnB&quot; href=&quot;https://openstax.org/details/books/calculus-volume-3&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;calculus-volume-3&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introductory-statistics&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw3-Ogbq8-R833-_BCs9sJvl&quot; href=&quot;https://openstax.org/details/books/introductory-statistics&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;introductory-statistics&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/statistics&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw0a0K4jbndHBb7D-0vglDGB&quot; href=&quot;https://openstax.org/details/books/statistics&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/&lt;b&gt;statistics&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/subjects/humanities&amp;amp;source=gmail&amp;amp;ust=1656899663993000&amp;amp;usg=AOvVaw2fSamWQ6Xg6_qatGKxCw_i&quot; href=&quot;https://openstax.org/subjects/humanities&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;b&gt;subjects/&lt;wbr&gt;&lt;/wbr&gt;humanities&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Philosophy Introduction&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introduction-philosophy&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw39DzkFPFCuU6uLjSURj5z1&quot; href=&quot;https://openstax.org/details/books/introduction-philosophy&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/introduction-philosophy&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Writing Guide with Handbook&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/writing-guide&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1fkXEJOWwvPPvjts3-6YIt&quot; href=&quot;https://openstax.org/details/books/writing-guide&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/writing-guide&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/subjects/science&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0U-ZFHsgkkkySkP2iCHVKe&quot; href=&quot;https://openstax.org/subjects/science&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;b&gt;subjects/&lt;wbr&gt;&lt;/wbr&gt;science&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;biology for nonmajors.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/concepts-biology&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2c2ydDXTTNs74n3I_8CAKK&quot; href=&quot;https://openstax.org/details/books/concepts-biology&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/concepts-biology&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;microbiology course for non-majors&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/microbiology&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2T3swVL9zt_khSZRARWimM&quot; href=&quot;https://openstax.org/details/books/microbiology&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/microbiology&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;human physiology course for health majors&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/anatomy-and-physiology-2e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw18vS2mTqEWDe1x6nBo8YTZ&quot; href=&quot;https://openstax.org/details/books/anatomy-and-physiology-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/anatomy-and-physiology-&lt;wbr&gt;&lt;/wbr&gt;2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;biology for science majors&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/biology-2e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1f3uKfwINK50hetBQ3FLJX&quot; href=&quot;https://openstax.org/details/books/biology-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/biology-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;biology Advanced Placement® course.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/biology-ap-courses&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3Nl3HPZ0lVFyxWg6q-iGPT&quot; href=&quot;https://openstax.org/details/books/biology-ap-courses&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/biology-ap-courses&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;chemistry course&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/chemistry-2e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3RQW5CMRya5VlSggw3zqH9&quot; href=&quot;https://openstax.org/details/books/chemistry-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/chemistry-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Chemistry, an easier atoms-first approach&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/chemistry-atoms-first-2e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0jWQwvSns1xvYi06mB6JJT&quot; href=&quot;https://openstax.org/details/books/chemistry-atoms-first-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/chemistry-atoms-first-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;physics introductory algebra-based course.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/college-physics&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1Dpl3qz6b23va1YpcwL-cU&quot; href=&quot;https://openstax.org/details/books/college-physics&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/college-physics&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Physics Advanced Placement® course&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/college-physics-ap-courses?Student%2520resources&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw14By9p0TDgkLxVOAGOOmFg&quot; href=&quot;https://openstax.org/details/books/college-physics-ap-courses?Student%20resources&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/college-physics-ap-&lt;wbr&gt;&lt;/wbr&gt;courses?Student%20resources&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/subjects/social-sciences&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2wBxaxt31sSkFqllQh7ygF&quot; href=&quot;https://openstax.org/subjects/social-sciences&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;b&gt;subjects/&lt;wbr&gt;&lt;/wbr&gt;social-sciences&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Introduction to Sociology 3e&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introduction-sociology-3e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2HqZT6_yoKc81u2B_gZzUl&quot; href=&quot;https://openstax.org/details/books/introduction-sociology-3e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/introduction-sociology-&lt;wbr&gt;&lt;/wbr&gt;3e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;single-semester introduction to psychology:&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/psychology-2e&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1ouX8v8RAza6hUsJQ7f9a7&quot; href=&quot;https://openstax.org/details/books/psychology-2e&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/psychology-2e&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Introduction to Political Science&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introduction-political-science&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2GYR8HFIW0-DQpklrVnW7A&quot; href=&quot;https://openstax.org/details/books/introduction-political-science&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/introduction-political-&lt;wbr&gt;&lt;/wbr&gt;science&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/subjects/business&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2osH9g9EmySVq-Q4OnGv3j&quot; href=&quot;https://openstax.org/subjects/business&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;b&gt;subjects/&lt;wbr&gt;&lt;/wbr&gt;business&lt;/b&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Entrepreneurship introduction&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/entrepreneurship&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0f5VMb0g5mLLoWWqpyBMt2&quot; href=&quot;https://openstax.org/details/books/entrepreneurship&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/entrepreneurship&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Intellectual Property, patents, copyright, trademarks&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introduction-intellectual-property&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw27hgeEdj_erseYz-u6B_5y&quot; href=&quot;https://openstax.org/details/books/introduction-intellectual-property&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/introduction-&lt;wbr&gt;&lt;/wbr&gt;intellectual-property&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Organizational Behavior and entrepreneurial thinking&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/organizational-behavior&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1MVoSIz-CchsVP59aNIeuI&quot; href=&quot;https://openstax.org/details/books/organizational-behavior&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/organizational-behavior&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Management and motivational Principles&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/principles-management&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0ZxlkyEDF2KKfrRmalw26u&quot; href=&quot;https://openstax.org/details/books/principles-management&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/principles-management&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Business Statistics intro&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/introductory-business-statistics&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2Cf65NnEeQMElCgUcLjTbt&quot; href=&quot;https://openstax.org/details/books/introductory-business-statistics&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/introductory-business-&lt;wbr&gt;&lt;/wbr&gt;statistics&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Finance Principles&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/details/books/principles-finance&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0WhseM8W-VXaV_cBChbptb&quot; href=&quot;https://openstax.org/details/books/principles-finance&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/details/&lt;wbr&gt;&lt;/wbr&gt;books/principles-finance&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;b&gt;the openstax tv channel:&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://www.youtube.com/openstax&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1SoFJwKWi11gyFSpbUEvT9&quot; href=&quot;https://www.youtube.com/openstax&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/&lt;wbr&gt;&lt;/wbr&gt;openstax&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;b&gt;about OpenStax:&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/faq&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1zoeXYpIA0zMyXlWxUeXxH&quot; href=&quot;https://openstax.org/faq&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/faq&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;OpenStax is part of&amp;nbsp;&lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://rice.edu&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1_n1NN2xJQp_gDdNsjmdqH&quot; href=&quot;http://rice.edu/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;rice.edu&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Foundations give us the funding to create&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;high quality, peer-reviewed textbooks&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;that are written by paid educators and experts,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;not crowd sourced.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;We also have partnerships with for-profit companies&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;that provide sophisticated, optional online homework&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;at a low cost.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;These partners give us a mission support fee&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;in return for using our content,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;contributing to our sustainability.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;b&gt;Founding, Visionary, and Innovative Funders include:&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://openstax.org/foundation&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2X6yNNbL7GQMRuhHOcJAGj&quot; href=&quot;https://openstax.org/foundation&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://openstax.org/&lt;wbr&gt;&lt;/wbr&gt;foundation&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://nsf.gov&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2Jn2Q8tXG3HjoJWV4qBnmF&quot; href=&quot;http://nsf.gov/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;nsf.gov&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://ed.gov&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3np_aEkXvXaKrKhwLjZd0I&quot; href=&quot;http://ed.gov/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;ed.gov&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://www.highered.texas.gov&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2tSWmJf-Re49svlBVcN6w3&quot; href=&quot;http://www.highered.texas.gov/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;www.highered.texas.gov&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://tea.texas.gov&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw05LNvRgovRqzQRyEjVjWmV&quot; href=&quot;http://tea.texas.gov/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;tea.texas.gov&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;google making info universally useful&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://gatesfoundation.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3-RYwBTHf1f2aBlugmGavN&quot; href=&quot;http://gatesfoundation.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;gatesfoundation.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;against inequity&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;accountable democracies need education:&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://opensocietyfoundations.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0lWSC5a1TwO1PJZ-C_pNV1&quot; href=&quot;http://opensocietyfoundations.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;opensocietyfoundations.org&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://billofrightsinstitute.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1gU3svJBsa8ApOkchnmL5D&quot; href=&quot;http://billofrightsinstitute.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;billofrightsinstitute.org&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://20mm.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3MthCzNPt3Rx7-b-_tUA7V&quot; href=&quot;http://20mm.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;20mm.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;Improving Access to Higher Learning&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://hewlett.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2xOSVEDXdP2YVYXmnhklsP&quot; href=&quot;http://hewlett.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;hewlett.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;education for all&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://chanzuckerberg.com&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw3MXSB96FJSjdnlsFEc_iIo&quot; href=&quot;http://chanzuckerberg.com/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;chanzuckerberg.com&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;improving education&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://charleskochfoundation.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw0dbSqq5icv8ant5MChbfuX&quot; href=&quot;http://charleskochfoundation.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;charleskochfoundation.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;for postsecondary edu&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://kazanjian.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw10Ih8IcvL78XbWRLG7I5-i&quot; href=&quot;http://kazanjian.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;kazanjian.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;against economic illiteracy&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://lowensteinfdn.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1EKM7HcYNZeAd0fcxfCpW3&quot; href=&quot;http://lowensteinfdn.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;lowensteinfdn.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;for a better future&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://stuartfoundation.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw1IoMwJEPnBfwwPQrFbLmZ2&quot; href=&quot;http://stuartfoundation.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;stuartfoundation.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;for children&#39;s edu&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://chegg.com&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2fRfw3ubiCwejWDfl6_2ty&quot; href=&quot;http://chegg.com/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;chegg.com&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;cheaper textbooks through rentals&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://valhalla.org/collaborative-philanthropy/&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw10w52M2JQcCfR1D-euTVHd&quot; href=&quot;https://valhalla.org/collaborative-philanthropy/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://valhalla.org/&lt;wbr&gt;&lt;/wbr&gt;collaborative-philanthropy/&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://www.arnoldventures.org/work/higher-education-1&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2kJOot26rt9NDP0wP7SUxi&quot; href=&quot;https://www.arnoldventures.org/work/higher-education-1&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;https://www.arnoldventures.&lt;wbr&gt;&lt;/wbr&gt;org/work/higher-education-1&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://digitalpromise.org&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2-A_5VDlczuE_Fvmj8YesV&quot; href=&quot;http://digitalpromise.org/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;digitalpromise.org&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;learning opportunities for all&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=http://schmidtfutures.com&amp;amp;source=gmail&amp;amp;ust=1656899663994000&amp;amp;usg=AOvVaw2lqPHJwb8YcjyckKMDe9b-&quot; href=&quot;http://schmidtfutures.com/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; target=&quot;_blank&quot;&gt;schmidtfutures.com&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp;solving the hard problems&lt;/span&gt;&lt;div class=&quot;yj6qo&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot;&gt;Austin Kleon` Steal Like an Artist: [ad]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot;&gt;10 Things Nobody Told You About Being Creative&lt;/span&gt;&lt;br style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot; /&gt;&lt;a href=&quot;http://www.amazon.com/gp/offer-listing/0761169253/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0761169253&amp;amp;linkCode=am2&amp;amp;tag=americiu-20&amp;amp;linkId=FQ6VCRTLOCWHS4LA&quot; style=&quot;background-color: white; color: #555599; font-family: Georgia, serif; font-size: 13px; text-decoration-line: none;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=0761169253&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0761169253&quot; style=&quot;background-color: white; border: none !important; font-family: Georgia, serif; font-size: 13px; margin: 0px !important; padding: 4px;&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6747707702602632633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/07/openstaxorg-free-college-textbooks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6747707702602632633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6747707702602632633'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/07/openstaxorg-free-college-textbooks.html' title='openstax.org free college textbooks'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-1209803672314251846</id><published>2022-05-09T13:35:00.000-07:00</published><updated>2022-05-09T13:35:21.261-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="edu"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><title type='text'>@joboaler youcubed.org getting all kids inspired by math</title><content type='html'>&lt;p&gt;&amp;nbsp;2022.5.9: news.&lt;b&gt;adds/math/edu&lt;/b&gt;/&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;@joboaler youcubed.org getting all kids inspired by math:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;summary:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Stanford Mathematics Education Professor&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ed.stanford.edu/faculty/joboaler&quot;&gt;https://ed.stanford.edu/faculty/joboaler&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Jo Boaler, promotes inclusive math training&lt;/p&gt;&lt;p&gt;that shows all kids they have a brain for math.&lt;/p&gt;&lt;p&gt;. her resources include the website youcubed.org&lt;/p&gt;&lt;p&gt;that includes a free online student course.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youcubed.org/online-student-course/&quot;&gt;https://www.youcubed.org/online-student-course/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. she has several videos explaining her way,&lt;/p&gt;&lt;p&gt;along with many books.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://smile.amazon.com/Jo-Boaler/e/B001IODJ5U&quot;&gt;https://smile.amazon.com/Jo-Boaler/e/B001IODJ5U&lt;/a&gt;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Stanford Mathematics Education Professor Jo Boaler 2022:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://smile.amazon.com/Mathematical-Mindsets-Unleashing-Mathematics-Innovative/dp/1119823064&quot;&gt;https://smile.amazon.com/Mathematical-Mindsets-Unleashing-Mathematics-Innovative/dp/1119823064&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Mathematical Mindsets: Unleashing Students&#39; Potential through&lt;/p&gt;&lt;p&gt;Creative Mathematics, Inspiring Messages and Innovative Teaching&lt;/p&gt;&lt;p&gt;(Mindset Mathematics) 2nd Edition&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. also author of teacher&#39;s aids for grades K..8:&lt;/p&gt;&lt;p&gt;Mindset Mathematics: Visualizing and Investigating Big Ideas, Grade {K-8}&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://smile.amazon.com/dp/B09X7972YT&quot;&gt;https://smile.amazon.com/dp/B09X7972YT&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and many other books.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://smile.amazon.com/Jo-Boaler/e/B001IODJ5U&quot;&gt;https://smile.amazon.com/Jo-Boaler/e/B001IODJ5U&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. she is the Co-Founder and Faculty Director of youcubed&lt;/p&gt;&lt;p&gt;which contains research papers on math education,&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youcubed.org/evidence/research-articles/&quot;&gt;https://www.youcubed.org/evidence/research-articles/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and includes a free online student course.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youcubed.org/online-student-course/&quot;&gt;https://www.youcubed.org/online-student-course/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. see her TEDx talks:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youcubed.org/resource/ted-talks/&quot;&gt;https://www.youcubed.org/resource/ted-talks/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Jo’s Oxford TEDx 2017:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youcubed.org/resources/jos-oxford-tedx-2017-talk/&quot;&gt;https://www.youcubed.org/resources/jos-oxford-tedx-2017-talk/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. learning math has been traumatic for many,&lt;/p&gt;&lt;p&gt;only because of the way it is taught.&lt;/p&gt;&lt;p&gt;. the latest brain science shows&lt;/p&gt;&lt;p&gt;the ways our brains process mathematics,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the importance of visual learning&lt;/p&gt;&lt;p&gt;and believing in your ability to learn math.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Jo Boaler | TEDxStanford 2016&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://youtu.be/3icoSeGqQtY&quot;&gt;https://youtu.be/3icoSeGqQtY&lt;/a&gt;&lt;/p&gt;&lt;p&gt;How you can be good at math.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Boaler&#39;s research:&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Jo Boaler 2014 was the author of a&lt;/p&gt;&lt;p&gt;massive open online mathematics course&lt;/p&gt;&lt;p&gt;designed to test her teaching strategy.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://news.unl.edu/newsrooms/csmce/article/jo-boaler-leads-mooc-teachers-parents-how-learn-math/&quot;&gt;https://news.unl.edu/newsrooms/csmce/article/jo-boaler-leads-mooc-teachers-parents-how-learn-math/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ed.stanford.edu/news/math-action-new-online-courses-offer-fresh-approach-subject&quot;&gt;https://ed.stanford.edu/news/math-action-new-online-courses-offer-fresh-approach-subject&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ed.stanford.edu/news/new-online-course-learning-love-math&quot;&gt;https://ed.stanford.edu/news/new-online-course-learning-love-math&lt;/a&gt;&lt;/p&gt;&lt;p&gt;[was part of&amp;nbsp;&lt;/p&gt;&lt;p&gt;Free online courses from Stanford University]&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.edx.org/school/stanfordonline&quot;&gt;https://www.edx.org/school/stanfordonline&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. that testing found Boaler&#39;s methods do make a difference:&lt;/p&gt;&lt;p&gt;Boaler 2014 was Principal Investigator&lt;/p&gt;&lt;p&gt;of a National Science Foundation Award:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://nsf.gov/awardsearch/showAward?AWD_ID=1443790&amp;amp;HistoricalAwards=false&quot;&gt;https://nsf.gov/awardsearch/showAward?AWD_ID=1443790&amp;amp;HistoricalAwards=false&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Researching the impact of an online MOOC&lt;/p&gt;&lt;p&gt;designed to transform student engagement&amp;nbsp;&lt;/p&gt;&lt;p&gt;and achievement in mathematics.&lt;/p&gt;&lt;p&gt;. This project is designed to study a&amp;nbsp;&lt;/p&gt;&lt;p&gt;Massively Open Online Course (MOOC),&amp;nbsp;&lt;/p&gt;&lt;p&gt;expected to have approximately 2 million students,&amp;nbsp;&lt;/p&gt;&lt;p&gt;which will supplement middle grades mathematics classes.&lt;/p&gt;&lt;p&gt;Some of the key ideas in the course are:&lt;/p&gt;&lt;p&gt;Everyone can learn mathematics to high levels;&lt;/p&gt;&lt;p&gt;Mistakes, challenge and struggle&amp;nbsp;&lt;/p&gt;&lt;p&gt;are the best times for brain growth;&lt;/p&gt;&lt;p&gt;Depth of thinking is more important than speed;&lt;/p&gt;&lt;p&gt;Mathematics is a creative and beautiful subject;&lt;/p&gt;&lt;p&gt;Mathematics is all around us in life&amp;nbsp;&lt;/p&gt;&lt;p&gt;and is important.&lt;/p&gt;&lt;p&gt;The course has short videos interspersed with&amp;nbsp;&lt;/p&gt;&lt;p&gt;opportunities for students to reflect on the ideas,&amp;nbsp;&lt;/p&gt;&lt;p&gt;connect with other students in the course,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and work on open-ended mathematics tasks&lt;/p&gt;&lt;p&gt;designed to shape students’ perceptions related to these core ideas.&amp;nbsp;&lt;/p&gt;&lt;p&gt;results:&lt;/p&gt;&lt;p&gt;. Students who receive the treatment obtained&amp;nbsp;&lt;/p&gt;&lt;p&gt;0.18 standard deviation (SD) gains in&amp;nbsp;&lt;/p&gt;&lt;p&gt;SBAC(Smarter Balanced Assessment Consortium)&lt;/p&gt;&lt;p&gt;math overall scale score;&amp;nbsp;&lt;/p&gt;&lt;p&gt;i.e., the average student in the experimental group&lt;/p&gt;&lt;p&gt;would score higher than 57% of the control group&lt;/p&gt;&lt;p&gt;that was initially equivalent.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;more mentions of Boaler on nsf.gov:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://nsf.gov/awardsearch/simpleSearchResult?queryText=Boaler&quot;&gt;https://nsf.gov/awardsearch/simpleSearchResult?queryText=Boaler&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;prof Boaler was featured on BBC&#39;s&amp;nbsp;&lt;/p&gt;&lt;p&gt;educators changing the face of education.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/b04dwbkt&quot;&gt;https://www.bbc.co.uk/programmes/b04dwbkt&lt;/a&gt;&lt;/p&gt;&lt;p&gt;the video with Professor Jo Boaler:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.bbc.co.uk/sounds/play/b04gw6rh&quot;&gt;https://www.bbc.co.uk/sounds/play/b04gw6rh&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Boaler&#39;s 1997 book with a 2002 usa version:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Experiencing School Mathematics:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Traditional and Reform Approaches To Teaching&amp;nbsp;&lt;/p&gt;&lt;p&gt;and Their Impact on Student Learning,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Revised and Expanded Edition&lt;/p&gt;&lt;p&gt;(Studies in Mathematical Thinking and Learning Series)&amp;nbsp;&lt;/p&gt;&lt;p&gt;abstract:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://smile.amazon.com/Experiencing-School-Mathematics-Traditional-Mathematical/dp/0805840052/&quot;&gt;https://smile.amazon.com/Experiencing-School-Mathematics-Traditional-Mathematical/dp/0805840052/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. reports on case studies of two schools&lt;/p&gt;&lt;p&gt;that taught mathematics in totally different ways,&lt;/p&gt;&lt;p&gt;to show the ways students&#39; beliefs and understandings&amp;nbsp;&lt;/p&gt;&lt;p&gt;were shaped by the different approaches.&lt;/p&gt;&lt;p&gt;* looks at the ways in which &quot;traditional&quot; and&lt;/p&gt;&lt;p&gt;&quot;reform oriented&quot; mathematics teaching approaches&lt;/p&gt;&lt;p&gt;can impact student attitude, beliefs, and achievement;&lt;/p&gt;&lt;p&gt;* the effectiveness of different teaching methods&amp;nbsp;&lt;/p&gt;&lt;p&gt;in preparing students for the demands of&lt;/p&gt;&lt;p&gt;the &quot;real world&quot; and the 21st century;&lt;/p&gt;&lt;p&gt;* the impact of tracking and heterogeneous ability grouping;&amp;nbsp;&lt;/p&gt;&lt;p&gt;and gender and teaching styles&lt;/p&gt;&lt;p&gt;--the potential of different teaching approaches&lt;/p&gt;&lt;p&gt;for the attainment of equity.&lt;/p&gt;&lt;p&gt;The book draws some radical new conclusions about&lt;/p&gt;&lt;p&gt;the ways that traditional teaching methods lead to&amp;nbsp;&lt;/p&gt;&lt;p&gt;limited forms of knowledge&lt;/p&gt;&lt;p&gt;that are ineffective in non-school settings.&lt;/p&gt;&lt;p&gt;This edition has been revised for the&amp;nbsp;&lt;/p&gt;&lt;p&gt;North American market&amp;nbsp;&lt;/p&gt;&lt;p&gt;to show the relevance of the study results&amp;nbsp;&lt;/p&gt;&lt;p&gt;in light of the U.S. reform movement, the &quot;math wars&quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Math_wars&quot;&gt;https://en.wikipedia.org/wiki/Math_wars&lt;/a&gt;&lt;/p&gt;&lt;p&gt;and debates about teachers, assessment, and tracking.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/1209803672314251846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/05/joboaler-youcubedorg-getting-all-kids.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/1209803672314251846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/1209803672314251846'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/05/joboaler-youcubedorg-getting-all-kids.html' title='@joboaler youcubed.org getting all kids inspired by math'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-7916138442702989303</id><published>2022-04-12T10:27:00.000-07:00</published><updated>2022-04-12T10:27:07.927-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adda"/><category scheme="http://www.blogger.com/atom/ns#" term="lang"/><title type='text'>c# type identifiers should be capitalized to protect future keywords</title><content type='html'>&lt;p&gt;4.12: news.&lt;b&gt;adda/lang/c#/&lt;br /&gt;&lt;/b&gt;type identifiers should be capitalized to protect future keywords:&lt;/p&gt;&lt;p&gt;. when you are working with an evolving language,&lt;/p&gt;&lt;p&gt;you run the risk of creating identifiers&lt;/p&gt;&lt;p&gt;that the language will later want to use as keywords,&amp;nbsp;&lt;/p&gt;&lt;p&gt;reserved by the system.&lt;/p&gt;&lt;p&gt;. to support backward compatibility&lt;/p&gt;&lt;p&gt;if your language has a syntax like C#,&lt;/p&gt;&lt;p&gt;the only conflict is going to be when it is&lt;/p&gt;&lt;p&gt;your type identifiers that have become keywords,&lt;/p&gt;&lt;p&gt;because for all other identifiers&lt;/p&gt;&lt;p&gt;context can determine whether the keyword&lt;/p&gt;&lt;p&gt;has a system versus a local meaning.&lt;/p&gt;&lt;p&gt;. C# keywords will always be lower-case letters,&lt;/p&gt;&lt;p&gt;thus, your type identifiers must include&lt;/p&gt;&lt;p&gt;some upper-cased or non-alphabet characters,&lt;/p&gt;&lt;p&gt;or type identifiers should all be capitalized.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;summary of @jaredpar 2022/04/11:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.paranoidcoding.com/2022/04/11/lowercase-type-names.html&quot;&gt;https://blog.paranoidcoding.com/2022/04/11/lowercase-type-names.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. in the next version of C#, 11,&lt;/p&gt;&lt;p&gt;the compiler issues a warning when a type identifier&amp;nbsp;&lt;/p&gt;&lt;p&gt;is declared with all lower-case letters.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The warning is alerting customers to&amp;nbsp;&lt;/p&gt;&lt;p&gt;types that may become keywords in future versions.&lt;/p&gt;&lt;p&gt;. C# has a strong compatibility guarantee;&lt;/p&gt;&lt;p&gt;so, whenever C# introduces a new keyword into the language&amp;nbsp;&lt;/p&gt;&lt;p&gt;it must be a conditional keyword:&lt;/p&gt;&lt;p&gt;This means that the C# language must consider both&lt;/p&gt;&lt;p&gt;when the identifier is used as a keyword&lt;/p&gt;&lt;p&gt;and when it’s used as a type.&lt;/p&gt;&lt;p&gt;. and to be able to distinguish that difference,&lt;/p&gt;&lt;p&gt;the language has had to complicate the syntax&lt;/p&gt;&lt;p&gt;surrounding new keyword&lt;/p&gt;&lt;p&gt;so that it can&#39;t be confused with a type identifier.&lt;/p&gt;&lt;p&gt;. if your type identifiers must be capitalized,&lt;/p&gt;&lt;p&gt;this allows the C# language to begin&lt;/p&gt;&lt;p&gt;moving away from conditional keywords&lt;/p&gt;&lt;p&gt;and allow for simpler syntax.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/7916138442702989303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/04/c-type-identifiers-should-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/7916138442702989303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/7916138442702989303'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2022/04/c-type-identifiers-should-be.html' title='c# type identifiers should be capitalized to protect future keywords'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6394943936859314876</id><published>2021-11-28T18:45:00.000-07:00</published><updated>2021-11-28T18:45:48.095-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adde"/><category scheme="http://www.blogger.com/atom/ns#" term="graphics"/><category scheme="http://www.blogger.com/atom/ns#" term="openware"/><title type='text'>openware supporting graphics editing</title><content type='html'>&lt;p&gt;21.7.16: web.&lt;b&gt;adde/graphics&lt;/b&gt;/openware supporting graphics editing:&lt;/p&gt;&lt;p&gt;. see what other open source graphics editors are doing&amp;nbsp;&lt;/p&gt;&lt;p&gt;from these lists:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_raster_graphics_editors&quot;&gt;https://en.wikipedia.org/wiki/Comparison_of_raster_graphics_editors&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_3D_computer_graphics_software&quot;&gt;https://en.wikipedia.org/wiki/Comparison_of_3D_computer_graphics_software&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors&quot;&gt;https://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_3D_computer_graphics_software&quot;&gt;https://en.wikipedia.org/wiki/Comparison_of_3D_computer_graphics_software&lt;/a&gt;&lt;/p&gt;&lt;p&gt;(eg, are there free algorithms for simulating&lt;/p&gt;&lt;p&gt;watercolor and oil paints?)&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;here are dimensions of image editing.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Image_editing&quot;&gt;https://en.wikipedia.org/wiki/Image_editing&lt;/a&gt;&lt;/p&gt;&lt;p&gt;7.23: web:&lt;/p&gt;&lt;p&gt;&lt;b&gt;GNU Image Manipulation Program (GIMP), (C and GTK+)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/GIMP&quot;&gt;https://en.wikipedia.org/wiki/GIMP&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.gimp.org/&quot;&gt;http://www.gimp.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://gitlab.gnome.org/GNOME/gimp/&quot;&gt;http://gitlab.gnome.org/GNOME/gimp/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;G&#39;MIC (GREYC&#39;s Magic for Image Computing) (C++)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/G%27MIC&quot;&gt;https://en.wikipedia.org/wiki/G%27MIC&lt;/a&gt;&lt;/p&gt;&lt;p&gt;mostly popular as a GIMP plugin,[1] and is also included in Krita.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Blender 3D graphics editor (C, C++, Python)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Blender_(software)&quot;&gt;https://en.wikipedia.org/wiki/Blender_(software)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. creating animated films, visual effects, art, 3D printed models,&amp;nbsp;&lt;/p&gt;&lt;p&gt;motion graphics, interactive 3D applications,&amp;nbsp;&lt;/p&gt;&lt;p&gt;virtual reality, and computer games.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Blender&#39;s features include 3D modeling, UV unwrapping,&amp;nbsp;&lt;/p&gt;&lt;p&gt;texturing, raster graphics editing, rigging and skinning,&amp;nbsp;&lt;/p&gt;&lt;p&gt;fluid and smoke simulation, particle simulation, soft body simulation,&amp;nbsp;&lt;/p&gt;&lt;p&gt;sculpting, animating, match moving, rendering, motion graphics,&amp;nbsp;&lt;/p&gt;&lt;p&gt;video editing, and compositing.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.blender.org/&quot;&gt;https://www.blender.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://git.blender.org/gitweb/gitweb.cgi/blender.git&quot;&gt;https://git.blender.org/gitweb/gitweb.cgi/blender.git&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;GNU Paint (C)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/GNU_Paint&quot;&gt;https://en.wikipedia.org/wiki/GNU_Paint&lt;/a&gt;&lt;/p&gt;&lt;p&gt;GraphicsMagick raster image editor(C)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/GraphicsMagick&quot;&gt;https://en.wikipedia.org/wiki/GraphicsMagick&lt;/a&gt;&lt;/p&gt;&lt;p&gt;KolourPaint raster graphics editor (KDE C++)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/KolourPaint&quot;&gt;https://en.wikipedia.org/wiki/KolourPaint&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Krita raster graphics editor (Qt C++)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Krita&quot;&gt;https://en.wikipedia.org/wiki/Krita&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;MyPaint (GTK C, C++ and Python)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/MyPaint&quot;&gt;https://en.wikipedia.org/wiki/MyPaint&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Pressure-sensitive graphics tablet support&lt;/p&gt;&lt;p&gt;MyPaint&#39;s brush library is available as a Krita plugin,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and also GIMP has support for MyPaint brushes by default.&lt;/p&gt;&lt;p&gt;. optimized for use with pressure-sensitive graphics tablets.&amp;nbsp;&lt;/p&gt;&lt;p&gt;. the custom procedural brush engine was broken out into the&lt;/p&gt;&lt;p&gt;separately maintained libmypaint library (C)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;SVG-edit&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/SVG-Edit/svgedit&quot;&gt;https://github.com/SVG-Edit/svgedit&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a fast, web-based, JavaScript-driven SVG drawing editor&lt;/p&gt;&lt;p&gt;that works in any modern browser.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Darktable&amp;nbsp; (C and GTK)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Darktable&quot;&gt;https://en.wikipedia.org/wiki/Darktable&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. improving a photographer&#39;s workflow.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Panorama Tools image stitching (C)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Panorama_Tools&quot;&gt;https://en.wikipedia.org/wiki/Panorama_Tools&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Pencil2D (Qt C++)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pencil2D&quot;&gt;https://en.wikipedia.org/wiki/Pencil2D&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Pinta&amp;nbsp; bitmap image editing&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;(GTK# C#)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pinta_(software)&quot;&gt;https://en.wikipedia.org/wiki/Pinta_(software)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/PintaProject/Pinta&quot;&gt;https://github.com/PintaProject/Pinta&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://pinta-project.com/&quot;&gt;https://pinta-project.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Pinta&lt;/b&gt;&lt;b&gt;&amp;nbsp;uses Gtk# (C#, XML, Perl, C)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/GTK#Gtk.23&quot;&gt;https://en.wikipedia.org/wiki/GTK#Gtk.23&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://gitlab.gnome.org/GNOME/gtk.git&quot;&gt;https://gitlab.gnome.org/GNOME/gtk.git&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://mono-project.com/GtkSharp&quot;&gt;http://mono-project.com/GtkSharp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a set of .NET Framework bindings for the&amp;nbsp;&lt;/p&gt;&lt;p&gt;GTK graphical user interface (GUI) toolkit and assorted GNOME libraries.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The library facilitates building graphical GNOME applications using Mono&lt;/p&gt;&lt;p&gt;or any other compliant Common Language Runtime (CLR).&amp;nbsp;&lt;/p&gt;&lt;p&gt;Gtk# is an event-driven system like any other modern windowing library&amp;nbsp;&lt;/p&gt;&lt;p&gt;where every widget allows associating handler methods,&amp;nbsp;&lt;/p&gt;&lt;p&gt;which get called when certain events occur.&lt;/p&gt;&lt;p&gt;In addition to support the standard GTK/GNOME stack of development tools,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the gtk-dotnet.dll assembly provides a bridge to consume&lt;/p&gt;&lt;p&gt;functionality available on the .NET stack.&amp;nbsp;&lt;/p&gt;&lt;p&gt;At this point this includes the functionality to use&lt;/p&gt;&lt;p&gt;System.Drawing to draw on a widget.&lt;/p&gt;&lt;p&gt;As of September 2020, Gtk# support for Gtk3&amp;nbsp;&lt;/p&gt;&lt;p&gt;remains in the preview phase and forked projects,&amp;nbsp; such as GtkSharp,&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/GtkSharp/GtkSharp&quot;&gt;https://github.com/GtkSharp/GtkSharp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;have been founded to provide full Gtk3 support for C# and other CLI languages.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Pinta uses C# that runs on Mono (C, C#, XML):&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Mono_(software)&quot;&gt;https://en.wikipedia.org/wiki/Mono_(software)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. Mono is a free and open-source project to develop a cross-platform&amp;nbsp;&lt;/p&gt;&lt;p&gt;compiler and runtime environment (i.e. virtual machine)&amp;nbsp;&lt;/p&gt;&lt;p&gt;for the C# language.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/C_Sharp_(programming_language)&quot;&gt;https://en.wikipedia.org/wiki/C_Sharp_(programming_language)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Mono is a free and open-source .NET Framework-compatible software framework.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Originally by Ximian, it was later acquired by Novell,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and is now being led by Xamarin, a subsidiary of Microsoft[5]&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the .NET Foundation.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Mono can be run on macOS, and Linux, as well as Windows.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.mono-project.com/docs/&quot;&gt;https://www.mono-project.com/docs/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;LibreOffice --with draw (C++, XML, and Java)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/LibreOffice&quot;&gt;https://en.wikipedia.org/wiki/LibreOffice&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Vector graphics editor&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/LibreOffice_Draw&quot;&gt;https://en.wikipedia.org/wiki/LibreOffice_Draw&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Collabora Online (C++, JavaScript)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Collabora_Online&quot;&gt;https://en.wikipedia.org/wiki/Collabora_Online&lt;/a&gt;&lt;/p&gt;&lt;p&gt;collaboratively edit text documents, spreadsheets,&lt;/p&gt;&lt;p&gt;presentations and vector graphics.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Dia diagramming (Gnome C, Python)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Dia_(software)&quot;&gt;https://en.wikipedia.org/wiki/Dia_(software)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Dia has special objects to help draw entity-relationship models,&lt;/p&gt;&lt;p&gt;Unified Modeling Language (UML) diagrams, flowcharts, network diagrams,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and simple electrical circuits.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It is also possible to add support for new shapes&amp;nbsp;&lt;/p&gt;&lt;p&gt;by writing simple XML files,&amp;nbsp;&lt;/p&gt;&lt;p&gt;using a subset of Scalable Vector Graphics (SVG) to draw the shape.&lt;/p&gt;&lt;p&gt;Dia loads and saves diagrams in a custom XML format&lt;/p&gt;&lt;p&gt;which is, by default, gzipped to save space.&amp;nbsp;&lt;/p&gt;&lt;p&gt;can also be scripted using the Python.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;gtkmm (gtk-- or gtk minus minus) (GTK C++)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gtkmm&quot;&gt;https://en.wikipedia.org/wiki/Gtkmm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;the official C++ interface for the popular GUI library GTK.&amp;nbsp;&lt;/p&gt;&lt;p&gt;(referenced in the following ...)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Inkscape vector graphics editor (C++ with gtkmm, Python)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Inkscape&quot;&gt;https://en.wikipedia.org/wiki/Inkscape&lt;/a&gt;&lt;/p&gt;&lt;p&gt;create vector images, primarily in Scalable Vector Graphics (SVG) format.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Synfig Vector graphics editor, computer animation (gtkmm C++)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Synfig&quot;&gt;https://en.wikipedia.org/wiki/Synfig&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;FreeCAD 3D parametric modeler(C++, Python)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/FreeCAD&quot;&gt;https://en.wikipedia.org/wiki/FreeCAD&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. parametric 3D computer-aided design (CAD) modeler&amp;nbsp;&lt;/p&gt;&lt;p&gt;and a building information modeling (BIM) software&lt;/p&gt;&lt;p&gt;with finite element method (FEM) support.[2]&amp;nbsp;&lt;/p&gt;&lt;p&gt;FreeCAD is intended for mechanical engineering product design&amp;nbsp;&lt;/p&gt;&lt;p&gt;but also expands to a wider range of uses around engineering,&amp;nbsp;&lt;/p&gt;&lt;p&gt;such as architecture or electrical engineering.&amp;nbsp;&lt;/p&gt;&lt;p&gt;users can extend the functionality of the software&lt;/p&gt;&lt;p&gt;using the Python programming language.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.freecadweb.org/github.com/FreeCAD/FreeCAD&quot;&gt;https://www.freecadweb.org/github.com/FreeCAD/FreeCAD&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;OpenSCAD solid 3D CAD&lt;br /&gt;&amp;nbsp;(C++ and Qt, CGAL, OpenCSG, and OpenGL)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/OpenSCAD&quot;&gt;https://en.wikipedia.org/wiki/OpenSCAD&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a free software application for creating&amp;nbsp;&lt;/p&gt;&lt;p&gt;solid 3D CAD (computer-aided design) objects.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It is a script-only based modeller&amp;nbsp;&lt;/p&gt;&lt;p&gt;that uses its own description language;&amp;nbsp;&lt;/p&gt;&lt;p&gt;parts can be previewed, but cannot be interactively selected or modified by mouse in the 3D view.&amp;nbsp;&lt;/p&gt;&lt;p&gt;An OpenSCAD script specifies geometric primitives&lt;/p&gt;&lt;p&gt;(such as spheres, boxes, cylinders, etc.)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and defines how they are modified and combined&lt;/p&gt;&lt;p&gt;(for instance by intersection, difference, envelope combination and Minkowski sums)&amp;nbsp;&lt;/p&gt;&lt;p&gt;to render a 3D model.&amp;nbsp;&lt;/p&gt;&lt;p&gt;As such, the program does constructive solid geometry (CSG).&amp;nbsp;&lt;/p&gt;&lt;p&gt;OpenSCAD is available for Windows, Linux and macOS.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://github.com/openscad/openscad&quot;&gt;github.com/openscad/openscad&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.openscad.org/&quot;&gt;http://www.openscad.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Wings 3D&amp;nbsp; subdivision modeler (Erlang)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Wings_3D&quot;&gt;https://en.wikipedia.org/wiki/Wings_3D&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. Wings 3D can be used to model and texture&amp;nbsp;&lt;/p&gt;&lt;p&gt;low to mid-range polygon models.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Modeling Tool support for Magnets and Vector Operations.&lt;/p&gt;&lt;p&gt;Wings does not support animations&amp;nbsp;&lt;/p&gt;&lt;p&gt;and has only basic OpenGL rendering facilities,&amp;nbsp;&lt;/p&gt;&lt;p&gt;although it can export to external rendering software such as&amp;nbsp;&lt;/p&gt;&lt;p&gt;POV-Ray and YafRay.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Wings is often used in combination with other software,&amp;nbsp;&lt;/p&gt;&lt;p&gt;whereby models made in Wings are exported to&amp;nbsp;&lt;/p&gt;&lt;p&gt;applications more specialized in rendering and animation such as Blender.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.wings3d.com/&quot;&gt;http://www.wings3d.com/&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6394943936859314876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/11/openware-supporting-graphics-editing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6394943936859314876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6394943936859314876'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/11/openware-supporting-graphics-editing.html' title='openware supporting graphics editing'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-2686521036030905991</id><published>2021-08-19T14:07:00.001-07:00</published><updated>2021-08-20T06:59:56.450-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adda"/><category scheme="http://www.blogger.com/atom/ns#" term="adt"/><category scheme="http://www.blogger.com/atom/ns#" term="constitution"/><category scheme="http://www.blogger.com/atom/ns#" term="lang"/><category scheme="http://www.blogger.com/atom/ns#" term="oop"/><title type='text'>pioneers of the abstract data type or object-oriented modularization</title><content type='html'>&lt;p&gt;2021.7.21..8.19: news.&lt;b&gt;adda/lang&lt;/b&gt;/&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;pioneers of the abstract data type or object-oriented modularization/&lt;/span&gt;&lt;br /&gt;Wirth 1979`founders of abstract data type were C.A.R. Hoare, P. Brinch Hansen:&lt;/p&gt;&lt;p&gt;. I had recently heard prof Liskov 2013&lt;/p&gt;&lt;p&gt;explaining how she was the origin of the ADT&lt;/p&gt;&lt;p&gt;(abstract data type) back in 1971&lt;/p&gt;&lt;p&gt;when she was working on the Venus system;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://amerdreamdocs.blogspot.com/2021/07/drbarbara-liskovthe-software-crisis.html&quot;&gt;http://amerdreamdocs.blogspot.com/2021/07/drbarbara-liskovthe-software-crisis.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;but prof Wirth 1979 claims the idea came from&lt;/p&gt;&lt;p&gt;C.A.R. Hoare and P. Brinch Hansen;&lt;/p&gt;&lt;p&gt;however, he gives no details or a date.&lt;/p&gt;&lt;p&gt;. about the same time that Liskov was working on Venus&lt;/p&gt;&lt;p&gt;David L. Parnas was mentioning &quot;information hiding&quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;referring to object-oriented modules&lt;/p&gt;&lt;p&gt;being preferred to functional decomposition.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;. here is Wirth 1979&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://link.springer.com/content/pdf/10.1007/3-540-09745-7_1.pdf&quot;&gt;https://link.springer.com/content/pdf/10.1007/3-540-09745-7_1.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;explaining the origin of&lt;/p&gt;&lt;p&gt;the idea of the abstract data type:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;The gradual process of disentangling&lt;/p&gt;&lt;p&gt;these distinct [computer science] concepts&lt;/p&gt;&lt;p&gt;led to one definitely remarkable discovery.&amp;nbsp;&lt;/p&gt;&lt;p&gt;C.A.R. Hoare and P. Brinch Hansen recognised&lt;/p&gt;&lt;p&gt;that the association of data and procedure declaration&lt;/p&gt;&lt;p&gt;as embodied in the class concept in Simula&amp;nbsp;&lt;/p&gt;&lt;p&gt;would be an ideal frame for promoting the idea of&lt;/p&gt;&lt;p&gt;program design with various levels of abstraction.&lt;/p&gt;&lt;p&gt;If the class body is regarded as an&lt;/p&gt;&lt;p&gt;initialization statement of local data&lt;/p&gt;&lt;p&gt;instead of as a coroutine,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and if the procedures are made globally accessible&amp;nbsp;&lt;/p&gt;&lt;p&gt;instead of local to the coroutine body,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and if the associated variables are local,&amp;nbsp;&lt;/p&gt;&lt;p&gt;i.e. hidden from the environment&amp;nbsp;&lt;/p&gt;&lt;p&gt;of the class declaration,&amp;nbsp;&lt;/p&gt;&lt;p&gt;then such a structure would be an ideal tool&lt;/p&gt;&lt;p&gt;for representing abstract objects in terms of&amp;nbsp;&lt;/p&gt;&lt;p&gt;more concrete details.&lt;/p&gt;&lt;p&gt;This was the origin of the idea of&amp;nbsp;&lt;/p&gt;&lt;p&gt;the abstract data type.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. Wirth does reference Liskov to mention&amp;nbsp;&lt;/p&gt;&lt;p&gt;her 1978 CLU Reference Manual:&lt;/p&gt;&lt;p&gt;&quot;Once postulated,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the concept of the abstract data type led to&amp;nbsp;&lt;/p&gt;&lt;p&gt;a considerable amount of research activities.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Only a few matured into implemented systems&amp;nbsp;&lt;/p&gt;&lt;p&gt;[Liskov&#39;s CLU,&lt;/p&gt;&lt;p&gt;H. Lienhard. The real-time programming language PORTAL.&amp;nbsp;&lt;/p&gt;&lt;p&gt;R. Schild. Parallel processes in PORTAL, exemplified in a group project.&lt;/p&gt;&lt;p&gt;Landis &amp;amp; Gyr Review 25, 2, 2-16 (1978)].&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. here are other early mentions of ADT...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Mathematical Foundations of Computer Science 1980&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://link.springer.com/chapter/10.1007/BFb0022497&quot;&gt;https://link.springer.com/chapter/10.1007/BFb0022497&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Abstract data types: A retrospective and prospective view.&lt;/p&gt;&lt;p&gt;Wm. A. Wulf&lt;/p&gt;&lt;p&gt;&quot;This paper presents a retrospective view of the&amp;nbsp;&lt;/p&gt;&lt;p&gt;last decade&#39;s research in a number of related areas:&amp;nbsp;&lt;/p&gt;&lt;p&gt;programming methodology, formal semantics,&amp;nbsp;&lt;/p&gt;&lt;p&gt;program specification and verification,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and programming languages.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The synergistic effect of these threads of research&lt;/p&gt;&lt;p&gt;is especially evident in the area called&lt;/p&gt;&lt;p&gt;abstract data types, ...&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. I show the references of that Wulf 1980 paper,&lt;/p&gt;&lt;p&gt;in chronological order, that are relating ADTs to&lt;/p&gt;&lt;p&gt;Simula, Hoare, Wirth, and Liskov &amp;amp; Zilles;&amp;nbsp;&lt;/p&gt;&lt;p&gt;also interesting are the many references to&lt;/p&gt;&lt;p&gt;David L. Parnas 1971..1976.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/David_Parnas&quot;&gt;https://en.wikipedia.org/wiki/David_Parnas&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. Parnas 1972&#39;s &quot;On the Criteria to Be Used&lt;/p&gt;&lt;p&gt;in Decomposing Systems into Modules&quot;,&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://apps.dtic.mil/sti/pdfs/AD0773837.pdf&quot;&gt;https://apps.dtic.mil/sti/pdfs/AD0773837.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;emphasized information hiding,&lt;/p&gt;&lt;p&gt;which is the key feature of the ADT:&lt;/p&gt;&lt;p&gt;&quot;The major progress in the area of modular programming&amp;nbsp;&lt;/p&gt;&lt;p&gt;has been the development of coding techniques ...&lt;/p&gt;&lt;p&gt;which (1) allow one module to be written with&lt;/p&gt;&lt;p&gt;little knowledge of the code used in another module ...&quot;&lt;/p&gt;&lt;p&gt;but decomposition using &quot;information hiding&quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;[as defined in Parnas 1971]&lt;/p&gt;&lt;p&gt;is to be preferred to functional decomposition.&lt;/p&gt;&lt;p&gt;Parnas 1971:&lt;/p&gt;&lt;p&gt;Information Distribution Aspects of Design Methodology,&lt;/p&gt;&lt;p&gt;Technical Report, Dept of CS, Carnegie-Mellon University.&lt;/p&gt;&lt;p&gt;see also:&lt;/p&gt;&lt;p&gt;M. Broy, E. Denert (Springer-Verlag Eds.) 2002:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Software Pioneers/David L. Parnas:&lt;/p&gt;&lt;p&gt;The Secret History of Information Hiding.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/profile/David-Parnas/publication/200085877_On_the_Criteria_To_Be_Used_in_Decomposing_Systems_into_Modules/links/55956a7408ae99aa62c72622/On-the-Criteria-To-Be-Used-in-Decomposing-Systems-into-Modules.pdf&quot;&gt;https://www.researchgate.net/profile/David-Parnas/publication/200085877_On_the_Criteria_To_Be_Used_in_Decomposing_Systems_into_Modules/links/55956a7408ae99aa62c72622/On-the-Criteria-To-Be-Used-in-Decomposing-Systems-into-Modules.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;the references of the Wulf 1980 paper:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;O.-J. Dahl. Simula 67 Common Base Language.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Norwegian Computing Center, Oslo, 1968.&lt;/p&gt;&lt;p&gt;David L. Parnas.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Information Distribution Aspects of Design Methodology.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Proceedings of IFIP Congress, IFIP, 1971, pp. 26–30. Booklet TA-3&lt;/p&gt;&lt;p&gt;C. A. R. Hoare.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Proof of Correctness of Data Representations.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Acta Informatica 1, 4 (1972).&lt;/p&gt;&lt;p&gt;David L. Parnas.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“A Technique for Software Module Specification with Examples.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Communications of the ACM 15 (May 1972)&lt;/p&gt;&lt;p&gt;David L. Parnas.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“On the Criteria to be Used in Decomposing Systems into Modules.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Communications of the ACM 15, 12 (December 1972).&lt;/p&gt;&lt;p&gt;C. A. R. Hoare and N. Wirth.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“An Axiomatic Definition of the Programming Language Pascal.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Acta Informatica 2, 4 (1973).&lt;/p&gt;&lt;p&gt;D. L. Parnas, J. E. Shore and Elliott.&amp;nbsp;&lt;/p&gt;&lt;p&gt;On the Need for Fewer Restrictions in Changing Compile-time Environments.&amp;nbsp;&lt;/p&gt;&lt;p&gt;NRL Report 7847, Naval Research Lab, November, 1974&lt;/p&gt;&lt;p&gt;Barbara H. Liskov and Stephen N. Zilles.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Specification Techniques for Data Abstractions.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;IEEE Transactions on Software Engineering SE-1 (March 1975).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Per Brinch Hansen.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“The Programming Language Concurrent Pascal.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;IEEE Transactions on Software Engineering SE-1 (June 1975).&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://authors.library.caltech.edu/34677/1/06312840.pdf&quot;&gt;https://authors.library.caltech.edu/34677/1/06312840.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;A process executes a sequential program&lt;/p&gt;&lt;p&gt;- it is an active component.&amp;nbsp;&lt;/p&gt;&lt;p&gt;A monitor is just a collection of procedures&amp;nbsp;&lt;/p&gt;&lt;p&gt;that do nothing until they are called by processes&lt;/p&gt;&lt;p&gt;- it is a passive component.&amp;nbsp;&lt;/p&gt;&lt;p&gt;But there are strong similarities between&amp;nbsp;&lt;/p&gt;&lt;p&gt;a process and a monitor: both define&lt;/p&gt;&lt;p&gt;a data structure (private or shared)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the meaningful operations on it. ...&lt;/p&gt;&lt;p&gt;It seems natural therefore to regard [both]&lt;/p&gt;&lt;p&gt;as abstract data types defined in terms of&amp;nbsp;&lt;/p&gt;&lt;p&gt;the operations one can perform on them.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If a compiler can check that these operations are&lt;/p&gt;&lt;p&gt;the only ones carried out on the data structures,&amp;nbsp;&lt;/p&gt;&lt;p&gt;then we may be able to build very reliable,&amp;nbsp;&lt;/p&gt;&lt;p&gt;concurrent programs in which controlled access to&amp;nbsp;&lt;/p&gt;&lt;p&gt;data and physical resources is guaranteed&amp;nbsp;&lt;/p&gt;&lt;p&gt;before these programs are put into operation.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We have then to some extent solved the&lt;/p&gt;&lt;p&gt;resource protection problem&amp;nbsp;&lt;/p&gt;&lt;p&gt;in the cheapest possible manner (without&lt;/p&gt;&lt;p&gt;hardware mechanisms and run time overhead).&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;David L. Parnas.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Some Hypotheses about the “Uses” Hierarchy for Operating Systems.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Technische Hochschule Darmstadteich Informatik, 1976&lt;/p&gt;&lt;p&gt;A. K. Jones and B. H. Liskov.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“A Language Extension for Controlling Access to Shared Data.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;IEEE Transactions on Software Engineering SE-2, 4 (December 1976), 277–285.&lt;/p&gt;&lt;p&gt;Barbara Liskov, Alan Snyder, Russell Atkinson and Craig Schaffert.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Abstraction Mechanisms in CLU.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Communications of the ACM 20, 8 (August 1977)&lt;/p&gt;&lt;p&gt;Niklaus Wirth.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Modula: A Language for Modular Programming.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Software — Practice and Experience 7, 1 (January 1977).&lt;/p&gt;&lt;p&gt;B. Liskov, E. Moss, C. Schaffert, R. Scheifler and A. Snyder.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The CLU Reference Manual.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Laboratory for Comp Sci, Mass. Institute of Tech, 1978.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Computation Structures Group Memo No. 161&lt;/p&gt;&lt;p&gt;John V. Guttag, Ellis Horowitz and David R. Musser.&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Abstract Data Types and Software Validation.”&amp;nbsp;&lt;/p&gt;&lt;p&gt;Communications of the ACM 21, 12 (December 1978).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. another survey of abstract data types:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ACM SIGPLAN Notices 1976&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/10.1145/942574.807113&quot;&gt;https://dl.acm.org/doi/10.1145/942574.807113&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The use of abstract data types&lt;/p&gt;&lt;p&gt;to simplify program modifications.&lt;/p&gt;&lt;p&gt;Theodore A. Linden&lt;/p&gt;&lt;p&gt;&quot;An abstract data type defines not only a&lt;/p&gt;&lt;p&gt;data representation for objects of the type&amp;nbsp;&lt;/p&gt;&lt;p&gt;but also the set of operations that can be&amp;nbsp;&lt;/p&gt;&lt;p&gt;performed on objects of the type.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Furthermore, the abstract data type can&lt;/p&gt;&lt;p&gt;protect the data representation from&lt;/p&gt;&lt;p&gt;direct access by other parts of the program.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the Linden 1976 references:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Dahl, O.-J., Myhrhaug, B., and Nygaard, K.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The Simula 67 common base language,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Norwegian Computing Center, Oslo, 1968.&lt;/p&gt;&lt;p&gt;Liskov, B. and Zilles, S.&amp;nbsp;&lt;/p&gt;&lt;p&gt;An approach to abstraction.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Proc. of a Symposium on Very High Level Languages,&amp;nbsp;&lt;/p&gt;&lt;p&gt;SIGPLAN Notices, 9, 4 (April 1974).&lt;/p&gt;&lt;p&gt;[first seen in:&lt;/p&gt;&lt;p&gt;computation structures group Memo 88,&amp;nbsp;&lt;/p&gt;&lt;p&gt;project MAC, MIT Sept 1973 ]&lt;/p&gt;&lt;p&gt;Brinch Hansen, P.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The Programming Language Concurrent Pascal.&amp;nbsp;&lt;/p&gt;&lt;p&gt;IEEE Trans. of Software Engineering 1, 2 (June 1975).&lt;/p&gt;&lt;p&gt;Liskov, B. and Zilles, S.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Specification techniques for data abstractions.&amp;nbsp;&lt;/p&gt;&lt;p&gt;International Conf. on Reliable Software,&amp;nbsp;&lt;/p&gt;&lt;p&gt;SIGPLAN Notices, 10, 6, (June 1975) pp. 72-85.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;from the above references I couldn&#39;t find:&lt;/p&gt;&lt;p&gt;( Liskov, B. and Zilles, S. April 1974:&lt;/p&gt;&lt;p&gt;An approach to abstraction.&amp;nbsp;&lt;/p&gt;&lt;p&gt;) but I could find the same authors&amp;nbsp;&lt;/p&gt;&lt;p&gt;writing the same month here:&lt;/p&gt;&lt;p&gt;( Barbara Liskov, Stephen Zilles April 1974&lt;/p&gt;&lt;p&gt;Programming with abstract data types&lt;/p&gt;&lt;p&gt;ACM SIGPLAN Notices&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/10.1145/942572.807045&quot;&gt;https://dl.acm.org/doi/10.1145/942572.807045&lt;/a&gt;&lt;/p&gt;&lt;p&gt;)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and&lt;/p&gt;&lt;p&gt;there are many papers that cite&amp;nbsp;&lt;/p&gt;&lt;p&gt;Liskov&#39;s &quot;An approach to abstraction&quot;:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://scholar.google.com/scholar?cites=3833873370284844398&amp;amp;as_sdt=805&amp;amp;sciodt=0,3&amp;amp;hl=en&quot;&gt;https://scholar.google.com/scholar?cites=3833873370284844398&amp;amp;as_sdt=805&amp;amp;sciodt=0,3&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A history of CLU.&lt;/p&gt;&lt;p&gt;Barbara Liskov&lt;/p&gt;&lt;p&gt;History of programming languages January 1996,&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/155360.155367&quot;&gt;https://dl.acm.org/doi/abs/10.1145/155360.155367&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://scholar.archive.org/work/mmc23rbzlrdcvakr3xg2py2jne/access/wayback/http://publications.csail.mit.edu:80/lcs/pubs/pdf/MIT-LCS-TR-561.pdf&quot;&gt;https://scholar.archive.org/work/mmc23rbzlrdcvakr3xg2py2jne/access/wayback/http://publications.csail.mit.edu:80/lcs/pubs/pdf/MIT-LCS-TR-561.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;The idea of a data abstraction has had a&amp;nbsp;&lt;/p&gt;&lt;p&gt;significant impact on the development of&lt;/p&gt;&lt;p&gt;programming languages&amp;nbsp;&lt;/p&gt;&lt;p&gt;and on programming methodology.&amp;nbsp;&lt;/p&gt;&lt;p&gt;CLU was the first implemented programming language&lt;/p&gt;&lt;p&gt;to provide direct linguistic support&lt;/p&gt;&lt;p&gt;for data abstraction.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A survey of some issues concerning&lt;/p&gt;&lt;p&gt;abstract data types.&lt;/p&gt;&lt;p&gt;L Flon - 1974 - apps.dtic.mil&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://apps.dtic.mil/sti/pdfs/ADA004337.pdf&quot;&gt;https://apps.dtic.mil/sti/pdfs/ADA004337.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Towards a theory of type structure&lt;/p&gt;&lt;p&gt;JC Reynolds - Programming Symposium, 1974&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://link.springer.com/chapter/10.1007%2F3-540-06859-7_148&quot;&gt;https://link.springer.com/chapter/10.1007%2F3-540-06859-7_148&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://prl.ccs.neu.edu/img/r-cp-1974.pdf&quot;&gt;https://prl.ccs.neu.edu/img/r-cp-1974.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://kilthub.cmu.edu/articles/journal_contribution/Towards_a_Theory_of_Type_Structure/6611015/files/12103187.pdf&quot;&gt;https://kilthub.cmu.edu/articles/journal_contribution/Towards_a_Theory_of_Type_Structure/6611015/files/12103187.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Software engineering: Process, principles, and goals.&lt;/p&gt;&lt;p&gt;DT Ross, JB Goodenough, CA Irvine&lt;/p&gt;&lt;p&gt;Computer, 1975&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ieeexplore.ieee.org/abstract/document/1649428/&quot;&gt;https://ieeexplore.ieee.org/abstract/document/1649428/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.academia.edu/download/48806359/c-m.1975.21895220160913-5432-1a4k09q.pdf&quot;&gt;https://www.academia.edu/download/48806359/c-m.1975.21895220160913-5432-1a4k09q.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Operating system structures to support&lt;/p&gt;&lt;p&gt;security and reliable software.&lt;/p&gt;&lt;p&gt;TA Linden - ACM Computing Surveys (CSUR), 1976&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/356678.356682&quot;&gt;https://dl.acm.org/doi/abs/10.1145/356678.356682&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.ojp.gov/pdffiles1/Digitization/40465NCJRS.pdf&quot;&gt;https://www.ojp.gov/pdffiles1/Digitization/40465NCJRS.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.google.com/books/edition/Operating_System_Structures_to_Support_S/ux35aCuxrksC?hl=en&amp;amp;gbpv=1&amp;amp;pg=PA1&amp;amp;printsec=frontcover&quot;&gt;https://www.google.com/books/edition/Operating_System_Structures_to_Support_S/ux35aCuxrksC?hl=en&amp;amp;gbpv=1&amp;amp;pg=PA1&amp;amp;printsec=frontcover&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Programming without pointer variables.&lt;/p&gt;&lt;p&gt;RB Kieburtz&lt;/p&gt;&lt;p&gt;Proceedings of the 1976 conference on Data …, 1976&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/800237.807127&quot;&gt;https://dl.acm.org/doi/abs/10.1145/800237.807127&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.7746&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.7746&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;[ Liskov 2013 pointed out that&amp;nbsp; CLU used pointers&amp;nbsp;&lt;/p&gt;&lt;p&gt;despite them being seen as unsafe.]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Visibility and types.&lt;/p&gt;&lt;p&gt;CHA Koster&lt;/p&gt;&lt;p&gt;ACM SIGPLAN Notices, 1976&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/942574.807136&quot;&gt;https://dl.acm.org/doi/abs/10.1145/942574.807136&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A study of protection in programming languages.&lt;/p&gt;&lt;p&gt;AL Ambler, CG Hoch&lt;/p&gt;&lt;p&gt;ACM SIGOPS Operating Systems Review, 1977&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/390018.808309&quot;&gt;https://dl.acm.org/doi/abs/10.1145/390018.808309&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ACM LISP and functional programming August 1980&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/10.1145/800087.802791&quot;&gt;https://dl.acm.org/doi/10.1145/800087.802791&lt;/a&gt;&lt;/p&gt;&lt;p&gt;MODLISP&lt;/p&gt;&lt;p&gt;James H. Davenport, Richard D. Jenks&lt;/p&gt;&lt;p&gt;&quot;MODLISP language differs from other&amp;nbsp;&lt;/p&gt;&lt;p&gt;abstract data type languages such as CLU&lt;/p&gt;&lt;p&gt;[Liskov &amp;amp; Zilles, 1974; Liskov et al, 1977]&amp;nbsp;&lt;/p&gt;&lt;p&gt;in that it allows dynamic construction of&amp;nbsp;&lt;/p&gt;&lt;p&gt;new parameterised data types&lt;/p&gt;&lt;p&gt;and possesses a unified semantics covering&lt;/p&gt;&lt;p&gt;interpreted and compiled code,&amp;nbsp;&lt;/p&gt;&lt;p&gt;which can call one another at will.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In short, it is LISP-like.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. more about MODLISP (lisp with modes)...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ACM SIGSAM Bulletin 1981&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/1089242.1089244&quot;&gt;https://dl.acm.org/doi/abs/10.1145/1089242.1089244&lt;/a&gt;&lt;/p&gt;&lt;p&gt;MODLISP&lt;/p&gt;&lt;p&gt;James H. Davenport,&amp;nbsp; Richard D. Jenks&lt;/p&gt;&lt;p&gt;&quot;discusses the design and implementation of MODLISP,&amp;nbsp;&lt;/p&gt;&lt;p&gt;a LISP-like language enhanced with the idea of MODes.&amp;nbsp;&lt;/p&gt;&lt;p&gt;This extension permits, but does not require,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the user to declare the types of various variables,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and to compile functions with&lt;/p&gt;&lt;p&gt;the arguments declared to be of a particular type.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It is possible to declare several functions of the same name,&amp;nbsp;&lt;/p&gt;&lt;p&gt;with arguments of different type&lt;/p&gt;&lt;p&gt;(e.g. PLUS could be declared for&amp;nbsp;&lt;/p&gt;&lt;p&gt;Integer arguments, or Rational, or Real,&lt;/p&gt;&lt;p&gt;or even Polynomial arguments)&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the system will apply the correct function&lt;/p&gt;&lt;p&gt;for the types of the arguments.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ACM SIGSAM 1977&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/10.1145/1088233.1088237&quot;&gt;https://dl.acm.org/doi/10.1145/1088233.1088237&lt;/a&gt;&lt;/p&gt;&lt;p&gt;On the design of a mode-based symbolic system&lt;/p&gt;&lt;p&gt;Richard D. Jenks&lt;/p&gt;&lt;p&gt;&quot;This paper is a preliminary report on&amp;nbsp;&lt;/p&gt;&lt;p&gt;the design and implementation of a&amp;nbsp;&lt;/p&gt;&lt;p&gt;mode-based symbolic programming system and compiler&lt;/p&gt;&lt;p&gt;which allows programming with rewrite rules and&lt;/p&gt;&lt;p&gt;[_]let and [_]is pattern-match constructs.&amp;nbsp;&lt;/p&gt;&lt;p&gt;An important feature of this design is the provision for&lt;/p&gt;&lt;p&gt;mode-valued variables which allow&amp;nbsp;&lt;/p&gt;&lt;p&gt;algebraic domains to be run-time parameters.&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/2686521036030905991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/08/pioneers-of-abstract-data-type-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2686521036030905991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2686521036030905991'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/08/pioneers-of-abstract-data-type-or.html' title='pioneers of the abstract data type or object-oriented modularization'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-2985188010351590895</id><published>2021-07-28T14:22:00.001-07:00</published><updated>2021-07-28T14:22:49.341-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adde"/><category scheme="http://www.blogger.com/atom/ns#" term="graphics"/><title type='text'>user-defined painting tools</title><content type='html'>&lt;p&gt;&amp;nbsp;21.7.16: &lt;b&gt;adde/graphics&lt;/b&gt;/user-defined painting tools:&lt;/p&gt;&lt;p&gt;. all the painting tools in the graphics editor&lt;/p&gt;&lt;p&gt;come with high-level instructions (adda code)&lt;/p&gt;&lt;p&gt;that users can copy and modify&amp;nbsp;&lt;/p&gt;&lt;p&gt;for coding their own tools.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. your brush can have a parameters page of your own design&amp;nbsp;&lt;/p&gt;&lt;p&gt;not just the usual tool width, flow density, etc.&lt;/p&gt;&lt;p&gt;. each tool is launching a subprogram&lt;/p&gt;&lt;p&gt;that can have any number of novel parameters.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the usual brush is the function&lt;/p&gt;&lt;p&gt;pen(x,y) -&amp;gt; print (x,y),&lt;/p&gt;&lt;p&gt;but you can invoke a function of your own design&lt;/p&gt;&lt;p&gt;that can print or do anything given pen(x,y),&lt;/p&gt;&lt;p&gt;and your routine can also be a function of&lt;/p&gt;&lt;p&gt;what is already near (x,y);&lt;/p&gt;&lt;p&gt;eg, you can have a stroke that uses a darker or lighter&lt;/p&gt;&lt;p&gt;version of the current color;&lt;/p&gt;&lt;p&gt;or, it can make changes like ipad.ArtSet4&#39;s blender tool&lt;/p&gt;&lt;p&gt;where a stroke of the pen decides how to&amp;nbsp;&lt;/p&gt;&lt;p&gt;move or change any paint that is nearby.&lt;/p&gt;&lt;p&gt;[7.17:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. when the brush lays down random changes for you,&lt;/p&gt;&lt;p&gt;you can ask for a repeating of that function:&lt;/p&gt;&lt;p&gt;it keeps applying differing random sequences,&lt;/p&gt;&lt;p&gt;so then you can pick the one you like best.]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[7.17: &lt;b&gt;object-oriented vs raster images:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;. it can save a paint-stroke object,&amp;nbsp;&lt;/p&gt;&lt;p&gt;so at any later time you can go into object mode,&lt;/p&gt;&lt;p&gt;and it will show you what objects are used&lt;/p&gt;&lt;p&gt;to paint a certain region,&lt;/p&gt;&lt;p&gt;and you can ask to re-apply an object&lt;/p&gt;&lt;p&gt;to vary the random sequences it provides.]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;complement mode:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;. any tool providing a certain brush shape&lt;/p&gt;&lt;p&gt;can be used in eraser or complement mode:&lt;/p&gt;&lt;p&gt;the erase function uses the same brush shape,&lt;/p&gt;&lt;p&gt;but removes paint instead of adding paint.&lt;/p&gt;&lt;p&gt;. the complement mode does that too,&lt;/p&gt;&lt;p&gt;but also adds paint where a tool is removing paint.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;sketch filler tool:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;. make tools that are a function of a sketch;&lt;/p&gt;&lt;p&gt;given a rough sketch, the sketch filler tool will&lt;/p&gt;&lt;p&gt;use your sketch as input for a painting&lt;/p&gt;&lt;p&gt;that your routine generates.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/2985188010351590895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/07/user-defined-painting-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2985188010351590895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/2985188010351590895'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/07/user-defined-painting-tools.html' title='user-defined painting tools'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-413245274831819787</id><published>2021-07-13T00:00:00.000-07:00</published><updated>2021-07-13T00:00:50.994-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adda"/><category scheme="http://www.blogger.com/atom/ns#" term="architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="dstr"/><category scheme="http://www.blogger.com/atom/ns#" term="isolation"/><category scheme="http://www.blogger.com/atom/ns#" term="oop"/><category scheme="http://www.blogger.com/atom/ns#" term="type"/><title type='text'>Dr.Barbara Liskov`the software crisis averted with modularity based on data abstraction</title><content type='html'>&lt;p&gt;21.6.10: &amp;nbsp;7.12:&amp;nbsp;news.&lt;b&gt;adda/lang&lt;/b&gt;/&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Dr.Barbara Liskov`the software crisis averted with modularity based on data abstraction:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;. the key to programming in the large&amp;nbsp;&lt;/p&gt;&lt;p&gt;is modularity based on data abstraction&lt;/p&gt;&lt;p&gt;and that was not obvious before her work,&lt;/p&gt;&lt;p&gt;but now her work is mainstream, so it now seems obvious.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;AI Dr Barbara Liskov 2013`The Power of Abstraction:&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://www.infoq.com/presentations/programming-abstraction-liskov/&quot;&gt;https://www.infoq.com/presentations/programming-abstraction-liskov/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;AI Dr Barbara Liskov is an Institute Professor at MIT,&amp;nbsp;&lt;/p&gt;&lt;p&gt;who has won an ACM Turing Award,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the ACM SIGPLAN Programming Language Achievement Award,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the IEEE Von Neumann medal,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the lifetime achievement award&lt;/p&gt;&lt;p&gt;from the Society of Women Engineers.&lt;/p&gt;&lt;p&gt;. the following are notes from her 2013 speech&lt;/p&gt;&lt;p&gt;and quotes from the literature she mentions.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. how to handle the software crisis;&lt;/p&gt;&lt;p&gt;we have big things to do with software,&lt;/p&gt;&lt;p&gt;and no way to get organized.&lt;/p&gt;&lt;p&gt;. we are spaghetti-coding with gotos,&lt;/p&gt;&lt;p&gt;and our procedures are not true modules&lt;/p&gt;&lt;p&gt;they are simply for code reuse&lt;/p&gt;&lt;p&gt;and are communicating via globals.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;AFIPS 1972&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/1479992.1480018&quot;&gt;https://dl.acm.org/doi/abs/10.1145/1479992.1480018&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A design methodology for reliable software systems&lt;/p&gt;&lt;p&gt;B. H. Liskov&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ckrybus.com/static/papers/liskov1972.pdf&quot;&gt;https://ckrybus.com/static/papers/liskov1972.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;While system designers and implementers&amp;nbsp;&lt;/p&gt;&lt;p&gt;recognize the need for reliable software,&amp;nbsp;&lt;/p&gt;&lt;p&gt;they have been unable to produce it.&quot;&lt;/p&gt;&lt;p&gt;&lt;b&gt;References to her prior works:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;B H Liskov E Towster 1971&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The proof of correctness approach to reliable systems&lt;/p&gt;&lt;p&gt;The MITRE Corporation MTR 2073 Bedford Massachusetts&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;B H Liskov 1972&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Guidelines for the design and implementation of reliable software systems&amp;nbsp;&lt;/p&gt;&lt;p&gt;The MITRE Corporation MTR 2345 Bedford Massachusetts&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;B H Liskov 1972&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The design of the Venus operating system&lt;/p&gt;&lt;p&gt;Comm ACM 15 3 pp 144--149&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/361268.361272&quot;&gt;https://dl.acm.org/doi/abs/10.1145/361268.361272&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;SOSP &#39;71: Proceedings of the third ACM symposium on Operating systems principles&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/800212.806493&quot;&gt;https://dl.acm.org/doi/abs/10.1145/800212.806493&lt;/a&gt;&lt;/p&gt;&lt;p&gt;based on a 1971 Mitre report&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://apps.dtic.mil/sti/pdfs/AD0733585.pdf&quot;&gt;https://apps.dtic.mil/sti/pdfs/AD0733585.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;. Venus was built as a hierarch of levels of abstraction,&amp;nbsp;&lt;/p&gt;&lt;p&gt;defined by Dijkstra&amp;nbsp;&lt;/p&gt;&lt;p&gt;[Comm. ACM 11, 5 (May 1968), 341-346;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/363095.363143&quot;&gt;https://dl.acm.org/doi/abs/10.1145/363095.363143&lt;/a&gt;&lt;/p&gt;&lt;p&gt;the structure of &#39;THE&#39; - multiprogramming system&lt;/p&gt;&lt;p&gt;Dijkstra, E.W. p343: &quot;system hierarchy&quot;]&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://courses.cs.washington.edu/courses/csep551/02wi/first.pdf&quot;&gt;http://courses.cs.washington.edu/courses/csep551/02wi/first.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;. a level is defined as not only the&amp;nbsp;&lt;/p&gt;&lt;p&gt;abstraction which it supports(eg virtual mem),&amp;nbsp;&lt;/p&gt;&lt;p&gt;but also by the resources which it uses&amp;nbsp;&lt;/p&gt;&lt;p&gt;in realizing that abstraction.&lt;/p&gt;&lt;p&gt;. lower levels (those closer to the machine)&lt;/p&gt;&lt;p&gt;are not aware of the resources of higher levels;&lt;/p&gt;&lt;p&gt;higher levels may apply or access the resources of lower levels&amp;nbsp;&lt;/p&gt;&lt;p&gt;only by calling functions provided by the lower level.&lt;/p&gt;&lt;p&gt;. this reduces the number of interactions among parts of a system&lt;/p&gt;&lt;p&gt;and makes them more explicit.&quot;&lt;/p&gt;&lt;p&gt;. see also &lt;b&gt;Mitre report 1970:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://apps.dtic.mil/sti/citations/AD0709717&quot;&gt;https://apps.dtic.mil/sti/citations/AD0709717&lt;/a&gt;&lt;/p&gt;&lt;p&gt;principle of operation of the Venus microprogram.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. in 1972 Liskov wrote about a software architecture&lt;/p&gt;&lt;p&gt;she had designed for the Venus OS&lt;/p&gt;&lt;p&gt;where instead of subroutines communicating via globals,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the variables would be in partitions,&lt;/p&gt;&lt;p&gt;and if you wanted to access one of them,&lt;/p&gt;&lt;p&gt;you would call one of the partition&#39;s procedures,&lt;/p&gt;&lt;p&gt;so that if you understood the partitions&#39; procedures&amp;nbsp;&lt;/p&gt;&lt;p&gt;(its abstract interface)&lt;/p&gt;&lt;p&gt;then you understood all the ways&amp;nbsp;&lt;/p&gt;&lt;p&gt;that the partition state could change&lt;/p&gt;&lt;p&gt;(no surprises).&lt;/p&gt;&lt;p&gt;. then she saw how that was like the&lt;/p&gt;&lt;p&gt;abstract data type,&lt;/p&gt;&lt;p&gt;that are a close match to the modules&lt;/p&gt;&lt;p&gt;used in the design process.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Communications of the ACM 1973&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/361932.361937&quot;&gt;https://dl.acm.org/doi/abs/10.1145/361932.361937&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Protection in programming languages&lt;/p&gt;&lt;p&gt;James H. Morris&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. Morris talks about the importance of encapsulation&lt;/p&gt;&lt;p&gt;[like the partition idea];&lt;/p&gt;&lt;p&gt;because when your program is run alongside others&lt;/p&gt;&lt;p&gt;good fences make good neighbors.&lt;/p&gt;&lt;p&gt;. he had the idea like the internet&lt;/p&gt;&lt;p&gt;that modules hide their details&lt;/p&gt;&lt;p&gt;not just with a trusted programming language,&lt;/p&gt;&lt;p&gt;but by separately encrypting each module.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Proc ACM SIGPLAN symposium on Very high level languages 1974&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/800233.807045&quot;&gt;https://dl.acm.org/doi/abs/10.1145/800233.807045&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Programming with abstract data types&lt;/p&gt;&lt;p&gt;Barbara Liskov, Stephen Zilles&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.136.3043&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.136.3043&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. after Liskov and Zilles wrote that paper,&lt;/p&gt;&lt;p&gt;they got down to designing a programming language,&amp;nbsp;&lt;/p&gt;&lt;p&gt;CLU (named after &quot;CLUster&quot; that implemented&amp;nbsp;&lt;/p&gt;&lt;p&gt;their abstract data type idea.)&lt;/p&gt;&lt;p&gt;. CLU was heap-based (inherently pointer-based&lt;/p&gt;&lt;p&gt;when pointers were thought to be evil).&lt;/p&gt;&lt;p&gt;. it had separate compilation like lisp,&lt;/p&gt;&lt;p&gt;no concurrency, and no inheritance.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. here is an object-oriented binary operation:&lt;/p&gt;&lt;p&gt;obj1`operation(obj2);&lt;/p&gt;&lt;p&gt;CLU instead used type-orientation for binary operations:&lt;/p&gt;&lt;p&gt;type`operation(obj1, obj2),&lt;/p&gt;&lt;p&gt;so that the type tags of both obj1 and obj2&lt;/p&gt;&lt;p&gt;could be involved in selecting the method&lt;/p&gt;&lt;p&gt;that would be implementing that operation.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. when Liskov used the term &quot;polymorphism&quot;,&lt;/p&gt;&lt;p&gt;it meant it had generics:&lt;/p&gt;&lt;p&gt;you could have set(T.type).type&lt;/p&gt;&lt;p&gt;defining a set of objects all of a given type T.&lt;/p&gt;&lt;p&gt;. notice that there are types of types;&lt;/p&gt;&lt;p&gt;eg, you might want only types that are ordered.&lt;/p&gt;&lt;p&gt;so they had a &quot;where&quot; constraint clause:&lt;/p&gt;&lt;p&gt;set(T.type).type where T is ordered.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. iterators: for all x in collection do statement.&lt;/p&gt;&lt;p&gt;. for doing iterators, they got an idea from&lt;/p&gt;&lt;p&gt;the generators of CMU&#39;s Alphard language;&lt;/p&gt;&lt;p&gt;then they invented something like C# generators.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. then when they studied oop (obj-oriented prog),&lt;/p&gt;&lt;p&gt;she found that inheritance was used for 2 things:&lt;/p&gt;&lt;p&gt;&lt;b&gt;implementation reuse:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;(defining one thing in terms of another),&lt;/p&gt;&lt;p&gt;&lt;b&gt;and type hierarchy:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;( like when (int, real, rational, complex)&amp;nbsp;&lt;/p&gt;&lt;p&gt;are all polymorphisms of type number ).&lt;/p&gt;&lt;p&gt;--type hierarchy reminded her of&lt;/p&gt;&lt;p&gt;CLU&#39;s &quot;where&quot; clauses&lt;/p&gt;&lt;p&gt;(constraint clause for filtering their&amp;nbsp;&lt;/p&gt;&lt;p&gt;the node type for generic data structures).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;a simplified or clarifying definition of the&lt;/p&gt;&lt;p&gt;Liskov substitution principle:&lt;/p&gt;&lt;p&gt;. objects of subtypes, if used via supertype methods,&lt;/p&gt;&lt;p&gt;should behave like those of supertypes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Addendum Proc of OOPSLA ’87, SIGPLAN Notices 1988&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/doi/10.1145/62139.62141&quot;&gt;https://dl.acm.org/doi/10.1145/62139.62141&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Keynote address&lt;/p&gt;&lt;p&gt;data abstraction and hierarchy&lt;/p&gt;&lt;p&gt;Barbara Liskov&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;cited by:&lt;/p&gt;&lt;p&gt;&lt;b&gt;Thesis (Ph. D.)--MIT, Computer Science, 2010.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dspace.mit.edu/handle/1721.1/62439&quot;&gt;https://dspace.mit.edu/handle/1721.1/62439&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Automating abstraction functions&lt;/p&gt;&lt;p&gt;Rayside, Derek F&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://dspace.mit.edu/bitstream/handle/1721.1/62439/711001803-MIT.pdf?sequence=2&amp;amp;isAllowed=y&quot;&gt;https://dspace.mit.edu/bitstream/handle/1721.1/62439/711001803-MIT.pdf?sequence=2&amp;amp;isAllowed=y&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;4.6 Object Equality and Observational Equivalence&lt;/p&gt;&lt;p&gt;Liskov, Guttag, Wing, and Leavens [60, 67-70]&amp;nbsp;&lt;/p&gt;&lt;p&gt;recommend that object equality should&amp;nbsp;&lt;/p&gt;&lt;p&gt;imply observational equivalence:&amp;nbsp;&lt;/p&gt;&lt;p&gt;i.e., that the two equal objects are indiscernible,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and any computation would produce the same result with either one.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The phrase &#39;observational equivalence&#39; is also used in&amp;nbsp;&lt;/p&gt;&lt;p&gt;the formal semantics of programming languages with a similar meaning:&amp;nbsp;&lt;/p&gt;&lt;p&gt;any observationally equivalent terms compute the same result.&lt;/p&gt;&lt;p&gt;One could see this idea of observational equivalence&lt;/p&gt;&lt;p&gt;as a modern incarnation of Leibniz&#39;s Law [64],&amp;nbsp;&lt;/p&gt;&lt;p&gt;which has two parts:&amp;nbsp;&lt;/p&gt;&lt;p&gt;the Identity of Indiscernibles&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the Indiscernibility of Identicals.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In the notation of modern symbolic logic one might write for the first part [36]:&lt;/p&gt;&lt;p&gt;for all properties P(Px equiv Py) =&amp;gt; x = y&lt;/p&gt;&lt;p&gt;meaning that if object y has every property P that object x has, and vice versa,&amp;nbsp;&lt;/p&gt;&lt;p&gt;then x is identical to y.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The converse, the Indiscernibility of Identicals, might be written as [36]:&lt;/p&gt;&lt;p&gt;x = y implies&amp;nbsp; for all properties P(Px equiv Py)&quot;&lt;/p&gt;&lt;p&gt;[69] BARBARA H. LISKOv. Data abstraction and hierarchy.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In NORMAN K. MEYROWITZ, editor, Proceedings of the ACM/SIGPLAN Conference on&lt;/p&gt;&lt;p&gt;Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA),&amp;nbsp;&lt;/p&gt;&lt;p&gt;Orlando, FL, October 1987.&amp;nbsp; Keynote address.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;In the early 1970&#39;s researchers in specification languages&amp;nbsp;&lt;/p&gt;&lt;p&gt;became interested in separating the meaning of an abstract data type&lt;/p&gt;&lt;p&gt;from its concrete representation.&amp;nbsp;&lt;/p&gt;&lt;p&gt;For example, a set of integers could be represented by&amp;nbsp;&lt;/p&gt;&lt;p&gt;an array or a binary tree or some other concrete structure.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It should be possible to specify a set of integers&lt;/p&gt;&lt;p&gt;independently of the choice of representation.&lt;/p&gt;&lt;p&gt;Two solutions to this challenge were developed,&amp;nbsp;&lt;/p&gt;&lt;p&gt;one in which the abstract values were represented as terms in an algebra,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and one in which the abstract values were represented by sets and relations.&lt;/p&gt;&lt;p&gt;The algebraic approach was first presented by&amp;nbsp;&lt;/p&gt;&lt;p&gt;Steve Zilles on October 3, 1973,&amp;nbsp;&lt;/p&gt;&lt;p&gt;at a workshop at MIT organized by Barbara Liskov [40].&amp;nbsp;&lt;/p&gt;&lt;p&gt;Zilles presented the algebraic specification of a set of integers&lt;/p&gt;&lt;p&gt;listed in Figure 1-1 (as recorded by Homing [48],&amp;nbsp;&lt;/p&gt;&lt;p&gt;who was in attendance at the talk).&amp;nbsp;&lt;/p&gt;&lt;p&gt;In the algebraic approach operations on the abstract datatype&lt;/p&gt;&lt;p&gt;are defined by equations that relate them to other ADT operations.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The algebraic approach was developed by a number of people,&amp;nbsp;&lt;/p&gt;&lt;p&gt;including in the doctoral dissertations of Guttag&amp;nbsp;&lt;/p&gt;&lt;p&gt;[&lt;b&gt;JOHN V. GUTTAG.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The Specification and Application to Programming ofAbstract Data Types.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PhD thesis, University of Toronto, Department of Computer Science, 1975.&lt;/p&gt;&lt;p&gt;see evolution of that thesis:&lt;/p&gt;&lt;p&gt;&lt;b&gt;Communications of the ACM, 1977&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://cecs.wright.edu/people/faculty/tkprasad/courses/cs784/guttag-cacm77.pdf&quot;&gt;http://cecs.wright.edu/people/faculty/tkprasad/courses/cs784/guttag-cacm77.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Abstract data types and the development of data structures]&amp;nbsp;&lt;/p&gt;&lt;p&gt;and Wing [&lt;b&gt;JEANETTE M. WING.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;A two-tiered approach to specifying programs.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PhD thesis, MIT Electrical Engineering and Computer Science, 1983],&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://apps.dtic.mil/sti/pdfs/ADA133949.pdf&quot;&gt;https://apps.dtic.mil/sti/pdfs/ADA133949.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;which eventually culminated in the Larch system [40].&amp;nbsp;&lt;/p&gt;&lt;p&gt;Figure 1-1 Algebraic specification of a set of integers by Zilles [48]&lt;/p&gt;&lt;p&gt;Operators&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Insert: Sets x Ints -&amp;gt; Sets&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Remove: Sets x Ints -&amp;gt; Sets&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Has: Sets x Ints -&amp;gt; Bools&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Null: -&amp;gt; Sets&lt;/p&gt;&lt;p&gt;Relations&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Has(Insert(s, i), j) = if i=j then True else Has(s, j)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Has(Remove(s, i), j) = if i=j then False else Has(s, j)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Has(Null , j) = False&quot;&lt;/p&gt;&lt;p&gt;&lt;b&gt;[40] &lt;/b&gt;JOHN V. GUTTAG, JAMES. J. HORNING, STEPHEN J. GARLAND, K. D. JONES, A. MODET, AND JEANETTE M. WING.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Larch: Languages and Tools for Formal Specification.&amp;nbsp;&lt;/p&gt;&lt;p&gt;SpringerVerlag, 1993.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.2194&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.2194&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;[48] &lt;/b&gt;JAMES J. HORNING. The Larch Shared Language: Some Open Problems.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In MAGNE HAVERAAEN, OLAF OWE, AND OLE-JOHAN DAHL, editors,&amp;nbsp;&lt;/p&gt;&lt;p&gt;Recent Trends in Data Type Specification:&amp;nbsp;&lt;/p&gt;&lt;p&gt;11th Workshop on Specification of Abstract Data Types,&amp;nbsp;&lt;/p&gt;&lt;p&gt;volume 1130 of Lecture Notes in Computer Science, Oslo, Norway, September 1995.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.3507&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.3507&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/413245274831819787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/07/drbarbara-liskovthe-software-crisis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/413245274831819787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/413245274831819787'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/07/drbarbara-liskovthe-software-crisis.html' title='Dr.Barbara Liskov`the software crisis averted with modularity based on data abstraction'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-9222166770793603040</id><published>2021-01-07T08:29:00.000-07:00</published><updated>2021-01-07T08:29:27.117-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="phy"/><title type='text'>astrophysics Dr.Adam Becker`What is Real? Bohm!</title><content type='html'>&lt;p&gt;&amp;nbsp;2021.1.7:&amp;nbsp;&lt;b&gt;phy&lt;/b&gt;/astrophysics Dr.Adam Becker`What is Real?:&lt;/p&gt;&lt;p&gt;lecture at google --has transcript:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://youtu.be/u2K9Mobldtw?t=2195&quot;&gt;https://youtu.be/u2K9Mobldtw?t=2195&lt;/a&gt;&lt;/p&gt;&lt;p&gt;40m: &lt;b&gt;Bell supports Bohm&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;--this is exciting: must get this book!&lt;/p&gt;&lt;p&gt;Adam Becker, PhD is an astrophysicist and science writer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;His new book explores the&lt;/p&gt;&lt;p&gt;history of quantum foundations&lt;/p&gt;&lt;p&gt;and the questions that remain to be answered.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;amazon book:&lt;/p&gt;&lt;p&gt;astrophysics Dr.Adam Becker 2019`What Is Real?:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/1541698975?ie=UTF8&amp;amp;tag=americiu-20&amp;amp;camp=1789&amp;amp;linkCode=xm2&amp;amp;creativeASIN=1541698975&quot;&gt;https://www.amazon.com/gp/product/1541698975?ie=UTF8&amp;amp;tag=americiu-20&amp;amp;camp=1789&amp;amp;linkCode=xm2&amp;amp;creativeASIN=1541698975&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The Unfinished Quest for the Meaning of Quantum Physics&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;amazon author page:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.com/Adam-Becker/e/B077P21GW7&quot;&gt;https://www.amazon.com/Adam-Becker/e/B077P21GW7&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;Adam Becker is a science writer with a PhD in astrophysics&lt;/p&gt;&lt;p&gt;from the University of Michigan&lt;/p&gt;&lt;p&gt;and a BA in philosophy and physics from Cornell.&amp;nbsp;&lt;/p&gt;&lt;p&gt;He has written for the New York Times,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the BBC, NPR, Scientific American,&amp;nbsp;&lt;/p&gt;&lt;p&gt;New Scientist, Undark, Aeon, and others.&amp;nbsp;&lt;/p&gt;&lt;p&gt;He has also recorded a video series with the BBC,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and has appeared on numerous radio shows and podcasts, including Ologies,&amp;nbsp;&lt;/p&gt;&lt;p&gt;The Story Collider, and KQED Forum.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Adam was a visiting scholar at UC Berkeley&#39;s&amp;nbsp;&lt;/p&gt;&lt;p&gt;Office for History of Science and Technology&lt;/p&gt;&lt;p&gt;from 2016 to 2019. He lives in California.&lt;/p&gt;&lt;p&gt;Follow Adam on Twitter and Instagram at @FreelanceAstro.&quot;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/FreelanceAstro&quot;&gt;https://twitter.com/FreelanceAstro&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;website for book.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://freelanceastro.com/&quot;&gt;http://freelanceastro.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;more reviews.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/35604796-what-is-real&quot;&gt;https://www.goodreads.com/book/show/35604796-what-is-real&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;proof of Bell&#39;s theorem by casino story:&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://freelanceastro.github.io/bell/&quot;&gt;https://freelanceastro.github.io/bell/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&quot;There’s a secret hidden at the heart of quantum physics.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Like most secrets that have been successfully kept,&amp;nbsp;&lt;/p&gt;&lt;p&gt;this secret is peculiar and a little embarrassing.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It’s also one of the most astonishing discoveries&lt;/p&gt;&lt;p&gt;ever made in the history of science.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It’s called Bell’s theorem.&lt;/p&gt;&lt;p&gt;—and we’re not going to use any complicated equations;&lt;/p&gt;&lt;p&gt;Instead, we’re going to use a casino.&quot;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/1541698975/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1541698975&amp;amp;linkCode=as2&amp;amp;tag=americiu-20&amp;amp;linkId=cc18a3bb13f2aedc4ae54ac89f2fae4e&quot; style=&quot;background-color: white; color: #333333; font-family: Georgia, serif; font-size: 13px;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;MarketPlace=US&amp;amp;ASIN=1541698975&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL250_&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=am2&amp;amp;o=1&amp;amp;a=1541698975&quot; style=&quot;background-color: white; border: none; font-family: Georgia, serif; font-size: 13px; margin: 0px; padding: 4px;&quot; width=&quot;1&quot; /&gt;&lt;span style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/9222166770793603040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/01/astrophysics-dradam-beckerwhat-is-real.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/9222166770793603040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/9222166770793603040'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2021/01/astrophysics-dradam-beckerwhat-is-real.html' title='astrophysics Dr.Adam Becker`What is Real? Bohm!'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-4192172487000126871</id><published>2020-12-31T20:33:00.001-07:00</published><updated>2020-12-31T20:33:36.400-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="addx"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>what Intel calls Control-flow Enforcement Technology</title><content type='html'>&lt;p&gt;20.10.8: addx/what Intel calls&lt;/p&gt;&lt;p&gt;&amp;nbsp;Control-flow Enforcement Technology:&lt;/p&gt;&lt;p&gt;10.8, 10.9, 10.14: addx/protecting the call stack:&lt;/p&gt;&lt;p&gt;[@] was addx/soa/getting more efficiency along with safety/protecting the call stack&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. computers have a code seg that is readonly&amp;nbsp;&lt;/p&gt;&lt;p&gt;but it means nothing if the program can write to stack&lt;/p&gt;&lt;p&gt;where the return addresses are stored.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the call stack has 2 owners&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Call_stack#Structure&quot;&gt;https://en.wikipedia.org/wiki/Call_stack#Structure&lt;/a&gt;&lt;/p&gt;&lt;p&gt;that need protection from each other:&lt;/p&gt;&lt;p&gt;the return address belongs only to the os;&lt;/p&gt;&lt;p&gt;whereas, the local mem of the called subprogram&lt;/p&gt;&lt;p&gt;belongs to the app.&lt;/p&gt;&lt;p&gt;. if the app fails to prevent a buffer overflow&lt;/p&gt;&lt;p&gt;that is caused by bad inputs designed by malware&lt;/p&gt;&lt;p&gt;then the app&#39;s modification of the stack&amp;nbsp;&lt;/p&gt;&lt;p&gt;can overwrite the return address&lt;/p&gt;&lt;p&gt;and cause arbitrary changes in&amp;nbsp;&lt;/p&gt;&lt;p&gt;what code is executed after subprogram return.&lt;/p&gt;&lt;p&gt;. to avoid giving the app access to the stack,&lt;/p&gt;&lt;p&gt;we replace the locals record on the stack&lt;/p&gt;&lt;p&gt;with a pointer to a record in heap space.&lt;/p&gt;&lt;p&gt;. a return instruction then consists of&lt;/p&gt;&lt;p&gt;returning some heap memory&lt;/p&gt;&lt;p&gt;rather than rolling back the stack pointer.&lt;/p&gt;&lt;p&gt;. a call consists of creating a heap record&amp;nbsp;&lt;/p&gt;&lt;p&gt;rather than stacking the parameters.&lt;/p&gt;&lt;p&gt;. the os needs to ensure that all apps are&amp;nbsp;&lt;/p&gt;&lt;p&gt;correctly calling and returning,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and making no other use of the stack pointer.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;20.10.20: protecting the call stack/and the function pointers:&lt;/h3&gt;&lt;p&gt;. dividing the stack into control and data partitions&lt;/p&gt;&lt;p&gt;to protect the return address from data overwrites&lt;/p&gt;&lt;p&gt;is not sufficient:&lt;/p&gt;&lt;p&gt;another problem is that most programs require&lt;/p&gt;&lt;p&gt;the use of function pointers&lt;/p&gt;&lt;p&gt;so that they can be decided dynamically&lt;/p&gt;&lt;p&gt;ie, to depend on the current inputs&lt;/p&gt;&lt;p&gt;to decide what order to call subprograms.&lt;/p&gt;&lt;p&gt;. these function pointers are in writable memory&lt;/p&gt;&lt;p&gt;but they represent a form of executable code.&lt;/p&gt;&lt;p&gt;. function pointers need to be replaced&lt;/p&gt;&lt;p&gt;with vars that hold an index into&lt;/p&gt;&lt;p&gt;a table of all possible pointer;&lt;/p&gt;&lt;p&gt;and that table is in read-only memory;&lt;/p&gt;&lt;p&gt;eg, in a code segment rather than a data segment.&lt;/p&gt;&lt;p&gt;. Intel 2016 named this concern&lt;/p&gt;&lt;p&gt;&quot;Control-flow Enforcement Technology&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;20.9.11: oop/the essential feature:&lt;/p&gt;&lt;p&gt;. was it true that some people&#39;s idea of&lt;/p&gt;&lt;p&gt;pure object orientation required that&lt;/p&gt;&lt;p&gt;every subprogram be a method of a class?&lt;/p&gt;&lt;p&gt;. I&#39;m assuming that the most important feature&lt;/p&gt;&lt;p&gt;of pure oop is that every access of a variable&lt;/p&gt;&lt;p&gt;can happen only indirectly by calling&lt;/p&gt;&lt;p&gt;the methods of that variable&#39;s datatype.&lt;/p&gt;&lt;p&gt;10.19:&lt;/p&gt;&lt;p&gt;. actually that is the essential feature of&lt;/p&gt;&lt;p&gt;the abstract datatype;&lt;/p&gt;&lt;p&gt;the essential feature of object-orientation&lt;/p&gt;&lt;p&gt;is not only abstract datatyping but also&lt;/p&gt;&lt;p&gt;letting type mgt decide the subprogram to call&lt;/p&gt;&lt;p&gt;depending not only on the desired function,&lt;/p&gt;&lt;p&gt;but also on the type.tags of the operands;&lt;/p&gt;&lt;p&gt;for instance, when number.type gets&lt;/p&gt;&lt;p&gt;(x.int / y.real)&lt;/p&gt;&lt;p&gt;it sees that the type tags don&#39;t match,&lt;/p&gt;&lt;p&gt;so it converts x.int into a real&lt;/p&gt;&lt;p&gt;and then calls real&#39;s division on (x,y).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/4192172487000126871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/what-intel-calls-control-flow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/4192172487000126871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/4192172487000126871'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/what-intel-calls-control-flow.html' title='what Intel calls Control-flow Enforcement Technology'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6904494231181412603</id><published>2020-12-31T20:27:00.000-07:00</published><updated>2020-12-31T20:27:42.407-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="addx"/><category scheme="http://www.blogger.com/atom/ns#" term="soa"/><title type='text'>getting more efficiency along with safety from #SOA</title><content type='html'>&lt;p&gt;20.9.25: &lt;b&gt;addx/soa&lt;/b&gt;/&lt;/p&gt;&lt;p&gt;getting more efficiency along with safety:&lt;/p&gt;&lt;p&gt;10.19: summary:&lt;/p&gt;&lt;p&gt;. soa (service oriented architecture)&lt;/p&gt;&lt;p&gt;is expensive when it intervenes&amp;nbsp;&lt;/p&gt;&lt;p&gt;every call to a subprogram;&lt;/p&gt;&lt;p&gt;instead of calling soa mgt for every call,&lt;/p&gt;&lt;p&gt;we shouldn&#39;t be worried about an app making&amp;nbsp;&lt;/p&gt;&lt;p&gt;internal calls to parts of the same app&lt;/p&gt;&lt;p&gt;by the same author with the same privileges.&lt;/p&gt;&lt;p&gt;. a complement of soa controlling the calls,&lt;/p&gt;&lt;p&gt;is stack isolation controlling the returns.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;20.9.25: 10.14:&lt;/p&gt;&lt;p&gt;. in oop (object-oriented programming),&lt;/p&gt;&lt;p&gt;rather than call a function ourselves,&lt;/p&gt;&lt;p&gt;we make a call to a datatype&#39;s mgt,&lt;/p&gt;&lt;p&gt;telling it the name of the function we want,&lt;/p&gt;&lt;p&gt;and then type mgt decides which method to use&lt;/p&gt;&lt;p&gt;for implementing the function,&lt;/p&gt;&lt;p&gt;depending on the particular datatypes&amp;nbsp;&lt;/p&gt;&lt;p&gt;of the function&#39;s arguments.&lt;/p&gt;&lt;p&gt;. in a soa (service-oriented architecture)&lt;/p&gt;&lt;p&gt;rather than call a function or type mgt ourselves,&lt;/p&gt;&lt;p&gt;we call the soa mgt,&lt;/p&gt;&lt;p&gt;telling it not only the functions name&lt;/p&gt;&lt;p&gt;and the datatype mgt&lt;/p&gt;&lt;p&gt;but also the name of the app requesting the call;&lt;/p&gt;&lt;p&gt;like so:&lt;/p&gt;&lt;p&gt;the app says &quot;call soa(datatype, function, args)&quot;;&lt;/p&gt;&lt;p&gt;and, then the os knows the currently active process&amp;nbsp;&lt;/p&gt;&lt;p&gt;and when the soa mgt gets the call from an app&lt;/p&gt;&lt;p&gt;it can ask the os for the current process info&lt;/p&gt;&lt;p&gt;to find out who the app is,&amp;nbsp;&lt;/p&gt;&lt;p&gt;and what resources belong to it.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[10.7:&lt;/p&gt;&lt;p&gt;. we use soa to spy on the applications&lt;/p&gt;&lt;p&gt;to make sure they are doing what is expected&lt;/p&gt;&lt;p&gt;and are not malicious or hijacked by malware.&lt;/p&gt;&lt;p&gt;10.9:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. when soa mgt can know an app&#39;s expected calls&lt;/p&gt;&lt;p&gt;then it can know when a hijacking has occurred&lt;/p&gt;&lt;p&gt;because the app will make unexpected calls.]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. isn&#39;t soa rather expensive?&lt;/p&gt;&lt;p&gt;every call is turned into a double call!&lt;/p&gt;&lt;p&gt;here&#39;s a way to get more efficiency:&lt;/p&gt;&lt;p&gt;instead of calling soa mgt for every call,&lt;/p&gt;&lt;p&gt;we shouldn&#39;t be worried about an app making&amp;nbsp;&lt;/p&gt;&lt;p&gt;internal calls to parts of the same app&lt;/p&gt;&lt;p&gt;by the same author with the same privileges.&lt;/p&gt;&lt;p&gt;[10.7:&lt;/p&gt;&lt;p&gt;. apps also need soa mgt to assign additional processors;&lt;/p&gt;&lt;p&gt;because when one app wants to employ another,&lt;/p&gt;&lt;p&gt;it needs to know which processor&lt;/p&gt;&lt;p&gt;the employee might already reside at.&lt;/p&gt;&lt;p&gt;. the task mgt is the one assigning processors;&lt;/p&gt;&lt;p&gt;and it always keeps soa mgt informed.&lt;/p&gt;&lt;p&gt;]&lt;/p&gt;&lt;p&gt;. I wondered if each processor should have its own soa mgt;&lt;/p&gt;&lt;p&gt;but was assuming each processor has its own memory;&lt;/p&gt;&lt;p&gt;whereas, it&#39;s usual to have several processors sharing memory.&lt;/p&gt;&lt;p&gt;. soa is about defending a modular machine;&lt;/p&gt;&lt;p&gt;when several processors are sharing memory,&lt;/p&gt;&lt;p&gt;a single soa mgr should have control over&amp;nbsp;&lt;/p&gt;&lt;p&gt;every process that can affect any part of that memory.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;10.8:&lt;/p&gt;&lt;p&gt;. the os gives each app and service its own process&amp;nbsp;&lt;/p&gt;&lt;p&gt;and when an app wants to call&amp;nbsp;&lt;/p&gt;&lt;p&gt;some other author&#39;s process or module&lt;/p&gt;&lt;p&gt;then it calls the os(msg for process)&lt;/p&gt;&lt;p&gt;and os gives msg request to soa mgt&lt;/p&gt;&lt;p&gt;who keeps track of all components used by caller.&lt;/p&gt;&lt;p&gt;. each of the components is run in their own process&lt;/p&gt;&lt;p&gt;and os mem mgt protects each process from&lt;/p&gt;&lt;p&gt;affecting each other&#39;s personal mem space.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;10.7, 10.9: 10.14: type-specific soa:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. for each module implementing a data type,&lt;/p&gt;&lt;p&gt;that module can be put in a library&lt;/p&gt;&lt;p&gt;and be employed by many different apps.&lt;/p&gt;&lt;p&gt;. there are 3 approaches to sharing;&lt;/p&gt;&lt;p&gt;each app can have its own type mgt process;&lt;/p&gt;&lt;p&gt;or all the apps can share one type mgt process&lt;/p&gt;&lt;p&gt;or an app and its imports can share the same process.&lt;/p&gt;&lt;p&gt;. also there are 2 ways of storing objects;&lt;/p&gt;&lt;p&gt;in the process space of datatype,&lt;/p&gt;&lt;p&gt;or the process spaces of each client app.&lt;/p&gt;&lt;p&gt;. the most efficient and less modular way&lt;/p&gt;&lt;p&gt;is to have the app copy the datatype&#39;s code&lt;/p&gt;&lt;p&gt;so it is considered to be internal to the app&lt;/p&gt;&lt;p&gt;rather than having its own process;&lt;/p&gt;&lt;p&gt;but then the datatype&#39;s code can be modified by the app&lt;/p&gt;&lt;p&gt;and if it is designed to spy on an app&lt;/p&gt;&lt;p&gt;we can no longer expect that it will do that,&lt;/p&gt;&lt;p&gt;and we say that datatype code is no longer autonomous.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. if I&#39;m using an oop language to encapsulate objects,&lt;/p&gt;&lt;p&gt;how can I be sure an app can&#39;t be hijacked&lt;/p&gt;&lt;p&gt;and then overwrite an object&lt;/p&gt;&lt;p&gt;without permission from that object&#39;s type mgt?&lt;/p&gt;&lt;p&gt;. here is why a type mgt might want to&amp;nbsp;&lt;/p&gt;&lt;p&gt;keep its objects in its own process space:&lt;/p&gt;&lt;p&gt;. the usual os memory protections&lt;/p&gt;&lt;p&gt;happen at the process level:&lt;/p&gt;&lt;p&gt;each process can modify its own memory&lt;/p&gt;&lt;p&gt;in any way it sees fit.&lt;/p&gt;&lt;p&gt;. a compiler offers memory protection per object&lt;/p&gt;&lt;p&gt;so that only that object&#39;s type mgt&lt;/p&gt;&lt;p&gt;can be modifying that object;&lt;/p&gt;&lt;p&gt;but once an app is compiled,&lt;/p&gt;&lt;p&gt;an app author may modify the code&lt;/p&gt;&lt;p&gt;so that the type mgt loses control and autonomy.&lt;/p&gt;&lt;p&gt;. also it might be possible for malware&lt;/p&gt;&lt;p&gt;to modify arbitrary objects&lt;/p&gt;&lt;p&gt;by doing a buffer overflow that corrupts the app&#39;s heap,&lt;/p&gt;&lt;p&gt;but malware might find it much more difficult&lt;/p&gt;&lt;p&gt;to be able to corrupt the heap of a datatype&#39;s module&lt;/p&gt;&lt;p&gt;because it can be separately designed and tested&lt;/p&gt;&lt;p&gt;and employ an author that is more trustworthy&lt;/p&gt;&lt;p&gt;than would be found in your arbitrary app.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. also, suppose the type mgt manages trees,&lt;/p&gt;&lt;p&gt;and it is passing trees between apps;&lt;/p&gt;&lt;p&gt;then if the type mgt has its own local heap,&lt;/p&gt;&lt;p&gt;it can transfer ownership with a single pointer assignment&lt;/p&gt;&lt;p&gt;instead of copying so many tree nodes&amp;nbsp;&lt;/p&gt;&lt;p&gt;from one app&#39;s local heap space&amp;nbsp;&lt;/p&gt;&lt;p&gt;to another app&#39;s local heap space.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. in what I call a type-specific soa,&lt;/p&gt;&lt;p&gt;an autonomous type mgt process&amp;nbsp;&lt;/p&gt;&lt;p&gt;can analyze all the apps that are its clients&lt;/p&gt;&lt;p&gt;and inform the central soa mgt&lt;/p&gt;&lt;p&gt;how each app typically uses that datatype&lt;/p&gt;&lt;p&gt;-- to help the central soa do its job&lt;/p&gt;&lt;p&gt;of knowing when a resource is being used&lt;/p&gt;&lt;p&gt;in a suspicious way.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. when a dataype is provided by the os,&lt;/p&gt;&lt;p&gt;that datatype can be autonomous&lt;/p&gt;&lt;p&gt;and can implement a type-specific soa,&lt;/p&gt;&lt;p&gt;yet it is more efficient than an soa&lt;/p&gt;&lt;p&gt;because, the app is calling type mgt directly&lt;/p&gt;&lt;p&gt;instead of through the soa.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. a type-specific soa requires trust;&lt;/p&gt;&lt;p&gt;but if the author is the same as for the os,&lt;/p&gt;&lt;p&gt;that author is already very trusted.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. if a type mgt can be implemented by&amp;nbsp;&lt;/p&gt;&lt;p&gt;one service that multiple apps must share;&lt;/p&gt;&lt;p&gt;that creates a bottleneck on service from that type;&lt;/p&gt;&lt;p&gt;so, the service should have a process for each client,&lt;/p&gt;&lt;p&gt;and then each process can be run on its own processor.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;20.9.11: 10.19: soa tracking nodes:&lt;/p&gt;&lt;p&gt;. for decomposing a large program,&lt;/p&gt;&lt;p&gt;not only can there be subprograms and datatypes,&lt;/p&gt;&lt;p&gt;but also there can importing of packages&lt;/p&gt;&lt;p&gt;that combine related subprograms and datatypes.&lt;/p&gt;&lt;p&gt;. in a network situation,&amp;nbsp;&lt;/p&gt;&lt;p&gt;each website is a node of a graph;&lt;/p&gt;&lt;p&gt;and each node has a library of packages.&lt;/p&gt;&lt;p&gt;. a node can either copy a package definition&lt;/p&gt;&lt;p&gt;into its library,&amp;nbsp; or use the services&lt;/p&gt;&lt;p&gt;of some other node&#39;s instance of the package.&lt;/p&gt;&lt;p&gt;. a globally used package might want to be aware of&lt;/p&gt;&lt;p&gt;not just which app is using it, but also which node.&lt;/p&gt;&lt;p&gt;. each call comes from an app at a node,&lt;/p&gt;&lt;p&gt;and all that is noted by a node&#39;s soa.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6904494231181412603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/getting-more-efficiency-along-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6904494231181412603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6904494231181412603'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/getting-more-efficiency-along-with.html' title='getting more efficiency along with safety from #SOA'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-3717018773182546555</id><published>2020-12-31T20:26:00.002-07:00</published><updated>2021-11-15T19:33:09.971-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adda"/><category scheme="http://www.blogger.com/atom/ns#" term="lexicon"/><category scheme="http://www.blogger.com/atom/ns#" term="oop"/><title type='text'>keywords &quot;this&quot;, &quot;self&quot;, &quot;returned&quot;  for adda</title><content type='html'>&lt;p&gt;&amp;nbsp;20.10.28: adda/lexicon/this, self, returned:&lt;/p&gt;&lt;p&gt;a discussion about adding keywords to the language.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;11.2: intro:&lt;/p&gt;&lt;p&gt;. in mainstream oop,&amp;nbsp;&lt;/p&gt;&lt;p&gt;there is an implied object;&lt;/p&gt;&lt;p&gt;eg, to evaluate x`= x + y,&lt;/p&gt;&lt;p&gt;you would see x`add(y)&lt;/p&gt;&lt;p&gt;and then x would add y to itself.&lt;/p&gt;&lt;p&gt;. we use the term &quot;this&quot; to refer to x&lt;/p&gt;&lt;p&gt;because since the class&#39;s methods are operating on&amp;nbsp;&lt;/p&gt;&lt;p&gt;an implied object&lt;/p&gt;&lt;p&gt;we don&#39;t otherwise know the name of&amp;nbsp;&lt;/p&gt;&lt;p&gt;of the particular object (x in this example).&lt;/p&gt;&lt;p&gt;. in the adda model of oop&lt;/p&gt;&lt;p&gt;there are some cases without an implied object;&lt;/p&gt;&lt;p&gt;eg, z`= x+y would be this call:&lt;/p&gt;&lt;p&gt;z`= number.type`+( x, y )&lt;/p&gt;&lt;p&gt;but adda does support calls like x`add(y)&lt;/p&gt;&lt;p&gt;so it has a use for &quot;this&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;20.10.28:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. use of &quot;this&quot; is useful when&lt;/p&gt;&lt;p&gt;wanting to refer to the whole object&lt;/p&gt;&lt;p&gt;rather than its individual fields&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. the term &quot;self&quot; is more suggestive of&lt;/p&gt;&lt;p&gt;an actor than an object,&lt;/p&gt;&lt;p&gt;so it will best serve as the name of&lt;/p&gt;&lt;p&gt;an anonymous subprogram;&lt;/p&gt;&lt;p&gt;a subprogram&#39;s ability to do recursion&lt;/p&gt;&lt;p&gt;depend&#39;s on it knowing what to call itself.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. another special term in oop is &quot;super&quot;;&lt;/p&gt;&lt;p&gt;representing the type&#39;s parent type;&lt;/p&gt;&lt;p&gt;for when there are multiple levels of inheritance;&lt;/p&gt;&lt;p&gt;eg, when type A can be inherited by B&lt;/p&gt;&lt;p&gt;and then B can be inherited by C,&lt;/p&gt;&lt;p&gt;B can use &quot;super&quot; to refer to A,&lt;/p&gt;&lt;p&gt;but then when C reuses B,&lt;/p&gt;&lt;p&gt;the reference to super within C will refer to B not A.&lt;/p&gt;&lt;p&gt;. then again,&lt;/p&gt;&lt;p&gt;do we want to support that sort of inheritance?&lt;/p&gt;&lt;p&gt;. in the sort of oop that type number needs&lt;/p&gt;&lt;p&gt;there is only one level of inheritance:&lt;/p&gt;&lt;p&gt;the abstract type class number,&lt;/p&gt;&lt;p&gt;and the various concrete polymorphisms of number.&lt;/p&gt;&lt;p&gt;[2021.11.15, 16:&amp;nbsp;&lt;/p&gt;&lt;p&gt;are you sure that type number has only one level of inheritance?&lt;/p&gt;&lt;p&gt;inheriting subclasses are defined by variations in&lt;/p&gt;&lt;p&gt;either the interface or the implementation;&lt;/p&gt;&lt;p&gt;eg, ints have a divide operation that differs from that for reals.&lt;/p&gt;&lt;p&gt;and then another way that ints are further divided,&lt;/p&gt;&lt;p&gt;is by considering only a limited range,&lt;/p&gt;&lt;p&gt;in order to fit the number within a certain number of bits.&lt;/p&gt;&lt;p&gt;int32 inherits from int inherits from number.]&lt;/p&gt;&lt;div&gt;. if we did have multiple levels of inheritance&lt;/div&gt;&lt;p&gt;it could have it apply only to&amp;nbsp;&lt;/p&gt;&lt;p&gt;interfaces and not implementation,&lt;/p&gt;&lt;p&gt;so then there would be no use for the term &quot;super&quot;.&lt;/p&gt;&lt;p&gt;. however,&lt;/p&gt;&lt;p&gt;when you do allow for implementation inheritance,&lt;/p&gt;&lt;p&gt;that is a lot of code that&amp;nbsp;&lt;/p&gt;&lt;p&gt;doesn&#39;t have to be rewritten and retested.&lt;/p&gt;&lt;p&gt;. before deciding on limitations,&lt;/p&gt;&lt;p&gt;you should see what might be needed by&lt;/p&gt;&lt;p&gt;AI systems that are writing their own code&lt;/p&gt;&lt;p&gt;to adapt to changes in the environment.&lt;/p&gt;&lt;p&gt;todo:&lt;/p&gt;&lt;p&gt;. study how oop is used by various gaming engines.&lt;/p&gt;&lt;p&gt;. review oop notes&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://amerdreamdocs.blogspot.com/search/label/oop&quot;&gt;http://amerdreamdocs.blogspot.com/search/label/oop&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;10.28: 11.2:&amp;nbsp;&lt;/p&gt;&lt;p&gt;. if we were to name the returned object&lt;/p&gt;&lt;p&gt;we can&#39;t call it &quot;this&quot; because,&lt;/p&gt;&lt;p&gt;a type can define a method that returns some other type,&lt;/p&gt;&lt;p&gt;so then &quot;this&quot; would refer to both the current object&lt;/p&gt;&lt;p&gt;and to the returned object.&lt;/p&gt;&lt;p&gt;. in languages that don&#39;t have anonymous functions,&lt;/p&gt;&lt;p&gt;the name of the function can double as&amp;nbsp;&lt;/p&gt;&lt;p&gt;the name of its return, depending on context:&lt;/p&gt;&lt;p&gt;if an argument is applied (even an empty one),&lt;/p&gt;&lt;p&gt;then it is a recursion,&lt;/p&gt;&lt;p&gt;otherwise it is a returned object access;&lt;/p&gt;&lt;p&gt;and, anonymous functions could work the same way:&lt;/p&gt;&lt;p&gt;&quot;self&quot; is a returned object access&lt;/p&gt;&lt;p&gt;&quot;self(..)&quot; is a recursion.&lt;/p&gt;&lt;p&gt;. but suppose this is a function with no parameters;&lt;/p&gt;&lt;p&gt;and then adda is requiring &quot;self()&quot; for recursion;&lt;/p&gt;&lt;p&gt;then to be consistent,&lt;/p&gt;&lt;p&gt;any launching of a parameterless subprogram&lt;/p&gt;&lt;p&gt;must use &quot;subprogram()&quot;, instead of just&lt;/p&gt;&lt;p&gt;&quot;subprogram&quot;.&lt;/p&gt;&lt;p&gt;. the returned object could be named &quot;returned&quot;;&lt;/p&gt;&lt;p&gt;but suppose you were to say for the sake of&amp;nbsp;&lt;/p&gt;&lt;p&gt;reducing the size of the language&#39;s vocabulary&lt;/p&gt;&lt;p&gt;that an anonymous function would never need&lt;/p&gt;&lt;p&gt;a name for &quot;returned&quot; because it can declare a local&amp;nbsp;&lt;/p&gt;&lt;p&gt;and then return that by name.&lt;/p&gt;&lt;p&gt;. such a local may better reflect reality&lt;/p&gt;&lt;p&gt;when supporting more concurrency;&lt;/p&gt;&lt;p&gt;the function could be moved to a different processor&lt;/p&gt;&lt;p&gt;and would no longer have easy access to&lt;/p&gt;&lt;p&gt;the stack of its caller.&lt;/p&gt;&lt;p&gt;. if there is no concurrency,&amp;nbsp;&lt;/p&gt;&lt;p&gt;the returned object already exists on the stack&lt;/p&gt;&lt;p&gt;so that when you say &quot;return x&quot;&lt;/p&gt;&lt;p&gt;it means &quot;returned`= x; exit self&quot;.&lt;/p&gt;&lt;p&gt;ie, the returned object is a pointer to&lt;/p&gt;&lt;p&gt;whatever the call got assigned to when it returns.&lt;/p&gt;&lt;p&gt;. say the callee is evaluating f(anon(x)),&lt;/p&gt;&lt;p&gt;it creates f&#39;s activation record on the stack;&lt;/p&gt;&lt;p&gt;then it remembers the address of f&#39;s parameter as&lt;/p&gt;&lt;p&gt;[what needs to be returned by anon]&lt;/p&gt;&lt;p&gt;then it creates anon&#39;s activation record on the stack;&lt;/p&gt;&lt;p&gt;and assigns to anon&#39;s returned pointer&lt;/p&gt;&lt;p&gt;the address of [what needs to be returned by anon].&lt;/p&gt;&lt;p&gt;. if there is concurrency;&lt;/p&gt;&lt;p&gt;&quot;returned&quot; is an implicit local declaration.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/3717018773182546555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/keywords-this-self-returned-for-adda.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3717018773182546555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3717018773182546555'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/keywords-this-self-returned-for-adda.html' title='keywords &quot;this&quot;, &quot;self&quot;, &quot;returned&quot;  for adda'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-56536263841254521</id><published>2020-12-31T19:18:00.001-07:00</published><updated>2020-12-31T19:30:34.548-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adde"/><category scheme="http://www.blogger.com/atom/ns#" term="graphics"/><title type='text'>graphics editor ideas inspired by painting apps</title><content type='html'>&lt;h3&gt;adde/graphics 2020.12.20 .. 12.31&lt;/h3&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;20.12.20: hierarchical palette generator:&lt;/h3&gt;&lt;p&gt;. you can make palettes of colors by&lt;/p&gt;&lt;p&gt;using a certain photograph or image as an example;&lt;/p&gt;&lt;p&gt;it then sorts all the colors in a certain order&lt;/p&gt;&lt;p&gt;such as RBG numeric or rainbow.&lt;/p&gt;&lt;p&gt;. this is similar to a document dictionary generator,&lt;/p&gt;&lt;p&gt;which creates an alphabetical list of&lt;/p&gt;&lt;p&gt;every word used by a document.&lt;/p&gt;&lt;p&gt;. it then has a mode where each touched color is selected,&lt;/p&gt;&lt;p&gt;and then for a batch of selections&lt;/p&gt;&lt;p&gt;you can request they be deleted,&lt;/p&gt;&lt;p&gt;or you can apply &quot;keep&quot; which deletes all the unselected.&lt;/p&gt;&lt;p&gt;. it has another mode called hierarchize or partition,&lt;/p&gt;&lt;p&gt;where each group of colors that you or it has selected&lt;/p&gt;&lt;p&gt;is collapsed into the average of their colors,&lt;/p&gt;&lt;p&gt;so that you are left with a super palette,&lt;/p&gt;&lt;p&gt;where you select a color and it then shows a sub-palette&lt;/p&gt;&lt;p&gt;from which you can select a specific color.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;20.12.20: hierarchical color picking:&lt;/h3&gt;&lt;p&gt;. in addition to having access to a selected palette,&lt;/p&gt;&lt;p&gt;there is a hierarchical color picker.&lt;/p&gt;&lt;p&gt;. your device size determines&amp;nbsp;&lt;/p&gt;&lt;p&gt;how many colors can be displayed at once,&lt;/p&gt;&lt;p&gt;lets say it can display 256 x 256 rectangles;&lt;/p&gt;&lt;p&gt;but, the number of colors the display supports is larger.&lt;/p&gt;&lt;p&gt;. there is a way to sort the colors&lt;/p&gt;&lt;p&gt;so that there a gradual change in various ways;&lt;/p&gt;&lt;p&gt;eg, one way is rainbow order,&lt;/p&gt;&lt;p&gt;but there will be other orders you can select.&lt;/p&gt;&lt;p&gt;. so we have a gradual linear ordering&lt;/p&gt;&lt;p&gt;and will show you every i-th item in that sequence,&lt;/p&gt;&lt;p&gt;such that in our 256 x 256 array&lt;/p&gt;&lt;p&gt;we are showing you the first and last color&lt;/p&gt;&lt;p&gt;and every 256th color&amp;nbsp;&lt;/p&gt;&lt;p&gt;if your color space is 256 x 256 x 256.&lt;/p&gt;&lt;p&gt;. each color on this top palette represents&lt;/p&gt;&lt;p&gt;a palette of 256 other nearby colors.&lt;/p&gt;&lt;p&gt;. for a smaller device there may be&amp;nbsp;&lt;/p&gt;&lt;p&gt;3 or more layers to the sub.paletting.&lt;/p&gt;&lt;p&gt;. this way, you can drill down a menu&lt;/p&gt;&lt;p&gt;that can show every single color your device supports.&lt;/p&gt;&lt;p&gt;. on each layer of the hierarchical palette&lt;/p&gt;&lt;p&gt;there is a button to select the average color of that sub.palette&lt;/p&gt;&lt;p&gt;and there is checkbox to pick the selected color&lt;/p&gt;&lt;p&gt;instead of using that selection to open a sub.palette;&lt;/p&gt;&lt;p&gt;12.31: or use press-and-hold to select instead of open.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;20.12.20: find and replace:&lt;/h3&gt;&lt;p&gt;. pick a region to apply a replacement,&lt;/p&gt;&lt;p&gt;then get a dictionary of that region&#39;s colors,&lt;/p&gt;&lt;p&gt;then select a color to replace.&lt;/p&gt;&lt;p&gt;. a third of the display is showing the region you selected;&lt;/p&gt;&lt;p&gt;another third shows the region&#39;s color dictionary,&lt;/p&gt;&lt;p&gt;and the final third is for a color picker.&lt;/p&gt;&lt;p&gt;. when you select the colors to find,&lt;/p&gt;&lt;p&gt;it shows you where those colors are in the color picker,&lt;/p&gt;&lt;p&gt;so you instantly have access to nearby colors.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;20.12.29: programmable brush behaviors:&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. these ideas came to mind while considering&lt;/p&gt;&lt;p&gt;how to quickly generate a tree full of leaves.&lt;/p&gt;&lt;p&gt;. I was watching Krita&#39;s pattern brush:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://youtu.be/nqHaR6Z5L20&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;[demonstrated by Steve Elliott 2020.12.20]&lt;/a&gt;&lt;/p&gt;&lt;p&gt;it just copies rows and columns of the pattern,&lt;/p&gt;&lt;p&gt;and makes that matrix visible&amp;nbsp;&lt;/p&gt;&lt;p&gt;wherever your brush stroke occurs.&lt;/p&gt;&lt;p&gt;. I want a brush for a tree of leaves&lt;/p&gt;&lt;p&gt;that is like a machine gun pasting leaves:&lt;/p&gt;&lt;p&gt;it puts them not in the order of the pattern&lt;/p&gt;&lt;p&gt;but following the motion of the brush,&lt;/p&gt;&lt;p&gt;and not just pasting the same leaf repeatedly,&lt;/p&gt;&lt;p&gt;but randomly choosing from among a set of leaves.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. you can automatically generate set of leaves&lt;/p&gt;&lt;p&gt;with the image morph generator:&lt;/p&gt;&lt;p&gt;you give it just 2 images,&lt;/p&gt;&lt;p&gt;and it generates a sequence of images&lt;/p&gt;&lt;p&gt;such that if you played the sequence as a video&lt;/p&gt;&lt;p&gt;it would appear that one image was&lt;/p&gt;&lt;p&gt;morphing or turning into the other image.&lt;/p&gt;&lt;p&gt;. do that with several pairs,&lt;/p&gt;&lt;p&gt;and then add all sequences to the&amp;nbsp;&lt;/p&gt;&lt;p&gt;set of possible images of the current brush.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. in manual mode, each stroke of the brush&lt;/p&gt;&lt;p&gt;results in a display of the set of images,&lt;/p&gt;&lt;p&gt;so that you can manually select an image&lt;/p&gt;&lt;p&gt;that is then pasted at where the stroke occurred.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. in image bundle mode,&lt;/p&gt;&lt;p&gt;there is a set of images randomly arranged&lt;/p&gt;&lt;p&gt;with parameters of such as size and sparseness.&lt;/p&gt;&lt;p&gt;. each stroke of the brush&lt;/p&gt;&lt;p&gt;reshuffles the bundle&#39;s arrangement.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;. in a general programming mode,&lt;/p&gt;&lt;p&gt;each brush stroke opens a dialog&lt;/p&gt;&lt;p&gt;where you set parameters to a program&lt;/p&gt;&lt;p&gt;that is designed to draw an image&lt;/p&gt;&lt;p&gt;as a function of the parameters in the dialog.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;exploded object view:&lt;/h4&gt;&lt;p&gt;. a drawing is a collection of image objects;&lt;/p&gt;&lt;p&gt;each image and also each bundle of images&lt;/p&gt;&lt;p&gt;that are pasted by a brush stroke&lt;/p&gt;&lt;p&gt;are selectable as separate objects;&lt;/p&gt;&lt;p&gt;however, when they are all piled on each other&lt;/p&gt;&lt;p&gt;it is not possible to select each one,&lt;/p&gt;&lt;p&gt;so there is an exploded object view&lt;/p&gt;&lt;p&gt;where all the objects are laid out in a file&lt;/p&gt;&lt;p&gt;such that the background objects are first,&lt;/p&gt;&lt;p&gt;and the foreground objects are last.&lt;/p&gt;&lt;p&gt;. anytime 2 objects overlapped,&lt;/p&gt;&lt;p&gt;they are printed on separate lines,&lt;/p&gt;&lt;p&gt;so that nothing is overlapping too much&lt;/p&gt;&lt;p&gt;to prevent being able to select each individually.&lt;/p&gt;&lt;p&gt;. to simplify the exploded view,&lt;/p&gt;&lt;p&gt;you can select just a region of the drawing&lt;/p&gt;&lt;p&gt;and then the exploded view will show&lt;/p&gt;&lt;p&gt;just that region&#39;s objects.&lt;/p&gt;&lt;p&gt;. clicking on the object opens its dialog&lt;/p&gt;&lt;p&gt;which can include the function that generated it&lt;/p&gt;&lt;p&gt;so you can adjust the parameters,&lt;/p&gt;&lt;p&gt;or you can repaint it manually,&lt;/p&gt;&lt;p&gt;or apply other functions.&lt;/p&gt;&lt;p&gt;. in addition to objects and their bundles,&lt;/p&gt;&lt;p&gt;these can be assigned to various layers.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/56536263841254521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/graphics-editor-ideas-inspired-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/56536263841254521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/56536263841254521'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/12/graphics-editor-ideas-inspired-by.html' title='graphics editor ideas inspired by painting apps'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-4568959962508903417</id><published>2020-11-03T08:13:00.000-07:00</published><updated>2020-11-03T08:13:10.135-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="cyb"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>total formal verification is not possible in 2020</title><content type='html'>&lt;p&gt;&#39;20.11.3:&amp;nbsp;&lt;a href=&quot;https://www.quora.com/Can-formal-verification-find-unknown-vulnerabilities-in-software/answer/Philip-Torrance&quot;&gt;co.quora/&lt;/a&gt;&lt;b&gt;adds/cyb/sec&lt;/b&gt;/&lt;span style=&quot;font-size: xx-small;&quot;&gt;total formal verification is not possible in 2020:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;current efforts at formal verification&lt;/p&gt;&lt;p&gt;cannot yet find all unknown vulnerabilities in software:&lt;/p&gt;&lt;p&gt;. as pointed out by the SeL4 team, in&lt;/p&gt;&lt;p&gt;“&lt;a href=&quot;https://sel4.systems/Info/FAQ/proof.pml&quot; target=&quot;_blank&quot;&gt;What is Proved and What is Assumed&lt;/a&gt;”&lt;/p&gt;&lt;p&gt;who used formal verification to debug a microkernel,&lt;/p&gt;&lt;p&gt;they are still vulnerable to inaccuracies of the hardware model;&lt;/p&gt;&lt;p&gt;ie, assuming the hardware acts a particular way&lt;/p&gt;&lt;p&gt;when under special conditions it actually does something else.&lt;/p&gt;&lt;p&gt;. some CPU chip instructions are reprogrammable by the manufacturer&lt;/p&gt;&lt;p&gt;with on-chip microcode; eg Intel Microcode&lt;/p&gt;&lt;p&gt;&amp;nbsp;(&lt;a href=&quot;https://en.wikipedia.org/wiki/Intel_Microcode&quot;&gt;https://en.wikipedia.org/wiki/Intel_Microcode&lt;/a&gt;);&lt;/p&gt;&lt;p&gt;this could either make the CPU more correct&lt;/p&gt;&lt;p&gt;or make it vulnerable to malicious modification?&lt;/p&gt;&lt;p&gt;. also, there was some of the SeL4 software&lt;/p&gt;&lt;p&gt;that was not practically verifiable yet:&lt;/p&gt;&lt;p&gt;&quot;there may still be faults remaining in&lt;/p&gt;&lt;p&gt;specific low-level parts of the kernel&lt;/p&gt;&lt;p&gt;(TLB, cache handling, handwritten assembly, boot code).&quot;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/4568959962508903417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/11/total-formal-verification-is-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/4568959962508903417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/4568959962508903417'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/11/total-formal-verification-is-not.html' title='total formal verification is not possible in 2020'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-533088819195981239</id><published>2020-07-31T09:28:00.002-07:00</published><updated>2021-11-15T19:36:28.127-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adda"/><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="automation"/><category scheme="http://www.blogger.com/atom/ns#" term="concurrency"/><category scheme="http://www.blogger.com/atom/ns#" term="kb"/><category scheme="http://www.blogger.com/atom/ns#" term="lang"/><category scheme="http://www.blogger.com/atom/ns#" term="mem&#39;mgt"/><category scheme="http://www.blogger.com/atom/ns#" term="sw.eng"/><title type='text'>the first automation was written language</title><content type='html'>&lt;i&gt;2020.7.28..31: &lt;b&gt;adds/cs&lt;/b&gt;/&lt;span style=&quot;font-size: x-small;&quot;&gt;the first automation was written language:&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
  2. here is what humans have over other animals:&lt;br /&gt;
  3. . our language uses symbols that can entirely describe&lt;br /&gt;
  4. our understanding of the world;&lt;br /&gt;
  5. and our understanding of the world is so vast&lt;br /&gt;
  6. that we can survive without adapting our genome&lt;br /&gt;
  7. by engineering environmental adaptations.&lt;br /&gt;
  8. . also, &lt;br /&gt;
  9. language in its written form is&lt;br /&gt;
  10. more important than speech (the verbal form);&lt;br /&gt;
  11. because it represents a form of automation of our memory;&lt;br /&gt;
  12. giving us not only communication &lt;br /&gt;
  13. but a virtually infinite memory size.&lt;br /&gt;
  14. . the first reliable computations involved&lt;br /&gt;
  15. writing the steps of an algorithm&lt;br /&gt;
  16. so that we could automate the part of our mind&lt;br /&gt;
  17. that remembered each step and their ordering.&lt;br /&gt;
  18. &lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
  19. 20.7.28:&lt;br /&gt;
  20. . &lt;a href=&quot;https://en.wikipedia.org/wiki/Noam_Chomsky&quot;&gt;Noam Chomsky, the legendary linguist, &lt;/a&gt;&lt;br /&gt;
  21. &lt;a href=&quot;https://youtu.be/Iaz6JIxDh6Y?t=148&quot;&gt;said the reason to study Linguistics&lt;/a&gt; was that&lt;br /&gt;
  22. &quot;language is almost the defining characteristic of human beings;&lt;br /&gt;
  23. ... its properties have no analog in the animal world.&lt;br /&gt;
  24. ... and it&#39;s the core of our creative capacity;&quot;&lt;br /&gt;
  25. if you wanted to &quot; &#39;know thyself&#39; then&amp;nbsp;this is the place to look.&quot;&lt;br /&gt;
  26. &lt;br /&gt;
  27. . without thinking of his entire meaning,&lt;br /&gt;
  28. it seemed he was saying animals don&#39;t have language.&lt;br /&gt;
  29. &lt;a href=&quot;https://mahb.stanford.edu/blog/dance-bees/&quot;&gt;I remember hearing that the bees read a dance&lt;/a&gt;&lt;br /&gt;
  30. to understand from another bee&lt;br /&gt;
  31. about the locations and amounts of food found.&lt;br /&gt;
  32. . I assume many other social animals communicate&lt;br /&gt;
  33. to support group cohesion and coordination.&lt;br /&gt;
  34. &lt;br /&gt;
  35. 7.30..31:&lt;br /&gt;
  36. . prof.Chomsky, for good reason,&lt;br /&gt;
  37. referred to human intelligence and language&lt;br /&gt;
  38. as if they are the same thing,&lt;br /&gt;
  39. for great ideas come and go,&lt;br /&gt;
  40. and only by coding them into language&lt;br /&gt;
  41. can we remember and develop ideas;&lt;br /&gt;
  42. and only by sharing ideas can you combine&lt;br /&gt;
  43. the efforts of several minds on one idea.&lt;br /&gt;
  44. . it has been said that your language&lt;br /&gt;
  45. helps you shape your thoughts,&lt;br /&gt;
  46. and conversely,&lt;br /&gt;
  47. a weak language with false assumptions&lt;br /&gt;
  48. limits your thoughts.&lt;br /&gt;
  49. . but the sufficiently intelligent humans&lt;br /&gt;
  50. will evolve their language to fit their ideas;&lt;br /&gt;
  51. also, given a sufficiently human intelligence,&lt;br /&gt;
  52. one is much more adaptive than other animals&lt;br /&gt;
  53. even without a language.&lt;br /&gt;
  54. &lt;br style=&quot;background-color: white; font-family: Georgia, serif; font-size: 13px;&quot; /&gt;
  55. &lt;a href=&quot;http://www.amazon.com/gp/offer-listing/0192821474/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0192821474&amp;amp;linkCode=am2&amp;amp;tag=americiu-20&amp;amp;linkId=PREYVT3TUSL6NKQV&quot; style=&quot;background-color: white; color: #885555; font-family: Georgia, serif; font-size: 13px; text-decoration-line: none;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=0192821474&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0192821474&quot; style=&quot;background-color: white; border: none; font-family: Georgia, serif; font-size: 13px; margin: 0px; padding: 4px;&quot; width=&quot;1&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/533088819195981239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/07/the-first-automation-was-written.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/533088819195981239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/533088819195981239'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2020/07/the-first-automation-was-written.html' title='the first automation was written language'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-3581859609841421125</id><published>2019-12-07T14:15:00.000-07:00</published><updated>2019-12-07T14:15:17.853-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="accessibility"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome OS"/><category scheme="http://www.blogger.com/atom/ns#" term="cyb"/><title type='text'>chromebook accommodating visual impairments</title><content type='html'>19.12.4:  &lt;b&gt;cyb/chrome&lt;/b&gt;/&lt;span style=&quot;font-size: x-small;&quot;&gt;accommodating visual impairments:&lt;/span&gt;&lt;br /&gt;
  56. . here are chromebook features for&lt;br /&gt;
  57. when the eyes have trouble reading.&lt;br /&gt;
  58. . select-to-speak can say selected text,&lt;br /&gt;
  59. at least in the browser.&lt;br /&gt;
  60. . if you can see only large text,&lt;br /&gt;
  61. the docked magnifier works well;&lt;br /&gt;
  62. also handy is the (shift control +)&lt;br /&gt;
  63. screen resolution &lt;br /&gt;
  64. (system menu/setting/device/display/&lt;br /&gt;
  65. internal display/display size).&lt;br /&gt;
  66. &lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;a href=&quot;https://support.google.com/chromebook/answer/177893?hl=en&quot;&gt;&lt;b&gt;Find the accessibility features:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  67. . open the system menu&lt;br /&gt;
  68. (on the dock where the time is shown)&lt;br /&gt;
  69. (Alt + Shift + s).&lt;br /&gt;
  70. follow the path&lt;br /&gt;
  71. Settings/Advanced/Accessibility/&lt;br /&gt;
  72. Manage accessibility features.&lt;br /&gt;
  73. . turn on the option:&lt;br /&gt;
  74. Always show accessibility features in system menu.&lt;br /&gt;
  75. now the system menu has an accessibility submenu.&lt;br /&gt;
  76. &lt;br /&gt;
  77. &lt;b&gt;activate the docked magnifier:&lt;/b&gt;&lt;br /&gt;
  78. system menu/accessibility/docked magnifier&lt;br /&gt;
  79. . this uses the top 30% of the screen&lt;br /&gt;
  80. to show you a magnification of&lt;br /&gt;
  81. whatever part of the screen&lt;br /&gt;
  82. the trackpad&#39;s cursor is near.&lt;br /&gt;
  83. . &lt;a href=&quot;https://support.google.com/chromebook/answer/6320705#chromebook_screenmagnifier&quot;&gt;there is also a fullscreen magnifier,&lt;/a&gt;&lt;br /&gt;
  84. but it had issues with the cursor freezing,&lt;br /&gt;
  85. (unresponsive except for jittering).&lt;br /&gt;
  86. . it also confusing with so much panning;&lt;br /&gt;
  87. I prefer adjusting&amp;nbsp;&lt;a href=&quot;https://support.google.com/chromebook/answer/6320705#chromebook_screenresolution&quot;&gt;the screen resolution.&lt;/a&gt;&lt;br /&gt;
  88. (shift control +).&lt;br /&gt;
  89. &lt;br /&gt;
  90. . when I mention &quot;&lt;i&gt;search.key&lt;/i&gt;&quot;,&lt;br /&gt;
  91. that is the key on the keyboard&lt;br /&gt;
  92. where the capslock.key normally is&lt;br /&gt;
  93. (under the tab.key, above shift.key).&lt;br /&gt;
  94. &lt;br /&gt;
  95. &lt;a href=&quot;https://support.google.com/chromebook/answer/9032490&quot;&gt;&lt;b&gt;select-to-speak:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  96. . after activating&lt;br /&gt;
  97. system menu/accessibility/select-to-speak,&lt;br /&gt;
  98. select what text you’d like to hear&lt;br /&gt;
  99. then press (Search.key + s).&lt;br /&gt;
  100. Your Chromebook will read the section aloud&lt;br /&gt;
  101. and each word will be highlighted.&lt;br /&gt;
  102. . in the text editor Caret,&lt;br /&gt;
  103. this only reads the bottom line selected&lt;br /&gt;
  104. but it works fine in chrome.browser.&lt;br /&gt;
  105. &lt;br /&gt;
  106. . to change the speed or pitch of the voice&lt;br /&gt;
  107. activate ChromeVox (see next),&lt;br /&gt;
  108. and changes made to that voice&lt;br /&gt;
  109. will be applied to the select-to-speak voice.&lt;br /&gt;
  110. &lt;br /&gt;
  111. &lt;a href=&quot;https://support.google.com/chromebook/answer/7031755?hl=en&quot;&gt;&lt;b&gt;activate ChromeVox text to speech:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  112. system menu/accessibility/&lt;br /&gt;
  113. ChromeVox (spoken feedback)&lt;br /&gt;
  114. or (Ctrl + Alt + z).&lt;br /&gt;
  115. &lt;br /&gt;
  116. &lt;b&gt;slow down speech speed:&lt;/b&gt;&lt;br /&gt;
  117. Search.key + Shift + [&lt;br /&gt;
  118. &lt;b&gt;Speed it up:&lt;/b&gt;&lt;br /&gt;
  119. Search.key + [&lt;br /&gt;
  120. &lt;br /&gt;
  121. &lt;b&gt;Lower pitch of the ChromeVox voice:&lt;/b&gt;&lt;br /&gt;
  122. Search.key + Shift + ]&lt;br /&gt;
  123. &lt;b&gt;raise the pitch:&lt;/b&gt;&lt;br /&gt;
  124. Search.key + ]&lt;br /&gt;
  125. &lt;br /&gt;
  126. &lt;a href=&quot;https://support.google.com/chromebook/answer/7031755?hl=en&amp;amp;ref_topic=9016892&quot;&gt;more about built-in screen reader.&lt;/a&gt;&lt;br /&gt;
  127. &lt;a href=&quot;http://www.chromevox.com/&quot;&gt;ChromeVox User Guide&lt;/a&gt;&lt;br /&gt;
  128. &lt;br /&gt;
  129. &lt;a href=&quot;https://support.google.com/chromebook/answer/183101&quot;&gt;see keyboard shortcuts for navigation&lt;/a&gt;&lt;br /&gt;
  130. that determine what ChromeVox reads.&lt;br /&gt;
  131. use (ctrl alt ?) to get a quick reminder.&lt;br /&gt;
  132. -- beware (ctrl shift q) can quit session.&lt;br /&gt;
  133. &lt;br /&gt;
  134. &lt;a href=&quot;https://support.google.com/docs/answer/1632201&quot;&gt;Edit google docs with a screen reader.&lt;/a&gt;&lt;br /&gt;
  135. &lt;a href=&quot;https://support.google.com/docs/answer/6282736&quot;&gt;activate g&#39;Docs screen reader support.&lt;/a&gt;&lt;br /&gt;
  136. &lt;a href=&quot;https://support.google.com/docs/answer/179738?hl=en&quot;&gt;shortcuts for Google Docs.&lt;/a&gt;&lt;br /&gt;
  137. &lt;a href=&quot;https://support.google.com/mail/answer/6594?hl=en&quot;&gt;shortcuts for Gmail&lt;/a&gt;.&lt;br /&gt;
  138. &lt;br /&gt;
  139. &lt;a href=&quot;https://www.google.com/accessibility/all-products-features.html&quot;&gt;intro Accessibility on chromebook:&lt;/a&gt;&lt;br /&gt;
  140. &lt;a href=&quot;https://www.youtube.com/playlist?list=PL5aqr5w5fRe7QWzXhqxrilIVduWEmLHM2&quot;&gt;list of helpful videos.&lt;/a&gt;&lt;br /&gt;
  141. &lt;a href=&quot;http://www.amazon.com/gp/offer-listing/1449316549/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1449316549&amp;amp;linkCode=am2&amp;amp;tag=americiu-20&amp;amp;linkId=URVWZAIEAZLU63JZ&quot; style=&quot;background-color: white; color: #333333; font-family: Georgia, serif; font-size: 13px;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=1449316549&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1449316549&quot; style=&quot;background-color: white; border: none !important; font-family: Georgia, serif; font-size: 13px; margin: 0px !important; padding: 4px;&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
  142. &lt;br /&gt;
  143. </content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/3581859609841421125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2019/12/chromebook-accommodating-visual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3581859609841421125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3581859609841421125'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2019/12/chromebook-accommodating-visual.html' title='chromebook accommodating visual impairments'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-6834824148425991003</id><published>2019-11-22T08:25:00.000-07:00</published><updated>2019-11-22T08:27:02.349-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="English"/><category scheme="http://www.blogger.com/atom/ns#" term="time"/><title type='text'>12 p.m. is noon</title><content type='html'>&lt;i&gt;19.11.17: &lt;b&gt;engl&lt;/b&gt;/12pm is noon:&lt;/i&gt;&lt;br /&gt;
  144. . the way to see that 12 p.m.&amp;nbsp;is &lt;i&gt;noon&lt;/i&gt;&lt;br /&gt;
  145. rather than midnight;&lt;br /&gt;
  146. is to realize that 12 on the clock&lt;br /&gt;
  147. is actually the clock&#39;s name for 0;&lt;br /&gt;
  148. and, 0pm is the start of pm (afternoon), &lt;br /&gt;
  149. so 12pm is noon.&lt;br /&gt;
  150. &lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
  151. &lt;b&gt;11.22: &lt;a href=&quot;https://en.wikipedia.org/wiki/Noon&quot;&gt;wiki agrees:&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
  152. Noon (or noon time) is written as&lt;br /&gt;
  153. 12 p.m. (for post meridiem) or 12 pm.&lt;br /&gt;
  154. &lt;br /&gt;
  155. wiki page for this issue:&lt;br /&gt;
  156. &lt;a href=&quot;https://en.wikipedia.org/wiki/12-hour_clock#Confusion_at_noon_and_midnight&quot;&gt;&lt;b&gt;official Confusion_at_noon_and_midnight&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  157. &lt;br /&gt;
  158. The American Heritage Dictionary of the English Language&lt;br /&gt;
  159. states &quot;By convention, 12 PM denotes noon.&lt;br /&gt;
  160. Because of the potential for confusion,&lt;br /&gt;
  161. it is advisable to use 12 noon and 12 midnight.&quot;&lt;br /&gt;
  162. The NIST website states that &quot;12 a.m. and 12 p.m.&lt;br /&gt;
  163. are ambiguous and should not be used.&quot;&lt;br /&gt;
  164. &lt;br /&gt;
  165. &lt;b&gt;and the reason for this confusion?&lt;/b&gt;&lt;br /&gt;
  166. . usa&#39;s official style manual of the Gov Printing Office&lt;br /&gt;
  167. changed its mind!&lt;br /&gt;
  168. . it used 12 a.m. for noon and 12 p.m. for midnight&lt;br /&gt;
  169. until its 2008 edition&lt;br /&gt;
  170. when it reversed these designations/&lt;br /&gt;
  171. (so the current version agrees with me:)&lt;br /&gt;
  172. &lt;br /&gt;
  173. &lt;a href=&quot;https://www.govinfo.gov/features/new-edition-gpo-style-manual&quot;&gt;&lt;b&gt;GPO Style Manual 2016:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  174. . the 2016 edition of the GPO Style Manual is the&lt;br /&gt;
  175. first revision to be issued under GPO&#39;s new name,&lt;br /&gt;
  176. U.S. Government Publishing Office.&lt;br /&gt;
  177. Since 1894, the GPO Style Manual has served as&lt;br /&gt;
  178. a guide to the style and form of&lt;br /&gt;
  179. Federal Government printing and publishing.&lt;br /&gt;
  180. The Manual has come to be widely recognized by&lt;br /&gt;
  181. writers and editors both within and outside the Federal Government&lt;br /&gt;
  182. as an important editorial tool.&lt;br /&gt;
  183. &lt;br /&gt;
  184. &lt;a href=&quot;https://www.govinfo.gov/app/details/GPO-STYLEMANUAL-2016&quot;&gt;&lt;b&gt;manl intro:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  185. . the Director of the U.S. Government Publishing Office&lt;br /&gt;
  186. is authorized to determine the form and style&lt;br /&gt;
  187. of Government printing.&lt;br /&gt;
  188. The Style Manual is the product of&lt;br /&gt;
  189. many years of public printing experience,&lt;br /&gt;
  190. and its rules are based on principles of good usage&lt;br /&gt;
  191. and custom in the printing trade. Essentially,&lt;br /&gt;
  192. the Style Manual is a standardization device&lt;br /&gt;
  193. designed to achieve uniform &lt;br /&gt;
  194. word and type treatment,&lt;br /&gt;
  195. and aiming for economy of word use.&lt;br /&gt;
  196. The Style Manual has served &lt;br /&gt;
  197. Federal printers since 1894,&lt;br /&gt;
  198. and with each new edition, &lt;br /&gt;
  199. the traditions of printing and graphic arts&lt;br /&gt;
  200. are carried forward into new technologies.&lt;br /&gt;
  201. &lt;br /&gt;
  202. &lt;a href=&quot;https://www.govinfo.gov/content/pkg/GPO-STYLEMANUAL-2016/pdf/GPO-STYLEMANUAL-2016.pdf&quot;&gt;&lt;b&gt;the 2016 manl, p236:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  203. &quot;References to meridian in statements of time&lt;br /&gt;
  204. are abbreviated as follows:&lt;br /&gt;
  205. 12 p.m. (12 noon)&lt;br /&gt;
  206. 12 a.m. (12 midnight).&quot;&lt;br /&gt;
  207. &lt;br /&gt;
  208. &lt;br /&gt;
  209. </content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/6834824148425991003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2019/11/12-pm-is-noon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6834824148425991003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/6834824148425991003'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2019/11/12-pm-is-noon.html' title='12 p.m. is noon'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-9183841592756426910</id><published>2018-02-19T19:49:00.000-07:00</published><updated>2018-02-19T19:49:40.653-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dev.python"/><category scheme="http://www.blogger.com/atom/ns#" term="robotics"/><title type='text'>Python library for robotic simulation using the MuJoCo engine</title><content type='html'>17.11.6: news.&lt;b&gt;cs/robotics&lt;/b&gt;/&lt;br /&gt;
  210. &lt;span style=&quot;font-size: xx-small;&quot;&gt;Python library for robotic simulation using the MuJoCo engine&lt;/span&gt;:&lt;br /&gt;
  211. &lt;a href=&quot;https://blog.openai.com/faster-robot-simulation-in-python/&quot;&gt;&lt;b&gt;OpenAI 2017.6:&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  212. open-sourcing a high-performance Python library&lt;br /&gt;
  213. for robotic simulation using the MuJoCo engine,&lt;br /&gt;
  214. developed over our past year of robotics research.&lt;br /&gt;
  215. This library is one of our core tools for&lt;br /&gt;
  216. deep learning robotics research,&lt;br /&gt;
  217. which we’ve now released as a major version of mujoco-py,&lt;br /&gt;
  218. our Python 3 bindings for MuJoCo.&lt;br /&gt;
  219. . mujoco-py uses data parallelism through &lt;a href=&quot;http://amerdreamdocs.blogspot.com/2010/07/pgas-replacing-mpi-in-supercomputer.html&quot;&gt;OpenMP&lt;/a&gt;&lt;br /&gt;
  220. and direct-access memory management through&lt;br /&gt;
  221. Cython [C translator] and NumPy [math pkg]&lt;br /&gt;
  222. to make batched simulation more efficient.&lt;br /&gt;
  223. &lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;a href=&quot;http://cython.org/&quot;&gt;&lt;b&gt;Cython&lt;/b&gt;&lt;/a&gt;&amp;nbsp;is an optimizing static compiler&lt;br /&gt;
  224. for both the Python programming language&lt;br /&gt;
  225. and the extended Cython programming language (based on Pyrex).&lt;br /&gt;
  226. It makes writing C extensions for Python&lt;br /&gt;
  227. as easy as Python itself.&lt;br /&gt;
  228. &lt;br /&gt;
  229. &lt;a href=&quot;http://www.mujoco.org/&quot;&gt;&lt;b&gt;MuJoCo (Multi-Joint dynamics with Contact):&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
  230. . It is a physics engine aiming to facilitate&lt;br /&gt;
  231. research and development in robotics, &lt;br /&gt;
  232. biomechanics, graphics and animation, &lt;br /&gt;
  233. and other areas where fast and accurate simulation is needed. &lt;br /&gt;
  234. It offers a unique combination of speed, accuracy and modeling power, &lt;br /&gt;
  235. yet it is not merely a better simulator. &lt;br /&gt;
  236. Instead it is the first full-featured simulator &lt;br /&gt;
  237. designed from the ground up for the purpose of&lt;br /&gt;
  238. model-based optimization, &lt;br /&gt;
  239. and in particular optimization through contacts. &lt;br /&gt;
  240. MuJoCo makes it possible to scale up &lt;br /&gt;
  241. computationally-intensive techniques &lt;br /&gt;
  242. such optimal control, physically-consistent state estimation, &lt;br /&gt;
  243. system identification and automated mechanism design, &lt;br /&gt;
  244. and apply them to complex dynamical systems in contact-rich behaviors. &lt;br /&gt;
  245. It also has more traditional applications &lt;br /&gt;
  246. such as testing and validation of control schemes &lt;br /&gt;
  247. before deployment on physical robots, &lt;br /&gt;
  248. interactive scientific visualization, &lt;br /&gt;
  249. virtual environments, animation and gaming. &lt;br /&gt;
  250. &lt;a href=&quot;http://www.amazon.com/gp/offer-listing/1449316549/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1449316549&amp;amp;linkCode=am2&amp;amp;tag=americiu-20&amp;amp;linkId=URVWZAIEAZLU63JZ&quot; style=&quot;background-color: white; color: #333333; font-family: Georgia, serif; font-size: 13px;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=1449316549&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=americiu-20&quot; style=&quot;border: 1px solid rgb(204, 204, 204); padding: 4px;&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=americiu-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1449316549&quot; height=&quot;1&quot; style=&quot;background-color: white; border: none !important; font-family: Georgia, serif; font-size: 13px; margin: 0px !important; padding: 4px;&quot; width=&quot;1&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/9183841592756426910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2018/02/python-library-for-robotic-simulation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/9183841592756426910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/9183841592756426910'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2018/02/python-library-for-robotic-simulation.html' title='Python library for robotic simulation using the MuJoCo engine'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-3941981387614049166</id><published>2017-11-24T12:50:00.001-07:00</published><updated>2017-11-24T12:50:50.131-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="doc&#39;ing"/><category scheme="http://www.blogger.com/atom/ns#" term="microkernel"/><category scheme="http://www.blogger.com/atom/ns#" term="minix"/><title type='text'>Intel&#39;s lack of documentation stalled MINIX</title><content type='html'>&lt;i&gt;11.21:  news.cyb/&lt;b&gt;adds/doc/&lt;/b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Intel&#39;s lack of documentation stalled MINIX:&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
  251. . in an IEEE Computer interview,&lt;br /&gt;
  252. &lt;a href=&quot;https://www.youtube.com/watch?v=86_BkFsb4eI&quot;&gt;[ieeeComputerSociety 2014]&lt;/a&gt;&lt;br /&gt;
  253. Tanenbaum revealed he designed MINIX when&lt;br /&gt;
  254. AT&amp;amp;T closed the source for Unix Version 7&lt;br /&gt;
  255. and they could no longer use it &lt;br /&gt;
  256. when teaching about the design of an OS.&lt;br /&gt;
  257. . but it kept crashing until he heard a rumor&lt;br /&gt;
  258. (nothing in the documentation mentioned it)&lt;br /&gt;
  259. that the Intel chip when overheating&lt;br /&gt;
  260. was causing an interrupt 15.&lt;br /&gt;
  261. If his student Robert hadn&#39;t revealed the interrupt,&lt;br /&gt;
  262. &quot;there would have been no MINIX&quot; he said.</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/3941981387614049166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2017/11/intels-lack-of-documentation-stalled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3941981387614049166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/3941981387614049166'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2017/11/intels-lack-of-documentation-stalled.html' title='Intel&#39;s lack of documentation stalled MINIX'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1317519969686201237.post-1303675425172255255</id><published>2017-11-23T12:19:00.000-07:00</published><updated>2017-11-23T12:19:39.902-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adds"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><title type='text'>common core math&#39;s subtraction</title><content type='html'>&lt;i&gt;10.20: web.&lt;b&gt;math/common core math&lt;/b&gt;/has new subtraction:&lt;/i&gt;&lt;br /&gt;
  263. &lt;a href=&quot;http://www.businessinsider.com/how-common-core-subtraction-works-2014-5&quot;&gt;businessinsider&lt;/a&gt;:&lt;br /&gt;
  264. . the new way is realizing a subtraction problem&lt;br /&gt;
  265. is asking you to measure the distance between 2 numbers;&lt;br /&gt;
  266. You do that, in turn, by measuring the distance between&lt;br /&gt;
  267. landmarks (easy, round numbers).&lt;br /&gt;
  268. &lt;br /&gt;
  269. &lt;a href=&quot;https://phys.org/news/2015-09-opinion-common-core-today-math.html&quot;&gt;phys.org 2015:&lt;/a&gt;&lt;br /&gt;
  270. we all do arithmetic like this in our heads all the time.&lt;br /&gt;
  271. Say you are buying a scone at a bakery for breakfast &lt;br /&gt;
  272. and the total price is US$2.60.&lt;br /&gt;
  273. You hand the cashier a $10 bill. How much change do you get?&lt;br /&gt;
  274. Now, you do not perform the standard algorithm in your head.&lt;br /&gt;
  275. You first note that you&#39;d need another &lt;br /&gt;
  276. 40 cents to get to the next dollar, making $3,&lt;br /&gt;
  277. and then you&#39;d need $7 to get up to $10,&lt;br /&gt;
  278. so your change is $7.40.&lt;br /&gt;
  279. &lt;br /&gt;
  280. &lt;a href=&quot;http://www.patheos.com/blogs/friendlyatheist/2014/10/01/this-is-how-you-do-common-core-subtraction/&quot;&gt;called the counting up subtraction method.&lt;/a&gt;&lt;br /&gt;
  281. from the smaller number&lt;br /&gt;
  282. count up to the nearest 10, 100, etc;&lt;br /&gt;
  283. to that add the largest number&#39;s smaller digits.</content><link rel='replies' type='application/atom+xml' href='http://amerdreamdocs.blogspot.com/feeds/1303675425172255255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amerdreamdocs.blogspot.com/2017/11/common-core-maths-subtraction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/1303675425172255255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1317519969686201237/posts/default/1303675425172255255'/><link rel='alternate' type='text/html' href='http://amerdreamdocs.blogspot.com/2017/11/common-core-maths-subtraction.html' title='common core math&#39;s subtraction'/><author><name>Philip Torrance (ADDN)</name><uri>http://www.blogger.com/profile/13133625113916983486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOsnCQU0ijnNE89eKYkjRkQZCNR0PtvHHE6BMjh2BQAdHEGUQMEYhg5WpIkgGJTE4bouDTsEIWFhi2utkPFbNoKP1JRSFlUAVjjb5z_XPyQQGa5Z6u9GF-IT3Y9CKoAZE/s220/me+at+work+2017.png'/></author><thr:total>0</thr:total></entry></feed>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//amerdreamdocs.blogspot.com/feeds/posts/default

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda