Bookmarks: Difference between revisions
Jump to navigation
Jump to search
(→Learn) |
|||
Line 66: | Line 66: | ||
* [http://cs242.stanford.edu/assets/projects/2017/parastoo-gdietz44.pdf An Empirical Study of Experienced Programmers’ Acquisition of New Programming Languages] |
* [http://cs242.stanford.edu/assets/projects/2017/parastoo-gdietz44.pdf An Empirical Study of Experienced Programmers’ Acquisition of New Programming Languages] |
||
: All participants spent most of their time studying examples, rather than reading the language documentation. |
: All participants spent most of their time studying examples, rather than reading the language documentation. |
||
* [https://www.joelonsoftware.com/2001/12/11/back-to-basics/ Joel on Software — Back to Basics] |
|||
: Illustrate the ''Shlemiel the painter’s algorithm'' when concatenating C strings where performance is n^2 because of the lack of efficient <code>strlen()</code> operator. |
|||
=== Web === |
=== Web === |
Revision as of 06:11, 8 January 2019
- Funny, interesting — https://www.vidarholen.net/contents/wordcount/
- Show how many times frustrated Linux kernel developers have put four letter words into the source code.
- http://www.fillmurray.com/ — Fill Murray
- An online tool to provide custom-sized placeholder images of Bill Murray!
http://fillmurray.com/200/300
. - I like the humor and layout of the page. Images are superb.
- Check also PlaceCage (Nick Cage Filler Images) and Steven SeGALLERY (Steven Segal Filler Images) :-D
- An amazing video from A Capella Science on biology science. Amazing song. More to see on the YouTube channel.
AI
- Guppies, an evolving neural network.
- The Unreasonable Effectiveness of Deep Learning Representations.
Mathemathics
- Correlation is not causation.
- Tangente n°182, p34-35, "Les excès de la corrélation".
- Nous allons vers un changement épistémologique majeur. S'en remettre à ce type de calcul traduit un renoncement aux ambitions de la raison moderne, qui liait les phénomènes à leurs causes. Ces ambitions de la raison permettaient d'envisager la prévention, d'agir sur les causes pour changes les effets. Au lieu de cela, on se dirige vers un système de pures corrélations. [...] On ne cherche plus à comprendre l'environnement, on cherche à le prédire. Notre rapport au savoir change, mais aussi notre rapport au monde: on se focalise davantage qu'auparavant sur les risques. "Voir et comprendre" sont supplantés par détecter et prévenir". On passe d'une civilisation du signe, qui était porteur de sens, à une civilisation du signal, qui est une donnée qui ne signifie rien en soi..
- How to cut fairly a cake in three (and more) pieces.
Tools
- oclif, an open source framework for building a command line interface (CLI) in Node.js.
- Krita 4.0 released, Krita is a professional FREE and open source painting program.
- Mosh, a mobile SSH client.
- Live Chat online typing test
- Warp, create self-contained single binary applications.
Books
- Seven Sketches in Compositionality: An Invitation to Applied Category Theory
- Principles of Algorithmic Problem Solving, by Johan Sannemo, 2017.
- A book on algorithmic problem solving, the art of formulating efficient methods that solve problems of a mathematical nature.
Dev
- POSE - Declarative motion system for HTML, SVG & React
- Debugging across pipes and sockets with strace
- Crystal-clear tutorial on how to use
strace
,lsof
andgdb
to debug inter-process issues on Linux.
- open source Python graphing library, with Javascript interaction.
- HyperPolyglot, showing common-used features side-by-side.
Rust
- Many interesting comments on RUST, and how to write / debug programs with concurrency/performance in mind.
Methodology
- 5 reasons not to rewrite an existing code.
- About the mistake of full rewrite (Netscape 6, Borland Quattro Pro). Instead refactor, rename,
- Instead of rewriting, write a strangler application, that will progressively replace the old system.
- Tesler's Law, also known as The Law of Conservation of Complexity, states that for any system there is a certain amount of complexity which cannot be reduced.
- About Semantic Versioning and tips / pits to introduce new functionality, and fixing security bugs.
- Don't build technology unless you feel the pain of not having it. Then: First make it possible. Then make it beautiful. Then make it fast. Use cases are everything in suffering-oriented programming.
Learn
- All participants spent most of their time studying examples, rather than reading the language documentation.
- Illustrate the Shlemiel the painter’s algorithm when concatenating C strings where performance is n^2 because of the lack of efficient
strlen()
operator.
Web
- Delay non-critical task to idle thread, while forcing their execution if some user event depend on that task being executed first.
Network
- Every byte of a TLS connection explained and reproduced.
Game
- Detailed explanation on how to make a fast tile-based game engine. Tricks used:
- Use LEA instruction, most efficient to move bytes, but requiring modifying the stack pointer.
- Pre-process the tiles to cancel effect of fast rendering loop
- Reverse display order to cancel graphical corruption when interrupt occurs and load registers on the stack.
- Detailed explanation on 2D game optimization for a Super-Mario-like game. Various tricks are explained about fast scrolling, fast sprite handling...
- Background is generated by a LEA-field, basically a sequence of code generated by the game engine, and when executed, draw pixel to the screen buffer. The LEA-field is organized into sequence of code, each drawing a given scanline.
- Scrolling is obtained by a different offset in the scanline.
- When scrolling, the code in leftmost/rightmost columns of the LEA-field must be updated. This update is done by a code, which is also generated by the engine. This column-update code is generated to avoid duplicate register loading (typ. occurs when the scene has many duplicated pixels, like a blue sky).
- Sprite is also generated by a code, generated from sprite data.
- A very fast tile engine for the Apple IIGS, using advanced techniques to achieve 1 pixels every 1.25 cycles.
CVS
- Explain how to obtain perfect patch using digle (directed graph file) instead of files, as used in
pijul
, with some mathematical background.
Science & Tech
- The most complete and detailed description on how our eyes perceive colors.
- Just wow.
Success stories
- With good tips about launching new business online.
- How We Wrote a Textbook, from Tim Wheeler.
- The success story on how a grad student and his professor worked together to write a 500p text book, and the tools and methodology they used.
Miscellaneous
- A detailed explanation about color harmony, what makes some painting rich in colors...