Skip to content

Instantly share code, notes, and snippets.

View edwardtoday's full-sized avatar

Pei Qing 卿培 edwardtoday

View GitHub Profile
@edwardtoday
edwardtoday / backup-ghost-to-s3.sh
Last active May 5, 2017 19:20
Backup ghost blog related files to s3 bucket
#!/bin/bash
# create directories
rm -rf /tmp/ghost-backup
rm /tmp/ghost-backup*.tar.gz
mkdir -p /tmp/ghost-backup/
mkdir -p /tmp/ghost-backup/etc/
mkdir -p /tmp/ghost-backup/etc/nginx/
mkdir -p /tmp/ghost-backup/usr/local/etc/
mkdir -p /tmp/ghost-backup/var/www/ghost/content/
/*
* checksum.c
*/
#include "checksum.h"
unsigned char do_checksum(const unsigned char *buf, size_t count)
{
unsigned char checksum = 0;
size_t i;
@edwardtoday
edwardtoday / open_image.cpp
Last active August 29, 2015 14:04
MFC button handler to open and show an image.
// Open image
CString FilePathName;
CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if (dlg.DoModal() == IDOK) {
FilePathName = dlg.GetPathName();
GetDlgItem(IMAGE_FILENAME)->SetWindowText(FilePathName);
CT2CA pszConvertedAnsiString(FilePathName);
cv::Mat img = cv::imread(std::string(pszConvertedAnsiString),
CV_LOAD_IMAGE_UNCHANGED);
@edwardtoday
edwardtoday / resolve.cpp
Created May 16, 2014 09:13
Slow TCP endpoint resolution
// this is slow
boost::asio::ip::tcp::resolver resolver1(io_);
auto endpoint_iterator1 = resolver1.resolve({ "8.8.8.8", "53" });
boost::asio::connect(socket_, endpoint_iterator1);
// this is faster
boost::asio::ip::tcp::resolver::query q(boost::asio::ip::tcp::v4(),
"8.8.8.8",
"53");
auto endpoint_iterator2 = resolver2.resolve(q);
sudo gdisk /dev/sdc
x
e
w
@edwardtoday
edwardtoday / gist:426f50024acdb58002fb
Created May 2, 2014 14:32
Branch prediction code new
sum += data[c] * 100000;
@edwardtoday
edwardtoday / gist:4b774f96f056b42648a1
Created May 2, 2014 14:32
Branch prediction code orig
for (unsigned i = 0; i < 100000; ++i)
{
sum += data[c];
}
@edwardtoday
edwardtoday / gist:983aefcf84c8d0916390
Created May 2, 2014 14:31
Branch prediction ICC 14.0.1 with `-O2`:
Sorted:
0.3
sum = 314931600000
Unsorted:
0.31
sum = 314635000000
Sorted swapped:
0.3
sum = 314226200000
Unsorted swapped:
@edwardtoday
edwardtoday / gist:8cf4433bda639b8713e4
Created May 2, 2014 14:30
Branch prediction GCC 4.8.2 with `-O2`:
Sorted:
2.43
sum = 314931600000
Unsorted:
14.39
sum = 314635000000
Sorted swapped:
0
sum = 314226200000
Unsorted swapped:
@edwardtoday
edwardtoday / find_largest_rect.c
Last active August 29, 2015 13:57
Find largest rectangle for a new window in a canvas with some existing windows.
#include <stdio.h>
#include <stdlib.h>
/**
* @brief Find largest rectangle for a new window in a canvas with some existing windows.
* @param width Canvas width in pixel
* @param height Canvas height in pixel
* @param objects Existing objects, in the form {{x_topleft,y_topleft,x_bottomright_y_bottomright},...}
* @param num_objects Number of objects in previous parameter
* @param output Array to store result as {x_topleft,y_topleft,x_bottomright_y_bottomright}