Show newer

Day 61: I'm back at it again for spring break! I added a button to the boggle game to view the past games and stats without logging in.

Day 60: I helped someone deploy their hackathon project to heroku (the hackathon is over, they just wanted to have it up). The idea is that you upload an image, and it removes the plants to simulate what might happen in the future:

Day 59: We finished up the app, adding a way to set a nickname for your devices. We made an authentication system similar to notification 2fa, where if a nickname is already claimed, you can request to also use that nickname. Then you have to approve the request on the device that is assigned that name, proving that you own that device/name. We won "best domain name" for and our prize was backpacks! :)

Day 58: We got Atlas set up, made a cron job to scan every minute, used to make the page responsive -- it updates the table and graph when a new scan is done, and you can sort the table by any column. Also, the is dual-weilding network adapters to scan 2 different networks for devices.

Day 57: I'm at , a hackathon at Georgetown University! My team is working on a tool to visualize devices on the local network: So far, we have python code to do an arp-scan, control a raspberry pi sense hat, and show a (mostly empty) dashboard with flask.

Day 56: I set up a node today, which is part of a decentralized, end-to-end encrypted storage network. You can sign up to be a node operator or a user (write an app with storj as the backend!) at I'm super excited about the possibilities of this stuff!

Day 55 (yesterday): I migrated the website for my research team at school to github pages so anyone on the team can easily edit it:

Day 54: I added a prompt asking the user for the board layout when loading a video file, then I found out how to save numpy arrays in a JSON file.

Day 53: We decided on file formats for the various stages of processed and labelled data, and my friend started working on a script to label the data for tensorflow. Also, new and improved RGB board for gamers! RGB = Red, Gray, Black!

bonus! I put together the finished renders into one video using the video editor (which parallelizes great out of the box). There are some issues with the graph videos being shorter than the others, so I slowed them down.

Day 52: We put some final touches on the code, then started the render for overnight. The render actually finished in a few minutes, but that was without all the intermediate results, which make it take much longer. But tomorrow I'll have some awesome videos of the plots and stuff!

Day 51: I cleaned up the code and merged the video processing code with the rest of the improvements. I also moved it to a git repo (I'm calling it BoggleCV :) And here's a bonus GIF of one of the videos!

Day 50: I used a row and column sum from and a peak finding algorithm from to split up the board into individual letters. Getting closer!

Day 49: We only got a little bit done: implementing a center difference equation. Then we ran into trouble setting up 2 GPU's with Manjaro. We wanted to use the AMD for display and the Nvidia for CUDA processing, but after we installed the Nvidia drivers, it would refuse to display from the AMD card...

Day 48: My friend applied the algorithm to videos, and I fixed some bugs and tweaked the algorithm.

Day 47: We took some more pictures at a different resolution, then added a transform to correct for perspective and copy the board to its own square image.

Day 46: My friend and I started using OpenCV to locate the boggle board in the image. We used HSV to threshold based on the color of the board, then found the contours, approximated the largest contour with 4 lines, and found the intersections of those lines.

Day 45: With dask, I was able to speed up my algorithm by about 25-50% (on 4 cpu cores). Then, I thought of a new algorithm that is an order of magnitude faster (even on 1 cpu core)! It iterates through all the words rather than traversing the board recursively. (Also, missed a few days since I was a bit sick.)

Day 44: I took some pictures of the boggle game to use for training for machine learning (more about that later!) I also taught my friend some python basics, and started learning dask.

Day 43: I dealt with some edge cases like "what if 2 people put the same username" and "what happens if you join a game and type some words, but leave before the game ends?"

Show older

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.