BenjaminSmith

BenjaminSmith

0-day streak
Are you ok snowpack
https://cloud-nyzjmiru7-hack-club-bot.vercel.app/0image.png
Who needs variables when you have functions that can return a value
https://cloud-i5lm92bfi-hack-club-bot.vercel.app/0image.png
The parser works, I can now run code from source!
https://cloud-mlbdgffdu-hack-club-bot.vercel.app/0image.png
Making a parser with Ohm
https://cloud-au0ci4079-hack-club-bot.vercel.app/0image.png
I wrote type definitions for an AST for the weird type language I was discussing in #benjamin- and a working interpreter for programs written in that AST; I tried making a parser for source code but it doesn't work, I'll try to fix it tomorrow. Code is available at github.com/Merlin04/experimental-type-lang
https://cloud-i2c6owznu-hack-club-bot.vercel.app/0image.png
I got codex access!
https://cloud-m0hwgp6nj-hack-club-bot.vercel.app/0image.png
Working on a new keyboard PCB
https://cloud-4z02mci4s-hack-club-bot.vercel.app/0image.png
Fixed the filesystem, had to run testdisk to recover the partition table then run fsck to fix the actual filesystem, then I could mount it. Still need to figure out how to write it back to the sd card (I've been working from a local image)
https://cloud-joi6xodot-hack-club-bot.vercel.app/0image.png
File system recovery :peefest:
https://cloud-b84cjl7t9-hack-club-bot.vercel.app/0image.png
Switched to xonsh, who needs POSIX compliance anyway
https://cloud-ishlmpser-hack-club-bot.vercel.app/0image.png
I made a short demo video for Kobra
Working on rewriting that Australian Government API in TypeScript and Express so @sampoder can run it on Vercel
https://cloud-adiw1oc62-hack-club-bot.vercel.app/0image.png
I wrote some code to bypass the TypeScript recursion limit by undoing the recursion (replacing the place where it references itself with a copy of itself) for a specified number of levels. It produces really long type definitions but it is functional. I'll try to make a webapp for it then I'll #ship it
Why does the typescript AST have to be so confusing
https://cloud-y0y4s22g7-hack-club-bot.vercel.app/0image.png
:typescript:
https://cloud-f6dfk0zjb-hack-club-bot.vercel.app/0image.png
Setting up MediaWiki to mirror ArchWiki on #zephyrnet
https://cloud-pvwf6mzgh-hack-club-bot.vercel.app/0image.png
I tried to replace my laptop battery but the replacement I got from iFixit was 0.5mm too tall and when I screwed it in it blocked the trackpad from going down far enough to click
Working on programming my new trackball (ploopy.co)
https://cloud-frwjjjsjz-hack-club-bot.vercel.app/0image.png
https://cloud-5euks9sh6-hack-club-bot.vercel.app/0image.png
https://cloud-nntup4ss3-hack-club-bot.vercel.app/0pxl_20210703_031009530.jpg
I went to Vetco electronics today
https://cloud-rafvpl29x-hack-club-bot.vercel.app/0pxl_20210702_001133615.jpg
Woah
https://cloud-2v454la4s-hack-club-bot.vercel.app/0image.png
Time to try out Copilot!
https://cloud-qfygxh9s1-hack-club-bot.vercel.app/0screenshot_20210630-170123.png
Thanks mailgun
https://cloud-16b4nwxy9-hack-club-bot.vercel.app/0image.png
Apollo client cache can be really annoying sometimes, I had to implement my own logic for when to get things from the server and from the cache to get this to work
https://cloud-qok8v8098-hack-club-bot.vercel.app/0image.png
Next.js 11!
Here's my windirstat screenshot (it's actually baobab, a similar program for linux)
https://cloud-ltektbpas-hack-club-bot.vercel.app/0image.png
Virtualization is really cool, my spreadsheet component can handle 1000000 cells just fine
Wrote a quick react component to make using a bunch of context providers easier
https://cloud-4boomjstv-hack-club-bot.vercel.app/0image.png
We reached 50 stars!
https://cloud-fticc4lby-hack-club-bot.vercel.app/0image.png
https://cloud-d5lsomdx7-hack-club-bot.vercel.app/0image.png
Made a mostly-accurate clone of the generic SSD1306 breakout board in KiCad
https://cloud-lc3h023f2-hack-club-bot.vercel.app/0image.png
Why
Replit Ventures kickoff, I really need to get a webcam
https://cloud-2snc364vo-hack-club-bot.vercel.app/0image.png
https://cloud-hm359pgvo-hack-club-bot.vercel.app/0image.png
The apollo client cache can be annoying sometimes, this is the cache update code for a mutation
https://cloud-5unan9sdz-hack-club-bot.vercel.app/0image.png
I soldered a QFP chip for the first time, once I figured out what the proper technique was it wasn't too hard
https://cloud-ntpj7bu9i-hack-club-bot.vercel.app/0pxl_20210313_232436310.jpg
Installed CapRover and set up a PostgreSQL database
https://cloud-k8exce588-hack-club-bot.vercel.app/0image.png
Added a light bar to my 3d printer
https://cloud-o6x135n18-hack-club-bot.vercel.app/0pxl_20210309_030717405.jpg
Prisma is amazing, now I don't have to have my database models in three different places, all slightly different
https://cloud-ko2m6kfx7-hack-club-bot.vercel.app/0screenshot_20210306-141620.png
Needed a brim for a 3d printed thing to work but the brim configuration options weren't flexible enough so used a bunch of weird settings for support material instead
https://cloud-kfgby2azy-hack-club-bot.vercel.app/0image.png
I 3D printed my GitHub Skyline! (forgot to enable private repositories in my contribution graph so this is slightly inaccurate, oh well)
https://cloud-fb1344vbo-hack-club-bot.vercel.app/0pxl_20210225_045238703.jpg
Added my website to the webring! I wrote a react component with Next.js server side data fetching instead of using the premade JS so there is no JS needed to run the component on the browser
https://cloud-pf6a5psed-hack-club-bot.vercel.app/0screenshot_20210223-213805.png
Couldn't get 3d acceleration working in QEMU/MacOS so switched to Windows in Virtualbox
https://cloud-k41uwm6tn.vercel.app/0image.png
Fusion 360 through Wine/Lutris didn't work so I'm installing it in a MacOS VM
https://cloud-mel3mv91o.vercel.app/0image.png
The new Arduino Pro IDE is really nice, way better than the old java based thing
https://cloud-pl4nw1pzo.vercel.app/0image.png
Got feedback from people in #design about how I am displaying images in cards
https://cloud-q34wwmjg5.vercel.app/0image.png
https://cloud-kx8dx3tfy.vercel.app/0image.png
https://cloud-fidp5niii.vercel.app/0pxl_20210118_040241412.jpg
Did some more work on my GitHub profile thing
https://cloud-e39yanoqv.vercel.app/0screenshot_20210116-225017.png
Worked on a GitHub Action to update my profile readme from data in Contentful, layout is a bit weird right now
https://cloud-gratozbxi.vercel.app/0image.png
I have been playing Ben Awad's new game stripcode.dev, at one point I was able to get to first place but now I am at second (and probably will continue to slide down because I am not constantly playing it)
https://cloud-p52nmvmoe.vercel.app/0screenshot_20210115-105450.png
I spent the day working on homework so no time for coding
https://cloud-gg1x6vadj.vercel.app/0screenshot_20210114-224422.png
I was able to get some electronics parts from DFRobot for free with a $5 coupon for completing a survey and a $10 shipping coupon for my first order
https://cloud-n6d77z80n.vercel.app/0image.png
Couldn't do much coding today but I helped a friend with getting jquery and fomantic ui running in a codesandbox
https://cloud-n0p2qsu31.vercel.app/0image.png
I used useImperativeHandle for the first time today
https://cloud-17gxn6zaf.vercel.app/0image.png
Almost forgot to put something here today, I worked on getting Auth0 to work in a Next app
https://cloud-481rjqvam.vercel.app/0screenshot_20210110-224157.png
I designed a microcontroller board (ATtiny1614) with a bunch of other things (button, Qwiic connector, LEDs, capacitive touch controller) shaped like the hack club logo
https://cloud-8l6yqrjm8.vercel.app/0top.png
Worked on a PCB today but don't have a picture so here's my cat
https://cloud-bk73t810x.vercel.app/0pxl_20210109_023919781.jpg
My package.json scripts section keeps getting longer and longer
https://cloud-jnryu240j.vercel.app/0image.png
Tried to get Fusion 360 running on Linux but failed, if anyone has a working method please let me know
https://cloud-12sik7m6w.vercel.app/0image.png
Successfully upgraded my SSD! It turns out that my original SSD wasn't corrupted, it was just the drive enclosure, and getting a better one (with a cooling fan) fixed the issue
https://cloud-m6mmfbumn.vercel.app/0image.png
Setup GitPod so I can keep working on my website from my school issued laptop while I wait for a new NVME to USB adapter. I don't have a screenshot of the actual ui so here's my config file
https://cloud-8l7xgekmo.vercel.app/0screenshot_20210104-220256.png
Upgrading my laptop's SSD to a 1TB one (no idea why it is so slow, they are both NVME)
https://cloud-lnfyfvlj1.vercel.app/0pxl_20210104_001405407.jpg
Had to modify my masonry component to use client side JS because I couldn't find a cross platform CSS solution
https://cloud-cjrwwktxd.vercel.app/0image.png
It turns out that the method I used for the masonry layout on my website (making the container with the items a flexbox with flex-direction set to column, and adding break-after: page to the places where I want to start new columns) only works on Firefox, so I spent the entire day trying to figure out alternatives. The first one I found is to set the writing mode of the container so text (and span elements) flows vertically, and then reset the properties for the children elements. The second one is to rotate everything 90 degrees so the rows are actually columns, and then rotate each item -90 degrees to be in the normal orientation. I'm not sure which of these is better, I am leaning towards the writing-mode one because I would guess that css transform takes longer. I put together a test site using these at css-columns-force-break.glitch.me, I'll try to do more testing with it tomorrow
https://cloud-cbegrufvu.vercel.app/0image.png
Also here's my GitHub commit graph for the year, it becomes a lot more dense when I started learning React and working on more projects
https://cloud-2v73f2w7d.vercel.app/0image.png
Merged all the graphql queries for the index page into one query because there is no point in having them separate, and started working on more types of information to display
https://cloud-8yq2zlqyo.vercel.app/0image.png
Improved the project pages, switched to using getStaticProps and getStaticPaths for them, and set up Vercel (see a prototype of my website at benjaminsmith.vercel.app, content not final yet)
https://cloud-khuz5jva2.vercel.app/0image.png
I finished getting typescript to work well with GraphQL, added separate pages for projects, a nice 404 page, and a loading screen while Next.js is loading the next page
https://cloud-8wp7w1n5d.vercel.app/0image.png
I am using Contentful as my website's headless CMS and its GraphQL API marks all properties as optional even if you have set it to required on the web interface, so to use the TypeScript code generated by graphql-code-generator you need to do a lot of null checks. This is for a good reason but I'd rather have that edge case to deal with than have to write a bunch of checks, so I wrote a CLI tool to get the GraphQL schema, modify it so that the types match the data from the Contentful management API, and write it to a file that the codegen tool can use
https://cloud-nz1l0g1yo.vercel.app/0image.png