I utilize audio sample playback in a few ways in my Soundb0ard application - I have one shot sample playback, and I have a Looper which uses a form of granular synthesis to time stretch.
Sample files are stored in PCM Wav files which have a header, followed by the audio data stored in an array of numbers, one per sample. Normal playback entails playing those samples back at sample rate at which it was recorded, e.g. 44,100 samples per second.
In order to pitch shift a sample playback, i.e. slow it down or speed it up, you have a few options. You can think of pitch shifting as resampling, e.g. to play a sample back at twice the speed, you could resample at half the original sample rate, i.e. remove half the samples, and then playback the resampled audio at the original sample rate; or to slow down playback to half-speed, you could play every sample twice.
However, what happens if you want a fractional pitch, such as 1.1 x original speed or 0.8? The naive way, which I’ve been using up till now, was to progress through the array at the fractional speed, i.e. instead of moving through the array 1 sample at a time, I would maintain a float read_idx, that would increment at the sample ratio, e.g. 1.1 x and then calculate the playback value as a linear interpolation between the two closest points in the audio data array. This works ok for some ratios, but some can sound a bit too gnarly.
"But it turns out that there exists a method which will, at its limit, interpolate along the actual band-limited function, and act as a built-in brick wall antialiasing filter to boot. This method is windowed sinc interpolation."
Windowed Sinc Interpolation relies on this Sinc Function:
"you can use sinc to exactly reconstruct this continuous signal from your digital samples."
The links on this page can explain the math better, but basically in order to convert the frequency / sample rate, you walk through your original samples as the new sample rate and apply this sinc operation over a window of neighboring samples before and after your current sample, applying and summing the result of the sinc function.
From the Sean Luke book above, i converted this algorithm into code:
My first implementation didn’t work. The pitched signal was recognisable but was amped too high and sounded a lil janky. I think I mixed up some indexes with the value they should be representing.
I implemented this in C++, and the code was clearer to read. After applying the repitch my signal was still clean but no matter what pitch ratio I used, my return signal was always double the original pitch. I must have made a calculation wrong. Possibly to do with handling stereo values.
Lazily I turned to Google Gemini…
> can you give me some example c++ code that will change the frequency of an array of samples using sinc ?
..
<boom>>
> can you expand that example to handle a stereo signal?
<boom>>
> using an interleaved stereo signal, please
<boom>>
> can you improve the algorithm using a hann window?
<boom>>
Ok, quite impressed. I dropped the code into my Looper, and it worked great.
Heres the before, with linear playback:
Heres the after using windowed sinc.
I think it sounds cleaner and better, so i think the implementation works? I’ll play with it a while and see if I prefer it. Here’s the current code:
Job done?
No, there are some performance trade-offs.
I initially implemented it for the granular playback system, which meant only dealing with small arrays of data. However this meant I was doing redundant work, recalculating the same values upon each loop.
I moved the window sinc operation to be run once when you call the RePitch function. This becomes a performance bottleneck as those samples can be large arrays, and you dont want this being run on your audio thread as if it takes too long to run, you’ll experience audio drop outs. I looked to a newer feature of C++ to run the repitch algorithm, using std::async from <future>.
I was revisiting the Don Melton episode of Internet History podcast and heard them mention ‘Code Rush’ - I kinda vaguely remember watching this years ago, but quite nutty to revisit now. It’s such a crazy time-capsule, covering the tail end of the Browser wars, as Netscape rush to meet their own deadline to release the source code of Netscape Communicator, and the formation of Mozilla.org.
Found this vid via a recent JWZ blogpost - super good wee 30 min documentary about the sound design behind Wipeout 2097, a game that came out with the european release of the PlayStation in 1996, done by UK game design studio Psygnosis. And graphic design by Designers Republic! I didn’t know they had worked on games (they’re very well known in music circles for many Warp records covers) - Awesome!
I’ve digging into some retro computing archives recently, while working on Terminal Punk.
Found this awesome 6 part UK documentary from 1979 - very british, very quirky, slightly patronizing and sexist, and featuring the preserved brain of Charles Babbage!
We've been working with Surfrider Foundation and Great Highway Park to put together an upcoming event called Stokefest. Happening on the Great Highway, at Judah, on November 11th!
We'll have a table and and a new issue of B0ardside, issue 7!
This is an awesome documentary by local fella, Pete Koff, which I had the pleasure of seeing last year at a local showing at the Great Highway Gallery. Pete has contributed a great wee story about skating in Pacifica in the 80s, for our upcoming issue #5 of the B0ardside (mark yer calendar - next backyard show will be June 17th - will have art installation by Anthony R Grant, and music by Neutrals and Shatter Pattern - more details to come!)
Pierre is a local neighborhood character, who cycles past my door almost daily. He has amazingly rich history as chronicled here!
The sky above the Bay Area was filled with orange ash and smoke which came from the Bear Fire burning near Oroville, 150 miles northeast of San Francisco.
This is a recording of Kei Terauchi’s composition she contributed to the first issue of the B0arside zine:
The text which accompanies it:
This piece portrays an experience one might have wandering the Outer Sunset neighborhood from dusk till dawn. The story is extremely simple. It’s nightfall. The protagonist walks and revels in the moonlight and music until the sun rises.
Compositionally, the piece is a pastiche of references from my own musical memory. I’m always curious about sounds in my head and the distortions the memory plays. I will go over these references to unfold my compositional process and, hopefully, to offer nuggets of music geekdom.
The piece opens with “Tempest’s theme.” The first four notes of the melody [A - F - E - D] come verbatimly from the main melody of Beethoven’s piano sonata Op. 31 No. 2 Mvt. III. The sonata is nicknamed “The Tempest,” and, thus, determines the identity of the protagonist of my piece. So, here she is. Tempest wanders into the night in the Outer Sunset. Although the accompanying chords and the melody following are far from Beethoven’s original, this is a note-for-note musical reference.
Tempest’s theme shows fluidity in tonality and rhythm. The first two measures assert we are in D major/minor, then quickly pivot to G major/minor. We also get a glimpse of the rhythmic bend with the triplet sixteenth notes in m. 3 that foreshadow more rhythmic variations to come.
Tempest confronts the moonlight in the next section (m. 5-8). Ostinatos (repeated right hand chords) in groups of 7s, 8s and 9s pay homage to Debussy’s classic piano work, “Claire de Lune.” In this French composer’s celebrated work, the section that starts on m. 15 is one of the most breathtaking; sustained low Eb octaves are followed by shimmering chords that outline [F - Eb- Eb- Eb- Db- Db - Db - C - C- C- Db - Bb] while defying rhythmic restriction. As for our Tempest in the Outer Sunset lit by the Lune, the octaves that outline the right hand chords loosely trace the chorus of Daft Punk’s song “Get Lucky.” Though unsung, the lyrics here, “She’s up all night ’til the sun/ I’m up all night to get some/ She’s up all night for good fun/ I’m up all night to get lucky,” overlay with the light of Debussy’s moon. Tempest may have encountered a group of dancers at Ocean Beach.
The arpeggios in m. 9-11 harken to the bridge in the same song by Daft Punk, “We’ve come too far to give up who we are/ So let’s raise the bar and our cups to the stars,” and feature diminished 7ths, already familiar to us as they made an appearance in Tempest’s theme (m. 3, beats 3 & 4).
Returning to our protagonist’s theme from m. 12, we see that she has now gained rhythmic freedom after her experience with Debussy & Daft Punk. We slow down to Calando and anticipate the sun to rise at any moment. This sunrise was hinted at by Daft Punk earlier and is implied in Tempest’s joyful tiredness shown in rests and fermatas. Finally, her theme [A - F - E - D] turns into [D - F - E - D], ending the piece with [A - G - F# - D], not an exact quote, but a liberal citation of Soul II Soul’s “Keep on Movin,” concluding Tempest’s night out in the Outer Sunset with, “Yellow is the color of sun rays.”
Kei Terauchi, October 2020
In putting this piece on a score, I went through the fact checking process, which was filled with surprises. For instance, I didn’t know that “Claire de Lune” was based on Verlaine’s poem of the same title. “While singing in a minor key/ Of victorious love, and the pleasant life/ They seem not to believe in their own happiness/ And their song blends with the moonlight.” How perfect that this unwittingly intersects with Daft Punk.
I was out in London for 10 days recently, where I attended the JUCE Audio Developers Conference.
Some great talks! I particularly enjoyed this one by Phil Burk on HMSL - Hierarchical Music Specification Language - a language he was involved in designing a Mill College, here in the Bay Area from the mid eighties till the early nineties. I’ve asked Phil to present a simlilar talk at Algorithmic Art Assembly 2020, which he’s agreed to!
Wow, this is great, found this while looking up Mark Fell videos - an exhibition he curated with Luke Fowler, documenting two early computer music languages The Composers Desktop Project (CDP) and Hierarchical Musical Specification Language (HMSL).
Found this on hacker news over Christmas - super good talk by Ron Pressler, spinning an awesome narrative around history of computation, logic and algebra –
Just got back from the very awesome Livecode Festival #2 in Sheffield UK, a gathering of like minded music programmers and algorithmic artists - super inspiring!
Here’s a screencast i captured of my set for the Algorave:
I’ve had my head down doing a bunch of work on my Soundb0ard software, in prep for playing at Algosix last weekend. The festival was awesome, so much great live music!
I was quite happy with my performance, give it a listen/view:
Alex McLean’s TidalCycles has been a big influence on my own Soundb0ard, and lately, now that my instruments are mostly built, I’ve been looking for ways to algorithmically modify them more.
This series of howto’s by Mike Hodnick/Kindohm have been an amazing source of inspiration - super clear and very entertaining - here’s the first episode:
JD from work turned me on to this awesome CppCon talk by Jason Turner - in it he builds a simple commodore64 game using modern C++17 features, and an astounding role for Matt Godbolt’s (what a name!) Compiler Explorer
I’m just back from a two week holiday in the UK, and while over there, I took part in the first Energized Labs meetup (thanks Matt!), and gave a talk about my efforts in trying to combine my art and tech influences..
Also check both Matt and Martin’s talks from the same session ..
This is a good chat with Doug Eck, of the Google Magenta project
It’s a project I’ve been keeping an eye on, as it has a ton of potential. I’ve generated some melodies based on their Melody RNN - although i need to spend more time with it, as I’ve been more focussed on own generative algorithms.
I’ve just read ‘Microsound’ by Curtis Roads. I was well aware of the microsound movement, but hadn’t realized the depth of the theory behind granular synthesis, with it’s history going back to the 1940s, and early practise from Xenakis (using tapes) and this lad, Curtis Roads, programming his own granular synth on a PDP-11/20 in 1974 - what a bad-ass! Check this site for some good background and papers.
I found these videos of Curtis Roads, via the site linked above.
I just read this pretty awesome book ‘I Hate The Internet’ by Jarett Kobek. It has a nice cynical irreverence, but very astute awareness of the power of modern social networks.
Coincidentally, I just came across this decent talk from Joel Spolsky, which if you kinda squint a little, sorta touches upon a few similar subjects as in ‘I Hate The Internet’, at least in that there a lot of assumptions and decisions baked into the algorithms in modern software, a lot of hidden power structures and bias. The talk goes off in a different direction towards the end, but definitely worth watching.
I was reading up on ALGOMECH 2016, “the first festival of algorithmic and mechanical movement” - which looks ace! This video, by one of the performers, Graham Dunning, is kinda mind blowing - pay off around the 3:38 mark:
This is a crazy awesome animation by Anthony Lombardo and John Chrostek –
“It is one-o-clock in the morning. You’ve had a long and tiresome day, and despite your best intentions, dozed off far before you meant to.
Asleep in the embrace of your old blue La-Z-Boy, you feel a flicker like a breeze full of static at room temperature. You awaken.
The television is still on.
Your eyes adjust. The feel of the room has changed. The space between the furniture grows wider, the hallway light seems a valley away. You are alone with the night.
The sharp hiss of static pulls you back. In your peripheral vision, what light remains dims and flickers as if bathing in the glow of the transmission. From some familiar depths, a song begins to play…”
I came across it via my friend Mat, who recorded a segment of the opening music.
I was listening to the Creative Coding podcast with Daniel Shiffman the other day - One thing they discussed was Daniel’s new Coding Challenges youtube series - this one to do a ‘Purple Rain’ in Processing is really fun!
I’m currently working on a Brillo audio component, which will require very low latency performance.
While searching for some tips and prior art, I came across this talk from Google I/O 2013. A bit older now, but provides an excellent overview of the problem domain and approaches to solving those issues..
Pretty decent wee documentary on the changing face of SF from VICE mag. Near the beginning a lot of the location shots don’t match the narrative, but the interview with Andre Nickatina makes it totally worthwhile!
Amazingly smooth presentation under time pressure from Karim Yaghmour, giving a super fast overview of the content in his Embedded Android book.
I’ve been deep in Android source code these past few weeks - I just moved from an Ops role to Embedded Developer - I’ve never read or written so much C code in my life - it’s awesome!
I’m moving into a new job position soon involving way more code, working in C/C++. I’ve just started watching this podcast series and it’s excellent - this one in particular is super relevant, bringing one of the best features from Golang into C. I like the minimalism of the project, it seems very much in alignment with the philosophy behind Suckless. (There’s a previous episode, speaking with Anselm R Garbe from suckless, i’d also highly recommend..)
Nice and short 30 min talk about the origins and background to the MOS Technologies 6502 micro-controller, which came out in 1975 and powered the BBC Micro, the Commodore 64, first Nintendo, amongst many others. Super good!
Oh shit! this is incredible - IBM engineer walks through the development of a FORTRAN program, including I’m guessing, the first appearance of a GOTO statement! Then, in part two, they have their FORmula TRANslator translate a Fortran program into IBM symbolic language/assembly, and output it to PUNCH CARDS!!. wow..
Oh man, this is incredible, seriously best historic piece I’ve watched, with the origins of operating system methodoligies, and crazy typewriter I/O UX, pre-CRTs!
Super nice quick overview of the importance of Copy-On-Write filesystems to Docker, going into detail of the benefits and downsides to each of the CoW options - AuFS, BTRFS, ZFS, Overlayfs, Device Mapper - great stuff!
This was the excellent closing talk to the recent CoreOS Fest, Kelsey Hightower walks through differing approaches to deployment, from configuration management to container scheduling, via Kubernetes..
I only just learned about this guy Craig Silverstein, who was Google employee #3 after Larry and Sergey. There’s a ton more info about him if you go searching, but this is an ace little 10 minute video where he talks about the origins of google..
My wife and I got a new projector recently (this one), so I had some nerds round to watch some tech talks. My friend Jerome turned us on to this one, super fun!
I’m currently reading Tony Hoare’s Communicating Sequential Processes - it’s awesome! I searched to see if I could find some youtube videos of him - this one is brilliant, him talking about what should be taught in Computer Science, the universal ideas of logic and geometry unpinning computation, going back to Euclid and Artistotle. Great stuff!
One theme I’ve noticed recently is a move to User Space networking - not for normal application use per se, but for specific high throughput cases, where the kernel’s general network stack’s overhead is too much. This isn’t a new thing, but something I’ve never gotten around to exploring. This vid, from last year, provides an overview of three different implementations..
Beautifully shot, mind blowing short documentary about New York’s early telecoms buildings, the Western Union Building and the AT&T Long Lines Building ..
Crazy stuff, definitely feels like Containers have gained mass momentum, and we’re about to undergo a major shift in Systems Architecture. Very exciting times!
This 80’s three part piece on Seymour Cray is pretty ace - especially the Lou Reed R.A.D. (Rock Against Drugs!) and Greenpeace ad’s at about 11m12s in!
Solomon Hykes, creator of Docker, speaking at Dockercon - paints a nicely detailed overview of all the new Docker ecosystem libraries released recently - Libcontainer, Libchan, and Libswarm - basically all middle layer abstractions which seem to have buy across all the main platforms and providers. He starts talking about 10mins in..
Yow! this is great! I know my Unix history pretty well, but Multics - aside from knowing it was the precursor to Unix, i didn’t know much else of the details or who was involved - WATCH THIS! NOW! :D
"Bryan Cantrill discusses debugging production systems using post-mortem debugging and dynamic instrumentation, with a bit of history and an introduction to useful debugging tools."i
My mother, over in Glasgow, was telling me about a BBC program called A Day In The Life, and specifically of an episode about Frank QUitely - i found it on youtube.com for about 30 mins but it’s already been taken down. (I didn’t get to see it either!!).
Fortunately however, I did find this lovely interview with “Frank” (whose name i just found out is a stage name! )
Oh man, just found this Hunx album from 2013 - i had seen this following video for Bad Skin but forgot about the album when it came out - this video is so disgusting and totally my anthem!
More and more I’ve been dabbling with Go, which, mainly due to Hacker News, i’ve been reading so many good things about. The syntax is super easy to pick up, but the killer feature seems to be the concurrency primitives - the Go Functions and message passing Channels seem like a super tight, rock solid implementation of Hoare’s Communicating Sequential Processes. The following video is a really succinct walk through of building a concurent multi-protocol chat application ala Chat Roulette..
This talk is incredibly informative - Twitter have their own fork of OpenJDK, in which they have enabled registers on the CPU, normally used by the Java Compiler - this enables Frame Pointers which perf can read and translate, enabling a full Stack trace from JVM bytecode right down into the kernel.
Beyond simply CPU counters and stack trace, they also tie in other JVM flags which export DTrace counters, and use these to construct connections between memory allocation and the running process, so in the end you have a tool which can spans JVM -> kernel connections, alongside CPU -> memory.
Sounds very useful, i look forward to them open-sourcing it..
Was hard to cut two out from this selection, so here’s my top 12 for the past year, as usual a bit of a mix between the rock n roll and the electronic noise..
The Pastels – Slow Summit
The Spook School – Dress Up
Radiator Hospital – Something Wild
Zomby – With Love
Wyatt Blair – Banana Cream Dream
Four Tet – Beautiful Rewind
Basic House – Oats
Patricia – Body Issues
Colour Me Wednesday – I Thought It Was Morning
Fear Of Men – Early Fragments
Anna Hillburg – s/t
Dalglish – Niaiw Ot Vile
oh! scratch that, make it 13 then! How could i forget ma wedding singer?!
The Hive Dwellers – Hewn From The Wilderness
If you've been following my past few posts, you've seen i was investigating how best to integrate the plethora of Chef testing tools that've been coming out — foodcritic, chefspec, test-kitchen, mini-test — and although not testing tools per se, Berkshelf and Vagrant are the other pieces of the puzzle… but how to fit them all together? What is the directory structure for keeping your Berkfile - at the top of the repo? Inside a cookbook directory? How many Vagrant files am I going to create here?
If, like myself, you weren't along at this year's ChefConf 2013, you may also have missed on a major conceptual shift that has happened. Instead of the all-inclusive Chef-repo design pattern, as implied by the OpsCode Chef Repo - https://github.com/opscode/chef-repo - which, when used with all the community cookbooks out there, creates a mess of forked, modified and sub-moduled cookbooks and recipes.
The conceptual shift away and now recommended way, is to treat each cookbook as a separate piece of software and to give it it's own git repo, keeping them separate from from your Chef-repo. This combined, with a distinction between Library and Application cookbooks, and then bundled together via Berkshelf, enables a much cleaner and modular way of working. When you accept this move, it's much easier to then fit all the testing pieces together as they all live within each separate cookbook/repo.
This Comment Thread was what really drew it together for me, and then to fully clarify this way of working, watch Jamie Winsor's ChefConf talk which is the original starting point:
Found this to be a particularly good episode of The Food Fight show with Jeremy Edberg and Adrian Cockcroft talking about the Netflix tools and architecture:
Just got back from the Usenix/Lisa 12 conference in San Diego, and had a great time, super inspiring talks and content.
Highlight of the conference for me was Brendan Gregg speaking on Performance Analysis Methodologies - most of his talk was based upon a paper he just published in ACM - Thinking Methodically About Performance.
The talks haven't yet been published on the Usenix website, but Brendan's blog has a ton of great looking content and older talks including this one on Visualisations for Performance Analysis
I must admit MySQL replication is something I've never felt too comfortable with - in most of my positions, I've had the luxury of working with a full time DBA who would handle all database related work. In my current workplace we have three major pairs of database machines, and have been going through upgrading them all to Percona MySQL 5.5. As you'd expect data integrity is of the highest importance, so discovering this Percona Table Checksum tool is a real life saver, providing an amazing tool for verifying and fixing any drift or problems with MySQL slaves.
I can't take any credit for these instructions or the trial and error in assembling them, as they were penned by my workmate, the awesome Trystan Leftwich - these are his notes for use at our place, with some additional clarifications from myself from working through them.
(At first I assumed this would be run on the slave to fix it up, however the man page for pt-table-checksum explains:
it always makes the changes on the replication master, never the replication slave directly. This is in general the only safe way to bring a replica back in sync with its master; changes to the replica are usually the source of the problems in the first place. However, the changes it makes on the master should be no-op changes that set the data to their current values, and actually affect only the replica.
)
Once this table sync has been run, re-run the pt-table-checksum command, then verify your results on the slave - should be good .
I went along to the SF Web Performance Meetup last night, for a talk by Ilya Grigorik which was one of the best and most informative Meetups I've been along to - lots of meaty details on how Webkit in general works, and specifically how Chrome uses it across the many platforms it runs on.
I've started reading George Dyson's “Turing's Cathedral”, and really enjoying it - I love reading the historical context of technological progress, feels like a lot of sociological reading, filling in another of the endless jigsaw pieces of a larger all-encompassing narrative.
Here's George Dyson doing a lecture on the material in the book :
the legendary Mike Hoover turned me on to Backblaze a few months back - they're a cloud storage provider, who opened up the design for their chassis and storage pod solution so you can build your own “Storage Pod 2.0: a 135-terabyte, 4U server for $7,384″ (blog post here)
Unfortunately I forget where I found this link - Hacker News? The Edge Newsletter? I dunno, but it's a pretty interesting one -
A debate between an MIT professor, Erik Brynjolfsson, and an Economist, Tyler Cowen, about the the role of technology in driving economic growth. My views side with the MIT professor, as does most of the audience in the debate.
I won't repeat any of the arguments made in the debate, but what I will add is that the unequal distribution of wealth we see around today is not a symptom of lack of technological growth, it is purely down to good old fashioned political manipulation and deep rooted traditions of cronyism, a tradition thousands of years old.
Technology on the other hand: absolutely it's what will drive the economy, but even that view completely misses the big picture, which is the Medium itself, The Universal Network. I believe we have created a whole new dimension, an evolutionary mathematical abstracted form of biology. This is the beginning of History, Year Zero.
One hundred years from now, or two thousand - people will be able to look back in time and know with a rich level of detail what our life is like now. Thousands, upon millions of instances of video and audio, images, writings, geo locations, online trails, all readily accessible, interlinked and searchable. This level of detail will only increase, as we start recording every aspect of life.
With such archives of data, I can easily imagine the kids of 2123 being able to walk through and interact with a virtual London in the swinging 2020′s, or San Francisco's roaring 2030′s. Whereas, for future generations, any time predating the late 1990′s will essentially be a static foreign place in comparison. We have created time-travel - we just don't know it yet.
This Network has already achieved a basic level of independence from humanity - where now it is possible for a Something to exist outwith a single containing computer system using techniques like redundancy and geographic load-balancing. I don't mean to imply there is any intelligence there, but there is a level of resilience we've never seen in nature before. To give a more concrete example, I'm referring to something like you as a user interacting with the amazon website to purchase something, meanwhile the power goes out in the datacentre hosting the server your browser was communicating with, and, if engineered correctly, your interaction could continue, picked up by a secondary datacentre with no loss of data, nor interruption of service. This isn't exactly life as we know it, but if you squint your eyes just a little, its not too hard to see an analogy to biological cell life.
Over the next few years, Society's experience of reality is going to go through the biggest change in history, as our physical world merges completely with this new virtual world of realtime interconnected information and communication, completely warping our sense of time and geography.
The iPhone was stage one, Google Glasses or something very similar will be stage two, and its right around the corner.
This is an excellent talk about the interaction between the various layers of memory abstraction from the a machine's physical memory down through the Hypervisor's view, to the Guest OS's and down into the JVM:
I finished reading James Gleick's The Information tonite - so good!
Really, the central character is Claude Shannon, who I'm ashamed to admit I didn't previously know much about. Had a quick search when i finished it and found this decent little 30 min documentary which gives a good overview -
I started reading James Gleick's “The Information” last week and haven't been able to put it down yet - so good! I just found this video of a talk he presented at Google last year on the book, looks ace, i'll save it for watching this evening.
Bookmarked this video via Boing Boing last week, but only got round to watching it tonite - pretty interesting little 20 minute documentary series called “Entrepreneurs” doing an episode on Steve Jobs and NeXT back in 1985
So two things here - i started to watch this video with Robert Noyce talking about the development of the IC, but in the introduction and in his opening, they talk about an article written by Tom Wolfe about Noyce - now, Tom Wolfe was a massive influence on my teenage self, or at least one of his books, The Electric Kool Aid Acid Test, which a friends older brother passed on to me when i was fifteen. Apart from being an excellent writer, the book, as I'm sure most know, was about Ken Kesey and The Merry Pranksters, and the birth of acid culture. Wolfe's way with words is incredible, and the mythologizing he manages to paint is deliciously enjoyable. He applies the same magic to telling the story of Robert Noyce in this truly amazing article from Esquire magazine, written in 1984. Well worth an hour of your time to read the article - i had no idea how much he had influenced the whole culture of Silicon Valley.
This video ties in so well with a lot of other recent histories - from Adam Curtis' “All Watched Over By Machines Of Loving Grave” to the Ken Holling's book I'm in the middle of reading - “Welcome To Mars”.