ideas

contents

introduction

i have too many ideas. so many ideas that i have systems in place to get rid of them.

i switched between multiple systems along the way, but the concept nowadays is to just keep the idea somewhere, in any notebook, task list, sticky note i can find. most of my ideas will end up on my french blog's posting schedule, many months before i actually have to post about it.

when i feel that i have too many ideas or need to reorganize them, i do what bullet journalists call a “mental inventory”. i open a new page in my bullet journal, and list all of my ongoing projects, all the projects that should be resumed someday, all the ideas i might have, and all the obligations or habits i have. i then sort them depending on whether i have to do them, for example taxes or fixing something in the home, whether i want to do them, and whether they have some interest for me or my relatives.

if i do not have to do something, and it has no interest for me, then i should probably give it up. if i do not want to do something, even if it has some interest, then maybe i should not do it. if i have to do something but don't want to, well i better get it done as soon as possible to forget about it.

one issue with this filtering is that giving up on some of my projects or ideas feels kind of bad, especially if i spent enough time working on it or thinking about it. it feels like wasting time, when continuing the idea also feels like wasting time. this page exists to fix this. i share my own ideas to let other people potentially be inspired by them, or take over one of my abandoned projects. there is little hope of this actually happening, but at least i can trick myself into believing that and i feel more comfortable abandoning ideas and projects, sofa-style.

i wrote a blog post on my french blog about why you should share your own ideas too.

back to top

bullet journal web app

i had this idea while i was trying out microsoft to-do, soon after it came out. this is basically an extension of microsoft to-do, but to allow including daily logging, calendar and note-taking features similar to bullet journaling. a sidebar would act as a journal's index, you could have items of different types, custom bullets, custom signifiers, etc.

at that time, i really liked the idea of the "My Day" page in microsoft to-do that quickly gave you tasks that are due today, tasks that you added yourself to this page, and suggested random tasks from your task lists. this page really helps to focus only on what matters right now.

daily logs in a bullet journal serve this purpose, and the daily and monthly migrations are key mechanisms of bullet journaling. i wanted to have some kind of assistant that would help me migrate everything at the end of each day or month, or at the beginning of the next.

this is one of the first ideas i killed when i did my first gitlab issues cleanup, and i did so for multiple reasons:

i had made a mockup of what i thought the app, displaying a daily log, would look like.

back to top

nextcloud apps

when i started having my own nextcloud instance on my home server, i migrated a ton of things on it, and wanted even more.

i wished for an IRC app: i did not have much design ideas but i thought it could be close to nextcloud talk or other usual web clients like kiwiirc.

i wished for a time tracking or pomodoro app. it could even be an add-on to the official calendar app, or to nextcloud deck, to add time tracking to kanban cards.

i abandoned these ideas because i dislike PHP, because pomodoros and time tracking to the minute are no longer my thing and command-line irc is cool, and because nextcloud requires you to not use nicknames, only your real names, which is a policy i strongly disagree with even if i do expose my real name on work related stuff.

back to top

stargate coordinate system

back when i was binge-watching every film and tv show of the entire stargate franchise, i once had some reflection on a word document written on my old blackberry while commuting about trying to find some logic into the coordinate system used by stargates.

of course, there already is an entire article on that topic on the stargate fandom wiki. i like their idea of eight-chevron addresses basically having area codes, and nine-chevron addresses being MAC addresses.

back to top

stargate control protocol

i once had a dream where i got woken up by a friend calling me and telling me to hurry over to the local train station, where i found a destiny-type stargate. i tried using an android app i had written earlier, an implementation of the stargate control protocol (SGCP), and managed to control the stargate over bluetooth.

it might be possible to write a pseudo-RFC on this protocol. since bluetooth is basically serial, we can say the stargate should work on any serial protocol, including RS232, USB, or bluetooth.

i had thought about an extension system where the stargate could tell what it was supporting, and the client picked features, in a way similar to what is done in XMPP. that would allow for an optional gate map, as seen in The Fifth Race (2.16), time traveling abilities as i had seen in other dreams, optional iris support, etc.

back to top

board game framework

i like the c# language, mostly because i see it as human-understandable java; i once was in a frenzy to try to find excuses to write anything in c#.

i had written a UML diagram in a notebook somewhere of a possible board game framework. i found it when i was looking through some notebooks to recover lost ideas, and i rewrote this diagram using plantuml.

you can view the source for this diagram, or look at the diagram itself.

more recent experiences with trying to write projects in c# made me realize that i did not have enough skills to write “professional-grade” c# code and properly architecture strictly object-oriented stuff, since i am used to the very flexible patterns python lets me follow, and did not have the energy to try to learn all of that.

back to top

iiif library for c

one of my first tasks when i entered my current job was to implement some basic IIIF support into an app. that made me discover there is little to no support for this framework in any language other than java, and that server implementations seen in production were often laggy, unstable, badly maintained and monitored, and did not comply with the specs. still in the c# frenzy i mentioned above, i thought it could be interesting to build full support for the entirety of the framework, with full respect to the specs while providing modes for compatibility with non-compliant but common clients. this framework is very abstract and pretty big, so going for it would have been a big undertaking, especially for me who has little to no experience doing proper c#.

i had been watching over the development of JsonLD.Entities, a nuget package that would help me handle JSON-LD, a specification that is used by IIIF. i wanted to wait for it to be ported to .net core, as i write c# on linux and now think the .net framework needs to die as quickly as possible.

as with almost every of my abandoned c# ideas, i have a plantuml diagram for it (source).

back to top

pytoast

a fork of pytest, where everything gets renamed to toast. because unit toasts sound funnier.

back to top

foaas api client

a c# or python api client for fuck off as a service.

turns out there already was a client in c#. although i thought it was badly written, i just decided to give up on this idea, mostly because it is utterly useless.

back to top

chuck norris jokes api client

still in this c# craze: i discovered the existence of a chuck norris jokes database which had an api (it seems to have closed now). of course, i wanted to make an api client.

again, as it is a complete waste of time and i decided to abandon nearly every c# idea to focus on getting better at python, i did not follow up on that idea.

back to top

day notation app

a web app that could let you grade your days, from zero to ten, and show graphs of how great your days were over the last week, month or year. the idea emerged from a trend i had with a friend for a few days to text each other our grades. i gave up on that because we stopped doing that, and because there already are lots of similar mood tracking apps.

back to top

metaweblog for pelican

while doing research for a possible rewrite of my french blog, which is probably the oldest still active project i have, i was interested in pelican, a static site generator in python. at the same time, i discovered open live writer, an open-source fork of windows live writer. for a while, the main standard for interoperable desktop blogging software was metaweblog, and this is the main system used by open live writer.

i wanted to see if it were possible to run some kind of http server that could provide a local metaweblog api, to allow writing posts with open live writer and getting them saved as files in the site's content folder. this would require including it into a pelican dev server, as live preview is cool and open live writer uses it to understand the blog's template and provide a wysiwyg interface.

i gave up on that at the same time i gave up on the idea of a static site for a newer version of my blog.

back to top

habitica integrations

i have been using habitica for a few years already, and wanted to have a bit more interaction between it and other digital productivity tools i use.

this idea first was a trello power-up, since i was using trello, to allow for two-way synchronization: trello cards could become habitica tasks, and putting a card in the done column would mark it as completed in habitica.

then, as i migrated to nextcloud deck, it evolved into doing exactly the same thing, but with nextcloud deck instead.

then, as i stopped using kanban boards entirely but still used gitlab issues as todo lists on my software projects, i wanted to have a gitlab to habitica integration in that same method, but with one-way synchronization only—creating an issue would create a task, and closing it would complete the task. that would require running a http server and using gitlab's webhooks.

i decided not to do this project at all because it was too much time spent for too little gains.

back to top

tilde hack game

an idle game that i wanted to write for tilde.town, similar to the hacking simulator games like HackTheGame, Dark Signs, or the more recent and very good Hacknet.

you would have a shell that gives you access to random servers with fake IPs that you could hack to expand your botnet. you could have a mail system to receive contracts to make you hack specific systems and perform specific actions for money to upgrade your own system.

the idle part comes with your botnet, which could bruteforce password lists or perform DDoS attacks.

back to top

railscreen

yet another c# project, except this time i started writing it. you can browse the archived gitlab repository.

i started this as a train station screen simulator, then wanted to make it evolve into a full rail network simulator, with a plug-in system, scripting, random accidents, etc.

i gave up on this project as part of my first massive clean up, where most of my c# projects disappeared.

back to top

dasconzole

a bad name for a random console project i had started in visual basic on a windows xp virtual machine, then converted to c#, then started from scratch when trying out .net core on linux. the restart included a split of the project into three parts:

railscreen and the first rewrite of lyokocmd both used this framework. it mostly was designed to write entire applications, not just simple utilities—think lynx and curl for example. it was designed to be cross-platform (or at least, work on windows and linux, since those were the platforms i could test it on).

i dropped it with most of my other c# projects when i started cleaning things up. with .net core mostly being targeted at web apps, but easily providing console apps, open-source .net projects getting more active and developer tooling slowly getting better, things are evolving in the right ways and people who are way better at c# than me are implementing better frameworks that do exactly what mine did. you can still browse the archived gitlab repository.

back to top

pseudoscience

in a manner similar to xkcd's what if?, i used to write french blog articles where i would answer my own stupid questions in a scientific way or publish random imprecise calculus and fallacious logic, such as:

for that last question, i started the pseudoscience project: a python pseudosci package that would help me compute useless facts faster. its main feature was a unit system, and higher level objects like Vehicle would use those units. that way, i could declare my space metro as a vehicle, and get properties such as the energy consumption, travel time accounting for acceleration and braking, etc.

this project made me learn python, and i wrote it while learning, so the code is far from being my best code by my own standards. i abandoned this project when i pretty much stopped writing this type of article and when i realized my needs were way too varied to properly fit this project. you can still browse:

back to top

transporte

back when i was going with a friend to university, we had the habit to always try optimizing our 90-min commute as much as possible. our trip was not too complex—walking or taking a bus to a train station, taking the train, then taking the metro—but the train was unreliable and i quickly learned how to get around in the metro to save a few seconds. we devised a way to quickly send each other texts full of information to find each other when one of us was in the train and the other arrived later, with data like a probability of getting a seat, the train car or in which part of the car (close to the front/rear door or the middle, on the left- or right-side rows).

i had bookmarked three different sites to get close to real-time timetables and delay information, browsed twitter as soon as i heard about a possible delay, and often knew more about traffic on my train line than the train station agents themselves. when there were large delays, i was myself acting as a train station employee and informing people, and i also knew which instructions from station agents to ignore to arrive home faster. i also knew when running from the school's door to the metro station would get me an earlier train. all of this seemed impressive at the time but now look quite depressing, now that i just need a 10-minute walk to go to work.

transporte was a web app that allowed you to tell at which door of the Lille metro you should get in to exit the metro as closely as possible to your destination. this could save you 10 to 40 seconds depending on how crowded the platform is. i gathered the data by going to every single metro station on the network, armed with a notebook; that took me three whole afternoons. the app was compatible with my blackberry curve 9320.

i first made the app using vanilla javascript, then rewrote it using vue.js. I expanded it to include info like the presence of ticket vending machines, their IDs (you could for free print a receipt showing the contents of your metro card, with a machine ID on it, and i got over three hundred receipts for each machine in each station), and a map, using gps coordinates from the city's open data website. they included my app in their uses section and took into account my suggestions about offering new data, which is pretty cool.

i moved far away from Lille and no longer used public transit much, so i just kept the project's npm dependencies up to date for a while, then decided to stop as i assumed the data was getting out of date, since the passenger flow on many stations is changing due to new equipments being installed and longer metros started to appear. you can still browse the archived gitlab repository.

back to top

unicode bot

i experimented with building a markov bot from every unicode character name, to generate more unicode characters. its output was not really original and i quickly lost interest. you can still browse the archived gitlab repository.

back to top

englitch

toying with shell expansion gave me the idea to build modified versions of existing vocabularies using lossy compression: get a list of words, such as /usr/share/dict/words, somehow encode them into pixels on an image, save this image as JPEG, then re-open it and decode the pixels back into words.

this could give you a modified version of english, for example, which could be called Englitch™. You could name it after the compression settings, such as Englitch85-4:2:2 for 85% compression with 4:2:2 chroma subsampling.

i shared this idea on the tilde.town IRC and do not plan on doing anything about it, but i document it here so that anyone can play with this if they want to.

back to top

python-usda

while doing my strange pseudoscience studies, whenever i wanted to get nutrition facts for impossible foods, i would use Wolfram Alpha: it let me type equations for food such as 3 kg spaghetti + 1 kg tomato sauce and would return all the nutrition facts it could get. i would then summarize the effects of having such a diet on the long term by looking up each vitamin or other category listed in those results. this was really time consuming; therefore, i wanted to have a script that does exactly this, and would let me just copy/paste the summary in my articles.

i had already started my pseudoscience Python package, and learned about the USDA's nutritional database. it was basically a yearly update of an Access database, with a recently added API. there were multiple existing projects on GitHub to load one of those database exports, but there was nothing to use the API—and I did not want to have to handle a whole database in my package. and this is how i started python-usda, another Python package, based on pygov, an abandoned project to handle all of the US governement's APIs. this API had many issues, one of them being a total lack of proper documentation; this made me include a guide to the API, unrelated to the package, in the online documentation. the «Errors» section at the end of the guide should help you quickly understand the global state of this API.

i got the client to work, used it as a dependency in pseudosci and did my calculations automatically, before generally losing interest in those studies, which in turn made me lose interest in this package. i however kept maintaining it after noticing there were multiple people depending on it for various projects and reporting issues. i got an email from the USDA webmaster in october 2019 saying the API was deprecated, and would be removed in march 2020 as it was being merged into a new, cleaner API. as I did not have any personal interest in this package anymore, and this would have required a full rewrite, i chose to end the project. you can still browse the archived gitlab repository and the online documentation.

back to top

suicidal time-travel loop scenario

trigger warning: suicide mention, duh

i am not reflecting on my own death; this is just a possible scenario for some writing exercise; it could turn into a short story, an entire novel, or a tv series?!

After spending months iterating on their plans to commit suicide to avoid getting rescued once again, the protagonist finally succeeds in hanging themself. But they suddenly wake up right after dying, after traveling to the past, to the day where their crush was killed by a car driving too fast and not stopping at a crosswalk. In a pure act of instinct, they take this opportunity to save their crush, but die in their place. Unbeknownst to them, their crush loves them back. They fall into depression, and commit suicide. They wake up right before the protagonist pushes them away and dies, and therefore manage to avoid both of their accidents, but they die again in a new manner. The protagonist gets depressed, and so on.

back to top

plantuml timing diagram generator

as you might have seen in the abandoned c# ideas, i like using plantuml to create diagrams, mostly because it has a very simple web interface for quick diagramming and because it is packed full with features. a recent addition is timing diagrams, a pretty nice way to represent time-based evolution of some components' states.

i wanted to build a python package that allows timing python code and generating timing diagrams out of them. you would manually specify participants with their display options, tell the generator when a state changes, and just ask for the diagram, something like:

p = Participant('My code', style='concise', alias='C')
p.start('processing')
# ... some slow code ...
p.state('io')
# ... some i/o stuff ...
p.state('idle')
p.stop()
Diagram(p).save('diagram.uml')

you would then get a diagram code similar to:

@startuml
concise "My code" as C

@0
C is processing

@42
C is io

@1337
C is idle
@enduml

while i still like plantuml and use it regularly, i have stopped most of my python work and i want to refocus on a select few projects, so this idea is abandoned.

back to top

iot train signal

i have a magenta train signal light at home, recovered from an abandoned set of tracks somewhere in france. i have been planning for a long time to turn it into a lamp, but i thought about turning it into an equivalent of blink(1), to wake me up, flash when a groceries delivery is arriving, etc.

back to top

optimized clock

i have been using for over a year a strange combination of two phones to wake up in the morning. i sleep with my phone next to me on a loft bed. it rings three times every five minutes, to try to force me to stay awake for 15 minutes and get enough time to be ready to get up from the bed and turn off the alarm from the second phone, on my desk below the bed. this forces me to get out of my bed, and does redundancy since my current phone regularly does not ring and just sends me a "missed alarm" notification!

the goal would be to use an ESP (arduino with wifi that can use micropython) and have two clocks, one on the wall behind my desk and one on the wall next to my bed. both have the same design: one 7-segment LED display for the time, a buzzer, and one button with a built-in light like those in elevators or cars.

back to top

function-to-argparse

yet another python package that could use the recent static type annotations to automatically generate command line clients using the argparse package.

you would call argtype.main(somefunction) and it would run a CLI that would just parse arguments, run the function, and print its output.

i still like this idea, but i lack the time and motivation to work on it since i recently lost a lot of interest in python, so i am marking this as abandoned. i might revive this if i ever have the time, but it is highly unlikely.

back to top

cookiecutter template

write my own cookiecutter template to quickly bootstrap python projects, since i write way too many packages.

back to top

sc parser and database system

sc (spreadsheet calculator) has been recently added to ~town. its file format is not too hard to understand: it is a script file that just gets executed when opened. you can type in the same commands yourself. upon announcement of its arrival on the town, i had the bad idea to use it as a database system, and equa, vilmibm and maybe others have supported me, therefore i have to make it!

i did some groundwork on the reverse engineering part to try to understand how the command parsing works; i will need to find a good lex/yacc implementation in python and convert the entire parser to python. i thought of creating two separate packages, one for the spreadsheet parser and one for the esoteric database.

this could use the stdqs idea to have a django-like ORM quickly.

i have chosen to abandon this because i want to focus on less projects at once and i want said projects to truly fill a need, not to just do some strange prowess.

back to top

stdqs

the name is the contraction of standard library and queryset. i am the django queryset expert, and more generally the sql expert in my team, since we do not have any database admins, and i really like querysets, so much that sometimes i want them to play with anything, such as simple lists or dicts, especially when i am parsing json files or large csv files.

>>> qs([{'a': 'b'}, {'a': 'c'}]).get(a='b')
{'a': 'b'}

this could make use of my objtools project. i had started an implementation for this idea here, but i will probably restart from scratch soon.

back to top

python port of recutils

recutils is a plain text database library that formats records in a way similar to HTTP headers. it is designed to have human-readable and editable files; you would use a text editor to update the database, and scripts to query it. i like it, and i initially wanted to use it for my aliases list, but it is not installed on the town. and since i like python, i also wanted to have it in python.

this could make me learn about C bindings in python, if i do not want to write another parser.

i have chosen to abandon this idea because python no longer interests me that much. i would rather write specific scripts that reply to specific needs, just what is done with itsb. i also want to focus on less projects at once.

back to top

notebook management

i love notebooks. and like a lot of notebook lovers, i have way too many of them, and no way to track them.

i sometimes go meta and use pages in my notebooks to track notebooks, but i often forget to update them, and sometimes i will get too absorbed in my computer to think about paper, and forget about my notebooks for a while. i thought of writing a web app to manage my notebooks on my home server and remind me to use them.

back to top

raspberry pi on a minitel

a friend of mine has a spare minitel—back when france had a public national phone operator and the internet was not so common, the minitel was the name of a terminal and its network. it could access various services over dialup, like news, online dating, and i even heard of a farmer using the minitel to send paperwork to the governement about their cows. sadly, the minitel network died in 2012, and my friend's minitel's screen is broken.

we removed the broken screen and most of the electronics, and kept the case and keyboard. we want to put a portable dvd player's screen in there, and use all the spare space initially used by the crt screen to put a raspberry pi, and maybe some extras like a floppy drive or dvd drive.

i found an excellent document in french detailing a reverse-engineering process on the minitel and documenting the keyboard's matrix.

back to top

twtxt crawler

i am a twtxt user (my txt is here) and i find discovery a bit hard to do; filtering through the dead accounts on registries, or having to grep and sed my way in text files to find new people to follow is tedious.

my idea is to automate this process. you could start a crawler that first reads all of your currently followed txts, or uses a registry, and parses every single mentioned user in it, including the # following = comments some clients automatically add, then displays each text file and asks you if you want to follow and/or crawl them.

this could generate a directed graph, which would make for a very cool visualization and introduction to the network. heck, this could turn into a search engine as well. or the crawler mode could be built into a browser, some kind of curses-like program that would look similar to the twitter mobile app.

some of my followers on twtxt seemed to have similar ideas, and it is very possible that a crawler or two may appear before i even begin working on this project.

back to top

dotfiles management

i started working on a system to handle my way too large amount of shell aliases and functions, but i still lack of any structure for my dotfiles on every machine; every i3blocks status bar is slightly different, and i have to redo the configuration with every single reinstallation.

this is not an uncommon problem and there already are lots of options to solve this; i just have to pick one that will fit my needs. if you have any feedback to share about one of those dotfile management tools, feel free to send it to me.

back to top

board game

a while ago, while on vacation, i had designed and played a board game with one of my cousins. the board and items were made from items we picked up from my grandpa's stash of model-related stuff: photo frames, some non-painted little soldiers, a few dices, a wooden stick with some markings on it, and a bit of plastic from the injection moulding runners of model boxes that we used as a ruler.

we had built at least two boards, each time using photo frames, and used polystyrene parts, lying around from an abandoned attempt at a lord of the rings model display, and painted stone brick walls and a tower as optional elements to spice up the boards. the frames had fake grass, fake gravel, sometimes a bit of relief.

each player starts with the same amount of gold points. we had a piece of paper to write down each player's gold points, and another with the price of each soldier. we had three types of those plastic soldiers; infantry, snipers and rocket launchers; if i recall correctly, those cost 30, 50 and 70 GP respectively.

on each turn, you start by throwing a d6 which tells you how many graduations on the plastic ruler you are allowed to use. you can then move soldiers around according to this ruler, and you can choose to move multiple soldiers at once, as long as the total amount of graduations does not exceed what the dice says. altitude changes do not count as distance, and “touching” the tower's door allowed you to get on top of it immediately.

each of your soldiers can shoot once, at any time during a turn. the wooden stick has markings on it to indicate the maximum range of each type of soldier; rocket launchers had the smallest range and snipers the longest. if your target is in range, it gets killed; if not, nothing happens. a successful shot using the rocket launcher meant that any soldier right next to your target would die; we would usually make our finger go around the target to emulate the blast and make the neighboring soldiers fall.

any successful shot means you get to throw another dice, which has 3 pairs of two faces: white, blue and red. white meant you earned 10 GP, blue 30, and red 50. the game ends when there is only one player left with more than zero gold points.

this was a pretty fun game and we played for multiple afternoons. my brain often forgets good memories to keep more space for all the bad ones that haunt me every day, therefore everything is a bit hazy, but i can clearly remember playing this game. what i would like to do is to recreate that board game as a video game, or at the very least formalize the rules and publish the game somewhere before i forget about it.

2020-11-23: i might end up describing this in more detail on my breadpunk site as i am already talking about various games on there.

back to top

tilde.town zine contributions

as the title says, i would like to contribute to the tilde.town zine. i am still not exactly sure about what to contribute with, but i might have some ideas that i have to try out:

back to top

site wikification

i would like to find ways to make this site's pages easier to add to my gopherhole, without loosing too much data, and more generally to make the content easier to play with programmatically. this could also make it easier to put my site in a git repository.

since most of my site is not a blog but more of a wiki, i could explore using static site generators, though most of them are oriented toward blogs, or local wikis like vimwiki, or build my own generator. i would very much like to use things like restructuredtext, and i know markdown will not give me enough features for what i need.

back to top

git manpages

this generator can make fake manpages for fake Git commands, but they aren't actual manpages, it's just HTML. time to write either a parser for this html, or fork this generator, and make it create actual manpages and open them using man!

back to top

lyokocmd

i love code lyoko; so much that as a kid i was part of some french fan forums. on one of them, i noticed some windows command line projects about emulating the cartoon's supercomputer, and that got me interested. i started my own project, LyokoCMD, in batch. this attracted the interest of someone who is now my best friend, who taught me vb.net, which led me to learn a bit of php, create my own website, go to computer science classes, etc. and more generally led me to my programming career. i moved to my online best friend's city as well, kickstarting my adult life.

we wanted for a while to rewrite lyokocmd, but in another language. we had started a rewrite in c# using dasconzole, then abandoned it mostly out of a lack of time. we however had a ton of ideas for its future, like making it into a multiplayer game and possibly having irl parts such as having to access a minitel to complete a mission. a new idea recently emerged, but we still do not have the time to do anything with it; we might get started on it one day if we ever lack of any other big projects to make, but this seems highly unlikely.

a single lyokocmd command could add to the $PATH a bin folder with a few scripts for the actual game (lyokoctl, sscan, etc.). this effectively starts the game. a single non-root daemon could be running on the system, providing an api on a unix socket similarly to dockerd. this allows splitting the project in many smaller components, making it easier to possibly fit projects in smaller time frames and maybe working a little bit better for us. the daemon could provide multiplayer games on a local host, similarly to asciifarm on tilde.town. instead of rewriting a shell interpreter from scratch, we just use your normal shell like bash, leaving players with something they already know about and allowing scripting or autocomplete features.

i thought of habitica, battle for wesnoth, neverending legacy, leekwars or the general concept of incremental or idle games as sources of inspiration for the concept of this game.

the game would be generally slow, allowing fair-play for everyone across timezones. it could be turn-based or have a cronjob run at a set time every day. a single play could be as short as just checking on a running process such as the skidbladnir's construction, which could take days.

it would be possible for players to trigger cooperative missions like a "world boss", where everyone has to fight against a single enemy. tasks such as decrypting franz hopper's diary could be distributed, with players dedicating portions of their supercomputers and making the diary later available to everyone.

i thought that players could also have customizable lyokowarriors, similarly to pokemon: an experience points and level system along with skills to learn new attacks or enhance attributes. it might be possible to have players be evil and play xana as well.

back to top

network over sql

i have recently discovered the existence of PostgreSQL asynchronous notification system which is a rather similar, although more crude, system to most things used for async tasks or microservices and all the weird stuff of the Cloud®©™. by default, it has a 8GB queue and allows 8KB per notification; this is pretty big and could definitely be abused to create a networking system, providing a network card with a 8000 bytes MTU; ethernet over sql.

i imagined the network card driver could call a stored procedure (if we're going sql, might as well go all the way) that will use a routing table to tell which channel to send a packet to. when receiving a packet on a channel it was listening to, it just passes the packet along like a normal card. everyone could be listening on some global "broadcast" channel, which is used to advertise what capabilities each device logged in to the database has, and another stored procedure parses the received notifications on this channel and fills the routing table.

the next step would be to implement routers between databases and keep track of how long test packets take to reach their destination to optimize the routing, therefore reinventing border gateway protocol over sql.

back to top

computercraft emulator

i recently got started tinkering with lua. i had already done lua programming before in computercraft, a minecraft mod that adds computers, but i never really went into complex stuff. i wrote my first non-minecraft lua script recently to solve an advent of code puzzle, by generating sql statements and piping to sqlite, because merely writing lua was not cursed enough. i am really proud of that script though!

i want to tinker with lua's extreme simplicity and basically rewrite the low-level computercraft APIs to allow all of the lua code from the real mod to run, basically building a minecraft computer emulator in a real terminal. i have not yet looked at potentially existing projects that do this, or looked into what i would really need to implement.

back to top

ini schema validation

The XML, YAML, JSON, JSON5, CSON, Hjson or TOML formats and probably others have schema validation systems such as DTD, XSD, JSON Schema, or TOLS; why not INI?

back to top

0x0.st for thunderbird

create a thunderbird extension that uses the cloudFile API to use 0x0.st and the like as a hosting provider. some warnings should probably be provided as uploading to those instances usually means things are public!

back to top

doculang

a programming language based on markdown that requires you to write something that looks like properly structured documentation:

# Running the application

1. Display "Hello World!"

compiling then running would cause Hello World! to be displayed.

back to top

obtany

I made a typo while watering my plant. obtany could display which types of plants and which adjectives you obtained in botany, to see if you got the whole collection.

back to top

pASP interpreter

Write a modern interpreter, or maybe a transpiler, for the pocket Active Server Pages language, a subset of VBScript that runs client-side on a Mobile Channel browser on Windows CE 2.0 or later to generate very restricted HTML.

back to top

systemd for windows xp

an awful Windows service that listens for HTTP requests on a socket or a port and lets you control other Windows services with zero authentication just to introduce more vulnerabilities on your system, along with a CLI tool. could also include other very poor recreations of the rest of systemd's mess, like journald/journalctl to play with the windows event log.

back to top

cocrafting space

the equivalent of a coworking space or a fablab, but for arts and crafts. you pay a set fee to have access to all the crafting materials and equipment in the store for a limited time, like a few hours, or pay a monthly fee. there may be workshops organized there, to teach you various techniques, or you can pay for someone to walk you through something or coach you on whatever project you have. i have not found anything like this in my local area.

i started thinking about this because seeing the mountains of washi tape rolls people have makes me think nobody will ever finish those rolls, so there is a lot of waste. i don't want to buy a few meters of tape if i'm just going to use a few centimeters on a page just once.

the workshops part would be nice too as it would give me an opportunity to meet people that may be interested in journaling, something which i do a lot nowadays but that is inherently a very solo activity, and i haven't been able to meet like-minded people in general around here.

back to top

other people's ideas

i want people to share their ideas too! if you have your own list of ideas online, feel free to tell me about it to be featured in this list.