Skip to content

Instantly share code, notes, and snippets.

@mathieulegrand
mathieulegrand / connect.rs
Last active March 10, 2018 19:57
simple connect to server:443 in Rust
// Rust 0.10-pre (Tue Mar 18, 2014)
// $ rustc -L rust-openssl/build/ -L rust-toml/lib doing.rs
// assuming https://github.com/sfackler/rust-openssl is cloned and compiled,
// and https://github.com/mneumann/rust-tom is cloned and compiled
#[feature(macro_rules)];
#[allow(deprecated_owned_vector)];
extern crate openssl;
extern crate serialize;
@mathieulegrand
mathieulegrand / keybase.md
Created February 9, 2017 03:40
Keybase proof

Keybase proof

I hereby claim:

  • I am mathieulegrand on github.
  • I am legrand (https://keybase.io/legrand) on keybase.
  • I have a public key ASAeBLSEgh2mB8FtmCjY17Pu3cvzLJzFU_hRtNgfvq-SSwo

To claim this, I am signing this object:

@mathieulegrand
mathieulegrand / FCPrivateBatteryStatus.m
Created January 30, 2016 03:01
How to get raw battery info (mAh remaining, etc.) from iOS using private APIs. For internal testing only, NOT APP STORE DISTRIBUTION!
#import <Foundation/Foundation.h>
#include <dlfcn.h>
NSDictionary *FCPrivateBatteryStatus()
{
static mach_port_t *s_kIOMasterPortDefault;
static kern_return_t (*s_IORegistryEntryCreateCFProperties)(mach_port_t entry, CFMutableDictionaryRef *properties, CFAllocatorRef allocator, UInt32 options);
static mach_port_t (*s_IOServiceGetMatchingService)(mach_port_t masterPort, CFDictionaryRef matching CF_RELEASES_ARGUMENT);
static CFMutableDictionaryRef (*s_IOServiceMatching)(const char *name);
tm-test-wc(master*)$ svn status --no-ignore -v --xml
<?xml version="1.0"?>
<status>
<target
path=".">
<entry
path=".">
<wc-status
props="normal"
item="normal"
@mathieulegrand
mathieulegrand / area_code.rb
Created July 3, 2011 13:55 — forked from mager/area_code.rb
Get area code from IP address using SimpleGeo Places & Ruby
SimpleGeo::Client.set_credentials(ENV['SIMPLEGEO_KEY'],ENV['SIMPLEGEO_SECRET'])
resp = SimpleGeo::Client.geocode_from_ip()
options = {:num=>1}
place = SimpleGeo::Client.get_places(resp[:query][:latitude], resp[:query][:longitude], options)
phone = place[:features][0][:properties][:phone]
@area_code = phone[3..-10] # Phone number format: "+1 XXX XXX-XXXX"
XXXXXXXXX::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
source :rubygems
# Bundle edge Rails
gem 'rails', '3.1.0.beta1'
#gem 'arel', :git => 'git://github.com/rails/arel.git'
#gem 'rack', :git => 'git://github.com/rack/rack.git'
#gem 'sprockets', :git => 'git://github.com/sstephenson/sprockets.git'
# Rails console dependency
gem 'turn'
@mathieulegrand
mathieulegrand / rvm rbx
Created February 28, 2011 15:55
rvm still selecting macruby to install rbx
+ [[ -z '' ]]
+ export 'PS4=+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
+ PS4='+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
+[/Users/mathieulegrand/.rvm/scripts/cli] : 686 : __rvm_parse_args() $ [[ -z '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 686 : __rvm_parse_args() $ [[ -n '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 688 : __rvm_parse_args() $ [[ 0 -eq 1 ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 688 : __rvm_parse_args() $ [[ -n '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 14 : __rvm_parse_args() $ [[ -n install ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 16 : __rvm_parse_args() $ rvm_token=install
+[/Users/mathieulegrand/.rvm/scripts/cli] : 18 : __rvm_parse_args() $ [[ 3 -gt 0 ]]
@mathieulegrand
mathieulegrand / gist:847491
Created February 28, 2011 15:47
Gist rvm install rbx
+[/Users/mathieulegrand/.rvm/scripts/cli] : 663 : __rvm_parse_args() $ [[ -z '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 664 : __rvm_parse_args() $ export 'PS4=+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
+[/Users/mathieulegrand/.rvm/scripts/cli] : 664 : __rvm_parse_args() $ PS4='+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
+[/Users/mathieulegrand/.rvm/scripts/cli] : 686 : __rvm_parse_args() $ [[ -z '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 686 : __rvm_parse_args() $ [[ -n '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 688 : __rvm_parse_args() $ [[ 0 -eq 1 ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 688 : __rvm_parse_args() $ [[ -n '' ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 14 : __rvm_parse_args() $ [[ -n install ]]
+[/Users/mathieulegrand/.rvm/scripts/cli] : 16 : __rvm_parse_args() $ rvm_token=install
+[/Users/mathieulegrand/.rvm/scripts/cli] : 18 : __rvm_parse_args() $ [[ 3 -gt 0 ]]
@mathieulegrand
mathieulegrand / keyboard.cljs
Last active August 29, 2015 14:21
Editable DIV as a IRC style input bar (textarea replacement) in ClojureScript
(ns potato.keyboard
(:require [clojure.string]
[goog.dom]
[goog.style]
[goog.events]
[goog.dom.xml]
[goog.dom.classlist]
[goog.dom.selection]
[goog.testing.events]
[goog.events.EventTarget]