ApacheDirectoryStudio and macOS (ARM)

I have been using ApacheDirectoryStudio (ADS) for years as the best tool to manage LDAP information directly. It is a fantastically powerful, yet still easy to use tool. It is written in Java in the Eclipse environment. Ever since I got my M1 macBookPro I have had fits getting ADS to work with each macOS version. The online resources I have found (Stack Exchange and the ADS bug reports) all talk around the issue(s). I am documenting what I have found here to make it easier for me, and maybe others, to get this working without having to spend hours on it.

From what I have seen, there are two related issues, the version of Java, and whether the JVM is built for ARM (aarch64) or X64. In my recent go round on macOS Sonoma (14) I found that I needed to install Java 11 for X64, ADS for x64 (the ARM package of ADS is not available yet), and configured the ADS application to use the Java I installed. If I used the ARM version of Java 11 it failed, if I used the X64 version of Java 16 it failed. All with the same cryptic error about not being able to find the JNI_CreateJavaVM symbol.

Here is the link to the bug at ADS: (there are instructions for how to set the Java version embedded in that ticket)

Here is where I got my Java environments:

How to Improve an Electric Clothes Dryer (phase 1)

Electric clothes dryers are very simple devices which have not changed much in 50 years. While electricity is very efficient at generating heat (virtually 100% conversion from electricity to heat), it is not terribly economical. While there are now (as of 2024) heat pump based dryers, they are still fairly expensive (and I started this project almost 10 years ago anyway). I have undertaken to improve the economy of the basic, very reliable, electric clothes dryer.

My clothes dryer is a White Westinghouse Electric 27″ drum unit from 1988 or so, about 36 years old. I have had to repair / replace the main bearing, the idler pulley, the belt, and the front slides (multiple times). None of those repairs are terribly difficult once you get the hang of it. It was while replacing the idler pulley and belt that I was inspired to do this first upgrade (which I am calling phase 1). I noticed that the dryer pulled air from various places all close to the ground. My dryer lives in the basement and the floor in the basement is not the cleanest place (raw concrete on dirt).

Phase 1: Improved Airflow

I decided to pull the air for the dryer from higher up, filter the air, and push it so that the air came in the way I wanted.1 I also decided to add helper fans to the exhaust. In my installation, the dryer vent runs straight up for about 5 feet and then makes a 90 degree turn to the right before heading another 5 feet across to the window and outside. I theorized that if I could increase the airflow through the dryer, it would remove moisture at a faster rate and would dry clothes faster, requiring the high current heating element to run for less time.

I went about closing off all the various slots and holes that the air came into the dryer cabinet through. I fashioned a replacement vent panel (where the majority of the air came in) that connected to a 6″ duct pipe. I used a pair of 6″ vent pipe “helper” fans in series to force the air in after sucking it through a HEPA filter element I had lying around.

Bottom rear of the dryer (it is laying on it’s front) showing intake (left) and exhaust (center) ducting, as well as foil tape covering random opening (right).

On the exhaust side I ran 4″ duct up from the dryer exhaust connection (matching the exhaust connection size) as a I wanted to maintain the air velocity up the vertical segment so keep the lint flowing. Once I made the 90 degree bend to horizontal I increased the duct diameter to 6″ for the horizontal run. This causes a drop in velocity at that transition and any lint that is going to fall out of the air stream does so there, where it does not block the flow of air. Right before the duct leaves the house there are another pair (in series) of 6″ duct helper fans. I placed them here to keep them as far from the heat as possible. Neither fan has failed in about 10 years of use.

The exhaust (top) and intake (middle) before installing the HEPA filter over the intake.

The above was all relatively easy as it was simple mechanical work. The hard part was to come, automatically running the external helper fans when needed. My first iteration just had them on a separate power cord that we plugged in before we used the dryer. I did not like this as there was the possibility of running the dryer without the helper fans, in which case those fans would put more load on the dryer blower and slow the flow of air, the opposite of what I wanted.


The dryer ran off of 240 volts and the helper fans needed 120 volts.2 So I needed to find a source of 120 volts and switched so that they only ran when needed. I decided that having them running whenever the internal motor that rotated the drum and ran the internal blower was running was the best option.

Looking at the above wiring diagram it became clear that the only thing that ran off of 240 volts was the heating element. I also wanted the power for the external helper fans to be party isolated from the internal circuits. I pulled power from WHITE and TAN (C and X on the timer switch) to run the coil of a relay that then switched the power to the external helper fans. The additional load the relay coil puts on the timer switch contacts is minimal.

The last change to the wiring (which I just did while putting phase 2 into place) was to have that power for the external helper fas come out on a duplex outlet on the back of the dryer and have the fans wired with normal NEMA 5-15 plugs. I know this is probably not strictly to code (using the NEMA outlet and plugs for a very specific purpose, but it is safe and makes it easy to separate the ducting from the dryer for maintenance).


The automatic setting on the dryer has marks for less dry and more dry with 3 tick marks between them and 3 tick marks below less dry (more dry is at the very top). Prior to adding the external helper fans we needed to run the dryer almost all the way to more dry to have our clothes come out dry. After adding the external helper fans we could run the dryer one tick mark above less dry and the clothes were the same dryness (and much more lint in the lint filter).


  1. I learned about airflow management when I was a Broadcast Engineer. Most transmitters at the time had a blower that moved air through the transmitter and out a duct port. That duct port was typically vented to outside the building (often with a helper fan). The problem with this arrangement is that it lead to a net negative pressure inside the building, so air would come in through any gap or crack bringing with it any dust or dirt it picked up along the way. By configuring a blower to bring outside air into the building (via a filter to remove the dust and dirt) we then had the building at a slight positive pressure and that prevented dust and dirt from entering along any cracks or gaps. I later used this experience in computer server room and data center design. Bring air in and clean it on the way, keep the room at a slight positive pressure and you improve the air quality. ↩︎
  2. OK, I could have connected the helper fans in series and run them off of 240 volts, but I did not want a failure of one fan to stop the other, that is the other reason for 2, in series in terms of airflow and in parallel electrically, redundancy. ↩︎

Hybrid Conventions

When the COVID-19 Pandemic hit, all of the Sci-Fi conventions I volunteer with had to cancel or switch to an online format. Since the Pandemic has stabilized, it is not over, we have just learned more or less how to live with it, conventions have gone back to in-person events. But, we realized that there is a demand for online Sci-Fi convention activities. There are people who cannot attend in-person for a variety of very good reasons, from health and age related to cost and time. There is a market for online Sci-Fi convention activities.

A couple notes on terminology before I go on. Many people refer to these online activities as ‘virtual‘, as in ‘virtual convention’, ‘virtual panel’, ‘virtual attendees’. I realized this is disrespectful to those involved. The people are not ‘virtual’, so they are not ‘virtual attendees’, they are real people who are online or remote attendees. I avoid the use of the term ‘virtual’ for this reason.

The other term I want to define is ‘hybrid‘. I have heard that term used to describe a whole variety of things related to in-person and online activities. In my view a true ‘hybrid activity’, be it a convention, panel discussion, reading, or anything else is an activity with both an in-person component and an online component where the goal is for the experience to be as similar as possible between the in-person and online activity. So a ‘hybrid panel discussion’ would support both in-person panelists as well as online panelists on an equal footing, the audience would also consist of both in-person and online people on an equal footing. Hybrid is not running a couple online tracks of programming at the same time as an in-person convention. Hybrid is not streaming a couple tracks of programming (or events) from an in-person convention. Hybrid is about creating, to the best of our ability, the same experience for people whether they are in-person or online.

You will notice that I use the term ‘activity‘ in many places below where you might think I should be using ‘convention’. I do this on purpose as a convention may be in-person but still have aspects or activities that are hybrid.

Should All Conventions Be Hybrid?

The answer to this an an unequivocal no! There are many different factors that should determine whether a convention should attempt to be hybrid. Beyond the obvious factors of staffing (hybrid does require more staff with different skill sets) there are factors such as cost (can the convention get good enough Internet at their hotel / facility at a cost they can afford) and impact on in-person attendance (will an online offering draw from the in-person attendance and the convention risks missing a hotel block commitment). Each convention is unique and needs to examine their individual situation to decide if they can successfully be hybrid. Some may think they can, and try for a year or two, only to decide they cannot. Others my know themselves well enough to know they cannot do a good job with a hybrid convention. Others may decide to not hold a hybrid activity but to hold, at different times, both an in-person activity as well as an online activity. I expect that a small percentage of SciFi conventions will be able to successful transition to being a hybrid convention. This is OK. Every convention needs to do what they can do well, without overtaxing staff.

What Does It Take To Have A Successful Hybrid Activity?

A successful hybrid activity requires the buy-in from the entire committee and staff running the activity. The most critical areas that must agree to be hybrid and agree on what hybrid means are:

  • Chair
  • Programming
  • Technical Support Services
  • Facilities / Hotel
  • Registration
  • Hospitality / Con Suite


This one should be obvious. The Chair and their immediate staff must work towards the outcome of same experience for in-person and online.


Programming a hybrid activity is very different from an in-person one. Instead of reaching out to panelists who are likely to be attending, programming can reach out to people who may not be able to travel to the activity, people who may not be able to commit to an entire weekend, people who the activity may not usually be able to afford. Programming can reach out to a much larger, broader audience. A high profile author who may not be able to commit to a weekend may be able to commit to an hour or two. Having an author from across the country, who cannot afford to travel, do a reading is a wonderful treat for their fans.

Programming also needs to maintain communication with Program Participants as the activity approaches, since this may be a very small time commitment, it may not be front of mind for people.

Program Operations Staff also have a much bigger role in hybrid activities. Instead of just giving moderators 10 and 5 minute warning and making sure panelists are in place, Program Ops needs to be assisting panel moderators and readers with managing online chats and Q&A, they need to ensure that in-person audience questions and comments are clearly heard by the online panelists and audience.

Programming needs to use a tool for scheduling that can provide links for online activities that are restricted to registered people.

Technical Support Services

Tech has a much bigger role in hybrid due to the need for reliable Internet, the ability to originate Zoom (or other conference) meetings, the need to both see and hear local as well as online panelists and audience.

Additionally, Tech needs to have a way to gate access to the online elements. There are countless ways to handle this, but it generally falls under Tech (unless the activity has a separate, dedicated IT staff).

Facilities / Hotel

Facilities / Hotel needs to ensure that there is good quality, reliable Internet not just at the facility, but in the rooms where it is needed. This may be wireless, but much better to be wired. Tech often requests an isolated (or dark or dry) network besides the Internet. This permits Tech to isolate management traffic and handle more tasks with fewer staff. Room sets will be slightly different for hybrid activities.


Registration needs to be able to support both typical in-person registrations as well as online only registrations. Registration needs to have a method to provide, in near real-time, registration data to the gating system. Having someone register at 2:45 PM for a 3:00 PM online activity but not be imported into the gating system until 5:00 PM is poor customer service and a bad experience for the person trying to attend online.

Hospitality / Con Suite

Hospitality needs to think about how online attendees are going to be integrated into social activities. How do you make the Con Suite or a Meet The Pros activity a positive experience for online attendees? This has to be part of the planning.

Does Everything Need To Be Hybrid?

Simply put, no. A fully Hybrid Convention is one where the organizers strive to have comparable experiences for both in-person and online attendees for every aspect of the convention. Most conventions will not be able to achieve this. That is OK. A convention with a number of hybrid activities is just fine (as long as that is clearly communicated to prospective attendees in advance).

Staffing and Logistics

The following is based on my experiences working on the following conventions that have had online components:

  • ConZealand: Worldcon in 2020 (entirely online)
  • DisConIII: Worldcon in 2021
  • Boskone in 2022 and 2023
  • Balticon in 2022
  • Albacon in 2022


These are staff positions that are necessary during the convention. Some have responsibilities pre- and/or post-con as well.

  1. Program Ops: There needs to be a Program Ops person in each activity room to assist the panel moderators with handling online Chat and Q&A. I have heard from many moderators that handling both moderation of the panelists as well as wrangling Q&A from the audience (both in-person and online), and making sure the online Chat does not go off the rails, is just too much. In some cases, a Tech person may be able to fulfill this role, but if something Tech goes sideways they won’t be paying attention to these tasks. Besides, most Tech people do not have the skill set to manage these tasks. Some conventions, such as EasterCon in 2023, have solicited volunteers from the in-person audience for this role and made it work.
  2. Tech Staff In The Room: There needs to be a Tech Staff person in the activity room to ensure that all the equipment is properly set, cameras aimed at the panelists and audience, sound levels good, Zoom feed live, and any local presentations are setup. In many cases, once the activity starts the Tech does not need to stay, but they must be available to handle any problems that may develop.
  3. Tech Staff Online: For any activity with an online panelist, reader, or presenter there needs to be a Tech available online to ensure the panelist, reader, presenter is properly promoted, they can be seen and heard, and are comfortable. These staff may be anywhere in the world.
  4. Tech HQ QC: This is a role we have taken to calling ‘Zoom Master’ as this person is watching multiple computers, one for each online activity. Their responsibility is to ensure that the activity looks and sounds good online, captions are live, recordings are started, etc. Recent experience indicates that with many online activities at once, more than one ‘Zoom Master’ may be needed. Empirical evidence from Balticon in 2023 (and others) indicate that one person can only successfully manage 3 to 4 online activities at one time. Some people may be able to handle more, others less. This is also the dispatch point for problems (“get me a tech in meeting room A for an audio issue”).

No convention should plan for one person per role above. While sometimes there is no choice due to staffing issues, I believe you need to plan for at least 2 people per role so that people have time off. So for a small convention with 2 program rooms, 1 reading room, 1 con suite, and 1 lobby social area I would plan for a minimum staff of 10 in-person tech, 4 in-person program ops, 6 online tech, 2 tech supervisors, and 1 or 2 program supervisors at a minimum.


This section is not about moving things in and out, but how the various spaces are setup and the equipment needed.

Program Room

  • Sound system, local mics to room and Zoom, Zoom to room
  • Video switcher (ATEM) with multi-view monitor
  • HDMI switcher: selects feed to projector, confidence monitors
  • Cameras to cover panelists (2 in split screen with ATEM)
  • Camera to cover audience
  • Projector: to show online panelists and presentations
  • Confidence monitors for panelists to see online panelists
  • Laptop to originate Zoom: video feed, audio feed (Co-Host) this is a Zoom Webinar
  • Laptop for Confidence, feeds confidence monitors
  • Laptop / Tablet for Program Ops to handle Chat / Q&A (Co-Host)

Reading Room

  • Sound system, local mic to Zoom, Zoom to room
  • Video switcher (ATEM) with multi-view monitor
  • Camera to cover reader
  • Camera to cover audience
  • Confidence monitor for reader to see online audience
  • Laptop to originate Zoom: video feed, audio feed (Co-Host) this is a Zoom Meeting
  • Laptop / Tablet for Program Ops to handle Chat / Q&A (Co-Host)

Social Space (Con Suite, Lobby)

  • Laptop to originate Zoom: video feed, audio feed (Co-Host) this is a Zoom Meeting
  • Camera to cover audience
  • Speaker for around laptop
  • Mic for around laptop
  • Mic for anbience
  • Mixer (ducking)
  • Audio Interface

Tech HQ

  • One Laptop per activity, these hold the Zoom Host role, QC the activity
  • One Laptop for control panel and utility

The above includes 4 Laptops per activity / room, distributed as follows:

  1. Tech HQ for Zoom Host and QC
  2. In-Room for Zoom origination, Co-Host
  3. In-Room confidence
  4. In-Room for Program Ops for Chat and Q&A


It is possible to have a positive experience for both in-person and online activity participants, but it takes commitment, planning, coordination, and execution. This requires more staff than either an in-person activity or an online activity. It cannot just be grafted onto an activity at the end, but must be planned for from the start. Doing Hybrid Activities is not for all SciFi Conventions, but for those that can, it can increase their breadth of programming and audience, it can bring SciFi Conventions to a new audience.