Skip to content

Instantly share code, notes, and snippets.

Avatar

Xiaodi Wu xwu

View GitHub Profile
@xwu
xwu / NNNN-rename-sequence-elements-equal.md
Last active Nov 12, 2017
Rename Sequence.elementsEqual
View NNNN-rename-sequence-elements-equal.md

Rename Sequence.elementsEqual

  • Proposal: SE-NNNN
  • Authors: Xiaodi Wu
  • Review Manager: TBD
  • Status: Awaiting review

During the review process, add the following fields as needed:

@xwu
xwu / swift-default-operators.md
Last active Oct 12, 2017
Swift Default Operators
View swift-default-operators.md
Glyph Code Description
! U+0021 EXCLAMATION MARK
% U+0025 PERCENT SIGN
& U+0026 AMPERSAND
* U+002A ASTERISK
+ U+002B PLUS SIGN
- U+002D HYPHEN-MINUS
/ U+002F SOLIDUS
< U+003C LESS-THAN SIGN
@xwu
xwu / utn28-default-operators.md
Last active Oct 10, 2017
UTN28 Default Operators
View utn28-default-operators.md

Extracted from UTN28

"The following table gives the default math keywords, their target characters and codes along with spacing and linear-format build-up properties."

Omitted from the original table are operands, enclosures, spaces, big/long variants, and non-NFKC characters. Three characters that default to their emoji variants on iOS, and one related character, are excised.

Keyword Glyph Code Spacing LF Property
pm ± U+00B1 unary/binary unary/binary
times × U+00D7 binarynsp normal
@xwu
xwu / user-experience-of-new-integer-protocols.md
Last active Aug 3, 2017
Notes on the user experience of new integer protocols
View user-experience-of-new-integer-protocols.md

Notes on the user experience of new integer protocols

Xiaodi Wu
June 17, 2017

Introduction

The design, re-design, and implementation of [SE-0104][1], a proposal to revise integer protocols in Swift, is now largely complete in shipping previews of Swift 4. As an exercise, I have used the new APIs to develop a [set of additional numeric facilities][2]. Here are some insights gained from that experience--and from two unpublished exercises to implement a BigInt type (one from scratch, one wrapping GMP)--as well as suggestions for improvement.

@xwu
xwu / numerics.md
Last active Jan 18, 2017
Numeric Protocols
View numerics.md

Arithmetic

protocol Arithmetic : Equatable, ExpressibleByIntegerLiteral

An type that provides certain arithmetic operations (addition, subtraction, and multiplication).

Types that conform to Arithmetic satisfy the following conditions for any values a, b, and c (unless the result of an operation overflows the maximum size of the conforming type):

  • Addition (+) is commutative; that is, a + b == b + a
View rangeoperators.md

Completing the Swift 3 range operator suite

Introduction

We propose to complete Swift's suite of range operators to introduce a fully open range (<.<) and the second complementary half-open range (<..).

@xwu
xwu / pca.r
Created Jul 22, 2014
Principal component analysis of gene expression microarray datasets
View pca.r
my.data.frame <- read.delim("tab_delimited_file_with_probeset_ids_in_first_column.txt", row.names=1)
my.data.matrix <- as.matrix(my.data.frame)
# PCA by sample:
# center each gene (mean) without scaling
# scale each sample (root mean square) without centering
# transpose the matrix to PCA by sample instead of by gene
a <- scale(t(my.data.matrix), center=TRUE, scale=FALSE)
b <- scale(t(a), center=FALSE, scale=TRUE)
@xwu
xwu / gist:132788
Created Jun 19, 2009
Production and increased upload limit modifications to PHP settings for Trait-o-matic
View gist:132788
display_errors = Off
log_errors = On
magic_quotes_gpc = Off
session.bug_compat_42 = 0
session.bug_compat_warn = 0
max_execution_time = 30
max_input_time = 600
memory_limit = 128M
@xwu
xwu / gist:132767
Created Jun 19, 2009
Load Trait-o-matic data into MySQL databases
View gist:132767
USE caliban;
LOAD DATA LOCAL INFILE '~/morbidmap.txt' INTO TABLE `morbidmap` FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';
LOAD DATA LOCAL INFILE '~/omim.tsv' INTO TABLE `omim` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
LOAD DATA LOCAL INFILE '~/refFlat.txt' INTO TABLE `refflat` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '~/snpedia.tsv' INTO TABLE `snpedia` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
USE dbsnp;
LOAD DATA LOCAL INFILE '~/OmimVarLocusIdSNP.bcp' INTO TABLE `OmimVarLocusIdSNP` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
LOAD DATA LOCAL INFILE '~/b129_SNPChrPosOnRef_36_3.bcp' INTO TABLE `b129_SNPChrPosOnRef_36_3` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
@xwu
xwu / gist:132749
Created Jun 19, 2009
Custom DocumentRoot Apache configuration for Trait-o-matic
View gist:132749
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
# Use only MTime and Size (not INode) in Etags calculation
FileETag MTime Size
# GZIP text files (requires mod_deflate)
You can’t perform that action at this time.