BenjaminSmith

BenjaminSmith

7+ day streak
Web extension development
https://cloud-b19dtdo13-hack-club-bot.vercel.app/0image.png
Interactive skin binding tool
https://cloud-4j0ol6kyt-hack-club-bot.vercel.app/0image.png
More parser combinators
https://cloud-dew1scyx6-hack-club-bot.vercel.app/0image.png
Messing around with parser combinators again
https://cloud-m92bscvhb-hack-club-bot.vercel.app/0image.png
Yay opengraph card
https://cloud-6ch1e68b2-hack-club-bot.vercel.app/0image.png
The Pudding has given me so much design inspiration for this project
https://cloud-3bprqr24r-hack-club-bot.vercel.app/0image.png
Building good tooling/tiny framework things for my own projects is so satisfying (see the footnote component)
https://cloud-o6na9nw5n-hack-club-bot.vercel.app/0image.png
Framer Motion and react-scrollama
Implementing scrolling stuff with react-scrollama and niue :niueparrot:
https://cloud-otkldajff-hack-club-bot.vercel.app/0image.png
Tooltip! Really happy with its design
https://cloud-qut3ci2rn-hack-club-bot.vercel.app/0image.png
Learning Theme UI!
https://cloud-dgnefp8ok-hack-club-bot.vercel.app/0image.png
Learning D3.js with Natto and the Observable tutorial (not actually using observable though, natto's better)
https://cloud-7gx19oxkq-hack-club-bot.vercel.app/0image.png
ES modules :no-thoughts-head-empty:
https://cloud-38qoho1aj-hack-club-bot.vercel.app/0image.png
First walk cycle :maya:
I am in pain
https://cloud-8vgc7au24-hack-club-bot.vercel.app/0image.png
https://cloud-bao6wvf2r-hack-club-bot.vercel.app/0college_emails_2x.png
Learning more animation
https://cloud-l360zgmar-hack-club-bot.vercel.app/0screenshot_from_2022-05-21_19-12-08.png
https://cloud-foub9brxa-hack-club-bot.vercel.app/0image.png
Data
https://cloud-66v2wmuiz-hack-club-bot.vercel.app/0image.png
Working on a neat image carousel thing in React!
https://cloud-9nyw1veom-hack-club-bot.vercel.app/0image.pnghttps://cloud-f10alnukm-hack-club-bot.vercel.app/0image.png
Made ramen 🍜
https://cloud-irp400s5x-hack-club-bot.vercel.app/0pxl_20220504_191018804.jpg
It is finally done!
If you haven't tried Zotero yet, go download it and try it - it's completely changed how I research
https://cloud-7jb0ehcpd-hack-club-bot.vercel.app/0image.png
:orpheus:
https://cloud-qwrm13v6m-hack-club-bot.vercel.app/0pxl_20220416_194518349.jpg
Tried making Ruz Hashweh from a Palestinian cookbook I found, it is very good
https://cloud-dbm8cppho-hack-club-bot.vercel.app/0pxl_20220409_195258568.jpg
Cool image thing in :gopher:
https://cloud-a8h5egu82-hack-club-bot.vercel.app/0image.png
:screaming-cat:
https://cloud-hxoe9uumz-hack-club-bot.vercel.app/0image.png
Learning :gopher: to contribute to devzat
https://cloud-hgml6uc2d-hack-club-bot.vercel.app/0image.png
:maya: (slowly getting better at 3d modelling/animation)
https://cloud-ffytcfxxz-hack-club.vercel.app/0image.png
gamelab
-
aaaaaaaaaa
https://cloud-11e21z2z1-hack-club-bot.vercel.app/0image.png
3 D T Y P E
https://cloud-o9uod2554-hack-club-bot.vercel.app/0image.png
:w3c:
https://cloud-d1ji4sxxh-hack-club-bot.vercel.app/0image.png
Finally got the drawer animation working, it is so fun to play with
Horribly broken state machine time :no-thoughts-fest:
https://cloud-mytdo491f-hack-club-bot.vercel.app/0image.png
Sorry bandcamp
https://cloud-3zevxacoj-hack-club-bot.vercel.app/0image.png
not quite
For some reason I decided to add Babel transform error handling to Reflection editor - now, when Babel throws an error in the service worker, the worker returns a fake React component that throws an error client-side so it can be caught by the error boundary (also wrote a tic tac toe game with it)
https://cloud-rk7xwh35m-hack-club-bot.vercel.app/0image.pnghttps://cloud-5x8chvf0u-hack-club-bot.vercel.app/0image.pnghttps://cloud-8n5jcda5h-hack-club-bot.vercel.app/0image.png
Manual image manipulation and gibberish code
https://cloud-328it2cku-hack-club-bot.vercel.app/0image.png
Starting to think I'm going to need a "hide tags" button
Writing my own JS module system is more difficult than I thought (also wow I've really gotten sidetracked, this started by trying to make Vite build my project faster)
https://cloud-j8o96h6ct-hack-club-bot.vercel.app/0image.png
https://cloud-g8bezasz4-hack-club-bot.vercel.app/0image.png
I love framer motion it is so so cool
https://cloud-fnx690ukl-hack-club-bot.vercel.app/0pxl_20220218_040714371.jpghttps://cloud-nwyepmrgi-hack-club-bot.vercel.app/0pxl_20220218_040828107.jpg
https://cloud-474l2xjaz-hack-club-bot.vercel.app/0screenshot_20220216-095508.png
:eyes_shaking:
https://cloud-419snlts9-hack-club-bot.vercel.app/0image.png
https://cloud-7fpl632fa-hack-club-bot.vercel.app/0image.png
Speedran the Hacker Challenge on hard mode, got 2:38:26
https://cloud-ldumnqpmh-hack-club-bot.vercel.app/0image.png
Speedran the Hacker Challenge on hard mode, got 2:38:26
https://cloud-97v1yfo46-hack-club-bot.vercel.app/0image.png
Speedran the Hacker Challenge on hard mode, got 2:38:26
https://cloud-ealw8cjv6-hack-club-bot.vercel.app/0image.png
Hacking at the #gamelab-dev editor!
https://cloud-c4g6gfoa9-hack-club-bot.vercel.app/0image.png
#boston-for-deer
https://cloud-lietwcp4j-hack-club-bot.vercel.app/0image.png
Xonsh scripts: a bit cursed but so much better than writing a bash script
https://cloud-g7o8hidic-hack-club-bot.vercel.app/0image.png
My PR to kbar was merged!
https://cloud-lyvntycwy-hack-club-bot.vercel.app/0image.png
Comlink :nooo:
https://cloud-pd12c9zbu-hack-club-bot.vercel.app/0image.pnghttps://cloud-6p7biruy4-hack-club-bot.vercel.app/0image.pnghttps://cloud-8oadyatu2-hack-club-bot.vercel.app/0image.png
https://cloud-n4ifgiva1-hack-club-bot.vercel.app/0image.png
Working on reflection editor using itself
https://cloud-fq8am2vt3-hack-club-bot.vercel.app/0image.png
For #codejelly I made reflection editor, a self-hosting web code editor. This means that it edits its own code, and runs everything entirely in the browser using service workers and IndexedDB! Try it out here (only works in Chromium): :twglobewith_meridians: : reflection-editor.netlify.app :github: : github.com/Merlin04/reflection
Monaco works now! It's surreal to be able to edit this thing's own code from itself
https://cloud-23qfaugd5-hack-club-bot.vercel.app/0image.png
More codejelly project work - I can now edit the editor from itself and load pages from indexeddb with a service worker!
Starting the #codejelly project
https://cloud-8osymrntf-hack-club-bot.vercel.app/0image.png
Made a nice interface for a script I'll probably only ever run once
https://cloud-p1up1vnin-hack-club-bot.vercel.app/0image.png
Messing around with parser combinators in javascript
https://cloud-don7jivzk-hack-club-bot.vercel.app/0image.png
A thing I am working on
https://cloud-r6age2evi-hack-club-bot.vercel.app/0image.png
Designed and 3d printed a new knob for my mom's salt rock lamp that's easier to grip onto! (old knob in the background, it's completely smooth which is an awful design)
https://cloud-92lklw295-hack-club-bot.vercel.app/0pxl_20211112_011858165.jpg
I made some cool wallpapers in Photoshop in photography class today
https://cloud-80srl6g4m-hack-club-bot.vercel.app/0grad3.pnghttps://cloud-mmlf0z36u-hack-club-bot.vercel.app/0art1.pnghttps://cloud-n8q6sk4wu-hack-club-bot.vercel.app/0grad2.pnghttps://cloud-2kroxq18v-hack-club-bot.vercel.app/0grad4.pnghttps://cloud-2jp1xm8dr-hack-club-bot.vercel.app/0grad1.png
Some pattern matching stuff in TypeScript for a logic proof builder
https://cloud-3s8hp7y43-hack-club-bot.vercel.app/0image.png
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