/ blog projects miniprojects tagcloud   about contact github flickr where am I?

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.

here is a quick elisp code to make it run with livescript

Fri Sep 29 2017 17:10:56 GMT+0200 (CEST), 3 weeks ago

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 everybody's favorite - whale noises.

I guess it will sound a bit ominous at first but it grows on you.

Tue Nov 08 2016 17:58:48 GMT+0100 (CET), 12 months ago

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.

Tue Nov 08 2016 16:50:41 GMT+0100 (CET), 12 months ago

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,

Quick logistics for nodejs apps

this is boring and already exists but I like the way I do things.

System monitoring?

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)

edit: don't (ab)use elastic! use influxdb stack with graphana,. elastic thing was hard to tweak and used more resources then the whole cluster it's monitoring.

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:

  • a simple probe that collects data from machines locally and sends it to a central server (in my case logstash) via udp json.



it supports plugins, they are super easy to write. one of the plugins is a meta plugin that runs munin scripts

Geographical internet stuff

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.

Firewalls

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. (a more traditional aproach would be to use ansible for this)

IDS/IPS

I really like this part, but will write it up later when I have more to show

Mon Mar 16 2015 23:28:16 GMT+0100 (CET), 31 months ago

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.

Thu Oct 09 2014 14:31:52 GMT+0200 (CEST), 36 months ago

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,

  • work on being more autonomus, gesture recognition, landing on backpack, automatic charging, simple commands like follow me, land and observe, and such
  • picking up bread in the morning
  • ground locomotion, wheels or legs!
  • stringing a rope somewhere high or for a tyrolean traverse - I can be a very slow batman and I always wanted to string a hammock up between two buildings.
  • guarding a camp spot and scarring bears away
  • looking for people
  • planting and picking up sensors
  • security? (I'm terrified of security robots working against me, I'm excited about security robots working for me - maybe I won't touch this.)
  • obvious things like scouting or mapping, it would be nice to have something that creates a google maps or openstreetmap layer as it flyes around, and it shouldn't be too hard to implement, in theory :)

few concrete things to work on, sorted by priority

  • integrate a real computer (starting with beaglebone in my case, will need to reverse and implement sbus and naza CAN bus protocols)
  • long range modem - something like xbee xtend and/or sim cards for control over gsm
  • transport layer supporting multiple communication channels with automatic fallbacks (sim cards are long range but not reliable)
  • some kind of distance sensors for autonomy - lidar, laser range finders, SLAM?
  • alternative controler - I want to use my cellphone, potentially with a ps controler or something, not a gigant RC
  • even more alternative controler and more autonomy - myo or some other kind of gesture sensing/voice recognition/etc
  • automatic folding, automatic landing and takeoff from a backpack
  • means of ground locomotion - legs! (half of legs would already be done by autofolding system)
  • some computer vision - detection of people, optical flow sensing
  • drawing grafiti on really strange places (half of this is done by optical flow sensing)
  • automatic landing and takeoff beacons (IR?)
  • beacons and universal handles for picking up and dropping things off
  • landing pad with automatic charging station and an automatic cover - could be mounted on a car? could be used as a backpack?

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

Sat Sep 27 2014 22:06:41 GMT+0200 (CEST), 37 months ago

hello world

Sun Feb 24 2013 06:51:38 GMT+0100 (CET), 55 months ago

test

Sun Feb 24 2013 06:07:06 GMT+0100 (CET), 55 months ago

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.

features

  • each post is a markdown file (maybe I should check out ORG mode files?)
  • posts are in a git repo, so they can be written offline and synced with the web later
  • I wanted something like google plus circles, with restricted tags for particular people
  • implicit tagging by placement .md posts in folders
  • explicit tagging/metadata for a particular post by adding a JSON line as a first line in a file
  • tag filtering
  • no javascript on the clientside
  • rss for arbitrary tag combination

immediate todo

  • full set operations on tags
  • think about collapsing large posts when they are initially displayed..
  • also, don't render ALL matching posts, do the next/prev button thing.
  • saving of blog post metadata JSON back to files
  • color private tags differently
  • wiki (some way to link to other posts or tags (just extend the markdown?))

things to figure out

  • something super light for image galleries, I want to rsync images.. might implement this myself. flickr doesn't suck anymore, might hook into flickr?
  • I want to extend the markdown renderer in order to be able to include things like youtube videos or my own images/galleries
  • social network publishing - ifttt.com - I'll just use the rss.

at some point

  • implement tag equalities and implications, for example music is always audio but audio is not always music, audio is always sound though.
  • posts that are related to geographical location + geo search/map display.. I'd use this to mark interesting places, track trip progress and such
Fri Feb 22 2013 05:48:14 GMT+0100 (CET), 55 months ago