joshua0: (Default)
a blurry road at night, lit by headlamp, with trees whizzing by
It never goes smooth. How come it never goes smooth?

I have had a lot of trip reports in the queue to write -- or, perhaps I should say, I have taken a lot of trips recently, and some of them had moments worth writing about. I have half of a trip report written about getting shut down on Mt. Shasta; after it became clear that it was a simple recounting of a day, with nothing terribly interesting to say about it in that light, I gave up on that incarnation of it. In my mind, too, was brewing a set of thoughts about a recent cycling trip to make a lap around Lake Tahoe. On my laptop is also a draft of a post about mental health -- or, really, the things that go along with the absence thereof -- that I never seemed quite satisfied with enough to post.

It seems like what I was looking to write is a synthesis of all of these. Over the past few months, I have entered a handful of experiences with expectations for how they would turn out; some of them went exactly as I'd planned, and some of them were entirely the opposite. To be honest, I'm not sure exactly what my thesis is here -- is it that expectations influence outcomes? that they don't? that expectations influence experience? Regardless, here are a collection of moments of each of these.

"The best climber is the one having the most fun." — Alex Lowe
--- More (4108 words) --- )
joshua0: (Default)

After nearly seven enjoyable and stimulating years, July 2nd was my last day at NVIDIA; I learned an enormous amount from all of my wonderful colleagues there, and I'm very grateful for the opportunities that I was given there. Some highlights of my time at NVIDIA include: assisting in or facilitating the bringup of eight (!) chips; designing a ground-up new architecture for Tegra's video input engine; visiting a customer site with a logic analyzer that was worth a few times more than the car I drove there in; laying out the concept of the image processing pipeline for the zFAS platform in this year's Audi A8; prototyping a machine learning-based image signal processor; spending an hour or two with a soldering iron attaching probes to a 3GT/s MIPI link; and guiding the NVDLA open source project from concept to initial release. Perhaps more strikingly, I was lucky to have worked with a great number of people with at least as diverse experience as I, and to have had the chance to benefit from their expertise! So it is with nontrivial sadness that I depart, but that is how things go, I suppose.

On the other hand, it is my joy and excitement to announce that, as of last week, I am now Senior Engineer and Vice President at Accelerated Tech! Accelerated Tech is the combination of me and Jamey Hicks working together to provide hardware and low-level software design and engineering services. I first worked with Jamey over 15 years ago, when I had an HP iPAQ h3765, and his project at HP Labs -- handhelds.org (sadly, now defunct) -- existed to run Linux on those devices. Jamey was a powerful mentor for me during my early days of systems programming, and so I am proud and excited (and, perhaps, a little nervous!) to be working alongside him again in this new role.

When I worked with Jamey last, it was not immediately obvious at the time that what his lab was doing was "the future", but in retrospect, it is very clear to me that the handhelds.org work was the direct predecessor of, and the enabling technology for, modern smartphones. I don't think that it's possible to try to predict future results from past performance, and the kind of impact that handhelds.org had seems like the kind of thing that happens at most once in a lifetime. At the same time, the parallels of stage of development of some of the technology at play are striking: programmable logic has only recently hit a price point that ordinary hobbyists can experiment with, and that it can start to show up in consumer devices. Development for programmable logic is still quite difficult, especially as designs become nontrivial, and it it's still very unusual to build hardware with 'modern' programming techniques (i.e., with higher-order typed languages, or 'correct-by-construction' design methodologies). It's hard to believe that we could have the kind of impact a second time that we did the first time, but there sure is a lot of space in the hardware design world to improve.

I am excited. I think that I'll be doing a lot of different and interesting work soon. I am also a little nervous, for myriad reasons. But that's a good thing, maybe: if the outcome of something is guaranteed, is it really worth doing? No matter what, I hope to learn and grow.

joshua0: (Default)

There have been a lot of exciting changes for me in the past month -- maybe the most exciting being that I left my job, and so I've been spending the last month biking and hiking and generally getting outside. I've been meaning to write about those, and I have a post drafted about that, but this is not that post. Instead, this post is an unrepentently nerdy dissection of a new toy that I got, in which I unintentionally buy yet another Android device -- a Wahoo ELEMNT BOLT, which is a bike computer with GPS (and other data) logging support, phone and internet connectivity, and a whole bunch of exciting gadget and doodad features.

Update August 6th, 2018: I am in contact with Chip, at Wahoo Fitness, about the licensing issues -- and with promising news about hackability! I'll write a little more later when I get a chance, but I figured this update should be front and center....

--- More (3314 words) --- )
joshua0: (Default)
So, last night, I went to So Stoked: Rave to the Grave 2 at DNA Lounge. So Stoked is DNA's once-a-month kandi rave; I don't usually attend, but I confess that I do really miss getting to dance to high-BPM trance. Rave to the Grave is a kind of unusual event, where the So Stoked promoters join forces with the Death Guild promoters; upstairs, are the Death Guild DJs playing (maybe a little bit older, and faster) Death Guild tunes, and downstairs, are the standard kandi rave DJs. In the two times they've done this, they've had one big-name EBM DJ and one big-name rave DJ for each one; last time, they had Ronan Harris, of VNV Nation and Darude[1], and this time, they had Daniel Graves, of Aesthetic Perfection and Kyau & Albert[2]. (Both DJs played both rooms.) The event is, anyway, weird enough, and enough fun, that I try to make it a point to attend when it comes around.

Anyway, [personal profile] jgrafton and I arrived around 10pm or so, a little while before Daniel Graves's set, and we stuck around downstairs through some of the later sets, too. As far as I can tell, the two of us were basically the only ones dancing with glowsticks, and I was dancing pretty darn hard.

Eventually, this kid walks up to me. As far as I could remember, he wasn't wearing a wristband[3]; I'd seen him getting a light show from someone with LED gloves earlier that evening. He looked impressed -- and somewhat transfixed -- so I obliged, and turned my glowsticks in his direction.

"Dude. Are those just glowsticks?" Yep. The best 4.5-star glow that Amazon can sell you for $20.

"Dude. Do you ever use gloves?" Nope. Just glow. LED gloves are after my time.

"So you never used gloves before? Just that?" Nope.

"That makes it even more impressive!" The best of the [livejournal.com profile] knightofstarz Roselawn 7 School of Dance, my young friend.

He says something. Mumble. I can't understand it over the noise.

He pulls out his phone. He opens Snapchat. I nod, and turn up my dancing a notch to give him another light show. He doesn't seem to be aiming his phone at me to video; instead, he leans in to say something. Mumble. I don't understand.

He pulls up his QR code. Snapcode. Whatever it's called. I understand.

I grab my phone and launch Snapchat, and aim the viewfinder at his snapcode. It doesn't automatically scan. I realize that I don't know how to scan a snapcode. I try going to the "add friends" tab, and tap on "snapcode". It asks me to select an image from my camera roll; I didn't capture one. I fumble in embarrassment. Clearly, I am not a very competent Millenial.

He looks at me, and I hand him my phone. He expertly finds my snapcode, and just types my name into his phone somehow. I didn't think my profile was public, but maybe I am just the only "joshua" on Snapchat. He adds me, and smiles, and goes on his way.

I now understand. He uses Snapchat and gloves; I use IRC and glow.

Tomorrow, he will see my Snapchat story, with snaps of heckling my coworkers, and shitposting about my impending disappointment with a screenshot of buying MP3s of the new Above & Beyond album on Amazon, and he will be as confused as I.

* * *

(Young raver friend, if you come across this, keep on rocking. I am at least as much making fun of me as I am of you.)

[1] You heard me. Darude. Like, Sandstorm Darude.
[2] Who, by the way, were also freakin' fantastic.
[3] i.e., he was not of drinking age. So Stoked is an all-ages event. This is, on occasion, somewhat unsettling. I am pretty sure that the song Sandstorm was older than the median age at the event when they had this last year.
Tags:
joshua0: (Default)

Yes, it's that time of year again: a little late, but it's the musical year in review for 2017. There was a handful of really good stuff this year, and a few albums that I was really excited about! This year, I made some changes: I've added a relative and subjective rating system, from one to five stars. A one star album is not, necessarily, bad (unless I say it is...) -- think of it, really, as how much I am excited about listening to something, so one star just might mean that I haven't really found a place for it in my regular listening habits. The more stars, the more I think other people will want to listen to it too; to that end, this year, I had only one five-star album, but that means that yinz had better go and listen to it!

Got it? Okay, well, let's get started! This year, I bought 18 albums, saw 5 live shows, and recommended another additional 18 pieces of "extra credit", and here they are:

--- More (5459 words) --- )

So that was 2017. What did I miss?

(Previously, 2016; previously, 2015.)

(Also, this post was automatically formatted by a script that I wrote, and if you want it for yourself, you can get it here.)

Tags:
joshua0: (Default)

Tomorrow afternoon, I'm scheduled to get LASIK. I have some trepidation about this. Not, like, worried about the outcome: I'm pretty sure that, on the whole, having a LASIK flap is going to be much safer and much less of a liability than being dependent on corrective optics while I'm outside exploring. To tell the truth, I was planning on doing this last year, and backed off at the last second -- like, the day before I was supposed to come in for measurements. I've worn glasses since I was 6 or so (so, 22 years!), and glasses have just kind of become part of who I am. Who would I be if I didn't have my glasses? Who would I be if I couldn't choose to see or not see?

*   *   *

Tonight, I went and practiced asana at Planet Granite. The same studio I have practiced at for years, the same class I have taken for quite some time, with a teacher I knew well. Sometimes when I practice, I put my glasses on, and see through my glasses. Sometimes when I practice, I very intentionally take my glasses off: let my vision be blurred, as a way of turning inwards. I did today: today would be my last opportunity to do that. It felt like a turning point, and I tried to savor it when I could. The soft defocused view, the warm color temperature of the filtered floor lights, the knowledge that I was practicing in the company of many others, but without the distraction of any in particular ...

Some time ago, I used the metaphor of avidya for glasses with scars on them. When I have my glasses on and I see the outside world with crystalline sharpness, am I seeing reality more clearly, or less clearly? When I take my glasses off, and the outside world is blurred, am I now seeing reality more clearly, or less clearly?

*   *   *

In April, I talked about my experience of a morning practice. I promised myself that I would be honest when I talk about my experience of yoga, rather than trying to cultivate an image, and so it is only right to say: I haven't been doing it recently. In fact, I haven't been sitting at all recently. I've gotten out of the habit of it. Or, really, I couldn't make myself do it. For a while, I was beating myself up about it, feeling guilty after every day that I didn't sit. Then, the weeks went by, with my mala sitting on my cushion, untouched, but at least not unnoticed.

I'm given to believe that it is a very rare individual indeed who does not, at times, struggle with the practice of meditation -- or yoga, in general. I'm certainly not one of them.

I don't know when I'll come back to it. I take some comfort, though, in the knowledge that, like an old friend, it will be there for me when I return.

*   *   *

“You take practice. Practice, practice, practice. That is method.”
— Guruji Pattabhi Jois

joshua0: (Default)
MicHead board installed

(click for full writeup)

There is, truly, no kill like overkill. This is a story of how I spent untold tens of hours of engineering time designing and retrofitting an upgrade for the headphones amp that I keep at my desk to support a microphone input, and all for no real good reason. I jumped through contortions at every stage to get there. But, it was fun -- and that's what matters.

joshua0: (Default)
looking out over the Trapps, from the Grand Traverse Ledge on High E

Let's talk a little about High Exposure. High Exposure is this famous route in the Gunks, which themselves seem to be the Northeast trad-climbing mecca. When you get to the Trapps -- the specific part of the Gunks where High E is -- it's easy to see why people go there: it's about a mile-and-a-half long carriage road with a cliff on one side of it, with classic route after classic route after classic route back to back. The local ethic is not to add bolts, and it makes sense, because the rock is eminently protectable: many of the routes have perfect gear placements the entire way up. The Trapps have climbing from 5.2 all the way to 5.hard, and great climbing at every grade: the very first 5.3 that I got on there had a mix of every style of climbing, from stemming to pulling on a little overhang. If you've never been there, you'd expect "amazing 5.3" to be a pair of words that don't go together; a Gunks climber would say it unhesitatingly, and they'd be right.

--- More (1533 words) --- )
joshua0: (Default)
rope running between flakes on Matthes Crest

On Saturday (that is to say, July 15th), Josiah, Liz, and I went for an attempt on the Matthes Crest traverse from south to north. It was a total mess; in my book, it falls just barely short of an epic, but it certainly crosses the line over into being a total cluster. We got in a decent ways over our heads, made a mess of basically the whole route, and had a really long day. Remarkably, almost the entire day was still fun. Here is, more or less, how it happened.

--- More (3483 words) --- )
joshua0: (Default)
tl;dr: you can boot TWRP on some bootlooping Nexus 5Xs if you are really careful and use the image that I provide. Skip to the instructions if you don't care to hear me blather. And if you liked this, you might also like the hard mode version.

Yesterday evening, my Nexus 5X (a refurb from July 2016, after the fingerprint sensor on my original October 2015 Nexus 5X failed) succumbed to the disease that seems to take all of them: while I was at dinner, I sent someone a message, and as I hit "send", the device hung, got shot by the watchdog timer and rebooted, displayed the "Google" logo, and continued to cycle through being shot down by the WDT and rebooting over and over again. This failure mode is apparently very common in these devices, and is known as the dreaded "bootloop"; it is so widely known that the Google Store has indefinitely extended the warranty period for devices matching these symptoms, and the Nexus 5X subreddit is basically overrun by bootloop posts.

The actual root cause, as far as I can tell, is not publicly known. There has been a lot of speculation about what causes it, and what triggers it, and what exacerbates it -- and there are a lot of very hocus-pocus remedies to attempt to prolong the life of the device, or to recover from it. Indeed, information about this seems scarce even inside Google; reliable sources indicate that for a time, microkitchen refrigerators were full of Nexus 5Xs, in an attempt to stave off issues while updating the devices. All that seems to be certain is that the "bootloop" is a hardware defect. There seem to be many different syndrome families of bootloop. For instance, some devices seem to exhibit unusual behavior before they fail entirely (perhaps reporting "no SIM card", or having touchscreen issues); some devices fail in a fashion that is temperature-sensitive or voltage-sensitive (freezing the phone can give some extra life, or discharging the battery to a low percentage can also give the phone some extra time); and some devices fail in a fashion that seems to indicate storage issues (there's no temperature or other sensitivity, and the system usually crashes when trying to read from storage). There seems to be a long tail of symptoms, but the "temperature-sensitive" case seems to be the most common.

In any event, that is the bucket that mine fell in. Mine would boot into recover for about five or six seconds after being put in the freezer, but did not last long enough to mount the filesystem, let alone get data out of it. One enterprising user on XDA-Developers noted that low-battery-voltage cases caused the system to disable the Cortex-A57 (high-power, high-performance) cores, and experimented with a patched kernel that forced the phone to only run on the Cortex-A53 (low-power, low-performance) cores, and lo and behold, found that doing so allowed his phone to boot.

I tried booting his boot.img on my phone, and sure enough, it at least got to the boot progress spinner. But, really, I wanted all the data from my phone, not to boot my phone up and potentially corrupt more stuff if it crashes. So, I used mkbootimg_tools to tear apart the boot.img that he supplied, and also to tear apart a TeamWin Recovery image. Then, I glued the TWRP ramdisk into the "A53-only" boot.img using the same mkbootimg package; and after I had an A53-only-plus-TWRP boot.img, I booted that on my phone. And sure enough, TWRP booted without trouble, and I could pull data off my phone! (For good measure, I wrapped it in an ice pack while it was mirroring, just in case.)

how to pry data out )
joshua0: (Default)


I have many thoughts to spill out, but maybe most are better served by my personal journal. But I have been thinking that I want to more regularly publish vignettes of thoughts publicly; less well-formed, less "pointful", less edited, less coherent, more thoughts and ideas. Here is one.

unformed thoughts: a morning practice )
Tags:
joshua0: (Default)
Whether you imported your LiveJournal account or not (my opinion: you should; then you will have continuity), you should also remember to claim your LiveJournal OpenID, which is a non-obvious part of the LJ-to-DW transition process. Go do this now to save yourself and other people headache.

(Why? When you import your LiveJournal account, you create subscribe-and-access links to a bunch of LiveJournal people, but you still exist twice, according to DreamWidth -- once as "you.dreamwidth.org", and once as "you.livejournal.com". So if people imported their LiveJournal accounts, and have you as friends, you still won't be able to see them, because they gave access to your LiveJournal instance; you need to link the two, so that DreamWidth knows that they actually meant to give access to your DreamWidth instance, too. For bonus points, this also means that all of the comments that got imported by your LiveJournal name into other people's journals will now be attributed to your DreamWidth name, too.)
joshua0: (Default)
I liked the idea of last year's review of music so much that I went and wrote down everything that I bought (and a bunch of things that I listened to otherwise this year). A handful of things were released this year, but only narrowly a majority: I discovered a lot of stuff from years past that I liked! Anyway, let's do it:

--- More (3873 words) --- )
So what did I miss?
Tags:
joshua0: (Default)
Like many others seem to have these days, I've moved. You can now find my weblog at joshua0.dreamwidth.org. Public posts will continue to be crossposted to LiveJournal for some time, but my LiveJournal account will be phased out.
joshua0: (Default)
Evelyn Ave bike lane, blurry, as the sun sets

When I started my yoga teacher training, I promised to myself that whatever I share would be true to what I experience.  If that be all inspirational messages attached to pictures of me in absurd-seeming poses, then that would be what it'd be; but if the reality was something else (and I'll give you a hint: my feet still don't go behind my head), then whatever I wrote about would be something else.  Well, the truth of it is that the human experience runs the gamut from light to darkness; being honest with you, and being honest with myself, means talking about both of them.

By September or October of 2016, I was on track, I felt, for one of the healthiest years I'd had yet.  My physical health was relatively good, and moreover, my psychoemotional health was pretty good, too; I felt fairly resilient in the face of a year of what seemed like never-ending travel, and not a whole lot of time at home to rest and regenerate.  You have, perhaps, heard of some of these travels; the general theme, I think, is a place of challenge, but also a place of being able to handle the challenge.  I was excited for the chance to write a positive end-of-the-year message, for once!

Suddenly, around November, though, the opposite.  The election was, perhaps, a microcosm of what felt like a world and structure of mental health that was crashing around me.  I felt physically ill, too, as the demons that have always haunted -- and will always haunt -- me came back to visit; my body felt unable to even muster the energy to stay warm, let alone exercise, or take care of any of the other habits and routines that I am used to.

I felt like I spent a fair bit of the past few months offering reassurances to friends who seemed to be experiencing similar, with varying degrees of success.  For a while, it was easy to make the motions of pretending to be okay -- and not letting on that I wasn't, because I knew that whether I was or not, they had the chance to be okay.  It became difficult to reassure myself, too, when all of the usual tools in my toolbox seemed to bring nothing to bear.  (At the same time, I shudder to think of what would become if I hadn't those tools available at all.)

These last couple weeks of being away from work and entirely taking time for myself have gone a long way towards recovery -- for which I am very thankful.

For those of you who read this, and who identified this year with the experience of the darkness: you are not alone.  It can feel overwhelming.  Your experience is uniquely yours, but you are not alone. I hope you'll remember that the light is there; check in with the people who see it sometimes.

And for those of you who read this who identified this year with the light: thank you for bringing that light with you.  You, too, remember that the darkness is there; I hope that you'll check in with the people who see it sometimes, and shine the beacon brightly.

joshua0: (Default)

I wrote this over on Facebook:

I deliberately went to sleep last night with no knowledge of who was winning or losing, but that didn't make it any easier when I woke up this morning to a heartbreaking text from my mom: "Words can't express how sad I am at the possible impact the next four years could have on the next 25 years of your life".

I am lucky that the impact, in the short term, will be but an inconvenience for me. But I fear for the impact of the rise of the alt-right on some of my closest friends. My trans friends, who I fear for the safety of. My friends of color, who I fear the increase in the day to day abuse of. The women in my life, who stand to face the consequences as our country travels back in time.

I don't know what happens next. But today isn't the last day that we'll have to face together, and January 20th won't be, either. It's time to redouble our commitments to each other, and to our communities. If you can, give money and resources to organizations that matter. Get to know the stories of the service workers around you whose lives are on the line. Volunteer your time to work in the places and with the people that will be hit the hardest.

The work starts now.

Here's a handful of resources and thoughts that I've collected over the past 14 hours since I woke up. Some of these are a place of hope, some a place of caution, and many are disturbing. Take care of yourself. I've continued to update this in the days after the election. I've also added * to the best things.

Take care of yourselves, your friends, your families. Be there for each other. And then once you have some time to spare, be there for your community.

The work starts now, but it doesn't end tomorrow, or next week, or next year, or even in four years.

"God gave Adam a secret — and that secret was not how to begin, but how to begin again."

          — Elie Wiesel

joshua0: (Default)

(in the vein of [livejournal.com profile] slothman's "hold your nose and vote"; he has also recently published elected offices November 2016, ballot measures November 2016)

I just spent about two hours doing research on candidates and politics in this year's election. So, without further ado, my notes, and my proposed votes.

--- More (1853 words) --- )

Jul. 5th, 2016 10:04 pm

recently 2

joshua0: (Default)
sunset-lit sky over the mountains, peering out of a tent
(click for many more)


a surreality in photos

More, recently. A trip into the Eastern Sierras -- a place I had been, but didn't remember. A trip back home -- a place I had been, and remembered full well. A trip to Shanghai, for work -- a place I hadn't before been at all. Still hard to write about, because for some of it, I don't even understand myself what enough of what it all meant to write about. So, another photoblog it is. Last time was snapshots of a reality; this time, perhaps, snapshots of a surreality. I hope you again enjoy.


(previously)

Syndicate

RSS Atom
Page generated Jul. 7th, 2025 02:55 pm
Powered by Dreamwidth Studios