Skip to content

Instantly share code, notes, and snippets.


Ossi Hanhinen ohanhi

View GitHub Profile
ohanhi /
Created February 24, 2020 13:51

Keybase proof

I hereby claim:

  • I am ohanhi on github.
  • I am ohanhi ( on keybase.
  • I have a public key ASC2XeeauM2QIK1IflqnGF2GUqnIrsdpXSNp7KYcR1LMvQo

To claim this, I am signing this object:

View Flags.elm
module Flags exposing (..)
import Browser
import Browser.Navigation
import Html exposing (p, text)
import Url
main : Program Int Int Msg
main =
ohanhi / AutoExpand.elm
Created March 18, 2017 17:53
A pure Elm auto expanding text area
View AutoExpand.elm
module AutoExpand exposing (main)
import Html exposing (Html, div, p, br, textarea, text)
import Html.Attributes exposing (rows, style)
import Html.Events exposing (onInput, on)
import Json.Decode exposing (Decoder, field, at, map2, int, string)
type alias Model =
View ohanhi.zsh-theme
autoload -U colors && colors
autoload -Uz vcs_info
zstyle ':vcs_info:*' stagedstr '%F{green}•'
zstyle ':vcs_info:*' unstagedstr '%F{yellow}•'
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' enable git svn
theme_precmd () {
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {

The Why and When of Choosing Elm

What is Elm?

  • Language (and "framework") for building web frontend applications
  • Can be used in place of HTML, CSS and JavaScript
  • Compiles into the above
ohanhi / JsonApi.elm
Created March 26, 2016 15:57
Example abstraction layer on top of elm-http-extra
View JsonApi.elm
module JsonApi where
import Task exposing (Task)
import Json.Decode exposing (Decoder)
import Json.Encode exposing (Value)
import Http.Extra as HttpExtra exposing (..)
import Task exposing (Task)
import Json.Decode exposing (Decoder)
ohanhi / console.log.js
Last active November 5, 2020 09:09
View console.log.js
var x = 1;
if(1) {
var x = 2;
var x = 10;
function foo(x) {
ohanhi /
Last active January 3, 2019 10:15
Get started with Elm
ohanhi /
Last active February 3, 2021 18:14
The Joy of Composition - Why stateless rendering is pure bliss

This is a proposal for a lightning talk at the Reactive 2015 conference.

NOTE: If you like this, star the Gist - the amount of stars decides whether it makes the cut!

The Joy of Composition

Why stateless rendering is pure bliss

React just got stateless components, meaning that they are in essence pure functions for rendering. Pure functions make it dead simple - even fun - to refactor your views

ohanhi /
Last active December 23, 2022 13:06
Learning FP the hard way: Experiences on the Elm language

Learning FP the hard way: Experiences on the Elm language

by Ossi Hanhinen, @ohanhi

with the support of Futurice 💚.

Licensed under CC BY 4.0.

Editorial note