Skip to content

Instantly share code, notes, and snippets.

🤦‍♂
Permanent 418 status code.

Jon Gjengset jonhoo

🤦‍♂
Permanent 418 status code.
Block or report user

Report or block jonhoo

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 compile-errors
| cargo t
Compiling hdrhistogram v6.1.1
Compiling crossbeam-deque v0.7.1
Compiling rand v0.6.5
Compiling parking_lot v0.6.4
Compiling hdrsample v6.0.3
Compiling tower-spawn-ready v0.1.0 (/home/jon/dev/others/tower/tower-spawn-ready)
Compiling tower-limit v0.1.0
Compiling tower-load v0.1.0 (/home/jon/dev/others/tower/tower-load)
error[E0277]: the trait bound `tokio_sync::oneshot::error::RecvError: std::error::Error` is not satisfied
@jonhoo
jonhoo / tokio-timer-fd.rs
Created Apr 19, 2019
A timerfd based implementation of a timer future for tokio
View tokio-timer-fd.rs
struct OneShotTimer {
fd: Box<std::os::unix::io::RawFd>,
e: Option<tokio_reactor::PollEvented<mio::unix::EventedFd<'static>>>,
}
impl OneShotTimer {
fn new(d: time::Duration) -> io::Result<Self> {
if d.as_secs() == 0 && d.subsec_nanos() == 0 {
// this would be interpreted as "inactive timer" by timerfd_settime
return Ok(OneShotTimer {
View hyper-tower-buffer.rs
#!/usr/bin/env run-cargo-script
//! ```cargo
//! [dependencies]
//! tokio = "0.1"
//! hyper = "0.12"
//! futures = "0.1"
//! tower-service = { git = "https://github.com/tower-rs/tower.git" }
//! tower-buffer = { git = "https://github.com/tower-rs/tower.git" }
//! ```
extern crate futures;
View at-a-time-service.rs
extern crate async_bincode;
#[macro_use]
extern crate futures;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate bincode;
extern crate tokio;
extern crate tower_service;
@jonhoo
jonhoo / discord-legibility.css
Last active Jul 6, 2018
Stylesheet for making Discord Light at least somewhat easier to read
View discord-legibility.css
.message-group .comment .markup, .chat {
color: inherit;
}
.message-group.compact .message .timestamp {
color: #555;
float: right;
}
.reaction .reaction-count {
color: inherit;
View dropping-runtime.txt
#0 0x00007fafb46f7ffc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x000055e6e56d7d3c in std::sys::unix::condvar::Condvar::wait (self=0x7faf9ae51130, mutex=0x7faf9ae51100)
at /checkout/src/libstd/sys/unix/condvar.rs:78
#2 0x000055e6e56d7ce6 in std::sys_common::condvar::Condvar::wait (self=0x7faf9ae51130, mutex=0x7faf9ae51100)
at /checkout/src/libstd/sys_common/condvar.rs:51
#3 0x000055e6e56d458a in std::sync::condvar::Condvar::wait (self=0x7faf9afaade8, guard=...)
at /checkout/src/libstd/sync/condvar.rs:214
#4 0x000055e6e56d0047 in futures::task_impl::std::ThreadNotify::park (self=0x7faf9afaadd0)
at /home/jon/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.21/src/task_impl/std/mod.rs:536
#5 0x000055e6e55f30f6 in futures::task_impl::std::<impl futures::task_impl::Spawn<F>>::wait_future::{{closure}} (
@jonhoo
jonhoo / userChrome.css
Created Jun 5, 2018
Firefox tabs-on-bottom
View userChrome.css
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* tabs on bottom of window */
#navigator-toolbox { -moz-box-ordinal-group: 10; }
#TabsToolbar { -moz-box-ordinal-group: 10; }
#PopupAutoCompleteRichResult {
margin-top: -35vh;
/*
position: fixed;
bottom: 74px;
@jonhoo
jonhoo / blacklist-ca-certs.sh
Created May 12, 2018
Scripts for managing SSL blacklist
View blacklist-ca-certs.sh
#!/usr/bin/bash
echo "==> Clear blacklist"
sudo rm /etc/ca-certificates/trust-source/blacklist/*.pem
echo "==> Regenerate CA list"
sudo update-ca-trust
echo "==> Blacklisting all"
for f in /etc/ca-certificates/extracted/cadir/*.pem; do
sudo cp "$f" "/etc/ca-certificates/trust-source/blacklist/$(basename "$f")"
done
@jonhoo
jonhoo / raft.go
Created Mar 16, 2016
Raft pseudocode
View raft.go
// This file gives pseudocode for the complete operation of a Raft peer,
// including the fast backtracking optimization. The implementation here is
// currently 0-indexed, as this simplifies the implementation in many cases.
// This implementation also does not discuss locks at all, which will be vital
// in any real implementation.
//
// ============================================================================
// The following data needs to be persisted
// ============================================================================
You can’t perform that action at this time.