Skip to content

Commit

Permalink
Fill out remaining projects
Browse files Browse the repository at this point in the history
And style the technologies like tags
  • Loading branch information
banga committed Dec 30, 2023
1 parent 2bd2315 commit 1a6051e
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 22 deletions.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@
"cSpell.words": [
"Airtable",
"Automations",
"codebases",
"codemod",
"consts",
"Quora",
"refactorings",
"regexes",
"résumé",
"Roorkee",
"triaging"
Expand Down
94 changes: 73 additions & 21 deletions src/pages/ProjectsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ function ProjectDetails({
technologies: string[];
}) {
return (
<div className="flex-row gap-half">
<div className="flex-row gap-half lowercase">
{technologies.map((name, i) => (
<code key={i}>{name}</code>
<code className="button" key={i}>
{name}
</code>
))}
{stars > 1000 && (
<div className="font-x-small dim">
Expand All @@ -52,14 +54,14 @@ function Project({
url,
date,
stars = 0,
technologies = [],
technologies,
children,
}: {
name: string;
date: string;
stars?: number;
url?: string;
technologies?: string[];
technologies: string[];
children?: ReactNode;
}) {
return (
Expand Down Expand Up @@ -99,7 +101,7 @@ export function ProjectsPage() {
date="2021"
stars={2496}
url="https://github.com/banga/git-split-diffs"
technologies={["typescript", "node"]}
technologies={["TypeScript", "node"]}
>
A tool to display git diffs with syntax highlighting in a
side-by-side view:
Expand All @@ -117,7 +119,7 @@ export function ProjectsPage() {
url="https://github.com/b-ryan/powerline-shell"
date="2013"
stars={6200}
technologies={["python", "shell"]}
technologies={["Python", "shell"]}
>
A highly customizable shell prompt:
<Screenshot url="https://raw.githubusercontent.com/banga/powerline-shell/master/bash-powerline-screenshot.png" />
Expand All @@ -141,7 +143,7 @@ export function ProjectsPage() {
name="craytracer"
url="https://github.com/banga/craytracer"
date="2023"
technologies={["rust"]}
technologies={["Rust"]}
>
A hobby raytracer in rust:
<Screenshot url="https://github.com/banga/craytracer/blob/master/images/dragon.png?raw=true" />
Expand All @@ -160,6 +162,7 @@ export function ProjectsPage() {
name="prefactor"
date="2017"
url="https://github.com/banga/prefactor"
technologies={["Python"]}
>
A tool for writing AST-based refactorings for large Python
codebases. While working on Quip's large Python codebase, which
Expand All @@ -174,11 +177,16 @@ export function ProjectsPage() {
It uses the <code>lib2to3</code> library to convert between an
AST and code, which preserves comments and whitespace much
better than the <code>ast</code> module.
<br />
<br />I wrote a similar tool for TypeScript{" "}
<a href="https://github.com/banga/ts-transform/">here</a>, which
I used at Airtable to safely remove some deprecated functions.
</Project>
<Project
name="Gmail multi-account mail checker"
date="TODO"
date="2013"
url="https://github.com/banga/Gmail-Extension--Multiple-Accounts"
technologies={["JavaScript"]}
>
A Chrome extension that expanded on the{" "}
<a href="https://chromewebstore.google.com/detail/google-mail-checker/mihcahmgecmbnbcchbopgniflfhgnkff">
Expand All @@ -193,30 +201,74 @@ export function ProjectsPage() {
</Project>
<Project
name="DownloadAccelerator"
date="TODO"
date="2011"
url="https://github.com/banga/DownloadAccelerator"
/>
<Project
name="Intel 8085A emulator"
date="TODO"
url="https://github.com/banga/Emulator"
/>
technologies={["Android", "Java"]}
>
In the early days of the internet, "download accelerators" were
popular tools to help you speed up downloads of large files.
These worked if the source limited outgoing bandwidth per
connection, but supported{" "}
<a
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests"
target="_blank"
>
Range requests
</a>
. If so, the accelerator would split up the byte range of the
requested file into chunks, establish a connection per chunk and
then combine the chunks when downloaded. I wrote an Android app
that did the same thing. I wrote it partly to learn the
platform, but got a few paying users too.
</Project>
<Project
name="miniJava compiler"
date="TODO"
date="2012"
url="https://github.com/banga/miniJava-compiler"
/>
technologies={["Java"]}
>
A compiler for a subset of Java, for the{" "}
<a href="https://www.cs.unc.edu/~prins/Classes/520/">
COMP 520
</a>{" "}
class at UNC. I had a lot of fun writing this and trying to
maximize the points we got on the assignment by adding more
features like function overloading and making it more reliable
by writing a fuzzer. I was told by the professor that it was one
of the best performing compilers he had seen in this class.
</Project>
<Project
name="shreyb.dev"
date="TODO"
date="2023"
url="https://github.com/banga/banga.github.io"
/>
technologies={["React", "node"]}
>
This very website. I wrote all about it in{" "}
<a href="/blog/2023/12/23/building-this-blog.html">this</a> blog
post, but I essentially wrote my own static site generator that
deploys builds and deploys this site to GitHub pages on every
push.
</Project>
<Project
name="GitHub PR Extension"
date="TODO"
date="2022"
url="https://github.com/banga/github-pr-extension"
/>
technologies={["JavaScript"]}
>
Fills in a gap in the GitHub UI of adding keyboard shortcuts for
navigating between comments on a PR. This was popular internally
at both my previous companies.
</Project>
</div>
<Project
name="Intel 8085A emulator"
date="2022"
url="https://github.com/banga/Emulator"
technologies={["c++", "asm", ".NET"]}
>
Built an emulator for Intel 8085A assembly for a class project in
undergrad.
</Project>
</div>
</Page>
)}
Expand Down
8 changes: 8 additions & 0 deletions static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@
.dim {
color: var(--text-dim-color);
}
.lowercase {
text-transform: lowercase;
}

/* Spacing */
.m0 {
Expand Down Expand Up @@ -201,6 +204,11 @@
border-radius: 50%;
border: 2px solid var(--text-color);
}
.button {
border-radius: 4px;
padding: 0 4px;
background: var(--border-color);
}

body {
font-family: var(--font-family);
Expand Down
5 changes: 4 additions & 1 deletion todo.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
- [x] Add skeleton
- [ ] Fill out projects
- [ ] Link from home page and résumé
- [ ] Convenince to insert relative links reliably and - detect broken links
- [ ] Link management
- [ ] Add relative links reliably
- [ ] Detect broken links
- [ ] External links with the proper attributes
- [ ] Add og images for home and blog feed pages
- [x] Add robots.txt
- [x] Add resume
Expand Down

0 comments on commit 1a6051e

Please sign in to comment.