mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-07-22 19:11:18 -04:00
fix weird character encoding (no clue how non-breaking spaces ended up everywhere)
This commit is contained in:
@@ -69,11 +69,11 @@ BERN is taking this to an unprecedented level. Allowing anybody on the internet
|
||||
[BERN discussion on /r/SandersForPresident thread](https://www.reddit.com/r/SandersForPresident/comments/bi15la/new_get_the_official_bernie_sanders_2020_app_bern/elxi85m/)
|
||||
{{< /image >}}
|
||||
|
||||
In addition to the points system, it was revealed in the webinar mentioned above that the campaign is planning on giving out shiny rewards based on how many friends one adds, setting expectations at 50+ contacts to reach the "Bernie Super Bundler" tier — whatever that means.
|
||||
In addition to the points system, it was revealed in the webinar mentioned above that the campaign is planning on giving out shiny rewards based on how many friends one adds, setting expectations at 50+ contacts to reach the "Bernie Super Bundler" tier — whatever that means.
|
||||
|
||||
{{< image src="images/webinar-slide-1.png" width="700" alt="Webinar Slide 1" />}}
|
||||
|
||||
In the middle of the webinar, the organizer also paused the presentation for _fifteen minutes_ — complete with a countdown clock — and told volunteers to race to add as many of their friends as possible in that time. She announced afterwards that participants added 20 to 40 friends into the app on average, with some allegedly adding close to 100 in fifteen minutes.
|
||||
In the middle of the webinar, the organizer also paused the presentation for _fifteen minutes_ — complete with a countdown clock — and told volunteers to race to add as many of their friends as possible in that time. She announced afterwards that participants added 20 to 40 friends into the app on average, with some allegedly adding close to 100 in fifteen minutes.
|
||||
|
||||
{{< image src="images/webinar-slide-2.png" width="700" alt="Webinar Slide 2" />}}
|
||||
|
||||
|
@@ -23,7 +23,7 @@ My [full dotfiles are posted at this Git repository](https://github.com/jakejarv
|
||||
|
||||
---
|
||||
|
||||
Check your current IP address (IPv4 or IPv6 or both) — uses [my ⚡ fast simpip server!](https://github.com/jakejarvis/simpip)
|
||||
Check your current IP address (IPv4 or IPv6 or both) — uses [my ⚡ fast simpip server!](https://github.com/jakejarvis/simpip)
|
||||
|
||||
```bash
|
||||
alias ip4="curl -4 simpip.com --max-time 1 --proto-default https --silent"
|
||||
|
@@ -29,11 +29,11 @@ draft: false
|
||||
{{- end -}}
|
||||
{{</ octocat.inline >}}
|
||||
|
||||
We're all quickly learning that worldwide pandemics can bring out both [the best](https://www.vox.com/culture/2020/3/13/21179293/coronavirus-italy-covid19-music-balconies-sing) and [the worst](https://twitter.com/9NewsAUS/status/1236088663093608448) of humanity. But one thing has become readily apparent to me — outside of the large teams of medical professionals risking their lives right this minute, the open source community stands alone in its ability to rapidly organize in the midst of chaos to give back to the world and, in this case, make it safer for all of us.
|
||||
We're all quickly learning that worldwide pandemics can bring out both [the best](https://www.vox.com/culture/2020/3/13/21179293/coronavirus-italy-covid19-music-balconies-sing) and [the worst](https://twitter.com/9NewsAUS/status/1236088663093608448) of humanity. But one thing has become readily apparent to me — outside of the large teams of medical professionals risking their lives right this minute, the open source community stands alone in its ability to rapidly organize in the midst of chaos to give back to the world and, in this case, make it safer for all of us.
|
||||
|
||||
These are just a few incredible open source projects that didn't exist a few months ago, but rapidly formed teams of dozens of contributors to fill both big needs and small niches in the fight to defeat the novel coronavirus, aka [**COVID-19**](https://www.cdc.gov/coronavirus/2019-nCoV/index.html).
|
||||
|
||||
## [The COVID Tracking Project](https://covidtracking.com/) {{% octocat.inline "https://github.com/COVID19Tracking/website" /%}}
|
||||
## [The COVID Tracking Project](https://covidtracking.com/) {{% octocat.inline "https://github.com/COVID19Tracking/website" /%}}
|
||||
|
||||
Now that Americans are _finally_ starting to get tested for the coronavirus, information and statistics about the results are being released state-by-state, which has led to a scattering of primary sources across the web, each releasing [different figures in different forms](https://docs.google.com/document/d/1OyN6_1UeDePwPwKi6UKZB8GwNC7-kSf1-BO2af8kqVA/edit). The [COVID Tracking Project](https://covidtracking.com/) collects as much information as possible from each local health authority's website and puts everything together in [easy-to-digest tables](https://covidtracking.com/data/), as well as [spreadsheets](https://docs.google.com/spreadsheets/u/2/d/e/2PACX-1vRwAqp96T9sYYq2-i7Tj0pvTf6XVHjDSMIKBdZHXiCGGdNC0ypEU9NbngS8mxea55JuCFuua1MUeOj5/pubhtml) and a [public API](https://covidtracking.com/api/).
|
||||
|
||||
@@ -45,7 +45,7 @@ The maintainers are also [fully transparent](https://covidtracking.com/about-tra
|
||||
|
||||
This one might be my favorite, simply because of its laser-like focus on solving a very specific (yet catastrophic) problem. The United States is [already running out](https://www.nytimes.com/2020/03/19/health/coronavirus-masks-shortage.html) of [personal protective equipment (PPE)](https://www.fda.gov/medical-devices/general-hospital-devices-and-supplies/personal-protective-equipment-infection-control) for the healthcare professionals on the front lines of this crisis. [#findthemasks.com](https://findthemasks.com/) has gathered specific donation requests and points of contact from hospitals around the country in desperate need of basic supplies.
|
||||
|
||||
_Please_ look up your local hospitals on [#findthemasks](https://findthemasks.com/#sites) and follow their instructions to donate anything you have hoarded — it's likely the single most impactful thing you can do at this point. If you don't see your local hospital, or don't feel comfortable shipping equipment to any hospital listed, you can also visit [PPE Link](https://ppelink.org/ppe-donations/) and they will connect you with hospitals in your area.
|
||||
_Please_ look up your local hospitals on [#findthemasks](https://findthemasks.com/#sites) and follow their instructions to donate anything you have hoarded — it's likely the single most impactful thing you can do at this point. If you don't see your local hospital, or don't feel comfortable shipping equipment to any hospital listed, you can also visit [PPE Link](https://ppelink.org/ppe-donations/) and they will connect you with hospitals in your area.
|
||||
|
||||
{{< image src="images/findthemasks.png" width="600" alt="#findthemasks" link="https://findthemasks.com/" />}}
|
||||
|
||||
@@ -53,13 +53,13 @@ _Please_ look up your local hospitals on [#findthemasks](https://findthemasks.co
|
||||
|
||||
I figured I'd throw in this cheeky website broadcasting a simple but serious message: **STAY THE FUCK HOME!!!** If you're _still_ not convinced of the importance of this "suggestion," give their ["Self-Quarantine Manifesto"](https://staythefuckhome.com/) a quick read. Now.
|
||||
|
||||
The [GitHub community](https://github.com/flore2003/staythefuckhome/pulls?q=is%3Apr) has translated the instructional essay into over a dozen different languages — including a [safe-for-work version](https://staythefuckhome.com/sfw/), if that helps — and they're [looking for more translators](https://github.com/flore2003/staythefuckhome#contributing) if you're multilingual and need something besides Netflix to fill your time with while you **_stay the fuck home!_** 😉
|
||||
The [GitHub community](https://github.com/flore2003/staythefuckhome/pulls?q=is%3Apr) has translated the instructional essay into over a dozen different languages — including a [safe-for-work version](https://staythefuckhome.com/sfw/), if that helps — and they're [looking for more translators](https://github.com/flore2003/staythefuckhome#contributing) if you're multilingual and need something besides Netflix to fill your time with while you **_stay the fuck home!_** 😉
|
||||
|
||||
{{< image src="images/staythefuckhome.png" width="600" alt="#StayTheFuckHome" link="https://staythefuckhome.com/" />}}
|
||||
|
||||
## [COVID-19 Dashboards](https://covid19dashboards.com/) {{% octocat.inline "https://github.com/github/covid19-dashboard" /%}}
|
||||
|
||||
This collection of various visualizations is fascinating (and sobering) to look at. If you're smarter than I am and have experience in data analysis, their team (led by a [GitHub engineer](https://github.com/hamelsmu)) would be more than happy to [add your contribution](https://github.com/github/covid19-dashboard/blob/master/CONTRIBUTING.md) to the site — they're using [Jupyter Notebooks](https://jupyter.org/) and [fastpages](https://github.com/fastai/fastpages).
|
||||
This collection of various visualizations is fascinating (and sobering) to look at. If you're smarter than I am and have experience in data analysis, their team (led by a [GitHub engineer](https://github.com/hamelsmu)) would be more than happy to [add your contribution](https://github.com/github/covid19-dashboard/blob/master/CONTRIBUTING.md) to the site — they're using [Jupyter Notebooks](https://jupyter.org/) and [fastpages](https://github.com/fastai/fastpages).
|
||||
|
||||
{{< image src="images/covid19dashboards.png" width="580" alt="COVID-19 Dashboards" link="https://covid19dashboards.com/" />}}
|
||||
|
||||
@@ -77,7 +77,7 @@ A bit more family-friendly than [#StayTheFuckHome](https://staythefuckhome.com/)
|
||||
|
||||
## [Nextstrain for nCoV](https://nextstrain.org/ncov) {{% octocat.inline "https://github.com/nextstrain/ncov" /%}}
|
||||
|
||||
This one is a bit over my head, but apparently [Nextstrain](https://nextstrain.org/) is a pretty impressive open-source service targeted at genome data analysis and visualization of different pathogens. Their [COVID-19 page](https://nextstrain.org/ncov) is still awe-inspiring to look at for a layman like me, but probably a thousand times more so if you're an actual scientist — in which case, the [genome data they've open-sourced](https://github.com/nextstrain/ncov) might be of interest to you.
|
||||
This one is a bit over my head, but apparently [Nextstrain](https://nextstrain.org/) is a pretty impressive open-source service targeted at genome data analysis and visualization of different pathogens. Their [COVID-19 page](https://nextstrain.org/ncov) is still awe-inspiring to look at for a layman like me, but probably a thousand times more so if you're an actual scientist — in which case, the [genome data they've open-sourced](https://github.com/nextstrain/ncov) might be of interest to you.
|
||||
|
||||
{{< image src="images/nextstrain.png" alt="Nextstrain for nCOV" link="https://nextstrain.org/ncov" />}}
|
||||
|
||||
@@ -103,9 +103,9 @@ Similar to the [COVID Tracking Project](https://covidtracking.com/) above, the [
|
||||
|
||||
## [Folding@home](https://foldingathome.org/covid19/) {{% octocat.inline "https://github.com/FoldingAtHome/coronavirus" /%}}
|
||||
|
||||
[Folding@home](https://foldingathome.org/) has been around [_forever_](https://en.wikipedia.org/wiki/Folding@home). I remember installing it on my family's home computer as a curious kid and making my father infuriated over how slow it got. But they [switched gears this month](https://foldingathome.org/2020/03/15/coronavirus-what-were-doing-and-how-you-can-help-in-simple-terms/) from using our computers to crunch various proteins and molecules in the background, and all of their power is now going towards discovering unknown "folds" in the coronavirus, which might be able to lead scientists to find better cures and potential vaccines.
|
||||
[Folding@home](https://foldingathome.org/) has been around [_forever_](https://en.wikipedia.org/wiki/Folding@home). I remember installing it on my family's home computer as a curious kid and making my father infuriated over how slow it got. But they [switched gears this month](https://foldingathome.org/2020/03/15/coronavirus-what-were-doing-and-how-you-can-help-in-simple-terms/) from using our computers to crunch various proteins and molecules in the background, and all of their power is now going towards discovering unknown "folds" in the coronavirus, which might be able to lead scientists to find better cures and potential vaccines.
|
||||
|
||||
You can [download their software here](https://foldingathome.org/start-folding/) to donate some idle computing power to their efforts — they definitely know what they're doing by now, after pioneering en-masse distributed computing 20 years ago.
|
||||
You can [download their software here](https://foldingathome.org/start-folding/) to donate some idle computing power to their efforts — they definitely know what they're doing by now, after pioneering en-masse distributed computing 20 years ago.
|
||||
|
||||
**Fun fact:** The team behind Folding@home has seen a [**huge** spike in computational power](https://www.reddit.com/r/pcmasterrace/comments/flgm7q/ama_with_the_team_behind_foldinghome_coronavirus/) this month after cryptominers started mining coronavirus proteins instead of boring, old Ethereum with their insanely overpowered GPUs! 👏
|
||||
|
||||
|
@@ -26,7 +26,7 @@ Decisions made by the top folks at Dropbox gave me an increasingly sour taste in
|
||||
|
||||
{{< tweet "https://twitter.com/sandofsky/status/1138686582859239425" >}}
|
||||
|
||||
- Explicitly [dropping support for symlinking](https://news.ycombinator.com/item?id=20844363) (aka making aliases to) files outside of the literal `~/Dropbox` folder, which was incredibly helpful for nerds — once their main audience and biggest cheerleaders — with things like [dotfiles](https://github.com/jakejarvis/dotfiles) and Git repositories.
|
||||
- Explicitly [dropping support for symlinking](https://news.ycombinator.com/item?id=20844363) (aka making aliases to) files outside of the literal `~/Dropbox` folder, which was incredibly helpful for nerds — once their main audience and biggest cheerleaders — with things like [dotfiles](https://github.com/jakejarvis/dotfiles) and Git repositories.
|
||||
- ...and as a bonus, making the process of canceling Dropbox Pro incredibly convoluted, annoying, and sketchy. Here's a video demonstration via [Justin Dunham](https://twitter.com/jwyattd):
|
||||
|
||||
{{< video mp4="images/cancel.mp4" webm="images/cancel.webm" width="800" height="450" poster="images/cancel.png" >}}
|
||||
|
@@ -14,13 +14,13 @@ draft: false
|
||||
|
||||
{{< image src="images/actions-flow.png" width="780" alt="Example workflow for a GitHub Action" />}}
|
||||
|
||||
Since being accepted into the beta for [GitHub Actions](https://github.com/features/actions) a few months ago, I've found a new side hobby of whipping up new (and ideally creative) actions for anybody to add to their CI pipeline. Actions are modular steps that interact with a GitHub repository and can be coded with [Docker](https://github.com/actions/hello-world-docker-action) or [JavaScript/Node](https://github.com/actions/hello-world-javascript-action) — and either way, they can be as [simple](https://github.com/jakejarvis/wait-action) or as [complex](https://github.com/jakejarvis/lighthouse-action) as you want. But in both cases, they're incredibly fun to make and the results always scratch my itch for instant gratification.
|
||||
Since being accepted into the beta for [GitHub Actions](https://github.com/features/actions) a few months ago, I've found a new side hobby of whipping up new (and ideally creative) actions for anybody to add to their CI pipeline. Actions are modular steps that interact with a GitHub repository and can be coded with [Docker](https://github.com/actions/hello-world-docker-action) or [JavaScript/Node](https://github.com/actions/hello-world-javascript-action) — and either way, they can be as [simple](https://github.com/jakejarvis/wait-action) or as [complex](https://github.com/jakejarvis/lighthouse-action) as you want. But in both cases, they're incredibly fun to make and the results always scratch my itch for instant gratification.
|
||||
|
||||
My favorite so far is my [Lighthouse Audit action](https://github.com/jakejarvis/lighthouse-action), which spins up a headless Google Chrome instance in an Ubuntu container and runs [Google's Lighthouse tool](https://developers.google.com/web/tools/lighthouse), which scores webpages on performance, accessibility, SEO, etc. and provides actual suggestions to improve them. It's a perfect example of the power of combining containers with Git workflows.
|
||||
|
||||
{{< image src="images/lighthouse-output.png" width="750" >}}The results of a Lighthouse audit on this website, after running tests in a headless Google Chrome.{{< /image >}}
|
||||
|
||||
It's also been a fantastic avenue to dip my feet into the collaborative nature of GitHub and the open-source community. I've made some small apps in the past but these are the first projects where I'm regularly receiving new issues to help out with and impressive pull requests to merge. It's a great feeling!
|
||||
It's also been a fantastic avenue to dip my feet into the collaborative nature of GitHub and the open-source community. I've made some small apps in the past but these are the first projects where I'm regularly receiving new issues to help out with and impressive pull requests to merge. It's a great feeling!
|
||||
|
||||
Here are the actions I've made so far, sorted by popularity as of this posting:
|
||||
|
||||
@@ -34,7 +34,7 @@ Here are the actions I've made so far, sorted by popularity as of this posting:
|
||||
|
||||
---
|
||||
|
||||
As an example of an _extremely_ simple (and almost completely unnecessary) action, the [Wait action](https://github.com/jakejarvis/wait-action) takes one input — a unit of time — and has the pipeline sleep for that amount of time. The [`Dockerfile`](https://github.com/jakejarvis/wait-action/blob/master/Dockerfile) is as simple as this:
|
||||
As an example of an _extremely_ simple (and almost completely unnecessary) action, the [Wait action](https://github.com/jakejarvis/wait-action) takes one input — a unit of time — and has the pipeline sleep for that amount of time. The [`Dockerfile`](https://github.com/jakejarvis/wait-action/blob/master/Dockerfile) is as simple as this:
|
||||
|
||||
{{< gist id="6a0830c7c3e514980b30fdf86b4931c5" file="Dockerfile" >}}
|
||||
|
||||
|
@@ -15,7 +15,7 @@ draft: false
|
||||
|
||||
{{< image src="images/blm-topic.png" alt="Black lives matter." />}}
|
||||
|
||||
In the midst of this year's long-overdue support of the [**Black Lives Matter**](https://blacklivesmatters.carrd.co/) movement and calls to action in the US and around the world, a [new spotlight](https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html) has been placed on unchecked invocations of racially charged language in the computer science world, no matter how big or small — like the long-standing and, until recently, widely accepted terms ["master" and "slave"](https://tools.ietf.org/id/draft-knodel-terminology-00.html#master-slave) as an oppressive metaphor for ownership/importance.
|
||||
In the midst of this year's long-overdue support of the [**Black Lives Matter**](https://blacklivesmatters.carrd.co/) movement and calls to action in the US and around the world, a [new spotlight](https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html) has been placed on unchecked invocations of racially charged language in the computer science world, no matter how big or small — like the long-standing and, until recently, widely accepted terms ["master" and "slave"](https://tools.ietf.org/id/draft-knodel-terminology-00.html#master-slave) as an oppressive metaphor for ownership/importance.
|
||||
|
||||
When somebody pointed out the negative connotations of Git projects being created with a branch named `master` by default, and the possibility of this making minorities feel even more unwelcome in an industry already [lacking diversity](https://www.informationisbeautiful.net/visualizations/diversity-in-tech/), GitHub CEO [Nat Friedman](https://github.com/nat) quietly [announced a plan](https://twitter.com/natfriedman/status/1271253144442253312) to change this on Twitter (ignore the replies for your sanity):
|
||||
|
||||
@@ -25,7 +25,7 @@ I think many people misunderstood this tweet to mean GitHub will forcefully rena
|
||||
|
||||
> **Update:** GitHub has [published more details about their plan](https://github.com/github/renaming) to move from `master` to `main` and it will indeed be voluntary and configurable. To my surprise, the Git maintainers have [also agreed to add](https://sfconservancy.org/news/2020/jun/23/gitbranchname/) a `init.defaultBranch` setting to customize the default branch for new repositories in Git 2.28.
|
||||
|
||||
But this means in the meantime, project owners are free to rename their branches as they please — and it's pretty simple to do so, usually with minimal disruption. [Some](https://github.com/desktop/desktop/issues/6478) [of](https://github.com/cli/cli/issues/929) [the](https://github.com/sindresorhus/awesome/issues/1793) [biggest](https://github.com/rust-lang/rustlings/issues/437) [OSS](https://github.com/twbs/bootstrap/pull/31050) [projects](https://github.com/ohmyzsh/ohmyzsh/issues/9015) have already voluntarily done so. Here's how to join them.
|
||||
But this means in the meantime, project owners are free to rename their branches as they please — and it's pretty simple to do so, usually with minimal disruption. [Some](https://github.com/desktop/desktop/issues/6478) [of](https://github.com/cli/cli/issues/929) [the](https://github.com/sindresorhus/awesome/issues/1793) [biggest](https://github.com/rust-lang/rustlings/issues/437) [OSS](https://github.com/twbs/bootstrap/pull/31050) [projects](https://github.com/ohmyzsh/ohmyzsh/issues/9015) have already voluntarily done so. Here's how to join them.
|
||||
|
||||
---
|
||||
|
||||
@@ -48,7 +48,7 @@ git push -u origin main
|
||||
git remote set-head origin main
|
||||
```
|
||||
|
||||
You can verify this worked by running `git branch -r`. You should see something like `origin/HEAD -> origin/main`.
|
||||
You can verify this worked by running `git branch -r`. You should see something like `origin/HEAD -> origin/main`.
|
||||
|
||||
### 3. Change the default branch in your repository's settings: {#step-3}
|
||||
|
||||
@@ -70,7 +70,7 @@ git push origin --delete master
|
||||
|
||||
Do a quick search of your codebase for `master` to manually replace any dead references to it.
|
||||
|
||||
Pay attention to CI files — `.travis.yml`, `.github/workflows/`, `.circleci/config.yml`, etc. — and make sure there aren't any external services relying on `master` being there. For example, I almost forgot to change the branch [Netlify triggers auto-deploys](https://docs.netlify.com/site-deploys/overview/#branches-and-deploys) from to build this site:
|
||||
Pay attention to CI files — `.travis.yml`, `.github/workflows/`, `.circleci/config.yml`, etc. — and make sure there aren't any external services relying on `master` being there. For example, I almost forgot to change the branch [Netlify triggers auto-deploys](https://docs.netlify.com/site-deploys/overview/#branches-and-deploys) from to build this site:
|
||||
|
||||
{{< image src="images/netlify-deploy.png" width="720" alt="Netlify auto-deployment branch setting" />}}
|
||||
|
||||
|
@@ -19,13 +19,13 @@ draft: false
|
||||
|
||||
**[VMware Workstation](https://www.vmware.com/products/workstation-pro.html)** and **[Fusion](https://www.vmware.com/products/fusion.html)** normally work hard to minimize the size of virtual hard disks for optimizing the amount of storage needed on your host machine . On Windows virtual machines, [VMware has a "clean up" function](https://docs.vmware.com/en/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-6BB29187-F47F-41D1-AD92-1754036DACD9.html), which detects newly unused space and makes the size of the virtual hard disk smaller accordingly. You'll notice that even if you create a virtual machine with a capacity of 60 GB, for example, the actual size of the VMDK file will dynamically resize to fit the usage of the guest operating system. 60 GB is simply the maximum amount of storage allowed; if your guest operating system and its files amount to 20 GB, the VMDK file will simply be 20 GB.
|
||||
|
||||
VMware can be set to automatically optimize and shrink virtual hard disks as you add and, more importantly, remove files — but [this automatic "clean up" setting is disabled by default](https://docs.vmware.com/en/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-6BB29187-F47F-41D1-AD92-1754036DACD9.html). Either way, cleaning up virtual machines works like a charm...when you have Windows as a guest operating system with an NTFS disk.
|
||||
VMware can be set to automatically optimize and shrink virtual hard disks as you add and, more importantly, remove files — but [this automatic "clean up" setting is disabled by default](https://docs.vmware.com/en/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-6BB29187-F47F-41D1-AD92-1754036DACD9.html). Either way, cleaning up virtual machines works like a charm...when you have Windows as a guest operating system with an NTFS disk.
|
||||
|
||||
As a developer, I have several VMs with various Linux-based guest OSes — and, for some reason, VMware doesn't know how to optimize these. If you poke around in VMware, you'll find that the clean up button is greyed-out under the settings of a Linux VM.
|
||||
As a developer, I have several VMs with various Linux-based guest OSes — and, for some reason, VMware doesn't know how to optimize these. If you poke around in VMware, you'll find that the clean up button is greyed-out under the settings of a Linux VM.
|
||||
|
||||
Commonly, I'll use a few gigabytes of storage for a project and then delete the files from the guest when I'm done. Let's say that my Debian guest starts at 10 GB and I use 5 GB for my project, totaling 15 GB. The VMDK file will be, obviously, 15 GB. I finish the project and delete the 5 GB of its files. On a Windows guest, VMware would be able to shrink the volume back down to 10 GB — but you'll quickly notice, annoyingly, that a Linux disk will remain at 15 GB, even though you're no longer using that much. On a portable machine like my MacBook Air, this can be a _huge_ waste!
|
||||
Commonly, I'll use a few gigabytes of storage for a project and then delete the files from the guest when I'm done. Let's say that my Debian guest starts at 10 GB and I use 5 GB for my project, totaling 15 GB. The VMDK file will be, obviously, 15 GB. I finish the project and delete the 5 GB of its files. On a Windows guest, VMware would be able to shrink the volume back down to 10 GB — but you'll quickly notice, annoyingly, that a Linux disk will remain at 15 GB, even though you're no longer using that much. On a portable machine like my MacBook Air, this can be a _huge_ waste!
|
||||
|
||||
The "clean up" feature that VMware has developed for Windows guests can be applied to Linux guests as well, but it's pretty convoluted — we need to essentially clean up the VM ourselves, trick VMware to detect the free space, and manually shrink the volume.
|
||||
The "clean up" feature that VMware has developed for Windows guests can be applied to Linux guests as well, but it's pretty convoluted — we need to essentially clean up the VM ourselves, trick VMware to detect the free space, and manually shrink the volume.
|
||||
|
||||
**_A tiny caveat:_** This only works on VMs without any snapshots. Sadly, you either need to delete them or, if you care about keeping snapshots, you can backup the VM as-is to an external disk and then delete the local snapshots.
|
||||
|
||||
@@ -55,7 +55,7 @@ sudo apt-get clean
|
||||
|
||||
## Step 2: Make "empty" space actually empty
|
||||
|
||||
This step is the crucial one. In order for VMware to detect the newly free space, we need to free it up ourselves using a little trickery. We're going to have Linux overwrite the free space with a file full of zeros — the size of this file will be the size of however much space we're freeing up (5 GB, in the example above) — and then delete it. These commands will create the file, wait a moment, and then delete the file:
|
||||
This step is the crucial one. In order for VMware to detect the newly free space, we need to free it up ourselves using a little trickery. We're going to have Linux overwrite the free space with a file full of zeros — the size of this file will be the size of however much space we're freeing up (5 GB, in the example above) — and then delete it. These commands will create the file, wait a moment, and then delete the file:
|
||||
|
||||
```bash {linenos=false}
|
||||
cat /dev/zero > zero.fill
|
||||
@@ -65,15 +65,15 @@ sync
|
||||
rm -f zero.fill
|
||||
```
|
||||
|
||||
Depending on how much space we're freeing, this could take a while. Let it finish or else you'll be left with an actual, real file that will occupy a ton of space — the opposite of what we're trying to accomplish!
|
||||
Depending on how much space we're freeing, this could take a while. Let it finish or else you'll be left with an actual, real file that will occupy a ton of space — the opposite of what we're trying to accomplish!
|
||||
|
||||
## Step 3: Letting VMware know we've done its dirty work
|
||||
|
||||
The final step is to tell VMware we've done this, and manually trigger the clean up function that works so well on Windows VMs. You'll do this step **outside** of the virtual machine, so shut it down fully and exit VMware. These directions are for macOS hosts specifically — if you're on a Linux host, I'll assume you are able to find the VMDK file, but [here's some help if you need](https://www.howtogeek.com/112674/how-to-find-files-and-folders-in-linux-using-the-command-line/).
|
||||
The final step is to tell VMware we've done this, and manually trigger the clean up function that works so well on Windows VMs. You'll do this step **outside** of the virtual machine, so shut it down fully and exit VMware. These directions are for macOS hosts specifically — if you're on a Linux host, I'll assume you are able to find the VMDK file, but [here's some help if you need](https://www.howtogeek.com/112674/how-to-find-files-and-folders-in-linux-using-the-command-line/).
|
||||
|
||||
VMware on macOS makes this a little tricky, since it packages VMs in what looks like a ".vmwarevm" file, which is actually a folder. Browse to wherever you've saved your virtual machines, probably somewhere in your home folder, and find the location of this ".vmwarevm" androgynous item. If you click on this folder, though, it'll just open VMware again.
|
||||
|
||||
We need to right click on the .vmwarevm "file," and select **Show Package Contents** to see what's really in there. You should see the actual .VMDK file sitting there — normally we're looking for the plain VMDK file (named _Virtual Disk.vmdk_ by default) without a bunch of numbers after it, but if you have snapshots associated with your VM, this might not be the file we actually want. But run the command below with it anyways, and the output will tell you if you need to use a different file.
|
||||
We need to right click on the .vmwarevm "file," and select **Show Package Contents** to see what's really in there. You should see the actual .VMDK file sitting there — normally we're looking for the plain VMDK file (named _Virtual Disk.vmdk_ by default) without a bunch of numbers after it, but if you have snapshots associated with your VM, this might not be the file we actually want. But run the command below with it anyways, and the output will tell you if you need to use a different file.
|
||||
|
||||
{{< image src="images/screen-shot-2018-12-07-at-1-58-42-pm.png" width="680" alt="Finding .vmwarevm in Finder" />}}
|
||||
|
||||
@@ -103,4 +103,4 @@ After the defragmentation completes, we need to finally shrink the image. We do
|
||||
|
||||
Obviously, this is a really annoying way to perform a feature that only takes one click to execute on Windows virtual machines. I don't recommend going through this entire process every time you delete a few random files. However, if you notice the free space on your host OS is mysteriously lower than it should be, the time this takes can be well worth it.
|
||||
|
||||
Let's hope this will be integrated in VMware Tools in the near future — feel free to [nudge VMware about it](https://my.vmware.com/group/vmware/get-help?p_p_id=getHelp_WAR_itsupport&p_p_lifecycle=0&_getHelp_WAR_itsupport_execution=e1s2) in the meantime!
|
||||
Let's hope this will be integrated in VMware Tools in the near future — feel free to [nudge VMware about it](https://my.vmware.com/group/vmware/get-help?p_p_id=getHelp_WAR_itsupport&p_p_lifecycle=0&_getHelp_WAR_itsupport_execution=e1s2) in the meantime!
|
||||
|
@@ -25,7 +25,7 @@ Pretty much all of the benefits of Netlify Analytics stem from the fact that it'
|
||||
|
||||
To start using Netlify Analytics, you press a few buttons on the Netlify dashboard and voilà. No need to copy and paste some obfuscated JavaScript snippet into the `<head>` of each page, which is a painful task for those of us who care about speed and efficiency on the web.
|
||||
|
||||
On top of sending yet another DNS request to one of Google's domains — and more HTTP payloads for each outgoing click, file downloaded, etc. — Google's `analytics.js` script is currently 43 KB. For a site like [nytimes.com](https://www.nytimes.com/), which transfers **nearly 20 MB** on its homepage, this is negligible. But for simple sites like mine, which I've [painstakingly optimized](https://gtmetrix.com/reports/jarv.is/uOzCBKlv) (mostly for fun, don't judge), that doubles the size of my homepage. Matomo's script, weighing in at 65 KB, made it even worse.
|
||||
On top of sending yet another DNS request to one of Google's domains — and more HTTP payloads for each outgoing click, file downloaded, etc. — Google's `analytics.js` script is currently 43 KB. For a site like [nytimes.com](https://www.nytimes.com/), which transfers **nearly 20 MB** on its homepage, this is negligible. But for simple sites like mine, which I've [painstakingly optimized](https://gtmetrix.com/reports/jarv.is/uOzCBKlv) (mostly for fun, don't judge), that doubles the size of my homepage. Matomo's script, weighing in at 65 KB, made it even worse.
|
||||
|
||||
### 🕵️♂️ Privacy {#privacy}
|
||||
|
||||
@@ -39,19 +39,19 @@ And even outside of Europe, scrapping the tracking scripts on your site just mak
|
||||
|
||||
Instead, Netlify Analytics pulls and compiles data from server logs on each of their CDN edge nodes, rather than having the visitor's browser push data about itself back up to a third-party's endpoint.
|
||||
|
||||
Netlify does store some short-term data, like IP addresses, as any normal hosting provider does. But for the purposes of analytics, the data is anonymized and only used to determine things like unique visitors vs. individual page views — and not shown to the customer. [Netlify's DPA](https://www.netlify.com/gdpr/) (Data Processing Agreement) is one of the most conservative I've seen on the web.
|
||||
Netlify does store some short-term data, like IP addresses, as any normal hosting provider does. But for the purposes of analytics, the data is anonymized and only used to determine things like unique visitors vs. individual page views — and not shown to the customer. [Netlify's DPA](https://www.netlify.com/gdpr/) (Data Processing Agreement) is one of the most conservative I've seen on the web.
|
||||
|
||||
### 🛑 AdBlock Immunity {#adblock-immunity}
|
||||
|
||||
Ad blocking is becoming commonplace on the World Wide Web with [over 25% of users](https://www.statista.com/statistics/804008/ad-blocking-reach-usage-us/) reportedly installing extensions to do so as soon as their new browser touches the net. And for good reason, since most of them also [block cross-site tracking scripts](https://moz.com/blog/analytics-black-holes) like Google's by default.
|
||||
|
||||
That's a _huge_ chunk of visitors missing that Netlify Analytics gains back for you — and probably far more if your audience is tech-savvy like those reading this post likely are. (Some might even [block JavaScript completely](https://www.gnu.org/philosophy/javascript-trap.en.html) using extensions like [NoScript](https://addons.mozilla.org/en-US/firefox/addon/noscript/).)
|
||||
That's a _huge_ chunk of visitors missing that Netlify Analytics gains back for you — and probably far more if your audience is tech-savvy like those reading this post likely are. (Some might even [block JavaScript completely](https://www.gnu.org/philosophy/javascript-trap.en.html) using extensions like [NoScript](https://addons.mozilla.org/en-US/firefox/addon/noscript/).)
|
||||
|
||||
{{< image src="images/pages.png" alt="Pageview and 404 tracking on Netlify Analytics" />}}
|
||||
|
||||
Another tangential benefit you simply don't get from JavaScript-based tools like Google Analytics is the "Resources Not Found" box, which separates out URLs that resulted in a 404 Not Found error. Because of the 404 tracking, I discovered how many people were still subscribed to my posts via RSS from when I used WordPress _years_ ago, and I was able to redirect `/feed` and `/rss` to the new location.
|
||||
|
||||
_Side note: This section has also become cluttered with requests from script kiddies who are scanning the internet for files like `login.php` and `/wp-admin` and `AspCms_Config.asp` (huh?) — but that's a whole separate problem for another day._
|
||||
_Side note: This section has also become cluttered with requests from script kiddies who are scanning the internet for files like `login.php` and `/wp-admin` and `AspCms_Config.asp` (huh?) — but that's a whole separate problem for another day._
|
||||
|
||||
## 👎 Cons {#cons}
|
||||
|
||||
@@ -59,13 +59,13 @@ _Side note: This section has also become cluttered with requests from script kid
|
||||
|
||||
Netlify is one of the most awesome free-as-in-beer services on the web today, providing a fast CDN and instant deployments at zero cost (up to a pretty insane amount, of course). But if you want to add Netlify Analytics, your bill suddenly jumps to [\$9 a month](https://www.netlify.com/pricing/#analytics). **Nine dollars!** That's over **\$100 per year!** If you have more than 250,000 visitors per month, the cost can be even higher (to the point where you'll need to contact Netlify's sales team).
|
||||
|
||||
It makes sense that Netlify needs to subsidize the cost of providing free enterprise-grade web hosting for the rest of its non-enterprise users to stay alive. But when Google Analytics is free, this is a pretty tough ask for any hobbyist — even if Google is [getting more from them](https://support.google.com/analytics/answer/1011397?hl=en) than they are from Google. 😬
|
||||
It makes sense that Netlify needs to subsidize the cost of providing free enterprise-grade web hosting for the rest of its non-enterprise users to stay alive. But when Google Analytics is free, this is a pretty tough ask for any hobbyist — even if Google is [getting more from them](https://support.google.com/analytics/answer/1011397?hl=en) than they are from Google. 😬
|
||||
|
||||
### 📈 Accuracy {#accuracy}
|
||||
|
||||
{{< image src="images/sources-bandwidth.png" alt="Referrer and bandwidth tracking on Netlify Analytics" />}}
|
||||
|
||||
Clearly, as much as I wish they did, 60,000+ visitors didn't type my website directly into the URL bar in the past month. Some of my articles have been circulating on Hacker News, Reddit, Twitter, etc. — none of which have even made a blip on the dashboard.
|
||||
Clearly, as much as I wish they did, 60,000+ visitors didn't type my website directly into the URL bar in the past month. Some of my articles have been circulating on Hacker News, Reddit, Twitter, etc. — none of which have even made a blip on the dashboard.
|
||||
|
||||
There are various possible reasons that referrers aren't being sent, mostly relating to HTTP headers and [increasingly sensible](https://blog.mozilla.org/blog/2019/06/04/firefox-now-available-with-enhanced-tracking-protection-by-default/) browser defaults, that aren't Netlify's fault. But this section is the most obvious example of important data you can miss out on by not tracking incoming visitors via JavaScript.
|
||||
|
||||
@@ -79,12 +79,12 @@ One more note: since Netlify doesn't process IP addresses or user agents, bots c
|
||||
|
||||
Trying out Netlify Analytics meant switching this site from [GitHub Pages](https://pages.github.com/) to Netlify — something I still have mixed feelings about. But if I had been on Netlify the entire time, I would have gotten thirty days of historical stats backfilled right off the bat, from before I even started paying for Analytics.
|
||||
|
||||
Sure, this is a cool bonus. However, "thirty days" has another meaning on Netlify Analytics: it's the **absolute maximum amount of data** you can access. Period, full stop. On your Analytics dashboard, you can see a window of the past month on your site — and that's all. Day 31 is gone, seemingly forever.
|
||||
Sure, this is a cool bonus. However, "thirty days" has another meaning on Netlify Analytics: it's the **absolute maximum amount of data** you can access. Period, full stop. On your Analytics dashboard, you can see a window of the past month on your site — and that's all. Day 31 is gone, seemingly forever.
|
||||
|
||||
I hope Netlify proves me wrong in Version 2, since analyzing trends over the course of a year (or two, or five) is an **integral reason** to track visitor behavior in the first place. Otherwise, it's nearly impossible to tell which piece of content or which new feature caused your website to explode in popularity, unless you're meticulously watching it happen in real time.
|
||||
|
||||
---
|
||||
|
||||
I'm _super_ happy to see an investment in privacy-minded solutions for analytics, and [the Netlify team should be proud](https://www.youtube.com/watch?v=jMo0oQwTVak) of what they've built. And for the time being, I'm willing to continue forking over the nine bucks per month to give Netlify a chance to keep building upon this awesome (and, dare I say, [courageous](https://www.theverge.com/2016/9/7/12838024/apple-iphone-7-plus-headphone-jack-removal-courage)) concept. But only time will tell if others are willing to do the same — and if they are, how long they're willing to wait before resorting back to injecting bloated JavaScript snippets and hoarding invasive amounts of our data to share with the [behemoths of the internet](https://www.google.com/).
|
||||
I'm _super_ happy to see an investment in privacy-minded solutions for analytics, and [the Netlify team should be proud](https://www.youtube.com/watch?v=jMo0oQwTVak) of what they've built. And for the time being, I'm willing to continue forking over the nine bucks per month to give Netlify a chance to keep building upon this awesome (and, dare I say, [courageous](https://www.theverge.com/2016/9/7/12838024/apple-iphone-7-plus-headphone-jack-removal-courage)) concept. But only time will tell if others are willing to do the same — and if they are, how long they're willing to wait before resorting back to injecting bloated JavaScript snippets and hoarding invasive amounts of our data to share with the [behemoths of the internet](https://www.google.com/).
|
||||
|
||||
Hopefully it happens within a window of 30 days, though, or else Netlify will be none the wiser! 😉
|
||||
|
@@ -24,7 +24,7 @@ Of course, these five rappers are protected by their right to free speech to spe
|
||||
|
||||
Is the increasingly apparent void of gay (or even bi) male rappers due to a lack of demand or a lack of supply? Or, do gay rappers get automatically turned away at the doors of Universal, Sony, and Warner Brothers, over fears of losing profit? Let's follow a hypothetical gay rapper through the intricacies and politics of the music industry to answer one simple, overarching economical question: How successful would a young, talented, and coincidentally gay male rapper be in 2012?
|
||||
|
||||
To get a sense of the industry a new gay rapper would be walking into, I surveyed 62 college-aged rap fans at Tufts University. Before introducing the prospect of a gay rapper to them, I wanted to gauge their feelings about the homophobia in pre-existing mainstream rap music. The results were staggering: 92% of the respondents said that hearing "faggot" or "no homo" doesn't stand out to them while listening to a song, and 100% wouldn't stop listening to that song or that artist after hearing these phrases. On the flip side, none of the 62 respondents — including one gay sophomore — could name a gay rapper. The existing landscape of the rap industry became rapidly clear: there are no gays on the radar, except when "homo" or "fag" rhymes with the line before it.
|
||||
To get a sense of the industry a new gay rapper would be walking into, I surveyed 62 college-aged rap fans at Tufts University. Before introducing the prospect of a gay rapper to them, I wanted to gauge their feelings about the homophobia in pre-existing mainstream rap music. The results were staggering: 92% of the respondents said that hearing "faggot" or "no homo" doesn't stand out to them while listening to a song, and 100% wouldn't stop listening to that song or that artist after hearing these phrases. On the flip side, none of the 62 respondents — including one gay sophomore — could name a gay rapper. The existing landscape of the rap industry became rapidly clear: there are no gays on the radar, except when "homo" or "fag" rhymes with the line before it.
|
||||
|
||||
My next inquiry was about whether there's room for a gay person in the mainstream rap industry. Is the clear absence of gay voices from mainstream rap by the choice of gay rappers, or is there no demand from music listeners? 90% of the college respondents claimed that they would listen to a gay rapper (under the condition that he or she is talented, of course). However, only 4% could reasonably predict that a talented gay rapper would be commercially successful. When asked to explain, the responses included that "the ridicule and internal conflict [would not be] worth the possible profit for record labels," that "people would be embarrassed to have their iPod seen with the rapper's name playing," and that "rap is already about women, women, and women, and it's been around for too long to change that."
|
||||
|
||||
|
@@ -15,87 +15,87 @@ draft: false
|
||||
|
||||
Ever since [President Obama injected technology](https://arstechnica.com/information-technology/2012/11/built-to-win-deep-inside-obamas-campaign-tech/) into presidential politics in a historic way, one of the few bright spots of the incredibly long and exhausting race for me has been inspecting each candidate's campaign website. They end up revealing a great deal about how much each of them is willing to invest in the internet, and how young and innovative (and potentially funny) the staff members they attract are.
|
||||
|
||||
More recently, though, little-known hidden Easter eggs on ["404 Not Found"](https://en.wikipedia.org/wiki/HTTP_404) pages have become an outlet for the candidates' overworked web designers to let out some humor in a sea of otherwise serious policy pages. Below are the 404 pages on each of the current candidate's websites, along with my ranking of them — setting politics aside, for once.
|
||||
More recently, though, little-known hidden Easter eggs on ["404 Not Found"](https://en.wikipedia.org/wiki/HTTP_404) pages have become an outlet for the candidates' overworked web designers to let out some humor in a sea of otherwise serious policy pages. Below are the 404 pages on each of the current candidate's websites, along with my ranking of them — setting politics aside, for once.
|
||||
|
||||
## 1. Elizabeth Warren — [elizabethwarren.com](https://elizabethwarren.com/asdfasdf404) {#warren}
|
||||
## 1. Elizabeth Warren — [elizabethwarren.com](https://elizabethwarren.com/asdfasdf404) {#warren}
|
||||
|
||||
I'm a _huge_ sucker for Kate McKinnon's spot-on impression of Warren on Saturday Night Live. And [unfortunately](https://twitter.com/realdonaldtrump/status/1097116612279316480), seeing a campaign embrace SNL is like a breath of fresh air these days. [Watch all of the Kate McWarren videos so far here; you won't regret it.](https://www.nbc.com/saturday-night-live/cast/kate-mckinnon-15056/impersonation/elizabeth-warren-287903)
|
||||
|
||||
{{< image src="images/warren.png" alt="Elizabeth Warren" />}}
|
||||
|
||||
## 2. Bernie Sanders — [berniesanders.com](https://berniesanders.com/asdfasdf404/) {#sanders}
|
||||
## 2. Bernie Sanders — [berniesanders.com](https://berniesanders.com/asdfasdf404/) {#sanders}
|
||||
|
||||
Although the designer who selected this GIF likely had _thousands_ of choices when searching "[Bernie finger wagging GIF](https://www.google.com/search?q=Bernie+finger+wagging+GIF&tbm=isch&tbs=itp:animated)," the text beside it is well-written and funny — even though we both know putting a page at [berniesanders.com/zxcliaosid](https://berniesanders.com/zxcliaosid/) probably won't be a top priority of a President Sanders.
|
||||
Although the designer who selected this GIF likely had _thousands_ of choices when searching "[Bernie finger wagging GIF](https://www.google.com/search?q=Bernie+finger+wagging+GIF&tbm=isch&tbs=itp:animated)," the text beside it is well-written and funny — even though we both know putting a page at [berniesanders.com/zxcliaosid](https://berniesanders.com/zxcliaosid/) probably won't be a top priority of a President Sanders.
|
||||
|
||||
{{< video mp4="images/sanders.mp4" height="346" webm="images/sanders.webm" autoplay="1" loop="1" nocontrols="1" >}}
|
||||
|
||||
## 3. Joe Biden — [joebiden.com](https://joebiden.com/asdfasdf404) {#biden}
|
||||
## 3. Joe Biden — [joebiden.com](https://joebiden.com/asdfasdf404) {#biden}
|
||||
|
||||
Uncle Joe has a nice and simple 404 page. I like it, along with the Ray-Bans and his choice of vanilla ice cream.
|
||||
|
||||
{{< image src="images/biden.png" alt="Joe Biden" />}}
|
||||
|
||||
## 4. Beto O'Rourke — [betoorourke.com](https://betoorourke.com/asdfasdf404) {#orourke}
|
||||
## 4. Beto O'Rourke — [betoorourke.com](https://betoorourke.com/asdfasdf404) {#orourke}
|
||||
|
||||
A ballsy move, considering Beto's infamous [DUI arrest](https://www.politifact.com/texas/statements/2019/mar/14/club-growth/beto-orourke-arrested-dwi-flee-scene/) in the '90s — but still a clever ask for a donation and a great use of a GIF, even if it's left over from his Senate campaign.
|
||||
A ballsy move, considering Beto's infamous [DUI arrest](https://www.politifact.com/texas/statements/2019/mar/14/club-growth/beto-orourke-arrested-dwi-flee-scene/) in the '90s — but still a clever ask for a donation and a great use of a GIF, even if it's left over from his Senate campaign.
|
||||
|
||||
{{< video mp4="images/orourke.mp4" height="467" webm="images/orourke.webm" autoplay="1" loop="1" nocontrols="1" >}}
|
||||
|
||||
## 5. Kamala Harris — [kamalaharris.org](https://kamalaharris.org/asdfasdf404) {#harris}
|
||||
## 5. Kamala Harris — [kamalaharris.org](https://kamalaharris.org/asdfasdf404) {#harris}
|
||||
|
||||
Another clean and simple page with a top-notch GIF. It injected some emotion into visiting [kamalaharris.com/alskdjf](https://kamalaharris.com/alskdjf).
|
||||
|
||||
{{< video mp4="images/harris.mp4" height="512" webm="images/harris.webm" autoplay="1" loop="1" nocontrols="1" >}}
|
||||
|
||||
## 6. Pete Buttigeg — [peteforamerica.com](https://peteforamerica.com/asdfasdf404/) {#buttigeg}
|
||||
## 6. Pete Buttigeg — [peteforamerica.com](https://peteforamerica.com/asdfasdf404/) {#buttigeg}
|
||||
|
||||
I love, love, _love_ Pete's design for his whole campaign, and his beautiful 404 page is no exception. In case you didn't know, Pete for America has an entire ["Design Toolkit"](https://design.peteforamerica.com/) publicly available for all to view and use, with really cool and in-depth explanations for all of their choices — even their [color palette](https://design.peteforamerica.com/colors). Very progressive indeed.
|
||||
I love, love, _love_ Pete's design for his whole campaign, and his beautiful 404 page is no exception. In case you didn't know, Pete for America has an entire ["Design Toolkit"](https://design.peteforamerica.com/) publicly available for all to view and use, with really cool and in-depth explanations for all of their choices — even their [color palette](https://design.peteforamerica.com/colors). Very progressive indeed.
|
||||
|
||||
{{< image src="images/buttigeg.png" alt="Pete Buttigeg" />}}
|
||||
|
||||
## 7. Cory Booker — [corybooker.com](https://corybooker.com/asdfasdf404/) {#booker}
|
||||
## 7. Cory Booker — [corybooker.com](https://corybooker.com/asdfasdf404/) {#booker}
|
||||
|
||||
Love the photo choice. But although pains me to go against my Senator from my home state, I still _cannot stand_ his choice of font. Oh well, I guess that's now a criterion for running for president in 2020.
|
||||
|
||||
{{< image src="images/booker.png" alt="Cory Booker" />}}
|
||||
|
||||
## 8. Andrew Yang — [yang2020.com](https://www.yang2020.com/asdfasdf404) {#yang}
|
||||
## 8. Andrew Yang — [yang2020.com](https://www.yang2020.com/asdfasdf404) {#yang}
|
||||
|
||||
Not sure if donating to Yang 2020 will help put a page at [yang2020.com/alsdjfzoif](https://www.yang2020.com/alsdjfzoif) — the actual URL I visited to grab this screenshot — but the Bitmoji Andrew looks pretty chill.
|
||||
Not sure if donating to Yang 2020 will help put a page at [yang2020.com/alsdjfzoif](https://www.yang2020.com/alsdjfzoif) — the actual URL I visited to grab this screenshot — but the Bitmoji Andrew looks pretty chill.
|
||||
|
||||
{{< image src="images/yang.png" alt="Andrew Yang" />}}
|
||||
|
||||
## 9. Amy Klobuchar — [amyklobuchar.com](https://amyklobuchar.com/asdfasdf404) {#klobuchar}
|
||||
## 9. Amy Klobuchar — [amyklobuchar.com](https://amyklobuchar.com/asdfasdf404) {#klobuchar}
|
||||
|
||||
This is the 404 page of someone who won't forget the [Midwestern roots](https://en.wikipedia.org/wiki/Uff_da) she comes from once she moves into the White House...or writes a memoir about her campaign from her Minnesota home.
|
||||
|
||||
{{< image src="images/klobuchar.png" alt="Amy Klobuchar" />}}
|
||||
|
||||
## 10. Steve Bullock — [stevebullock.com](https://stevebullock.com/asdfasdf404) {#bullock}
|
||||
## 10. Steve Bullock — [stevebullock.com](https://stevebullock.com/asdfasdf404) {#bullock}
|
||||
|
||||
I'll never publicly say anything against a good Dad joke. This is no exception.
|
||||
|
||||
{{< image src="images/bullock.png" alt="Steve Bullock" />}}
|
||||
|
||||
## 11. Michael Bennet — [michaelbennet.com](https://michaelbennet.com/asdfasdf404) {#bennet}
|
||||
## 11. Michael Bennet — [michaelbennet.com](https://michaelbennet.com/asdfasdf404) {#bennet}
|
||||
|
||||
Another quality Dad joke here.
|
||||
|
||||
{{< image src="images/bennet.png" alt="Michael Bennet" />}}
|
||||
|
||||
## 12. John Delaney — [johndelaney.com](https://www.johndelaney.com/asdfasdf404) {#delaney}
|
||||
## 12. John Delaney — [johndelaney.com](https://www.johndelaney.com/asdfasdf404) {#delaney}
|
||||
|
||||
Yet another Dad joke? I honestly had the hardest time ranking these three.
|
||||
|
||||
{{< image src="images/delaney.png" alt="John Delaney" />}}
|
||||
|
||||
## 13. Marianne Williamson — [marianne2020.com](https://www.marianne2020.com/asdfasdf404) {#williamson}
|
||||
## 13. Marianne Williamson — [marianne2020.com](https://www.marianne2020.com/asdfasdf404) {#williamson}
|
||||
|
||||
A 404 page only a motivational author and speaker running for president could envision.
|
||||
|
||||
{{< image src="images/williamson.png" alt="Marianne Williamson" />}}
|
||||
|
||||
## 14. The Donald — [donaldjtrump.com](https://donaldjtrump.com/asdfasdf404) {#trump}
|
||||
## 14. The Donald — [donaldjtrump.com](https://donaldjtrump.com/asdfasdf404) {#trump}
|
||||
|
||||
I guess this would be slightly humorous...four years ago. Time to move on from your middle-school crush, Donny.
|
||||
|
||||
@@ -107,18 +107,18 @@ I guess this would be slightly humorous...four years ago. Time to move on from y
|
||||
|
||||
These candidates haven't configured a custom 404 page, settling for the default Drupal or WordPress text. Do they _really_ think they can run the free world with their websites in this shape? 🙄 _</s>_
|
||||
|
||||
### 15. Julián Castro — [julianforthefuture.com](https://www.julianforthefuture.com/asdfasdf404) {#castro}
|
||||
### 15. Julián Castro — [julianforthefuture.com](https://www.julianforthefuture.com/asdfasdf404) {#castro}
|
||||
|
||||
{{< image src="images/castro.png" alt="Julián Castro" />}}
|
||||
|
||||
### 16. Wayne Messam — [wayneforusa.com](https://wayneforusa.com/asdfasdf404) {#messam}
|
||||
### 16. Wayne Messam — [wayneforusa.com](https://wayneforusa.com/asdfasdf404) {#messam}
|
||||
|
||||
{{< image src="images/messam.png" alt="Wayne Messam" />}}
|
||||
|
||||
### 17. Tulsi Gabbard — [tulsi2020.com](https://www.tulsi2020.com/asdfasdf404) {#gabbard}
|
||||
### 17. Tulsi Gabbard — [tulsi2020.com](https://www.tulsi2020.com/asdfasdf404) {#gabbard}
|
||||
|
||||
{{< image src="images/gabbard.png" alt="Tulsi Gabbard" />}}
|
||||
|
||||
### 18. Joe Sestak — [joesestak.com](https://www.joesestak.com/asdfasdf404) {#sestak}
|
||||
### 18. Joe Sestak — [joesestak.com](https://www.joesestak.com/asdfasdf404) {#sestak}
|
||||
|
||||
{{< image src="images/sestak.png" alt="Joe Sestak" />}}
|
||||
|
@@ -17,7 +17,7 @@ draft: false
|
||||
|
||||
A few months ago, I stumbled upon [my first website ever](https://jakejarvis.github.io/my-first-website/) on an old floppy disk. Despite the instant cringing, I [uploaded it](https://github.com/jakejarvis/my-first-website) to GitHub, [collected other iterations](/previously/), and made an [#awesome-list](https://github.com/jakejarvis/awesome-first-code) of others who were brave and/or shameless enough to do the same. But why not take that ~~one~~ 1,000 steps further?
|
||||
|
||||
Introducing the [**Y2K Sandbox**](https://y2k.app/) — with fully-featured, fully-isolated, on-demand [**Windows Millennium Edition®**](https://www.youtube.com/watch?v=CaNDeyYP98A) virtual machines, simply to experience my first website in its natural Internet Explorer 5 habitat. And maybe play some [3D Pinball: Space Cadet](https://en.wikipedia.org/wiki/Full_Tilt!_Pinball#3D_Pinball_for_Windows_%E2%80%93_Space_Cadet). Oh, and [Microsoft Bob](https://en.wikipedia.org/wiki/Microsoft_Bob) is there too if you want to say hello and catch up. 🤓
|
||||
Introducing the [**Y2K Sandbox**](https://y2k.app/) — with fully-featured, fully-isolated, on-demand [**Windows Millennium Edition®**](https://www.youtube.com/watch?v=CaNDeyYP98A) virtual machines, simply to experience my first website in its natural Internet Explorer 5 habitat. And maybe play some [3D Pinball: Space Cadet](https://en.wikipedia.org/wiki/Full_Tilt!_Pinball#3D_Pinball_for_Windows_%E2%80%93_Space_Cadet). Oh, and [Microsoft Bob](https://en.wikipedia.org/wiki/Microsoft_Bob) is there too if you want to say hello and catch up. 🤓
|
||||
|
||||
{{< image src="images/screenshot.png" link="https://y2k.app/" >}}[**Play in the Y2K Sandbox, at your own risk.**](https://y2k.app/){{< /image >}}
|
||||
|
||||
@@ -31,6 +31,6 @@ I must give credit to both [charlie.bz](https://charlie.bz/) and [benjojo.co.uk]
|
||||
|
||||
{{< image src="images/windows-me.png" width="320" >}}**@microsoft** Please don't sue me.{{</ image >}}
|
||||
|
||||
Feel free to [open an issue on GitHub](https://github.com/jakejarvis/y2k/issues) if you run into connection glitches or have any nostalgic inspiration for software you think would be cool to install persistently on the OS image. I certainly can't help with any actual Windows Me crashes, though — it was beyond help a long, long time ago. Like, [the day it came out](https://books.google.com/books?id=Jbft8HXJZwQC&lpg=PP1&pg=PA76#v=onepage&q&f=false). But it will always have a soft spot in my heart.
|
||||
Feel free to [open an issue on GitHub](https://github.com/jakejarvis/y2k/issues) if you run into connection glitches or have any nostalgic inspiration for software you think would be cool to install persistently on the OS image. I certainly can't help with any actual Windows Me crashes, though — it was beyond help a long, long time ago. Like, [the day it came out](https://books.google.com/books?id=Jbft8HXJZwQC&lpg=PP1&pg=PA76#v=onepage&q&f=false). But it will always have a soft spot in my heart.
|
||||
|
||||
Anyways... quarantine boredom is a crazy thing, am I right? 😷
|
||||
|
Reference in New Issue
Block a user