Skip to content

Instantly share code, notes, and snippets.

View dginev's full-sized avatar

Deyan Ginev dginev

View GitHub Profile
@dginev
dginev / logindex.pl
Created May 24, 2015 17:51
logIndex in Perl
#!/usr/bin/env perl
my @logIndex;
for my $i(0..10) {
my $l = sub {print "$i\n"};
push @logIndex, $l;
}
foreach my $l(@logIndex) {
$l->();
}
# Prints 0 to 10
@dginev
dginev / log.txt
Created July 14, 2015 13:29
cargo build for libarchive-sys
/home/dreamweaver/.cargo/registry/src/github.com-0a35038f75765ae4/libarchive-sys-0.0.2/src/lib.rs:93:22: 93:35 error: use of unstable library feature 'box_raw': may be renamed or moved out of Box scope
/home/dreamweaver/.cargo/registry/src/github.com-0a35038f75765ae4/libarchive-sys-0.0.2/src/lib.rs:93 let mut rc = Box::from_raw(_client_data as *mut ReadContainer);
^~~~~~~~~~~~~
/home/dreamweaver/.cargo/registry/src/github.com-0a35038f75765ae4/libarchive-sys-0.0.2/src/lib.rs:93:22: 93:35 help: add #![feature(box_raw)] to the crate attributes to enable
/home/dreamweaver/.cargo/registry/src/github.com-0a35038f75765ae4/libarchive-sys-0.0.2/src/lib.rs:96:9: 96:29 error: use of unstable library feature 'box_raw': renamed to Box::into_raw
/home/dreamweaver/.cargo/registry/src/github.com-0a35038f75765ae4/libarchive-sys-0.0.2/src/lib.rs:96 std::boxed::into_raw(rc);
@dginev
dginev / manager.rs
Created August 25, 2015 14:33
Naive and broken TaskManager
impl TaskManager {
pub fn start<'manager>(&'manager self) -> Result<(), Error> {
// We'll use some local memoization shared between source and sink:
let mut services: HashMap<String, Option<Service>> = HashMap::new();
let mut queues : HashMap<String, Vec<Task>> = HashMap::new();
// First prepare the source ventilator
let source_port = self.source_port.clone();
let source_queue_size = self.queue_size.clone();
let source_backend_address = self.backend_address.clone();
@dginev
dginev / utf8_truncate.rs
Created September 29, 2015 04:10
UTF8 safe truncate for Rust strings
fn utf8_truncate(input : &mut String, maxsize: usize) {
let mut utf8_maxsize = input.len();
if utf8_maxsize >= maxsize {
{ let mut char_iter = input.char_indices();
while utf8_maxsize >= maxsize {
utf8_maxsize = match char_iter.next_back() {
Some((index, _)) => index,
_ => 0
};
} } // Extra {} wrap to limit the immutable borrow of char_indices()
@dginev
dginev / fetch_vec.rs
Created September 30, 2015 21:42
Trying to clone an owned Vec out of a shared Arc<Mutex<Vec>>
fn fetch_vec<T>(vec_arc: &Arc<Mutex<Vec<T>>>) -> Vec<T> {
let mut vec_mutex_guard = vec_arc.lock().unwrap();
let fetched_vec : Vec<T> = vec_mutex_guard.deref().clone();
vec_mutex_guard.clear();
fetched_vec
}
@dginev
dginev / authorea_errors.txt
Created October 6, 2015 20:18 — forked from michaelaye/authorea_errors.txt
Authorea PDF export check
Article used:
https://www.authorea.com/users/8658/articles/80034/_show_article
Updated for TeX exporter 8.31b
Article: OK
APA style:
Use of \@year@ doesn't match its definition.
@dginev
dginev / strip_null_chars.rs
Created October 13, 2015 04:52
Remove NULL chars in Unicode strings
extern crate regex;
use regex::Regex;
fn main() {
let test = "\u{123}\u{000}\u{143}\u{00}";
let no_nulls_regex = Regex::new(r"\x00").unwrap();
println!("Before: {:?}", test);
let sanitized = no_nulls_regex.replace_all(test,"");
println!("Sanitized: {:?}", sanitized);
}
#!/bin/bash
# copied from: https://gist.githubusercontent.com/petere/6023944/raw/pg-travis-test.sh
# just changed the port
set -eux
sudo apt-get update
packages="postgresql-$PGVERSION postgresql-server-dev-$PGVERSION postgresql-common"
# bug: http://www.postgresql.org/message-id/20130508192711.GA9243@msgid.df7cb.de
@dginev
dginev / defconstructor_mocks.rs
Created March 17, 2016 23:29
Mocks for DefConsturctors
// Old style:
DefConstructor!("\emph{}", "<ltx:emph>#1</ltx:emph>");
// New style:
DefConstructor!("\emph{}", element!("ltx:emph", arg!(1)));
@dginev
dginev / pathological_math_error.tex
Created May 5, 2016 18:10
A pathological error in writing latex math
Chicken chicken chicken chicken chicken chicken chicken chicken chicken: chicken chicken, chicken chicken chicken, chicken $x \in $\mathbb{R}$^n$, chicken a chicken chicken chicken, chicken $y in $\mathbb{R}$$.
Chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken, chicken chicken chicken chicken chicken chicken chicken chicken.
Chicken chicken a chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken. Chicken
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken. Chicken chicken chicken chicken a chicken chicken-
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken: chicken chicken chicken a chicken-