Activity

daw

its been so long…

i worked on this project around 2 months ago, and i got the sudden urge to revisit it. it’s a good way to clock some hours ;)


in this one, i added some particles! some eye candy is always appreciated.


the particle system uses gpu instancing. a single quad mesh is uploaded once, then each frame an array of particle data (position, size, color, texture index) is sent to the gpu and drawn in one call for all particles. each particle is a billboarded quad that always faces the camera by constructing vertex positions using the camera. particles spawn with random velocities when blocks break,

these need some adjustment still, but it works for now.

see you in the next one!

0
daw

In order for the ship to be approved, I had to make a demo mode for John.
You can test him out by clicking the demo button and joining the server,
or join from this link!
https://discord.gg/3aaSvh5sjd

Attachment
0
daw

Shipped this project!

Hours: 7.0
Cookies: 🍪 183
Multiplier: 26.16 cookies/hr

making this discord bot was definitely a bigger challenge than a simple cli, but i learned a lot, and expanded my knowledge in python.
apis are so fun to work with! the bot is hosted on a droplet, and anyone who wants can invite it and try it out.

see you on the next one!!!!!

daw

#devlog 6!!!

  • Admin tooling: added /admin cache-clear, /admin stats, /admin stats-reset, and /admin db-vacuum with access controlled by ADMIN_USER_IDS plus guild owner fallback. - - Added HTTP request metrics tracking (total/error/by service) and a cache clear helper.
  • User preferences: added a user_preferences table plus /settings view and /settings update for timezone, output visibility, and default service. Wired defaults via env config.
  • Profile cleanup: removed the “Latest Devlog” section from /profile to keep the embed focused and faster.
  • Production packaging: added Dockerfile, docker-compose, and .dockerignore, plus expanded .env.example and README deployment instructions.
Attachment
0
daw

devlog 5

can’t believe i’m already this far.
this one was very productive, i added some QOL commands like viewing your own projects, listing devlogs, and refactored the codebase a bit.

i feel like the project is nearing completion, so i expect to see you guys using it soon ;P

0
daw

hello everyone, this is a devlog written from my discord bot! i decided to try to make this feature, and as im writing this devlog, i hope it works. in this one, i focused on refactoring api requests, adding session timeouts and cache cleanup, adding thread safety and error handling for everything, as well as project creation/update, and devlog creation commands. i hope you can try the bot out soon!

Attachment
0
daw

devlog 3

this devlog is about these changes:

6a09a96 - remove stats and replace with profile

8b486d8 - features: /health command and tests

f9c9c3b - add a shared helper request with timeout and retries

basically, the old stats command was pretty much useless once i added the /profile command. it now shows your devlogged time, “favorite” project (most worked on), your pfp, slack id and some other stuff, as well as a “””“rank”””, which just takes your cookies earned and devlog time and makes up some xp and assigns you a rank.

also added a health command, which just prints the current bot version, uptime, and the database status.

lastly, i upgraded the api handling with some timeouts and graceful error handling, as well as adding some tests i can use with pytest to make sure my database is truly secure.

that’s all folks

0
daw

devlog 2

today was some great progress.
i’ve ported most of the cli functionality over to the bot, and added a new one!

Overlap
the overlap feature fetches a random user, and compares your stats in a “battle”. this can let you see how you stack up against others! in the future, i’ll add the option to battle a specific user.

key encryption
when you login, you are prompted to add your key and an encryption password. this is so the host of the bot cannot read your api keys. the password has to be used once to decrypt the keys, and they are stored in RAM for 2 hours. when 2 hours pass (or the bot restarts), you have to enter a password. this was done to make sure no leaks happen. even if a database leak DOES happen, the keys are just encrypted blobs, and you STILL need a password to decrypt the keys. i’ve paid a lot of attention to security with this one.

thanks for reading!

0
daw

new project! this one will be pretty similar to flavorlinetool, as i loved the idea of a discord bot as well.
in this hour, i mostly copied over some api logic from the cli to save some time, but i also had to add some other little quirks. for example, logging in isn’t as simple on a global, public bot as it is on a local cli. on the cli, the keys were stored in json files on your pc. this time around, i create an sqlite database file on the bot host machine, which holds your keys in a secure, encrypted format. the caveat is that every time you wish to use it, you need to type in a password that you set upon logging in. i will try to find a way around this some time.

0
daw

Shipped this project!

Hours: 3.66
Cookies: 🍪 94
Multiplier: 25.65 cookies/hr

finally gotten to a state i’m happy with in this project. now, you can do anything from viewing your cookies (or other people’s cookies…), checking your coding time and viewing projects, to searching for users and listing out all the shop items.

my goal was to bring together every function i’d like to use often, in hopes that someone else would find the app useful!
i believe i’ve done what i had to do with this project, and it is in a stable state, even if imperfect. but, i love it cause it’s mine and i made it :D

have fun! remember, the project is available for use on pypi, which means you can install it with pip:
pip install flavorlinetool

daw

removed prototype of editing and creating projects, might come back to it later.
overall, i am pretty happy with the state the project is in, so we have now reached version 1.0.1!
might come back to it later, might not. it has been fun anyway!

pip install flavorlinetool <- to use it yourself

Attachment
1

Comments

notlamparter
notlamparter 13 days ago

man this is so cool!!!
it looks like you spent a long time working on it, it’s so detailed 🫶
kudos to you

daw

today i opened a pr to flavortown which adds some more api functionality, cause i needed it for the cli.
ive started working on letting the user create projects via the cli, but i need to figure out authentication first.
other than that, i did some refactoring and added the ability to search for projects and users!

0
daw

most likely last devlog for today. i’ve cleaned up the commands a bit, and added a very experimental search feature. i advise against using it for now, due to the pretty low rate limit on listing all users. i had to make it client-side, due to the api not having a query option.

0
daw

(i think wakatime has some issues registering all my time spent but its okay)
so, i have now come quite far. i implemented integration with hackatime to be able to show your time spent coding today, and in total, as well as showing your most used language.
there are some other little things i added, but i encourage you to try it out yourself!

0
daw

by the time i got to implementing showing your own cookies, i had realized i made a stupid mistake. i thought using the slack id would be the way to fetch a specific user’s cookies, turns out it was the flavortown id. oops! anyway, got that out of the way, and added a command to list all the shop items and other relevant information along the way. very excited to have come this far,

0
daw

started implementation for api and slack login, and removed the old cookie functionality, since i realized that the api lets you read user cookies lmao.
the slack login is necessary to let you read your own cookies, as i found out the users fetched by the api are recognized using those slack ids.

0
daw

today i added some cookie tracking commands (i intend to tie this to the api at some point in the future)
also made use of some unique typer stuff so im pretty pleased with that as well.
amazed at how little time this took honestly, python is great!

0
daw

made the project structure, added a single command (status), and did some other cleanup.
this is the first step towards a great project!!!

0