Skip to content
View rafd's full-sized avatar
🐃
yak-shaving
🐃
yak-shaving

Sponsors

@RobertARandolph
@nubank

Organizations

@engsci @hackeracademy @PenyoPal @braidchat @clojurecraft

Block or report rafd

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rafd/README.md

I build ventures. Mostly web apps. Exclusively in Clojure.

Currently, my main focus is on creating a space for massively collaborative online ventures.

Interested in learning Clojure? I host a weekly mob sessions via Clojure Camp.

Talks

Occasionally, when I have something interesting on my mind, I attempt to distill it into a somewhat comprehensible talk:

  • 📺 Solving Problems the Clojure Way

    My attempt at explaining two of the core pillars of Clojure programming: functional programming and data-oriented programming. Features a step-by-step refactor of imperative code to functional code (in Javascript).

    "This is by far the best talk I've seen explaining functional programming" <- someone on YouTube, so you should definitely trust them

  • 📺 Data-Oriented Programming

    I try to distill "data-oriented programming" and "data-driven programming," as practised by the Clojure community.

  • 📺 Declarative Domain Logic

    Domain Modeling via Data-Oriented programming in Clojure?

  • 📺 Composing Applications

    Organizing code by features to enable "append-only" programming for web applications.

Background

When I was 12, my mom won a spot at a programming course at a private college. She didn't stick with it, but I used the books she bought to learn the basics of HTML + CSS + JS + PHP and started making shitty websites for people (with heavy use of Flash animations). I discovered Rails, built a lot of little web apps with it, and also learned Ruby as a result. I made a single project with the early Node ecosystem, but after being introduced to the simplicity of Clojure, it has kept me happy for the last 10+ years.

I program mostly for the joy of creation. I make things mostly to explore ideas and to solve problems for myself or others.

My goal in life is to maximize the value I create for others, and to help others do the same.

I spent 4 grueling years earning a degree in energy-systems engineering, which to the chagrin of my parents, I've put to no use whatsoever.

For the last few years, I've been doing a mix of startups (not-yet-successful), consulting (life-draining), teaching (rewarding) and traveling (environmentally-questionable).

Pinned Loading

  1. braidchat/braid braidchat/braid Public

    Braid is a team-chat app with a novel UI that leads to better conversations.

    Clojure 928 54

  2. tada tada Public

    a clojure(script) library that helps you compose web-applications out of declarative data-driven parts

    Clojure 81 1

  3. decidedlyso/merge-insertion-sort decidedlyso/merge-insertion-sort Public

    A Clojure implementation of the comparison-efficient Merge Insertion Sort / Ford Johnson Algorithm

    Clojure 45 1

  4. Ideal FlowStorm Setup Ideal FlowStorm Setup
    1
    # FlowStorm Quickstart 
    2
    
                  
    3
    [FlowStorm](https://www.flow-storm.org/) is a time-travelling debugger for clojure. 
    4
    
                  
    5
    IMO, Clojure has the best development experience with its REPL-driven workflow. FlowStorm makes it even better.
  5. clojure-camp/myclojurecamp clojure-camp/myclojurecamp Public

    Source for Clojure Camp user portal (https://my.clojure.camp) - including: profiles UI, pairing UI, pairing scheduler algorithm, etc.

    Clojure 6 12

  6. georgetown georgetown Public

    Clojure 1