Skip to content

Instantly share code, notes, and snippets.

View tianchaijz's full-sized avatar
🏠
Working from home

tianchaijz tianchaijz

🏠
Working from home
View GitHub Profile
# 2013-03-17 刚才不小心更新了一下 curl
sudo pacman -S curl
# 结果 curl 跪了,所有的 pacman 命令也是
curl: /usr/lib/libc.so.6: version `GLIBC_2.17' not found (required by curl)
curl: /usr/lib/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/libcurl.so.4)
# 于是很悲剧地连回滚 curl 都不行,幸好找到了不通过 pacman 命令回滚软件的方式
# https://bbs.archlinux.org/viewtopic.php?pid=1148260#p1148260
zcat /var/cache/pacman/pkg/curl-7.26.0-1-<arch>.pkg.tar.xz | tar xv -C /
@tianchaijz
tianchaijz / example.lua
Last active August 29, 2015 14:06 — forked from mebens/example.lua
require("list")
local a = { 3 }
local b = { 4 }
local l = list({ 2 }, a, b, { 5 })
l:pop()
l:shift()
l:push({ 6 })
l:unshift({ 7 })
### emerge package management (need root access) ###
### "emerge" is a tool manipulating Gentoo's package management tool "Portage" ###
# update portage tree
emerge --sync
# search package
emerge --search pdf
emerge --searchdesc pdf
# Reference: http://www.gentoo.org/doc/zh_cn/gentoo-x86-quickinstall.xml
##########################################################################
##### part 1: boot with gentoo minimal #####
# boot
gentoo
# config network
net-setup eth0
ifconfig
# -*- coding: utf-8 -*-
import os,time
import threading
rlock = threading.RLock()
curPosition = 0
class Reader(threading.Thread):
def __init__(self, res):
self.res = res
#!/usr/bin/env python3
import sys
import socket
import select
def command(name, args=None):
return {'name': name, 'args': args}
def readcmd():
local$ socat TCP-LISTEN:2222,bind=127.0.0.1,reuseaddr,fork TCP-LISTEN:2223,reuseaddr
local$ ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost
remote$ socat TCP:10.0.2.2:2223 TCP:127.0.0.1:22

Basic unit type:

λ> replTy "()"
() :: ()

Basic functions:

@tianchaijz
tianchaijz / tools.md
Last active August 29, 2015 14:10 — forked from nrc/tools.md

Rust developer tools - status and strategy

Availability and quality of developer tools are an important factor in the success of a programming language. C/C++ has remained dominant in the systems space in part because of the huge number of tools tailored to these lanaguages. Succesful modern languages have had excellent tool support (Java in particular, Scala, Javascript, etc.). Finally, LLVM has been successful in part because it is much easier to extend than GCC. So far, Rust has done pretty well with developer tools, we have a compiler which produces good quality code in reasonable time, good support for debug symbols which lets us leverage C++/lanaguge agnostic tools such as debuggers, profilers, etc., there are also syntax highlighting, cross-reference, code completion, and documentation tools.

In this document I want to layout what Rust tools exist and where to find them, highlight opportunities for tool developement in the short and long term, and start a discussion about where to focus our time an

The fastest remote directory rsync over ssh archival I can muster (40MB/s over 1gb NICs)

This creates an archive that does the following:

rsync (Everyone seems to like -z, but it is much slower for me)

  • a: archive mode - rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
  • H: preserves hard-links
  • A: preserves ACLs