updated my blog "Learning to Code" on my website christina.cool with small step-by-step instruction on integrating VSCode with GitHub to publish a website. 1 thing i'm excited i finally nailed down was getting photos from my desktop onto my website.
Video call with Roshan and Elise! Also putting the finishing touches on the recap website! Thanks @lachlanjc for your feedback, only one checkbox to go! Last night, we launched the scavenger hunt which is fun!
an assorted bullet list for today:
• finished and shipped 🌀 <https://github.com/ifvictr/whirl|whirl> today—launched here and also in a community of ~4k college students
• planned out my next two projects for the week
• ate a healthy meal 🥗
• read up on what trampoline optimizations are
• started using vim in vscode
i don’t have any good pictures of anything in the list to share, so here’s a screenshot of the docs i’m currently reading which may or may not be part of an upcoming project.
Yay -learned how to put websites online and published 3! 1st took me 12min to open a repo, open the folder in VS Code editor, then commit and push on GitHub desktop; 2nd time took me 7 mins and 3rd time took me 2mins 47 seconds !!🔥
Was a very long time since last post, my scrapbook posts should resume starting now!
Got a bit burned out of programming and hardware for some time and I got caught up by Fallout 4 😔
Today still nothing about nixie clock but I learned that the PSU I have soldered works miraculously as the ground pad for the controller is under the SMD component and it makes contact because I accidentally applied solder on that pad xD
Instead I'll present you my most recent work which involves again Minecraft modding and this time it involves a whole lot more rendering!
For those who plays with OptiFine you might know the "Better Grass/Snow" feature. I personally dislike it a lot and the first image might tell you why: it's too unnatural.
So I wanted to make a mod to solve this and do it kind of better than OptiFine! But how? Introducing blending on those blocks!
When loading the models I look into the resource packs and search for bettergrass states file, if it exists then it tells which variants of this block is actually affected and their bettergrass metadata file! The metadata JSON file is composed of layers with top/side textures definition and overrides textures definition for the blending, masks textures to automatically generate the blending texture with top and side textures, and which color index is affected.
Then I replace the vanilla baked model and introduce logic to choose the correct texture and at resource pack time I add a virtual resource pack which holds the generated textures, the texture generator is highly cursed.
And here's the result on grass/snowy grass, mycelium, warped nylium and podzol! You can change a lot through resource packs which is useful for mod authors and resource pack authors!
Some of the textures are not definitive but it's already better than OF's bettergrass I believe ;)
If anyone is interested in the source code and documentation: github.com/LambdAurora/LambdaBetterGrass
Tried and failed to go entirely through the flow of creating a basic website in VSCode editor, getting it onto GitHub and then onto my website. Ended up watching some beginner VSCode/GitHub videos but still pretty stuck. www.youtube.com/watch?v=Fk12ELJ9Bww
Today was the last day of SIP, and I've made so many memories and met so many amazing people over the past two weeks. Me and Kiana made a website for our final project (kayleyseow.github.io/SHEQUALITY), and presented it to Twitter partners today (I even had an amazing convo with Ms. Brand about bro culture in the workplace). Alas, virtual SIP isn't the same thing as a real one at Twitter, but I wouldn't give it up for the world.:twitter:
Finally shipped my first GitHub action! This is for the README feature that is coming to GitHub profiles. It allows you to show off you tech stack with a badgified table! github.com/Matt-Gleich/profile_stack
Nixie Clock Update!
Today I added a lot of things to my mode system: timeout handling so it can timeouts a mode after an amount of seconds without any interaction to go back to the default mode which has cathode poisoning prevention (it avoids accidentally staying on a mode which doesn't have this), auto reset of the nixie array each update, initialization system for optimization, etc.
I also added the date mode! Which was quite difficult as I had to add two new configuration entries: date_full_year which determines if the year is fully displayed or only the two last digits and date_format which is the date format like YMD, MDY and DMY as default. The difficulty was figuring out how to display that correctly in the correct order with 4, 6, 8 or more nixie tubes!
I had the idea to put the date in a 8-bit unsigned int array in the format dd MM YYYY then I have another array which contains the indexes of the first array in an order which depends of the date format! It allowed me to make the display algorithm simple and understandable!
If anyone interested, here's the commit: github.com/LambdAurora/nixie_clock/commit/c37c5d1f649f646f165d2cd6f450de5699b74d43
Here's a simple Discord bot I made a while back - it uses the Canvas API (Canvas is what our teachers use to communicate with students) and finds the latest page with a Zoom meeting link and sends it to the channel, so people can instantly access the latest link and schedule!
Link to the GitHub repo!
my github swag from the scavenger hunt arrived!!! also tonight i worked with @luke on making a new version of hack.af/pack that has instant approval! also had a history test, did meditation in drama class and had an interesting day at school :)
Just one last thing before summer ends. I have my basic HTML up, no formatting yet, but it's going to be something I'll continue to work on (give me suggestions and frameworks to use pls!). Until further notice, I'll be hosting it here (failure resume currently here). Last #scrapbook post before I go back to school! Thanks for making my summer amazing, you guys, I love you all ❤️ .
My front door face recognition system is now operational. It still has some small glitches and there are a few thing I'm planning to change but overall it works quite well. I can come to the front door and type in my code to unlock the door (only if it sees me). If it doesn't recognise someone then it will send me a picture of them so that I can add in their name in.
Great big thanks to @sampoder and everyone else involved in the SoM.
Bouncing around as usual yesterday:
• Published another VIP newsletter, from June 17: hackclub.com/vip-newsletters/008
• Added a page to our website to answer the common email we get, “Will you sponsor my hackathon?” hackclub.com/sponsorship
• Fixed the Slack form, which is now using the non-SOM flow, where we manually approve people. (Absolute fight to the death with CORS & API headers.) This flow is temporary; discussed with @matthew a new post-SOM Slack signup flow to implement soon
• Fixed Badger the Slack bot, as well as custom emojis on Scrapbook
• Set up automated API testing with checklyhq.com—public dashboard coming soon
• Updated the Code of Conduct to replace there being a specific Working Group with our team: github.com/hackclub/hackclub/pull/1286
• Did the first half of converting hack.af to serverless
I didn’t take any cool photos yesterday, so here’s two from a year ago, walking around Bellefonte, PA at night.
Servo controlled by Arduino, which is controlled by Raspberry Pi Zero W, which listens to Firebase Realtime Database. The database contains information whether to move the servo or blink a LED. The database updated by a few lines of JS code. Repo here ---> github.com/bartekpacia/chariot-rc
busy day, got a wifi jammer that i will play around w, opened a pr for testing, and anxiously waiting for the ctf announcement tmr + ama!
(disclaimer: wifi jammers r illegal if they r used to someone else’s wifi. I am strictly using it for testing purposes on my own home wifi)
made a small program that plots quadratic, cubic, logarithmic and trigonometric functions using matplotlib
planning on adding a UI to it, it also requires some optimisation <https://github.com/YashKarthik/plot_functions|github repo >
Figured I'd share some recent updates to Replier! 🤖
✨ Cool feature 1: Autoreplies in DMs now only get sent once every 15 minutes. That way you can still have a conversation, even if you're on vacation! 🌴
✨ Cool feature 2: Your autoreply will now get triggered if someone mentions you in a channel or multi-person DM. It even works in threads! 🎉
That's all, folks! Remember to check it out on GitHub:githubparrot:!
I had a pretty unproductive day today, I literally just did game theory the entire day. Funny story, our entire team's repo with our submission to the hackathon literally disappeared into thin air for a couple of hours and its back now but the github pages doesn't work... yet...
Anyways, I send my dad coding memes sometimes — here's my favorite meme I've ever sent to him.
After a weeklong break, I'm back to my unhealthy obsession with economics😬. Didn't really do much today. I followed a lot of people on github. I'll probably be going through my github and adding tags/editing descriptions for my repos, and maybe editing some old readme's.
🎸We made more progress on the _Summer of Making_ Smart Album Cover display… it finally listens to music playing in the room and gets the album cover! Here’s Tyler, The Creator’s*Flower Boy* and Drake’s _Nothing Was The Same_, which we think look exceptional 🌟. We’ve printed some of the parts for the frame (pictures on the GitHub Repo), and have to setup always listening and automatic volume adjustment, but after that it will be finished.
We started making our first prototype! It's going to be console text based, but we plan to use the Kivy Framework later on, as it's a cross platform Python Library that can be used on the Raspberry Pi. This is just a basis as we get into the swing of things, learning Python and setting ourselves up for learning and making.
Here's the link to the Github and a photo!
Not much is on there yet, but we are plan to get at least some units on a board tomorrow.
Today, I am attempting to change all of my GitHub branches from ‘master’ to ‘main’ to make my projects more welcoming to everyone. I believe that language in software matters, and this is a step I want to take to be an ally in the community. I’m super glad that GitHub has this in the pipeline to be automatic in the future! One issue I am running into is that GitHub Pages only supports the ‘master’ naming convention, so I am choosing to abandon GitHub Pages for my projects, and find alternate hosting methods.
Still working on the nixie clock firmware and... today there's a lot of changes in the code!
It was time to code the "modes" to switch between time and date displays, thermometer, configuration, etc. And it was a bit complicated to implement that in an easy and working way.
Also, display centering for huge number of nixie tubes is fun.
But now the modes are represented by classes with an update method and timeout to fall back to the default mode if no interaction was done for a certain amount of seconds.
I also added a code for the RTC module in case it losts power (but it shouldn't with its battery), in the case it lost power it will restore the last time and date the firmware knew which is its compilation time & date! I also had to search for an algorithm to determine the day of week from year, month and day of month; and I found the answer on the website of a Canadian university with a C code from 1993.
If anyone wants to see the changes: github.com/LambdAurora/nixie_clock/commit/22cac8b004324ba2eb293c8547379e5909bbe7e3
Began to work on the algorithm for the nixie tube array through shift registers!
I had a little trouble with a part of the code which resulted into an infinite loop because I forgot about unsigned integers and decrementation while writing the code.
In the screenshot look for the nixies variable which is the result of the work on that algorithm. (and nixie.hpp/nixie.cpp)
And I pushed it to GitHub (github.com/LambdAurora/nixie_clock/commit/04bec99740df109aa000040f4ac211a3f8c4e43f)!
I wrote a quick serverless Airtable-based link shortener! Inspired by @itsmingjie's version, but super stripped down (only ~20 lines of code) and hosted on Vercel. 🔗 https://github.com/MatthewStanciu/abls-serverless
One of my summer projects, which is the main one!
I'm currently working on a nixie clock project, which use, you guessed it, nixie tubes (IN-14) for its display.
You could tell me that there are kits for that, and yes there are, but it's not as fun as making one from scratch and the cool thing is I learn a lot about embedded programming and electronics!
Here there is a 3D printed support with 2 nixie tubes mounted on it and an electronic board behind with a shift register and nixie tube drivers (which are binary decoders) and there is a missing transformer (which really annoys me);
and there is my breadboard with an OtterPill, a shift register and 8 LEDs which represents the output of the shift register and there is a RTC module wired to the OtterPill and a Raspberry Pi which I only use to get the serial console output of the OtterPill (and the UART connection is super instable).
The nixie clock will be open-source and I'll try to make it in a way which you can build a nixie clock with 4, 6, or 8 nixie tubes with the same firmware (and maybe even the same PCB).
If anyone is interested, here's the GitHub repository, at the moment there is only the firmware with the RTC module/EEPROM and serial console code completed.
I and some friends created an application to a hackathon to truckers, the solution we created is called Sula and it's a social platform where truckers can ask for his rights and share experiences (we made this, because truckers have a lot of problems here). We have a lot of things to do to improve this app in this summer, and I will also translate it, so you guys can understand it 🙂
Backend with Node.js, TypeScript and GraphQL: github.com/sulatruck/backend
Frontend with React Native: github.com/sulatruck/frontend
Also, I think @Guilherme Farrel will publish the design of this app soon!
👋 Helloooo everyone!
Ricey here back at it again with another shippy ship for @paevik! Back during the dinosaur era (i.e. last week) in the mvp, there was just the bare minimum: you could only create entries and post them to #journal.
Now, @paevik is a fully-fledged app for journalling! V1 includes super cool things like searching by ID and Date, custom files (encoded in blocks bc Slack is stupid), a timeline view in the homepage, and some username trickery! Everything in the backend’s been refactored too—an API is in the works, and everything is super secure too!
Some really awesome things are in the pipeline for the next version (I’ve decided to hold off on implementing anonymous journal entries for now), like:
• Journal entries from #scrapbook entries
• Notifications & custom feeds (you’ll be able to subscribe to other users’ public entries)
• An API + website for exploring
For now, you can get started by running /entry , or going over to #journal to see what everyone’s doing! :parrot_love: 📝 📚
It’s been a lot of fun building Paevik, and I can’t wait to see what y’all will write about! A really special thank you to everyone that helped me test this monstrous creation—it really helped a lot :)
As always, you can find the source over at github.com/rishiosaur/paevik :D
Trying to figure out a secret in an obscure unity webgl game that less than 50 people prob know about? Why? idk. Whats the secret? idk, it might just be left over or smth. But I'm not stopping now - found the github repo with a .wasm.code.unityweb file, which is a gzip of a possible wasm file. I am trying to decompile it, but have crashed my computer multiple times. Even looking through the file manually crashes it. Time to try on a community cluster and hope I don't get in trouble.
I'm gonna try to get @scrappy to react with as many emojis as possible, for no particular reason.
Lol after making friends with some hack clubbers, my github feed has now been contaminated by the unholy sea JS. There's only 1 last good sign of civilization (even though I hate the qloader project itself).
Last day in our temporary office today, in Bloomington:
• Ended SoM hardware grants with a wonderful PR from @sampodergithub.com/hackclub/summer-site/pull/57 & gave him feedback on our upcoming homepage by him!!
• Bank: fixed a Transparency Mode bug on the G Suite page
• Bank: reached out to someone I super admire about working on an explorative new project together
• Workshops: in preparation for the new Clubs, standardized our formatting & streamlined authoring open letters github.com/hackclub/workshops/pull/20
• Moved forward on iPad distribution project
• Unblocked @neel.redkar on serverless deployment
• Talked with @michael.destefanis to plan Bank work, @tmb about MacBook project, @msw about Slack comms, then a long chat with @zrl about workflow/responsibilities at HQ
Here’s what @matthew & I made for dinner. Going on a quick weekend trip in the morning!
I just got off of my last meeting with my WAVE advisor this cycle. We actually had a really amazing talk today (tl;dr debugging is painful, but you'll learn a lot), and we even went through my projects on GitHub as well. I've been able to learn so much from him over the past couple of months — I'm seriously going to miss our hour-long conversations. Also, say hello to Cooper, Looker's (unofficial) mascot and the bestest dog!
My internship group at @CodeDay Codelabs just wrapped up! I learned a lot, and I was in a group with some amazing people. Thank you @saharsh for being our mentor!
We created a short demo video about the chrome extension that we maa
In 4 weeks, we created altML. altML is a chrome extension that uses machine learning to generate image captions for websites that don’t have them. Check it out at github.com/saharshy29/altML!
I'm proud to announce the launch of Replier, a Slack app for setting up autoreplies! 🤖 🎉 Going on vacation or taking a break from Slack? 🌴 Cover all your bases by automatically letting people know. Try it out here!
Replier is open-source on GitHub, so feel free to open issues, contribute, or give it a 🌟!
Someone tried a brute force attack on my Pi today. Also, my server and database credentials + my code got stolen from a private GitHub repository through OAuth access tokens given to a code analysing app because their employee got phished ( a security company’s employee getting phished is 🤦♂️)
Fixed keypad. I had to resolder one of the switches because I cut one of the wires thinking that I had to resolder it anyway since it was touching another pad or something. Not the issue, just kinda dumb. I accidentally touched one of the key caps with the soldering iron so I have to reprint one of the key caps but I can only do that after the like 7 hour print I started earlier finishes.
I know a lot of people have this badge, but it feels special knowing that in 1000 years, if civilization gets wiped out, at least my descendants will be able to recreate my arduino project. 🥺 Also, as @blucashbaugh mentioned, my code is physically buried under a bunch of permafrost at the North Pole. Pretty fucking cool, imo.
Introducing... Contributor List! 🎉 It's a GitHub Action that automatically adds a cool contributor list to your README (like that one ⬇️) Don't like the default look? You can customize it to your heart's content with a Jinja template. Check it out! github.com/cjdenio/contributor_list#readme
Another one Deep Learning Face Recognition
i will be updating new stuffs with their codes through this repo
here is the codes and video
So Feel Free if you have any questions
Now seems like a good time to release Ship CLI 0.0.3! 🚀 You can now ship from an image/video URL 🖼️, provide a custom channel ID with the --channel option, get notified of future updates! :parrot: Just run npm i -g hackclub-ship in your preferred terminal emulator, and you'll automatically get updated to v0.0.3. Changelog
Spent all day today fixing a ton of Scrappy bugs! Here's everything I did today:
• The streak resetter is called by a Zap that runs every hour, but it kept turning off every time it ran because I wasn't sending a response back. Now it's fixed and running every hour! 🕐
• We added text formatting (emojis, channels, and users) a while back, but posts made before that still appeared unformatted. So I wrote a script that formatted every scrapbook update since the beginning ⭐
• Scrappy now publicly links to the scrapbook profile of anyone who shares a CSS style so that anyone can see what the style looks like 🖌️
• If you had a custom scrapbook domain set and you ran /scrappy setdomain again to set a new one, it wouldn't remove your previous domain from Vercel. Now, it does! :vercel:
• For a while, when you edited a message or shared an unfurled link in a thread, Scrappy would react with a beachball. Now, it doesn't do that anymore :beachball:
• If you to set your status to a streak number that doesn't match your streak, Scrappy sets your status to a clown emoji. A few days ago I accidentally broke this feature, but I fixed it today! 🤡
• Yesterday, @saharsh submitted a pull request that automatically updates your scrapbook profile when you edit relevant profile information in your Slack profile. Today, I got that PR working, made a few changes, and merged it. Now when your profile picture, website, GitHub profile, and timezone change, it'll instantly be reflected on your scrapbook profile 🙌
• Today, I was made aware that Scrappy occasionally doesn't update people's status, either when they post an update or when their streak is reset. I believe I fixed the issue—I couldn't test it because I couldn't easily reproduce it, but if you notice your streak status not being properly updated, let me know so that I can investigate further! :som-7+:
• In case you didn't know, all full slack members can run /som-promote to promote a multi-channel guest to a full user in Slack. Now, when you do that, it notifies #welcome-committee that they've been promoted so that they can help them get acquainted with the rest of the community! :heart:
• And finally: previously when you uploaded large video files (>300MB), Scrappy would falsely tell you your video was successfully uploaded, only to silently fail and display an unsatisfying black screen on your profile. It was failing because 1) Slack wasn't serving the video near-instantly like it normally does with most files, so Scrappy was fetching an error page, and 2) even if Scrappy managed to fetch the large video, it crashed the Heroku dyno because it didn't have enough RAM to download the whole file. My largest project for today was getting large video files to work. Now, if you upload a file that's too big for Scrappy to download, it will wait for Slack to serve the file, upload it directly to Mux (the platform we use to serve video on the website), and notify you when it's processed. So go ahead and upload multi-minute videos now! :yay: 📹
If you find any other bugs in Scrappy, please let me know or open an issue in the GitHub repo (github.com/hackclub/scrappy) and I'll fix it. And of course, if you notice any of the bugs I supposedly fixed today persisting, please let me know so that I can look further into them and fix them for good.
Here's a picture of me giving a very good dog a belly rub
This semester, I took a course on Functional Programming in Haskell. I am surprised that Haskell is such a great programming language with less audience. As a course project, I chose to develop a Haskell Outlier Detection Package (HOD). github.com/KishoreKaushal/HOD
Hey there everyone 👋,
Also please suggest me what to make changes
This morn, I did a deep read on GitHub, mostly on the wikipedia page, trying to understand different parts of it. I also reread my own learning to code blog at christina.cool, and practicing some website stuff like adding images, converting them from png to jpg and sizing them.
Moved houses & got a late start yesterday, but got a few things in:
• Added print styles to Workshops site, h/t @melody, to improve usability github.com/hackclub/workshops/pull/19
• Bank: Added example HTML embed code for embedding your donation form on your website
• Bank: Removed the webfonts for improved performance & a nice design tweak
• Bank: Shipped verrry first prototype of new cards ordering flow I’m working on (not public)
• I started my reign over Brand Twitter, now that I’m running our Twitter twitter.com/hackclub/status/1296655498842906625?s=21
Photo from a nighttime walk around campus with @matthew!!
New altML ship! We’ve put together an 11-minute “tech talk”, where we talk about the technical details of altML, and our experience while creating it.
altML is a chrome extension that uses machine learning to generate image captions for websites that don’t have them. Check it out at github.com/saharshy29/altML!
Done with binary classification algorithm
binary classification tasks that have two class labels.
• Email spam detection (spam or not).
• Churn prediction (churn or not).
• Conversion prediction (buy or not).
Source Code: github.com/Abubakarharuna10/Binary-Classification.git
created a small little thing that automatically takes what on my clipboard, creates a short link, and copies that to my clipboard. Needed to be able to run this with Alfred, so I experimented with a bunch of different stuff and it was a pain, but finally got it working in the end. Here’s the repo: go.srsh.link/aBwJR9. My explanation of it was kinda botched, but I’ll add more info to the readme soon.
This photo is from a wondrous night with @msw a few days ago…we sat out on the dock looking up at the glorious night sky & I saw the Milky Way I think for the first time. It was a solid day of infrastructure work today though—shipped a massive update to Hack Club Theme & little updates to a bunch of other sites, switched our asset hosting from CloudFront to Vercel, improved documentation on theme-starter, bugs on Bank. Lots of things I work on no one ever notices, but sometimes that’s the most important to work on.
Code is still available at github.com/MatthewStanciu/era-project
I just finished writing BirthdayBot, a wonderful Slack bot that posts a fancy image like this in #lounge when your birthday comes around! 🎉 Want to sign up? Just type /birthday to get started!
BirthdayBot is open source, written in Go :gopher:!
Today I worked a little bit on the nixie clock firmware!
I added the thermometer mode (as the DS3231 as a temperature sensor), the handling of the mode button to cycle through the different modes, the cathode poisoning prevention algorithm and I changed a little bit how modes are registered to fix a bug in the cycle mode algorithm as std::map orders alphabetically with string keys so I replaced it with a std::vector so I can keep the original order.
The code below is the code of the thermometer mode, there's two display modes (if there's more than 4 nixie tubes) which just defines if the comma is on the same nixie tube as the last integer digit of the temperature.
Here's the commit if someone is interested: github.com/LambdAurora/nixie_clock/commit/1ca878372e1efada336288ecba3bab174d6ae272
I made a Python program with Selenium that bulk uploads videos to a CMS that a nonprofit I’m working with uses. I’m pretty proud of myself since this is the first project I’ve started and seen all the way through. If you want to check it out, the code is here: github.com/jasonappah/subsplashuploader
Hey there!!! Hope you are safe at 🏠 During the lockdown I built a BOT :bmo: for Instagram using Python and Selenium which can automate and perform some tasks; makes your task easier. The Bot can show the list of un-followers from you Instagram or it can show your fans and also it can cancel all the pending follow requests which you have already sent before or it can aslo unfollow those who don't follow you back.
Do check out: github.com/swaaz/InstaBot
I've finally finished transferring my blog to github and deploying it! I have yet to come up with a halfway decent name for it, hence the temporary title of "Random Blog" and the url. I'm open to suggestions if y'all have any.