Skip to content

Instantly share code, notes, and snippets.

View dengyunsheng250's full-sized avatar

邓云升 dengyunsheng250

  • northwest university
  • 19:21 (UTC -12:00)
View GitHub Profile
@karpathy
karpathy / add_to_zshrc.sh
Created August 25, 2024 20:43
Git Commit Message AI
# -----------------------------------------------------------------------------
# AI-powered Git Commit Function
# Copy paste this gist into your ~/.bashrc or ~/.zshrc to gain the `gcm` command. It:
# 1) gets the current staged changed diff
# 2) sends them to an LLM to write the git commit message
# 3) allows you to easily accept, edit, regenerate, cancel
# But - just read and edit the code however you like
# the `llm` CLI util is awesome, can get it here: https://llm.datasette.io/en/stable/
gcm() {
@jauhararifin
jauhararifin / redis.go
Last active January 10, 2024 15:10
Simple redis implementation in Golang supporting only GET and SET operations
package main
import (
"bufio"
"errors"
"fmt"
"io"
"log/slog"
"net"
"os"
@alexedwards
alexedwards / cache.go
Last active May 1, 2025 00:58
Generic in-memory cache implementation in Go
package cache
import (
"sync"
"time"
)
// Cache is a basic in-memory key-value cache implementation.
type Cache[K comparable, V any] struct {
items map[K]V // The map storing key-value pairs.
@jiacai2050
jiacai2050 / podcast-fetcher.go
Created November 27, 2023 13:55
Download podcasts
package main
import (
"encoding/xml"
"flag"
"fmt"
"go-apps/pkg/flagx"
"go-apps/pkg/util"
"io"
"log"
@eatonphil
eatonphil / btree.py
Created August 27, 2023 16:47
Python In-memory B-Tree
import math
import uuid
class BTree:
def __init__(self, order=3):
self.root = BTreeNode(order)
def insert(self, toinsert):
all_elements = self.list()
@StephanTLavavej
StephanTLavavej / videos.md
Last active August 21, 2025 18:36
C++ Videos by Stephan T. Lavavej

C9 Lectures

BoostCon (now known as C++Now)

  • 2009: I am not aware of recordings for my talks "C++0x Support in Visual Studio 2010" and "The Parallel Patterns Library in Visual Studio 2010". You aren't missing anything, though.
  • 2010: "Data Structure Visualizers in Visual Studio 2010" is irrelevant as the old visualizer machinery has been completely replaced by something much better (and documented).
  • 2012: Regex In C++11 And Boost
@graninas
graninas / What_killed_Haskell_could_kill_Rust.md
Last active July 20, 2025 07:34
What killed Haskell, could kill Rust, too

At the beginning of 2030, I found this essay in my archives. From what I know today, I think it was very insightful at the moment of writing. And I feel it should be published because it can teach us, Rust developers, how to prevent that sad story from happening again.


What killed Haskell, could kill Rust, too

What killed Haskell, could kill Rust, too. Why would I even mention Haskell in this context? Well, Haskell and Rust are deeply related. Not because Rust is Haskell without HKTs. (Some of you know what that means, and the rest of you will wonder for a very long time). Much of the style of Rust is similar in many ways to the style of Haskell. In some sense Rust is a reincarnation of Haskell, with a little bit of C-ish like syntax, a very small amount.

Is Haskell dead?

@nixpulvis
nixpulvis / ping.rs
Created November 18, 2015 21:38
A simple Ping implementation in Rust.
#![feature(ip_addr, raw)]
extern crate pnet;
use std::net::{IpAddr, Ipv4Addr};
use pnet::transport::TransportChannelType::Layer4;
use pnet::transport::TransportProtocol::Ipv4;
use pnet::transport::transport_channel;
use pnet::packet::ip::IpNextHeaderProtocols;
use pnet::packet::Packet;
@hellerbarde
hellerbarde / latency.markdown
Created May 31, 2012 13:16 — forked from jboner/latency.txt
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs