Skip to content

Instantly share code, notes, and snippets.

View caasi's full-sized avatar
🏝️
Spiritual Homeland

Isaac Huang caasi

🏝️
Spiritual Homeland
View GitHub Profile
foo(0, 1, 2, function(x) {
return bar(0, 1, function(y) {
return x + y;
});
});
// v.s.
foo(0, 1, 2, (x) =>
bar(0, 1, (y) =>

HH 語錄

hint

給你一點小建議,可以把各個工作的年月份補上去,這樣面試官也會比較清楚時間段喔!

footer

我們目前沒有工作可以推薦給你,但是未來有可能有,因為持續都會有新客戶,所以你想與我談,我還是很樂意,再請你提供聯絡方式。

Some more thoughts on Shih-Chieh Ilya Li.

  1. I met him through blogging. He was one of the first bloggers in Taiwan and when I came back to look for work in Taiwan in 2005 I had met him for the first time, along with some other people who have remained close, such as Weizhong Yang, Lukhnos Liu, and Yi-tze Lee (who is now a colleague!)

  2. 2005? Seems like I've known him much longer. I think we shared certain ways of thinking that made it feel that way.

  3. He was one of the few people to see the danger of "fake news" and foreign bots on the Taiwanese political landscape. In the past few weeks I'd arranged for two foreign reporters to talk to him about this. I don't know if they ever did. He had set up a company that was working on political informatics..

  4. As Lukhnos reminded me, his name "Ilya" was from a quote in Levinas "This anonymous being, also called the il y a [there is], does not “give” the way Heidegger's Being does."

xxx.xxx.xxx.xxx - - [10/May/2019 00:39:54] "GET /comet/poll/g0v.tw/1557419934.339/updates.json?_=1557419934341 HTTP/1.1" 200 2 60.0970
xxx.xxx.xxx.xxx - - [10/May/2019 00:39:54] "GET /comet/poll/g0v.tw/1557419934.339/updates.json?_=1557419934341 HTTP/1.1" 200 2 60.0980
xxx.xxx.xxx.xxx - - [10/May/2019 00:39:58] "GET /channel/g0v.tw/2014-05-03/93 HTTP/1.1" 200 1953 0.0030
xxx.xxx.xxx.xxx - - [10/May/2019 00:39:58] "GET /channel/g0v.tw/2014-05-03/93 HTTP/1.1" 200 1953 0.0050
xxx.xxx.xxx.xxx - - [10/May/2019 00:40:03] "GET /channel/g0v.tw/2014-05-06/176 HTTP/1.1" 200 1559 0.0050
xxx.xxx.xxx.xxx - - [10/May/2019 00:40:03] "GET /channel/g0v.tw/2014-05-06/176 HTTP/1.1" 200 1559 0.0060
xxx.xxx.xxx.xxx - - [10/May/2019 00:40:15] "GET /channel/g0v.tw/2014-03-19/809 HTTP/1.1" 200 1511 0.0040
xxx.xxx.xxx.xxx - - [10/May/2019 00:40:15] "GET /channel/g0v.tw/2014-03-19/809 HTTP/1.1" 200 1511 0.0040
xxx.xxx.xxx.xxx - - [10/May/2019 00:40:15] "GET /channel/coscup/2017-08-06/440 HTTP/1.1" 200 1583 0.0030
xxx.xxx.xxx.xxx - - [
@caasi
caasi / postgresql.txt
Created April 16, 2019 12:51
postgresql 9.3 update failed
(Reading database ... 64195 files and directories currently installed.)
Preparing to unpack .../libxslt1.1_1.1.28-2ubuntu0.2_amd64.deb ...
Unpacking libxslt1.1:amd64 (1.1.28-2ubuntu0.2) over (1.1.28-2ubuntu0.1) ...
Preparing to unpack .../postgresql-9.3_9.3.24-0ubuntu0.14.04_amd64.deb ...
* Stopping PostgreSQL 9.3 database server * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
[fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
* Stopping PostgreSQL 9.3 database server * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
@caasi
caasi / crontab
Last active April 13, 2019 18:22
A simple watchdog script
*/5 * * * * /root/bin/watchdog.sh redis:redis/redis-server.pid logbot logbot5000 logbot6000
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 1.9.3 (2014-02-24 patchlevel 392) [java]
- INSTALLATION DIRECTORY: /usr/local/rvm/gems/jruby-1.7.11
- RUBY EXECUTABLE: /usr/local/rvm/rubies/jruby-1.7.11/bin/jruby
- EXECUTABLE DIRECTORY: /usr/local/rvm/gems/jruby-1.7.11/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- universal-java-1.7
THE ORDER OF MYSTERIES
MEMBERSHIP ROSTER
Last Updated 6/1/86
HEADMISTRESS
Shannon Rivers
MISTRESS OF NOVICES
Eve Devoir
@caasi
caasi / action-from-id.js
Created November 8, 2018 17:25
Extract GTM event labels and actions from the element id
function() {
var result = {{Click ID}}.match(/sense-([^_\s]*)__([^_\s]+)/);
if (!result) return {{Click Text}};
var label = result[1];
var action = result[2].split('-');
var last = action[action.length-1];
if (last.match(/btn|input|link|type/)) {
action = action.slice(0, action.length - 1);
}
action = action.join('-');
@caasi
caasi / race.ts
Created October 4, 2018 15:00
Race two callbacks
type Cont = (callback: (a: any) => void) => void;
const timeout500: Cont = (next) => setTimeout(next, 500, 'timeout500');
const timeout1000: Cont = (next) => setTimeout(next, 1000, 'timeout1000');
const race
: (a: Cont, b: Cont) => Cont
= (a, b) => (next) => {
let resolved = false;