Skip to content

Instantly share code, notes, and snippets.

View mxgrey's full-sized avatar
🦀
Rustacean

Grey mxgrey

🦀
Rustacean
View GitHub Profile
#![feature(array_windows)]
use std::f32::consts::PI;
use bevy::{
prelude::*,
render::mesh::{PrimitiveTopology, Indices},
window::close_on_esc,
};
@mxgrey
mxgrey / Cargo.toml
Created February 28, 2023 13:00
z-fighting test for depth bias
[package]
name = "depth_bias_test"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bevy = "0.9"
@mxgrey
mxgrey / flat.rs
Created February 27, 2023 07:34
Example of a flat mesh being outline by bevy_mod_outline
use std::f32::consts::PI;
use bevy::{
prelude::*,
render::mesh::{PrimitiveTopology, Indices},
window::close_on_esc,
};
use bevy_mod_outline::*;
@mxgrey
mxgrey / optional_trait_bounds.rs
Last active February 19, 2023 06:17
Sketch of optional trait bounds idea for Rust
fn serve_customer<C>(mut customer: &C) -> u32
where
// When a trait bound is wrapped in [], that means it's optional
C: Noisy + [Hungry] + [Thirsty]
{
// Mandatory trait bounds can always be called
let order = customer.talk();
let food_price: u32 = with C as Hungry {
// This block only gets compiled if C implements Hungry.
@mxgrey
mxgrey / gist:ce991a208e367d5a5f9c8617f7463463
Created February 14, 2023 04:56
Automatic Inheritance by Deref
use std::{sync::Arc, ops::Deref};
fn main() {
listen(Arc::new(Foo));
}
fn listen<N: Noisy>(n: N) {
n.noise();
}
#!/bin/bash
. /ros/install/setup.bash
echo "Same host publisher setting is $ROS_AUTOMATIC_DISCOVERY_RANGE, static peers is ${ROS_STATIC_PEERS}"
ROS_AUTOMATIC_DISCOVERY_RANGE=OFF ROS_STATIC_PEERS="" ros2 topic echo --timeout 15 --once /test_topic std_msgs/String > /results/no_discovery_no_static/subscriber &
ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST ROS_STATIC_PEERS="" ros2 topic echo --timeout 15 --once /test_topic std_msgs/String > /results/localhost_no_static/subscriber &
ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET ROS_STATIC_PEERS="" ros2 topic echo --timeout 15 --once /test_topic std_msgs/String > /results/subnet_no_static/subscriber &
ROS_AUTOMATIC_DISCOVERY_RANGE=OFF ROS_STATIC_PEERS="10.0.0.2" ros2 topic echo --timeout 15 --once /test_topic std_msgs/String > /results/no_discovery_static/subscriber &
ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST ROS_STATIC_PEERS="10.0.0.2" ros2 topic echo --timeout 15 --once /test_topic std_msgs/String > /results/localhost_static/subscriber &
ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET ROS_
Downloading model:
Name: officechairblack
Owner: openrobotics
Server:
URL: https://fuel.gazebosim.org
Version: 1.0
[Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/officechairblack]
[Dbg] [Zip.cc:180] Created file [/home/grey/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/officechairblack/1/meshes/OfficeChairBlack.mtl]
[Dbg] [Zip.cc:180] Created file [/home/grey/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/officechairblack/1/meshes/OfficeChairBlack.obj]
@mxgrey
mxgrey / gist:3bfc5761437f61cc8674663bc3fca923
Created December 11, 2022 03:06
gazebo suggested package list
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
freeglut3 gazebo-common gazebo-plugin-base i965-va-driver intel-media-va-driver libaacs0 libass9 libassimp5 libavcodec58
libavdevice58 libavfilter7 libavformat58 libavutil56 libbdplus0 libbluray2 libbs2b0 libbullet3.06 libchromaprint1
libcodec2-1.0 libconsole-bridge1.0 libdart-collision-bullet6.12 libdart-external-odelcpsolver6.12 libdart-utils6.12
libdart6.12 libdc1394-25 libdecor-0-0 libdecor-0-plugin-1-cairo libdraco4 libfcl0.7 libflite1 libfreeimage3 libgazebo11
libgme0 libgsm1 libigdgmm12 libignition-common3-3 libignition-fuel-tools4-4 libignition-math6-6 libignition-msgs5-5
libignition-transport8-8 libilmbase25 libjxr0 liblilv-0-0 libmfx1 libmysofa1 libnorm1 liboctomap1.9 libode8 libogre-1.9.0v5
@mxgrey
mxgrey / gist:537e5c8e9eab51904ae233c71966689c
Created December 1, 2022 07:35
libc failure backtrace
stack backtrace:
0: 0x55d5b430fc1a - std::backtrace_rs::backtrace::libunwind::trace::hd0524392467f58f0
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x55d5b430fc1a - std::backtrace_rs::backtrace::trace_unsynchronized::h2c36934e8f6e9be3
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x55d5b430fc1a - std::sys_common::backtrace::_print_fmt::he6e9d614e924de03
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:65:5
3: 0x55d5b430fc1a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hd3e316690863bea3
at /rustc/c97b539e408ea353f4fde2f9251d598291fec421/library/std/src/sys_common/backtrace.rs:44:22
4: 0x55d5b432d45e - core::fmt::write::
@mxgrey
mxgrey / input-remapper-crash.txt
Created October 28, 2022 06:29
Syslog related to input-remapper crashing
Oct 28 14:09:55 2B systemd-udevd[767]: input3: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[777]: input14: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[834]: input19: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[795]: input18: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[836]: input12: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[792]: input13: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[791]: input8: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
Oct 28 14:09:55 2B systemd-udevd[776]: input20