Skip to content

Instantly share code, notes, and snippets.

Avatar

Takeshi Sasaki dagezi

View GitHub Profile
@dagezi
dagezi / top.js
Created Feb 21, 2018
What's wrapping object?
View top.js
console.log(this === global ? "global" : this)
var nstrict = function() {
console.log(this === global ? "global" : this)
}
var strict = function() {
"use strict";
console.log(this === global ? "global" : this)
@dagezi
dagezi / mtime_from_moi.rb
Created Nov 5, 2017
For Panasonic Videos.
View mtime_from_moi.rb
# https://en.wikipedia.org/wiki/MOI_(file_format)
def get_date_from_moi(moi)
File.open(moi, "rb") { |file|
file.seek(6)
bytes = file.read(10)
y, mon, d, h, min, ms = bytes.unpack('nCCCCn')
return Time.new(y, mon, d, h, min, ms/1000)
}
end
View Clean-up-branch.md

Clean up a messy Git branch

It's very desired that every commit in the branch is organized well. One commit changes only one logical part. It shouldn't contain irrevant changes, such as one for UI and another for DB. Such changes must be separated into different commits.

  • It makes review easier.
  • It would help you dividing the big PR to a few logical PRs.
  • It makes easier to remove one logical change.
@dagezi
dagezi / Www.java
Last active Sep 14, 2017
Create WeakReferece out of the inner class!
View Www.java
import java.lang.ref.WeakReference;
public class Www {
public static void main(String args[]) {
Runnable r0 = create0();
Runnable r1 = create1();
System.gc();
r0.run();
r1.run();
View weeknumber.rb
# Trivial example: 2017-01-01 is part of the last week of 2016 because ISO week starts with the Monday.
irb(main):004:0> fd2017 = Date.new(2017,1,1)
=> #<Date: 2017-01-01 ((2457755j,0s,0n),+0s,2299161j)>
irb(main):005:0> fd2017.cweek
=> 52
irb(main):006:0> fd2017.cwday
=> 7 # Sunday
irb(main):007:0> fd2017.cwyear
=> 2016
@dagezi
dagezi / file0.txt
Last active Apr 17, 2017
VectorDrawableの穴を塞がないようにする ref: http://qiita.com/dagezi/items/3fd71a4c4c1cfd9cfcc0
View file0.txt
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="40px" height="40px" viewBox="0 0 40 40" version="1.1" >
<path
d="M10,10 30,10 30,30 10,30 Z M15,15 25,15 25,25 15,25 Z"
fill="#ff0000" fill-rule="evenOdd" />
</svg>
@dagezi
dagezi / SubscribeLater.java
Created Jan 16, 2017
Why can "sub2" retrieve the first item of "src1"?
View SubscribeLater.java
package hoge;
import rx.*;
import rx.schedulers.*;
import java.util.concurrent.TimeUnit;
// See the items in backpressure bufffer will be genereated
// for the observer who subscribed later?
public class SubscribeLater {
@dagezi
dagezi / git-latest-branches
Last active Dec 13, 2019
The small shell script to show git branches in recently-used order.
View git-latest-branches
#!/bin/sh -e
function show_latest_branches () {
git branch | \
sed 's/[* ]//g; s/.*/printf "& "; git show --format="%at" -s &/'| \
sh | \
sort -k2nr
}
View waitForAllDevicesReady.gradle
import com.android.build.gradle.internal.tasks.DeviceProviderInstrumentTestTask
import com.android.builder.testing.api.DeviceConnector
def isDeviceReady(DeviceConnector device) {
def res = device.getSystemProperty('init.svc.bootanim').get()
return res == 'stopped'
}
def waitForAllDevicesReady(DeviceProviderInstrumentTestTask testTaks) {
// Add time out?
View waitForEmulator.gradle
def waitForEmulatorReady() {
def bootanim = ''
def failCounter = 0
while (!(bootanim =~ /stopped/)) {
def adbProcess = 'adb -e shell getprop init.svc.bootanim'.execute()
def errCode = adbProcess.waitFor()
if (errCode != 0) {
failCounter += 1
if (failCounter > 3) {
throw new RuntimeException('failed to start emulator')
You can’t perform that action at this time.