Welcome to the future with 50y old technology. There is an obscure emacs extension, swank js, that runs a nodejs daemon that speaks slime to emacs.
It allows you to work with js the same way you'd work with lisp, evaling lines or buffers into a live nodejs instance.
I use it (in combination with org-babel) to talk to live instances of remote services, to inspect data, experiment, but also as kind of an on-the-fly UI
It allows you to inject js into a browser as well, handy for js dev or even on the fly data scraping/web manipulation. Super useful yet not very well known.
klymit, pads are inexpensive, super light and surprisingly comfy
you usually make an open fire, but sometimes you need a stove? you don't want to carry something heavy or something that uses weird fuel that you can't get everywhere?
alcohol stoves are great in general, and this one in particular: vargo decagon
It was a bit slow to prime (should get to a certain temperature before it starts shooting flames from the sides) but I deal with this by just covering the whole thing with alcohol setting it on fire, primes it immediately :D
(if you get a vargo triad, you should have an alcohol bottle with about 1mm nozle, it has just a tiny hole to fill it through)
you can also always make a DIY super cat or something on the cheap, and you should use a windscreen, these can be sensitive to wind. yes putting random stuff around is fine-ish, but those aluminum foldable ones are reliable, cheap and light.
Are you having trouble falling asleep during conversations?
Are you in a disco, finding in hard to focus on computer programming?
I have a solution for you, just pop one of these babies in. http://lesh.sysphere.org/dump/weirdforest.mp3
Its a sound that I made that I play when I need to focus and zone out. It has some rain, weird thunder, owls, someone shuffling sticks around and whale noises of course.
I guess it will sound a bit ominous at first but it grows on you
I feel like people aren't freaking out enough about how awesome it is that big universities are publishing their lectures online, some of my favorite ones are
Justice, Michael Sandel (Harward)
Human Behavioral Biology, Sapolsky (Stanford)
I turned these into podcasts that you can download here
about behavioral biology letures, in order to fall in love with Sapolsky, check his short talk on toxoplasmosis parasite
Also, I think his lecture on biological underpinnings of religiosity that is a part of this course is not in the playlist, I think because its pretty controversial, you can find it as an old recording here
will add more stuff to this folder with time.
10$ power bank / battery charger combo that you can use for day to day stuff but also outdoors.
Had to implement some small but serious infrastructure.
Needed some usual things for internet operations these days like system monitoring, smart logging, graphing and alerting, high availiability, cloud, ids/ips, and mucho security.
Did this many times for random projects but this one was more serious and so I decided to rethink everything with focus on the security infrastructure. Manuals were read and quite a few quick projects were made and there is more to come so this post will be updated with time. I'll quickly go through the novel things I implemented and novel thoughs I have on the subject. This post will be a mess and there is a lot to write,
this is boring and already exists but I like the way I do things.
lego is a node app plugin system, works by looking for node_modules modules with certain prefix, supports dependency trees and a central config file.
ribcage implements some common things apps need, works on top of lego, has plugins to do logging, remote logging, db connections, web server and some such.
munin is a collection of perl? scripts from '98 ran by crontab. UGH. nagios is.. yeah, same thing.
went with logstash -> elasticsearch -> kibana for data collection/graphing and riemann for alerting. Didn't figure out active system checks yet (a job for nagios usually. stuff like pinging, checking if websites render correctly, potentially crawling them and such)
all kinds of apps write to logstash. my node apps, log data collectors (lumberjack), local system checks IDS, and such, it works well. Data from everywhere is aggregated and graphed together. I've written something simmilar to this stack as one off apps for debugging complex architecture a bunch of times, was very happy to find out that someone actually already works on such a thing pretty seriously.
didn't like collectd as it seemed like something that hangs out in a munin/nagios oldies crowd. so I wrote:
it supports plugins, they are super easy to write. one of the plugins is a meta plugin that runs munin scripts because I'd rather kill myself then write all these data collectors myself.
csi-internet is there for you if you want to draw some computer stuff on a map. Also good to impress your girlfriend if she got used to cmatrix. As a test of a graphing engine it can ping around, do traceroutes and draw heatmaps. Messy atm as looking at pictures was more fun then looking at good code. work in progress. works on top of d3 and datamaps.
Writing tons of iptables rules is for robots and not humans and so I'd fuck it up eventually. pyromaniac is a thing that renders JSON into iptables commands.
hosts =
vpn:
ip: '10.66.1.70'
publicPorts:
vpn:
port: 443
shell:
ip: '10.66.1.11'
ports:
ssh:
port: 22,
from: 'vpn'
something:
port: 666,
from: 'all'
git:
ip: '10.66.1.51'
ports:
ssh:
port: 22
from: 'all'
all:
ip: "10.66.1.2-254"
exports.settings =
rules:
forward: [
{ from: 'vpn', to: 'all', comment: 'vpn to everyone TCP' }
{ from: 'vpn', to: 'all', proto: 'udp', comment: 'vpn to everyone UDP' }
]
hosts: hosts
this program is highly specific to my scenario (machines behind a NAT hypervisor with strict control of each connection) I'm showing an aproach here more then sharing my code as something that will work for you.
I really like this part, but will write it up later when I have more to show
Initially I will use two different sensors for obstacle avoidance. lidar for closer range 2D image of space (obscale avoidance, scanning ground before landing, maybe SLAM)
and laser rangefinder for long range 1D distance sensing (looking for high buildings, maintaining altitude precisely, maybe high speed obstacle avoidance)
I went with cheapo robopeak hobby lidar, which seems to work well, here is a git repo for the library (node and beaglebone) (I also considered a lightweight hokuyo lidar) and for laser range finder I'll go with something like SF02 from paralax
these might be used in combination with some simple IR or just cameras (need more CPU but could double as optical flow sensors) used to locate becaons for landing or grabbing things
Ideally, both sensors should have an unobstructed front view on pitch dimension, with aditional unobstructed jaw dimension for LIDAR. Both sensors need to be able to independantly rotate on pitch axis for compensation of the angle of the drone when flying, and for scanning up and down (going in through windows, looking down when landing, etc) maybe rangefinder should also rotate on jaw axis on some fast servos for looking around independant of the drone orientation. not sure yet.
--
IR and ultrasound were also options, they are cheap but tricky and unreliable, (ultrasound behaves extra badly due to propeller noise on drones) These things can be compensated for, but laser rangefinding will always afaik give more accuracy and reliability at a price.
people often ask me why I own a drone, what is it for, and then half of the time they say that I could use it to record weddings and get some cash flowin'
If mention of recording weddings doesn't kill all my will for conversation, I'll say drones are so simple to make these days that I find it hard to justify not owning one. also, at the time there is no regulation and no one ever counts on you owning a flying robot, so its a sweet spot to own one. a drone is a flying sidekick, it can, in theory, do whatever a flying sidekick can do. it can enter through windows and steal jewlery with its tiny robot hands. Sounds ridicilous but technically it is not hard to do. In the following years we'll have to rethink space and what can be done, and before that happens, I get to be a kind of a superhero.
today, drones are very primitive. I'll fix some parts that I care about. and if I make anything useful, Im guessing drone related kickstarter projects would be welcome.
a few ideas,
few concrete things to work on, sorted by priority
this is a lot of work, but none of it is far fetched and all of this will be done soon, if not by me, then by someone else
if you care about this project, you can follow it at http://lesh.sysphere.org/tagcloud/personal_drone rss @ http://lesh.sysphere.org/tagcloud/personal_drone/rss.xml
I like creating and building things and I own a grappling hook. This site will be an partial dump of projects I work on and things I've written down.
I'm into evolvable programs, designs inspired by nature, philosophy, computer security - malware specifically, robots and such. I've worked as a software engineer and I've worked for artists on tech art pieces as that's more fun. These days I tend to travel so expect stories on hitchiking, stealth camping, urban exploration and nature.
Check out the tagcloud to find if there is something here that you care about.
Here is my contact info and PGP key
First prototype in python, work in progress, I should think of more interesting project names.
an algoritmic music generator that interprets cellular automata as notes, its an alsa MIDI device.
Cellular automata rules are described by a simple RAM machine language and are evolved. There are some interesting things about the language itself, I'll post the details later.
Fitness function is a human clicking on "the nice ones".
I'm surprised I couldn't find this..
async object or json pattern matching/validation used for validating function/process arguments, api call permissions, messages, etc. supports serialization/deserialization of patterns themselves, which I used to implement a generic db query language on top of this. for now, tests are documentation
extras repository contains cuter things like
uses a few of my libs like nodejs-graph, nodejs-subscriptionman, nodejs-validator2 and others
I've implemented some protocols above this, like
I use it for all kinds of things, like
and I've built a few libs on top of this
a bunch of selfish prisoners having sex and mutating. WHOA. a very basic evolutionary algorithm, a last night's play.
Prisoner's dilemma is a scenario in a game theory (check it out if you don't know about it) its interesting to me in part because it explains human moral intuitions through a selfish evolutionary perspective, in other words, why people are generally nice to each other.
In the iterated prisoners dilemma the game is played repeatedly thus each agent has an opportunity to learn about other agents behaviours and potentially punish noncooperation. Cooperation may then arise as an equilibrium outcome.
solutions:
I didn't get tit for tat which I originaly expected, nor did I manage to get any other cooperative equilibrium. cooperation does evolve, but it doesn't last, strange, I expected that cooperative species will raise and stay dominant as I enlarge the number of interactions before a step in the evolution. (its rational to be nice if you need to stick around) need to investigate and think about this some more.
I'll post more info and code later or never. screenshot and someone with a different approach and a spacial dimension.
After looking at the rorschach test, I wanted more. supirisingly, I couldn't find any rorschach generators online, so, python, tkinter and randomwalk with random size blobs and simmetrical reflection, I thought that some tweaking or more complicated algorithm would be needed but this works great.
click on a canvas for (re)generation.
I've been hoping to write this for a while, its not a very exciting project so I've been working on this when I'm tired.
its a bit unusual, nodejs-blosxom, ~400 lines of coffescript. this is very much a work in progress, I'd advise you to use it as inspiration more then as a code you run. templates related to my own homepage are included in the repo. might move them laters.