Yesterday I read a nice interview with Allan Badiner on the subject of psychedelics and Buddhism. (I must confess that I was not previously familiar with him and was inspired to learn more after seeing a photo of him with my good friend Yevgeniy Gelfand.) I’d like to quote a couple of paragraphs that made a very strong impression on me:

“I’m actually quite conservative on the subject, or at least in the middle. I’m not a fan of being on a chemically dependent spiritual path. Early experiences I had with psychedelics led to an intense interest in Buddhism and enlightenment.  As time went on, my interest in Buddhism became less about reaching a goal, as it was about fully enjoying the present moment, making some contribution to others, and not expecting more.

Underemphasized and left unmentioned by many teachers (Thich Nhat Hanh being a notable exception) is that, even short of full enlightenment, the state of being relaxed, present, and aware concurrently with following an ethical path of harmlessness, produces a very pleasurable feeling and a durable contentment.  While it is occasionally punctuated with the inevitable pains of life, it is not transient, nor is it reliant or dependent on substances.”

Here’s a link to the whole interview:




Recently someone very close to me objected to the way women were portrayed in the film “Blade Runner 2049.” “They were all prostitutes!”

I believe that director Denis Villeneuve has responded to similar criticism. I won’t attempt to speak for him, but I will share some thoughts of my own about the female (and male) characters in BR2049.

Joi – not actually a person in the conventional sense, or even a replicant, but I think she becomes a person in our eyes. Joi is an AI, and a companion, which may not be such a bad thing. She also demonstrates a capacity for self-sacrifice (when she tells K to erase her at the main source) and possibly even love, or at least a simulation of love.

Lt. Joshi – a police officer, and a tool/enforcer of the current social order. Lt. Joshi expresses loneliness, and an attachment to K that combines both dominance and affection. (There are even moments that suggest an erotic interest in K.)

Mariette – a prostitute and a spy. Her prostitution serves as a cover for her support of the resistance/liberation movement.

Dr. Stelline – a person with a disabling illness, and someone who could be described as a kind of artist or designer, who uses her role and skills to implant a message that will eventually help her find her father.

Freysa – a leader of the resistance, and a woman capable of caring for and expressing empathy for others, including Sapper, Rachael, Ana (Dr. Stelline) and K.

Luv – a slave and a psychopathic killer, but capable of complex emotion, such as when she sheds a tear for the replicant killed by her master, Wallace (and the kiss that she gives K as she attempts to kill him in a state of almost ecstatic joy).

Although the story’s action almost exclusively revolves around K, it is also a story about a son (K) and a daughter (Ana Stelline) who are seeking their father. Ultimately, they both find him. Deckard, of course, is the actual father of Ana. This is the “miracle” spoken of by Sapper and Freysa.

But Deckard is also the father of K. Not in physical reality, but in the domains of the imaginary and the symbolic, which play such a powerful role in motivating K to undertake and complete his project. This is the project which ultimately reunites Deckard with Ana, and leads to K’s death.



I have a good friend (we’ll call her “Tina”) with whom I proudly served in the Peacekeeping Forces of the Cosmodemonic Republic of Freedonia.

“Tina,” (who, like me, was trained as a physician and psychiatrist) was complaining of, yet again, another continuing medical education requirement imposed by the healthcare-pharmaceutical-government complex, this time requiring her to do something like take a fourth (presumably on-line) course in opioid prescribing.

“Tina” seems to think that just because she’s a “doctor” that somehow she can be trusted to maintain her own own knowledge and professional standards. She thinks that she can do this without the intrusion of all the “quality” and other parasitic organisms that now encrust and feed off the dying carcass of what was once (in a mythical Golden Age, perhaps) the profession of Medicine.

She even goes so far as to suggest that she should be immune from this particular requirement, because, as a psychiatrist, she does not participate directly in the scandalous and socially destructive cluster-fornication that passes for “pain management” in this country (the afore-named Freedonia, in case you have forgotten).

Well, I’ve got news for her. She may have been fortunate enough to practice in an environment that kept her out if this mess, but the rest of us have not been so lucky.

For example, during one of my gigs (I have had a lot of different jobs, being of a restless and discontented sort) I recall being routinely confronted by patients taking chronic opioid analgesics (prescribed by other “physicians”) which no doubt contributed to their persistently depressed and apathetic state (a condition probably best-described by William Burroughs in his semi-autobiographical novel “Naked Lunch”).

I remember one particular patient well, as he never seemed to tire of reminding me that his depressed and suicidal feelings were primarily a result if his not having enough money to buy his weapon of choice, which we’ll call “heliconia.” (Heliconia, is, of course, illegal. Apparently the legit stuff wasn’t good enough for him.) I’m still not sure why he told me this, unless he was hoping that maybe somewhere along the line I would give him the money to buy some heliconia.

Why am I rambling on about this? In part, it’s to try and demonstrate something about why none of us, whether inside or outside the medical profession, have been unaffected by this phenomenon. It’s also a way of describing one of a handful of reasons (including also managed care, EHR’s and the continuous threat of litigation) that I no longer and (insha’ Allah) hopefully never will again practice medicine.

There is something else I’d like to add.

I will offer a modest proposal: Let’s get the doctors out if the drug business. If people want drugs, let them have them, buy them, grow them, collect them. (We probably do need some restrictions on making them, as I hear you can blow your house up making meth.)

The idea is, you see a doctor for advice, like a lawyer. The doctor may tell you that using Oxy for chronic pain is probably not a good idea if you want to be a functional human being. But maybe you don’t want to be a functional human being; it’s your choice.

As an aside, let’s also acknowledge that between off-shoring and automation, there are an awful lot if people who are now unemployed or unemployable. There are going to be more of these people in the future. Some kind of basic minimum income will be necessary, if only to stave off violent revolution. In the meantime, what are all those people going to do?

It would be nice to think that they are going to use their new-found leisure to do something worthwhile and creative, perhaps along the lines of what Marx may have envisioned. However, that’s probably not the case. Most likely, a lot of them will end up using drugs and/or playing videogames.

Have a good day everyone. I promise to make my next post about something nice and uplifting. Until then, keep a truckin’.


The bicycle is possibly the most elegant, simple and efficient machine ever created. Unfortunately, approximately 5,000 of them were abandoned in Black Rock City (aka, “Burning Man”) this year. This is astonishing, really, and far in excess than previous years. Various opinions have been offered to explain this, but I have one of my own.

I should mention that my son, who is a veteran burner, insisted this year that I a.) bring a bike, and b.) lock it. I’m glad I did, because BRC really is a bicycle city, and having one makes a huge difference in the experience. Apparently a lot of other people think so, too, including people who didn’t bring bicycles of their own.

I’m going to go out on a limb, and suggest that there may be a sociocultural explanation for at least some of these abandoned bicycles.

The world of BRC is unique and complex, and I won’t even try to explain it here. Instead, I’ll just say that it is fairly common to encounter people there who have a slightly anarchistic streak.

I don’t claim to be an expert on anarchism, but it is my impression that at least one thing that is common to both anarchist and communist philosophy (which I may know a little more about) is an opposition to (or a least a slightly skeptical attitude toward) private property. However, I think that sometimes there is a tendency to misread Marx (who is still my go-to guy for communism) on the subject of private property, and to equate what is called “real property” (such as land and buildings) with personal property (such as tools). I personally don’t believe that it was ever the intention of Marx, or even contemporary thinkers such as Žižek or Badiou, to suggest that workers give up ownership of their tools. And I think there is an argument to be made that a bicycle, at least for many of us at BRC, is a worker’s tool. Like a car, a horse, or a razor scooter, it is our means of transportation and, at least for those of us who are staff or volunteers, how we get to work.

All this is just a rambling preamble to justify a speculation on my part that at least a good many of those “abandoned” bicycles were really “borrowed” by anarchists who neglected to give them back and don’t think much of the concept of private property, whether real, personal or otherwise.

The most practical solution: lock your bike.


I recently had the pleasure of meeting two very impressive people involved in the movement for harm reduction. Both are with the Multidisciplinary Association for Psychedelic Studies and the Zendo Project. Shannon Clare Carlin is the MDMA Therapy Training Program Manager and Zendo Project Integration Coordinator, and Sara Gael is the Director of Harm Reduction for the Zendo Project.

I met them while living and working as a volunteer in Black Rock City (otherwise known as “Burning Man,”), and the story of that experience is a tale for another time. What I would like to do here, for the benefit of those interested, is summarize a little of what I learned from them at the training session for Zendo volunteers.

(BTW – If anyone would like to see a training video for this program, you can access it here.)

First of all, Zendo is a place where person can go and receive support when they are experiencing difficult or challenging experiences. It may be an experience that is occurring while under the influence of a psychedelic substance, but it doesn’t have to be. Black Rock City has a Zendo (it actually has two), and the project is actively providing support services at around 10 events per year.

Here are a few of the basic principles, as I understand them from what I was able to learn from listening to Sara, Shannon and others that day:

  1. Safe Space
  2. Sitting, Not Guiding
  3. Talking Through, Not Down
  4. Difficult Is Not Bad

I’ll take these one at a time.

Safe Space

The Zendo is a space for unconditional acceptance and a vessel for reflection of experience. Persons seeking assistance and support may experience and express all kinds of emotions, including rage, sadness and ecstatic joy. The message of the Zendo is that it is OK to feel these things and to express these things, as long as it happens in a way that does not harm others.

The idea is that the environment should be one that supports a growth experience, and to this end what are referred to as “integration services” are offered as well. What this means is that someone who spends time at the Zendo may feel free to return later, such as the following day or some days later to talk about his or her experience, and receive additional support.

An interesting point raised by one of the presenters is that one should be aware of the heightened degree of perception that can occur with person who are under the influence of psychedelics, and that this can make them particularly sensitive to “microexpressions” of emotion by “sitters” (those who provide peer support to persons in distress). These microexpressions might include fear, surprise or sadness, and may have a stronger effect and produce more anxiety in the one perceiving them than might be the case in ordinary circumstances. One should be aware of the this, and be prepared to manage it (through reassurance, etc.) as it arises.

Another important point raised was the need to refrain from any form of sexual contact between persons seeking support and the sitters who provide that support. I don’t recall a great deal of discussion about why this is so, but a few moments of reflection will probably make the reasons obvious for most of us. Clearly, anything that might be perceived or experienced as exploitative in nature has the potential to be harmful to everyone involved, and to the project itself.

Sitting, Not Guiding

Zendo care is not the same as the guidance that might be provided by a Shaman or treatment by a therapist. Every one of us is our own best healer. The Zendo sitter is a peer counselor whose most important responsibilities are to simply sit and be present in an accepting, non-judgmental way.

Occasionally, there may be questions, but it is generally best to try and limit self-disclosure and allow the person to focus on her/his own experience, not that of the sitter. Suitable responses may include “I too have had difficult experiences,” or “Why are you asking me? ” It is best not to get into one’s own stories, but to respond in an honest and reassuring way that helps to build rapport.

Talking Through, Not Down

One way of addressing concerns that people may have about psychedelic experiences is to try and help them understand that the what they are experiencing at the moment is temporary, and potentially beneficial.

“You took a drug, and it’s working.”

A common concern that may be expressed is that “this is never going to stop.” The sitter can reassure them that it *will* stop, and emphasize the temporary nature of the experience.

In order to have a better appreciation for the distressed person’s experience, and make reasonable predictions about what to expect, there are certain questions that can be asked. “When did you dose?” “Was it light outside?” “Was it before or after dinner?” These may provide more reliable information than asking simply “What did you take?”, since what someone thinks they took may not always be exactly what they were given.

An assessment of timing can provide useful information. For example, someone who is still experiencing an altered state may have taken Dimethoxy-4-chloroamphetamine (DOC), which can have a duration of action of more than 20 hours, something that is not typical of other, more commonly used compounds such as Lysergic acid diethylamide (LSD) and 3,4-Methylenedioxymethamphetamine (MDMA), both of which have substantially shorter durations of action.

An important principle is that no one is ever “too high” for Zendo care, but modifications may be helpful. Some persons may be very altered, and very active, and may need more than one sitter, or may do better in an auxilliary Zendo space, referred to in BRC as the Lotus Bell.

Difficult Is Not Bad

Rather than use the expression, “bad trip,” members of the Zendo team are taught to think of these experiences as opportunities for growth. It can be beneficial to communicate this to the persons we are supporting. Psychedelics have the potential to open us to grief. If we can reframe these experiences as “difficult,” rather than “bad,” and encourage those who are having them to try and accept and face grief, sadness and other difficult and even painful emotions, we may be able to help them find their way forward to an improved understanding of themselves.

Freedom of expression is supported in the Zendo. This may include expressions of an emotional, vocal or even physical nature. We witness one another’s experience; the critical boundary is one of safety, that one should do no harm or allow another to do harm. We encourage a turning toward the experience rather than away from it; the idea is that “what we resist, persists.”

(to be continued)




Programming Adafruit Trinket

I recently had the pleasure of constructing a set of programmable goggles (https://www.adafruit.com/products/2221) which are built around the Adafruit Trinket microcontroller board (https://www.adafruit.com/product/1501).

The Adafruit website has a set of instructions for building the kit (https://cdn-learn.adafruit.com/downloads/pdf/kaleidoscope-eyes-neopixel-led-goggles-trinket-gemma.pdf). These are hyperlinked to instructions for setting up the programming environment (https://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide), which are further hyperlinked (https://learn.adafruit.com/adafruit-arduino-ide-setup/overview; https://learn.adafruit.com/adafruit-arduino-ide-setup/arduino-1-dot-6-x-ide) until you finally get to the Arduino website (https://www.arduino.cc/en/Main/Software). Here you can actually download the Arduino IDE, which is what you’ll need to compile and download instructions to the goggles.

I’m not saying that Adafruit hasn’t done an outstanding job of providing instructions, but in the interest of simplicity, I will attempt to summarize the software side of things below.

(Note that these instructions are specific to Ubuntu Linux 14.04, but I suspect that the process for Mac is very similar. Windows; not so sure.)


First, in order to program the Trinket through the USB port as a non-root user in linux, you will need to follow these instructions for adding a udev file (https://learn.adafruit.com/adafruit-arduino-ide-setup/linux-setup).

(Note – you shouldn’t have to do this for the Mac; this seems to be just a linux problem.

Briefly, do the following:

wget https://github.com/adafruit/Trinket_Arduino_Linux/raw/master/99-adafruit-boards.rules

sudo cp 99-adafruit-boards.rules /etc/udev/rules.d/

sudo reload udev

If this doesn’t seem to work, the web page has additional suggestions.

This page (https://learn.adafruit.com/introducing-trinket/starting-the-bootloader) also provides information regarding the Trinket USB bootloader and drivers. You won’t need to add any drivers for Mac or linux, but you will for Windows, and this page will tell you where to get them.


Next, go to the Arduino download page (https://www.arduino.cc/en/Main/Software) where you can find suitable packages for Windows, Mac, 32 bit Linux, 64 bit Linux and ARM Linux.

I’m running Ubuntu 14.04 (Trusty Tahr), so I downloaded


Extract this file into a suitable directory (you can leave it in ~/Downloads if you want to)

tar -xvf arduino-1.6.13-linux64.tar.xz

Move the extracted arduino-1.6.13 folder to /opt/

sudo mv arduino-1.6.6 /opt

Navigate to the folder

cd /opt/arduino-1.6.13/

Make install.sh executable

chmod +x install.sh

Run the install script


This will install the software and will also put an Arduino icon on your desktop.


Having installed the IDE, you need to do a little bit of customization to get it to run with the Trinket.

Start the IDE and navigate to the Preferences menu. We will add a URL to the new Additional Boards Manager URLs option.This is so new Adafruit boards and updates to existing boards will automatically be picked up by the Board Manager each time it is opened.

Paste this URL in the Additional Boards Manager URLs text field:


Click OK to save the new preference settings.

The next step can be a little confusing, so you might want to look at the images
on this page:


Basically, what you will do is:

Open the Boards Manager by navigating to the Tools->Board menu.

Find Boards Manager at the top of the list and click.

Once Boards Manager opens, click on the category drop down menu on the top left hand side of the window and select Contributed.

For the Trinket, we are installing support for Adafruit AVR Boards, but the same applies to all boards installed with the Boards Manager.

(Take a look at the Adafruit page if you have trouble following this.)

Believe it or not, we are not done yet; there are a couple more configuration steps.

What you need to do is:

Select the Trinket 8MHz board from the Tools->Board menu, then

Select USBtinyISP from the Tools->Programmer menu.

Go back to Adafruit’s setup page (https://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide) if you would like to see some images of these IDE menus.


If you have done all these steps correctly, it should now be possible to compile, download and run a simple program (or “sketch,” as they are called in the Arduino community)on the Trinket board.

Copy the following code and paste into a File->New window:

 Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.

To upload to your Gemma or Trinket:
 1) Select the proper board from the Tools->Board Menu
 2) Select USBtinyISP from the Tools->Programmer
 3) Plug in the Gemma/Trinket, make sure you see the green LED lit
 4) For windows, install the USBtiny drivers
 5) Press the button on the Gemma/Trinket - verify you see
 the red LED pulse. This means it is ready to receive data
 6) Click the upload button above within 10 seconds

int led = 1; // blink 'digital' pin 1 - AKA the built in red LED

// the setup routine runs once when you press reset:
 void setup() {
 // initialize the digital pin as an output.
 pinMode(led, OUTPUT);

// the loop routine runs over and over again forever:
 void loop() {
 digitalWrite(led, HIGH);
 digitalWrite(led, LOW);

(If you have trouble copying the code from the WordPress page, it is also accessible here: https://github.com/foustja/Arduino)

Save the code into a file named “Blink” and use the IDE menu or hotkeys to compile (ctrl-r) and upload (ctrl-u) the sketch to the the board. See the Adafruit page for a discussion of what to do if you encounter errors. You may see something this

avrdude: error: usbtiny_receive: Input/output error (expected 4, got -5)

Which you can ignore.

Plug in your power source (presumably a 3.7v Lipo battery). You should see the red light on the board blinking once a second.


Now you’re ready for something a little more sophisticated. First, you need to install the Neopixel library. (Neopixel is the LED display you are controlling with the Trinket.)

Download the library zip file


Extract this folder, and move it to ~/Arduino/libraries

It should be accessible to your sketches, and visible on your menu (Sketch->Include Library).

Note that the Adafruit instructions at


will tell you to put your libraries in a different location, but I think that has changed with the new version of the IDE. The location for sketches and libraries, known as the “sketchbook folder,” should be ~/Arduino in Arduino 1.6.13

Go back to my Github page (https://github.com/foustja/Arduino) for additional code you can use with your Trinket.


brickOS allows you to program the RCX using C, compiled for the Hitachi H8/3292 microcontroller. These instructions are specific for RCX 2.0, the usb infrared tower and Ubuntu 14.04.

As I explained in my post on NQC, make sure your tower is working. That means either finding /dev/usb/legousbtower0 or renaming it.

When you plug in the tower , run the following command in terminal:

ls -l /dev/usb

You should see something like this:

crw------- 1 root root 180, 0 May 16 20:34 hiddev0
crw------- 1 root root 180, 1 May 16 20:36 legousbtower0

Instead of “legousbtower0″ you may get “legousbtower1” or maybe “legousbtower2.” You will need to have your device named “legousbtower0” in order for it to be recognized by the downloaders firmdl3 and dll. So do this:

sudo mv /dev/usb/legousbtower1 /dev/usb/legousbtower0

or this:

sudo mv /dev/usb/legousbtower2/dev/usb/legousbtower0

Change permissions:

sudo chmod 666 /dev/usb/legousbtower0


Download and install brickOS, gcc-h8300-hms and binutils-h8300-hms.

brickOS is a replacement operating system for the RCX. (You can always reload the original OS if you change your mind.) It includes the libraries you need for RCX-specific function calls.


gcc-h8300-hms and binutils-h8300-hms are the compiler, assembler and linker. You can compile them yourself, or you can install binary packages.



If you’re running Ubuntu on a 64-bit Intel or AMD processor, you will want the amd64-specific files. Once these are downloaded, you can install them using the following commands:

sudo dpkg -i brickos_0.9.0.dfsg-12_amd64.deb
sudo dpkg -i binutils-h8300-hms_2.16.1-10_amd64.deb
sudo dpkg -i gcc-h8300-hms_3.4.6+dfsg2-4_amd64.deb

You may need to edit them depending on the versions of the files you are installing.

Alternately, you can install the compiler, assembler and linker using apt-get without downloading the debs:

sudo apt-get install binutils-h8300-hms
sudo apt-get install gcc-h8300-hms

Copy the demo files into a local directory for ease of use:

cp -r /usr/share/doc/brickos/examples/demo .

cd to the local /demo directory and try to compile the files:

cd /demo

(You may get a few errors, but don’t worry too much about them right now.) Most of the demo files should now be compiled to <filename>.o and <filename>.lx files.

Note that you can edit the Makefile in the /demo director to compile your own programs. Just add your programs to the PROGRAM= line. You can also compile your program by simply adding the name of the target program (as in “prog.lx”) as a command-line argument to make:

make <filename stem>.lx

(Don’t forget the “.lx” suffix which is required for an executable file on the hitachi.)


The next thing you need to do is download the brickOS firmware to your RCX:

sudo firmdl3 --tty=/dev/usb/legousbtower0 /usr/lib/brickos/brickOS.srec

You shouldn’t see anything on your screen, but you will see some numbers on the RCX lcd.

(If there is an existing version of brickOS on the RCX, you will get an “error deleting program.” You need to erase the old firmware. To do this hold down the Prgm button and push the On-Off button a few times. If that doesn’t work, take out the batteries for a few minutes, then put them back in.)


Finally, try to download a .lx file to the RCX:

sudo dll --tty=/dev/usb/legousbtower0 sound.lx

You can use sound.lx, helloworld.lx or whatever you like. Try running it; it’s pretty exciting the first time it happens. Now you’re programming the RCX in C.

(silhusk also explains how to do this in a slighly different way here: http://ubuntuforums.org/showthread.php?t=1761892)

To learn more about coding for the RCX using the brickOS libraries, see the BrickOS Command Reference and some example programs.

There is a very interesting paper from the 2005 International Conference on Control, Automation and Systems that describes the use of brickOS from an introductory point of view and discusses how it might be used to teach young people about C programming. Personally, I think NQC would be a better way to begin, but then, I’m probably not as smart as the average 14 year old. BTW, I couldn’t help but notice that the ICCAS, although “international,” almost always happens in Korea. That alone would make it worth going to.