Ori Marash
-
Turbo Lazy-Loading Scroll — How 37Signals do it
Inside Campfire, I prompted cursor "How do we do infinite loading in the account users display?" Here's the result: The infinite loading for account users is implemented using Turbo Streams and…
-
A modern Amazon Mechanical Turk Requester UI
At FrameSports we needed some data entry done quickly, so we turned to Amazon's Mechanical Turk. I wanted to check that our hundreds of tasks were going through the system properly and that the…
-
Advent of Code 2024 - Day 2: Red-Nosed Reports
Day 2 of the Advent of Code coding challenge. Restated problems: 1. You are given a list of "records". Each record is a list of numbers (called "levels"). How many of the records follow both these…
-
Academorphic -- automated literature reviews
Academorphic, a tool for university students working on their dissertation, is designed to simplify the process of writing literature reviews. It's a fork of Morphic (GitHub). Academorphic…
-
Partitions of a set in Ruby
I needed an implementation for generating partitions of a set for FrameSports.ai (long story) and couldn't find a working implementation online
-
Trays - A faithful GTD implementation
I recorded this demo video about six months ago showing my ideal todo system. Some key features: * Capture: When you type new things into the system, you don't see anything else. This lets you…
-
ActiveCortex
ActiveCortex is a Ruby gem that makes it faster to integrate OpenAI with Ruby on Rails applications. Ruby on Rails is a framework for building web apps. It's been around for 20 years and has big…
-
Just look at their code
One of my clients was searching to hire another developer. I was responsible for one of the steps in this hiring process: I verified the candidate could write good code. Through this process, I…
-
RailsGPT
I've been playing around with using ChatGPT to answer my Rails-related questions. But I find that it often runs into problems. I decided to write a custom GPT to avoid them.
-
I emailed notes to the future 253 times over the past two years, here's what I learned
I've just looked back at every email I've received from followupthen.com. I was surprised to see 253 results, with the first coming back over two years ago! I hadn't realised how a free tool that…
-
Fixing silly mistakes with proper mathematical handwriting
I used to have this problem when doing maths where I would read my own handwriting wrong: I'd read my u's as v's and z's as 2's. I called these "silly" mistakes, but they added up.
-
Ideas go into the in-box, then into the system
Everyone has things coming into their life: email, messages, people telling you to do something, bills, whatever. I like how Getting Things Done deals with this: capture these things when they…
-
Stubbing Rails.cache.fetch in Minitest
If you've got some code that's calling Rails.cache.fetch and you want to test that it's working properly, you can use the following method helper to stub the cache: def stub_rails_cache(&block)…
-
The difference between projects and actions
I've been tinkering with my to-do list system for ages but I keep coming back to the approach I read about in Getting Things Done by David Allen. In my system, I separate between "Projects" and…
-
A bot that moderates a game
Two Rooms One Boom is a game which I learned how to play in Year 9. We called it Communists and Americans but I think the game developers wanted something more PG. To play it, you need to deal…
-
Building a custom site generator for my computer science coursework
For my computer science coursework (which will have a writeup later), I need to write a report. This report is important as it is the main factor in influencing how many marks I get. I have a few…
-
Creating an authentication system using Firebase and React
Firebase is great because it lets you plug in an authentication system super easily. Basically, all you have to do is write something like: firebase.auth().signIn() and bam! Your user is signed…
-
Creating an analysis tool for department heads
In my school, we use a tool called "Canvas" to manage the homework, tests, lessons, etc. in school. Canvas is open-sourced (all the code is on GitHub), so editing the code is quite easy. However,…
-
Calibrating photo multiplier tubes to detect dark matter (Weizmann Institute summer camp)
To prove the existence of dark matter, you need to detect super-radiation from particles under specific conditions. My team's task was to calibrate very senesitve light sensors (called…
-
Creating a competition using Firebase realtime PubSub
As part of a school fundraiser, our class had to find some way to raise money for a charity. One of the students in our class (Miles Hinders-Green) had the idea to run a contest to see who could…
-
My TEDx talk on project-based learning
Here's a link to my TedX talk on Youtube: https://www.youtube.com/watch?v=i1_AlvWJiH4 Following is the transcript. Going to Mathsland For the past few years, I’ve been trying to learn French. I’ve…
-
Running a programming club in high school
I'm legally required to say that we don't hack computers, we're just program. (I promise!) Hack Club is a programming club I run in my school every Tuesday at 4 pm. It is part of a larger group of…