surprise

(draft – without her)

I didn’t expect That at all, that I would slip then
They were terrible people who made beautiful things
And I would be happy to go by that name
 aspire to, even
That was the surprise. I didn’t realize
that they represented hope to me
that there was hope
that I could be beautiful too
They‘re all dead now.
Him too

TESSELATION

There are far more than five senses available in the bleak sensorium of human existence, and one of them is the sense that you could’ve done better. This is an exploration of that sensual experience.

Obligatory finished product first:

IMG_3752.JPG

I think the journey began confidently over beers, but the tolerances involved in interpreting what someone means by “portable and loud but doesn’t have to be too loud but also make it look really cool” can allow for a lot of design doubt (by no fault of their own–it’s just hard to gauge what reference points people have for “small” and “loud”), and so by the time I packed the Tesselator out, I had built 6 separate designs, each one but the last dusted in a fine sheen of “not-quite-good-enough.” This is their story (dim the lights).

ROUND 1: TOO BIG

Try 1 was actually pretty awesome. Basically, I wanted to see what the hype was about with the HiVi B4N’s. Ports in small boxes often of chuff me the wrong way and the client wanted “big circles on the front,” which I interpreted to mean speakers. Plus, I go for passive radiators when I can…and so I went for a passive radiator design. I had been having luck with asymmetry, and I wanted to carry a “T” motif through the design.

IMG_2487.JPG

The problem with the B4N’s that all the fanboys won’t admit is there’s an insanely high Q 15 dB break up mode right at 3kHz, and it likes to jump around depending on boundary conditions, air temperature, zodiac sign, etc. [For the uninitiated, basically the B4N is the classic DIY beginner speaker design because it sounds and looks good, is cheap to make, and because so many other people have built it. However, the all metal cone it’s based around tends to “ring” like a bell at annoying frequencies]. So I wanted to be at least 15 dB down by 3kHz which meant a tweeter that could hit 1.5 kHz, and for directivity reasons, I decided on a 500 Hz crossover, which obviously meant I was going to use the Aurasound NS1s.

Then I found a sweet spot of plywood that I could waterfall from top to front face to edge, cut with confidence, laid out some paper circles for test fit, and very poorly lock-mitered the shit out of the wood.

Lock miters as promised:IMG_2498.JPGThe separated volume is for the electronics–lesson learned from previous projects is when trying to attain a good seal, either get better at electrical engineering, or compartmentalize your bad work.

Of course, I still overestimated my abilities and placed the batteries in the acoustic chamber for space reasons. The white boxes are the enclosures for the NS1s.IMG_2522.JPG

I also had the idiotic notion that using banana plugs as pass-throughs would be simplest, but not only did I get the polarities wrong, it turns out banana plugs are super expensive and take up tons of space:IMG_2503.JPG

I didn’t manage to fuck up the miters too much and the face is perhaps lovable by more than it’s mother:IMG_2947.JPG

I cut out some purple heart and embedded some glow in the dark for the volume knob:

IMG_2690.JPG

With all that shit sorted, it was time to make an absolute mess of the ASP. The signal chain starts with a power-source isolated bluetooth chip, which is split by an op-amp active crossover, the low frequencies going to a china-market bought TDA7492 class D amp and then to the B4N’s while the high frequencies are padded down by potentiometer and sent to a similarly procured TPA3118D2 amp. The TDA7492 is rated for 40W into 8 ohms @ 25V @10% THD, which works reasonably with the B4N’s 25W RMS rating. Typically it’s better to spec an amp with more headroom (@ less THD) over the continuous power rating of a woofer in order to match the crest factor of music, but I didn’t think of that at the time.

IMG_2530.JPG

This is the last build I used analog signal processing on, partially because of the above mess of wires. Here’s the terrible wire management in context:

IMG_3299.JPG

I opted for a glow in the dark,  3D printed, inset handle to preserve the form factor, and then slapped some spar varnish all over that bad boy and called it a day.

IMG_3346.jpg

ROUND 2: TOO QUIET

Sometimes things come together, and sometimes they come together perfectly. This was not either of those scenarios; the “Tesselator” it’s actually just a decent name pun. Honestly, I was pretty happy with Round 1, but it was just not quite there. It was a little too big, and the lock miter bit I used for the edging was one of those cheap amazon finds that reflect their pricing in their quality. So, I started completely anew…by taking an old project that had been called into half-hearted existence with 3 other siblings in a similarly iterative process that finally yielded the Krump Kanon and cutting it in half. In general, this approach is poor.

It sucked for multiple reasons, some of which were that it was ugly and sounded bad and was still too big. Essentially, it failed to meet any of the criteria laid forth.

IMG_8529.jpg

ROUND 3: TOO LITTLE BASS

I then tried a new design that was basically Round 1 but with half the stuff in half the space. It also sucked. I was convinced that it wouldn’t because of my experiential lesson on KK Round 2–“efficiency is king”–but it turns out that only works if you have a pleasing natural response or some good DSP.

It was doubly a shame because the wood that went into the box was beautiful, but for some misguided reason, I used the cheap lock miter bit from Round 1 and, completely to my surprise, it didn’t work well the second time either.

IMG_8530.jpg

ROUND 4: TOO HAMMERED

I then decided that everything I had decided was wrong, that efficiency wasn’t king, and it was all about extension. I went back to some of my “super-compact design” notes and decided to drag some micro-subwoofer Tang Bands into wretched existence. The only problem is that tuning a small box to subwoofer frequencies requires a long-ass tube (because the air spring in a small box is relatively stiff, you need a lot of acoustic mass in the resonating port to get a low resonance frequency), and long-ass ports are very inconvenient to fit into small boxes (not a problem encountered in my daily life). I had a minor stroke of brilliance stroke and decided to make a port that was both a long-ass tube AND a handle, therefore circumnavigating this issue.  Here is the relatively tiny box, which looks shitty because I had also come up with the terrible idea that I’d wrap the whole thing in carbon fiber once assembled:

IMG_2774

And the incredibly sleek and not at all awkwardly protruding port/handle design. IMG_2794

I set the thing up, hit play and was, for the first time in a long time, pleasantly surprised. Here’s a casual video of it in a living room (turn ya sound up and throw on some head phones to appreciate the FIDELITY that’s SPEWING out of this BOOMBOX).

For such a tiny little thing, it was really moving air. It had real potential until I hit it with a hammer.

ROUND 5: TOO UGLY

Not really much to go on about here. It was ugly. I underestimated how weird it would look to have the speakers sticking out of the face instead of flush mounted, and the thing looks like a damn bug-eyed pug.

ROUND 6: NOT BAD

In a surprisingly reflective and narratively satisfying moment, I decided to combine the lessons of the last 5 iterations. I drew up a plan for a small, relatively efficient boombox with precise waterfall miters, inset speakers, DSP, and a port handle. And no fucking carbon fiber.

IMG_3748.JPG

THE DESIGN

On to the even more boring stuff. Yes, yes, I know the stereo image is going to be ruined by placing the “tweeters”  on top of each other. But it looks cool, and there’s no point in attempting to get stereo width out of a box narrower than one’s head.

Anyway, it’s got 2x TB W3-1876 in a mono “sub” configuration, sitting in a 3.7L box stuffed with light polyfill, tuned to 48 Hz with a 12″ long by 1.2″ diameter port. This theoretically gives an f3 of 42 Hz. The port is a 3D printed 3-section design that was epoxied together for surface finish and adhesion. It’s flared on both sides equally for symmetry. The “tweeters” are 1″ W1-1070SH, which are sitting in a 0.1L box and crossed over in a 48 dB/oct LW DSP crossover at 500 Hz. The outer dimensions are approx 4.5″Hx4.5″Dx14″ and the 80Wh battery supplies 24V (nominal) to a China Black Market TDA7492 (to run the woofers) and a CBM TPA3118D2 (for the tweeters) for about 8h of quite listening and 4 hours of TURNT listening  MiniDSP 2×4 runs the tuning, and the bluetooth is run by an APT-X Bluetooth 4.0 chip. The advantages of this chip are high quality transmission with surprisingly low radio noise, but by some trick of China-blackmarket circuitry, it manages to clip it’s output stage at maximum source volumes. I suspect they added a NE5532 output buffer but didn’t manage the gain properly. The numbers on the edge display battery voltage, which is my lazy solution for a battery gauge.

The wood itself is is 1/4″ maple ply, reinforced on the interior with another 1/8″ of ultra-stiff epoxy and some bracing. I finished the wood Water-Lox high gloss finish, which I enjoyed for the simplicity of use and quality of finish. It brings out the grain and luster of the wood beautifully, and it dries quickly into a reasonably durable exterior finish.

THE SUMMARY

Subjectively, the thing is awesome. It sounds far bigger than it looks, and with DSP trickery, there are little concerns of over-excursion despite a relatively low tuning for such small woofers and such a small box. It’s a good feather in the cap for extension over general sensitivity, though it seems that the “high-moving mass, giant coil, really strong magnet” combination that Tang Band is throwing into their designs does a decent job of balancing sensitivity with extension, and this design ends up being a good compromise of the two. The stereo image is shit for previously mentioned issues, but it manages to have pretty laid-back directivity, which is all you could hope for from a small source.

Final assessment: can fill a living room with danceably loud music, yet it is small enough to hand carry to a barbecue. Ship it.

AN INCOHERENT DREAM

1

A multi-dimensional object that is, in shape and movement, part digital glitch and part sea urchin. It’s a shade of deep, massive gloss black. Darker than black, darker than death. It’s the color black that makes a noise like a planet collapsing. Its shape is eating itself and exploding outwards, broiling tumultuously.  You’re a mile above a massive city, sky scrapers reaching to the sky like hope, you’re looking down with no body, watching it roll, seethe, swarm, sky-scraper tall, into the center of the neon night, shanghai future. It’s here-but-not-here, it’s in a layer superimposed over reality, a layer extra to everyone else’s run-of-the-mill 3-dimensions, visible to you, real to you, real to it, but not yet manifested as real to everyone else. This is good because otherwise everyone would be dead.

 

2

An underground environment lit by fluorescent lighting, Parisian subway tiles on the wall. It’s here, with you, bus sized. This time, manifested, real to everyone. Everyone is not dead yet. That’s because you and your team, team spelled family—you’ve been through it all together, like that one time you barely pulled it off at the last minute, with a plan just crazy enough to work, to stop that one end-of-the-world scenario, that was, what? last month or something?—are here to stop it. All of you, and it, are sharing in the same realities now, so you all have bodies and their associated delicacies. It’s a liquid-obsidian black, the same color that greed is, a deep, lustrous, beautiful black, like ballpoint pen ink, but for the pen that wrote the end of universe.

 

The reason for the sudden partialness to the more standard reality currently expressed by all parties is that it came here to fight you: loser dies, winner continues on their merry way—it’s merry way being to consume the city and world and everything you love in a maelstrom of hatred and violations of fundamental laws of physics. Luckily, you’re a goddamn weapon, and you’re carrying one too. Something very futuristic and Japanese, with a sleek dark look, the kind of look that a fancy knife has that indicates that it is definitely for killing. You softly un-sheath the weapon, which, to clarify, is technologically as much like a knife-definitely-for-killing as silicon is like silicone, with enough style that it’s clear you’re here to fuck shit up, but not so much style so as to be unprofessional. It’s unclear how exactly you got here and why the confrontation is in the format of a duel, but what is important is that you’re gonna fucking win, because this is what you’re made for. You’re something like the son of a fallen god, and you’re here to get after it.

You’re sorta going through all this in your head as the moment of confrontation draws out, with your teammates ready to lay down their lives and this creature ready to do whatever the fuck it is that it does, and you realize you’re not really sure how to get started. For lack of a better catch phrase as you raise your weapon, you say Okey-dokey.

It pops into a million spikes and then inhales itself into a smooth wave and then breaks into a cubic digital mass and then it freezes as a voluminous scream, a dark-matter Rorschach. Before you have time to move, it booms, deeper than the oceans, deeper than the crushing loneliness of the abyss space, deeper than the tomb of God closing shut

 

YOU CONTINUE TO JUSTIFY YOUR OWN FLAWS AND POOR CHOICES THROUGH A DESIRE TO BE YOUR OWN ANTIHERO DESPITE KNOWING THAT IT HURTS THOSE WHO CARE FOR YOU

 

you yell a battle cry and attack with the smooth ease of an athlete

 

WHAT MEANINGFUL AND POSITIVE IMPACT THAT’S UNIQUE TO YOUR EXISTENCE DO YOU HAVE ON THE WORLD AT LARGE? HOW ARE YOU NOT REPLACEABLE OR EXPENDABLE?

 

in shock, the world blurring, screams echoing, blood

 

YOU SAY NEXT TIME EVERY TIME AND WHEN YOU GO NOWHERE YOU LASH OUT AGAINST OTHER FOR YOUR OWN MEDIOCRITY

 

your teammates die and/or kill themselves

 

HOW DO YOU EXPLAIN THE DISPARITY BETWEEN YOUR AMBITION AND YOUR INADEQUACY

 

you alone stand determined

 

YOU COULD HAVE BEEN SOMEBODY

 

you sit down

 

 

It is a color of black that is the opposite of glowing in absolute darkness. It is the color of black of a bad goodbye. It is the color of black of hope when there is no hope.

 

3

A moment later, it’s silent. There floats jet-black sphere oscillating slightly, radiating smugness in a way that only a floating jet-black sphere that is oscillating slightly can. You look at your lethally-Japanese-but-also-futuristic-looking-ass weapon, it’s important end, on your temple, and realize that it was useless. This is gonna be different than before. You pull the trigger and you fucking kill yourself; it is you and you are it.

FUCK YEAH RECURSION

A Function to Un-Nest Nested Structures in MATLAB

So I’m flying back from Shanghai right now, (youalreadyknow it’s business class) and I decided to business-expense-splurge for the in-flight wifi, which is about as fast as a snail in the process of peacefully passing away. This means the only scrap of entertainment I can garner from my laptop is writing code in MATLAB. Writing fuckaround code in a pretend programming language in a rickety IDE has a provided surprising source of succor; if you were here you’d know it too because you’d notice I have been sitting FOR HOURS WITHOUT MY SEATBELT ON because I was simply too enraptured by the alternating tides of hate and happiness that MATLAB so easily exerts on the user.

Basically, I’m working on a GUI that allows a user to programmatically  create test limits for test data, while also allowing the user to efficiently adjust the limits where our absurd test data manages to invalidate centuries of statistical knowledge. This requires allowing the user to load a specific test from within an absurdly packaged data file which comes from a test system written by someone who clearly much prefers obfuscating and hiding things over effective data collection WHICH in turn means deeply and variably nested structures. Like 400-megabyte-CSV, stuck-in-limbo-with-Leonardio-DiCaprio, booger-that-you-can-feel-but-after-several-embarrassing-red-lights-you-cannot-remove levels deep.

Therefore, after careful perusal of mathworks, I wrote the following code. It uses recursion to return an array of strings describing each and every branch of a struct, down to the twig. It is surely my greatest accomplishment thus far.

function allfields=fieldnamesr(struct);
% FIELDNAMESR recursively explores the depths of nested structs To find all
% possible branches
%      fuck yeah recursion
fields=fieldnames(struct); %are there any field names?
idx=1; %increment variable
for i=1:1:size(fields,1) %for all field names
    if isstruct(struct.(fields{i})) %see if that field name itself is a structure 
        temp=structRecurrr(struct.(fields{i})); %if also structure, then we must go deeper!
        for j=1:1:length(temp) %for all returned values 
        allfields{idx,1}=sprintf('%s.%s',fields{i},temp{j}); %return a string containing returned values
        idx=idx+1; %increment
        end
    else
        allfields{idx}=fields{i}; %if field name not struct, then we are at bottom level
        idx=idx+1; %increment
    end
end

PSR J1748-2446ad

Hey baby,

what’s the world coming to these days? It’s all going to hell isn’t it?
what if we just got away from it all? like light years away, like really out there
fuck all this noise, all the people hurting each other
with the sky figuratively falling and with the economy and the people and the election and the general state of things

you’re the one thing that’s good in the world

so

I was thinking

let’s just get away from it all, like you’ve always wanted

you and me in a cottage on the sea side
you know? Let’s do something crazy and just run away
we don’t need anyone if we have each other.
Just you and me
I can see you’re with me to the end no matter what
so let’s elope,

let’s go some where crazy

I’ve got the perfect spot in mind:
let’s go to PSR J1748-2446ad
what if we did that? let’s just get away
I know this is a little out of the blue, a little crazy, I can see you’re a little worried, but it’ll be perfect

 

let me tell you about J1748-2446ad

it’s a little spot up north, in Sagittarius, by Terzan 5, it’s exactly the kind of place we’ve always imagined we’d grow old together in

there’ll be plenty of room for kids if we want to have some

it’s a fix me up for sure, the heating’s a little wacky, it’s probably like 6×10^5 Kelvin there year-round
but I love the way a little sweat looks on your skin

the foundation needs some work, the whole place might collapse into a black hole;
you’re all the foundation I’ve ever needed

it’s also a bit bright there; the 1.29×10^26 watts of emitted X-Rays would either instantly vaporize us or instantly give us cancer and then instantly vaporize us
I’m not worried about that though, your smile is pretty damn radiant and I haven’t vaporized yet, have I?

that aside, it’s got a great view, the perfect place to watch the sun set, though we might get a little motion sick because J1748-2446ad rotates at about 44,000 miles per hour. But you already spin me right round baby (like a record)
anyways, that’s 61,862,299 more sunsets a day we can watch together with our toes in the neutron sand

also probably the wifi won’t be that good, what with us moving at 0.25 the speed of light and the 2.3×10^13 Gauss magnetic field that will erase all of our devices

 

and also instantly destroy them

 

and also instantly crush our bodies

but I think it’s nice to unplug from everything every once in a while

Oh, and we’ve got to watch for the tide, or at least the tidal forces, because J1748-2446ad’s gravitational field,
well it’s about 106,387,117,347 G

it’ll keep us down to earth

but together I know we’d figure out how to make it work
and once we get there it’ll be our own little paradise
Imagine! what if we did it? what if we just got up and dropped everything and left right now?
with only high-energy astrophysics to bother you and I
we can finally have a cottage on the sea side like you always wanted

it’ll be just you and me

and a sea

of ultra-densely packed neutrons radiating gravitational waves into the starry sky

a place where we can just be us

just you and me
and PSR J1748-2446ad
I know its late at night, babe, but it’s 18,000 light years a way so we better get going
it’ll take 134,123,326 more anniversaries to get there if we sling shot by Jupiter

we can celebrate on the road