Activity

brny

woah, jchat can host files?

its official, jchat can host files.
it works similarly to bittorrent, but uses a custom protocol
the file hosting is ran on a separate thread and port so you can still chat while sharing files.
currently there is no encryption for it, but it works like this:

  1. we take the file, generate the root hash, and start listening
  2. when a client asks for the file, we start reading it in 1mb chunks, hashing that chunk and sending that chunk
  3. the file gets reconstructed on the other end

i used google guava to manage hashing of the files
basically, thats all for the user side updates in this devlog

some code technical stuff:

  • suppressed a lot of warnings, these were related to the typo warning and deprecation warning (suppressed on purpose)
  • code comments
  • begin working on a logger so the cli isn’t cluttered
    thank you for reading this devlog

git changelog

Attachment
0
brny

encrypted jchat?

jchat is now using encryption!

i managed to add encryption to jchat using google’s tink library. from now on every message is encrypted, wrapped in headers, and encoded in base 64 to ensure message integrity and privacy.

other new features:

  • patched a vulnerability where sending the linefeed character from a custom client would cause the server to crash, this was highlighted by one of my friends

plans:

  • protection against man in the middle attacks: the peer would periodically ask for the public key and if they don’t match up, it would disconnect.

thanks for reading this devlog

git changelog

Attachment
0
brny

jchat but base64?

hello people who actually read devlogs

lots of new features have been implemented
and lots of bugs have been squashed
these amazing new features include:

  • better errors and more error handling
  • relocated some functions so they are in a better place

- base 64 encoding!

encodes all handshakes and messages in base 64 to make sure that the messages are not corrupted, and to also defend against newline attacks

- docker image release

now there is an official jchat docker image on dockerhub, for testing on 1 machine.

and last but not least

- the router

the router is a part of jchat which makes discovering peers on a network easier. if you connect to a peer, you automatically exchange “peer lists” and by doing that, you can connect to peers that that peer knew but you didn’t.
why the name router tho? i called it router because it routes people to other peers
thanks for reading this devlog

git changelog for those who are interested

Attachment
0
brny

jchat update

the active client has been finished which allows you to connect to peers!

newly implemented features:

  • active client
  • nicknames

plans:

every peer would be a “router” which would be used to discover peers, and also keep track of peers. as a passive client you will be able to register to a router if you don’t know any peers

NOTE

All traffic is unencrypted, this is meant to be used on secure, internal and local networks NOT on the public internet.

git changelog

Attachment
0
brny

jchat!

whats this?
this is a peer to peer chat application written in java.
this is my first java project.

currently whats in this project?

  • a passive client ( a peer who is waiting for someone to connect to them)

future goals:

  • active client ( a peer who connects to a passive client)
  • usernames

why the lack of git commits?
im using a new IDE and I sometime forget to commit to github.

Attachment
0
brny

bread is back?

gui editor for bread?

lots of things have happened since the last devlog for bread.
the programming language itself is near finsihed, it only needs some final touches but there are some BIG features coming.
Newly implemented features:

  • Functions!!! After a long time functions have been finally implemented
  • Modulo operator
  • Bug fix regarding the wait function
  • Bread developer suite - a GUI IDE for Bread, heavily in development. The GUI framework it uses is ImGui
    Features from the code side:
  • Made a header file so the IDE can use the compiler directly
  • Made a seperate cli.cpp file which has the same functionality as the current bread compiler, only instead of directly being baked into the compiler.cpp, it calls it.
    Planned features:
  • for loops
  • global or local variables
  • a testing framework
  • a filesystem library
  • arrays, and other variables.

Git changelog (boring stuff)

Attachment
1

Comments

freddie
freddie 20 days ago

Yoooo, super cool! Can you code in bread on windows?

brny

so what is this?

local pages is meant to be a locally hosted, development server. so instead of you pushing to github pages, you can push to a testing branch and set up this container so you can test your website. it is meant to prevent you from going over the github pages monthly limit.

this is a containerised service, i did not write the web server backend.
it uses nginx as the webserver, and i wrote the helper scripts.
it can easily be deployed in a cluster as a compose service and also supports private repositories!

Attachment
2

Comments

freddie
freddie about 1 month ago

whoooo!!

freddie
freddie about 1 month ago

We talked about this in art class @ school today

brny

Shipped this project!

Hours: 7.15
Cookies: 🍪 97
Multiplier: 13.5 cookies/hr

I built a linux bittorrent client! Everything is written in C++. I used the libtorrent rasterbar library as the engine and dear imgui as the gui framework. This was one of the biggest projects that i had done for flavortown.

brny

Final devlog!

After a few weeks in development, literent has reached 1.0!
You can downlaod the binary from github, or compile it from source.
Literent is only for linux systems and there are no plans to port it to windows.
New features:

  • an actually readable readme
  • cpack support

git changelog

Attachment
0
brny

wake up, new bread features just dropped

whopping new features dropped like:

  • while loops
  • addition
  • subtraction
  • division
  • multiplication
  • AND a lot of error checking

currently, it is only for linux but im planning to implement some kind of windows functionality. currently the compiler can only be ran on windows but i will add the functionality to compile the bread file for windows. sadly the compiler wouldn’t work on windows because the way it writes files.

in the picture, you can see the mathematics functions being tested and the while loop being tested.

next steps?

  • for loops
  • functions
  • bread testing framework
  • bread extensions (soon)

full git changelog

Attachment
2

Comments

freddie
freddie about 1 month ago

first

freddie
freddie about 1 month ago

great pitch in the show and tell huddle!

brny

whats up bread programmers

new features just dropped

in todays update, i have added:

  • the ability to exit the program with an exit function (an exit code can be given)
  • error checking in the compiler where there should have been

and, most importantly

IF STATEMENTS!!!!!!

you can now write if statements like this:
if/foo/equals/bar
print/foo equals bar!!!
`endif/``
(assume there are line breaks there)

so whats the next steps for bread?

future targets:

  • for loops
  • testing framework
  • butter(bread standard library)
  • shortcuts (like functions but for bread)
    check back tomorrow, and you might witness bread becoming more popular than python!
    expect an in depth usage guide tomorrow!

full git changelog

Attachment
0
brny

new bread update just dropped

so for features, not a lot has happened but more of small changes.
i added

  • the ability to print strings, booleans and integers
  • inputting data
    oh and also, checking for compilers.
    because bread relies on c++, a compiler is required.
    currently clang is preferred due to its speed.
    if you spot any errors make sure you compile the compiler with clang.

git changelog

Attachment
0
brny

bread

bread is a transpiled language that converts .bread files into c++ and also compiles them
(sorry for not posting a devlog, i forgot lol)

full git changelog

Attachment
2

Comments

Laurin
Laurin about 2 months ago

i love it ;)

avighnakc
avighnakc about 2 months ago

I love it more than Laurin

brny

i added a simple mode that only shows 1 definition

Attachment
0
brny

what is define?

so basically i got annoyed while writing my geography homework, having to google each definition one by one so i created a small c++ terminal utility.

Git Changelog

Attachment
0
brny

so what is happened?

  • mainly bug fixing
  • release v.0.1.0 go check it out on github
  • in depth statistics for the torrent file
  • moved the add torrent buttons to a new menu for a cleaner look

to be implemented

  • privacy mode

Git Changelog

Attachment
0
brny

whats new?

  • configuration that is saved to a toml
  • settings gui

Changelog

functionality that has been implemented

  • dht (on/off switch)
  • lsd (on/off switch)
  • upnp (on/off switch)
  • nat-pmp/pcp (on/off switch)

functionality that will be implemented

  • privacy mode
  • statistics
  • better gui layout
Attachment
0
brny

first devlog of this project! yay!

what is literent?
literent is a lite bittorrent client using the libtorrent-rasterbar library and Dear ImGui as its GUI library

what it can do so far

  • download a file using a magnet link
  • download a file using a torrent file

planned functionality

  • DHT
  • peer exchange
  • privacy mode
  • statistics
  • config file
    and a lot more

Changelog

Attachment
0
brny

Shipped this project!

Hours: 6.39
Cookies: 🍪 52
Multiplier: 8.07 cookies/hr

I built a linux tool that makes writing dockerfiles or docker compose files much easier by making it an interactive prompt. The hardest thing was figuring out how vectors work.

brny

Last devlog before ship!

So, what happened?
I mainly implemented small features for the packages and small bug fixes for the CMakeLists and the packages

Release v1.0.0 has been released!

Check it out on github!

Attachment
0
brny

Small little devlog, i just created documentation and man pages for my application.

Attachment
0
brny

Third devlog!!!

A LOT of new features have been added like.

  • Docker compose support
  • Arguments
    And its also the first pre release on github!
    I packaged it for debian and rpm based distros so feel free to try it.
Attachment
0
brny

New devlog, yay!

A lot of features have been implemented since the last devlog.
It can create a dockerfile with these commands:

  • FROM
  • WORKDIR
  • COPY
  • EXPOSE
  • RUN
  • ENTRYPOINT
    I have also switched the method on how the dockerfile is created. It was created by saving all the values into strings and then writing them one by one. The problem with that was that there couldn’t be multiple ports exposed. That is why i implemented to use vector arrays instead of strings. I also added support for podman because it shares a lot of similarities with docker.
Attachment
0
brny

First devlog, yay!
So what is this program you may ask?
This c++ program aims to eliminate the pain behind writing dockerfiles by hand by creating an interactive CLI, explaining what each step does.
So far this program does:

  • Creates a dockerfile based on the image name given
  • Builds the dockerfile
Attachment
0
brny

Added a LOT of stuff.

  • Ability to call mkfs
  • Ability to call cfdisk
  • Bug fixing
  • Loop disk image script

Next goals

  • Samba / NFS
  • RAID
  • Maybe a TUI?
  • Web interface?
Attachment
0
brny

Added some new stuff.

  • Program scans for the disk mount points at /mnt/disked/
  • Error handling for the above.
  • Header files
    next goals:
  • call partitioner
  • call mkfs
  • mount disk
  • raid implementation
  • samba / nfs share
  • web interface
Attachment
0
brny

First devlog of the project! I started writing the function to store the path to the disk and will begin to work on mounting them & calling a partitioner and also mkfs.

Attachment
0
brny

Shipped this project!

Hours: 4.76
Cookies: 🍪 39
Multiplier: 8.15 cookies/hr

I built a virtual pet rock that can sit around in your CLI while you program. I think its pretty cool, you should try it out. The hardest part was all the switches in the code.

brny

Added more documentation to code, compiled for windows, added toolchain file and most importantly! A GITHUB RELEASE!!!!

Attachment
0
brny

Added new type of wisdom and the ability to measure which wisdom is used the most, edited readme and added a build.sh.

Attachment
0
brny

added ability to insult the rock, contributing md and documentation

Attachment
0
brny

Added more documentation to the code, added wisdom for python and made the wisdom have a 1/2 chance of running every 5 prompts

Attachment
0
brny

Added hunger and the ability to feed the rock.

Attachment
0
brny

So i have added a few things. New ascii art while the rock is speaking, 2 new commands: wisdom and wisdom-c. Rewrote the project in c++ as i think it would more suit it. (i rewrote it in very early stages). Also implemented a status system. The next goal would be to make it feedable and make the score go up and down. I also added the ability to save to a config file so the name and stats will get saved.

Attachment
0
brny

i have created the happy ascii art for the rock and began working on its core functions

Attachment
1

Comments

deltea
deltea 3 months ago

i’m happy to see my pet rock