Angad

Angad

0-day streak
I built Shroud, a Slack bot that allows for anonymous reporting whilst retaining live, bidirectional communication. I envision this being used as a way to report Code of Conduct violations in an anonymous manner. Reports are sent to a central channel. The report can then be replied to, forwarding the reply to the reporter's DM with the bot.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/72a04075-acac-46a9-bdde-4c39a471a9b1-shroud.gifhttps://imgutil.s3.us-east-2.amazonaws.com/7bc7819d5266f4c280b884132d3ca483e7fce64fec8f8f56037d06a4038ee35b/3c198652-f84e-4e23-bde5-30eefb490b4a.png
https://scrapbook-into-the-redwoods.s3.amazonaws.com/9efd97f7-bffa-40f4-91a4-c361908309c6-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/143534f31354530976acb22640c971c9ed595808a6fbc32c2b4508b5a6a65302/23ce3266-e2cb-4c6e-9bb2-03327475d2a4.png
summer-of-making emoji
I tried to learn more about RAG by implementing it with LangChain! I started out following a tutorial on YouTube before beginning to tune it and adding support for Unstructured. The end goal is to be able to ingest 100-200 page PDFs allowing questions to be asked and answered with relevant content from the PDF. It still needs some tuning, but it helped me learn about RAG! The screenshot attached is from when I was trying to use Graphlit. GitHub repo: slashtechno/fda-ai I had two GitHub repos since I was trying to use another library called phidata. Thus, some of the sessions linked to this scrapbook may link to phidata-testing.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/ba5a5c02-bef7-46e6-bf32-ddc54196da6c-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/814e90e9e29576d9b8d3cd620257103ad64fcdb0f542ea23440482061661bc51/85e881b8-2dc9-4913-8e15-370b807ed8e0.png
summer-of-making emoji
I created Generate DDG, a tool for generating DuckDuckGo Email Aliases (Duck Addresses) from the command line. This means that the browser should, at the max, only be needed once (if ever). It works by making requests to the DuckDuckGo Email API (what would generally be done via the extension) and outputs a unique email to the terminal. These emails can then be input into sites to mask your real email, just like normal Duck Addresses.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/3d1e4ada-f164-4e90-93a7-ef45262d17c9-demo.gifhttps://imgutil.s3.us-east-2.amazonaws.com/8ced2a81b6feb75c567c50bc9a6addb7822eb92368a06b5012450b2a44c47548/d4d8de82-290c-401e-bb90-9378d55c1770.png
github emoji
summer-of-making emoji
(repost since @hakkuun didn’t DM me) I made some improvements to Gobackup Github - a tool I made to backup GitHub repositories. Pull request #51 • Add progress bar • Make clones concurrent • Allow for a proper, customizable rolling backup • Allow for a notification to be sent via Ntfy • Optionally, initialize submodules
https://imgutil.s3.us-east-2.amazonaws.com/bd211129070deb4b6b742ee28d75c57d4eff9e31acf33f06df7fab764cff67c8/f2975154-5899-4f9b-b4f8-d108ab0698c9.png
pr emoji
github emoji
summer-of-making emoji
I made some improvements to Gobackup Github - a tool I made to backup GitHub repositories. Pull request #51 • Add progress bar • Make clones concurrent • Allow for a proper, customizable rolling backup • Allow for a notification to be sent via Ntfy • Optionally, initialize submodules
https://scrapbook-into-the-redwoods.s3.amazonaws.com/28df85b6-10cd-4708-9ef0-b26702a967d7-demo.gifhttps://imgutil.s3.us-east-2.amazonaws.com/bd211129070deb4b6b742ee28d75c57d4eff9e31acf33f06df7fab764cff67c8/bae573b7-821d-4d28-94b0-54d9cbf08a89.png
summer-of-making emoji
github emoji
I created Too Long; Didn't Scroll (TL;DS), an LLM-powered Slack app to summarize messages! The bot is @Toolong-didn'tscroll . I'm currently trying to deploy it on my Pi but unlike my laptop, it has trouble running LLMs. Running the LLM locally means user data isn't sent to a provider like OpenAI.
https://imgutil.s3.us-east-2.amazonaws.com/b869a8abc44272501b44458f0cd57b60e7892f521c96e1d4df274a3e6fe5ab2c/df7a5d69-812c-410c-92a0-f772f1c0b4ca.png
https://imgutil.s3.us-east-2.amazonaws.com/e41f1da6afd0a7de6e5919f7e1fd2d3429c418be774cad5be5d8c81ec6e80c9e/bdc13fd8-4b44-444f-b515-bb956c07dbbc.png
github emoji
summer-of-making emoji
docker emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/5def5eed-ee3b-4294-90d7-fbd98999c02a-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/8ae9eeb5979be9818024138444a5389ee6fbdabcc5ab66cab63d286f84808cbc/7f32d599-524d-45cd-988c-1cbea477f10c.png
summer-of-making emoji
github emoji
Worked on a website for my Hack Club. Whilst I'm using an open-source theme, I added some custom code. wecreate.fyi
https://scrapbook-into-the-redwoods.s3.amazonaws.com/a2df85a9-4d61-4f3c-88bb-254af3a55c54-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/50c3abb7d12d28d1967a66a58cf78dd14da755f76d0875fe937cefb4a94acd41/b5cba5e8-17cf-47ec-b300-d05163419041.png
hackclub emoji
goose-honk-technologist emoji
summer-of-making emoji
goose-honk-technologist emoji
https://imgutil.s3.us-east-2.amazonaws.com/d5252c01e6ee2f74f8307e6f0f727aeeb0ac9b7ad4cec9cfacdb12ed4c48af33/fb0791df-f026-479f-9b10-053407e4ae08.png
summer-of-making emoji
docker emoji
github emoji
Two years ago, I created gobackup-github, a tool to backup GitHub repositories, both owned repositories and starred repositories. I stopped working on it for a while. For Arcade, I decided to go back and rewrite the entire project to make it more organized and usable. Another reason I did this was for the Boreal Express! I went on Boreal and wanted to use my tool to backup everyone's GitHub repositories, including the ones that they starred. This gave me the idea to implement two more features: deduplication of repositories that multiple users have starred (or own) and the ability to iterate through the users in a GitHub organization. Unfortunately, the backup was unable to be completed by the time the server went offline. One significant change was the usage of Cobra, used by many Go CLIs for parsing of flags and arguments, and Viper, a library for managing configuration. Using these two libraries allowed for the behavior to be customized in an easy-to-understand manner. Tag comparison showing rewrite: github.com/slashtechno/cross-blogger/compare/v0.1...v0.2.0 Attached is a GIF showing the tool being used to backup owned repositories and forks.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/b743ae89-8109-4b23-9c82-c3fafb18acb7-out.gifhttps://imgutil.s3.us-east-2.amazonaws.com/51947ce80adce9c41b4ca900f9f2fb1f97d208dde63573c3f7c055ff6459cc88/1afd0a4e-548d-4014-a1d5-a164ea2521a8.png
summer-of-making emoji
github emoji
I built my first TypeScript project, a Slack bot that can export and mirror Docker images. I made it for mirroring images to a registry I set up on the Boreal Express server. slashtechno/ts-bot • Clone an image to the private registry with /clone-docker-image <image> ◦ Example: /clone-docker-image library/hello-world:latest • Export an image to the export directory with /clone-docker-image <image> ◦ Example: /export-docker-image library/hello-world:latest
https://scrapbook-into-the-redwoods.s3.amazonaws.com/98f182fc-a67b-4ebd-87e5-57c6ec74cf50-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/5e8f47a4-b495-466d-869b-2d2aa5960ba2-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/3de0d43ea82eec29aabb636b6838875d7101015d060cca76b61a5a62f77f69c9/8d51b4e7-c472-4052-bd42-c273e7c54098.png
https://scrapbook-into-the-redwoods.s3.amazonaws.com/ccf06a7d-d51a-44e4-8610-e0b51493ebce-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/370351bdbcf243bd20afe10114c9ec0ff3c2990c0148aea4e16be2d3ddd25d5d/f568d971-87b4-4a93-97d7-25767c124225.png
summer-of-making emoji
github emoji
Finished a <https://angad.me/projects/hello-time/|blog post >that I wrote for one of my projects, Hello, time?. While writing the post I also spent a while debugging the project itself as timezones weren't being handled correctly. I didn't want to publish the post when the project had a major issue. Thus, I fixed the issue and then came back and finished the blog post.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/3d92b719-edd6-42d9-aa76-2ea4cf677d89-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/cbb9f8159d3a1f45e9edd30d697cbd232bc46d989c20cbfbe3a4ed8983fa4273/5dabb7ba-78a1-467f-aeef-15073544b0ad.png
I built a simple, <https://github.com/slashtechno/clock|open-source> clock that displays rhymes. Inspired by the Hack Club workshops <https://workshops.hackclub.com/simple_clock/|Simple Clock> and <https://workshops.hackclub.com/json_db/|JsonDB>, along with the <https://www.kickstarter.com/projects/genmon/poem-1-the-ai-poetry-clock|Poem/1>, an “AI rhyming clock”. I built it to learn JavaScript and it’s my first full-stack project. Since it’s a website, it can be viewed in a variety of ways - including as a live wallpaper or potentially, on an E Ink display.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/a1c20bcb-4686-4571-8d2f-2a90ab32f360-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/21e6b0144be0cb4e31df1930dd80bf3c5c5df257d4e5078fcf72f1f17df9f622/09a0f06a-9968-4b77-a472-2d4f64a24124.png
summer-of-making emoji
goose-honk-technologist emoji
github emoji
hackclub emoji
js emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/29ce78d6-4874-4f36-8059-6ba95dcd8986-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/ac1a5277131dcfc7058adc3e7e5aaddd29f99c0ccf6be6dfb7baf64c035bbe4f/4da08b0a-e1a0-4650-ad0e-3275b5c59164.png
summer-of-making emoji
github emoji
Nearly two years ago, I began work on Cross Blogger. Cross Blogger was my first real Go project with the first release being rather small with all the code in a main.go file. In the last couple of weeks, I rewrote the entire codebase, adding features like Docker support and proper OAuth. The most significant change, however, was the ability to use it as a headless CMS for static sites (such as Hugo sites) powered by Blogger. Configuration is rather simple and can use most common formats such as JSON, YAML, TOML, etc. The project works by fetching posts from Blogger on a customizable interval and comparing against the last known posts. Any new posts are converted to Markdown and optionally, pushed to a Git repository. Assuming the Git repository is connected to a service like Vercel or is using a workflow, the changes will be deployed automatically. If overwriting is enabled in the configuration file, posts unpublished in Blogger will be deleted from the Hugo site. Multiple destinations can be used too. In practice, that means multiple websites, for example, frontmatter mappings can also be customized to either disable frontmatter options or to make it work with other static site generators. The code is also structured in a manner making it easy to add support for new features. Any feedback would be appreciated. Feel free to make PRs or issues in the repository GitHub repository: github.com/slashtechno/cross-blogger YouTube video (same as attached video): www.youtube.com/watch?v=H3HyQ7h5ogE
https://imgutil.s3.us-east-2.amazonaws.com/ac1a5277131dcfc7058adc3e7e5aaddd29f99c0ccf6be6dfb7baf64c035bbe4f/8b29a300-95ac-4662-8bbc-f38a10bd4f3e.png
Nearly two years ago, I began work on Cross Blogger. Cross Blogger was my first real Go project with the first release being rather small with all the code in a main.go file. In the last couple of weeks, I rewrote the entire codebase, adding features like Docker support and proper OAuth. The most significant change, however, was the ability to use it as a headless CMS for static sites (such as Hugo sites) powered by Blogger. Configuration is rather simple and can use most common formats such as JSON, YAML, TOML, etc. The project works by fetching posts from Blogger on a customizable interval and comparing against the last known posts. Any new posts are converted to Markdown and optionally, pushed to a Git repository. Assuming the Git repository is connected to a service like Vercel or is using a workflow, the changes will be deployed automatically. If overwriting is enabled in the configuration file, posts unpublished in Blogger will be deleted from the Hugo site. Multiple destinations can be used too. In practice, that means multiple websites, for example, frontmatter mappings can also be customized to either disable frontmatter options or to make it work with other static site generators. The code is also structured in a manner making it easy to add support for new features. Any feedback would be appreciated. Feel free to make PRs or issues in the repository GitHub repository: github.com/slashtechno/cross-blogger YouTube video (same as attached video): www.youtube.com/watch?v=H3HyQ7h5ogE (cross posted from #ship)
https://imgutil.s3.us-east-2.amazonaws.com/ac1a5277131dcfc7058adc3e7e5aaddd29f99c0ccf6be6dfb7baf64c035bbe4f/55b5ea8b-8547-48b7-9ab0-3921fc8a4951.png
I made a PR to @Michael-U0756DZHJ74’s LLM-powered Discord bot. Made the following changes: • Added support for any OpenAI-compatible API, such as OpenRouter • Changed configuration schema • Use toml.dump instead of manually writing the lines of TOML github.com/Mikeymoo5/discordLLM/pull/1
https://scrapbook-into-the-redwoods.s3.amazonaws.com/09feaea3-ff77-4e11-a45a-0d6af5372ced-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/0f3a5a6cdd459647d4fa478a1fe3953292f48df1b4d5253599734cdd73438de6/6198fdc9-5d94-4dcc-8fa2-49c0961adb1a.png
I rewrote cross-blogger, a program I wrote two years ago and a soon-to-be headless CMS for posting from Blogger (or other user-friendly blogging platforms) to a static site generator, such as Hugo. Currently, it functions rather well, as well as being extremely fast. However, it's not fully automated. I plan on making it automated (and adding Git integration) so publishing a blog post to a static site doesn't include having to deal with deployment. PR showing changes made with the rewrite: github.com/slashtechno/cross-blogger/pull/37
https://imgutil.s3.us-east-2.amazonaws.com/df9eb41b26b2d846db8a55b57d1f92618b672deafd2a17b6466d91779c33fb96/23f3793c-6655-457b-b749-a3a80f52e5a8.png
https://scrapbook-into-the-redwoods.s3.amazonaws.com/6c572e35-df1b-4125-bcf7-3ecb7a4cf054-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/0c37390113e74d99a86d53170262cbe3627670e85ef088977e5cb6baf6aa5772/13585c3a-6197-470a-8f92-f6cd5e8f9481.png
spring-of-making emoji
github emoji
slack emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/2530943f-d80e-4ea8-824f-e9880ae3ffc9-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/7aeb14f8056ad5aef15135118317f18e9f052b89262296bc75c8c4d8e384c919/ae473c04-2516-460b-9679-d9d03602a1da.png
spring-of-making emoji
github emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/21b4273e-7045-46e8-b232-5bffa0a7bf1d-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/3874539b-8482-47d3-b322-8a6ee46fa7a6-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/e41f1da6afd0a7de6e5919f7e1fd2d3429c418be774cad5be5d8c81ec6e80c9e/5876b7c7-c6b4-4e5b-af3b-e0b02cc17113.png
I added time-based reminder support to my Mastodon bot, rathercurious-mastodon. I also structured the project in a way that it can be used as a framework for building other bots. With this update, using a command such as @rathercurious@botsin.space&gt; #remindme in 10m will schedule a reminder that is posted in 10 minutes. To reduce clutter, you can mention this bot in a DM (even in an existing thread) and it will reply to you in a DM. Otherwise, it will just match the visibility of your command. I'll probably end up refactoring the code a bit before running it 24/7. This was my first project that uses a proper database. Surprisingly, I was able to add this feature that I've been meaning to for a while in one day. github.com/slashtechno/rathercurious-mastodon/pull/1
https://scrapbook-into-the-redwoods.s3.amazonaws.com/eb74deb4-3de3-41ae-b97e-34c582e798bd-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/394f543ff390ac409e8122d5a948180c44f857cc7789f77520febaa020e628cd/3b1c6fce-8105-4376-8c24-e712fdb3f90f.png
https://scrapbook-into-the-redwoods.s3.amazonaws.com/00e5442b-d043-4e33-9572-ae44d47e58d7-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/e8e3e1f1028f529aabf611e74728a45d5c2c5237bed19a31afb1935c355b4465/56597055-b4b8-4537-8116-77b55a5f6b25.png
spring-of-making emoji
github emoji
Continued adding support for Phidata tools to my project LLMail. I was having trouble implementing DuckDuckGo and Exa.ai (results were outdated) I was able to add the page scraping function, however. Changing the model to adrienbrault/nous-hermes2theta-llama3-8b:q8_0 and using Ollama instead of OpenRouter also seemed to help.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/8ffd1f31-8a54-483c-a07f-6b4e844c8a1e-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/b08d535eebd88ef23998c5e0c3b7de6c3ac20123ddefaa822d824bfa910a2177/1811d61a-ae0d-422f-9d28-e407a8b7bc69.png
spring-of-making emoji
github emoji
https://imgutil.s3.us-east-2.amazonaws.com/e41f1da6afd0a7de6e5919f7e1fd2d3429c418be774cad5be5d8c81ec6e80c9e/c942cd06-28c7-47fb-a151-45c73389ecb5.png
github emoji
goose-honk-technologist emoji
spring-of-making emoji
Worked on integrating phidata into LLMail I couldn't get searching implemented with Exa or DuckDuckGo though.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f2773f6d-b6d1-4e28-8481-d49f8428b9ab-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/b08d535eebd88ef23998c5e0c3b7de6c3ac20123ddefaa822d824bfa910a2177/bbccd009-6400-4313-967a-f1d36af55b76.png