- 🎨 when improving the format/structure of the code
- 🚀 when improving performance
- ✏️ when writing docs
- 💡 new idea
- 🚧 work in progress
- ➕ when adding feature
- ➖ when removing feature
- 🔈 when adding logging
- 🔇 when reducing logging
- 🐛 when fixing a bug
#!/bin/bash | |
EMAIL="your_email@example.com" | |
API_TOKEN="API_TOKEN" | |
DOMAIN_ID="your_domain.com" | |
RECORDS=(123456 234567 345678) # Replace with the Record ID | |
IP="`curl -s -S http://v4.ident.me`" | |
STORED_IP_ADDRESS_FILENAME="$HOME/.current_external_ip_address" | |
# Loop through each record id in the array |
{-# LANGUAGE TypeFamilies #-} | |
import Data.Function (on) | |
import Control.Applicative | |
data EventData e = EventData { | |
eventId :: Int, | |
body :: Event e | |
} |
// Playground - noun: a place where people can play | |
import Cocoa | |
var str = "Hello, playground" | |
// Here's take 1. First, I defined the algebra like I would in | |
// Scala, as separate protocols: | |
protocol Semigroup { | |
typealias T |
Kris Nuttycombe asks:
I genuinely wish I understood the appeal of unityped languages better. Can someone who really knows both well-typed and unityped explain?
I think the terms well-typed and unityped are a bit of question-begging here (you might as well say good-typed versus bad-typed), so instead I will say statically-typed and dynamically-typed.
I'm going to approach this article using Scala to stand-in for static typing and Python for dynamic typing. I feel like I am credibly proficient both languages: I don't currently write a lot of Python, but I still have affection for the language, and have probably written hundreds of thousands of lines of Python code over the years.
This is a collection of snippets, not a comprehensive guide. I suggest you start with Operational PGP.
Here is an incomplete list of things that are different from other approaches:
- I don't use keyservers. Ever.
- Yes, I use Gmail instead of some bespoke hipster freedom service
about:config settings to harden the Firefox browser. Privacy and performance enhancements.
To change these settings type 'about:config' in the url bar.
Then search the setting you would like to change and modify the value. Some settings may break certain websites from functioning and
rendering normally. Some settings may also make firefox unstable.
I am not liable for any damages/loss of data.
Not all these changes are necessary and will be dependent upon your usage and hardware. Do some research on settings if you don't understand what they do. These settings are best combined with your standard privacy extensions
(HTTPS Everywhere No longer required: Enable HTTPS-Only Mode, NoScript/Request Policy, uBlock origin, agent spoofing, Privacy Badger etc), and all plugins set to "Ask To Activate".
On why stateful code is bad | |
=========================== | |
STUDENT: Sir, can I ask a question? | |
TEACHER: Yes! | |
STUDENT: How do you put an elephant inside a fridge? | |
TEACHER: I don't know. | |
STUDENT: It's easy, you just open the fridge and put it in. I have another question! | |
TEACHER: Ok, ask. | |
STUDENT: How to put a donkey inside the fridge? |
-------------------------------------------------------------------------------- | |
-- Copyright : (C) 2008 Edward Kmett, 2016 Mazdak Farrokhzad | |
-- License : BSD-style | |
-------------------------------------------------------------------------------- | |
{-# LANGUAGE GeneralizedNewtypeDeriving, FlexibleInstances, | |
UndecidableInstances, MultiParamTypeClasses #-} | |
import Control.Applicative(Alternative) | |
import Control.Monad.Identity | |
import Control.Monad.State |