Blog

Writing SVG's with SVGKit and JSBin

I've been using FabLab Amersfoort's Parametric SVG editor for a while now, a great online tool for writing scalable / parametric vector images. Recently I found out about SVGKit, a Javascript library based on MochiKit which makes it easy to create SVG's from Javascript.

FabLab Amersfoort's pSVG editor by Harmen Zijp & Peter Uithoven: FabLab Amersfoort's pSVG editor by Harmen Zijp & Peter Uithoven

SVGKit with JSBin experiment by myself SVGKit with JSBin

You can try it here and improve the sourcecode you like.

Add two circles the svg group <g> called root:

//Circles
var innerRadius = 322;
var outerRadius = 390;
 
appendChildNodes(
  root, 
  svg.CIRCLE({cx:0, cy:0, r:outerRadius}),
  svg.CIRCLE({cx:0, cy:0, r:innerRadius})
);

Clone SVG nodes and transform them in a for loop:

//Lockers
var lockerY = -338;
var lockerAngleOffset = 85; //75;
 
appendChildNodes(locker = svg.G(),
  svg.CIRCLE({r:3,cx:-48/2}), //left
  svg.CIRCLE({r:3,cx:48/2}), //right
  svg.RECT({x:-5,y:-8,width:10,height:16,rx:4,ry:4}) //middle
);
 
for (i=0; i<3; i++) {
  var locker2 = locker.cloneNode(true); //recursive
  svg.rotate(locker2,i*120+lockerAngleOffset); //note: never rotate 0 degrees
  svg.translate(locker2,0,lockerY);
  appendChildNodes(root,locker2);
}

Universiteit Amersfoort

Universiteit Amersfoort is een experimentele universiteit. Een vrijruimte voor onderzoek en ontwikkeling in Amersfoort. Vanaf eind 2011 is het Magazijn op het terrein van de War beschikbaar voor workshops, demonstraties, experimenten en lezingen op het gebied van wetenschap, kunst, techniek, duurzaamheid en educatie.

Tussen kerst en oudjaar is er een eerste kennismaking, met lezingen, workshops, publieke experimenten en aanverwante activiteiten. Klik hier voor het programma.

Aan deze Salon doet een groot aantal wetenschappers, uitvinders en kunstenaars mee. Bent u zelf geinteresseerd om te experimenteren in ons vrijlab? Neemt u dan contact met ons op!

Universiteit Amersfoort is een ongesubsidieerd project van de War en Discover!

ua_salon1_web.jpg

In de week tussen kerst en oud & nieuw sta ik met mijn blauwe Renault Estafette busje warme chocomelk en pannenkoeken te serveren. Daarnaast staan er een hoop OpenToko workshops ingepland en zijn er een hoop lezingen waaronder door Bas Haring en Govert Schilling. Kom ook van 26 t/m 31 december naar de Kleine Koppel 40 in Amersfoort. Zie www.universiteitamersfoort.nl

Heropening FabLab Amersfoort

Sinds september 2010 is FabLab Amersfoort gevestigd aan de Kleine Koppel 40. Een FabLab is een open werkplaats waar iedereen gebruik kan maken van digitaal gestuurd gereedschap zoals een lasersnijder en een 3D printer. In minder dan een jaar werd het lab te groot voor de plek waar het begon, de werkplaats van de Spullenmannen. Inmiddels is het Fablab verhuisd naar een nieuwe locatie op hetzelfde adres.

Op 20 november om 15 uur wordt het FabLab feestelijk heropend op de nieuwe plek. Kom je Sinterklaassurprise fabben en maak kennis met de mogelijkheden van digitale fabricage, het nieuwe workshopaanbod en nog veel meer. Van 12 tot 17 uur kun je in het Fablab dingen komen maken, koffie komen drinken of gewoon eens rondkijken. Daarnaast is het FabLab elke dinsdag open van 10:00 tot 22:00 uur. Kijk voor meer informatie op www.fablabamersfoort.nl.

Cardboard Mechanics Cardboard Mechanics van o.a. Saskia Freeke en Sonja Van Vuure.

FabLab Amersfoort, Kleine Koppel 40, Amersfoort

Wat is OpenToko.org?

OpenToko.org is een kennis uitwisselingsnetwerk waarbij iedereen een workshop kan aanvragen of geven over een willekeurig onderwerp.

OpenToko.org is gestart toen Harmen Zijp en Diana Wildschut en ik als onderdeel van kunstenaarscollectief De Spullenmannen bedachten dat we voor de kunstprojecten die we doen regelmatig nieuwe (vaak technische) kennis nodig hebben over zaken waar we zelf nooit voor hebben geleerd maar mensen in ons netwerk misschien wel expert in zijn. We zijn toen open workshops gaan houden over onderwerpen waar we zelf wat aan hadden, met sprekers die we meestal persoonlijk kenden en met een groeiende groep van geïnteresseerden die de workshops kwamen bij wonen. Bij iedere OpenToko vragen we alle bezoekers in welk gebied zij expert zijn en of ze daar een volgende keer een workshop over zouden kunnen geven. Op die kan iedereen kennis komen halen en brengen.

Heb je zelf een idee voor een workshop stuur me dan een mailtje.

· 2011/11/19 at 17:26 · Rick Companje

Art && Code 3D - Pittsburg

Ik zit momenteel samen met Diederick (roxlu) een week in Pittsburg, Pensylvania in het lab van Golan Levin (STUDIO for Creative Inquiry) te coden aan 3D visualisaties en het uitlezen van 3D camera's en andere sensors. Ik zelf focus me vooral op het aansturen van 3D printers vanuit openFrameworks en dat heeft al geleid tot een drietal openFrameworks addons te weten ofxFontExtruder, ofxMesh en ofxGCode (nog in ontwikkeling). Anderen zijn bezig met het streamen van live point cloud data van de Kinect en die vervolgens client sided in je browser in 3D te bekijken/besturen zijn. Ook is er een spel voortgekomen die de 3D audio uit de Kinect gebruikt (de Kinect heeft 4 microfoons) om door te schreeuwen missiles naar elkaar af te schieten.
De hele week hebben we in het lab zitten werken van 10 uur 's ochtends tot 2 uur 's nachts. Vanaf vandaag beginnen de lezingen en workshops. Zelf geef ik vanavond een presentatie over Globe4D.

ART && CODE: DIY 3D Sensing and Visualization (#artandcode is a festival and conference concerned with the artistic, technical, tactical and cultural potentials of low-cost 3D scanning devices — especially, but not exclusively, including the revolutionary Microsoft Kinect sensor. This highly interdisciplinary event will bring together, for the first time, tinkerers and hackers, computational artists and designers, professional game developers, and leading researchers in the fields of computer vision, robotics and human-computer interaction. Half maker’s festival, half academic symposium, ART && CODE will take place October 21-23 at Carnegie Mellon University in Pittsburgh., and will feature:
- Hands-on workshops in programming interactive software with low-cost depth cameras, such as the Kinect;
- Live demonstrations and speed presentations of interactive experiences made with the Kinect;
- Lecture presentations by leading international artists, designers and researchers;
- Social events that mix independents, corporates, and academic researchers;
- An evening of immersive audiovisual performances; and
- An unconference with topics selected by you!

Some results on https://github.com/companje.

Ongebruikte stukjes code...

Soms schrijf je een mooi stukje code dat precies op het moment dat het af is al weer overbodig is… Dit keer is Google de boosdoener. Er bestaat geen API voor Google Scholar dus ik dacht zelf de HTML output van een search-query dan maar te parsen maar na enkele queries werd m'n IP adres al geblokkeerd en moest ik een Captcha invoeren… Hierbij de code, hopelijk komt 't iemand nog van pas.

void *citationsLoaderThreadedFunction(void *arg) {
 
    for (;;) {
 
        if (datamine.currentStop) {
            TiXmlNode *cur = datamine.currentStop;
            int i=0;
            do {
                string author = datamine.getAuthor(cur); //"Joanne Drinan");
                string title = datamine.getTitle(cur); //"the drinking water handbook");
                int numCitations = datamine.getCitations(cur); 
 
                if (datamine.getCitations(cur)==-1) {
 
                    string url = "http://scholar.google.nl/scholar?as_q="+urlencode(title)+"&as_sauthors="+urlencode(author)+"&num=1&btnG=Zoeken+in+Scholar&as_epq=&as_oq=&as_eq=&as_occt=any&as_publication=&as_ylo=&as_yhi=&hl=nl";
 
                    UrlLoader loader;
                    string result = loader.load(url);
 
                    string qStart = "Geciteerd door ";
                    string qEnd = "<";
 
                    int posStart = result.find(qStart);
                    if (posStart!=string::npos) {
                        result = result.substr(posStart+qStart.size());
                        int posEnd = result.find(qEnd);
                        if (posEnd!=string::npos) {
                            result = result.substr(0,posEnd);
 
                            int citations = toInt(result);
                            datamine.setCitations(cur,citations);
                            cout << "found " << citations << " citations for article " << title << " by " << author << endl;
                        } else {
                            //not found
                            cout << "not found: " << result << endl;
                            datamine.setCitations(cur,0);
                        }
                    } else {
                        //not found
                        cout << "not found: " << result << endl;
                        datamine.setCitations(cur,0);
                    }
 
                    sleep(1);
                }
 
                //next
                if (cur->NextSibling()) cur = cur->NextSibling();
                else cur = datamine.stops->FirstChild("srw:records")->FirstChild("srw:record");
 
 
            } while (cur->NextSibling());
 
        }
 
        sleep(5);
    }
}

2e editie van het Repair Café in Amersfoort

zaterdag 9 juli 12:00-18:00 uur

Werkplaats van De Spullenmannen
Kleine Koppel 40
3812 PH Amersfoort

In het Repair Cafe kun je kapotte spullen (laten) repareren, denk bijvoorbeeld aan fietsen, kleding, electronica, computers, meubels, naaimachines, muziekinstrumenten etc.

Ben je een klusser, handige meid of man en vind je het leuk om je diensten aan te bieden in het Repair Cafe, kom dan op zaterdag 9 juli naar de werkplaats van de Spullenmannen.

Meld je aan via iedereenin@dewar.nl!

http://www.dewar.nl

Media Tech Expo

New Media New Technology 2011
Open Lab Expo
Tuesday May 31, 2011
4pm-9pm.
Scheltema Complex - Marktsteeg 1, Leiden

Nieuwe media, kunst, wetenschap en technologie komen samen in de New Media New Technology (NMNT) Open Lab Expo van master studenten Media Technology van de Universiteit Leiden. De studenten tonen halffabrikaten en eindproducten van het vak NMNT dat de laatste New Media technologieen en concepten combineert met meer tijdloze themas als New Media History, Old Media, Social, Mobile, Things & Space.

De expo is niet een traditionele statische expositie, maar meer een dynamisch ‘Open Lab’ oftewel een open werkplaats. Veel van de installaties zijn interactief en zijn exploratieve vingeroefeningen die nieuwsgierig maken naar meer. Alle makers zijn aanwezig om vragen te beantwoorden en van gedachten te wisselen over de concepten, gedachten en technologieen achter hun werk, en soms kan er ter plekke verder geklust worden. Iedereen is welkom, met maar nadrukkelijk ook zonder nieuwe media achtergrond.

Nieuwsgierig? Kijk op http://www.nmnt.nl voor voorbeelden van projecten en op http://mediatechnology.leiden.edu/ voor meer informatie over the MSc Media Technologie als opleiding voor Creative Research.

· 2011/05/23 at 09:28 · Rick Companje

3D printen met de Ultimaker

Een paar maanden geleden ben ik begonnen met het bouwen van een Ultimaker, een zelfbouw 3D printer ontworpen door Martijn, Erik en Siert bij het FabLab van Utrecht. De machine print laagje voor laagje een 3D object van plastic. Inmiddels doet mijn exemplaar het maar nu is het een kwestie van 'm goed leren kennen zodat alles goed op elkaar is afgestemd: warmte, snelheid etc.
Benieuwd naar de printer, kom naar FabLab Amersfoort want daar kun je 'm iedere dinsdag van 10:00 tot 17:00 bekijken én gebruiken.

Video experiment Benjolin

Sinds vandaag is de kabel afgesloten… niet dat ik 'm ooit officieel had laten aansluiten maar ik had eerst wel zenders en nu alleen sneeuw. Daarom moet ik nu maar andere dingetjes met m'n “TV” doen zoals freaken met m'n Benjolin.

Push Notification voor iPhone

Deze handleiding die ik heb samengesteld uit verschillende bronnen kan handig zijn wanneer je iets wilt doen met Push Notificatie op de iPhone.


Push Notificatie voor iPhone

Harig badeendje

Processing code

PImage img = loadImage("duck.jpg");
 
size(img.width,img.height);
background(0);
smooth();
noFill();
 
for (int y=0; y<img.height; y+=5) {
  for (int x=0; x<img.width; x+=5) {
    color c = img.get(x,y);
    float br = brightness(c)/255.0;
    float sa = saturation(c)/255.0;
    float hu = hue(c)/255.0;
    pushMatrix();
      translate(x,y);
      rotate(br*TWO_PI);
      stroke(c);
      line(-5,-5,10,10);
    popMatrix();
  }
}

openFrameworks workshop in Auckland


Check http://of.opentoko.org for the slides, example code and notes.
An openFrameworks workshop will take place at CoLab at the Auckland University of Technology (AUT), New Zealand this Thursday (January, 27th @16:00h).

openFrameworks is a free application framework designed for creative coding. It’s a c++ library designed to assist the creative process by providing a simple and intuitive framework for experimentation.

OpenFrameworks is designed to work as a general purpose glue, and wraps together several commonly used libraries under a tidy interface: openGL for graphics, rtAudio for audio input and output, freeType for fonts, freeImage for image input and output, quicktime for video playing and sequence grabbing.

The code is written to be both cross platform (PC, Mac, Linux, iPhone) and cross compiler. The API is designed to be minimal and easy to grasp. There are very few classes, and inside of those classes, there are very few functions.

Kyle McDonald's ofxKinect Depth of Field point cloud

Topics that will be addressed during the workshop:

  • What is openFrameworks? Who made it and what can you do with it?
  • Some interactive art projects made with openFrameworks will be discussed.
  • How to create your own openFrameworks projects?
  • How to use OpenFrameworks for text, audio, vector graphics, 3D graphics, vector math, images, movies, live video, xml files, hardware (ie. Arduino, multiple mice, Kinect), network (ie. Open Sound Control), PDF or Illustrator output etc.
  • How to build a simple Particle System and also how to create some nice graphic design effects for creating printable posters.
  • How to use Microsoft's Kinect in openFrameworks?
  • How to contribute to the community by creating addons?
  • How to make an iPhone App with openFrameworks?

OpenFrameworks is often considered as being 'the big brother of Processing' and is used a lot by interactive media artists.

If possible please bring a laptop:

  • Mac: Make sure (!) to have XCode (Developer Tools) installed (it's on the 'application DVD' you got when you bought your mac).
  • Windows or Linux: if you can please download and install CodeBlocks.

Where: Auckland University of Technology, AUT Tower, corner Wakefield/Rutland st.
When: Thursday 27th, January, 2011 from 16:00 until 21:00.

This is a FREE workshop but a 'koha would be nice (chips, cookies, drink etc). Please register for the workshop by email openframeworks@go.to.

Please check http://bit.ly/openframeworks for possible updates.

For inspiration and more examples visit the openFrameworks channel on Vimeo.

An example OpenFrameworks project in Auckland: NightLights

This workshop is an initiative from http://OpenToko.org and is hosted by CoLab.

Open weekeinde in De War

Op 22 en 23 januari zijn er open dagen in 'de War', de plek in Amersfoort waar het al jaren bruist van de underground cultuur en wetenschap.
Kunstenaarscollectief de Spullenmannen werkt al ruim acht jaar in de oude kleurstoffabriek Warner en Jenkinson aan de Eem. Vanuit deze plek zijn de laatste jaren heel wat initiatieven gestart die de plek tot meer maken dan alleen een kunstenaarsatelier. Tijd om deze ontmoetingsplek voor de Amersfoortse underground scene op de kaart te zetten.

  • FABLAB AMERSFOORT is een open werkplaats waar iedereen gebruik kan maken van de nieuwste digitale productietechnieken.
  • In het TRANSITIELAB wordt gewerkt aan kleinschalige lowbudget oplossingen voor duurzame energie en voedselvoorziening.
  • Het STUDIUM GENERALE AMERSFOORT presenteert maandelijks een lezing door een interessante wetenschapper.
  • Tijdens de OPENTOKO workshops draait het om open kennisuitwisseling tussen kunstenaars, techneuten, programmeurs en wetenschappers.
  • FESTIVAL FRANJE is sinds vier jaar hèt podium voor ondernemende podiumkunstenaars.

Regelmatig worden kleine voorstellingen en try-outs gespeeld op PODIUM DE WAR.
En natuurlijk zijn er de projecten van de SPULLENMANNEN zelf, zoals afgelopen jaar 'de Pers', 'de Waan' en het 'Knopjesmuseum'.

Kijk voor meer info op http://dewar.nl

Batchfile for converting with ffmpeg

See also: notes on ffmpeg


Dit batch scriptje post ik eigenlijk voor mezelf omdat ik 'm vaak net kwijt ben als ik 'm zoek. Maar als het je van pas komt voel je vrij om het te gebruiken. Het script roept het conversie programma ffmpeg aan om vervolgens het input filmpje te voorzien van zoveel mogelijk keyframes waardoor je makkelijk snel heen en weer kunt scrubben door een mpeg bestand. We gebruiken het voor Globe4D omdat je bij uitstek daar kriskras door een videobestand wilt scrollen. Maar ik gebruik het ook voor de fiets installatie van Erik Groen die nog tot november draait in het Gorcums Museum.

@echo off
cd /d %0\..
 
set size=1024x512
color 1f
 
cls
echo Globe4D - The interactive four dimensional globe
echo Copyright (c) 2005-2010 www.globe4d.com
echo.
echo This movie converter script uses ffmpeg to add
echo the maximum amount of keyframes to a (mpg) movie.
echo.
 
:inputfile
if (%1)==() ( 
  set /p in=Enter input file name ^(use TAB to select^): 
) else (
  set in=%~1
)
 
if not exist "%in%" echo File '%in%' not found && goto :inputfile
 
set /p size=Enter output resolution (default=%size%): 
 
set inNoExt=%in:~0,-4%
set out=%inNoExt%-%size%-gop1.mov
 
set /p out=Enter output filename (default=%out%): 
 
echo.
ffmpeg -i "%in%" -s %size% -sameq -g 1 -y "%out%"
 
pause

Deze doet hetzelfde maar dan voor een image sequence:

ffmpeg -f image2 -i frame%03d.png -s 1024x512 output.mov

Nog eentje die ik ook dikwijls nodig heb:

@echo off
cd /d %0\..
cd
set log=Globe4D.log
title Globe4D - the interactive four dimensional globe
echo Globe4D - The interactive four dimensional globe
echo Copyright (c) 2005-2010 www.globe4d.com
rem -------------------------------------------------
echo Computer started: %DATE% %TIME% >> %log%
:BEGIN
echo Software started: %DATE% %TIME% >> %log%
call Globe4D.exe >> %log%
if "%ERRORLEVEL%"=="0" goto EXPLORER
echo Software stopped: %DATE% %TIME% (err=%ERRORLEVEL%) >> %log%
echo. >> %log%
pause
goto BEGIN
 
:EXPLORER
start explorer %CD%

Filmpje van je camera omzetten naar MPEG.

ffmpeg -i MVI_0131.AVI -r 25 -sameq output.mov

Een filmpje van je camera 90 graden roteren (met mencoder).

mencoder -vf rotate=1 -o OUTPUT.AVI -oac copy -ovc lavc MVI_7590.AVI 

Remove audio from a movie with ffmpeg:

ffmpeg -i input.mov -an output.mov

Combine jpg and mp3 audio to mpg (in this case portrait). Be sure to use RGB jpg's instead of CMYK.

ffmpeg -y -i vogels.jpg -loop_input -i vogels.mp3 -s 320x480 vogels320x480.mpg
of:
ffmpeg -y -b 2500k -r 30 -i yellow-brick-road.jpg -i brand-new-day.mp3 -map 0:0 -map 1:0 -vsync 1 -sameq  -vcodec mpeg4 -s 320x480 result2.mp4

Split video: see http://ubuntuforums.org/showthread.php?t=480343

FabLab Amersfoort van start op 12 september 2010

Mede door het grote succes van de OpenToko’s van de afgelopen tweeënhalf jaar opent FabLab Amersfoort vanaf zondag 12 september officieel haar deuren voor het publiek. Tijdens Open Monumentendag kan iedereen kennismaken met de mogelijkheden van Amersfoorts eerste open werkplaats met machines voor digitale fabricage.

Het FabLab faciliteert uitvindingen en innovatie door computergestuurde gereedschappen binnen het bereik van individuen te brengen. Het biedt een plek voor ontwerpers, kunstenaars, uitvinders en anderen om kennis te maken met Personal Fabrication en rapid prototyping. Digitale ontwerpen kunnen m.b.v. een lasersnijder, een digitale freesmachine en een snijplotter snel worden uitgewerkt in hout, plexiglas, rubber, zelfklevend vinyl, papier, karton, textiel etc.

Ook fungeert het FabLab als ontmoetingsplek voor makers uit de creatieve sector. FabLab Amersfoort is een initiatief van de Spullenmannen en maakt deel uit van het wereldwijde netwerk van FabLabs dat werd opgezet door het MIT.

FabLab Amersfoort is open op zondag 12 september van 12:00 tot 17:00 met om 15:00 de officiële opening. Daarna is het FabLab iedere dinsdag open van 10:00 tot 17:00.

Waar:
Wanneer:
  • Zondag 12 sept. 2010 van 12:00 tot 17:00.
  • Daarna elke dinsdag van 10:00 tot 17:00.

Kijk voor meer informatie op www.fablabamersfoort.nl.

Koninginnenacht 2010 Utrecht

Op 29 april 2010 stond ik met een oude koffer met lege melkpakken portemonneetjes te maken op de vrijmarkt in Utrecht. Iedereen die een portemonneetje bij me kocht kreeg er een handleiding bij om ze vervolgens zelf ook te kunnen gaan maken. (Hilde bedankt voor het geweldige ontwerp van de handleiding!) De reacties van het publiek waren erg leuk. Ik hoop dat ik op deze manier een heleboel mensen heb aangezet om afval zelf te gaan hergebruiken.

melkpakportemonnee-foto-door-gitta-xl.jpg Foto door Gitta (alias Juffie)

Mijn Benjolin

Een paar weken geleden volgde ik samen met Ralph een workshop @STEIM in Amsterdam waar we onze eigen electronic noisebox in bouwden onder leiding van Rob Hordijk en Joker Nies: De Benjolin. Zie hier het resultaat. Met de acht draaiknoppen die er op zitten kun je de meest bizarre geluiden uit het ding laten komen. Erg gaaf! Ik plaats misschien nog wel een filmpje of een geluidsfragment. Ik heb er zelf een versterker met speaker aan toegevoegd zodat ik er nu binnen en buiten mee kan freaken.

benjolin-back.jpg

The Benjolin is a ‘noise box’ that is ‘bent by design’, meaning that it always has a definite amount of unpredictability while it is still intuitive to play. The Benjolin features two eighteen-octave range voltage controlled oscillators that drive a ‘rungler’ circuit, circuitry that in essence uses a special interference technique feeding back into the oscillators to force them into wild chaotic behaviour.
A special slightly chaotic filter is both excited and modulated by the signals from the rungler circuitry processes, producing sounds between fat drones to grungy noise havoc. The kit is somewhat more challenging to build compared to the Zeitgeist, but with a little patience and accuracy a beginner in DIY can definitely build it successfully.


benjolin-front.jpg