Skip to content

Instantly share code, notes, and snippets.

View freesig's full-sized avatar

Tom freesig

  • Melbourne
View GitHub Profile
pub fn interleave<T>(channels: &[Vec<T>], target: &mut Vec<T>)
where
T: std::marker::Copy,
{
assert!(!channels.is_empty());
target.clear();
let frames = channels[0].len();
target.extend((0 .. frames).flat_map(|f| channels.iter().map(move |ch| ch[f])));
}
Last login: Fri Nov 30 15:59:56 on ttys003
/var/folders/h4/gvwnxl3x66x7k2nb0_s4jljc0000gn/T/AppTranslocation/CF5CF948-3B1D-4F88-878C-8B86D5F8B3A2/d/vulkaninfo.app/Contents/MacOS/vulkaninfo ; exit;
Welcome to fish, the friendly interactive shell
⋊> ~ /var/folders/h4/gvwnxl3x66x7k2nb0_s4jljc0000gn/T/AppTranslocation/CF5CF9483B1D-4F88-878C-8B86D5F8B3A2/d/vulkaninfo.app/Contents/MacOS/vulkaninfo ; exit;
==========
VULKANINFO
==========
Vulkan Instance Version: 1.1.92
@freesig
freesig / main.cpp
Created December 6, 2018 05:44
minimal buffer swap
#include <vulkan/vulkan.h>
#include <vector>
#include <string.h>
#include <assert.h>
#include <stdexcept>
#include <cmath>
@freesig
freesig / triangle2.rs
Created January 4, 2019 04:56
two triangles
extern crate nannou;
use nannou::prelude::*;
use nannou::vulkano;
use std::cell::RefCell;
use std::sync::Arc;
use nannou::vulkano::buffer::{BufferUsage, CpuAccessibleBuffer};
use nannou::vulkano::command_buffer::DynamicState;
use nannou::vulkano::device::DeviceOwned;
@freesig
freesig / main.rs
Created February 13, 2019 01:53
simple nannou gui
use nannou;
use nannou::prelude::*;
use nannou::ui::prelude::*;
fn main() {
nannou::app(model).update(update).simple_window(view).run();
}
struct Model {
let vk_builder = vk::InstanceBuilder::new();
let vk_builder = vk_builder.extensions(vk::required_windowing_extensions());
let vk_instance = vk_builder.add_extensions(vk::InstanceExtensions{
ext_debug_report: true,
..vk::InstanceExtensions::none()
})
.layers(vec!["VK_LAYER_LUNARG_api_dump"])
.build()
.expect("failed to create vulkan instance");
nannou::app(model)
@freesig
freesig / lib.rs
Created November 1, 2019 04:35
DNA
#![feature(proc_macro_hygiene)]
#[macro_use]
extern crate hdk;
extern crate hdk_proc_macros;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
#[macro_use]
extern crate holochain_json_derive;
@freesig
freesig / conductor-config-alice.toml
Created November 1, 2019 04:39
Alices conductor config
[[agents]]
id = 'alice'
keystore_file = 'agent1.key'
name = 'Alice'
public_address = 'HcScjdwyq86W3w5y3935jKTcs4x9H9Pev898Ui5J36Sr7TUzoRjMhoNb9fikqez'
test_agent = true
[[dnas]]
file = 'dist/cc_tuts.dna.json'
hash = 'QmYBFAJhF6t8tz4VgYMqcov1vZeiSs3iWUmHDcQ6C8ckD1'
@freesig
freesig / conductor-config-bob.toml
Created November 1, 2019 04:40
Bob's conductor config
[[agents]]
id = 'bob'
keystore_file = 'agent2.key'
name = 'Bob'
public_address = 'HcSCj4uMm999rT4B6kfgSYx6ONfg3misvoV76JI9J57KM89ejVf4uwhm7Mm6f7i'
test_agent = true
[[dnas]]
file = '/Users/tomgowan/holochain/testing_tuts/cc_tuts/dist/cc_tuts.dna.json'
hash = 'QmYBFAJhF6t8tz4VgYMqcov1vZeiSs3iWUmHDcQ6C8ckD1'
#![feature(proc_macro_hygiene)]
#[macro_use]
extern crate hdk;
extern crate hdk_proc_macros;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
#[macro_use]
extern crate holochain_json_derive;