Jim Cheung

Sunday, January 03, 2021

new year, re-styled the site, removed those non-sense pwa / js / minify stuffs, now only has one plain css file

Monday, January 04, 2021

not a heavy core.logic user, I'll use it for simple IQ questions:

(use 'clojure.core.logic)
(require '[clojure.core.logic.fd :as fd])

(run* [q]
  (fresh [x y z]
    (fd/in x y z q (fd/interval 1 200))
     (= (+ x x x) 45)
     (= (+ y y y) 21)
     (= (+ z z z) 12)
     (= (+ z (* x y)) q))))

Tuesday, January 05, 2021

this is a great artile on why and how about polimorphism in clojure: Clojure from the ground up: polymorphism

I learned something from it too:

Thursday, January 14, 2021

I only use twitter as bookmarker, but it's time to remove this dependency

working on some clojure with sqlite:

Friday, January 15, 2021

I extracted data in my tweets and put it here, will do pager later

it was pretty fun, this time I used sqlite, the best thing is I can do an onliner query and feed to any script:

$ sqlite3 data.db -cmd ".headers on" -cmd ".mode csv" "select * from ..."

then I only deal with the csv data, much simpler

I'm also moving the search engine from elasticsearch to sqlite full text search as well, it's lots of resources wasted on elasticsearch for such small data set.

Monday, January 18, 2021

for sqlite full text search, FTS5 has improvements on sort by relevance and highlight results

to check whether FTS5 is available:

sqlite> pragma compile_options;

look for ENABLE_FTS5

usage: SQLite FTS5 Extension

I need to compile it in order to get FTS5 support

$ wget "https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release" -O sqlite.tar.gz
$ ./configure --enable-fts5
$ make
$ sudo make install

learned about the Self language from A tour of Self

kinda like smalltalk, here's another series about it: Series about Self

a long read: How to open a file in Emacs

Tuesday, January 19, 2021

saw few new manning books on safari online, haven't read any java book for few years, reading this one: Classic Computer Science Problems in Java

another one is Deep Learning with Structured Data, because it's about pandas at the beginning.

I'm also interested in this one: Math for Programmers actually it's about game development I think

Cloud Native Go has some updates too

Wednesday, January 27, 2021

learned about Task Spooler, which could be useful for some of my local tasks

Saturday, January 30, 2021

reading Programming Algorithms in Lisp and The Pragmatic Programmer

and re-pick up common lisp again:

$ curl -O https://beta.quicklisp.org/quicklisp.lisp
$ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc
$ gpg --verify quicklisp.lisp.asc quicklisp.lisp
$ sbcl --load quicklisp.lisp
* (quicklisp-quickstart:install)
* (ql:quickload :rutils)
* (ql:add-to-init-file)
* (quit)
CL-USER> (ql:quickload :rutils)
CL-USER> (in-package :rtl-user)
CL-USER> (named-readtables:in-readtable rtl:rutils-readtable)

there's another book I'm interested in: The Common Lisp Condition System

Sunday, January 31, 2021

reading Hands-On Reactive Programming with Clojure

but I'm trying to do examples with shadow-cljs

$ npx create-cljs-project acme-app
$ npx shadow-cljs server

then just following their README to create html

Blog Archive