Debate Site: real time, mind map diagram debate interface, with pfmindmap in React

Debate Site is based on the idea of empowering good-faith users and facilitating productive debate. It uses a mind map diagram interface, which illustrates the struture of the discussion.

Sample Metronome

Playing an instrument along to a metronome is helpful. It’s amazing how far off I realize my timing was, when I try to play with a metronome. It is an effective way to improve timing, and to understand what it is that you are trying to play.

Data Vis, Tornadoes in CT, D3 & Observable

While working on a prior project, I learned some D3.js, a data visualization library, and I discovered ObservableHQ, a platform for data visualization. I recently completed my first ObservableHQ data vis project: Tornadoes in Connecticut. There have been multiple tornadoes that tore paths through landscapes near me, in recent years. I know that greenhouse gas-caused […]

Force Directed Layout for Mind Map Interfaces

I wanted to build a mind map discussion interface for a debate website. A mind map is well-suited to the debate use case because a debate begins with a “motion,” the thing being debated. So, the diagram would have one root node, and branches of discussion would extend outward from it. It would help users keep track of the various branches, review the overall conversation, and have thorough and productive discussions.

Tagged Notes – Simple but Useful

Tagged Notes is an Android app for notes. The idea is you put tags on notes, and, that way, a note can be associated with different things. I get ideas I like to jot down. Years ago, I kept a small notebook in my back pocket. The notebook would get filled with thoughts, and many would fit in multiple categories.

Pfmindmap – Solving a Fundamental Problem of Discussion Interfaces

Discussions are exponential, but discussion interfaces are linear. Anything you say can elicit multiple responses to it. Let’s say the average point elicits 3 responses. 5 levels in, we are at 243 branches of subject matter. This is how discussions break down. Does this sound familiar? Think about debates you’ve had. Many branches of subject matter arise. It’s hard to tend after them all. It’s hard to be clear about which one is being addressed. It’s hard to review what has been addressed and what hasn’t.

What is People’s Feelings?

Creativity takes many forms. Software design can be a creative medium. This is a site where I post about my creative projects. Some people make music, and some design guitars. The musician may consider some guitar creators to be artists. Tool-making can be a form of creativity, and it is a unique and powerful one. […]

3D Models for Icons

Icons are tough. They represent what the app does, but are tiny. Graphic design is a whole discipline unto itself, and styles are always changing. As a developer, what to do for the icon can be a head-scratcher. The icon should be understandable and memorable, so it is easy to spot. When creating an icon, […]

Shuffle Alarm Subdirectory Support and Thoughts on Wake-up Songs

The Shuffle Alarm app is an experiment to explore new ways to improve personal well-being. Can the mind can be brought into consciousness, at the beginning of the day, in a way that is more conducive to having a good, positive, or productive day? The Update The app didn’t originally support subdirectories of song files, […]

Shuffle Alarm – An Enjoyable Alarm Clock

Who likes their alarm clock? I never did, even when I would use an app that let me assign a song as the alarm tone. That would be ok for the first day or two but all it really accomplished was ruining a song I liked.

The solution is an alarm clock app that plays a playlist of your choice in random order, AKA shuffle. The result is like a radio station tailor-made for coaxing you into reality.

Choose good wake-up songs and load them into the app. This is done by simply copying song files into the app’s directory on the device. The more the better, but you don’t need too many to get started.

PFSeq, A Precision-Timing Audio Sequencer for Android

PF Seq is a precision-timing audio sequencer Android module. It is useful for music apps that require precise, rhythmic audio timing.

While working on the Sample Metronome app, it became apparent that precise audio timing can be a challenge because it is difficult to guarantee that code will execute at a very precise time. Trying to control sound timing by sending a play command with a timer produced unsatisfactory results. I tried Android SDK audio player classes MediaPlayer, SoundPool, and AudioTrack, which is the high-performance, low-level one. Even with the target times getting calculated correctly, the audible sound would not always play exactly on its mark. The deviations were small, less than 10 milliseconds by one measurement, but the ear can notice it, and it would be worse on some devices.