Tuesday, February 6, 2024

Snowballs

Our visit to the Sierra Madre Playhouse last Saturday proved to be a turning point for me. I feel like the static friction is broken, and this enormous weight I'm trying to push is ever-so-slightly starting to roll. Here's a sampling of my experiences.

Prep Work

My plans were very modest: I didn't want to cause a scene or do anything that might draw the wrong kind of attention. I didn't want to intimidate people by having a camera on, get in their faces, etc. I just wanted to share information that has been kept from the audience. Then I want them to form their own opinions on both Frederick Hodges for being a child molester and Sierra Madre Playhouse for covering for him.

My wife and I (and our little dogs, too) would simply stand out front and hand out "information about the piano player for today's event". I made the following flyer with a brief and intentionally shocking description of my tribulations. The contrast between the cheerful attitude and the message on the flyer would create cognitive dissonance that is difficult to put out of mind.

This is Frederick Hodges (36) and me (15) in 1998, after 4 years of grooming. Quite the spitting image, aren’t I? By this point I was getting too old for him.  Two years earlier, he was asking me to give him a blowjob while we were travelling in Paris. Two years before that, when I was 11 years old, we were jumping on the beds in a hotel room playing Grab-the-Foreskin, cheerfully whisper-screaming “No, Ike! Don’t rape me!” This racist child molester will be performing for you today. Frederick was acquitted in 2012 of molesting two other students of his, mostly by assassinating the mother’s character. It sure pays to have excellent lawyers funded by members of the art deco society who refuse to acknowledge the truth. I went public with my story in 2016. There was the usual outpouring of support from friends, family, and occasional passers-by. However, from the ragtime, classic film, and other music communities, all I heard were deafening crickets. Nearly every time I’ve reached out to someone involved in an event with Frederick, they have ignored me, including Sierra Madre Playhouse. Some have outright blocked me, including Lara Gabrielle, this event’s host. Frederick Hodges is a predator and his friends are covering for him.

The Free Show

The opening event of the festival was a free show at Noon. They had limited seats available so you had to reserve a ticket. I called earlier in the week to see if I could get tickets, but they were already "sold out".

Back of House

We made it to the public parking behind the playhouse just before 11:30 and started unpacking ourselves and the dogs (we drove from Las Vegas that morning). A quick change of shoes, refill water bottles, make sure we have the right layers for the weather, grab some flyers out of the box, etc.

Our parking spot was facing the back side of the playhouse and surrounding buildings. While we were unpacking I glanced over and noticed a certain tuxedo-clad blond gentleman making his way towards the back entrance, escorted by a man with a headset. I'm fairly certain Frederick saw and recognized me as well. He started whispering to headset man and they were both looking our way periodically.

I loved this. Whatever anger and sadness I might have felt seeing his face was drowned out by the feelings of schadenfreude and power. I can only imagine what his guts must have felt like in that moment we made eye contact. He could do nothing but wonder what would happen next.

Front of House

We walked around the corner to the front of the playhouse. There was a nice large standing area extending out past the sidewalk, with a bench along its perimeter. What a perfect public easement for exercising freedom of speech! A handful of people were sitting/standing around waiting for the doors to open. After we found a spot to sit with the dogs I got to work.

"Hi, are you here for the film festival?"

"Yes."

"I have some information about the piano player if you'd like."

"Oh sure! Thank you!"

Quickly, everyone outside the building when we got there, including the security guard and usher, had a copy in hand. I went to sit down with my wife and dogs, waiting to see how things unfold. Just after sitting down, I heard the distinct sound of high quality printer paper crumpling. We looked over and saw a woman get up and throw the flyer into a trash can.

Most of the other folks tastefully folded the paper and proceeded to avoid eye contact. This is the response I was expecting, given the apathy I've received in response to e-mails & social media posts. It was definitely painful to watch someone make such a clear display of refusing to even entertain the existence of my message, but in some ways I think it showed everyone else what kind of resistance I've been dealing with.

Another young man arrived and was sitting at the other end of the bench. I did the whole spiel with him, and left him with a flyer. As I noticed other nicely dressed people without dogs approaching, I would repeat this process. Everyone I talked to was eager to take the flyer.

The security guard waved me over to talk, and I obliged. He was very respectful and kind, and also doing his job. He quietly asked me why I was doing this instead of trying to have a dialog. I less-than-quietly answered "because I've been trying to have a dialogue for weeks but Sierra Madre Playhouse keeps ignoring me". This conversation spilled over to both the usher and the door woman, and got a bit heated. The door woman was talking to me from across most of the standing area so it was basically impossible not to loudly talk about how they're covering for a child molester.

I guess they felt there was no reasoning with me (and if they're going to cover for a child molester, there really isn't) so they backed off. I went and sat down with my wife, waiting for more folks to arrive.

Student Body

The young man I mentioned earlier then came over. He struck up a conversation to express how unbelievable it was and to give his sympathy. He told us he was here for school credits on recommendation of one of his teachers, but the free show was sold out. We chatted a bit about how much trouble I've had getting anyone to show any sign of empathy and such. He said he was going to let his classmates and teacher know too and went on his way.

A little while later, the woman sitting to our right got my attention and said something like "Hey, I just want to let you know I hear you too. If I wasn't here with a group of friends I probably wouldn't stay". I get it. She's not there on a mission. She heard my message and that's all I was after.

The doors finally opened and most of the folks went inside. People were arriving more frequently, and from the opposite side of where we were stationed, so we moved to the middle. At this point I was spending most of my time standing, approaching people cheerfully offering information about the piano player.

A few times the usher would try to assert himself into the conversation. "Don't listen to this person, just come this way". He was by far the most active force in trying to make people ignore my message. Every time he would dismiss me I would say something like "yeah, he just wants to cover up the fact that the piano player is a child molester." "Yes, ignore the victim of sexual assault." etc.

These exchanges were always brief. It seems like he just wanted to get his word in and then he'd back off. But they happened throughout the day. It went around like this for a few more minutes, then the student returned.

He had two other friends from film school and his teacher with him, and they all came back to show me support. The teacher asked for another copy of the flyer. We all talked a bit more (well within earshot of others) about the issue for a while. The door woman came out and started telling them they could come in. The student said he was told earlier that they were sold out. She said something like "well, some seats may have cleared up since then. come on inside". Clearly they didn't want us interacting. The students declined and we chatted a bit longer. They went on their way and I continued canvassing.

Don't Shock Old People

As Noon approached, more people started showing up in larger clumps. Apparently some of the folks who already got my flyer had gone to get food & drink while they waited. As one group returned, one of the men stepped aside from the line to talk to me. In echoes of my previous interaction with Andy Senior of the Syncopated Times, he told me something like "if you're going to come here with this kind of message, don't go talking about blow jobs and rape with 80- and 90-year-olds."

Let me back up for a minute. In my last post, I had no substantial response when Andy said "The octogenarians and nonagenarians who subscribe to TST would go into cardiac arrest." But the more it sat with me, the more ridiculous it sounded. The day before we left on our trip, I sent him the following message:

Now, suppose I published a front-page item with headline "Pianist Frederick Hodges Accused of Long-Term Sexual Abuse." The octogenarians and nonagenarians who subscribe to TST would go into cardiac arrest, but worse, Hodges himself would see it since one of his old lady patrons sends him a gift subscription. I would get sued to death.

I just can't get over this paragraph. It is unfathomable to me that a journalist could hold such views. Let's get the obvious bit out of the way...

I would get sued to death.

Since when were newspapers and magazines held liable for truthfully and accurately reporting what other people are saying? What grounds would Frederick have to sue you for merely relaying the fact that I (and others) have accused him of molesting children? Even if you weren't protected by freedoms of the press, you still have truth as an absolute defense against any libel or defamation suit. I'm very familiar with this fact after the writer you hired hilariously threatened me with a libel/defamation suit for putting him on a list of people who never responded to me regarding Frederick.

So no, I don't believe for a second that you're genuinely worried about being sued. This is a post hoc rationalization because you can't bring yourself to address your admitted hypocrisy head on. By making this choice you are covering for a child molester.

The octogenarians and nonagenarians who subscribe to TST would go into cardiac arrest

On one hand, this is kind of hilarious. Have you heard of survivorship bias? Do you really think people would make it to 80 or 90 years old in this world if they couldn't handle a bit of shocking news?

On the other hand, could you be any more condescending? How would your audience feel knowing you think so little of them? Do you really think the majority of 80 or 90 year olds are so out of touch with reality that they can't have empathy for the victim of a child molester? It's clear that you prioritize keeping your audience in the dark in order to maximize the economic value you extract from them. I wonder how they would feel about that?

Has the Streisand Effect ever crossed your mind in this conversation? This weekend I've got some plans that are likely to drive large volumes of traffic to my blog, so we'll see where that leads. If by some miracle you have a change of heart, I'm happy to tell you more about it.

Just to make sure these words continue to ring in your mind: you are making excuses in order to cover for a child molester.

So with this fresh in my mind, my response to the man who took me aside was "oh are you saying old people are too weak to hear the truth?" He gave me a frustrated "there's no reasoning with you" look, said "OK whatever" and walked away. Something about it stuck with me, though. This will come up later.

People stopped arriving around Noon, and we waited about 5 mins more before heading back to the car. We had just been driving for 4 hours and went straight into protest mode, so we needed to unwind a bit (and to finish our lunch). The student group was at the corner when we were leaving so we all chatted a bit more on the way back to the car.

At 1:00 we went back to the front of the building to wait for folks to leave. After 20 mins, only a man and his child left. Maybe the show ran over or maybe people were just hanging around socializing inside? We decided to just go check into our motel and come back for the 4:00 show.

The Main Event

The drive to the theater took a lot longer the second time, so we arrived a bit later than I hoped (15 mins instead of 30 mins early). The doors were already open, so there were only a couple people outside either chatting with the usher or waiting for other friends/family to arrive. I gave a friendly wave to the security guard who smiled back.

This time it was a paid event, so there was a lady in the box office, as well as a few other staff members milling about. I meant what I said about not wanting to be a nuisance, so I didn't bother approaching the person talking with the usher or the box office lady. At this point, I don't think anyone affiliated with Sierra Madre Playhouse was unaware of my presence.

Nothing made this clearer than when, in stark contrast to my experiences at the Noon show, multiple people refused to even make eye contact let alone take the info about the piano player. In the tunnel vision and daze of emotions surrounding the whole day, I'm sure some of them had been to the previous show and already got my flyer. But there were others who seemed to have heard through the grapevine.

One person was initially dismissive, saying they worked for Sierra Madre Playhouse as the director of marketing (probably assuming that I was part of the event too). When I heard that, I perked up and asked "oh! in that case, are you aware that the piano player is a child molester and Sierra Madre Playhouse has been ignoring me for weeks?" She said "No I hadn't heard that". I asked "do you mind if I give you some information about it?" and to my surprise she said "yes." I almost couldn't believe it. I thanked her, and we went about our business.

Biases and Reflections

When no one was around, I'd go back to sit with my wife and snuggle the dogs. She shared some feedback that I wasn't expecting. She pointed out that I was neglecting to hand flyers to the women in some of the groups. Having been in that tunnel vision semi-dazed state it had completely escaped me, but upon reflection she was completely right. Looking back on it, something about what that man said earlier had a lot more influence on me than I thought or would have liked.

I was subconsciously trying to protect the old ladies just like he wanted. It took a conscious effort to overcome this, mostly by trying to fight off the tunnel vision. I tried to make more eye contact, and offered flyers to everyone. I didn't have this mental block when the group only consisted of women, or if the group was on the younger end of the age range. I drew the line at handing them out to children though.

One person started questioning my motives. He asked "why are you doing this instead of talking to the police?"

"I am talking to the police. I contacted the Berkeley PD a couple weeks ago"

"Ok then why are you here doing this?", he said while walking away.

Now having to yell loud enough that he can hear me, "because people with power can make a difference right now.". I was so frustrated I threw in a "Duh! Why else would people protest something?" more at the sky than at the person who had disengaged at this point.

One gentleman I approached said "I already talked with the piano player. It's fine."

"Oh, it's fine that he's a child molester? You're OK with that?"

A couple different gentlemen took the time to read my flyer, and came back up to return them. One was just being dismissive, saying something like "thanks, I don't need this." The other took the time to say he was sorry for what I went through and offered some suggestions like talking to the police or suing. I mentioned that I have talked to the police but there's still a lot of questions re: statutes of limitations. But recently they removed statutes of limitations for civil cases of child sexual abuse. So this is still on the table if I can find money or a pro-bono lawyer.

The Kids Are Alright

At some point a woman in a very fancy dress, hair, and hat approached. I approached her and asked if she'd like some info about the piano player. She smiled, saying "Thanks, I already know. I'm good with it." and continued inside. At this point I probably should have, but I could not believe what I just heard. My blurted-out response was "you already know he's a child molester and you're OK with it?" I'm really glad she was near the end of a large-ish crowd of arrivals because I needed to sit down. My wife told me "well, I was going to compliment her on her dress, but now I just want to throw up on it."

Moments later everything changed. A woman and two teen/young adult girls came out of the theater and walked up to us. They told me they wanted me to know they heard me and care about what I went through. They could not bring themselves to stay in the show knowing what I had shared with them.

I was so humbled and appreciative I don't have a clear idea what all was said, but the usher wanted none of this. I don't think I've painted a complete picture of how much he played the villain's sidekick in this whole ordeal. Every time he was outside and saw me approaching a group of people he would actively herd people away, telling them to ignore me.

He's the only one who knows his motivation at the time, but for whatever reason he decided to intervene. We were facing the entrance on the bench, so the family had their backs to the door. The usher came and inserted himself between us, putting his arms out like a stanchion to guide them away from me. He told them not to interact with me, and asked them to go back inside to watch the show.

One of the young women chimed in saying something like "Excuse me, sir, I'm in public and I have the right to talk to whoever I want." They may have exchanged some more words but I was too blown away by what was happening for them to stick. He skulked back into the building and I'm sure the three women could see a transformation in my face. This was one of those faith-in-humanity restoring moments that happen all too infrequently. We traded sympathy and gratitude, and they went off to hopefully enjoy the rest of their night. I'm sure their consciences felt lighter than most of the other folks at the event.

This put an exclamation mark on a pattern my wife and I had been noticing: the young ones are here for it, and won't take shit from anybody. Everyone who stuck in my mind as a particularly egregious example of refusing to hear the truth had gray hair. The older you are, the less you seem to care about the human condition.

If the "don't shock old people crowd" are any indication, this seems to be more generational than age-related. The older generations were trained to keep their mouths shut, never talk about their family troubles with strangers, "stand by your man", and all that. I'm so glad these times are changing. Your family is who you choose and who chooses you. Everyone should be supported through their mental health struggles. And shitty people should suffer the consequences of their shitty actions, regardless of what can be proven beyond a reasonable doubt by a prosecutor. Victims should be heard.

The show was about to start, so there weren't many more arrivals after that. My wife and I left to relax in the motel until the next event at 6:15. On the way we stopped at a roadside fruit stand to buy some strawberries, and I got to practice my recently acquired (if significantly limited) Spanish.

The Evening Shows

I got a bit confused by the schedule. There was an event at 6:15, but it wasn't a separate ticketed event; it was a different part of the event for folks who came at 4pm. We showed up at 5:45 but the doors were all locked and the box office was closed. So we went back to the motel to have dinner before the 8pm show started.

We arrived just about 7:30. The security guard was inside the door opening it for attendees, and it seems as if people had been coming and going to/from dinner. A lot of people were inside already, and I recognized many of the folks coming back to the building. Eventually, the security guard came outside to keep an eye on us.

There were a handful of groups who hadn't been to the earlier shows so I still managed to hand out some flyers. One woman actually said "oh I didn't get one of those earlier". I'm not sure if she was one of the women I accidentally neglected or if she was just part of a group we didn't encounter, but I was happy to oblige. But for the most part, there were far more people who didn't want to engage than at the previous shows.

Some of the people returning to the show were staff members. I noticed the box office lady returning, and started to approach her. She said something like "oh, no thanks. I already know". It had been a long day and I was feeling a bit drained and frustrated by the disproportionately negative responses of the evening crowd. I replied "Oh, you already know and you're happy with that then?". She said "Oh, I didn't say that. I'm not happy at all". This quickly interrupted my negative thoughts and I said "Thank you for saying that. A lot of people I've talked to don't seem so clear on that point."

Then I noticed she was walking with the usher, the pinnacle of folks who don't seem so clear on that point. I hadn't consciously noticed him before that. Maybe my mind blocked him out? Maybe it was just the tunnel vision returning? Either way, he can't change the fact that he saw me and heard me and knows what I came to say. Whatever his response was in that moment, he has to go to sleep at night hearing me shout about him covering for a child molester.

By 8:00, the streets were starting to look empty. No other groups seemed to be approaching so we started packing up to leave. I went up to the security guard, thanked him for being respectful and said sorry for making his job harder. He thanked me and wished us a good evening.

Big Victories

If I haven't made it clear already, I think this trip was a huge win. I knew going into this that most people would not want to hear the truth. I was fully prepared for the paper crumpling, the confrontations, the dismissiveness, the condescension; these are all things I've encountered in my recent interactions online, and in past experiences doing activism with my grandmother.

A family walked out of the show because they empathize strongly enough to be disgusted by the mere presence of Frederick Hodges, the child molester. The show has been advertised for at least a month. Who knows what special event they were celebrating, or how long they've been looking forward to this. All I know is they heard me.

A group of students spread the word and showed up to support me instead of Sierra Madre Playhouse. They could have used the door woman's invitation to score some class credits, but they were having none of it.

A handful of others expressed their sympathies and concerns, which was definitely a change of pace from the usual fingers in ears.

But most of all, my message got out. People who didn't want to confront me had no choice. People who didn't want to hear the truth had no choice. People who wanted to shut me down failed.

This is how change is made.

Tuesday, January 30, 2024

One Step Forward, Two Steps Back

This is a follow-up to Friends of a Child Molester

First some good news...

Someone Finally Listened

For once in the three years I've been actively contacting event organizers, one has finally listened. On January 30, Frederick was scheduled to appear at an event hosted by Piedmont Piano Company. I used the contact form on their website a couple weeks ago and included a link to my blog post.

Last weekend I received an e-mail that has been nearly 8 years in the making:

This hit me like a ton of bricks. The fluffy kind made of rainbows and bouncy castles and sweet, sweet vengeance. The mixture of schadenfreude, gratitude, and not gonna lie, feeling of power were completely overwhelming. The efforts I'm making are not going to waste!

Long Arms

Tangentially, I reported the abuse to the Berkeley PD last week, in case we're still inside some statutes of limitations. They called again yesterday for a follow up, so those wheels are still turning. Hopefully I'll be hearing from detectives and/or the DA soon.

Of course, reality has a nasty habit of snapping me back...

Just Try To Ignore Me

As I mentioned last time, Sierra Madre Playhouse is featuring Frederick Hodges at a silent film festival February 3rd and 4th. Originally I had sent an e-mail to the author from Broadway World who mentioned the event, as well as contacting Sierra Madre Playhouse through their contact form online.

Since then, I have:

  • Tweeted about Frederick's appearance at the event, linking to my blog post and @mentioning both Sierra Madre Playhouse and Lara Gabrielle
  • Sent a Facebook message to the SMP page
  • Commented on SMP's Facebook posts that mention Frederick's event

Sadly, they continue the pattern of completely ignoring me. But my efforts did not go completely unnoticed. Facebook awarded me a Top Contributor badge for being an active commenter on their page. 🙃

Activism Activation in 5... 4...

Well given my new scorched earth approach, and thanks to a master class from my grandmother in how not to be ignored, I've decided to get more active. I'm going to be making an appearance at the upcoming event so they can no longer hide Frederick's monstrous nature from their audience.

I put together a flyer with a picture of me and Frederick where I look like his spitting image. It gives a brief description of our history together and my struggles to be heard by folks in the ragtime, classic film, and other communities. If Frederick doesn't already feel the walls closing in after today's canceled event, he sure will after this weekend.

One Last Chance

Since the good news I received, I've been sitting on a tiny inkling of hope that Sierra Madre Playhouse and Lara Gabrielle would hear my pleas and confront the issue. I really want to give them the benefit of the doubt, and don't really love the idea of a single-night trip to a Motel 6 in LA while my job is up in the air and we're packing up to move... However, I went to check on my tweet today and was greeted by this:

So it looks like we're going around this circle again. I can't tell if she doesn't want to accept that a friend of hers could be a monster or if she's financially motivated due to the ticket sales for this event, but damn. This just feels classless.

I look forward to seeing your audience this weekend.

The Hypocrisy of AVFilm

I've tried to reach out again to the folks running AVFilm. On the page of their board members, I found the following profile:

Hillary Kambour

Vice Chair

Hillary (she/her) is a retired trial and appellate attorney who spend most of her career representing abused, abandoned, and neglected children. Since moving to Dry Creek Valley in 2015, Hillary is busy in her garden, volunteering around the area, running, hiking, and biking, and trying to become proficient in Spanish. [...]

(emphasis mine)

After seeing this, I sent the following e-mail on Jan 23. As expected, I have not received a reply.

Hello,

I read on your profile that you were once an attorney focusing on abused children. I have contacted AVFilm a few times over the years to let them know that they are hosting events featuring the child molester Frederick Hodges. Their facebook page blocked me and everyone I have contacted directly has ignored me.

Is AVFilm representing your values by refusing to engage with someone who was abused as a child and continuing to promote a predator?

https://blog.cogwheel.info/2024/01/friends-of-child-molester.html

The Syncopated Crimes

In my last post, I mentioned I would follow up on my interactions with Andy Senior. I don't think it's worth re-hashing the entire conversation at this point. However, I think this final email interaction is quite telling.

Me:

And when are you going to actually report on the fact that he's a child molester? You with the platform. You, with all these supposed feelings that, given your inaction, sound more like you're trying to play the victim in this situation.

What do you think I've been doing these last few years if not contacting every venue, event organizer, film society, etc. when his name comes up? You yourself said it will be hard to get the message out. Yet here I was contacting YOU for exactly that. You just want to pass the buck.

Like literally everyone else I've contacted who has ignored or blocked me.

Andy:

Matthew,

I'm replying much against my better judgment since I suspect you'll take what I say and use it against me to spotlight my cowardice and hypocrisy.

If I am a victim, the wound is self-inflicted. I single-handedly took on a moribund publication eight years ago and kept it going—not out of any lust for power or money but out of a sense of obligation. That's on me. I felt the niche music community of which I am a part needed a quality publication to provide support and encouragement.

Last year I paid out almost $50K to contributors as well as covering printing, mailing, and other expenses. I paid myself nothing. The Syncopated Times is not quite breaking even. My wife and I survive on her pension and Social Security.

Now, suppose I published a front-page item with headline "Pianist Frederick Hodges Accused of Long-Term Sexual Abuse." The octogenarians and nonagenarians who subscribe to TST would go into cardiac arrest, but worse, Hodges himself would see it since one of his old lady patrons sends him a gift subscription. I would get sued to death.

If I'm a coward for not wanting to take on that crusade (with predictable results), so be it. I regret that I cannot be your sledgehammer.

Sincerely,

Andy Senior
Publisher and Editor
The Syncopated Times
Exploring the World of Hot Jazz, Ragtime, and Swing

Me

Wouldn't want to let morals get in the way of profit.

I hope you can't sleep at night.

Friday, January 19, 2024

Friends of a Child Molester

Nearly eight years ago, I wrote about my experiences of abuse at the hands of Frederick Hodges. Since then, I have received an outpouring of support from friends, family members, and even strangers.

At least from people outside the ragtime and classic film communities. I have contacted news outlets, e-zines, article authors, event planners, band members, etc. All but two completely ignored me, and not a single one has made any material changes to their coverage of this monster.

Now I'm scorched earth angry. It's time to name and shame these friends of a child molester.

I am not posting any personal contact information here, only links to the content or organizations they've been a part of. Please do not engage in harassment or threats. I want them to change their behavior, not live in fear. Well, except Frederick... May he forever live in fear of who walks behind him.

PS: If you have any SEO tips so this post will show up when people search for these organizations, please contact me.

Don Neely's Royal Society Jazz Orchestra and Child Molester Club

https://royalsocietyjazzorchestra.com/contact-rsjo.html

In the ultimate example of "stand by your man", Frederick Hodges has been a part of RSJO since before we met. There is no way in hell these people haven't heard about the accusations. But he's such a good singer and pianist it doesn't matter to them.

When I contacted them by e-mail or voicemail, they ignored me. When I contacted them on Facebook they blocked me. They are actively waging a campaign of denial.

Never attribute to malice what can be explained by simple incompetence. But never rule out malice. Maybe he's not the only child molester in their midst... 

The Syncopated Times, Promoter of Child Molesters

In 2021 I e-mailed Larry Melton, the author of https://syncopatedtimes.com/from-the-2021-sutter-creek-ragtime-festival/ - no reply.

In 2022, I e-mailed Brian Sheridan, the author of https://syncopatedtimes.com/frederick-hodges-sophisticated-syncopation/ - no reply. I emailed him again today with a heads up that I was writing this post and he threatened to sue me for libel and defamation.

In 2022 I e-mailed Andy Senior, the co-founder of the site. He is the only one in all these years who took the time to thoughtfully respond. Unfortunately, his thoughts didn't go far enough and to this day he continues to absolve himself of any responsibility for legitimizing Frederick's career.

I'll make a follow-up post detailing the exchange. You can see the latest developments on my Facebook page. TL;DR: not my problem; you should write a book and then maybe people will listen.

San Francisco Silent Film Festival Loves Child Molesters

https://silentfilm.org/frederick-hodges/

Sent an e-mail in 2021 - no reply.

Petaluma Film Alliance Hosts Child Molesters

https://petalumafilmalliance.org/2022-fall-schedule/

Sent an e-mail in 2022 - no reply.

Art Deco Society of California, Friend to Child Molesters

https://www.artdecosocietyofcalifornia.org/music-dance

Sent an e-mail in 2022 - no reply

AVFilm is Hosting a Child Molester

They were hosting a classic film night in 2022 where Frederick was playing piano.

I e-mailed their director of programming, Michael Traina, but didn't receive a reply.

I sent a message to their general Facebook account and they blocked me.

I sent Facebook messages to Tess Aston, Kathryn Hecht, and Hillary Kambour. None replied.

I e-mailed their general account about the fact that they blocked me on Facebook and they ignored me.

The event page is no longer available but this is probably just data rot.

The Press Democrat Doesn't Care About Child Molesters

I called the news room regarding his appearance at the AVFilm event. They said someone would get back to me if they wanted to write about it. I guess they didn't care.

San Mateo Daily Journal Ignores Child Molesters

https://www.smdailyjournal.com/news/local/san-mateo-celebrating-central-park-centennial/article_5b67d15a-50fe-11ed-8f22-e7dadf6f201a.html

Sent an e-mail to the author, Curtis Driscoll, in 2022 - no reply

Broadway World - Child Molester at the Sierra Madre Playhouse!

https://www.broadwayworld.com/los-angeles/article/Sierra-Madre-Playhouse-Marks-Milestone-Centennial-In-Grand-Style-With-Glittering-Silent-Film-Festival-Honoring-Its-Roots-20240110

Sent an email to the author, A. A. Cristie 8 days ago - no reply

Used contact us form on Sierra Madre Playhouse site - no reply

YouTube Channels With a Child Molester on Piano

I have left comments on multiple channels with videos of Frederick. The comments have either been ignored or deleted.
 
https://www.youtube.com/channel/UCcpe7p9ZVb9i0Ws_n82zOWA - Janet Klein, recently appearing in duets with Frederick
https://www.youtube.com/@GeorgeCollier - 831,000 Subscribers. This is someone I'm familiar with for entirely unrelated reasons
https://www.youtube.com/@frederickhodges - I'm surprised my comments haven't been deleted
 

Saturday, January 18, 2020

TTL Brainfuck Computer Part 9 - Clocking Back In

Part 1 (first) - Part 8 (prev) - Part 10 (next)

After sitting in a box for two years over two moves, the BFCPU has re-emerged and progress has resumed!


Before the box


Shortly after I posted the last update I incorporated the new clock generator which you can see in the upper-left, though not exactly in the form pictured. There weren't any of the colored wires going over to the right side of the board. I just used a single jumper to connect any of the frequency divider outputs to a final flip-flop at the end.

The flip-flop served a few purposes:
  • Final divide-by-two stage to make a very slow clock since I didn't have a button anymore
  • Buffer so the frequency dividers wouldn't have to drive the clocks for everything else on the board
  • Provides inverted and non-inverted output
After that, I connected the program counter to the program ROM address lines.

Since brainfuck programs only have 8 instructions, I only need 3 bits for the instruction set. I connected the first three data lines of the ROM to some blue LEDs and the unused lines to red ones.

As a quick sanity check to make sure the chips play well together, I connected the high bit of the ROM data and the manual reset button through a NOR gate to the program counter. Since the ROM is filled with FF in the unwritten areas, this means the program I had written onto it:

00 01 02 03   +-><

would repeat indefinitely.

I connected a slow clock to the program counter, and ... nothing. The program counter was all zeros and staying that way. The data lines of the ROM were all off, since the first instruction is 00. If I disconnected bit 7 everything would work. I spent a few days trying to diagnose the problem. I checked voltage levels, I added a buffer between the ROM data line and the reset circuitry, and then looked again at the data sheet.

If I'm remembering correctly from two years in the future, I discovered that I had not ordered the part that was TTL-compatible. So I spent a bit of time looking into options for level shifting, but my efforts were quickly put on hold.

I got a new job that was an hour commute each way for only 16 miles of driving, so my available time and mental capacity drained away. We decided to move closer to work, so everything was packed up.

We never really settled into the first place we moved, and our bedroom had water intrusion from the storms last winter. So we moved again when our lease was up. Fast forward several months, I have yet another new job and I finally finish unpacking most of my boxes.

After the box


I got my electronics desk set up and started digging through my neural records to figure out what my next steps would be. At first I went back to looking at logic level shifting solutions, but it would just be a hack for a mistaken purchase. Plus, I was never fully convinced that that was even the problem.

So I went back to investigating the circuit. I tried passing bit 7 through a bus transceiver before going to the reset line. I checked the current passing through the reset lines of the counters. I checked the voltages coming out of the ROM, the transceiver, the NOR gate, etc. Everything was consistent between bit 7 being attached and not.

Then I looked at the absolute voltage levels. On the board with the ROM chip I was seeing it dip down to about 4.7 volts, even though the power supply output was reading 5.0. Eventually I narrowed it down to the power line coming into the board. So I soldered up some new leads with some 0.1" headers to provide more low resistance paths to the power supply. It was in vain though. The program counter was still resetting.

Feeling a bit defeated, I hooked things back up to the scope. This time I looked for a pulse on the ROM data line. Lo and behold, for the 150 nanoseconds that the ROM takes to switch between addresses, the data lines are all high. This means the counter would reset immediately after incrementing to the second instruction!


All I had to do was make sure the reset only occurred on the other edge of the clock. Either I misread that the part was incompatible or I'm getting lucky, but everything I'm seeing so far points to the ROM chip working exactly as intended.

With that problem solved, I was officially making progress once more!

Of course, restarting isn't what most programs do when they get to the end. If you write a brainfuck program to compute some result, you want to see that result. Starting the program from the beginning of non-empty RAM would have unpredictable results. So I decided to use bit 7 as a halt signal instead. This meant revisitng the clock circuitry.

Design Time


Before getting to that, though, I started thinking more about the high level design. I've had a soft goal of one instruction per clock through this entire process, and I wanted to make sure I worked out the details for the four instructions I'm working on.

I was watching Robert Baruch's series Building a 6800 CPU on an FPGA with nMigen and decided to come up with timing diagrams for the clock, ROM outputs, and control signals. As an example, to execute a + instruction, there are three steps:
  1. Read and decode the instruction
    • Increment the program counter
    • Set the RAM to input
    • Set the data register to output
  2. Pulse the data register's count up line
  3. Pulse the RAM's write line
For one instruction per cycle, step 1 needs to happen on the rising edge of every clock. Step 2 has to wait 150 ns for the program ROM to update plus a bit more for that to propagate to the enable signals. Step 3 has to wait however long the count up was pulsed. Then step 1 of the next instruction will have to wait for the RAM write pulse to finish.

With three different places to wait per cycle, there was no way I could just use the rising and falling edges of the clock. The first obvious thought is to use a three-phase clock, but that would be overkill. I would have six different rising or falling edges per instruction in that case. I only needed one more edge than I already had.

I decided to add a single phase, delayed by the time it takes to decode an instruction (about 160ns). The instruction is read on phase 0, the data register is incremented on phase 1, and the RAM is written on the falling edge of phase 0. Rather than using pulse generators on the clock edges, I logically combined the two phases into an adder clock and a write clock. Here's the timing diagram for the full program:


In order for the phases to overlap correctly, the clock speed has to be a bit slower than half the speed of the decoder (160ns → 320ns). That works out to a bit over 3 MHz. Not too shabby! Though if I really want to push the performance in the future, I can add a third phase for the write clock and optimize the adder->write->next instruction timings.

For the actual hardware, I looked up some example circuits, and found one built around the 74LS123. This is a pair of delayed pulse circuits that can be wired up to act as a clock phase shifter. All I needed to make it work were some jumper wires, a 5k resistor, and a 10 pF capacitor.

Now that I knew I had a path to success, I started working on the clock circuitry again.

Muxing it up


While I really liked having the ability to select from a wide range of very accurate clocks, it didn't have a convenient interface. You had to know or find out by trial and error which pins on the chips have the clock outputs, which ones are faster than the others, etc. and manually switch a long jumper wire between them. As I mentioned earlier, I also lacked the ability to manually trigger the clock.

I had 26 different clock signals available from 8.000 MHz to 0.238 Hz. I knew it was going to take an entire section to make a selector, so I shifted the entire right half of the board down by one to make room for a new clock section.

I found the largest multiplexers in my kit which can combine up to 8 signals into one using a three bit selection. This means I could connect 24 of the clocks to three chips, then use a fourth chip to select from those. So this means there need to be three switches to select the inputs on each of the first three multiplexers, and two switches to select between multiplexers.

That left 5 inputs open on the final stage and one unused switch. I hooked one up to a wire I can use to select a clock the old way. I hooked the first four inputs up to a manual clock button and the unused switch to the high order selector bit.

So with the pictured DIP switch, the first switch on the left toggles between step vs run mode (all four manual inputs vs any of the four clock inputs). Skipping one switch, the 3rd and 4th are used to select among the three multiplexers (00, 01, and 10 slowest to fastest) and the manual clock selector wire (11). The final three switches are hooked up to the other three multiplexers. This makes it easy to switch among two different clock speeds and manual mode.



The final multiplexer output goes into the flip-flop that used to be the last stage of the frequency divider. So this means the clock toggles between high and low each time you press and release the button.

While moving the boards to accommodate the clock, I also discovered the earlier voltage issues were from a single wire that had corroded. Replacing it brought the voltage back up to 4.98 across the board, so I put the old power switch back and gave it both an "on" and "off" LED.

Back to the drawing board


So now I had a nice convenient clock selector and single-step mode, I went back to implementing the phase shifter. I went back to the 74LS123 design doc and verified the parts I would need: 5k resistor and 10 pF capacitor.

Wait... 10 pF? I think the smallest capacitor I have in my kits is 22 pF and they're all in use keeping the high frequency clocks from ringing. Not only that, but this is a freaking breadboard computer! 10 pF is down in the range where all the large, parallel runs of metal in the slots can make a significant difference. There's no way I would be able to get a reliable result from this. Thankfully I RTFMed before starting to wire it up.

So my next thought was to find something in my TTL kit with a lot of gates that could be used for a propagation delay. I figured it would be one of the high numbered ones, and the highest I had was 74LS374. Well what do you know. Eight flip flops? That's exactly the kind of thing I was looking for. The '374 was edge triggered though, so chaining them together would divide the frequency in half each time. Luckily I also had the '373 which is "transparent" so it would pass along the change immediately.

Note to self: replace the '93s in the frequency divider with '374s

I had to use 12 stages (one and a half chips' worth) to get the 160ns delay I was after, but it worked like a charm.

Next I implemented the clock phase combiner in logisim-evolution and did some boolean algebra to figure out how to use a single kind of gate (NOR or NAND) to reduce the chip count. I wired that up, hooked up a clock fast enough to see the two different phases clearly on the scope, and saw something pretty similar to the timing diagram!

I had to do a bit of tweaking since the '373's flip-flops seem to respond faster on the falling edge than the rising edge. So at first I was getting a lot less overlap than there should have been. After switching around some of the phases and inverting the logic, it was all working as intended.

It's the final count down!


Now that I have the clock pulses I need, the last thing between here and fully executing instructions is the decoder. Figuring out which instruction is loaded is pretty simple. The 74LS155 takes a 3-bit input and makes one of its 8 outputs low depending on the value. So I just hooked that up to the low three bits of the ROM. You can see the outputs of this selector on the right here:


Since I want FF to represent halt, all of the data lines go into an 8-bit NAND. I was starting to work out what gates/chips I would need to combine the halt signal with the clocks. Then I realized the flip-flop in the final stage of the clock selector has an input that will stop it from toggling. I just hook the NAND up to that and halt is implemented!

This is where things stand right now. I just need to send the output of the selector and the correct clock signals over to the other side of the board. I'm optimistic that my next update will have a fully excuting brainfuck program (albeit without loops or I/O).

Until Part 10!


Part 1 (first) - Part 8 (prev) - Part 10 (next)

Thursday, October 12, 2017

Lucky break

Yesterday we were leaving Lucky (a supermarket) in downtown Hayward. Ahead in the parking lot, right next to our car, a delivery truck began backing out while a group of teenagers was walking behind it. They started waving their hands, slamming on the sides of the truck to get the driver to stop but he kept backing out. The running board hit one of the boys in the shin and he fell over. The driver continued backing up as the fallen boy scrambled away, and the others ran around to the front of the the truck trying to get him to stop.

The driver finally stopped, sticking partway out into the lot and blocking our car in. At least four other people watched it happen, and they just went to their cars or into the stores and didn't want to get involved. We stood by to make sure the boys had support from witnesses.

At first the scene was just commotion; the boys understandably were riled up, yelling threats of lawsuits and arrest, filming with their cell phones, taking the license plate number etc.

Then the driver started to back out again!

This guy hit a minor pedestrian with a commercial truck and was going to leave the scene before any officials arrived. He backed all the way out to the point where he could start driving forward. I stepped in front of the truck and put my body against it as he inched forward. He stopped when I looked in his eyes and pulled out my phone to call 911. The boys started swarming the truck, some joining me in front or going to the back to block his exit, some climbing on the cab roof, etc.

I told the dispatcher that I was witnessing a hit-and-run in progress, and that we were preventing him from leaving. I gave her my details, the location, etc. and said she was sending some officers.

The driver sat there with the engine running, blocking the main lane of traffic in the lot. A woman leaving the store complained about her car being blocked in. By this time some of the angst had died down, and my wife suggested we get him to pull back into his original spot.

We all started to gesture as such, asking him to park again, backing off the front of the truck to give him some room. My wife went up to the driver's window and asked him directly a few times. Eventually we saw him put the truck into gear and he parked, though he left the engine running. The boys sat down on the back of the truck, and a minute or two later the Lucky manager came out.

He started asking us the usual from those of us at the back of the truck: contact info, what happened, whether we had already called the police. While we were talking with the manager, the driver finally turned off the engine and stepped out.

When the manager talked to the driver, things turned towards the surreal. We overheard the driver saying something like "they got hit on purpose to get money," blaming them even though he tried to flee the scene. The manager came back and started asking once more about whether we had called the police, and said that he had as well, but that since it was private property they might not come. He asked if the boys were injured, and said that it would be really bad for the driver if the police came.

In near unison, the teenagers, my wife, and I screamed "WHAAT?!!" followed by individual variations of "Are you fucking kidding me? It's going to be bad for HIM? What about the fact that he just hit a pedestrian and tried to leave the scene? He should be arrested!"

By this point it had been about 10 minutes since I called 911, and with the manager seeming to advocate for the driver, I called the non-emergency police number to check on the status of our call. She asked "aren't they on scene already?" I said no, but started looking around and saw a police car at the corner waiting to turn right.

Two cars showed up at first. The officers took down my info and account, then one talked to the boys and the other went around to talk to the driver. As another police car arrived, I overheard the officer say to the driver something like "this wouldn't be so bad for you if you had a license."

In the hopes of planting as few assumptions as possible, I have intentionally omitted any mention of race. But at this point, I can't just say "Everything calmed down for no apparent reason when the third officer arrived." The manager was latino, as was the driver of the truck. The first two officers were white, as were we. The third officer was black, as were the kids.

Most of the people on the scene noticeably relaxed when he arrived, and various mental circuits that had been shut down in preparation for fight/flight started to fire back up again.

With our accounts provided to the police and no longer feeling like we were the only ones around who could offer these boys any hope, I realized we were all standing outside in the acrid smoke funneling down from the fires up north. My wife and I had just bought some breathing masks from the hardware store nearby, and figuring that the police would be taking statements for a bit, I went back to buy a few packs for everyone. As I was leaving the store, the boys were walking away from the scene, so I handed them the masks and wished them a good one.

When I got back to the car, my wife was there holding our dog as the police dispersed and the driver started to leave. Since there were no serious injuries, the police made him report the incident to his company and let him leave without arrest. At one point while I was gone, my wife said one of the white officers asked something like "Well who do you think will win you or the truck?" mirroring the victim blaming of the manager. This just added further insult to injury.

We sat there for a while reflecting on what happened. There is a lot to feel ambivalent over. When the incident first occurred, the truck was moving slowly enough that the kids might have been able to avoid being hit, but that's a matter for the police/insurance to sort out. When the driver tried to flee there was no doubt that we needed to stay to support the kids.

When I left to buy the masks, my wife felt helpless in the face of the victim blaming attitude of the cops, but I could see the boys appreciated the gesture. In addition to the victim blaming, the police also treated her with less credibility than me or than when I was around.

Earlier we were gung ho! "He should be arrested for hit and run." But at the end of the day, I'm glad he wasn't. When I looked into his eyes I saw no malice, only fear.

Thursday, June 22, 2017

TTL Brainfuck Computer Part 8 - Clocking Progress

Part 1 (first) - Part 7 (prev) - Part 9 (next)

Note: there are plenty of pretty pictures below the fold

My pie-in-the-sky goal for the clock speed of this computer was originally 10 MHz. The LS series chips should be capable of 16 MHz, but that's not accounting for the poorly engineered environment of a hobbyist's breadboard computer. I figured 10 MHz would offer enough head room for the chips to cope.

As it turns out, the limiting factor is the EEPROM, which takes 150ns for the data to be valid after changing the address. If I set the address on the rising edge of the clock and read the data on the falling edge, that would be a period of 300ns or a frequency of 3⅓ MHz. While that's only one third of my original goal, it's well within the range of early personal computers (not that the performance will be remotely comparable).

So now I actually have a realistic target frequency, which likely can be pushed a dozen or two percentage points beyond spec (hello, overclocking!). Unfortunately the trusty 555 just isn't up to the task.

First of all, most sources I've read say it's only good up to about 1 MHz. But as an easily adjustable variable frequency (i.e. a single dial), the range and resolution are extremely limited.

I'm using a 1 M potentiometer right now. In order to have a usable range between, say, 0.5 Hz and 32 KHz, I have to manually switch from a 10 μF capacitor to a 10 nF. I'd need to go down another two orders of magnitude on the capacitor or up two on the resistor to reach 3⅓ MHz, and as I mentioned earlier, that would push the 555 well beyond its limits.

The adjustment resolution is similarly frustrating. Even though the potentiometer changes resistance linearly, the effect on clock rate highly non-linear. At the low speed end of the dial, a tiny movement makes a large difference in the clock speed. At the high speed end, the duty cycle changes more than the frequency.

Duty Dilligence


Speaking of the duty cycle, in order to keep the time spent on as close as possible to the time spent off, the capacitors and resistors need to be in particular ratios. To get a variable 555 timer with an even duty cycle, you would need both a potentiometer and a variable capacitor, each with an abnormally wide range.

As I mentioned in a previous post, the uneven duty cycle means the chips had to respond as if the clock was around 600-700 KHz even though the clock period was only 32 KHz. If I had a 3⅓ MHz clock with an 88% duty cycle, the chips would be seeing a pulse 18ns wide, which is equivalent to ~28 MHz with a 50% duty cycle.


As a quick fix for the duty cycle issue, I switched the inverter on the clock for a 74LS73, using one of the J/K flip-flops in toggle mode as a single-bit counter. Since it changes with each pulse rather than at each clock edge, its output will have a duty cycle as even as the 555's period. However, the period of the flip-flop's output will be half that of the 555, so I replaced the 10 nF capacitor with a 4.7 nF to maintain the frequency range I was used to.

The blue line on the oscilloscope is the output of the 555 timer. You can see how it spends significantly more time on (up) than off (down). The yellow line is the output of the flip-flop. You can see how it rises or falls every time the clock signal falls. Since I'm using a "raw" flip-flop instead of a counter chip, I have access to both the Q and Q' outputs to use as clock and inverted clock. The white and yellow LEDs are connected to them, respectively.

The Crystal Method


One of my first toy projects when I got back into electronics was a slowly shifting RGB mood light on Arduino. The LED itself is on a tiny breadboard and attached to the arduino with 3 signals and ground. I wanted to put the code on an ATTiny on the same board as the LED for a truly minimalist design. The ATTiny requires an external crystal to run at full speed, so I got a crystal assortment from 4 MHz to 25 MHz. I haven't made much progress on that project, but I do have everything I need for a stable, high frequency clock for the BFCPU.



The metal can on the left is an 8.000 MHz crystal. When it's resonating, it generates a near sine wave at that frequency, but it doesn't provide much current. The nearest chip is a 74HC04 hex inverter. As a CMOS chip, its inputs respond to voltage rather than current, but its outputs can provide a wide range of current. This allows it to act as a gateway between the crystal and the TTL chips. Since the output of the first inverter is part of the crystal feedback circuit, it runs through another inverter to actually provide the 8 MHz clock signal for the rest of the system.

The other chips on the board are all 74LS93s, the ripple-carry cousins of the '193 counters that make up most of the computer so far. These act as frequency dividers, giving me a selectable clock speed for any power of ½ of 8.000 MHz (4 MHz, 2 MHz, 1 MHz, 500 KHz, etc.), down to 0.4768 Hz, or about one cycle every two seconds. I'm only interested in a single "bit" at a time, so the ripple carry isn't going to be an issue.

The two 22 pF capacitors on the left corner of the board are part of the crystal resonator. The bypass capacitors straddling the high frequency chips from near to far are 1 nF, 4.7 nF, 10 nF, and 47nF, chosen experimentally to minimize noise on the outputs. There are also a couple of 100 nF capacitors across the power rails closer to the low frequency chips for the same purpose.

With nothing attached to the clock I was getting some pretty significant ringing in the outputs, sometimes as much as +6 V to -1.5 V peak-to-peak. It turned out to mostly be inductance from the oscilloscope probes, and pretty much disappeared when the clock was attached to other parts of the circuit.

Poor 555 clock, blinking away in solitude back there

In this shot, the long yellow lead on the left is connected to the 8 MHz output of the CMOS chip, and into the count enable circuitry of the Data Pointer and Data Register. The blue lead/oscilloscope probe is connected to the same signal.

The Data Pointer is set to count down, as you can see by the red lead going to Vcc just to the left of the blue LEDs. The yellow oscilloscope probe at the top is connected to the low order bit of the Data Pointer, which should be changing at half the period of the clock. Here's the result:


The scope is triggering on the clock signal, and you can see the measurement of 8.00029 MHz in the lower right. As expected, the first counter stage is flipping with every pulse. The edges don't quite line up because of the propagation delay in the counters and the NAND gates combining the clock with the control lines. If I had measured the clock at the counter input, the edges would be much closer. I left this running for an hour or so with "infinite persistence" and there wasn't a single glitch. So far so good for pushing the limits of my components!

One interesting thing to note is that TTL considers anything above 2 V to be a high signal. You can see here that the counter's output reaches just above 3 V, with a slight peak before switching. At lower frequencies, the voltage has some time to build further due to capacitive effects, and generally tops out around 4-4.5 V. You can see the effect of this in the previous image, where the 3 left-most LEDs are noticeably dimmer than the rest. The second bit from the left is the one switching the fastest, and is also the dimmest. You can see the same effect when I enable counting on the data register:


This isn't just an artifact of the camera or variability in LED quality or resistor value (which is also noticeable). If the switching speed were instantaneous, the LED would be spending just as much time on as it is off, so the only reason the brightness would be different is if the amount of current flowing is different. Since the resistance of the LED (plus resistor) is essentially fixed, the only way the current can be different is if the voltage is different.

Switching speed is not instantaneous, and doesn't change very much with clock speed. At high frequencies, instead of 50% on 50% off, it's more like 40% on, 40% off, 20% somewhere in the middle. This amplifies the effect of the already lower voltage.

Other Updates and Plans


The Data Pointer's up/down signals are now connected to the clock and control lines via NAND gates, just like the Data Register. The only buttons left are Clear signals. The Data Pointer doesn't ever load data, the load lines are all tied high.

In a couple of the pictures above you can see the beginnings of the program side. From top to bottom is the Stack Pointer, Stack RAM, Program Pointer, and Program ROM. I'm in the process of wiring up the Program Pointer to the Program ROM.

The milestone I'm shooting for next is to have a program in ROM control the Data Pointer and Data Register counters. But first I need to work the new clock design into the computer.

Part 1 (first) - Part 7 (prev) - Part 9 (next)

Wednesday, June 21, 2017

Complaint Breadboard

As much as I have ranted over the first breadboards I used for my Brainfuck computer, the company behind them has tried to help. After I left a one-star review on Amazon, they admitted that their manufacturing quality varied and sent me new ones. They were indeed a bit better than the first ones in a few specific ways, so I bumped my review up to three stars.

Over time, the experience was more unpleasant than first impressions suggested. They couldn't compete with a few other cheap breadboards I've acquired over the years. I won't list my grievances again here, but I decided to go back to a one-star review.

Pile of sh... re-assembled boards
Earlier this month they sent me an e-mail saying:

Sorry to disturb you again. 
I read from your review that you were dissatisfied with our breadboard. We sincerely apologize for that and we took your comment very seriously. After strict tests, we have developed a new breadboard which is of better quality. We have sent out 3 new breadboards to your address via China Post which will take about 15-20 days to deliver . The tracking number is [REDACTED] and you can track it here: https://www.17track.net/en ^.^
We care very much about how you feel and your review means everything to us. So we’d really appreciate it if you could give us an update review based on the new breadboard and our service. ^.^ 
Once again I apologize for all the inconvenience caused in this case and I look forward to your reply. Thank you very much!! 

The cynic in me thinks they mean "we found another supplier" when they say "we have developed", but I can't complain about the effort they're putting into making me a satisfied customer. I'm also a sucker for friendly emoji. :)

After bouncing back and forth between USPS facilities in San Francisco and Oakland for a week, they arrived a couple days ago. Whether the cynic in me turns out to be right or not, these new ones are vastly improved over the originals.

Bottom: old Elegoo board. Middle: new Elegoo board. Top: corner of my Brainfuck Computer built with Jameco boards
Two things are obvious at first glance: the plastic is much higher quality, both in look and feel, and the silk-screening is clearer. On closer inspection, there seems to be much more consistency in the way the contacts line up with the holes.

Here is a close up of the old board. You can see several areas where the contacts are directly under the holes. This would block entry of pins unless you put them in at an angle, which might go off to the side of the clip rather than into the center.


And here is one of the new ones for comparison:


One thing you might notice is that the contacts are much more visible in the new board when looking at an angle. You can see the bright spots on the left side of the holes on the left part of the board but on the right side of the holes on the right side of the board. This shows both that the contacts are more centered with respect to the holes and that they are closer to the surface of the breadboard.

Combined, these two fixes should alleviate most of the problems I had with the old ones. Insertion of components with multiple pins is much less frustrating, and retention of components is much better. In particular, these new boards seem to hold onto my DIP and tactile switches just as well as the Jameco boards.

The new boards also lay much flatter. The old ones had a noticeable curve out of the box, so they would tend to stretch and strain when assembled into a large panel. Here's a video demonstrating the improvements in curvature. Note: I'm using the one old Elegoo board that remained completely intact (I didn't cut the power strip off) to give it the best chances.


To be fair, there are still some problems with consistency. One of the three boards I received has a power rail where one contact in each block of 5 holes is misaligned:


I have not yet done any serious testing of their electrical characteristics since I'm not planning to assemble these into another computer. The contacts don't feel quite as eager to grip as the Jameco ones, so your mileage may vary.

All in all, I'm actually quite glad to have these three new boards. I had been using some of the old ones for a couple side projects, and am eager to transfer them over.

Update 2017-06-22:


All in all I'm happy with their performance. While the power connections feel a bit looser than the Jameco boards, the electrical contact seems pretty stable. The board has no problem handling an 8 MHz crystal clock with a 24 stage (6x4 bit counter) TTL frequency divider. There is virtually no noticeable effect on the clock outputs when I jiggle the power leads coming into or jumping across the board. I'm not sure how they'd behave in the bus strip/massive board configuration I'm using for the computer, but so far they look promising.