Skip to content

Instantly share code, notes, and snippets.

🦀
I may be slow to respond. Ping me on Twitter instead: https://twitter.com/asaaki

Christoph Grabo asaaki

🦀
I may be slow to respond. Ping me on Twitter instead: https://twitter.com/asaaki
Block or report user

Report or block asaaki

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 ruby-sigils.rb
[*('A'..'Z'), *('a'..'z')].map do |c|
puts [c, eval("%#{c}(ls)")].inspect
rescue Exception
puts "#{c} not allowed"
end; 0
@asaaki
asaaki / experiments.rb
Created May 16, 2019
Some Ruby stdlib experiments
View experiments.rb
### Experiments
# https://ruby-doc.org/core-2.5.0/SizedQueue.html
log = SizedQueue.new(100)
# https://ruby-doc.org/core-2.5.0/Queue.html
queue = Queue.new
# https://ruby-doc.org/core-2.5.0/ThreadGroup.html
group = ThreadGroup.new # pool
5.times do |i|
# https://ruby-doc.org/core-2.5.0/Thread.html
@asaaki
asaaki / flurlicht.ino
Created Jan 30, 2019
motion sensor / interrupt triggered neopixel light controller
View flurlicht.ino
#include <Adafruit_NeoPixel.h>
#include <avr/power.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#define STRIP_PIN 6
#define TRIGGER_PIN 2
#define CONTROL_LED 13
// Note: this duration should be also longer than the HIGH time of the PIR
@asaaki
asaaki / rustup-targets.sh
Created Oct 22, 2018
(rustup) add or remove list of targets for a list of toolchains
View rustup-targets.sh
#!/bin/sh
targets=(armv7-unknown-linux-musleabihf thumbv7em-none-eabi armv7-unknown-linux-musleabihf)
toolchains=(stable beta nightly)
for toolchain in $toolchains; do
for target in $targets; do
echo "--> toolchain $toolchain and target $target"
rustup target install $target --toolchain $toolchain
# rustup target remove $target --toolchain $toolchain
View callables_spec.rb
require 'spec_helper'
module CallableSubject
def callable_subject(&_block)
subject { -> { yield } }
end
end
RSpec.configure do |c|
c.extend(CallableSubject)
@asaaki
asaaki / playground.rs
Created Jan 26, 2018 — forked from anonymous/playground.rs
Rust code shared from the playground
View playground.rs
use std::ops::Deref;
struct StateFn(fn(&mut Machine) -> StateFn);
impl Deref for StateFn {
type Target = fn(&mut Machine) -> StateFn;
fn deref(&self) -> &Self::Target {
&self.0
}
@asaaki
asaaki / 0___rust_serde_json_wasm_parcel___0.md
Last active Jan 26, 2018
Rust-to-JS JSON string exchange (parcel.js, wasm)
View 0___rust_serde_json_wasm_parcel___0.md

Rust, serde-json, wasm, parcel.js

With this combination it is fairly easy to get things done in Rust and utilize it in JavaScript. Yay!

@asaaki
asaaki / hello.rs
Last active Jan 26, 2018
parcel.js/Rust: return a string
View hello.rs
/*
gist is: return a ref to c_char and the length of it (via 2 functions)
C example: https://wasdk.github.io/WasmFiddle//?w590f
*/
use std::ffi::CString;
use std::os::raw::c_char;
static HELLO: &'static str = "hello from rust";
@asaaki
asaaki / private_constants.rb
Created Nov 1, 2017
[Ruby] Private constants check
View private_constants.rb
require 'active_support'
module MyConcern
extend ActiveSupport::Concern
class PrivateClass
def self.pcall
:pcall_result
end
end
You can’t perform that action at this time.