Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am toretore on github.
  • I am toretore (https://keybase.io/toretore) on keybase.
  • I have a public key whose fingerprint is 0D82 2905 B532 A80A CE49 E210 43B5 0AA1 B582 BDA7

To claim this, I am signing this object:

@toretore
toretore / README.md
Last active December 11, 2023 06:47
MySQL character sets and collations

Understanding, working with and properly configuring character sets and collations in MySQL

Read: How to actually, really use proper UTF-8 for everything

MySQL understands and uses character sets and collations when receiving, storing and sending data. In previous versions the default character set and collation were latin1 and latin1_swedish_ci, but as of version 8.0 these defaults have been changed to the much more sane utf8mb4 and utf8mb4_0900_ci_ai. It's a good time to go through exactly how these concepts work in MySQL and to make sure we're using the correct values everywhere.

This document assumes MySQL version 8.0 unless otherwise specified.

module Location
type Location
= None
| SelectCountry (List Country)
| CountrySelected Country
| SelectRegion Country (List Region)
| RegionSelected Country Region
| SelectCity Country Region (List City)
| Complete Country Region City
--------------------------------------------------------------------------------
-- The `msg` in `Html msg` and `Cmd msg` can be anything
--------------------------------------------------------------------------------
-- Most Elm apps will have a `Msg` type at the top lever describing the messages
-- that can be processed by `update`:
type Msg
= UserLoaded (Maybe User)
| UserSelected User
module Customers exposing (Error, Customers, init, toLoading, toFailure, toSuccess)
type alias Error = String
type Customers
= NotAsked
| Loading (Maybe Error) (Maybe (List Customer))
| Failure Error (Maybe (List Customer))
| Success (List Customer)
require 'logger'
require 'fileutils'
require 'time'
require 'fiber'
module Logging
class Logger
@toretore
toretore / lb.rb
Last active September 26, 2016 20:55
require 'thread'
state = {time: Time.now, status: "Flux Capacitor running"}
messages = Queue.new
class TimeChange
attr_reader :time
def initialize(t)
@time = t
end
require 'socket'
def log(s)
puts "#{Time.now.strftime('%H:%M:%S')}: #{s}"
end
server = TCPServer.new('', 1337)
loop do
socket = server.accept
require 'thread'
class WorkerPool
def initialize
@num = 10
@jobs = Queue.new
@results = Queue.new
@stopped = false