Contents^

Table of Contents
date title user score
2020-09-19 09:13:45 Ask HN: Resources to encourage teen on becoming computer engineer? tomrod 16
2020-09-18 14:10:34 CadQuery: A Python parametric CAD scripting framework based on OCCT OJFord 126
2020-09-17 01:31:25 Array Programming with NumPy hardmaru 278
2020-09-17 16:38:37 Do you like the browser bookmark manager? andyware 6
2020-09-17 12:58:46 NIST Samate – Source Code Security Analyzers animationwill 70
2020-09-17 04:19:49 A Handwritten Math Parser in 100 lines of Python gnebehay 62
2020-09-15 06:25:51 PEP – An open source PDF editor for Mac threcius 191
2020-09-12 10:49:38 The Unix timestamp will begin with 16 this Sunday dezmou 452
2020-09-11 07:36:54 Redox: Unix-Like Operating System in Rust bpierre 242
2020-09-11 09:31:37 Ask HN: How are online communities established? jayshua 127
2020-09-10 20:19:41 Python Documentation Using Sphinx keyboardman 1
2020-09-10 07:18:54 Traits of good remote leaders sfg 356
2020-09-09 22:07:59 Show HN: Eiten – open-source tool for portfolio optimization hydershykh 200
2020-09-08 09:51:43 Ask HN: Any well funded tech companies tackling big, meaningful problems? digitalmaster 97
2020-09-07 17:50:02 Column Names as Contracts MaysonL 55
2020-09-06 00:49:07 Graph Representations for Higher-Order Logic and Theorem Proving (2019) brzozowski 104
2020-09-04 22:37:14 Show HN: Linux sysadmin course, eight years on snori74 780
2020-09-03 05:12:02 Software supply chain security mayakacz 82
2020-09-01 13:53:23 Mind Emulation Foundation gk1 93
2020-08-31 22:41:41 13 Beautiful Tools to Enhance Online Teaching and Learning Skills alikayaspor 15
2020-08-28 06:34:50 How close are computers to automating mathematical reasoning? auggierose 100
2020-08-29 11:06:54 New framework for natural capital approach to transform policy decisions westurner 2
2020-08-24 09:19:08 Challenge to scientists: does your ten-year-old code still run? sohkamyung 305
2020-08-19 14:54:09 A deep dive into the official Docker image for Python itamarst 189
2020-08-18 19:01:49 The Consortium for Python Data API Standards BerislavLopac 102
2020-08-07 15:02:57 Tech giants let the Web's metadata schemas and infrastructure languish timhigins 301
2020-08-10 10:39:15 Time-reversal of an unknown quantum state samizdis 23
2020-08-08 12:48:07 Electric cooker an easy, efficient way to sanitize N95 masks, study finds johnny313 201
2020-08-09 19:13:33 Fed announces details of new interbank service to support instant payments tigerlily 682
2020-08-08 21:17:02 Shrinking deep learning’s carbon footprint dsavant 4
2020-08-02 10:44:33 Show HN: Starboard – Fully in-browser literate notebooks like Jupyter Notebook protoduction 369
2020-07-23 16:11:55 Ask HN: Learning about distributed systems? shahrk 35
2020-08-01 22:13:32 Ask HN: How can I “work-out” critical thinking skills as I age? treyfitty 87
2020-07-29 17:21:42 The tragedy of FireWire: Collaborative tech torpedoed by corporations segfaultbuserr 3
2020-07-29 17:17:29 The Developer’s Guide to Audit Logs / SIEM endingwithali 9
2020-07-29 04:26:06 Del.icio.us kome 1649
2020-07-24 19:37:41 Ask HN: Recommendations for Books on Writing? wwright 5
2020-07-23 14:10:29 Ask HN: How did you learn x86-64 assembly? spacechild1 48
2020-07-22 09:39:11 Brain connectivity levels are equal in all mammals, including humans: study hhs 197
2020-07-22 04:21:32 Ask HN: Resources to start learning about quantum computing? edu 185
2020-07-21 11:58:25 Launch HN: Charityvest (YC S20) – Employee charitable funds and gift matching Leonidas243 64
2020-07-20 16:52:03 We Need a Yelp for Doctoral Programs etattva 180
2020-07-20 01:21:29 All of the World’s Money and Markets in One Visualization hippich 135
2020-07-18 21:06:28 Why companies lose their best innovators (2019) hhs 190
2020-07-17 16:48:58 Powerful AI Can Now Be Trained on a Single Computer MindGods 282
2020-07-10 12:30:36 Ask HN: Something like Khan Academy but full curriculum for grade schoolers? jmspring 283
2020-07-09 13:35:44 AutoML-Zero: Evolving Code That Learns theafh 34
2020-07-06 08:25:22 SymPy - a Python library for symbolic mathematics ogogmad 209
2020-07-03 17:05:31 Ask HN: Are there any messaging apps supporting Markdown? 5986043handy 19
2020-06-24 12:36:53 What vertical farming and ag startups don't understand about agriculture kickout 348
2020-06-15 05:26:29 Ask HN: What are your go to SaaS products for startups/MVPs? lbj 169
2020-06-13 08:31:58 Ask HN: Do you read aloud or silently in your minds? Onceagain 6
2020-06-08 08:42:33 Ask HN: How do you deploy a Django app in 2020? eptakilo 3
2020-06-04 21:35:38 Containers from first principles setheron 102
2020-05-27 17:16:56 How many people did it take to build the Great Pyramid? samizdis 136
2020-05-14 16:44:28 Solar’s Future is Insanely Cheap epistasis 152
2020-05-20 14:52:29 Demo of an OpenAI language model applied to code generation [video] cjlovett 281
2020-05-04 18:51:16 Future of the human climate niche origgm 96
2020-05-15 06:25:43 Ask HN: Best resources for non-technical founders to understand hacker mindset? jamiecollinson 114
2020-05-11 10:08:31 Dissecting the code responsible for the Bitcoin halving Mojah 39
2020-04-30 13:06:53 Ask HN: Does mounting servers parallel with the temperature gradient trap heat? westurner 2
2020-04-26 16:33:13 Psychological techniques to practice Stoicism hoanhan101 173
2020-04-25 10:00:05 What does the 'rc' in `.bashrc`, etc. mean? janvdberg 297
2020-04-23 16:19:24 Google ditched tipping feature for donating money to sites caution 2
2020-04-23 15:58:23 Innovating on Web Monetization: Coil and Firefox Reality stareatgoats 2
2020-04-19 22:24:07 Ask HN: Recommendations for online essay grading systems? westurner 1
2020-04-19 22:28:00 Ask HN: Systems for supporting Evidence-Based Policy? westurner 1
2020-04-19 14:54:31 Facebook, Google to be forced to share ad revenue with Australian media docdeek 148
2020-04-11 12:36:55 France rules Google must pay news firms for content us0r 134
2020-04-05 03:00:45 Adafruit Thermal Camera Imager for Fever Screening jonbaer 2
2020-03-31 18:08:57 The end of an Era – changing every single instance of a 32-bit time_t in Linux zdw 165
2020-04-01 01:16:29 Ask HN: What's the ROI of Y Combinator investments? longtermd 4
2020-04-01 00:41:15 Microsoft announces Money in Excel powered by Plaid chirau 3
2020-03-30 02:02:12 Lora-based device-to-device smartphone communication for crisis scenarios [pdf] oliver2213 90
2020-03-27 17:56:01 LoRa+WiFi ClusterDuck Protocol by Project OWL for Disaster Relief westurner 3
2020-03-26 02:53:34 A Visual Debugger for Jupyter sandGorgon 197
2020-03-27 18:45:26 Ask HN: What's the Equivalent of 'Hello, World' for a Quantum Computer? simonblack 2
2020-03-27 18:43:58 Ask HN: Communication platforms for intermittent disaster relief? westurner 1
2020-03-27 18:06:49 DroneAid: A Symbol Language and ML model for indicating needs to drones, planes westurner 2
2020-03-26 06:52:53 Ask HN: Computer Science/History Books? jackofalltrades 327
2020-03-26 06:07:26 Open-source security tools for cloud and container applications alexellisuk 53
2020-03-25 14:26:44 YC Companies Responding to Covid-19 no_gravity 144
2020-03-23 18:21:18 Show HN: Neh – Execute any script or program from Nginx location directives oap_bram 27
2020-03-21 15:39:25 Ask HN: How can a intermediate-beginner learn Unix/Linux and programming? learnTemp229462 146
2020-03-20 09:40:37 Math Symbols Explained with Python amitness 130
2020-03-20 00:16:15 Ask HN: Is there way you can covert smartphone to a no contact thermometer? shreyshrey 9
2020-03-15 05:47:35 Employee Scheduling weitzj 641
2020-03-14 07:01:16 Show HN: Simulation-based high school physics course notes lilgreenland 295
2020-03-15 04:58:04 WebAssembly brings extensibility to network proxies pjmlp 132
2020-03-14 00:29:09 Pandemic Ventilator Project mhb 318
2020-03-14 02:53:51 Low-cost ventilator wins Sloan health care prize (2019) tomcam 99
2020-03-13 19:22:55 AI can detect coronavirus from CT scans in twenty seconds laurex 109
2020-03-10 16:08:03 AutoML-Zero: Evolving machine learning algorithms from scratch lainon 260
2020-03-10 16:48:16 Options for giving math talks and lectures online chmaynard 143
2020-03-04 06:29:43 Aerogel from fruit biowaste produces ultracapacitors dalf 152
2020-03-03 05:09:35 Ask HN: How to Take Good Notes? romes 293
2020-03-03 06:36:58 Ask HN: STEM toy for a 3 years old? spapas82 117
2020-02-29 14:17:55 OpenAPI v3.1 and JSON Schema 2019-09 BerislavLopac 88
2020-02-26 03:06:01 Git for Node.js and the browser using libgit2 compiled to WebAssembly mstade 16
2020-02-20 21:02:47 Scientists use ML to find an antibiotic able to kill superbugs in mice adventured 438
2020-02-11 17:35:48 Shit – An implementation of Git using POSIX shell kick 814
2020-02-01 19:01:19 HTTP 402: Payment Required jpomykala 224
2020-01-16 15:28:07 Salesforce Sustainability Cloud Becomes Generally Available westurner 1
2020-01-09 07:07:33 Httpx: A next-generation HTTP client for Python tomchristie 462
2020-01-14 06:07:53 BlackRock CEO: Climate Crisis Will Reshape Finance vo2maxer 13
2019-12-29 13:32:58 A lot of complex “scalable” systems can be done with a simple, single C++ server Impossible 398
2019-12-31 10:19:32 Warren Buffett is spending billions to make Iowa 'the Saudi Arabia of wind' corporate_shi11 52
2019-12-27 07:08:54 Scientists Likely Found Way to Grow New Teeth for Patients elorant 243
2019-12-26 13:32:34 Announcing the New PubMed vo2maxer 119
2019-12-25 08:16:17 Ask HN: Is it worth it to learn C in 2020? zabana 11
2019-12-21 07:55:04 Free and Open-Source Mathematics Textbooks vo2maxer 321
2019-12-18 09:24:05 Make CPython segfault in 5 lines of code coolreader18 130
2019-12-10 12:05:36 Applications Are Now Open for YC Startup School – Starts in January erohead 48
2019-12-10 14:37:28 ‘Adulting’ is hard. UC Berkeley has a class for that incomplete 2
2019-12-10 13:55:50 Founder came back after 8 years to rewrite flash photoshop in canvas/WebGL poniko 9
2019-12-09 09:56:35 Five cities account for vast majority of growth in U.S. tech jobs: study Bostonian 93
2019-12-01 12:45:50 Don’t Blame Tech Bros for the Housing Crisis mistersquid 30
2019-11-25 09:07:30 Docker is just static linking for millenials DyslexicAtheist 38
2019-11-14 04:01:54 Show HN: Bamboolib – A GUI for Pandas (Python Data Science) __tobals__ 119
2019-11-25 01:39:22 Battery-Electric Heavy-Duty Equipment: It's Sort of Like a Cybertruck duck 3
2019-11-09 09:26:55 Tools for turning descriptions into diagrams: text-to-picture resources ingve 61
2019-10-16 00:42:33 CSR: Corporate Social Responsibility westurner 2
2019-10-19 08:28:01 GTD Tickler file – a proposal for text file format vivekv 3
2019-10-20 02:07:48 Ask HN: Any suggestion on how to test CLI applications? pdappollonio 3
2019-10-16 00:34:32 The Golden Butterfly and the All Weather Portfolio westurner 1
2019-10-12 07:19:23 Canada's Decision To Make Public More Clinical Trial Data Puts Pressure On FDA pseudolus 192
2019-10-10 23:35:35 Python Alternative to Docker gilad 3
2019-10-09 00:17:45 $6B United Nations Agency Launches Bitcoin, Ethereum Crypto Fund zed88 8
2019-10-08 16:03:02 Timsort, the Python sorting algorithm alexchamberlain 407
2019-10-07 22:29:21 Supreme Court allows blind people to sue retailers if websites aren't accessible justadudeama 743
2019-10-04 11:15:12 Streamlit: Turn a Python script into an interactive data analysis tool danicgross 467
2019-09-23 16:43:51 Scott’s Supreme Quantum Supremacy FAQ xmmrm 600
2019-09-23 18:31:40 Ask HN: How do you handle/maintain local Python environments? PascLeRasc 103
2019-09-23 12:35:51 Is the era of the $100 graphing calculator coming to an end? prostoalex 361
2019-09-23 03:17:17 Reinventing Home Directories Schiphol 118
2019-09-23 03:00:38 Serverless: slower and more expensive kiyanwang 1787
2019-09-22 17:32:04 Entropy can be used to understand systems acgan 3
2019-09-18 07:24:36 New Query Language for Graph Databases to Become International Standard Anon84 290
2019-09-21 13:21:03 A Python Interpreter Written in Python nnnmnten 2
2019-09-21 11:51:00 Reinventing Home Directories – systemd-homed [pdf] signa11 3
2019-09-21 13:08:28 Weld: Accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM unbalancedparen 585
2019-09-19 20:00:14 Craftsmanship–The Alternative to the 4 Hour Work Week oglowo3 4
2019-09-19 09:31:43 Solar and Wind Power So Cheap They’re Outgrowing Subsidies ph0rque 623
2019-09-18 06:52:46 Show HN: Python Tests That Write Themselves timothycrosley 131
2019-09-09 10:52:49 Most Americans see catastrophic weather events worsening elorant 102
2019-09-17 12:00:54 Emergent Tool Use from Multi-Agent Interaction gdb 332
2019-09-17 22:32:25 Inkscape 1.0 Beta 1 nkoren 603
2019-09-08 13:45:57 Where Dollar Bills Come From danso 69
2019-09-05 07:13:24 Monetary Policy Is the Root Cause of the Millennials’ Struggle joshuafkon 52
2019-08-30 15:42:12 Non-root containers, Kubernetes CVE-2019-11245 and why you should care zelivans 8
2019-08-25 23:49:46 How do black holes destroy information and why is that a problem? sohkamyung 195
2019-08-25 09:48:11 Banned C standard library functions in Git source code susam 502
2019-08-25 10:01:30 Ask HN: What's the hardest thing to secure in a web-app? juansgaitan 7
2019-08-22 01:29:43 Crystal growers who sparked a revolution in graphene electronics sohkamyung 85
2019-08-22 16:27:43 Things to Know About GNU Readline matt_d 204
2019-08-22 16:16:41 Show HN: Termpage – Build a webpage that behaves like a terminal brisky 5
2019-08-21 22:49:19 Vimer - Avoid multiple instances of GVim with gvim –remote[-tab]-silent wrapper grepgeek 6
2019-08-22 16:06:27 Electric Dump Truck Produces More Energy Than It Uses mreome 3
2019-08-21 17:34:53 Ask HN: Let's make an open source/free SaaS platform to tackle school forms busymichael 12
2019-08-21 14:18:17 Ask HN: Is there a CRUD front end for databases (especially SQLite)? Tomte 2
2019-08-20 06:43:31 California approves solar-powered EV charging network and electric school buses elorant 15
2019-08-17 10:58:03 You May Be Better Off Picking Stocks at Random, Study Finds Vaslo 146
2019-08-12 08:15:23 Root: CERN's scientific data analysis framework for C++ z3phyr 137
2019-08-13 02:09:30 MesaPy: A Memory-Safe Python Implementation based on PyPy (2018) ospider 119
2019-08-11 16:22:30 Ask HN: Configuration Management for Personal Computer? jacquesm 197
2019-08-08 13:11:06 GitHub Actions now supports CI/CD, free for public repositories dstaheli 680
2019-08-05 17:19:30 The Fed is getting into the Real-Time payments business apo 96
2019-07-08 15:26:38 A Giant Asteroid of Gold Won’t Make Us Richer pseudolus 92
2019-07-08 10:52:06 Abusing the PHP Query String Parser to Bypass IDS, IPS, and WAF lelf 92
2019-06-28 14:23:33 Ask HN: Scripts/commands for extracting URL article text? (links -dump but) WCityMike 1
2019-07-02 11:02:08 NPR's Guide to Hypothesis-Driven Design for Editorial Projects danso 101
2019-06-20 14:56:56 Gryphon: An open-source framework for algorithmic trading in cryptocurrency reso 236
2019-06-21 00:18:36 Wind-Powered Car Travels Downwind Faster Than the Wind J253 5
2019-06-13 19:39:58 NOAA upgrades the U.S. global weather forecast model mehrdadn 214
2019-06-12 08:16:17 A plan to change how Harvard teaches economics carlosgg 116
2019-06-12 17:41:58 The New York Times course to teach its reporters data skills is now open-source espeed 423
2019-06-11 10:21:59 No Kings: How Do You Make Good Decisions Efficiently in a Flat Organization? eugenegamma 743
2019-06-01 23:13:28 4 Years of College, $0 in Debt: How Some Countries Make Education Affordable pseudolus 2
2019-05-26 10:16:10 Ask HN: What jobs can a software engineer take to tackle climate change? envfriendly 67
2019-05-23 12:59:05 YC's request for startups: Government 2.0 simonebrunozzi 194
2019-05-23 13:52:23 Almost 40% of Americans Would Struggle to Cover a $400 Emergency Geeek 112
2019-05-19 16:01:51 Congress should grow the Digital Services budget, it more than pays for itself rmason 68
2019-05-20 01:20:05 The Trillion-Dollar Annual Interest Payment westurner 2
2019-05-15 07:09:29 Oak, a Free and Open Certificate Transparency Log dankohn1 143
2019-05-14 09:36:21 Death rates from energy production per TWh peter_retief 122
2019-05-11 22:37:32 Use links not keys to represent relationships in APIs sarego 342
2019-05-09 23:49:28 No Python in Red Hat Linux 8? jandeboevrie 19
2019-05-06 09:16:47 JMAP: A modern, open email protocol okket 307
2019-05-09 14:51:33 Grid Optimization Competition zeristor 2
2019-05-02 16:11:54 Blockchain's present opportunity: data interchange standardization ivoras 2
2019-04-30 12:45:38 Ask HN: Value of “Shares of Stock options” when joining a startup cdeveloper 5
2019-04-28 13:46:48 CMU Computer Systems: Self-Grading Lab Assignments (2018) georgecmu 205
2019-04-28 14:50:29 Show HN: Debugging-Friendly Tracebacks for Python cknd 121
2019-04-28 07:41:27 Why isn't 1 a prime number? gpvos 273
2019-04-28 07:26:37 How do we know when we’ve fallen in love? (2016) rohmanhakim 157
2019-04-27 21:50:58 Rare and strange ICD-10 codes zdw 68
2019-04-20 15:10:14 Python Requests III maximilianroos 19
2019-04-17 09:43:04 Post-surgical deaths in Scotland drop by a third, attributed to a checklist fanf2 1036
2019-04-17 16:06:09 Apply to Y Combinator dlhntestuser 3
2019-04-02 03:51:50 Trunk-Based Development vs. Git Flow kiyanwang 4
2019-04-01 17:25:58 Ask HN: Anyone else write the commit message before they start coding? xkapastel 25
2019-03-27 03:29:30 Ask HN: Datalog as the only language for web programming, logic and database truth_seeker 21
2019-03-24 19:46:33 The cortex is a neural network of neural networks curtis 297
2019-03-22 21:51:49 Is there a program like codeacademy but for learning sysadmin? tayvz 7
2019-03-22 17:18:44 Maybe You Don't Need Kubernetes ra7 500
2019-03-21 08:04:34 Quantum Machine Appears to Defy Universe’s Push for Disorder biofox 78
2019-03-21 12:45:42 Pytype checks and infers types for your Python code mkesper 4
2019-03-20 21:56:26 How I'm able to take notes in mathematics lectures using LaTeX and Vim tambourine_man 674
2019-03-21 05:18:51 LHCb discovers matter-antimatter asymmetry in charm quarks rbanffy 269
2019-03-21 00:22:37 React Router v5 jsdev93 153
2019-03-15 18:23:21 Experimental rejection of observer-independence in the quantum world lisper 186
2019-03-15 08:14:22 Show HN: A simple Prolog Interpreter written in a few lines of Python 3 photon_lines 148
2019-03-07 17:57:28 How to earn your macroeconomics and finance white belt as a software developer andrenth 307
2019-03-02 14:24:35 Ask HN: Relationship between set theory and category theory fmihaila 4
2019-02-26 11:24:41 The most popular docker images each contain at least 30 vulnerabilities vinnyglennon 562
2019-02-24 22:39:39 Tinycoin: A small, horrible cryptocurrency in Python for educational purposes MrXOR 4
2019-02-20 14:08:47 When does the concept of equilibrium work in economics? dnetesn 54
2019-02-20 22:53:23 Simdjson – Parsing Gigabytes of JSON per Second cmsimike 597
2019-02-18 10:13:02 A faster, more efficient cryptocurrency salvadormon 583
2019-02-17 05:52:11 Git-signatures – Multiple PGP signatures for your commits Couto 75
2019-02-16 06:55:28 Running an LED in reverse could cool future computers ChrisGranger 46
2019-02-06 07:15:56 Compounding Knowledge golyi 481
2019-02-16 14:49:30 Why CISA Issued Our First Emergency Directive ca98am79 211
2019-02-14 23:22:11 Chrome will Soon Let You Share Links to a Specific Word or Sentence on a Page kumaranvpl 359
2019-02-09 12:21:30 Guidelines for keeping a laboratory notebook Tomte 87
2019-02-07 12:03:47 Superalgos and the Trading Singularity ciencias 2
2019-02-07 12:23:44 Crunching 200 years of stock, bond, currency and commodity data chollida1 308
2019-02-06 14:50:35 Show HN: React-Schemaorg: Strongly-Typed Schema.org JSON-LD for React Eyas 16
2019-02-06 16:15:33 Consumer Protection Bureau Aims to Roll Back Rules for Payday Lending pseudolus 197
2019-02-05 01:56:30 Lectures in Quantitative Economics as Python and Julia Notebooks westurner 355
2019-02-04 11:55:50 If Software Is Funded from a Public Source, Its Code Should Be Open Source jrepinc 1138
2019-02-04 23:55:48 Apache Arrow 0.12.0 westurner 1
2019-02-04 23:51:34 Statement on Status of the Consolidated Audit Trail (2018) westurner 1
2019-02-04 20:03:28 U.S. Federal District Court Declared Bitcoin as Legal Money obilgic 12
2019-01-30 12:42:06 Post Quantum Crypto Standardization Process – Second Round Candidates Announced dlgeek 2
2019-01-30 13:59:56 Ask HN: How do you evaluate security of OSS before importing? riyakhanna1983 5
2019-01-30 09:35:47 Ask HN: How can I use my programming skills to support nonprofit organizations? theneck 3
2019-01-29 19:43:16 Ask HN: Steps to forming a company? jxr006 4
2019-01-29 13:48:48 A Self-Learning, Modern Computer Science Curriculum hacknrk 394
2019-01-24 00:34:14 MVP Spec hyperpallium 2
2019-01-21 12:10:37 Can we merge Certificate Transparency with blockchain? fedotovcorp 3
2019-01-21 20:38:23 Why Don't People Use Formal Methods? pplonski86 419
2019-01-20 20:29:25 Steps to a clean dataset with Pandas NicoJuicy 4
2019-01-19 19:38:48 Reahl – A Python-only web framework kim0 165
2019-01-12 19:56:20 Ask HN: How can you save money while living on poverty level? ccdev 8
2019-01-11 14:46:52 A DNS hijacking wave is targeting companies at an almost unprecedented scale Elof 112
2019-01-09 23:09:59 Show HN: Generate dank mnemonic seed phrases in the terminal mofle 3
2019-01-08 15:28:29 Can you sign a quantum state? zdw 3
2019-01-09 18:04:41 Lattice Attacks Against Weak ECDSA Signatures in Cryptocurrencies [pdf] soohyung 11
2019-01-09 12:00:44 REMME – A blockchain-based protocol for issuing X.509 client certificates fedotovcorp 33
2019-01-08 09:51:20 California grid data is live – solar developers take note Osiris30 2
2019-01-05 12:30:30 Why attend predatory colleges in the US? azhenley 3
2018-12-31 15:43:54 Ask HN: Data analysis workflow? tucaz 1
2018-12-28 16:25:15 The U.S. is spending millions to solve mystery sonic attacks on diplomats johnshades 5
2018-12-27 10:00:38 Ask HN: What is your favorite open-source job scheduler bohinjc 6
2018-12-22 06:53:46 How to Version-Control Jupyter Notebooks tosh 164
2018-12-04 10:25:47 Teaching and Learning with Jupyter (A book by Jupyter for Education) westurner 5
2018-11-27 17:48:54 Margin Notes: Automatic code documentation with recorded examples from runtime mpweiher 67
2018-11-24 15:33:08 Time to break academic publishing's stranglehold on research joeyespo 692
2018-11-22 10:32:27 Ask HN: How can I learn to read mathematical notation? cursorial 211
2018-10-18 18:07:59 New law lets you defer capital gains taxes by investing in opportunity zones rmason 88
2018-10-15 19:55:06 How to Write a Technical Paper [pdf] boricensis 360
2018-10-15 15:19:40 JSON-LD 1.0: A JSON-Based Serialization for Linked Data geezerjay 2
2018-10-14 15:30:29 Jeff Hawkins Is Finally Ready to Explain His Brain Research tysone 489
2018-10-12 03:02:01 Interstellar Visitor Found to Be Unlike a Comet or an Asteroid Bootvis 204
2018-10-12 02:15:03 Publishing more data behind our reporting gballan 146
2018-10-10 22:23:44 CSV 1.1 – CSV Evolved (for Humans) polm23 84
2018-10-11 06:42:34 Ask HN: Which plants can be planted indoors and easily maintained? gymshoes 123
2018-10-08 10:23:38 Graduate Student Solves Quantum Verification Problem digital55 267
2018-10-05 07:53:30 The down side to wind power todd8 63
2018-10-05 05:47:19 Thermodynamics of Computation Wiki westurner 2
2018-10-04 09:27:48 Why Do Computers Use So Much Energy? tshannon 220
2018-09-30 22:11:07 Justice Department Sues to Stop California Net Neutrality Law jonburs 201
2018-09-22 10:52:45 White House Drafts Order to Probe Google, Facebook Practices Jerry2 105
2018-09-19 20:37:52 Ask HN: Books about applying the open source model to society kennu 1
2018-09-12 16:02:35 Today, Europe Lost The Internet. Now, We Fight Back DiabloD3 433
2018-09-01 14:13:52 Consumer science (a.k.a. home economics) as a college major guard0g 4
2018-08-28 11:18:26 Facebook vows to run on 100 percent renewable energy by 2020 TamoC 2
2018-08-30 12:51:10 California Moves to Require 100% Clean Electricity by 2045 dsr12 407
2018-08-29 11:15:59 Miami Will Be Underwater Soon. Its Drinking Water Could Go First hourislate 264
2018-08-29 22:50:51 Free hosting VPS for NGO project? vikramjb 1
2018-08-29 12:18:35 The Burden: Fossil Fuel, the Military and National Security westurner 3
2018-08-29 02:27:58 Scientists Warn the UN of Capitalism's Imminent Demise westurner 1
2018-08-28 14:41:52 Firefox Nightly Secure DNS Experimental Results Vinnl 40
2018-08-28 08:31:48 Long-sought decay of Higgs boson observed at CERN chmaynard 243
2018-08-28 09:00:54 Sen. Wyden Confirms Cell-Site Simulators Disrupt Emergency Calls DiabloD3 518
2018-08-23 00:01:34 Building a Model for Retirement Savings in Python koblenski 3
2018-08-20 21:38:10 New E.P.A. Rollback of Coal Pollution Regulations Takes a Major Step Forward yaseen-rob 3
2018-08-20 14:21:22 Researchers Build Room-Temp Quantum Transistor Using a Single Atom jonbaer 3
2018-08-20 10:55:17 New “Turning Tables” Technique Bypasses All Windows Kernel Mitigations yaseen-rob 2
2018-08-19 22:27:20 Um – Create your own man pages so you can remember how to do stuff quickthrower2 646
2018-08-15 04:52:10 Leverage Points: Places to Intervene in a System pjc50 113
2018-08-15 03:46:23 SQLite Release 3.25.0 adds support for window functions MarkusWinand 333
2018-08-15 19:53:03 Update on the Distrust of Symantec TLS Certificates dumpsterkid 3
2018-08-11 07:57:44 The Transport Layer Security (TLS) Protocol Version 1.3 dochtman 255
2018-08-12 08:56:52 Academic Torrents – Making 27TB of research data available jacquesm 1081
2018-08-10 15:19:24 1/0 = 0 ingve 650
2018-08-07 15:43:05 Power Worth Less Than Zero Spreads as Green Energy Floods the Grid bumholio 537
2018-08-05 15:27:39 Kernels, a free hosted Jupyter notebook environment with GPUs benhamner 95
2018-07-22 14:16:25 Solar and wind are coming. And the power sector isn’t ready spenrose 174
2018-07-11 13:15:47 Solar Just Hit a Record Low Price in the U.S toomuchtodo 456
2018-07-10 23:53:58 Causal Inference Book luu 104
2018-07-02 10:18:14 Tim Berners-Lee is working a platform designed to re-decentralize the web rapnie 36
2018-07-01 06:49:08 More States Opting to 'Robo-Grade' Student Essays by Computer happy-go-lucky 44
2018-07-02 07:26:28 Ask HN: Looking for a simple solution for building an online course r4victor 57
2018-06-30 15:45:56 There is now a backprop principle for deep learning on quantum computers GVQ 3
2018-06-30 21:03:36 New research a ‘breakthrough for large-scale discrete optimization’ new_guy 96
2018-06-29 23:17:31 Wind, solar farms produce 10% of US power in the first four months of 2018 toomuchtodo 85
2018-06-25 16:57:46 FDA approves first marijuana-derived drug and it may spark DEA rescheduling mikece 150
2018-06-21 10:22:43 States Can Require Internet Tax Collection, Supreme Court Rules uptown 541
2018-06-18 08:26:23 William Jennings Bryan’s “Cross of Gold” Speech zjacobi 71
2018-06-17 18:13:13 Ask HN: Do you consider yourself to be a good programmer? type0 27
2018-06-17 11:00:59 Handles are the better pointers ingve 194
2018-06-14 14:13:13 Neural scene representation and rendering johnmoberg 540
2018-06-17 20:19:20 New US Solar Record – 2.155 Cents per KWh prostoalex 4
2018-06-10 18:04:07 Ask HN: Is there a taxonomy of machine learning types? ljw1001 3
2018-05-22 16:22:43 Senator requests better https compliance at US Department of Defense [pdf] anigbrowl 168
2018-05-22 23:15:18 Banks Adopt Military-Style Tactics to Fight Cybercrime petethomas 3
2018-04-12 13:13:10 No, Section 230 Does Not Require Platforms to Be “Neutral” panarky 6
2018-04-11 14:28:06 Ask HN: Do battery costs justify “buy all sell all” over “net metering”? westurner 1
2018-04-09 21:17:43 Portugal electricity generation temporarily reaches 100% renewable mgdo 234
2018-04-06 19:16:25 GPU Prices Drop ~25% in March as Supply Normalizes merqurio 2
2018-04-09 23:51:08 Apple says it’s now powered by renewable energy worldwide iamspoilt 272
2018-03-18 13:13:15 Hackers Are So Fed Up with Twitter Bots They’re Hunting Them Down Themselves CrankyBear 271
2018-03-02 08:21:41 “We’re committing Twitter to increase the health and civility of conversation” dankohn1 147
2018-03-01 02:06:42 Gitflow – Animated in React v33ra 3
2018-02-28 22:06:35 Ask HN: How feasible is it to become proficient in several disciplines? diehunde 4
2018-02-27 09:47:40 After rising for 100 years, electricity demand is flat aaronbrethorst 629
2018-02-27 10:37:54 A framework for evaluating data scientist competency schaunwheeler 3
2018-02-27 18:28:01 Levi Strauss to use lasers instead of people to finish jeans e2e4 3
2018-02-27 18:24:45 Chaos Engineering: the history, principles, and practice austingunter 2
2018-02-27 09:52:39 Scientists use an atomic clock to measure the height of a mountain montrose 45
2018-02-27 18:10:10 Resources to learn project management best practices? chuie 1
2018-02-22 15:35:51 Ask HN: Thoughts on a website-embeddable, credential validating service? estroz 28
2018-02-21 05:03:58 Ask HN: What's the best algorithms and data structures online course? zabana 272
2018-02-20 15:14:40 Using Go as a scripting language in Linux neoasterisk 8
2018-02-18 12:09:07 Guidelines for enquiries regarding the regulatory framework for ICOs [pdf] paulsutter 23
2018-02-16 00:16:09 The Benjamin Franklin method for learning more from programming books nancyhua 566
2018-02-10 20:41:21 Avoiding blackouts with 100% renewable energy ramonvillasante 2
2018-02-10 11:25:54 Ask HN: What are some common abbreviations you use as a developer? yagamidev 3
2018-02-09 19:42:21 There Might Be No Way to Live Comfortably Without Also Ruining the Planet SirLJ 43
2018-02-08 22:52:44 Multiple GWAS finds 187 intelligence genes and role for neurogenesis/myelination gwern 2
2018-02-08 20:33:49 Could we solve blockchain scaling with terabyte-sized blocks? gwern 4
2018-02-07 20:50:24 Ask HN: Do you have ADD/ADHD? How do you manage it? vumgl 4
2018-02-03 14:36:02 Ask HN: How to understand the large codebase of an open-source project? maqbool 186
2018-02-03 13:56:30 What is the best way to learn to code from absolute scratch? eliotpeper 8
2018-02-02 04:35:58 Tesla racing series: Electric cars get the green light – Roadshow rbanffy 77
2018-02-02 13:40:19 What happens if you have too many jupyter notebooks? tvorogme 4
2018-02-01 00:49:46 Cancer ‘vaccine’ eliminates tumors in mice jv22222 942
2018-02-01 12:23:08 Boosting teeth’s healing ability by mobilizing stem cells in dental pulp digital55 306
2018-01-29 17:11:55 This Biodegradable Paper Donut Could Let Us Reforest the Planet westurner 2
2018-01-29 16:44:35 Drones that can plant 100k trees a day artsandsci 147
2018-01-27 22:21:28 What are some YouTube channels to progress into advanced levels of programming? altsyset 41
2018-01-25 17:41:24 Multiple issue and pull request templates clarkbw 17
2018-01-25 17:38:38 Five myths about Bitcoin’s energy use nvk 10
2018-01-23 18:41:16 Ask HN: Which programming language has the best documentation? siquick 3
2018-01-18 06:36:07 Ask HN: Recommended course/website/book to learn data structure and algorithms strikeX 3
2018-01-19 17:06:07 Why is quicksort better than other sorting algorithms in practice? isp 5
2018-01-18 16:16:16 ORDO: a modern alternative to X.509 juancampa 1
2018-01-18 11:47:03 Wine 3.0 Released etiam 724
2018-01-18 19:51:30 Kimbal Musk is leading a $25M mission to fix food in US schools rmason 2
2018-01-13 21:42:47 Spinzero – A Minimal Jupyter Notebook Theme neilpanchal 5
2018-01-11 13:27:17 What does the publishing industry bring to the Web? mpweiher 2
2018-01-10 14:02:09 Git is a blockchain Swizec 13
2018-01-07 12:06:03 Show HN: Convert Matlab/NumPy matrices to LaTeX tables tpaschalis 4
2018-01-02 10:48:10 A Year of Spaced Repetition Software in the Classroom misiti3780 4
2017-12-27 08:32:39 NIST Post-Quantum Cryptography Round 1 Submissions sohkamyung 130
2018-01-01 21:38:58 What are some good resources to learn about Quantum Computing? nmehta21 3
2017-12-29 15:53:06 Gridcoin: Rewarding Scientific Distributed Computing trueduke 134
2017-12-26 12:37:07 Power Prices Go Negative in Germany kwindla 485
2017-12-21 14:30:35 Mathematicians Find Wrinkle in Famed Fluid Equations digital55 240
2017-12-20 10:43:31 Bitcoin is an energy arbitrage js4 51
2017-12-19 17:03:30 There are now more than 200k pending Bitcoin transactions OyoKooN 192
2017-12-17 22:16:06 What ORMs have taught me: just learn SQL (2014) ausjke 540
2017-12-17 07:32:06 Show HN: An educational blockchain implementation in Python jre 412
2017-12-16 08:12:44 MSU Scholars Find $21T in Unauthorized Government Spending sillypuddy 137
2017-12-13 04:59:42 Universities spend millions on accessing results of publicly funded research versteegen 624
2017-12-11 19:49:44 An Interactive Introduction to Quantum Computing kevlened 254
2017-12-12 12:34:46 Quantum attacks on Bitcoin, and how to protect against them (ECDSA, SHA256) westurner 2
2017-12-10 17:50:44 Project Euler vinchuco 792
2017-12-12 10:17:39 Who’s Afraid of Bitcoin? The Futures Traders Going Short thisisit 54
2017-12-11 19:21:38 Statement on Cryptocurrencies and Initial Coin Offerings corbinpage 811
2017-12-11 15:02:04 Ask HN: How do you stay focused while programming/working? flipfloppity 83
2017-12-08 10:53:49 A Hacker Writes a Children's Book arthurjj 171
2017-12-11 18:17:52 Ask HN: Do ISPs have a legal obligation to not sell minors' web history anymore? westurner 2
2017-12-11 11:58:38 Tech luminaries call net neutrality vote an 'imminent threat' kjhughes 279
2017-12-06 18:55:25 Ask HN: Can hashes be replaced with optimization problems in blockchain? pacavaca 3
2017-12-01 01:19:43 Ask HN: What could we do with all the mining power of Bitcoin? Fold Protein? sova 3
2017-12-03 20:14:58 No CEO needed: These blockchain platforms will let ‘the crowd’ run startups maxwellnardi 4
2017-12-04 04:59:08 How much energy does Bitcoin mining really use? trueduke 3
2017-12-02 00:27:40 The Actual FCC Net Neutrality Repeal Document. TLDR: Read Pages 82-87 [pdf] croatoan 3
2017-12-01 21:55:26 The 5 most ridiculous things the FCC says in its new net neutrality propaganda pulisse 164
2017-12-01 13:15:47 FCC's Pai, addressing net neutrality rules, calls Twitter biased joeyespo 13
2017-12-01 05:49:25 A curated list of Chaos Engineering resources dastergon 51
2017-12-01 11:24:06 Technology behind Bitcoin could aid science, report says digital55 13
2017-11-30 15:07:26 Git hash function transition plan vszakats 215
2017-11-30 22:04:20 Vintage Cray Supercomputer Rolls Up to Auction ohjeez 3
2017-11-30 21:21:09 Google is officially 100% sun and wind powered – 3.0 gigawatts worth rippsu 163
2017-11-29 12:29:30 Interactive workflows for C++ with Jupyter SylvainCorlay 292
2017-11-28 16:01:32 Vanguard Founder Jack Bogle Says ‘Avoid Bitcoin Like the Plague’ dionmanu 105
2017-11-29 11:22:54 Nasdaq Plans to Introduce Bitcoin Futures knwang 416
2017-11-28 17:49:07 Ask HN: Where do you think Bitcoin will be by 2020? rblion 10
2017-11-28 18:03:11 Ask HN: Why would anyone share trading algorithms and compare by performance? westurner 1
2017-11-25 06:28:39 Ask HN: CS papers for software architecture and design? avrmav 513
2017-11-15 10:24:27 Keeping a Lab Notebook [pdf] Tomte 327
2017-10-28 08:12:53 How to teach technical concepts with cartoons Tomte 170
2017-10-22 16:43:03 Fact Checks fanf2 126
2017-10-19 05:51:13 DHS orders agencies to adopt DMARC email security puppetmaster30 2
2017-10-18 21:20:00 The electricity for 1BTC trade could power a house for a month niyikiza 25
2017-10-19 05:20:26 PAC Fundraising with Ethereum Contracts? westurner 1
2017-10-19 05:16:25 SolarWindow Completes Financing ($2.5m) westurner 2
2017-10-16 12:48:08 Here’s what you can do to protect yourself from the KRACK WiFi vulnerability tdrnd 2
2017-10-14 12:41:29 The Solar Garage Door – A Possible Alternative to the Emergency Generator curtis 2
2017-10-14 07:34:07 Using the Web Audio API to Make a Modem maaaats 307
2017-10-11 18:25:17 Ask HN: How to introduce someone to programming concepts during 12-hour drive? nkkollaw 9
2017-09-27 01:24:13 American Red Cross Asks for Ham Radio Operators for Puerto Rico Relief Effort kw71 346
2017-09-26 14:58:38 Technical and non-technical tips for rocking your coding interview duck 259
2017-09-23 12:12:36 Django 2.0 alpha orf 156
2017-09-24 00:15:28 Ask HN: What is the best way to spend my time as a 17-year-old who can code? jmeyer2k 161
2017-09-21 14:18:33 Democrats fight FCC's plans to redefine “broadband” from 25+ to 10+ Mbps gnicholas 18
2017-09-17 12:49:37 Ask HN: Any detailed explanation of computer science smithmayowa 2
2017-09-16 18:40:33 Ask HN: What algorithms should I research to code a conference scheduling app viertaxa 55
2017-09-15 05:51:45 What have been the greatest intellectual achievements? Gormisdomai 42
2017-09-15 23:22:02 Ask HN: What can't you do in Excel? (2017) danso 37
2017-09-08 20:04:36 Open Source Ruling Confirms Enforceability of Dual-Licensing and Breach of GPL t3f 116
2017-09-01 11:27:30 Elon Musk Describes What Great Communication Looks Like endswapper 90
2017-09-01 04:05:12 Great Ideas in Theoretical Computer Science tu7001 290
2017-08-28 16:06:24 Ask HN: How do you, as a developer, set measurable and actionable goals? humaninstrument 24
2017-08-26 16:06:24 Bitcoin Energy Consumption Index schwabacher 256
2017-08-26 09:59:19 Dancing can reverse the signs of aging in the brain brahmwg 71
2017-08-26 09:03:19 Rumours swell over new kind of gravitational-wave sighting indescions_2017 258
2017-08-20 12:56:37 New Discovery Simplifies Quantum Physics wolfgke 2
2017-08-23 03:22:00 OpenAI has developed new baseline tool for improving deep reinforcement learning grey_shirts 3
2017-08-24 23:19:03 The prior can generally only be understood in the context of the likelihood selimthegrim 94
2017-08-22 04:13:00 Ask HN: How to find/compare trading algorithms with Quantopian? westurner 3
2017-08-22 04:09:17 Ask HN: How do IPOs and ICOs help a business raise capital? westurner 2
2017-08-22 04:02:04 Solar Window coatings “outperform rooftop solar by 50-fold” westurner 4
2017-08-21 23:30:16 MS: Bitcoin mining uses as much electricity as 1M US homes pulisse 79
2017-08-15 15:45:47 Ask HN: What are your favorite entrepreneurship resources brianbreslin 13
2017-05-09 12:59:38 CPU Utilization is Wrong dmit 624
2017-05-06 17:13:03 Ask HN: Can I use convolutional neural networks to clasify videos on a CPU Faizann20 1
2017-05-01 10:17:36 Esoteric programming paradigms SlyShy 397
2017-04-27 04:41:09 gRPC-Web: Moving past REST+JSON towards type-safe Web APIs bestan 329
2017-04-16 03:59:55 Reasons blog posts can be of higher scientific quality than journal articles vixen99 233
2017-04-07 12:50:38 Fact Check now available in Google Search and News fouadmatin 302
2017-04-07 20:07:05 Ask HN: Is anyone working on CRISPR for happiness? arikr 4
2017-03-26 14:58:59 Roadmap to becoming a web developer in 2017 miguelarauj1o 4
2017-03-20 19:14:10 Beautiful Online SICP Dangeranger 762
2017-03-19 11:52:48 Ask HN: How do you keep track/save your learnings?(so that you can revisit them) mezod 4
2017-03-11 13:26:30 Ask HN: Criticisms of Bayesian statistics? muraiki 1
2017-01-16 18:53:09 80,000 Hours career plan worksheet BreakoutList 230
2017-01-07 18:27:31 World's first smartphone with a molecular sensor is coming in 2017 walterbell 19
2016-12-31 12:11:14 Ask HN: How would one build a business that only develops free software? anondon 12
2016-12-29 00:40:11 Ask HN: If your job involves continually importing CSVs, what industry is it? iamwil 12
2016-12-09 17:21:13 Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work? tastyface 328
2016-11-20 06:33:34 Ask HN: Anything Like Carl Sagan's Cosmos for Computer Science? leksak 32
2016-11-20 10:32:00 Learn X in Y minutes anonu 161
2016-11-03 05:46:50 Org mode 9.0 released Philipp__ 285
2016-11-13 00:23:33 Ask HN: Best Git workflow for small teams tmaly 166
2016-11-10 15:46:57 TDD Doesn't Work narfz 153
2016-11-07 14:13:48 C for Python programmers (2011) bogomipz 314
2016-10-26 02:19:06 Ask HN: How do you organise/integrate all the information in your life? tonteldoos 323
2016-10-23 14:06:00 Ask HN: What are the best web tools to build basic web apps as of October 2016? arikr 114
2016-10-16 10:55:18 Harvard and M.I.T. Are Sued Over Lack of Closed Captions lsh123 45
2016-10-06 11:15:16 Jack Dorsey Is Losing Control of Twitter miraj 283
2016-09-18 09:09:04 Schema.org: Mission, Project, Goal, Objective, Task westurner 49
2016-09-18 08:59:41 This week is #GlobalGoals week (and week of The World's Largest Lesson) westurner 1
2016-08-19 08:12:25 The Open Source Data Science Masters nns 95
2016-07-29 06:08:29 We Should Not Accept Scientific Results That Have Not Been Repeated dnetesn 910
2016-05-30 07:39:05 The SQL filter clause: selective aggregates MarkusWinand 138
2016-05-29 23:36:23 Ask HN: What do you think about the current education system? alejandrohacks 36
2016-05-10 08:55:01 A Reboot of the Legendary Physics Site ArXiv Could Shape Open Science tonybeltramelli 174
2014-03-23 14:27:04 Principles of good data analysis gjreda 108
2014-03-11 08:16:38 Why Puppet, Chef, Ansible aren't good enough iElectric2 362
2014-03-11 20:12:16 Python vs Julia – an example from machine learning ajtulloch 170
2014-02-17 10:23:21 Free static page hosting on Google App Engine in minutes fizerkhan 95
2014-02-03 09:15:30 “Don’t Reinvent the Wheel, Use a Framework” They All Say mogosselin 79
2013-09-09 10:20:50 IPython in Excel vj44 73
2013-08-11 01:56:12 PEP 450: Adding A Statistics Module To The Standard Library petsos 185
2013-08-02 21:03:51 Functional Programming with Python llambda 107
2013-08-01 10:59:55 PEP 8 Modernisation tristaneuan 213
2013-07-15 12:40:04 Useful Unix commands for data science gjreda 221
2013-07-13 11:35:40 The data visualization community needs its own Hacker News ejfox 11
2013-07-06 08:59:22 Ask HN: Intermediate Python learning resources? jesusx 113
2013-07-03 08:00:50 Ansible Simply Kicks Ass hunvreus 185
2013-06-29 05:44:08 Python-Based Tools for the Space Science Community neokya 76
2013-05-04 21:21:29 Debian 7.0 "Wheezy" released sciurus 428
2013-05-04 10:40:20 Big-O Algorithm Complexity Cheat Sheet ashleyblackmore 520
2013-05-03 22:32:14 JSON API steveklabnik 227
2013-05-04 14:04:39 Norton Ghost discontinued ruchirablog 42

Items^

[-]

Ask HN: Resources to encourage teen on becoming computer engineer?

Howdy HN

A teenager I am close with would like to become a computer engineer. Whet resources, books, podcasts, camps, or experiences do you recommend to support this teen's endeavor?

"Ask HN: Something like Khan Academy but full curriculum for grade schoolers?" [through undergrads] https://news.ycombinator.com/item?id=23794001

"Ask HN: How to introduce someone to programming concepts during 12-hour drive?" https://news.ycombinator.com/item?id=15454071

"Ask HN: Any detailed explanation of computer science" https://news.ycombinator.com/item?id=15270458 : topologically-sorted? Information Theory and Constructor Theory are probably at the top:

> A bottom-up (topologically sorted) computer science curriculum (a depth-first traversal of a Thing graph) ontology would be a great teaching resource.

> One could start with e.g. "Outline of Computer Science", add concept dependency edges, and then topologically (and alphabetically or chronologically) sort.

> https://en.wikipedia.org/wiki/Outline_of_computer_science

> There are many potential starting points and traversals toward specialization for such a curriculum graph of schema:Things/skos:Concepts with URIs.

> How to handle classical computation as a "collapsed" subset of quantum computation? Maybe Constructor Theory?

> https://en.wikipedia.org/wiki/Constructor_theory

https://westurner.github.io/hnlog/ ... Ctrl-F "interview", "curriculum"

[-]

CadQuery: A Python parametric CAD scripting framework based on OCCT

[+]

The jupyter-cadquery extension renders models with three.js via pythreejs in a sidebar with jupyterlab-sidecar: https://github.com/bernhard-42/jupyter-cadquery#b-using-a-do...

https://github.com/bernhard-42/jupyter-cadquery/blob/master/...

[-]

Array Programming with NumPy

Looks like there's a new citation for NumPy in town.

"Citing packages in the SciPy ecosystem" lists the existing citations for SciPy, NumPy, scikits, and other -Py things: https://www.scipy.org/citing.html ( source: https://github.com/scipy/scipy.org/blob/master/www/citing.rs... )

A better way to cite requisite software might involve referencing a https://schema.org/SoftwareApplication record in JSON-LD, RDFa, or Microdata; for example: https://news.ycombinator.com/item?id=24489651

But there's as of yet no way to publish JSON-LD, RDFa, or Microdata Linked Data from LaTeX with Computer Modern.

[+]
[+]
[+]
[+]

You can get a free DOI for and archive a tag of a Git repo with FigShare or Zenodo.

If you have repo2docker REES dependency scripts (requirements.txt, environment.yml, postInstall,) in your repo, a BinderHub like https://mybinder.org can build and cache a container image and launch a (free) instance in a k8s cloud.

Journals haven't yet integrated with BinderHub.

Putting the suggested citation and DOI URI/URL in your README and cataloging citations in an e.g. wiki page may increase the crucial frequency of citation.

A Linked Data format for presenting well-formed arguments with #StructuredPremises would help to realize the potential of the web as a graph of resources which may satisfy formal inclusion criteria for #LinkedMetaAnalyses.

[+]

We could reason about sites that index https://schema.org/ScholarlyArticle according to our own and others' observations. Google Scholar, Semantic Scholar, and Meta all index Scholarly Articles: they copy the bibliographic metadata and the abstract for archival and schoarly purposes.

AFAIU, e.g. Zotero and Mendeley do not crawl and index articles or attempt to parse bibliographic citations from the astounding plethora of citation styles [citationstyles, citationstyles_stylerepo] into a citation graph suitable for representative metrics [zenodo_newmetrics].

bitcoin.org/bitcoin.pdf does not have a DOI, does not have an ORCID [orcid], and is not published in any journal but is indexed by e.g. Google Scholar; though there are apparently multiple records referring to a ScholarlyArticle with the same name and author. Something like "Hell's Angels" (1930)? No DOI, no ORCID, no parseable PDF structure: not indexed.

AFAIU, Google Scholar does not yet index ScholarlyArticle (or SoftwareApplication < CreativeWork) bibliographic metadata. GScholar indexes an older set of bibliographic metadata from HTML <meta> tags and also attempts to parse PDFs. [gscholar_inclusion]

Google Scholar is also not (yet?) integrated with Google Dataset Search (which indexes https://schema.org/Dataset metadata).

FigShare DOIs and Zenodo DOIs are DataCite DOIs [figshare_howtocite, zenodo_principles]; which apparently aren't (yet?) all indexed by Google Scholar [rescience_gscholar].

IIUC, all papers uploaded to https://arxiv.org are indexed by Google Scholar. In order for arxiv-vanity.org [arxiv_vanity] to render a mobile-ready, font-resizeable HTML5 version of a paper uploaded to ArXiV, the PostScript source must be uploaded. Arxiv hosts certain categories of ScholarlyArticles.

JOSS (Journal of Open Source Software) has managed to get articles indexed by Google Scholar [rescience_gscholar]. They publish their costs [joss_costs]: $275 Crossref membership, DOIs: $1/paper:

> Assuming a publication rate of 200 papers per year this works out at ~$4.75 per paper

[citationstyles]: https://citationstyles.org

[citationstyles_stylerepo]: https://github.com/citation-style-language/styles

[gscholar_inclusion]: https://scholar.google.com/intl/en/scholar/inclusion.html#in...

[figshare_howtocite]: https://knowledge.figshare.com/articles/item/how-to-share-ci...

[zenodo_principles]: https://about.zenodo.org/principles/

[zenodo_newmetrics]: https://www.frontiersin.org/articles/10.3389/frma.2017.00013...

[rescience_gscholar]: https://github.com/ReScience/ReScience/issues/38

[arxiv_vanity]: https://www.arxiv-vanity.com/

[joss_costs]: https://joss.theoj.org/about#costs

[orcid]: https://en.wikipedia.org/wiki/ORCID

[-]

Do you like the browser bookmark manager?

How do you think it compares to services like webcull.com, raindrop.io, or getpocket.com? Have they advanced the field to the point that it's worth switching?

Things I'd add to browser bookmark managers someday:

- Support for (persisting) bookmarks tags. From the post re: the re-launch of del.icio.us: https://news.ycombinator.com/item?id=23985623

> "Allow reading and writing bookmark tags" https://bugzilla.mozilla.org/show_bug.cgi?id=1225916

> Notes re: how this could be standardized with JSON-LD: https://bugzilla.mozilla.org/show_bug.cgi?id=1225916#c116

> The existing Web Experiment for persisting bookmark tags: https://github.com/azappella/webextension-experiment-tags/bl...

- Standard search features like operators: ((term) AND (term2)) OR term3

- Regex search

- (Chrome) show the createdDate and allow (non-destructive) sort by date

- Native sync API for syncing to zero or more bookmarks / personal data storage providers

- Support for integration with extensions that support actual resource metadata like Zotero

- Linked Data support: extract and store bibliographic metadata like Zotero and OpenLink Structured Data Sniffer

What are the current limitations of the WebExtensions Bookmarks API (now supported by Firefox, Chrome, Edge, and hopefully eventually Safari)?: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

[-]

NIST Samate – Source Code Security Analyzers

Additional lists of static analysis, dynamic analysis, SAST, DAST, and other source code analysis tools:

OWAP > Source Code Analysis Tools: https://owasp.org/www-community/Source_Code_Analysis_Tools

https://analysis-tools.dev/ (supports upvotes and downvotes)

analysis-tools-dev/static-analysis: https://github.com/analysis-tools-dev/static-analysis

analysis-tools-dev/dynamic-analysis: https://github.com/analysis-tools-dev/dynamic-analysis

devsecops/awesome-devsecops: https://github.com/devsecops/awesome-devsecops , https://github.com/TaptuIT/awesome-devsecops

kai5263499/awesome-container-security: https://github.com/kai5263499/awesome-container-security

https://en.wikipedia.org/wiki/DevOps#DevSecOps,_Shifting_Sec... :

> DevSecOps is an augmentation of DevOps to allow for security practices to be integrated into the DevOps approach. The traditional centralised security team model must adopt a federated model allowing each delivery team the ability to factor in the correct security controls into their DevOps practices.

awesome-safety-critical: https://awesome-safety-critical.readthedocs.io/en/latest/

[-]

A Handwritten Math Parser in 100 lines of Python

[+]
[+]

Reverse Polish notation (RPN) > Converting from infix notation https://en.wikipedia.org/wiki/Reverse_Polish_notation#Conver... > Shunting-yard algorithm https://en.wikipedia.org/wiki/Shunting-yard_algorithm

Infix notation supports parentheses.

Infix notation: 3 + 4 × (2 − 1)

RPN: 3 4 2 1 − × +

[-]

PEP – An open source PDF editor for Mac

[+]
[+]
[+]
[+]

> RFC 4122 defines a Uniform Resource Name (URN) namespace for UUIDs. A UUID presented as a URN appears as follows:[1]

> > urn:uuid:123e4567-e89b-12d3-a456-426655440000

https://en.wikipedia.org/wiki/Universally_unique_identifier#...

Version 4 UUIDs have 122 random bits (out of 128 bits total).

In Python:

  >>> import uuid
  >>> _id = uuid.uuid4()
  >>> _id.urn
  'urn:uuid:4c466878-a81b-4f22-a112-c704655fa4ee'
Whether search engines will consider a URL or a URN or a random str without dashes to be one searchable-for token is pretty ironic in terms of extracting relations between resources in a Linked Data hypergraph.

  >>> _id.hex
  '4c466878a81b4f22a112c704655fa4ee'
The relation between a resource and a Thing with a URI/URN/URL can be expressed with https://schema.org/about . In JSON-LD ("JSONLD"):

  {"@context": "https://schema.org",
   "@type": "WebPage",
   "about": {
     "@type": "SoftwareApplication",
     "identifier": "urn:uuid:4c466878-a81b-4f22-a112-c704655fa4ee",
     "url": ["", ""],
     "name": [
       "a schema.org/SoftwareApplication < CreativeWork < Thing",
       {"@value": "a rose by any other name",
        "@language": "en"}]}}
Or with RDFa:

  <body vocab="https://schema.org/" typeof="WebPage">
    <div property="about" typeof="SoftwareApplication">
      <meta property="identifier" content="urn:uuid:4c466878-a81b-4f22-a112-c704655fa4ee"/>
      
      
      <span property="name">a schema.org/SoftwareApplication < CreativeWork < Thing</span>
      <span property="name" lang="en">a rose by any other name</span>
    </div>
  </body>
Or with Microdata:

  <div itemtype="https://schema.org/WebPage" itemscope>
    <link itemprop="http://www.w3.org/ns/rdfa#usesVocabulary" href="https://schema.org/" />
    <div itemprop="about" itemtype="https://schema.org/SoftwareApplication" itemscope>
      
      
      <meta itemprop="identifier" content="urn:uuid:4c466878-a81b-4f22-a112-c704655fa4ee" />
      <meta itemprop="name" content="a schema.org/SoftwareApplication < CreativeWork < Thing"/>
      <meta itemprop="name" content="a rose by any other name" lang="en"/>
    </div>
  </div>

[-]

The Unix timestamp will begin with 16 this Sunday

It's gonna be so fun. In UTC:

  >>> import datetime
  >>> datetime.datetime.now().timestamp()
  1599923432.252943
  >>> datetime.datetime.fromtimestamp(16e8)
  datetime.datetime(2020, 9, 13, 8, 26, 40)

[-]

Redox: Unix-Like Operating System in Rust

[+]

Are there tools to support static analysis and formal methods in Rust yet?

From https://news.ycombinator.com/item?id=21839514 re: awesome-safety-critical https://awesome-safety-critical.readthedocs.io/en/latest/ :

> > Does Rust have a chance in mission-critical software? (currently Ada and proven C niches) https://www.reddit.com/r/rust/comments/5iv5j7/does_rust_have...

FWIU, Sealed Rust is in progress.

And there's also RustPython for the userspace.

[-]

Ask HN: How are online communities established?

HN, Reddit, Stack Overflow, etc. are all established communities with users. How do you start a community when you don't have any users?

[+]

Seconded. "People Powered: How Communities Can Supercharge Your Business, Brand, and Teams" (2019) https://g.co/kgs/CF5TEk

"The Art of Community: Building the New Age of Participation" (2012) https://g.co/kgs/P2V1kn

"Tribes: We need you to lead us" (2011) https://g.co/kgs/T8jaFS

The 1% 'rule' https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture) :

> In Internet culture, the 1% rule is a rule of thumb pertaining to participation in an internet community, stating that only 1% of the users of a website add content, while the other 99% of the participants only lurk. Variants include the 1–9–90 rule (sometimes 90–9–1 principle or the 89:10:1 ratio),[1] which states that in a collaborative website such as a wiki, 90% of the participants of a community only consume content, 9% of the participants change or update content, and 1% of the participants add content.

... Relevant metrics:

- Marginal cost of service https://en.wikipedia.org/wiki/Marginal_cost

- Customer acquisition cost: https://en.wikipedia.org/wiki/Customer_acquisition_cost

- [Quantifiable and non-quantifiable] Customer Lifetime Value: https://en.wikipedia.org/wiki/Customer_lifetime_value

Last words of the almost-cliche community organizer surrounded by dormant accounts: "Network effects will result in sufficient (grant) funding"

Business model examples that may be useful for building and supporting sustainable communities with clear Missions, Objectives, and Criteria for Success: https://gist.github.com/ndarville/4295324

[-]

Python Documentation Using Sphinx

I usually generate new Python projects with a cookiecutter; such as cookiecutter-pypackage. I like the way that cookiecutter-pypackage includes a Makefile which has a `docs` task so that I can call `make docs` to build the sphinx docs in the docs/ directory which include:

- a /docs/readme.rst that includes the /README.rst as the first document in the toctree

- a sensible set of default documents: readme (.. include:: /README.rst), installation, usage, modules (sphinx-autodoc output), contributing, authors, history (.. include:: /HISTORY.rst)

- a sphinx conf.py that sets the docs' version and release attributes to pkgname.__version__; so that the version number only needs to be changed in one place (as long as setup.py or setup.cfg also read the version string from pkgname.__version__)

- a default set of extensions: ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] that generates API docs and includes '[source]' hyperlinks from the generated API docs to the transcluded syntax-highlighted source code and links back to the API docs from the source code

https://github.com/audreyfeldroy/cookiecutter-pypackage/tree...

There are a few styles of docstrings that Sphinx can parse and include in docs with e.g. sphinx-autodoc:

`:param, :type, :returns, :rtype` docstrings (which OP uses; and which pycontracts can read runtime parameter and return type contracts from https://andreacensi.github.io/contracts/ (though Python 3 annotations are now the preferred style for compile or editing-time typechecks))

Numpydoc docstrings: https://numpydoc.readthedocs.io/en/latest/format.html

Googledoc docstrings: https://sphinxcontrib-napoleon.readthedocs.io/en/latest/

You can use Markdown with Sphinx in at least three ways:

MyST Markdown supports Sphinx and Docutils roles and directives. Jupyter Book builds upon MyST Markdown. With Jupyter Book, you can include Jupyter notebooks (which can include MyST Markdown) in your Sphinx docs. Executable notebooks are a much easier way to include up-to-date code outputs in docs. https://myst-parser.readthedocs.io/en/latest/

Sphinx (& ReadTheDocs) w/ recommonmark: https://docs.readthedocs.io/en/stable/intro/getting-started-...

Nbsphinx predates Jupyter Book and doesn't yet support MyST Markdown, but does support Markdown cells in Jupyter notebooks. Nbsphinx includes a parser for including .ipynb Jupyter notebooks in Sphinx docs. nbsphinx supports raw RST (ReST) cells in Jupyter notebooks and has great docs: https://nbsphinx.readthedocs.io/en/latest/

Nbdev is another approach; though it's not Sphinx:

> nbdev is a library that allows you to fully develop a library in Jupyter Notebooks, putting all your code, tests and documentation in one place.

> [...] Add %nbdev_export flags to the cells that define the functions you want to include in your python modules

https://github.com/fastai/nbdev

A few additional sources of docs for Sphinx and ReStructuredText:

Read The Docs docs > Getting Started with Sphinx > External Resources https://docs.readthedocs.io/en/stable/intro/getting-started-...

CPython Devguide > "Documenting Python" https://devguide.python.org/documenting/

"How to write [Linux] kernel documentation" https://www.kernel.org/doc/html/latest/doc-guide/index.html

awesome-sphinxdoc: https://github.com/yoloseem/awesome-sphinxdoc

... "Ask HN: Recommendations for Books on Writing [for engineers]?" https://news.ycombinator.com/item?id=23945580

[-]

Traits of good remote leaders

sfg | 2020-09-10 07:18:54 | 356 | # | ^
[+]
[+]

Fortunately the references are free to view.

"Table 4 – Correlation of Development Phases, Coping Stages and Comfort Zone transitions and the Performance Model" in "From Comfort Zone to Performance Management" White (2008) tabularly correlates the Tuckman group development phases (Forming, Storming, Norming, Performing, Adjourning) with the Carnall coping cycle (Denial, Defense, Discarding, Adaptation, Internalization) and Comfort Zone Theory (First Performance Level, Transition Zone, Second Performance Level), and the White-Fairhurst TPR model (Transforming, Performing, Reforming). The ScholarlyArticle also suggests management styles for each stage (Commanding, Cooperative, Motivational, Directive, Collaborative); and suggests that team performance is described by chained power curves of re-progression through these stages.

https://scholar.google.com/scholar?hl=en&as_sdt=0%2C43&q=%E2...

IDK what's different about online teams in regards to performance management?

[-]

Show HN: Eiten – open-source tool for portfolio optimization

Is it possible to factor (e.g. GRI) sustainability criteria into the portfolio fitness function? https://news.ycombinator.com/item?id=21922558

My concern is that - like any other portfolio optimization algorithm - blindly optimizing on fundamentals and short term returns will lead to investing in firms who just dump external costs onto people in the present and future; so, screening with sustainability criteria is important to me.

From https://news.ycombinator.com/item?id=19111911 :

> awesome-quant lists a bunch of other tools for algos and superalgos: https://github.com/wilsonfreitas/awesome-quant

[+]

(Sustainable) Index ETFs in the stocks.txt universe would likely be less sensitive to single performers' effects in unbalanced portfolios.

> pyfolio.tears.create_interesting_times_tear_sheet measures algorithmic trading algorithm performance during "stress events" https://github.com/quantopian/pyfolio/blob/03568e0f328783a6a...

[-]

Ask HN: Any well funded tech companies tackling big, meaningful problems?

Are there any well funded tech startups / companies tackling major societal problems? Any of these fair game: https://en.wikipedia.org/wiki/List_of_global_issues

----

I don't see or hear of any and want to know if this is just my bias or if there really is a shortage of resources in tech being allocated to solving the worlds most important problems. I'm sure I'm not the only engineer that's looking out for companies like this.

Ran into this previous Ask HN (https://news.ycombinator.com/item?id=24168902) that asked a similar question. However, here I wanna focus on the better funded efforts (not side projects, philanthropy etc).

One example I've heard so far is Tesla. Any others?

You can make an impact by solving important local and global problems by investing your time, career, and savings; by listing and comparing solutions.

As a labor market participant, you can choose to work for places that have an organizational mission that strategically aligns with local, domestic, and international objectives.

https://en.wikipedia.org/wiki/Strategic_alignment ... "Schema.org: Mission, Project, Goal, Objective, Task" https://news.ycombinator.com/item?id=12525141

As an investor, you can choose to invest in organizations that are making the sort of impact you're looking for: you can impact invest.

https://en.wikipedia.org/wiki/Impact_investing

You mentioned "List of global issues"; which didn't yet have a link to the UN Sustainable Development Goals (the #GlobalGoals). I just added this to the linked article:

> As part of the 2030 Agenda for Sustainable Development, the UN Millenium Development Goals (2000-2015) were superseded by the UN Sustainable Development Goals (2016-2030), which are also known as The Global Goals. There are associated Targets and Indicators for each Global Goal.

There are 17 Global Goals.

Sustainability reporting standards can align with the Sustainable Development Goals. For example, the GRI standards are now aligned with the UN Sustainable Development Goals.

https://en.wikipedia.org/wiki/Sustainable_Development_Goals

Investors, fund managers, and potential employees can identify companies which are making an impact by reviewing corporate sustainability and ESG reports.

From https://www.undp.org/content/undp/en/home/sustainable-develo... :

> SDG Target 12.6: "Encourage companies, especially large and transnational companies, to adopt sustainable practices and to integrate sustainability information into their reporting cycle"

From https://news.ycombinator.com/item?id=21302926 :

> > What are some of the corporate sustainability reporting standards?

> > From https://en.wikipedia.org/wiki/Sustainability_reporting#Initi... :

> >> Organizations can improve their sustainability performance by measuring (EthicalQuote (CEQ)), monitoring and reporting on it, helping them have a positive impact on society, the economy, and a sustainable future. The key drivers for the quality of sustainability reports are the guidelines of the Global Reporting Initiative (GRI),[3] (ACCA) award schemes or rankings. The GRI Sustainability Reporting Guidelines enable all organizations worldwide to assess their sustainability performance and disclose the results in a similar way to financial reporting.[4] The largest database of corporate sustainability reports can be found on the website of the United Nations Global Compact initiative.

> >The GRI (Global Reporting Initiative) Standards are now aligned with the UN Sustainable Development Goals (#GlobalGoals). https://en.wikipedia.org/wiki/Global_Reporting_Initiative

> >> In 2017, 63 percent of the largest 100 companies (N100), and 75 percent of the Global Fortune 250 (G250) reported applying the GRI reporting framework.[3]

What are some good ways to search for companies who (1) do sustainability reports, (2) engage in strategic alignment in corporate planning sessions, (3) make sustainability a front-and-center issue in their company's internal and external communications?

What are some examples of companies who have a focus on sustainability and/or who have developed a nonprofit organization for philanthropic missions which are sometimes best accounted for as a distinct organization or a business unit (which can accept and offer receipts for donations as a non-profit)?

How can an employee drive change in a small or a large company? Identify opportunities to deliver value and goodwill. Read through the Global Goals, Targets, and Indicators; and get into the habit of writing down problems and solutions.

3 pillars of [Corporate] Sustainability: (Environment (Society (Economy))). https://en.wikipedia.org/wiki/Sustainability#Three_dimension...

"Launch HN: Charityvest (YC S20) – Employee charitable funds and gift matching" https://news.ycombinator.com/item?id=23907902 :

> We created a modern, simple, and affordable way for companies to include charitable giving in their suite of employee benefits.

> We give employees their own tax-deductible charitable giving fund, like an “HSA for Charity.” They can make contributions into their fund and, from their fund, support any of the 1.4M charities in the US, all on one tax receipt.

> Using the funds, we enable companies to operate gift matching programs that run on autopilot. Each donation to a charity from an employee is matched automatically by the company in our system.

> A company can set up a matching gift program and launch giving funds to employees in about 10 minutes of work.

"Salesforce Sustainability Cloud Becomes Generally Available" https://news.ycombinator.com/item?id=22068522 :

> Are there similar services for Sustainability Reporting and accountability?

[-]

Column Names as Contracts

[+]
[+]

In terms of database normalization, delimiting multiple fields within a column name field violates the "atomic columns" requirement of the first though sixth normal forms (1NF - 6NF)

https://en.wikipedia.org/wiki/Database_normalization

Are there standards for storing columnar metadata (that is, metadata about the columns; or column-level metadata)?

In terms of columns, SQL has (implicit ordinal, name, type) and then primary key, index, and [foreign key] constraints.

RDFS (RDF Schema) is an open W3C linked data standard. An rdf:Property may have a rdfs:domain and a rdfs:range; where the possible datatypes are listed as instances of rdfs:range. Primitive datatypes are often drawn from XSD (XML Schema Definition), or https://schema.org/ . An rdfs:Class instance may be within the rdfs:domain and/or the rdfs:range of an rdf:Property.

RDFS is generally not sufficient for data validation; there are a number of standards which build upon RDFS: W3C SHACL (Shapes and Constraint Language), W3C CSVW (CSV on the Web).

There is some existing work on merging JSON Schema and SHACL.

CSVW builds upon the W3C "Model for Tabular Data and Metadata on the Web"; which supports arbitrary "annotations" on columns. CSVW can be represented as any RDF representation: Turtle/Trig/M3, RDF/XML, JSON-LD.

https://www.w3.org/TR/tabular-data-primer/

https://www.w3.org/TR/tabular-data-model/ :

> an annotated tabular data model: a model for tables that are annotated with metadata. Annotations provide information about the cells, rows, columns, tables, and groups of tables […]

...

From https://twitter.com/westurner/status/901992073846456321 :

> "7 metadata header rows (column label, property URI path, DataType, unit, accuracy, precision, significant figures)" https://wrdrd.github.io/docs/consulting/linkedreproducibilit...

...

From https://twitter.com/westurner/status/1295774405923147778 :

> Relevant: https://discuss.ossdata.org/ topics: "Linked Data formats, tools, challenges, opportunities; CSVW, https://schema.org/Dataset , https://schema.org/ScholarlyArticle " https://discuss.ossdata.org/t/linked-data-formats-tools-chal...

> "A dataframe protocol for the PyData ecosystem" https://discuss.ossdata.org/t/a-dataframe-protocol-for-the-p...

> A .meta protocol should implement the W3C Tabular Data Model: [...]

...

The various methods of doing CSV2RDF and R2RML (SQL / RDB to RDF Mapping) each have a way to specify additional metadata annotations. None stuff data into a column name (which I'm also guilty of doing with e.g. "columnspecs" in a small line-parsing utility called pyline that can cast columns to Python types and output JSON lines).

...

Even JSON5 is insufficient when it comes to representing e.g. complex fractions: there must be a tbox (schema) in order to read the data out of the abox (assertions; e.g. JSON). JSON-LD is sufficient for representation; and there are also specs like RDFS, SHACL, and CSVW.

Abox: https://en.wikipedia.org/wiki/Abox

[+]
[-]

Graph Representations for Higher-Order Logic and Theorem Proving (2019)

ONNX (and maybe RIF) are worth mentioning.

ONNX: https://onnx.ai/ :

> ONNX is an open format built to represent machine learning models. ONNX defines a common set of operators - the building blocks of machine learning and deep learning models - and a common file format to enable AI developers to use models with a variety of frameworks, tools, runtimes, and compilers

RIF (~FOL): https://en.wikipedia.org/wiki/Rule_Interchange_Format

Datalog (not Turing-complete): https://en.wikipedia.org/wiki/Datalog

HOList Benchmark: https://sites.google.com/view/holist/home

"HOList: An Environment for Machine Learning of Higher-Order Theorem Proving" (2019) https://arxiv.org/abs/1904.03241

> Abstract: We present an environment, benchmark, and deep learning driven automated theorem prover for higher-order logic. Higher-order interactive theorem provers enable the formalization of arbitrary mathematical theories and thereby present an interesting, open-ended challenge for deep learning. We provide an open-source framework based on the HOL Light theorem prover that can be used as a reinforcement learning environment. HOL Light comes with a broad coverage of basic mathematical theorems on calculus and the formal proof of the Kepler conjecture, from which we derive a challenging benchmark for automated reasoning. We also present a deep reinforcement learning driven automated theorem prover, DeepHOL, with strong initial results on this benchmark.

[+]
[+]
[+]

How do transformers handle with truth tables, logical connectives, and propositional logic / rules of inference, and first-order logic?

Truth table: https://en.wikipedia.org/wiki/Truth_table

Logical connective: https://en.wikipedia.org/wiki/Logical_connective

Propositional logic: https://en.wikipedia.org/wiki/Propositional_calculus

Rules of inference: https://en.wikipedia.org/wiki/Rule_of_inference

DL: Description logic: https://en.wikipedia.org/wiki/Description_logic (... The OWL 2 profiles (EL, QR, RL; DL, Full) have established decideability and complexity: https://www.w3.org/TR/owl2-profiles/ )

FOL: First-order logic: https://en.wikipedia.org/wiki/First-order_logic

HOL: Higher-order logic: https://en.wikipedia.org/wiki/Higher-order_logic

In terms of regurgitating without critical reasoning?

Critical reasoning: https://en.wikipedia.org/wiki/Critical_thinking

[+]
[+]
[-]

Show HN: Linux sysadmin course, eight years on

Almost eight years ago I launched an online “Linux sysadmin course for newbies” here at HN.

It was a side-project that went well, but never generated enough money to allow me to fully commit to leaving the Day Job. After surviving the Big C, and getting made redundant I thought I might improve and relaunch it commercially – but my doctors are a pessimistic bunch, so it looked like I didn’t have the time.

Instead, I rejigged/relaunched it via a Reddit forum this February as free and open - and have now gathered a team of helpers to ensure that it keeps going each month even after I can’t be involved any longer.

It’s a month-long course which restarts each month, so “Day 1” of September is this coming Monday.

It would be great if you could pass the word on to anyone you know who may be the target market of those who: “...aspire to get Linux-related jobs in industry - junior Linux sysadmin, devops-related work and similar”.

[0] http://www.linuxupskillchallenge.org/

[1] https://www.reddit.com/r/linuxupskillchallenge/

[2] http://snori74.blogspot.com/2020/04/health-status.html

There are a number of resources that may be useful for your curriculum for this project listed in "Is there a program like codeacademy but for learning sysadmin?" https://news.ycombinator.com/item?id=19469266 :

> [ http://www.opsschool.org/ , https://github.com/kahun/awesome-sysadmin/blob/master/README... , https://github.com/stack72/ops-books , https://landing.google.com/sre/books/ , https://response.pagerduty.com/ (Incident Response training)]

To that I'd add that K3D (based on K3S, which is now a CNCF project) runs Kubernetes (k8s) in Docker containers. https://github.com/rancher/k3d

For zero-downtime (HA: High availability) deployments, "Zero-Downtime Deployments To a Docker Swarm Cluster" describes Rolling Updates and Blue-Green Deployments; with illustrations: https://github.com/vfarcic/vfarcic.github.io/blob/master/doc...

For git-push style deployment with more of a least privileges approach (which also has more moving parts) you could take a look at: https://github.com/dokku/dokku-scheduler-kubernetes#function...

And also reference ansible molecule and testinfra for writing sysadmin tests and the molecule vagrant driver for testing docker configurations. https://www.jeffgeerling.com/blog/2018/testing-your-ansible-...

https://molecule.readthedocs.io/en/latest/

https://testinfra.readthedocs.io/en/latest/ :

> With Testinfra you can write unit tests in Python to test actual state of your servers configured by management tools like Salt, Ansible, Puppet, Chef and so on.

> Testinfra aims to be a Serverspec equivalent in python and is written as a plugin to the powerful Pytest test engine.

I wasn't able to find a syllabus or a list of all of the daily posts? Are you focusing on DevOps and/or DevSecOps skills?

EDIT: The lessons are Markdown files in a Git repo: https://github.com/snori74/linuxupskillchallenge

Links to each lesson, the title and/or subjects of the lesson, and the associated reddit posts might be useful in a Table of Contents in the README.md.

[+]

Maybe most useful as resources for further study.

Looks like Day 20 covers shell scripting. A few things worth mentioning:

You can write tests for shell scripts and write TAP (Test Anything Protocol) -formatted output: https://testanything.org/producers.html#shell

Quoting in shell scripts is something to be really careful about:

> This and this do different things:

  # prints a newline
  echo $(echo "-e a\nb")

  # prints "-e a\nb"
  echo "$(echo "-e a\nb")"
Shellcheck can identify some of those types of (security) bugs/errors/vulns in shell scripts: https://www.shellcheck.net/

LearnXinYminutes has a good bash reference: https://learnxinyminutes.com/docs/bash/

And an okay Ansible reference, which (like Ops School) we should contribute to: https://learnxinyminutes.com/docs/ansible/

Why do so many pros avoid maintaining shell scripts and writing one-off commands that they'll never remember to run again later?

...

It may be helpful to format these as Jupyter notebooks with input and output cells.

- Ctrl-Shift-Minus splits a cell at the cursor

- M and Y toggle a cell between Markdown and code

If you don't want to prefix every code cell line with a '!' so that the ipykernel Jupyter python kernel (the default kernel) executes the line with $SHELL, you can instead install and select bash_kernel; though users attempting to run the notebooks interactively would then need to also have bash_kernel installed: https://github.com/takluyver/bash_kernel

You can save a notebook .ipynb to any of a number of Markdown and non-Markdown formats https://jupytext.readthedocs.io/en/latest/formats.html#markd... ; unfortunately jupytext only auto-saves to md without output cell content for now: https://github.com/mwouts/jupytext/issues/220

You can make reveal.js slides (that do include outputs) from a notebook: https://gist.github.com/mwouts/04a6dfa571bda5cc59fa1429d1309...

With nbconvert, you can manually save an .ipynb Jupyter notebook as Markdown which includes the cell outputs w/ File > "Download as / Export Notebook as" > "Export notebook to Markdown" or with the CLI: https://nbconvert.readthedocs.io/en/latest/usage.html#conver...

    jupyter convert --to markdown
    jupyter convert --help
With Jupyter Book, you can build an [interactive] book as HTML and/or PDF from multiple Jupyter notebooks as e.g. Markdown documents https://jupyterbook.org/intro.html :

    jupyter-book build mybook/
...

From https://westurner.github.io/tools/#bash :

    type bash
    bash --help
    help help
    help type
    apropos bash
    info bash
    man bash
    
    man man
    info info
From https://news.ycombinator.com/item?id=22980353 ; this is how dotfiles work:

    info bash -n "Bash Startup Files"
  
> https://www.gnu.org/software/bash/manual/html_node/Bash-Star...

...

Re: dotfiles, losing commands that should've been logged to HISTFILE when running multiple bash sessions and why I wrote usrlog.sh: https://westurner.github.io/hnlog/#comment-20671184 (Ctrl-F for: "dotfiles", "usrlog.sh", "inputrc")

https://dotfiles.github.io/

https://github.com/webpro/awesome-dotfiles

...

awesome-sysadmin > resources: https://github.com/kahun/awesome-sysadmin#resources

[-]

Software supply chain security

Estimates of prevalence do assume detection. How would we detect that a dependency that was installed a few deployments and reboots ago was compromised?

How does the classic infosec triad (Confidentiality, Integrity, Availability) apply to software supply chain security?

Confidentiality: Presumably we're talking about open source projects; which aren't confidential. Projects may request responsible disclosure in an e.g. security.txt; and vuln reports may be confidential for at least a little while.

Integrity: Secure transport protocols, checksums, and cryptographic code signing are ways to mitigate data integrity risks. GitHub supports SSH, 2FA, and GPG keys. Can all keys in the package signature keyring be used to sign any package? Can we verify a public key over a different channel? When we specify exact versions of software dependencies, can we also record package hashes which the package installer(s) will verify?

Availability: What are the internal and external data, network, and service dependencies for the development and deployment DevSecOps workflows? Can we deploy from local package mirrors? Who is responsible for securing and updating local package mirrors? Are these service dependencies all HA? Does everything in this system also depend upon the load balancer? Does our container registry support e.g. Docker Notary (TUF)? How should we mirror TUF package repos?

See also: "Guidance for [[transparent] proxy cache] partial mirrors?" https://github.com/theupdateframework/specification/issues/1...

[+]
[+]
[+]
[+]
[+]
[-]

Mind Emulation Foundation

gk1 | 2020-09-01 13:53:23 | 93 | # | ^
[+]
[+]
[+]

Was just talking about quantum cognition and memristors (in context to GIT) a few days ago: https://news.ycombinator.com/item?id=24317768

Quantum cognition: https://en.wikipedia.org/wiki/Quantum_cognition

Memristor: https://en.wikipedia.org/wiki/Memristor

It may yet be possible to sufficiently functionally emulate the mind with (orders of magnitude more) transistors. Though, is it necessary to emulate e.g. autonomic functions? Do we consider the immune system to be part of the mind (and gut)?

Perhaps there's something like an amplituhedron - or some happenstance correspondence - that will enable more efficient simulation of quantum systems on classical silicon pending orders of magnitude increases in coherence and also error rate in whichever computation medium.

For abstract formalisms (which do incorporate transistors as a computation medium sufficient for certain tasks), is there a more comprehensive set than Constructor Theory?

Constructor theory: https://en.wikipedia.org/wiki/Constructor_theory

Amplituhedron: https://en.wikipedia.org/wiki/Amplituhedron

What is the universe using our brains to compute? Is abstract reasoning even necessary for this job?

Something worth emulating: Critical reasoning. https://en.wikipedia.org/wiki/Critical_reasoning

[-]

How close are computers to automating mathematical reasoning?

[+]
[+]

Or is automated proof search impossible for humans as well?

Arguably, humans require more energy per operation. So, presumably such an argument hinges upon what types of operations are performed in conducting automated proof search?

[+]

The task (in terms of constructor theory) is: Find the functions that sufficiently approximate the observations and record their reproducible derivations.

Either the (unreferenced) study was actually arguing that "automated proof search" can't be done at all, or that human neural computation is categorically non-algorothmic.

Grid search of all combinations of bits that correspond to [symbolic] classical or quantum models.

Or better: evolutionary algorithms and/or neural nets.

[+]

That human cognition is quantum in nature - that e.g. entanglement is necessary - may be unfalsifiable.

Neuromorphic engineering has expanded since the 1980s. https://en.wikipedia.org/wiki/Neuromorphic_engineering

Quantum computing is the best known method for simulating chemical reactions and thereby possibly also neurochemical reactions. But, Is quantum computing necessary to functionally emulate human cognition?

It may be that a different computation medium can accomplish the same tasks without emulating all of the complexity of the brain.

If the brain is only classical and some people are using their brains to perform quantum computations, there may be something there.

Quantum cognition: https://en.wikipedia.org/wiki/Quantum_cognition

Quantum memristors are still elusive.

From "Quantum Memristors in Frequency-Entangled Optical Fields" (2020) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7079656/ :

> Apart from the advantages of using these devices for computation [12] (such as energy efficiency [13], compared to transistor-based computers), memristors can be also used in machine learning schemes [14,15]. The relevance of the memristor lies in its ubiquitous presence in models which describe natural processes, especially those involving biological systems. For example, memristors inherently describe voltage-dependent ion-channel conductances in the axon membrane in neurons, present in the Hodgkin–Huxley model [16,17].

> Due to the inherent linearity of quantum mechanics, it is not straightforward to describe a dissipative non-linear memory element, such as the memristor, in the quantum realm, since nonlinearities usually lead to the violation of fundamental quantum principles, such as no-cloning theorem. Nonetheless, the challenge was already constructively addressed in Ref. [18]. This consists of a harmonic oscillator coupled to a dissipative environment, where the coupling is changed based on the results of a weak measurement scheme with classical feedback. As a result of the development of quantum platforms in recent years, and their improvement in controllability and scalability, different constructions of a quantum memristor in such platforms have been presented. There is a proposal for implementing it in superconducting circuits [7], exploiting memory effects that naturally arise in Josephson junctions. The second proposal is based on integrated photonics [19]: a Mach–Zehnder interferometer can behave as a beam splitter with a tunable reflectivity by introducing a phase in one of the beams, which can be manipulated to study the system as a quantum memristor subject to different quantum state inputs.

Quantum harmonic oscillators have also found application in modeling financial markets. Quantum harmonic oscillator: https://en.wikipedia.org/wiki/Quantum_harmonic_oscillator

New framework for natural capital approach to transform policy decisions

Natural capital: https://en.wikipedia.org/wiki/Natural_capital

> Natural capital is the world's stock of natural resources, which includes geology, soils, air, water and all living organisms. Some natural capital assets provide people with free goods and services, often called ecosystem services. Two of these (clean water and fertile soil) underpin our economy and society, and thus make human life possible.

Natural capital accounting: https://en.wikipedia.org/wiki/Natural_capital_accounting

> Natural capital accounting is the process of calculating the total stocks and flows of natural resources and services in a given ecosystem or region.[1] Accounting for such goods may occur in physical or monetary terms. This process can subsequently inform government, corporate and consumer decision making as each relates to the use or consumption of natural resources and land, and sustainable behaviour.

Opportunity cost: https://en.wikipedia.org/wiki/Opportunity_cost

> When an option is chosen from alternatives, the opportunity cost is the "cost" incurred by not enjoying the benefit associated with the best alternative choice.[1] The New Oxford American Dictionary defines it as "the loss of potential gain from other alternatives when one alternative is chosen."[2] In simple terms, opportunity cost is the benefit not received as a result of not selecting the next best option. Opportunity cost is a key concept in economics, and has been described as expressing "the basic relationship between scarcity and choice". [3] The notion of opportunity cost plays a crucial part in attempts to ensure that scarce resources are used efficiently.[4] Opportunity costs are not restricted to monetary or financial costs: the real cost of output forgone, lost time, pleasure or any other benefit that provides utility should also be considered an opportunity cost. The opportunity cost of a product or service is the revenue that could be earned by its alternative use.

How do we value essential dependencies in terms of future opportunity costs?

In terms of just mental health?

"National parks a boost to mental health worth trillions: study" https://phys.org/news/2019-11-national-boost-mental-health-w...

> Visits to national parks around the world may result in improved mental health valued at about $US6 trillion (5.4 trillion euros), according to a team of ecologists, psychologists and economists

> Professor Bateman's decision-making framework focuses on the links between the environment and economy and has three components: efficiency, assessing which option generates the greatest benefit; sustainability, the effects of each option on natural capital stocks; and equity, regarding who receives the benefits of a decision and when.

Ian J. Bateman et al. "The natural capital framework for sustainably efficient and equitable decision making", Nature Sustainability (2020). DOI: 10.1038/s41893-020-0552-3 https://www.nature.com/articles/s41893-020-0552-3

[-]

Challenge to scientists: does your ten-year-old code still run?

"Ten Simple Rules for Reproducible Computational Research" http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fj... :

> Rule 1: For Every Result, Keep Track of How It Was Produced

> Rule 2: Avoid Manual Data Manipulation Steps

> Rule 3: Archive the Exact Versions of All External Programs Used

> Rule 4: Version Control All Custom Scripts

> Rule 5: Record All Intermediate Results, When Possible in Standardized Formats

> Rule 6: For Analyses That Include Randomness, Note Underlying Random Seeds

> Rule 7: Always Store Raw Data behind Plots

> Rule 8: Generate Hierarchical Analysis Output, Allowing Layers of Increasing Detail to Be Inspected

> Rule 9: Connect Textual Statements to Underlying Results

> Rule 10: Provide Public Access to Scripts, Runs, and Results

... You can get a free DOI for and archive a tag of a Git repo with FigShare or Zenodo.

... re: [Conda and] Docker container images https://news.ycombinator.com/item?id=24226604 :

> - repo2docker (and thus BinderHub) can build an up-to-date container from requirements.txt, environment.yml, install.R, postBuild and any of the other dependency specification formats supported by REES: Reproducible Execution Environment Standard; which may be helpful as Docker Hub images will soon be deleted if they're not retrieved at least once every 6 months (possibly with a GitHub Actions cron task)

BinderHub builds a container with the specified versions of software and installs a current version of Jupyter Notebook with repo2docker, and then launches an instance of that container in a cloud.

“Ten Simple Rules for Creating a Good Data Management Plan” http://journals.plos.org/ploscompbiol/article?id=10.1371/jou... :

> Rule 6: Present a Sound Data Storage and Preservation Strategy

> Rule 8: Describe How the Data Will Be Disseminated

... DVC: https://github.com/iterative/dvc

> Data Version Control or DVC is an open-source tool for data science and machine learning projects. Key features:

> - Simple command line Git-like experience. Does not require installing and maintaining any databases. Does not depend on any proprietary online services. Management and versioning of datasets and machine learning models. Data is saved in S3, Google cloud, Azure, Alibaba cloud, SSH server, HDFS, or even local HDD RAID.

> - Makes projects reproducible and shareable; helping to answer questions about how a model was built.

There are a number of great solutions for storing and sharing datasets.

... "#LinkedReproducibility"

[+]

The likelihood of there being a [security] bug discovered in a given software project over any significant period of time is near 100%.

It's definitely a good idea to archive source and binaries and later confirm that the output hasn't changed with and without upgrading the kernel, build userspace, execution userspace, and PUT/SUT Package/Software Under Test.

- Specify which versions of which constituent software libraries are utilized. (And hope that a package repository continues to serve those versions of those packages indefinitely). Examples: Software dependency specification formats like requirements.txt, environment.yml, install.R

- Mirror and archive all dependencies and sign the collection. Examples: {z3c.pypimirror, eggbasket, bandersnatch, devpi as a transparent proxy cache}, apt-cacher-ng, pulp, squid as a transparent proxy cache

- Produce a signed archive which includes all requisite software. (And host that download on a server such that data integrity can be verified with cryptographic checksums and/or signatures.) Examples: Docker image, statically-linked binaries, GPG-signed tarball of a virtualenv (which can be made into a proper package with e.g. fpm), ZIP + GPG signature of a directory which includes all dependencies

- Archive (1) the data, (2) the source code of all libraries, and (3) the compiled binary packages, and (4) the compiler and build userspace, and (5) the execution userspace, and (6) the kernel. Examples: Docker can solve for 1-5, but not 6. A VM (virtual machine) can solve for 1-5. OVF (Open Virtualization Format) is an open spec for virtual machine images, which can be built with a tool like Vagrant or Packer (optionally in conjunction with a configuration management tool like Puppet, Salt, Ansible).

When the application requires (7) a multi-node distributed system configuration, something like docker-compose/vagrant/terraform and/or a configuration management tool are pretty much necessary to ensure that it will be possible to reproducibly confirm the experiment output at a different point in spacetime.

[-]

A deep dive into the official Docker image for Python

[+]

> Why Tini?

> Using Tini has several benefits:

> - It protects you from software that accidentally creates zombie processes, which can (over time!) starve your entire system for PIDs (and make it unusable).

> - It ensures that the default signal handlers work for the software you run in your Docker image. For example, with Tini, SIGTERM properly terminates your process even if you didn't explicitly install a signal handler for it.

> - It does so completely transparently! Docker images that work without Tini will work with Tini without any changes.

[...]

> NOTE: If you are using Docker 1.13 or greater, Tini is included in Docker itself. This includes all versions of Docker CE. To enable Tini, just pass the `--init` flag to docker run.

https://github.com/krallin/tini#why-tini

[+]

There are Alpine [1] and Debian [2] miniconda images (within which you can `conda install python==3.8` and 2.7 and 3.4 in different conda envs)

[1] https://github.com/ContinuumIO/docker-images/blob/master/min...

[2] https://github.com/ContinuumIO/docker-images/blob/master/min...

If you build manylinux wheels with auditwheel [3], they should install without needing compilation for {CentOS, Debian, Ubuntu, and Alpine}; though standard Alpine images have MUSL instead of glibc by default, this [4] may work:

  echo "manylinux1_compatible = True" > $PYTHON_PATH/_manylinux.py

[3] https://github.com/pypa/auditwheel

[4] https://github.com/docker-library/docs/issues/904#issuecomme...

The miniforge docker images aren't yet [5][6] multi-arch, which means it's not as easy to take advantage of all of the ARM64 / aarch64 packages that conda-forge builds now.

[5] https://github.com/conda-forge/docker-images/issues/102#issu...

[6] https://github.com/conda-forge/miniforge/issues/20

There are i686 and x86-64 docker containers for building manylinux wheels that work with many distros: https://github.com/pypa/manylinux/tree/master/docker

A multi-stage Dockerfile build can produce a wheel in the first stage and install that wheel (with `COPY --from=0`) in a later stage; leaving build dependencies out of the production environment for security and performance: https://docs.docker.com/develop/develop-images/multistage-bu...

[+]

Use cases for conda or conda+pip:

- Already-compiled packages (where there may not be binary wheels) instead of requiring reinstallation and subsequent removal of e.g. build-essentials for every install

- Support for R, Julia, NodeJS, Qt, ROS, CUDA, MKL, etc.

- Here's what the Kaggle docker-python Dockerfile installs with conda and with pip: https://github.com/Kaggle/docker-python/blob/master/Dockerfi...

- Build matrix in one container with conda envs

Disadvantages of the official python images as compared with conda+pip:

- Necessary to (re)install build dependencies and a compiler for every build (if there's not a bdist or a wheel for the given architecture) and then uninstall all unnecessary transitive dependencies. This is where a [multi-stage] build of a manylinux wheel may be the best approach.

- No LSM (AppArmor, SELinux, ) for one or more processes in the container (which may have read access to /etc or environment variables and/or --privileged)

- Necessary to build basically everything on non x86[-64] architectures for every container build

Disadvantages of conda / conda+pip:

- Different package repo infrastructure to mirror

- Users complaining that they don't need conda who then proceed to re-download and re-build wheels locally multiple times a day

Additional attributes for comparison:

- The new pip solver (which is slower than the traditional iterative non-solver), conda, and mamba

- repo2docker (and thus BinderHub) can build an up-to-date container from requirements.txt, environment.yml, install.R, postBuild and any of the other dependency specification formats supported by REES: Reproducible Environment Execution Standard; which may be helpful as Docker Hub images will soon be deleted if they're not retrieved at least once every 6 months (possibly with a GitHub Actions cron task)

[+]

Here's the meta.yml for the conda-forge/python-feedstock: https://github.com/conda-forge/python-feedstock/blob/master/...

It includes patches just like distro packages often do.

[-]

The Consortium for Python Data API Standards

[+]
[+]
[+]
[+]
[+]
[+]
[+]

No, it's easy for library maintainers to offer a compat API in addition to however else they feel they need to differentiate and optimize the interfaces for array operations. People can contribute such APIs directly to libraries once instead of creating many conditionals in every library-utilizing project or requiring yet another dependency on an adapter / facade package that's not kept in sync with the libraries it abstracts.

If a library chooses to implement a spec compatability API, they do that once (optimally, as compared with somebody's hackish adapter facade which has very little comprehension of each library's internals) and everyone else's code doesn't need to have conditionals.

Each of L libraries implements a compat API: O(L)

Each of U library utilizers implements conditionals for every N places arrays are utilized: O(U x N_)

Each of U library utilizers uses the common denominator compat API: O(U)

L < U < (L + U) < (U x N_)

[-]

Tech giants let the Web's metadata schemas and infrastructure languish

It's "langushing" and they should do it for us? It's flourishing and they're doing it for us and they have lots of open issues and I want more for free without any work.

Wow! Nobody else does anything to collaboratively, inclusively develop schema and the problem is that search engines aren't just doing it for us?

1) Search engines do not owe us anything. They are not obligated to dominate us or the schema that we may voluntarily decide to include on our pages.

We've paid them nothing. They have no contract for service or agreement with us which compels them to please us or contribute greater resources to an open standard that hundreds of people are contributing to.

2) You people don't know anything about linked data and structured data.

Here's a list of schema: https://lov.linkeddata.es/dataset/lov/ .

Here's the Linked Open Data Cloud: https://lod-cloud.net/

Does your or this publisher's domain include any linked data?

Does this article include any linked data?

Do data quality issues pervade promising, comparatively-expensive, redundant approaches to natural-language comprehension, reasoning, and summarization?

Here, in contributing this example PR adding RDFa to the codeforantarctica web page, I probably made a mistake. https://github.com/CodeForAntarctica/codeforantarctica.githu... . Can you spot the mistake?

There should have been review.

https://schema.org/ClaimReview, W3C Verifiable Claims / Credentials, ld-signatures, and lds-merkleproof2017.

Which brings us to reification, truth values, property graphs, and the new RDF* and SPARQL* and JSON-LD* (which don't yet have repos with ongoing issues to tend to).

3) Get to work. This article does nothing to teach people how to contribute to slow, collaborative schema standards work.

Here's the link to the GitHub Issues so that you can contribute to schema.org: https://github.com/schemaorg/schemaorg

...

"Standards should be better and they should pay for it"

Who are the major contributors to the (W3C) open standard in question?

Is telling them to put up more money or step down going to result in getting what we want? Why or why not?

Who would merge PRs and close issues?

Have you misunderstood the scope of the project? What do the editors of the schema feel in regards to more specific domain vocabularies? Is it feasible or even advisable to attempt to out-schema domain experts who know how to develop and revise an ontology or even just a vocabulary with Protegé?

To give you a sense of how much work goes into creating a few classes and properties defined with RDFS in RDFa in HTML: here's the https://schema.org/Course , https://schema.org/CourseInstance , and https://schema.org/EducationEvent issue: https://github.com/schemaorg/schemaorg/issues/195

Can you find the link to the Use Cases wiki (which was the real work)? What strategy did you use to find it?

...

"Well, Google just does what's good for Google."

Are you arguing that Google.org should make charitable contributions to this project? Is that an advisable or effective way to influence a W3C open standard (where conflicts of interest by people just donating time are disclosed)?

Anyone can use something like extruct or OSDS to extract RDFa, Microdata, and/or JSON-LD from a page.

Everyone can include structured data and linked data in their pages.

There are surveys quantifying how many people have included which types in their pages. Some of that data is included on schema.org types pages.

...

Some written interview questions:

> Which issues have you contributed to? Which issues have you seen all the way to closed? Have you contributed a pull request to the project? Have you published linked data? What is the URL to the docs which explain how to contribute resources? How would you improve them?

https://twitter.com/westurner/status/1291903926007209984

...

After all that's happened here, I think Dan (who built FOAF, which all profitable companies could use instead of https://schema.org/Person ) deserves a week off to add more linked data to the internet now please.

[+]

schemaorg/schemaorg/CONTRIBUTING.md https://github.com/schemaorg/schemaorg/blob/main/CONTRIBUTIN... explains how you and your organization can contribute resources to the Schema.org W3C project.

If you or your organization can justify contributing one or more people at full or part time due to ROI or goodwill, by all means start sending Pull Requests and/or commenting on Issues.

"Give us more for free or step down". Wow. What PRs have you contributed to justify such demands?

https://schema.org/docs/documents.html links to the releases.

[-]

Time-reversal of an unknown quantum state

T-symmetry https://en.wikipedia.org/wiki/T-symmetry > See also links to "reversible computing" but not the "time reversal" disambiguation page?

[+]

Could there be multiple "collapsed" paths which consistently converge at the current or future measured state?

[-]

Electric cooker an easy, efficient way to sanitize N95 masks, study finds

[+]

Unfortunately the referenced NewsArticle does not link to the ScholarlyArticle https://schema.org/ScholarlyArticle :

"N95 Mask Decontamination using Standard Hospital Sterilization Technologies" (2020-04) https://www.medrxiv.org/content/10.1101/2020.04.05.20049346v... :

> We sought to test the ability of 4 different decontamination methods including autoclave treatment, ethylene oxide gassing, ionized hydrogen peroxide fogging and vaporized hydrogen peroxide exposure to decontaminate 4 different N95 masks of experimental contamination with SARS-CoV-2 or vesicular stomatitis virus as a surrogate. In addition, we sought to determine whether masks would tolerate repeated cycles of decontamination while maintaining structural and functional integrity. We found that one cycle of treatment with all modalities was effective in decontamination and was associated with no structural or functional deterioration. Vaporized hydrogen peroxide treatment was tolerated to at least 5 cycles by masks. Most notably, standard autoclave treatment was associated with no loss of structural or functional integrity to a minimum of 10 cycles for the 3 pleated mask models. The molded N95 mask however tolerated only 1 cycle. This last finding may be of particular use to institutions globally due to the virtually universal accessibility of autoclaves in health care settings.

The ScholarlyArticle referenced by and linked to by the OP NewsArticle is "Dry Heat as a Decontamination Method for N95 Respirator Reuse" (2020-07) https://pubs.acs.org/doi/full/10.1021/acs.estlett.0c00534 . Said article does not reference "N95 Mask Decontamination using Standard Hospital Sterilization Technologies" DOI: 10.1101/2020.04.05.20049346v2 . We would do well to record that (article A, seemsToConfirm, Article B) as third-party linked data (only if both articles do specifically test the efficacy of the given sterilization method with the COVID-19 coronavirus)

[+]

"Interim Recommendations for U.S. Households with Suspected or Confirmed Coronavirus Disease 2019 (COVID-19)" https://www.cdc.gov/coronavirus/2019-ncov/prevent-getting-si... :

> On the other hand, transmission of novel coronavirus to persons from surfaces contaminated with the virus has not been documented. Recent studies indicate that people who are infected but do not have symptoms likely also play a role in the spread of COVID-19. Transmission of coronavirus occurs much more commonly through respiratory droplets than through objects and surfaces, like doorknobs, countertops, keyboards, toys, etc. Current evidence suggests that SARS-CoV-2 may remain viable for hours to days on surfaces made from a variety of materials. Cleaning of visibly dirty surfaces followed by disinfection is a best practice measure for prevention of COVID-19 and other viral respiratory illnesses in households and community settings

[-]

Fed announces details of new interbank service to support instant payments

[+]
[+]
[+]

Interledger Protocol (ILP, ILPv4).

Interledger Architecture:

https://interledger.org/rfcs/0001-interledger-architecture/#... :

> For purposes of Interledger, we call all settlement systems ledgers. These can include banks, blockchains, peer-to-peer payment schemes, automated clearing house (ACH), mobile money institutions, central-bank operated real-time gross settlement (RTGS) systems, and even more.

[...]

> Interledger provides for secure payments across multiple assets on different ledgers. The architecture consists of a conceptual model for interledger payments, a mechanism for securing payments, and a suite of protocols that implement this design.

> The Interledger Protocol (ILP) is the core of the Interledger protocol suite. Colloquially, the whole Interledger stack is sometimes referred to as "ILP". Technically, however, the Interledger Protocol is only one layer in the stack.

> Interledger is not a blockchain, a token, nor a central service. Interledger is a standard way of bridging financial systems. The Interledger architecture is heavily inspired by the Internet architecture described in RFC 1122, RFC 1123 and RFC 1009.

[...]

> You can envision the Interledger as a graph where the points are individual nodes and the edges are accounts between two parties. Parties with only one account can send or receive through the party on the other side of that account. Parties with two or more accounts are connectors, who can facilitate payments to or from anyone they're connected to.

> Connectors [AKA routers] provide a service of forwarding packets and relaying money, and they take on some risk when they do so. In exchange, connectors can charge fees and derive a profit from these services. In the open network of the Interledger, connectors are expected to compete among one another to offer the best balance of speed, reliability, coverage, and cost.

ILP > Peering, Clearing and Settling: https://interledger.org/rfcs/0032-peering-clearing-settlemen...

ILP > Simple Payment Setup Protocol (SPSP): https://interledger.org/rfcs/0009-simple-payment-setup-proto...

> This document describes the Simple Payment Setup Protocol (SPSP), a basic protocol for exchanging payment information between payee and payer to facilitate payment over Interledger. SPSP uses the STREAM transport protocol for condition generation and data encoding.

> (Introduction > Motivation) STREAM does not specify how payment details, such as the ILP address or shared secret, should be exchanged between the counterparties. SPSP is a minimal protocol that uses HTTPS for communicating these details.

[...]

  GET /.well-known/pay HTTP/1.1
  Host: example.com
  Accept: application/spsp4+json,  application/spsp+json

[-]

Shrinking deep learning’s carbon footprint

"Unlearning" is one algorithmic approach that may yield substantial energy consumption gains.

With many deep learning models, it's not possible to determine when or from what source something was learned: it's not possible to "back out" a change to the network and so the whole model has to be re-trained from scratch; which is O(n) instead of O(1.x).

The article covers software approaches (more energy-efficient algorithms) and mentions GPUs but not TPUs or ASICs.

Specialized chips (built with dynamic fabrication capacities) are far more energy efficient for specific types of workloads. We see this with mining ASICs, SSL accelerators, and also with Tensor Processing Units (for deep learning).

The externalities of energy production are the ultimate concern. If you're using cheap, clean energy with minimized external costs ("sustainable energy"), the energy-efficiency of the algorithm and the chips is of much less concern.

Could we recognize products, services, and data centers that were produced with and/or run on directly sourced clean energy as "200% Green"; with a logo on the box and/or the footer? 100% offset by PPAs is certainly progress.

[-]

Show HN: Starboard – Fully in-browser literate notebooks like Jupyter Notebook

[+]

Neat! There's a project called Jyve that compiles Jupyter Lab to WASM (using iodide). https://github.com/deathbeds/jyve There are kernels for JS, CoffeeScript, Brython, TypeScript, and P5. FWIU, the kernels are marked as unsafe because, unfortunately, there seems to be no good way to sandbox user-supplied notebook code from the application instance. The README describes some of the vulnerabilities that this entails.

The jyve project issues discuss various ideas for repacking Python packages beyond the set already included with Pyodide and supporting loading modules from remote sources.

https://developer.mozilla.org/en-US/docs/Web/Security/Subres... : "Subresource Integrity (SRI) is a security feature that enables browsers to verify that resources they fetch (for example, from a CDN) are delivered without unexpected manipulation. It works by allowing you to provide a cryptographic hash that a fetched resource must match."

There's a new Native Filesystem API: "The new Native File System API allows web apps to read or save changes directly to files and folders on the user's device." https://web.dev/native-file-system/

We'll need a way to grant specific URLs specific, limited amounts of storage.

https://github.com/iodide-project/pyodide :

> The Python scientific stack, compiled to WebAssembly

> [...] Pyodide brings the Python 3.8 runtime to the browser via WebAssembly, along with the Python scientific stack including NumPy, Pandas, Matplotlib, parts of SciPy, and NetworkX. The packages directory lists over 35 packages which are currently available.

> Pyodide provides transparent conversion of objects between Javascript and Python. When used inside a browser, Python has full access to the Web APIs.

https://github.com/deathbeds/jyve/issues/46 :

> Would miniforge and conda-forge build a WASM architecture target?

> Emscripten or WASI?

[-]

Ask HN: Learning about distributed systems?

I used to love Operating Systems during my undergrads, Modern Operating Systems by Tanenbaum is till date the only academic book I've read entirely. I recently read an article about how Amazon built Aurora by Werner Vogels and I was captivated by it. I want to start reading about Distributed Systems. What would be a good start/Road Map?

[+]

> "Designing Data-Intensive Applications” by Martin Kleppman: https://dataintensive.net/ https://g.co/kgs/xJ73FS

From a previous question re: "Ask HN: CS papers for software architecture and design?" (https://news.ycombinator.com/item?id=15778396 and distributed systems we eventually realize were needed in the first place:

> Bulk Synchronous Parallel: https://en.wikipedia.org/wiki/Bulk_synchronous_parallel .

Many/most (?) distributed systems can be described in terms of BSP primitives.

> Paxos: https://en.wikipedia.org/wiki/Paxos_(computer_science) .

> Raft: https://en.wikipedia.org/wiki/Raft_(computer_science) #Safety

> CAP theorem: https://en.wikipedia.org/wiki/CAP_theorem .

Papers-we-love > Distributed Systems: https://github.com/papers-we-love/papers-we-love/tree/master...

awesome-distributed-systems also has many links to theory: https://github.com/theanalyst/awesome-distributed-systems

- Byzantine fault: https://en.wikipedia.org/wiki/Byzantine_fault :

> A [Byzantine fault] is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. The term takes its name from an allegory, the "Byzantine Generals Problem",[2] developed to describe a situation in which, in order to avoid catastrophic failure of the system, the system's actors must agree on a concerted strategy, but some of these actors are unreliable.

awesome-bigdata lists a number of tools: https://github.com/onurakpolat/awesome-bigdata

Practically, dask.distributed (joblib -> SLURM,), dask ML, dask-labextension (a JupyterLab extension for dask), and the Rapids.ai tools (e.g. cuDF) scale from one to many nodes.

Not without a sense of irony, as the lists above list many papers that could be readings with quizzes,

Distributed systems -> Distributed computing: https://en.wikipedia.org/wiki/Distributed_computing

Category: Distributed computing: https://en.wikipedia.org/wiki/Category:Distributed_computing

Category:Distributed_computing_architecture : https://en.wikipedia.org/wiki/Category:Distributed_computing...

DLT: Distributed Ledger Technology: https://en.wikipedia.org/wiki/Distributed_ledger

Consensus (computer science) https://en.wikipedia.org/wiki/Consensus_(computer_science)

[-]

Ask HN: How can I “work-out” critical thinking skills as I age?

As I get older, I realized I’m not as sharp as I used to be. Maybe it’s from the fatigue of juggling 2 kids, but I’m very ill prepared for interviews because I simply can’t answer “product questions” and brain teasers. It’s a skill I need, and truthfully I was never good at consultant type questions to begin with but I’m seeing a lot of these questions in Data Science interviews.

Any help or resources will be tremendously appreciated.

Problem solving: https://en.wikipedia.org/wiki/Problem_solving

Critical thinking: https://en.wikipedia.org/wiki/Critical_thinking

Computational Thinking: https://en.wikipedia.org/wiki/Computational_thinking

> 1. Problem formulation (abstraction);

> 2. Solution expression (automation);

> 3. Solution execution and evaluation (analyses).

Interviewers may be more interested in demonstrating problem solving methods and f thinking aloud than an actual solution in an anxiety-producing scenario.

https://en.wikipedia.org/wiki/Brilliant_(website) ;

> Brilliant offers guided problem-solving based courses in math, science, and engineering, based on National Science Foundation research supporting active learning.[14]

Coding Interview University: https://github.com/jwasham/coding-interview-university

Programmer Competency Matrix: https://github.com/hltbra/programmer-competency-checklist

Inference > See also: https://en.wikipedia.org/wiki/Inference

- Deductive reasoning: https://en.wikipedia.org/wiki/Deductive_reasoning

- Inductive reasoning: https://en.wikipedia.org/wiki/Inductive_reasoning

> This is the [open] textbook for the Foundations of Data Science class at UC Berkeley: "Computational and Inferential Thinking: The Foundations of Data Science" http://inferentialthinking.com/

[-]

The tragedy of FireWire: Collaborative tech torpedoed by corporations

Due to DMA (Direct Memory Access) in most implementations, IEEE 1394 ("FireWire") can be used to directly read from and write to RAM.

See: IEEE 1394 > Security issues https://en.wikipedia.org/wiki/IEEE_1394#Security_issues

FWIU, USB 3 is faster than FireWire; there are standard, interchangeable USB connectors and adapters; and USB implementations do not use DMA. https://en.wikipedia.org/wiki/USB_3.0

[+]

So your argument is that not security but cost is the reason that USB "won" the external device interface competition with FireWire?

Good to know that USB4 implementations are making the same mistake as FireWire implementors did in choosing performance over security . Unfortunately it looks like there will be no alternative except for maybe to use a USB3 hub (or an OS with fuzzed IOMMU and also controller firmwares)?

Could an NX bit for data coming from buses with and without DMA help at all?

Hot gluing external ports now seems a bit more rational and justified for systems where physical access is less controlled.

[+]

I read much of the article (which assumed that "FireWire" failed because of issues with suppliers failing to work together instead of waning demand (due in part to corporate customers' knowledge of the security risks of most implementations)).

Thanks for the info on USB-4, DMA, IOMMU.

IOMMU: https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_ma...

Looks like there are a number of iommu Linux kernel parameters: https://www.kernel.org/doc/html/latest/admin-guide/kernel-pa...

Wonder what the defaults are and what the comparable parameters are for common consumer OSes.

Looks like NX bit support is optional in IOMMUs.

Can I configure the amount of RAM allocated to this?

[+]

Thanks again.

[-]

The Developer’s Guide to Audit Logs / SIEM

This article suggests that there should be separate data collection systems for: analytics, SIEM logs, and performance metrics.

The article mentions the CEF (Common Event Format) standard but not syslog or GELF or other JSON formats.

[ArcSight] Common Event Format [PDF]: https://kc.mcafee.com/resources/sites/MCAFEE/content/live/CO...

GELF: Graylog Extended Log Format: https://docs.graylog.org/en/latest/pages/gelf.html

Wikipedia > Syslog lists a few limitations of Syslog (no message delivery confirmation, though there is a reliable delivery RFC; and insufficient payload standardization) and also links to the existing Syslog RFCs. https://en.wikipedia.org/wiki/Syslog

Are push-style systems ideal for security logshipping systems? What sort of a message broker is ideal? AMQP has reliable delivery; while, for example, ZeroMQ does not and will drop messages due to resource exhaustion.

Developers simply need an API for their particular framework to non-blockingly queue and then log structs to a remote server. This typically means moving beyond a single-threaded application architecture so that the singular main [green] thread is not blocked when the remote log server is not responding.

SIEM: Security information and event management: https://en.wikipedia.org/wiki/Security_information_and_event...

[-]

Del.icio.us

kome | 2020-07-29 04:26:06 | 1649 | # | ^

The Firefox (and Chromium) bookmarks storage and sync systems still don't persist tags!

"Allow reading and writing bookmark tags" https://bugzilla.mozilla.org/show_bug.cgi?id=1225916

Notes re: how this could be standardized with JSON-LD: https://bugzilla.mozilla.org/show_bug.cgi?id=1225916#c116

The existing Web Experiment for persisting bookmark tags: https://github.com/azappella/webextension-experiment-tags/bl...

[-]

Ask HN: Recommendations for Books on Writing?

I want to propose a book club for writing as an engineer. Writing is fundamentally and critically important, but it seems that we don't emphasize it as much as we should for engineers (outside Amazon, where apparently it is a prominent member of the leadership pantheon).

I'm interested in any suggestions that HN has for great books on writing as an engineer! Accessibility and ease are important factors for a book club as well.

Technical Writing: https://en.wikipedia.org/wiki/Technical_writing

Google Technical Writing courses (1 & 2) and resources: https://developers.google.com/tech-writing :

- Google developer documentation style guide: https://developers.google.com/style

- Microsoft Writing Style Guide: https://docs.microsoft.com/en-us/style-guide/welcome/

Season of Docs is a program where applicants write documentation for open source projects: https://developers.google.com/season-of-docs/

Many open source projects are happy to accept necessary contributions of docs and editing; but do keep in mind that maintaining narrative documentation can be far more burdensome than maintaining API documentation that's kept next to the actual code. Systems like doxygen, epidoc, javadoc, and sphinx-apidoc enable developers to generate API documentation for a particular version of the software project as one or more HTML pages.

ReadTheDocs builds documentation from ReStructuredText and now also Markdown sources using Sphinx and the ReadTheDocs Docker image. ReadTheDocs organizes docs with URLs of the form <projectname>.rtfd.io/<language>/<version|latest>: https://docs.readthedocs.io/en/latest/ . The ReadTheDocs URL scheme reduces the prevalence of broken external links to documentation; though authors are indeed free to delete and rename docs pages and change which VCS tags are archived with RTD.

Write the Docs is a conference for technical documentation authors which is supported in part by ReadTheDocs: https://www.writethedocs.org/

Write the Docs > Learning Resources > All our videos and articles: https://www.writethedocs.org/topics/ :

> This page links to the topics that have been covered by conference talks or in the newsletter.

You might say that UX (User Experience) includes UI design and marketing: the objective is to imagine yourself as a customer experiencing the product or service afresh.

Writing dialogue is an activity we often associate more with creative writing exercises; where the objective is to meditate upon compassion for others.

One must imagine themself as ones/people/persons who interact with the team.

Cognitive walkthrough: https://en.wikipedia.org/wiki/Cognitive_walkthrough

The William Golding, Jung, and Joseph Campbell books on screenwriting, archetypes, and the hero's journey monomyth are excellent; if you're looking for creative writing resources.

[-]

Ask HN: How did you learn x86-64 assembly?

I'm an experienced C/C++ programmer and I occasionally look at the generated assembly to check for optimizations, loop unrolling, vectorization, etc. I understand what's going on the surface level, but I have a hard time understand what's going on in detail, especially with high optimization levels, where the compiler would do all kinds of clever tricks. I experiment with code in godbolt.org and look up the various opcodes, but I would like to take a more structured way of learning x86-64 assembly, especially when it comes to common patterns, tips and tricks, etc.

Are there any good books or tutorials you can recommend which go beyond the very beginner level?

High Level Assembly (HLA) https://en.wikipedia.org/wiki/High_Level_Assembly

> HLA was originally conceived as a tool to teach assembly language programming at the college-university level. The goal is to leverage students' existing programming knowledge when learning assembly language to get them up to speed as fast as possible. Most students taking an assembly language programming course have already been introduced to high-level control flow structures, such as IF, WHILE, FOR, etc. HLA allows students to immediately apply that programming knowledge to assembly language coding early in their course, allowing them to master other prerequisite subjects in assembly before learning how to code low-level forms of these control structures. The book The Art of Assembly Language Programming by Randall Hyde uses HLA for this purpose

Web: https://plantation-productions.com/Webster/

Book: "The Art of Assembly Language Programming" https://plantation-productions.com/Webster/www.artofasm.com/

Portable, Opensource, IA-32, Standard Library: https://sourceforge.net/projects/hla-stdlib/

"12.4 Programming in C/C++ and HLA" in the Linux 32 bit edition: https://plantation-productions.com/Webster/www.artofasm.com/...

... A chapter(s) about wider registers, WASM, and LLVM bitcode etc might be useful?

... Many awesome lists link to OllyDbg and other great resources for ASM; like such as ghidra: https://www.google.com/search?q=ollydbg+site%3Agithub.com+in...

[-]

Brain connectivity levels are equal in all mammals, including humans: study

hhs | 2020-07-22 09:39:11 | 197 | # | ^
[+]
[+]

"fNIRS Compared with other neuroimaging techniques" https://en.wikipedia.org/wiki/Functional_near-infrared_spect...

> When comparing and contrasting these devices it is important to look at the temporal resolution, spatial resolution, and the degree of immobility.

[+]

OP suggests that the spatial resolution of existing MRI neuroimaging capabilities is insufficient to observe or so characterize or so generalize about neuronal activity in mammalian species. fNIRS (functional near-infrared spectroscopy) is one alternative neuroimaging capability that we could compare fMRI with according to the criteria for comparison suggested in the cited Wikipedia article: "temporal resolution, spatial resolution, and the degree of immobility".

[-]

Ask HN: Resources to start learning about quantum computing?

edu | 2020-07-22 04:21:32 | 185 | # | ^

Hi there,

I'm an experienced software engineer (+15 years dev experience, MsC in Computer Science) and quantum computing is the first thing in my experience that is being hard to grasp/understand. I'd love to fix that ;)

What resources would you recommend to start learning about quantum computing?

Ideally resources that touch both the theoretical base and evolve to more practical usages.

[-]

Launch HN: Charityvest (YC S20) – Employee charitable funds and gift matching

Stephen, Jon, and Ashby here, the co-founders of Charityvest (https://charityvest.org). We created a modern, simple, and affordable way for companies to include charitable giving in their suite of employee benefits.

We give employees their own tax-deductible charitable giving fund, like an “HSA for Charity.” They can make contributions into their fund and, from their fund, support any of the 1.4M charities in the US, all on one tax receipt.

Using the funds, we enable companies to operate gift matching programs that run on autopilot. Each donation to a charity from an employee is matched automatically by the company in our system.

A company can set up a matching gift program and launch giving funds to employees in about 10 minutes of work.

Historically, corporate charitable giving matching programs have been administratively painful to operate. Making payments to charities, maintaining tax records, and doing due diligence on charitable compliance is taxing on HR / finance teams. The necessary software to help has historically been quite expensive and not very useful for employees beyond the matching features.

This is one example of an observation Stephen made after working for years as a philanthropic consultant. Consumer fintech products aren’t built to make great giving experiences for donors. Instead, they are built for buyers — e.g., nonprofits (fundraising) or corporations (gift matching) — without a ton of consideration for the everyday user experience.

A few years back, my wife and I made a commitment to give a portion of our income away every year, and we found it administratively painful to give regularly. The tech that nonprofits typically use hardly inspires generosity — e.g., high fees, poor user flows, and questionable information flow (like tax receipts). Giving platforms try to compensate for poor functionality with bright pictures of happy kids in developing countries, but when the technology is not a good financial experience it puts a damper on things.

Charityvest started when I noticed a particular opportunity with donor-advised funds, which are tax-deductible giving funds recognized by the IRS. They are growing quickly (20% CAGR), but mainly among the high-net worth demographic. We believe they are powerful tools. They enable donors to have a giving portfolio all from one place (on one tax receipt) and have full control over their payment information/frequency, etc. Most of all, they enable a donor to split the decisions of committing to give and supporting a specific organization. Excitement about each of these decisions often strikes at different times for donors—particularly those who desire to give on a budget.

We believe everyone should have their own charitable giving fund no matter their net worth. We’ve created technology that has democratized donor-advised funds.

We also believe good technology should be available for every company, big and small. Employers can offer Charityvest for $2.49 / employee / month subscription, and we charge no fees on any of the giving — charities receive 100% of the money given.

Lastly, we send the program administrator a fun report every month to let them know all the awesome giving their company and its employees did in one dashboard. This info can be leveraged for internal culture or external brand building.

We’re just launching our workplace giving product, but we’ve already built a good portfolio of trusted customers, including Eric Ries’ (author of The Lean Startup) company, LTSE. We’ve particularly seen a number of companies use us as a meaningful part of their corporate decision to join the fight for racial justice in substantive ways.

Our endgame is that the world becomes more generous, starting with the culture of every company. We believe giving is fundamentally good and we want to build technology that encourages more of it by making it more simple and accessible.

You can check out our workplace giving product at (https://charityvest.org/workplace-giving). If you’re interested, we can get your company up and running in 10 minutes. Or, please feel free to forward us on to your HR leadership at your company.

Our giving funds are also available for free for any individual on https://charityvest.org — without gift matching and reporting. We’d invite you to check out the experience. For individuals, we make gifts of cash and stock to any charity fee-free.

Happy to share this with you all, and we’d love to know what you think.

What a great idea!

Are there two separate donations or does it add the company's name after the donor's name? Some way to notify recipients about the low cost of managing a charitable donation match program with your service would be great.

Have you encountered any charitable foundations which prefer to receive cryptoassets? Red Cross and UNICEF accept cryptocurrency donations for the children, for example.

Do you have integration with other onboarding and HR/benefits tools on your roadmap? As a potential employee, I would like to work for a place that matches charitable donations, so mentioning as much in job descriptions would be helpful.

[+]

> Our matching system issues an identical grant from the fund of the matching company. It goes out in the same grant cycle as the employee grant so they go together.

So the system creates a separate transaction for the original and the matched donation with each donor's name on the respective gift?

How do users sync which elements of their HR information with your service? IDK what the monthly admin cost there is.

There are a few HR, benefits, contracts, and payroll YC companies with privacy regulation compliance and APIs https://www.ycombinator.com/companies/?query=Payroll

https://founderkit.com/people-and-recruiting/health-insuranc...

[+]

Thanks for clarifying.

Do you offer a CSV containing donor information to the charity?

Do you support anonymous matched donations?

Can donors specify that a donation is strongly recommended for a specific effort?

...

3% * $1000/yr == $2.50/mo * 12mo

[+]

Outstanding. CSV would be helpful for recognizing donors in e.g. annual and ESG/CSR reports.

It may be helpful to integrate with charity evaluation services to help donors assess various opportunities to give.

Charity Navigator > Evaluation method https://en.wikipedia.org/wiki/Charity_Navigator#Evaluation_m...

[+]
[-]

We Need a Yelp for Doctoral Programs

How are the data needs for such a doctoral and post-doctoral evaluation program different from the data needs for https://collegescorecard.ed.gov ?

Data: https://collegescorecard.ed.gov/data/

Data documentation: https://collegescorecard.ed.gov/data/documentation/

[+]
[+]
[+]
[+]
[+]
[-]

All of the World’s Money and Markets in One Visualization

> Derivatives top the list, estimated at $1 quadrillion or more in notional value according to a variety of unofficial sources.

1 Quadrillion: 1,000,000,000,000,000 (10^15)

Derivative (finance) https://en.wikipedia.org/wiki/Derivative_(finance)

Derivatives market https://en.wikipedia.org/wiki/Derivatives_market :

> The market can be divided into two, that for exchange-traded derivatives and that for over-the-counter derivatives.

[-]

Why companies lose their best innovators (2019)

hhs | 2020-07-18 21:06:28 | 190 | # | ^

https://news.ycombinator.com/item?id=23886158

> Three reasons companies lose their best innovators.

> 1. They fail to recognize and support the innovators

> 2. Innovation becomes a herculean task

> 3. Corporations don’t match rewards with outcomes

While the paragraphs under point 2 do discuss risk and the paragraphs under point 3 do discuss rewards, I'm not sure this article belongs here.

Risk and Reward.

Large corporations are able to pay people by doing things at scale; with sufficient margin at sufficient volume to justify continued investment. Risk is minimized by focusing on ROI.

Startups assume lots of risk and lots of debt and most don't make it. Liquidation preference applies as the startup team adjourns (and maybe open-sources what remains). In a large corporation, that burnt capital is reported to the board (which represents the shareholders) who aren't "gambling" per se. "You win some and you lose some" is across the street; and they don't have foosball and snacks.

How can large organizations (nonprofit, for-profit, governmental) foster intrapreneurial mindsets without just continuing to say "innovation" more times and expecting things to happen? Drink. "Innovators welcome!". Drink water.

"Intrapreneurial." What does that even mean? The employee, within their specialized department, spends resources (time, money, equipment) on something that their superior managers have not allocated funding for because they want: (a) recognition; (b) job security; (c) to save resources such as time and money; (d) to work on something else instead of this wasteful process; (e) more money.

Very few organizations have anything like "20% time". Why was 20% time thrown off the island to a new island where they had room to run? Do they have foosball? Or is the work so fun that they don't even need foosball? Or is it worth long days and nights because the potential return is enough money to retire tomorrow and then work on what?

Step 1. Steal innovators to work on our one thing

Step 2.

Step 3. Profit.

20% Project: https://en.wikipedia.org/wiki/20%25_Project

Intrapreneurship: https://en.wikipedia.org/wiki/Intrapreneurship

Internal entrepreneur: https://en.wikipedia.org/wiki/Internal_entrepreneur

CINO: Chief Innovation Officer / CTIO: Chief Technology Innovation Officer https://en.wikipedia.org/wiki/Chief_innovation_officer

... Is acquiring innovation and bringing it to scale a top-down process? How do we capture creative solutions and then allocate willing and available resources to making that happen?

awesome-ideation-tools: https://github.com/zazaalaza/awesome-ideation-tools

[-]

Powerful AI Can Now Be Trained on a Single Computer

[+]
[+]

Isn't this what Proof of Work incentivizes? Energy efficiency over transistor count.

[-]

Ask HN: Something like Khan Academy but full curriculum for grade schoolers?

Khan Academy continually gets held up as a great resource for online courses across the age spectrum for math related subjects. With the continuing pandemic continuing to grow in the US and schools not really sure how to handle things, the GF and I are looking into other options.

Is there a recommended resource that gives unbiased (as possible) reviews for middle school (7-8th grade) curriculum? Searching these days really doesn't bring up quality, just options one has to comb through.

[-]

AutoML-Zero: Evolving Code That Learns

[+]

"AutoML-Zero: Evolving Machine Learning Algorithms From Scratch" (2020) https://arxiv.org/abs/2003.03384 https://scholar.google.com/scholar?cluster=11748751662887361...

How does this compare to MOSES (OpenCog/asmoses) or PLN? https://github.com/opencog/asmoses https://scholar.google.com/scholar?hl=en&as_sdt=0%2C43&q=%22... (2007)

Is this symbolic AI and/or a (deep learning) neural network?

[-]

SymPy - a Python library for symbolic mathematics

[+]
[+]

NumPy for Matlab users: https://numpy.org/doc/stable/user/numpy-for-matlab-users.htm...

SymPy vs Matlab: https://github.com/sympy/sympy/wiki/SymPy-vs.-Matlab

If you then or later need to do distributed ML, it is advantageous to be working in Python. Dask Distributed, Dask-ML, RAPIDS.ai (CuDF), PyArrow, xeus-cling

[+]
[+]

SymEngine https://github.com/symengine/symengine

> SymEngine is a standalone fast C++ symbolic manipulation library. Optional thin wrappers allow usage of the library from other languages, e.g.:

> [...] Python wrappers allow easy usage from Python and integration with SymPy and Sage (the symengine.py repository)

https://en.wikipedia.org/wiki/SymPy > Related Projects:

> SymEngine: a rewriting of SymPy's core in C++, in order to increase its performance. Work is currently in progress to make SymEngine the underlying engine of Sage too

[+]
[+]

There's a lot of overlap and there are syntactical differences. SymPy is included in the CoCalc image. SageMath is now conda-installable.

Things that the SageMath CAS can do that SymPy cannot yet:

- solve multivariate systems of inequalities

[-]

Ask HN: Are there any messaging apps supporting Markdown?

I'd like to easily send formatted code, and bullet points, etc. through a messaging app without having to resort to a heavy app like Slack.

Mattermost supports CommonMark Markdown: https://docs.mattermost.com/help/messaging/formatting-text.h...

Zulip supports ~CommonMark Markdown: https://zulip.readthedocs.io/en/latest/subsystems/markdown.h...

Reddit supports Markdown. https://www.reddit.com/wiki/markdown

Discourse now supports CommonMark Markdown.

GitHub, BitBucket, GitLab and Gogs/Gitea support Markdown.

[+]

I digress on the category definition. Public messaging (without PM or DM features) is still messaging; and often far more useful than trying to forward 1:1 messages in order to bring additional participants onboard.

It's worth noting that GH/BB/GL have all foregone PM features; probably for the better in terms of productivity: messaging @all is likely more productive.

[-]

What vertical farming and ag startups don't understand about agriculture

[+]
[+]
[+]
[+]
[+]
[+]
[+]

>> "Actually no not really. Plants only absorb two wavelengths of light. It's currently more efficient to convert sun into solar power via panels and then to light LEDs supplying only the wavelengths that plants use. Despite the seeming inefficiency here, the fact is that plants are even more inefficient at absorbing light not at the right wavelengths than solar panels."

> Could one imagine a material that would absorb solar spectrum and emit the preferred frequencies? Something like a polymer one could stretch over fields to get more from the suns rays.

Would you call that a "solar transmitter"?

https://en.wikipedia.org/wiki/Transmitter :

> Generators of radio waves for heating or industrial purposes, such as microwave ovens or diathermy equipment, are not usually called transmitters, even though they often have similar circuits.

Would "absorption spectroscopy" specialists have insight into whether this is possible without solar cells, energy storage, and UV LEDs? https://en.wikipedia.org/wiki/Absorption_spectroscopy

(edit) The thermal energy from sunlight (from the FREE radiation from the nuclear reaction at the center of our solar system) is also useful to and necessary for plants. There's probably a passive heat pipe / solar panel cooling solution that could harvest such heat for colder seasons and climates.

Also, UV-C is useful for sanitizing (UVGI) but not really for plant growth. https://en.wikipedia.org/wiki/Ultraviolet_germicidal_irradia... :

> UVGI can be coupled with a filtration system to sanitize air and water.

Is that necessary or desirable for plants?

https://www.lumigrow.com/learning-center/blogs/the-definitiv... :

> The light that plants predominately use for photosynthesis ranges from 400–700 nm. This range is referred to as Photosynthetically Active Radiation (PAR) and includes red, blue and green wavebands. Photomorphogenesis occurs in a wider range from approximately 260–780 nm and includes UV and far-red radiation.

Photomorphogenesis: https://en.wikipedia.org/wiki/Photomorphogenesis

PAR: Photosynthetically active radiation: https://en.wikipedia.org/wiki/Photosynthetically_active_radi...

Grow light: https://en.wikipedia.org/wiki/Grow_light

Are there bioluminescent e.g. algae which emit PAR and/or UV? Algae can feed off of waste industrial gases.

Bioluminescence > Light production: https://en.wikipedia.org/wiki/Bioluminescence#Light_producti...

Biophoton: https://en.wikipedia.org/wiki/Biophoton

Chemiluminescence: https://en.wikipedia.org/wiki/Chemiluminescence

Electrochemiluminescence: https://en.wikipedia.org/wiki/Electrochemiluminescence

Quantum dot display / "QLED": https://en.wikipedia.org/wiki/Quantum_dot_display

Could be possible? Analyzing the inputs and outputs is useful in natural systems, as well.

[-]

Ask HN: What are your go to SaaS products for startups/MVPs?

lbj | 2020-06-15 05:26:29 | 169 | # | ^

Looking for some inspiration. Ive done a lot of MVPs/Early-stage apps over the years and I tend to lean on the same SaaS portfolio for mails, text gateways, payment etc, but Im sure Ive missed a few valuable additions.

Here's a few I use: Mails: Mailchimp / Mandrill Payment: Paylike Search: Algolia

https://StackShare.io and https://FounderKit.com are great places to find reviews of SaaS services:

> mails,

https://founderkit.com/growth-marketing/email-marketing/revi...

https://stackshare.io/email-marketing

https://zapier.com/learn/email-marketing/

> text gateways,

https://founderkit.com/apis/sms/reviews

https://stackshare.io/voice-and-sms

> payments

https://founderkit.com/apis/credit-card-processing/reviews

https://stackshare.io/payment-services

Both have categories:

https://stackshare.io/categories

https://founderkit.com/reviews

[+]

Long term viability of SaaS solutions is definitely worth researching.

Is this something that's going to get acquired and be extinguished?

What are our switching costs?

How do we get our data in a format that can be: read into our data warehouse/lake and imported into an alternate service if necessary in the future?

How does Coscout compare to e.g. Crunchbase, PitchBook (Morningstar), YCharts, AngelList?

[+]
[-]

Ask HN: Do you read aloud or silently in your minds?

Most times while reading a new topic that I am not familiar with, I tend to read aloud in my mind. Yet that changes based on the content and the way it is written.

When I'm focused, I notice that reading silently helps increase my reading speed and cognition, like everything is flowing in.

Other times I don't seem to understand anything if I'm not reading it aloud in my mind.

Has anyone noticed such a thing and if so can you share any tips or information you've learned about this behavior

[-]

Ask HN: How do you deploy a Django app in 2020?

Hi. I'm a mid-level software engineer trying to deploy a small (2000 max users) django app to production.

If I Google: How to deploy a Django app. I get 10+ different answers.

Can anyone on HN help me please.

[+]

If you have only one production server, dokku is "A docker-powered PaaS that helps you build and manage the lifecycle of applications." Dokku supports Heroku buildpack deployment (buildstep), Procfiles, Dockerfile deployment, Docker image deployment, git deployment (gitreceive), or tarfile deployments. https://github.com/dokku/dokku

There are a number of plugins for Dokku. Dokku ships with the nginx plugin as the HTTP frontend proxy. Dokku supports SSL certs with the certs plugin.

When you need to move to more than one server, what do you do? There's now a dokku-scheduler-kubernetes plugin which can do HA (high availability) which is worth reading about before you develop and document your own deployment workflow. https://github.com/dokku/dokku-scheduler-kubernetes

I also always put build, test, and deployment commands in a Makefile.

Package it; as a container or as containers that install a RPM/DEB/APK/Condapkg/Pythonpkg (possibly containing a zipapp). Zipapps are fast.

If you have any non-python dependencies, a Pythonpkg only solves for part of the packaging needs.

Producing a packaged artifact should be easy and part of your CI build script.

Here's the cookiecutter-django production docker-compose.yml with containers for django, celery, postgres, redis, and traefik as a load balancer: https://github.com/pydanny/cookiecutter-django/blob/master/%...

Cookiecutter-django also includes a Procfile.

With k8s, you have an ingress (~load balancer + SSL termination proxy) other than traefik.

You can generate k8s YML from docker-compose.yml with Kompose.

I just found this which describes using GitLab CI with Helm: https://davidmburke.com/2020/01/24/deploy-django-with-helm-t...

What is the command to scale up or down? Do you need a geodistributed setup (on multiple providers' clouds)? Who has those credentials and experience?

How do you do red/green or rolling deployments?

Can you run tests in a copy of production?

Can you deploy when the tests that run on git commit pass?

What runs the database migrations in production; while users are using the site?

If something deletes the whole production setup or the bus factor is 1, how long does it take to redeploy from zero; and how much manual work does it take?

CI + Ansible + Terraform + Kubernetes.

Whatever tools you settle on, django-eviron for a 12 Factor App may be advisable. https://github.com/joke2k/django-environ

The Twelve-Factor App: https://12factor.net/

[-]

Containers from first principles

[+]

"Docker Without Docker" (2015) explains /sbin/init and systemd-nspawn. Systemd did not exist when docker was first created. https://chimeracoder.github.io/docker-without-docker/

[+]

Are there other systemd + containers solutions?

"Chapter 4. Running containers as Systemd services with Podmam" https://access.redhat.com/documentation/en-us/red_hat_enterp...

AFAIU, when running containers with systemd:

- logs go to journald by default

- there's no docker-compose for just the [name-prefixed] containers in the docker-compose.yml,

- you can use systemd unit template parametrization

- it's not as easy to collect metrics on every container on the system without a read-only docker socket: how many containers are running, how much RAM quota are they assigned and utilizing? What are the filesystem and port mappings?

- you can run containers as non-root

- you can run containers in systemd timer units

- you use runC to handle seccomp

... You can do cgroups and namespaces with just systemd; but keeping chroots/images upgraded is outside the scope of systemd: where is the ideal boundary between systemd and containers?

See this comment regarding per-container MAC MCS labels: https://news.ycombinator.com/item?id=23430959

There's much additional complexity that justifies k8s / OpenShift: when would I want to manage containers with just systemd units?

> Many people might think the word “container” has a specific meaning within the Linux kernel; however the kernel has no notion of a “container”. The word has been synonymous with a variety of Linux tooling which when applied give the resemblance of what we expect a container to be.

Before LXC ( https://LinuxContainers.org ) and CNCF ( https://landscape.cncf.io/ ) and OCI ( https://opencontainers.org/ ), for shared-kernel VPS hosting ("virtual private server"; root on a shared box), there was OpenVZ (which requires a patched kernel and AFAIU still has features, like bursting, not present in cgroups).

Docker no longer has an LXC driver: libcontainer (opencontainers/runc) is the story now. The LXC docs have a great list of utilized kernel features that's also still true for docker-engine = runC + moby. The LXC docs: https://linuxcontainers.org/lxc/introduction/ :

> Current LXC uses the following kernel features to contain processes:

> ## Kernel namespaces (ipc, uts, mount, pid, network and user)

>> Namespaces are a feature of the Linux kernel that partitions kernel resources such that one set of processes sees one set of resources while another set of processes sees a different set of resources. https://en.wikipedia.org/wiki/Linux_namespaces

> ## Apparmor and SELinux profiles https://en.wikipedia.org/wiki/AppArmor / https://en.wikipedia.org/wiki/Security-Enhanced_Linux

udica is an interesting tool for creating SELinux policies for containers.

Is it possible for each container to run confined with a different SELinux label?

> ## Seccomp policies https://en.wikipedia.org/wiki/Seccomp

See below re: Seccomp.

> ## Chroots (using pivot_root) https://en.wikipedia.org/wiki/Chroot

Chroots and symlinks, Chroots and bind mounts, Chroots and overlay filesystems, Chroots and SELinux context labels.

FWIU, Chroots are a native feature of filesystem syscalls in Fuchsia.

> ## Kernel capabilities

https://wiki.archlinux.org/index.php/Capabilities :

>> "Capabilities (POSIX 1003.1e, capabilities(7)) provide fine-grained control over superuser permissions, allowing use of the root user to be avoided. Software developers are encouraged to replace uses of the powerful setuid attribute in a system binary with a more minimal set of capabilities. Many packages make use of capabilities, such as CAP_NET_RAW being used for the ping binary provided by iputils. This enables e.g. ping to be run by a normal user (as with the setuid method), while at the same time limiting the security consequences of a potential vulnerability in ping."

> ## CGroups (control groups)* https://en.wikipedia.org/wiki/Cgroups

Control groups enable per-process (and to thus per-container) resource quotas. Other than limiting the impact of resource exhaustion, cgroups are not a security feature of the Linux kernel.

Here's a helpful explainer of the differences between some of these kernel features; which, combined, have become somewhat ubiquitous:

From "Formally add support for SELinux" (k3s #1372) https://github.com/rancher/k3s/issues/1372#issuecomment-5817... :

> https://blog.openshift.com/securing-kubernetes/*

>> The main thing to understand about SELinux integration with OpenShift is that, by default, OpenShift runs each container as a random uid and is isolated with SELinux MCS labels. The easiest way of thinking about MCS labels is they are a dynamic way of getting SELinux separation without having to create policy files and run restorecon.*

>> If you are wondering why we need SELinux and namespaces at the same time, the way I view it is namespaces provide the nice abstraction but are not designed from a security first perspective. SELinux is the brick wall that’s going to stop you if you manage to break out of (accidentally or on purpose) from the namespace abstraction.

>> CGroups is the remaining piece of the puzzle. Its primary purpose isn’t security, but I list it because it regulates that different containers stay within their allotted space for compute resources (cpu, memory, I/O). So without cgroups, you can’t be confident your application won’t be stomped on by another application on the same node.

From Wikipedia: https://en.wikipedia.org/wiki/Seccomp ::

> seccomp (short for secure computing mode) is a computer security facility in the Linux kernel. seccomp allows a process to make a one-way transition into a "secure" state where it cannot make any system calls except exit(), sigreturn(), read() and write() to already-open file descriptors. Should it attempt any other system calls, the kernel will terminate the process with SIGKILL or SIGSYS.[1][2] In this sense, it does not virtualize the system's resources but isolates the process from them entirely.

... SELinux is one implementation of MAC (Mandatory Access Controls) that is built upon the LSM (Linux Security Modules) support in the Linux kernel. Some distros include policy sets for Docker hosts and lots of other packages that could be installed; see: "Formally add support for SELinux" (k3s #1372) https://github.com/rancher/k3s/issues/1372#issuecomment-5817...

[-]

How many people did it take to build the Great Pyramid?

> The potential energy of the pyramid—the energy needed to lift the mass above ground level—is simply the product of acceleration due to gravity, mass, and the center of mass, which in a pyramid is one-quarter of its height. The mass cannot be pinpointed because it depends on the specific densities of the Tura limestone and mortar that were used to build the structure; I am assuming a mean of 2.6 metric tons per cubic meter, hence a total mass of about 6.75 million metric tons. That means the pyramid’s potential energy is about 2.4 trillion joules.

In "Lost Technologies of the Great Pyramid" (2010) and "The Great Pyramid Prosperity Machine: Why the Great Pyramid was Built!" (2011), Steven Myers contends that the people who built the pyramids were master hydrologists who built a series of locks from the Nile all the way up the sides of the pyramids and pumped water up to a pool of water on the topmost level; where they used buoyancy and mechanical leverage by way of a floating barge crane in order to place blocks. This would explain how and why the pyramids are water tight, why explosive residue has been found in specific chambers, and why boats have been found buried at the bases of the pyramids.

https://www.amazon.com/dp/B0045Y26CC/

There are videos: http://www.thepump.org/video-series-2

https://www.youtube.com/playlist?list=PLt_DvKGJ_QLYvJ3IdVKXU...

I'm not aware of other explanations for how friction could have been overcome in setting the blocks such that they are watertight (in the later Egyptian pyramids).

AFAIU, the pyramids of South America appear to be of different - possibly older - construction methods.

[-]

Solar’s Future is Insanely Cheap

[+]
[+]

> if smart thermostats received price signals (maybe we should precool this house...) that would alleviate the evening ramp-up issue.

Is there an existing model for retail intraday rates? Would intraday rates be desirable for all market participants?

"Add area for curtailment data?" https://github.com/tmrowco/electricitymap-contrib/issues/236...

[-]

Demo of an OpenAI language model applied to code generation [video]

[+]
[+]
[+]
[+]
[+]

1. Generate test cases from function/class/method definitions.

2. Generate test cases from fuzz results.

3. Run tests and walk outward from symbols around relevant stacktrace frames (line numbers,).

4. Mutate and run the test again.

...

Model-based Testing (MBT) https://en.wikipedia.org/wiki/Model-based_testing

> Models can also be constructed from completed systems

> At best this is like having an exceptionally smart autocomplete function that can look up code snippets on SO for you (provided those code snippets are no longer than one line).

Yeah, all it could do for you is autocomplete around what it thinks the specification might be at that point in time.

> But what if Andy gets another dinosaur, a mean one? -- Toy Story (1995)

[-]

Future of the human climate niche

How many degrees Celsius hotter would that be for billions of people in 50 years?

> The Paris Agreement's long-term temperature goal is to keep the increase in global average temperature to well below 2 °C above pre-industrial levels; and to pursue efforts to limit the increase to 1.5 °C, recognizing that this would substantially reduce the risks and impacts of climate change. This should be done by reducing emissions as soon as possible, in order to "achieve a balance between anthropogenic emissions by sources and removals by sinks of greenhouse gases" in the second half of the 21st century. It also aims to increase the ability of parties to adapt to the adverse impacts of climate change, and make "finance flows consistent with a pathway towards low greenhouse gas emissions and climate-resilient development."

> Under the Paris Agreement, each country must determine, plan, and regularly report on the contribution that it undertakes to mitigate global warming. [6] No mechanism forces [7] a country to set a specific emissions target by a specific date, [8] but each target should go beyond previously set targets.

And then this is what was decided:

> In June 2017, U.S. President Donald Trump announced his intention to withdraw the United States from the agreement. Under the agreement, the earliest effective date of withdrawal for the U.S. is November 2020, shortly before the end of President Trump's 2016 term. In practice, changes in United States policy that are contrary to the Paris Agreement have already been put in place.[9]

https://en.wikipedia.org/wiki/Paris_Agreement

[+]

That's a good question,

[-]

Ask HN: Best resources for non-technical founders to understand hacker mindset?

Background: technical founder wondering what reading to recommend to a business focused founder for them to grok the hacker mindset. I've thought perhaps Mythical Man Month and How To Become A Hacker (Eric Raymond essay) but not sure they're quite right.

Any suggestions?

(In case it helps an analogue in the mathematical world might be A Mathematician's Apology or Gödel, Escher, Bach.)

[+]

> 3) True "hackers" value taking ownership in their work, that is, whatever they work on becomes an extension of themselves, much like an artist working on a work of art

There's something to be said about owning your work, but I have to disagree that unhealthy attachment to work products is a universal attribute of technical founder hackers. It's not a kid, it's a thing that was supposed to be the best use of the resources and information available at the time.

I must have confused this point with vanity and retention in projecting my own counterproductive anti-patterns.

Prolific is not the objective for a true hacker, but not me but a guy I know mentioned something about starting projects and seeing the next 5 years of potentially happily working on that project, too.

[-]

Dissecting the code responsible for the Bitcoin halving

> The difficulty of the calculations are determined by how many zeroes need to be at the front. [...]

The difficulty is actually not determined by the number of zeroes (as was initially the case).

https://en.bitcoinwiki.org/wiki/Difficulty_in_Mining :

> The Bitcoin network has a global block difficulty. Valid blocks must have a hash below this target. Mining pools also have a pool-specific share difficulty setting a lower limit for shares.

"Less than" instead of "count leading zeroes" makes it possible for the difficulty to be less broadly adjusted in a difficulty retargeting.

Difficulty retargetings occur after up to 2016 blocks (~10 minutes, assuming the mining pool doesn't suddenly disappear resulting in longer block times that could make it take months to get to 2016 blocks according to "What would happen if 90% of the Bitcoin miners suddenly stopped mining?" https://bitcoin.stackexchange.com/questions/22308/what-would... )

Difficulty is adjusted up or down (every up to 2016 blocks) in order to keep the block time to ~10 minutes.

The block reward halving occurs every ~4 years (210,000 blocks).

Relatedly, Moore's law observes/predicts that processing power (as measured by transistor count per unit) will double every 2 years while price stays the same. Is energy efficiency independent of transistor count? https://en.wikipedia.org/wiki/Moore%27s_law

Ask HN: Does mounting servers parallel with the temperature gradient trap heat?

Heat rises. Is heat trapped in the rack? Would mounting servers sideways (vertically) allow heat to transfer out of the rack?

Many systems have taken the vertical mount approach approach over the years: Blade servers, routers, modems, and various gaming systems.

Horizontally-mounted: parallel with the floor

Vertically-mounted: perpendicular to the floor

[+]

Thermodynamics https://en.wikipedia.org/wiki/Thermodynamics

Are engine cylinders ever mounted horizontally? Why or why not?

> Heat rises.

Warmer air is less dense / more buoyant; so it floats.

"Does hot air really rise?" https://physics.stackexchange.com/questions/6329/does-hot-ai...

- Water ice floats because – somewhat uniquely – solid water is less dense than liquid water.

> Is heat trapped in the rack?

Probably.

> Would mounting servers sideways (vertically) allow heat to transfer out of the rack?

How could we find studies that have already tested this hypothesis?

[-]

Google ditched tipping feature for donating money to sites

> When asked, Google confirmed that the designs were an internal idea it explored last year but decided not to pursue as part of [Google Contributor] and Google Funding Choices, which lets sites ask visitors to disable ad blockers, or instead buy a subscription or pay a per page fee to remove ads.

Could this be built on Web Monetization API (ILP (Interledger Protocol)) and e.g. Google Pay as one of many possible payment/card/cryptocurrency processing backends; just like Coil is built on Web Monetization API?

[-]

Innovating on Web Monetization: Coil and Firefox Reality

Coil: $5/mo, Content creators get a proportional cut of that amount according to what is browsed with the browser extension enabled or the Puma browser, and Private: No Tracking

> Coil sends payments via the Interledger Protocol, which allows any currency to be used for sending and receiving.

https://github.com/coilhq

It looks like the Web Monetization API is not yet listed on the Website Monetization Wikipedia page: https://en.wikipedia.org/wiki/Website_monetization

Quoting from earlier this week:

> Web Monetization API (ILP: Interledger Protocol)

>> A JavaScript browser API which allows the creation of a payment stream from the user agent to the website.

>> Web Monetization is being proposed as a #W3C standard at the Web Platform Incubator Community Group.

> https://webmonetization.org/

> Interledger: Web Monetization API https://interledger.org/rfcs/0028-web-monetization/

Ask HN: Recommendations for online essay grading systems?

Which automated essay grading systems would you recommend? Are they open source?

How can we identify biases in these objective systems?

What are your experiences with these systems as authors and graders?

Who else remembers using the Flesch-Kincaid Grade Level metric in Word to evaluate school essays? https://en.wikipedia.org/wiki/Flesch%E2%80%93Kincaid_readabi...

Imagine my surprise when I learned that this metric is not one that was created for authors to maximize: reading ease for the widest audience is not an objective in some deparments, but a requirement.

What metrics do and should online essay grading systems present? As continuous feedback to authors, or as final judgement?

I'm reminded of a time in highschool when an essay that I wrote was flagged by an automated essay verification engine as plagiarism. I certainly hadn't plagiarized, and it was up to me to refute that each identified keyword-similar internet resource on the internet was not an uncited source of my paper. I disengaged. I later wrote an essay about how keyword search tools could be helpful to students doing original research. True story.

Decades later, I would guess that human review is still advisable.

This need of mine to have others validate my unpaid work has nothing to do with that traumatic experience.

I still harbor this belief in myself: that what I have to say is worth money to others, and that - someday - I'll pay a journal to consider my ScholarlyArticle for publishing in their prestigious publication with maybe even threaded peer review (and #StructuredPremises linking to Datasets and CreativeWorks that my #LinkedMetaAnalyses are predicated upon). Someday, I'll develop an online persona as a scholar, as a teacher, maybe someday as a TA or an associate professor and connect my CV to any or all of the social networks for academics. I'll work to minimize the costs of interviewing and searching public records. My research will be valued and funded.

Or maybe, like 20% time, I'll find time and money on the side for such worthwhile investigations; and what I produce will be of value to others: more than just an exercise in hearing myself speak.

In my years of internet communications, I've encountered quite a few patrons; lurkers; participants; and ne'er-do-wells who'll order 5 free waters, plaster their posters to the walls, harass paying customers, and just walk out like nothing's going to happen. Moderation costs time and money; and it's a dirty job that sometimes pays okay. There are various systems for grading these comments, these essays, these NewsArticles, these ScholarlyArticles. Human review is still advisable.

> How can we identify biases in these objective systems?

Modern "journalism" recognizes that it's not a one-way monologue but a dialogue: people want to comment. Ignorantly, helpfully, relevantly, insightfully, experiencedly. What separates the "article part" from the "comments part" of the dialogue? Typesetting, CSS, citations, quality of argumentation?

You could call it something like "Because I Want You To Grade My Essay Again" (BIWYGMEA) and just pay people who submit to it.

Ask HN: Systems for supporting Evidence-Based Policy?

What tools and services would you recommend for evidence-based policy tasks like meta-analysis, solution criteria development, and planned evaluations according to the given criteria?

Are they open source? Do they work with linked open data?

> Ask HN: Systems for supporting Evidence-Based Policy?

> What tools and services would you recommend for evidence-based policy tasks like meta-analysis, solution criteria development, and planned evaluations according to the given criteria?

> Are they open source? Do they work with linked open data?

I suppose I should clarify that citizens, consumers, voters, and journalists are not acceptable answers

[-]

Facebook, Google to be forced to share ad revenue with Australian media

[+]
[+]
[+]

If you don't want them to index your content and send you free traffic, you can already specify that in your robots.txt; for free. https://en.wikipedia.org/wiki/Robots_exclusion_standard

There are no ads on Google News.

There is an apparent glut of online news: supply exceeds demand and so the price has fallen.

[+]

By hurt, do you mean competed with by effectively utilizing technology to help people find information about the world from multiple sources.

There are very many news aggregators and most do serve ads next to the headlines they index. I assume that people typically link out from news aggregation sites more than into vertically-integrated services.

Perhaps the content producers / information service providers could develop additional revenue streams in order to subsidize a news aggregation public service. Micropayments (BAT, Web Monetization (ILP)), ads, paywalls, and public and private grants are sources of revenue for content producers.

I think it's disingenuous to blame news aggregation sites for the unprofitability of extremely redundant journalism. What happened to journalism? Internet. Excessive ads. Aren't we all writers these days.

Unfortunately they killed the "most cited" and was it "most in-depth" source analysis functions of Google News; and now we're stuck with regurgitated news wires and press releases and all of these eyewitness mobile phone videos with two-bit banal commentary and also punditry. How the world has changed.

So, as far as scientific experiments are concerned, it might be interesting to see what the impact of de-listing from free time sites X, Y, and Z is.

Do the papers in Australia and France now intend to compensate journal ScholarlyArticle authors whose work they summarize and hopefully at least cite the titles and URLs of, or the journals themselves?

[-]

France rules Google must pay news firms for content

us0r | 2020-04-11 12:36:55 | 134 | # | ^

Website monetization https://en.wikipedia.org/wiki/Website_monetization

Web Monetization API (ILP: Interledger Protocol)

> A JavaScript browser API which allows the creation of a payment stream from the user agent to the website.

> Web Monetization is being proposed as a #W3C standard at the Web Platform Incubator Community Group.

https://webmonetization.org/

Interledger: Web Monetization API https://interledger.org/rfcs/0028-web-monetization/

Khan Academy, for example, accepts BAT (Basic Attention Token) micropayments/microdonations that e.g. Brave browser users can opt to share with the content producers and indexers. https://en.wikipedia.org/wiki/Brave_(web_browser)#Basic_Atte...

Web Monetization w/ Interledger should enable any payments system with low enough transaction costs ("ledger-agnostic, currency agnostic") to be used to pay/tip/donate to content producers who are producing unsensational, unbiased content that people want to pay for.

Paywalls/subscriptions and ads are two other approaches to funding quality journalism.

Should journalists pay ScholarlyArticle authors whose studies they publish summaries of without even citing the DOI/URL and Title; or the journals said ScholarlyArticles are published in? https://schema.org/ScholarlyArticle

[-]

Adafruit Thermal Camera Imager for Fever Screening

> Thermal Camera Imager for Fever Screening with USB Video Output - UTi165K. PRODUCT ID: 4579 https://www.adafruit.com/product/4579

> This video camera takes photos of temperatures! This camera is specifically tuned to work in the 30˚C~45˚C / 86˚F~113˚ F range with 0.5˚C / 1˚ F accuracy, so it's excellent for human temperature & fever detection. In fact, this thermal camera is often used by companies/airports/hotels/malls to do a first-pass fever check: If any person has a temperature of over 99˚F an alarm goes off so you can do a secondary check with an accurate handheld temperature meter.

> You may have seen thermal 'FLIR' cameras used to find air leaks in homes, but those cameras have a very wide temperature range, so they're not as accurate in the narrow range used for fever-scanning. This camera is designed specifically for that purpose!

... USB Type-C, SD Card; no price listed yet?

[-]

Ask HN: What's the ROI of Y Combinator investments?

To calculate the ROI of YC investments, we could find the terms of the YC investments (x for y%, preference) and find the exit rate (what % of companies exit).

We could search for 'ROI of ycombinator investments' and find valuation numbers from a number of years ago.

From the first page of search results, we'd then learn about "return on capital" and how the standard YC seed terms have changed over the years.

Return on capital: https://en.wikipedia.org/wiki/Return_on_capital

From the See also section of this Wikipedia page, we might discover "Cash flow return on investment" and "Rate of return on a portfolio"

From the "rate of return" Wikipedia page, we might learn that "The return on investment (ROI) is return per dollar invested. It is a measure of investment performance, as opposed to size (c.f. return on equity, return on assets, return on capital employed)." and that "The annualized return of an investment depends on whether or not the return, including interest and dividends, from one period is reinvested in the next period. " https://en.wikipedia.org/wiki/Rate_of_return

From the YCombinator Wikipedia page, we might read that "The combined valuation of the top YC companies was over $155 billion as of October, 2019. [4]" and that "As of late 2019, Y Combinator had invested in >2,000 companies [37], most of which are for-profit. Non-profit organizations can also participate in the main YC program. [38]" and then read about "seed accelerators" and then "business incubators" in search of appropriate metrics for comparing VC performance. https://en.wikipedia.org/wiki/Y_Combinator

ROI is such a frou frou statistic anyway. What does that even mean, ROI? In any case, YC itself is not a public company, per se, AFAICT, so, it's not so easy as going to https://YCharts.com, entering the equity symbol, clicking on "Key Stats", and scrolling down to "Profitability" to review [Gross | EBITDA | Operating] [Profit] Margin.

The LTSE (Long-Term Stock Exchange) is where people who are in this for real are really doing it now.

[-]

Microsoft announces Money in Excel powered by Plaid

This looks really useful.

At first glance, I found a number of ways to push transaction data into Google Sheets from the Plaid API:

build-your-own-mint (NodeJS, CircleCI) https://github.com/yyx990803/build-your-own-mint

go-plaid: https://github.com/ebcrowder/go-plaid

Presumably, like the GOOGLEFINANCE function, there's some way to pull data from an API with just Apps Script (~JS) without an auxiliary serverless function to get the txs from Plaid and post to the gsheets API?

[-]

Lora-based device-to-device smartphone communication for crisis scenarios [pdf]

[+]
[+]

Unfortunately, the Earl tablet never made it to market: https://blog.the-ebook-reader.com/2015/01/26/video-update-ab...

Earl specs: Waterproof; Solar charging; eInk; ANT+; NFC; VHF/UHF transceiver (GMRS, PMR446, UHFCB); GPS; Sensors: Accelerometer, Gyroscope, Magnetometer, Temperature, Barometer, Humidity; AM/FM/SW/LW/WB

LTE, LoRa, 5G, and Hostapd would be great

Being able to plug it into a powerbank and antennas for use as a fixed or portable e.g. BATMAN mesh relay would be great

"LoRa+WiFi ClusterDuck Protocol by Project OWL for Disaster Relief" https://news.ycombinator.com/item?id=22707267

> An opkg (for e.g. OpenWRT) with this mesh software would make it possible to use WiFi/LTE routers with a LoRa transmitter/receiver connected over e.g. USB or Mini-PCIe.

LoRa+WiFi ClusterDuck Protocol by Project OWL for Disaster Relief

> Project OWL (Organization, Whereabouts, and Logistics) creates a mesh network of Internet of Things (IoT) devices called DuckLinks. These Wi-Fi-enabled devices can be deployed or activated in disaster areas to quickly re-establish connectivity and improve communication between first responders and civilians in need.

> In OWL, a central portal connects to solar- and battery-powered, water-resistant DuckLinks. These create a Local Area Network (LAN). In turn, these power up a Wi-Fi captive portal using low-frequency Long-range Radio (LoRa) for Internet connectivity. LoRA has a greater range, about 10km, than cellular networks.

...

> You don't actually need a DuckLink device. The open-source OWL firmware can quickly turn a cheap wireless device into a DuckLink using the -- I swear I'm not making this up -- ClusterDuck Protocol. This is a mesh network node, which can hook up to any other near-by Ducks.

> OWL is more than just hardware and firmware. It's also a cloud-based analytic program. The OWL Data Management Software can be used to facilitate organization, whereabouts, and logistics for disaster response.

Homepage: http://clusterduckprotocol.org/

GitHub: https://github.com/Code-and-Response/ClusterDuck-Protocol

The Linux Foundation > Code and Response https://www.linuxfoundation.org/projects/code-and-response/

GitHub: https://github.com/code-and-response

An opkg (for e.g. OpenWRT) with this mesh software would make it possible to use WiFi/LTE routers with a LoRa transmitter/receiver connected over e.g. USB or Mini-PCIe.

... cc'ing from https://twitter.com/westurner/status/1238859774567026688 :

OpenWRT is a Make-based embedded Linux distro w/ LuCI (Lua + JSON + UCI) web interface).

#OpenWRT runs on RaspberryPis, ARM, x86, ARM, MIPS; there's a Docker image. OpenWRT Supported Devices: https://openwrt.org/supported_devices

OpenWRT uses opkg packages: https://openwrt.org/docs/guide-user/additional-software/opkg

I searched for "Lora" in OpenWRT/packages: lora-gateway-hal opkg package: https://github.com/openwrt/packages/blob/master/net/lora-gat...

lora-packet-forwarder opkg package (w/ UCI integration): https://github.com/openwrt/packages/pull/8320

https://github.com/xueliu/lora-feed :

> Semtech packages and ChirpStack [(LoRaserver)] Network Server stack for OpenWRT

> > [In addition to providing node2node/2net connectivity, #batman-adv can bridge VLANs over a mesh (or link), such as for “trusted” client, guest, IoT, and mgmt networks. It provides an easy-to-configure alternative to other approaches to “backhaul”, […]] https://openwrt.org/docs/guide-user/network/wifi/mesh/batman

> I have a few different [quad-core, MIMO] ARM devices without 4G. TIL that the @GLiNetWifi devices ship with OpenWRT firmware (and a mobile config app) and some have 1-2 (Mini-PCIe) 4G w/ SIM slots. Also, @turris_cz has OpenWRT w/ LXC in the kernel build. https://t.co/Rz0Uu5uHJQ

[-]

A Visual Debugger for Jupyter

[+]

So, I went looking for the answer to this because in the past I've installed the scratchpad extension by installing jupyter_contrib_nbextensions, but those don't work with JupyterLab because there's a new extension model for JupyterLab that requires node and npm.

Turns out that with JupyterLab, all you have to to is right-click and select "New Console for Notebook" and it opens a console pane below the notebook already attached to the notebook kernel. You can also instead do File > New > Console and select a kernel listed under "Use Kernel From Other Session".

The "New action runInConsole to allow line by line execution of cell content" "PR adds a notebook command `notebook:run-in-console`" but you have to add the associated keyboard shortcut to your config yourself; e.g. `Ctrl Shift Enter` or `Ctrl-G` that calls `notebook:run-in-console`. https://github.com/jupyterlab/jupyterlab/pull/4330

"In Jupyter Lab, execute editor code in Python console" describes how to add the associated keyboard shortcut to your config: https://stackoverflow.com/questions/38648286/in-jupyter-lab-...

[-]

Ask HN: What's the Equivalent of 'Hello, World' for a Quantum Computer?

The 'Hello,World' program is one of the simplest programs to demonstrate how to go about writing a program in a new programming language.

What is an equivalent simple program which demonstrates how to write a very simple program for a quantum computer?

I have tried (and failed) to imagine such a program. Can somebody who has actually used a quantum computer show us an actual quantum computer program?

Ask HN: Communication platforms for intermittent disaster relief?

Are there good platforms for disaster relief that work well with intermittent connectivity (i.e. spotty 3G/4G/WiFi/LoRa)?

How can major networks improve in terms of e.g. indicating message delivery status, most recent sync time, sync throttling status due to load, optionally downloading images/audio/video, referring people to local places and/or forms for help with basic needs, etc?

What are some tools that app developers can use to simulate intermittent connectivity when running tests?

How can people find local, legitimate sources for information if they're not already following local disaster relief authorities?

DroneAid: A Symbol Language and ML model for indicating needs to drones, planes

From the README https://github.com/Code-and-Response/DroneAid :

> The DroneAid Symbol Language provides a way for those affected by natural disasters to express their needs and make them visible to drones, planes, and satellites when traditional communications are not available.

> Victims can use a pre-packaged symbol kit that has been manufactured and distributed to them, or recreate the symbols manually with whatever materials they have available.

> These symbols include those below, which represent a subset of the icons provided by The United Nations Office for the Coordination of Humanitarian Affairs (OCHA). These can be complemented with numbers to quantify need, such as the number or people who need water.

Each of the symbols are drawn within a triangle pointing up:

- Immediate Help Needed (orange; downward triangle \n SOS),

- Shelter Needed (cyan; like a guy standing in a tall pentagon without a floor),

- OK: No Help Needed (green; upward triangle \n OK),

- First Aid Kit Needed (yellow; briefcase with a first aid cross),

- Water Needed (blue; rain droplet), Area with Children in Need (lilac; baby looking thing with a diaper on),

- Food Needed (red; pan with wheat drawn above it),

- Area with Elderly in Need (purple; person with a cane)

So, we're going to need some artists; something to write large things with; some orange, cyan, green, yellow, blue, lilac, red, and purple things; some people who can tell me the difference between lilac (light purple: babies) and purple (darker purple: old people); and some drones that can capture location and imagery.

Note that DroneAid is also a project of The Linux Foundation Code and Response organization.

[-]

Ask HN: Computer Science/History Books?

Hi guys, can you recommend interesting books on Computer Science or computer history (similar to Dealers of Lightning) to read on this quarantine times? I really like that subject and am looking for something to keep myself away from TV at night.

Thank you.

[+]

"The Information: A History, a Theory, a Flood" starts with "1 | Drums That Talk" re: African drum messaging; a complex coding scheme:

> Here was a messaging system that outpaced the best couriers, the fastest horses on good roads with way stations and relays.

https://en.wikipedia.org/wiki/The_Information:_A_History,_a_...

https://www.goodreads.com/book/show/8701960-the-information

From "Polynesian People Used Binary Numbers 600 Years Ago" https://www.scientificamerican.com/article/polynesian-people... :

> Binary arithmetic, the basis of all virtually digital computation today, is usually said to have been invented at the start of the eighteenth century by the German mathematician Gottfried Leibniz. But a study now shows that a kind of binary system was already in use 300 years earlier among the people of the tiny Pacific island of Mangareva in French Polynesia.

[-]

Open-source security tools for cloud and container applications

[+]

> List of CNCF open source security projects without the blog post: https://landscape.cncf.io/category=security-compliance&forma...

Thanks for this.

[-]

YC Companies Responding to Covid-19

Are life sciences and healthcare familiar verticals for YC?

Good to see money and talent going to such good use.

(Edit) Here's the YC Companies list; which doesn't yet list these new investments:

Biomedical vertical: https://www.ycombinator.com/companies/?vertical=Biomedical

Healthcare vertical: https://www.ycombinator.com/companies/?vertical=Healthcare

"The Y Combinator Database" https://www.ycdb.co/

[-]

Show HN: Neh – Execute any script or program from Nginx location directives

[+]
[+]
[+]

Nginx probably somewhat-deliberately has FastCGI but not regular CGI for a number of reasons.

CGI has process-per-request overhead.

CGI typically runs processes as the user the webserver is running as; said processes can generally read and write to the unsandboxed address space of the calling process (such as x.509 private certs).

Just about any app can be (D)DOS'd. That requires less resources with the process-per-request overhead of CGI.

In order to prevent resource exhaustion due to e.g someone benignly hitting reload a bunch of times and thus creating multiple GET requests, applications should enqueue task messages which a limited number of workers retrieve from a (durable) FIFO or priority queue and update the status of.

Websockets may or may not scale better than long-polling for streaming stdout to a client.

[+]
[-]

Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

For a long time, I’ve been in an awkward position with my knowledge of computers. I know basic JavaScript (syntax and booleans and nothing more). I’ve learned the bare basics of Linux from setting up a Pi-hole. I understand the concept of secure hashes. I even know some regex.

The problem is, I know so little that I can’t actually do anything with this knowledge. I suppose I’m looking for a tutorial that will teach me to be comfortable with the command line and a Unix environment, while also teaching me to code a language. Where should I start?

[+]

> Also check github for a bunch of repos that contain biolerplate code that is used in most deamons illustrating signal handling, forking, etc.[2]

docker-systemctl-replacement is a (partial) reimplementation of systemd as one python script that can be run as the init process of a container that's helpful for understanding how systemd handles processes: https://github.com/gdraheim/docker-systemctl-replacement/blo...

systemd is written in C: https://github.com/systemd/systemd

> examples of how to write secure code

awesome-safety-critical > Coding Guidelines https://github.com/stanislaw/awesome-safety-critical/blob/ma...

[-]

Math Symbols Explained with Python

Average of a finite series: There's a statistics module in Python 3.4+:

  X = [1, 2, 3]

  from statistics import mean, fmean
  mean(X)

  # may or may not be preferable to
  sum(X) / len(X)
https://docs.python.org/3/library/statistics.html#statistics...

Product of a terminating iterable:

  import operator
  from functools import reduce
  # from itertools import accumulate
  reduce(operator.mul, X)
Vector norm:

  from numpy import linalg as LA
  LA.norm(X)
https://docs.scipy.org/doc/numpy/reference/generated/numpy.l...

Function domains and ranges can be specified and checked at compile-time with type annotations or at runtime with type()/isinstance() or with something like pycontracts or icontracts for checking preconditions and postconditions.

Dot product:

  Y = [4, 5, 6]
  np.dot(X, Y)
https://docs.scipy.org/doc/numpy/reference/generated/numpy.d...

Unit vector:

  X / np.linalg.norm(X)

[-]

Ask HN: Is there way you can covert smartphone to a no contact thermometer?

Wondering is there an infrared dongle that can convert your phone to a no contact thermometer to read body temperature?

Infrared thermometer: https://en.wikipedia.org/wiki/Infrared_thermometer

Thermography: https://en.wikipedia.org/wiki/Thermography

IDK what the standard error is for medical temperature estimation with an e.g. FLIR ONE thermal imaging camera for an Android/iOS device. https://www.flir.com/applications/home-outdoor/

I'd imagine that sanitization would be crucial for any clinical setting.

(Edit) "Prediction of brain tissue temperature using near-infrared spectroscopy" (2017) Neurophotonics https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5469395/

"Nirs body temperature" https://scholar.google.com/scholar?hl=en&as_sdt=0%2C43&q=nir...

"Infrared body temperature" https://scholar.google.com/scholar?hl=en&as_sdt=0%2C43&q=inf...

"Infrared thermometer iOS" https://m.alibaba.com/trade/search?SearchText=infrared%20the...

"Infrared thermometer Android" https://alibaba.com/trade/search?SearchText=infrared%20therm...

[-]

Employee Scheduling

From "Ask HN: What algorithms should I research to code a conference scheduling app" https://news.ycombinator.com/item?id=15267804 :

> Resource scheduling, CSP (Constraint Satisfaction programming)

CSP: https://en.wikipedia.org/wiki/Constraint_satisfaction_proble...

Scheduling (production processes):

https://en.wikipedia.org/wiki/Scheduling_(production_process...

Scheduling (computing):

https://en.wikipedia.org/wiki/Scheduling_(computing)

... To an OS, a process thread has a priority and sometimes a CPU affinity.

From http://markmail.org/search/?q=list%3Aorg.python.omaha+pysche... :

Pyschedule:

- Src: https://github.com/timnon/pyschedule

From https://github.com/timnon/pyschedule :

> pyschedule is python package to compute resource-constrained task schedules. Some features are:

- precedence relations: e.g. task A should be done before task B

- resource requirements: e.g. task A can be done by resource X or Y

- resource capacities: e.g. resource X can only process a few tasks

Previous use-cases include:

- school timetables: assign teachers to classes

- beer brewing: assign equipment to brewing stages

- sport schedules: assign stadiums to games

... https://en.wikipedia.org/wiki/Slurm_Workload_Manager :

> Slurm is the workload manager on about 60% of the TOP500 supercomputers.[1]

Slurm uses a best fit algorithm based on Hilbert curve scheduling or fat tree network topology in order to optimize locality of task assignments on parallel computers.[2]

... https://en.wikipedia.org/wiki/Hilbert_curve_scheduling :

> [...] the Hilbert curve scheduling method turns a multidimensional task allocation problem into a one-dimensional space filling problem using Hilbert curves, assigning related tasks to locations with higher levels of proximity.[1] Other space filling curves may also be used in various computing applications for similar purposes.[2]

[-]

Show HN: Simulation-based high school physics course notes

[+]
[-]

WebAssembly brings extensibility to network proxies

FWIW, Ethereum WASM (ewasm) has a cost (in "particles" ("gas")) for each WebAssembly opcode. [1]

Opcode costs help to incentivize efficient code.

ewasm/design /README.md [2] links to the complete WebAssembly instruction set. [3]

[1] https://ewasm.readthedocs.io/en/mkdocs/determining_wasm_gas_...

[2] https://github.com/ewasm/design/blob/master/README.md

[3] https://webassembly.github.io/spec/core/appendix/index-instr...

[-]

Pandemic Ventilator Project

mhb | 2020-03-14 00:29:09 | 318 | # | ^
[+]

> https://www.projectopenair.org/

From https://app.jogl.io/project/121#about

>> Current Status of the project

>> The main bottleneck currently (2020-03-13) is organization / management.

>> […] This is an organization of experts and hobbyists from around the globe.

[+]

I see a "Ventilator Project" heading?

(edit) here's the link to their 'Ventilator' document: https://docs.google.com/document/d/1RDihfZIOEYs60kPEIVDe7gms...

[-]

Low-cost ventilator wins Sloan health care prize (2019)

[+]

Ventilator availability is limiting our ability to get care to the most people we can.

[+]

Robots, then. Robots are the future!

[-]

AI can detect coronavirus from CT scans in twenty seconds

Is it possible to detect coronavirus with NIRS (Near-Infrared Spectroscopy)? https://en.wikipedia.org/wiki/Near-infrared_spectroscopy

FWIU, the equipment costs and scan times are lower with NIRS than with CT or MRI? And infrared is zero rads?

(Edit) I think it was this or the TED video that had the sweet demo: "The Science of Visible Thought & Our Translucent Selves | Mary Lou Jepsen | SU Global Summit" https://youtu.be/IRCXNBzfeC4

Are these devices in production?

[-]

AutoML-Zero: Evolving machine learning algorithms from scratch

[+]
[+]

> Would be funny but most of those things are already on AutoML Tables, including the carbon offset

GCP datacenters are 100% offset with PPAs. Are you referring to different functionality for costing AutoML instructions in terms of carbon?

...

I'd add:

- Setup a Jupyter Notebook environment

> Jupyter Notebooks are one of the most popular development tools for data scientists. They enable you to create interactive, shareable notebooks with code snippets and markdown for explanations. Without leaving Google Cloud's hosted notebook environment, AI Platform Notebooks, you can leverage the power of AutoML technology.

> There are several benefits of using AutoML technology from a notebook. Each step and setting can be codified so that it runs the same every time by everyone. Also, it's common, even with AutoML, to need to manipulate the source data before training the model with it. By using a notebook, you can use common tools like pandas and numpy to preprocess the data in the same workflow. Finally, you have the option of creating a model with another framework, and ensemble that together with the AutoML model, for potentially better results.

https://cloud.google.com/blog/products/ai-machine-learning/u...

[+]

> This sounds like the sort of thing that would be useful outside of data science.

The instruction/operation costing or the computational essay/notebook environment setup?

Ethereum ("gas") and EOS have per-instruction costing. SingularityNET is a marketplace for AI solutions hosted on a blockchain, where you pay for AI/ML services with the SingularityNET AGI token. E.g. GridCoin and CureCoin compensate compute resource donations with their own tokens; which also have a floating exchange rate.

TLJH: "The Littlest JupyterHub" describes how to setup multi-user JupyterHub with e.g. Docker spawners that isolate workloads running with shared resources like GPUs and TPUs: http://tljh.jupyter.org/en/latest/

"Zero to BinderHub" describes how to setup BinderHub on a k8s cluster: https://binderhub.readthedocs.io/en/latest/zero-to-binderhub...

[+]

REES is one solution to reproducibility of the computational environment.

> BinderHub ( https://mybinder.org/ ) creates docker containers from {git repos, Zenodo, FigShare,} and launches them in free cloud instances also running JupyterLab by building containers with repo2docker (with REES (Reproducible Execution Environment Specification)). This means that all I have to do is add an environment.yml to my git repo in order to get Binder support so that people can just click on the badge in the README to launch JupyterLab with all of the dependencies installed.

> REES supports a number of dependency specifications: requirements.txt, Pipfile.lock, environment.yml, aptSources, postBuild. With an environment.yml, I can install the necessary CPython/PyPy version and everything else.

REES: https://repo2docker.readthedocs.io/en/latest/specification.h...

REES configuration files: https://repo2docker.readthedocs.io/en/latest/config_files.ht...

Storing a container built with repo2docker in a container registry is one way to increase the likelihood that it'll be possible to run the same analysis pipeline with the same data and get the same results years later.

...

Pachyderm ( https://pachyderm.io/platform/ ) does Data Versioning, Data Pipelines (with commands that each run in a container), and Data Lineage (~ "data provenance"). What other platforms are there for versioning data and recording data provenance?

...

Recording manual procedures is an area where we've somewhat departed from the "write in a lab notebook with a pen" practice. CoCalc records all (collaborative) inputs to the notebook with a timeslider for review.

In practice, people use notebooks for displaying generated charts, manual exploratory analyses (which does introduce bias), for demonstrating APIs, and for teaching.

Is JupyterLab an ideal IDE? Nope, not by a longshot. nbdev makes it easier to write a function in a notebook, sync it to a module, edit it with a more complete data-science IDE (like RStudio, VSCode, Spyder, etc), and then copy it back into the notebook. https://github.com/fastai/nbdev

> What other platforms are there for versioning data and recording data provenance?

Quilt also versions data and data pipelines: https://medium.com/pytorch/how-to-iterate-faster-in-machine-...

https://github.com/quiltdata/quilt (Python)

[+]
[+]

Is this an argument in favor of unjustified magic constant arbitrary priors?

[+]

Yeah, but cryptographic hashes have some entropy.

[+]

Is the question "Does AutoML-Zero minimize or maximize a cost function with error as a primary component, instead of using a binary win/lose classifier like AlphaGoZero?"

https://en.wikipedia.org/wiki/AlphaZero

[-]

Options for giving math talks and lectures online

One option: screencast development of a Jupyter notebook.

Jupyter Notebook supports LaTeX (MathTeX) and inline charts. You can create graded notebooks with nbgrader and/or with CoCalc (which records all (optionally multi-user) input such that you can replay it with a time slider).

Jupyter notebooks can be saved to HTML slides with reveal.js, but if you want to execute code cells within a slide, you'll need to install RISE: https://rise.readthedocs.io/en/stable/

Here are the docs for CoCalc Course Management; Handouts, Assignments, nbgrader: https://doc.cocalc.com/teaching-course-management.html

Here are the docs for nbgrader: https://nbgrader.readthedocs.io/en/stable/

You can also grade Jupyter notebooks in Open edX:

> Auto-grade a student assignment created as a Jupyter notebook, using the nbgrader Jupyter extension, and write the score in the Open edX gradebook

https://github.com/ibleducation/jupyter-edx-grader-xblock

Or just show the Jupyter notebook within an edX course: https://github.com/ibleducation/jupyter-edx-viewer-xblock

There are also ways to integrate Jupyter notebooks with various LMS / LRS systems (like Canvas, Blackboard, etc) "nbgrader and LMS / LRS; LTI, xAPI" on the "Teaching with Jupyter Notebooks" mailing list: https://groups.google.com/forum/#!topic/jupyter-education/_U...

"Teaching and Learning with Jupyter" ("An open book about Jupyter and its use in teaching and learning.") https://jupyter4edu.github.io/jupyter-edu-book/

> TLJH: "The Littlest JupyterHub" describes how to setup multi-user JupyterHub with e.g. Docker spawners that isolate workloads running with shared resources like GPUs and TPUs: http://tljh.jupyter.org/en/latest/

> "Zero to BinderHub" describes how to setup BinderHub on a k8s cluster: https://binderhub.readthedocs.io/en/latest/zero-to-binderhub...

If you create a git repository with REES-compatible dependency specification file(s), students can generate a container with all of the same software at home with repo2docker or with BinderHub.

> REES is one solution to reproducibility of the computational environment.

>> BinderHub ( https://mybinder.org/ ) creates docker containers from {git repos, Zenodo, FigShare,} and launches them in free cloud instances also running JupyterLab by building containers with repo2docker (with REES (Reproducible Execution Environment Specification)). This means that all I have to do is add an environment.yml to my git repo in order to get Binder support so that people can just click on the badge in the README to launch JupyterLab with all of the dependencies installed.

>> REES supports a number of dependency specifications: requirements.txt, Pipfile.lock, environment.yml, aptSources, postBuild. With an environment.yml, I can install the necessary CPython/PyPy version and everything else.

> REES: https://repo2docker.readthedocs.io/en/latest/specification.h...

> REES configuration files: https://repo2docker.readthedocs.io/en/latest/config_files.ht...

> Storing a container built with repo2docker in a container registry is one way to increase the likelihood that it'll be possible to run the same analysis pipeline with the same data and get the same results years later.

[-]

Aerogel from fruit biowaste produces ultracapacitors

dalf | 2020-03-04 06:29:43 | 152 | # | ^

> "Aerogel from fruit biowaste produces ultracapacitors with high energy density and stability" (2020) https://www.sciencedirect.com/science/article/pii/S2352152X1...

Years ago, I remember reading about supercapacitor electrodes made from what would be waste hemp bast fiber. They used graphene as a control. And IIRC, the natural branching structure in hemp (the strongest natural fiber) was considered ideal for an electrode.

"Hemp Carbon Makes Supercapacitors Superfast" https://www.asme.org/topics-resources/content/hemp-carbon-ma...

How do the costs and performance compare? Graphene, hemp, durian, jackfruit

While graphene production costs have fallen due to lots of recent research, IIUC all graphene production is hazardous due to graphene's ability to cross the lungs and the blood-brain barrier?

[+]

Hemp textiles are rough, but antimicrobial/antibacterial: hemp textiles resist growth of pneumonia and staph.

AFAIU, when they blend hemp with e.g. rayon it's good enough for underwear, sheets, scrubs.

The government is getting the heck out of the way of hemp, a great rotation crop that can be used for soul remediation.

[+]
[+]

#AccidentalArt.

(Freudian psychoanalytic projections are not supported by neuroimaging)

[+]
[+]

Technically, the 2013 farm bill (signed into law in 2014) authorized growing hemp for state-registered research purposes. https://www.votehemp.com/laws-and-legislation/federal-legisl...

Turns out UC Berkeley's got an approach for brewing cannabinoids (and I think terpenes) from yeast, and a company in Germany has a provisional patent application to brew cannabinoids from bacteria. We could be absorbing carbon ("sequestering" carbon) and coal ash acid rain with mostly fields of industrial hemp for which there are indeed thousands of uses.

[-]

Ask HN: How to Take Good Notes?

I want to improve my note-taking skill. I've started writing a text file with notes from class, however, I don't have a systematic way of writing. This means at this point I just wrote down, arbitrarily, things the professor said, things the professor wrote, how I understood the information, and everything else, mostly all over the place.

I'm wondering if anyone developed a system like this I could adapt to myself, and how did they do it.

[+]

> In 2009, psychologist Jackie Andrade asked 40 people to monitor a 2-½ minute dull and rambling voice mail message. Half of the group doodled while they did this (they shaded in a shape), and the other half did not. They were not aware that their memories would be tested after the call. Surprisingly, when both groups were asked to recall details from the call, those that doodled were better at paying attention to the message and recalling the details. They recalled 29% more information! https://www.health.harvard.edu/blog/the-thinking-benefits-of...

https://en.wikipedia.org/wiki/Doodle#Effects_on_memory references the same study.

Related articles on GScholar: https://scholar.google.com/scholar?q=related:YVG_-PKhNH4J:sc...

[+]

Many lectures and meetings may be experienced as similarly dross and irrelevant and a waste of time (though you can't expect people to just read the necessary information ahead of time, as flipped classrooms expect of committed learners).

What would be a better experimental design for measuring effect on memory retention of passively-absorbed lectures?

[-]

Ask HN: STEM toy for a 3 years old?

Hello! Can the HN community recommend me a STEM toy (or similar that would educate and entertain him) for my 3 yo boy? He's highly curious but I can't find many things to play with him :( The things that I like bore him and the things that he likes bore me (or are way too messy and dangerous to let him do them)...

"12 Awesome (& Educational) STEM Subscription Boxes for Kids" https://stemeducationguide.com/subscription-boxes-for-kids/

Tape measure with big numbers, ruler(s)

Measuring cup, water, ice.

"Melissa & Doug Sunny Patch Dilly Dally Tootle Turtle Target Game (Active Play & Outdoor, Two Color Self-Sticking Bean Bags, Great Gift for Girls and Boys - Best for 3, 4, 5, and 6 Year Olds)"

Set of wooden blocks in a wood box; such as "Melissa & Doug Standard Unit Blocks"

...

https://sugarlabs.org/ , GCompris mouse and keyboard games with a trackpad and a mouse, ABCMouse, Khan Academy Kids, Code.org, ScratchJr (5-7), K12 Computer Science Framework https://k12cs.org/

[-]

OpenAPI v3.1 and JSON Schema 2019-09

[+]

Defusedxml lists a number of XML "Attack vectors: billion laughs / exponential entity expansion, quadratic blowup entity expansion, external entity expansion (remote), external entity expansion (local file), DTD retrieval" https://pypi.org/project/defusedxml/

Are there similar vulnerabilities in JSON parsers (that would then also need to be monkeypatched)?

[+]

Yeah, expressing complex types with only primitives in a portable way is still unfortunately a challenge. For example, how do we encode a datetime without ISO8601 and a schema definition; or, how do we encode complex numbers with units like "1j+1"; or "1.01 USD/meter"?

Fortunately, we can use XSD with RDFS and RDFS with JSON-LD.

LDP: Linked Data Platform and Solid: social linked data (and JSON-LD) are the newer W3C specs for HTTP APIs.

For one, pagination is a native feature of LDP.

[+]

It's astounding how often people make claims like this.

There is a whole lot of RDF Linked Data; and it links together without needing ad-hoc implementations of schema-specific relations.

I'll just link to the Linked Open Data Cloud again, for yet another hater that's probably never done anything for data interoperability: https://lod-cloud.net/

That's a success.

[+]

JSON5 supports comments: https://json5.org/

[+]
[+]
[+]
[+]
[+]

When I searched for "JSON5 [language]", I found JSON5 implementations in/for Rust, C, Python, Java, and Haskell on the first page of search results.

I like YAML, but some of the syntax conveniences are gotchas: 'no' must be quoted, for example.

[-]

Git for Node.js and the browser using libgit2 compiled to WebAssembly

This looks useful. Are there pending standards for other browser storage mechanisms than an in-memory FS?

Would it be a security risk to grant limited local filesystem access by domain; with a storage quota?

... To answer my own question, it looks like the FileSystem API is still experimental and only browser extensions can request access to the actual filesystem: https://developer.mozilla.org/en-US/docs/Web/API/FileSystem

[+]
[-]

Scientists use ML to find an antibiotic able to kill superbugs in mice

[+]

The second-order costs avoided by treatments developed so innovatingly could be included in a "value to society" estimation.

"Acknowledgements" lists the grant funders for this federally-funded open access study.

"A Deep Learning Approach to Antibiotic Discovery" (2020) https://doi.org/10.1016/j.cell.2020.01.021

> Mutant generation

> Chemprop code is available at: https://github.com/swansonk14/chemprop

> Message Passing Neural Networks for Molecule Property Prediction

> A web-based version of the antibiotic prediction model described herein is available at: http://chemprop.csail.mit.edu/

> This website can be used to predict molecular properties using a Message Passing Neural Network (MPNN). In order to make predictions, an MPNN first needs to be trained on a dataset containing molecules along with known property values for each molecule. Once the MPNN is trained, it can be used to predict those same properties on any new molecules.

[-]

Shit – An implementation of Git using POSIX shell

kick | 2020-02-11 17:35:48 | 814 | # | ^
[+]
[+]
[+]
[+]

You can also set $GIT_PAGER/core.pager/$PAGER and create an alias to accomplish this:

  #export PAGER='less -SEXIER'
  #export GIT_PAGER='less -SEXIER'
  git config --global core.pager 'less -SEXIER'
  git config --global alias.l 'log --graph --oneline --decorate --color'
  # git diff ~/.gitconfig
  git l
core.pager: https://git-scm.com/docs/git-config#Documentation/git-config...

> The order of preference is the $GIT_PAGER environment variable, then core.pager configuration, then $PAGER, and then the default chosen at compile time (usually less).

[-]

HTTP 402: Payment Required

[+]

> The new W3C Payment Request API [4] makes it easy for browsers to offer a standard (and probably(?) already accessible) interface for the payment data entry screen, at least. https://www.w3.org/TR/payment-request/

[+]

It really could

Salesforce Sustainability Cloud Becomes Generally Available

> - Reduce emissions with trusted analytics from a trusted platform. Analyzing carbon emissions from energy usage and company travel can be daunting and time-consuming. But with all your data flowing directly onto one platform, you can efficiently quantify your carbon footprint. Formulate a climate action plan for your company from a single source of truth, built on our trusted and secure data platform.

> - Take action with data-driven insights. Prove to customers, employees, and potential investors your commitment to carbon-conscious and sustainable practices. Offer regulatory agencies a clear snapshot of your energy usage patterns. Extrapolate energy consumption and track carbon emissions with cutting-edge analytics — and take action.

> - Tackle carbon accounting audits in weeks instead of months. Carbon analysis can be an overwhelming time commitment, even a barrier to action for companies that want to get it right. Use preloaded datasets from the U.S. EPA, IPCC, and others to accurately assess your carbon accounting. Streamline your data gathering and climate action plan with embedded guides and user flows.

> - Empower decision makers with executive-ready dashboard data. Evaluate corporate environmental impact with rich data visualization and dashboards. Track energy patterns and emission trends, then make the business case to executives. Once an organization understands its carbon footprint, decision makers can begin to drive sustainability solutions.

Are there similar services for Sustainability Reporting and accountability? https://en.wikipedia.org/wiki/Sustainability_reporting

[-]

Httpx: A next-generation HTTP client for Python

[+]
[+]

FWIW, requests3 has "Type-annotations for all public-facing APIs", asyncio, HTTP/2, connection pooling, timeouts, etc https://github.com/kennethreitz/requests3

[+]

It looks like requests is now owned by PSF. https://github.com/psf/requests

But IDK why requests3 wasn't transferred as well, and why issues appear to be disabled on the repo now.

The docs reference a timeout arg (that appears to default to the socket default timeout) for connect and/or read https://3.python-requests.org/user/advanced/#timeouts

And the tests reference a timeout argument. If that doesn't work, I wonder how much work it would be to send a PR (instead of just talking s to Ken and not contributing any code)

[+]

TIL requests3 beta works with httpx as a backend: https://github.com/not-kennethreitz/team/issues/21#issuecomm...

If requests3 is installed, `import requests' imports requests3

[-]

BlackRock CEO: Climate Crisis Will Reshape Finance

+1. From the letter: https://www.blackrock.com/us/individual/larry-fink-ceo-lette...

> The money we manage is not our own. It belongs to people in dozens of countries trying to finance long-term goals like retirement. And we have a deep responsibility to these institutions and individuals – who are shareholders in your company and thousands of others – to promote long-term value.

> Climate change has become a defining factor in companies’ long-term prospects. Last September, when millions of people took to the streets to demand action on climate change, many of them emphasized the significant and lasting impact that it will have on economic growth and prosperity – a risk that markets to date have been slower to reflect. But awareness is rapidly changing, and I believe we are on the edge of a fundamental reshaping of finance.

> The evidence on climate risk is compelling investors to reassess core assumptions about modern finance. Research from a wide range of organizations – including the UN’s Intergovernmental Panel on Climate Change, the BlackRock Investment Institute, and many others, including new studies from McKinsey on the socioeconomic implications of physical climate risk – is deepening our understanding of how climate risk will impact both our physical world and the global system that finances economic growth.

Environmental, social and corporate governance > Responsible investment: https://en.wikipedia.org/wiki/Environmental,_social_and_corp...

Corporate social responsibility: https://en.wikipedia.org/wiki/Corporate_social_responsibilit...

UN-supported PRI: Principles for Responsible Investment (2,350 signatories (2019-04)) https://en.wikipedia.org/wiki/Principles_for_Responsible_Inv...

[-]

A lot of complex “scalable” systems can be done with a simple, single C++ server

[+]
[+]
[+]
[+]
[+]
[+]

Dask groupby example: https://examples.dask.org/dataframes/02-groupby.html

> Generally speaking, Dask.dataframe groupby-aggregations are roughly same performance as Pandas groupby-aggregations, just more scalable.

The dask.distributed scheduler can also run on one high-RAM instance (with threads or processes) https://docs.dask.org/en/latest/setup.html

Pandas docs > Ecosystem > Out-of-core: https://pandas.pydata.org/pandas-docs/stable/ecosystem.html#...

Reading from Parquet into Apache Arrow is much faster than CSV because the data can just be directly loaded into RAM. https://ursalabs.org/blog/2019-10-columnar-perf/

If you have GPU instances, cuDF has a Pandas-like API on top of Apache Arrow. https://github.com/rapidsai/cudf

> Built based on the Apache Arrow columnar memory format, cuDF is a GPU DataFrame library for loading, joining, aggregating, filtering, and otherwise manipulating data.

> cuDF provides a pandas-like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.

Dask-ML makes scalable scikit-learn, XGBoost, TensorFlow really easy. https://dask-ml.readthedocs.io/en/latest/

... re: the OT: While it's possible to write C++ code that's really fast, it's generally inflexible, expensive to develop, and dangerous for devs with experience in their respective domains of experience to write. Much saner to put a Python API on top and optimize that during compilation.

There are a few C++ frameworks in the top quartile of the TechEmpower framework benchmarks. https://www.techempower.com/benchmarks/

Hardware/hosting is relatively cheap. Developers and memory vulnerabilities aren't.

[+]

https://docs.dask.org/en/latest/setup/hpc.html says dask-jobqueue handles "PBS, SLURM, LSF, SGE and other resource managers"

"Dask on HPC, what works and what doesn't" https://github.com/dask/dask-blog/issues/5

Maybe you should spend some time developing a job visualization system for end users from scratch, for end users with lots of C, JS, and HTML experience https://jobqueue.dask.org/en/latest/interactive.html

[+]
[-]

Warren Buffett is spending billions to make Iowa 'the Saudi Arabia of wind'

It's both cost-rational and environment-rational to invest heavily in clean energy (with or without the comparatively paltry tax incentives).

The long-term costs of climate change and inaction are unfortunately still mostly external costs to energy producers. We should expect that to change as we start developing competencies in evaluating the costs and frequency of weather disasters exacerbated by anthropogenic climate change. We all get to pay for floods, fires, tornados, hurricanes, landslides, blizzards, and the gosh darn heat.

Insurance firms clearly see these costs. Our military sees the costs of responding to natural disasters. Local economies see the costs of months and years spent on disaster relief; on just getting back up to speed so that they can generate profit from selling goods and services (and pay taxes to support disaster relief efforts essential to operational readiness).

The cost per kilowatt hour of wind (and solar) energy is now lower than operating existing dirty energy plants that dump soot on our crops, air, and water.

With wind, they talk about the "alligator curve". With solar, it's the "duck curve". Grid-scale energy storage is necessary for reaching 100% renewable energy as soon as possible.

Iowa's renewable energy tax incentives are logically aligned with international long-term goals:

UN Sustainable Development Goal 7: Affordable and Clean Energy https://www.globalgoals.org/7-affordable-and-clean-energy

Goal 13: Climate Action https://www.globalgoals.org/13-climate-action

SDG Target 12.6: "Encourage companies to adopt sustainable practices and sustainability reporting" (CSR; e.g. GRI Sustainability Reporting Standards that we can score portfolios with)

https://www.undp.org/content/undp/en/home/sustainable-develo... :

> Rationalize inefficient fossil-fuel subsidies that encourage wasteful consumption by removing market distortions, in accordance with national circumstances, including by restructuring taxation and phasing out those harmful subsidies, where they exist, to reflect their environmental impacts, taking fully into account the specific needs and conditions of developing countries and minimizing the possible adverse impacts on their development in a manner that protects the poor and the affected communities

...

> Thanks. How can I say "try and only run this [computational workload] in zones with 100% PPA offsets or 100% directly sourced #CleanEnergy"? #Goal7 #Goal11 #Goal12 #Goal13 #GlobalGoals #SDGs

It makes good business sense to invest in clean energy to take advantage of tax incentives, minimize future costs to other business units (e.g. insurance, taxes), and earn the support of investors choosing portfolios with long term environmental (and thus economic) sustainability as a primary objective.

[-]

Scientists Likely Found Way to Grow New Teeth for Patients

"Scientists Have Discovered a Drug That Fixes Cavities and Regrows Teeth" https://futurism.com/neoscope/scientists-have-discovered-thi...

Tideglusib https://en.wikipedia.org/wiki/Tideglusib

[+]
[+]
[-]

Announcing the New PubMed

[+]

This looks great: I like the search timeline, the ability to easily search for free full-text meta-analyses (a selection bias we should all be aware of), the MeSH term listing in a reasonably-sized font, and that there's schema.org/ImageObject metadata within the page, but there's no [Medical]ScholarlyArticle metadata?

I've worked with Google Scholar (:o) [1], Semantic Scholar (Allen Institute for AI) [2], Meta (Chan Zuckerberg Institute) [3], Zotero, Mendeley and a number of other tools for indexing and extracting metadata and graph relations from https://schema.org/ScholarlyArticle and MedicalScholarlyArticles . Without RDFa (or Microdata, or JSON-LD) in PDF, there's a lot of parsing that has to go down in order to get a graph from the citations in the article. Each service adds value to this graph of resources. Pushing forward on publishing linked research that's reproducible (#LinkedResearch, #LinkedReproducibility) is a worthwhile investment in meta-research that we have barely yet addressed:

> http://Schema.org/NewsArticle .citation: https://schema.org/citation ... Wouldn't it be great if NewsArticles linked to the ScholarlyArticle and/or Notebook CreativeWorks that they're .about (with reified relations)?

> A practical use case: Alice wants to publish a ScholarlyArticle [1] (in HTML with structured data, as a PDF) predicated upon Datasets [2] (as CSV, CSVW JSONLD, XLSX (DataDownload)) with static HTML (and no special HTTP headers). 1 https://schema.org/ScholarlyArticle 2 https://schema.org/Dataset*

> B wants to build a meta analysis: to collect a # of ScholarlyArticles and Dataset DataDownloads; review study controls and data; merge, join, & concatenate Datasets if appropriate, and inductively or deductively infer a conclusion and suggestions for further studies of variance*

The Linked Open Data Cloud shows the edges, the relations, the structured data links between very many (life sciences) datasets: https://lod-cloud.net/ . https://5stardata.info/en/ lists TimBL's suggested 5-start deployment schema for Open Data; which culuminates in publishing linked open data in non-proprietary formats that uses URIs to describe and link to things.

Could any of these [1][2][3][4][5] services cross-link the described resources, given a common URI identifier such as https://schema.org/identifier and/or https://schema.org/url ? ORCID is a service for generating stable identifiers for researchers and publishers who have names in common but different emails. W3C DID solves for this need in a different way.

When I check an article result page with the OpenLink OSDS extension (or any of a number of other tools for extracting structured data from HTML pages (and documents!) https://github.com/CodeForAntarctica/codeforantarctica.githu... ), there could be quite a bit more data there for search engines, browser extensions, and meta-research tools.

Is this something like ElasticSearch on the backend? It is possible to store JSON-LD documents in the search index. I threw together elasticsearchjsonld to "Generate JSON-LD @contexts from ElasticSearch JSON Mappings" for the OpenFDA FAERS data a few year ago. That's not GraphQL or SPARQL, but it's something and it's Linked Data.

re: "Canada's Decision To Make Public More Clinical Trial Data Puts Pressure On FDA" https://news.ycombinator.com/item?id=21232183

> We really could get more out of this data through international collaboration and through linked data (e.g. URIs for columns). See: "Open, and Linked, FDA data" https://github.com/FDA/openfda/issues/5#issuecomment-5392966... and "ENH: Adverse Event Count / 'Use' Count Heatmap" https://github.com/FDA/openfda/issues/49 . With sales/usage counts, we'd have a denominator with which we could calculate relative hazard.

W3C Web Annotations handle threaded comments and highlights; reviewing the reviewers is left as an exercise for the reader. Does Zotero still make it easy to save the bibliographic metadata for one or more ScholarlyArticles from PubMed to a collection in the cloud (and add metadata/annotations)?

Sorry to toot my own horn here. Great job on this. This opens up many new opportunities for research.

[1] https://scholar.google.com

[2] https://www.semanticscholar.org/

[3] https://www.meta.org/

[4] https://zotero.org/

[5] https://mendeley.org/

[+]
[+]
[-]

Ask HN: Is it worth it to learn C in 2020?

The GNU/Linux kernel, FreeBSD kernel, Windows kernel, MacOS kernel, Python, Ruby, Perl, PHP, NodeJS, and NumPy are all written in C. If you want to review and contribute code, you'd need to learn C.

There are a number of coding guidelines e.g. for safety-critical systems where bounded running time and resource consumption are essential. These coding guidelines and standards are basically only available for C, C++, and Ada. https://github.com/stanislaw/awesome-safety-critical/blob/ma...

Even though modern languages have garbage-collection that runs whenever it feels like it, It's helpful to learn about memory management in C (or C++). You'll appreciate object destructor methods that free memory and sockets and file handles that much more. Reference cycles in object graphs are easier to handle with modern C++ than with C. Are there RAII (Resource Acquisition is Initialization) "smart pointers" that track reference counts in C?

Without OO namespacing, in C, function names are often prefixed with namespaces. How many ways could a struct be initialized? When can I free that memory?

When strace prints a syscall, what is that?

Is it necessary to learn C? Somebody needs to maintain and improve the C-based foundation for most of our OSs and very many of our fancy scripting languages. C can be very unforgiving: it's really easy to do it wrong, and there's a lot to keep in mind at once: the cognitive burden is higher with C (and then still with ASM and WebASM) than with an interpreted (or compiled) duck-typed 3GL scripting language with first-class functions.

What's a good progression that includes syntax, finding and reading the libc docs, Make/CMake/Autotools, secure recommended compiler flags for GCC (CPPFLAGS, CFLAGS, LDFLAGS) and LLVM Clang?

C: https://learnxinyminutes.com/docs/c/

C++: https://learnxinyminutes.com/docs/c++/

Links to the docs for Libc and other tools: https://westurner.github.io/tools/#libc

xeus-cling is a Jupyter kernel for C++ (and most of C) that works with nbgrader. https://github.com/QuantStack/xeus-cling

What's a better unit-testing library for C/C++ than gtest? https://github.com/google/googletest/

[+]

For network programming, you might consider asynchronous programming with coroutines. C++20 has them and they're already supported in LLVM. For C, there are a number of implementations of coroutines: https://en.wikipedia.org/wiki/Coroutine#Implementations_for_...

> Once a second call stack has been obtained with one of the methods listed above, the setjmp and longjmp functions in the standard C library can then be used to implement the switches between coroutines. These functions save and restore, respectively, the stack pointer, program counter, callee-saved registers, and any other internal state as required by the ABI, such that returning to a coroutine after having yielded restores all the state that would be restored upon returning from a function call. Minimalist implementations, which do not piggyback off the setjmp and longjmp functions, may achieve the same result via a small block of inline assembly which swaps merely the stack pointer and program counter, and clobbers all other registers. This can be significantly faster, as setjmp and longjmp must conservatively store all registers which may be in use according to the ABI, whereas the clobber method allows the compiler to store (by spilling to the stack) only what it knows is actually in use.

CPython's asyncio implementation (originally codenamed 'tulip') is written in C and IMHO much easier to use than callbacks like Twisted and JS before Promises and the inclusion of tulip-like async/await keywords in ECMAscript. Uvloop - based on libuv, like Node - is apparently the fastest asyncio event loop. CPython Asyncio C module source: https://github.com/python/cpython/blob/master/Modules/_async... Asyncio docs: https://docs.python.org/3/library/asyncio.html

(When things like file or network I/O are I/O bound, the program can yield to allow other asynchronous coroutines ('async') to run on that core. With network programming, we're typically waiting for things to send or reply.)

Return-oriented-programming > Return-into-library technique is an interesting read regarding system programming :) https://en.wikipedia.org/wiki/Return-oriented_programming#Re...

[-]

Free and Open-Source Mathematics Textbooks

This is a good list of books. Unfortunately many of the links are broken? Probably just my luck, but the first few "with Sage" books I excitedly selected unfortunately 404'd. I'll send an email.

> Moreover, the American Institute of Mathematics maintains a list of approved open-source textbooks. https://aimath.org/textbooks/approved-textbooks/

I also like the (free) Green Tea Press books: Think Stats, Think Bayes, Think DSP, Think Complexity, Modeling and Simulation in Python, Think Python 2e: How To Think Like a Computer Scientist https://greenteapress.com/wp/

And IDK how many times I've recommended the book for the OCW "Mathematics for Computer Science" course: https://ocw.mit.edu/courses/electrical-engineering-and-compu...

There may be a newer edition than the 2017 version of the book: https://courses.csail.mit.edu/6.042/spring17/mcs.pdf

[+]
[+]
[+]
[+]
[-]

Make CPython segfault in 5 lines of code

FWIW, this segfaults CPython in 2 lines:

  import ctypes
  ctypes.cast(1, ctypes.py_object)
Interestingly, this works:

  import ctypes, gc
  x = 22
  _id = id(x)
  del x
  gc.collect()
  y = ctypes.cast(_id, ctypes.py_object).value
  assert y == 22

[-]

Applications Are Now Open for YC Startup School – Starts in January

[+]

> In the town of 14,000 I currently reside in it's pretty difficult to network in a meaningful way and talk about my company with folks that can give guidance and feedback

GitLab and Zapier are examples of all remote former YC companies.

"GitLab Handbook" https://about.gitlab.com/handbook/

"The Ultimate Guide to Remote Work: Lessons from a team of over 200 remote workers" https://zapier.com/learn/remote-work/

[+]

Startup School is now designed as a remote program.

It'd be interesting to hear from them about building all remote team culture with transparency and accountability. Are text-chat "digital stand up meetings" with quality transcripts of each team member's responses to the three questions enough? ( Yesterday / Today and Tomorrow / Obstacles // What did I do since the last time we met? What will I do before the next time we meet? What obstacles are blocking my progress? )

Or are there longer term planning sessions focusing on a plan for delivering value on a far longer term than first getting the MVP down and maximizing marginal profit by minimizing costs?

[-]

‘Adulting’ is hard. UC Berkeley has a class for that

+1 for Life Skills for Adulting and also Home Economics including Family and Meal Planning.

A bunch of resources from "Consumer science (a.k.a. home economics) as a college major" https://news.ycombinator.com/item?id=17894632 : CS 007: Personal Finance for Engineers, r/personalfinance/wiki, Healthy Eating Plate, Khan Academy > Science > Health and Medicine

And also, Instant Pot. The Instant Pot pressure cooker is your key to nutrient preservation and ultimate happiness.

[-]

Five cities account for vast majority of growth in U.S. tech jobs: study

[+]

> To that end, the present paper proposes that Congress assemble and award to a select set of metropolitan areas a major package of federal innovation inputs and supports that would accelerate their innovation-sector scale-up. Along these lines, we envision Congress establishing a rigorous competitive process by which the most promising eight to 10 potential growth centers would receive substantial financial and regulatory support for 10 years to become self-sustaining new innovation centers. Such an initiative would not only bring significant economic opportunity to more parts of the nation, but also boost U.S. competitiveness on the global stage.

"Potential growth centers" sounds promising.

[-]

Don’t Blame Tech Bros for the Housing Crisis

If there is demand for housing, we would expect people to be finding land and building housing unless there are policies that prevent this (and/or long commutes that people don't want to suffer) or higher-value opportunities.

If the city wanted residential areas (over commercial tax revenue giants), the city should have zoned residential.

The people elect city leaders. The people all want affordable housing.

With $4.5b from corporations and nowhere to build but out or up, high rise residential is the most likely outcome. (Which is typical for dense urban areas that have prioritized and attracted corporate tax revenue over affordable housing)

... Effing scooter bros with their scooters and their gold rush money and their tiny houses.

[Edit: more than] One company says "I will pay you $10,000 to leave the Bay Area / Silicon Valley" Because there's a lot of tech talent (because universities and opportunities) but ridiculously high expenses.

What an effectual headline from NY.

[-]

Docker is just static linking for millenials

No, LXC does quite a bit more than static linking. An inability to recognize that likely has nothing to do with generation.

Can you launch a process in a chroot, with cgroups? Okay, now upgrade everything it's linked with (without breaking the host/build system)

Configure a host-only network for a few processes – running in separate cgroups – without DHCP.

Criticize Docker? Rootless builds and containers are essentially impossible. Buildah and podman make rootless builds possible without a socket. Like sysvinit, though, IDK how well centralized logging (and logshipping, and logged crashes and restarts) works without that socket.

Given comments like this, it's likely that you've never built a chroot for a different distro. Or launchd a process with cgroups.

[-]

Show HN: Bamboolib – A GUI for Pandas (Python Data Science)

This looks excellent. The ability to generate the Python code for the pandas dataframe transformations looks to be more useful than OpenRefine, TBH.

How much work would it be to use Dask (and Dask-ML) as a backend?

I see the OneHotEncoder button. Have you considered integration with Yellowbrick? They've probably already implemented a few of your near-future and someday roadmap items involving hyperparameter selection and model selection and visualization? https://www.scikit-yb.org/en/latest/

This video shows more of the advanced bamboolib features: https://youtu.be/I0a58h1OCcg

The live histogram rebinning looks useful. Recently I read about a 'shadowgram' / ~KDE approach with very many possible bin widths translucently overlaid in one chart. https://stats.stackexchange.com/questions/68999/how-to-smear...

Yellowbrick also has a bin width optimization visualization in yellowbrick.target.binning.BalancedBinningReference: https://www.scikit-yb.org/en/latest/api/target/binning.html

Great work.

[+]

In the past, I've looked at OpenRefine and Jupyter integration. Once I've learned to do data transformation with pandas and sklearn with code, I'll report back to you.

Pandas-profiling has a number of cool descriptive statistics features as well. https://github.com/pandas-profiling/pandas-profiling

There's a new IterativeImputer in Scikit-learn 0.22 that it'd be cool to see visualizations of. https://twitter.com/TedPetrou/status/1197150813707108352 https://scikit-learn.org/stable/modules/impute.html

A plugin model would be cool; though configuring the container every time wouldn't be fun. Some ideas about how we could create a desktop version of binderhub in order to launch REES-compatible environments on our own resources: https://github.com/westurner/nbhandler/issues/1

[+]
[+]

Set difference and/or intersection of dir(pd.DataFrame) and dir(dask.DataFrame) with inspect.getargspec and inspect.doc would be a useful document for either or both projects.

pyfilemods generates a ReStructuredText document with introspected API comparisons. "Identify and compare Python file functions/methods and attributes from os, os.path, shutil, pathlib, and path.py" https://github.com/westurner/pyfilemods

[-]

Battery-Electric Heavy-Duty Equipment: It's Sort of Like a Cybertruck

> They’ve created a single platform that can be easily modified to do any number of jobs. For instance, their flagship product, the Dannar 4.00, can accept over 250 attachments from CAT, John Deere, or Bobcat. […] Having interoperability with so many different types of equipment, one platform can easily perform many tasks over the course of a year. This is a huge win for cash strapped municipalities. Why would a company or municipality opt to have a backhoe parked all winter long when it could be doing another job?

Does it have regenerative brakes?

CSR: Corporate Social Responsibility

> Proponents argue that corporations increase long-term profits by operating with a CSR perspective, while critics argue that CSR distracts from businesses' economic role.

... The 3 Pillars of Corporate Sustainability: Environmental, Social, Economic https://www.investopedia.com/articles/investing/100515/three...

Three dimensions of sustainability: (Environment (Society (Economy))) https://en.wikipedia.org/wiki/Sustainability#Three_dimension...

What are some of the corporate sustainability reporting standards?

How can I score a candidate portfolio with sustainability metrics in order to impact invest with maximum impact?

> What are some of the corporate sustainability reporting standards?

From https://en.wikipedia.org/wiki/Sustainability_reporting#Initi... :

>> Organizations can improve their sustainability performance by measuring (EthicalQuote (CEQ)), monitoring and reporting on it, helping them have a positive impact on society, the economy, and a sustainable future. The key drivers for the quality of sustainability reports are the guidelines of the Global Reporting Initiative (GRI),[3] (ACCA) award schemes or rankings. The GRI Sustainability Reporting Guidelines enable all organizations worldwide to assess their sustainability performance and disclose the results in a similar way to financial reporting.[4] The largest database of corporate sustainability reports can be found on the website of the United Nations Global Compact initiative.

The GRI (Global Reporting Initiative) Standards are now aligned with the UN Sustainable Development Goals (#GlobalGoals). https://en.wikipedia.org/wiki/Global_Reporting_Initiative

>> In 2017, 63 percent of the largest 100 companies (N100), and 75 percent of the Global Fortune 250 (G250) reported applying the GRI reporting framework.[3]

> How can I score a candidate portfolio with sustainability metrics in order to impact invest with maximum impact?

Does anybody have solutions for this? AFAIU, existing cleantech funds are more hand-picked than screened according to sustainability fundamentals.

[-]

GTD Tickler file – a proposal for text file format

Taskwarrior is also built upon the todo.txt format. [1]

Taskw supports various task dates – { due: scheduled: wait: until: recur: } [2]

Taskw supports various named dates like soq/eocq, som/eom (start/end of [current] quarter, start/end of month), tomorrow, later [3]

Taskw recurring tasks (recur:) use the duration syntax: weekly/wk/w, monthly/mo, quarterly/qtr, yearly/yr, … [4]

Pandas has a "date offset" "frequency string" microsyntax that supports business days, quarters, and years; e.g. BQuarterEnd, BQuarterBegin [5]

IDK how usable by other tools these date string parsers are.

W/ just a text editor, having `todo.txt`, `daily.todo.txt`, and `weekly.todo.txt` (and `cleanhome.todo.txt` and `hygiene.todo.txt` with "## heading" tasks that get lost @where +sorting) works okay.

I have physical 43 folders, too: A 12 month and a 31 day expanding file. [6]

[1] http://todotxt.org/

[2] https://taskwarrior.org/docs/using_dates.html

[3] https://taskwarrior.org/docs/named_dates.html

[4] https://taskwarrior.org/docs/durations.html

[5] https://pandas.pydata.org/pandas-docs/stable/user_guide/time...

[6] http://www.43folders.com/

[-]

Ask HN: Any suggestion on how to test CLI applications?

Hello HN!

I've been looking at alternatives on how to test command line applications, specifically, for example, exit codes, output messages and whatnot. I've seen "bats" https://github.com/sstephenson/bats and Bazel for testing but I'm curious as what other tools people use in a day to day basis. UI testing is nice with tools like Cypress.io and maybe there's something out there that isn't as popular but it's useful.

Thoughts?

pytest-docker-pexpect: https://github.com/nvbn/pytest-docker-pexpect

Pexpect: https://pexpect.readthedocs.io/en/stable/

pytest with subprocess.popen (or Sarge) may be sufficient for checking return codes and checking stdout and stderr output streams. Pytest has tmp_path and tmpdir fixtures that provide less test isolation than Docker containers: http://doc.pytest.org/en/latest/tmpdir.html

sarge.Capture.expect() takes a regex and returns None if there's no match: https://sarge.readthedocs.io/en/latest/tutorial.html#looking...

The Golden Butterfly and the All Weather Portfolio

The Golden Butterfly (is a modified All Weather Portfolio)

> Stocks: 20% Domestic Large Cap Fund (Vanguard’s VTI or Goldman Sach’s JUST), 20% Domestic Small Cap Value (Vanguard’s VBR)

> Bonds: 20% Long Term (Vanguard’s BLV), 20% Short Term (Vanguard’s BSV)

> Real Assets: 20% Gold (SPDR’s GLD)

The All Weather Portfolio:

> Stocks: 30% Domestic Total Stock Market (VG total stock)

> Bonds: 40% Long Term, 15% Intermediate-Term

> Real Assets: 7.5% Commodities, 7.5% Gold

What about investing in sustainable, innovative startups and small businesses (and crowdfunding campaigns)? What about direct capital investment? What about the American dream?

(Small businesses are a significant source of growth in our economy today and for the future)

[-]

Canada's Decision To Make Public More Clinical Trial Data Puts Pressure On FDA

We really could get more out of this data through international collaboration and through linked data (e.g. URIs for columns). See: "Open, and Linked, FDA data" https://github.com/FDA/openfda/issues/5#issuecomment-5392966... and "ENH: Adverse Event Count / 'Use' Count Heatmap" https://github.com/FDA/openfda/issues/49

With sales/usage counts, we'd have a denominator with which we could calculate relative hazard.

[-]

Python Alternative to Docker

Shiv does not solve for what containers and Docker/Podman/Buildah/Containerd solve for: re-launching processes at boot and failure, launching processes in chroots or cgroups (with least privileges), limiting access to network ports, limiting access to the host filesystem, building chroots / images, [...]

You can run build tools like shiv with a RUN instruction in a Dockerfile and get some caching.

You can build a zipapp with shiv (in a build container) and run the zipapp in a container.

Should the zipapp contain the test suite(s) and test_requires so that the tests can be run in an environment most similar to production?

It's much easier to develop with code on the filesystem (instead of in a zipapp).

It's definitely faster to read the whole zipapp into RAM than to stat and read each imported module from the filesystem once at startup.

There may be a better post title than the current "Python Alternative to Docker"? Shiv is a packaging utility for building Python zipapps. Shiv is not an alternative to process isolation with containers (or VMs)

[-]

$6B United Nations Agency Launches Bitcoin, Ethereum Crypto Fund

"UNICEF launches Cryptocurrency Fund: UN Children’s agency becomes first UN Organization to hold and make transactions in cryptocurrency" https://www.unicef.org/press-releases/unicef-launches-crypto...

From https://www.unicefusa.org/ :

> UNICEF USA helps save and protect the world's most vulnerable children. UNICEF USA is rated one of the best charities to donate to: 89% of every dollar spent goes directly to help children.

[-]

Supreme Court allows blind people to sue retailers if websites aren't accessible

"a11y": Accessibility

https://a11yproject.com/ has patterns, a checklist for checking web accessibility, resources, and events.

awesome-a11y has a list of a number of great resources for developing accessible applications: https://github.com/brunopulis/awesome-a11y

In terms of W3C specifications [1], you've got: WAI-ARIA (Web Accessibility Initiative: Accessibile Rich Internet Applications) [2], and WCAG: Web Content Accessibility Guidelines [3]. The new W3C Payment Request API [4] makes it easy for browsers to offer a standard (and probably(?) already accessible) interface for the payment data entry screen, at least.

There are a number of automated accessibility testing platforms. "[W3C WAI] Web Accessibility Evaluation Tools List" [5] lists quite a few. Can someone recommend a good accessibility testing tools? Is Google Lighthouse (now included with Chrome Devtools and as a standalone script) a good tool for accessibility reviews?

[1] https://github.com/brunopulis/awesome-a11y/blob/master/topic...

[2] https://www.w3.org/TR/using-aria/

[3] https://www.w3.org/WAI/standards-guidelines/wcag/

[4] https://www.w3.org/TR/payment-request/

[5] https://www.w3.org/WAI/ER/tools/

[-]

Streamlit: Turn a Python script into an interactive data analysis tool

Cool!

requests_cache caches HTML requests into one SQLite database. [1] pandas-datareader can cache external data requests with requests-cache. [2]

dask.cache can do opportunistic caching (of 2GB of data). [3]

How does streamlit compare to jupyter voila dashboards (with widgets and callbacks)? They just launched a new separate github org for the project. [4] There's a gallery of voila dashboard examples. [5]

> Voila serves live Jupyter notebooks including Jupyter interactive widgets.

> Unlike the usual HTML-converted notebooks, each user connecting to the Voila tornado application gets a dedicated Jupyter kernel which can execute the callbacks to changes in Jupyter interactive widgets.

> - By default, voila disallows execute requests from the front-end, preventing execution of arbitrary code.

[1] https://github.com/reclosedev/requests-cache

[2] https://pandas-datareader.readthedocs.io/en/latest/cache.htm...

[3] https://docs.dask.org/en/latest/caching.html

[4] https://github.com/voila-dashboards/voila

[5] https://blog.jupyter.org/a-gallery-of-voil%C3%A0-examples-a2...

Acess control and resource exhaustion are challenges with building any {Flask, framework_x,} app [from Jupyter notebooks]. First it's "HTTP Digest authentication should be enough for now"; then it's "let's use SSO and LDAP" (and review every release); then it's "why is it so sloww?". JupyterHub has authentication backends, spawners, and per-user-container/vm resource limits.

> Each user on your JupyterHub gets a slice of memory and CPU to use. There are two ways to specify how much users get to use: resource guarantees and resource limits. [6]

[6] https://zero-to-jupyterhub.readthedocs.io/en/latest/user-res...

Some notes re: voila and JupyterHub:

> The reason for having a single instance running voila only is to allow non JupyterHub users to have access to the dashboards. So without going through the Hub auth flow.

> What are the requirements in your case? Voila can be installed in the single user Docker image, so that each user can also use it on their own server (as a server extension for example). [7]

[7] https://github.com/voila-dashboards/voila/issues/112

[-]

Scott’s Supreme Quantum Supremacy FAQ

Who even asked these questions?

I question this. All of this.

[+]

I believe Feynman originally asked the QC question many many years ago. What an exciting milestone and a great FAQ.

"Always naysaying! Everything I create!"

[-]

Ask HN: How do you handle/maintain local Python environments?

I'm having some trouble figuring out how to handle my local Python. I'm not asking about 2 vs 3 - that ship has sailed - I'm confused on which binary to be using. From the way I see it, there's at least 4 different Pythons I could be using:

1 - Python shipped with OS X/Ubuntu

2 - brew/apt install python

3 - Anaconda

4 - Getting Python from https://www.python.org/downloads/

And that's before getting into how you get numpy et al installed. What's the general consensus on which to use? It seems like the OS X default is compiled with Clang while brew's version is with GCC. I've been working through this book [1] and found this thread [2]. I really want to make sure I'm using fast/optimized linear algebra libraries, is there an easy way to make sure? I use Python for learning data science/bioinformatics, learning MicroPython for embedded, and general automation stuff - is it possible to have one environment that performs well for all of these?

[1] https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793

[2] https://www.reddit.com/r/Python/comments/46r8u0/numpylinalgsolve_is_6x_faster_on_my_mac_than_on/

[+]

I also prefer conda for the same reasons.

Precompiled MKL is really nice. Conda and conda-forge now build for aarch64. There are very few wheels for aarch64 on PyPI. Conda can install things like Qt (IPython-qt, spyder,) and NodeJS (JupyterLab extensions).

If I want to switch python versions for a given condaenv (instead of just creating a new condaenv for a different CPython/PyPy version), I can just run e.g. `conda install -y python=3.7` and it'll reinstall everything in the depgraph that depended on the previous python version.

I always just install miniconda instead of the whole anaconda distribution. I always create condaenvs (and avoid installing anything in the root condaenv) so that I can `conda-env export -f environment.yml` and clean that up.

BinderHub ( https://mybinder.org/ ) creates docker containers from {git repos, Zenodo, FigShare,} and launches them in free cloud instances also running JupyterLab by building containers with repo2docker (with REES (Reproducible Execution Environment Specification)). This means that all I have to do is add an environment.yml to my git repo in order to get Binder support so that people can just click on the badge in the README to launch JupyterLab with all of the dependencies installed.

REES supports a number of dependency specifications: requirements.txt, Pipfile.lock, environment.yml, aptSources, postBuild. With an environment.yml, I can install the necessary CPython/PyPy version and everything else.

...

In my dotfiles, I have a setup_miniconda.sh script that installs miniconda into per-CPython-version CONDA_ROOT and then creates a CONDA_ENVS_PATH for the condaenvs. It may be overkill because I could just specify a different python version for all of the conda envs in one CONDA_ENVS_PATH, but it keeps things relatively organized and easily diffable: CONDA_ROOT="~/-wrk/-conda37" CONDA_ENVS_PATH="~/-wrk/-ce37"

I run `_setup_conda 37; workon_conda|wec dotfiles` to work on the ~/-wrk/-ce37/dotfiles condaenv and set _WRD=~/-wrk/-ce37/dotfiles/src/dotfiles.

Similarly, for virtualenvwrapper virtualenvs, I run `WORKON_HOME=~/-wrk/-ve37 workon|we dotfiles` to set all of the venv cdaliases; i.e. then _WRD="~/-wrk/-ve37/dotfiles/src/dotfiles" and I can just type `cdwrd|cdw` to cd to the working directory. (Some of the other cdaliases are: {cdwrk, cdve|cdce, cdvirtualenv|cdv, cdsrc|cds}. So far, I have implemented cdalias support for bash, IPython, and vim)

One nice thing about defining _WRD is I can run `makew <tab>` and `gitw` to `cd $_WRD; make <tab>` and `git -C $_WRD` without having to change directory and then `cd -` to return to where I was.

So, for development, I use a combination of virtualenvwrapper, pipsi, conda, and some shell scripts in my dotfiles that I should get around to releasing and maintaining someday. https://westurner.github.io/dotfiles/venv

For publishing projects, I like environment.yml because of the REES support.

[-]

Is the era of the $100 graphing calculator coming to an end?

For $100, you can buy a Pinebook with an 11" or 14" screen, a multitouch trackpad, gigabytes of storage, WiFi, a keyboard without a numpad, and an ARM processor.

On this machine, you can create reproducible analyses with JupyterLab; do arithmetic with Python; work with multidimensional arrays with NumPy, SciPy, Pandas, xarray, Dask; do machine learning with Statsmodels, Scikit-learn, Dask-ML, TPOT; create books of these notebooks (containing code and notes (in Markdown, which easily transformed to HTML) and LaTeX equations) with jupyter-book, nbsphinx, git + BinderHub; store the revision history of your discoveries; publish what you've discovered and learned to public or private git repositories; and complete graded exercises with nbgrader.

But the task is to prepare for a world of mental arithmetic, no validation, no tests, no reference materials, and no search engines; and CAS (Computer Algebra Systems) systems like SymPy and Sage are not allowed.

On this machine, you can run write code, write papers, build spreadsheets and/or Jupyter notebooks, run physical simulations, explore the stars, and play games and watch videos. Videos like: Khan Academy videos and exercises that you can watch and do, with validation, until you've achieved mastery and move on to the next task on your todo.txt list.

But the task is to preserve your creativity and natural curiosity despite the compulsory education system's demands for quality control and allocative efficiency; in an environment where drama and popularity are the solutions to relatedness and acceptance needs.

I have three of these $100 calculators in my toolbox. It's been so long since I've powered them on that I'm concerned that the rechargeable AAA batteries are leaking battery acid.

For $100, you can buy an ARM notebook and install conda and conda-forge packages and build sweet visualizations to collaborate with colleagues on (with Seaborn (matplotlib), HoloViews, Altair, Plotly)

"You must buy a $100 calculator that only runs BASIC and ASM, and only use it for arithmetic so that we can measure you."

Hand tools are fun, but please don't waste any more of my compulsory time.

[+]
[-]

Reinventing Home Directories

[+]
[+]
[+]
[+]
[+]

Why do you think that is? Why have production grade Linux distributions all chosen to adopt systemd?

With SysV init, how do you securely launch processes in cgroups, such that they'll consistently restart when the process happens to terminate, with stdout and stderr logged with consistent timestamps, with process dependency models that allow for faster boots due to parallelization?

(edit)

Journalctl is far better than `tail -f /var/log/starstar` and parsing all of those timestamps and inconsistently escaped logfile formats. There's no good way to modify everything in /etc/init.d in order to log to syslog-ng or rsyslog. Systemd and journalctl solve for that; for unified logging.

IMO, there's no question that systemd is the better way and I have zero nostalgia for spawning everything from a probably a shell specified in an /etc/init.d shebang without process restarting (and logging thereof), cgroups, and consistent logging.

[+]

When journald logfile corruption occurs, it's detected and it starts writing a new logfile.

When flatfile logfile corruption occurs, it's not detected and there are multiple logfile formats to contend with. And multiple haphazard logrotate configs.

Here's how to use a separate process to ship journald logs - from one file handle - to a remote logging service: https://unix.stackexchange.com/questions/394822/how-should-i...

While there is a systemd-journal-remote, it's not necessary for journald to try and replicate what's already solved and tested in rsyslog and syslog-ng.

It's quite a bit more work to add every new service to the syslog-ng or rsyslog configuration than to just ship one journald log.

Furthermore, service start/stop events are already in the same stream (with the same timestamp format) with the services' stdout and stderr.

Why hasn't anyone written fsck for corrupted journald recovery?

...

I have not needed to makedev and chown and chatted and chcon anything in very many years. When you accidentally newbishly delete something from a static /dev and rebooting doesn't work and you have no idea what the major minor is or was, it sucks bad.

When you're trying to boot a system on a different machine but it doesn't work because the NIC is in a different bus, it's really annoying to have to symlink /dev or modify /etc. With udevd, all you need to do is define a rule to map the busid device name to e.g. eth0. I can remember encountering the devfs race condition resulting in eth0 and eth1 being mapped to different devices on different boots; which was dangerous because firewall rules are applied to device names.

Udev has been in the kernel since 2.6.

"What problems does udev actually solve?" https://superuser.com/questions/686774/what-problems-does-ud...

With integrated udev and systemd, I have no reason to run a separate hotplugd with a different config format (again with no cgroup support) and a different logstream.

Perhaps ironically, here's a link to the presentation PDF that was posted yesterday: https://news.ycombinator.com/item?id=21036020

And my comments there:

> What a good idea.

> Here's the hyperlinkified link to the {systemd-homed.service, systemd-userdbd.service, homectl, userdbctl} sources from the PDF: https://github.com/poettering/systemd/tree/homed

> Hadn't heard of varlink: https://varlink.org/

> Is there a FIPS-like subset of the most-widely-available LUKS configs? Otherwise home directories won't work on systems that have a limited set of LUKS modules.

[-]

Serverless: slower and more expensive

It'd be interesting to see how much this same workload would cost with e.g. OpenFaaS on k8s with autoscaling to zero; but there also you'd need to include maintenance costs like OS and FaaS stack upgrades. https://docs.openfaas.com/architecture/autoscaling/

[-]

Entropy can be used to understand systems

Maximum entropy: https://en.wikipedia.org/wiki/Maximum_entropy

Here's a quote of a tweet about a (my own): comment on a schema:BlogPost: https://twitter.com/westurner/status/1048125281146421249:

> “When Bayes, Ockham, and Shannon come together to define machine learning” https://towardsdatascience.com/when-bayes-ockham-and-shannon...

> Comment: "How does this relate to the Principle of Maximum Entropy? How does Minimum Description Length relate to Kolmogorov Complexity?"

[+]
[-]

New Query Language for Graph Databases to Become International Standard

Graph query languages are nice and all, but what about Linked Data here? Queries of schemaless graphs miss lots of data because without a schema this graph calls it "color" and that graph calls it "colour" and that graph calls it "色" or "カラー". (Of course this is also an issue even when there is a defined schema; but it's hardly possible to just happen to have comprehensible inter or even intra-organizational cohesion without e.g. RDFS and/or OWL and/or SHACL for describing (and changing) the shape of the data)

So, the task is then to compile schema-aware SPARQL to GQL or GraphQL or SQL or interminable recursive SQL queries or whatever it is.

For GraphQL, there's GraphQL-LD (which somewhat unfortunately contains a hashtag-indeterminate dash). I cite this in full here because it's very relevant to the GQL task at hand:

"GraphQL-LD: Linked Data Querying with GraphQL" (2018) https://comunica.github.io/Article-ISWC2018-Demo-GraphQlLD/

> GraphQL is a query language that has proven to be a popular among developers. In 2015, the GraphQL framework [3] was introduced by Facebook as an alternative way of querying data through interfaces. Since then, GraphQL has been gaining increasing attention among developers, partly due to its simplicity in usage, and its large collection of supporting tools. One major disadvantage of GraphQL compared to SPARQL is the fact that it has no notion of semantics, i.e., it requires an interface-specific schema. This therefore makes it difficult to combine GraphQL data that originates from different sources. This is then further complicated by the fact that GraphQL has no notion of global identifiers, which is possible in RDF through the use of URIs. Furthermore, GraphQL is however not as expressive as SPARQL, as GraphQL queries represent trees [4], and not full graphs as in SPARQL.

> In this work, we introduce GraphQL-LD, an approach for extending GraphQL queries with a JSON-LD context [5], so that they can be used to evaluate queries over RDF data. This results in a query language that is less expressive than SPARQL, but can still achieve many of the typical data retrieval tasks in applications. Our approach consists of an algorithm that translates GraphQL-LD queries to SPARQL algebra [6]. This allows such queries to be used as an alternative input to SPARQL engines, and thereby opens up the world of RDF data to the large amount of people that already know GraphQL. Furthermore, results can be translated into the GraphQL-prescribed shapes. The only additional requirement is their queries would now also need a JSON-LD context, which could be provided by external domain experts.

> In related work, HyperGraphQL [7] was introduced as a way to expose access to RDF sources through GraphQL queries and emit results as JSON-LD. The difference with our approach is that HyperGraphQL requires a service to be set up that acts as a intermediary between the GraphQL client and the RDF sources. Instead, our approach enables agents to directly query RDF sources by translating GraphQL queries client-side.

All of these RDFS vocabularies and OWL ontologies provide structure that minimizes the costs of merging and/or querying multiple datasets: https://lov.linkeddata.es/dataset/lov/

All of these schema.org/Dataset s in the "Linked Open Data Cloud" are easier to query than a schemaless graph: https://lod-cloud.net/ . Though one can query schemaless graphs with SPARQL, as well.

For reference, RDFLib has a bunch of RDF graph implementations over various key/value and SQL store backends. RDFLib-sqlachemy does query parametrization correctly in order to minimize the risk of query injection. FOR THE RECORD, SQL Injection is the CWE Top 25 #1 most prevalent security weakness; which is something that any new spec and implementation should really consider before launching anything other than an e.g. overly-verbose JSON-based query language that people end up bolting a micro-DSL onto. https://github.com/RDFLib/rdflib-sqlalchemy

Most practically, I frequently want to read a graph of objects into RAM; update, extend, and interlink; and then transactionally save the delta back to the store. This requires a few things: (1) an efficient binary serialization protocol like Apache Arrow (SIMD), Parquet, or any of the BSON binary JSONs; (2) a transactional local store that can be manually synchronized with the remote store until it's consistent.

SPARQL Update was somewhat of an out-of-scope afterthought. Here's SPARQL 1.1 Update: https://www.w3.org/TR/sparql11-update/

Here's SOLID, which could be implemented with SPARQL on GQL, too; though all the re-serialization really shouldn't be necessary for EAV triples with a named graph URI identifier: https://solidproject.org/

5 star data: PDF -> XLS -> CSV -> RDF (GQL, AFAIU (but with no URIs(!?))) -> LOD https://5stardata.info/en/

[+]