Skip to content

Instantly share code, notes, and snippets.

View nesterchung's full-sized avatar

Nester Chung nesterchung

View GitHub Profile

##分布式系统(Distributed System)资料


#####希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多.

介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣可以去他的主页了解.

@nesterchung
nesterchung / tmux.conf
Created July 23, 2018 03:38 — forked from spicycode/tmux.conf
The best and greatest tmux.conf ever
# 0 is too far from ` ;)
set -g base-index 1
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
#set -g default-terminal screen-256color
set -g status-keys vi
set -g history-limit 10000
body {
font-family: 'Roboto', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 20px;
font-weight: 400;
letter-spacing: 0.1px;
color: rgba(0, 0, 0, 0.87);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
@nesterchung
nesterchung / goinstall.sh
Created June 8, 2018 09:08
go quick install
= install on mac =
== Install ==
1. `brew update && brew upgrade`
2. `brew install go` or `brew install go`
== env settings ==
@nesterchung
nesterchung / demo.kt
Created June 7, 2018 09:18
Serializable crash demo
class A : Serializable {
var b: B? = null
}
// without serializable
class B {
}
@nesterchung
nesterchung / CenterSnappedSmoothScroller.kt
Created June 6, 2018 06:21
smooth scroll to center of item
class CenterSnappedSmoothScroller(context: Context) : LinearSmoothScroller(context) {
override fun calculateDtToFit(viewStart: Int, viewEnd: Int, boxStart: Int, boxEnd: Int, snapPreference: Int): Int {
return center(super.calculateDtToFit(viewStart, viewEnd, boxStart, boxEnd, snapPreference), viewEnd - viewStart)
}
private fun center(dx: Int, viewWidth: Int): Int {
return if (dx < 0) {
dx + (viewWidth / 2)
} else {
dx - (viewWidth / 2)
@nesterchung
nesterchung / demo.kt
Created May 29, 2018 06:22
drawerlayout scroll to top
val toggle = object : ActionBarDrawerToggle(this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
override fun onDrawerClosed(drawerView: View?) {
super.onDrawerClosed(drawerView)
val recyclerView = navigationView.getChildAt(0) as RecyclerView
recyclerView.layoutManager.scrollToPosition(0)
}
}
drawer_layout.addDrawerListener(toggle)
@nesterchung
nesterchung / styles.xml
Created May 25, 2018 10:03
AppBar Transplat
<style name="AppTheme.AppBarOverlay.Transplant" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="colorPrimary">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="elevation">0dp</item>
</style>
@nesterchung
nesterchung / Demo.kt
Last active May 24, 2018 16:46
rxkotlin parallel execute and collect to single
import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers
import java.util.*
class Demo {
data class Result(val a: String, val b: String, val c: String)
fun start() {
val a = Flowable.just("A")
val b = Flowable.just("B")
@nesterchung
nesterchung / RemoteCallbackList.kt
Created May 21, 2018 07:30
kotlin hepler function for RemoteCallbackList
inline fun <E : IInterface?> RemoteCallbackList<E>.forEach(f: (E) -> Unit) {
var i = beginBroadcast()
while (i > 0) {
i--
try {
f(getBroadcastItem(i))
} catch (e: RemoteException) {
// The RemoteCallbackList will take care of removing
// the dead object for us.
}