Skip to content

Instantly share code, notes, and snippets.

View yegle's full-sized avatar

Yuchen Ying yegle

  • Google
  • San Francisco Bay Area
View GitHub Profile

Keybase proof

I hereby claim:

  • I am yegle on github.
  • I am yegle (https://keybase.io/yegle) on keybase.
  • I have a public key ASA_sLGmpOa5Duyf2sYyu-22gA5UrZf_4dlrv7FG6619FAo

To claim this, I am signing this object:

$ curl -I https://www.autonomous.ai -H 'accept-language: en,zh-CN;q=0.9,zh;q=0.8'
HTTP/2 500
server: nginx
date: Wed, 27 May 2020 06:46:20 GMT
content-type: text/html; charset=utf-8
content-length: 58788
set-cookie: lang=zh-CN; Max-Age=315360000; Path=/; Expires=Sat, 25 May 2030 06:46:20 GMT
access-control-allow-origin: *
access-control-allow-methods: GET, POST, OPTIONS, PUT, PATCH, DELETE
access-control-allow-headers: X-Requested-With,content-type
@yegle
yegle / webpy-django-rest-api.py
Created November 2, 2012 03:56
REST API based on Django ORM and web.py
class API(app.page):
pass
class DjangoAPI(API):
model = None
def __init__(self):
self.qs = self.model.objects
self.exclude = []
@yegle
yegle / example.yaml
Created May 20, 2021 07:55
Blackbox Exporter scraping Transmission BitTorrent Server RPC Example
# Caveat:
# 1. query_response support regex capture group, but you have to write expect/send in the same YAML item.
# 2. When send the "send" line, Blackbox Exporter will automatically add a \n.
transmission_rpc:
prober: tcp
timeout: 30s
tcp:
query_response:
- send: "GET /transmission/rpc/ HTTP/1.1\r\nAuthorization: Basic YOUR_BASIC_AUTH_HEADER\r\n\r"
@yegle
yegle / how-kernel-handles-send-system-call.md
Last active August 6, 2021 09:32
How Linux kernel handles the send system call

This is a brief introduction about how Linux kernel handles the send system call.

This study is based on kernel version 3.7.2, which is the latest stable kernel when writing this study.

How system call is defined

In the latest kernel, the system call is defined using the SYSCALL_DEFINEx macro, in which x is the number of arguments. For example, in order to find the definition of asmlinkage long sys_sendto(int, void __user *, size_t, unsigned, struct sockaddr __user *, int);, you need to grep for SYSCALL_DEFINE6 because it has 6 arguments.

The definition of the system call send can be found at net/socket.c.

@yegle
yegle / bash-invocation.md
Created January 5, 2012 11:44
Bash Shell启动方式与RC脚本

Bash Shell启动方式与rc脚本

Shell的不同分类

根据启动Bash Shell的方式不同,对Shell有两种分类方式

登录Shell与非登录Shell

根据Shell的启动方式不同,可以将Shell分为

@yegle
yegle / example.py
Created January 21, 2013 00:29
How to use Django's get_readonly_fields
def get_readonly_fields(self, request, obj=None):
if obj and obj.is_processed:
return ('csv_file',) + self.readonly_fields
else:
return self.readonly_fields