Ben's Blog

Category: all out geekery

36 Articles
aesthetics, all out geekery, electronics, plots, plotters ben April 10, 2025

Laser Portraits

I had a chance to run 2 Pewtybots at a public event where people could have their picture taken to be turned into line art to be rendered by lasers. I should have taken better pictures and videos, but I was too busy manning the station and talking to people. It’s unfortunate because it’s hard to convey the experience with words.

Ever since the first successful prototype, I kind of knew I wanted to do something for this event. And so I built 2 machines, refined the software, the math… well maybe that’ll be another post… I’m not sure I have it right just yet, I might. I have it right enough at least, let’s just say I refined the math. Finally, I spent time developing and practicing a pipeline where I can take someone’s picture and send it to either Pewtybot happens to be idle.

Esther helped man the station so we practiced at home with all her toys pretending to be the various personalities she’d encounter at such an event. From the overly curious bear to the llama in a hurry. And so the pipeline is as such: first we take your picture. A monitor is facing you to see what it is.

Then we turn that into lines to be drawn (or lasered in this case). This is supposed to be a first taste of eye candy as these algorithms are cool to see at work.

Then you go in a dark room, and see it all get zapped on the wall (I don’t have a picture of the lasered dog plush).

Because this was a first on many fronts, I was pretty anxious some things would go wrong (they did). I also didn’t know how to present it, or how people would react. So the first couple of “customers” helped me figure out how to guide them through the pipeline. And when the time comes to go in the dark room, I purposefully kind of dump people in there and vaguely tell them to wait for the wall to light up. I have the laser write their name and count down from 3 to 1, and then the laser moves much faster through their portrait.

Nicole quickly realized adding chairs in the dark room would invite people to take in the experience more. And I realized I was silly to tune my setting for single portraits, I almost exclusively had families and groups of friends in the same picture. The reactions were great, although I didn’t get any from inside the room, people coming out were full of questions and kids were smiling. As always with my silly projects, there’s also a smaller fraction of people with whom they resonate more deeply.

Overall it was a big success and pretty smooth for a first. I want to do more for sure. There’s something fireworksy about when the laser really starts moving and light shows up everywhere.

all out geekery, I.T., maniacal paranoia ben August 09, 2024

Flipper Zero

I finally got my hands on a Flipper Zero and boy oh boy, let me tell you, I should have done this a long time ago. I got it for my own interests because I was curious to understand some protocols better. To my surprise, both kids have been way into it. I’m of course elated to titillate their hacker spirit. I didn’t even think it possible with a 7 year old, but the cross between ease of use, and yes… a Tamagochi is really hitting home. Esther’s mind was blown when she scanned and replayed the IR signals of a toy of hers.

Robin & I are trying to sniff and replay all kinds of signals which always leads to a deeper understanding of technology for the both of us.

I too I’m in love the with the fun packaging and the geek humor. There isn’t anything revolutionary about the capabilities, but they way lowered the bar of entry. Most of all, it’s built with a spirit that strongly appeals to my original love of computers. This little wonder sparks curiosity and discovery everywhere it goes.

3D modeling / printing, all out geekery, electronics, I.T., plotters ben December 26, 2020

PlottyBot is born

Years in the making, many prototypes, and I hope a software stack which brings novelty and ease of use to the world of pen plotting. It’s been a marathon building the final version and documenting the process carefully. I’m too pooped to say anything more about it for now.

Instructions here

aesthetics, all out geekery, I.T. ben December 07, 2019

Fluid Dynamics Simulation

all out geekery, I.T. ben December 07, 2019

Nosy Monster Nosying & Monstering around

Still going strong

all out geekery, I.T. ben April 12, 2019

Protected: Nosy Monster… & Pals!

This content is password-protected. To view it, please enter the password below.

aesthetics, all out geekery, I.T. ben September 11, 2018

Protected: Primitive

This content is password-protected. To view it, please enter the password below.

all out geekery, I.T. ben August 13, 2018

The Wordiest Word

With Markov chain based random word generation, I essentially have tables of the probabilities for letters sequences. With this I’ve always wanted to know what the most English word was. The word with the highest probability of each letter following its predecessors.

I finally bit the bullet and produced it; well them, because it varies depending on the corpus & depth used. All in all it’s not that impressive, just kind of cool to know. I don’t know what I was expecting, some amazing word that would rock my socks off.

Without further ado, here they are:

Corpus Depth Wordiest Word
basic_english_words 1 st
basic_english_words 2 st
basic_english_words 3 struction
basic_english_words 4 statement
basic_english_words 5 store
unabridged_english_dictionary 1 prerererererererere…
unabridged_english_dictionary 2 press
unabridged_english_dictionary 3 press
unabridged_english_dictionary 4 preconcer
unabridged_english_dictionary 5 preconcertification
all out geekery, I.T. ben May 05, 2018

Nosy Monster alive and well

The Nosy Monster has been sitting on my desk idle for a while now, I’ve always wanted to work on it a bit and make it more reactive to web input. Finally, I bit the bullet and it’s now a lot smoother to operate. Instead of clicking for pre-timed commands, the start of a key press actuates and the end stops. With a websocket communication layer and a socket python command server, the commands find their way from keyboard to motors super fast.

To account for wireless imperfections and AP hopping, I also wrote the logic such that there isn’t a “start” and a “stop” command. Instead there is only a “start” command which gets sent every 200ms and if it isn’t heard every 300ms, Nosy Monster stops. This ensures it won’t be locked in a state of actuation which could lead to perilous situations.

I intend on polishing the code & publish a tutorial that hopefully a 7 year old could handle.

The Nosy Monster was deployed at the Dartmouth Thayer School of Engineering’s open house. I didn’t know how robust it was going to be under sustained kid use.

It turned out to be a huge hit, I let the kids drive it around a bit and then I’d throw the Nosy Monster in another room where they would have to find their way around with no visibility other than the camera. It performed flawlessly through the evening.

It’s always an enormous point of satisfaction to see kids get into something you made. Once I sent the RC car “to Mars” (the other room), the kids were really focused.  All but one got stuck and never came home. I should have had a prize for the one, but what’s next, participation trophies?

With a much more usable and reliable toy, I decided to setup the same kind of maze in a house room under construction.

I moved the camera up on a stick for a better angle of vision, the next model will have a fisheye camera.

Without a reverse, it takes a few tries to get through the maze without getting stuck. He had to learn to be careful.

I’m bubbling up with ideas  of cool things to do with the concept and acquired techniques. From a solar powered exterior land rover, to battle bots.

aesthetics, all out geekery, I.T., miscellaneous, web development ben February 17, 2018

Tessellationgaba

Very intense 2 months coding marathon to bring into the world the new version of Mandalagaba.

I completely rewrote the symmetry engine to be universal. When I coded the first version, I only wanted to scratch a specific radial symmetry itch and had to expand on narrowly conceived code to accommodate for features that came up from the tool’s success. With this new version, I instead gave myself a broad framework built for expansion, I can translate any penstroke at any angle in any location. Beyond mandalas, it makes possible tessellations and even the 2 combined.

I used the opportunity to add many features which were lacking: zooming, forking, lines, color picker, et cetera. With many more to come. The interface was rethought to be more accessible. Doing so took much more time than building the core engine.

There is an obscene amount of math that goes behind every pen stroke you draw in the tool. It was kind of fun to go through it again in my life, 20 years later. Even though I had forgotten about it all, it came back nicely. It’s amazing to have the internet as a tool to look up methods, to be able to describe the problem in plain English and have potential solutions thrown at you. It used to be that you needed to know what you needed precisely to find it in a book.

 

I love that Robin copies what I do no matter the understanding level, we’ve had lots of talks about what is going on.

It’s not just the math but also algorithms, languages & infrastructure. Not to toot my own horn but in my 30s, I’ve never felt so intimate with every aspect of an idea’s implementation. It’s extremely enabling to know exactly where to go to achieve X. Honestly though I’m a little burnt out at the moment, something that was supposed to take 10 days took more than 2 months of coding every single night.

My hope is that the new tool becomes a reference online for this type of work. And it’s all 100% free; well… we’ll talk about that in the next post.

Lower tech fun found in a thrift shop

aesthetics, all out geekery, I.T., web development ben December 31, 2017

Been programming – Tessellation preview

Between the brutal cold and children, I haven’t had as many untainted brain cycles as I’ve been wishing for; still, I just finished the core engine for a universal way to apply translations to pen strokes. It allowed me to rewrite the mandala engine better, and expand it to allow for tessellations, and really any kind of translations on any center at any orientation. It’s been a ton of ground work so it’s nice to finally get some eye candy :).

I can’t wait to see what the internet does with it. Here’s a preview:

[mejsvideo mp4=”http://ben.akrin.com/videos/tessellation_preview.mov.mp4″ ogg=”http://ben.akrin.com/videos/tessellation_preview.mov.ogv” webm=”http://ben.akrin.com/videos/tessellation_preview.mov.webm” poster=”http://ben.akrin.com/videos/tessellation_preview.mov.jpg” width=”640″ height=”360″]

aesthetics, all out geekery, I.T. ben December 29, 2016

Multiaxis symmetrical drawing – A Mandala maker that doesn’t suck

I’ve had a terrible time finding a good piece of software to draw mandalas with. To be honest, I don’t care what mandalas are but I’m obsessed with how cool it is to draw with replicated symmetry on multiple axis.

Without further ado, here it is (drag your mouse to draw):

I hope you find it addictive. Click to pop out.


So wow… just wow, this blew up. This little tool ended up making the front page of Reddit in one amazing thread in which  many people shared their mandalas. It was an amazing day in many ways, first of all I’ve never seen so many positive comments in a single thread online. The amount of people who seem to have been positively touched by this program is humbling. Drawing mandalas is apparently great stress relief for many and I’ve received several personal notes on how much this program had done for them. I did not see that coming to say the least. Then the fact that this tools was picked up by real artists pushed it to build creations I didn’t even know it was capable of. Lastly, my solar powered raspberry Pi handled hundred of thousands of connections in a single day which turned out to be a technical challenge on top of the overwhelming response. When I set out to create this program, I did not have the slightest idea that it would hit such a sweet spot. I mainly wanted to scratch an itch and couldn’t find any good apps out there. It is a true privilege to have had the chance so see so many people use a tool I made, and have them report they were positively touched by it.

Here is a few of the most amazing mandalas that were posted on the Reddit thread, this is what it looks like when real artists take over your tool 🙂

 

all out geekery, I.T. ben November 15, 2016

Protected: Nosy Monster

This content is password-protected. To view it, please enter the password below.

all out geekery, I.T. ben March 04, 2016

IPv6 link-local address to MAC address online converter

The converter

It can also be addressed directly via:
https://ben.akrin.com/ipv6_link_local_to_mac_address_converter/?mode=api&ipv6=fe80::5074:f2ff:feb1:a87f
for all your API needs.

Description

This converter was implemented per Dave Russell’s suggestion as a follow up to the MAC address to IPv6 link-local address online converter. If you are interested in the steps behind this conversion, they are simply a reverse of the original Mac->IPv6 converter.

Please note that of the various IPv6 notations, the one this script will expect is fe80::xxxx:xxxx:xxxx:xxxx.

all out geekery, I.T., self sustainability, solar power ben November 06, 2015

A solar powered blog

This blog is now powered by a Raspberry Pi using 100% solar energy. Nicole instrumented the Phidgets sensors so we would gain some visibility into our electricity production & consumption. This has already given us some great insights. We can see the effect that each device we use has on the system: how much the LED lamps take to charge, the hole that the inverter blasts through the battery when turned on. We can tell that not all sunny days are created equal in their ability to give a charge. We can even tell the increase in electricity consumption that rsyncing a whole bunch of data to the Pi has: 0.03A.

The sensors

  • solar panels volts (a good indicator of sunlight)
  • input amps (indicates when the charge controller uses produced electricity)
  • output amps / load (what we consume with various devices)
  • battery volts (whether this blog will make it through the night or not)

For now I’m only graphing using the Gnuplot one-liner from Hell. More to come…

Screen Shot 2015-11-05 at 12.33.16 PM

It blows my mind way too hard that I have a system in which sunlight comes in and organized information comes out. And by organized information I mean lolcats.serious-cat

all out geekery, I.T., miscellaneous, self sustainability ben June 24, 2015

Protected: Footage from above of the beautiful place we're calling home

This content is password-protected. To view it, please enter the password below.

all out geekery, I.T., miscellaneous ben June 01, 2015

Protected: Hubsan X4 H107C

This content is password-protected. To view it, please enter the password below.

all out geekery, I.T., Lego / Duplo ben April 15, 2015

Duplogrifier

I’ve been wondering for a while if I could represent a picture with Duplo pixels in a way that would do it justice.

Introducing the Duplogrifier!

Duplogrifier will take any JPEG and turn it into an arrangement of 2×2 Duplo bricks. Now truth be told, the answer to my original question is “no”. There are not enough colors available and it would take a obscene amount of bricks to build something visually acceptable. However it leads to some fairly cool results.

2015-04-15: added 6 more “pixel” colors.

You can play with it here:

all out geekery, I.T. ben May 11, 2013

Markov chains music generation

Here’s a project I’ve had on the back-burner for many years. Following the natural progression of generating stuff based on Markov chains, I decided a while ago to port the algorithm to music.

Music presents many challenges that I haven’t been able to address well so far. As a result, what the algorithm produces always had a bitter unfinished aftertaste to me, hence why I haven’t published anything about it for years.

  • Music is multidimensional, time is relevant and needs it own analysis and subsequent generation
  • The interconnectedness of different instruments from the piece is important as well.
  • Random generation even based on Markov chains fails to produce any structure. The pieces all sound like a long solo without chorus or any other repetition that would give us what we strive for: anticipation. In other words, it’s perfect for jazz.

I’m hoping that publishing this will give me the kick in the nuts necessary to keep improving it. Without further ado, here’s what I have so far.


Future improvements:

  • add to corpus
  • clean pieces analyzed of noise
  • try to infuse structure
all out geekery, I.T. ben February 24, 2013

More Dr. Meter fun

Finger

Arm

Hair

Salt

Nutella (gross)

Peanut

Serrated knife blade

Ballpoint pen

Printed beer logo

Cloth

Melting snow

[flv:http://ben.akrin.com/wp-content/uploads/2013/02/temp.flv http://ben.akrin.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-24-at-11.53.58-PM.png 640 426]

all out geekery, I.T. ben January 03, 2013

Dr. Meter B003+ 300X USB digital endoscope/miscroscope camera

TLDR: an awesome cheap device wrapped in Chinese funkiness.

The details

It is hard, very hard to not pay attention to all the funny details that go around the device. But it’s a solid device that performs great for a good price. As far as I can tell, it does not do zooming per se, it is only able to get very close to a subject and thus when the resulting picture is displayed on a bigger screen, small details are visible. As such, what you see is strictly dependent on how close you stick the camera to your subject. In fact the camera has a focus length of a few millimeters to infinity, which means you ca use it a a regular camera but you’ll have to turn the focus knob quite a bit for that.

First, some pics of what it’s capable of

They are seriously lacking online

The device itself

 On its little tripod

The lens

Everything else

The device has multiple attachments referred to as “beauty inspection tools” which are meant to stick the camera in various orifices of one’s body. They are nicely sealed in sterilized bags (but not the anal one).

Some of the various “beauty inspection tools”…

The unboxing feels like opening a Chinese treasure chest, the mechanism, the texture, the looks; this product is made in China and not pretending otherwise. What else feels Chinese is pretty much anything written in English. It’s super funny to read it all.

Technically

The device is recognized as a standard camera in Windows, MacOS & Linux! No extra drivers necessary. This is what I love about buying products from smaller companies, they go after existing standards. As such you can open it with any webcam software, I took my test shots with photobooth. They provide some software for filming & measuring among other things but I care not about this functionality so I won’t spend the time loading it.

I’ll take it to the beehive this week-end and we’ll see how it does there.

all out geekery, I.T., poultry, self sustainability ben November 20, 2012

Chicken cam – back online!

But with a serious loss of functionality. Given the internet connection that I have (cellular) I can’t reasonably set it up to do live streaming. I’ve also disabled interaction with the cam. What’s left is an image uploaded every hour. Not super duper cool but I’ll take what I can get in this neck of the woods.

Hopefully this will get better when better internet is available.

all out geekery, I.T. ben September 12, 2012

FreeBSD 9.0: higher MTU & NIC bonding

Here’s is some information that took me a good while to gather.

With the igb driver in FreeBSD, the mbuf cluster size needed is a mathematical formula involving the number of CPUs & the desired MTU. Unfortunately, it is currently hard set. On enterprise machines with many cores and higher MTUs, it is quite easy to reach this set limit. It will express itself with the following error message after an ifconfig:

igb0: Could not setup receive structures

This limit can be overridden with the following in /etc/sysctl.conf

[code]kern.ipc.nmbclusters=131072
kern.ipc.nmbjumbo9=38400[/code]

These are the value that worked for 16 cores & an MTU of 9000.

While we’re at it, it took me a while to nail the exact syntax require for NIC bonding so here it is:

/etc/rc.conf

[code]if_lagg_load=”YES”
ifconfig_igb0=”mtu 9000 UP”
ifconfig_igb1=”mtu 9000 UP”
cloned_interfaces=”lagg0″
ifconfig_lagg0=”laggproto failover laggport igb0 laggport igb1 192.168.0.123 netmask 255.255.255.0″[/code]

As far as I can tell, capitalization matters…

Posts pagination

1 2 Next →

This blog is solar powered

Interactive

Handwriting Capture
Mandalagaba
IPv6 link-local to MAC converter
IPv6 MAC to link-local converter
Markov Text Generation
Markov Word Generation
Markov Music Generation
Duplogrifier
Flood Fill Algorithms
Homestead Metrics
RGB Playground
Web Games

Categories

  • aesthetics111
    • plots54
    • specular holography6
  • Books3
  • I.T.202
    • 3D modeling / printing21
    • AI6
    • all out geekery36
    • electronics27
    • homestead automation6
    • maniacal paranoia25
    • plotters49
    • unix / linux29
    • video games4
    • web development29
    • web games3
  • Lego / Duplo67
  • life in the U.S.42
  • miscellaneous202
  • nature encounters114
  • old vinyls3
  • organs2
  • self sustainability560
    • agriculture105
    • apiculture38
    • apple20
    • building131
    • canning3
    • crochet6
    • foraging6
    • hunting10
    • maple syrup47
    • poultry39
    • preserving2
    • solar power28
    • water23
    • wood84
  • trip to a new life6
Theme by Bloompixel. Proudly Powered by WordPress