Goals: Add links that are reasonable and good explanations of how stuff works. No hype and no vendor content if possible. Practical first-hand accounts of models in prod eagerly sought.
![Screenshot 2023-12-18 at 10 40 27 PM](https://private-user-images.githubusercontent.com/3837836/291468646-4c30ad72-76ee-4939-a5fb-16b570d38cf2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTQyNjksIm5iZiI6MTcyMjE5Mzk2OSwicGF0aCI6Ii8zODM3ODM2LzI5MTQ2ODY0Ni00YzMwYWQ3Mi03NmVlLTQ5MzktYTVmYi0xNmI1NzBkMzhjZjIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjhUMTkxMjQ5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTJmZmFmZjlhYzUwYjI1ZDdlMWU0YjA4Yjk3NjQzZDBlMWE2MjI4NDNmOWU3ZGVkOTkxZDVlNmU1MDRmZjRjNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.-4SSF5DeHFgHeOK8rtAHx8hEuuw6_R0pue77SKhU-s4)
const std = @import("std"); | |
const os = std.os; | |
const net = std.net; | |
const mem = std.mem; | |
const log = std.log.scoped(.server); | |
const assert = std.debug.assert; | |
pub const io_mode = .evented; |
""" | |
This gist comes out of frustration that I couldn't have a | |
random-int-without-replacement-generator-given-a-range. | |
random.sample, and np.random.choice(replace=False) both fail on really large numbers. | |
Python crashes saying OOM & segfaults. | |
Problem was for smaller `n` (<5 million) they optimized for linear/sub-linear | |
times and linear storage (set, pool-tracking list). |
This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
This is inspired by https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/
the command zig run my_code.zig
will compile and immediately run your Zig
program. Each of these cells contains a zig program that you can try to run
(some of them contain compile-time errors that you can comment out to play
with)
I liked the way Grokking the coding interview organized problems into learnable patterns. However, the course is expensive and the majority of the time the problems are copy-pasted from leetcode. As the explanations on leetcode are usually just as good, the course really boils down to being a glorified curated list of leetcode problems.
So below I made a list of leetcode problems that are as close to grokking problems as possible.
In this section, we want you to tackle a new programming language, Clojure. This introduction covers defining functions in clojure, calling them, composing simpler functions into a higher order function etc.
We want you to understand the syntax of the language, experiment with writing some new functions.
You can write clojure on a simple online editor http://app.klipse.tech to try out the examples
A clojure function has this form:
(defn []
// Processing code by Etienne JACOB | |
// motion blur template by beesandbombs | |
// opensimplexnoise code in another tab might be necessary | |
// --> code here : https://gist.github.com/Bleuje/fce86ef35b66c4a2b6a469b27163591e | |
int[][] result; | |
float t, c; | |
float ease(float p) { |
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall