Skip to content

Instantly share code, notes, and snippets.

Artem ArtemGr

  • Bizlink
Block or report user

Report or block ArtemGr

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
View libpg_and_libevent.cpp
// Asynchronous PostgreSQL INSERT.
glim::NsecTimer timer;
std::unique_ptr<PGconn, void(*)(PGconn*)> pg (PQconnectStart (pcs.c_str()), PQfinish);
if (pg.get() == nullptr || PQstatus (pg.get()) == CONNECTION_BAD) GTHROW ("!PQconnectStart");
int sock = PQsocket (pg.get());
auto evBase = EvServ::instance()->evbase();
event_callback_fn cbcoroInvokeFromCallback = [](evutil_socket_t, short, void* cbcoro) {((CBCoro*) cbcoro)->invokeFromCallback();};
std::unique_ptr<struct event, void(*)(struct event*)> evRead (event_new (evBase.get(), sock, EV_READ, cbcoroInvokeFromCallback, cbcoro), event_free);
ArtemGr /
Last active Aug 24, 2016
Nom tag that implements the /(?x) (.*?) (remainder)/ pattern.
/// Implements the /(?x) (.*?) (remainder)/ pattern:
/// looks for remainder first, then returns a tuple with the prefix and the remainder.
/// Discussion:
macro_rules! take_until_parse_s (
($i: expr, $submac: ident! ($($args:tt)*)) => ({
let input = $i as &str;
let mut ret = IResult::Error (nom::Err::Position (nom::ErrorKind::Custom (0), input));
for (pos, _) in $i.char_indices() {
match $submac! (&input[pos..], $($args)*) {
IResult::Done (i,o) => {ret = IResult::Done (i, (&input[0..pos], o)); break}, // Found the remainder!
ArtemGr /
Created Aug 12, 2016
BashOnWindows issue 861 - workaround
extern crate kernel32;
extern crate winapi;
use kernel32::{CreateProcessA, WaitForSingleObject, CloseHandle};
use winapi::winbase::INFINITE;
use std::ptr::null_mut;
use std::mem::size_of;
fn main() {
ArtemGr / output.txt
Created Aug 12, 2016
BashOnWindows issue 861
View output.txt
Output {
status: ExitStatus(ExitStatus(0)),
stdout: "\r\nC:\\Users\\Artemciy\\Downloads>echo foo \r\nfoo\r\n\r\nC:\\Users\\Artemciy\\Downloads>bash --help \r\n\u{1e}\u{4}H\u{4}8\u{4}1\u{4}:\u{4}0\u{4}:\u{0} \u{0}0\u{0}x\u{0}8\u{0}0\u{0}0\u{0}7\u{0}0\u{0}0\u{0}0\u{0}6\u{0}\r\u{0}\r\u{0}\n\u{0}\r\nC:\\Users\\Artemciy\\Downloads>echo bar \r\nbar\r\n",
stderr: "" }
// [build] rustc -O --test
// [build] ./bench_iterators.exe --bench
extern crate test;
use test::{Bencher, black_box};
fn construction_only(b: &mut Bencher) {
let foo = String::from("foo");
ArtemGr /
Last active Feb 9, 2016
Merge experiments
package test;
import java.util.ArrayList;
import java.util.Random;
public class Keys implements Comparable<Keys> {
private final int[] keys;
public Keys(final int[] keys) {
this.keys = keys;
ArtemGr /
Last active Jan 4, 2016
Example using JIT-compiled PCRE expressions from Rust.
pub struct PcreJit {
pub re: Mutex<pcre::Pcre>,
/// Map from a capturing group name to its number.
/// `None` if no named capturing groups found or if the `auto_capture` option is given to `PcreJit::new`.
pub names: Option<BTreeMap<String, Vec<usize>>>}
unsafe impl Sync for PcreJit {}
unsafe impl Send for PcreJit {}
impl PcreJit {
/// JIT-compiles the regular expression.
ArtemGr /
Last active Oct 27, 2015
gstring - Rust macros to make strings on stack
/// A helper to build a string on the stack.
/// Given an array it makes a writeable cursor available to the passed code block.
/// Returns a &str slice pointing at memory between the array start and the cursor.
/// Example:
/// use std::io::Write;
/// let mut foobar: [u8; 128] = unsafe {std::mem::uninitialized()};
View first_run.log
INFO:cargo::ops::cargo_rustc::fingerprint: fingerprint at: /tmp/yup-oauth2/target/debug/.fingerprint/yup-oauth2-f648bac97266aa1c/lib-yup-oauth2
DEBUG:cargo::ops::cargo_rustc::fingerprint: extra Target { kind: Lib([Lib]), name: "yup-oauth2", src_path: "/tmp/yup-oauth2/src/", metadata: Some(Metadata { metadata: "f648bac97266aa1c", extra_filename: "-f648bac97266aa1c" }), tested: true, benched: true, doc: true, doctest: true, harness: true, for_host: false } Profile { opt_level: 0, lto: false, codegen_units: None, rustc_args: None, debuginfo: true, debug_assertions: true, rpath: false, test: false, doc: false } None = def601c33e56949f
DEBUG:cargo::ops::cargo_rustc::fingerprint: extra Target { kind: Lib([Dylib]), name: "serde_macros", src_path: "/root/.cargo/registry/src/", metadata: Some(Metadata { metadata: "a56f347bda653264", extra_filename: "-a56f347bda653264" }), tested: true, benched: true, doc: true, doctest: false, harness: true, for_host: true
#[macro_use] extern crate nickel;
use nickel::Nickel;
use nickel::router::http_router::HttpRouter;
use nickel::ResponseFinalizer;
struct MyObject;
impl MyObject {
You can’t perform that action at this time.