awwsmm / awwsmm.com Goto Github PK
View Code? Open in Web Editor NEWPersonal website
Home Page: https://www.awwsmm.com
Personal website
Home Page: https://www.awwsmm.com
Link to
...at least on the home page. Maybe also on blog and project pages, in the header.
Right now, they take raw objects and are a bit messy
Across all project pages, every commit group after the most recent one has a duplicated first commit
GitHub REST API rate limit is 5000 requests / hour when authenticated with a Personal Access Token
Vercel has 19 edge cache regions
https://vercel.com/docs/concepts/edge-network/regions
I am sending requests to GitHub for 4 repositories
awwsmm.com, BrainScript, ConwayScalaJS, DuckJump
So, in order to not exceed the 5000 requests / hour rate limit, the Vercel edge network caching time needs to be large enough such that 4 repositories * 19 edge cache regions * x requests per hour does not exceed 5000.
(5000 requests / hour) / (4 repositories) / (19 edge cache regions) = 65.789 refreshes / hour max
This means the refresh time should be at least (3600 seconds / hour) / (65.789 refreshes / hour) = 54.72 seconds
...which means the commit history on my website will be up-to-date about one minute after any repo has been updated.
This is maybe a bit unnecessary. We could afford to wait longer to give more of a buffer. So overall, we want something like
const github_rate_limit = 5000 // requests / hour
const vercel_regions = 19 // edge cache regions
const n_repos = 4 // awwsmm.com, BrainScript, ConwayScalaJS, DuckJump
const wiggle_multiplier = 5 // allow cache updates to take up to ~5 mins
const refresh_time = 3600.0 / (github_rate_limit / n_repos / vercel_regions) * wiggle_multiplier
This should eliminate the need for any kind of caching of project git histories, and it should mean that git histories are always up to date with master
https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props
https://github.com/Bunlong/next-share
...then add the button to my website
Link to https://conway.awwsmm.com/ on https://www.awwsmm.com/projects/ConwayScalaJS
Create a project page for https://github.com/awwsmm/DuckJump and add https://duck.awwsmm.com/ to it
...but make them expandable.
generateSiteMap currently includes only blog pages, it should include project pages as well
replace the Vercel favicon with my 'a' favicon
cookies.awwsmm.com
conway.awwsmm.com
etc.
Pick some of my better blog posts from Dev and bring them over here
to LinkedIn, Reddit, Mastodon, and wherever else.
Marking as p2 because I should be sharing my own posts to LinkedIn, at least.
Following the instructions here https://docs.joinmastodon.org/user/profile/#verification
and automatically remove unused ones
There are multiple CSS files and it's not clear what belongs where. Pull everything into one file for ease of maintenance and uniform styling across the site.
projects might be updated more recently than this website, and we want their histories to be up-to-date
So that they can be linked to
Right now, it takes a few seconds to render, because it's hitting GitHub's API for all of the commit history
hopefully speeding up awwsmm.com projects page
I've already tried
getServerSideProps
so it returns a Promise
...but the initial render still takes a few seconds on Vercel.
I wonder if
Loading...
overlay until the page is ready to display, or ifLots of things to look into... but my brain is tired of trying to fix this for now.
and remove TODO comments
No matter how many times I reload
https://www.awwsmm.com/blog/elegant-multi-line-shell-strings
the styling on the code block always "pops" in, about 500ms after the page loads. It would be nice if the HTML and CSS could be loaded / rendered at the same time.
Disqus also gives basic analytics, "share" buttons, etc.
So people can be directed to awwsmm.com/blog, etc.
Right now, this goes to a 404 page
Every page that isn't the home page should have a 'back' arrow which moves toward the home page
import fs
and import path
should only appear in FileUtils
rather than having all styling in one big file, we should have per-component styling files
Would be cool to have a little 1-to-5 line description of each project above the commit history
fix code formatting
also add dynamic routes for tag pages
like: https://bionicjulia.com/blog/creating-dynamic-tag-page-nextjs-nested-routes
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.