diff --git a/.github/.travis.yml b/.github/.travis.yml deleted file mode 100644 index 7b12be8..0000000 --- a/.github/.travis.yml +++ /dev/null @@ -1,44 +0,0 @@ -language: ruby -rvm: -# - 2.4.0 -# - 2.5.5 - - 2.6.3 - -env: - global: - - NOKOGIRI_USE_SYSTEM_LIBRARIES=true - -notifications: - email: false - -before_install: -# - gem update --system - - gem install bundler - -script: - - bundle install - - bundle exec jekyll build - -after_script: - - gem install type-on-strap - - gem install jekyll-theme-type-on-strap - - docker pull sylhare/type-on-strap - -branches: - only: - - master - - /^v.*$/ - -jobs: - include: - - stage: gem release - rvm: 2.6.3 - script: echo "Deploying to rubygems.org ..." - deploy: - provider: rubygems - gem: type-on-strap - api_key: - secure: DNJmBojaNJU0VFS2RE3Gy5CBnll1GXm7wtvxVMDfAqFNbCQdq2LR/v3LDNNm/ZEPMQfgdvlom8s5Pm26nnxbWFAAFcLTBD/cyJffvudgiCo3ONLkpm/PsVJiTyNbzZyb/XPE879S+LVtdKGlhLFSBaqUKfrhyRHT1W9LWrrjZMTQngUZCPlJmw6AsLvqT2x1CcBvVD2Q6tN8bOwq2blsDUtI6449ey1qWfgaERvM8KvF76aB32YQ7t8986NMkfHRDXPlgxm64pCc4kduBqAk9UHP5JAJzO4c3zEhX5Mb6Hc1CoxdgF3WSpmiN6HVVMaSC1byL4evocR+Enh5Gjc0VxEmIjCESpyheQG7YkkaadC7Lrvb18/qoSj0iDeB386k11XMiRN1dxu1CehPOkyQh5V5UEbZrm/9W9U/eQGgG1YoqicShcfxLDGeWRK4moLW8a8pvvBs+dduZyCWUgaC08S1u+HwvO8TpWcslr9/J05sRV4PAjk+u66+FVdILn0YWsbOKTezY/APTDfHnn/NQGZWXI4W5PMtf+KfPjL9kU0ouhqGpElGxrg2Hlw8kaPY3QrYLviVC7/DvWNWPGt9hmvcneuEg16zJTMoeNzckK5AUimyzvvjpVPVBh30T1YpZtcg+gFgesTHjyo/piFxEFX4ttYKoxvLMABONbniXcE= - on: - tags: true - repo: sylhare/Type-on-Strap diff --git a/.github/Docs.md b/.github/Docs.md deleted file mode 100644 index 4e42867..0000000 --- a/.github/Docs.md +++ /dev/null @@ -1,13 +0,0 @@ -# GitHub folder - -> You don't need that folder for your GitHub page - -You can delete this folder or add your own workflows in it. - -## Structure - -- [hooks](./hooks): custom git hooks for gulp task -- [workflows](./workflows): Workflows of this repository for the GitHub actions -- [config.yml](./config.yml): Config file for "request-info" bot -- [release-drafter.yml](./release-drafter.yml): Config file for "release-drafter" bot -- [stale.yml](./stale.yml): Config file for "stale" bot diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index c3ac09c..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,8 +0,0 @@ - - - -### Description - - -### Screenshot - diff --git a/.github/config.yml b/.github/config.yml deleted file mode 100644 index 31fa613..0000000 --- a/.github/config.yml +++ /dev/null @@ -1,27 +0,0 @@ -# Configuration for request-info -# https://github.com/behaviorbot/request-info - -# *OPTIONAL* Comment to reply with -requestInfoReplyComment: > - We would appreciate it if you could provide us with more info about this issue/pr! - -# *OPTIONAL* default titles to check against for lack of descriptiveness (MUST BE ALL LOWERCASE) -requestInfoDefaultTitles: - - update readme.md - - updates - -# *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given -requestInfoLabelToAdd: need-more-info - -# *OPTIONAL* Require Pull Requests to contain more information than what is provided in the PR template (Will fail if the pull request's body is equal to the provided template) -checkPullRequestTemplate: true - -# *OPTIONAL* Only warn about insufficient information on these events type (Keys must be lowercase. Valid values are 'issue' and 'pullRequest') -requestInfoOn: - pullRequest: true - issue: true - -# *OPTIONAL* Add a list of people whose Issues/PRs will not be commented on (keys must be GitHub usernames) -requestInfoUserstoExclude: - - sylhare - - # the other users you wanna add here diff --git a/.github/hooks/README.md b/.github/hooks/README.md deleted file mode 100644 index 9a86903..0000000 --- a/.github/hooks/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Git hooks - -Git hooks are provided in `hooks/`. The pre-commit hook, when enabled, will check for non-staged assets before commit and abort if found any. - -## Setup - -`ln lib/hooks/pre-commit .git/hooks/pre-commit` - -## Bypass - -`git commit -n` diff --git a/.github/hooks/pre-commit b/.github/hooks/pre-commit deleted file mode 100755 index 270e9c9..0000000 --- a/.github/hooks/pre-commit +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# -# Called by "git commit" with no arguments. -# The hook should run gulp to optimize assets. -# Will exit with non-zero status if it wants to stop the commit. - -: << 'END' # Ancillary code to ensure environment before running gulp -# If it's on the right directory, proceed. Else, try to fix it. If fail, abort commit. -if [ ${PWD##*/} != "lib" ] ; then - cd lib || exit 1 -fi - -# If gulp is intalled and gulpfile.js is present, then proceed. Else, abort commit. -if ! [ -f "gulpfile.js" ] || ! command -v gulp; then - printf "gulpfile.js not found or gulp-cli not installed!\n" - exit 1 -fi -END - -# If there are non-staged assets, abort commit. -if git status --porcelain | grep -E '^(\?\?|AM|\nM).*assets/.*$' >/dev/null; then - printf "There are non-staged assets, be sure to run gulp before commiting changes!\n" - exit 1 -fi - -# Proceed with the commit. -exit 0 - diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index 43c012f..0000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,8 +0,0 @@ -question: - - '(?)' - -bug: - - '(bug|issue|problem)' - -enhancement: - - '(enhancement|feature)' diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml deleted file mode 100644 index b88abd4..0000000 --- a/.github/release-drafter.yml +++ /dev/null @@ -1,19 +0,0 @@ -name-template: 'v$NEXT_PATCH_VERSION' -tag-template: 'v$NEXT_PATCH_VERSION' -categories: - - title: 'πŸš€ Features' - labels: - - 'feature' - - 'enhancement' - - title: 'πŸ› Bug Fixes' - labels: - - 'fix' - - 'bug' - - title: '🧰 Maintenance' - labels: - - 'devops' - - 'custom' -template: | - ## What’s new: - - $CHANGES diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index a4183fe..0000000 --- a/.github/stale.yml +++ /dev/null @@ -1,22 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 15 - -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 - -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security - -# Label to use when marking an issue as stale -staleLabel: wontfix - -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. - -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false diff --git a/.github/workflows/gem-build.yml b/.github/workflows/gem-build.yml index ad20197..f3a0876 100644 --- a/.github/workflows/gem-build.yml +++ b/.github/workflows/gem-build.yml @@ -1,8 +1,11 @@ name: Build Ruby Gem on: + push: + branches: + - main pull_request: - branches: [ master ] + workflow_dispatch: jobs: test: @@ -10,10 +13,10 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: [ '2.7.4', '3.0', '3.1', '3.2' ] + ruby-version: [ '3.1', '3.2' ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, # change this to (see https://github.com/ruby/setup-ruby#versioning): @@ -40,10 +43,6 @@ jobs: run: | gem install type-on-strap gem install jekyll-theme-type-on-strap - - name: GPR - continue-on-error: true - run: | - gem install type-on-strap --version "2.4.8" --source "https://rubygems.pkg.github.com/sylhare" - name: Build with Docker continue-on-error: true run: | diff --git a/.github/workflows/jekyll-build.yml b/.github/workflows/jekyll-build.yml deleted file mode 100644 index 5607686..0000000 --- a/.github/workflows/jekyll-build.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Jekyll Build - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - - runs-on: ubuntu-latest - strategy: - matrix: - # Do not change as jekyll/builder is used by GitHub pages (for compatibility) - docker-image: [ 'jekyll/builder', 'sylhare/jekyll' ] - - steps: - - uses: actions/checkout@v3 - - name: Build the site in the container - run: | - docker run \ - -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \ - ${{ matrix.docker-image }}:latest /bin/bash -c "chmod -R 777 /srv/jekyll && jekyll build --future" - - - name: Install packages - continue-on-error: true - run: | - docker pull sylhare/type-on-strap - docker pull sylhare/jekyll - diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index 9256658..0000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: "Issue Labeler" -on: - issues: - types: [opened, edited] - -jobs: - triage: - runs-on: ubuntu-latest - steps: - - uses: github/issue-labeler@3.2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - configuration-path: .github/labeler.yml diff --git a/.github/workflows/publish-build.yml b/.github/workflows/publish-build.yml deleted file mode 100644 index f953516..0000000 --- a/.github/workflows/publish-build.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Publish build - -on: - workflow_dispatch: - push: - tags: - - v* - -jobs: - build: - name: Build - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - - steps: - - uses: actions/checkout@v3 - - name: Set up Ruby 3.1 - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.1.0 - - name: Install - run: bundle install - - name: Build jekyll site - run: bundle exec jekyll build - - name: Build the gem - continue-on-error: true - run: | - gem build *.gemspec - echo `find . -name "*.gem" | tail -1 | awk -F"[/]" '{print $2}'` - - name: Publish to GPR - continue-on-error: true - run: | - echo ${{ github.repository_owner }} - mkdir -p $HOME/.gem - touch $HOME/.gem/credentials - chmod 0600 $HOME/.gem/credentials - printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem - env: - GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}" - OWNER: ${{ github.repository_owner }} - - - name: Publish to RubyGems - run: | - mkdir -p $HOME/.gem - touch $HOME/.gem/credentials - chmod 0600 $HOME/.gem/credentials - printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - wc -l $HOME/.gem/credentials - gem push *.gem - env: - GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}" diff --git a/.github/workflows/workflow-test.yml b/.github/workflows/workflow-test.yml index c6a72bb..f30100d 100644 --- a/.github/workflows/workflow-test.yml +++ b/.github/workflows/workflow-test.yml @@ -1,18 +1,36 @@ -name: Workflow Test +name: Projects test on: - workflow_run: - workflows: ["Jekyll build"] - branches: ["master"] - types: - - completed + push: + branches: + - main + pull_request: + workflow_dispatch: jobs: - build: + game_of_life: + runs-on: ${{ matrix.os }} - runs-on: ubuntu-latest + continue-on-error: true + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + # setup node steps: - - uses: actions/checkout@v3 - - name: Hello world - run: echo "Hello world" + - uses: actions/checkout@v2 + + - name: Use Node.js + uses: actions/setup-node@v2 + with: + node-version: '21' + + - name: Install dependencies + run: | + cd assets/js/projects/game_of_life + npm install + + - name: Run tests + run: | + cd assets/js/projects/game_of_life + npm test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6eddfb4..503f114 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ jekyll-theme-type-on-strap.gemspec *copy.md test/* /type-on-strap*/* + +node_modules \ No newline at end of file diff --git a/_includes/portfolio.html b/_includes/portfolio.html index 1ac7df1..9d3bf3e 100644 --- a/_includes/portfolio.html +++ b/_includes/portfolio.html @@ -8,8 +8,17 @@ + {% if item.title == "Conway's Game of Life" %} + + {% else %} + {% endif %} {% endfor %} + + + \ No newline at end of file diff --git a/_portfolio/game_of_life.md b/_portfolio/game_of_life.md new file mode 100644 index 0000000..6d742ac --- /dev/null +++ b/_portfolio/game_of_life.md @@ -0,0 +1,29 @@ +--- +layout: post +title: Conway's Game of Life +date: June 2024 +tags: [fun] +--- + +# Determined Unpredictability + +[Conway's game of life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) encodes the rules for cell life +and death on a grid. The rules of the game for each cell are simple. + +1. Cells with 2 or fewer neighbors die off +2. Cells that have 2 or 3 neighbors live on +3. Cells with more than 3 neighbors die +4. Dead cells surrounded by 3 live cells spring back to life + +Yet the final state from any starting state is unpredictable but still determined. What does this mean? +Given a starting state, predicting the future 2, 5, 10, 100 steps away is not possible. Life across the board, +where it lives, its density, cannot be predicted using any analytical tool. To find where life thrives in the +future, we have to let the cells play their interminable, fully determined game. + + +
+ +
+ + + \ No newline at end of file diff --git a/_portfolio/research.md b/_portfolio/research.md index 8dd82bd..7a2df7f 100644 --- a/_portfolio/research.md +++ b/_portfolio/research.md @@ -1,8 +1,8 @@ --- layout: post title: Research -img: "assets/img/portfolio/goes-look-angles.png" -date: September 2014 +img: "assets/img/portfolio/research/goes-look-angles.png" +date: December 2023 tags: [research] --- @@ -12,7 +12,7 @@ tags: [research] ## Model Comparison -{% include aligner.html images="portfolio/densities-with-test-set-scores.png" column=1 %} +{% include aligner.html images="portfolio/research/densities-with-test-set-scores.png" column=1 %} I focus on the use of machine learning to estimate a harmful component of air quality: particulate matter smaller than 2.5 micrometers, or PM diff --git a/_posts/2024-04-20-What-is-an-ODE.md b/_posts/2024-04-20-What-is-an-ODE.md index c27c482..a194584 100644 --- a/_posts/2024-04-20-What-is-an-ODE.md +++ b/_posts/2024-04-20-What-is-an-ODE.md @@ -190,7 +190,7 @@ methods if it's an ODE problem. Hopefully you'll enjoy coming along to learn mor [^1]: {% include citation.html key="hairer1993" %} [^2]: {% include citation.html key="hairer1996" %} - +