Coder Social home page Coder Social logo

injuly

I like systems programming and functional languages. Professionally, I've worked on web servers, SPAs, compilers, static analyzers, and other miscellany.

Interests:

  • Game dev, compilers, type systems, databases.
  • Pixel art
  • Shin Honkaku
  • Functional programming

Microblog

A list of thoughts that aren't not elaborate enough to warrant a blog post, but interesting enough to be written down.

Click to read

1. CRT displays and retro shaders

I find it very interesting that video games today often try to emulate artifacts of the past that older developers would kill to get rid of. The CRT screen shader is one of them. I wrote one for one of my (now abandoned) side projects, and was happy with how it turned out. Here is an old GIF of the effect:

The above shader displays two of my favorite effects that nail the "retro" feel when done well:

  1. The CRT screen bend.
  2. Chromatic Abberation.

It also has a scanline effect, but that's off topic.

CRT screens would shoot a cathode ray that would traverse the screen row-by-row. If the screens weren't curved in shape, different points on the surface would be at different distances from the origin of the cathode ray, resulting in a distorted image. The screens had to be curved at very precise angles to perfectly offset the distortion.

Since It's getting pretty late in the night at the time of me writing this, I'll leave this great explanation on chromatic aberration by an underrated youtuber, Pixel Prophecy:

If you're wondering how it's implemented in the gif I showed above, I just offset the Red, Green, and Blue channels for every on-screen pixel. As for the scanlines, they're just periodically occuring horizontal lines timed with a sine wave.

injuly's Projects

aoc icon aoc

Advent of Code'23 in Haskell

asci-2021 icon asci-2021

Official Repository for Annual SWITCH Convention for Innovation 2021

ast-visualizer icon ast-visualizer

An Abstract Syntax Tree visualizer that is also capable of evaluating simple mathematical expressions.

ave icon ave

A compile-To-JS language that lets you write javasript code in a modern syntax

avets icon avets

A type-checked scripting language that compiles to Javascript.

bark icon bark

A static site generator that powers my blog

based icon based

An email spam detector in Haskell

bfinbf icon bfinbf

A brainfuck interpreter written in brainfuck

bithounds icon bithounds

A decentralized card collection game on the tezos blockchain.

boa icon boa

A type checker and compiler for python that is capable of inferring types and performing flow sensitive type checking.

bullet_hell icon bullet_hell

an unnamed bullet hell game written in Lua, using the LÖVE game engine.

clox icon clox

A clox implementation from Bob Nystrom's book: https://craftinginterpreters.com/

easycla icon easycla

This is for testing the EasyCLA flow and will be deleted after testing is complete

eel icon eel

A rich text editor library for web applications.

eslint icon eslint

Find and fix problems in your JavaScript code.

espree icon espree

An Esprima-compatible JavaScript parser

fourier-sketch icon fourier-sketch

An educational web-app that uses the fourier series to approximate user drawn sketches.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.