Skip to content

Instantly share code, notes, and snippets.

@archer884
archer884 / convert.rs
Last active August 29, 2015 14:19
Distances and conversions
use std::fmt;
use std::ops::Add;
trait Distance {
type Value;
fn to_normal(&self) -> f64;
fn from_normal(f64) -> Self::Value;
}
/// This is an attempt at providing a default implementation of the add trait on the Distance trait
@archer884
archer884 / convert.rs
Last active August 29, 2015 14:19
Distances and conversions (with macro)
use std::fmt;
use std::ops;
trait Distance {
type Value;
fn to_normal(&self) -> f64;
fn from_normal(f64) -> Self::Value;
}
/// Creates a distance type.
@archer884
archer884 / ZC.cs
Created May 7, 2015 22:29
Checks zippopotam.us to see if a zip code is valid
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
namespace ZC
{
class Program
{
/Closes the window and commits the order to the database
private void btnComplete_Click(object sender, EventArgs e)
{
using(var conn = new OleDbConnection(Utilities.CONNECTION_STRING))
{
OleDbCommand cmd = new OleDbCommand
("INSERT INTO tblOrders ([OrdersProducts],[OrdersSoldTo],[OrdersTotalPrice])Values(@Products,@Clients,@TotalCost)");
cmd.Connection = conn;
conn.Open();
if (conn.State == ConnectionState.Open)
@archer884
archer884 / partial.rs
Last active September 10, 2015 15:45
Rust weirdness
// This does not work without the move marker. The reason for that is that the lifetime for `a`
// only covers the scope of the outer function, which does not extend to the scope of the inner
// function, which is returned from the outer function.
fn main() {
let x = |a| move |b| a + b;
let y = x(5);
let z = y(5);
println!("{}", z); // prints 10
}
@archer884
archer884 / read.rs
Created September 14, 2015 15:33
Read function that doesn't return newline characters
fn read() -> String {
let mut buffer = String::new();
std::io::stdin().read_line(&mut buffer).ok();
if buffer.ends_with("\n") {
buffer.pop();
}
if buffer.ends_with("\r") {
buffer.pop();
@archer884
archer884 / CryptoRandom.cs
Last active November 23, 2015 22:56
For posterity...
using System;
using System.Security.Cryptography;
namespace JA
{
// Credit for CryptoRandom goes to Stephen Toub & Shawn Farkas, original
// authors of the code included below, which appeared in September 2007
// in MSDN Magazine.
//
// http://blogs.msdn.com/b/msdnmagazine/archive/2007/08/31/4653696.aspx
@archer884
archer884 / Airports.cs
Created February 6, 2016 12:22
Airport delays
using CsvHelper;
using CsvHelper.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace AirlineDelays
{
class FlightRecord
@archer884
archer884 / main.rs
Created February 7, 2016 11:53
Rust Live Hack: Airports!
#![feature(slice_patterns)]
extern crate csv;
extern crate itertools;
extern crate rustc_serialize;
use std::cmp::Ordering;
use std::collections::HashMap;
use std::path::Path;
@archer884
archer884 / playground.rs
Created August 17, 2016 04:07 — forked from anonymous/playground.rs
Rust code shared from the playground
use std::io::{self};
use std::result;
type KKResults <T> = Result <T, KKError>;
#[derive(Debug)]
enum KKError {
Io(io::Error),
}