Saturday, August 12, 2021
bought the book Crafting Interpreters the book you can read it free online, but I bought the book anyways so I can write note on pages.
talking about talking notes, I highly recommend Pentel Orenz Nero 0.3mm pencil it is thin enough to write lots in a tiny area and very smooth I have many pencils but this is the best.
the language made in the book is called lox
and implemented in java I don't have issue with java but I don't want to just follow the example so I wrote it in clojure, just use atom
for states
Sunday, August 22, 2021
emacs to highlight trailing spaces
(global-whitespace-mode)
(setq whitespace-style '(trailing tabs big-indent))
I also have to add this:
(custom-set-variables
'(show-trailing-whitespace t))
found some good vim config at Torbet/Vim-It-Up
set scrolloff=10
nnoremap Y y$
nnoremap <leader><leader> <C-^>
nnoremap <Left> :bp<CR>
nnoremap <Right> :bn<CR>
did a tiny project using this way: React without webpack: fast path to a working app from scratch
I like how simple and fast it is, all you need is esbuild
a minimal custom event module, copy from Talk to your React components with custom events
export const on = (eventType, listener) => {
document.addEventListener(eventType, listener)
}
export const off = (eventType, listener) => {
document.removeEventListener(eventType, listener)
}
export const once = (eventType, listener) => {
const handleEventOnce = event => {
listener(event)
off(eventType, handleEventOnce)
}
on(eventType, handleEventOnce)
}
export const trigger = (eventType, data) => {
const event = new CustomEvent(eventType, { detail: data })
document.dispatchEvent(event)
}
for react remember wrap the handler with useCallback
read Mastering TypeScript - Fourth Edition
there's some good stuffs in typescript, I particularly like the never type.
Wednesday, August 25, 2021
after tried react without webpack using esbuild, I also tried it with deno
deno already has a built-in bundler just create this import maps
{
"imports": {
"react": "https://esm.sh/react@17",
"react-dom": "https://esm.sh/react-dom@17"
}
}
then run deno bundle --import-map importmap.json app.jsx bundle.js
that is client side, for server side and ssr, can check this article: Guide to server-side rendering with Deno and React Deno.emit
looks interesting
How to smoothly develop node modules locally using npm link
some new Manning books show up on safari, I picked a few to my reading list:
- Haskell in Depth
- Parallel and High Performance Computing
- API Design Patterns
- Advanced Algorithms and Data Structures
also reading A Common-Sense Guide to Data Structures and Algorithms, Second Edition
Thursday, August 26, 2021
saved bookmarks from last month:
terminal stuffs
- Bringing the Unix Philosophy to the 21st Century
- An Introduction to JQ
- johnkerl/miller: Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
- An Opinionated Guide to xargs
- Netcat - All you need to know
- Fun with Unix domain sockets
clojure
- JUXT Clojure Radar 2021
- 6 Years of Professional Clojure
- cnuernber/tmdjs: High Performance Data Processing for ClojureScript
- Clojure builds as an amalgamation of orthogonal parts
good stuffs
- B-Trees: More Than I Thought I'd Want to Know
- My favorite papers
- On the joys of implementing a database project from scratch
- How To Design A Reliable Distributed Timer
- 5000x faster CRDTs: An Adventure in Optimization
- How to Measure Execution Time of a Program
- Zip - How not to design a file format.
- Summer Blog Backlog: Distributed Systems
- Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
- Reading Group. Paxos vs Raft: Have we reached consensus on distributed consensus?
- Zig, Skia, Clojure, Geometry and the Japanese TV Show: ICFP Contest 2021
Thursday, September 02, 2021
two "boring" books:
Friday, September 03, 2021
just needs to revisit colabs recently, found it's now much easier to access drive content now (if it don't auto-mount, call this)
from google.colab import drive
drive.mount('/content/drive')
I can keep secrets (api keys etc..) in my google drive and hide it from the notebook:
secrets = "/content/drive/MyDrive/secrets/config.json"
with open(secrets, 'r') as f:
config = json.load(f)
for importing modules from google drive, I tried this but it doesn't work ...
import sys
sys.path.append('/content/drive/MyDrive/modules')
Blog Archive
- Newer Entries
- 2021 September
- 2021 December
- 2022 March
- 2022 April
- 2022 May
- 2022 June
- 2022 July
- 2022 August
- 2022 September
- 2022 October
- 2022 November
- 2022 December
- 2023 January
- 2023 February
- 2023 March
- 2023 April
- 2023 July
- 2023 August
- 2023 September
- 2023 October
- 2023 November
- 2023 December
- 2024 January
- 2024 February
- 2024 March
- 2024 April
- 2024 May
- 2024 June
- 2024 August
- 2024 September
- 2024 October
- 2024 November
- Older Entries
- 2021 June
- 2021 May
- 2021 April
- 2021 March
- 2021 February
- 2021 January
- 2020 December
- 2020 November
- 2020 October
- 2020 September
- 2020 August
- 2019 December
- 2019 November
- 2019 October
- 2019 July
- 2019 May
- 2019 April
- 2019 March
- 2019 February
- 2019 January
- 2018 December
- 2018 November
- 2018 October
- 2018 September
- 2018 August
- 2018 July
- 2018 June
- 2018 May
- 2018 April
- 2018 March
- 2018 February
- 2018 January
- 2017 December
- 2017 November
- 2017 October
- 2017 September
- 2017 August
- 2017 July
- 2017 June
- 2017 May
- 2017 April
- 2017 March
- 2017 February
- 2017 January
- 2016 December
- 2016 November
- 2016 October
- 2016 September
- 2016 August
- 2016 July
- 2016 June
- 2016 May
- 2016 April
- 2016 March
- 2016 February
- 2016 January
- 2015 December
- 2015 November
- 2015 October
- 2015 September
- 2015 August
- 2015 July
- 2015 June
- 2015 May
- 2015 April
- 2015 March
- 2015 February
- 2015 January
- 2014 December
- 2014 November
- 2014 October
- 2014 September
- 2014 August
- 2014 March
- 2014 February
- 2014 January
- 2013 December
- 2013 October
- 2013 July
- 2013 June
- 2013 May
- 2013 March
- 2013 February
- 2013 January
- 2012 December
- 2012 November
- 2012 October
- 2012 September
- 2012 August