Skip to content

Instantly share code, notes, and snippets.

Xiaodi Wu xwu

Block or report user

Report or block xwu

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
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.