
Computer programmer and surf/whitewater/sea/flatwater kayaker. @elliotbarlas@fosstodon.org
Petaluma, CA
Joined November 2012
- Tweets1.1K
- Following379
- Followers499
- Likes13.8K
I received my #1BRC mug!
It will forever be a reminder of sun.misc.Unsafe, branchless logic, project Panama, GraalVM, and late night coding in January 2024.
Thank you @gunnarmorling and @Decodableco !
#1BRC by @gunnarmorling was great!
5 takeaways:
1. Perf optimization is an infinite asymptotic convergence problem
2. Unpredictable branches badly degrade perf
3. Proj Panama Foreign Mem and Vec APIs are a leap forward
4. GraalVM is amazing tech
5. The Java community is awesome
You can get quite far with HTTP client and server primitives in Java!
JDK HTTP server handles 100,000 req/sec with 100 ms start-up time and 50 MB modular run-time image.
Built with OpenJDK 21 and virtual threads.
github.com/ebarlas/java-http…
🚀 Launch Alert! Inspired by Petaluma's debated Fine Balance art, I've released Trippin on Tubs on iOS & Android. Race on melting platform, soar with winged tubs, and face quirky challenges! Hope you enjoy! 🛁🏃♂️
trippinontubs.com/
#Petaluma #IndieGames #IndieGameDev
I implemented Minesweeper in @golang with Communicating Sequential Processes (CSP).
Tiles are Goroutines that Communicate with Channels.
Built atop go-sdl2 library, which is an SDL2 wrapper.
github.com/ebarlas/minesweep…
Earth Moon Model tabletop art Python project is done!
It combines a Raspberry Pi with sensors and actuators to create a realistic model of the Earth and Moon in their orbits.
Built on Skyfield by @brandon_rhodes and CircuitPython MotorKit by @adafruit.
github.com/ebarlas/earth-moo…
Project Loom experiments continue!
Minesweeper implemented using communicating sequential processes (CSP) and virtual threads.
Each tile is a vthread. Tiles communicate exclusively via channels.
No synchronization or locking.
github.com/ebarlas/minesweep…
New Petaluma Historical Library & Museum background tile for Trippin on Tubs game! Drafted with @inkscape.
github.com/ebarlas/TrippinOn…
My Raspberry Pi critter cam, powered by Motion-Project and Python scripts, spotted a gopher munching on a garden plant. Those small field mouse snap traps simply won't do!
github.com/Motion-Project/mo…
Progressing on my earth model project. Includes motors for earth orbit, earth rotation, and moon orbit. @tinkercad 3D model and initial soldering work are done.
Relying on @adafruit @CircuitPython lib for motor control and Skyfield lib by @brandon_rhodes for astronomical calcs.
Microhttp, an event-driven, zero-dependency, pure-Java web server with ~500 LOC, reached new heights in the latest @TFBenchmarks run.
2,163,060 req/sec - plaintext test
1,268,535 req/sec - JSON test
284,587 req/sec - DB query test
github.com/ebarlas/microhttp
Conway's Game of Life implemented using communicating sequential processes (CSP) and virtual threads.
Each cell is a vthread. Cells communicate exclusively via channels.
No synchronization or locking.
Puffer train shown here with 50,000 cells/vthreads.
github.com/ebarlas/game-of-l…
Project Loom experiments continue!
1 Java 19 EA-Loom process each for client and server.
2 server-grade hosts.
40 minutes of execution.
5,000,000 persistent connections.
200,000,000 messages exchanged in each direction.
0 errors, timeouts, closures.
github.com/ebarlas/project-l…
Minesweeper Marathon is nearing completion!
An adaption of Minesweeper with a timer and rounds of increasing difficulty.
There is still time to join #CppBestPracticesGameJam hosted by @lefticus!
Wasm version compiled with Emscripten: barlasgarden.com/minesweeper…
It begins!
C++ Best Practices Game Jam hosted by @lefticus.
Rules: use FTXUI terminal-based UI library and adhere to compiler and sanitizer enforced best practices.
#CppBestPracticesGameJam
The C++ Best Practices Game Jam has begun!
Starts: now!
Ends: in exactly 10 days! (April 11)
Theme: "Round"
Rules and info: github.com/cpp-best-practice…
Quick Start Video: youtu.be/4V4ZrB3o6g4
#CppBestPracticesGameJam
#NotAprilFools
Microhttp was included in the latest unofficial, preliminary run of @TFBenchmarks.
174,018 req/sec in the plaintext benchmark.
A very good result, particularly given that only a single thread is used.
tfb-status.techempower.com/r…
github.com/ebarlas/microhttp
I'm looking forward to this C++ game jam hosted by @lefticus. Games must be built with FTXUI, a simple C++ library for terminal based user interfaces. Think ASCII art, pixel art, blocky graphics.
I'm planning the first ever "C++ Best Practices Game Jam"!
It will begin April 1st, 2022!
github.com/cpp-best-practice…
And I need your help to make sure it goes smoothly!
(plz retweet for exposure)
👇👇👇














