- Minecrat computer engineering: Culminated with this playable 3d simplified minecraft clone (CPU+GPU) https://www.youtube.com/watch?v=-BP7DhHTU-I
- Shader computing scene: More of a subculture of an already marvelous subculture, people are finding weird ways to compute with shader
https://blog.pimaker.at/texts/rvc1/ Risc V emulator in a shader https://github.com/SCRN-VRC/SVM-Face-and-Object-Detection-Shader Object detection in a shader
- Cellular automata: people finding awesome patterns, some great project:
https://codegolf.stackexchange.com/questions/11880/build-a-working-game-of-tetris-in-conways-game-of-life https://btm.qva.mybluehost.me/building-arbitrary-life-patterns-in-15-gliders/
- TAS/Speedrun:
https://www.youtube.com/watch?v=qBK1sq1BQ2Q Insane game exploit which uses only player input in order to inject an elaborate rom hack with network functionality https://www.youtube.com/watch?v=O9dTmzRAL_4 Another insane one which work by switching game (!!) during the run
- "Can it run Doom" Scene:
https://twitter.com/sylefeb/status/1258808333265514497 Run a doom map renderer on a FPGA. Not on a classic computer "emulated" by the fpga, the renderer is directly implemented in the fpga https://www.youtube.com/watch?v=c6hnQ1RKhbo Yes doom can run doom
So what are your technical gem?
- Frontend JS minimalism. Any stories about people ditching transpilers, build tools etc appeals to me immensely. My spicy take is that React is not an abstraction above the DOM, it's an abstraction parallel to it.
- Concatenative langauges. Less Forth and more Joy[0]. I just feel like there's something here, and the idea will not die until it catches on. The amount of concatenative language interpreters I've abandoned is a bit embarassing.
- https://wiki.stunts.hu/wiki/Custom_cars
- https://forum.stunts.hu/index.php?board=90.0&label=stunts-re...
- https://www.rockpapershotgun.com/the-remarkable-community-ar...
I almost fell out of my chair when I found out there were no books on how to build them, so I wrote one: https://www.buildingbrowserextensions.com/ It was incredibly enjoyable to go through the APIs and write about all the different crazy things they can do, and I put the best ones into a demo extension: https://chrome.google.com/webstore/detail/browser-extension-....
The warez scene in 90s and early 00s was fun to follow. I consider the NFO files a legitimate form of art, not to mention the skills for unpacking and keygen-ing or cracking of the protected software.
- Sites that work without JavaScript. Even better than the first, it's always a pleasure to see when a site is made properly for a change, without the toxicity of JavaScript that pervades the world wide web (WWW) as we know it.
- Usenet (yes, it's still alive!)
- NNCP (friend-to-friend e2e encrypted network, doesn't need IP, can be airgapped)
- Yggdrasil (an IPv6 overlay mesh network)
- Retroshare (friend-to-friend P2P encrypted network with Chat, Messaging, and filesharing, and more)
- Urbit (weird, distributed computation network)
- Secure Scuttlebutt (P2P gossip-oriented network w/ crypto signatures)
- Gemini (simpler version of the Web, document-oriented)
There are definitely more projects out there but these are projects I play around with and enjoy using.
(gone) https://the5k.org/
http://www.message.sk/web4096/
websites: https://1kb.club/
https://jeremiepat.github.io/svg1k
(256b) http://wildmag.de/compo/
(140 characters) https://www.dwitter.net/
So far, I've learned a lot about just how varying keyboarding building/collecting can be, and this makes building the data models for what a keyboard is/can include pretty complex. Some people go deep into the hobby building a keyboard by soldering the switches and others a little higher level like putting together keycaps and switches on a hotswap PCB. It's definitely a hobby that you can waste/spend a lot of money on but keyboards are fun!
"Show me your flowcharts and conceal your tables, and I shall continue
to be mystified. Show me your tables, and I won't usually need your
flowcharts; they'll be obvious."
And Peter Naur (of (E)BNF fame) suggests using the term "Dataology" instead of "Computer Science."But COBOL isn't a great systems programming language. It's made for applications. So I sometimes re-write simple C or C++ routines / structs in COBOL to see if they're more understandable and where the dividing line between app-focused languages and system-focused languages exists.
Restoring antique and vintage woodworking equipment. Like pre-1920's if possible. There are no manuals, most of the companies are out of business, and there are very few resources available. There are websites like oldwoodworkingmachines and oldwoodworkersforum but, mostly it's trial and error. It requires a super keen eye for detail, and when you're missing parts you have to be really good at deductive reasoning.
One of my proudest moments was when I completely restored a hand-cranked drill press for a family. They had memories of their grandpa using it to build the family home. It was amazing to watch their faces as I showed them the bright brass and walnut it would've originally been decorated with. When I started it was a box of parts that were mostly just scrap cast-iron. I had to learn how to sand cast to re-make pieces!
I've posted about it elsewhere on here, but right now I'm restoring a 24" J.T. Towsley jointer. I'll be done in the next week or two, and can't wait to run some lumber through it. (that being said, I will have to sell it to pay for some medical bills, if anyone is interested in it). I learned on this site that the editor of popular woodworking is actually doing that right now as well. I reached out to him, and was able to provide some technical drawings for a bearing block that his was missing. So that was neat.
That's probably what i like the most about that community - it's an actual community. I was restoring a 60's PowerMatic drill press for a neighbor, and posted about the original column length, since the one I had was converted to a tabletop. One of the guys on the old machines forum actually PM'd me, and drove to my house to give me one! It was amazing.
I love compilers, and I work on LLVM full time at my day job. I love bringing modern tooling and techniques to an older environment where they very much don't belong; the juxtaposition of the two is very satisfying to me.
20k+ contestants per contest, around 1-2 times per week: https://codeforces.com/contests
In terms of "scene", there are exclusive discord channels that you can only join if you have above a certain rating (usually candidate masters and above). Probably the highest average IQ community that I'm part of and they discuss stuff beyond competitive programming.
- Urbit: I got into Urbit years ago, and still think it's really interesting as a Lisp-machine-alt-timeline-esque project. The goal is basically trying to think how the world would look if your entire OS was built on a runtime that uses cons cells and bignums everywhere for values, with a single transparently persistent state a la KeyKOS, and everything has typed RPC and P2P apps were the default.
Personally I'm currently working on an AHCI storage driver (i.e, for talking to SATA drives) for my operating system.
There's a lot of information out there, especially at https://wiki.osdev.org/ about how to get code booting, and about lots of the basic hardware works. There's also places like https://www.reddit.com/r/osdev/ for asking people for help.
The main point of jailbreaking for me was actually to "fix" a lot of broken shit in iOS, and significantly improve usability. After a while, that I kind off became less and less relevant, as important (to me) features like dark mode got native, change the lockscreen, and similar things. Also, performance on iphones and iOS got so good there was no longer any point to disable animations and other things I used to tamper with to give the illusion of increasing performance.
They were good days! I remember hard refreshing /r/jailbreak hundred times a day because "a jailbreak for iOS 1x is 'right around the corner'".
Some people are dedicated to show that, which is great: CRTpixels: https://twitter.com/CRTpixels Standard Definition Gaming: https://www.tumblr.com/sdg480 or https://twitter.com/DefStan480
And taking a picture or video of a CRT can be quite tricky, you have to be very careful of your parameters, your angle, etc.
Even more obscurely, the microscopic bracket of size limitations: 140 characters
What's interesting when comparing this to the origin of the demo scene is that now we have ultra super computers everywhere (by comparison), so when you maintain the size limitations: algorithms that would have previously fit, but had impossibly terrible performance - are now possible.
I think this is what makes Dwitter so intriguing: very tiny, simple code, producing seemingly impossible and impressive realtime graphics... made possible because modern CPUs are so fast.
I'm really fond of the scene, the format, the people. And I've learned so much from both doing, and deconstructing from others, and enjoy the art others create using it.
I also am experimenting with Slot 1 boards. They were originally designed for Pentium IIs but with the right combination of VRM, BIOS support, slotket adapter, and CPU and pin change mod, some boards can run the last Pentium IIIs (Tualatin). It's a lot of fun and experimentation.
The vintage Mac community is excellent and is full of extremely smart people. Lots of people writing new software, designing new hardware, and doing really complex repair and preservation work.
There was an entire scene around this, that built, sold and supported third party programs to help you build custom airports, paid tools for importing google earth ground textures, tools to help autogenerate tree cover for a ground texture based on machine learning of "this group of pixels look like a forest so place a forest here", plus all the tooling in the GIS space which is incredible and lovely.
I was a month into stealing google earth images with homebrew code using techniques borrowed from a different open source tool, hand labeling a hundred square miles of ground textures, including thousands of polygons to tell FSX where to place houses, a revamped local airport with new structures and signage, and autogenerating a winter version of the ground textures through writing some java code (because python is stupidly slow) to sample a "snow" texture and place it onto a green ground texture, which worked surprisingly well, writing code to overlay publicly available house polygon data and water polygon data to place rivers and lakes, before I go to hand labeling forests and trying to learn the machine learning tool before I gave up, and then MSFS2020 was announced about a year later.
This field is also related to turning google earth terrain and texture data into Assetto Corsa tracks, which has a similar community including paid tools (that mostly suck though)
I learned a lot of GIS and it was pretty great, and I got to play with a bunch of publicly available large datasets of different formats, and wrote code to generate 3D models from hightmaps, even though it was a terrible implementation.
Be it the warez scene mentioned elsewhere in the thread, or simply the pirated movies/games scene, it formed such an integral part of my childhood. The whole aXXo/KlaXXoN debacle, the sheer respect for SkidRow for being able to deliver awesome games in a playable crack within days of their release, and purely the sense of community around, of all things, pirating content, was incredible. It sounds weird to say, but in many ways, it felt like a global movement to "stick it to the man" and keep control of the internet.
TBH I'm still a bit upset that mininova closed down because compared to TPB/RarBGe etc, I always felt like mininova was a much tighter knit community (and let's not even get into the whole eMule/Demonoid/Napster community).
- https://www.reddit.com/r/ProgrammingLanguages/
and because this working on a RDBMs, so:
I created a bunch of themes for it: https://www.deviantart.com/yboris/gallery/12368848/litestep
Briefly on HN frontpage: Repurposing an old Android phone as a web server https://news.ycombinator.com/item?id=31841051
People have made package managers, graphics libraries, GUI frameworks, and even a few game console emulators.
- https://www.curseforge.com/minecraft/mc-mods/cc-tweaked: Summary of ComputerCraft/CC: Tweaked.
- https://www.curseforge.com/minecraft/mc-mods/opencomputers: Summary of OpenComputers.
- https://forums.computercraft.cc: Home of a ton of awesome creations.
Haven't done much with it in a while but was very into it in college. It's both a minor scientific field (would probably be grouped under both theoretical biology and AI research) and a hobbyist field with some really interesting projects.
Where I am in Europe diesels are king, and usually people import 2nd or 3rd hand cars from Germany. I'm from the UK originally, but it's kind of funny that I see a couple of magnitudes more BMWs here, which is much poorer country.
Once your engine has done two or three hundred thousand kilometers the original tuning doesn't really work that great, so you probably want to remap it. This is not only to increase performance, it is also done to decrease fuel consumption and burn cleaner (the technical inspection here is very strict about CO) or makes it start easier when cold.
This is done using software that lets you change how much fuel is injected across different RPMs and throttle levels. If you car has an Eco mode, this is how that works. The thing that there are only really 5 manufacturers of diesel engines for cars in Europe: Volkswagen (VW, Seat, Skoda, Audi, Porsche), PSA (Pegeuot, Citreon, Fiat, Opel, Ford), Mercedes (Mercedes, Nissan, Renault), BMW and Volvo; and the way they work under the hood is all pretty similar.
The fuel injection system and control equipment is not developed in house, but made by someone like Bosch, so if you have two engines made by differnet manufacturers but using an ECU from the same supplier, as you can understand there will be similarities.
To be able to tune engines properly you not only need to know how to edit the map, but also all the perculiarities of that particular engine. A lot of it is trial and error and reading Russian forums (where most the scene is developed).
As you can probably guess it's also used to work around emissions control devices, which are usually no longer functional when you're engine has done a few hundred thousand kilometers, and at this point can actually increase fuel consumption and can damage the engine. For some reason manufacturers do not sell replacement parts, so if you want to keep the engine running your only option is to disable it in software and have it physically removed. Because of all this it's common to see 20 year old cars still driving that have done over half a million kilometers.
I was involved in the iPodWizard project and was one of the people soft-bricking their iPods to discover what substrings of the Hex firmware did what so we could modify them and then build custom themes, change strings, and in a few cases even add new functionality. I also contributed my fair share of custom themes, particularly the themes that would turn the grayscale iPod 4G into something more similar to the iPod Video theme (we had 4 colors to make gradients out of; was more fun than it sounds)
I also contributed design and testing to the iPod Linux and iPod Wiki projects, and testing on the Rockbox project.
On the Mac side of things, I was a mod of MacThemes for a long time, contributed my fair share of themes and icons, and was a beta tester for Candybar for a long time. My biggest contribution was probably tearing apart and documenting how to customize iTunes on Mac. I got it to a point where I was able to restore 90% of the old iTunes after a much-loathed redesign. My documentation also resulted in a spike in interest and new themes being created for the first time in a few years. It was really exciting seeing the frankly stupid amount of work I put into that pay off within the community.
Oh and I also loved to show off with Tiny C Compiler on my jailbroken Kindle 3rd gen
Coffee I guess some things around coffee and espresso machines specifically. Depth-wise I had rebuilt some commercial machines but also just being in the forum and seeing other people's rebuilds. I wrote some software for a prosumer espresso machine that had it operating with a PID and was activating / deactivating and even had a super simple API with an iOS app (That was never submitted to the store). One day I'd like to get access to some specific old 80s-90s espresso machine that I could rework and upgrade with different stuff but not so much on the horizon due to rareness.
Plants I have a few hundred succulent plants of various types. Beyond collecting, attending meetups etc I've also grown from seed, grafted plants etc as well which is fun but I have limited space. I think one of the major things in the "scene" is to actually visit places like Mexico or Madagascar (random examples) in remote areas that have plants growing naturally. One day maybe I will have adequate space to do a lot more breeding and growing, there are some people in SF who are at the meetups who are a lot more into it (some professionally) doing cross breeding and all sorts of things or have encyclopedic knowledge.
AI images Very superficial but AI image generation is really interesting to me. Does playing around and joining subreddits count? My knowledge doesn't pass muster on this one lol
Little Languages: I like to tinker with my own compilers / interpreters. I had read an article recently about someone building an example Linux shell and I wanted to try a couple of ideas where I thought I'd take a different approach than the author. I ended up building a very, very tiny BASIC interpreter in C. My proof that the interpreter was "good enough" was whether or not I could write a script in the dialect of BASIC to display the lyrics to the song "The Twelve Days of Christmas."
Then I tried to post it on reddit in r/lua and they called it Malware and tried to insist that the whole thing had to be open source. I think what really screwed me there was Microsoft and their GD message identifying everything as Malware by default unless you have paid them off. I did eventually get the code signing certificate and stuff but no one ever really seemed to care.
I assume there may be something like this for VR somewhere that I haven't heard of yet that is actually somewhat popular.
Oh, and they've added in-game rollback netplay using a Dolphin fork :)
- Memory: Supermemo, Decaying Curve, Tricks, Algorithms: Including Ankis, Supermemos and more.
- Programming Languages: Any kind. I like interesting stuff such as Zig, Elixir, Lisp and HTML(yes I said it).
(used to be active there, in the demoscene)
Back in the bad old days, that was the only way to watch shows. Today, almost all shows are subbed at release by Western platforms—for those who are left the focus has shifted to doing it for its own sake, and the results are remarkable. Groups like GJM are doing extremely sophisticated and artful work with motion tracking, graphics editing, masking, and so on, to produce target-language imagery that is visually indistinguishable from the original or matches its style.
- Simple Code. I think most system architectures / frameworks / languages are suboptimal - either being hard to reason about or a pain to code in, etc. So this bucket is about trying to find technologies that actually best support their usecases, regardless of what their adoption looks like. This led me to two scenes: Svelte / SvelteKit for frontend and F# for backend / general purpose programming and is now how I build pretty much all my apps (see: https://cloudseed.xyz). The subreddits for both these communities are good.
- Creative Coding / Technology - I used to be more involved here but now am more of an observer. Basically trying to use the power of computing to create cool things - mostly artistic. This comes in a range of forms but typically procedural / generative art is at the core. Subreddits r/generative and r/creativecoding are pretty active
- https://forums.atariage.com/forum/50-atari-2600-programming/
Right now I'm actually working on a new esolang that combines an almost-reasonable stack-based programming language with Malbolge-inspired (https://en.wikipedia.org/wiki/Malbolge) obfuscation.
Also, we fixed a few HP 5061 Cesium Beam Atomic clocks. So I'm now a Quantum Mechanic ;-)
It involved decompiling the app. Adding miui framework dependencies. Patching stuff, where adding dependencies was adding bloat. Removing analytics. Also unlocking device restricted functionalities. We were able to provide latest functionalities on older devices.
It started when I installed an AOSP rom on Xiaomi's OG Pocophone F1. And discovered that no Camera app was able to use the full hardware capabilities of the phone with AOSP rom.
At the projects peak we were able to support 15+ devices.
It also worked on non-xiaomi devices.
One weird thing was it wasn't organized on XDA but on telegram.
Since those machines have fixed configurations, it's easier to assess the level of technical achievements.
Yesterday, I watched a C64 demo on Youtube that featured Donald Trump's face[1]. It's such a fantastic cross-over of 40 year old tech with memes of 2020's. I find it fascinating.
The weirdest part for me still is custom ordering hundreds of dollars of lights from Chinese companies directly.
Algorithmic and AI art
NASA flight software source code for Apollo and other spacecraft. Emulator: https://www.ibiblio.org/apollo/yaAGC.html Code: https://github.com/virtualagc/virtualagc
Probably the most realistic Space Shuttle simulator ever created (runs in FlightGear). https://wiki.flightgear.org/Space_Shuttle
[1] https://github.com/jkanche/kana [2] https://biowasm.com/
Then there's the C64 scene, of course. The demo makers is one thing, but there is also the people who lovingly restore the old hardware or document old oddities.
Side note - I'm sure you heard about this, but I love someones speedrun (SM64 Tick Tock Clock Red Coins) was affected by a bitflip from outer space. So much I love about this scene.
- Super Mario 64 - Super Mario 64 DS - Super Mario Sunshine - New Super Mario Bros 2 - Luigi's Mansion - Mario Kart Double Dash - Wario Land 4
And a fair few other games too.
E.g., one guy demonstrated how he forges the signature on a printer's USB firmware updates so he can deploy a his own stuff inside a company's network perimeter.
Or they always have "Lockpicking Village", where you can learn to escape handcuffs!
The 2600 magazine has always been a fun glimpse into this world, too.
There is even GUI WYSIWYG editor that essentially repurposes the original Gameboy Pokemon (Red/Blue) as the engine for a generic RPG engine.
I'm not great. I enjoy it though. It's also been a place to play around with small a programming project to make it easier to update my streaming UI. https://github.com/Forge36/Speed-Run-Sidebar
I used to be partnof the comment field on Joe Rogan videos. The comments were hilarious, great community.
https://en.wikipedia.org/wiki/64K_intro
Inspired a lot of my early interest in computers
Warning: gratuitous 16MB PDF which will not benefit you.
* Not strictly just computing
** Some international clubs too.
- https://codegolf.stackexchange.com/search?tab=newest&q=julia
Get to hang out with other techie artists IRL.
Theres lots of events to show off the art, and you can get involved in the music scene, as a technical person
It's fairly well documented these days but there was a very fun game of cat-and-mouse between the satellite companies (DirecTV and Dish Network) and all the pirates. For DirecTV, at least, the outline of the whole thing went like this
Subscriber specific smart cards were insertted into the DirecTV set top boxes and they were, IIRC, essentially responsible for providing the decryption keys for the video stream. The cards did this using a custom onboard ASIC that I don't think was ever really reverse engineered. So the cards - at least for the "mainstream" DirecTV pirates - were always required.
People would manufacture and buy modified smart card readers which would tweak the power to the cards in such a way that after enough attempts they would enter some kind of debug mode and accept unsigned software updates.
People would disassemble the software on the card and write patches (all in assembly) to make the smart cards to authorize any request for channel access instead of them cross referencing the authorizations for your account (1).
You'd apply the update to your card using a modified reader and voila - all channels worked perfect.
But then, DirecTV got clever and instead of just using the ASIC to compute the channel decryption keys they started to use both the ASIC and a hash of parts of the card's onboard software! So now every week or so a update was released which would break the old patches since the new update would potentially need the hash of parts of the original code that the software had overwritten.
So then the people writing the patches would do things like add lookup tables for the known incarnations of the packets that initiated the decryption key generation...so they'd just have a table of Hash(DecryptionPacket) -> Hash(OriginalSoftware). But then new packets (usually released each week on Monday's I think) would require more updates.
There were more clever patches that would do more sophisticated things but the extent of which I don't really remember.
Note that this was all _after_ the infamous Black Sunday event when lots of cards were permanently disabled. That was the P2 generation of cards. The generation I'm referring to above (during my exposure to the scene) was almost entirely P3. They were running P2, P3 and P4 cards all at the same time, I think.
As far as I know this scene is entirely gone now. I don't think the P4 cards were ever exploited - not publicly, at least.
Lastly there were LOADs of forums for this kind of thing. vBulletin forums were all over the place. Lots of thriving communities.
My memory is pretty hazy on all this now and I was pretty young at the time so if anyone has more salient details on this I'd really like to hear them!
(1) - I don't remember exactly how the massive subscriber database was sent down in the stream in such a way that the boxes and cards could do this. Maybe some kind of tree? Maybe someone else can fill in that detail.
That said, another commenter below mentioned modern "phreaking" and how it's become more radio centric... and while I won't admit to doing anything illegal, let's just say that there's some interesting stuff you can do / look at / listen to these days, especially with ubiquitous and inexpensive SDR hardware and related resources. See the recent story[4] about the KrakenSDR[5] passive radar stuff, and some of the papers that are out there about P25 security flaws, some of the automobile hacking stuff that's RF based, etc., etc. There's a fascinating world out there buzzing around on invisible electromagnetic fields... and you can tap into it with a $30 dongle and a Raspberry Pi (or your PC).
One of my other interests is retro-computing. I bought an Atari 800 to mess with a while back, and I've been dorking around with some stuff related to building a Z80 based retrocomputer for a while. Sadly that latter project doesn't get many cycles of my attention these days but when I have a free minute here or there or need a distraction, it's something I can play around with.
And last, but not least, I do still enjoy spending a little (very little) bit of time on MUD's[6] and IF[7] games now and then. In terms of MUD's, my current favorite is Avatar[8], and in terms of IF games I've been picking at Battlestar[9] for a while now.
[1]: https://github.com/boatbod/op25
[3]: https://www.broadcastify.com
[4]: https://news.ycombinator.com/item?id=33581696
[5]: https://www.crowdsupply.com/krakenrf/krakensdr
[6]: https://en.wikipedia.org/wiki/MUD
[7]: https://en.wikipedia.org/wiki/Interactive_fiction