Yearly Archives: 2017

Open Source: Sigmatizm, A Virtual Additive Synthesizer

Back in 2012 I wrote the most complex audio application I had ever written. It’s called Sigmatizm, and is a standalone additive synthesizer.

Additive synthesis works by adding together sine waves of different frequencies (harmonics) to create a more complex sound.

This particular application adds up to 128 sine waves together in real-time, while transitioning from one set of harmonics to another and while modifying the sound with an attack-decay-sustain-release (ADSR) envelope.

It also has full MIDI support and can be played with a MIDI controller, or can be used to play an external MIDI synthesizer. It also supports using any sound card or MIDI device attached to the system.

It started life as a Windows app and was also ported to Linux. Originally it was a commercial app available for $9.99 on both Windows and Linux (via the Ubuntu store). It also works on OSX, but building is a bit more involved and not for the faint of heart.

For the official download page, visit Zeta Centauri.

Or, to get the source code, visit GitHub.

There’s still a lot more that I’d like to do with this application. For example:

  • It’s nice as a standalone, but would be more useful as a VST so it could be used with multitracker software and be piped to effects, like delay, reverb, etc.
  • I’d like to be able to have an infinite number of envelope stages, so things could go quiet-loud-quiet-loud, or other evolving sound scenarios.
  • I’d like to add the ability to add noise or other inharmonic sources, since the app is completely harmonic and aliasing is the only source of inharmonic sound.

One thing that I’ve deliberately done in order to make it easier to create crazy sounds is NOT prevent aliasing, which is what happens when a sound goes past the sample rate (which in this case is 44.1KHz). When that happens, waveforms “wrap around” and start going in the other direction. I’d like to make that sort of thing optional (block or don’t block) because it’s undesirable in some situations and desirable in others.

It only has a handful of included patches, but I’d like to include more. If you download it and create some sounds, please consider contributing them back to the project.

Proxima Controller, a Virtual MIDI Controller

Back in 2008 I created an app called Proxima Controller. It’s a virtual MIDI controller that runs on Windows, OSX, and Linux.

I wanted an easy way to control external MIDI hardware (synthesizers, etc.) from my PC and there wasn’t an app that I liked available.

It started out as a Windows-only app. A few years later I ported it to Linux. And last year I ported it to OSX (but didn’t release it via the app store).

It’s been one of my more popular apps, with more than 70,000 downloads. I’m glad people have found it useful. It certainly made it easier for me to test sounds on my rackmount audio equipment without needing to shuffle full-sized MIDI keyboards around.

When I have time I’d also like to add an X-Y controller pad, something that can be used to transmit the same controller messages as the joystick on the Korg Wavestation and the Yamaha SY22/SY35/TG33.

You can get it here.

Trigram Generator for Windows and Linux

A long time ago I wrote a free Windows app called the “ZC Trigram Generator”. It was a simple app to generate plausible-sounding words based on a set of input words.

It had a steady trickle of downloads for around 8 years or so, about 1500 downloads per year.

Two years ago I open-sourced it and posted it on GitHub.

Today I updated it to be a little easier to use by adding a “load text” button to load a text file.

Trigram Generator Screenshot

It works on Linux and Windows 7 or newer (including Windows 10).

It’s available here on GitHub if you’d like to get it.

Guitar Tuner and Bass Tuner for Windows

Guitar Tuner and Bass Tuner are the first desktop Windows apps that I wrote. I don’t recall how long ago, but it was certainly more than a decade.

They’re super-simple apps that let you sound notes to tune your guitar or bass to. They only support standard tuning and use the default MIDI device for sound output, which usually means the “Windows MIDI Mapper”, a built-in sound synthesizer that’s been part of the OS for ages.

For nearly ten years I had them available for download on zecentauri.com, and they had more than 100k downloads in total. Two years ago I open-sourced them, but didn’t really mention it anywhere.

I updated them both today, adding two notes to Guitar Tuner to support 8-string guitars and making improvements to the installers.

Both the source code and the installers are available on GitHub under the MIT license.

Visit Guitar Tuner on GitHub.

Visit Bass Tuner on GitHub.

Bad Job Descriptions Waste Everyone’s Time

Most companies hiring software engineers want you to know a few specific languages and/or technologies. It makes sense. The more you know about their existing infrastructure, the faster you’ll be able to contribute effectively.

When those companies completely fail to include any of those desires in a job listing, it wastes everyone’s time. They get hundreds of extra applicants who are not even remotely qualified, and those people have their time wasted.

Below is an example of a vague post that I recently sent my resume to. They scheduled a phone interview with me. They said that main thing they are looking for is a Java expert. The phone call was over quickly (I am not currently a Java expert and it does not appear anywhere on my resume).

Java is mentioned nowhere in the description.

Please do not do that sort of thing.

The posted description:

Java: Overcoming A Technology Prejudice

For a very long time I’ve been anti-Java. It started when I was a PC technician in the late 1990’s. The Java Runtime was always a nuisance to maintain and the apps were terrible memory hogs with bad user interfaces.

My view of Java didn’t improve as I learned and worked in C++ and then later C#. Java seemed a poor, clunky way of doing things and there was no need for it, given the fitness of the C# ecosystem for many of the same “enterprisey” purposes.

When the Android operating system was released things got weird. Why were they using this slow memory-hog language for a mobile phone’s applications when the hardware has such limited memory and processor power? It made no sense.

Soon after that, Oracle bought Sun and became the owner of Java. Oracle is a terrible company that I want nothing to do with. In addition to their hyper-litigous business practices, they also deploy auto-accept crapware with their Windows runtime installer*, which is unconscionable. Needless to say, this did not improve my opinion of Java.

Years later I built a search engine. There are a lot of useful web crawling tools in the Java ecosystem that I didn’t take advantage of. The Python ecosystem has a lot of wonderful web crawling tools and libraries, but not having access to the whole set of what’s available ended up being a hindrance.

The same goes for data science. I know the Python data analysis tools, but there are a lot of things in Java that I haven’t really had access to (particularly the Hadoop ecosystem), so I’ve missed out on some possibilities.

I get that it’s no longer true that Java is clunky and incapable, but it’s hard to let go of a long-held belief. But it’s not a useful belief, so it’s time to let it go the same way I let go of my prejudice against Apple’s OSX a few years ago (although I do sometimes still refer to it as “broken Linux”).

Now that I’ve been focusing more on DevOps, it has become more important to be able to support a wide variety of programs. Writing software is one thing – you can usually focus on only the language(s) used by your project and not suffer for it. When you’re deploying applications from dozens of teams, you need to be able to support (and troubleshoot) anything and everything.

Everything I’ve heard leads me to believe it will be fairly easy to become competent in Java given my experience in C# and C++. I have a copy of Teach Yourself Java in 24 Hours and some spare time, so I’ll find out soon.

* I hope that one day that the FTC will ban installer bundling. That certainly won’t happen with the current shitministration.

FreeWaveSamples: DMCA Response Period Expired, Samples Restored

This is an update to a previous post about a DMCA request frivolously filed by Roland Corporation against freewavesamples.com.

I sent a DMCA counter-notice to my ISP, Linode, and they forwarded it to Roland.

14 days (10 business days passed) and Roland did not respond.

Yesterday Linode contacted me to let me know I was free to put the content back up, so I today I did.

For reference, these are the URLs where samples have been restored:

http://freewavesamples.com/roland-d-20-kick
http://freewavesamples.com/roland-jd-990-pizzicato-strings-c4
http://freewavesamples.com/roland-d-20-snare
http://freewavesamples.com/roland-gr1-orchestra-hit-c5
http://freewavesamples.com/roland-gr1-trumpet-c5

It’s no surprise that there was no response from Roland regarding my counter-notice. I’m sure the badly-written IP enforcement bot they’re using isn’t advanced enough to handle that sort of thing.

I will not consider the manner closed until I hear from a real Human at Roland. They could continue to harass me, and that is why I haven’t removed the “Free Wave Samples Is In Danger” banner text from the website.

Karaoke and Cold Lazarus by Dennis Potter

I recently watched a pair of British Sci-Fi dramas by Dennis Potter filmed in 1996. Over the years I’ve seen references to Cold Lazarus here and there (including as the title of a Stargate episode) and decided to check it out. It’s the second part of a pair, the first being Karaoke. Apparently they’re available on YouTube in a huge playlist of Dennis Potter’s works (items 42-49).

The first story in the pair is a 4-part mini series drama about an author who discovers that he has pancreatic cancer. He’s also been going through some strange deja vu that I won’t go into because it would be a spoiler. I wasn’t sure what it had to do with science fiction until I saw the second story.

Cold Lazarus is a 4-part mini series and takes place hundreds of years in the future in a dystopian hyper-corporate oligarchy. It features a science lab doing experiments with a frozen head and some drama about what is to be done with the head that I also won’t go into because spoilers. The head used to belong to the author in Karaoke and the memories extracted include some scenes from that series.

Overall, they’re pretty typical for low-budget 1990’s British television dramas. There are some really interesting props and scenery in Cold Lazarus, especially the motorized chairs that look like giant man-eating plant pods. Wikipedia says that many of the props were purchased by a film company that later used them for a movie called The Vampires of Bloody Island, which I have not seen.

It turns out that the first story is very autobiographical. Dennis Potter had cancer and these were his final stories, not filmed until after his death from pancreatic cancer. Dennis hated Rupert Murdoch and had spoken out against him publicly. He went as far as giving his cancer a name. That name was Rupert.

I agree. Rupert Murdoch is a cancer and has made the world a worse place.

In any case, these two stories, while not multibillion-dollar blockbusters, are still interesting. Since you can watch them for free on YouTube, you might as well do it when your Netflix queue runs out.

SpaceTheremin, a Virtual Theremin

Back in 2007 I wrote an application called SpaceTheremin. It is a simple app that lets you use your mouse to control a virtual theremin by moving it over a beautiful public domain image from the Hubble Telescope to control pitch and volume.

Over the years I also released versions for Linux, webOS, and OSX (via the Apple Store). It’s been downloaded tens of thousands of times and is a fun noise toy.

It’s available on the Zeta Centauri website if you’d like to check it out.

Open Sourced: RoboBlather, a Text to Speech Application for Windows

Back in 2008 I released the first version of a simple text-to-speech program for Windows called RoboBlather. Over the years it has enjoyed some popularity among a small niche of users due primarily to its uncomplicated interface.

Today I finished open-sourcing it under the MIT license. If you’re interested, it’s available here on GitHub.

You don’t have to be a programmer to enjoy it — there’s an installer that lets you use it right away without needing to worry about the programmer-y aspects.

Thanks Again, Capitalism

Two days ago I started a new job doing DevOps at a large public company. I was really excited about it because they were doing interesting things combining technology I know well – Python, Django, C#, PostgreSQL, and C in a Linux environment on AWS managed using Salt Stack. They were also using some interesting tools that I’d have a chance to learn – TeamCity, Gerrit, and Ansible.

I told my friends that I was looking forward to spending a while at a company that didn’t have all of the chaos and instability of a startup. A company that would still exist from one day to the next. There’s a thing on my bucket list that I’ve almost but not quite reached – working at the same company for 5 years (I got to 4 years and 9 months back in 2003). I thought there might be a chance with this one.

Yesterday, on my second day, they decided to disband the department I work for.

Why?

They had a bad quarterly earnings report and had to do something to “maximize shareholder value”. This normally means slashing your R & D budget to the bone and crippling your ability to generate new streams of income. So they slashed it, canceled the product we were working on, and dropped a surprise bombshell to everyone at once. A bad time was had by all.

Short-term thinking at its finest.

In any case, I don’t regret a minute of the experience. I met some really great people who made me feel welcome. I wish them all the best.

For further reading:

Why Companies Need to Think Long Term

Short-Term Thinking is Dangerous to Innovation

Can America’s Companies Survive America’s Most Aggressive Investors

How to Stop Short Term Thinking at America’s Companies

My History As A Musician

Like many Americans, I was exposed to the recorder in grade school. I didn’t much care for it, and the terrible traditional public domain songs we played like Hot Cross Buns made me not really care for music.

Later, in middle school, there was a choir class. At least one mandatory semester. Didn’t like that either. The Old Grey Goose Is Dead didn’t excite me, nor did any of the other old-timey hillbilly music that was public domain.

I didn’t really care for music until around 1991. Most of what I’d heard until then was terrible 1980’s pop or classic “phase 1” butt rock as this Overthinking It post describes it. None of that spoke to me.

It wasn’t until the grunge and alternative movement hit in 1991 that I heard music that I actually liked. Nirvana, Pearl Jam, Stone Temple Pilots, Red Hot Chili Peppers, Alice in Chains, Rage Against the Machine, and Ministry were in heavy play rotation on my cassette walkman. Some of them broke from overuse and had to be re-bought. I am a product my era.

Since I suddenly liked music, I decided to score a cheap pawnshop guitar (around my birthday in 1992). And, being an introvert living in pre-internet middle of nowhere with nothing much to do, I practiced A LOT. I didn’t really get good, but I sure got good at sucking loudly. And I could suck loudly FAST.

So, here’s my music creation history:

1993-1996 Demo tapes as various versions of “Fred” (Guitar, Bass)

This started out with recording onto a cassette deck as “Fred” and evolved into recording to a cheap 4-track cassette deck. I bought a cheap short-scale bass and a basic drum machine in 1994 and added those to the repertoire too. The name got longer with each recording. The progression went Fred -> Blue Fred -> Navy Blue Fred -> The Navy Blue MultiFred Sweater -> The Sub-Neo Navy Blue MultiFred Sweater. None of these recordings saw the light of day. That’s a good thing.

I stopped recording around 1997, though I still noodled around on the bass guitar quite a bit.

However, I have gone back to some of the style I had then. Something may see the light of day under the “Navy Blue Fred” moniker at some point in the future.

2000-2003, 2005-2006 Member of Dr. Kilpatient, Toledo, OH (Guitar, Bass, Synthesizer, Hand Drums, Studio Work)

I contributed to something like 11 or more albums. So many that I lose count. This also includes the New World Orderlies, which released 5 or more albums. A bunch of improvised live music and a bunch of composed, recorded songs made it onto recordings, some of which were unedited live shows, and some of which we spent many months recording and editing. Tomasz Kordowski was the lead genius of this band, and it was the most fun I’ve had making music. I alternated between calling the music “electronic jazz” and “funky industrial techno polka circus rock”. The lineup changed many times over the years, and my main instrument varied from bass to guitar synthesizer, to keyboards (briefly).

Other than a few badly-recorded VHS-quality clips of live shows and a few songs on my Bloodless Mushroom website, not many recordings survive online as far as I know. Certainly nothing on iTunes, Amazon, or Spotify. For the NWO stuff, getting permission from all the musicians involved to formally publish to paying channels would probably be tough since there were 8-20 people who contributed to each album.

1999-2012 Bloodless Mushroom Solo Project (Studio Work, Multi-Instrumental, Bass, Guitar, Synthesizer)

Bloodless Mushroom started as tracker music posted to MP3.com back when it was an indie music portal. Over the years it has waxed and waned as an experimentation platform for synthesizersand fractally-generated music fused with guitars, bass, and tracker-sequenced drums. I refer to it variously as “experimental electronic”, “ambient”, “classical” and “industrial”. It could probably just be called “soundtrack”.

The synthesizer use started with a Yamaha DJX home keyboard and then added a Yamaha TX81Z and Ensoniq ESQ-1, both of which were used throughout the project.

I worked on this in every spare moment I had from 2000-2002. Then I mostly shelved it until 2008 when I wrote some more music and released another album. It was still mostly shelved, with a remix album in 2012. I really don’t consider this “active” in 2004, 2006, 2007, and 2009-2014 other than the few days I worked on it in 2012. I was busy living during most of those years (college, cross-country moves, career change, etc) and didn’t have much time for music.

The five surviving albums from this era are available on all the various streaming and buying platforms — Spotify, Amazon, iTunes, CDBaby, etc. There’s some really interesting stuff in there. And some less interesting stuff.

2006 The White Russians, Columbus, OH (Bass)

This was something I did with a coworker at the time, Luke Kucalaba, and his cousin. We practiced a bunch and had some songs that sounded good (nearly enough for a live show), but I didn’t stick with it because it was classic rock covers, which I don’t really care for. If it’s not all original music, I get bored quickly. Great guys, though. I hope they’re still making music.

2008 The Untermensch Denial, Columbus, OH (Bass)

This one was a bit of a train wreck. It was an industrial band. The drummer was phenomenal. He combined an electronic and acoustic drum kit to great effect. The lead singer was really good. The guitarist was really good. It was really well-written, punchy original music. It could have gone somewhere.

We got our act together well enough to play one gig (on really poor booking terms) which nobody attended. Everything fell apart after that — the whole band was disheartened and life happened to everyone. The drummer moved to Florida. The singer discovered weed. Guitarist had medical issues (recurring problems from a motorcycle accident). I think I was the oldest and most boring person in the band (I had a real job and a house), so I was too uncool to hang out with. It all just kinda fizzled out.

2013-2014 The Freedom Drones, Portland, OR (Bass)

I was kind of the interloper in this project. I moved to Portland, where Tomasz from Dr. Kilpatient fame above lived. He already had something going with Mike Karras, another phenomenal performance artist. It was called “Too Big To Fail”, but another band had the name earlier and they had to change it. It changed to The Freedom Drones.

Practices were always a fun hassle of an ordeal. I was the only one without kids, but I lived as far away as you could live and be in the same metro area (25-mile commute to practice sessions, and since I was mostly working in startups at the time, I was usually tired of life on the weekends). Mike had a newborn, a demanding day job, and a successful improv comedy career, so it was hard for him to make time.

I performed once with them at an open mic night. They performed a couple times without me. Maybe this will be a thing again at some point, but it’s hard to get everyone together in the same room. There’s some brilliant songwriting that deserves to be heard, though. None of the brilliance is my fault.

2015-2017 Bloodless Mushroom, Beaverton, OR (Synthesizer, Guitar, Bass, and Production)

I got back into creating music as Bloodless Mushroom in a big way in 2015. Some of what was on the Marasmius album released that year started as unfinished tracks recorded in 2005. And some no-longer-unfinished tracks from 2005 will be on the upcoming Cymatella album. I also released Lichen (weird fractalesque chill-MIDI tunes) in 2016, Moss in 2017 (fractal classical), and Oreades in 2017 (ambient electronic).

I’ve been working on Cymatella since fall 2015, starting from some ideas that didn’t fit onto Marasmius. It’ll take as long as it takes.

There’s more that needs to be done. Moss and Oreades both have follow-up albums in the same style partially written. They’re tentatively titled “Gymnopus” and “Nothopanus”, respectively. I also want to use the names “Toadstools” and “Calyptella” for something, but I don’t know what yet.

The Future

In addition to the potential creations from Navy Blue Fred and Bloodless Mushroom mentioned above, there’s also a terrible death-punk metal project I’d like to release some music as. I do not know what the future holds, but I don’t doubt it’ll be weird.

I know I’ll never have a professional music career, but I do enjoy creating original music. Even better if it can be performed live.

Roland: Wrong But Persistent

This is an update to the unsubstantiated legal threat I received from Roland a few weeks ago.

My ISP, Linode, was reviewing the situation and still hadn’t come to a decision (I suspect they wrote to the email address of the sender and failed to receive a reply, as I did). However, today they received a DMCA takedown notice.

— BEGIN NOTICE —

Dear Sir/ Madam,

I, the undersigned, state the following:

1) I am the legal representative authorized to act on behalf of Roland Corporation, of certain exclusive intellectual property rights (“Roland Corporation”);

2) I attest, under penalty of perjury, that I have a good faith belief that

freewavesamples.com
http://freewavesamples.com/roland-d-20-kick
http://freewavesamples.com/roland-jd-990-pizzicato-strings-c4
http://freewavesamples.com/roland-d-20-snare
http://freewavesamples.com/roland-gr1-orchestra-hit-c5
http://freewavesamples.com/roland-gr1-trumpet-c5

use Roland Corporation’s intellectual property in the content without authorization. This use falsely suggests Roland Corporation’s sponsorship or endorsement of the website and violates Roland Corporation’s exclusive rights;

3) Roland Corporation represents that use of the material is not authorized by the copyright owner, its agent, or the law;

4) Based upon information at its disposal on freewavesamples.com, we believe that the statements in this notice are accurate and correctly describe the infringing nature and status of the Infringing Material;

5) I understand that, pursuant to 17 U.S.C. § 512(f), any person who knowingly materially misrepresents that material or activity is infringing may be liable for damages, including costs and attorneys’ fees.

The reasons that the domains named above must be suspended are as follows:

a) Offer(s) a counterfeit or otherwise unauthorized item for sale that violates the IP Owner’s trademarks and/or copyrights.
b) Misuses the IP Owner’s brand name, trademarks and/or copyright.
c) Uses a copyrighted image without authorization from the IP Owner.

The reported website(s), and by consequence the infringing content, is accessible globally, and is protected under the Berne Convention, the protection of which extends to 168 countries (full list here: http://www.wipo.int/treaties/en/ShowResults.jsp?lang=en&treaty_id=15).

We are providing you this letter of notification pursuant to the Digital Millennium Copyright Act 17 USC§512(c) to make you aware of material on its network or system that infringes the exclusive copyrights of Roland Corporation.

Attempts to resolve this issue with the Registrant have been unsuccessful. We seek your help in removing the infringing content. Please take reasonable and prompt steps to investigate and respond appropriately to this report of abuse commensurate to your commitment to addressing abuse as outlined in your terms of service and commensurate to your obligation under relevant law.

We may be contacted at the email address below.

Sincerely,

brandprotection@rolandipr.com

— END NOTICE —

I do not agree with Roland’s claims and do not believe they would win a court challenge.

This content on freewavesamples.com does *not* violate Roland’s copyright, nor Roland’s trademark. The trademark issue is explained in this earlier post. Here I address the copyright (Linode thought that was their concern, but to me that letter still reads as a trademark threat).

The samples posted on freewavesamples.com are not samples that were created by Roland. They are sounds that I played on and recorded from the Roland synthesizers that I own, recorded at a specific pitch (C in the best octave for the patch, usually), edited and denoised, normalized, etc. Some of them sound better than the original instrument (particularly in the case of some of the noisy 1980’s synths).

This is a very important difference.

In buying an instrument, you also buy the right to do whatever you like with recordings of sounds *from* that instrument. If this were not the case, every song recorded using a sound from a Roland synthesizer would be in violation and the music industry would fall apart.

This is why there is a thriving sample pack industry, with retailers selling CDs, DVDs, and downloads of samples from various synthesizers and drum machines. If you want all of the quality, flexibility, programmability, and versatility of the original instrument you buy the instrument. If you just want access to some of the preset sounds, you buy the sample pack. You don’t get much value from a sample pack, though – the presets are the least interesting part of an instrument, and using them in a song makes you sound unoriginal and uncreative. In addition, the pitch shifting involved in transposing a single-note sample to other pitches loses any articulation associated with that sound and introduces artifacts and aliasing that makes it sound less realistic the farther you go from the recorded pitch.

This is also true for other instruments. You can buy a guitar and get all of the flexibility that comes with owning an expressive instrument with hundreds of years of design history behind it. Or you can buy a sample CD with a few notes and sounds that you’ll be hard-pressed to make sound like a real, live version of the instrument on a recording.

If these were binary dumps of the actual samples in the synthesizer’s ROM, this *would* be in violation of Roland’s copyright, assuming the samples in that particular synthesizer are legitimately copyrighted. That has been a problem for emulator developers, such as the MT-32 emulation project. (references HERE, HERE, HERE, and HERE). I was aware of that case before ever starting the site, which is why I have not taken binary dumps of any samples. Interestingly enough, the MT-32’s samples were not copyrighted, and things turned out favorably for the emulator.

However, worrying about this stuff makes me tired. And at this point thinking about Roland fills me with disgust. I’m not sure I even want to mention them on my site, freely advertising and promoting their brand and increasing their name recognition when I get nothing for it (these are FREE downloads, for pete’s sake!).

For now I’m taking the mentioned Roland samples down and filing a counter-notice to their DMCA request. If they don’t respond in 14 days, which I doubt they will, then I may put them back up. If I can stomach it. I’ve also emailed the EFF to ask for their opinion since they were involved in the original MT-32 emulator case.

I have not taken ALL of the Roland samples down. Only the ones mentioned in their complaint. Based on the outcome of this dispute, I’ll either remove everything from Roland (there’s lots more), or keep them all up.

There is an update to this situation.

Free Wave Samples Is in Danger

Ten years ago I created freewavesamples.com because there was a shortage of free high-quality samples online. Specifically, the type of samples that would be useful for making music with samplers and trackers. I recorded sounds from my large collection of synthesizers (and some other instruments), a mix of preset patches and custom patches that I’ve created.

Now, after a decade of giving away samples without any issues, the site is under threat from Roland. A trademark threat of all things.

This is an unsolicited email I received:

— BEGIN MESSAGE —

To Whom It May Concern:

I am writing on behalf of the IP Department for Roland Corporation and its division regarding your infringement of Roland intellectual property rights. As I am sure you know, Roland Corporation is a leading manufacturer and distributor of electronic musical instruments, including keyboards and synthesizers, guitar products, electronic percussion, digital recording equipment, amplifiers, audio processors, and multimedia products. With more than 40 years of musical instrument development, Roland sets the standard in music technology for the world to follow. For more information, visit http://www.Roland.com/global/.

In connection to Roland Corporation’s proprietary rights over its famous trademark we are notifying you of the following:

Roland Corporation has recently learned that the trademark ROLAND appears as a metatag, keyword, visible or hidden text on the web site(s) located at the below listed URL(s) without having obtained prior written authorization from Roland Corporation. This practice infringes upon the exclusive intellectual property rights of Roland Corporation.

http://freewavesamples.com/roland-d-20-kick
http://freewavesamples.com/roland-jd-990-pizzicato-strings-c4
http://freewavesamples.com/roland-d-20-snare
http://freewavesamples.com/roland-gr1-orchestra-hit-c5
http://freewavesamples.com/roland-gr1-trumpet-c5

As a trademark owner, Roland Corporation is obligated to enforce its rights by taking action to ensure that others do not use its trademarks without permission. Unauthorized use of the trademark(s) could create a likelihood of confusion with Roland Corporation’s trademark as to the source, sponsorship, affiliation, or endorsement of your web site(s), online location(s), products or services.

In light of the above, we request that you respond to this e-mail within ten (10) days, informing us whether you have obtained rights from Roland Corporation to use the trademark(s). If so, please provide us with details as to who granted you such rights and when. If not, please remove all metatags, keywords, visible or hidden texts including trademark(s) presently appearing on the above-cited web site(s) and any other web site(s), or draw this issue to the attention of the appropriate person(s).

Thank you in advance for your anticipated cooperation in this matter.

Sincerely,

Roland Corporation
brandprotection@rolandipr.com

— END MESSAGE —

This looks like the type of message that is generated by an automated IP enforcement bot — the kind of thing that crawls the web and automatically bothers people when it sees certain keywords. I sincerely doubt that a Human was involved in sending it at all.

Here’s why their claims are not valid:

1. There is no possibility of brand confusion because the mentions of Roland on the site are NOT a competing product. It’s THEM that I’m talking about when I use the word Roland. These are samples recorded from my Roland synthesizers and I have every right to say where they came from. That is Fair Use.
2. They are using an overly broad interpretation of trademark.
3. There are no products for sale on the site.
4. You don’t get to decide what keywords someone uses in their meta tags. That’s not covered by trademark, and it’s pointless to even care since search engines don’t even use keyword meta tags anymore.
5. If this was a problem, Roland should have objected long ago. As this capture from The Wayback Machine on May 5, 2007 shows, I’ve been offering Roland samples for more than ten years (including the JD-990 sample that is in their list of URLs). It has been a popular site for a long time, and I believe it was in 2008 that it first cracked the Alexa Top Million (it’s been the 200-250k range in recent months).

In any case, I replied to their email explaining that their claims were not valid in this case. Heard nothing back. Received the same email again a week later. Replied with the same answer. Heard nothing back.

A week or so later, my ISP notified me that it received the same email and said that I needed to remove the content or my server would be “limited”. I contested it and I’m still waiting to hear back from their “trust and safety” department. One thing I will definitely give Linode — their customer service is quite good, and they look into things rather than making unilateral decisions. I experienced this firsthand a few years back when a malware scanner came up with some false positives for some apps I had posted on the Zeta Centauri website.

One of six things will probably happen here:

1. A real Human at Roland will look at this and realize it’s silly and drop it.
2. I’ll end up removing the Roland content from the site under duress, even though they have no right to force me to not mention them. And, of course, I’ll replace it with a very unflattering note explaining why it was removed.
3. I’ll change ISPs. This is unlikely because the same thing will probably just happen again.
4. I’ll shut down the site. This isn’t too likely, but it is possible. It’s does require time and energy to maintain, and even though it gets a lot of traffic, the Google ads on the site earn only slightly more than the hosting costs. Enough to buy an inexpensive synth once a year (and then record more samples from it).
5. I’ll fight it in court and win. This isn’t too likely because it’s not worth the time, money, and energy. If I were earning a living from the site, that might be a different story (this is just a hobby, not a company). But, I also hate bullying, so it might be worth the fight, especially since trademark bullies are some of the worst kind of bullies.

I’ve spent a LOT of money on Roland audio equipment over the last 20 years (probably $20k total). Result #1 is the only thing that will keep me buying and using Roland gear.

If you’d like to keep freewavesamples.com online, please contact Roland and let them know they should leave me alone.

And for the love of all that is good, please don’t use (or let your company use) shoddy shotgun-blast-approach automated IP protection bots. A number of companies sell them, and none of them are very good. Down with Barratry bots.

There is an Update to this situation.

Having a Career Again

For the last five years, since moving to Portland, I’ve been obsessed with building a viable startup.

During that time, I was either working on my own startup as a founder (or cofounder), or working a regular job just long enough to get the money to try again with another startup. None of those four startups made it (one came close). In the process, I established a pattern of not sticking around long at any place I didn’t create.

Now that I’m over the startup founder bug, it’s time to go back to having a career.

Right now I have two problems to solve:

1) What’s the best entry point?

My last pre-startup-obsession jobs were “Senior Software Engineer” and “Engineering Manager”. I also have the skills to be a Software Architect, DevOps Engineer, System Administrator, CTO, Director of Engineering, Project Manger, or Product Manager. But with the exception of CTO, I haven’t done any of them exclusively over the last few years.

So far I’ve been applying to anything that looks interesting – anything I could see myself doing well for a while and enjoying. That list is pretty broad.

2) What place(s) won’t be too concerned with the lack of consistency over the past few years?

I imagine this is probably one of two types of place – one where the person doing the hiring has also been a startup founder, or something that is contract-to-hire.

I don’t really know how HR people think, but I need to find a good way to convey that yes, I did have a disease that causes flakiness, but I’m cured and would like to find something to stick with for a while.

And for the sake of all that is good, please no pre-revenue startups. I’ve eaten enough of that sandwich.

As an INTJ “Mastermind” type, the times when I’ve enjoyed working the most are when I’ve become a broad subject matter expert with an answer to just about any question and the power to create solutions that make user/coworker lives better. That only happens after being somewhere a while and getting to know all of the systems thoroughly. Promotions and raises are pretty enjoyable too.

I’m not sure where I’ll end up next, but finding the next thing is probably just a numbers game.

Old Basternae Blog Posts Imported

I ran a blog for about seven years at basternae.org. It was almost entirely about Basternae MUD and the evolution of the ModernMUD codebase, but also included a lot of general programming-related entries. I’ve imported all of the previous posts from that blog for the sake of preserving history, though many of them will no longer be relevant. Even so, there may be information that is helpful for people who want to make use of the ModernMUD code to build their own multi-user dungeon.

Quora Answer: How would you find the websites to build a search index from scratch?

I originally wrote this as an answer to a question on Quora.

It depends on the scale.

If you just want to experiment with web crawling and build a basic search index, it’s common to start with the Alexa top million websites, which can be downloaded in a CSV file via S3 at: http://s3.amazonaws.com/alexa-static/top-1m.csv.zip

The top million changes daily, and includes a lot of spam and porn. It’s easy to game the system to get into the bottom 500k, so you’ll need to decide what to include and how to weight it.

The DMOZ website dump used to be a good starting point. They shut down on March 17th, 2017, so that’s no longer really an option. It left a lot out, but contained about 4 million URLs with most of the low-quality sites filtered out. There may be a mirror that data somewhere (heck, I’d like to download their last URL dump if it’s available anywhere).

Real search engines have agreements in the place with the top-level registrars that let them get a zone file dump listing all registered domains. This involves jumping through some hoops and filling out some forms, and each registrar needs to be dealt with separately. Getting access to .social is completely separate from getting access to .net.

Since it takes a LOT of work to get access to all TLD domain files, a commercial service like Domains Index is probably your best bet if you want to do anything on a large scale. I’ve bought from them before and it’s a good service. They don’t have absolutely everything, but 200 million domains is far better than the 1 million you get from Alexa.