├── .gitignore ├── modd.conf ├── workflow ├── icon.png ├── icons │ ├── update.png │ └── update-available.png ├── info.plist └── Summary.md ├── todo.md ├── go.mod ├── magefile.go ├── main.go ├── update.go ├── license ├── .env ├── links.go ├── wiki.go ├── readme.md └── go.sum /.gitignore: -------------------------------------------------------------------------------- 1 | workflow/alfred-my-mind 2 | -------------------------------------------------------------------------------- /modd.conf: -------------------------------------------------------------------------------- 1 | **/*.go { 2 | prep: alfred build 3 | } 4 | -------------------------------------------------------------------------------- /workflow/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nikivdev/alfred-my-mind/HEAD/workflow/icon.png -------------------------------------------------------------------------------- /workflow/icons/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nikivdev/alfred-my-mind/HEAD/workflow/icons/update.png -------------------------------------------------------------------------------- /todo.md: -------------------------------------------------------------------------------- 1 | - make images dark by default 2 | - ideally have screenshots change color depending on user OS theme 3 | -------------------------------------------------------------------------------- /workflow/icons/update-available.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nikivdev/alfred-my-mind/HEAD/workflow/icons/update-available.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/nikitavoloboev/alfred-my-mind 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/deanishe/awgo v0.22.0 7 | github.com/jason0x43/go-alfred v0.0.0-20211113201834-ddd6850b79bb // indirect 8 | github.com/magefile/mage v1.13.0 // indirect 9 | ) 10 | -------------------------------------------------------------------------------- /magefile.go: -------------------------------------------------------------------------------- 1 | //go:build mage 2 | 3 | package main 4 | 5 | // Uses https://github.com/jason0x43/go-alfred to build workflow for use 6 | // TODO: don't rely on CLI for this, export it as part of go lib 7 | func Build() { 8 | // run `alfred build` 9 | } 10 | 11 | // Symlink `workflow` dir to Alfred 12 | func LinkWorkflow() { 13 | // run `alfred link` 14 | } 15 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "flag" 5 | "fmt" 6 | 7 | aw "github.com/deanishe/awgo" 8 | "github.com/deanishe/awgo/update" 9 | ) 10 | 11 | var ( 12 | iconUpdate = &aw.Icon{Value: "icons/update-available.png"} 13 | 14 | query string 15 | 16 | repo = "nikitavoloboev/alfred-my-mind" 17 | 18 | wf *aw.Workflow 19 | ) 20 | 21 | func init() { 22 | wf = aw.New(update.GitHub(repo), aw.HelpURL(repo+"/issues")) 23 | } 24 | 25 | func run() { 26 | wiki := flag.Bool("wiki", false, "Search wiki") 27 | links := flag.Bool("links", false, "Search links in wiki") 28 | inside := flag.Bool("inside", false, "Search links inside files") 29 | flag.Parse() 30 | 31 | if *wiki { 32 | searchWiki() 33 | return 34 | } 35 | 36 | if *links { 37 | // TODO: read from env var 38 | // TODO: show description as subtitle 39 | searchLinks("/Users/nikivi/Dropbox/Write/knowledge/") 40 | return 41 | } 42 | 43 | if *inside { 44 | fmt.Println("hi") 45 | return 46 | } 47 | } 48 | 49 | func main() { 50 | wf.Run(run) 51 | } 52 | -------------------------------------------------------------------------------- /update.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "log" 5 | "os" 6 | "os/exec" 7 | 8 | aw "github.com/deanishe/awgo" 9 | ) 10 | 11 | // doUpdate checks for a newer version of the workflow. 12 | func doUpdate() error { 13 | log.Println("Checking for update...") 14 | return wf.CheckForUpdate() 15 | } 16 | 17 | // checkForUpdate runs "./alsf update" in the background if an update check is due. 18 | func checkForUpdate() error { 19 | if !wf.UpdateCheckDue() || wf.IsRunning("update") { 20 | return nil 21 | } 22 | cmd := exec.Command(os.Args[0], "update") 23 | return wf.RunInBackground("update", cmd) 24 | } 25 | 26 | // showUpdateStatus adds an "update available!" message to Script Filters if an update is available 27 | // and query is empty. 28 | func showUpdateStatus() { 29 | if query != "" { 30 | return 31 | } 32 | 33 | if wf.UpdateAvailable() { 34 | wf.Configure(aw.SuppressUIDs(true)) 35 | log.Println("Update available!") 36 | wf.NewItem("An update is available!"). 37 | Subtitle("⇥ or ↩ to install update"). 38 | Valid(false). 39 | Autocomplete("workflow:update"). 40 | Icon(iconUpdate) 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Nikita (nikiv.dev) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | # When sourced, creates an Alfred-like environment needed by modd 2 | 3 | # getvar | Read a value from info.plist 4 | getvar() { 5 | local v="$1" 6 | /usr/libexec/PlistBuddy -c "Print :$v" info.plist 7 | } 8 | 9 | export alfred_workflow_bundleid=$( getvar "bundleid" ) 10 | export alfred_workflow_version=$( getvar "version" ) 11 | export alfred_workflow_name=$( getvar "name" ) 12 | export USER_ID=$( getvar "variables:USER_ID" ) 13 | # export USER_FEED_KEY=$( getvar "variables:USER_FEED_KEY" ) 14 | 15 | export alfred_workflow_cache="${HOME}/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/${alfred_workflow_bundleid}" 16 | export alfred_workflow_data="${HOME}/Library/Application Support/Alfred/Workflow Data/${alfred_workflow_bundleid}" 17 | export alfred_version="4.0.2" 18 | 19 | # Alfred 3 environment if Alfred 4+ prefs file doesn't exist. 20 | if [[ ! -f "$HOME/Library/Application Support/Alfred/prefs.json" ]]; then 21 | export alfred_workflow_cache="${HOME}/Library/Caches/com.runningwithcrayons.Alfred-3/Workflow Data/${alfred_workflow_bundleid}" 22 | export alfred_workflow_data="${HOME}/Library/Application Support/Alfred 3/Workflow Data/${alfred_workflow_bundleid}" 23 | export alfred_version="3.8.1" 24 | fi 25 | -------------------------------------------------------------------------------- /links.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "io/ioutil" 6 | "log" 7 | "os" 8 | "regexp" 9 | "strings" 10 | ) 11 | 12 | type bookmarks map[string]string 13 | 14 | func searchLinks(wikiPath string) { 15 | showUpdateStatus() 16 | bookmarks := make(bookmarks) 17 | 18 | files := parseSummary() 19 | for _, file := range files { 20 | parseLinks(wikiPath, file, bookmarks) 21 | } 22 | for name, link := range bookmarks { 23 | wf.NewItem(name).UID(name).Valid(true).Arg(link) 24 | } 25 | log.Println(len(bookmarks)) 26 | 27 | // TODO: message doesnt show 28 | wf.WarnEmpty("No matching items", "Try a different query?") 29 | 30 | wf.SendFeedback() 31 | } 32 | 33 | // Return a map of all links in wiki. 34 | func getLinks() { 35 | } 36 | 37 | // Parse SUMMARY.md file and return all file paths inside the wiki. 38 | func parseSummary() []string { 39 | files := make([]string, 0) 40 | data, err := ioutil.ReadFile("SUMMARY.md") 41 | if err != nil { 42 | log.Fatal(err) 43 | } 44 | 45 | re := regexp.MustCompile(`\[([^\]]*)\]\(([^)]*)\)`) 46 | scanner := bufio.NewScanner(strings.NewReader(string(data))) 47 | for scanner.Scan() { 48 | matches := re.FindAllStringSubmatch(scanner.Text(), -1) 49 | files = append(files, matches[0][2]) 50 | } 51 | return files 52 | } 53 | 54 | // Parse file for links and update bookmarks. 55 | func parseLinks(wikiPath string, filePath string, bookmarks bookmarks) { 56 | file, err := os.Open(wikiPath + filePath) 57 | if err != nil { 58 | log.Fatal(err) 59 | } 60 | defer file.Close() 61 | 62 | re := regexp.MustCompile(`\[([^\]]*)\]\(([^)]*)\)`) 63 | 64 | scanner := bufio.NewScanner(file) 65 | reading := false 66 | for scanner.Scan() { 67 | if reading == false && strings.HasPrefix(scanner.Text(), "## Links") { 68 | reading = true 69 | continue 70 | } 71 | if reading == true && strings.HasPrefix(scanner.Text(), "#") { 72 | break 73 | } else if reading == true { 74 | matches := re.FindAllStringSubmatch(scanner.Text(), -1) 75 | if matches != nil { 76 | bookmarks[matches[0][1]] = matches[0][2] 77 | } 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /wiki.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "io/ioutil" 6 | "regexp" 7 | "strings" 8 | ) 9 | 10 | // Link holds a link with unique UID. 11 | type Link struct { 12 | uid string 13 | name string 14 | url string 15 | } 16 | 17 | // parseSummaryFile parses GitBook Summary.md file and returns links. 18 | func parseSummaryFile() []Link { 19 | bytes, _ := ioutil.ReadFile("SUMMARY.md") 20 | // regex to extract markdown links 21 | re := regexp.MustCompile(`\[([^\]]*)\]\(([^)]*)\)`) 22 | // re1 := regexp.MustCompile(`(.md)`) 23 | 24 | var links []Link 25 | 26 | // Read file line by line and extraxt links 27 | scanner := bufio.NewScanner(strings.NewReader(string(bytes))) 28 | for scanner.Scan() { 29 | matches := re.FindAllStringSubmatch(scanner.Text(), -1) 30 | split := strings.Split(matches[0][2], "/") 31 | 32 | noMD := strings.Split(split[len(split)-1], ".")[0] 33 | // Delete last item if it's equal to the pre last item in paths 34 | if split[len(split)-2] == noMD { 35 | split = split[:len(split)-1] 36 | } 37 | // Remove .md if present 38 | last := split[len(split)-1] 39 | if strings.Contains(last, ".md") { 40 | last = last[:len(last)-3] 41 | } 42 | split[len(split)-1] = last 43 | if contains(split, "macOS") { 44 | for i, v := range split { 45 | split[0] = "macos" 46 | if v == "apps" { 47 | split[i] = "macos-apps" 48 | } 49 | } 50 | } 51 | 52 | links = append(links, Link{ 53 | uid: matches[0][1], 54 | name: matches[0][1], 55 | url: "https://wiki.nikiv.dev/" + strings.Join(split, "/"), 56 | }) 57 | } 58 | return links 59 | } 60 | 61 | // check if string is included in a slice 62 | func contains(s []string, e string) bool { 63 | for _, a := range s { 64 | if a == e { 65 | return true 66 | } 67 | } 68 | return false 69 | } 70 | 71 | func searchWiki() { 72 | showUpdateStatus() 73 | links := parseSummaryFile() 74 | 75 | // TODO: implement caching 76 | for _, link := range links { 77 | wf.NewItem(link.name).UID(link.uid).Valid(true).Arg(link.url) 78 | } 79 | 80 | // TODO: message doesnt show 81 | wf.WarnEmpty("No matching items", "Try a different query?") 82 | 83 | wf.SendFeedback() 84 | } 85 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Alfred My Mind 2 | 3 | > [Alfred](https://www.alfredapp.com/) workflow to search through my notes and bookmarks 4 | 5 | img 6 | 7 | This workflow lets you search through entirety of [my personal wiki](https://wiki.nikiv.dev/). There's over 100,000 lines of markdown with many links inside. This [video](https://www.youtube.com/watch?v=m5aFsVVknPU) showcases the workflow in action. 8 | 9 | ## Install 10 | 11 | Download workflow from [GitHub releases](../../releases/latest). 12 | 13 | See [here](https://github.com/deanishe/awgo/wiki/Catalina) for instructions on fixing permissions in macOS refusing to run Go binary. 14 | 15 | ## Setup 16 | 17 | The workflow is written in [Go](https://golang.org/) and uses [AwGo](https://github.com/deanishe/awgo) library for all Alfred related things. 18 | 19 | It uses [modd](https://github.com/cortesi/modd) and [Alfred command](https://godoc.org/github.com/jason0x43/go-alfred/alfred) to ease its development. 20 | 21 | ## Run 22 | 23 | 1. Run `alfred link` (makes symbolic link of [`workflow`](workflow) directory) 24 | 2. Run `modd` (starts a process that automatically builds the workflow with `alfred build` on any changes you make to `.go` files, this builds and places a binary inside [`workflow`](workflow) directory.) 25 | 3. Make changes to code or modify Alfred objects to do what you want! Open debugger in Alfred or run the workflow with `workflow:log` passed in as argument to see the logs Alfred produces. 26 | 27 | ![](https://i.imgur.com/FFYOecx.png) 28 | 29 | ## Contribute 30 | 31 | Always open to useful ideas or fixes in form of issues or PRs. 32 | 33 | Can [open new issue](../../issues/new/choose) (search [existing issues](../../issues) first) or [start discussion](../../discussions). 34 | 35 | It's okay to submit draft PR as you can get help along the way to make it merge ready. 36 | 37 | Join [Discord](https://discord.com/invite/TVafwaD23d) for more indepth discussions on this repo and [others](https://github.com/nikitavoloboev#src). 38 | 39 | ### 🖤 40 | 41 | [Support on GitHub](https://github.com/sponsors/nikitavoloboev) or look into [other projects](https://nikiv.dev/projects). 42 | 43 | [![Discord](https://img.shields.io/badge/Discord-100000?style=flat&logo=discord&logoColor=white&labelColor=black&color=black)](https://discord.com/invite/TVafwaD23d) [![X](https://img.shields.io/badge/nikitavoloboev-100000?logo=X&color=black)](https://twitter.com/nikitavoloboev) [![nikiv.dev](https://img.shields.io/badge/nikiv.dev-black)](https://nikiv.dev) 44 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= 2 | github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= 3 | github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= 4 | github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= 5 | github.com/bmatcuk/doublestar v1.1.5/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= 6 | github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= 7 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 8 | github.com/deanishe/awgo v0.22.0 h1:3w4pHmI/n+cTFEixQMBdLPxAj2+iN6pEeciv3wTfNqU= 9 | github.com/deanishe/awgo v0.22.0/go.mod h1:mWVSFCwpd+G+jCzHz00Euyhi2avtS9rnOfl+s7cSDhk= 10 | github.com/deanishe/go-env v0.4.0 h1:tpu14o16gJGTN/w2gxntwxu2l5Eby30jSrnlgOfjzwk= 11 | github.com/deanishe/go-env v0.4.0/go.mod h1:RgEcGAqdRnt8ybQteAbv1Ys2lWIRE7TlgON/sbdjuaY= 12 | github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= 13 | github.com/jason0x43/go-alfred v0.0.0-20211113201834-ddd6850b79bb h1:yag8/hIpEwoEu/mpLp8s5ThFsenaDAP+8kVQD67n1y4= 14 | github.com/jason0x43/go-alfred v0.0.0-20211113201834-ddd6850b79bb/go.mod h1:CYIoOjM+7oq5n2FyO4ChtHwfbkYeCK4J6QvW2B+p/DU= 15 | github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= 16 | github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= 17 | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= 18 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= 19 | github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= 20 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= 21 | github.com/magefile/mage v1.13.0 h1:XtLJl8bcCM7EFoO8FyH8XK3t7G5hQAeK+i4tq+veT9M= 22 | github.com/magefile/mage v1.13.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= 23 | github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= 24 | github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= 25 | github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= 26 | github.com/mfridman/tparse v0.7.4/go.mod h1:OSpmW/J0XQa/+TeiFBmJARmJa68FCtq0jpsWKKJeU6Q= 27 | github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= 28 | github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= 29 | github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 30 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 31 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 32 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= 33 | github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= 34 | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= 35 | golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 36 | golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= 37 | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 38 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 39 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 40 | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= 41 | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 42 | gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 43 | gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= 44 | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 45 | howett.net/plist v0.0.0-20181124034731-591f970eefbb h1:jhnBjNi9UFpfpl8YZhA9CrOqpnJdvzuiHsl/dnxl11M= 46 | howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= 47 | -------------------------------------------------------------------------------- /workflow/info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | bundleid 6 | nikivi.mind 7 | category 8 | Mine 9 | connections 10 | 11 | 616E11AF-E559-4994-81C4-BCBBBEE85AB1 12 | 13 | 14 | destinationuid 15 | 7728285A-6318-44B3-B058-FF3D6878362B 16 | modifiers 17 | 0 18 | modifiersubtext 19 | 20 | vitoclose 21 | 22 | 23 | 24 | 7728285A-6318-44B3-B058-FF3D6878362B 25 | 26 | 27 | destinationuid 28 | 85C659D0-5703-426F-96FD-178D5699E68A 29 | modifiers 30 | 0 31 | modifiersubtext 32 | 33 | vitoclose 34 | 35 | 36 | 37 | 85C659D0-5703-426F-96FD-178D5699E68A 38 | 39 | 40 | destinationuid 41 | 5703651B-7FAF-4BA2-9E98-F87053D7E257 42 | modifiers 43 | 0 44 | modifiersubtext 45 | 46 | vitoclose 47 | 48 | 49 | 50 | 9E65DC5C-9F25-44CE-9554-F6D913B0CBAF 51 | 52 | 53 | destinationuid 54 | 1DF8D1BA-13AD-4BBF-852E-B6D16F870E6B 55 | modifiers 56 | 0 57 | modifiersubtext 58 | 59 | vitoclose 60 | 61 | 62 | 63 | A4602136-2A7F-474C-A4A8-8C8B2C8F3EE4 64 | 65 | 66 | destinationuid 67 | C2645B87-D814-4EE4-9BD7-272E8103C087 68 | modifiers 69 | 0 70 | modifiersubtext 71 | 72 | vitoclose 73 | 74 | 75 | 76 | A80CB07A-14AD-4456-96B8-FBFD37C35C18 77 | 78 | 79 | destinationuid 80 | 198536D8-80A3-4A3B-B34C-4822FC2A389B 81 | modifiers 82 | 0 83 | modifiersubtext 84 | 85 | vitoclose 86 | 87 | 88 | 89 | C2645B87-D814-4EE4-9BD7-272E8103C087 90 | 91 | 92 | destinationuid 93 | 9E65DC5C-9F25-44CE-9554-F6D913B0CBAF 94 | modifiers 95 | 0 96 | modifiersubtext 97 | 98 | vitoclose 99 | 100 | 101 | 102 | 103 | createdby 104 | Nikita 105 | description 106 | Search through my notes and bookmarks 107 | disabled 108 | 109 | name 110 | Alfred My Mind 111 | objects 112 | 113 | 114 | config 115 | 116 | triggerid 117 | search wiki 118 | 119 | type 120 | alfred.workflow.trigger.external 121 | uid 122 | 616E11AF-E559-4994-81C4-BCBBBEE85AB1 123 | version 124 | 1 125 | 126 | 127 | config 128 | 129 | alfredfiltersresults 130 | 131 | alfredfiltersresultsmatchmode 132 | 0 133 | argumenttreatemptyqueryasnil 134 | 135 | argumenttrimmode 136 | 0 137 | argumenttype 138 | 1 139 | escaping 140 | 102 141 | keyword 142 | wiki 143 | queuedelaycustom 144 | 3 145 | queuedelayimmediatelyinitially 146 | 147 | queuedelaymode 148 | 0 149 | queuemode 150 | 1 151 | runningsubtext 152 | Loading... 153 | script 154 | ./alfred-my-mind -wiki "$1" 155 | scriptargtype 156 | 1 157 | scriptfile 158 | 159 | subtext 160 | Search wiki 161 | title 162 | Wiki 163 | type 164 | 0 165 | withspace 166 | 167 | 168 | type 169 | alfred.workflow.input.scriptfilter 170 | uid 171 | 85C659D0-5703-426F-96FD-178D5699E68A 172 | version 173 | 3 174 | 175 | 176 | config 177 | 178 | browser 179 | 180 | spaces 181 | 182 | url 183 | {query} 184 | utf8 185 | 186 | 187 | type 188 | alfred.workflow.action.openurl 189 | uid 190 | 5703651B-7FAF-4BA2-9E98-F87053D7E257 191 | version 192 | 1 193 | 194 | 195 | config 196 | 197 | json 198 | { 199 | "alfredworkflow" : { 200 | "arg" : "{query}", 201 | "config" : { 202 | "title" : "", 203 | "runningsubtext" : "", 204 | "subtext" : "" 205 | }, 206 | "variables" : { 207 | } 208 | } 209 | } 210 | 211 | type 212 | alfred.workflow.utility.json 213 | uid 214 | 7728285A-6318-44B3-B058-FF3D6878362B 215 | version 216 | 1 217 | 218 | 219 | config 220 | 221 | browser 222 | 223 | spaces 224 | 225 | url 226 | {query} 227 | utf8 228 | 229 | 230 | type 231 | alfred.workflow.action.openurl 232 | uid 233 | 1DF8D1BA-13AD-4BBF-852E-B6D16F870E6B 234 | version 235 | 1 236 | 237 | 238 | config 239 | 240 | triggerid 241 | search links 242 | 243 | type 244 | alfred.workflow.trigger.external 245 | uid 246 | A4602136-2A7F-474C-A4A8-8C8B2C8F3EE4 247 | version 248 | 1 249 | 250 | 251 | config 252 | 253 | alfredfiltersresults 254 | 255 | alfredfiltersresultsmatchmode 256 | 0 257 | argumenttreatemptyqueryasnil 258 | 259 | argumenttrimmode 260 | 0 261 | argumenttype 262 | 1 263 | escaping 264 | 102 265 | keyword 266 | links 267 | queuedelaycustom 268 | 3 269 | queuedelayimmediatelyinitially 270 | 271 | queuedelaymode 272 | 0 273 | queuemode 274 | 1 275 | runningsubtext 276 | Loading... 277 | script 278 | ./alfred-my-mind -links "$1" 279 | scriptargtype 280 | 1 281 | scriptfile 282 | 283 | subtext 284 | Search links 285 | title 286 | Links 287 | type 288 | 0 289 | withspace 290 | 291 | 292 | type 293 | alfred.workflow.input.scriptfilter 294 | uid 295 | 9E65DC5C-9F25-44CE-9554-F6D913B0CBAF 296 | version 297 | 3 298 | 299 | 300 | config 301 | 302 | json 303 | { 304 | "alfredworkflow" : { 305 | "arg" : "{query}", 306 | "config" : { 307 | "title" : "", 308 | "runningsubtext" : "", 309 | "subtext" : "" 310 | }, 311 | "variables" : { 312 | } 313 | } 314 | } 315 | 316 | type 317 | alfred.workflow.utility.json 318 | uid 319 | C2645B87-D814-4EE4-9BD7-272E8103C087 320 | version 321 | 1 322 | 323 | 324 | config 325 | 326 | browser 327 | 328 | spaces 329 | 330 | url 331 | {query} 332 | utf8 333 | 334 | 335 | type 336 | alfred.workflow.action.openurl 337 | uid 338 | 198536D8-80A3-4A3B-B34C-4822FC2A389B 339 | version 340 | 1 341 | 342 | 343 | config 344 | 345 | alfredfiltersresults 346 | 347 | alfredfiltersresultsmatchmode 348 | 0 349 | argumenttreatemptyqueryasnil 350 | 351 | argumenttrimmode 352 | 0 353 | argumenttype 354 | 1 355 | escaping 356 | 102 357 | keyword 358 | links 359 | queuedelaycustom 360 | 3 361 | queuedelayimmediatelyinitially 362 | 363 | queuedelaymode 364 | 0 365 | queuemode 366 | 1 367 | runningsubtext 368 | Loading... 369 | script 370 | ./alfred-my-mind -links "$1" 371 | scriptargtype 372 | 1 373 | scriptfile 374 | 375 | subtext 376 | Search links 377 | title 378 | Links 379 | type 380 | 0 381 | withspace 382 | 383 | 384 | type 385 | alfred.workflow.input.scriptfilter 386 | uid 387 | A80CB07A-14AD-4456-96B8-FBFD37C35C18 388 | version 389 | 3 390 | 391 | 392 | readme 393 | Details on how to use this workflow are found in the GitHub repo attached to the workflow. 394 | 395 | Double click this workflow in sidebar -> Open website. 396 | 397 | Post any issues and feature requests you have there. 💜 398 | uidata 399 | 400 | 198536D8-80A3-4A3B-B34C-4822FC2A389B 401 | 402 | xpos 403 | 415 404 | ypos 405 | 340 406 | 407 | 1DF8D1BA-13AD-4BBF-852E-B6D16F870E6B 408 | 409 | xpos 410 | 415 411 | ypos 412 | 190 413 | 414 | 5703651B-7FAF-4BA2-9E98-F87053D7E257 415 | 416 | xpos 417 | 410 418 | ypos 419 | 30 420 | 421 | 616E11AF-E559-4994-81C4-BCBBBEE85AB1 422 | 423 | xpos 424 | 20 425 | ypos 426 | 30 427 | 428 | 7728285A-6318-44B3-B058-FF3D6878362B 429 | 430 | xpos 431 | 180 432 | ypos 433 | 60 434 | 435 | 85C659D0-5703-426F-96FD-178D5699E68A 436 | 437 | note 438 | Search wiki 439 | xpos 440 | 250 441 | ypos 442 | 30 443 | 444 | 9E65DC5C-9F25-44CE-9554-F6D913B0CBAF 445 | 446 | note 447 | Search links 448 | xpos 449 | 255 450 | ypos 451 | 190 452 | 453 | A4602136-2A7F-474C-A4A8-8C8B2C8F3EE4 454 | 455 | xpos 456 | 10 457 | ypos 458 | 190 459 | 460 | A80CB07A-14AD-4456-96B8-FBFD37C35C18 461 | 462 | note 463 | Search links 464 | xpos 465 | 255 466 | ypos 467 | 340 468 | 469 | C2645B87-D814-4EE4-9BD7-272E8103C087 470 | 471 | xpos 472 | 165 473 | ypos 474 | 220 475 | 476 | 477 | variables 478 | 479 | wikiPath 480 | /Users/nikiv/Dropbox/Write/knowledge/ 481 | 482 | version 483 | 1.9.4 484 | webaddress 485 | https://github.com/nikitavoloboev/alfred-my-mind 486 | 487 | 488 | -------------------------------------------------------------------------------- /workflow/Summary.md: -------------------------------------------------------------------------------- 1 | - [Sharing](sharing/sharing.md) 2 | - [Everything I know](sharing/everything-I-know.md) 3 | - [My Workflow](sharing/my-workflow.md) 4 | - [My GitHub](sharing/my-github.md) 5 | - [My Articles](sharing/my-articles.md) 6 | - [My Notion](sharing/my-notion.md) 7 | - [Tracking](sharing/tracking.md) 8 | - [Things](sharing/things.md) 9 | - [Ideas](ideas/ideas.md) 10 | - [Learn Anything](ideas/learn-anything.md) 11 | - [Focusing](focusing/focusing.md) 12 | - [Rules](focusing/rules.md) 13 | - [Goals](focusing/goals.md) 14 | - [Processes](focusing/processes.md) 15 | - [Habits](focusing/habits.md) 16 | - [Minimalism](minimalism/minimalism.md) 17 | - [Research](research/research.md) 18 | - [Solving problems](research/solving-problems.md) 19 | - [Asking questions](research/asking-questions.md) 20 | - [Staying on top of things](research/staying-on-top-of-things.md) 21 | - [Blogs](research/blogs.md) 22 | - [Knowledge](knowledge/knowledge.md) 23 | - [Knowledge graphs](knowledge/knowledge-graphs.md) 24 | - [Knowledge extraction](knowledge/knowledge-extraction.md) 25 | - [Mental models](knowledge/mental-models.md) 26 | - [Environment](environment/environment.md) 27 | - [Zero waste](environment/zero-waste.md) 28 | - [Veganism](environment/veganism.md) 29 | - [Renewable energy](environment/renewable-energy/renewable-energy.md) 30 | - [Nuclear energy](environment/renewable-energy/nuclear-energy.md) 31 | - [Batteries](environment/renewable-energy/batteries.md) 32 | - [Music](music/music.md) 33 | - [Music playlists](music/music-playlists.md) 34 | - [Music artists](music/music-artists.md) 35 | - [Music albums](music/music-albums.md) 36 | - [Song covers](music/song-covers.md) 37 | - [Music production](music/music-production/music-production.md) 38 | - [Ableton](music/music-production/ableton.md) 39 | - [Logic Pro](music/music-production/logic-pro.md) 40 | - [Synthesizers](music/music-production/synthesizers.md) 41 | - [Guitar](music/music-production/guitar.md) 42 | - [Singing](music/singing.md) 43 | - [Ambient Sounds](music/ambient.md) 44 | - [Life](life/life.md) 45 | - [Happiness](life/happiness.md) 46 | - [Time](life/time.md) 47 | - [Memories](life/memories.md) 48 | - [Journaling](life/journaling.md) 49 | - [Compassion](life/compassion.md) 50 | - [Parenting](life/parenting.md) 51 | - [Success](life/success.md) 52 | - [Death](life/death.md) 53 | - [Writing](writing/writing.md) 54 | - [Writing prompts](writing/writing-prompts.md) 55 | - [Markdown](writing/markdown.md) 56 | - [macOS](macOS/macOS.md) 57 | - [macOS Apps](macOS/apps/macOS-apps.md) 58 | - [Alfred](macOS/apps/alfred/alfred.md) 59 | - [Making workflows](macOS/apps/alfred/making-workflows.md) 60 | - [AwGo](macOS/apps/alfred/awgo.md) 61 | - [Karabiner](macOS/apps/karabiner/karabiner.md) 62 | - [Keyboard Maestro](macOS/apps/keyboard-maestro/keyboard-maestro.md) 63 | - [KM macros](macOS/apps/keyboard-maestro/km-macros.md) 64 | - [Typinator](macOS/apps/typinator.md) 65 | - [MindNode](macOS/apps/mindnode.md) 66 | - [Hammerspoon](macOS/apps/hammerspoon.md) 67 | - [Hazel](macOS/apps/hazel.md) 68 | - [2Do](macOS/apps/2do.md) 69 | - [Pixave](macOS/apps/pixave.md) 70 | - [iTerm](macOS/apps/iterm.md) 71 | - [Tweetbot](macOS/apps/tweetbot.md) 72 | - [Textual](macOS/apps/textual.md) 73 | - [Xcode](macOS/apps/xcode/xcode.md) 74 | - [Xcode extensions](macOS/apps/xcode/xcode-extensions.md) 75 | - [Trello](macOS/apps/trello.md) 76 | - [Fantastical](macOS/apps/fantastical.md) 77 | - [BetterTouchTool](macOS/apps/bettertouchtool.md) 78 | - [Timing](macOS/apps/timing.md) 79 | - [Sketch](macOS/apps/sketch.md) 80 | - [Contacts](macOS/apps/contacts.md) 81 | - [Keychain](macOS/apps/keychain.md) 82 | - [1Password](macOS/apps/1password.md) 83 | - [Little Snitch](macOS/apps/little-snitch.md) 84 | - [Affinity Designer](macOS/apps/affinity-designer.md) 85 | - [JXA](macOS/jxa.md) 86 | - [AppleScript](macOS/applescript.md) 87 | - [Hardware](hardware/hardware.md) 88 | - [CPU](hardware/cpu/cpu.md) 89 | - [RISC-V](hardware/cpu/risc-v.md) 90 | - [AMD](hardware/cpu/amd.md) 91 | - [GPU](hardware/gpu/gpu.md) 92 | - [Neuromorphic Computing](hardware/neuromorphic-computing.md) 93 | - [Circuit design](hardware/circuit-design.md) 94 | - [FPGA](hardware/fpga.md) 95 | - [Verilog](hardware/verilog.md) 96 | - [Firmware](hardware/firmware.md) 97 | - [Arduino](hardware/arduino.md) 98 | - [Raspberry Pi](hardware/raspberry-pi.md) 99 | - [Displays](hardware/displays.md) 100 | - [Math](math/math.md) 101 | - [Logic](math/logic/logic.md) 102 | - [Combinatory logic](math/logic/combinatory-logic.md) 103 | - [Satisfiability modulo theories](math/logic/satisfiability-modulo-theories.md) 104 | - [Automated theorem proving](math/logic/automated-theorem-proving/automated-theorem-proving.md) 105 | - [Lean](math/logic/automated-theorem-proving/lean.md) 106 | - [Linear algebra](math/linear-algebra/linear-algebra.md) 107 | - [Vectors](math/linear-algebra/vectors.md) 108 | - [Lambda calculus](math/lambda-calculus.md) 109 | - [Real Analysis](math/real-analysis.md) 110 | - [Type Theory](math/type-theory/type-theory.md) 111 | - [Dependent types](math/type-theory/dependent-types.md) 112 | - [Cubical type theory](math/type-theory/cubical-type-theory.md) 113 | - [Computational type theory](math/type-theory/computational-type-theory.md) 114 | - [Category theory](math/category-theory/category-theory.md) 115 | - [Statistics](math/statistics/statistics.md) 116 | - [Markov chains](math/statistics/markov-chains.md) 117 | - [Mathematical optimization](math/mathematical-optimization/mathematical-optimization.md) 118 | - [Nearest neighbor search](math/mathematical-optimization/nearest-neighbor-search.md) 119 | - [Combinatorial optimization](math/mathematical-optimization/combinatorial-optimization.md) 120 | - [Gradient descent](math/mathematical-optimization/gradient-descent.md) 121 | - [Geometry](math/geometry.md) 122 | - [Geometric Algebra](math/geometric-algebra.md) 123 | - [Algebraic topology](math/algebraic-topology.md) 124 | - [Fractals](math/fractals.md) 125 | - [Number theory](math/number-theory.md) 126 | - [Group theory](math/group-theory.md) 127 | - [Homotopy theory](math/homotopy-theory.md) 128 | - [Queueing theory](math/queueing-theory.md) 129 | - [Topology](math/topology.md) 130 | - [Differential equations](math/differential-equations.md) 131 | - [Graph theory](math/graph-theory.md) 132 | - [Calculus](math/calculus.md) 133 | - [Fourier transform](math/fourier-transform.md) 134 | - [Wolfram Alpha](math/wolfram-alpha.md) 135 | - [Automatic differentiation](math/automatic-differentiation.md) 136 | - [Game theory](math/game-theory.md) 137 | - [Linear Programming](math/linear-programming.md) 138 | - [Computer Science](computer-science/computer-science.md) 139 | - [Data Structures](computer-science/data-structures/data-structures.md) 140 | - [Algorithms](computer-science/algorithms/algorithms.md) 141 | - [Compression](computer-science/algorithms/compression.md) 142 | - [Parsing](computer-science/parsing.md) 143 | - [Formal verification](computer-science/formal-verification/formal-verification.md) 144 | - [TLA+](computer-science/formal-verification/tla.md) 145 | - [Automata theory](computer-science/automata-theory.md) 146 | - [Computer Architecture](computer-science/computer-architecture.md) 147 | - [Programming](programming/programming.md) 148 | - [Functional programming](programming/functional-programming/functional-programming.md) 149 | - [GADTs](programming/functional-programming/gadts.md) 150 | - [Algebraic effects](programming/functional-programming/algebraic-effects.md) 151 | - [Object-oriented programming](programming/object-oriented-programming.md) 152 | - [Logic programming](programming/logic-programming.md) 153 | - [Array programming](programming/array-programming.md) 154 | - [Constraint programming](programming/constraint-programming.md) 155 | - [Relational programming](programming/relational-programming.md) 156 | - [Dynamic programming](programming/dynamic-programming.md) 157 | - [Semantic versioning](programming/semantic-versioning.md) 158 | - [Reverse engineering](programming/reverse-engineering.md) 159 | - [Protocol Buffers](programming/protocol-buffers.md) 160 | - [Coding practice](programming/coding-practice.md) 161 | - [Serialization](programming/serialization.md) 162 | - [Competitive Programming](programming/competitive-programming.md) 163 | - [Design patterns](programming/design-patterns.md) 164 | - [System Design](programming/system-design.md) 165 | - [Continuous Integration](programming/continuous-integration.md) 166 | - [Documentation](programming/documentation.md) 167 | - [Embedded systems](programming/embedded-systems.md) 168 | - [Encoding](programming/encoding.md) 169 | - [Version control](programming/version-control/version-control.md) 170 | - [Git](programming/version-control/git.md) 171 | - [Concurrency](programming/concurrency.md) 172 | - [Memory management](programming/memory-management/memory-management.md) 173 | - [Hashing](programming/hashing.md) 174 | - [Regex](programming/regex/regex.md) 175 | - [Logging](programming/logging.md) 176 | - [Interactive computing](programming/interactive-computing/interactive-computing.md) 177 | - [Jupyter Notebooks](programming/interactive-computing/jupyter-notebooks.md) 178 | - [Google Colab](programming/interactive-computing/google-colab.md) 179 | - [Mathematica](programming/interactive-computing/mathematica.md) 180 | - [Visual programming](programming/visual-programming.md) 181 | - [Software architecture](programming/software-architecture/software-architecture.md) 182 | - [Probabilistic programming](programming/probabilistic-programming.md) 183 | - [Recursion](programming/recursion.md) 184 | - [Reactive programming](programming/reactive-programming.md) 185 | - [Program synthesis](programming/program-synthesis.md) 186 | - [Structured programming](programming/structured-programming.md) 187 | - [Agile development](programming/agile-development.md) 188 | - [Stream processing](programming/stream-processing.md) 189 | - [Program analysis](programming/program-analysis.md) 190 | - [State machines](programming/state-machines.md) 191 | - [Software testing](programming/software-testing/software-testing.md) 192 | - [Fuzzing](programming/software-testing/fuzzing.md) 193 | - [Cypress](programming/software-testing/cypress.md) 194 | - [JSON](programming/json.md) 195 | - [Programming languages](programming-languages/programming-languages.md) 196 | - [Go](programming-languages/go/go.md) 197 | - [Go libraries](programming-languages/go/go-libraries/go-libraries.md) 198 | - [Python](programming-languages/python/python.md) 199 | - [Python libraries](programming-languages/python/python-libraries/python-libraries.md) 200 | - [Django](programming-languages/python/python-libraries/django.md) 201 | - [NumPy](programming-languages/python/python-libraries/numpy.md) 202 | - [Dask](programming-languages/python/python-libraries/dask.md) 203 | - [FastAPI](programming-languages/python/python-libraries/fastapi.md) 204 | - [Swift](programming-languages/swift/swift.md) 205 | - [Swift libraries](programming-languages/swift/swift-libraries/swift-libraries.md) 206 | - [SwiftUI](programming-languages/swift/swift-libraries/swiftui.md) 207 | - [Combine](programming-languages/swift/swift-libraries/combine.md) 208 | - [Rust](programming-languages/rust/rust.md) 209 | - [Rust libraries](programming-languages/rust/rust-libraries/rust-libraries.md) 210 | - [Tauri](programming-languages/rust/rust-libraries/tauri.md) 211 | - [Haskell](programming-languages/haskell/haskell.md) 212 | - [Haskell libraries](programming-languages/haskell/haskell-libraries/haskell-libraries.md) 213 | - [JavaScript](programming-languages/javascript/javascript.md) 214 | - [JS libraries](programming-languages/javascript/js-libraries/js-libraries.md) 215 | - [React](programming-languages/javascript/js-libraries/react/react.md) 216 | - [React components](programming-languages/javascript/js-libraries/react/react-components.md) 217 | - [React Hooks](programming-languages/javascript/js-libraries/react/react-hooks.md) 218 | - [React Native](programming-languages/javascript/js-libraries/react/react-native.md) 219 | - [React Server Side Rendering](programming-languages/javascript/js-libraries/react/react-ssr.md) 220 | - [Gatsby JS](programming-languages/javascript/js-libraries/react/gatsby.md) 221 | - [Expo](programming-languages/javascript/js-libraries/react/expo.md) 222 | - [MDX](programming-languages/javascript/js-libraries/react/mdx.md) 223 | - [Relay](programming-languages/javascript/js-libraries/react/relay.md) 224 | - [Next.js](programming-languages/javascript/js-libraries/react/nextjs.md) 225 | - [Blitz.js](programming-languages/javascript/js-libraries/react/blitz.md) 226 | - [Remix](programming-languages/javascript/js-libraries/react/remix.md) 227 | - [ESLint](programming-languages/javascript/eslint.md) 228 | - [Jest](programming-languages/javascript/js-libraries/jest.md) 229 | - [Redux](programming-languages/javascript/js-libraries/redux.md) 230 | - [MobX](programming-languages/javascript/js-libraries/mobx.md) 231 | - [Vue.js](programming-languages/javascript/js-libraries/vue/vue.md) 232 | - [Svelte](programming-languages/javascript/js-libraries/svelte.md) 233 | - [D3.js](programming-languages/javascript/js-libraries/d3js.md) 234 | - [Three.js](programming-languages/javascript/js-libraries/threejs.md) 235 | - [Babel](programming-languages/javascript/babel.md) 236 | - [RxJS](programming-languages/javascript/js-libraries/rxjs.md) 237 | - [Ember](programming-languages/javascript/js-libraries/ember.md) 238 | - [Astro](programming-languages/javascript/js-libraries/astro.md) 239 | - [SolidJS](programming-languages/javascript/js-libraries/solid.md) 240 | - [TypeScript](programming-languages/typescript/typescript.md) 241 | - [TypeScript libraries](programming-languages/typescript/typescript-libraries/typescript-libraries.md) 242 | - [Scala](programming-languages/scala/scala.md) 243 | - [Scala libraries](programming-languages/scala/scala-libraries.md) 244 | - [OCaml](programming-languages/ocaml/ocaml.md) 245 | - [OCaml libraries](programming-languages/ocaml/ocaml-libraries.md) 246 | - [ReasonML](programming-languages/reasonml/reasonml.md) 247 | - [ReasonML libraries](programming-languages/reasonml/reasonml-libraries.md) 248 | - [Bash](programming-languages/bash.md) 249 | - [Clojure](programming-languages/clojure/clojure.md) 250 | - [Clojure libraries](programming-languages/clojure/clojure-libraries.md) 251 | - [ClojureScript](programming-languages/clojure/clojurescript.md) 252 | - [Babashka](programming-languages/clojure/babashka.md) 253 | - [Erlang](programming-languages/erlang/erlang.md) 254 | - [Elixir](programming-languages/elixir/elixir.md) 255 | - [Elixir libraries](programming-languages/elixir/elixir-libraries.md) 256 | - [Phoenix](programming-languages/elixir/phoenix.md) 257 | - [Gleam](programming-languages/gleam.md) 258 | - [Java](programming-languages/java/java.md) 259 | - [Java libraries](programming-languages/java/java-libraries.md) 260 | - [Kotlin](programming-languages/kotlin/kotlin.md) 261 | - [Kotlin libraries](programming-languages/kotlin/kotlin-libraries.md) 262 | - [Lisp](programming-languages/lisp/lisp.md) 263 | - [Common Lisp](programming-languages/lisp/common-lisp.md) 264 | - [Scheme](programming-languages/lisp/scheme.md) 265 | - [Racket](programming-languages/lisp/racket.md) 266 | - [Janet](programming-languages/lisp/janet.md) 267 | - [C](programming-languages/c/c.md) 268 | - [C libraries](programming-languages/c/c-libraries.md) 269 | - [C++](programming-languages/cpp/cpp.md) 270 | - [C++ libraries](programming-languages/cpp/cpp-libraries.md) 271 | - [Qt](programming-languages/cpp/qt.md) 272 | - [Objective C](programming-languages/objc/objc.md) 273 | - [Objective C libraries](programming-languages/objc/objc-libraries.md) 274 | - [Lua](programming-languages/lua.md) 275 | - [Ruby](programming-languages/ruby/ruby.md) 276 | - [Ruby libraries](programming-languages/ruby/ruby-libraries.md) 277 | - [Rails](programming-languages/ruby/rails.md) 278 | - [Crystal](programming-languages/crystal.md) 279 | - [Idris](programming-languages/idris/idris.md) 280 | - [Agda](programming-languages/agda.md) 281 | - [Coq](programming-languages/coq/coq.md) 282 | - [Julia](programming-languages/julia/julia.md) 283 | - [Julia libraries](programming-languages/julia/julia-libraries.md) 284 | - [Elm](programming-languages/elm/elm.md) 285 | - [Elm libraries](programming-languages/elm/elm-libraries.md) 286 | - [Dart](programming-languages/dart/dart.md) 287 | - [Flutter](programming-languages/dart/flutter.md) 288 | - [R](programming-languages/r/r.md) 289 | - [R packages](programming-languages/r/r-packages.md) 290 | - [Assembly](programming-languages/assembly.md) 291 | - [Nim](programming-languages/nim/nim.md) 292 | - [Nim libraries](programming-languages/nim/nim-libraries.md) 293 | - [Dhall](programming-languages/dhall.md) 294 | - [Processing](programming-languages/processing/processing.md) 295 | - [p5.js](programming-languages/processing/p5js.md) 296 | - [Prolog](programming-languages/prolog/prolog.md) 297 | - [Datalog](programming-languages/prolog/datalog.md) 298 | - [PureScript](programming-languages/purescript/purescript.md) 299 | - [Zig](programming-languages/zig/zig.md) 300 | - [Zig libraries](programming-languages/zig/zig-libraries.md) 301 | - [APL](programming-languages/apl/apl.md) 302 | - [Tcl](programming-languages/tcl.md) 303 | - [PHP](programming-languages/php/php.md) 304 | - [Smalltalk](programming-languages/smalltalk.md) 305 | - [Standard ML](programming-languages/standard-ml.md) 306 | - [Unison](programming-languages/unison.md) 307 | - [D](programming-languages/d/d.md) 308 | - [Forth](programming-languages/forth.md) 309 | - [Futhark](programming-languages/futhark.md) 310 | - [Pony](programming-languages/pony.md) 311 | - [V](programming-languages/v.md) 312 | - [C#](programming-languages/csharp.md) 313 | - [F#](programming-languages/fsharp.md) 314 | - [Ada](programming-languages/ada.md) 315 | - [Perl](programming-languages/perl.md) 316 | - [Pascal](programming-languages/pascal.md) 317 | - [Self](programming-languages/self.md) 318 | - [Factor](programming-languages/factor.md) 319 | - [Fortran](programming-languages/fortran.md) 320 | - [Ink](programming-languages/ink.md) 321 | - [Haxe](programming-languages/haxe/haxe.md) 322 | - [Language Server Protocol](programming-languages/language-server-protocol.md) 323 | - [Data Science](data-science/data-science.md) 324 | - [Data Visualization](data-science/data-visualization.md) 325 | - [Data Processing](data-science/data-processing.md) 326 | - [Kafka](data-science/kafka.md) 327 | - [Datasette](data-science/datasette.md) 328 | - [Open Source](open-source/open-source.md) 329 | - [GitHub](open-source/github/github.md) 330 | - [GitHub actions](open-source/github/github-actions.md) 331 | - [GitHub bots](open-source/github/github-bots.md) 332 | - [GSOC](open-source/gsoc.md) 333 | - [Languages](languages/languages.md) 334 | - [English](languages/english/english.md) 335 | - [Russian](languages/russian.md) 336 | - [Chinese](languages/chinese.md) 337 | - [Internationalization](languages/internationalization.md) 338 | - [Text editors](text-editors/text-editors.md) 339 | - [VS Code](text-editors/vs-code/vs-code.md) 340 | - [VS Code extensions](text-editors/vs-code/vs-code-extensions.md) 341 | - [Vim](text-editors/vim/vim.md) 342 | - [Vim plugins](text-editors/vim/vim-plugins.md) 343 | - [Sublime Text](text-editors/sublime-text/sublime-text.md) 344 | - [Sublime Text plugins](text-editors/sublime-text/sublime-text-plugins.md) 345 | - [Emacs](text-editors/emacs/emacs.md) 346 | - [Emacs packages](text-editors/emacs/emacs-packages.md) 347 | - [IntelliJ](text-editors/intellij.md) 348 | - [Operating systems](operating-systems/operating-systems.md) 349 | - [Linux](operating-systems/linux/linux.md) 350 | - [NixOS](operating-systems/linux/nixos.md) 351 | - [iOS](operating-systems/ios/ios.md) 352 | - [iOS Shortcuts](operating-systems/ios/ios-shortcuts.md) 353 | - [iPad](operating-systems/ios/ipad.md) 354 | - [WatchOS](operating-systems/ios/watchos.md) 355 | - [tvOS](operating-systems/ios/tvos.md) 356 | - [CoreML](operating-systems/ios/coreml.md) 357 | - [HomeKit](operating-systems/ios/homekit.md) 358 | - [Android](operating-systems/android.md) 359 | - [Emulators](operating-systems/emulators.md) 360 | - [Containers](operating-systems/containers/containers.md) 361 | - [Kubernetes](operating-systems/containers/kubernetes/kubernetes.md) 362 | - [Kubernetes plugins](operating-systems/containers/kubernetes/kubernetes-plugins.md) 363 | - [Docker](operating-systems/containers/docker.md) 364 | - [BSD](operating-systems/bsd/bsd.md) 365 | - [Windows](operating-systems/windows.md) 366 | - [Fuchsia OS](operating-systems/fuchsia-os.md) 367 | - [MirageOS](operating-systems/mirageos.md) 368 | - [File systems](operating-systems/file-systems.md) 369 | - [Package managers](package-managers/package-managers.md) 370 | - [Nix](package-managers/nix/nix.md) 371 | - [Nix Darwin](package-managers/nix/nix-darwin.md) 372 | - [Brew](package-managers/brew.md) 373 | - [DevOps](devops/devops.md) 374 | - [Site Reliability Engineering](devops/site-reliability-engineering.md) 375 | - [Observability](devops/observability.md) 376 | - [Terraform](devops/terraform.md) 377 | - [Temporal](devops/temporal.md) 378 | - [Mindfulness](mindfulness/mindfulness.md) 379 | - [Meditation](mindfulness/meditation.md) 380 | - [Buddhism](mindfulness/buddhism.md) 381 | - [Tao](mindfulness/tao.md) 382 | - [Compilers](compilers/compilers.md) 383 | - [LLVM](compilers/llvm.md) 384 | - [Build systems](compilers/build-systems/build-systems.md) 385 | - [Bazel](compilers/build-systems/bazel.md) 386 | - [Linters](compilers/linters.md) 387 | - [Physics](physics/physics.md) 388 | - [Classical mechanics](physics/classical-mechanics.md) 389 | - [Quantum physics](physics/quantum-physics/quantum-physics.md) 390 | - [Quantum computing](physics/quantum-physics/quantum-computing.md) 391 | - [Quantum gravity](physics/quantum-physics/quantum-gravity.md) 392 | - [String theory](physics/string-theory.md) 393 | - [Electrical engineering](physics/electrical-engineering/electrical-engineering.md) 394 | - [Signal processing](physics/electrical-engineering/signal-processing.md) 395 | - [Antimatter](physics/antimatter.md) 396 | - [Dark matter](physics/dark-matter.md) 397 | - [Biology](biology/biology.md) 398 | - [Viruses](biology/viruses.md) 399 | - [Evolution](biology/evolution.md) 400 | - [Genomics](biology/genomics/genomics.md) 401 | - [DNA](biology/genomics/dna.md) 402 | - [Bioinformatics](biology/bioinformatics/bioinformatics.md) 403 | - [Computational biology](biology/computational-biology.md) 404 | - [Immunology](biology/immunology/immunology.md) 405 | - [Immunotherapy](biology/immunology/immunotherapy.md) 406 | - [Bionics](biology/bionics.md) 407 | - [Automation](automation/automation.md) 408 | - [Home Automation](automation/home-automation.md) 409 | - [Education](education/education.md) 410 | - [University](education/university.md) 411 | - [Learning](education/learning.md) 412 | - [Economy](economy/economy.md) 413 | - [Investing](economy/investing.md) 414 | - [Finance](economy/finance.md) 415 | - [High frequency trading](economy/high-frequency-trading.md) 416 | - [Basic Income](economy/basic-income.md) 417 | - [E-commerce](economy/e-commerce.md) 418 | - [Governance](governance/governance.md) 419 | - [Politics](governance/politics.md) 420 | - [Law](governance/law.md) 421 | - [Consciousness](consciousness/consciousness.md) 422 | - [Ego](consciousness/ego.md) 423 | - [Drugs](drugs/drugs.md) 424 | - [Psychedelics](drugs/psychedelics/psychedelics.md) 425 | - [Tryptamines](drugs/psychedelics/tryptamines/tryptamines.md) 426 | - [DMT](drugs/psychedelics/tryptamines/dmt.md) 427 | - [Lysergamides](drugs/psychedelics/lysergamides/lysergamides.md) 428 | - [LSD](drugs/psychedelics/lysergamides/lsd.md) 429 | - [Phenethylamines](drugs/psychedelics/phenethylamines/phenethylamines.md) 430 | - [Salvia](drugs/psychedelics/salvia.md) 431 | - [Ketamine](drugs/psychedelics/ketamine.md) 432 | - [Trippy](drugs/psychedelics/trippy.md) 433 | - [Dissociatives](drugs/dissociatives.md) 434 | - [Cannabis](drugs/cannabis.md) 435 | - [MDMA](drugs/mdma.md) 436 | - [Nootropics](drugs/nootropics.md) 437 | - [Opiates](drugs/opiates.md) 438 | - [Research chemicals](drugs/research-chemicals.md) 439 | - [Microdosing](drugs/psychedelics/microdosing.md) 440 | - [Chemistry](chemistry/chemistry.md) 441 | - [Unix](unix/unix.md) 442 | - [Shell](unix/shell/shell.md) 443 | - [Zsh](unix/shell/zsh/zsh.md) 444 | - [Zsh plugins](unix/shell/zsh/zsh-plugins.md) 445 | - [Fish](unix/shell/fish.md) 446 | - [My file system](unix/my-file-system.md) 447 | - [Dotfiles](unix/dotfiles.md) 448 | - [Configuration management](unix/config-management.md) 449 | - [Warp](unix/shell/warp.md) 450 | - [Web](web/web.md) 451 | - [Browsers](web/browsers/browsers.md) 452 | - [Safari](web/browsers/safari.md) 453 | - [Google Chrome](web/browsers/google-chrome/google-chrome.md) 454 | - [Chrome DevTools](web/browsers/google-chrome/chrome-dev-tools.md) 455 | - [Firefox](web/browsers/firefox.md) 456 | - [Bookmarklets](web/browsers/bookmarklets.md) 457 | - [Stylish themes](web/browsers/stylish-themes.md) 458 | - [Web performance](web/web-performance.md) 459 | - [Service workers](web/service-workers.md) 460 | - [Static sites](web/static-sites/static-sites.md) 461 | - [Hugo](web/static-sites/hugo.md) 462 | - [Eleventy](web/static-sites/eleventy.md) 463 | - [Jekyll](web/static-sites/jekyll.md) 464 | - [Node.js](web/nodejs/nodejs.md) 465 | - [Fastify](web/nodejs/fastify.md) 466 | - [NestJS](web/nodejs/nestjs.md) 467 | - [Deno](web/deno.md) 468 | - [WebAssembly](web/webassembly.md) 469 | - [SEO](web/seo.md) 470 | - [Electron](web/electron.md) 471 | - [Vite](web/vite.md) 472 | - [Webpack](web/webpack.md) 473 | - [Rollup](web/rollup.md) 474 | - [WebRTC](web/webrtc.md) 475 | - [Search engines](web/search-engines.md) 476 | - [Web engines](web/web-engines/web-engines.md) 477 | - [WebKit](web/web-engines/webkit.md) 478 | - [Progressive Web Apps](web/progressive-web-apps.md) 479 | - [Web workers](web/web-workers.md) 480 | - [Web scraping](web/web-scraping.md) 481 | - [RSS](web/rss.md) 482 | - [swc](web/swc.md) 483 | - [Esbuild](web/esbuild.md) 484 | - [Web Components](web/web-components.md) 485 | - [Web accessibility](web/web-accessibility.md) 486 | - [Content management systems](web/cms.md) 487 | - [JAMstack](web/jamstack/jamstack.md) 488 | - [Redwood](web/jamstack/redwood.md) 489 | - [Cloud computing](cloud-computing/cloud-computing.md) 490 | - [Serverless computing](cloud-computing/serverless-computing/serverless-computing.md) 491 | - [Cloudflare workers](cloud-computing/serverless-computing/cloudflare-workers.md) 492 | - [AWS Lambda](cloud-computing/serverless-computing/aws-lambda.md) 493 | - [AWS](cloud-computing/aws/aws.md) 494 | - [AWS Amplify](cloud-computing/aws/aws-amplify.md) 495 | - [GCP](cloud-computing/gcp/gcp.md) 496 | - [Fly.io](cloud-computing/fly-io.md) 497 | - [Azure](cloud-computing/azure/azure.md) 498 | - [Front End](front-end/front-end.md) 499 | - [HTML](front-end/html.md) 500 | - [CSS](front-end/css/css.md) 501 | - [CSS Grid](front-end/css/css-grid.md) 502 | - [CSS Flexbox](front-end/css/css-flexbox.md) 503 | - [CSS in JS](front-end/css/css-in-js.md) 504 | - [Tailwind CSS](front-end/css/tailwind-css.md) 505 | - [Security](security/security.md) 506 | - [Cryptography](security/cryptography/cryptography.md) 507 | - [Encryption](security/cryptography/encryption.md) 508 | - [Zero knowledge proofs](security/cryptography/zero-knowledge-proofs.md) 509 | - [Social networks](social-networks/social-networks.md) 510 | - [Scuttlebutt](social-networks/scuttlebutt.md) 511 | - [Mastodon](social-networks/mastodon.md) 512 | - [Instagram](social-networks/instagram.md) 513 | - [Networking](networking/networking.md) 514 | - [HTTP](networking/http.md) 515 | - [TCP](networking/tcp.md) 516 | - [DNS](networking/dns.md) 517 | - [REST](networking/rest.md) 518 | - [Peer to peer](networking/peer-to-peer/peer-to-peer.md) 519 | - [IPFS](networking/peer-to-peer/ipfs.md) 520 | - [BitTorrent](networking/peer-to-peer/bittorrent.md) 521 | - [Internet of things](networking/iot/iot.md) 522 | - [LoRaWAN](networking/iot/lorawan.md) 523 | - [Microservices](networking/microservices.md) 524 | - [Decentralization](networking/decentralization.md) 525 | - [Matrix](networking/matrix.md) 526 | - [Nginx](networking/nginx.md) 527 | - [VPN](networking/vpn/vpn.md) 528 | - [WireGuard](networking/vpn/wireguard.md) 529 | - [GraphQL](networking/graphql/graphql.md) 530 | - [PostGraphile](networking/graphql/postgraphile.md) 531 | - [Apollo GraphQL](networking/graphql/apollo-graphql.md) 532 | - [Hasura](networking/graphql/hasura.md) 533 | - [SSH](networking/ssh.md) 534 | - [TLS](networking/tls.md) 535 | - [Caddy](networking/caddy.md) 536 | - [Domains](networking/domains.md) 537 | - [QUIC](networking/quic.md) 538 | - [WebSocket](networking/websocket.md) 539 | - [File sharing](networking/file-sharing.md) 540 | - [RabbitMQ](networking/rabbitmq.md) 541 | - [ActivityPub](networking/activitypub.md) 542 | - [Tailscale](networking/tailscale.md) 543 | - [Authentication](networking/authentication.md) 544 | - [Mesh networking](networking/mesh-networking.md) 545 | - [Wi-Fi](networking/wifi.md) 546 | - [Gemini](networking/gemini.md) 547 | - [Health](health/health.md) 548 | - [Nutrition](health/nutrition/nutrition.md) 549 | - [Foods](health/nutrition/foods.md) 550 | - [Drinks](health/nutrition/drinks/drinks.md) 551 | - [Tea](health/nutrition/drinks/tea.md) 552 | - [Coffee](health/nutrition/drinks/coffee.md) 553 | - [Cooking](health/nutrition/cooking.md) 554 | - [Recipes](health/nutrition/recipes.md) 555 | - [Fasting](health/nutrition/fasting.md) 556 | - [Supplements](health/nutrition/supplements.md) 557 | - [Hydroponics](health/nutrition/hydroponics.md) 558 | - [Ergonomics](health/ergonomics.md) 559 | - [Aging](health/aging.md) 560 | - [Skin care](health/skin-care.md) 561 | - [Depression](health/depression.md) 562 | - [Fitness](fitness/fitness.md) 563 | - [Strength training](fitness/strength-training.md) 564 | - [Exercises](fitness/exercises.md) 565 | - [Running](fitness/running.md) 566 | - [Yoga](fitness/yoga.md) 567 | - [Medicine](medicine/medicine.md) 568 | - [Diseases](medicine/diseases/diseases.md) 569 | - [Cancer](medicine/diseases/cancer.md) 570 | - [History](history/history.md) 571 | - [Anthropology](history/anthropology.md) 572 | - [Travel](travel/travel.md) 573 | - [Nomad](travel/nomad.md) 574 | - [Backpacks](travel/backpacks.md) 575 | - [Finding home](travel/finding-home.md) 576 | - [Transportation](travel/transportation/transportation.md) 577 | - [Cycling](travel/transportation/cycling.md) 578 | - [Planes](travel/transportation/planes.md) 579 | - [Boats](travel/transportation/boats.md) 580 | - [Events](travel/events.md) 581 | - [Visited](travel/visited/visited.md) 582 | - [Netherlands](travel/visited/netherlands.md) 583 | - [United Kingdom](travel/visited/united-kingdom.md) 584 | - [United States](travel/visited/united-states.md) 585 | - [Russia](travel/visited/russia.md) 586 | - [Germany](travel/visited/germany.md) 587 | - [Japan](travel/visited/japan.md) 588 | - [China](travel/visited/china.md) 589 | - [Canada](travel/visited/canada.md) 590 | - [India](travel/visited/india.md) 591 | - [Ukraine](travel/visited/ukraine.md) 592 | - [Austria](travel/visited/austria.md) 593 | - [Sweden](travel/visited/sweden.md) 594 | - [Norway](travel/visited/norway.md) 595 | - [Finland](travel/visited/finland.md) 596 | - [France](travel/visited/france.md) 597 | - [Korea](travel/visited/korea.md) 598 | - [Cyprus](travel/visited/cyprus.md) 599 | - [Denmark](travel/visited/denmark.md) 600 | - [Greece](travel/visited/greece.md) 601 | - [Portugal](travel/visited/portugal.md) 602 | - [Kazakhstan](travel/visited/kazakhstan.md) 603 | - [Iran](travel/visited/iran.md) 604 | - [United Arab Emirates](travel/visited/united-arab-emirates.md) 605 | - [Argentina](travel/visited/argentina.md) 606 | - [Thailand](travel/visited/thailand.md) 607 | - [Turkey](travel/visited/turkey.md) 608 | - [Spain](travel/visited/spain.md) 609 | - [Bulgaria](travel/visited/bulgaria.md) 610 | - [Belarus](travel/visited/belarus.md) 611 | - [Georgia](travel/visited/georgia.md) 612 | - [Europe](travel/visited/europe.md) 613 | - [Cities](travel/cities.md) 614 | - [Hiking](travel/hiking.md) 615 | - [Geography](geography/geography.md) 616 | - [Spatial analysis](geography/spatial-analysis.md) 617 | - [Business](business/business.md) 618 | - [Startups](business/startups/startups.md) 619 | - [Funding](business/startups/funding.md) 620 | - [Venture capital](business/startups/venture-capital.md) 621 | - [Marketplaces](business/startups/marketplaces.md) 622 | - [Values](business/startups/values.md) 623 | - [Onboarding](business/startups/onboarding.md) 624 | - [Landing pages](business/landing-pages.md) 625 | - [Products](business/products.md) 626 | - [Pricing](business/pricing.md) 627 | - [Payroll](business/startups/payroll.md) 628 | - [Restaurants](business/restaurants.md) 629 | - [DAOs](business/dao.md) 630 | - [Relationships](relationships/relationships.md) 631 | - [Seduction](relationships/seduction.md) 632 | - [Sex](relationships/sex.md) 633 | - [3D Printing](3d-printing/3d-printing.md) 634 | - [Anki](anki/anki.md) 635 | - [Philosophy](philosophy/philosophy.md) 636 | - [Effective altruism](philosophy/effective-altruism.md) 637 | - [Simulated reality](philosophy/simulated-reality.md) 638 | - [Ethics](philosophy/ethics.md) 639 | - [Video](video/video.md) 640 | - [Cinematography](video/cinematography.md) 641 | - [Machine learning](machine-learning/machine-learning.md) 642 | - [Neural networks](machine-learning/neural-networks/neural-networks.md) 643 | - [Generative adversarial networks](machine-learning/neural-networks/generative-adversarial-networks.md) 644 | - [Graph Neural Networks](machine-learning/neural-networks/graph-neural-networks.md) 645 | - [Unsupervised learning](machine-learning/unsupervised-learning.md) 646 | - [Reinforcement learning](machine-learning/reinforcement-learning.md) 647 | - [ML Libraries](machine-learning/libraries/ml-libraries.md) 648 | - [PyTorch](machine-learning/libraries/pytorch.md) 649 | - [Keras](machine-learning/libraries/keras.md) 650 | - [TensorFlow](machine-learning/libraries/tensorflow.md) 651 | - [JAX](machine-learning/libraries/jax.md) 652 | - [Datasets](machine-learning/datasets.md) 653 | - [ML Models](machine-learning/ml-models.md) 654 | - [Autonomous driving](machine-learning/autonomous-driving.md) 655 | - [Artificial intelligence](machine-learning/artificial-intelligence.md) 656 | - [Transfer learning](machine-learning/transfer-learning.md) 657 | - [Computer graphics](computer-graphics/computer-graphics.md) 658 | - [Image processing](computer-graphics/image-processing.md) 659 | - [Computer vision](computer-graphics/computer-vision/computer-vision.md) 660 | - [OCR](computer-graphics/computer-vision/ocr.md) 661 | - [Procedural generation](computer-graphics/procedural-generation.md) 662 | - [Rendering](computer-graphics/rendering.md) 663 | - [Shaders](computer-graphics/shaders.md) 664 | - [Ray Tracing](computer-graphics/ray-tracing.md) 665 | - [Bezier curves](computer-graphics/bezier-curves.md) 666 | - [CUDA](computer-graphics/cuda.md) 667 | - [WebGPU](computer-graphics/webgpu.md) 668 | - [WebGL](computer-graphics/webgl.md) 669 | - [Metal](computer-graphics/metal.md) 670 | - [Vulkan](computer-graphics/vulkan.md) 671 | - [OpenGL](computer-graphics/opengl.md) 672 | - [SVG](computer-graphics/svg.md) 673 | - [Tools](tools/tools.md) 674 | - [XState](tools/xstate.md) 675 | - [Twitter](tools/twitter.md) 676 | - [Obsidian](tools/obsidian.md) 677 | - [Raycast](tools/raycast.md) 678 | - [Docusaurus](tools/docusaurus.md) 679 | - [Dendron](tools/dendron.md) 680 | - [GitBook](tools/gitbook.md) 681 | - [CodeSandbox](tools/codesandbox.md) 682 | - [Dropbox](tools/dropbox.md) 683 | - [Telegram](tools/telegram.md) 684 | - [Reddit](tools/reddit.md) 685 | - [Product Hunt](tools/product-hunt.md) 686 | - [DuckDuckGo](tools/duckduckgo.md) 687 | - [IFTTT](tools/ifttt.md) 688 | - [Notion](tools/notion.md) 689 | - [Roam Research](tools/roam-research.md) 690 | - [Ansible](tools/ansible.md) 691 | - [Dat](tools/dat.md) 692 | - [PDF](tools/pdf.md) 693 | - [IRC](tools/irc/irc.md) 694 | - [ZNC](tools/irc/znc.md) 695 | - [Email](tools/email.md) 696 | - [Slack](tools/slack.md) 697 | - [Discord](tools/discord.md) 698 | - [Zulip](tools/zulip.md) 699 | - [Logseq](tools/logseq.md) 700 | - [Firebase](tools/firebase.md) 701 | - [Elasticsearch](tools/elasticsearch.md) 702 | - [Personal setups](tools/personal-setups.md) 703 | - [Voice assistants](tools/voice-assistants/voice-assistants.md) 704 | - [Wordpress](tools/wordpress.md) 705 | - [Design](design/design.md) 706 | - [Icons](design/icons.md) 707 | - [Fonts](design/fonts.md) 708 | - [Design inspiration](design/design-inspiration.md) 709 | - [Interior Design](design/interior-design.md) 710 | - [Industrial Design](design/industrial-design.md) 711 | - [User Experience](design/user-experience.md) 712 | - [3D Modeling](design/3d-modeling.md) 713 | - [Blender](design/blender.md) 714 | - [Animation](design/animation.md) 715 | - [Figma](design/figma/figma.md) 716 | - [Figma plugins](design/figma/figma-plugins.md) 717 | - [Framer](design/framer.md) 718 | - [Inkscape](design/inkscape.md) 719 | - [Design systems](design/design-systems.md) 720 | - [Logos](design/logos.md) 721 | - [Color](design/color.md) 722 | - [Keyboards](keyboards/keyboards.md) 723 | - [QMK](keyboards/qmk.md) 724 | - [Future](future/future.md) 725 | - [Cryptocurrencies](cryptocurrencies/cryptocurrencies.md) 726 | - [Nano](cryptocurrencies/nano.md) 727 | - [Bitcoin](cryptocurrencies/bitcoin.md) 728 | - [Stellar](cryptocurrencies/stellar.md) 729 | - [Libra](cryptocurrencies/libra.md) 730 | - [TON](cryptocurrencies/ton.md) 731 | - [Monero](cryptocurrencies/monero.md) 732 | - [Avalanche](cryptocurrencies/avalanche.md) 733 | - [Terra](cryptocurrencies/terra.md) 734 | - [Privacy](privacy/privacy.md) 735 | - [Freedom](privacy/freedom.md) 736 | - [Self hosting](privacy/self-hosting.md) 737 | - [Ad blocking](privacy/adblocking.md) 738 | - [Tor](privacy/tor.md) 739 | - [Games](games/games.md) 740 | - [Gamedev](games/gamedev/gamedev.md) 741 | - [Game engines](games/gamedev/game-engines/game-engines.md) 742 | - [Godot](games/gamedev/game-engines/godot.md) 743 | - [Unity](games/gamedev/game-engines/unity.md) 744 | - [Unreal Engine](games/gamedev/game-engines/unreal-engine.md) 745 | - [Bevy](games/gamedev/game-engines/bevy.md) 746 | - [Board games](games/board-games.md) 747 | - [Chess](games/chess.md) 748 | - [Poker](games/poker.md) 749 | - [Sudoku](games/sudoku.md) 750 | - [Minecraft](games/minecraft.md) 751 | - [Golf](games/golf.md) 752 | - [Streaming](streaming/streaming.md) 753 | - [Talks](talks/talks.md) 754 | - [Presentations](talks/presentations.md) 755 | - [Analytics](analytics/analytics.md) 756 | - [Grafana](analytics/grafana.md) 757 | - [Databases](databases/databases.md) 758 | - [PostgreSQL](databases/postgresql.md) 759 | - [SQLite](databases/sqlite.md) 760 | - [Redis](databases/redis.md) 761 | - [EdgeDB](databases/edgedb.md) 762 | - [CockroachDB](databases/cockroachdb.md) 763 | - [DynamoDB](databases/dynamodb.md) 764 | - [FaunaDB](databases/fauna.md) 765 | - [FoundationDB](databases/foundationdb.md) 766 | - [Prometheus](databases/prometheus.md) 767 | - [MongoDB](databases/mongodb.md) 768 | - [SQL](databases/sql/sql.md) 769 | - [Prisma](databases/prisma.md) 770 | - [Memcached](databases/memcached.md) 771 | - [Kdb+](databases/kdb.md) 772 | - [Neo4j](databases/neo4j.md) 773 | - [DuckDB](databases/duckdb.md) 774 | - [Dgraph](databases/dgraph.md) 775 | - [RocksDB](databases/rocksdb.md) 776 | - [Cassandra](databases/cassandra.md) 777 | - [MariaDB](databases/mariadb.md) 778 | - [PlanetScale](databases/planetscale.md) 779 | - [ClickHouse](databases/clickhouse.md) 780 | - [Blockchain](databases/blockchain/blockchain.md) 781 | - [Solana](databases/blockchain/solana.md) 782 | - [Ethereum](databases/blockchain/ethereum.md) 783 | - [Uniswap](databases/blockchain/uniswap.md) 784 | - [Tezos](databases/blockchain/tezos.md) 785 | - [NEAR](databases/blockchain/near.md) 786 | - [Polkadot](databases/blockchain/polkadot.md) 787 | - [Cosmos](databases/blockchain/cosmos.md) 788 | - [Cardano](databases/blockchain/cardano.md) 789 | - [Arweave](databases/blockchain/arweave.md) 790 | - [Art](art/art.md) 791 | - [Photography](art/photography.md) 792 | - [Drawing](art/drawing.md) 793 | - [Pen plotting](art/pen-plotting.md) 794 | - [Sketching](art/sketching.md) 795 | - [Comics](art/comics.md) 796 | - [Anime](art/anime.md) 797 | - [Dancing](art/dancing.md) 798 | - [Generative art](art/generative-art.md) 799 | - [Architecture](art/architecture.md) 800 | - [Tattoos](art/tattoos.md) 801 | - [Clothes](art/clothes.md) 802 | - [Makeup](art/makeup.md) 803 | - [Furniture](art/furniture.md) 804 | - [API](api/api.md) 805 | - [Distributed systems](distributed-systems/distributed-systems.md) 806 | - [RPCs](distributed-systems/rpcs/rpcs.md) 807 | - [gRPC](distributed-systems/rpcs/grpc.md) 808 | - [CRDTs](distributed-systems/crdt.md) 809 | - [Load balancing](distributed-systems/load-balancing.md) 810 | - [Message queue](distributed-systems/message-queue/message-queue.md) 811 | - [ZeroMQ](distributed-systems/message-queue/zeromq.md) 812 | - [MQTT](distributed-systems/message-queue/mqtt.md) 813 | - [Backups](backups/backups.md) 814 | - [Space](space/space.md) 815 | - [Black holes](space/black-holes.md) 816 | - [Universe](space/universe.md) 817 | - [Rockets](space/rockets.md) 818 | - [Psychology](psychology/psychology.md) 819 | - [Addiction](psychology/addiction.md) 820 | - [Biases](psychology/biases.md) 821 | - [Negotiating](psychology/negotiating.md) 822 | - [Marketing](psychology/marketing.md) 823 | - [Decision making](psychology/decision-making.md) 824 | - [Sleep](sleep/sleep.md) 825 | - [Dreaming](sleep/dreaming.md) 826 | - [Work](work/work.md) 827 | - [Finding work](work/finding-work/finding-work.md) 828 | - [Interviews](work/finding-work/interviews.md) 829 | - [CV](work/finding-work/cv.md) 830 | - [Hiring](work/finding-work/hiring.md) 831 | - [Freelancing](work/finding-work/freelancing.md) 832 | - [Remote work](work/remote-work.md) 833 | - [Consultancies](work/consultancies.md) 834 | - [Communication](work/communication.md) 835 | - [Management](management/management.md) 836 | - [Product Management](management/product-management.md) 837 | - [Leadership](management/leadership.md) 838 | - [LaTeX](latex/latex.md) 839 | - [Robots](robots/robots.md) 840 | - [Drones](robots/drones.md) 841 | - [NLP](nlp/nlp.md) 842 | - [Speech recognition](nlp/speech-recognition.md) 843 | - [Virtual assistant](nlp/virtual-assistant.md) 844 | - [Speech synthesis](nlp/speech-synthesis.md) 845 | - [Sentiment Analysis](nlp/sentiment-analysis.md) 846 | - [Bots](nlp/bots.md) 847 | - [Virtual Reality](virtual-reality/virtual-reality.md) 848 | - [Augmented Reality](augmented-reality/augmented-reality.md) 849 | - [ARKit](augmented-reality/arkit.md) 850 | - [Neuroscience](neuroscience/neuroscience.md) 851 | - [Brain Computer Interfaces](neuroscience/brain-computer-interfaces.md) 852 | - [Cognition](neuroscience/cognition.md) 853 | - [CLI](cli/cli.md) 854 | - [sed](cli/sed.md) 855 | - [tmux](cli/tmux.md) 856 | - [ngrok](cli/ngrok.md) 857 | - [Humans](humans/humans.md) 858 | - [Alan Watts](humans/alan-watts.md) 859 | - [Philanthropy](philanthropy/philanthropy.md) 860 | - [Animals](animals/animals.md) 861 | - [Birds](animals/birds.md) 862 | - [Podcasts](podcasts/podcasts.md) 863 | - [Podcast recording](podcasts/podcast-recording.md) 864 | - [Documentaries](documentaries/documentaries.md) 865 | - [Movies](movies/movies.md) 866 | - [Directors](movies/directors.md) 867 | - [Acting](movies/acting.md) 868 | - [TV series](tv-series/tv-series.md) 869 | - [Courses](courses/courses.md) 870 | - [Articles](articles/articles.md) 871 | - [Poems](poems/poems.md) 872 | - [Research papers](research-papers/research-papers.md) 873 | - [A view of mathematics](research-papers/a-view-of-mathematics.md) 874 | - [Books](books/books.md) 875 | - [Go in action](books/go-in-action.md) 876 | - [AI: Modern Approach](books/ai-modern-approach.md) 877 | - [Mind for Numbers](books/mind-for-numbers.md) 878 | - [Mindstorms](books/mindstorms.md) 879 | - [Cracking the coding interview](books/cracking-the-coding-interview.md) 880 | - [Programming in Haskell](books/programming-in-haskell.md) 881 | - [Rich dad poor dad](books/rich-dad-poor-dad.md) 882 | - [Elements of programming interviews](books/elements-of-programming-interviews.md) 883 | - [Crafting interpreters](books/crafting-interpreters.md) 884 | - [Brave new world](books/brave-new-world.md) 885 | - [Code: hidden language of software](books/code-the-hidden-language.md) 886 | - [Eloquent ruby](books/eloquent-ruby.md) 887 | - [Surely you are joking Mr Feynman](books/surely-you-are-joking-mr-feynman.md) 888 | - [Thinking, fast and slow](books/thinking-fast-and-slow.md) 889 | - [Other](other/other.md) 890 | - [Wiki workflow](other/wiki-workflow.md) 891 | - [My workflow notation](other/my-workflow-notation.md) 892 | - [Queries](other/queries.md) 893 | - [Funny](other/funny.md) 894 | - [Standup](other/standup.md) 895 | - [NSFW](other/nsfw.md) 896 | - [Puzzles](other/puzzles.md) 897 | - [Woodworking](other/woodworking.md) 898 | - [Gardening](other/gardening.md) 899 | - [Mushrooms](other/mushrooms.md) 900 | - [Surfing](other/surfing.md) 901 | - [Real Estate](other/real-estate.md) 902 | - [Newsletters](other/newsletters.md) 903 | - [Used hotkeys](other/used-hotkeys.md) 904 | - [Mentions](other/mentions.md) 905 | - [Web presence](other/web-presence.md) 906 | - [Notes](notes/notes.md) 907 | - [Code](code/code.md) 908 | - [CMDs](code/cmd.md) 909 | - [CMD Explain](code/cmd-explain.md) 910 | - [CMD Run](code/cmd-run.md) 911 | - [Definitions](code/definitions.md) 912 | - [Looking back](looking-back/looking-back.md) 913 | - [2017](looking-back/2017/2017.md) 914 | - [2018](looking-back/2018/2018.md) 915 | - [2018 January](looking-back/2018/2018-january.md) 916 | - [2018 February](looking-back/2018/2018-february.md) 917 | - [2018 March](looking-back/2018/2018-march.md) 918 | - [2018 April](looking-back/2018/2018-april.md) 919 | - [2018 May](looking-back/2018/2018-may.md) 920 | - [2018 June](looking-back/2018/2018-june.md) 921 | - [2018 July](looking-back/2018/2018-july.md) 922 | - [2018 August](looking-back/2018/2018-august.md) 923 | - [2018 September](looking-back/2018/2018-september.md) 924 | - [2018 October](looking-back/2018/2018-october.md) 925 | - [2018 November](looking-back/2018/2018-november.md) 926 | - [2018 December](looking-back/2018/2018-december.md) 927 | - [2019](looking-back/2019/2019.md) 928 | - [2019 January](looking-back/2019/2019-january.md) 929 | - [2019 February](looking-back/2019/2019-february.md) 930 | - [2019 March](looking-back/2019/2019-march.md) 931 | - [2019 April](looking-back/2019/2019-april.md) 932 | - [2019 May](looking-back/2019/2019-may.md) 933 | - [2019 June](looking-back/2019/2019-june.md) 934 | - [2019 July](looking-back/2019/2019-july.md) 935 | - [2019 August](looking-back/2019/2019-august.md) 936 | - [2019 September](looking-back/2019/2019-september.md) 937 | - [2019 October](looking-back/2019/2019-october.md) 938 | - [2019 November](looking-back/2019/2019-november.md) 939 | - [2019 December](looking-back/2019/2019-december.md) 940 | - [2020](looking-back/2020/2020.md) 941 | - [2020 January](looking-back/2020/2020-january.md) 942 | - [2020 February](looking-back/2020/2020-february.md) 943 | - [2020 March](looking-back/2020/2020-march.md) 944 | - [2020 April](looking-back/2020/2020-april.md) 945 | - [2020 May](looking-back/2020/2020-may.md) 946 | - [2020 June](looking-back/2020/2020-june.md) 947 | - [2020 July](looking-back/2020/2020-july.md) 948 | - [2020 August](looking-back/2020/2020-august.md) 949 | - [2020 September](looking-back/2020/2020-september.md) 950 | - [2020 October](looking-back/2020/2020-october.md) 951 | - [2020 November](looking-back/2020/2020-november.md) 952 | - [2020 December](looking-back/2020/2020-december.md) 953 | - [2021](looking-back/2021/2021.md) 954 | - [2021 January](looking-back/2021/2021-january.md) 955 | - [2021 February](looking-back/2021/2021-february.md) 956 | - [2021 March](looking-back/2021/2021-march.md) 957 | - [2021 April](looking-back/2021/2021-april.md) 958 | - [2021 May](looking-back/2021/2021-may.md) 959 | - [2021 June](looking-back/2021/2021-june.md) 960 | - [2021 July](looking-back/2021/2021-july.md) 961 | - [2021 August](looking-back/2021/2021-august.md) 962 | - [2021 September](looking-back/2021/2021-september.md) 963 | - [2021 October](looking-back/2021/2021-october.md) 964 | - [2021 November](looking-back/2021/2021-november.md) 965 | - [2021 December](looking-back/2021/2021-december.md) 966 | - [2022 January](looking-back/2022/2022-january.md) 967 | - [2022 February](looking-back/2022/2022-february.md) 968 | - [2022 March](looking-back/2022/2022-march.md) 969 | - [2022 April](looking-back/2022/2022-april.md) 970 | --------------------------------------------------------------------------------