Skip to content

Instantly share code, notes, and snippets.

@thanhtoan1196
thanhtoan1196 / ansible_semaphore_ubuntu.md
Last active September 16, 2017 03:46 — forked from thedumbtechguy/ansible_semaphore_ubuntu.md
Install Ansible Semaphore on Ubuntu

Ansible Installation

Ansible is a powerful configuration management tool that we use in managing our infrastructure and applications.

It requires a centralized Control server and can connect to hosts over an array of connection types including SSH.

Controller Setup

The Ansible controller will run our playbooks. This needs both Ansible and Semaphore (web based management console) setup.

@thanhtoan1196
thanhtoan1196 / phabricator.md
Last active September 16, 2017 03:47
phabricator

Phabricator Ubuntu Installation Guide

This is a supplement to the official Phabricator Installation Guide, because their guide will leave you with all kinds of permission and config errors and ~15,000 setup issues on startup.

Install bonus packages:

sudo apt-get install python-pygments

And create repo directory if phabricator will be hosting repos:

@Override
public void onBindViewHolder(RecyclerViewHolder holder,final int position) {
holder.textName.setText("login:"+contributor.login);
setAnimation(holder.container, position);
}
@Override
public void onViewDetachedFromWindow(RecyclerViewHolder holder) {
super.onViewDetachedFromWindow(holder);
RecyclerViewHolder recyclerViewHolder = (RecyclerViewHolder)holder;
public class ListActivity extends AppCompatActivity {
private static final int LIMIT = 30;
private boolean mIsRequest = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
RxRecyclerView.scrollEvents(binding.recyclerView)
.compose(bindUntilEvent(ActivityEvent.DESTROY))
.map(scrollEvent -> {
boolean isBottom = false;
if (ConfigUtils.isOrientationPortrait(this)) {
isBottom = layoutManager.findLastCompletelyVisibleItemPositions(
new int[2])[1] >= mImages.size() - 4;
} else if (ConfigUtils.isOrientationLandscape(this)) {
isBottom = layoutManager.findLastCompletelyVisibleItemPositions(
new int[3])[2] >= mImages.size() - 4;
@thanhtoan1196
thanhtoan1196 / build.gradle
Created September 16, 2017 04:32 — forked from maxirosson/build.gradle
Versioning Android apps
apply plugin: 'com.android.application'
ext.versionMajor = 1
ext.versionMinor = 2
ext.versionPatch = 3
ext.versionClassifier = null
ext.isSnapshot = true
ext.minimumSdkVersion = 15
android {
minSdkVersion = 21
targetSdkVersion = 23
compileSdkVersion = 26
buildToolsVersion = "26.0.2"
kotlinVersion = "1.2.10"
supportLibraryVersion = "26.0.2"
constraintLayoutVersion = "1.0.2"
multidexVersion = "1.0.1"
RxView.clicks(btLogin)
.subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
Toast.makeText(MainActivity.this,"开始登录",Toast.LENGTH_SHORT).show();
}
});
RxCompoundButton.checkedChanges(checkBox)
.subscribe(new Action1<Boolean>() {
@thanhtoan1196
thanhtoan1196 / subtitle-extract.md
Created December 8, 2019 14:03 — forked from pavelbinar/extract-subtitles-from-mkv.md
Extract subtitles from .mkv files on Mac OS X

Extract Subtitles From .mkv

This instructions whall work on any system (Mac OS X, Linux) supporting installation of mkvtoolnix

Install mkvtoolnix

If you don't have Homebrew installed, do it first, the continue with following command:

brew install mkvtoolnix
010-editor: 010 Editor
0-ad: 0 A.D.
0xed: 0xED
115browser: 115Browser, 115浏览器
1clipboard: 1Clipboard
1password: 1Password
1password-cli: 1Password CLI
245cloud: 245cloud
33-rpm: 33 RPM
360safe: 360 Total Security