16bits 2.4GHz 2d 3blue1brown 3dmodel 3dprint 3dprinter 3dscan 64bits 8bit AI AST ATX BFS CAM CRDT DAW ECS Fibonacci GA GPT3 I2C IA LED LLM MCTS ML NN PID SPI SVD UML academia accessibility accuracy acpi adventure agile algebra algorithm allocator alphabet amd amiga analog android animal animation anime ansible antenne api appimage application arcade arcade-hardware arch architecture archive arduino arm arm-hardware array art ascii asio asm astronomy async atari atomic audio audio-hardware automation avx backdoor backup base64 bash battery bd benchmarking binary binding biology bios bits blender bloat blob block blog blog-code blog-electronic blog-games blog-people bluetooth book boolean boot bots brightness buffer build-system burnout bus c++ c++-syntax c64 cache cad calculator calendar calibration calipers camera capture-the-flag career cd cgroup cgroups chat chemical chess chiptune choregraphy chrome circle clean cli client climate-war clock cluster cnc co2 code code-review codec codegolf codingame codingames cogip collision color combinators comic comix comments compiler complex-number complexity compression computer computer-vision concept concurrency config connect4 constant content contest contract control coroutine course cp cpu crc creative-coding cricut crop cross-compile crt crypto crystal csv cube cuda cura curl curve cycle d3.js dashboard data data-structure date daylight db dbus deb deboucing debug debug-android debug-c++ debug-war deep-learning demoscene desktop despair.com dev devil devops diagram dictionary diff diffusion disk display distance distributed dlang doc docker donuts doom draft draw drawing driver drm drone drugs drums duplicate dvd dvi earth editor edm edu effect effet eigen-value elec electronic elf ellipse emulator encoder encoding energy engine engineering english enterprise entropy env epaper error error-correction error-handling esp32 ethernet event evil evolution exception exec exit expert exploration ext4 eyes face failed-install failure fastware ffmpeg fft field figurines file file-manager filesystem filter finance find firefox firmware fish float flood flood-fill foldable font food food_for_thought format fpga fractal freebox freebsd freecad freecad-cam freedom fstab fun functional fuzzer fuzzy game-engine gameboy games games-hardware gc gcode gdb gears genAI generation generative-AI genetic genetic-algorithm gesture ghidra gif git github glsl godot golang google-alt gps gpu graph graphic gravity green grep grid gui guitar h2 hamming hands-free handwriting happiness hardware hardware-tools hash haskell hdmi headless hex histogram history home home-automation homemade homography how-to html http human i2c ide identity ikea image image-lib in-progress index indies info init inkscape inline input integer intel internet interpolation interrupt intersection interview io-stream ioccc iso iterate java jekyll jit job jpeg js json jupyter jwt jwz jxl k-means k8 kernel keyboard keyword kids kinect klipper knot knowledge krita kvm lab labyrinth lack lang laptop laser latency law lazer lcd ldap learn leetcode lego lense lexic lib lib-c++ library life light line linker linux linux-audio linux-hardware linux-system lisp literals lock logger lookup loop lua lutris macintosh macos-system macro magnetic mail make maker malloc management manager manual map markdown market mask math matrix maze meaning mechanical mechanics medecine median memory mental-model merge mesh metadata metal microscope microsoft midi mime mindmap minecraft minimize mold monad money monitoring monolith montecarlo morton-code motor mouse mouseless mov movie multi multiplexing multiply music mythical-man name namespace nas nearest-neighbor network networks nfs node.js note-taking notebook null number ocr office offline oneliner online open-source opencv opengl openscad opinions optimize orchestration org p2p pack package packer packing pacman paint palette pam paper papers parabola paradox parallax parallel parquet parser partition password pathfinding pattern pc-hardware pdf penrose performance petrol phone photo photogrammetry physic physics piano pico8 pid pinball pincab pinout pipe pixelart pla plane plastic platform playground playlist png pods pointer poisoning polynomial port pose-estimation power power-plant prime principle printer printf privacy probability process processing product profiler programmer programming progress-bar project prolog promise prompt protobuf psychology pump purpose puzzle python qemu qr-code qt5 quake quantization queue quine quote radio raid random range raspberry-pi rate-limit ray-casting ray-marching raytracing rdp react react.js read reading recognition recorder recovery recurse recursive recycling red refactor reflection reflex regexp registry remarkable remote rendering repair repl research resize retro reverse rgb rj45 rle robot rocket roomba rs232 rsi rsync rubik ruby rust safety samba sample sandbox sanding sat scala scalable scan schedule schell sci-fi science screen screw script scrolling scult search security segmentation self sensor serial serialization server service sfml shader shape shell shield shift shop signal sim simplicity simulation single-header skew slicer social sociology socket software solar solver sort sound space speech speed sphere spring sprite sql sqlite ssh stabilisation stable-diffusion stacktrace startup statistic statue stepper stl storage strace streaming string stroke structure stylus sustainability svg switch symetry sync synology syntax synth synthesis system systemd tab table tablet tags tape team technic telemetry temperature template tensorflow term ternary terrain tesseract test tetris text theorem thread tic-tac-toe tilemap timelapse timer toml tools top topology tor torrent touchpad toy trace tracker transform translate trap trash tree treemap triangle tricks trust truth try tts tuple turing-complete tutorial tv twitter typescript ubuntu unit unsafe upscaler usb utf8 uuid vcs vector vector-graphic version video viewer vinyle visualizer vm vnc voice voronoi voxel voyager vpn vr vscode water weak web webcam wheel wifi wii wikipedia windows wine wood word2vec work workflow world write x86 xkcd xml xor yaml yduf youtube zfs zig zigbee zip zombie
Outsider
ce qui agace en sous -jaccent les métaleux, rôlistes, geeks et amoureux des comics des années 90/2000 et avant etc, c’est le fait d’avoir “payé” socialement pour leurs gouts une forme de méprise et de rejet et même de moquerie et en même temps au moment où ça devient mainstream une sorte de nostalgie de cet entre soi d’hier et un sentiment de rejet des “touristes” qui adhérent parce que ça devient à la mode sans avoir hier payé l’écho, alors qu’en fait c’est un processus naturel d’ouverture à des choses hier rejetées par la masse, un enrichissement des individus et une assurance pour la société de faire société en réintégrant ses moutons noirs….. c’est une sorte de validation des survivants entre eux qui se “reconnaissent” et peuvent parler de leurs anciennes guerres que les jeunes ont pas connu…. une forme d’élitisme de ceux qui étaient là avant que ça soit aimé par tous mais bien dejà à l’époque où celui qui aimait ça se trainait un capital social négatif. faut il alors leur en vouloir de se payer un peu de cette façon de leur parcours dans tel ou tel courant culturel ? - from comments / Becker (outsiders)
Lou's Pseudo 3d Page
Home Assistant
If you are thinking of deploying Home Assistant (HA), let me give you a few tips that I should have known when started. HA environment is vast. There are myriads of options, features, and functions. There are some gotchas that can be costly down the road. - HN
Regulatory Capture
Introduce rules so hard to comply with that only big tech will be able to comply - HN / investopedia
Pico8 DemoScene
Retro revival on Pico8
Docling
parses documents and exports them to the desired format with ease and speed. - github
Deepland
pico8 demake project - Open-Cave Mining Roguelike
Patchbay
a graphical patchbay for PipeWire. It allows creating and removing connections between applications and/or devices to reroute flow of audio, video and MIDI data to where it is needed.
Carla
Carla le rack universel Linux ,synthés, équa ou ampli virtuel en vsti, lv2, vst serie. - Carla
Lip sync
Real-Time High Quality Lip Synchronization with Latent Space Inpainting - github
C-Reduce
a tool that takes a large C or C++ program that has a property of interest (such as triggering a compiler bug) and automatically produces a much smaller C/C++ program that has the same property. - github
Mitochondria Are Alive
“Very much alive,” in the sense of being a living organism in their own right. By that standard, each cell in the human body can also be considered a separate living organism, simply cooperating with other humans cells in a complex way. It makes sense, since we have no problem identifying the trillions of bacteria cells living on or in the human body as separate living organisms. - HN
How to avoid losing items
have separate “take-off” points near the entrance/exit of each room. - HN
BufferBloat
The buffer doesn’t help throughput; it’s not transient anymore and it just sits there. The buffer is actively harmful — it adds a delay! - Unbloating the buffers
Discrepancy
a measurement of the highest or lowest density of points in a sequence. High discrepancy means that there is either a large area of empty space, or that there is an area that has a high density of points. Low discrepancy means that there are neither, and that your points are more or less pretty evenly distributed. - When Random Numbers Are Too Random / HN
inotify
Notification and interception of filesystem events. - inotify/fanotify / HN
Censorship
It turns out that flooding your own lies is far more effective than trying to censor information. - HN
Colonisation
Au fond de la colonisation, il y a un négationnisme extrêmement profond de l’altérité qu’elle vise soit à faire disparaître, soit à dominer définitivement. - Extermination et violence coloniales euphémisées dans l’Algérie du XIXe siècle
Cytoscape (graph Visualizer)
Open source software platform for graph visualization - Home
Two Pointer Technique
a popular programming technique used to solve problems involving arrays or lists efficiently. It involves using two pointers (or indices) to traverse the data structure and is commonly used in problems related to searching, sorting, and subarray operations. It Typically can reduces the time complexity from $O(n^2)$ to $O(n)$ for many problems. - ChatGPT
What is the name of this letter ?
Dobble (the math)
Excalidraw (SVG Editor)
Anatomy of a credit card rewards program
When you use a reward card, the merchant is charged a higher fee than if you used a “normal” card. Simply by putting a different branding on the plastic you pay with, the credit card issuer gets more money from each transaction. - HN
Write a Firefox Extension 🚧
Writing a simple Firefox Extension - article
Psst: Paper-Based Secret Sharing Technique
Tabulate
Table Maker for Modern C++ - github
16bits vector shift ? (AVX)
To shift 16-bit values by a variable amount (specified by a vector), you have to take an alternative approach because no _mm256_sllv_epi16 intrinsic exists in AVX2. - SO
SingleFile
Save web pages as self-extracting HTML/ZIP hybrid files - github / SingleFileZ / HN
(CG) Hypersonic (Bomberman)
Contest - CG
Webserver
- Hosting my website using my C web server - No reverse proxies required!
Hellandizing
Conan (Package Manager)
Fabien SANGLARD'S Website
Author of Game Engine Black Book DOOM and other stuff - blog
Wiko Wax
Rate Limit
Using Old Phones as Servers
The Reasonable Effectiveness of Using Old Phones as Servers - blog
German Strings
If string are simple, then why does every programming language have their own slightly different string implementation? - article
Courage
Courage is knowing it might hurt and doing it anyway.
Stupidity is the same.And that’s why life is hard.
Not a real engineer
You are not a real engineer… - Richard Marmorstein
Context collapse
On the Fediverse, any discussion extends beyond the immediate participants. - Intimacy Does Not Scale / HN / wikipedia
Montecarlo Graph search
When transpositions are possible in a game, usually the number of them will grow exponentially with the search depth, making deep search much more costly than needed. Ideally, we would like to these branches of the search to share their computation. - Monte-Carlo Graph Search from First Principles / HN
Rotation
If you’ve done any 3D programming, you’ve likely encountered the zoo of techniques and representations used when working with 3D rotations. Some of them are better than others, depending on the situation. - Exponentially Better Rotations (2022) / HN
Systemd Timer
gRPC
Google could not function as a company without protobuf. It is ingrained deeply into every inch of their stack.
Likewise, gRPC is the main public-facing interface for GCP. It’s not going anywhere. - The Ugly Parts
Tracy Profiler
A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications. - github
Skia Graphics Engine 🚧
Skia does one thing really well, 2D graphics.
The original “Skia” was the development name for QuickDraw GX.
This Skia—which, again, doesn’t share code with either of its predecessors—is a kind of version 3, with a tribute name back to that original Skia. - HN / wikipedia
GLFW (GLFrameWork) 🚧
an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events. - Home
How to implement action sequences and cutscenes
This post will show ways of implementing actions sequences and cutscenes in video games. - Elias Daler
Gaussian Splatting
Retirement
Color Perception
From Hexcodes to Eyeballs - article
Webdev tools
Using VSCode for Web - article
TextSnatcher (screenshot) 🚧
Implementing 2D platformers
Code review
Feedback is critical to performing good work as a team. Good feedback cultivates quality work and professional growth. Bad feedback degrades quality and erodes relationships. - Open Source Code Reviews
TerminalTextEffects (TTE)
Landsat 7
Organ pipe physics
Physical modelling has come a long way since it first appeared. Many of the instruments included in the Arturia V Collection (one of the most common collections of instrument plug ins) are made using physical modelling - HN
Microsoft
Everything authenticated by Microsoft is tainted - HN
Crafting Interpreters
Birds Aren't Real
B-tree
B-trees and database indexes - blog
Digital Signature
Recycling PLA?
Melting plastic waste into beautiful flat sheets on a budget - Teaching Tech
Dogwhistling
double speak langage
Sorting small set
1-), 2, 3, 4, 5 - Understanding DeepMind’s Sorting Algorithm
The Art of Finishing
Or, you could stop beating yourself up about it and reframe the whole activity as a creative release. Nobody else cares if you finish it, why should you? My neighbor died with a project car parked in his driveway. It had been there for years. Every so often he got out there and worked on it with his grandson. Who among us would call that time wasted? Why not dust off Project Foo on a Saturday afternoon, and just tinker with the fun parts? - HN
File transfer tools
- Warpinator - send and receive files across a local network
- usefull with android devices vs cloud
- Magic Wormhole - get things from one computer to another, safely
- Syncthing - own p2p networks
Zero Knowledge Proof (ZKP)
Display Connector
open-source supporters are advised to use DisplayPort for the best experience. - HDMI Forum rejects AMD’s HDMI 2.1 open-source driver
Water
All of Earth’s water in a single sphere! - USGS
Image search
Collision detection algorithms
Sweep-and-prune is my go-to algorithm when I want to quickly implement collision detection for a game. - article
Enterprise security tools
Thing you will encounter while working in Enterprise.
Linux Printer (CUPS)
Raspberry Pi Print Server: Setup a Network Printer - article
Histogram Comparison/Search
K-Means Clustering
an unsupervised machine learning technique that seeks to group similar data into distinct clusters to uncover patterns in the data.
Color Quantisation
Color quantization is primarily used in computer graphics research literature; in applications, terms such as optimized palette generation, optimal palette generation, or decreasing color depth are used. Some of these are misleading, as the palettes generated by standard algorithms are not necessarily the best possible. - wikipedia
Rubik Bluetooth
Comment ça marche #07 : Rubik’s Cube bluetooth connecté
Kali (linux)
an open-source, Debian-based Linux distribution geared towards various information security tasks - Home
Android debug bridge (adb)
a versatile command-line tool that lets you communicate with a device. - Home
Crocotile 3D
Honor 90 lite (2024)
Typeset In The Future
Financial System
Engineering principles for building financial systems - HN
Fourier Transform
Huffman Codes
There exists an array-based, in-place algorithm for this, reducing the need to allocate trees and chase pointers. - The Lost Huffman Paper / HN / wikipedia
MuZero
La Vérité sortant du puits
Jean Léon Gerome 1896 - wikipedia
sudo
- SSH as a Sudo Replacement - as well as discussion around sudo config
Organisation
The incompetent group together, they have to in order to survive.
The competent don’t group together, they don’t need to. They can take care of themselves. The former uses their power as a group against the individuals in the latter. - HN
MacOS
I’m pretty sure I’m not alone in wanting to customize the hell out of OSX. - r/MacOS
DNS
Why is DNS still hard to learn? - jvns
# Armbian
Face detection (OpenCV DNN)
Thread STOP!
There is no way to safely interrupt an arbitrary block of code. - jvns / Why Ruby’s Timeout is dangerous (and Thread.raise is terrifying)
Printing Vinyle
3D Printed Record - instructable
Vibration Bowl
PLA Glass
Markdown
Monitoring Filesystem Event (fanotify)
Spider
No trapdoor spider learns how to build a trap. No orb weaver learns how to spin a web. Trap/web building behavior is entirely programmed in their DNA.
If spiders can have complex behaviors hard-coded, humans certainly do too. - HN
CLIP (OpenAI)
Scan file online
Montgomery Multiplication
the number one optimization for fast primality testing: Montgomery multiplication. It forms the basis of fast practical modular exponentiation implementations. - HN
AST Error handling
The D language compiler uses a technique I call “poisoning” which has greatly reduced cascading error messages. The idea is whenever an error is found in an AST node, the AST node is replaced with an “error” node. Any combination of an error node with another node is replaced with an error node. Error messages for error nodes are suppressed.
It works far better than attempting to repair the AST into some plausible state.
It’s analogous to the propagation of NaN values in floating point code. - HN
OpenCV + GPU
running OpenCV on a gpu.
Vector Search
Error Correction algorithm
Until the discovery of better coding techniques (Turbo codes and low-density parity codes), Reed-Solomon forward error correction (FEC) was one of the most powerful ways to make data storage or data transmission resilient against corruption - Reed-Solomon Error Correcting Codes from the Bottom Up
Pacman Shortest Path
Coccinelle
a tool for pattern matching and text transformation that has many uses in kernel development, including the application of complex, tree-wide patches and detection of problematic programming patterns. - kernel.org
Cold Shower (software)
overhyped topics prooved to be not so great.
De-compiler
Decompiling Binary Code with LLM - LLM4Decompile / HN
Decimal to Fraction
algorithm - HN
Boundary Representation (b-rep)
Compared to the constructive solid geometry (CSG) representation, which uses only primitive objects and Boolean operations to combine them, boundary representation is more flexible and has a much richer operation set. In addition to the Boolean operations, B-rep has extrusion (or sweeping), chamfer, blending, drafting, shelling, tweaking and other operations which make use of these. - wikipedia
Code Search
BIQU-H2
PC 2013 (occasion)
Hardware
- i5
- Asus P8H67
- Win11 - rt640x64.sys bsod during setup - caused by realtek ethernet network driver
- remove cable during install
- use wifi (even usb dongle) to install realtek driver after install.
- Win11 - rt640x64.sys bsod during setup - caused by realtek ethernet network driver
- remove cable during install
- 4Go DDR3
CRDT Fractional indexing
C++ flags Hardening Guide
Degraissant
White spirit / mineral turpentine - A mixture of aliphatic, open-chain or alicyclic C7 to C12 hydrocarbons, white spirit is insoluble in water and is used as an extraction solvent, as a cleaning solvent, as a degreasing solvent and as a solvent in aerosols, paints, wood preservatives, lacquers, varnishes, and asphalt products.
- The word “mineral” in “mineral spirits” or “mineral turpentine” is meant to distinguish it from distilled spirits (alcoholic beverages distilled from fermented biological material) or from true turpentine (distilled tree resin).
- used for cleaning and degreasing machine tools and parts, and in conjunction with cutting oil as a thread cutting and reaming lubricant.
Isopropyl alcohol / isopropanol - Isopropyl alcohol, an organic polar molecule, is miscible in water, ethanol, and chloroform, demonstrating its ability to dissolve a wide range of substances including ethyl cellulose, polyvinyl butyral, oils, alkaloids, and natural resins.
- dissolves a wide range of non-polar compounds. It evaporates quickly and the typically available grades tend to not leave behind oil traces when used as a cleaning fluid unlike some other common solvents. It is also relatively non-toxic. Thus, it is used widely as a solvent and as a cleaning fluid, especially where there are oils or oil based residues which are not easily cleaned with water, conveniently evaporating and (depending on water content and other variables) posing less of a risk of corrosion or rusting than plain water. Together with ethanol, n-butanol, and methanol, it belongs to the group of alcohol solvents.
Hotend
Can Bus
Introduction to CAN bus for your 3D Printer - youtube
Making Spring
- Easy Method to Make Great Springs - en utilisant une tige filetée.
- without a lathe
- Comment faire des ressorts à la maison correctement!
- big spring
Tapping Screw
Tapping Tools - Tapping Arm
Nema17
NEMA est l’abréviation de National Electrical Manufacturers Association, qui établit des normes pour la taille et les performances des moteurs pas à pas. Dans cette norme, « 17 » fait référence à la taille de la surface de montage avant du moteur, qui est d’environ 1,7 pouces sur 1,7 pouces (ou environ 43 mm sur 43 mm). - steppermotor.fr
XOR floating point compression
Orca Slicer
Orca Slicer getting started guide: A slicer for all of your 3D printers - teaching tech / github
Dremel
Dremel 3000
Langage aware diff
a structural diff tool that understands syntax - Difftastic / HN
Debugging the n-th call
the easiest way to debug a crash on the nth call of a piece of code is to set a hardware breakpoint - yduf
Endless method syntax
Syntactic Sugar
“The best things are still a reasonably small core of concepts, with the development team working hard to “factorize” any new feature into those concepts, and the flexible syntax that is instrumental for making the core small”
this is actually the definition of syntactic sugar, from a language design point of view. People often use it derogatorily to refer to bits of syntax that they simply don’t like, but as a term of art it refers to syntactic elements that are introduced in an effort to provide new ergonomics—new ways of working in a language—without altering the language’s fundamental primitives. - HN
Tmux is turing-complete
The moment you think your configuration language needs loops or conditionals, drop it and just throw a scripting language on there. Your users will thank you. - Making a Compiler to Prove Tmux Is Turing Complete / HN
Frame Pointer (-fno-omit-frame-pointer)
The Return of the Frame Pointers - HN
Debloat non-rooted Android devices
Orbiter v2.0
Stack Unwinding
Given the current register state for a thread, and read-only access to memory, what would the register state hypothetically become if the current function was to immediately return and execution was to resume in its caller? - Linux/ELF .eh_frame from the bottom up
Honor 5C (2017)
- EMUI 5.0.4 / Android 7.0 - xda / amazon / les numeriques / specs
Message Queues
There’s essential decoupling and accidental decoupling; decoupling you want, and decoupling which mostly just obscures your business logic. - The Big Little Guide to Message Queues
Balancing Cube
Goodhart's law
When a measure becomes a target, it ceases to be a good measure - wikipedia
Mind Map
Firmware
Blub Paradox
some languages are more powerful than others. Posits a hypothetical middle of the road language called Blub.
As long as our hypothetical Blub programmer is looking down the power continuum, he knows he’s looking down. Languages less powerful than Blub are obviously less powerful, because they’re missing some feature he’s used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn’t realize he’s looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub. - Blub Paradox / HN
The BOYS
Si tu mets pas les mains dedans et que tu laisses les connard gerer la merde, alors tu fais partie du problème - The Boys (s2e3)
LibreOffice
Runaway
He Who Knows Does Not Speak
vlan
Pipes inside pipes - VLANs: How to Protect Your Wifi and LAN
Units library
The Au C++ Units Library: Handling Physical Units Safely, Quickly, & Broadly - CppCon 23
Matplot
Logarithm
Cold-blooded software
Certain technology decisions lead to projects that are warm-blooded: everything is great when there’s constant motion on the project, generating heat. But put warm-blooded software in the freezer, and you’ll pull out a corpse six months later. - Cold-blooded software / HN
Enigma
Arthur Scherbius (30 October 1878 – 13 May 1929) was a German electrical engineer who invented the mechanical cipher Enigma machine.[1] He patented the invention and later sold the machine under the brand name Enigma. - wikipedia
Product Strategy
“Build it and they will come” is almost never a winning strategy. Of course sometimes it works, you build the right thing at the right time and it goes viral, but most of the time you get crickets even if it gets to the top of Product Hunt or Hacker News (neither of which are of any importance outside of tech circles).
The right way is to talk to prospective customers first in a given niche, listen carefully to their problems, and figure out which problems are worth solving, i.e. you have the skills and resources to solve them and people will pay you to solve them. This is difficult if you don’t have a network or experience in specific industries so tech people just wait around for a business person to tell them what to build instead. - HN
Setting Mesh Resolution
If you just go to the file menu and export, FreeCAD just creates a STL file from the visualisation mesh. The mesh tessellation was earlier simply defined from the FreeCAD PartDesign WB visualisation setting. There was a feature request for on STL export to collect that value from the individual PartDesign “Body” objects’ individual visualisation “property” rather than the FreeCAD setting value, which is what happens now IF we are talking about exporting a PartDesign Body object. If we are talking about Part WB objects, then the value is still collected from the PartDesign visualisation setting as previously explained. - forum
Drug Effectiveness
by law FDA only needs to certify that OTC medications are safe not that they are effective… phenylephrine was no better than placebo - scientific-american / HN
Floppy drive
Tetris life
In life, no one tells you when you’ve won - Your life is Tetris—stop playing it like chess / HN
3dprinter calibration
Define a process for precise FDM printer calibration
File's Magic
file command’s magic pattern file -
MAGIC(5)
Wasting Time
There’s no one at the end of the tunnel grading me on how I used my time. Time as a resource to be used is a human invention. - In Praise of Wasting Your Time
#pragma omp parallel (OpenMP)
Track all files accessed
Llama (ChatGPT @Home)
A 2 files on prem LLM. - Intro to Large Language Models / Llama In My Living Room
Linux namespace
A Linux namespace is an abstraction over resources in the operating system. We can think of a namespace as a box. Inside this box are these system resources, which ones exactly depend on the box’s (namespace’s) type. There are currently 7 types of namespaces Cgroup, IPC, Network, Mount, PID, User, UTS. - A deep dive into Linux namespaces
Code is run more than read
Zstd
These days it generally is better to prefer Zstandard to zlib/gzip for many reasons. - HN / facebook/zstd
Damnsmall (linux)
Looking for an OS that can run on an old and tight system ?
Sony Vaio PCG-SRX51P/A (2002)
Cute mini-laptop from the past - spec
Desk Camera (KB700)
2023 - 50€ - amazon
Sound Sample (Pico-8)
Tapo C212 (wifi camera)
2023 - 30€ - amazon
Talk to it like a Human
I see lots of people trying to prompt with incomplete sentences, not capitalizing, using slang, bad grammar, imprecise terminology etc. And it still works. However, I find that you get a noticable a quality boost if you use proper English and treat it more like a human. - HN
Using linux as a Synth with a Midi Keyboard
Simplest step for Audio setup.
Meta-table (Lua class)
Lua Object-Oriented Tutorial – Complete Guide
Pico-8: Games Selection
Choose one
Emulation Station
A graphical and themeable emulator front-end that allows you to access all your favorite games in one place, even without a keyboard! - Home / github / r/emulationstation
MAME
a multi-purpose emulation framework, which purpose is to preserve decades of software history. - Home
Donkey Kong
the product of Nintendo’s efforts to develop a hit to rival Pac-Man (1980) and break into the North American market. - wikipedia
RetroArch
a frontend for emulators, game engines and media players.
ArkOS
an initial fork of The Retro Arena, Short for Another
rk3326rockchip Operating System. Ubuntu base - ArkOS
EXIF tool
Reading and writing metadata from multimedia files - linux-magazine
Nebulus
A cylindrical scroll platforrm games - wikipedia
Neogeo
GIGA POWER - neo-geo.com
Le nombre d'or
1 + ϕ = ϕxϕ - Le nombre d’or - Micmaths
Linux Audio
Audio applications are time-critical, so they need a preemptible (low latency) kernel with a 1000Hz timer frequency. - Ted’s Linux MIDI Guide
Firejail / Sandboxing
a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities. - github
Ardour
Ardour by unfa
Complex Problems (Grossman's Law)
Complex problems have simple, easy to understand, wrong answers. - Grossman’s Law / Benno Rice
Music (Pico-8)
Getting Started with Sound and Music - nerdyteachers
A Window over the World
🍓Strawberry (Amarok †)
Living fork of Clementine itself inspired by Amarok 1.4, - Home
Enable text diff for binary file (Git)
Coroutine (C++)
Coroutines are lightweight and trivial to synchronize. They are perfect for small bits of incremental computation, like iterators and tokenizers. - Coroutines in C (2000) / HN
Audio CD ripping
Iterator (Lua)
a construct that enables you to traverse through the elements of the so called collection or container. - Lua - Iterators
# lua
Text (Pico-8)
Hexagone
L’Hexagone 666, le plus grand des hexagones - Micmaths
Flatpack
Boot Process with Systemd
Analyzing System Boot Performance - practical examples
Nemo thumbnail (draft)
How to get custom file extention have thumbnail in nemo ?
Coroutine (Lua)
Want to spice up your game with animated scene between bouts of gameplay? Cutscenes are uncommon on small platforms like PICO-8. There’s no room for full motion video, so a scene must be described in code or with some kind of cutscene engine. This is made much easier with a Lua feature added in PICO-8 v0.1.6: coroutines. - CutscenesAndCoroutines / Coroutines
D-Bus (draft)
Messaging bus on linux
Games Map (Pico-8)
Collision (Pico-8)
Collisions in games aren’t just about hitting a wall, they’re about breaking through barriers, smashing expectations, and crashing into new adventures! - ChatGPT
LibreSprite
a fork of Aseprite - Home
DaScript
Sprite sheet Mastery in Godot
Learn to Handle Every Type of Sprite sheet Like Pro! - youtube
Pixelorama
Sprite (Pico-8)
A small or elusive supernatural being; an elf or pixie. - noun
Bitplane (Pico-8)
Background (Pico-8)
PMTiles & Protomap
PMTiles is a single-file archive format for pyramids of tiled data. - Protomaps – A free and open source map of the world
Tweetcart
Tweet carts are PICO-8 doodles, that fit into a single tweet. That means that each of those masterpieces is not longer than 280 chars (bytes).- Guide on minifying tweetcarts
Gyruss - Project
Gyruss on pico8
PICO-8 IDE (VSCode)
PICO-8 Easier development with Visual Studio - imogiagames /
Gyruss
Galaga in a tube shooter format - giantbomb.com
Scumm-8
a “demake” of the SCUMM engine (which powered most of the classic LucasArts adventure games, such as Monkey Island and Maniac Mansion) for the PICO-8 Fantasy Console - github
Color Palette (Pico-8)
Develop on Pico8
Getting Started - Tutorial / Guide / Awesome PICO-8 / Helpful Posts
ls --hyperlink=auto
Scan PDF
Photoprism
an AI-Powered Photos App - github
Quadlet (Podman on systemd)
Run Kubernetes YAML specification workloads on single nodes instead of a cluster. - Make systemd better for Podman with Quadlet / github
PSP (Sony Console)
TODO: rescucite PSP
Powkiddy RGB30
Powkiddy RGB30 - In-Depth Review / r/PowKiddy
Compact Calendar
The Compact Calendar presents days as a continuous candy bar of time. Weeks are presented as a stack of available time with no gaps, making it easier to count-out days naturally as you think. - Home
TreeSheet
A “hierarchical spreadsheet” that is a great replacement for spreadsheets - TreeSheets
Nan & Infinity
Convince me!
Your goal is to make Gandalf reveal the secret password for each level. - Lakera Gandalf game -
Paperless-ngx
Convention over Configuration
see also
Carboned internet
The internet consumes extraordinary amounts of energy - by 2025, the IT industry could use 20% of all electricity produced and emit up to 5.5% of the world’s carbon emissions.
UUID
Debugging a compiler
The old and new backends coexisted, and we could use either for any given function in the compilation. Keith introduced an environment variable GOSSAHASH that specifies the last few binary digits of the hash of function names that should use the new backend. - binary search debugging of compilers
Cursorless
Voice coding at the speed of thought - Home
Naming Computer
How to Choose a Name for Your Computer - HN
The World’s Smallest Hash Table
Resolving small problem with a hardcoded solution and small hash table - article
Bitwise binary search
Binary search is notoriously difficult to get correct. A 1988 study found that out of an informal sample of twenty computer science textbooks, only five contained a correct binary search algorithm. I haven’t checked, but I hope we are doing better now in 2022. Unfortunately off-by-one errors feel rather timeless to me. - Elegant and Fast
VPinballX (Standalone) Code (Draft)
Image vector quantization
It is just like creating a tilemap - article
Plog
Pretty powerful logging library in about 1000 lines of code - github
Meat Carbon Footprint
The Emissions of Every Meat Type - article
BeeRef
Cap’n Proto
Cap’n Proto is the result of years of experience working on Protobufs, listening to user feedback, and thinking about how things could be done better. - Home
# The 100 (3dprinter)
03:03 (mm:ss) - The fastest 3D Benchy on THE 100 printer - youtube / github / hackaday.io / printables / discord / klipper-config
VPinMame
PinMAME emulates the hardware found in almost every solid state pinball machine created from the earliest days of CPU-controlled machines (mid 1970’s) through 2014 (Stern SAM), with around 770 emulated unique Pinball machines and many more clones/revisions (overall more than 2700 sets). - github
DOF (Direct Output Framework)
DOF is a separate piece of software that you can install on your system to control feedback devices. It’s not really a full separate program; it’s more of an add-on that works together with Visual Pinball and other software. DOF handles the communications between the pinball software and your output controller devices. - DOF Setup
B2S (Backglass 2nd Screen)
Air Conditioning Pipe in Part Design
The workflow is to buid the fings as solid, and do the void afterward. - youtube
strstr()
There’s is not 2 way to write this function. The path is very narrow to write the right code. - Andrei (Code Europe 2023 Closing Keynote)
libassert
The most over-engineered C++ assertion library - github
La place de l'hydrogene dans la decarbonation
Elle ne pourra pas etre celle de remplacer le petrole pour les vehicules - Hydrogène (Jancovici)
iptable
All modern operating systems come equipped with a firewall – a software application that regulates network traffic to a computer. The utility firewall developed for Linux systems is iptables. - Iptables Tutorial
Profiling
Petrol crisis
Petrol availability may be divided by 2 in 2050, decline should start around 2030. This will divide the import in europe from 2 to 20 during the same period. - risques d’approvisionnement de l’UE
CMake
Projet pincab
DIY ? - pinscape guide
ChatGPT / Emergent world représentation
These People fail to realize that an AI outscoring a human on a test does not mean it can actually do the thing the test measures. - GPT-4 Is Not Getting Worse / HN
Game & Watch
Visual Pinball (VPinballX)
This project was started by Randy Davis, open sourced in 2010 and continued by the Visual Pinball development team. - github / wikipedia / doc / r/virtualpinball/ / discord
VFS (Linux)
Everything does pathname lookups all the time, it’s hugely performance-critical, and it’s very much one of those areas where you also want to scale well in SMP environments, and it has lots of complexity in locking. And you very much do not want to do any IO, so caching is very important. In fact, pathname lookup is so important that you can’t leave it to the low-level filesystem, because we have 20+ different filesystems, and having each of them do their own caching and their own locking would be a complete disaster. - linus about the VFS
Offset & Thickness
FreeCAD: How to create thick walled and hollowing out objects and how to prevent offset failure - youtube
Thinking Path
Be Nice to Spiders When everyone else is afraid or uncomfortable or angry about something, you don’t have to be. - HN
The sound of dialup
Faster than C
What does it means ? - HN
Color Picker
LoRa
LoRa (from “long range”) is a physical proprietary radio communication technique. - wikipedia
Meta's Segment Anything (SAMIST)
XML (Ruby)
Parsing XML with Ruby - SO / ruby toolbox
Lutris
Play all your games on Linux - Home / r/linux_gaming
Maven
Yep, SBT and Gradle make Maven look good. - What is wrong with Java’s tooling? / 2
Planet Lana
A teenage girl Lana and her cat companion Mui explore their planet invaded by hostile alien machines. - wikipedia
Bleak Sword
Bleak Sword is a dark fantasy action-adventure video game - Home
Exit
There’s no Exit - The Invisible Horror of ‘The Labyrinth’
$HOME
goMarkableStream
6bits text
Using uu packer, we can achieve 6bits text encoding in specific case - Compression in Golf: Part I/Uuencoding
Ruby Packer
Freecad Internals (dev)
Blackmagic DaVinci Resolve
DaVinci Resolve is a professional-grade video editing and color grading software that offers a comprehensive set of tools and features for post-production work. One key aspect of DaVinci Resolve is its support for Linux as a platform, making it an attractive choice for Linux users and professionals working in Linux-based environments. - DaVinci Resolve on Linux
Camera / Photo Hardware
Shop
Debug Graphic
RenderDoc is a free MIT licensed stand-alone graphics debugger that allows quick and easy single-frame capture and detailed introspection of any application using Vulkan, D3D11, OpenGL & OpenGL ES or D3D12 across Windows, Linux, Android, or Nintendo Switch™. - Home
One day - One print
SDCard
counterfeit SD cards are still an issue checking with F3 / H2testw directly after purchase is highly recommended. - How to prepare a SD card? / SDCard list
Commercial Off the Shelf (COTS)
Ready-made hardware or software, which are adapted aftermarket to the needs of the purchasing organization, rather than the commissioning of custom-made, or bespoke, solutions. - wikipedia
Reuleaux
A curve of constant width - wikipedia / thingiverse
CubieTruck (2013)
Allwinner A20: CPU: ARM Cortex-A7 / Mali-400 GPU, supports HDMI 1080p, no LVDS support - / CubieBoard
Steganography
- Steganography Based Ad Payload That Drops Shlayer Trojan on Mac Users
- OutGuess - automated tool for detecting steganographic content in images.
Unprojecting text with ellipses
Overlay Filesystem
OpenSky
Classic Macintosh
Tiny Mac III (Pi 4) - instructable / HN
std::pair
a way to store two heterogeneous objects as a single unit. A pair is a specific case of a std::tuple with two elements. - cppreference.com
Heap
a binary tree inside an array, so it does not use parent/child pointers. - heap / std::make_heap
Losslessly Optimising Images
there are a few tools you can use to losslessly optimise and reduce file sizes of various image formats. - HN
Ray-tracing voxels on a GPU
one technique is to use a single bit per voxel (so 32 voxels per uint32_t: a 0 bit means empty, a 1-bit means filled) and then put the whole voxel space into a Morton space-filling curve - HN
ZigZag Integer encoding
Vernier Scale
Verniers allow the user to make precise fractional measurements of distance. - DIY Vernier Scale
Java JIT
Java optimizer can take quite sometime to get optimal runtime performance (more than 1h) - Runtime vs. compile time (JIT vs. AOT) optimizations in Java and C++ / Java on CRaC: Superfast JVM Application Startup
Screw & Thread Size
Pour répondre à vos attentes convenablement, elle doit mesurer 3 fois l’épaisseur de la pièce à fixer. - Comment mesurer une vis ?
Skew Correction
Software based skew correction can help resolve dimensional inaccuracies resulting from a printer assembly that is not perfectly square. - klipper
A C Compiler in 512 bytes
Duke Nukem 3D
It’s time to kick ass and chew bubble gum, and I’m all outta gum! - Eduke32 / Hi Res Pack 2023 / Packages
Reflection in C++
Reflection in C++ - Past, Present, and Hopeful Future - Andrei Alexandrescu - CppCon 2022
When Hotspot performance engineering fails
Developers often believe that software performance follows a Pareto distribution: 80% of the running time is spent in 20% of the code… Sadly, it does not work. - Performance Excuses Debunked / Overall architecture trumps everything / HN
Modern perfect hashing for strings
Meet in the Middle (MM)
The algorithmic trick that solves Rubik’s Cubes and breaks ciphers - youtube
Generating Function
Find the number of subsets of {1,…,2000} whose sum is divisible by 5 - Olympiad level counting
n^m = m^n
Only one pair of distinct positive integers satisfy the equation $m^n = n^m$ - HN
Bounding Box & Intersection
Games use segment intersection tests all the time, for everything from line of sight to checking whether a bullet hit a monster. This is the most complicated of the four AABB tests, and is commonly known as a slab test. It finds the time of the line’s intersection with the near and far edges of each axis of the AABB. If they overlap, the segment is intersecting. - Intersection Tests in 2D
Handbrake
Opencv HighGUI
# Ruby Debug (VSCode)
Ruby integration with VSCode - Ruby by Peng Lv
Loop Fusion
OpenDroneMap
MORSE
eBPF (Extended Berkley Packet Filter)
- File Expiration Using BPF - rolling update based on file expiration using standard attribute and eBPF tooling.
Optical Flow
Optical flow is the motion of objects between the consecutive frames of the sequence, caused by the relative motion between the camera and the object. It can be of two types-Sparse Optical flow and Dense Optical flow. - geeksforgeeks
Kalman Filter
The Kalman Filter is one of the most important and common estimation algorithms. The Kalman Filter produces estimates of hidden variables based on inaccurate and uncertain measurements. Also, the Kalman Filter predicts the future system state based on past estimations. - kalmanfilter.net
Lunar/Mars Lander
Blobs Detection
A Blob is a group of connected pixels in an image that share some common property - Finding the Connection!
EDM Printer
C++ interpreter
Cpps: An (pseudo) interpreter for C++ scripts - github
Fer à Souder
TOOLCRAFT ST-50A Soldering station Analogue 50 W +150 - +450 °C - conrad / r/soldering
The $8 Linux Computer
Opencv DNN module
The OpenCV DNN module only supports deep learning inference on images and videos, but it supports loading many popular deep learning frameworks such as TensorFlow, (Py)Torch, DarkNet, Caffe, ONNX. - DNN opencv module: A Definitive Guide / A Comprehensive Guide / DNN
Tracking and image stabilization
Opensource tracking and image stabilization tool - github
Python (OpenCV)
How to setup
Processing Video (opencv)
Work online! - Getting Started with Videos
Eyes&Gaze Tracker
ML solution for accurate iris estimation, able to track landmarks involving the iris, pupil and the eye contours using a single RGB camera, in real-time, without the need for specialized hardware. - MediaPipe Iris / Eye Tracking with Mediapipe and OpenCV
MathGL
Raise to sleep
running code faster is the only way to consume less (Anyway Java is faster than c++) - Efficiency with Algorithms, Performance with Data Structures (CppCon)
Haut Parleur
Les haut-parleurs de grave, ou boomers, ont la suspension périphérique qui se désagrège au fil du temps. C’est un phénomène inéluctable. - Remplacer la suspension usée
Network Cache
Function declaration
Regular function declarator syntax vs Trailing return type declaration. - cppreference
mRNA Vaccine
The BNT162b2 mRNA vaccine has this digital code at its heart. It is 4284 characters long, so it would fit in a bunch of tweets. At the very beginning of the vaccine production process, someone uploaded this code to a DNA printer (yes), which then converted the bytes on disk to actual DNA molecules. - Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine / HN
Reversing Lua
Lua is a lightweight embeddable scripting language that is commonly used in a variety of applications. Because Lua has C bindings, it is very easy to embed. As a result of this, Lua is widely used in many applications(especially games). - Reversing Lua’s C API / r/lua
Reverse Android Application
how to reverse engineer an Android Application and what tools you can use to achieve this - even without owning an Android Phone. - The EPIC.blog
Metadata in SVG
As XML is extensible you can add attributes and element children as you wish. - SO
Stronger 3Dprint
reduce stress concentration point - youtube
How to represent a Rubik’s cube
It’s probably simplest to start with schemes that only encode values in the 20 movable cubes. - Rubik’s Cube Encoding
Reverse Bluetooth
Bluetooth Low Energy (BLE) Identifier Reference
Ampli Guitar
Checking Memory
Best book Introduction
Three bears arrived at their den to discover a yellow haired girl sleeping, and as she was neither too hot nor too cold, neither too soft nor too hard, but just right, they ate her. - Neil Prowd, Ballarat, Victoria, Australia
Wimmelbilder
Pitch to Angle and Gradient Calculator
Procedural Animation
Cache (Down)/Performance
For most applications the optimal size of a (time-based) cache is around the point that keeping an item around in the cache is equal to the cost of accessing it again… A side effect of that is that systems that run faster, and therefore access each cached it more often, get more benefit out of a cache by pushing that set point out further… The bottom line is that both locality and memoization are huge contributor to the performance of systems, both positive and negative. - HN
Parsing Markdown
kramdown - fast, pure-Ruby Markdown-superset converter
Missing square triangle puzzle
Mathgical move - wikipedia
Multiply
How Karatsuba’s algorithm gave us new ways to multiply - O(N^1.6) 1960
Convolution
But what is a convolution? / A fundamental way to combine function - 3Blue1Brown
Posix Signal
Unix Signals are a bit of a pain: They seem deceptively simple, but aren’t. They are asynchronous. Signals are delivered to any one thread that has not blocked the signal, including (and as a most likely candidate) the main thread. - Signal Handlers for Multithreaded C++
Boxing Filesystem (boxxy .config)
Traces vs. Snapshots
To my surprise, some programmers consider using print statements instead of debuggers as a wholly inferior means of debugging. As I view the debugging process, they are complementary techniques. But the issue is not really “print statements” versus “debuggers.” - It’s traces versus snapshots. / HN
Single Point of Truth
A better formulation of DRY is SPOT (Single Point Of Truth). Definitions (code, data) that represent the same “truth”, i.e. when one changes all have to change to represent a consistent truth, should be reduced to a single definition…
Having said that, the cost of creating dependency chains is often underestimated. Overly dogmatic adherence to SPOT/SST can lead you to make the wrong tradeoff on coupling two unrelated areas of your codebase to unify some trivial truth. - DRY is an over-rated programming principle?
Kolmogorov complexity
the Kolmogorov complexity of an object, such as a piece of text, is the length of a shortest computer program (in a predetermined programming language) that produces the object as output. It is a measure of the computational resources needed to specify the object, - wikipedia
The Logical Fallacy Guide
Logical fallacies are errors in reasoning that undermine the quality of an argument. - The Logical Fallacy Guide
Pointer compression in Oilpan
It is absolutely idiotic to have 64-bit pointers when I compile a program that uses less than 4 gigabytes of RAM. When such pointer values appear inside a struct, they not only waste half the memory, they effectively throw away half of the cache. – Donald Knuth (2008)
Linux Boot Partitions
With the arrival of UEFI a new partition relevant for boot appeared, the EFI System Partition (ESP). - How to Set Them Up / HN
Wii Emulators
Switch-Emulators-Guide - github
String & Array ops with SIMD
Macintosh
MacOS memories
Raspberry Pi security alarm
PalmOS games
Intel Microcode Decryptor
Mermaid
Making graphics in 4 kilobytes
Misconception: “4k graphics are not interesting, it’s just a 4k intro without animation and music” - inspire!
Find center of Circle
accurately detecting the center of a circle in an image. - Hitting the bullseye: Adventures in computer vision
G-3PO: A Protocol Droid for Ghidra
Give a man a fire
and he’s warm for a day, but set fire to him and he’s warm for the rest of his life. - Terry Pratchett
Overton window
the range of policies politically acceptable to the mainstream population at a given time. It is also known as the window of discourse. - wikipedia
Feel Good Inc.
Debug Symbol Packages
If you are on Ubuntu Jammy (22.04) or later, you do not need to worry about installing debug symbol packages anymore. The Ubuntu project maintains a Debuginfod server, and GDB and other debuginfo-consumer applications support it out of the box. For more information about it, please refer to this page - ubuntu
Debug with GDB
GDBE setup - vscode
Creative Coding
Creative coding, making loops with Processing - HN
Govee Thermomètre/Hygromètre
Petit Moniteur - amazon / GoveeBTTempLogger / Govee-monitor
Draw SVG rope using JavaScript
Unstripping Stripped Binaries
What I really want is to take the names and types I’ve figured out from my disassembler, and make them visible to gdb. - a simple solution to this / HN
Estimating the risk of a hash collision
Say you store 32-bit hashes of a thousand items – what is the probability that you will have a collision? - I Like Big Bits
Quadsort
Human Pose Estimation
everything you need to know about Human Pose Estimation and its real-world applications. - v7lab
How to compile and execute from memory directly?
memrun repo from guitmz, that demoed running (x86_64) ELF from memory - QA
# Podman - Containers vs. Pods
People associate running pods with Kubernetes. And when they run containers in their development runtimes, they do not even think about the role pods could play—even in a localized runtime. Most people coming from the Docker world of running single containers do not envision the concept of running pods. - Podman: Managing pods and containers in a local container runtime
APL lang
A language that doesn’t affect the way you think about programming is not worth knowing. –Alan Perlis
Pytorch
Facebook open-source and free framework based on the Torch library. - Home
Open Multi-processing (OpenMP)
an extension to C/C++/Fortran languages by adding the parallelizing features to them. - Introduction
Chrome in term
Stable diffusion
Text to image generation
Runing CUDA on AMD GPUs
Using Coriander - Hugh Perkins
Cycle Graph
Anxiety / FUD
No amount of anciety makes any difference to anything that is going to happen - Alan Watts
Rubik algo 2x2
Rubik's Cube Shape Mods
To solve these you have to learn a new algorithm which rotates the centre pieces. - Ruwix
Tiny NN Framework
You can even start from scratch - micrograd walktrhough
Manipulating Spreadsheet
Manipulating spreadsheets with Ruby - rspreadsheet
What is a Tensor ?
A tensor is often thought of as a generalized matrix. That is, it could be a 1-D matrix (a vector is actually such a tensor), a 3-D matrix (something like a cube of numbers), even a 0-D matrix (a single number), or a higher dimensional structure that is harder to visualize. The dimension of the tensor is called its rank. - What’s the difference between a matrix and a tensor?
Monocular depth estimation
Zelda
Evolution Strategy
Tableau Periodic
Quick Simple Parser (scanf)
I tend to fall back on scanf when I have to parse simple text files. - Simple string parsing with C++
C++ Uniform Unitialisation
Why not just use the classic int x = 1; and call it a day? - Benefits & Pitfalls
Bitboard & BFS
BFS and Voronoi diagrams using bit-shift operation - CG
Tron
Generating SVG Image
how we can create SVG file - using PyCairo / geeksforgeeks
Ray Casting like Wolfenstein
Wolfenstein 3D is a big milestone in id Software’s evolution and PC gaming in general. In addition, because its technology is more primitive, the source code is more approachable for study and implementation. The game doesn’t have a real 3D engine but rather simulates a 3D world from a 2D map using a technique called Ray Casting. All the drawing is done by directly putting pixels on the screen. - Rustenstein 3D: Game programming like it’s 1992 / HN
Colored output term
Berlin and Kay found that, in languages with fewer than the maximum eleven color categories, the colors followed a specific evolutionary pattern. - Using terminal color code
StackTrace ≅
How to automatically generate a stacktrace when my program crashes - SO
OOM Killer
configurable daemon for Linux which is able to correctly prevent out of memory (OOM) and keep system responsiveness in low memory conditions. - nohang
Dolphin
an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. - Home
Photography
Good advices and example - Photography for geeks / HN
Roland TD9
V-Drums Module - TD9
MD5 quine
The image in this post displays its own MD5 hash - HN
Automatically Wake NAS on Access
with dd-wrt router - SO
Image registration
The image alignment and registration pipeline takes two input images that contain the same scene from slightly different viewing angles. - Accurate Image Alignment and Registration using OpenCV / HN
Fisheye
Corporate Bullshit
Text Shaders (textshader.com)
Click the link to see some cool visualizations, refresh a few times for random examples, and try editing some of the code yourself. - inspired by shadertoy.com / HN
Rubik's algo 3x3
Seche linge
Sapling
Code Copilot
Compute Max / Horizontal operation (AVX)
If you find yourself needing to do horizontal operations on vectors, especially if it’s inside an inner loop, then it’s usually a sign that you are approaching your SIMD implementation in the wrong way. SIMD likes to operate element-wise on vectors - “vertically” if you like, not horizontally. - SO
Freebox Pop
Android TV - http://mafreebox.freebox.fr/
C++ Memory
the main reason C++ can be faster than the Java memory management is that it has value objects, which can avoid a lot of heap allocation (and pointer chasing) even without replacing it with stack allocation. Consider for instance an array of objects, in C++ it can be a single allocation, while Java requires one allocation for each object, plus another allocation for the array itself. - HN
Loading AVX Registers
Mask & Bitwise operation
There is no single instruction in AVX2 or earlier. (AVX512 can use masks in bitmap form directly, and has an instruction to expand masks to vectors). - Peter Cordes (SO)
Cockpit
Rick Dangerous
TeX
Taste vs Skill
Taste is knowing what is good — being able to recognize it.
Skill is the ability to build — to do what’s needed to do the work.Taste and skill are totally independent. Movie critics (may) have great taste but they don’t know how to make movies themselves. Mediocre directors, in turn, might know exactly how to shoot scenes, but have no taste for making good ones. - Taste and Skills
iMac
Effacement électrique diffus
Contrairement à ce qu’on pourrait a priori penser, les grands gagnants de cet effacement diffus ne sont même pas les ménages équipés. L’effacement consiste en un report des consommations, ce n’est pas un dispositif d’économies d’énergie. Une prime scandaleuse / 60millions
Coding standard
A bad coding standard is worse than no coding standard. However an appropriate set of guidelines are much better than no standards: “Form is liberating.” - C++ Core Guidelines
Milling Machine
Vertical Mill Tutorial 1 : The Basics / r/Machinists
Disabling the Intel Management Engine
The Intel Management Engine (‘IME’ or ‘ME’) is an out-of-band co-processor integrated in all post-2006 Intel-CPU-based PCs. It has full network and memory access and runs proprietary, signed, closed-source software at ring -3, independently of the BIOS, main CPU and platform operating system — a fact which many regard as an unacceptable security risk (particularly given that at least one remotely exploitable security hole has already been reported). - EFI Install Guide / HN
Condition in vector code
If a vector component is already finished, freeze it to avoid doing any further calculations on it. This is done by masking the finished components on any value assignment. The unfinished vector components will keep being updated, but finished ones won’t. - Controlling the Data Flow
Highway (vector loop)
AI Colorizer
Palette an AI colorizer - emilwallner / HN / r/AIPhotoColorizations / r/Colorization / r/OldSchoolCool
Good troubleshooting
1-have diagnosis check / 2-document the fix / 3-have fix working check - Why Linux Troubleshooting Advice Sucks
Low Earth Orbit Objects
Division Euclidienne
Mechanical Clock Display
nice looking clock
Simplest sort algorithm
Creating HTML in python
creating HTML documents and fragments - SO
ZIM files
an offline storage solutions for content coming from the Web - Home
VMC triphasé
Chauffage electrique
You’re thinking of a relay cutting power to the radiator as a whole. That is indeed not a good idea and may damage it long term. - Fil pilote / adomotique
C++ format
How to get fprintf results as a std::string w/o sprintf - SO
Turn are better than radians
There are 3 important measurement units for the plane angle and each of them is the most convenient unit for a certain class of applications: the right angle, the cycle and the radian. - HN / [0, 1] range
Debug with LLDB
integrated in VSCode - CodeLLDB
Goldorak
Les épisodes clé de la série - Les opus qui font avancer l’histoire et qui présentent un évènement ou une information essentielle pour la suite de l’aventure sont tout de même nombreux. - Wikirak
webЯcade
Play webЯcade now at play.webrcade.com / github
Mediapipe
cross-platform, customizable ML solutions for live and streaming media. - Home / github / Introduction to MediaPipe
C(pp)Front (is back!)
Modulo sampling
the big problem with modulo biases is that they can allow you to recover private keys for certain schemes - Modulo Bias and how to avoid it
Wargames
A strange game. The only winning move is not to play. How about a nice game of chess? - Joshua
Bluetooth
bluetoothctl is a command line tool which is shipped with BlueZ – Bluetooth protocol stack for Linux.
3dprinting Service / Impression3D entre particulier
Boitier CPL Freebox
Associez les deux freeplugs
- Connectez le câble secteur sur l’un des deux boîtiers puis branchez l’autre extrémité de ce câble sur une prise électrique murale (ou mieux, sur une multiprise branchée au secteur). Après avoir clignoté quelques secondes, la diode s’allume en rouge. -Une fois les deux Free-Plugs sous tension, procédez à leur association : maintenez enfoncé, sur un premier boîtier, la diode rouge pendant 2 secondes environ puis relâchez-la. La diode clignote : vous devez dès cet instant effectuer la même manipulation sur l’autre Free-Plug. Appuyez sur la diode pendant 2 secondes.
- Les boîtiers FreePlugs sont associés lorsque leurs deux diodes sont éclairées en vert et fixes. Si un seul témoin vert est allumé et l’autre rouge, l’étape d’association des deux FreePlugs doit être relancée.
Toxic Productivity
Untangle your self-worth and your work
When you are passionate about your work, it can easily bleed into every other area of your life — you read about work-related topics in your free time, you think about a particularly challenging problem in the shower, you journal about your work, etc. It also changes ones social circle: hanging out with an ambitious and curious start-up crowd easily leads to work as the default topic in a gathering of friends. Once you have work deeply embedded in your interests and social life, it does not take a huge mental leap to “work is what defines me as an individual”.
That then leads to a precarious “all eggs in one basket” situation that leaves you vulnerable in cases of professional failure (“My start-up is not doing well; I am a failure”) or burnout (“I’m cynical about my work; nothing matters”).
It took quite a bit of time to disentangle my self-worth and my professional identity, but it makes life so much better. - Toxic Productivity / Many technical people mistake a passion for their craft with a passion for their work
The Terminator
Metal Slug: Super Vehicle-001
HEAVY MACHINE GUN!!! - Metal Slug Wiki / /r/metalslug/
Lego Computer
TV
Pressure Advance
Calcul Mental
La culture juste
Dans l’industrie ils auraient été des héros… - Debrief airfrance-vol du 31/12/2020
IP Camera
Intumescent Material
heat protection - History of a Lost Supermaterial & How To Make It (Starlite)
Pumpkin Tutorial
sketch / spline / constraint / revolve / loft - Fusion 360 Pumpkin Tutorial
Building Information Modeling (BIM)
B52's
The B-52 Stratofortress is expected to be in service well into the 2050s, and yet, the B-1 Lancer and the B-2 Spirit bombers are expected to retire in the early 2030s. The plane that spill nuclear around the world - Why This Obsolete Bomber Will Outlive EVERYTHING
Galaga
Fraud Business
the elaborate handbooks and detailed scripts, the pig-butchering scams that emerge out of wrong-number texts aren’t the product of individual con artists or even of small informal groups. Rather, as has now been pretty extensively documented in the Asian press, they’re a key revenue stream of large hierarchical organizations — fraud businesses, basically — based in Southeast Asia.
Worse, the “dog-pushers” — the lowest-level scammers who initiate conversations with victims — are often workers from around the region, tricked into indentured servitude, held captive in dormitories and offices, and beaten by the managers and bosses. - What’s the deal with all those weird wrong-number texts? / HN
3dprinter Calibration & precision
Gridfinity
Rendering GCode in Blender
furniture for our kids’ dollhouses. Here’s our 2nd giveaway model - animated / PapaPrints
PID / Controle
Le contrôle automatique a permis le développement de machines rapides et précises. Mais il n’est pas qu’un simple dispositif technique, c’est aussi une passerelle vers quelque chose de plus grand… la cybernetique
Pacman
Speedboat (3dprinter)
0.6 Nozzle
Understanding CORS
First of all, the cross domain check is performed by the browser, not the server. - SO
Brother mfc-j4620dw
Samsung TV
Fluidd
Animal Farm
All animals are equal, but some animals are more equal than others. - George Orwell, Animal Farm
Quadratic Equations
Numerically stable algorithm for solving the quadratic equation when a is very small or 0 - SE
Server / Headless Setup
what’s missing ?
MantaRay
Substitution Cipher
Cryptography folklore has it that simple substitution ciphers are trivial to break by looking at the letter frequencies of the encrypted text. - Verifying the Substitution Cipher Folklore
Baseboard management controller
Gitlab Team Handbook
How to Estimate Distance Using Just Your Thumb
The distance from your eyes to your thumb is about 10 times the distance between your eyes. - lifehacker / HN
Haxe
Color litophane
userver
Speed of C++, simplicity of Python, coroutine model of Go. - The C++ Asynchronous Framework / HN
Multimaterial printer
The Enraged Rabbit Carrot Feed - The open source customizable MMU / ERCF EASY BRD
BLTouch
Windows Registry
As for tecnically inferior, the *ix approach seems to have made the right tradeoffs, via the hand of Darwin, rather than some brilliant engineering insight. - Why the Windows Registry sucks … technically / HN / 2
systemd user profile
systemd-homed allows you to create “portable” user profiles which contain everything pertaining to a particular user, including his password. So user profiles (including your files, etc) can be moved between computers simply by rsync’ing that directory, or putting it on a network share. - HN
Corrupting memory with GPU
the memory management code of the Arm Mali GPU kernel driver, which is exploitable to map arbitrary physical pages to the GPU memory with both read and write access. - Corrupting memory without memory corruption
Dall-E
AI model drawing images from any prompt! - craiyon (Dall-E mini)
3D Space Mouse
Parabolic Mirror
Solar Death Ray 10,000 suns 48” DIY Giant Archimedes Parabolic Mirror Reflector - GREENPOWERSCIENCE
You computer isn't yours
It’s here. It happened. Did you notice? - Jeffrey Paul / HN
Carbon Emission
Si on ne s’occupe pas du problème, le problème s’occupera de nous - Jancovici : Concevoir pour rester en dessous de 2°C
On est jeune tant qu’on se croit eternel et invicible.
Benchy
t’s visible on prints from all FFF printers on the market, cheap or expensive. It’s visible no matter the slicing software. It’s visible when printing from any material. - The Benchy hull line
Wants vs Needs
How to choose and compare something - an example
Finite Element Method (FEM)
a way to calculate propagations onto a mesh, by cutting it into small pieces, and analyzing the impact of each small piece over its neighbours. - Creating FEM analyses
Font Rendering
Code Visualization
So here you are – sitting alone in the darkness, surrounded by the walls with mysterious texts, – and using the code editor to shine a beam of light onto this wall to read a small part of it. - IDE vs Fire Torch / HN
The Daily Wrong
Do not believe anything you read on this website. Except maybe for the page you are reading right now. It’s incidentally the only page created by a human. - AI-Generated Lies Every Day / HN
Open source game clones
Star wars: Starfighter
In the game, the player controls different starfighters from the Star Wars universe. - wikipedia
Dafont
Find your fonts here - dafont.com
Lead (Pb)
You will observe with concern how long a useful truth may be known and exist before it is generally received and praticed on. - Benjamin Franklin (1786) / history of leaded gazoline
Buy me a coffee?
alternatives to Patreon to get money and support. - HN
Aerial Photography
Once I had learnt to fly the Twinstar II, A camera was added to try and take some aerial photographs. - Aerial Photography / HN
How are more accurate tools made from less accurate tools?
Shake & Pull Gently
The Algorithm for Hard Problems (Or, “regularized greedy algorithms and their applications.”) / HN
Pounds (lbs)
Pounds derives from the name of an ancient Roman unit of measurement, Libra pondo. Our word pound comes from pondo, and its seemingly unrelated abbreviation, lb, comes from the libra part.
Cricut Explore Air 2
Cricut line of Personal Paper cutters are a nice easy to use CNC paper cutter. - Cricut Hacks Wiki
Compte Formation
4L bottle
given a 5l and a 3l bottle and a water source, get 4l bottle - Les 4 litres d’eau
Store banne
Originellement, la banne désignait la bâche qui était tendue devant les devantures de petits commerces, type épiceries. C’est ce qui a donné son nom au store banne
Winner scam
Top 25 CWE
Pi - π
For JPL’s highest accuracy calculations, which are for interplanetary navigation, we use 3.141592653589793
by cutting pi off at the 15th decimal point… our calculated circumference of the 25 billion mile diameter circle would be wrong by 1.5 inches.
with our planet Earth, It would be off by the size of a molecule - How many decimals of pi do we need? / nasa-jpl
Microscope Electronic
Scanning Transmission Electron Microscope (STEM) - 50,000,000x Magnification
Schema Electrique Va et vient
Software Architect
The Software Architect is responsible for defining the high level and detailed technical designs for supported teams and or programs. The Software Architect will collaborate with technical leadership to translate business requirements into technical solutions that align with product roadmap business goals and technology strategy. linkedin offer
Execute Task periodically
Cron, however, fails if your system happens to not be running when the appropriate execution time occurs.
Anacron insures that the task will be executed when your system is again active. However, the anacron frequency of execution can be no less than daily.Systemd timers offer the best of both cron and anacron. - Systemd Timers for Scheduling Tasks / systemd/Timers
Number of intersecting discs
Given N discs in a 2D plane, find intersecting discs.
Voyager I/II
You carry more computing power in your pocket than what we have on Voyager. And by that, I don’t mean your smart phone. I mean you car key fob. - HN
Model from picture (Image Workbench)
Fingerprint
The point is that fingerprints may not mean the administrator of the device is present, in the same way that a password that cannot be changed also may not mean the administrator of the device has authorized an action. Fingerprints are useful in cases where the effort of copying a fingerprint is greater than the value of the target. They’re great for almost everyone with low value systems, like your average easily pickable front door lock. They’re good for keeping honest people honest.
Fingerprints are a problem for high value systems. - HN
Electron Alternatives
Physic Engine
dock
Chimie
Carbon Footprint
Sustainable Web Design — How to reduce the carbon footprint of your website
Animal Intelligence
Distributed System
A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. — Leslie Lamport
Pinball computer
Electrocute yourself debugging in a pre-computer era - Working On Gottlieb’s 1974 BIG SHOT Pinball Machine / 2 / 3
Ebonisation
Technique très simple pour donner un aspect noir profond à toutes les essences de bois taniques Vinaigre blanc et paille de fer - On découvre l’ÉBONISATION
Malloc perf
What is the worst-case performance for malloc on a modern machine in practice? - Benchmarking Malloc with Doom 3 - ForrestTheWoods
How Isometric Coordinates Work in 2D games
, the math you need to render isometric sprites on the screen, and how to find the isometric tile from a screen coordinate. - How Isometric Coordinates Work in 2D games
Wizard of Wor
Deep Web
Plain text with lines
Programmer Competency
PowerWalls
Installing a payphone in my house
This is when I discovered a crazy piece of technology, a phone line simulator. - blog / HN
Line/segment intersection
Smart Knob
an open-source input device with software-configurable endstops and virtual detents. - SmartKnob
Evil compiler
Thompson attack in 100 lines of code.- How To Build an Evil Compiler
Microcode
Processor microcode is akin to processor firmware. The kernel is able to update the processor’s firmware without the need to update it via a BIOS update. A microcode update is kept in volatile memory, thus the BIOS/UEFI or kernel updates the microcode during every boot. - Debian
Harris Corner
3Dprinted Bass / Guitar
Contemptor Dreadnought (WH4K)
Alpha Legion Contemptor Dreadnought - r/PrintedMinis / New Contemptor Dreadnaught Kit / 2
Girl with Pearl
Dupont connector
3D printed Dupont connector for jumper cable - Nerd Connector / thingiverse
Correctness vs Usefullness
I see a dichotomy between Correctness and Usefulness. You can certainly have both, but different people concentrate on either correctness or usefulness. - HN
Veloren
a multiplayer voxel RPG written in Rust. It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft. - Home
Repeat object / pattern / sketch
Using the Lattice2 workbench we build sketch elements that are linked to the linear array which will repeat the sketch element within one single extrude. This could be a possible solution for such things as guitar frets allowing you change the length of the neck and the fret layout would automatically update. - youtube
Le Reflex du cintre
pendant l’accouchement les pressions exercé sur la tête du nouveau né lui font tourner la tête en fonction de comment il rentre dans le bassin de sa mère… cette rotation elle est indispensable pour l’accouchement pour que la tête et les épaules ai le plus petit diametre. - (commentaire) Le “réflexe du cintre” est… surprenant !
Positron V3
A 3D printer unlike any other, fits inside a spool box - Positron V3 intro & Design Story / github
How to say
I told you so - How to professionally say
Compromission
J’ai été de ceux qui ont choisi de baisser la tête pour pouvoir passer la porte de mon époque. - Faber, le destructeur, Tristan Garcia, 2013
Matrix Factorization
Six matrix factorizations dominate in numerical linear algebra and matrix analysis: for most purposes one of them is sufficient for the task at hand. - The Big Six Matrix Factorizations / HN
File format for tabular data
there is several high quality and well-developed formats - HN
Empty file
You can do a lot with an empty file - rachelbythebay
Server-Side SQLite
Pose parquet
DIN rail vs French CLEAT
a metal rail of a standard type widely used for mounting circuit breakers and industrial control equipment inside equipment racks. - wikipedia
Mechanical Watch
A few decades ago the most convenient way to keep track of time was a mechanical watch. Unlike their quartz and smart siblings, mechanical watches can run without using any batteries or other electronic components. - Bartosz Ciechanowski / HN
Meaning of Life
Etre mort c’est comme être con, on ne s’en rend pas compte. Ce sont les autres autours qui sont tristes.
Rika Domo
25 Horses (puzzle)
You have 25 horses, you can only run them 5 by 5, and you can only rely on their finishing order.
What is the minimum number of races you have to perform to find the fastest 3? - interview Google DIFFICILE
Magic-trace
Swimming dead fish
That fish looks alive until you know it isn’t. - HN
WHB04B-6 CNC controller
6 Axis USB Mach3 Wireless Handwheel Controller - Merci Fred! / manual
Loop Vectorization
Dependencies and outer loop vectorization: if you can’t beat them, join them - Johny’s Software Lab LLC
Posit
The numbers represented by posits are similar to floating points, but differ by the introduction of a so-called regime term. - The Cult of Posits / HN
Shit happens
When the shit hits the fan - La chronique d’Hippolyte Girardot
Catching the rabbit (interception)
Given the coordinates of the positions of Alice, the rabbit and the hole, as well as the respective speeds of Alice and the rabbit, say whether Alice can catch the rabbit before it disappears. - Interception of a Linear Trajectory With Constant Speed
Sudoku
a success story of ontological remodeling – that is, using new language to describe an existing thing. The existing thing in this case is the puzzle game Sudoku - Desystemize #9
Fibonacci sequence
Fibonacci numbers appear unexpectedly often in mathematics, so much so that there is an entire journal dedicated to their study, the Fibonacci Quarterly. - wikipedia
Abstraction
What do abstractions actually look like in code?
They don’t - Abstraction: Not What You Think It Is
L0,L1,.. L-inf Norm
a norm is a total size or length of all vectors in a vector space or matrices. - Rorasa’s blog / wikipedia
Anonymous / unnamed struct
Anonymous:
Shadow Profiles
Once a mobile app is granted access to contacts, it has your entire social graph. Every app since 2012 has been building these shadow social graphs. - Facebook Shadow Profiles (HN)
SystemSix
Why Don't You use ...
Articulating an answer to “buy why not?” is usually just an exercise you perform for the benefit of juniors, outsiders, marketers, evangelists and people who happened to be used to that tool already. - HN / Brendan Gregg’s Blog
Apple
- Despite being easily removable since it is not soldered down, the Mac Studio’s SSD storage is not currently user-upgradeable due to a software block - Mac Rumors
Belt tension
I know what the correct 3D printer belt tension is! Let me explain what it is and how to set it! - Lost in Tech
Parsing Untrusted binary format
Kaitai Struct: A new way to develop parsers for binary structures - HN / Wuffs (Wrangling Untrusted File Formats Safely)
Faster binary search (B-tree)
Static B-Trees, a data structure for faster binary search - Algorithmica.org / HN
# Ender 6
cheap CoreXY - r/ender6/ / klipper config / server / Moonraker
Algorithms for Modern Hardware
More practical ways to speed up a program than by going from O(nlog n) to O(nlog log n). - Algorithmica / HN
Obvious design
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. - C.A.R. Hoare, The 1980 ACM Turing Award Lecture
Metal / Welding
Quel poste a souder choisir ? - Soudeur 2.0
Hardware Latency
Bill Cipher
a triangular inter-dimensional demon, formerly existent only in the mindscape before succeeding in gaining access to the real world. - Gravity Falls
BLAS Performance
A common misconception is that BLAS implementations of matrix multiplication are orders of magnitude faster than naive implementations because they are very complex. - BLAS-level CPU Performance in 100 Lines of C / SO
MacPaint
Compute Shader
Raytracer and Erosion speedup - Coding Adventure
zero-click iMessage exploit
The image files tricked the iPhone into giving access to its entire memory, bypassing security and allowing the installation of spyware that would steal a user’s messages. - HN / Project Zero
Combination
nCr a selection of items from a set that has distinct members, such that the order of selection does not matter (unlike permutations). - wikipedia / calculator
Image Transformation
Automatically crops an image to a given size around the hightest detail region. - HN / Fred’s ImageMagick Scripts
(CG) Minesweeper AI
Find all mines without detonating any of them. - Codingame
Knurling / Knurl / Grip / Texture (Freecad)
Knurling is normally conducted on a lathe and is part of the manufacturing process adding a pattern such as cross hatching or bumps to a surface to give it a finish look and allow the surface to be gripped easily. It’s something to do at the very end like fillets and chamfer - youtube
Surfacing (Freecad)
Surfacing Tutorial (Surface WB & Curves WB) - youtube
Gyroflow
Advanced open-source gyro-assisted video stabilization - HN
Maximize Build Volume (Cura)
For 3d printers like Ender 3 the cura profile removes part of the bed in order to accomodate the clips. - youtube
Partition By vs Group By
The GROUP BY clause reduces the number of rows returned by rolling them up and calculating the sums or averages for each group.
The PARTITION BY clause does not reduce the number of rows returned. - SQL PARTITION BY / Introduction to Window Functions
Everything must be paid for twice
There’s the first price, usually paid in dollars, just to gain possession of the desired thing, whatever it is… But then, in order to make use of the thing, you must also pay a second price. This is the effort and initiative required to gain its benefits, and it can be much higher than the first price. - HN
Clean Code?
“clean code” is a phase most programmers go through. Like adolescence, with it’s desire to find The One True Way. But after that most of us discover that the principles are pointless in and by itself and that it’s often preferable to ship “working software” instead. - Clean code is a phase
Avoid Firefox redirects to https
set
browser.fixup.fallback-to-https
tofalse
- SO
Moving file to Trash (linux)
Tupper's self Referential Formula
Lagrange Point
Une position de l’espace où les champs de gravité de deux corps en mouvement orbital l’un autour de l’autre, et de masses substantielles, fournissent exactement la force centripète requise pour que ce point de l’espace accompagne simultanément le mouvement orbital des deux corps. - wikipedia
Career in Product Management
The thing about getting older that nobody warns you about is that you always feel like you’re the youngest person in the room until suddenly you’re the oldest. - HN
Create a GUI (from scratch)
There isn’t a known optimum, but I’ve tried making GUI from scratch many times and am gradually getting better at it. This is a good opportunity for me to let out my thoughts all at once - r/gamedev
Job search
I’m keeping a job search diary on my blog - HN
Compare Image Quality
You have 2 equal images in files, you don’t have a reference highest quality image and you want to keep the better one of the two? - SE
equal_range
The expected behavior, does not make sense to me…
User Defined literal (c++)
double x_rad = 90.0_deg_to_rad;
- since C++11
Recyclage carton
Recycle Cardboard into Anything with 3D Printing! - youtube
JSON (C++)
In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. - JSON for Modern C++ / nlohmann/json / SO
LD_LIBRARY_PATH & ldconfig
Libraries in /usr/local/lib not found - SO
libVIPS
a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. - libVIPS / github / blog / wikipedia
SQLite over http
SQLite (written in C) is compiled to WebAssembly + a virtual file system that fetches chunks of the database with HTTP Range requests when SQLite tries to read from the filesystem. - Hosting SQLite databases on Github Pages / HN / 2
Locality of Behaviour (LoB)
The primary feature for easy maintenance is locality: Locality is that characteristic of source code that enables a programmer to understand that source by looking at only a small portion of it. - Richard Gabriel
Anime4k
Real time high quality video upscaling.
An iterative algorithm that treats color information as a heightmap and ‘pushes’ pixels towards probable edges using gradient-ascent.- HN
Finance
Finance
Test du retournement
Pour tester une équerre ou une règle, la retourner permet de verifier la symétrie de la perpendiculaire ou de la droite.
Intel(R) Wireless-AC 9462/9560
SSH Certificate
when generating a new client keypair, I only have to copy the public key to my certificate signing machine (one copy) rather than every host I plan to log into (many copies). This more than makes up for the minor certificate configuration necessary on new clients. - HN
Edit / Sign PDF
PDF processing and analysis with open-source tools - HN
Android on Linux
Acrylic / plexyglass
Poly (methyl methacrylate) (PMMA) belongs to a group of materials called engineering plastics. It is a transparent thermoplastic. PMMA is also known as acrylic, acrylic glass, perspex, or plexiglass, as well as by the trade names and brands Crylux, Plexiglas, Acrylite, Astariglas, Lucite, Perclax, and Perspex, - wikipedia
Web Search
Alternative to Google ? - duckduckgo / HN
Open Food fact
a food products database made by everyone, for everyone. - Home / Ça déballe ! -DEFAKATOR
Orbiter config (Klipper)
Klipper setup for orbiter - Configuration
Lessons from my PhD
Lead or be led
Topic sentences
Get excited
Unmotivated details
Slides versus speaker
Managers as input/output machines
Daily progress tracking
Background Removal
Selfie Segmentation
Fundation of C++ language
I did not insist on purity of the current fashionable style…
at the time I was rather annoyed and purity is for nazis.
I don’t claim to know how everybody wants to write their code and I get rather annoyed when somebody comes in and think they know…
and I know they don’t! - Bjarne Stroustrup
Gobolinux
House of the Dead Overkill
charges you with mowing down waves of infected, blood-thirsty zombies in a last-ditch effort to survive Bayou City and uncover the horrific truth behind the origins of the House of the Dead. - wii
Paper with Code
DIY Off-Grid Solar Power
Learn how to build an off-grid solar power system - HN
Kodi
E466 / E171
E466 est fortement soupçonné d’être à l’origine l’inflammation de l’intestin et d’en modifier le microbiote intestinal. - futura / List of additives
Rotoscoping
Animation technique
DIY Wire EDM machine
Linux Switch
I have long since given up trying to convince people to switch to Linux as their Desktop OS…
I no longer care, and I have no reason to… The question which OS “won” has been decided long ago…the world runs on Linux, everything from our internet backbones to our phones and everything in between.
If companies want to waste money on licences, who am I to say no? - HN
Document Legal retention
Is techno-clutter ruining your life?
The true meaning of “materialism” is quite the opposite of how we use it today. A materialist was someone who loved and appreciated material, for example, a carpenter who loved wood and knew all the cuts and grains of various timbers. Today we use the word to mean someone who has a toxic, disprespectful relation with the material world, based on shallow ownership. - Bad tech is a class issue. .
The journey
“Which is most important,” asked Big Panda, “the journey or the destination?”
“The company.” said Tiny Dragon. - unkownQue l’on soit minus ou géant, il faut être fort pour traverser le temps. - Droit Devant / Les Cowboys Fringants
LEGO NXT / Mindstorms
a programmable robotics kit released by Lego - wikipedia
3D printing cost calculator
Our 3D printing costs calculator allows you to easily work out how much to charge a customer for a print. - 3DprintingPro
Tomtom
Lighting by hand (Pico-8)
real-time lighting engine for the PICO-8 - into the shadows
Exodus
HSV color model
value component of HSV is just a measure for the physical lightness of color, but not for the perceived brightness. Thus, fully saturated yellow has the same “value” as blue. - How To Avoid Equidistant HSV Colors
Dynamic lib Dependency tree (ldd tree)
Turns ldd into a tree; explains why shared libraries are found or not - HN
Surface pattern
Design Tips for Better 3D Printed Holes
Tools Terminology
- clamp / serre-joint - Clamping Tips & Tricks
- toggle clamp / Pince de serrage a bascule / Pince à Genouillère
Harmonic Serie
Paradoxaly it goes toward infinity extremely slowly - secrets of the Sum of Sums
/dev/shm
Linux - Shared Memory (SHM) - in the end just a special tmpfs mount point of specific size as far as container (docker/k8) are concerned.
Reverse Engineering
Object-Oriented Programming
When we give up on understanding what we are actually doing when we write code, it just leads to bad software. - Object-Oriented Programming is Embarrassing
Lookup Table
a lookup table is simply an initialized array that contains precalculated information. - A tutorial on lookup tables in C
Fast array reversal
Swapping all the bytes in the registers is a popular operation in networking called an endian swap and x86 happens to have just the instruction to do this! - Fast array reversal with SIMD!
Generating GCode from SVG
Can I send my model from Inkscape directly to my 3D printer? - 2D printing on a 3D printer
Nanobench
a platform independent microbenchmarking library for C++11/14/17/20. - nanobench comparison / r/cpp / 2
Perf (linux)
Perf tool can analyze kernel, applications, system libraries, software events through commands and subcommands. It can also be used as a PMU (performance monitoring unit) on Linux. - How to
Tool changer (3dprinter)
What is Watt ?
Google Benchmark
A library to benchmark code snippets, similar to unit tests. - google/benchmark
Web cookie
Domain / Path / Expires / Secure - A JavaScript developer’s guide to browser cookies
Cicada 3301
the hardest puzzle on the internet - I tried / The Invitation
Quine Relay
a Ruby program that generates Rust program that generates Scala program that generates …(through 128 languages in total)… REXX program that generates the original Ruby code again. - github
How to make a cpu
How one could hypothetically make their own integrated circuits by themself. - robertelder / HN
Quadtree
This suffers from CPU branch-prediction misses and extra overhead. But since our goal was to collect all of the nodes at the ideal resolutions for any given 3D view, non-recursive traversal is a bigger win. - Was Google Earth Stolen? / HN
proactive SIMs/phone
SIMs can send SMS on their own using a feature called “proactive MO-SMS”… it seems that they are trying to keep a database of what phones their customers are using, and where. - What is AT&T doing at 1111340002?
Cramer's Rule
Libre Office Automation
a freely-available, full-featured office suite. - doc
Timeline of the Human Condition
remember that for almost all of history, nothing happened. - HN
Fast indoor 2D localization using ceiling lights
I want to highlight a localization algorithm I came up with which works really well, at least in this specific setting. I’ve been using it in races for a while and it really stepped up the speeds I was able to achieve without the car getting “lost” – about 22mph on the front straight of this small track. - Fast indoor 2D localization using ceiling lights
Education
Education isn’t something you can finish - Isaac Asimov
Wisdom is not a product of schooling but of the lifelong attempt to acquire it - Albert Einstein
Graphic Library
LVGL is an open-source graphics library providing everything you need to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. - Light and Versatile Graphics Library
Sustainability
Less than 100% reliability is essential for the sustainability of an off-the-grid solar system, because above a certain threshold the fossil fuel energy used for producing and replacing the batteries is higher than the fossil fuel energy saved by the solar panels. - How to build a low-tech website?
Bounding volume hierarchy (BVH)
Le bateau de Thésé
Au cours de ses voyages, le bois se brisait ou pourrissait et devait être remplacé. Lorsque Thésée rentra chez lui, le navire qui accosta au port n’avait pas un seul morceau du navire qui en était parti. Malgré tout, l’équipage ne doutait pas que c’était le même bateau. - L’identité et le bateau de Thésée / wikipedia
Ads & Malware
If you have enough money to buy a no-ads tier, someone will pay more to put an ad there - HN
Anatomy of a Terminal Emulator
Async (Ruby)
Async Ruby adds new concurrency features to the language; you can think of it as “threads with none of the downsides”. It’s been in the making for a couple of years, and with Ruby 3.0, it’s finally ready for prime time. - Bruno Sutic / HN
Legacy Code
Change Messy Software Without Breaking It - Understand Legacy Code
Responsible Disclosure
Responsible disclosure is a concept mostly proposed by companies looking to accommodate their own willful irresponsibility. This is even more true in the case of intentional privacy violations by software vendors. The responsible thing is to immediately put these companies on blast the moment this kind of spying is uncovered. - HN
Linux on a Droid
Installing a regular Linux distribution on an Android device opens a whole new world of possibilities. You can turn your Android device into a full-blown Linux/Apache/MySQL/PHP server and run web-based applications on it, install and use your favorite Linux tools, and even run a graphical desktop environment. - Linux Mag
Hardware / Work Tools
The 4.5” angle grinder is like an agressive little dog that’s just waiting for a chance to bite you.
The table saw is like an old pitbull that generally sleeps.
The 6”/7”/9” grinder is a skunk.Everyone who’s ever given it the chance has a story about the time the angle grinder nipped at them. The people who pestered the old pitbull until it got sick of their crap have 9 fingers. Nobody has problems with the skunk because it’s pretty obvious what’ll happen if you disrespect it. - HN
DIY Surface Mount Soldering
demonstrate how easy it is to solder very small electronic SMD (surface mount device) components on your PCB board. It is easier to work with compared to through-hole components. The component insertion time is shorter, and there are no component’s leads to cut away after the soldering. This save time and cost. - DIY Surface Mount Soldering and PCB Assembly
Delta update
Controversy
The size of the controversy tends to be inversely proportional to the size of the effect.
This seems to apply to a lot of things, … - HN
Vector games on laser beam
running TEMPEST, SEGA STARTREK, my game Word War vi, and some demos on a home made RGB laser projector driven by openlase modified to support color. - youtube
FizzBuzz
Write a program that prints the numbers from 1 to n. If a number is divisible by 3, write Fizz instead. If a number is divisible by 5, write Buzz instead. However, if the number is divisible by both 3 and 5, write FizzBuzz instead. - High throughput Fizz Buzz / 55 GiB/s FizzBuzz
Fine details (Cura)
Small edge are impacted by Equalize Filament Flow & print thin wall. Enabling it can change drastically the mechanical property of a print (see belt gear) - yves
Sewing CNC
Self-Made Embroidery Machine running on G-Code - inkstitch.org / github
GT2 Timing Belt
Ceinture en caoutchouc, renforcé de fiber de verre, 6mm de large, pas de 2mm. Pour les applications d’impression 3D, le système de ceinture GT2 2mm fonctionne mieux que T5, T2.5.it donne une meilleure douceur et précision de positionnement, ce qui entraîne une meilleure qualité d’impression. Système de courroie de distribution GT2 particulièrement adapté aux applications de mouvement linéaire et de positionnement. - GT2 Timing Belt
Silouhette printer
An extension to drive a Silhoutte Cameo and similar plotter devices from within inkscape. 100% pure python, ontop of the libusb backend. - inkscape-silhouette
Microscope
EBCDIC
EBCDIC is an ancient (and much hated) “standard” which should have been fired into the sun a long time ago. It baffles me that it was still being used in 1995 - let alone today. - EBCDIC is incompatible with GDPR / HN
Slow Down, Finish Faster
Higher quantity of ideas == More engineers.
Higher quality of ideas == Fewer engineers. HN / Slow Down, Finish Faster
digiKam (DAM)
Professional Photo Management with the Power of Open Source - Home / HN / Photography (SE)
Symlink / Hardlink
- How to convert symlink to regular file?
- Convert symlinks to hard links
- Convert absolute symlink to relative symlink - use symlink tool:
symlink -cr .
and -t for dry run.- How change symlink path for many files?
- create a hard link to a symbolic link - work on linux, not portable.
Robothash
Generate Unique images from any text - ROBOHASH
Zig
The reason why we can often get away with using languages like Python or JavaScript to drive resource-intensive computations, is because under the hood somebody took years to perfect a C implementation of a key procedure and shared it with the world under a permissive license. - Maintain it With Zig / HN
Redux
a library to manage state globally - Redux
Sega Logo font
Featuring Mr ROBOT! - Sega logo (1976–present) / Except for the “M,” Mr. Robot’s title font looks a lot like Sega font
InterPlanetary File System Explained (IPFS)
IPFS is basically the answer to the question “what is the RIGHT way to decentralize the web?” - HN
Evaluating work
Criteria for evaluation
- Quality
- Quantity
- Complexity
- Impact
Open adressing (or Open bucket)
Docker registry
This post will show how to configure Nexus OSS to act as a pull-through cache for either the Docker Hub or a private repository, or a combination of them. It will also show how to configure the Docker clients to use your own cache when retrieving images. - Using Nexus OSS as a proxy/cache for Docker images
# Android
With the exception of LineageOS, all of the handset manufacturers examined collect a list of all the apps installed on a handset. This is potentially sensitive information since it can reveal user interests, e.g., a mental health app, a Muslim prayer app, a gay dating app, a Republican news app. There is no opt out from this data collection. - lwn / A study of data collection by Android devices
Le 20eme siecle
Mais sais-tu ce qu’était le 20eme siecle ? …
On détruisait notre planète, on laissait les gens crever de faim alors qu’on avait tout pour créer une société plus juste. Notre technologie, elle nous dépassait.
Et le pire,
c’est que tout le monde le savait. Où en tout cas tout le monde pouvait s’en rendre compte. - Nexus VI
NPM
Node.js Tool & Package Manager - NPM
Coal
All the coal in the world was made at the same time (-365M..-360M). Plant invented lignin at that same time and which made them impossible to decompose and fossilized waiting for an evolution of fungus to decompose it. (A bit like our production of plastic now) - Steve Mould
Motion Amplification
Reveal Invisible Motion With This Clever Video Trick - Steve Mould
Management is Reactive not Proactive
The best way to get management excited about a disaster plan is to burn down the building across the street. - DEFCON 19
Locate files (find)
list files in databases that match a pattern - Locate man
Array (Ruby)
64bits integer value (sqlite)
Be careful when you need to store large numbers in SQLite. - SQLite, 64-bit integers, and the impossible number
Dominant colors
Docker-compose / swarm
A tool for defining parameters to running multi-container Docker application. - Docker Compose
Darknet
Darknet is an open source neural network framework written in C and CUDA. - github
Web development
Html + CSS + Javascript => Browser - Complete web Developer (ZTM Udemy)
Build a system from scratch
Excessive theory is worse than no theory because it makes things seem more difficult than they really are. - How to create an OS from scratch
Phonetic Filter
I created a talking banana that reads youtube and twitch comments live on stream. This banana project took me on a wild ride. - Filtering profanity / HN
JST Is Not A Connector
“JST” is not a connector specification. It is short for Japan Solderless Terminals Manufacturing Company, Ltd. - hackaday
Voxel Model Animation
How to animate a model from Magica voxel? - youtube
Simpler code is generally faster code
When we’re at the stage when something that can be implemented in a weekend is described as “a doctoral research project”, and then I am accused of “impugning the reader” for describing something as simple that is extremely simple, we’re done. Consider the bug report closed. - Windows Term Extremely slow performance (Casey Muratori) / It takes a PhD to develop that / HN
SSH scanning
The entire internet scans all the common ports and this should be expected to continue indefinitely. - HN
Pi Camera
The Raspberry Pi Camera Module 2 replaced the original Camera Module in April 2016. The v2 Camera Module has a Sony IMX219 8-megapixel sensor (compared to the 5-megapixel OmniVision OV5647 sensor of the original camera). - Camera
VR display
What it’s like to spend 40-50 hours in VR every week - Working From Orbit / HN
How a 64k intro is made
many people have interest in demoscene productions but have no idea how they are actually made. This is a braindump/post-mortem of our recent 64k intro Guberniya - An intro to intros
WinDirStat
Second order thinking
A core component of making great decisions is understanding the rationale behind previous decisions. If we don’t understand how we got “here,” we run the risk of making things much worse. - Chesterton’s Fence / HN
Rome
Rome wasn’t built in a day. And it wasn’t built by the Romans. - HN
Analog computer
a primary reason why digital computers replaced analog computers: If you want another digit of accuracy out of an analog computer, you need components that are 10 times as accurate, requiring expensive precision resistors and capacitors. But if you want another digit of accuracy out of a digital computer, you just process four more bits and you can still use cheap, inaccurate components. - HN
Invisible Text and security
Be careful what you copy: Invisibly inserting usernames into text with Zero-Width Characters - medium
Printing Sculpture
All of these larger prints were made by printing the objects in smaller pieces on consumer-grade desktop machines, then assembling the pieces. - Cosmo Wenman / medium / thingiverse
Asciidoctor
a fast, open source, Ruby-based text processor for parsing AsciiDoc® into a document model and converting it to output formats such as HTML 5, DocBook 5, manual pages, PDF, EPUB 3, and other formats. - Asciidoctor / Ruby for ebook publishing
Search favoring Text
A search engine that favors text-heavy sites and punishes modern web design - marginalia / HN
Anti Debug Technology
Intel recognizes that debug capabilities contained within the hardware can be an attack surface used by adversaries to gain access to secure assets and private user data. - Intel® Debug Protection Technology
Time Travel Debugger
Web Crawl / Scrapping
Encapsulation
I am skeptical about the “strong encapsulation”:
The newest traditional languages (such as Modula 2) bend over backwards to ensure that modules hide internal routines and data structures from other modules. The goal is to achieve module independence (a minimum coupling). The fear seems to be that modules strive to attack each other like alien antibodies. Or else, that evil bands of marauding modules are out to clobber the precious family data structures.
This is not what we’re concerned about. The purpose of hiding information, as we mean it, is simply to minimize the effects of a possible design-change by localizing things that might change within each component. - Thinking Forth
SpotMicroESP32
My take on a SpotMicro with an optimized design for supportfree 3D-printing and integration of an ESP32-DevKitC. - michaelkubina / SpotMicroAI
Visually stunning math concepts which are easy to explain
I’ve always liked concepts like the golden ratio or the dragon curve, which are easy to understand and explain but are mathematically beautiful at the same time. - math
How to evenly distribute points on a sphere
Mapping the Fibonacci lattice onto the surface of a sphere is an extremely fast and effective approximate method to evenly distribute points on a sphere. - Extreme Learning
Nozzle Cam
endoscope mounted camera for nozlle watching - youtube
Diplopia
Diplopia can also occur when viewing with only one eye… multiple image perception includes the consideration of such conditions as … diffraction-based (rather than geometrical) optical models have shown that common optical conditions, especially astigmatism, can also produce this symptom. - wikipedia
Notcurses
a library facilitating complex TUIs on modern terminal emulators, supporting vivid colors, multimedia, threads, and Unicode to the maximum degree possible. - dankamongmen / HN
Miasm
a free and open source (GPLv2) reverse engineering framework. - cea-sec
Emergency Stop
- NC - Normally Connected
- NO - Normally Open
USB keys
cheking drive speed
Menu Config (Klipper)
You can override anything in the menu structure from your printer.cfg. - menu / default menu.cfg
URL
Things You Should Know About Fragment URLs (#)
- A Fragment URL Specifies A Location Within A Page
- Fragments Are not Sent in HTTP Request Messages
- Anything After the First # is a Fragment Identifier
Slicer Options
Full bed print
- check printer settings
- Remove Build Plate Adhesion (Skirt, Brim, Raft)
- Edit the Cura Definitions Within the File ? to suppress machine_disallowed_area
Homing (Klipper) - Z Offset
Mid pleasures and palaces though we may roam
Be it ever so humble, there’s no place like home
Home! Sweet Home!
Knots
La tricolorabilité est invariante. / le nœud de Conway n’est pas bordant - Micmaths
How to Make filament for 3D printer
making filament using drinking bottles for 3D printers - mr3dprint
Algorithms List
methods for solving a problem expressed as a finite sequence of instructions.
SSII / ESN
Tant qu’elle fournit du travail ou fait de la maîtrise d’ouvrage, son rôle est reconnu et accepté. Mais dans les cas où elle se contente de bénéficier d’une forme de situation de rente (le référencement), elle est de plus en plus perçue par les ingénieurs comme un “parasite” inutile. - A quoi servent encore les SSII ?
Hydrogen/Oxygen Generators
Superpowerful Flame 2800 C - hydrogen burns red - Produce Hydrogen from Water
Conditional Compilation for C++
In the code above, we are configuring our module on the way. Assume we have a specific test scenario that requires very specific configuration. We can do it using local classes. So the code is cleaner - An Alternative Conditional Compilation Approach with Modern C++
LLVM bitcode format
LLVM provides both a textual form that looks roughly like a C-family programming language, and a binary form (bitcode, in LLVM’s parlance) that’s denser and (ostensibly) faster to parse. The two forms are semantically identical, and trivial to produce and convert between. - the bitcode format
Random select bit set
You can use “Select the bit position“ function from the Bit Twiddling Hacks page to select random set bit efficiently. - SO
Speed reading
Instead of chasing speed reading and memorization techniques, it is more important to first select the right books, and read only those. - Planned Reading: The Trick for Reading Nonfiction
Service Ownership
Building and maintaining infrastructure services requires to strive for quality and ownership. But it’s not always easy to know what we are missing, and what assumption we are making that we don’t know of. - Service Ownership Checklist
Pareto Principle (80/20)
for many outcomes, roughly 80% of consequences come from 20% of causes (the “vital few”) - wikipedia
Key-Value Store / Hashmap / dictionary implementation & performance
Key-value stores are one of the simplest forms of database. - Implementing a Key-Value Store
DevOps, SRE, and Platform Engineering
- DevOps: Hired to do everything not involved in the feature development of main business. Range varies from Terraform to maintaining Jira, GSuite, Jenkins, ETL, BizOps. Maintains scripts and hacks everywhere.
- SRE: Orders teams to define SLOs, focuses only after incident procedures, not before. Insists on creating dashboards and putting them on TVs (when we had offices). Most eventually become vendor fans.
- Platform: We made this, we know better than you, you cannot use anything else. If you need new thing/improvement, create a ticket we will get back to you in 6 months to say we cannot do it due to other company wide very important initatives.
HN
Career Path
getting promoted—like other forms of external validation—shouldn’t be the ultimate goal in anyone’s career, because it’s not fulfilling. - Career Growth: What Paths After Senior Engineer
Brightness Control
supports an arbitrary number of displays!
Programmers Anarchy
the best management technique for successfully developing a software system in the 1970s and 1980s (and perhaps in the following decades), is based on being lucky enough to have a few very capable people, and then providing them with what is needed to get the job done while maintaining the fiction to upper management that the agreed bureaucratic plan is being followed.
Surprisingly, very little has changed. - What can be learned from studying long gone development practices?
Using program as library
Can we use a program as a library ?
Parallel (xargs alt)
GNU Parallel was designed by keeping xargs in mind, so majority of the command line options and parameters might match with xargs command. - How To Run Multiple Commands In Parallel on Linux
Generate Pattern
Generates bitmaps that are locally similar to the input - WaveFunctionCollapse / HN
Linux Camera Software
a list of Linux camera software where various kinds of webcam software, IP camera software, security camera software, and video surveillance software are included with focusing on various important features. - 20+ Best Linux Camera Software
N-Stop choice
Probleme: comment choisir D points d’arret sur un trajet, parmis N point intermediare donnés, vérifiant que ces points soient les plues éloignés les un des autres.
Enumerate Combination
Algorithm to return all combinations of k elements from n - SO
Donjon (BD)
L’histoire se décompose en trois époques phases, la formation, l’apogée, et le déclin du Donjon, qui correspondent à trois séries Potron-Minet, Zénith et Crépuscule. Celles-ci sont complétées par des séries annexes : Parade, Monsters, Antipodes −, Antipodes +, et Bonus. - wikipedia / donjon+
VPN
Myers diff algorithm
The problems of finding a longest common subsequence of two sequences A and B and a shortest edit script for transforming A into B - pdf / Code & Interactive Visualization
L'effort humain
L’effort humain n’a pas de vraie maison
Il sent l’odeur de son travail
et il est touché aux poumons
Son salaire est maigre
Ses enfants aussi
Il travaille comme un nègre
et le nègre travaille comme lui
Jacques Prévert
Samsung Notebook NP530U3C (2012)
DRM
The point of DRM isn’t to prevent piracy, but to control manufacturers, who cannot legally break DRM, so they have to comply with whatever the DRM licensing cartel demands. - HN
Sumatra PDF
Simplicity sells. - Lessons learned from 15 years of SumatraPDF / HN / Home / github / wikipedia
The Expert Beginner
ten years of experience or the same year of experience ten times - How Developers Stop Learning: Rise of the Expert Beginner
X11 Clipboard synchronisation
Among other features that can be quite handy, clipit offers the ability to synchronize the Primary Selection and the X Clipboard. This is functionally equivalent to unifying the two selections - Clipit
Integer math
Graphics can be a tricky topic, particularly when attempting to find anything on the internet these days that provides solution in terms of integer-only maths. - Integer Graphics
Kisslinux
The distribution is designed to be maintainable by a single person. There is no infrastructure and the entire distribution is merely a few Git repositories. - kisslinux.org / HN
Akai MPC Beats
ACPI
Advanced Configuration and Power Interface - acpi
Windows
Everywhere you look, ads are all around, even in Windows 10. But you don’t have to just accept it — in this guide, we show you have to remove them. - How to remove those nagging ads from Windows 10
Value Speculation Attack
The trick exploits the branch predictor to guess values, enabling more instruction parallelism and therefore removing a bottleneck on the L1 cache. - Beating the L1 cache with value speculation / HN
sum(1,100) - n-sum
#5050, M’sieur - Somme des premiers entiers
HUAWEI MateBook 14 (2020)
Wine
Wine is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
How do I safely store my files?
Fractal Wise
Made for engraving - Rare Antique Fractal Vise
An intentional life
By constraining your time, a full-time job limits the nature of experiences you can have. It imposes a schedule that your entire life has to fit around. Every decision involving time has to pass the “let me check with work” test. That means your time is not yours - you borrow it from your employer. - Work Didn’t Work
Le problème du sac à dos
parfois noté (KP) est l’un des 21 problèmes NP-complets de Richard Karp, exposés dans son article de 1972. - wikipedia
Resiliency in Systems Design
an important part of erlang’s failure domain driven mentality is not just “let it crash”, but also tying together failure domains: what should you also bring down with you when you crash. - HN
LMMS
Let’s make music with a free, cross-platform tool for your computer. - LMMS
Comma Code
Jack Patchbay: Managing audio connection
JACK Patchbay, with some neat features like A2J bridge support and JACK Transport. - KXStudio
Akai MPK mini
- thomann - 2021 - 95€
Methode des 5 coupes
Couper d’équerre au centième de degré. - Cray Birkenwald
Date types
Which class to use to handle date & time & zone
Technology Traps
What would you do? - James Burke BBC Connections - Technology Traps Scene / HN
Recherche operationnelle
traite des questions d’utilisation optimale desressources - Introduction
Linear Programming
(also called linear optimization) is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. - wikipedia
Birthday paradox
The birthday problem or birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday. - wikipedia
darktable - Photos edition
darktable edits your images non-destructively all the way through its pipeline. Your original image is never modified! Professional color management features ensure fidelity all the way to print and GPU accelerated processing means you can speed up your workflow using your video card. - darktable
Brickit (Lego)
Greedy algorithms
Many optimization problems can be defined by just two things: a criteria that determines what constitutes a valid solution, and an objective function among valid solutions. The goal is to find a valid solution optimizing the objective function. - Why Many Greedy Algorithms Are Pickier Than They Need To Be
Fossil (distributed version control system)
Fossil is a distributed version control system (DVCS) written beginning in 2007 by the architect of SQLite for the purpose of managing the SQLite project. - The History And Purpose Of Fossil / HN / The Untold Story of SQLite
Priority Queue
A priority queue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarithmic insertion and extraction. - cppreference.com
Tree Traversal
If the recursive implementation is so simple, why bother with an iterative one? Of course, to avoid stack overflow. - Iterative Tree Traversals: A Practical Guide
Dijkstra's Algorithm
Dijkstra’s algorithm for the shortest-path problem is one of the most important graph algorithms… However, going from the pseudocode to an actual implementation is made difficult by the fact that it relies on a priority queue with a “decrease key” operation… this operation is generally not supported. - Actually Implementing Dijkstra’s Algorithm
Full Throttle
This interactive biker movie had a personality very much its own. Many soon added it to the ranks of LucasArts’s most hallowed classics.
Graph Algorithm 101
The best place to be is somewhere else
proverb says.
Handling simultaneous move (DUCT)
Decoupled UCT - Monte Carlo Tree Search for SimultaneousMove Games
Indirect access Vectorization
AVX2 / AVX512 have vpgatherdd which does use a vector of signed 32-bit scaled indices. - SO
Zsync
Zip stream
generate a zip stream and then stream it over http - HN / python-zipstream
pwd in ~
dirs +0
- Make pwd result in terms of “~”
Probabilistic Comparison
You can probabilistically compare two unsorted vectors (u,v) in O(n) - SO
Fusing Glass
Watchy
Fast constexpr integer power (ipow)
A good optimizing compiler will transform tail-recursive functions to run as fast as imperative code. - SO
Solve problems by adding more
Acer Swift 3 (SF314-57-32Y2)
Toltec
reMarkable Display
C++ TestMate (VSCode)
run your Catch2, Google Test and DOCtest tests using the Test Explorer for Visual Studio Code. It also have basic support for Google Benchmark. - Home
Welcome to the end of the world!
There is still some hope left:
- If you want to be rescued then press (1)
- If you want to join the zombie army press (2)
Thank you for calling / HN
Facebook Open-source Library (Folly)
a library of C++14 components designed with practicality and efficiency in mind. - github
Ad hominem
We don’t want others. We want one name, and we want it fast, because it gives us our security back. We can say, “Here was the one man unlike the rest of us. We’ve named him, and he’s no more. And his reasons, they’re gone, too.” - Arlington Road / imdb (7.2) / Ad hominem
Cool URIs don't change
Work Laptops
MacBook Pro
- 16’’ screen
- as heavy as DELL
- only 18Go RAM
- M3 / 12 cores
Shotcut (Video Editor)
Terminal Editor
Micro is enjoyable as a full-time editor for people who prefer to work in a terminal, or those who regularly edit files over SSH. - Lesser Known Terminal Editors
# Ubuntu & derivatives
neofetch
orcat /etc/lsb-release
- check your version
Binary format & literals in C++
cout « std::bitset<32>( 0b1000’0000’0000’0000 ) - Binary solo
Binary-coded Ternary
Representing Tic-tac-toe in ternary form, and efficiently generating all possible boards. - yduf
Tic-Tac-Toe
Games played on three-in-a-row boards can be traced back to ancient Egypt - wikipedia
Playback speed with pitch
Video player with pitch-independent speed controls? - r/linux
Terminal User Interface
Do Not, unless you actually know ...
… what you’re doing. And be aware that the likelihood that you know what you are doing is basically nil. - HN
Bozo the Clown
But the fact that some geniuses were laughed at does not imply that all who are laughed at are geniuses.
They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers.
But they also laughed at Bozo the Clown. - Sagan / Crazy New Ideas
Markdown Diagram
rendering flow charts, sequence diagrams, mermaid, PlantUML, WaveDrom, GraphViz, Vega & Vega-lite, Ditaa diagrams. You can also render TikZ, Python Matplotlib, Plotly and all sorts of other graphs and diagrams by using Code Chunk. - Markdown Preview Enhanced
Litige
Gameboy
Prince of Persia
Save the princess from the magician curse. - Prince of Persia in JavaScript
Variable length struct in C++
since it’s a POD, everything works just like it did in C. - SO
Atom Isotope
Atoms are made up of a nucleus containing protons and neutrons, surrounded by electrons. But how many of each?
The number of protons determines which element it is: an atom with six protons is an atom of carbon; seven makes it nitrogen; eight, oxygen. The number of electrons generally matches the number of protons, to make the atom electrically neutral. But how many neutrons are in the nucleus? Does it even matter? … It turns out that it matters a lot. - How counting neutrons explains nuclear waste
Code format
Instead of relying on programmers to follow a set of rules, we should automate the process to make it as simple and impersonal as possible. Luckily, the clang team has created a wonderful tool that we can leverage: clang-format - Enforcing a Code Formatting Standard
Drum Machine
A software drum machine for Linux - Home
Guitarix (audio effect)
Guitarix is a virtual guitar amplifier for Linux running on Jack Audio Connection Kit. - Home / linuxaudio
Behringer UMC204HD / UMC404HD
Interface audio numérique USB - Thomann
Modern C for C++ Peeps
Modern C is not a subset of C++ - The Brain Dump HN
Binwalk
Backdooring a smart camera by creating a malicious firmware upgrade - stacksmashing
Useless stuff
There is nothing I find more liberating than to spend a Saturday afternoon coding on some toy project. - Why I prefer making useless stuff / HN
Wifi Access Point
An AP can only use one band at a time: 2.4GHz OR 5GHz, a so-called “dual-band AP” is just one AP at 2.4GHz and another at 5GHz - Access Point
Realtek RTL88x2bu (wifi)
Containing OpenWRT
It should work on raspberry, and allows to use module compiled for the linux kernel (which are harder to include for OpenWrt). - OpenWrt in Docker / contain your router
Digital Audio Workstation (DAW)
(CG) Spring Challenge 2021
Remote Work
EVIL CORP wants your data
Anamorphosis
The Illusion Only Some People Can See - Veritasium
What is a Spiral?
Incredibly complex, intricate shapes were being drawn in front of my eyes from a few simple lines of code, and they didn’t even look like spirals after some point. - The Hypnotic World of Degenerate Spirals / HN
The XY Problem
The XY problem is asking about your attempted solution rather than your actual problem. - Asking Smart Question
Asus ZenPad 8.0 P022
Battery
- Before Replacing Your Phone Battery Watch This
- Asus ZenPad 8.0 P022 / replacement demo
- 3900 mAh Asus ZenPad 8.0 P022 Battery
- C11P1505 / amazon
- 1ICP3/99/100
- GB31241-2014
- 0B200-01660200
- 3900 mAh Asus ZenPad 8.0 P022 Battery
- C11P1505 / amazon
QA to ask when interviewed
A lot of these are outright stolen from Edward O’Campo-Gooding’s list of questions, as well as from various people at Hacker School. - Julia Evans
Corner Cube Reflectors
Retroreflectors that send light back in the direction it came from. - Steve Mould
INode
Each inode stores the attributes and disk block locations of the object’s data. POSIX per-file system unique identifier for a file (each drive being an independant filesystem) - wikipedia / File System Continued
Mime-type / media info
The file info functions look to the contents of a file and try to determine the mime-type from what it finds there. - inode/x-empty for empty files
SQL Tools & Visualizer
Tools
- SQLiteStudio / github
- vscode-sqlite
- DBeaver - Supports all popular databases.
Zero-Max Schmidt Offset Coupling
QEMU
QEMU is a generic and open source machine emulator and virtualizer. - qemu.org
LRU Cache
If you have a tight loop, LRU is going to be perfect as long as the loop fits in cache, but it’s going to cause a miss every time if the loop doesn’t fit. A random eviction policy degrades gracefully as the loop gets too big. - Caches: LRU v. random / HN
Pluralsight
The Mythical Man Month
Adding manpower to a late software project makes it later. - Fred Brooks
Has UML died without anyone noticing?
UML’s promise was that that with detailed enough diagrams, writing code would be trivial or even could be automatically generated (there are UML tools that can generate code). It was developed during a time when there was a push to make Software Engineering a licensed profession. UML was going to be the “blueprints” of code, and software architects would develop UML diagrams similar to how building architects create blueprints for houses. But as it turned out, that was a false premise. The real blueprints for software ended up being the code itself. And the legacy of UML lives on in simpler boxes and arrow diagrams. - HN
simdjson
Parsing gigabytes of JSON per second - github / simdjson.org / benchmark
Acer Swift 3 (SF314-41)
Vector Similarity Search
Noise
Noise is an indispensable tool for creative coding. We use it to generate all kinds of organic effects like clouds, landscapes and contours. Or to move and distort objects with a more lifelike behaviour. - Noise in Creative Coding / HN
Ubik
The door refused to open. It said, “Five cents, please.” … I’ll sue you,” the door said as the first screw fell out. Joe Chip said, “I’ve never been sued by a door. But I guess I can live through it.” - Philip K. Dick / HN
LilyPond (Music sheet)
LilyPond is a music engraving program, devoted to producing the highest-quality sheet music possible - lilypond.org / wikipedia
SQL Diff query
An efficient query to compare content of tables with same schemas
Integer Overflow
Integer overflow (and underflow – I’ll lump them together) is one of those pesky things that creeps up in the real world and makes low-level software a little less clean and elegant than what you might see in an algorithms textbook. - Testing for Integer Overflow in C and C++ / wikipedia
Solving Connect 4
how to build the Artificial Intelligence behind this Connect Four perfect solver
WIFI
What do we do, when we want to find out a location associated with a wifi name? We go to wigle.net - Pi in the network closet
Valid Parenthesis String
Given a string s containing only three types of characters: ‘(‘, ‘)’ and ‘*’, return true if s is valid. - 678. Valid Parenthesis String
Savoir Parler
FreeBSD on Raspberry Pi
The main goal is to offer a lightweight system, with critical part related to stability. - article
Flashlight: Fast and flexible machine learning in C++
Flashlight is a new open source machine learning (ML) library, written entirely in C++, that was built by FAIR to power groundbreaking research by enabling teams to rapidly and easily modify deep and ML frameworks to better fit their needs. - facebook.com / HN
Dunning-Kruger Effect
This is typically understood as incompetent people are too incompetent to determine that they are incompetent, but its lesser-known corollary is that competent people assume everyone else is competent too, and thus they don’t have to explain themselves.
Once you understand this, the reason for poor communication becomes clear. - HN / youtube / wikipedia
Bresenham's line algorithm
Text to Speech (TTS)
Text Search
Median of 2 Sorted Arrays in Log Time
The crux of this problem is finding what two arrays would look like when they are merged, without actually merging them since this would take O(n+m) time. - medium
Sliding Window
The Sliding window is a problem-solving technique for problems that involve arrays/lists. These problems are easy to solve using a brute force approach in O(n^2) or O(n^3). Using the ‘sliding window’ technique, we can reduce the time complexity to O(n). - SO / How to Solve Sliding Window Problems
Personal Knowledge
Information is not so useful if you can’t access and search it quickly. Instant search changes the way you think. - Building personal search infrastructure for your knowledge and code / HN
Vector Graphics
In 1978 when the Digital Vector Generator was developed for Lunar Lander, memory was much too expensive for a frame buffer in a video game. … Two frame buffers of 512x512x4 would have required 128 memory devices costing total of $614. - History of Vector Graphics / HN
Pigeonhole Principle
if n items are put into m containers, with n > m, then at least one container must contain more than one item. - Dirichlet’s box principle
Interviews
Your interview performance says nothing about you - I got rejected by Amazon
FFmpeg
Docker Image
They do their best to make it look a lot more complicated, but OCI images — OCI is the standardized container format used by Docker — are pretty simple. An OCI image is just a stack of tarballs…
Unpack the tarballs in order and you’ve got the filesystem layout the container expects to run in. - Docker without Docker / HN
Darcs
Floyd's tortoise & hare
a pointer algorithm that uses only two pointers, which move through the sequence at different speeds. - Cycle detection
Burnout
Wich langage support trailing Comma ?
Shape Recognition
An attempt at shape recognition for the reMarkable tablet. - remarkable-symbiote
Netsurf Browser
NetSurf is your lightweight gateway to the world wide web. Actively developed, NetSurf is continually evolving and improving… From a modern monster PC to a humble 30MHz ARM 6 computer with 16MB of RAM, the web browser will keep you surfing the web whatever your system. - Home
Theorem of the Day
Each day offers a different theorem - Home
Ian Knot (shoelace)
the World’s Fastest Shoelace Knot. - Ian’s Shoelace Site
Ring buffers
I’d always been writing ring buffers “wrong”, and there was a better way. - Juho Snellman’s Weblog / HN
Graphical Algebra and Fourier Analysis
Tools for though - MathBox
Aladdin
Day of the Tentacle
Day of the Tentacle was the sequel to Maniac Mansion. The game follows the nerd from the first game, Bernard Bernoulli, and his roommates Hoagie and Laverne as they rescue green tentacle from Dr. Fred’s basement. - scummvm / wikipedia
Embedded Template Library
C++ is a great language to use for embedded applications and templates are a powerful aspect of it. - etlcpp
Video2X
Machine learning video/GIF/image upscaling - github
Handles are the better pointers
how I’m doing dynamic memory management in C and C++ these days which basically replaces raw- and smart-pointers with ‘index-handles’. - The Brain Dump / HN
Giga Floppy disk
Manage SD card like if you were in the 1990ties - youtube
Hellcats Over the Pacific (1991)
Hellcats was a major release for the Mac platform, one of the first 3D games to be able to drive a 640 x 480 x 8-bit display at reasonable frame rates in an era when the PC clone’s VGA at 320 x 240 x 4-bit was the standard. - (1991) - myabandonware / wikipedia
Countdown
You wake up in a Turkish mental hospital, suffering from partial amnesia… - Countdown / myabandonware / online
Adventure Games
List of graphic adventure games - wikipedia
Smoothing a hand-drawn curve
In spite of the importance of the curve-fitting problem and a literature going back more than thirty years, there has to date been no fully satisfactory solution. Existing approaches either fail to consistently produce the best result, are slow (unsuitable for interactive use), or both. - Fitting cubic Bézier curves (2021) / thesis / HN
From word2vec to node2vec, and beyond
We start by analyzing word2vec, a classic algorithm that is able to map words to numerical vectors that encode information about the meaning and similarity of words. This will lay the foundation for our first look at graph embedding algorithms with node2vec that leverages the basic structure of word2vec and some intuitions about random walks to generate meaningful vector representations of each node in an arbitrary graph. - Graph Embeddings 101
Real time mesh reconstruction
Real-time dense visual SLAM system capable of producing high quality globally consistent point and mesh reconstructions over hundreds of metres in real-time with only a low-cost commodity RGB-D sensor.. - Kintinuous / pdf
Using Shell Pipes
xxh
The mission of xxh is to bring your favorite shell wherever you go through ssh without root access and system installations. - github
John Kraus Photos
Hello! I’m John Kraus, a Florida-based photographer capturing Earth’s out-of-this-world moments: Rocket launches. - Portfolio
MapSCII
Augmented Reality Sandbox Using A Kinect
It’s not actually that hard to set up! The system consists of a good computer running Linux, a Kinect, a projector, a sandbox, and sand. And that’s it! - Hackaday
Writing a JPEG decoder
YCoCg color model
is the color space formed from a simple transformation of an associated RGB color space into a luma value (denoted as Y) and two chroma values called chrominance green (Cg) and chrominance orange (Co)… It is simple to compute, has good transform coding gain, and can be losslessly converted to and from RGB with fewer bits than are needed with other color models. - wikipedia
Alternative I/O models
What’s epoll? - Julia Evans
What’s
O_NONBLOCK
? - Blocking I/O, Nonblocking I/O, And Epoll
Life is Turing Complete
You can simulate Life within Life itself - Let’s BUILD a COMPUTER in CONWAY’s GAME of LIFE - ⠠⠵ / wikipedia
Write
a Note Taking App for Linux Stylus Labs’ Write / omgubuntu
How do mouse events work in linux?
evdev is the generic input event interface. It passes the events generated in the kernel straight to the program, with timestamps…This should be the way for GPM and X to get keyboard and mouse events. It allows for multihead in X without any specific multihead kernel support. The event codes are the same on all architectures and are hardware independent. - SE / Input event codes
Share devices over network
The general usecase would be two machines standing next to each other, and you only want to have one keyboard and one mouse to use both of them, but do not want to rely on X11. - superuser
Using remarkable as a Tablet
Krita Code
In my 20+ year experience managing projects I learned that tools or systems don’t manage anything, people do, and if people need tools they’ll get them or make them - Ton Roosendaal, on #blendercoders / Krita code wiki / github / KDE
Image labeller
A light-weight image labelling tool for Python designed for creating segmentation data sets. - django-labeller
Deep Extreme Cut (DEXTR)
State of the Art in guided and interactive segmentation - DEXTR
Blake 32 (32 bytes)
Transparently running binaries from any architecture in Linux
we can use binfmt_misc to set up our own interpreters. Now we have all the pieces and we want to put them together. We need to setup binfmt_misc in order to use QEMU user mode as an interpreter for our binary format. - Own your bits
Now that we have that covered, nothing prevents us from applying that to Docker containers. - Running ARM containers
One-shot Segmentation with Pretrained GAN
Our key ideais to leverage a trained GAN to extract pixel-wise represen-tation from the input image and use it as feature vectorsfor a segmentation network. - r/MachineLearning / pdf
Scientific driven Ignorance
Comment, des ravages du tabac au déni du changement climatique, on instrumentalise la science pour démentir… la science. - La fabrique de l’ignorance (ARTE)
Decision law
Before every formal meeting there’s a smaller, more exclusive, less formal meeting where all the important decisions are made.
This is based on decades of experience in academia and friends’ experience in industry and government. Sometimes there’s an even smaller, more exclusive, less formal pre pre meeting where all the decisions of the pre meeting are made. Maybe even a pre pre pre meeting … until you reach some guy deciding everything in the shower. - Wadge’s Law (of Meetings).
Debugging RL, Without the Agonizing Pain
Debugging reinforcement learning systems combines the pain of debugging distributed systems with the pain of debugging numerical optimizers. Which is to say, it sucks. - andy jones
A Mind is Born (256 bytes)
Making a demo in just 256 bytes would be a formidable challenge regardless of platform. A Mind Is Born is my attempt to do it on the Commodore 64. - linusakesson.net / HN
Github master branch
Personally, I have no attachment to any of these words. I just don’t appreciate the idea that we as software engineers can now sit back and believe we’ve made some kind of positive change, coz we haven’t. I’m not pissed off because I expected tech companies to do more, no, I didn’t expect them to do anything. I’m pissed off because they pretended to be doing good and wanted me to congratulate them for it. - GitHub, f ck your name change / HN
Being a manager
As a manager, your output is not measured by your individual work. Rather, your output is measured by the work of your team and the people that you influence. The work you choose to do, and the work you choose to neglect or delegate, will lead to amplified outcomes in both positive and negative directions. - Common Mistakes Of New Engineering Managers / HN
Left vs Right
This is not hypothetical… Left and Right is a trap. - HN
Regional Geometry
I mentioned a data structure known as the “region”, which is a list of rectangles. When I first built the X server codebase, I took the region code from pixman…simply because I didn’t understand the algorithms… I recently decided to investigate the data structures and algorithms behind regions, and I finally understood it. What I found I’m going to share with you. - magcius
2D Graphics on Modern GPU
Despite it going against your intuition, fast, good looking 2D graphics are actually harder and more computationally expensive to accomplish than 3D graphics, at least on traditional consumer GPUs. - Basic 2D Rasterization
Thread Efficiency
Parallelism in 2021 should not be tightly coupled across threads if performance matters, the limitations of that model are well-understood. There is no way to make that comparatively efficient; the CPU cache waste alone ensures that. Nothing you can do with thread support in a programming language will be competitive with e.g. a purpose-built scheduler + native coroutines.
… The state-of-the-art architectures are all, effectively, single-threaded with latency-hiding. This model has a lot of mechanical sympathy with real silicon which is why it is used. It is also pleasantly simple in practice. - HN
Graphic Books Library
reMarkable Framebuffer
Remarkable Paper Tablet has an undocumented API for partial refreshes on its eInk display, which is what’s behind its magic that disappears when custom Qt applications are used to draw on the screen, even using the toolchain provided by Remarkable. - Framebuffer Overview
Zig's comptime code execution
a generic container class (similar to vector in C++ or List in C#). But! With a twist!
It stores structs in “column major” order in memory (e.g., if a struct had two fields A and B, then in-memory layout would be A…AB…B), and you can idiomatically and efficiently get a a slice of the values of each column. - HN
Product-led company ?
All the companies I work at have always been sales-led with product/eng treated as feature factory - How to know if you’re interviewing at a product-led company
SVG Application
Look Maa it is image, it is game, it is web page … - HN
RGB 565 - Why 6 Bits for Green Color
This is likely due to the response of the cones in the eye. Basically we are more sensitive to light in that part of the spectrum as the different cones* overlap strongly there. Whereas most light in the blue end of the spectrum, for example, is primarily picked up by only one.
It makes sense to spend the additional bit where it will do the most good - SO
Cairo (Vector graphic)
Dlib
a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. - dlib.net
Best screws
Exploitative game mechanics suck
But what if someone were to find a way to edit the saved games and assign the items and currency without effort? That would be terrible, because it would help players consume the content much faster, and therefore run out of it sooner than expected. If that happens, they will have nothing that prevents them from thinking, and the tremendous agony of realizing their own irrelevance would again take over their life. - godot / HN
Pipewire (linux audio)
PipeWire has a better vibe than Pulseaudio did. It intends to replace a system that never worked flawlessly, seems to focus on compatibility, and the apparent endorsement from the JACK-developers also does not hurt. - PipeWire Overview / lwn / HN
Camera Stabilisation
Shader Animation
smoothstep.io is a toolkit for building animations in the WebGL Shader language. - HN
ARM Cross compiler
Why is cross-compiling so difficult? Because the libraries aren’t there! - Cross Compile
Photos animation with NN (deep fake)
The image you see in your head is also a dream created by your brain’s neural networks. - HN / Deep Nostalgia
The wolf among us
Galois Theory
Symetry is the key - introduction
Super fast linker
I wanted to use the linker to link a Chromium executable with full debug info (~2 GiB in size) just in 1 second. LLVM’s lld¹, the fastest open-source linker which I originally created a few years ago, takes about 12 seconds to link Chromium on my machine. So the goal is 12x performance bump over lld. Compared to GNU gold, it’s more than 50x. - mold / HN
Bootstrapping
In the 1800s, the saying “No man can lift himself by his own boot straps” was used as a metaphor for the impossibility of improvement solely through one’s own effort. - But computer can! / HN
Dlang for scripting
The D programming language is best known as a system programming language, but it’s also a great option for scripting. - Why I use the D programming language for scripting
Comment poser de meilleures questions?
l’Art de la question est l’art d’être interessé - repertoire de questions
Flameshot (screenshot)
lsusb
it’s very simple, i struggled with this issue using Ubuntu and Ubuntu flavored distros for years (Mint, Elementary OS, etc). Go back into bios, have usb 3.0 turned on, an any other options turned on, but turn off legacy usb option - How do I get usb 3.0 driver working
Core XY Printers
HevORT is a DIY 3D printer that is meant to push the boundaries of FDM printing in terms of Speed, repeatability and maintainability. Quality will be the same as any well calibrated FDM only the HevORT prints to that quality level faster… much faster! - CoreXY Explained
Securing LAN with Pi
The latest generation of Raspberry Pi is powerful enough to serve as a decent home router. What leads to my decision to use it, and what’s my experience? - Raspberry Pi as a home router
Raspberry Pi Cluster
Why cluster a bunch of Raspberry Pis together? - Turing Pi Review
Good webcam
The Raspberry Pi and its HQ camera make a surprisingly potent webcam, and if you want to cover the basics, and rival the image quality of all but the highest-end dedicated webcams, you can do it for under $100. - Jeff Geerling
Screen display
- AOC Q27G2U/BK (2021) - 2560 x 1440 pixels - 1 ms (MPRT) - Format 16/9 - Dalle VA - inverse ghosting is very noticeable - NOT good for gaming. - usb 3.0 hub integrated.
- DELL P2412H - 24-Inch Monitor with LED-Lit Screen - quite good
- Samsung SyncMaster 2343NW (2009) - LCD 23” Wide VGA 2048 x 1152 20000:1 5 ms
War
La guerre, c est le massacre de gens qui ne se connaissent pas, au profit de gens qui eux se connaissent, et ne se massacrent pas… - PAUL VALÉRY
Wikipedia
the free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation. - Home
Translate text
DeepL an alternative to google-translate
SSH tunnels
explains use cases and examples of SSH tunnels - A visual guide to SSH tunnels / HN
Handwriting
- Text to Handwriting - a tool that converts text to an image that looks like handwriting
- calligrapher.ai - generate text to handwriting stroke
Four principle software
Software should be robust, reliable, stable and simple - Four principles of software engineering
Espanso
Cross-platform Text Expander - espanso.org / github
Digital minimalism
Digital minimalism, it’s so incredibly satisfying. You should try it. Your life was perfectly fine before you had all that extra stuff to worry about (or pay for); I learnt that from my teacher, Diogenes of Sinope, 404 – 323 BC. - Google couldn’t sign me in, so I signed out, indefinitely.
Wayland
Simplicity layer
J’ai rajouté une couche de simplicité - Yann R.
Build a Laser scanner Microscope
a special light microscope which uses a focused laser beam to scans the sample. - DVD Laser Scanner Microscope / HN
Developing inside a Container (VSCode)
use a Docker container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code’s full feature set. - Getting started
reMarkable Hardware
Hardware (rM2) / Photos
- 1.2 GHz dual core ARMv7 Processor rev 5 (armv7l) - 32 bit
- Features: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
- 1 GB LPDDR3 SDRAM
- 8 GB internal storage
- 10.3” monochrome 1872 x 1404 resolution (226 DPI)
- Wi-Fi 2.4GHz and 5GHz
- USB-C
- Accessory port - Pogo connector - dot on left side is in fact a host usb connector.
What Is Nix ?
On Debian, Fedora, etc, installing a package means letting it put files wherever it likes; which effectively gives the package author root on your system. Not a good base for sandboxing!
Also, they make it difficult to try out 3rd-party software, or to test newer versions of just some packages.
In 2003 I created 0install to address these problems, and Nix has very similar goals. - NixOS
Dev on reMarkable
see also
I am a robot
There are no more Humans - Prove you are not a Human / Robots (Flight of the Conchords )
Iterate over Dictionary (C++ unordered_map)
Dynamic Programming
it refers to simplifying a complicated problem by breaking it down into simpler sub-problems in a recursive manner. While some decision problems cannot be taken apart this way, decisions that span several points in time do often break apart recursively. Likewise, in computer science, if a problem can be solved optimally by breaking it into sub-problems and then recursively finding the optimal solutions to the sub-problems, then it is said to have optimal substructure. - Wikipedia
LZ4
Good Judgment
Good judgment comes from experience…experience comes from poor judgment - HELP The Mini Is Buried!
Shuffle/Sample Data
shuffle code - The mathematics of shuffling / HN
(CG) CodeBuster
I told you so
Good software
The main value in software is not the code produced, but the knowledge accumulated by the people who produced it. - How to Build Good Software / HN
Fatum
Sorte d’ersatz du Parrain dans le futur, catégorie série B, tout y est : violence, action, sexe, humour potache, grosse ficelle scénaristique… - Fatum
Rendering a Sphere on a Quad
Filesystem error handling
Most filesystems don’t have checksums for data and leave error detection and correction up to userspace software. When I talk to server-side devs at big companies, their answer is usually something like “who cares? All of our file accesses go through a library that checksums things anyway and redundancy across machines and datacenters takes care of failures, so we only need error detection and not correction”. While that’s true for developers at certain big companies, there’s a lot of software out there that isn’t written robustly and just assumes that filesystems and disks don’t have errors. - danluu.com / HN
How to Generate a Cube's vertices and tris
This solution isn’t really helpful for anyone, it is slower than just writing down the constant values and pretty unclear at first glance. Looking back at it, it is not even too elegant. But this was a fun little piece of code that I wrote in about 2-3 hours, and wanted to share it, since I couldnt find anything like this on the Internet. - Catonif
Career Advice
Something that I find interesting is that career advice coming from professionals having many years of experience focuses almost exclusively on the people aspects and not the technology: communication, trust, teamwork, documentation, clarity. The advice is clear, precise and honest.
This is the opposite of what you get from new hires/juniors: they tend to focus on which stacks matter, what to learn, how to develop, deploy and maintain. Not much real advice on the behavioral side, to the point that people often take trainings for behavioral interviews and memorize “leadership principles” and other nonsense. - HN / What I’ve Learned in 45 Years in the Software Industry
Build systems
instead of seeing build systems as unrelated points in space, we now see them as locations in a connected landscape, leading to a better understanding of what they do and how they compare, and suggesting exploration of other (as yet unoccupied points) in the landscape. - Build Systems à la Carte / HN
HUION graphic tablet
IAN
IAN est le plus humain des robots… - IAN
My little donuts (donuts.c)
A revised version with no use of sin, cos, and no need for linking the math library - Donut.c Without a Math Library / HN
Entropy
there is nothing like a unique concept of entropy. There are many different but correlated concepts, which could have been named differently. They have some direct or indirect relation with thermodynamic entropy, although they usually do not coincide with it without additional assumptions. - SE
Schedule your priorities
The key is not to prioritize what’s on your schedule, but to schedule your priorities. - FranklinCovey
Readability Matters More Than Correctness
In programming, in the long run, correctness matters. But in the short run, readability matters even more. - Keith Rarick
Inbox Zero for Life (Mail)
@krarick?s email system works. He should blog about it - Keith Rarick
Executable PNG
Atmosphere (Music)
std::tuple (C++)
(C++17) deduction guides
Moral Competence
The morally incompetent want purpose; they want to be on the front-lines of the helping. But for the morally incompetent, helping people is more important than the folks being helped. They don’t offer service, they seek it. The service outranks the outcome. - Moral Competence / HN
Speech to Text (ASR)
automatic speech recognition (ASR) Tools
Imposter Syndrom
regarder en permanence où en est le voisin, c’est pas seulement malsain. C’est de l’auto-destruction… Par contre, se comparer à soi-même est vital. - Ton syndrome de l’imposteur est un formidable outil
Graphtoy
Open Arena
OpenArena is a Free Content project. Its goal is to create new, original media while providing a stand-alone multiplayer game in the process. - Open Arena
How to make an accurate estimate?
You don’t. - Everyone involved in software projects has to stop ignoring the fact that an estimate implies uncertainty.
Functional programming in C++
A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. In a multithreaded environment, the lack of understanding and the resulting problems are greatly amplified, almost to the point of panic if you are paying attention.
Programming in a functional style makes the state presented to your code explicit, which makes it much easier to reason about, and, in a completely pure system, makes thread race conditions impossible. - John Carmack / HN / (2)
finally in C++
Sometimes there?s a need to invoke a special action at the end of the scope: it could be a resource releasing code, flag set, code guard, begin/end function calls, etc. - Bartek’s coding blog
Custom input stream in C++
The proper way to create a new stream in C++ is to derive from
std::streambuf
and to override theunderflow()
operation for reading and theoverflow() and sync()
operations for writing. - SO
Backdoor in Zyxel Products
Zobrist Hash
Zobrist Hashing, a technique to transform a board position of arbitrary size into a number of a set length, with an equal distribution over all possible numbers. - chessprogramming.org
Data Races
Sequential consistency is expensive on most multiprocessors… Fortunately, C++11 lets you relax sequential consistency in a controlled way, which combines high performance with the safety of well-defined (if complex) semantics…
What does it all mean for the C++11 programmer? It means that there no longer is an excuse for data races. If you need benign data races for performance, rewrite your code using weak atomics. Weak atomics give you the same kind of performance as benign data races but they have well defined semantics. - Benign Data Races Considered Harmful - (Bartosz Milewski’s Programming Cafe)
nth_element (C++) / Finding the first n largest elements in an array
a partial sorting algorithm that rearranges elements in [first, last) with O(N) worst running time. - nth_element / SO
PyCam (CNC)
PyCam is a toolpath generator for 3-axis CNC machining. It loads 3D models in STL format or 2D contour models from DXF or SVG files. The resulting G-Code can be used with LinuxCNC or any other machine controller. - Home
VSCode Text Buffer Reimplementation
During an in-depth exploration, we found that a C++ implementation of the text buffer could lead to significant memory savings, but we didn’t see the performance enhancements we were hoping for. Converting strings between a custom native representation and V8’s strings is costly and in our case, compromised any performance gained from implementing text buffer operations in C++… Not going native, we had to find ways to improve our JavaScript/TypeScript code. - Text Buffer Reimplementation
FFT & Polynomial representation
The Fast Fourier Transform (FFT) is a tricky algorithm to understand so we take a look at it in a context that we are all familiar with: polynomial multiplication. You will see how the core ideas of the FFT can be “discovered” through asking the right questions. The key insights that are presented in this video is that polynomial multiplication can be improved significantly by multiplying polynomials in a special value representation. The challenge that presents itself is the problem of converting a polynomial from a standard coefficient representation to value representation. - (FFT): Most Ingenious Algorithm Ever?
(CG) Fall Challenge 2020
Perhaps the only CG game where better search is worse? Thanks to the random recipe drawn after a brew which has the property to mess up any plans and transform a lead or a win straight into a loss. - reCurse (3thd)
The Voices
Isn’t it weird that we have a little voice in our heads? Like the one you used to read this.
Mathpix OCR
you can handwrite a whole manuscript including the equations and then use Mathpix to turn each page into latex that can then be pasted into a tex processor for editing, etc. - Scanner App for Math and Science / r/RemarkableTablet
Losing all interest
I lost interest in my career several years ago, but now I think I’m just losing interest in programming in general. - HN
Cameras and Lenses
Cameras and the lenses inside them may seem a little mystifying. In this blog post I’d like to explain not only how they work, but also how adjusting a few tunable parameters can produce fairly different results - Bartosz Ciechanowski / HN
Oh, really!?
Dallas Barr (BD)
Depuis le tout début du XXIè siècle, la vie éternelle est une possibilité. Dans les cliniques de jouvence de Lord Julius Stileman, tout le monde peut retrouver sa jeunesse enfuie. Le problème, c’est que cela coûte tout ce que vous possédez, et qu’il ne faut même pas y songer à moins d’un million de livres sterling. Et une fois que vous avez retrouvé la jeunesse, la course contre la montre commence… pour trouver le million suivant. Car la cure ne produit ses effets que pendant une décennie. Vous avez donc le choix : la bourse ou la vie. - Dallas Barr
Typescript
Keyboard / Mouse
K40 laser cutter
Your new laser cutter may attempt to kill you in a number of way… - The k40 laser resource / r/lasercutting / K40laser.se / Laser Gods
Chess
The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life. - Paul Morphy
VSCode Extension DEV
We’ll teach you the fundamental concepts for building extensions.- Your First Extension / digitalocean / youtube
Node.js
a standalone JavaScript runtime built on Chrome’s V8 JavaScript engine. - nodejs.org
Delores: A Thimbleweed Park mini-adventure
This is the source code to Delores: A Thimbleweed Park mini-adventure. Read Grumpy Gamer for more background. - github
Zotero
Zotero is, at the most basic level, a reference manager. It is designed to store, manage, and cite bibliographic references, such as books and articles. In Zotero, each of these references constitutes an item. More broadly, Zotero is a powerful tool for collecting and organizing research information and sources. - Home / HN
Quick native app
How to ?
Open CAM (OpenCamLib)
Since good(?) CAM programs (like MasterCAM, SurfCAM, or OneCNC) cost tens of thousands of euros/dollars, I’m interested in an open source alternative. - anderswallin.net
Cascade of Attention-Deficit Teenagers (CADT)
This is, I think, the most common way for my bug reports to open source software projects to ever become closed. I report bugs; they go unread for a year, sometimes two; and then (surprise!) that module is rewritten from scratch – and the new maintainer can’t be bothered to check whether his new version has actually solved any of the known problems that existed in the previous version.
I’m so totally impressed at this Way New Development Paradigm. - jwz
GMOCCAPY (Linuxcnc GUI)
GMOCCAPY is a GUI for LinuxCNC, designed to be used with a touch screen, but can also be used on normal screens with a mouse or hardware buttons and MPG wheels, as it presents HAL Pins for the most common needs. - GMOCCAPY
Axis (Linuxcnc GUI)
AXIS is a graphical front-end for LinuxCNC which features a live preview and backplot. - Axis
Freecad CAM
Tutorials
Joy Division
just another one of my attempts at reproducing modern art with procedural generation and the HTML5 <canvas> element. This time I randomly generated images resembling the cover of the album by Joy Division called “Unknown Pleasures”. - Unknown pleasures with JavaScript
Blender CAM
Blender CAM is an open source solution for artistic CAM - Computer aided machining - a g-code generation tool. Blender CAM is an extension for the free open-source Blender 3d package. - BlenderCam - CNC path addon
Battery
LCD Dashboard (Octoprint)
OctoDash is a simple, but beautiful dashboard for OctoPrint. - UnchartedBull/OctoDash
Job Salary
What to Say When They Ask For Your Salary History
- Disclosing your salary can turn a potential double digit raise when changing jobs to a few percent raise. You could leave thousands, or even tens of thousands of dollars on the table.
Orchestration
Orchestration is in practice almost always a useful illusion.
Usefull in the sense of ‘all models are wrong some models are usefull’.
The systemic trick is to treat the orchestration model as an expression of intent, then use both domain and meta heuristics to translate it to a choreography. - HN
Job interview
When you’re junior, coachability is what gets you hired. How quickly can we train you to be effective?
When you’re medium, technical chops get you hired. Can you do useful work right now and quickly fill gaps in knowledge?
When you’re senior, your experience and opinions get you hired. - HN
Debian
Debian is like democracy: the worst way of producing an OS, except all the others that have been tried from time to time.
BeOS, AmigaOS, Solaris, most other 80s OSes - they’re effectively dead. Windows and macOS have effectively died once already. The BSDs can stall for years at times. Most Linux distributions (including RedHat) are typically only as good as the fortunes of the commercial (or occasionally public) entity they have behind. In all this, Debian endures, with its slow but inexorable progress, simply because its ideological foundations - not its technical ones - are eminently superior to all the others. Debian contributors don’t do it for the money, so they will be there when money runs out; and they don’t do it for being cool either, so they will be there when OS work is not cool. People will come and go, but the ideal of the “democratic OS” will always be there - hence, Debian will be too. - HN
Piano
Butano
Simple Image manipulation (Ruby)
This library can read and write PNG files. It is written in pure Ruby for maximum portability. Let me rephrase: it does NOT require RMagick or any other memory leaking image library. - ChunkyPNG
The Iron Giant
MkDocs
MkDocs is a fast, simple and downright gorgeous static site generator that’s geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file. - MkDocs
How to Write Well
Writing is Nature’s way of showing you how sloppy your thinking is - Dick Guindon
F-Engrave
F-Engrave is a text or image to g-code program (for both engraving and v-carving). - Home
Quake-style terminals
Wouldn’t it be easier to just have a terminal that automatically hides and shows itself at click of a button? - How to use Quake-style terminals on GNU/Linux
Sony PS3 Sixaxis
Jekyll Table of Contents
GitHub Pages can’t run custom Jekyll plug-ins so when generating Tables of Contents (TOCs), you’re stuck with either a JavaScript solution or using kramdown’s {:toc} option. However, by using {:toc}, you are forced to have that code next to your actual markdown and you can’t place it in a layout. This means every. single. post. will need to have the snippet. If you choose the JavaScript approach, that’s perfectly fine but what if JS is disabled on the someone’s browser or your page is just really long and it becomes inefficient. - Jekyll Pure Liquid Table of Contents
Portable Network Graphics (PNG)
PNG is a raster-graphics file format that supports lossless data compression. - wikipedia
Linux Executable
Hands-Free Coding (with Talon)
Ropes
Ghidra - the NSA toolkit
Laptop Screen
The kit is comprised of a monitor control board (M.NT68676.2A), an “inverter” board which depends on your LCD panel model number, a keypad board, an LVDS cable, and a cable to connect all three boards together. - How to Use Your Old Laptop Screen with Raspberry Pi or Your Computer
Manim (3Blue1Brown)
Manim is an animation engine for explanatory math videos. It’s used to create precise animations programmatically, as seen in the videos at 3Blue1Brown - 3b1b/manim / HN
Kon-boot
Kon-Boot is an application which will silently bypass the authentication process of Windows based operating systems. Without overwriting your old password! In other words you can login to your Windows profile without knowing your password. - kon-boot.com
# Dear ImGui
High Availability
Availability is the percentage of time an application is performing as expected (not to be confound with uptime). - Architecting for reliability on AWS (pluralsight)
Hand Free Coding
BNF
Vous tenez en vos mains l’intelligence et l’âme des enfants, vous êtes responsables de la patrie. - Lettre aux instituteurs et institutrices, Jean Jaurès
Intelligence
L’intelligence se fout de la compétition - Henri Laborit / Thinkerview
CNC precision
Raspberry Pi / ARM Fleet
The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. - raspberrypi.org
LinuxCNC
Controls CNC machines: milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more. - LinuxCNC
V-Carve
PC-CNC
controlling cnc3040
Parallax Effect
For horizontal surfaces like floors and ceilings, SF2 uses another technique called row scrolling (a.k.a. line scrolling). - parallax effects in Street Fighters 2 / HN
CNC3040DQ
Hardware
- CNC 3040-DQ Router / amazon
- doc
- 3x[NEMA23] stepper motor
- 3040 CNC Milling Machine Mods
Length Extension Attacks
An application is susceptible to a hash length extension attack if it prepends a secret value to a string, hashes it with a vulnerable algorithm, and entrusts the attacker with both the string and the hash, but not the secret. Then, the server relies on the secret to decide whether or not the data returned later is the same as the original data. - Dead Ends in Cryptanalysis #1 / SkullSecurity
Github
Blog / image / Code hosting, for free ? - github
Shops
Chez Amazon, les prix sont modifiés environ 2,5 millions de fois chaque jour. - Quel est le meilleur jour pour acheter des produits en ligne ?
Sega Master System Architecture
Manual
Non paywall
- Manuall.fr
- Manualslib / HN - Database of More Than 2.6M Manuals
Little tasks, little trust
No backlog grooming meetings or burn-down charts either. Your manager simply looked at how your products were coming along. A little trust, some accountability, and a healthy portion of “give me some space to do my work.”
The way we work now is different. Sadly, it’s less motivating, less efficient, and profoundly less respectful of individual abilities. - little tasks, little trust
File Manager
Nemo - File Manager for Cinnamon - (github)
Nerd Font
Mandalla art
Drawing technics (digital/paper)
How to Draw Faces
Pytorch vs Tensorflow
Segment tree
A Segment Tree is a data structure that allows answering range queries over an array effectively, while still being flexible enough to allow modifying the array. This includes finding the sum of consecutive array element, or finding the minimum element in a such a range in O(logn) time. - Segment Tree / HN
Minecraft in 130loc
that may just be one the clearest examples why you shouldn’t ignore react for gaming: clean, self-contained components, 130 loc. - codesandbox / twitter
Better Portable Graphics (BPG)
BPG is a new image format. Its purpose is to replace the JPEG image format when quality or file size is an issue. - BPG Image format / HN
The Hitchhiker’s Guide to Compression
Lossless file compression, and file compression in general has become a lost art. The modern developer community has moved on from working on compression algorithms to bigger and better problems, such as creating the next major NodeJS framework. However, compression as it stands in the computer science aspect is still as interesting as it was in 1980s, possibly even more so today with an estimated 463 Exabytes of data to be created everyday in 2025. - go-compression
Autogenerated Screenshots in Markdown
Generating them is one half of the picture. Keeping them up to date as the product evolves is another challenge. - article
Starship shell prompt
Kitty - a modern term
Sokoban
2048
Join the numbers and get to the 2048 tile! - play2048
Innovation tokens
Let’s say that we all get a limited number of innovation tokens to spend…
These represent our limited capacity to do something creative, or weird, or hard. We really don’t have that many of these to allocate. Early on in a company’s life, we get like maybe three. Not too many more than that. - Choose Boring Technology / HN
Happiness
Happiness comes from shipping meaningfull work. - Choose Boring Technology
AVX SIMD in matrix multiplication
code discussion - AVX SIMD in matrix multiplication
Line Arts
Video Editor
Kdenlive is an open source video editor. - Kdenlive / r/kdenlive
Pac-Man Maze Generation
Generating random Pac-Man mazes is a deceptively difficult problem that I spent some months working on. - Pac-Man Maze Generation / shaunlebron/pacman-mazegen
MyPaint
MyPaint is a nimble, distraction-free, and easy tool for digital painters. It supports graphics tablets made by Wacom, and many similar devices. Its brush engine is versatile and configurable, and it provides useful, productive tools. - MyPaint
Mona Lisa Effect
Urban legend says that Mona Lisa’s eyes will follow you as you move around the room. This is known as the “Mona Lisa effect.” For fun, I recently programmed an interactive digital portrait that brings this phenomenon to life through your browser and webcam. - Bringing the Mona Lisa Effect to Life with TensorFlow.js
Flat Coloring
So you’ve got a cool black on white drawing, and now you want to color it! The thing we’ll aim for in this tutorial is to get your line art colored in with flat colors. So no shading just yet. - Flat Coloring
Brush (Krita)
A set of brush and their use - David Revoy
Custom behavior with Setting-Cycler (VSCode)
Sometimes VS Code ships a new feature without a toggle command (editor.minimap.enabled, explorer.autoReveal). Sometimes you want to easily toggle between a light and dark themes. Maybe you want to do something even more complex and toggle multiple settings at once. - Settings Cycler
MCTS search policy
This neural net is an integral part of the MCTS, where it helps guide the tree search via its policy and value outputs - From-scratch implementation of AlphaZero for Connect4 / github plkmo/AlphaZero_Connect4
IOCCC 2004
Best X11 Game - vik1
Snake in a QR code
The above QR code contains a complete Windows executable that will run on Windows 7 and up. It’s a simple but fully playable implementation of Snake.- Snake in a QR code
Crinkler (packer)
Read/Write File in C++
Inplace rotate square matrix by 90 degrees
Given a square matrix, turn it by 90 degrees in clockwise direction without using any extra space. - GeekforGeek / leetcode
Teaching a computer how to play Tic Tac Toe
Explore a number of different approaches, from the Min Max algorithm to Neural Networks, with the aim of teaching / training a computer how to play the well known board game Tic Tac Toe. - A Trip Report / github
Parquet file
Parquet came from a common need for on disk columnar representation, and it’s inspired from a lot of work in academia and Google Dremel paper, and you know, a lot of databases are using it, like Vertica, are using columnar representation to speed up analysis. Arrow is similar, coming from a common need for in memory columnar, so if you look at papers like MonetDB, papers that are the beginning of vectorized execution, it’s the next step in making sequel execution and all those things much faster. - The Columnar Roadmap
IDE vs Language
Fancy IDEs are lubricants for high-friction languages. If a language is already low-friction, there won’t be much benefit to be gained from an IDE, as even a plain text editor will already get you near to optimal productivity in said language.
Personally, I’d rather use a plain-old “code editor” (with at most syntax highlighting, but no snippets, let alone autocomplete), in part because doing so will actively steer me away from languages that weren’t designed with the User Experience of writing them in mind.- HN
Death by Flags
In many cases you are better off using a kill switch than a feature flag. This may seem pedantic, but the way your system fails (on vs off) can protect you from disaster when your flag setting framework has a bug. - When Feature Flags Do And Don’t Make Sense / HN
Writing clock
youtube / home - inspired by
Mailbox
Your inbox is nothing more than everyone else’s to do list for you - Carson Tate
USB/Ethernet Boot (Raspberry Pi)
Pi 4 now has USB boot enabled by default, and you can get way better performance from a fast USB 3.0 drive than the built-in microSD. - UASP, TRIM, and performance / HN
The benefits of note-taking by hand
Socrates didn’t even believe in writing – he believed writing things down would weaken our memories in the long term. He believed that talking about things was a far superior way to form memories and to understand subjects deeply. He’s not completely wrong about the role of discussion and disputation [emotional connection is a potent force in memory formation], but all the same I’m glad Plato didn’t take to this thinking and actually wrote stuff down). - HN / article
DuckDB
Coca Rocket
If you add liquid gas to lighters and turn a bottle upside down, it will turn into a mega ROCKET! - Why does propane added to Coca-Cola take off like a rocket?
Large Text Compression Benchmark
ranks lossless data compression programs by the compressed size (including the size of the decompression program) of the first 109 bytes of the XML text dump of the English version of Wikipedia on Mar. 3, 2006. Benchmark
Runtime Data visualizer in VSCode
VSCode Debug Visualizer for visualizing data structures while debugging. Like the VS Code’s watch view, but with rich visualizations of the watched value. Can be helpful to visualize plots, tables, arrays, histograms and trees. - Visualize Data Structures in VSCode / HN / 2
Debug & Build C++ Project (VSCode)
How to set up C++ Compiler with Visual Studio Code. - Setup Visual Studio Code for Multi-File C++ Projects
String litterals (c++)
Can a std::string contain embedded nulls? - yes
Single-file libraries with minimal dependencies
Generally, the following is a list of small, easy-to-integrate, portable libraries which are usable from C and/or C++, and should be able to be compiled on both 32-bit and 64-bit platforms. - nothings/single_file_libs
Compact decompression library for embedded use
Breaking a Monolith
A single centralized team can’t make change happen by working against the momentum of hundreds of developers adding features.
To modularize a large monolith though, we need to make complex change happen on a large scale. Even if a centralized team could make it happen, the design would degrade once the team switches its focus to something else.
That’s why making a fundamental architecture change to a system that’s being actively worked on is in large part a people problem. - The State of Shopify’s Monolith / HN
The Infosec Apocalypse
Tools like Blackduck, WhiteSource, Checkmarx, Veracode are exploding in popularity … These tools are quickly making their way into SOC2 and SDLC policies across industry, and if your language or new infrastructure tool isn’t supported by them there’s little chance you will get the previously already tenuous approval to use them. This sets the already high bar for adoption much higher. As you might expect, vendors will only implement support for languages that meet some threshold for profitability of their tools. Not only do you need to build a modern set of tools for your language to compete, now you also need support from external vendors. - The Infosec Apocalypse / HN
TensorBoard
TensorFlow’s visualization toolkit - Get started with TensorBoard
Tarpit / Honeypot
Dithering
Let’s say we want to reduce the number of colors in an image. - Differentiable Dithering / HN
TensorFlow Lite for Microcontrollers
TensorFlow Lite provides all the tools you need to convert and run TensorFlow models on mobile, embedded, and IoT devices. The following guide walks through each step of the developer workflow and provides links to further instructions. - TensorFlow Lite
Evolution of the alphabet
Earliest Forms to Modern Latin Script - youtube
Lambda (c++)
A lambda can only be converted to a function pointer if it does not capture - SO
Export Model from Tensorflow
One of the features that TF has is the ability to define and train your model using Python API and port the learned model in C++. - Exporting trained TensorFlow models to C++ the RIGHT way!
Semantic Versioning
Semantic Versioning is a meta-API, and maintainers who are cavalier about violating it can’t be trusted to created stable contracts. I’ve lost patience for breaking changes making their way to my code bases without the maintainers incrementing the major version of their projects, especially in language ecosystems where Semantic Versioning is expected, and in such cases I’m going to begin exploring alternative options so I can ban such libraries from my projects —personal and professional— altogether. - Regarding Semantic Versioning
GuiLite.h
The smallest header-only GUI library (5 KLOC) for all platforms. - github
Ascii fluid simulator quine
Two sum (puzzle)
Given an array of integers
nums̀
and an integertarget
, return indices of the two numbers such that they add up totarget
.You may assume that each input would have exactly one solution, and you may not use the same element twice. - LeetCode
Hamming codes
h■w to ov■rco■e n■ise
Hamming codes are a family of linear error-correcting codes. Hamming codes can detect up to two-bit errors or correct one-bit errors without detection of uncorrected errors. By contrast, the simple parity code cannot correct errors, and can detect only an odd number of bits in error. Hamming codes are perfect codes, that is, they achieve the highest possible rate for codes with their block length and minimum distance of three. - wikipedia
Docker + torrent = Quay?
This is a preview feature and tool that enables support for pulling appc and Docker container images using BitTorrent, with the new quayctl tool. - A Torrent of Pulls
Content Defined chunking (CDC)
Running a child process in C++
Try to follow ruby pattern.
BitTorrent v2
BitTorrent v2 kick-started with an effort to transition away from SHA-1 as the hash function for pieces, shortly after google announced having produced a collision. Given a new hash function would not be backwards compatible, a few other changes were proposed as well, while we were taking the compatibility hit anyway. This post describes the new features of the BitTorrent v2 protocol. - BitTorrent v2 / HN
Falsehoods Programmers Believe
Doom Eternal – Graphics Study
Tensorflow
The fastest and more reliable method to get ROCm + Tensorflow backend to work is to use the docker image provided by AMD developers. - Train neural networks using AMD GPU and Keras
Sharing mouse & keyboard between PC
Share one mouse and keyboard between multiple computers - Barrier (fork of Synergy) / Fast Desktop Switching
Extend Desktop to Monitor over LAN
multi-head functionality for displays that might be located on different machines.
Filesystem toolkit (C++)
The Filesystem library provides facilities for performing operations on file systems and their components, such as paths, regular files, and directories. - C++17
Logger
C++ / SO / Other
- gabime/spdlog - Very fast, header-only or compiled, C++ logging library.
- backtrace: display latest message on error
- amrayn/easyloggingpp
- stacktrace with gcc / thread id
- Loguru
- scope
- boost Log
Grumpy Gamer (Ron Gilbert blog)
The Muse visits during the act of creation, not before. Don’t wait for her. Start alone. - Roger Ebert
How to build a Handwriting Reader from scratch with Deep Learning
In this article we will be learning about the task of handwritten text recognition, it’s intricacies and how we can solve it using deep learning techniques. - article
Babylonian multiplication
$ a*b = \frac{(a+b)^2 - (a-b)^2}{4} $ - HN
Presentation in terminal
A terminal-based presentation tool with colors and effects. - present
Proof without words
is a proof of an identity or mathematical statement which can be demonstrated as self-evident by a diagram without any accompanying explanatory text. - wikipedia
GPU
Doom 3
With the release of the source code to both Doom 3 and the later BFG Edition, there now exists three options for Linux users wanting to play the game. Having gone through Doom 3 again, I decided it was time for me to compare them and give my thoughts on both the game and which of the three versions are best for Linux users in 2017. - Playing Doom 3 on Linux in 2017
Chat on LAN
iptux is a very convenient GUI-based program. You can even send files (and entire folder) - SE
Appimage
AppImage is a format to distribute an entire application as a single executable file. To run the app, an user simply needs to run this file — there’s no intermediate installation step. The application runs off this package, and it doesn’t place files on the base system. In addition, the AppImage file contains all libraries and files it needs to run, and this allows them to work on a large number of distributions. - What is an AppImage?
Selling X
- What is X ?
- The problem that X solves and why it matters ?
- How it solves the problem ?
- Why it is well suited to solve these problem ?
- How can I get started using X ?
pδrταblε εxεcµταblε
One day, while studying old code, I found out that it’s possible to encode Windows Portable Executable files as a UNIX Sixth Edition shell script, due to the fact that the Thompson Shell didn’t use a shebang line. - αcτµαlly pδrταblε εxεcµταblε - HN
Org-mode
Some tips for learning Org Mode for Emacs / orgmode.org
Graphics Programming Projects
Text-based Desktop Environment
Multi image usb boot
moreutils (cli)
- chronic: runs a command quietly unless it fails
- combine: combine the lines in two files using boolean operations
- errno: look up errno names and descriptions
- ifdata: get network interface info without parsing ifconfig output
- ifne: run a program if the standard input is not empty
- isutf8: check if a file or standard input is utf-8
- lckdo: execute a program with a lock held
- mispipe: pipe two commands, returning the exit status of the first
- parallel - run multiple jobs at once
- pee: tee standard input to pipes
- sponge: soak up standard input and write to a file
- ts: timestamp standard input
- vidir: edit a directory in your text editor
- vipe: insert a text editor into a pipe
- zrun: automatically uncompress arguments to command
Sqlite
SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day. - Home
Webcam
Hacker News (HN)
Face detection
Statement vs Expression
“Somebody” ignored the wisdom of Lisp, which was “everything is an expression and evaluates to a value” (no statements vs expressions), and made assignment a statement in Python years ago. - Python Makes me Sad Again / HN
Homemade High resolution X-Ray scanner
My own X-Ray machine that was made from old MX-20 X-Ray parts. No information was present about controller, so I have to figure-out everything my own - Linas Karpavicius’s Blog
Javascript
JavaScript is a scripting language that allows to dynamically change the DOM and style of a page, either by querying more information from the backend as needed or by performing computations and changes based on user input directly in the web browser. - A Complete Overview of Front-End Development in 2021
Iterate over directory
Running a child process in Crystal
Crystal wrapper generator for C/C++ libraries
Crystal allows you to bind to existing C libraries without writing a single line in C.
Unicode
SeaweedFS
Storing a million images in the filesystem
Most of the newer systems I’ve worked with have pushed the file storage to the file system, and relied on databases for nothing more than indexing. File systems are designed to take that sort of abuse, they’re much easier to expand, and you seldom lose the whole file system if one entry gets corrupted. - SO
Fuzzing
n essence, I created a text file containing just “hello” and asked the fuzzer to keep feeding it to a program that expects a JPEG image… Such a fuzzing run would be normally completely pointless: there is essentially no chance that a “hello” could be ever turned into a valid JPEG by a traditional, format-agnostic fuzzer, since the probability that dozens of random tweaks would align just right is astronomically low. - Pulling JPEGs out of thin air
Learn in public
You already know that you will never be done learning. But most people “learn in private”, and lurk. They consume content without creating any themselves. Again, that’s fine, but we’re here to talk about being in the top quintile. What you do here is to have a habit of creating learning exhaust - The fastest way to learn / HN
Ninja (build tool)
Where other build systems are high-level languages, Ninja aims to be an assembler. - The Ninja build system / Comparison to Make
The Meson build system
The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code. - Meson
Blake (hash)
BLAKE3 is a cryptographic hash function - Blake3
They Shall Not Grow Old
ASUS ZenBook UX305UA (2016)
Influence of infill %
The key parameters we look into are infill %, layer height and infill pattern. In the main body of this study, we provide a detailed description of the influence these parameters have on max stress, elongation at break, rigidity (Young Modulus) and yield stress. - my3dmatter
Hypercard
The Internet Archive has a large collection[1] (3,500+) of HyperCard stacks that can be run directly in the browser (using in-browser emulation of an old Mac Plus). - HN
Non blocking call to system IO (ruby)
Run a shell command in a separate thread, terminate it after a time limit, return its output - timeout.rb
Online stopwatch
It’s surprisingly hard to find a web app that presents a simple stopwatch! - Online Stopwatch
Hardware info
Using [inxi] to retrieve hardware info - maketecheasier
FUSE Filesystem
FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel. The FUSE project consists of two components: the fuse kernel module (maintained in the regular kernel repositories) and the libfuse userspace library (maintained in this repository). libfuse provides the reference implementation for communicating with the FUSE kernel module. - libfuse
Firefox / LibreWolf
A Firefox Fork Focused on Privacy, Security and Freedom. It’s Not for Everyone - LibreWolf /
Ruby one liner
The -n flag wraps your executed one-liner in an implicit while gets … end block. When you combine this with the usage of Ruby’s special global variable $_, which stores the result of the most recent Kernel.gets command, you can do some nice (and readable) file processing! - Smooth Ruby One-Liners
Hyperbolic function
Open Source
You are not entitled to the attention of others. You are not entitled to having value attached to your complaints. You are not entitled to this explanation. - Open Source is Not About You
LackRack
the LackRack is the ultimate, low-cost, high shininess solution for your modular datacenter-in-the-living-room. Featuring the LACK (side table) from Ikea, the LackRack is an easy-to-implement, exact-fit datacenter building block. It’s a little known fact that we have seen Google engineers tinker with Lack tables since way back in 2009. - LackRack
Building a Homelab
Learning from mistake - Building a Homelab VM Server (2020) / (2016) / /r/homelab/
Building a Cost-Conscious, Faster-Than-Gigabit Network
I think what might be even more exciting to the general public is that a 10Gb Ethernet network can be built for under $40 and connect two computers together. In my case, it cost an additional $80 to add a third computer. A fourth computer would be even more expensive (8 total network interfaces, 6 total cables), so at this point it probably starts to make more sense to consider getting a switch. - briancmoses.com
Enterprise politics
You don’t have to worry about the technical skilled people, worry about the non-technical, you don’t know what skills they have, that got them to where they are. - Caesar Rodman (in comments)
Radeon Open Compute (ROCm)
Stream MJPG Video (µStreamer)
µStreamer is a lightweight and very quick server to broadcast MJPG video from any V4L2 device to the net.
Building a KVM over IP with Raspberry Pi
Memtest86+
After a long hiatus without updates and following numerous requests, I’ve started compiling many codes branches to release public builds again! Here is Memtest86+ 5.31b, with many bug fixes in the core functions. Home
Write code that is easy to delete, not easy to extend
Every line of code written comes at a price: maintenance. To avoid paying for a lot of code, we build reusable software. The problem with code re-use is that it gets in the way of changing your mind later on. - Programming is terrible - HN
Simplicity
Simplicity is prerequisite for reliability. - Edsger Dijkstra
Filesystem that uses tags rather than folders
TMSU was born out of frustration with the hierarchical nature of filesystems - Home / Stackoverflow
Remote linux (rdp)
using vinagre - Best VNC Viewer Clients For Linux
Python
I don’t have any issues with Python’s packaging ecosystem anymore, having settled comfortably into a pyenv+virtualenv+pip-tools as my “stack” after going around the block a few times.
But even so, I must recognise how awful the experience is for new users. It’s taken me years to settle into this system, and it can take half a day to get someone up to speed with these tools if they haven’t used them. - HN
Jupyter
Open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text - Jupyter
MuZero
MuZero takes the ultimate next step. Not only does MuZero deny itself human strategy to learn from. It isn’t even shown the rules of the game. - How To Build Your Own MuZero AI
Citrus (parser)
Citrus is a compact and powerful parsing library for Ruby that combines the elegance and expressiveness of the language with the simplicity and power of parsing expressions. - Abandoned Project
Treetop (parser)
Treetop is a Ruby library that allows you to create parsers easily by describing them using a Parsing Expression Grammar (PEG). - A quick intro
Reverse engineering a camera protocol for fun and profit
Bogus enough that I decided to pwn the camera, reverse engineer the protocol, and write my own software to get the video stream. The end result is a new piece of open-source software called Neolink, which allows Blue Iris, Shinobi, or other NVR software to receive video from unmodified Reolink cameras. - &> /dev/null - HN
Orthodox Privilege (Paul Graham)
The more conventional-minded someone is, the more it seems to them that it’s safe for everyone to express their opinions. - Paul Graham - HN
Fail Close vs Fail Open design
Monkey Island
A youth named Guybrush Threepwood arrives on the fictional Mêlée Island, with the desire to become a pirate. He seeks out the island’s pirate leaders, who set him three trials that must be completed to become a pirate: winning a sword duel against Carla, the island’s resident swordmaster, finding a buried treasure, and stealing a valuable idol from the governor’s mansion. - wikipedia
Langage Parser
Parser type comparison
Update / Fix missing and broken packages (ubuntu)
Flourish (online vis)
online vis tools - Flourish
Ego Graphs (X vs Y)
This is really useful technique for creating a mental ‘map’ of technologies, products or ideas and how they relate to each other. - Automating the Google ‘vs’ trick - HN
How to build your own AlphaZero
With this, AlphaZero was born — the general algorithm for getting good at something, quickly, without any prior knowledge of human expert strategy. - Applied Data Science
WebGL Fundamental
These are a set of articles that teach WebGL from basic principles. They are NOT old rehashed out of date OpenGL articles like many others on the net. They are entirely new, discarding the old out of date ideas and bringing you to a full understanding of what WebGL really is and how it really works. - WebGL Fundamentals
Ruby REPL
- Pry A runtime developer console and IRB alternative with powerful introspection capabilities.
- quick intro - shell-mode - Command Shell Integration
- irb Alternatives
Hex Viewer Tools
ImHex - A Hex Editor for Reverse Engineers, Programmers
Bd Gest
XP-Pen Artist 12
RedShift
Experimentation for getting submarine environment for night work.
What Is The Length?
The Cornered Circle
The Center of the Pixel is (0.5, 0.5)
Pixel centers at (0.5, 0.5) is the convention adopted by all major graphics APIs (OpenGL, DirectX, Vulkan, Metal). That’s because it makes the math, especially around image scaling, becomes a lot simpler. - HN
Blender Material To Selected Faces
Master Booleans in Blender
Cut STL models for 3D printing (How to)
Modifying STL miniature - cutting & reposing
_printf_ is Turing Complete (%n)
we show that a single call to printf() allows an attacker to perform Turing-complete computation, even when protected with a shadow stack. We dub this printf-oriented programming. In our evaluation, we found it was possible to mount this kind of attack against all but one binary (which rewrote their own limited version of printf). - Control-Flow Bending: On the Effectiveness of Control-Flow Integrity - www.usenix.org - Nicholas Carlini
Another Doom Clone (13k)
Why create a FPS in JavaScript in a total of 13k (compressed)? There are a few reasons. But probably the best answer is that the JS13K contest FAQ answers the question “Can I use WebGL?” with “Yes, though it might be hard to fit it into 13 kilobytes if you plan on doing an FPS game.” - Nicholas Carlini
Consciousness
You have understanding and intellingence and awareness… And somehow, understanding is in the middle of it. Could you say of an entity that it’s actually intelligent if it doesn’t have the quality of understanding? - the limitations of a computational view of consciousness
WebRTC
Event Machine (ruby)
EventMachine is an event-driven I/O and lightweight concurrency library for Ruby. It provides event-driven I/O using the Reactor pattern, much like JBoss Netty, Apache MINA, Python’s Twisted, Node.js, libevent and libev. - github
Server-sent events
most people don’t know that regular old HTTP provides a mechanism to push data from the server to clients via Server-Sent Events - Do you really need WebSockets?
Rewrite vs refactor
Whether you rewrite or refactor, the lesson is the same: You have to grind your way into the good architecture. It doesn’t become good because the code is fresh, but because you have battle scars to show. And a success story in that case comes from having a complete learning loop. In a lot of orgs the learning itself is argued against for one reason or another - development proceeds with as little feedback on quality as can be gotten away with. - HN
Absorptions (blog)
a blog about signals, random hacks, & assorted infodumps. - oona räisänen
WiFi Card
Print a Wifi Login Card - wificard.io - HN
Automatic Screw Sorter
You know you want one! If you have mountains of unsorted screws in your workshop, you probably spend lots of time looking for “just the right” screws for a job. - instructable
# Freecad
Your own 3D parametric modeler - Home
Enterprise
I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. - Poul Anderson
CAD Terminology
PC 2020 (lab)
Lego for adults - HN / /r/buildapc
Event[0]
a sci-fi narrative exploration game where you build a relationship with a lonely spaceship computer to get home to Earth. - youtube
Decimating Array.Sort with AVX2
Open Tomb (Raider)
OpenTomb is an open-source re-implementation of the classic Tomb Raider engine, intended to play levels from all classic-era Tomb Raider games (1—5), as well as custom TRLE levels. - home
Near-Duplicate image detection
- Good way to identify similar images?
- Near-Duplicate Image Detection
- pHash
- dHash - Fast perceptual image hash (yduf)
Icosahedron
The verticies of an icosahedron (20 sided shape) can actually be created using only three rectangles at right angles to each other. - Tinkerings
ocrmypdf (ocr)
Website doing port scanning
Many sites are port scanning visitors for dubious reasons. - Why is This Website Port Scanning me? / HN
Battle-tested
20 years of real world testing is worth a lot than some unit test suite. - HN
Kernel Virtual Machine (KVM)
Many developers, users, and entire industries rely on virtualization, as provided by software like Xen, QEMU/KVM, or kvmtool. While QEMU can run a software-based virtual machine, and Xen can run cooperating paravirtualized OSes without hardware support, most current uses and deployments of virtualization rely on hardware-accelerated virtualization, as provided on many modern hardware platforms. Linux supports hardware virtualization via the Kernel Virtual Machine (KVM) API. In this article, we’ll take a closer look at the KVM API, using it to directly set up a virtual machine without using any existing virtual machine implementation. - lwn
Beam search
a classic greedy algorithm merging the breadth-first search approach with a heuristic evaluation function to prune nodes on each level of the tree… Beam Search is considered a good choice for games that have limited interaction with the oppo- nent(s), so the planning part is more important than the exact opponent prediction - wikipedia
Triangle Rectangle
En géométrie non euclidienne, un triangle rectangle sphérique peut posséder deux ou trois angles droits. - wikipedia
Rule of 3
You can be quite good at 3 things (give or take). One of them will probably be your job. One will probably be your relationships. You have time for 1 more. If you keep changing your mind about what that last one will be, then you will only be good at 2 things. There are ways to be good at only 1 thing as well…. or even 0… - HN
Entity component system (ECS)
An entity system is simply a part of your program that uses a particular way of breaking up the logic and variables of your program into source code. - Part2
Cascading Failure
A cascading failure is a process in a system of interconnected parts in which the failure of one or few parts can trigger the failure of other parts and so on. Such a failure may happen in many types of systems, including power transmission, computer networking, finance, transportation systems, organisms, the human body, and ecosystems. - wikipedia
"Shortage of programmers”
almost always means “we don’t want to pay full price for programmers”. - HN
Sculpter un visage (blender)
Dans cette vidéo nous allons voir comment sculpter dans Blender et tenter de se rapprocher du workflow de ZBrush en sculptant une tête. - sociamix
Blender
Blender is not a parametric modeler, so much as to say that object shapes are defined and placed in a modifier stack that can then later be changed.
Advice for Beginners
So You Wanna Buy a Telescope… - scopereviews.com
J-Pac / X-Box (Arcade)
Monter un PC dans une borne en utilisant le couple J-PAC – ArcadeVGA d’Ultimarc - gameover
0.999... == 1.0
More generally, every nonzero terminating decimal has two equal representations (for example, 8.32 and 8.31999…), which is a property of all base representations. The utilitarian preference for the terminating decimal representation contributes to the misconception that it is the only representation. For this and other reasons—such as rigorous proofs relying on non-elementary techniques, properties, or disciplines—some people can find the equality sufficiently counterintuitive that they question or reject it. This has been the subject of several studies in mathematics education. - wikipedia - HN
(CG) Ocean of Code
A Post-Mortem by pb4
ArtStation
The Showcase Platform for Art & Design - ArtStation
Conversations with a six-year-old on functional programming
“A function is like a machine where you put something in one end and something comes out the other end. For example, maybe you put a number in, and the number that is one bigger comes out. So if you put in three, four comes out, or if you put in six, seven comes out.” This clearly made sense to him, so I continued, “The type of a function machine tells you what kinds of things you put in and what kinds of things come out. So maybe you put a number in and get a number out. Or maybe you put in a list of numbers and get a number out.” He interrupted excitedly, “Or maybe you could put words in??” “Yes, exactly! Maybe you can put words in and get words out. Or maybe there is a function machine where you put other function machines in and get function machines out!” He gasped in astonishment at the idea of putting function machines into function machines. - Brent - HN
mintyPi: Retro gaming console in an Altoids mint tin!
Merits
Despite the moral assurance and personal flattery that meritocracy offers to the successful, it ought to be abandoned both as a belief about how the world works and as a general social ideal. It’s false, and believing in it encourages selfishness, discrimination and indifference to the plight of the unfortunate. - Clifton Mark
TinkerCAD
Robot Arm
mycobot - six-axis
reMarkable 2
The reMarkable is a paper tablet for those who prefer writing on paper, rather than keyboards. Its remarkably fast paper-white display, Linux based operating system and awesome community make it highly attractive amongst hackers and developers. - r/RemarkableTablet / reMarkable Guide
How to flash firmware under Linux in practice?
Well, I am feeling too old for jumping through several burning hoops to upgrade several firmwares via the usual vendor-specific way: Download some DOS tools, waste some time creating a (Free-)DOS boot medium and wasting more time to make the BIOS actually boot from that and finally flash the firmware upgrade. This is so 1980-ies. - StackExchange
Multi-Action Adversarial Games
In adversarial games, it is common that players take turns and hence the active player alternates between plies of the tree. The well-known Minimax algorithm makes use of this. However, in Hero Academy players take several actions before their turn ends. One possibility would be to encode multiple actions as one multi-action, e.g. as an array of actions, and assign itto one edge. Due to the number of possible permutations, this would raise the number of child nodes for a given game state immensely. Therefore, we decided to model each action as its own node, trading tree breadth for depth. - Togelius
Flow fields vs Potential fields
A potential field is a type of scalar field. In contrast, a flow field is a vector field. These are essentially just multidimensional arrays that are used as low level data structures for various pathfinding designs; there really is no “standard” algorithm equivalent to the ubiquity of A* for point-to-point pathfinding. - How are flow fields different from potential fields?
Tensegrity
This is a hanging table top where tension forces are used to keep the table upright and balanced instead of compression forces on standard legs. The end result is an object that seems to defy gravity and physics. - thingiverse / wiki / HN
Remove comments from C/C++ code
std::remove_if (c++)
The following code removes all spaces from a string by shifting all non-space characters to the left and then erasing the extra. This is an example of erase-remove idiom - cppreference.com
What functions solve f(2a) + 2f(b) = f(f(a+b))
Compute the following area
epaper
- Puts a Newspaper on Your Wall
- ReMarkable - HN
- Inky Impression / shop - 7 colour ePaper/eInk/EPD
Turning Smashed TVs into Realistic Artificial Daylight
Hamiltonian path
A Hamiltonian path (or traceable path) is a path in an undirected or directed graph that visits each vertex exactly once… Determining whether such paths and cycles exist in graphs is the Hamiltonian path problem, which is NP-complete. - wikipedia
Cognitive Biases In Software Development
There’s also cognitive bias bias - prematurely jumping to the conclusion that some opinion is simply based on cognitive bias, and should therefore be dismissed or contradicted. Basically, it’s good to use awareness of cognitive bias to moderate your own thinking, but if you signal to others that you think they are labouring under some bias don’t be surprised if they shut down the discussion ASAP. HN / article
The Brachistochrone
The curve for the fastest descent. - 3Blue1Brown
Nibble (4bits)
The nibble is used to describe the amount of memory used to store a digit of a number stored in packed decimal format (BCD) within an IBM mainframe. This technique is used to make computations faster and debugging easier. An 8-bit byte is split in half and each nibble is used to store one decimal digit. - wikipedia
(CG) TRON Battle
Mixmax (MCTS)
MCTS has been blamed for cowardly behavior in the sense that it often prefers a safer, certain option over a more promising but uncertain outcome. To change this behavior, [1] proposed to use MixMax, which uses a mix between the maximum and the average reward -
Defunctionalisation
Defunctionalisation is a well-known technique among compiler writers, but I consider it to be under-appreciated as a tool for writing good software more generally. It pairs up particularly well with the “initial algebra” pattern. - Patrick Stevens - HN
Undocumented CPU behavior
Progressive Jpeg
Unconditional code
Left Pack (AVX)
If you have an input array, and an output array, but you only want to write those elements which pass a certain condition, what would be the most efficient way to do this in AVX2? - SO
14 Band Spectrum Analyzer
14 Band Spectrum Analyzer Acrylic Tower
MOV is Turing Complete
The instruction we choose is mov, which can do both loads and stores. We use no unusual addressing modes, self-modifying code, or runtime code generation. Using just this instruction (anda single unconditional branch at the end of the program to make non termination possible), we demonstrate how an arbitrary Turing machine can be simulated. - pdf / HN
Test-induced design damage
When you stop driving your design first, and primarily, through your tests, your eyes will open to much more interesting perspectives on the code. The answer to how can I make it better, is how can I make it clearer, not how can I test it faster or more isolated. - The design integrity of your system is far more important than being able to test it any particular layer. - HN
Gears (Theory)
This problem can be solved by ensuring that the driving wheel physically pushes the driven wheel. This is where gears come in. Because the teeth of two meshed gears are interlocked with each other, the driving gear ends up pressing directly against the driven gear Bartosz Ciechanowski - HN
Consulting service (Big Data)
Retro Nixie Clock
Peristaltic Pump
Jpeg XL: Next Generation Image Format
The progressive mode in Jpeg and JPEG XL is quite different, because the quality is so much better your perception of it changes. Where Progressive Jpeg are literally useless before it finish loading, JPEG XL provides decent quality. - Imagecon 2019 - Jon Sneyers / HN / FLIF / browser support?
Floating point number (IEEE-754)
Instead of Exponent, think of a Window between two consecutive power of two integers. Instead of a Mantissa, think of an Offset within that window. - Floating point visually explained
CRT & Flat Panel Simulation
CRT Simulation
Devil’s Dictionary of Programming
Remote control an Arduino
Bluetooth
Pentoma
curl
Technical Debt Is Like Tetris
You can’t win. You can only control how quickly you lose. - Eric Higgins
Spinning a Lego Wheel FASTER
Space Invaders
One of the most influential video games of all time. - wikipedia
Homemade Lathe Machine
after a lot of work I will now show to you my best homemade lathe machine and I’m happy with the result I can now make more cool project using this new tools. - Lets Learn Something
A Big Little Idea Called Legibility
How, across dozens of domains, ranging from agriculture and forestry, to urban planning and census-taking, a very predictable failure pattern keeps recurring… The big mistake in this pattern of failure is projecting your subjective lack of comprehension onto the object you are looking at, as “irrationality.” We make this mistake because we are tempted by a desire for legibility. - Venkatesh Rao / HN
Mysterious join
Electronic Tools/software
9-segment mechanical counter
Lampe Pixel
What is worth desoldering from old electronics?
what is even worth desoldering and which parts you should avoid - GreatScott!
Path To Craftsmanship: Don’t Buy Awful Safety Gear
I’ve spent thousands of terrible long hours in safety gear working in the chemical industry. I was also fortunate to have a company who frequently searched for the best safety equipment as part of their regular program. I got to try out a lot. - Hackaday
DIY mass spectrometer
How to build and operate a simple mass spectrometer. Applied Science
Vector field Visualisation
You should write code like I write it
You should like it if I like it
Trust my choice and tag along
I am right and you are wrong
Build your own Variable Lab Bench Power Supply
Magnetic levitation vase
Hofstadter's Law
It always takes longer than you expect, even when you take into account Hofstadter’s low - Hofstadter’s Law
Let's do it
Go small, go simple, go now - Larry Pardey
The Floppotron
Built for fun
Heart of Bayes Theorem (3blue1brown)
LEGO sorting machine
Over two years in the making, this is the world’s first Universal LEGO Sorting Machine, an AI-powered automated sorting machine that is capable of recognizing and sorting any LEGO part that has ever been produced. - Daniel West
How to make a Vacuum Chamber ( for under $30 ! )
The organisational Complexity
The #1 bug predictor is not technical, it’s organizational complexity- Advent Calendar 2019
LASER
TL;DR version: Don’t waste your money on Cubiio. You’re never going to see it. If you somehow get it, you’ll be breaking the law by using it. - Laser Products I Hate
UHER 4200
Uher 4000 : le magnetophone portatif des annees 60-70s
Destination moon
Eye Mechanism Controller (Nilheim Mechatronics)
QR-Code
Ruby Main()
Purely Functional Retrogames
Then I realized that it wasn’t performance that was the issue, it was much more fundamental. I had no idea how to structure the most trivial of games without using destructive updates. - programming in the twenty-first century
The Right Angle
The Workbench
Making use of existing tools and being able to manage their shortcomings is an important engineering skill. - HN
Rings
Magnets
ESP32
M5 STACK
Zobbie : un petit robot Raspberry Pi à 6 pattes
Walking Robots
Ptr vs array access (C++)
Malice vs Incompetence
Malice comes and goes. Incompetence is systemic. - HN / Hanlon’s razor
3D Printing Gears
Retro Emulation System
Split sound tracker
Adam & Eve never met ?
Adam and Eve did exist… in a certain sense! In this episode, we’re talking about human genetics, chromosomes, and common ancestors. - youtube
Inkscape (vector drawing)
Inkscape is an open-source vector graphics editor similar to Adobe Illustrator, Corel Draw, Freehand, or Xara X. What sets Inkscape apart is its use of Scalable Vector Graphics (SVG)… - Home
BBC Micro:bit
Develloper en scratch sur microbit - Codeur JUNIOR confiné
The Expert
An expert is a person who has made all the mistakes that can be made in a very narrow field. - Niels Bohr
Strandbeest - Walking Pod
The Playa Crawler is what’s considered a “mutant vehicle” or “art car” and is a piece of kinetic art. I made it to be used as my own personal vehicle to get around at Burning Man and i wanted something interesting and unique so I created a chair that walks with the legs. the leg linkage was invented by Theo Jansen, a Dutch artist who creates this massive walking sculptures called Strandbeest that walk along the beach being pushed by the wind. - Playa crawler - Strandbeest
Add 3D Effects to Your Photos with Camera Projection Mapping
In this tutorial you’ll learn how to match a 3D camera to a photo using fSpy, project the photo onto 3D geometry in Blender and then render an animation using Eevee. - youtube
switch/case statement
case x
- Advanced techniques
Infectious Executable Stacks
In software development there are many concepts that at first glance seem useful and sound, but, after considering the consequences of their implementation and use, are actually horrifying. Examples include thread cancellation, variable length arrays, and memory aliasing. GCC’s closure extension to C is another, and this little feature compromises the entire GNU toolchain. - null program
Video Streaming
see also Stream MJPG video (µStreamer)
Syncthing
Syncthing est un logiciel open source. Il permet de synchroniser les répertoires de plusieurs machines à travers Internet au moyen d’une connexion P2P sécurisée. Ils fonctionnent sur diverses plateformes en plus de Linux, dont Windows, OS-X, Android… Ce qui permet de créer son propre cloud sans passer par des serveurs hébergés par des tiers ! - ubuntu / Home
OctoPi (obsolete)
A Raspberry Pi distribution for 3d printers. It includes the OctoPrint host software for 3d printers out of the box and mjpg-streamer with RaspiCam support for live viewing of prints and timelapse video creation. - OctoPi
CRCs vs Hash Functions
It’s inappropriate to use a CRC in place of a general purpose hash function because CRCs usually have biased output. It’s equally inappropriate to use a general purpose hash function in place of a CRC because general purpose hash functions usually do not make any guarantees on the conditions under which hash collisions can occur. - CRCs vs Hash Functions
LCD touch screen 3,5 pouces (Pi)
Amazon / MHS-3.5inch Display
- affichage double ecran possible (hdmi + lcd)
- 3.5inch TFT SPI 320*480 (Pixel)
- Touch Screen Controller: XPT2046
- LCD Driver IC: ILI9486
Papa bonheur (Message à caractère informatif)
Avec les gosses faut être psychologue…
Spherical Parallel Manipulator
Timelapse 3d print and build of Contra-rotating Propeller Model from Thingiverse.
Linux Market
To me, looking at the numbers I’ve tried to assemble above, the Linux Desktop is a niche, LibreOffice, Blender and Krita are not. - Back from the Blender Conference 2019
Sweet Dreams + White Stripes Mashup
Why the fuck was I breached?
Let's build a 6502 computer from scratch
It just sits here succesfully doing nothing forever - Ben Eater
Atomic Number
Traditional multi-threading approaches use locks to protect shared resources. Synchronization objects like Semaphores provide mechanisms for the programmer to write code that doesn’t modify a shared resource concurrently. The synchronization approaches block other threads when one of the thread is modifying a shared resource. Obviously blocked threads are not doing meaningful work waiting for the lock to be released. Atomic operations on the contrast are based on non-blocking algorithms in which threads waiting for shared resources don’t get postponed. Atomic operations are implemented using hardware primitives like compare and swap (CAS) which are atomic instructions used in multi-threading for synchronization. - SO
Saving model configuration (Cura 3MF)
3MF file format and why it’s great - Prusa
Oorobot exercice
Start (with keyboard / with block)
Build your own ...
see Many tutorials / HN
OSTree (backup)
Code vs Data
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships. - Linus Torvarld
Build Your Own Thrust Vectored Rockets
Search the old internet
https://millionshort.com/ lets you exclude that thick layer of corporate shite. Search without the top million (or 100k, 10k etc) sites. !mill from DDG. - HN
Borg / Restic (backup)
Restic is borg with more whistles (backing up to various places), but borg is the more trusted tool with the longer history (just use SSH and be done with it). - HN
Uptime 15,364 days (Voyager I)
Many applications running for long periods of time eventually transition to broken states, and cannot recover except by being restarted. - HN
Financing Research
If you pay a man a salary for doing research, he and you will want to have something to point to at the end of the year to show that the money has not been wasted. In promising work of the highest class, however, results do not come in this regular fashion, in fact years may pass without any tangible result being obtained, and the position of the paid worker would be very embarrassing and he would naturally take to work on a lower, or at any rate a different plane where he could be sure of getting year by year tangible results which would justify his salary. The position is this: You want one kind of research, but, if you pay a man to do it, it will drive him to research of a different kind. The only thing to do is to pay him for doing something else and give him enough leisure to do research for the love of it. - Attributed to J.J. Thomson
Marching Cube (Coding Adventure)
A high resolution 3d surface construction algorithm - intro - pdf / Marching squares
Dessiner
10 Petits DESSINS faciles à faire - Tutos draw
Krita (digital paint)
Premature optimization
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified. It is often a mistake to make a priori judgments about what parts of a program are really critical, since the universal experience of programmers who have been using measurement tools has been that their intuitive guesses fail. - Donald Knuth
Fighting games & delay-based / rollback netcode
How to design your game for optimal play over a network. - arstechnica
CoinOPS
Currently at version 8, CoinOPS is a front-end that is intended to be a games repository with a simple, attractive, and intuitive interface - Home
Life of Boris
DIY Cable Chain
If you’ve built a 3D printer, CNC, laser cutter, or basically any piece of electrical equipment that moves around, then you’ve run into the problem of securing the bundle of wires that such machines always require. The easy way out is to zip tie them all up into a tight harness or put them in commercially available wraps or sleeves, but these don’t really impart any mechanical strength on the wires. With repetitive motion it’s not unheard of to break a conductor or two, causing intermittent failures and generally leading to a painful diagnostic session trying to isolate the broken wire. - hackaday
Simpson Paradox (statistics)
Facteur de confusion ScienceEtonnante
Make Linux run blazing fast (again)
If you’re not into currency trading or high finance or military contracting or anything of that nature and you’d just like to get maximum performance for your Steam games then adding this is simple switch to your kernel parameters will leave you wide open to all the security risks for maximum excitement and squeeze back every bit of performance you used to get from your Intel CPU: mitigations=off - linuxreview.org
Page Dewarping
Flattening images of curled pages, as an optimization problem. - Needlessly complex
The Moon
Syntax matters
Programming language experts like to claim that syntax doesn’t matter, that semantics is all that counts. Don’t believe them! They’re overrotating on a common, pre-rigorous misunderstanding of language design as superficially aesthetic. The study of semantics does provide deep insights into the mechanics of languages—but the mechanism is not the mental model. Design requires engaging with the way people express their programs, and syntax is a “tool of thought”. - Stroustrup’s Rule and Layering Over Time
Make a table saw
Coding Minecraft in One Week
D Language
D is a general-purpose programming language with static typing, systems-level access, and C-like syntax. - Home
I2C bus
Wires (Two)
- SDA (serial data)
- SCL (serial clock)
Cura Slicer
3D slicing software from Ultimaker that prepares a 3D model for printing - Ultimaker / r/ultimaker
Voronoi Diagram
a Voronoi diagram is a partition of a plane into regions close to each of a given set of objects. - wikipedia
Easy Plastic Reconstruction and Repair
Perpetual Flip Calendar
Mr. Puzzle
Meshlab
the open source system for processing and editing 3D triangular meshes. - Home
Climate War
Comment osez-vous ? Vous avez volé mes rêves et mon enfance avec vos paroles creuses. Les gens souffrent, les gens meurent. Des écosystèmes entiers s’effondrent, nous sommes au début d’une extinction de masse et tout ce dont vous pouvez parler, c’est de l’argent et du conte de fée d’une croissance économique éternelle. Comment osez-vous ? Depuis plus de quarante ans, la science est claire comme du cristal. Comment osez-vous regarder ailleurs et venir ici en prétendant que vous en faites assez ? (…) Vous dites que vous nous entendez et que vous comprenez l’urgence mais je ne veux pas le croire. - Greta Thunberg
Linux Mint Desktop
one of the best alternatives to Microsoft Windows and Apple MacOS. - Linux Mint / Cool desktops don’t change
Workbench Tools (arduino)
Resistor color code calculator
Dependencies (Fastware 2017 - Andrei)
To some extent, optimization is to our industry what sexual intercourse is to teenagers. There’s a veil of awesomeness surrounding it; everybody thinks it’s cool, has an opinion about it, and talks about it a great deal; yet in spite of ample folklore, few get to do it meaningfully or at all. - There’s Treasure Everywhere (NDC 2017)
There's Treasure Everywhere - (Fastware 2016)
Optimisation tips - Andrei
The Art of Benchmarking
Have a good baseline! - code::dive / Fastware 2015 - Andrei
Systematic Error Handling in C++ (2012 - Andrei)
C++ and Beyond 2012
- error handling is about error in the inputs, not bug.
- hardware work
- program is correct
- opposed tp general reliability
- but consider
- network error
- device error
- data error
Hypothesis
- bad error handling engenders errors
- insufficient testing make improbable error scenario
- legit error lead to corrupt programs
Benchmarking C++
Measuring gives you a leg up on experts who don’t need to measure - Have a good baseline!
Expect the expected (2018 - Andrei)
Reinventing exceptions.
The Most Average Function There Is (NDC2019 - Andrei)
That’s the same program must be read by people and executed by machines is the quintessential tragedy of all computing - anonymous
- Everything is an object ?
- Everything is an function ?
- Everything is a List ?
- Everything is immutable ?
- … somehow
Super Slow 3D
Optimizing scenes for better performance
Here we recommend some optimization techniques that proved to work well for creating web-based interactive experiences.- Verge3D Manual
Clojure Design Patterns
Benchmarking (Fastware 2018 - Andrei)
Optimizing
- reduce noise from mesurement
- extract from application
Reliable Euristics
- Computer like Boring / hate surprise
- Branching - replace branch with arithmetic
- Dependencies ( x = y + z)
- Indirect calls
- Indirect write
- Strengh Hurts
- Small is beautiful
Beating std::sort - Andrei
the complexity was set to being O(n log n) comparisons on average. /
Generic programming is not bad, but it’s not enough. - Speed Is Found In The Minds of People (CppCon 2019 - Andrei) / r/cpp/
Bit Permutations
This is a description of several bit permutation types as well as some routines performing them - home
Line spent
… if we wish to count lines of code, we should not regard them as “lines produced” but as “lines spent”: the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. - Edsger W. Dijkstra
Airsim
AirSim is a simulator for drones, cars and more, built on Unreal Engine (we now also have an experimental Unity release). It is open-source, cross platform, and supports hardware-in-loop with popular flight controllers such as PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment. Similarly, we have an experimental release for a Unity plugin. - github - HN
Project Naptha (ocr)
automatically applies state-of-the-art computer vision algorithms on every image you see while browsing the web. The result is a seamless and intuitive experience, where you can highlight as well as copy and paste and even edit and translate the text formerly trapped within an image. - Project Naptha
Dr. No (IRL Marco Reps)
Box86
3D Ken Burns Effect from a Single Image
Absolute scale corrupts absolutely
The pattern is: the cheaper interactions become, the more intensely a system is corrupted. The faster interactions become, the faster the corruption spreads. - The Internet has gotten too big.
Misunderstanding Exceptions
It is funny how people think that the important thing about exceptions is handling them. That is not the important thing about exceptions. In a well-written application there’s a ratio of ten to one, in my opinion, of try finally to try catch. - Anders Hejlsberg, designer of Turbo Pascal, Delphi, and C#
Mechpen
The idea was to have a robot arm that could sketch on a rather large surface. - alex
Identity?
The traditional definition of multi-factor authentication (although I couldn’t find a reference to where it originated) is that you should have two or more of:
Something you know (eg. a password)
Something you have (eg. a card)
Something you are (eg. a fingerprint or retinal scan).
The three factors aren’t independent / HN
Printing miniatures
Screw & Threads
In traditional CAD systems modelling screw threads is discouraged because it puts a big load on the modelling kernel, as well as on the rendering of the shapes… However, with the popularization of additive manufacturing (3D printing), there is now a real need to model 3D threads, in order to print them exactly as designed. - Thread for Screw Tutorial / Thread Anatomy- (In less than 5 min!)
How to Create Models Larger Than a 3D Printer's Build Volume
splitting a model into smaller parts that can be combined after printing is a great solution to creating objects larger than what fits on a build platform. - Bonding the Parts
Word2Vec: A Word is Worth a Thousand Vectors
That word vectors represent much of the information available in a dictionary definition is a convenient and almost miraculous side effect of trying to predict the context of a word. - article
Perceptual Hash (phash)
A perceptual hash is a fingerprint of a multimedia file derived from various features from its content. Unlike cryptographic hash functions which rely on the avalanche effect of small changes in input leading to drastic changes in the output, perceptual hashes are “close” to one another if the features are similar. - phash.org
Don’t invert that matrix
There is hardly ever a good reason to invert a matrix… you’re still better off solving Ax = b than multiplying by A-1, even if the computation of A-1 came for free. Solving the system is more numerically accurate than the performing the matrix multiplication - Cook
# Pico-8 - Virtual Fantasy Console
PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. It feels like a regular console, but runs on Windows / Mac / Linux. When you turn it on, the machine greets you with a commandline, a suite of cartridge creation tools, and an online cartridge browser called SPLORE. - r/pico8 / Showcase / online / v0.2.6d
Fast Search in Hamming Space with Multi-Index Hashing
Build multiple hash tables on binary code substrings that enables exact K-nearest neighbor search in Hamming space. The algorithm is straightforward to implement, storage efficient, and it has sub-linear runtime behavior for uniformly distributed codes. - Fast Search in Hamming Space with Multi-Index Hashing / SO
Image Compression with Singular Value Decomposition
Any set of images can be broken down with Principal Component Analysis. This has been done pretty successfully with faces. Here we’ll take a look at style.- Principal Component Analysis and Fashion / github
Tracking Cube & Solver
Recognising Rubik Cube - backup
Hough Transform
The Hough transform and the Radon transform are indeed very similar to each other and their relation can be loosely defined as the former being a discretized form of the latter… However, the Hough transform is a quick algorithm that can be prone to certain artifacts. Radon, being more mathematically sound, is more accurate but slower. - stack
Le Monde ...
… est composé de flèches et de molécules, et d’électricité,comme le Big-Bang tu vois, et tout ça ensemble, ça forme l’Univers. - JCVD
A 2019 Guide to Speech Synthesis with Deep Learning
Openscad libraries
# Ender 3
a Popular fully Open Source 3D printer - github / r/ender3 / klipper config
Polyglot System packager (fpm)
Make it easy and quick to build packages such as rpms, debs, OSX packages, etc. fpm - packaging made simple
Bash (shell)
Run multiple commands and kill them as one
use subshells with background commands.
Raspbian (ARM)
Raspbian is not affiliated with the Raspberry Pi Foundation.- raspbian.org
# Docker container & Cgroup
Docker’s value proposition is convenient. reproducible, self-contained packaging of software. It’s the ability to deploy pieces of existing, battle-tested, gnarly and imperfect software next to each other, and care not about their conflicting or missing dependencies. It’s more like Flatpak or AppImage, only more popular and easy. - HN / The What, Why and How of Containers
Small stepper motor (28BYJ-48)
These motors come in a variety of flavors, from the four-wire deals you find in 3D printer builds, to motors with five or six wires. Unipolar motors – the ones with more than four wires – are easier to control, but are severely limited in generating torque. Luckily, you can use any unipolar motor as a more efficient bipolar motor with a simple xacto knife modification. - hackaday.com
Opencv on Raspberry pi
OoRobot
Build Image (docker)
LCD1602 display (arduino)
Using LCD Displays with Arduino (DroneBot WS)
- half bit mode (4 line data)
- LiquidCrystal librairy
- scrolling
- custom characters
- i2c adaptor
- openscad model
Arduino UNO Pinout
SPI bus (arduino)
MAX7219 multiplexing LED driver (Nick Gammon)
H-Bridge Motor Driver (arduino)
- PWM – For controlling speed
- H-Bridge – For controlling rotation direction
Deboucing switches (Nick Gammon)
Sensor shield (arduino)
Drivable area detection
https://duckduckgo.com/?q=drivable+area+detection&t=lm&ia=software
Wheel syncronisation
The right way to do this is to measure the speed of each wheel and use a PID library to set the PWM output to each motor in order to obtain a commanded motor speed. This is a nice way to do it because you can change the setpoints at will to change the speed or to steer (use different commands). - forum
Theoremes du point fixe
Etant donné un ensemble E et une famille de fonctions f définies sur E et à valeurs dans E, ces théorèmes permettent de justifier qu’il existe un élément x de E tel que pour toutes les fonctions considérées on ait1 f ( x ) = x {\displaystyle f(x)=x} f(x)=x. - wikipedia
Interrupt (arduino)
Opto-interrupter (arduino)
Power Supply Module (arduino)
XScreensaver (jwz)
Wi-Fi Controlled Relay (Null Byte)
Using a NodeMCU
Grep (cli)
False simplicity
How interactions between many pieces makes the whole thing complex - HN
Smart Car Robot Kit
DIY Kit
- Kit presq complet - 22€
- liv chine - 14€
- chassi Olimex - 16€
- chassi classique - 10€
Peertube
Matrix Keypad & array (Arduino)
DroneBot Workshop
Younger self
See you latter - self
Graphic Calculator
Fuzzy down selection (fzf)
Calipers
Things you should never do
Rewrite application from scratch - joelonsoftware
Memoization
an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again. - wikipedia
Tail call optimisation (TCO)
avoid allocating a new stack frame for a function because the calling function will simply return the value that it gets from the called function. The most common use is tail-recursion, where a recursive function written to take advantage of tail-call optimization can use constant stack space. - SO
Apollo Live
malloc / mimalloc (Microsoft research)
Use YouTube to improve your English pronouciation
The Sun
Planet ans Sun size comparison - images
Tesseract + OCRFeeder (OCR)
Tesseract 4 adds a new neural net (LSTM) based OCR engine which is focused on line recognition, but also still supports the legacy Tesseract OCR engine of Tesseract 3 which works by recognizing character patterns. - Github
The Circle
How do we know that the circumference of every circle has the same ratio π to its diameter? The following theorem assures us. Circles are to one another as their circumscribed squares - Euclid, XII, 2
Hyrum's Law
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody. Hyrum’s Law - [HN]
Rolex
Si tu as une rolex au poignet, mais que tu ne dis que des conneries, est-ce que tu as vraiment réussi ta vie ? - Yann Barthez
Editors Journey
- … - VS Code (Win/linux)
- 2018 - Sublime text (Win/linux)
- 2015 - Visual Studio (Win)
- 2000 - (X)/Emacs (sun)
- 1995 - BBEdit / CodeWarrior (Mac)
ATX Power
Advanced Data Struture
data structures are essential building blocks in obtaining efficient algorithms. This course covers major results and current research directions in data structures - Erik Demaine / [HN]
# Systemd
We can create all sockets for all daemons in one step in the init system, and then in a second step run all daemons at once. - Rethinking PID 1 / systemd
Crypto
Password
Shortest code (Ruby)
Tips
Read inputs
# Ruby
L'illusion du labeur
This will take some time …
Flood-fill & Diffusion Map
-ffast-math (g++)
(CG) Code of Ice & Fire
Exiting Ruby block
What return, break and next means for blocks
- Use return to return from a method.
- Use break to quit from a block and from the method that yielded to the block.
- Use next to skip the rest of the current iteration.
SAT solver
A* search
A* is a modification of Dijkstra’s Algorithm that is optimized for a single destination. Dijkstra’s Algorithm can find paths to all locations; A* finds paths to one location, or the closest of several locations. It prioritizes paths that seem to be leading closer to a goal. - Red Blob Games / Introduction to A*
Map and Remove nil values (Ruby)
Rounding Number (Ruby)
Sanity
Human beings live in a state of mind called ‘sanity’ on a small planet in space. They are not quite sure whether the space around them is infinite or not (either way it is unthinkable). If they think about time, they find it inconceivable that it had a beginning. It is also inconceivable that it did not have a beginning. Thoughts of this kind are not disturbing to ‘sanity’, which is obviously a remarkable phenomenon and deserving more recognition. - The Human Evasion - [HN]
Find duplicate
Mount drive outside of Synology Box
Copy file with progress (cp)
A command that looks for coreutils basic commands (cp, mv, dd, tar, gzip/gunzip, cat, etc.) currently running on your system and displays the percentage of copied data. It can also show estimated time and throughput, and provides a “top-like” mode (monitoring). - progress
NFS - Network File System
In a closed network (where you know every device), NFS is a fine choice. With a good network, throughput it disgustingly fast and at the same time less CPU intensive on the server. It’s very simple to set up and you can toggle readonly on shares you don’t need to be writeable. - NFS vs Samba
Authentication, authorization, and directory information
Mathics – A free, light-weight alternative to Mathematica
Buse d'impression
Kernighan's lever
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it? — The Elements of Programming Style, 2nd edition, chapter 2
How to print a tree structure?
With Recursion - SO / How to print binary tree diagram?
Unraveling the JPEG
Use mmap with care
When we implemented the git portion of Sublime Merge, we chose to use mmap for reading git object files. This turned out to be considerably more difficult than we had first thought. Using mmap in desktop applications has some serious caveats, and here’s why… - Sublime HQ - [HN]
VSCode remote
CodeServer Run VS Code on any server over SSH. A precursor of VS Code Remote Development
# SSH
Your ssh key should never leave a host. That should be a policy and you should write rules to detect when that policy is being violated (check for processes accessing the file).
If you need access from N computers you should be generating N keys. - HN
OpenCV Tutorials
Youtube-dl
download videos from youtube.com or other video platforms - youtube-dl.org
Stereograms
They were popular in the ‘90s under the brand “Magic Eye.” - Adventures in Stereograms / r/MagicEye / HN
Backup Day - rsync
sometime early on Friday, the server this blog is hosted on suffered catastrophic data loss. - International Backup Awareness Day
Wake-up / shutdown (linux)
How to configure power buton/ wake-on-lan and autoshutdown.
# OpenCV
C++ external binding
A zero-cost, compile-time, reflection-based, pure C++(20) solution to the quadratic glue MxN problem - celtera/avendish
Learning to see (Welch Labs)
In this series, we’ll explore the complex landscape of machine learning and artificial intelligence through one example from the field of computer vision: using a decision tree to count the number of fingers in an image. It’s gonna be crazy. Welch Labs
Solvespace
SOLVESPACE is a free (GPLv3) parametric 3d CAD tool - Home
ImplicitCAD (defunct?)
ImplicitCAD: Powerful, Open-Source, Programmatic CAD - [HN]
What *is* a Neural Network?
But what is a Neural Network? - 3blue1brown
Resize/Crop Image (How to)
Resize
- open with gThumb Editor
OnShape
Software-as-a-Service (SaaS) CAD / used to have a free tier - Signin
Ansible vs Terraform (draft)
Google product / Open source equivalent
Convolutional Neural Networks for Visual Recognition (stanford.edu)
Ansible-NAS
Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook. - davestephens/ansible-nas
80's Style Animation Loop (Blender)
Threaded Inserts in 3D Prints
How to rotate display back and forth with keyboard
xrandr + cinamon
Have We Forgotten about Geometry in Computer Vision?
Deep learning has revolutionised computer vision. Today, there are not many problems where the best performing solution is not based on an end-to-end deep learning model. In particular, convolutional neural networks are popular as they tend to work fairly well out of the box… I am going to argue that people often apply deep learning models naively to computer vision problems – and that we can do better. - article / [HN]
How to Build a Drone
Becoming a product manager
How to Pass the Product Manager Interview
- It’s important that you understand the product.
- It’s important that you understand the main target audience of the product.
- It’s important that you understand what the competition does.
Primitive Pictures
Reproducing images with geometric primitives. github / Primitive for macOS
Fun society
Mr Robot is coming back
YOLO: Real-Time Object Detection
3d Point Cloud library
The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. - Point Cloud Library (pcl)
You don’t need standup
Effective teams question everything. They also trust each other. They also get a lot of shit done.- Medium
3D Scanning Entire Rooms with a Kinect
New version
Shiny new things - End of the line (MonkeyUser.com)
Golang
a language that makes it quite easy for enterprises to deal with developers as cogs. – HN
Calvin and Hobbes (3D skech)
Temperature sensor tutorial (arduino)
These sensors use a solid-state technique to determine the temperature. … they use the fact as temperature increases, the votage across a diode increases at a known rate. By precisely amplifying the voltage change, it is easy to genereate an analog signal that is directly proportional to temperature. Because these sensors have no moving parts, they are precise, never wear out, don’t need calibration, work under many environmental conditions, and are consistant between sensors and readings. - Tutorial
Prolog
Heimdall Application Dashboard
One of the benefits to Heimdall is you can add a link to absolutely anything, whether it’s intrinsically supported or not. With a generic item, you just fill in the name, background colour, add an icon if you want (if you don’t a default Heimdall icon will be used), and enter the link url and it will be added. - heimdall
Sonar Distance Sensor
# ZFS (Ubuntu)
ZFS unlike most other storage systems, it unifies both of these roles and acts as both the volume manager and the file system. Therefore, it has complete knowledge of both the physical disks and volumes - wikipedia
How to Iterate the Right Way
If any of you have written code in the last year that had an explicit loop […], you don’t understand collections. David West.
Which Programming Languages Use the Least Electricity?
On average, compiled languages consumed 120J [joules] to execute the solutions, while for a virtual machine and interpreted languages this value was 576J and 2365J, respectively.- article (2018) [HN]
Hacking the Attacknid
The hexapod is the clever design work of Jaimie Mantzel, a somewhat eccentric Canadian inventor. In fact, the Attacknid is really a miniature version of the Giant Robot Mantzel recently finished building. What makes Mantzel’s design impressive is that despite its six legs, only two DC motors control its movement — compare that with the 12 servo motors minimum you’d find in any other six-legged walker. - Arduino project: Hacking the Attacknid
Murphy's law is a corrolary
On n’est pas a l’abri d’un coup de chance - Fermat team
Full fast disk copy
ZFS RAID - which to choose ?
Parity protection is a common technique for reliable data storage on mediums that may fail (HDDs, SSDs, storage servers, etc.) Calculation of parity uses tools from algebra in very interesting ways, in particular in the dual parity case. - How RAID-6 dual parity calculation works
The Intellectual Yet Idiot
Beware the semi-erudite who thinks he is an erudite. He fails to naturally detect sophistry. - Skin in the Game
Hash id's
Generate short unique ids from integers - Home
Software diseconomy of scale
Small teams frequently outperform large team, five people working as a tight team will be far more productive per person than a team of 50, or even 15. (The Quattro Pro development team in the early 1990s is probably the best documented example of this.) - article
Is reference counting slower than GC?
“Reference counting is slower than garbage collection”, a claim often made in the discussion of memory management. - blog
How to Get Fired Using Switch Statements & Statement Expressions
The Big Hex Machine
The Big Hex Machine is a giant, yet simple, 16-bit computer specifically designed to explain how a computer works. Its instruction set requires a very small compiler, but it is powerful enough to implement useful programs. - Home
Hacker News Books
The top books mentioned in comments on Hacker News this week.
Initializing static template member
Since it is part of a template, as with all templates the compiler will make sure it’s only defined once. - SO
Comics book reader
Reading comic book on linux.
500 Byte Images: The Haiku Vector Icon Format
Haiku uses a custom vector image format to store icons… The goal of the Haiku Vector Icon Format (HVIF) is to make vector icon files as small as possible. This allows Haiku to display icons as several sizes while still keeping the files small enough to fit into an inode (i.e., inside a file’s metadata). - article
The lost Vikings
In my previous blog post I talked about reverse engineering the virtual machine used to implement objects in the Lost Vikings… In the first blog post I suggested that creating a simple language and compiler would be useful for further reverse engineering the virtual machine. So, I did. - Recompiling the Lost Vikings / HN
Linux IDE
The Lost Art of Structure Packing
Opportunity / Talent distribution
I am, somehow, less interested in the weight and convolutions of Einstein’s brain than in the near certainty that people of equal talent have lived and died in cotton fields and sweatshops. - Stephen Jay Gould
Image viewers
Fast and quick browsing, with few features & easy shell integratoin.
Life objective
Man. Because he sacrifices his health in order to make money. Then he sacrifices money to recuperate his health. And then he is so anxious about the future that he does not enjoy the present; the result being that he does not live in the present or the future; he lives as if he is never going to die, and then dies having never really lived. - Jim Brown [0][1]
Image libraries
A pretty big list of C++ GUI libraries - r/cpp / C++ UI Libraries
EXT4 filesystem history
Take a walk through EXT4’s history, features, and optimal use, and learn how it differs from previous iterations of the EXT filesystem. - An introduction to Linux’s EXT4 filesystem
ZFS Deduplication
Disk Tool & Diagnostic
How to do distributed locking
It’s important to remember that a lock in a distributed system is not like a mutex in a multi-threaded application. It’s a more complicated beast, due to the problem that different nodes and the network can all fail independently in various ways. - What are you using that lock for? / [HN]
Monte Mario: Platforming with MCTS
ELO World / Competitive Ranking
The Supreme Backdoor Factory
Thimbleweed Park
The Kickstarter campaign didn’t just earn those $375k they asked for, it went two thirds overboard. This meant that in February 2015 David Fox could join to reunite the Maniac Mansion trio. Three months later Mark also became available for full-time work and with the extra funds in the bank Gary got his #1 player pick to work on the game’s backgrounds. - Points & Click like it is 1990
m4 processor
m4 is a macro processor, in the sense that it copies its input to the output, expanding macros as it goes. Macros are either builtin or user-defined, and can take any number of arguments. Besides just doing macro expansion, m4 has builtin functions for including named files, running shell commands, doing integer arithmetic, manipulating text in various ways, performing recursion, etc.… m4 can be used either as a front-end to a compiler, or as a macro processor in its own right. - GNU M4
Lisp macros for C
A macro is a function that operates on your code’s abstract syntax tree rather than values. Macros in cmacro have nothing to do with the C preprocessor except they happen at compile time, and have no knowledge of run-time values.
Macros are written directly in the source, and the cmc program is used to process a file with macros to a macroexpanded file. - cmacro
Abusing Forced Inline in C
presents the reader ways to abuse forced inlining, which is supported by both GCC and Microsoft Visual C/C++ compiler. - blog
SUM( null) != null + 0
String litterals (Ruby)
Heredocs are cool & useful - C++,D,Ruby,Python
(un)-force-inline helper - (Fastware 2014 - Andrei)
VTune
Advanced Database (Andy Pavlo)
from [HN]
On va faire une reunion
Bienvenue à tous dans cette réunion…
Real pinball (DIY)
Pinball Chameleon’s Guide to DIY Pinball Machine Construction - blog
La Réserve de Patzounga
Au coeur de la reserve de Patzounga, c’est établit une singulière communauté de petit mamifère…
Future Pinball (obsolete)
A Real Time Pinball Development System - HN
Particule fine
PM2.5 is of interest because it’s a size that your body has a harder time getting rid of. Larger size particles have an easier time being captured by the upper respiratory system. Smaller things might make it into the blood stream and hopefully be filtered by the kidneys. 2.5 microns is right at the point between where either thing is less likely to happen and instead the stuff might get stuck in your lungs. - HN
Setting Up a Renderfarm (Blender)
The Helmer filing cabinet from IKEA serves as the perfect enclosure for a small farm. It’s actually kind of bizarre how well it houses all the components. And you can pick one of these up for $40 - and even in a few different colors. I feel like RED or YELLOW would make your farm run at least 2% faster - blender tutorial
Openscad
Chafa
The worst ANSI art renderer, except for all the others - Home
Sound tracker
Furnace – the biggest multi-system chiptune tracker ever made - HN
jwt.io
Compiler for free
Programs that manipulate other programs are powerful, interesting and fun. I’ll use Ruby to take you on a tour of how interpreters and compilers work, introduce the ideas behind a technique called partial evaluation, and explain a surprising computer science result which allows compilers to be generated automatically. - Codon / [HN]
telecommand boitier HD non reconnu
Let’s Create a Speech Synthesizer (Bisqwit)
with a Finnish Accent! - Bisqwit
Physically Based Shading
Let's make a Ray-Marcher [SH17C]
Raymarching of distance field proved super powerful for creating rich images with complex shapes procedurally and interesting efficient lighting effects in a minimal amount of code. Not only the actual content creation code modeling was small, but the actual renderer itself, the whole technical setup to sinthetize images was ridiculously compact comparing to a mesh based rasterizer or raytracer. So, the exercise became really fruitful and I produced 5 images in 2008 alone that I presented to the “4 kilobyte Procedural Image” category of different demo partys across Europe. - inigo quilez
Graphics Library Shader Language (GLSL)
Raytracing with Shadertoy
Online raytracing tutorial using Shadertoy. - yduf
RayTracing in 256 lines
PC 2019 (NAS)
After some experience with a small Synology NAS, and experencied the blue led of death (fortunatly solved), I decided to move to my own hardware supporting ZFS with Raid 5. - yves
MiSTer: Run Amiga, SNES, NES and Genesis on an FPGA
Tactical Pod Regult
Battle Pods featured in the Super Dimension Fortress Macross television series. - robotech-wiki / maquette
PCIe interface
M2 interface (NGFF)
M.2 is interesting not just because it can speed up storage with PCI Express lanes, but because it can use a whole bunch of different buses too; it stands to replace both mSATA and mini PCI Express, two older standards that have been used for SSDs and Wi-Fi cards in laptops for a while now. Intel’s new Broadwell CPUs and their chipsets include native support for M.2 and PCI Express boot drivers—neither PCIe-connected storage (hi Apple) nor the M.2 connector itself are new, but beginning with Broadwell systems each of those two things will become much more common. - Understanding M.2
RJ45 / RJ11 tel
# Freebox / Internet
Numéro de téléphone du service client 3244
Switch Pitch (toy)
Et dites-vous bien que ...
Dans la vie, ne pas reconnaître son talent, c’est favoriser la réussite des médiocres. - Audiard
Ray Tracing in One Weekend
I decided to adapt my course notes into a how-to, to get you to a cool program as quickly as possible. It will not be a full-featured ray tracer, but it does have the indirect lighting which has made ray tracing a staple in movies. Follow these steps, and the architecture of the ray tracer you produce will be good for extending to a more extensive ray tracer if you get excited and want to pursue that. - Peter Shirley / HN
I.S.S Virtual tour
Guitar
Boom ! (visual)
Scratch 3.0
La malédiction de Cantor
La somme de nos connaissances est toujours inférieure à la somme de celles qui nous manquent. - yduf
Structuring, Grouping, and Referencing in SVG
Making of draggable handles
For some of my projects I want the reader to drag something around on a diagram. - redblobgames / Draggable objects
SVG: Scalable Vector Graphics
JS Fiddler (online)
Web dev online - Home
Synology Hybrid RAID (SHR)
Blue Blinking LED of Death (Synology)
After a power failure during the night, the Synology NAS didn’t reboot properly. The blue led (power) blinking indefinitely.
RSI prevention
Overcoming Repetitive Strain Injury(RSI) - What worked and what didn’t
Programming using voice
Observable
Perform ad hoc exploratory analysis and build custom interactive dashboards - Online playground
Methodologies Surface Hidden Risks
Guestimate
Lazy Code (c++)
[Floating-point] math is hard
This one gives solid advice and some surprising observations about the tricky subject of comparing floating-point numbers. - Comparing Floating Point Numbers, 2012 Edition / HN
DOOMBA
The pawn
You are on a gravel path leading north to two snow capped mountains. To the west is a dying forest. Eastward is a vast, grassy plain and the path also continues southward. - online
Connected component labeling
Bitmap
- Hoshen–Kopelman algorithm / 2 - The algorithm makes two passes over the image: the first pass to assign temporary labels and record equivalences, and the second pass to replace each temporary label by the smallest label of its equivalence class.
- the HK-algorithm is really just a special application of the Union-Find algorithm
- Image processing learning ressource
Handling simultaneous move (Smitsimax)
UTC forest - Smitsimax
Architecture Astronauts
When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don’t know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and fine, but don’t actually mean anything at all.
Utf8 Maze Generator
Utf8 Maze generator with source - Online
Make (build tool)
Check proper tab usage: “
cat -e -t -v Makefile
” - tab inferno
Lost in Maze
Labyrinth Algorithms with code
- A* Search (Amit) C++
- Breadth First Search (BFS)
- Depth First Search (DFS)
Sphere surface = 4x its shadow
- the surface of a sphere is the same as it’s projection on a containing cylinder.
- it’s equal to 4 times it’s shadow.
- a rectangle on the sphere and it’s projection on the cylinder account for the same surface.
- the surface area for a sphere (4.pi.R²) is just the derivative of its volume (4/3.pi.R³).
- the perimeter of a circle (2.pi.R) is the derivative of its area (pi.R²). (this should be obvious a fundamental calculus)
3Blue1Brown / [HN]
AVX switch penalty
Every time you improperly switch back and forth between SSE and AVX instructions, you will pay an extremely high (~70) cycle penalty. - [SO]
AVX Framework (C++)
Multiple return values (C++17)
Duff's Devices
Fused Multiply and Add (FMA)
The instruction required for improving precision of floating point calculus - FMA with gcc
Does it matters ?
When it starts to matter, I’ll spend the time looking into it. Until then, I try to know just enough to clue me into whether it might matter. - [HN]
Threads
In many environments, multi-threaded code is written in a language that was originally designed without thread support (e.g. C), to which a library of threading primitives was subsequently added. There appears to be a general understanding that this is not the right approach. We provide specific arguments that a pure library approach, in which the compiler is designed independently of threading issues, cannot guarantee correctness of the resulting code. - Cannot Be Implemented As a Library (Boehm)
Unscii
MCTS-Minimax Hybrids
NegaMax (Minimax)
# Git
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows. - Home
Learning How To Ride: Electric Unicycle
Paper Airplane Designs
Graphviz
Let's play tic-tac-toe (draft)
Defining the game
Reading bits in far too many ways
It turns out that MSB-first and LSB-first packing conventions both have advantages and disadvantages, and it’s much more useful to think of them as tools with different areas of application than it is to designate one as the “right way” and the other as the “wrong way”. - The ryg blog part 1 / 2 / 3
Tree encoding
from [HN]
Load average
Troubleshooting 3dprint
troubleshooting guide to all common 3D printing problems and their solutions. Includes both FDM and SLA. - Common Problems / r/nOfAileDPriNtS
Restauratec
Video
Underrun (game)
The Hitchhiker's Guide to the Unexpected
Among other things, I’m a systems architect, which means that my job is mostly coming up with broad plans, and taking the merit if they go well and otherwise blaming the developers if it they go wrong. More seriously, a part of my job is helping make abstract plans about systems, in such a way that they are understandable, leave room for developers to make decisions locally about what they mean, but while structuring things in such a way that the biggest minefields one might encounter when the rubber hits the road are taken care of. - Article - [HN]
First layer (calibration)
Getting that first layer right is an indicator of a lot things. Such as, a correctly leveled bed, right filament temperature, correct extrusion amount, etc. In short, getting that first layer right is a good signal* that your print won’t fail. You can save yourself a lot of time catching errors in the first layer(s). Its better to reprint with different settings after only 5 minutes of printing, rather than 5 hours. Also, if your print isn’t sticking, without a desperate application of ducktape, there’s no way the print will succeed. - Perfecting the First Layer
Toml (alternative to Yaml)
properties like extened format - Github.
Message à Caractère Informatif 2
Tout un monde de cravates et de big-data qui vous delivre des notes internes directement chez vous…
The Computer Language Benchmarks Game
GCode
G-code is the most-used programming language for controlling industrial and hobby machines, such as vinyl cutters, mills, laser cutters, and 3D printers. The G-code “tells” the computerized machines how to make things by specifying coordinates in the X, Y, and Z planes. It instructs the machines where to move, how fast to move, and when to engage the tool. - all3dp / RepRap doc
Syntax Highlighting
from [HN]
Code comments have value
Self-documenting code is one of the biggest documentation myths in the software industry. This view generally conflates documentation with code comments. - “My Code is Self-Documenting”
Quaternions (3Blue1Brown)
Amdahl’s law (Random ASCII)
Amdahl’s law says that if you throw enough cores at your problem then the parts that cannot be parallelized will eventually dominate execution. When my work machine has been heavily used for a few days this serialization issue gets bad enough that process-shutdown becomes a significant part of my distributed build times – and more cores can’t help with that. - 24-core CPU and I can’t move my mouse
The terminal graphics protocol
Ruby HTTP clients comparison
Easily interact with HTTP-based services - ruby-toolbox
VM performance reviewed
Reglage Z-offset (marlin)
Reglage du Z-offset en passant par l’ecran LCD plutot que la dagomApp.
Metamolds
Stellarium (astronomy)
World's Smallest 5 Axis Milling Machine
Documentation
I figured that “There are two types of bad software documentation: math textbooks and cooking recipes. The former does not explain why you are doing things and other helpful context, the latter won’t help you if you need to do something differently, which is almost always.” ahartmetz - on HN
Flashing arduino (cli)
Install avrdude
Metal Casting at Home
Configurer Marlin (firmware)
#screenshotsaturday
CLI-improved
Lockheed SR-71 Blackbird
badass plane…
Quasirandom sequence
Anyone who does Monte Carlo simulations would at least be interested in the notion of Quasi Monte Carlo, in which points are sampled “more evenly than random.” - The Unreasonable Effectiveness of Quasirandom Sequences - (SO) / HN
bpytop > bashtop > htop > top
bat > cat
A cat(1) clone with wings. It has highlighting, paging, line numbers and git integration. - Home / CLI: improved - [HN]
Read/Write File in Ruby
Q3VM - quake 3 virtual machine
Yaml <-> Json
Yaml is a superset of Json [SO], and as such there is some form of duality between the two that can be used.
Easing into Modern C++
C++ has changed a lot in recent years. The last two revisions, C++11 and C++14, introduce so many new features that, in the words of Bjarne Stroustrup, “It feels like a new language.” - C++ Has Become More Pythonic
String Interpolation
or variable binding
Printing without support
Depending of what we want to print, we need supports for some parts of the object so that it is printable on a consumer 3D printer. We can’t just print on thin air. - Rules to Avoid Support Structures When 3D Printing
Protobuf on arduino
TL;DR - too big to fit - SO
Rise of JSON
Json has taken over the world. Today, when any two applications communicate with each other across the internet, odds are they do so using JSON. Of the ten most popular web APIs, a list consisting mostly of APIs offered by major companies like Google, Facebook, and Twitter, only one API exposes data in XML rather than JSON. - 0b10 - Two-Bit History / The rise and rise of JSON
Conic section (3Blue1Brown)
A beautiful proof of why slicing a cone gives an ellipse - (Dandelin spheres (1822)).
Regexp - Online
Use regular languages and not regexes. (e.g. constructs like backreferences and lookaround assertions make the language nonregular) - Regular Expression Matching Can Be Simple And Fast / [HN]
The Safe Navigation Operator (&.) in Ruby
The most interesting addition to Ruby 2.3.0 is the Safe Navigation Operator(&.). A similar operator has been present in C# and Groovy for a long time with a slightly different syntax - ?.. So what does it do?
Implementing tail -f
Implementing tail -f is surprisingly difficult and complicated…
ssh-agent
Awesome c++
A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things / C++ Blogs
libevent
an event notification library
Syntax Terror (demo)
Goldrunner (chiptune)
chiptune remastered.
Fuzion (intro)
Fuzion intro collection part 2
Psygnosis
Title screen
Spectrum Vizualizer
8 bit mentality - Shadertoy
Using Serial port with Crystal
Pouet.net
Demo scene’s not dead! - pouet!
Console screen (sfml)
Console Screen is a C++ class for displaying a console-like screen to a render window. - Tutorial
The juggler (Amiga 30's)
Shader derivated from Project Amiga Juggler - shadertoy
Angèle
SHTOY128
GLSL 2D Tutorials
# VSCode (editor)
Open source (Micro$oft) atlernative to sublimet-text. - VSCode / r/vscode
linux accessibility
Fonts scaling
linux mint / font setting / Text scaling factor.
SFML Shader Example
The goal is not to learn GLSL but to integrate a shader taken from Shadertoy or GLSL Sandbox into an SFML apps. - Shader Example
Shoes! (ruby)
Fish (shell)
Finally, a command line shell for the 90s - Home
Crystal Shards
Tower of interpreters
Sequence Diagram (online)
UML Sequence Diagriam from text - websequencediagrams.com
GHashTable
Detecting the use of "curl | bash" server-side
Anki
Most people think about forgetting as decay, that memories are like footprints in the sand that gradually fade away. But that has been disproved by a lot of research. The memory appears to be gone because you can’t recall it, but we can prove that it’s still there. For instance, you can still recognize a ‘forgotten’ item in a group. Yes, without continued use, things become inaccessible. But they are not gone. - HN
Linux Terminals (and tools)
# Simple and Fast Multimedia Library (SFML)
Platorm.io (IDE)
Professional collaborative platform for embedded development - platformio.org/
boost.Asio
2.4GHz
Module to Scan the 2.4GHz Frequency Range - RF24 lib
Start Small, Stay Small
Great how-to guide about being a micropreneur: an entrepreneur running many small but profitable businesses. - Derek Sivers (8/10)
Group mind
A mind that is disconnectable and reconnectable. A brain, for example, is fully physically connected all the time and doesn’t qualify. - What is a group mind
Management & false certainty
I learned long ago never to wrestle with a pig. You get dirty and besides the pig likes it. – G. B. Shaw (misattributed)
That’s all well and good except I’m pretty senior now. Suddenly part of my job is winning arguments. - Abe Winter
Wipeout (reversed)
Strength Reduction (Fastware - Andrei)
Memory locality vs Algorithm <=> vector vs List (Herb)
Modern C++: What You Need to Know - Herb Sutter - 2014
Declarative Control Flow (CppCon2015 - Andrei)
Std Allocator
Historically
stl::allocator
were though to overcome issue with near and far pointer on intel archictecture and share a lot of issue from this time. Andreid revisit how they should have been implemented. - CppCon
Clean: Which folder takes most space (ncdu)?
NCurses Disk Usage (ncdu) / dutree / v2 / git
Watch difference & repeat command
Popcount / Hamming weight (# bit set)
Population count is a procedure of counting number of ones in a bit string. - The NSA Instruction / HN
How do groups work on Linux?
if processes have groups baked into them, how do you get assigned your groups in the first place? - Julia Evans
Bartosz Milewski's Programming Cafe
Monads for the Curious Programmer, Part 1
Playlist
Playlist
Vector with Incomplete type (C++)
Fast inverse square root
0x5f3759df - Better magic value (HN)
Online image store
Five Best Image Hosting Web Sites - contender
React.js
Myst
Myst’s gameplay is unusual among adventuring computer games in several ways. The player is provided with very little backstory at the beginning of the game, and no obvious goals or objectives are laid out. - wikipedia
Cache oblivious Tree
Can we design data structures and algorithms that perform optimally regardless of underlying cache sizes?
What's the Deepest Hole We Can Possibly Dig?
12,262 metres - Kola Superdeep Borehole
Most/Least significant bits (msb)
__builtin_ctz = Number of trailing zero’s, but require value to be non-zero.
Tu mourras moins bête
Mais tu mourras quand même! - Marion Montaigne
Jamie Zawinski
One of the best programmers I ever hired had only a High School degree; he’s produced a lot of great software, has his own news group, and made enough in stock options to buy his own nightclub. - Peter norvig / jwz
Which book ?
I cannot remember the books I’ve read any more than the meals I have eaten;
even so, they have made me. - Ralph Waldo Emerson
Code overfitting
Someone once coined the term code overfitting on HN, which like over engineering makes now a lot of sense to me. For eg:
- having a code that is too restrictive about its input, enforcing a data model it doesn’t own or even use, but have code that will crash in assert when the model derive from it’s expectation.
- having a code with a too rigid object or class model, that is tight to a one moment view of the universe, but can’t evolve easily, while not providing additional insight or safety.
Ben avli(S)
Av1
uMatrix & uBlock
uBlock is my blacklist. uMatrix is my whitelist. For various reasons, I occasionally need to skip the whitelist, but I never had a reason to turn off the blacklist in a few years of using uBlock. - HN
(CG) Ultimate Tic-Tac-Toe
A much more strategic version of tic-tac-toe - rules explained / Codingame / online
Kernels management (linux)
D3.js and jekyll
Another World
A young scientist who, as a result of an experiment gone wrong, finds himself on a dangerous alien world where he is forced to fight for his survival. - wikipedia
d3.js
Watman
Move Semantic
Why user-defined move-constructor disables the implicit copy-constructor?
If you declare move members (which legacy C++ code can’t do), then we’re going to assume that the default copy members are likely to do the wrong thing. Opt-in (with =default) if you want them. Or write them yourself. Otherwise they are implicitly deleted.
Hardware World Stats
Firefox public report
The Firefox Hardware Report is a public weekly report of the hardware used by a representative sample of the population from Firefox’s release channel on desktop. It is part of Firefox telmetry.
How are zlib, gzip and Zip related?
.zip is an archive format using, usually, the Deflate compression method. The .gz gzip format is for single files, also using the Deflate compression method. The zlib library provides Deflate compression and decompression code for use by zip, gzip, png (which uses the zlib wrapper on deflate data), and many other applications. - Mark Adler (SO)
What is code ?
Baby don’t hurt me … … no more - HN
Atmosphere (background noise)
The idea behind myNoise is to use the noises you most enjoy to mask the noises you don’t want to hear: chatty colleagues, your tinnitus, or even your inner voice when you can’t shut it down!
The Myth of RAM
Accessing memory is not a O(1) operation but O(√N). This is a result that holds up both in theory and practice. - ilikebigbits / HN
GitHub alternatives
If you’ve been keeping up with HN the past day or so there have been a bunch of great discussion around alternatives
GDPR
Pincab
Monte Carlo Method
Estimate pi by essentially throwing darts - (pdf)
Good Luck With That
When I wrote this, only God and I understood what I was doing.
Now, only God knows. - Good Luck With That Public License
Forbidden planet (1956)
Foldable print
- Rendre du filament PLA complétement flexible ! - charniere facon laser cut
# 3D models
CAD Models - GrabCAD / r/3Dprinting/ / /m/functionalprint / r/functionalprint
Highest-quality GIF encoder
Pwned & Passwords
The basic laws of human stupidity
The difference between stupidity and genius is that genius has its limits - A Einstein
Function Length
During my career, I’ve heard many arguments about how long a function should be. This is a proxy for the more important question - when should we enclose code in its own function? - Intention vs Implementation
Drawing a sphere using shader
From author of Molecules - SO / Molecules v1
High-Performance Matrix Multplication
The old robots
Logon's run (32k)
Cheating has always been part of demomaking. Smooth animation? think about hardware-scroller: all might be pre-rendered in VRAM, then display on screen is wisely set at each frame by changing pointer to VRAM… Thru the years, I used HW-scrollers in various ways to get some animations which kept improving. Up to today release of “Logon’s run - 3D meets the aging bits”. - Making of / pouet / HN
# Monte-Carlo Tree Search (MCTS)
Monte Carlo Tree Search was introduced by Rémi Coulom in 2006 as a building block of Crazy Stone – Go playing engine with an impressive performance. - Beginners guide
Le But
Les aventures d’un Directeur d’Usine se débatant dans sa vie professionnelle et personnelle. Très belle prise de recul et remise à plat des notions de management et de gestion. Ce livre bat en brèche toutes les idées préconçues et bouscule l’ordre établi. Comment redresser une usine en se posant les BONNES QUESTIONS ? - amazon
Semantic Compression
So any experienced programmer who’s any good has had to come up with some way — if even just by intuition — of thinking about what it means to program efficiently. By “efficiently”, this doesn’t just mean that the code is optimized. Rather, it means that the development of the code is optimized — that the code is structured in such a way so as to minimize the amount of human effort necessary to type it, get it working, modify it, and debug it enough for it to be shippable. - article - (HN)
Embree Ray Tracing
Embree is an open source high fidelity visualization toolkit for application developers who want to create compelling visual applications to deliver an outstanding user experience on current and future computing architectures. Easy to integrate, Embree provides a blueprint for scalable and efficient Ray Tracing capabilities that are demanded by media and entertainment, product design, energy or scientific visualization applications. - home / overview (Sigraph 2013) / github
Reduced binary size (C++)
__END__ (embedded data)
Binary / Text encoding
if you wish to efficiently encode binary data as Unicode text,
- in UTF-8, use Base64 or Base85
- in UTF-16, use Base32768
- in UTF-32, use Base65536
UPX
The Ultimate Packer for eXecutables- upx
Disassembler
Sixel (image format)
Ascii generator
- Taag / HN - type banner style
- Monodraw Alternatives
Graphic Tools (linux)
Vector
Pixel Art Tutorials
Voxel
- High Performance Voxel Engine: Vertex Pooling - Nick’s Blog
Nitrome Grames
Let's make a game
Simple and Fast Multimedia Library is a cross-platform software development library designed to provide a simple application programming interface to various multimedia components in computers. - SFML
Gameplay
Doom
The classic - id
Arcade
Godot (Game Engine)
3d scan with camera (Photogrammetry)
Proto buffer (serialisation)
Protocol Buffers Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Xz format issue
Scanning the internet
You can scan the whole internet in about an hour. I had luck using AWS and zmap. - Mapping the whole internet with Hilbert curves / HN
Kinect
The flurry of enthusiastic Kinect hacking proved there is a market for depth camera peripherals, leading to plug-and-play devices like Intel RealSense to make depth-sensing projects easier. - hackaday
Intel SPMD Program Compiler (Volta)
ispc compiles a C-based SPMD programming language to run on the SIMD units of CPUs; it frequently provides a 3x or more speedup on CPUs with 4-wide vector SSE units and 5x-6x on CPUs with 8-wide AVX vector units, without any of the difficulty of writing intrinsics code. Parallelization across multiple cores is also supported by ispc, making it possible to write programs that achieve performance improvement that scales by both number of cores and vector unit size. - Github / HN
# C++ Lang
This idea of just building a new system over on the side, without any of the problems of the old one, is a fantasy. But it’s a very popular fantasy. - Stroustrup / c++ reference / r/cpp
Recovering photos
Algebraic structure
Repl.it
This Old Tony
Milling, Welding and more - youtube
PGCD
The Online Encyclopedia of Integer Sequence (OEIS)
a great resource for random constants and sequences - OEIS
Compressing and enhancing hand-written notes
A program to clean up scans of handwritten notes while simultaneously reducing file size. - Needlessly complex
Naming
The greater the distance between a name’s declaration and its uses, the longer the name should be. - What’s in a name ?
Android Remote control
Onboarding
Several times in my career, I’ve joined a team whose work was already well under way, where I had a massive knowledge deficit, and didn’t have pre-existing relationships. None of those excuses relieved me from the pressure I felt to establish myself and contribute. Over time, I realized that the natural instinct to push for early impact leads many incoming leaders into challenging relationships as they expose their knowledge deficit and waste time. So, I developed an algorithm that has helped me ramp up quickly — and in several cases — have an impact in a relatively short period of time, while minimizing collateral damage. - Start Algorithm
Planet Shadertoy
Soldering headphone wires
Have I been pwned ?
Backfire effect
You’re not going to believe what I’m about to tell you - Challenging core belief
Colors of Ancient Sculptures
why most of us grew up believing classical sculpture is white. - article
Screen Recorder for linux
Open Broadcaster Software Studio (OBS Studio) - As of 2024
Gradle
This GIF shows a side-by-side clean build of the Apache Commons Lang library using Maven and Gradle (without build cache). You can view the build scan for this build here. - Maven vs Gradle
Magnetic Acrylic Rubik's Cube
build your own - Instructables
asciinema
Forget screen recording apps and blurry video. Enjoy a lightweight, purely text-based approach to terminal recording. - Record and share your terminal sessions, the right way.
Mastering Programming
From years of watching master programmers, I have observed certain common patterns in their workflows. From years of coaching skilled journeyman programmers, I have observed the absence of those patterns. I have seen what a difference introducing the patterns can make. - Kent Beck
Rubik Cube
Explain shell
Exception vs Error Code
In an earlier blog post we found out that C++ exceptions produce smaller executables than corresponding code using error codes. The most common comment to it was that executable size is not that important, performance is what matters. Since we have the tooling, let’s do perf measurements as well. - Measuring execution performance of C++ exceptions vs error codes
Explosion Combinatoire
O(1) ~ O(log(n)) « O(sqrt(n)) « O(n) ~ O(n log(n)) « O(n²) « O(n³) «« O(n!) - Analyse de la complexité des algorithmes
O(n^2) is the sweet spot of badly scaling algorithms: fast enough to make it into production, but slow enough to make things fall down once it gets there. - Dawson’s - First Law of Computing - so far there is no second law…
Javascript Promise (a review)
Promises are not neutral enough
Even though they fulfill their purpose, JavaScript Promises are an opinionated primitive that introduce a lot of weirdness. This weirdness ends up spreading to other corners of the JavaScript language and ecosystem. Basically Promises are not neutral enough because they introduce 4 opinions:
- Eager, not lazy
- No cancellation
- Never synchronous
- then() is a mix of map() and flatMap()
Neural Network Ressources (NN)
The Daily WTF
Litanie contre la peur (Dune)
Je ne connaîtrai pas la peur, car la peur tue l’esprit.
La peur est la petite mort qui conduit à l’oblitération totale.
J’affronterai ma peur.
Je lui permettrai de passer sur moi, au travers de moi.
Et lorsqu’elle sera passée, je tournerai mon œil intérieur sur son chemin.
Et là où elle sera passée, il n’y aura plus rien.
Rien que moi. - Litanie contre la peur du rituel Bene Gesserit
Human pose detection
Beware of auto[&] (c++)
auto
deduces its types from initializing expressions, and occasionally, these expressions have unexpected types, which are not what you want. On the other hand, auto has many benefits. - Don’t use C++ auto?
# Codingame
see also
- Games of Coding / HN – A curated list of games that teach you a programming language
- C++ flags & HW Limits
Linux Debugger
prefered VSCode with LLDB
Unit test framework
doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code thanks to a fast, transparent and flexible test runner with a clean interface. - DOCtest
SFINAE (C++)
Substitution Failure Is Not An Error: when creating a candidate set for overload resolution, some (or all) candidates of that set may be the result of instantiated templates with (potentially deduced) template arguments substituted for the corresponding template parameters. If an error occurs during the substitution of a set of arguments for any given template, the compiler removes the potential overload from the candidate set instead of stopping with a compilation error, provided the substitution error is one the C++ standard grants such treatment. If one or more candidates remain and overload resolution succeeds, the invocation is well-formed. - An introduction
Running a child process in Ruby (properly)
first part from medium
Nautilus automount
Mastering Chess and Shogi by Self-Play
How a neural network taught itself to become the best Chess, Shogi, and Go players of all time. - Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm / The best things and stuff of 2017
Productivity
You do not have a time problem. You have an energy problem. We. Have an energy problem. - HN / Fire And Motion
check if a member exist (C++ SFINAE)
Faster collision check - Finding Morton
In many small games it is sufficient to check collision between objects, with 2 imbricated loops. But this double loop is very inneficient.
Genetic Algorithms and Evolution Strategies
Genetic Programming - What are Genetic Algorithms? / The Movie
The productive organization
Teams don’t self-organize unless you organize them to do so. - Things I have learnt as the software engineering lead of a multinational / HN
De / Interleave bits
Interleaving the binary coordinate values yields binary z-values. Connecting the z-values in their numerical order produces the recursively Z-shaped curve. - Morton Codes
Space filling curve
Peano curve (1890) the first example of a space-filling curve to be discovered.
Fast I/O for Competitive Programming
Basically cin/cout can outperform printf/scanf provided, that some optimisation are turned on. Otherwise major slow down can be expected. - Yet again on C++ input/output
# Klipper
Fast 3D Printing with Raspberry Pi - klipper3d.org / github / r/klippers / ender6:7125/
Simple Instruction Multiple Data Vectorization (SIMD/AVX)
SSE and SSE2 are available in every single x86-family CPU with 64-bit support… here’s a list of tricks to get you around some of the more common, eh, “idiosyncrasies” of SSE and its descendants. - SSE: mind the gap!
Valgrind (profiler)
Asus Linux Suspend
Solving Asus issue (going out of suspend restart computer)
Random fun (xoroshiro)
Le hasard souvent fait plus que la science. - Proverbe Français
C++ flags & HW Limits (Codingame)
Votre programme est compilé et exécuté dans un environnement Linux sur une architecture multi-coeurs 64bits. - Environment/lang
Compiler explorer (c++)
Enter C -> get Assembly - Godbolt . Matt Godbolt
Convert video format X to Y
Iterate over std::tuple
Perfect forwarding explained
It means that a function template can pass its arguments through to another function whilst retaining the lvalue/rvalue nature of the function arguments by using std::forward. This is called “perfect forwarding”, avoids excessive copying, and avoids the template author having to write multiple overloads for lvalue and rvalue references.
(CG) Coder Strike Back
I did not had the opportunity to participate to this one.
Dosbox
Let's Make a Voxel Engine
The very first step that you should aim for when creating a voxel engine is to create the framework for block rendering. - Tutorial
Cool Retro Terminal
A terminal emulator which mimics the look and feel of the old cathode tube screens. It has been designed to be eye-candy, customizable, and reasonably lightweight. - Cool-retro-term
Residual VM
a unique cross-platform 3D game interpreter from Lucas Art - ResidualVM / Github
Pixels and voxels, the long answer
What is the difference between pixel and voxel? - retronator
Keep a CHANGELOG
A change log is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. - What’s a change log?
Voxel Quest
Microcorruption
Scattered throughout the world in locked warehouses are briefcases filled with Cy Yombinator bearer bonds that could be worth billions comma billions of dollars.
You will help steal the briefcases. - Embedded Security CTF / HN
Pica voxel (editor)
The Tiny Voxel Toolset for Unity - Home
A minimal raytracer
Make a business card sized raytracer - Needlessly complex
Voxatron
Voxatron is a fantasy console and collection of games made entirely out of voxels (little colourful cubes, kind of). The Alpha version comes with an arena shooter and action-adventure cartridges as well as powerful design tools to make your own voxelly games!
Search Everything
Locate files on your computer
Minecraft
In 2014, Mojang and the Minecraft intellectual property were purchased by Microsoft for US$2.5 billion. - minecraft.net / List of best-selling video games
Droste Effect - Logarithmic image
(CG) Mean Max
Objectif: Gold! - Fury Road
Terrain rendering in less than 20 lines of code
Comanche uses a technique called Voxel Space, which is based on the same ideas like ray casting. Hence the Voxel Space engine is a 2.5D engine, it doesn’t have all the levels of freedom that a regular 3D engine offers. - tutorial / HN
Lets Make A Nut
Benny The Bull
Terminal image viewer
How to display image & interactive GUI in cli terminal
Sanding Surface
Achieve a glossy, smooth finish similar to a car surface transforming your part from a simple 3D print to a final product ready to display, - How to Prime and Paint 3D Printed Parts
3dprinter Lack enclosure
Various tutorial on how to make a 3d printer enclosure with Ikea lack table.
Xyz (Calibration)
Calibration X
Réglage platine vinyle
le premier de tous consiste à placer la platine vinyle parfaitement à l’horizontale à l’aide d’un niveau à bulle. - Bien regler sa platine vinyle
PLA tested
PLA tested so far – 1.75mm
Figurine Paint
Quelle peinture bon marché utiliser pour peindre des figurines imprimées ?
Material Flow / Extrusion ratio (Calibration)
- tuning your extruder steps/mm value - this mechanical part can use recommanded value
- tuning your extrusion multiplier - this is specific to each filament
Banzai Bill
A great print found on MyMiniFactory
Jekyll Tag Cloud
After searching for a while the simple way to add a cloud tag to my Jekyll blog. I found Ryan solution to be the most straighforward…
Octoprint (before moving to fluidd)
Web interface for your 3D printer - Home
Game Engine
Godot - Advanced, feature-packed, multi-platform 2D and 3D open source game engine
~ Discoeasy 200 (3d printer)
First printer in 2017. Kit is ok, but configuration has some undocumented issue (but forums has answer). - discoeasy 200
Binary Visual & Diff
- BinDiff - a comparison tool for binary files, that assists vulnerability researchers and engineers to quickly find differences and similarities in disassembled code.
Crystal
Curta - The Mechanical Calculator
Curt Herzstark had been working on the calculator in the 1930s until the Nazis forced him to focus on building other tools for the German army. He was taken by the Nazis in 1943 and ended up in Buchenwald concentration camp. There, he told the officers about his plans for the CURTA. They were impressed and interested enough to let him continue work on it so they could present it as a gift to the Führer. The CURTA mechanical calculator literally saved its inventor’s life. / The CURTA Calculator Page
Maniac Mansion Deluxe
Your goal is to direct a team of three local college students (including Sandy’s boyfriend Dave) through the mansion to rescue Sandy. As you explore, you’ll meet all the strange inhabitants of the mansion, and you’ll discover Dr. Fred’s ambition to control the world - one teenage at a time. - lucasfan2004
Setup a static IP
List Attached Network Interfaces
ip addr
Try It Online
What’s Wrong With ZFS Today
Many remain skeptical of deduplication, which hogs expensive RAM in the best-case scenario. - What’s Wrong With ZFS Today
OpenWRT
an open-source Linux distribution aimed at routers. - openwrt.org / r/openwrt
Programming is terrible
Network Tools
How most of the money is made in the software industry
Software, as an industry, generally profits the most when it can identify an existing need that is currently solved without computers, and then make it 10x+ more efficient by applying computers. - HN
Quake III Arena
Still better than many - ioquake
Faraday (Rest API)
Scientific Calculator
Funny Quote
Computer religion
Make Human
Open source tool for making 3D characters - MakeHuman
Wii
Jack (linux audio)
JACK Audio Connection Kit - Jack application
Mosh
Mosh is a replacement for interactive SSH terminals. It’s more robust and responsive, especially over Wi-Fi, cellular, and long-distance links. - ssh with ntermittent connectivity / HN
Rust (lang)
beautiful code isn’t enough, it has to be safe, beautiful, maintainable, productive, understandable, and resource efficient…
Rust hits more of these but it’s ugly. Uglier than Python and approaches C++-level eyebleed. Rust generics aren’t as flexible as they could be because type constraints don’t have union and specialization is painful. Tag structs are laborious. Go hits more of these except it’s not as flexible and not quite as safe as Rust. Rust makes enormous binaries and compiles slow and the cargo index download is glacial, I’m surprised they don’t have an “sccache” for it. Go is easy to learn but then the capability of it plateaus. Go compiles and tests insanely fast. - HN
Green Thread
Green threads or userland threads (depending on your generation) provide high efficiency concurrency in a lot of mainstream languages. - Green Thread explained
Ruby Bindings for OpenCV (ropencv)
Unlike other OpenCV ruby binding projects like
ruby-opencv
oropencv-ffi
this binding is automatically generated by parsing the OpenCV C++ headers. - D-Alex/ropencv
Retronator Magazine / Pixel Art
Supercool retro art and (very) long articles… - Pixel Art, Gaming & Saturated Colors / Archive / twitter / youtube
Pictones palette
Find Color palette from picture - pictones
Reproducible Build
Reliable way to verify the binaries we ship are faithful to their sources - HN
MagicaVoxel
A free lightweight GPU-based voxel art editor and interactive path tracing renderer. - enjoy :)
(CG) Coders of the Carribean
score : 573/3623 (private report) - Pouic, pouic, pouic! Houmba!
7,166 CodinGamers have registered to this contest
Photoscan
An app that allows you to digitize photo prints with just a smartphone. - Taking Glare-Free Pictures of Pictures (Google Blog)
Hexagonal Grids
Collecting hex grid resources for over 25 years. - Red Blob Games
Business advice
Arduino And Linux
I choosed to use Platform.io. Which look more modern than others. Setup and installation was straightforward. work on VSCode.
Jekyll (first)
You don’t want a site that’s not really you. A site filled with social buttons and widgets and gadgets and analytics and tracking cookies and banner ads and pop-up ads and everything else that makes your visitors scream at you from afar. Generated anew every time someone visits your site. Every. Single. Time. - Building a blog with jekyll - [1]