Skip to content

Instantly share code, notes, and snippets.

@elsayed85
elsayed85 / imei-eg.sh
Last active January 1, 2025 19:18
Replace 351941237314725 With Your IMEI
curl 'https://api-citizens-prod-imei.gs-ef.com/ceirimeicheck/api/v1/imei/check'
-H 'Host: api-citizens-prod-imei.gs-ef.com'
-H 'Content-Type: application/json'
-H 'Accept: */*'
-H 'Connection: keep-alive'
-H 'Accept-Language: en'
-H 'Content-Length: 34'
-H 'Accept-Encoding: gzip, deflate, br'
-H 'User-Agent: CitizenApp_Ntra/1.0.0 CFNetwork/1568.300.101 Darwin/24.2.0'
--data '{"imeiNumber":["351941237314725"]}'
@schacon
schacon / better-git-branch.sh
Created January 13, 2024 18:41
Better Git Branch output
#!/bin/bash
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
NO_COLOR='\033[0m'
BLUE='\033[0;34m'
YELLOW='\033[0;33m'
NO_COLOR='\033[0m'
using System;
class Program
{
static void Main()
{
Bar(T => T.Foo()); // Prints "T"
Bar(S => S.Foo()); // Prints "S"
}
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
static bool ImplementsIEnumerable(Type type)
{
var ienumerable = typeof(IEnumerable<>);
return type.GetInterfaces().Where(x => x.IsConstructedGenericType && x.GetGenericTypeDefinition() == ienumerable).Any();
@jdh30
jdh30 / JsonParser.fs
Last active February 28, 2025 18:00
Simple JSON parser written in F# using active patterns
type Json =
| Null
| Bool of bool
| Number of float
| String of string
| Array of Json list
| Object of (string * Json) list
type Bracket = Open | Close
@Icelandjack
Icelandjack / Yoneda.markdown
Last active February 10, 2023 00:06
Yoneda
import Data.Functor.Yoneda
import Data.Char
import Data.Kind

infixr 5
  ·

type  List :: (Type -> Type) -> Constraint
class List f where
(function() {
window.onerror = function(message, url, line, column) {
if (typeof url === "undefined" || url === null || url === "") {
return;
}
var data = JSON.stringify({
message: message,
url: url,
line: line,
@evancz
evancz / font-face.md
Last active July 16, 2025 00:25
It seems really complicated to use custom fonts well. This explores some ideas of how to make it easier.

Making it easier to load fonts

I have been doing a lot of work on making Elm assets really tiny. As part of some exploratory research I did ages ago, I read this document on font loading. It is a super helpful resource, but I was confused by all the different terms: FOIT, FOUT, FOFT, etc. It reminded me of the old "how do you center things?" blog posts from before flexbox. So my instinct was that probably lots of folks are confused about how to do it well, and maybe there is a better way!

So brainstormed some some ideas to:

  1. Save even more bits.
  2. Have an ideal visual experience.
  3. Be really easy to set up.
@evancz
evancz / cron.md
Last active December 25, 2020 13:18
Cron job to remind myself to stretch

Type crontab -l to see your cron jobs. Type crontab -e to edit them. You have to use Vim apparently.

Add a line like this:

0,30	*	*	*	*	/Users/YOURNAME/Documents/scripts/stretch.sh

That is on every 0th and 30th minute of the hour. Make sure all the separators in there are tabs!

The 5-minute backpack demo

Here's what I carry in a Tom Bihn Synapse 19 bag when I travel for 1-to-n days. In general, I optimize for low-weight items, with a secondary focus on reducing maintenance. You can peruse a gallery of pictures, too.

Clothing