WHW day 6 ❄️
I got the screen connected to the button
whw 5/10 I finished the button code itself, now I just have to connect it to the UI and 3d print the case/cover
whw day 4!! :winter-hardware-wonderland::wom:
I have the arduino code for the button working! rn I’m able to store colors, set colors, and transition between colors
The display arrived! Day 3 mini update
I’m still waiting on the screen!!
WHW 2/10 #hardware-party
Today I’ve also been putting together my 3D printer, but I don’t have a picture of it rn. I’m excited to wire up the buttons and physical components (minus the screen and shell) tomorrow
❄️ WHW day 1/10
part of my project isn’t here yet, but I’ve still started on getting the software aspect working. I’ve created a scaffold for the clock as a next.js app, so I’ll be able to interact with system-level APIs and use it to control smart devices as well
Today I made a raycast extension to switch to a Slack channel from anywhere
I haven’t shipped something in a while, but I was looking at the Stickermule deal for pins. Stickermule deals only last for a certain period of time, but there are also other deals with a special URL that persist beyond a few days. Then I wondered if I could get a database of every Stickermule deal for easy access next time I need to order something. It turns out it’s as easy as scraping stickermule.com/deals.
I present stickermule.vercel.app, an API for getting the current and previous Stickermule deals. It provides the name, URL, and the product. I made it with Node, Vercel serverless functions, cheerio, and Supabase. Every time it finds a new deal, it’ll add it to the database. After a few weeks it should have a fair amount of deals.
Source code on
‼️
Working on getting conflict to support Vercel
#blahaj-memes
:hacknight: Hey hack-nighters! Quick update to the join flow: you no longer have to authenticate with Slack when you join using the bookmark at the top of the channel. Going forward it’ll only take one click to join the Zoom meeting, and you won’t have to wait a few seconds to click through Slack auth. :dino:(And going forward, expect a few more features in /z centered around Hack Night; I’m trying to make the experience as seamless as possible for joining and interacting on all devices.)
> For anyone interested in the technical side of things, the way it’s done is through a hashed key rotated every hour. We can assume anyone with access to this fresh, <1 hour link currently has access to the Hack Club Slack, and we can therefore skip Slack authentication.
> github.com/hackclub/slash-z/pull/82
I’m working on Bank Wrapped! Slowly I’m adding in different metrics that might be interesting to display. Right now it shows how many people you’ve collaborated with, total amount transacted in your orgs, and a breakdown of the most common words in transaction memos
When you transform f(x)=e^x 1 unit to the left, you’re left with g(x)=e^(x+1) (Fig. A). This transformation is pretty simple; the new line is 1 unit away. However, it’s only 1 unit away horizontally. Vertically, it varies depending on the x value. The vertical difference at x=-1 is a lot smaller than the vertical difference at x=1.
On this recent #hack-night, @carrot and I set out to transform f(x) so that at any point along f(x), the distance to the closest point on g(x) is equal to 1. Essentially, g(x) is 1 unit away throughout, not horizontally (Fig. B).
This proved to be quite difficult. There were a lot of quadratics that needed solving, and we also had to use the pythagorean theorem to get some distances. He can probably explain the math behind it a lot better than I can.
Anyways, here are a few links if you want to try it out:
• Exponential Functions - www.desmos.com/calculator/euke7u53si
• Quadratic Functions - www.desmos.com/calculator/jekjpm1mj0
• Linear Functions - www.desmos.com/calculator/oljptwxhji
• Circles - www.desmos.com/calculator/uedqiqjjxk (I think)
Working on Hack OC’s scrapbook, I guess Day 11/10.
Day 6/#10-days-in-public
This isn’t for Hack OC but I’d say it’s related enough. I spent a while today trying to figure out why emails weren’t working for Epoch Bay Area, but now we know what the problem is and are just waiting for DNSimple to go back up. I made a google group and workspace emails for Epoch BA though.
Day 5 of #10-days-in-public. The only picture I have today, from aoc, but I met with Robert to coordinate on prizes, budget, and finishing securing the venue
day 4 of #10-days-in-public. we’ve begun the migration from Linode to Vercel and maybe still Linode? I’m not sure yet, but since our credit expired, we have to find a new place to host the discord bot and mail server. I’ve also started working on a prizes sheet to get a rough idea of how much stuff will cost.
Day 3 of #10-days-in-public. Not much today, but @robert and I toured the Hack OC venue (it’s super cool!) no picture so I’m just copying Robert’s :p
#10-days-in-public day 2: did some housekeeping with some Hack OC documents and prepping for venue visit tomorrow! I’m also working on marketing + our badge design… here are some of the recent analytics and a screenshot of our design file. once we get venue confirmation and our registration form goes out I’ll lay a bit harder on the marketing. I might do what sam’s done in #lion-city-hacks-bts with 1 marketing thing each day
for #10-days-in-public (1/10) I’m going to be working on Hack OC and maybe some Bank Features That Directly/Indirectly Help Hack OC
anyways, today I added and refined the school field to the form, with autocompletion for california high schools to make the data cleaner. it’s about 75% done, and I’m hoping to publish the registration form by the end of the 10 days (or at least make it ready to be published)
A few days ago I started working on WorldCup.js, a node library for worldcupjson.net (browser support coming soon). Now it’s done! Feel free to try it out or suggest features and changes. WorldCup.js covers almost all of the worldcupjson.net API complete with caching, ratelimiting, and self-hosting support (live subscriptions are almost ready…) I hope some people find it useful.
github.com/yodalightsabr/worldcup.js
testing #10-days-in-public tag
test
test #ship
I have completely overengineered this select component for the #hack-oc registration form register.hackoc.org/start
Made some progress on the Hack OC registration form!
Made a few improvements to the new homepage cards today! Now your Bank projects will display the logo on the homepage. I also optimized the balance by loading it async. If you haven’t yet, you can enable the feature preview to try it out.
today I set up openvpn on linode! I’m using nextdns to block ads, and so far it’s running smoothly
I baked cookies
Some small changes to the Hack OC site (couldn’t get much done today)
I spent a bit writing back to npm about the parked package I posted about… all the way back in February. It took 253 days for npm to say, “Idk… we don’t have enough info”
I fixed the “Special Thanks” section on the Hack OC site… now it’ll use tags to include/exclude donations on the website
Made soup and baked cookies
I helped Reese with a bit of last-minute stuff for Hack Austin. Here’s one of the slides for the opening ceremony.
Day 10 of #10-days-in-public I didn’t have a ton of free time but I was able to play around with some of the UI for sessions
Day 9 of #10-days-in-public! I’ve been working a bit on the session cards today. It would be nice to have some more info on those, but they’re getting a bit complicated and hard to look at. I also finished the heatmap component. I have a bit of testing to do + improvements to make, but if things go well I think the homepage stats will ship soon.
As the 10 days are coming to an end, I’m glad I’ve taken the time to do this. Even though a few days were spent fighting the heatmap, I’ve learned a lot more about Ruby and Rails. I might not finish completely by tomorrow, but I definitely think I’ll spend some more time on this. It’s been fun!
Day 8 of #10-days-in-public. I would’ve liked to get more done today, but homework + testing happened :/. Tooltips are here! I’m planning to open source this github-like heatmap component somewhere when I finish. This itself has been such a time-consuming project haha (255 lines of vanilla :html:). I probably won’t finish this overview page thing by Friday, so tomorrow I’ll focus on preparing something a bit smaller that’s actually on Bank.
Day 7 of #10-days-in-public. Almost done with the heatmap! I’m thinking of having two- one for money in, and one for money out. I think this does a good job of conveying when specifically money was raised and spent, as opposed to a line graph just showing money over time. Tomorrow I’ll try integrating it with Bank.
day 6 of #10-days-in-public
I’ve been working on the heatmap for transactions. I have to figure out how to position the months better, but I like the progress I’ve made so far.
Day 5 of #10-days-in-public! I’m playing around with an analytics page that gives a quick overview about the financials for an org. It probably won’t ship though.
I’ve figured out how to pull data from the backend into a chart! I’m having some issues with the other chart though… Chart.js can be really annoying sometimes.
Another graph idea for the spending: a github contribution-like grid where it shows shades of green or red like the one on hackpenn.com/finances
Thoughts and suggestions welcome!
Day 4 of #10-days-in-public:
I’m playing around with different status badges instead of the card count. I feel like there’s better information to show at a glance than the number of cards. Try and guess what the different badges mean…
For day 3 of #10-days-in-public, I’ve figured out one of the issues I had. git add -p only covers changes, not new files, so the async frame remained untracked. TIL! That explains why it only worked locally :no-thoughts-head-empty:
Day 2 of #10-days-in-public :bank-green-dark:
I added the organization logo, and Max helped me optimize the transaction amount. The page load time is much faster! I learned how async frames work in Rails; it’s pretty neat how it sends HTML over the wire. After I polish some stuff up, you should see it live soon!
Day 2 of #10-days-in-public :bank-green-dark:
I added the organization logo, and Max helped me optimize the transaction amount. The page load time is much faster! I learned how async frames work in Rails; it’s pretty neat how it sends HTML over the wire. After I polish some stuff up, you should see it live soon!
My first ever :bank-hackclub-party-dark: Bank ship: Detailed Org List!
The detailed org list is a set of a few modifications on the Bank homepage. Right now it just shows a few stats, but I’m considering adding more soon. Check out the newest feature preview if you’d like to try it out. This is still experimental, so be warned!
Day 0: A [bad] clue
made a mini raycast extension for my cdn! I can see all of the screenshots I’ve taken, copy the links, and delete them if I want to.
Medium-sized :hackoc:Hack OC ship:
The Hack OC ✉️ mail server is up! mail2.hackoc.org
This Linode server listens for webhooks from hackoc.org, and then fetches information from :airtable: Airtable and sends out the email.
:github:github.com/hackoc/mail
This response is undeniably true; (Or at least, this ship is.)
Want to know how true something else is? Plug anything into <https://api.yodacode.xyz/howtrue/:text|GET> to find out.
Feel free to take a look at the code at gist.github.com/YodaLightsabr/a4924816e0c7bd45b15d1c8aebfc582a.
Try to guess the salt I used if you’d like.
made a cool graphic for instagram and maybe twitter
made a basic scrappy-like welcome flow for the hack oc discord (using :conflict:)
worked on the hack oc sponsorship prospectus
small thing for the hack oc site!
Card arrived!
Replit swag! :D
Hack OC email service is nearly up and running!
Finished the initial version of the Hack OC site! hackoc.org
Bank Transparency (or Bank Receipts, not sure what to call it yet) is coming together nicely working on a bank transparency app 👀 :swift::swiftui::bank-hackclub:TIL: it's Airtable, not AirTable
Small ship / update to ticketing.assemble.hackclub.com: Once you upload your negative COVID test, you’ll be emailed your Assemble ticket. It’ll also be available at the bottom of the page. @tetraoxygen put in a ton of work to make the whole ticketing system possible! It even supports Apple Wallet. Assemble is only 2 days out!
working on assemble scrapbook :4daysuntilassemble:
Last weekend, the :assemble: Assemble team launched ticketing.assemble.hackclub.com, which allows attendees to upload their physical or virtual vaccine card ahead of the event, and will soon open up for pre-event COVID testing. A ton of work was put into it by the team: @tetraoxygen built the backend for Assemble ID and vaccine verification, I built a website for uploading vaccination proof, and @sampoder added the finishing touches like the Assemble theme and copy. The repo has been private for a bit while we cleaned up the codebase and improved security and stability, but now it’s public!
If you’re attending Assemble and you haven’t already uploaded your vaccine card, go to ticketing.assemble.hackclub.com and do it before Tuesday.
:github:github.com/hackclub/assemble-preflight-web
polishing up & preparing to open source/ship the assemble ticketing site
something is being assembled:earthquakyeyes:
3am 1-hour ship! @Mathbot-U03PV2959LN! Do math and solve problems while Mathbot gives you step by step solutions. It uses cymath as an API and caches images afterwards to make it relatively fast. You can also use the output in your own projects.
:github:github.com/yodalightsabr/mathbot:slack: #mathbot - try it out!
🕸️ api.yodacode.xyz/math/:equation
added a complex step-by-step math API to my website, which basically just screenshots and restyles cymath to get a visual answer
Since I was sick I couldn't post a ton of updates on my trip but here's a picture of a thicc tree in Hilo, some Nenes at the hotel, and views around the volcano. Sadly no coding though :/ :eggsdee:
Attentional all night hackers! You can now view the live count of how many people are in the hack night call. This bookmark will automatically increase or decrease when people join the call.
working on a set of workflow steps to make it almost as cool as zapier. once you can send HTTP requests you can use almost any API
Ever wanted to add easter eggs to your GitHub profile, or leave a fancy message for anyone inspecting your contribution graph? You can now with GitWrite! Over the past few days I wrote GitWrite with inspiration from @aiden.bai05’s GitHub profile and how he spoofed dates for commits.
It’s pretty easy to use, you just have to make sure you do it in the right repository, otherwise it’ll be a lot more git commands to undo :eggsdee:.
Try it out!
:github:github.com/yodalightsabr/gitwrite:npm:npmjs.com/package/gitwrite-cli
I'm installing a crouton 🥗 onto my chrome book serverI'm volunteering at my old school taking out all of the screens in the old chromebooks. They said I could have a chrome book without the screen, so I'm taking one home to reset and use as a Linux server.
Building an HTTP client for :raycast: Raycast! github.com/YodaLightsabr/http
I just have to submit it to the store, and then ship it!
Explored XSS with my schools gradebook
conflict update! now when you deploy to Vercel all of the commands will register to Discord during the build step
you can now deploy conflict to vercel! :conflict::vercel:
only issue is that you just get this generic debug response
My Discord bot framework :conflict: will soon support deploying bots to :vercel: Vercel!
Working on improving my api for explanations to allow for faster responses and more detail
I went to Catalina! I did snorkeling, hiking, and I tried rock climbing. I also got a few really cool pictures
I wasnt able to code much today but I'm going to Catalina tmrw for a school trip.
I haven’t used scratch in a while because there’s really no point but I wanted to make something that nobody’s ever made before with the limited scratch tools so I made a weather app (a live working one)
When the error messages are all internal in the package
Thanks Zach!
I got a full resolution Zoogle logo into #cdn and worked on a discord bot. now I’m doing homework for history and I have a test soon
I studied Spanish for a test. I haven't done much programming today but I don't want to lose my streak. Maybe I'll make some progress on my website
did a bit of bug fixing for #run-code and some homework
Slack Bot Ship 🚢
@CodeBot-U03D7LR2607 runs code from over 200 languages using Piston right from Slack.
To run code, make a code snippet, or send a message with the language you want to use, followed by a codeblock to run.
Try it out in #run-code! Instructions are pinned :tw_pushpin:.
View it on GitHub: github.com/YodaLightsabr/slack-run-code
Making something that I'll release soon
ez Any% crash GitHub with my horrible usage of git cli
added timestamps to recordings in slash z
I just set up my firefox default monospace font to comic mono.
wrote some stuff for hack night slash-z with charlie to combat trolling, whilst being trolled. quite an eventful hack night
I added some better animations to emojile!
A Wordle clone ship! 🚢 :emojile::shipitparrot:
Earlier today I attended @heyrajan’s Build Your Own Wordle workshop where I made my own Wordle clone and decided to make it with Hack Club Slack emojis. I used @BenjaminSmith’s Hack Club emoji API to get a list of emojis and display then once you solve it. I also added the same animations as the original Wordle because it was driving me crazy :eggsdee:. There are definitely a lot of bugs but that also means there are a lot of features :cooll-thumbs:. My score for today is in the 🧵.
Try today’s :emojile:Emojile:emojile.dino.icuand post your score in #wordle!:github: GitHub: github.com/yodalightsabr/emojile
today I wrote some regular expressions and since I don’t know any complex rules I ended up just making a ton of expressions and matching both of them with ()|():peefest:
I told someone I made websites and he asked me to make him a website about sheep so I made a website about sheep
:conflict: Conflict release v0.5.0, almost ready for the full release! I’ve added plugin support, upgraded to the newest Discord.js rest API, and added a few more custom components. If anyone can help me test it before I release it, let me know!
more progress! i added icon support from icons.hackclub.com, blockquotes/notes, and did some work on the guide’s content
Making progress on the /z guide/tutorial!making some progress on the /z guide using hack club’s css theme
:conflict: Working more on the website! conflict-website-v2.vercel.app Today I did some more stuff with eslint and next.js which is cool. I also learned that the alt text of an image gets copied when you select it with other text.
Today I made a bookmarklet bot for Blooket (basically another Kahoot clone) to get more familiar with the DOM APIs.
Just added deleting and updating to the database that I’m working on
medium sized ship 🚢
Some background: I make a ton of small projects, and end up having to build my own API routes just for a small backend functionality. Parsing, validating, and responding to the requests takes a while to implement and takes time from the project I’m trying to make. That’s why I built <http://github.com/yodalightsabr/function-apis|function-apis>.
function-apis is a small express middleware that lets you define functions to automatically be available to the client. With as little as 11 lines of code, you can make an async request to the server and function-apis will handle the HTTP request behind the scenes.
:github:github.com/yodalightsabr/function-apis:npm:npmjs.com/package/function-apisalso: I think my next project will be an NPM package name finder, because I tried like 20 different package names and they were all taken.:peefest:edit: the package `available` seems to work
Working on a small project to pass functions from the backend to the frontend without worrying about API routes and parameter parsing. Thanks @ced for helping me figure out parsing the JSON body
Working on the website for :conflict:
yodacode.xyz/F7128236162.png I made a Siri shortcut to upload screenshots from my phone to my image host. I already made a Raycast script for it but now I have a script for when I'm on my phone.
I applied a hack club sticker to my laptop!
This isn't really much but I figured out how to make one of those text inputs where the placeholder goes up when you click on it with pure css
Working on the EmbedSlideshow component
(conflict framework update) I just added popup modals (even before other libraries have :eggsdee:)
(conflict framework update) Yesterday was buttons; today is message selects!
(conflict framework update) I finally got inline buttons working! I’m so excited! Now you can add the onclick prop and it will automatically handle the click for you!
I added file previews for error handling to my framework! Now it’ll show you exactly where the error is.
Added error handling to Conflict (could use some work tho)
🤞 Hopefully NPM gives me access to the conflict package name, because that just so happens to be what my almost finished framework is called, and the conflict package has been empty for 3 years, now with a deprecation message of “lol” :peefest:
Today I made tons of progress on my bot framework, Conflict. github.com/YodaLightsabr/conflict
I added command responses with JSX views, a command line interface, implemented a rough draft for hooks, and learned more about arrow functions and this scope.
I finally learned npm link, how to make exports like module/export, and making cli tools with package.json’s bin
Worked on a small game lab feature
Worked more on the game lab bug reporting system and it’s almost finished
Worked on the website for my new framework
Built my fist GitHub actions workflow!
Added a bug reporting feature to Game lab
working on an explore page for game lab
Added drag and drop sprite creation to game lab!
Apparently I got GitHub copilot a few days ago and I missed the email. I’m super excited to start using it!
I made huge progress on my Discord bot framework today. The basic command handler and JSX view parsers are working!!
Edit: Now open source! github.com/yodalightsabr/conflict 🎉 :githubparrot:
Hosted my first hack club workshop! :orpheus-pop: We made Discord bots, and mine had a trivia command and a dino command (using my recent geta.dino.icu api) After overcoming a few issues with trolls(?) I think it went well.
I'm tired of looking up “How to use __dirname esm” and copying the top answer form Stackoverflow all the time, so I made esmdir. GitHub.com/yodalightsabr/esmdir
Today I made Qoogle (Quicker google), which is a chrome extension that adds keybinds for navigating google search. You can use keys 1-9 to select results, and W/S to go up/down on the page. github.com/YodaLightsabr/qoogle
github.com/YodaLightsabr/2Password Used Node.js to make a password manager with aes-256, a secret key, master password, and hashing. It’s probably not at all secure in the real world, but it was cool to try cryptography.
Making a polite programming language, that you can talk to just like a human
Finally learning rust! Just wrote a hello world
Day 8 took forever
day 7 aoc && trying to make a typing test
Ran into my first javascript memory error because of a massive array for adventofcode.
I uploaded terminal games to npm so you can now install it and play it wherever
something about my aoc code is so messed up. it just hates the number 5
soooo this is me absolutely failing aoc day 3 part 2
I’ve spent a few hours on making a text to terminal colors parser to add some graphics to my games cli. The first game I’m going to try to add is tic tac toe
I
Working on a new project called Terminal Games! I’m looking to add a new game each day and if anyone else wants to help add games you can make a PR on GitHub.
When I first started using Replit, I hated how I could only have 5 always-on repls. I found UptimeRobot, which was okay, but I had to log in and configure something every time I made a new repl. I think Replit is a great way to host small projects like websites or bots, and I wanted an easier way to keep them online. So, I bring you ReplAwake.
To use it, you just click a link and add your repls into .replconfig. ReplAwake handles the rest! You can add more at any time right from within Replit.
You can see it at
:github: GitHub: github.com/yodalightsabr/replawake:replit: Live Version: replawake.yodacode.repl.co:fork: Start an instance: replit.com/github/yodalightsabr/replawake
Made a useless proxy from firebase hosting to one of my repls.
Trying to get back into daily scrapbook posts, so here’s what I’ve been up to lately: A markdown notepad that converts your markdown (# header, * list item, etc) into a formatted notepad that automatically saves.
Working on a database in Discord that’s AES-256 encrypted!
Making my first :raycast: Raycast extension! Right now it just shows your your Canvas courses and lets you open them in a browser.
I made a website to scan URLs for rickrolls so you never have to land on one ever again. is-it-a-rickroll.vercel.app
:nodejs: api-pathmaker is a module(ish?) that I made to write less code when you’re implementing an API in Node.js. It lets you model the request in object format and then make the request without having to define everything with an http library. I made it because I was tired of having to use a random API just for a few requests (for example, getting cat pictures) and the API doesn’t have a library, but you still want clean code.
It’s kind of a mini-ship and it’s part of a larger project I’m making.
GitHub & Download: github.com/yodaLightsabr/api-pathmaker
Working on a framework to declaratively write API clients for JavaScript
Just built the Zoogle CLI! I talked about it on the train but I completely forgot to do it. Eeven though it’s long overdue, here it is!
gist.github.com/YodaLightsabr/00799a736d560a5d954420b3f7a797d3
You have to run npm install node-fetch@2.6.1 because I didn’t add a package.json.
Medium-sized ship!! :shipitparrot: 🚢
I just published an NPM package for logging in Node.js. I always thought that the console was boring and that it was hard to find what I needed, so I started working on Stump.js. The finished version has support for enabling/disabling debug mode as well as Discord webhook support.
:github: GitHub: github.com/YodaLightsabr/stumpjs:npm: NPM: www.npmjs.com/package/stump.js
A thing for storing any form of data on replit
using airtable for the first time!
The power went out so after an hour I started to work on a random website with nextjs, and then it turned back on before I could do much!
Darnit, I have been caught
Just opened a pr for /z! Hopefully it doesn't break /z.
Working on a pitch slide deck!
Making a super hacky express templating engine. It only supports logged in/logged out ifs, and XSS-free variables.
Made a Node.js api for replacing colors in bootstrap so you don't have to compile SASS and deal with that mess
Working demo for /snipe!Making my first slackbot! Super exciting and complicated at first. Shoutout to @jasonaa for helping me get started
First sticker shipment!
More scam emails!
Installing iOS 15!
Making a Discord bot for daily programming challenges
Trying to get MacOS High Sierra on an 11 year old MacBook Pro!
Our team didn't place in health{hacks} 2021 but it was a lot of fun!
Adding Sign in with Google to my health{hacks} project using Firebase Auth!
Participating in health{hacks} 2021!
The volunteer tracker on my club's website is finally complete!
Made an NPM module for getting Google Form responses
Using Python + Node.js to automate keyboard shortcuts on Windows - I'm hoping to use this in Zoom meetings and have a physical button for muting/unmuting.
Just made a volunteer hour tracking system and course signup website for my local hack club using Node.js and Bootstrap.