Bio

GitHub: [0yqc](https://github.com/0yqc/) Mastodon: [y](https://chaos.social/@y) irl: Luna os: Debian Bookworm (Linux) device: Lenovo ThinkPad X380 Yoga

Stats

5
Projects
31
Devlogs
81
Votes
4
Ships

Coding Time

All Time: 49h 12m
Today: 0h 0m

Member Since

June 22, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

5
brickhelp

brickhelp

Shipped
2 devlogs about 14 hours ago
brick analyzer
5 devlogs about 1 month ago
boredom_away
2 devlogs about 1 month ago
formsMD (fMD)
21 devlogs about 1 month ago
the offline brick
1 devlog about 2 months ago

Activity

Manually added all relevant HTML files for a first version of the website running. Later I may automate more in the process, but for now I just wanted a complete website. I also added some simple CSS, just to style it.

Update attachment

Copied all quotes I got so far into structured JSON files, so I can access them later on. Additionally I added some data.json files, as well as included data points in these JSON files, so a name, description, etc. is set.

Update attachment
luna
luna created a project
13h ago

brickhelp

Various tips and tricks from creators of https://rebrickable.com/ and other platforms displayed on a website.

brickhelp
2 devlogs 0 followers Shipped

Fixed a minor bug where prices shown on BrickLink with the prefix US $ instead of USD $, as I expected it in my code, would crash the script. I just needed to build in one if-condition and that was it.

Update attachment

Changed from reading a file as the input for the Rebrickable API key to an input() statement, so it can be compiled into an .exe file.

Update attachment

I needed to fix a small bug. Thankfully I noticed it before shipping:

My /core_convert/filter.py was coded really weirdly (by me), so not every case was covered. I first didn't know what happened, but after I found the error it was a quite simple fix using some regex instead of the Python native str in str.

Additionally I created a new thumbnail to hopefully get more votes on this project!

Update attachment
luna
luna worked on formsMD (fMD)
5h 20m 4 days ago

I did some things from /todo.txt, to make the service a better product in general:
- complete CSS rework
- other text inputs only visible when other option is selected (may change to active in the future)
- filter.py full rework, as it was very bad code quality before.

This is also the release of v1.0, as I'm kinda afraid it wouldn't go through until end of August otherwise. So everything (should) work(s) now!

Update attachment

Added another API call: This time to get the information from Rebrickable as to how many alternate builds there are, so you can decide if you can build a lot with it or not.
This is now also v1 of this project. If you have any other ideas, please leave them in the comments, I can implement them in further versions.

Update attachment

I have worked around 2 weeks on this with a very bad internet connection (max. 8kB/s), so Summer of Making didn't load at all. Here is a devlog of these two weeks and 5½ hours of work:

This project is getting close to a production-ready state, however my to-do list of things I could somewhen do is incredibly loooong... I have, however managed to already publish one form with fMD, and it worked great!

Features added:
- DROPDOWN - select your element out of a dropdown
- DATALISTS - get context-based suggestions for text inputs - BROKEN (MD processing breaks everything there)
- GLOBAL OPTIONS - set preferred submit method, title, etc.
- WORKING SUBMIT - using different services (formsubmit, mailto: link, etc.) the form can FINALLY be submitted! using formsubmit, it is a clean user experience, as no mail program, etc. needs to be installed.
- probably more I forgot about

Update attachment

I have worked around 2 weeks on this with a very bad internet connection (max. 8kB/s), so Summer of Making didn't load at all. Here is a devlog of these two weeks and 1¾ hours of work:

As Rebrickable (https://rebrickable.com/) is one of my favorite brick-related platforms, I added two new integrations with Rebrickable!
1. if you're unsure about the number of pieces in the set, just ask the RB (Rebrickable) API
2. get build results from Rebrickable, i.e. how many parts you already own of the set - for that there is technically a third call that gets the user token if you haven't already

Additionally I tested it with all my recent brick purchases and it worked great, I corrected some typos and added a multiplier (e.g. selling it on BL gives you 5× the money)

(user-token was cropped out from image)

Update attachment
luna
luna worked on boredom_away
4h 31m 21 days ago

I have worked around 2 weeks on this with a very bad internet connection (max. 8kB/s), so Summer of Making didn't load at all. Here is a dev-log of these two weeks and 4½ hours of work:

This project has evolved significantly! What started as a simple number-guessing time, for when I want to code something more simple, no turned into The ULTIMATE BOREDOM KILLER! With 3 finished projects to play with if you're bored, you can check them out!

New features for number guessing:
1. counter - wow. just counts the questions you or the bot needed to ask to find the number
2. calculation to find the best n of guesses for the worst case (range = 2x+1-1, so log2(range+2))

New projects in this repo:
1. typing simulation - dynamically output text with variable speeds and automatic linebreaks
2. WISDOMS - user-profiling to display liked wisdoms and ignore disliked wisdoms based on wisdom topics
(for both projects see the project description for more information)

Both these projects were easily coded, with only minor difficulties.

Update attachment

I started the project including two checks already:

  1. BL part-out value
  2. BL sales average

These needed to be done via website scraping since the BeickLink API has this data, however is just accessible by registered sellers, which I'm not (and technically can't, be ause I'm not 18 yet). I have written support about it, but they haven't responded yet. Maybe I can change it to API in the future.

Update attachment
luna
luna created a project
33d ago

brick analyzer

Analyzes brick purchases before purchasing. Currently only sets are supported. Sets get analyzed on the following criteria: - BrickLink part out value (i.e. what the singular parts would cost / would sell at again) - BrickLink sales average (i.e. to which prices the set as a whole has been sold in the last 6 month - Price per piece (i.e. the average price of one piece) - Rebrickable build search (how many % of pieces you own in your Rebrickable collection) - Rebrickable alternate builds (how many other models you can build with that set on Rebrickable) Quick information for terms used in the script: - Set num: the LEGO set number, often visible on the front of the box or the instructions. This is also the one used at many Lego-sites, such as BrickLink - RB API key: Your Rebrickable API key, create a (free) account at https://rebrickable.com/, then head to your settings, API tab and create it - RB User Token: If you don't know what this is, just leave it blank. The tool will promt you to login using username and password --- Note: Online tools to execute this are not possible due to missing dependencies, the demo link is a Linux executable. As I don't have access to Windows I couldn't package it into an .exe file. If you want to run this on windows, clone the repo and run the python file. Installation instructions are only for Linux.

brick analyzer
5 devlogs 0 followers Shipped

Continued on the documentation for a new feature I will reveal once implemented! As a small hint: It's included in the Syntax of the screenshot.

Update attachment

improved a lot on the documentation (GitHub wiki), made a doc page for every question type, currently working on global options.
Additionally made a getting started guide for new users.

Update attachment

Added docs for different question types, so users can easily review the syntax.

added 'other' field for checkbox and radio questions

Update attachment

Started work on the wiki, so anyone can understand and use this tool

Update attachment

Minor bug fixes, e.g. newline chars in textareas not being transmitted to the mailto: URL
small improvement: changed a more complicated while statement to a regex '-+', to turn multiple hyphens in a generated qid into 1.

Update attachment

New Feature!
textareas, now you can promt your users to submit longer feedback, by including a multi-line textarea, just like the one you write your DevLogs in.

Bug Fixes:
I've fixed many minor bugs, the biggest of them being MD in divs not being rendered. Using the Markdown extension mdinhtml, I was able to still have it rendered though.

Update attachment

I've finished the stylesheet to make it look good, I've used multiple variables, so I can update them via JS and global options in the document in future DevLogs.

Here is the link for the live prview: https://0yqc.github.io/formsMD/output/page1.html

Update attachment

I started some work on the CSS to not only make it functional but also visually appealing, this is not finished yet, I'll make it look more beautiful tomorrow.

What's planned already?
- Options for the result, e.g. some CSS colors, info about where to send emails, etc.
- logic support, e.g. dynamically hide or show questions/answers
and more...

Update attachment

Finished the whole project today, these are the features:

  • 2 Different gamemodes

  • completly in-terminal

  • no dependencies

  • fun to play

Update attachment
luna
luna created a project
39d ago

boredom_away

This is a project still called 'number_guessing' on github for historic reasons, however it developed to so much more! A list of all projects: --- 1. NUMBER GUESSING - the original project with 2 gamemodes for additional fun! | - Normal: You need to guess the number the computer thought of, however you get hints! | - Reversed: Additional twist, the computer guesses the number with the best possible strategy in as few as 7 turn for a number between 1 and 255! --- 2. USER PROFILING WISDOM GENERATOR - generates wisdoms from a pre-defined list based on user's likings | - users can vote on wisdoms | - saves users preferences for different topics (e.g. AI, friendships or time management), based on votes | - displays wisdoms accordingly to only display liked ones --- 3. TYPING SIMULATION - bored of simple print() statements? Try this | - Importable - Just import the file and use typing_simulation.type_animation() to type text beautifully in the terminal! | - Natural - With a random duration between characters typed and a longer duration at spaces, it gives a natural feeling. | - Automatic Line Breaks - When the word doesn't fit it displays in the next line! The script must look ahead first to see if the word would fit. | - Variable - Adjust speed and the position for line breaks, directly from the function call. --- 4. TACTICAL SNAKE (canceled) - Snake fully in the terminal, w/o time, just input | - Finished modules: | . | - Board Drawing - Automatically draw the board, with: | . | . | - the snake and treats, passed as arguments | . | . | - automatic column- and row numeration | . | . | . | - Either every number of every 5th number depending on size

boredom_away
2 devlogs 0 followers Shipped

(In case you wonder, the submit action on the demo page doesn't work yet as the demo tool doesn't support JS)
(The currently generated page is just some random text and options I wrote to test everything out.)

first thing I did: added the support for all text input fields, as I started this yesterday it wasn't as difficult.

second thing: added a simple submit function with some JS cloning, I'll need to change it, since currently it always sends all form submissions to my personal email address. the plan is, to include these options at the top of the file:
- document name for the HTML title and email subject
- receiving email address for receiving all form submissions

Update attachment

I started to make the compiler for open-ended input questions (, etc.), however for that I needed to implement an options system where questions can implement options. And that took longer than expected...

So here I am after 1h37m and haven't finished text input yet, but am nearly done with the options, which will be a time-saver also for other question types.

If you wonder, why the code in the screenshot looks so short for that long coding time, it's because I tried a lot of other options before coming up with this complicated regex.

Update attachment

Added support for multiple-choice questions!

Now you can ask your survey or form participants a question where they need to decide themself.

It was basically just copying over the code from checkboxes and changing the generated HTML a bit to now include radio buttons.

Next up will be text input fields (+ email, etc.) and textareas.

Update attachment

Reworked Compiler!

Now I included more reusable code and made it cleaner in general by utilizing f-strings. Additionally the output now looks way cleaner and is even better styleable using CSS, since I used more IDs and classes.

with the new compiler I'll probably be able to do other question types in the near future...

Update attachment

finished up the checkbox conversion and fixing some bugs

added the markdown library to convert markdown to HTML (sudo apt install python-markdown-doc), so now I get the first outputs

as you can see on the screenshot, this project needs a lot of work to be competitive with the major forms platforms, but I'll maybe get there eventually

Update attachment

finished basic compiling for checkbox questions, the screenshot shows all the code I did for that.
is it the most efficient solutions? i don't think so
but does it work? yes, so I'm gonna keep it (at least for now)

next up will be multiple choice questions and then text input fields. In the end I would like logic and advanced options, let's what this project will evolve to...

Update attachment

Quick DevLog: Started to convert checkbox and multiple-choice questions to HTML elements

Update attachment

core conversion system: Big progress!

✅ open and process files for compiling
✅ filter out formsMD blocks for further compiling
⏳ compile fMD blocks into HTML elements

If you want to see this project process, consider following this project. If you have questions, just drop them in the comments or send them to 0yqc@duck.com
If you like this project, you may want to visit the GitHub repository.

Update attachment

Don't have a new image, but I started to do some work on the Core Conversion system, which is written in Python.
I'm not as fast, so in this hour I've mainly set the files up and done some script, that they can open input files.

My Plan:
- Filter out lines that are from formsMD and not regular MD
- let them compile using a custom compiler I will write
- insert the compiled HTML
- a MD library will handle the rest

Update attachment

Started to work on how the markup syntax looks like. It may change in the future though :)
Basically this should in the end be a python tool that converts this Markdown to a HTML/JS site. If you have any ideas on how to save the results using only a front-end site (e.g open-source online-services), please send them to 0yqc@duck.com. Thanks!

Update attachment
luna
luna created a project
44d ago

formsMD (fMD)

Ever wanted to easily create a form Without relying on big tech (like Google or Microsoft) or having absurdly low limits (like Limesurvey)? This is for you! Create your form for free and publish it on your favorite free hosting provider (like GitHub / GitLab / Cloudflare Pages). No limitations, no cost! Additionally this is an extension to Markdown! Write all the form elements in easy-to-write, easy-to-read format and include Markdown for styling everything! And you can edit it offline in your favorite text editor! This tool already includes many different question types to gather different kinds of insightful data: 🖹 Free Text (one or multi-line; optionally add auto-completion suggestions; different types: number, date, email, etc.) 🔘 Multiple Choice (Radio; optionally add an "other" answer to allow free text answers) ☑ Checkbox (optionally add an "other" answer to allow free text answers) 🌢 Dropdown (optionally add optgroups / non-selectable entries for categorization) --- Note: When clicking submit in the demo survey, make sure to open with a mail application (such as Outlook, GMail, etc.) when prompted. To submit the survey you need to send that email, so you need to have an email account set up in that mail application. (When doing your own forms you can choose alternative methods, which don't require this step)

formsMD (fMD)
21 devlogs 0 followers Shipped

Tested a bit around first as I'm not as comfortable with coding yet. I made some experiments with:
- multi-file python scripts (so useful btw)
- API requests (I did that before so not as hard)
- tkinter as a GUI tool
Additionally I enjoyed writing the README file and giving detailed instructions on how to install.

I probably won't continue this project though, as I don't really see a reason to make it offline. A full offlin version would be difficult (e.g. with Part Images), so I can just use the online (real) version.

Update attachment
luna
luna created a project
46d ago

the offline brick

⏸️ This project is currently paused, because I don't think it's as useful anymore. Using the Rebrickable API, I want to create an offline copy for searching the Lego database.

the offline brick
1 devlog 0 followers
luna
luna joined Summer of Making
50d ago

This was widely regarded as a great move by everyone.