Skip to content

Instantly share code, notes, and snippets.

@parachvte
parachvte / progress.go
Created May 29, 2019 17:18
Simple progress bar generation
package main
import (
"fmt"
"math"
"strings"
)
const total_length int = 80
@parachvte
parachvte / costFunctionReg.m
Last active August 25, 2017 06:52
Logistic Regression Cost Function (Regularized)
function [J, grad] = costFunctionReg(theta, X, y, lambda)
m = length(y); % number of training examples
h = sigmoid(X * theta);
J = mean(-y .* log(h) - (1 - y) .* log(1 - h)) ...
+ lambda / 2.0 / m * (sum(theta .^ 2) - theta(1) ^ 2);
grad = X' * (h - y) / m + lambda / m * theta;
grad(1) -= lambda / m * theta(1);
@parachvte
parachvte / client.py
Created March 15, 2017 02:37
Nameko Demo
# -*- coding: UTF-8 -*-
import logging
from nameko.constants import AMQP_URI_CONFIG_KEY
from nameko.standalone.rpc import ServiceRpcProxy
from tornado.options import parse_command_line
def main():
@parachvte
parachvte / RXWaveLoadingView.h
Created August 5, 2015 06:40
iOS - WaveLoadingView
#import <UIKit/UIKit.h>
@interface RXWaveLoadingView : UIView
@property (nonatomic, assign) NSInteger numberOfWaves;
@property (nonatomic, assign) CGSize waveSize;
@property (nonatomic, assign) CGFloat waveSpacing;
@property (nonatomic, assign) CGFloat waveDuration;
@property (nonatomic, strong) UIColor *waveColor;
@parachvte
parachvte / ViewController.m
Created July 1, 2015 18:09
iOS - Deal with keyboard
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Add observers for keyboard messages
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
@parachvte
parachvte / UIImage+ImageCrop.m
Last active August 29, 2015 14:23
iOS - ImageCrop
@implementation UIImage (ImageCrop)
+ (UIImage *)centerOvalCropImage:(UIImage *)image
{
CGFloat width = image.size.width;
CGFloat height = image.size.height;
CGRect targetRect = CGRectMake(width / 4.0, height / 4.0, width / 2.0, height / 2.0);
UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
@parachvte
parachvte / aniamtion.m
Last active August 29, 2015 14:20
iOS - Continuous Animations
@interface SomeClass
typedef void (^AnimationBlock)(BOOL);
@end
// animationBlocks, where store all animation blocks
NSMutableArray *animationBlocks = [NSMutableArray new];
AnimationBlock (^getNextAnimation)() = ^{
AnimationBlock block = animationBlocks.count ? [animationBlocks objectAtIndex:0] : Nil;
if (block) {
[animationBlocks removeObjectAtIndex:0];
@parachvte
parachvte / MyActivity.java
Created March 26, 2015 08:11
Android - SwipeRefreshLayout
package com.ryannnnnnn.test_swipe_refresh_layout;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
public class MyActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {
@parachvte
parachvte / gist:67474c03310d9192a4a5
Last active August 29, 2015 14:17
Android - Keyboard

1. When activity starts, remove auto focus/keyboard popup, in AndroidManifest.xml

<activty android:windowSoftInputMode="stateHidden">
</activity>

2. When keyboard popup, make the window auto resize

@parachvte
parachvte / gist:61737700d3520a7bf300
Created October 21, 2014 17:29
[Network Programming] Homework 2
请比较select模型与WSAEventSelect模型两者之间的差异?
Deadline: Oct 27, 2014