Sudoku AI solving 16x16 puzzle
Animations | 1 views | 2020-06-07
Code: https://gitlab.com/theoden8/sdsolve/ Visualized using matplotlib, to generate frames, and ffmpeg, to combine them.
Code: https://gitlab.com/theoden8/sdsolve/ Visualized using matplotlib, to generate frames, and ffmpeg, to combine them.
This video does not explain how Algorithm X works, you can learn that through [code](https://github.com/theoden8/sdsolve/blob/89e4d27fded221d8a23568b4dd261536fab58f4c/algx.c) or [paper](https://www.ocf.berkeley.edu/~jchu/publicportal/sudoku/001104...
Sorting algorithms: bubble (cocktail) sort, selection sort, insertion sort, shell sort, heapsort, quicksort, conceptual in-place mergesort, optimized in-place mergesort. Bulk copying is enabled to account for speedups when bigger blocks can be ...
A short demonstration of the Australian COVIDSafe app and how its Bluetooth connectivity is affected by putting the app in the background.
A fun quirk of TCP/IP is that you can create a connection without a listening socket. In this video we briefly review how that works, then write a Rust program to trigger the unusual behaviour on real Linux hosts. Code: [https://github.com/thom...
A gentle exploration of building a identd for Linux using async/await and tokio 0.2. This part demonstrates halting an await after a configurable time limit, both using tokio's timeout() helper and with the select! macro from the futures crate.
Rust libraries come in a variety of API styles and futures are just one option. In this video we compare and contrast four styles from three crates: 1. Synchronous blocking functions (websocket) 2. Single thread reactor (ws-rs) 3. Non-blockin...
La Fabulerie, fabrique numérique et tiers-lieu culturel fait vivre depuis 2010 des projets innovants qui tentent d’ouvrir la connaissance au plus grand nombre, stimuler les imaginaires et décrypter ce monde en régime numérique, de façon à, notamme...
A discussion of how futures are given to an async executor and later dropped. Examples of cancelling an Interval stream by erroring out of for_each, and by selecting against another future.
The most difficult fields to validate are so called free text fields", as the most frequent stereotype of web application input valiation goes, becomes even more complicated when the free text contains multi-language Unicode. Unicode is indeed com...
Exploring how to create data structures that are owned by C and pass pointers back to Rust to operate on them. This is easy for a basic struct but when you introduce generics or traits, things get interesting. Content warning: inadvisable C code.
**Benedict Lau "Distributed secure routing in permissionless flat networks"** Radical Networks 2018 - Lightning Talks! Full presentation https://benhylau.github.io/talks-and-workshops/talks/201810_radical-networks-lightning/#1
Experiments with tokio’s lines() function, fold(), and a custom multi-stage future with inner futures and the try_ready macro. With this episode, we are now up to four sub-optimal ways to count the number of lines in a file.
I play around with a standalone future to see how the tokio executor’s polling works in practice. I then adapt a callback-based API to work with futures, including a full implementation of a leaf future that transitions from NotReady to Ready.
Visual Studio Code is a convenient cross-platform environment for writing Rust code. By installing and configuring a few extra plugins—Better TOML, RLS and CodeLLDB—it can quickly become a full-fledged IDE. Nightly components status Mac: https...
Spotted in the wild in Sweden, 2016
Two-legged gait developed by a model-based reinforcement learning controller after ~30 min of training.
Undulating gait pattern developed by a model-based reinforcement learning algorithm after 30-50 minutes of training.
Simple PWM system for controlling pressure, here used to 'break in' a silicone baloon. The input pressure is 1 bar. First I set the pressure to 1.8 bar to expand the baloon as much as possible, then I immediately decrease it to 0.5 bar, and ...
Using pyqtgraph to plot live data from position sensors, IMU and position tracking of a soft robot.
A poor man's vacuum chamber made from a food container. Don't try this at home unless you know what your doing - these things can implode with quite a bang I'm being told.