Skip to content

Instantly share code, notes, and snippets.

@p1xelHer0
p1xelHer0 / try_parse.ml
Created December 1, 2024 19:56
OCaml Scanf parsing
(* I overuse these two badboys *)
let parse fmt map line = try Some (Scanf.sscanf line fmt map) with _ -> None
let rec try_parse parsers line =
match parsers with
| [] -> failwith ("could not parse: " ^ line)
| parse :: parsers -> (
match parse line with
| None -> try_parse parsers line
| Some result -> result
@timvisee
timvisee / falsehoods-programming-time-list.md
Last active May 7, 2025 16:00
Falsehoods programmers believe about time, in a single list

Falsehoods programmers believe about time

This is a compiled list of falsehoods programmers tend to believe about working with time.

Don't re-invent a date time library yourself. If you think you understand everything about time, you're probably doing it wrong.

Falsehoods

  • There are always 24 hours in a day.
  • February is always 28 days long.
  • Any 24-hour period will always begin and end in the same day (or week, or month).
@vsajip
vsajip / ansistrm.py
Created December 29, 2010 11:14
Python logging: colourising terminal output
#
# Copyright (C) 2010-2012 Vinay Sajip. All rights reserved. Licensed under the new BSD license.
#
import ctypes
import logging
import os
class ColorizingStreamHandler(logging.StreamHandler):
# color names to indices
color_map = {