Activity

Kubik

[LOCK IN] So many bug fixes and improvements! :D


🚀 What’s done?

  • Fixed logging, with rotating logging files that get .tar.gz’d
  • Fixed keychain 😭
  • File associations: .kursal files can be opened in-app and trigger events (like long term code files)
  • ANDROID FIX! it now works on android too! (UI buggy though)
  • PROPER PreKey generation fixes
  • Tested the lookup_rendezvous feature to re-sync listening addresses between two contacts - HOLY MOLY IT WOKRS
  • you cannot add yourself as a contact anymore. dont try this.

What next ✨

  • still improve UI
  • editing, deleting, reactions
  • F I L E transfers (unlimited size!)

oh yeah and i made a demo video! check that one out on the github release :p

Attachment
Attachment
Attachment
0
Kubik

[LOCK IN] Improvements! And a public prototype 🎉


🚀 What’s done?

  • Added an auto-updater to the app
  • Key utilities shell script (for generating signing keys)
  • Added a log system (with rotating file name)
  • USERNAMES AND AVATAR!!! you can share it (or not) to your contacts
  • In-app benchmarks (only one for now)
  • Revised One-Time-Password hashing parameters (it was too strong)

What next ✨

  • Would be cool to have a “per-device” build script or like a “self-build” script
  • Test app on all devices… (gosh)
Attachment
Attachment
0
Kubik

[LOCK IN] fixed lots of bugs… and some improvements :D


🚀 What’s done?

  • started by adding a android/ios support! (apk to install, or ipa for iPhone but like.. you need something like altstore)
  • fixed DNS swarm multiaddr
  • check the DHT record before accepting the entry
  • interface improvements (small ones)
  • you can now remove a contact! (will clear messages)
  • ability to block/unblock contacts (to keep message history)

What next ✨

  • still interface 😭
  • usernames and avatar (lol i didnt do that since last devlog)
Attachment
Attachment
0
Kubik

[LOCK IN] uh i thought i had to devlog more than 10 hours so uh.. sorry for the 14h devlog 😅


🚀 What’s done?

  • spent $28 of claude credits for the interface… to be the same 😭
  • fixed bugs! lots of ’em:
    • security code now works :p (prevents man in the middle attack)
    • one time password and long term code works now… lol
    • nearby contact works better now (it was really buggy before)
  • PEER ID ROTATION, that was so haardd 😭 but IT WORKS HOLY MOLY

What next ✨

  • interface… still… i’m outta credits though bruh
  • test… test… test… (again)
  • usernames and avatar (it looks ugly right now LOL)
  • kursal:// protocol

there’s still lots of work to be done! but take a look at the screenshots it’s coming together :)))

Attachment
Attachment
Attachment
0
Kubik

IT’S STARTING TO ALL COME TOGETHER 🗣️


🚀 What’s done?

  • Debugged lots of magic
  • Whole CLI sidequest LOL: Open a new relay with a TOML config to participate to the Kursal Network
  • GOT MDNS TO WORK AND MESSAGING HOLY MOLY (see screenshots :p)
  • Oh and i bought the https://kursal.chat domain name (fire)

What next ✨

  • still make the interface better (right now it’s made with GPT-5.3, I bought credits to make with Claude, probs Opus will see)
  • test… test… test

i’m so proud of that project I think i’m seeing the end of it! i think

Attachment
Attachment
Attachment
0
Kubik

okay… FINALLY done with the backend stuff!


🚀 What’s done?

  • Went through all the code to look for bugs and vulnerabilities (thanks code rabbit)
  • Wrote all the bindings for Tauri!
  • Started writing the web interface with AI

What next ✨

  • finish the interface lol
  • debug stuff 😭 (seems like connections aren’t working yet)

next devlogs will probably contain real screenshots lol

Attachment
Attachment
0
Kubik

Shipped this project!

Hours: 24.9
Cookies: 🍪 373
Multiplier: 18.58 cookies/hr

Re-shipping SSHUI!

Please, if you don’t know what SSH is: it allows you to control a server via the terminal.


So I made an interface-builder in SSH! (which is not what you’re supposed to do with SSH LOL)


Try it out! Connect to the server and test stuff out! Or watch the demo… :p

(there’s a linux build now)

Kubik

Linux support 🔥

Also cleaned up the code, upgraded package versions.. routine stuff lol

And made the “build yourself” section clearer… :)

Attachment
0
Kubik

Last utilities functions written! I can finally start working on putting everything together!


🚀 What’s done?

  • Finished the One-Time-Password
  • Long-Term-Code: Generate, share and load long term cryptographic keys (omg that sounds so nerd lol)
  • Nearby Share: that was the most difficult, made modular structures to allow MDNS discovery… and maybe bluetooth in the future? (that would be fiiireee)
  • Messaging Pipeline: Connection between messages and database, global message structure and more :p
  • oh and more tests

What next ✨

  • Look for bugs and vulnerabilities… Yeah I want and have to check for those lol
  • Start working with Tauri! (allows to make desktop apps)

I think I’m done with the hardest… but there’s still a long way to go lol, hopefully i’ll make it in time before the end of the event…. ;-;

Attachment
Attachment
0
Kubik

Same as before, more utility functions to use later! Got more progress done!


🚀 What’s done?

  • Finished Crypto Layer
  • Message Types: serialize, deserialize & more
  • Network Layer: manages the decentralized network
  • Peer ID Rotation: utility functions to rotate peer ID (enhanced security :p)
  • DHT Rendezvous: prepare all the Distributed Hash Table magic
  • Contact Management: Saving/Loading contacts
  • One Time Password (OTP): In progress! Prepare, hash, publish and fetch the entry

What next ✨

  • Finish the OTP
  • More first contact options (long term code, nearby share)

I don’t know how I’ve managed to add so much stuff LOL

Still VERY nerd sorry I still don’t have any demo :(

Attachment
Attachment
0
Kubik

Shipped this project!

Hours: 8.69
Cookies: 🍪 94
Multiplier: 14.83 cookies/hr

That’s not many changes but I had to do them! By the way this is an update so you don’t see ALL devlogs :)


  1. Had to setup Plausible locally, make emails worky (oh my gosh that took so long) and Listmonk! Now it’s all self-hosted and cool!!

  2. Also added a new page, the Status/Progress Page™! Now people can know how the project is doing :D

Kubik

New page! The Progress Page™ ✨

  • basically just lists the dev progress of the app, which is another project of mine
  • easy to change code :p
  • fixed some small-ish issues on the rest of the website lol

and that’s it i’m done with this website now :D (time for the real app!)

Attachment
0
Kubik

Sorry it’s hard to show anything for now, it’s really like project scaffolding and useful functions… But I did a whole plan with steps that will take quite some time :)


What’s done? 🚀

  • Project Scaffolding & dependencies (had to install libsignal, was quite hard lol)
  • Custom Rust Errors (really useful!)
  • Database Storage: makes saving encryption keys easier basically
  • Identity: Generate key pairs and stuff (nerd magic i guess)
  • Crypto: Dilithium-5 signing, message en/decryption, pre-key bundle generator
  • oh and tests for each category :p

What next ✨

  • Message Types
  • Network Layer (will take HUGE amount of time)
  • and maybe Peer ID rotation? maybe?

I know this sounds like nerd as heck but I dont have any choice lol that’s literally my project 🤷

I also made a website for this project: https://kursal.openvoxel.studio if you wanna check it out, there’s also a whitepaper about the technical stack, even though it has been reworked a bit

Attachment
Attachment
0
Kubik

Shipped this project!

Hours: 21.41
Cookies: 🍪 640
Multiplier: 29.9 cookies/hr

Oh my gosh that was crazy!! Learned how neural networks learn and run and implemented ALL OF THAT in Rust, all by myself 🦀


I’ve provided demo videos in the github README if you can’t run the demo yourself :p

Kubik

I’m done!!

New magic:

  • Demo website to run the model! (recognize digits)
  • Better demo model (trained longer)
  • and yeah github stuff like readme :p

Thank you for following me during this journey! Learned so much!!! :D

Attachment
0
Kubik

Oh my! ✨

  • Back-propagation! You can now train models!
  • Optimizers! SGD or AdamBuilder (Adam is better)
  • Batch training! Using accumulators and apply (really cool, makes training faster)
  • LOTS of optimizations (got down from 204s to 111s per 10 iters, with lots of memory optims lol)
  • lots of sweating lol
  • Dropout layers: makes some neural nets more robust… works bad with really small nets tho
  • super simple network builder!

What noooooww 🚀

  • I guess a usable demo would be awesome, like a web interface to try out the networks? I mean that would def be fire :p
  • Maybe also more demos, will see

🦀 learned so much stuff!! like wow that was such a good project idea! :DD

Attachment
Attachment
0
Kubik

🦀 Whats new

kinda everything new lol

  • Activation functions (implemented ReLU, Sigmoid, Tanh, Linear) & Softmax
  • CLEAN MATRIX OPERATIONS, type safe! Compiler will say nuh uuhh if the dimensions do not match :DD (that’s so fricking awseomse)
  • you can use operators + * - for matrix operations directly (operator overloading is awesome)
  • Layer structure with weight, bias and activation
  • Network structure, allows you to add layers (type safe! cant add a layer whose input doesn’t match the previous output)
  • Network allows you to run(input) and gives you the output of the neural network

And now…. 😅

TIME FOR TRAININGG!! (backpropagation gonna be hardddd)


Sorry for basically no screenshots but there’s not much to show… lol

Attachment
Attachment
0
Kubik

Shipped this project!

Hours: 24.63
Cookies: 🍪 343
Multiplier: 27.12 cookies/hr

Woohoo! New Version :D

Had to change a few things cause it was frustrating, now it’s starting to look really nice! Look at the demo video :)


✨ New Features:

  • Rate Limiter
  • Custom Encryption (RSA 😭)
  • /test/{username} endpoint
  • Large files upload bug-fix (and other fixes 🐛)
  • MULTITHREADIINNGG ⚡

YOINK™

Kubik

🤞 Final Update?

  • Working rate limiter! Customize how many “invalid password” an IP can do (max tries, reset every)
  • Also mini bugfix lol

And I rebuilt the demo on github with the rate limiter (2 tries, 15s reset) so you can try it out!

Attachment
0
Kubik

uh… thought it was done but I guess not!!!

So what’s new now! ✨

  • using another web request crate: ureq -> reqwest
  • new endpoint: /test/{username}: allows to test if credentials are valid
  • A WHOLE SELF IMPLEMENTED ENCRYPTION MECHANISM. for real. 😭

Basically I added the self_https flag. If enabled (enable when untrusted connection / http), it will encrypt the requests and responses with a shared AES-256 key (and nonce of course). It just so happened I needed this scenario… lol

Basically works like this:

Raw Data  -->  [base64]  -->  [RSA Encryption]  -->  SEND
RECEIVE  -->  [RSA Decryption]  -->  [base64]  -->  Raw Data

What’s next…? 🤔

  • rate limiter tbh, would be cool and useful
    and that’s pretty much it? i hope? thanks for reading!!
Attachment
0
Kubik

Shipped this project!

Hours: 7.19
Cookies: 🍪 75
Multiplier: 10.41 cookies/hr

SSHUI™
Updated my super cool SSH-server library!

  • Better server API (unified config)
  • Support for a backend (demo with a chat app, but you could build a game in theory lol)
  • V I D E O S

AND i reached 24 hours on this project 🎉

Kubik

Yet another example in the demo!

YOU CAN NOW LIVE CHAT VIA SSH!!!! :DD

Changelog?

  • New chat example
  • Custom backend support
  • bug fixes i guess
  • new API for starting a server (with config)

you could now make a video game… in theory :)

Attachment
0
Kubik

How have i managed to do that in 2 hours? no idea. But it works!!

Added Bad Apple Video

  • Playable video in the SSHUI example
  • try it out! :p
  • fixed refresh rate exit bug
Attachment
Attachment
Attachment
Attachment
0
Kubik

didnt think of doing a devlog again but I guess I wasn’t done lol

what changed again

  • SUPPORT FOR LARGE FILES. like….. DAMN IT WAS SILENTLY FAILING 😭 (now it works super duper fine)
  • Multithreading! Using rayon, the client will now send multiple files in parallel ⚡
  • bug fix: change ‘\’ from windows path to ‘/’ >:(
  • smaller demo binaries (thanks upx)
  • hash while receiving file (not re-read again) = faster :)

what nex-

nothing. i’m done. unless bugs. (there will be bugs lol)

Attachment
0
Kubik

Shipped this project!

Hours: 12.12
Cookies: 🍪 325
Multiplier: 26.78 cookies/hr

Thanks for following me during this journey!

It wasn’t TOOOO hard to build this, but still challenging!

Had to build a rust http server for the first time! That was pretty cool :D

YOINK™

Kubik

Oh boy! I thikn i’m doneeee :DDDD

What’s neewww

  • Now supports multi-path on the client
  • Wait for the path to be available, will retry if not (max 15 times, 2 min before each re-try)

I guess i have a readme now and I made a working demo working :)
HOW DID IT TAKE 4H30 OH MY-

Attachment
0
Kubik

Basically done! I mean it works now, just have a few more ideas to improve :)

what new

  • New .yoinkconfig file (server & client) to configure at compile time
  • Added the .yoinkignore file to specify which paths to ignore when transferring
  • Added the .yoinkpass config for the server

what now

  • Make it support multi paths to transfer (not just one)
  • Wait for a path to be available (like F: for a USB stick to backup)
Attachment
Attachment
Attachment
0
Kubik

PROGRESS!!! Finished the diff and file uploader!

Whats new ✨

  • File sending & receiving
  • Hash checks (will update files when changed)

and now???

oh boy still a lot lol

  • a “per user password” system
  • a “what to ignore” file config (like node_modules, cargo’s target, dist, build…..)
  • delete files when removed?? (no sure i will do that, i personally dont need it)

image:

on the left: the client sent all the files (it does not log anything tho)
on the right: the server received all the files the client had in the configured folder

Attachment
0
Kubik

Hi!! I’m still prototyping a lot, but I got some progress!

title™

Right now, the client reads a pre-defined folder (./test) and sends all the files path it found to the server. The server replies with the files that are not up to date (all for now, database doesn’t exist yet) and the client logs the response.

Next steps!

send the files, and implement the database on the server
oh and check the hash! the server will reply with the known hash of files it already has so that the client can check if it changed :)

Attachment
0
Kubik

Shipped this project!

Hours: 9.54
Cookies: 🍪 269
Multiplier: 28.2 cookies/hr

The hardest part was to inject a script inside the website and to edit the settings! But that works now!

I now have a modular system to add functionalities over time if I have any more ideas :)

Kubik

Woohoo!! I wrote useful functions for matrices operation:

  • multiplication, scalar, addition, subtraction, transposition and mapping with a function

holy moly i got multiplication on my own!!

-> I tried not to use AI & Internet AT ALL, and I MADE IT YIIIPEEE

oh and the time in the benchmark is sometimes for small matrices in multiplication and HUGE ones for addition and stuff

Attachment
1

Comments

kevinchou0813
kevinchou0813 3 months ago

wow thats really cool

Kubik

I changed the setup for the user-tracking with Plausible and now self-host it :)

Plausible really cool I recommend

oh and i also self host the newsletter with Listmonk :)))

Attachment
Attachment
0
Kubik

Added an awesome demo from ratatui into SSHUI :DD (it looks awseome try it out)

  • support for tick rate (will auto update the interface on a regular interval :p)

this demo comes from ratatui and is available under the MIT license: https://ratatui.rs/examples/apps/demo/

Attachment
Attachment
Attachment
0
Kubik

Shipped this project!

Hours: 6.66
Cookies: 🍪 115
Multiplier: 17.32 cookies/hr

Added more examples of usage! (grapher, and an all-in-one)

And some misc improvements to the code I guess :)

ALSO ITS HOSTED NOW :DD

ssh cloud.openvoxel.studio

Kubik

A new release with lots of examples!

Try it out by opening a terminal and running:
ssh cloud.openvoxel.studio

New: “all examples into one”, grapher, and better code organisation i guess

Attachment
0
Kubik

Nothing user side, only some server side changes for publishing new versions :)

Attachment
0
Kubik

Starting the Tower Defense project!

Made a placement collision system (you cannot place anything for now) for the towers, with collisions with existing towers (the blue particles). If the placement is valid, it’ll show in green, else in red.

0
Kubik

wow… that was 8 hours lol… ANYWAY NEW RELEASE!
If you used a previous release, PLEASE UPDATE!

What’s new:

  • Settings: Change how FlavorApp behaves for it’s features
  • Auto Updater: Automatically updates the app to the latest version
  • Can-Buy Notifications: Notifies you when you reach one of your cookie shop goals

If you have any other ideas on how to improve the app, let me know in the comments!

Attachment
2

Comments

Sohrab
Sohrab 3 months ago

seems the macOS version is damaged and won’t open

Simon
Simon 3 months ago

Read the notice in the README

Kubik

it now counts as an extension!

Attachment
1

Comments

regonold520
regonold520 3 months ago

BRO. THIS IS SO COOL (referring to the whole project), im defo gonna use this to declutter my browser, crazy work hope u make some amazing stuff :)

Kubik

android support!
-> APK available here

Attachment
0
Kubik

Shipped this project!

Hours: 1.65
Cookies: 🍪 13
Multiplier: 7.8 cookies/hr

Ported flavortown to a desktop app! (without stealing proprietary code lol)

Kubik

it just puts the app inside of a desktop app for now! but it works :)

maybe next an overlay? or utilities? let me know!

Attachment
3

Comments

Blukez
Blukez 3 months ago

if possible, making the top bar fit in the the would be nice!

jayant
jayant 3 months ago

nice

Uday Prakash Gupta

good

Kubik

Shipped this project!

Hours: 10.38
Cookies: 🍪 113
Multiplier: 10.86 cookies/hr

My first library in Rust! And it got published on crates.io :DDD

It acts as a SSH server but is actually a Terminal User Interface (TUI). Use it as you wish!

Kubik

Initial release of SSHUI! 🔥

  • Customizable login system!
  • Connect seamlessly (oo fancy word) with Ratatui
  • More server customization coming soon
  • A hosted demo will be available in the future.

:D

Attachment
0
Kubik

Shipped this project!

Hours: 3.89
Cookies: 🍪 21
Multiplier: 5.31 cookies/hr

you can now test your typing skills from your terminal. why? cause why not.

another rust project in the terminal :D

Kubik

Working typing test! With random quotes in the terminal!

2

Comments

freddie
freddie 3 months ago

There is a hamilton the musical quote, I’m so happy!

Maple38
Maple38 3 months ago

Cool project but if I were you I’d update the readme to elaborate on mac usage. After downloading, you can’t just run it right off the bat. First it has to be given permission to execute, via chmod +x, and the com.apple.quarantine attribute has to be removed via xattr -d com.apple.quarantine since the app isn’t signed.

Kubik

Shipped this project!

Hours: 7.23
Cookies: 🍪 35
Multiplier: 4.81 cookies/hr

A website written in Svelte + Tailwind to show off and explain a (yet to be released) messaging app. There are multiple pages (/, /security, /privacy, /terms) and a email newsletter system. I even wrote a paper in Typst to explain the technical details :)

Kubik

made the colors correct every time! if a same letter was present multiple times, it could end up showing the wrong colors leading to misunderstandings of the game.

Attachment
0
Kubik

Shipped this project!

Hours: 3.92
Cookies: 🍪 51
Multiplier: 12.94 cookies/hr

I made a TUI (terminal user interface) again for like… the second time which is awesome! And another rust project!

Kubik

Heyy!!! I’m done!! You can now play wordle from the terminal :))))))

who doesn’t like wordle? (I do cause I suck at guessing words aaa-)

2

Comments

hack.clubber
hack.clubber 3 months ago

amazing project

hack.clubber
hack.clubber 3 months ago

feels super polished

Kubik

Sorry that’s in French cause Pronote is a French platform but here’s an English explanation:

A discord bot that will periodically fetch the French grade platform Pronote (which many schools use, including mine) and will calculate your global average (which is not visible… on pronote) and notify you in your Discord DMs as soon as it happens.

You also have some utilities to calculate what happens with your average and stuff…

Yeah that’s it!

Attachment
Attachment
Attachment
0
Kubik

Just released the website and the paper! I guess everything you’d expect from a website… maybe?
anyway I’m proud of that one it looks really nice!

Link (also on the project page): https://kursal.openvoxel.studio/

Attachment
2

Comments

yefoi
yefoi 4 months ago

looks awesome :)

koshivf
koshivf 3 months ago

beautiful🫵🍊