Thursday, September 15, 2022

How to Push to a Git Repo Made with an SSH Key from a Repo Started with a Password

Ever start a git repo using a password, then later upgrade to an ssh key?  And then find out you can't push to it, no matter how hard you try?  Even when you're sure that all of your ssh keys are set up correctly?  

This might have happened to you in the last few years because both github and bitbucket require ssh keys!  But some of have repos we started long before that with passwords.  

I was finally able to push my work to the repo!  

I was realllly stuck.... and getting nervous because I couldn't push my changes...but fortunately I learned about having multiple remotes at work...
And remembered a detail about git from a previous job...

Basically: If you check out a repo with one method, e.g. password, you can't push to that URL with a different method, e.g. ssh key!  Knowing that I was still kinda screwed with my password-method checkout ... 
 
Until I attempted to add a second remote to it!  the second remote was an ssh-key-based URL...
and then all I had to do was:

git add remote sshrem <blag long URL here.git>       # note that sshrem is just a local temp name
git push sshrem

That's it!  it pushed right up!     Now with that behind me, I am back in business developing new sounds for my musical instrument, the Brooklyn Eel!!
 
BTW, here's a super useful command for showing the remotes in detail:
 
git remote -v

Monday, August 15, 2022

Daniel Wintergatan is a Genius even on his non-marble machine instruments!

 Before Wintergatan, remember Daniel also made this amazing instrument, the Modulin.   Not only a great instrument but a great performance!  https://youtu.be/QaW5K85UDR0




Monday, June 27, 2022

Make Arduino More Tolerable to Professional Firmware Engineers: arduino --upload keybd_screen.ino

Are you an at least somewhat experienced programmer?

Ever wish you could use a REAL CODE EDITOR instead of the crappy one built into the Arduino IDE?

 

I just found out something pretty nice:

$ arduino --upload keybd_screen.ino

 (replace keybd_screen with name of your arduino project)


$ arduino --upload keybd_screen.ino 

 

 What does that do? From the command line it compiles and uploads your sketch!  Why is this so awesome? Because!!! 

 

Fire up your own editor like Sublime, emacs, etc., and then compile your code from the cmd line without that stoooopid IDE!!!!! Ciao Bella!

Wednesday, July 22, 2020

Robert Greene on the Crisis Generation

Recommended listening! Viewing our present society's conditions as part of a cyclical progression of natural, psychological changes. With large influence from Machiavelli.


Thursday, April 16, 2020

How to Know When a New Instrument Design is Complete

Reviewing the Pyramid Eel and reflecting on other instruments, I set my foot down in the sand and label the first Pyramid Eel "done." Watch the video to hear the full details!



Monday, April 6, 2020

Adding Sensitivity and Expression Using Optical Encoders on Electric Eel Generators

I recently upgrade the generators on my Electric Eel instruments to include optical encoders.  Check out this video to see how it works.


This means I'll be able to measure the speed and acceleration of the bow, leading to much more sensitive and expressive instruments.  I've been wanting to do this for YEARS and now it's finally happening...   

Over the years of playing my generator-based Electric Eel instruments, I have been enjoying how pushing them hard increases the sound volume.  It makes for sound so much more expressive than even my best MIDI keyboards with aftertouch.  It's slowly becoming apparent to me, though, that if I had a better idea how fast the player is pushing/sliding/bowing the generator, the sound could be even more sensitive and expressive.

Early on, I tried to do this by measuring the voltage on the temporary capacitors.   That approach works a little bit, but it doesn't change fast enough and different sound outputs consume the voltage at different rates, so it's way too entangled with the output sound, rather, than focused on what the player is doing.  Therefore, I decided to go WHOLE HOG and use an optical encoder.

This wasn't an easy decision.  These are more expensive and the algorithms get much more complex.  However, I am working again and don't have children (my instruments are my children!), so I went for it.  And actually I had a nice surprise---- over the last ten years, prices have come waaaaay down for these parts.  What used to cost about $300, can now be for only $40.  Yes, it's hard to believe.  It must be through the mass quantities of these parts that get used in factories.  Anyway, I picked up two of them and I've been wiring them up and writing code for them.  Soon I'll be putting them right into the instruments.  I can't wait.  It's going to be a whole new era.  In the meantime, please my newest video so you can share some the excitement that I'm going through!

Wednesday, September 4, 2019

Can all these analog synthesizer knob PCBs be soldered in just one hour?

Enjoy the time-lapse vid and 80s synth-shread montage music and find out

New Synth Knob Multiplexer - 64 Analogs in one! Part 3

So you know I'm exactly halfway in the middle of my 64-in-1 analog knob multiplexer project, right? To keep it exciting, I did a "Soldering Challenge." Enjoy the time-lapse video!

My bigger goal is to demonstrate all 64 knobs at once, but that's so many circuit boards... and I just got back from a sublimely relaxing vacation... so I decided to challenge myself to build them all in one hour. If I succeeded, I motivated myself with a relaxing swim at Walden Pond.

Tuesday, July 30, 2019

New Synth Knob Multiplexer - 64 Analogs in one! Part 3

You've seen it run with 5 synthesizer knobs, but now the stakes are higher!  I'm going to daisy-chain three of my circuit boards together.  Then I'm going to run them at top speed.


And if that wasn't enough, I've been preparing a special treat, so watch through the second half of the video :)


Tuesday, July 16, 2019

All Things Bright And Beautiful Video-Multitracked on 3 Electric Eels


I recorded the gorgeous, classic hymn "All Things Bright and Beautiful" on three different Electric Eels! Lowest two parts are played on Bowed Eel. Violin 2 is played on Blue Guitar Eel. Violin 1 is played on Red Saxophone Eel.





I really enjoy the sounds of harmony and I'm looking for more players to make these recordings with on Electric Eels or other DIY/DSP instruments.

Electric Eels return the nuance of movement to electronic instruments. I free synthesizers from the desktop/laptop paradigm. I make them more like acoustic instruments. They use no batteries, only the energy generated by player movement backdriving stepper motors. So you can take them anywhere and play all night. You don't have to recharge them or wait for their software to upgrade. They do not connect to a cell phone I developed them while at the MIT Media Lab in the Computing Culture research group. 

First part was recorded into my phone and an iPad. Subsequent parts recorded into phone while listening on iPad through headphones. Four parts were synced up with an inexpensive, buggy video editor. Recording took place over a six hour period on Saturday, July 13th. Cathartic language has been deleted.

My inspiration was that I loved the sounds of electronic timbres, but hated standing still at a laptop or MIDI sequencer. So I made instruments that require you to move to make electronic sound, just like acoustic ones... but I didn't "fake" it with sensors. The Electric Eels have small electrical generators in them that require you to move to generate that electricity to run the synthesizer and CPU in short bursts.

Friday, June 28, 2019

New Synth Knob Multiplexer - 64 Analogs in one! Part 1


New! Fresh in the mail. A circuit board I designed. Check out the edgy and powerful design!



It muxes 64 analog signals, especially synthesizer knobs, into 1. It lets you read a wholllle lot of knobs with just a few pins. 

You can use three pins from an Arduino or other microcontroller and read all 64 daisy-chain knobs!

You need this board to make professional synthesizers with lots of knobs.

Tuesday, January 29, 2019

Digital Music Culture

I know it's been a while, but I want to share influences on my design practice:

Harpejjis
https://i.ytimg.com/vi/Wr87Z7rZiWE/maxresdefault.jpg

https://i.ytimg.com/vi/pv0q6oBmZxo/maxresdefault.jpg
https://www.marcodi.com/collections/standard-series
https://www.brainpickings.org/2019/01/24/nick-cave-music-ai/?fbclid=IwAR2HG-qRYRW1Ocj_CpoP_ifJredDTQYTh_wIzctdIVBd_FmuHZHkV500pC8
https://makezine.com/2019/01/21/patent-pandas-how-one-maker-is-turning-her-horrible-experience-into-a-force-for-good/

Tommy Guerrero
https://www.youtube.com/watch?v=N0LZ20ppkNo

Bobby Lane
https://www.youtube.com/watch?v=ukHvn7pLYjk


https://www.keyboardmag.com/miscellaneous/marcodi-harpejji-g16

IMGUI!!!
https://github.com/germangb/imgui-ext

https://www.amazon.com/Glass-Gem-Corn-Heirloom-PowerGrow/dp/B00SCFOJ2K


Tuesday, September 27, 2016

Building compling installing linuxcnc on Ubuntu Studio 16

I want to share with you how to build linuxcnc on Ubuntu Studio 16.

Why is this so important?

I want an open toolchain, so I'm working with linuxcnc and freecad.

It's tough to install both on the same machine at that bleeding intersection since 1. linuxcnc lags Debian releases somewhat and 2. linuxcnc requires realtime kernel, while 3. freecad is a new project in explosive development (with no expectation of supporting older Debian releases presumeably?).  At the moment, freecad-daily is non-trivial to run on the current 2.7-linuxcnc install iso.  They're off by one Debian release. 

Hypthesis: Ubuntu 16 Studio to the rescue!

My hypothesis is to run freecad and linuxcnc under Ubuntu 16 Studio to leverage the realtime kernel.  Anyone out there doing this btw?

Here are my steps to compile linuxcnc on Ubuntu16 Studio.  Linuxcnc runs all 100+ unit tests with no warnings or errors and 'linuxcnc' from the command line starts the program.  I have not (yet!) configured a machine or calibrated the servo threads.

Future attempts to run freecad-daily there may be made.


 1162  git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-dev
 1164  cd linuxcnc-dev/
 1166  cd src
 1174  sudo apt install libmodbus-dev
 1176  sudo apt install libusb-1.0-0-dev
 1182  sudo apt install libglib2.0-dev
 1184  sudo apt install libgtk2.0-dev
 1186  sudo apt install bwidget
 1188  sudo apt install libtk-img
 1190  sudo apt install tclx
 1196  sudo apt install libreadline-dev
 1199  sudo apt install tcl8.6-dev
 1201  sudo apt install tk8.6-dev
 1204  sudo apt install libboost-python-dev
 1208  sudo apt install libxmu-dev
 1209  ./configure --with-realtime=uspace --enable-non-distributable=yes
 1210  make
 1211  sudo make setuid
 1212  source ../scripts/rip-environment
 1213  runtests
 1214  linuxcnc

Links


* http://linuxcnc.org/
* http://wiki.linuxcnc.org/cgi-bin/wiki.pl?LinuxCNCKnowledgeBase
* http://noahvawter.blogspot.com/2016/09/building-compling-installing-linuxcnc.html
* https://github.com/LinuxCNC/linuxcnc
* http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Installing_EMC2
* http://linuxcnc.org/docs/devel/html/code/building-linuxcnc.html

Wednesday, June 10, 2015

Findings

FSLPs are amazing, but not very available:
There is at least a 4 inch available:  https://www.pololu.com/product/2730

Gratitude Journal:  http://www.diydsp.com/index.php?title=Inspiration/Motivation


Here is that delicious coffee:   https://nmpinoncoffee.com/product/12-oz-pinon-coffee-4/
Now that I know where to get more, I can open my last bag! MMmmm

My airport express will likely not work with the iPad Air, cranky: http://forums.macrumors.com/threads/1st-gen-airport-express-trouble.1553619/

I can potentially sell my airport express for $10-20: http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR11.TRC1.A0.H0.XA1084.TRS0&_nkw=A1084&_sacat=0




Monday, October 27, 2014

Activities of the Evening

Bass Sticks

The good news is I finished the Music-Optimized Breakout Board I started at Framingham Makerspace last Wednesday.  All I had to do was add two headers, a diode, regulator and crystal to each of the 3 boards.

Then I was able to test-boot each one.  All three came up the first time!  I haven't run further diags yet, but it's worth soldering on the rest of the headers so I can do so.


Sunday, October 26, 2014

Activities of the Week

The last week was very busy...

Bass Sticks
I was especially delighted to do some work in the Framingham Maker Space again!

Soldering New Boards
I soldered down most of the SMD components on a round of Music-Optimized Breakout Boards.

Mounting New Sensors
A few nights before that, I mounted the 4 new sensors that arrived for the bass stick (see Caught a Cold ).

Determining Optimum Resistor
Before making permanent mounting boards for the sensors, I needed to determine the optimum resistor to pair each one with.  I made a test jig for doing that and verified it work along with a Matlab script to plot and analyze the recorded signal and detect the resistance that produces the highest signal-to-noise ratio.  From what I've seen so far, it's between 35 and 40 dB.  Next step is to make this measurement official, buy some resistors and make a permanent board. 

Electric Eels

A Duet
Back at the MIT Maker Faire a few weeks ago I played an amazing duet with one of the organizers.  She was on fiddle and skillfully improvised a 2nd part to my lead on the classic hymn Silent Night.   By a nice bystander, it was recorded.  I was actually very shocked and surprised to play - caught off guard hearing a second note sounding after rehearsing it alone so many times - and what's more, the player's rhythm danced around the main line like a dancer whirling a beginner around on the floor.

By the second verse we played, we started to hit it off musically a little more and I was able to hear some of her stylistic expression and accompany them, pausing between phrases and accelerating the tempo in the middle of them.  I would love to do more like this:  This was the whole entire point of making these instruments - to play live electronic music along with others! 

A Tuning Correction
Also during that duet, the violinist showed me the tuning was slight incorrect for the Electric Eels - about 20 cents or 1/5 of a semitone. This surprised me since the math in the software had been carefully conceived accurate, but it was true nonetheless.

So I also spent a few minutes this evening, discovered the cause and fixed it.  This required digging out my old black MacBook to edit the software and upload it.  I made an attempt to start a repo on BitBucket with it, but the commands I tried didn't work.  That was probably because it appeared to have already been a git repo?!  I'm not sure how that happened, I'll have to look deeper into that.

Despite the confusion with the source control, it was very nostalgic to edit the old code again.  By the way: to fixi it was a simple matter of changing the number '90' to '89' in the initialization...

Speaker Grille

Also, if you remember back to last week, I made a new, wooden speaker grille for the Red Electric Eel at the Framingham Makerspace.  I sanded the edges of that grille to fit better inside the instrument this evening.  With the edges sanded, it fits nicely, a tight fit.  This will protect the speaker from unusual foreign substances I have discovered inside there, like popcorn, both stryofoam and the kind made from corn kernels.


I Broke a Wire!
During all of these Electric Eel operations, I managed to break a wire on the keyboard.  That took a few minutes to fix, but the news here is that the terminal on the keyboard switch itself had worn itself off!  I guess the light brass-like material gets brittle with vibration over time.   I'm not surprised, this keyboard didn't have sufficient strain relief like most of the others built after it.  At some point, I'll overhaul the whole thing, but it will hold for now, through the Christmas season.

Magnetic Field and Inductance
I also spent a lot of time reviewing material on fields and inductance. Each time I go back to this topic, I get a little more of an intuitive picture of how it all works.  I hope some day to understand it fully!  Or at least enough to make highly efficient generators, motors and speakers. 

General
Speaking of the Christmas seasons, today Tanya bought a set of 10 mini Christmas Carol books with lyrics and sheet music.  I'm delighted we'll go caroling with friends! 





Wednesday, October 15, 2014

Activities of the Evening

Well after the guest lecture I gave yesterday evening to students at UCLA on "Sound, Audio and Music in Media and Video Games," I was very tired, so I didn't really get much done on music instruments:

I updated the mechanical drawing for Bass Stick a little bit on the battery holder. 

I also started to saw the wood for a speaker grille for the Red Electric Eel, but it was making a lot of noise late at night and I didn't want to disturb my neighbors. 

All in all I went to sleep early...  and while it was not very restful, it at least produced some interesting dreams which I attempted to interpret.  My girlfriend Tanya had a very different interpretation of them, so that was something fun for us to talk about.

Then onto this evening!  It was the second Open House night at the Framingham Maker Space!  So I brought my saw, wood, clamp and drill to complete the Red Electric Eel Speaker Grille. 

It went extremely well!  The huge open space was perfect and I got it done.  It was also nice to have a shop-vac available for clean-up.  That's one solid advantage to working at my own apartment!

It was especially interesting, because I knew something was off in the coping saw I had just bought, but I couldn't put my finger on it....  Luckily, one of the other people there that night, Dave Pogue, brother of Core Member Dan Pogue, pointed out that the saw had arrived with the blade backwards.  Yes!  That's why it was working so poorly!  So he and I figured out how to reverse the blade and I sawed through the wood in record time :)  yay!

That's the benefit of working in a co-working space!

I also remember just how informative it can be to show people how the Electric Eels worked.  I spent about 10-20 minutes discussing the various aspects of the musical instrument to Dan and Dave, bright people who listened intently, interrupting only when they burned with curiosity to ask a question.

On the way home, my old friend Kristiaan Vaarnik called me!  He's a mysterious figure who's been out to see me perform several times in the Boston area, back almost 10-12 years ago!  I assume we first met through the underground scene around Hrvatski, but who knows!  Anyway, it was brilliant to talk to him again about his new ideas for an instrument and I was especially surprised to learn that he is the mastermind behind the ShapeChangingInstruments blog!  Yes, I've been reading it for about a year now and I'm delighted to find out he runs it!  Check it out if you get a chance, especially his concept for a "Modular Acoustic Instrument."

So after doing all that, I went through my first little tutorial on the Rust programming language.  It certainly starts you off very underwhelmingly.  I found a few issues:
  1. The Rust installer doesn't actually install the package manager "cargo" as it says it does when you install under windows (yes, I know, why windows?  cuz, I need to run lots of Windows apps to do electrical engineering, so I keep a cheap Win 7 laptop)
  2. The cargo package manager doesn't tolerate whitespace in its table names.  Seriously?  Why not!  Geez and it essentially silently fails.  That's pretty weak, b/c whitespace seriously helps keep code organized and readable... so I hope that changes
  3. Man what a boring tutorial.  Ok, sure the first step is Hello World, that's good.  The second step is the package manager, ok I like it.  But the third step: make a program that uses a variable and string interpolation but never even compiles?  Come on!  That's pretty drab.  I know, I know, again it's up to *me* to do something interesting with it... so I guess I'll let it slide.  Still, if they want to get more beginners, like my Mom and girlfriend, programming, they'll probably do better to have some interesting examples.  Gosh!

Monday, October 13, 2014

Activities of the evening

It was a short night due to working late, but I managed to get some progress on the Bass Stick:

I drilled four slits into the top of a cigar box for the new pressure pads.  It was scary doing this because the surface was otherwise so pristine, so seeing even small gouges on it looks violent, but it's really just part of the creative process.  They will be smoothed and finished and ultimately, these holes have an important purpose:  That's how the pressure pads connect to the rest of the instrument!

The pressure pads themselves are larger than the old ones.  I found the old ones, when playing, became tricky to focus on.  People often missed the tiny target spot in their centerthat produced the sound.  One the new pads, the target patch for making a sound should be much larger!

Also, I'm choosing four pads instead of the older instruments which had two.  Why?  For flexibility and more sonic diversity.  For example, I can dedicate one pad for major chords/sounds, one for minor, one for a single note lead, and one for a background pad.  Do people really need all those options?  Does it take away from the simplicity?  We'll see in play-testing, but I believe it will lead to a greater diversity of sound, which is part of what electronic music is all about!

I also temporarily mounted the pressure pads using scotch tape.  This allows me to re-position them to match their locations to players' fingertips.  Once I complete the electronics and software tasks that make these new pressure pads work, I'll be able to play the instrument and fine-tube the pads' locations.

Also, I decided to exchange some late night time-wasting for going through the tutorials for that new computer programming language called Rust.  My first step was to install Rust on my windows laptop.  I verified the compiler executes from my Cygwin shell and then went to sleep.  Tutorials can now begin immediately!  I'm excited to learn Rust because it's a logical next step from programming in C/C++ for people like me who want to go in the direction of high-performance without going in the direction of huge, clunky APIs and run times (Java, Python).

Sunday, October 12, 2014

Caught a cold...

I caught a cold... so... I rested in bed all weekend.  I had a few little bursts of energy, so I worked on:

The layout of the One-Bit Groovebox a little bit ... 

I also managed to get the battery holder clamps for Bass Stick #06 bolted in place! 

The new pressure sensors for for Bass Sticks arrived (1" diameter!)

I worked on a protocol for HeartWare.

But other than that, I've been taking it reeeeal easy, drinking hot tea and many, many cans of chicken soup :) 

Look out for when I feel better, world!

Thursday, October 9, 2014

Activities of the Evening

Bass Stick
  • drilled countersunk holes for battery holder in Bass Stick SN06
    • switch to 4-40 x1 1/2" countersunk bolts
    • stained holes dark
    • darkened holes on front

Electric Eel
  • practiced Christmas carols
  • discovered large amount of packing popcorn - and one kernel of popped corn! -inside body of Electric Eel
    • proposed to replace packing popcorn with a 1/8" wooden screen to protect speaker cone from damage
    • set aside large drill bit and wood material for this purpose
  • Gathered electromechanical data on 4" woofers from parts-express
    • https://drive.google.com/folderview?id=0B27wuPBwl_tbWG1aVmtydHN1eTg&usp=sharing

Contributions to World Health
  • Produced first ten slides in "Low-Glycemic Foods" presentation
    • G:\Dropbox\Research\Low Glycemic Food

 Skills
  • Learned to use Scraper under Chrome 
    • http://mnmldave.github.io/scraper/
    • http://api.jquery.com/category/selectors/
    • http://www.w3schools.com/xpath/xpath_syntax.asp
  • Learned to manipulate spreadsheets from Google App Script:
    •  Found great book on the topic: https://leanpub.com/googlespreadsheetprogramming
  • Learned to use  d3 "force layout" object
    • http://synthshopping.com/fun/molecule/molecule.html
    • https://github.com/mbostock/d3/wiki/Force-Layout
    • http://nyquist212.wordpress.com/2014/03/11/simple-d3-js-force-layout-example-in-less-than-100-lines-of-code/

Discoveries
  •  http://leanpub.com - could write books on topics:
    • Electric Eels
    • Bass Stick
    • DSP Programming
    • One-Bit Groovebox
    • One-Bit Drum Machine

Podcasts
  • Shrink Rap radio, Exploring Mindful Dreaming with Rubin Naimain
    •  http://www.drnaiman.com/