<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4278874815632493181</id><updated>2026-08-10T18:05:12.231-07:00</updated><category term="pycdep"/><category term="python"/><category term="linux"/><category term="supercollider"/><category term="c++"/><category term="prolog"/><category term="animation"/><category term="cross platform"/><category term="dependencies"/><category term="music"/><category term="pattern"/><category term="python3"/><category term="tutorial"/><category term="tweening"/><category term="animated gif"/><category term="c"/><category term="cmake"/><category term="dependency"/><category term="ffmpeg"/><category term="gif"/><category term="include file"/><category term="midi"/><category term="mpeg"/><category term="vector graphics"/><category term="OSC"/><category term="anagram"/><category term="blender"/><category term="circular dependency"/><category term="debian"/><category term="diff to html"/><category term="diff2html"/><category term="googletest"/><category term="html"/><category term="humor"/><category term="include files"/><category term="ipc"/><category term="joke"/><category term="json"/><category term="json-rpc"/><category term="luke leighton"/><category term="mako"/><category term="math"/><category term="microsoft"/><category term="movie"/><category term="pyjamas"/><category term="pyjs"/><category term="python 2"/><category term="sid"/><category term="sourceforge"/><category term="speed"/><category term="squiggle"/><category term="staf"/><category term="stax"/><category term="swi-prolog"/><category term="synchronization"/><category term="testing"/><category term="timeline"/><category term="ui"/><category term="unit test"/><category term="vim"/><category term="web2py"/><category term="win32"/><category term="youneedtests"/><category term="32bit"/><category term="64bit"/><category term="GPLv3"/><category term="MTS"/><category term="McCabe"/><category term="ZGRViewer"/><category term="adjacency matrix"/><category term="algorithm"/><category term="algorithmic composition"/><category term="analysis"/><category term="analyzing"/><category term="ansi"/><category term="application specific"/><category term="argparse"/><category term="argparseui"/><category term="arpeggiator"/><category term="audio transition"/><category term="automatic"/><category term="ballmer"/><category term="binary"/><category term="bits"/><category term="boost"/><category term="boot"/><category term="bounded"/><category term="bugs"/><category term="case insensitive"/><category term="case sensitive"/><category term="chrome"/><category term="chromium"/><category term="circos"/><category term="clean up"/><category term="cli"/><category term="code"/><category term="code review"/><category term="color"/><category term="command line option"/><category term="compare"/><category term="compiler"/><category term="complexity"/><category term="console"/><category term="consumer"/><category term="coupling"/><category term="cups"/><category term="diff"/><category term="distributed"/><category term="doctest"/><category term="double inclusion"/><category term="download"/><category term="eclipse"/><category term="education"/><category term="elop"/><category term="elop effect"/><category term="event"/><category term="expremigen"/><category term="filename"/><category term="film"/><category term="firefox"/><category term="fitnesse"/><category term="flash"/><category term="fstab"/><category term="functional programming"/><category term="gesture"/><category term="git"/><category term="github"/><category term="gitorious"/><category term="gnu make"/><category term="godot"/><category term="google plus"/><category term="google test"/><category term="google+"/><category term="graph"/><category term="grub"/><category term="hanoi"/><category term="hijack"/><category term="imagemagick"/><category term="importance"/><category term="include dependencies"/><category term="include file pruning"/><category term="installshield"/><category term="inter process communication"/><category term="ipv6"/><category term="jack-midi"/><category term="java"/><category term="javascript"/><category term="jython"/><category term="kdevelop"/><category term="l-system"/><category term="learn"/><category term="lgpl"/><category term="lilypond"/><category term="lindenmayer"/><category term="linuxsampler"/><category term="main"/><category term="make"/><category term="mathematics"/><category term="metrics"/><category term="mfc"/><category term="mispel"/><category term="mutable state"/><category term="nokia"/><category term="notation"/><category term="notes"/><category term="numerical diff"/><category term="optimization"/><category term="output"/><category term="padsynth"/><category term="panola"/><category term="parametric equation"/><category term="pepper flash plugin"/><category term="play"/><category term="png"/><category term="powerpoint"/><category term="producer"/><category term="productivity"/><category term="pseudoterminal"/><category term="pty"/><category term="pyqt4"/><category term="python2"/><category term="qt"/><category term="queue"/><category term="quiz"/><category term="random limitation"/><category term="rebirth"/><category term="record"/><category term="regex"/><category term="regular expressions"/><category term="release"/><category term="remove"/><category term="reset"/><category term="resolution"/><category term="rtmidi"/><category term="scc"/><category term="sccode"/><category term="score"/><category term="screencast"/><category term="semantic diff"/><category term="set"/><category term="side effects"/><category term="sight reading"/><category term="signal"/><category term="software"/><category term="sorting"/><category term="sourcemonitor"/><category term="speed up"/><category term="stream"/><category term="superfluous"/><category term="svg"/><category term="svn"/><category term="syntax highlighting"/><category term="systemd"/><category term="sysvinit"/><category term="table"/><category term="tarjan"/><category term="threading"/><category term="threadsafe"/><category term="tkinter"/><category term="troubleshoot"/><category term="tuning"/><category term="unbounded"/><category term="virtualbox"/><category term="visual studio"/><category term="visual studio 2010 express"/><category term="visualization"/><category term="vt100"/><category term="yaml"/><category term="yoshimi"/><title type='text'>TechnoGems</title><subtitle type='html'>&lt;i&gt;Hobbyist blog about all things software. Any correspondence of this blog&#39;s name to names of individuals, organizations, companies, products or other blogs is pure coincidence.&lt;/i&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-6954360158784645352</id><published>2022-12-26T07:12:00.000-08:00</published><updated>2022-12-26T07:12:24.547-08:00</updated><title type='text'>Fancy text clips and text animations with camala and moviepy</title><summary type="text">Problem?

When making videos, sometimes you want to add some text animations. And since not everyone has access to commercial tools like After Effects, it would be nice if a free alternative existed.

Meet Camala

Camala stands for caption markup language.
You describe text animations in a toml specification, and let the system synthesize high-quality text video clips from it.

Example


 More </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/6954360158784645352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2022/12/fancy-text-clips-and-text-animations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6954360158784645352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6954360158784645352'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2022/12/fancy-text-clips-and-text-animations.html' title='Fancy text clips and text animations with camala and moviepy'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFx_4_bOBho6MijrfO2cSJ-zXwOOnlYKr9miAxTIRmXGoNtPg02MmI4MumcZBjCG20aoKSSj5DH0o7_aq4FA02zZA8x-1w1h_rNGZbEwtkTe7y2v3GdmD6ZgFOyPQkzMtBbvqp9NucLy6cKU6NibX0ByaksExMgdPMwsBaJAaYe0pDbGYaEuDNuVCZCw/s72-c/introducing.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-6550346337745118079</id><published>2021-11-07T03:14:00.002-08:00</published><updated>2021-11-07T03:25:45.371-08:00</updated><title type='text'>Driving the GODOT game engine with OSC messages - part 2</title><summary type="text">Using a thread instead of a busy loopAs a quick follow-up to part I, where I basically used a while (1) { ... } loop which tends to make the CPU run at 100% (unless you use the&amp;nbsp;OS.set_low_processor_usage_mode&amp;nbsp;which is not portable across platforms, and which may actually cause the rest of your game/sketch to run badly, here&#39;s an alternative that parses the OSC messages whenever a timer </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/6550346337745118079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2021/11/driving-godot-game-engine-with-osc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6550346337745118079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6550346337745118079'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2021/11/driving-godot-game-engine-with-osc.html' title='Driving the GODOT game engine with OSC messages - part 2'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4BdRIL8L_7ssuJ0UH3F-cxV4AXEpvw2yDhnlyDOO5Dx4FWRFuhqKlYvUfrC7snEBnOXdquKC7Frgv-BWLGHj2oeDPLJynDMBe5ZyV2z7KMvCOpN3HmUm910CoDkobzV8EzKBb8z18zrWL/s72-c/test.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-2120827633112464942</id><published>2020-02-24T16:03:00.007-08:00</published><updated>2022-02-18T05:50:08.487-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="godot"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="OSC"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Driving the GODOT game engine with OSC messages</title><summary type="text">
Problem?

Note: I&#39;ve tested this code with a very recent version of GODOT compiled from source code. Your mileage may vary.

In interactive art installations, an often used protocol to communicate between computer processes is the open sound control (OSC) protocol. Despite the name &quot;sound&quot; in OSC, the protocol is actually completely general purpose. In my opinion a game engine like the godot </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/2120827633112464942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2020/02/driving-godot-game-engine-with-osc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2120827633112464942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2120827633112464942'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2020/02/driving-godot-game-engine-with-osc.html' title='Driving the GODOT game engine with OSC messages'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5888411239892519063</id><published>2020-01-02T16:05:00.001-08:00</published><updated>2020-01-11T04:47:29.593-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arpeggiator"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Making an arpeggiator in supercollider with patterns</title><summary type="text">&lt;!DOCTYPE html&gt;



  
  



  Problem


  
    Given some notes as input, generate a pattern making use of those notes. When the input changes, the generated pattern should also change. Most keyboards and synthesizers provide simple arpeggiators, but we&#39;ll be using supercollider which allows for generating the most complex patterns imaginable including generation of chords, polyphony, introducing</summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5888411239892519063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2020/01/making-arpeggiator-in-supercollider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5888411239892519063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5888411239892519063'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2020/01/making-arpeggiator-in-supercollider.html' title='Making an arpeggiator in supercollider with patterns'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5097246583821276939</id><published>2019-05-26T01:16:00.000-07:00</published><updated>2019-05-26T01:19:59.023-07:00</updated><title type='text'>Jan De Cock: Laissez Faire - Laissez Passer</title><summary type="text">
Jan Who?

Jan De Cock&amp;nbsp;&amp;nbsp;is a Belgian artist. After exhibiting in the Tate Modern&amp;nbsp;(2005), he became the first living Belgian artist to have received a solo&amp;nbsp;exhibition in the New York MoMA&amp;nbsp;(2008). &amp;nbsp;In 2012 he also presented his work in the Staatliche Kunsthalle Baden-Baden.&amp;nbsp;Jan De Cock is the founder of the&amp;nbsp;&quot;Brussel&#39;s Art Institute&quot;, &amp;nbsp;an organization </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5097246583821276939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2019/05/jan-de-cock-laissez-faire-laissez-passer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5097246583821276939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5097246583821276939'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2019/05/jan-de-cock-laissez-faire-laissez-passer.html' title='Jan De Cock: Laissez Faire - Laissez Passer'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-230635841194391872</id><published>2019-05-26T00:56:00.003-07:00</published><updated>2019-07-18T22:45:50.715-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Walsh-Hadamart transformations in supercollider</title><summary type="text">
Problem

Practically the whole world is using Fourier Transforms to decompose sounds into sums of sine waves. The Fourier transform then can be edited, and transformed back to the time domain to hear the effects of the editing. One question that naturally arises is if perhaps ways exist to decompose sounds as sums of something other than sine waves.

Approach

Well, as it turns out there are </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/230635841194391872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2019/05/walsh-hadamart-transformations-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/230635841194391872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/230635841194391872'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2019/05/walsh-hadamart-transformations-in.html' title='Walsh-Hadamart transformations in supercollider'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKD-GcMkB8o9jMdBu4tgXq-eZaXx6-HUMYq6hk2GI4D9MJh4PY0nfhZpqA7S42pE9UNdXFD9h0oUSKywnipxGvqjwCxrKdQsylmm1F8TKQ4IlLK-wgXb7AMC43y6n5lkDicDhT8CfdFNzC/s72-c/walsh.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5052374615382328333</id><published>2018-07-22T04:06:00.000-07:00</published><updated>2018-07-23T10:27:45.033-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="midi"/><category scheme="http://www.blogger.com/atom/ns#" term="MTS"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><category scheme="http://www.blogger.com/atom/ns#" term="tuning"/><title type='text'>Using the midi tuning specification (MTS) standard in supercollider</title><summary type="text">
Problem?




I have a hardware synthesizer Dave Smith Instruments Rev2 (&amp;nbsp;(aka DSI Rev2)with support for MTS (=midi tuning specification) and I&#39;m intrigued by its possibilities. How can I reprogram my synth&#39;s frequencies from supercollider? In a next post I may or may not (depending on how fast I can solve some annoying bugs :) ) explain how to download scala tunings and keyboard mappings </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5052374615382328333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2018/07/using-midi-tuning-specification-mts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5052374615382328333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5052374615382328333'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2018/07/using-midi-tuning-specification-mts.html' title='Using the midi tuning specification (MTS) standard in supercollider'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhujizF22TJdACeIOz98RwkGD6hLjt7h-ni5I8yTIUWs-2pF29Zr9VD0pN5VtVv4tm4RSsZHK30m9oqf-0XWF2IJwb1KO8ou_sWODPx9WKWuCZNzLTtBqL6E3dzwwBCzfW9puwuPQhyphenhyphent6uF/s72-c/rev2.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-6223827636039715089</id><published>2018-05-11T14:34:00.000-07:00</published><updated>2018-05-17T16:00:43.514-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="notation"/><category scheme="http://www.blogger.com/atom/ns#" term="panola"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Panola: a supercollider PAttern NOtation LAnguage</title><summary type="text">
Problem?

In supercollider, one of the best ways to schedule notes over time is by using the pattern system. The pattern system is very flexible but the flexibility can make it a bit hard to use.&amp;nbsp;



In a typical pattern specification, also known as a Pbind, every dimension to your sound event is independent from every other event. This is just a fancy way of saying that you need to specify</summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/6223827636039715089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2018/05/panola-supercollider-pattern-notation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6223827636039715089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6223827636039715089'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2018/05/panola-supercollider-pattern-notation.html' title='Panola: a supercollider PAttern NOtation LAnguage'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-2833572457556443360</id><published>2018-01-13T03:23:00.001-08:00</published><updated>2018-01-22T06:41:15.516-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="padsynth"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Baking sound in supercollider</title><summary type="text">
Problem?

I want to synthesize gorgeous pad sounds in supercollider. This is possible using additive and/or subtractive synthesis, but it takes a lot of CPU power.

Approach

&#39;t Is the season to be bakin&#39; fa-la-la-la-laaaaa la-la-la-laaaaa. How about we pre-render the sound into a wavetable and then loop the generated wave table? This moves most of the work to startup time. In the blender 3d </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/2833572457556443360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2018/01/baking-sound-in-supercollider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2833572457556443360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2833572457556443360'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2018/01/baking-sound-in-supercollider.html' title='Baking sound in supercollider'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-6731633301913899380</id><published>2017-08-19T02:03:00.001-07:00</published><updated>2017-08-19T02:08:50.525-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audio transition"/><category scheme="http://www.blogger.com/atom/ns#" term="powerpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Audio transitions in supercollider</title><summary type="text">
Problem?

In the domain of images and videos, programs like powerpoint and video editors provide a wide range of &quot;transitions&quot;. If you think of powerpoint, e.g., you can switch from one slide to the next directly (&quot;cut&quot;), or you can gradually fade out the first one and fade-in the second one, or you can push in, push out, wipe according to a shape, split, reveal, random bars, shape, uncover, </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/6731633301913899380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/08/audio-transitions-in-supercollider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6731633301913899380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/6731633301913899380'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/08/audio-transitions-in-supercollider.html' title='Audio transitions in supercollider'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiKki7ErSpnVXni5DcEO3Uvmzt1_FhlmSjyNy2QMZpr3wkYLFvE48BhyfuqVGNTKQXNuBYMnggK1IZ-dMUwssnghrie9OmWoZQDEP5am3B5weFgry43wDMXXvVtFi8M40RYN5cQS4RaaUM/s72-c/envelope.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-3109676301298160221</id><published>2017-08-12T15:26:00.000-07:00</published><updated>2017-08-13T01:44:50.282-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blender"/><category scheme="http://www.blogger.com/atom/ns#" term="film"/><category scheme="http://www.blogger.com/atom/ns#" term="movie"/><category scheme="http://www.blogger.com/atom/ns#" term="OSC"/><category scheme="http://www.blogger.com/atom/ns#" term="score"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><category scheme="http://www.blogger.com/atom/ns#" term="synchronization"/><category scheme="http://www.blogger.com/atom/ns#" term="timeline"/><title type='text'>  Scoring a movie with supercollider, blender, python and osc - part II: keyframing and animation curves</title><summary type="text">
Problem?




In the previous part of this tutorial, I described a way to insert markers on blender&#39;s timeline, and to use blender&#39;s python scripting abilities to convert these markers into OSC messages which then can be interpreted in supercollider to perform commands (e.g. start and stop patterns or sound effects). This approach works very well for sending discrete commands: things like start </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/3109676301298160221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/08/scoring-movie-with-supercollider_12.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3109676301298160221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3109676301298160221'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/08/scoring-movie-with-supercollider_12.html' title='  Scoring a movie with supercollider, blender, python and osc - part II: keyframing and animation curves'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpFKpi3vp8E9hlCQ2nT-h62c-hD892ZuXb_ooosSgl6OeN7WRRnou6FTIOMHD8M-W8sLFDfTpcdJJy9ogTVpRSVxWnYlKMHKScpEJ818J5YoB4_qTCfoq6vFPO54id2K9nP63QnfSPBq67/s72-c/defaultview.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-3006416697954436248</id><published>2017-08-12T02:30:00.000-07:00</published><updated>2017-08-12T15:20:18.482-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blender"/><category scheme="http://www.blogger.com/atom/ns#" term="movie"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><category scheme="http://www.blogger.com/atom/ns#" term="synchronization"/><category scheme="http://www.blogger.com/atom/ns#" term="timeline"/><title type='text'>Scoring a movie with supercollider, blender, python and osc.</title><summary type="text">
Problem?

I want to score a movie with a generative supercollider score (that is, insert supercollider patterns and sound effects, ...). How do I sync the sound to what happens in the video? What if I want to last-minute edit the video? Can I automatically resync parts of my audio to the edited video without having to manually edit start and stop times of patterns and sound effects in my </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/3006416697954436248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/08/scoring-movie-with-supercollider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3006416697954436248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3006416697954436248'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/08/scoring-movie-with-supercollider.html' title='Scoring a movie with supercollider, blender, python and osc.'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ_WoqsJ1PtfrPLC8P-4750J1jK3TEkg8RMjPsdNgtGoZouGuMJjRSRiEazvsJduYfO0TEPrl1jYpr6wXr4W4mIkYmRI5fGnwlNZMnqc-T4SIIZDs-IGUd_PDh4QzYemAOjcrRtoDStUU1/s72-c/scsketch.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-1129820438726199054</id><published>2017-08-09T04:18:00.001-07:00</published><updated>2017-08-09T08:20:55.488-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gesture"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="play"/><category scheme="http://www.blogger.com/atom/ns#" term="record"/><category scheme="http://www.blogger.com/atom/ns#" term="squiggle"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Automating squiggles in supercollider part II</title><summary type="text">
Problem?

In part I of this explanation we used mathematics to create beautiful squiggles. While this gives ultimate control over the scribbles (in terms of accuracy and repeatability of the squiggles), sometimes you just want to do something simpler (quick&#39;n dirty) or something more creative (too much work to spell out in math formulas).&amp;nbsp;

Approach?
You can simply draw a squiggle with the </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/1129820438726199054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/08/automating-squiggles-in-supercollider_9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/1129820438726199054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/1129820438726199054'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/08/automating-squiggles-in-supercollider_9.html' title='Automating squiggles in supercollider part II'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5n4KQz4waqAcCOv3iCcN0-elg1r8o6b0znNVr6xPoAMntk_dtq147Za4zw9sIR3nPqDkj7Y_tJ2oacAIEPu2ynrzqkw0AFc4oYZpZrBBb_MENU-shhWb1HZbLalvP4zKXJ_85DK0R9lJx/s72-c/record.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5829946654781683546</id><published>2017-08-08T01:03:00.001-07:00</published><updated>2017-08-09T14:21:42.054-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="parametric equation"/><category scheme="http://www.blogger.com/atom/ns#" term="sccode"/><category scheme="http://www.blogger.com/atom/ns#" term="squiggle"/><category scheme="http://www.blogger.com/atom/ns#" term="supercollider"/><title type='text'>Automating squiggles in supercollider</title><summary type="text">
Problem?

Supercollider makes it easy to vary parameter values by squiggling the mouse using the UGens MouseX and MouseY. Sometimes I play with these to find that the squiggling itself produces nice results, but then the thought of having to spell out all these x and y values manually makes me sigh. This made me think about how to automate squiggling - not by sending some mouse commands to the </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5829946654781683546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/08/automating-squiggles-in-supercollider.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5829946654781683546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5829946654781683546'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/08/automating-squiggles-in-supercollider.html' title='Automating squiggles in supercollider'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcbWRpJAohjXWwdxD4XorMrt7XvG8dA2VWn43KpS4cGGciTg10bt5mfiatCfgOc1FDMWPFgalkersDFx66_iaJEF1tm7pxRppsqxTUKWtRgKib3lBU-lI-68ssFDkvML0jxsn_RoDgrG7E/s72-c/desmos-zerozero.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-4940867364453923584</id><published>2017-07-22T04:59:00.002-07:00</published><updated>2017-08-08T01:49:47.083-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="animation"/><category scheme="http://www.blogger.com/atom/ns#" term="expremigen"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="midi"/><category scheme="http://www.blogger.com/atom/ns#" term="mispel"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="tweening"/><title type='text'>Expremigen: expressive midi generation</title><summary type="text">
Problem?

A lot of text-based midi specification languages exist, but those I know of suffer from one of the following drawbacks:


either the syntax is very low-level as in SKINI, which basically translates all midi events into text. This is great for round-tripping between midi and text, but it&#39;s not great for writing and interpreting &quot;manually&quot;.
or the syntax makes it easy for specifying </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/4940867364453923584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/07/expremigen-expressive-midi-generation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4940867364453923584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4940867364453923584'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/07/expremigen-expressive-midi-generation.html' title='Expremigen: expressive midi generation'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-7695830315842276150</id><published>2017-05-02T23:15:00.001-07:00</published><updated>2017-05-19T06:36:37.106-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="animated gif"/><category scheme="http://www.blogger.com/atom/ns#" term="animation"/><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="gif"/><category scheme="http://www.blogger.com/atom/ns#" term="mpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="tweening"/><category scheme="http://www.blogger.com/atom/ns#" term="vector graphics"/><title type='text'>Mask driven vector animations with python</title><summary type="text">
What?

Mask images have many applications. In photo editing, masks e.g. are used to succinctly subscribe where to clip images, or to define regions where an image should be transparant. In video editing, masks are used to describe so-called wiping (fancy transitions from one image to the next). In 3d programs, there&#39;s a kind of 3d equivalent of masks, sometimes called dynamic paint, to describe </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/7695830315842276150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/05/mask-driven-vector-animations-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/7695830315842276150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/7695830315842276150'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/05/mask-driven-vector-animations-with.html' title='Mask driven vector animations with python'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhccYseX_WyVC2P90jDs-vTmuDnesEfIa09RJv_VeXnKUNwTiLJG_2vWvLXA7ByB2my2n7zzoaK4Mq1k7AL0HYaIOSnDCG_Y54xvrr6tECr6WMsRgu1IDur6tdFMvN-dFxhdOPwRDbRuv-0/s72-c/example_heart1.gif" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-1473531449451747355</id><published>2017-05-01T01:53:00.003-07:00</published><updated>2017-05-01T01:54:46.313-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="animated gif"/><category scheme="http://www.blogger.com/atom/ns#" term="animation"/><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="gif"/><category scheme="http://www.blogger.com/atom/ns#" term="mpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="tweening"/><category scheme="http://www.blogger.com/atom/ns#" term="vector graphics"/><title type='text'>Tweened vector animations in python part II</title><summary type="text">
What?

This is a continuation of part I on creating vector animations with python. In recent days, the library has seen the addition of many new features:&amp;nbsp;


animations along paths defined by symbolic parametric equations
animations along Bezier curves defined by control points (any order)
animations defined by equations in polar coordinates
composing animations into sequential and parallel</summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/1473531449451747355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/05/tweened-vector-animations-in-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/1473531449451747355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/1473531449451747355'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/05/tweened-vector-animations-in-python.html' title='Tweened vector animations in python part II'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjONYU5CwdVbtYit8yU4NhZaBzWs-eJikNb0IAR0a1qTe7o1cQgSJJxGuHi9kFesIayanAQSKgk9prEIW5knbHNZVv1gKViY2hCXm-ivT0zIbU6F-r1JZo4Lj8-2hlq_5WI6BOUqf6xV_CB/s72-c/example_bezier.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5316550070109948862</id><published>2017-04-23T13:47:00.002-07:00</published><updated>2017-04-24T01:54:56.044-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="animated gif"/><category scheme="http://www.blogger.com/atom/ns#" term="animation"/><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="gif"/><category scheme="http://www.blogger.com/atom/ns#" term="mpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="tweening"/><category scheme="http://www.blogger.com/atom/ns#" term="vector graphics"/><title type='text'>Tweened vector animations with python</title><summary type="text">
What?

In this blog post I&#39;ll show how to create tweened vector animations with python. People who arrive here probably ought to look at Zulko&#39;s excellent blog post first&amp;nbsp;to find the excellent gizeh library, written on top of cairo, that allows for generating vector graphics animations in python. And then there&#39;s also Zulko&#39;s wonderful moviepy library that allows saving these animations to </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5316550070109948862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2017/04/tweened-vector-animations-with-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5316550070109948862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5316550070109948862'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2017/04/tweened-vector-animations-with-python.html' title='Tweened vector animations with python'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8w5nftf9qZqpuC4ssUmbXvOU75JfY8SQoMB-d_kAjwsjFb0BISE2mDn_bs9sSWaYbEtMNvXzDUy9SozFM9Crk1VlNPtpkOwRltBASug1b55n3h6fAncHR2NgjwarKSksJdtQxZJCuLudJ/s72-c/example0-plain.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-5632590871486405591</id><published>2016-03-12T01:42:00.001-08:00</published><updated>2016-03-12T01:42:23.943-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="troubleshoot"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualbox"/><title type='text'>Virtualbox on arch linux kernel 4.4.5</title><summary type="text">



Since my last upgrade to latest packages of arch linux including kernel 4.4.5 I had trouble starting virtualbox.&lt;![CDATA[
class TestClass(object):
  pass
]]&gt;

&lt;![CDATA[
father(jan).
]]&gt;




[user@xxxxx ~]$ sudo /sbin/rcvboxdrv setup &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unloading modules: &amp;nbsp;Loading modules: modprobe: ERROR: could not insert &#39;vboxnetadp&#39;: Exec format </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/5632590871486405591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2016/03/virtualbox-on-arch-linux-kernel-445.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5632590871486405591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/5632590871486405591'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2016/03/virtualbox-on-arch-linux-kernel-445.html' title='Virtualbox on arch linux kernel 4.4.5'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-3105242344909564595</id><published>2015-08-21T01:16:00.000-07:00</published><updated>2015-08-21T01:16:28.928-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="random limitation"/><title type='text'>Microsoft Random Limitation Rant</title><summary type="text">
Welcome in 2015, the era of Multi-GHz Clocks, Multi-GB RAM, PetaByte storage and... 260 character path names.


Once again I was bitten by yet a random path length limitation on a win 7 64-bit platform with visual studio 2013. Of course I am aware that longer path lengths are supported on current windows platforms, provided you do some &quot;\\?\&quot;&amp;nbsp;hocus pocus but Microsoft basically admits it&#39;s </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/3105242344909564595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2015/08/microsoft-random-limitation-rant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3105242344909564595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/3105242344909564595'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2015/08/microsoft-random-limitation-rant.html' title='Microsoft Random Limitation Rant'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-2758956101581614679</id><published>2014-08-11T16:39:00.001-07:00</published><updated>2014-08-11T16:39:17.372-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="chromium"/><category scheme="http://www.blogger.com/atom/ns#" term="debian"/><category scheme="http://www.blogger.com/atom/ns#" term="flash"/><category scheme="http://www.blogger.com/atom/ns#" term="pepper flash plugin"/><title type='text'>Why did flash player stop working in chromium on Debian?</title><summary type="text">Adobe flash is evil right? Yet many sites insist on using it (who knows for what evil purpose?!) and it&#39;s annoying the heck out of me if they keep throwing warnings about a missing flash player.&amp;nbsp;


Well, here&#39;s a clue: somehow I missed the news that chrome/chromium now uses a google maintained version of flash player which you can install using&amp;nbsp;
apt-get install pepperflashplugin-nonfree</summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/2758956101581614679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2014/08/why-did-flash-player-stop-working-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2758956101581614679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2758956101581614679'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2014/08/why-did-flash-player-stop-working-in.html' title='Why did flash player stop working in chromium on Debian?'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-2815804880238448613</id><published>2014-06-08T00:59:00.000-07:00</published><updated>2014-06-08T00:59:06.241-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="boot"/><category scheme="http://www.blogger.com/atom/ns#" term="cups"/><category scheme="http://www.blogger.com/atom/ns#" term="debian"/><category scheme="http://www.blogger.com/atom/ns#" term="fstab"/><category scheme="http://www.blogger.com/atom/ns#" term="grub"/><category scheme="http://www.blogger.com/atom/ns#" term="ipv6"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="sid"/><category scheme="http://www.blogger.com/atom/ns#" term="systemd"/><category scheme="http://www.blogger.com/atom/ns#" term="sysvinit"/><title type='text'>problems encountered while switching to systemd </title><summary type="text">


Computer stopped booting
After the latest dist-upgrade in debian SID my system refused to boot.
After seemingly doing nothing for a while my computer would just drop into an emergency root console.
In the mean time everything is up and running again, and here&#39;s what I had to do to 
make it boot again:



After reading many bug reports and forum entries about NFS mounts in fstab causing a </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/2815804880238448613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2014/06/problems-encountered-while-switching-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2815804880238448613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/2815804880238448613'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2014/06/problems-encountered-while-switching-to.html' title='problems encountered while switching to systemd '/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-4481472507742044316</id><published>2014-03-09T13:02:00.000-07:00</published><updated>2014-03-09T13:03:19.675-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google plus"/><category scheme="http://www.blogger.com/atom/ns#" term="google+"/><category scheme="http://www.blogger.com/atom/ns#" term="stream"/><title type='text'>Getting rid of &quot;What&#39;s hot and recommended&quot; in your google plus stream</title><summary type="text">1. go tohttps://plus.google.com/[google.com]
2. click the explore link on the top of the page
3. click the &quot;what&#39;s hot&quot; link in the &quot;Explore google+&quot;&amp;nbsp;blue&amp;nbsp;thingy&amp;nbsp;that appears
4. click the cogwheel in the red &quot;What&#39;s hot and recommended&quot;&amp;nbsp;thingy&amp;nbsp;that appears
5. uncheck &quot;show posts in home stream&quot;

</summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/4481472507742044316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2014/03/getting-rid-of-whats-hot-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4481472507742044316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4481472507742044316'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2014/03/getting-rid-of-whats-hot-and.html' title='Getting rid of &quot;What&#39;s hot and recommended&quot; in your google plus stream'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-4843575156073169399</id><published>2013-09-22T10:42:00.001-07:00</published><updated>2013-09-22T10:46:10.828-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anagram"/><category scheme="http://www.blogger.com/atom/ns#" term="ballmer"/><category scheme="http://www.blogger.com/atom/ns#" term="humor"/><category scheme="http://www.blogger.com/atom/ns#" term="joke"/><category scheme="http://www.blogger.com/atom/ns#" term="microsoft"/><title type='text'>Musings on the disaster-formerly-known-as-worldwide-market-leader Microsoft</title><summary type="text">&quot;Steve Ballmer&quot; is an anagram of&amp;nbsp; &quot;Ever smell bat?&quot; and &quot;Tremble, Slave!&quot;. Just sayin&#39;...

(also see this older post) </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/4843575156073169399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2013/09/musings-on-disaster-formerly-known-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4843575156073169399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/4843575156073169399'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2013/09/musings-on-disaster-formerly-known-as.html' title='Musings on the disaster-formerly-known-as-worldwide-market-leader Microsoft'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4278874815632493181.post-8328442977405575183</id><published>2013-08-02T00:49:00.002-07:00</published><updated>2013-08-02T12:52:45.117-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="luke leighton"/><category scheme="http://www.blogger.com/atom/ns#" term="pyjamas"/><category scheme="http://www.blogger.com/atom/ns#" term="pyjs"/><category scheme="http://www.blogger.com/atom/ns#" term="rebirth"/><title type='text'>can Pyjamas rise from its ashes?</title><summary type="text">As a quick follow-up to my article about pyjamas being hijacked, there&#39;s an interesting blog article (in French) pointing out the existence of a new incarnation of the original Pyjamas project set up by Luke Leighton at http://pyj.be. According to that blog article this new initiative was sparked by Goffi, the author of the blog article.

Given that the hijacked project, while it has seen some </summary><link rel='replies' type='application/atom+xml' href='http://technogems.blogspot.com/feeds/8328442977405575183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technogems.blogspot.com/2013/08/can-pyjamas-rise-from-its-ashes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/8328442977405575183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4278874815632493181/posts/default/8328442977405575183'/><link rel='alternate' type='text/html' href='http://technogems.blogspot.com/2013/08/can-pyjamas-rise-from-its-ashes.html' title='can Pyjamas rise from its ashes?'/><author><name>shiihs</name><uri>http://www.blogger.com/profile/01738225085577318818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkdmLqjB0ZpFXz6wkW7OHklhruCI1Y0TXB2HIwzF2kmt4EGbY_bnwBjRf6M9JlMGgscZ0ZJqsx5HjtD44iks7I35Fcehq6U9qoqybEuWRYSCCsrEjM3FobDoxkF087g4Syl-gl0qVfyDPh/s72-c/screenshot_pyjs.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>