Recent changes

Recent changes (extended)

movie / documentary

in watching order, newest first

Solo: A Star Wars Story

  • seen 2018/10/14 - 2018 - imdb rotten tomatoes
  • torrent - ... star wars, watched for this reason

Solo-movie-poster.jpg

BlacKkKlansman

  • seen 2018/09/30 - 2018 - imdb rotten tomatoes
  • palace, bruxelles - USA, black power, kkk, trump, racism

Blackkklansman-movie-poster.jpg

Dogman

  • seen 2018/08/05 - 2018 - imdb rotten tomatoes
  • palace, bruxelles - italy, loneliness, prison, despair, low-life, drugs, integrity, black

DOGMAN-poster-717x1024.jpg

Notre jour viendra

  • seen 2018/07/27 - 2010 - imdb rotten tomatoes
  • torrent - cassel, sociopath, delusional, escape, sexuality, north of france, sour

416240-l-affiche-de-notre-jour-viendra-de-675x0-2.jpg

Blame! 2017

see also Disrupted Cities - docs

Blame-poster.jpg Blame-netflix-760x428.jpg

Insects (Czech: Hmyz)

notes and links about privacy

Tails

address: https://tails.boum.org

Tails is a live operating system that you can start on almost any computer from a USB stick or a DVD. It aims at preserving your privacy and anonymity

Runs on a usb stick, no traces on the harddrive, packed with all sorts of utilities for encryption.

Tactical tech

address: https://tacticaltech.org/

Tactical Tech is a Berlin-based non-profit organisation working at the intersection of technology, human rights and civil liberties. We provide trainings, conduct research and create cultural interventions that contribute to the wider socio-political debate around digital security, privacy and the ethics of data.

Riseup

address: https://riseup.net/

Riseup provides online communication tools for people and groups working on liberatory social change. We are a project to create democratic alternatives and practice self-determination by controlling our own secure means of communications. On invitation only.

Riot / matrix

address: https://riot.im

Cross-platform & web communication solution with chat, voice & video conferences proposing an end-to-end encryption on text messages.

address: https://matrix.org

An open network for secure, decentralized communication.

Bitcoins

Recent changes

Recent changes (extended)

Click on the name of the page in the black panel, not on the preview.



--

Downloadable

Highlights

Main work units

DC-banner.jpg

Disrupted Cities - ballad in a virtual city

Carnages-banner-hitomi and the yakuzas.jpg

Carnages - videos generation

Tanukis-banner.jpg

Tanukis - avatar based

Genealogy-banner.jpg

Genealogy - generative art

Why I try to ban the word project from my vocabulary, why it is hard to remove it and proposal to replace it by work unit.

[fr] Le mot projet implique une projection dans le futur. Un projet désigne une chose potentielle qui sera réalisée plus tard, hypothétiquement. Il permet de se dégager de la responsabilité de sa réussite et plus important encore de son échec en repoussant sa concrétisation dans un avenir non-défini.

Le projet rejoint la vision occidentale du temps et de l'espace: un ensemble de points inter-connectés par des lignes. Le projet vise un point en évacuant la notion de déplacement, l'importance du temps passé en chemin. Son omni-présence dans le discours public le rend aussi hautement idéologique.

En abandonnant le mot projet, c'est une idéologie de l'entrepeunariat public et privé (dans le sens développement personnel) qui est remise en question, ainsi qu'une vision linéaire du temps et de l'espace. Dès qu'il est retiré du vocabulaire, un gros problème apparait rapidement lorsqu'il s'agit de produire un discours sur le travail d'un artiste. Ce trouble prend racine dans le manque de précision du mot.

Sans essayer de comprendre ce qu'il recouvre, il est difficile de s'en passer. Le mot projet désigne en effet simultanément et de manière indistincte:

  • l'intuition initiale qui a lancé le travail réflexif et pratique présent au cœur de son travail;
  • les différentes problématiques sociologiques, politiques, esthétiques et idéologiques qui sont présentent au sein de l'intuition, qui l'ont nourries ou grâce auxquelles elle a pu s'affiner;
  • les actes concrets accomplis dans le réel qui donnent une forme tangible aux deux points précédents.

Ceci sans vouloir hiérarchiser les 3 points ou imposer un ordre de pré-séance. Il s'agit plutôt de pôles interdépendants interagissant constamment entre eux. [...Idea:Work Unit...]

Carnages 2 [extra small] - sound by Gauthier Keyaerts

Presentation

[en] This work unit is based on the algorithmic processing of videos gleaned on pornographic platforms. The intention that guided the development of this algorithm aims to blur the obviousness and roughness of the sources and to turn them into an animated painting, twisting the mind of the watchers by eluding the direct representation of bodies without losing their presence, in a pictorial surface constantly morphing. It is also a way to trigger an awareness about the depiction of sexual act in the contemporary web-based world.

Etymology of the word of pornography.

1842, "ancient obscene painting, especially in temples of Bacchus," from French pornographie, from Greek pornographos "(one) depicting prostitutes," from porne "prostitute," originally "bought, purchased" (with an original notion, probably of "female slave sold for prostitution"), related to pernanai "to sell" (from PIE *perə-, variant of root *per- (5) "to traffic in, to sell") + graphein "to write" (see -graphy).

Serie

  • #1 - cute brunette - vimeo
  • #2 - extra small - vimeo
  • #3 - rui
  • #4 - in da wood
  • (no number) - strapless, 30 seconds, part of ECVP Volume 4 PORN & POLITICS - vimeo
  • #5 - hitomi and the yakuzas - page
  • #6 - teeny black
  • Carnages teenyblack mosaic.jpg
  • #7 - jane in the toilet - page
  • #8 - creamy hairs, long play (~98min) - vimeo
  • Carnages creamy hairs mosaic.jpg
  • #9 - creamy patterns, long play (~99min) - vimeo
  • Carnages creamy patterns mosaic.jpg

History

=== Exhibits === [...WorkUnit:Carnages...]

Realtime 3D object's texture modification in openframeworks.jpg

Source code

Demo

Cette page est une copie de sauvegarde de l'article originalement publié sur le site carpewebem le 22 mai 2011

fr

{{quote|Du 10 mai au 11 juin 2011, la galerie Charlot, qui a décidément toute ma confiance, héberge des oeuvres de François Zajega alias Frankie Zafe, artiste numérique dont la démarche m’a particulièrement plu. Je vous conseille d’aller y faire un tour, et surtout d’aller voir de nuit l’oeuvre interactive sur la vitrine de la galerie au 47 rue Charlot.

Avant d’aborder le sujet des oeuvres de François Zajega, il faut que je vous remette dans le contexte dans lequel je les ai vues. La veille, j’étais à la conférence de Matt Pyke & friends, un collectif d’artistes numériques, à la Gaîté lyrique. J’ai déjà écrit là-dessus, et depuis je me suis posé des questions sur ce qu’est l’art numérique et comment il se décline, en développant quelques idées. On peut commencer en dressant une histoire à très gros grains de l’art, sous forme de : arts premiers, art classique, art moderne et art contemporain, et de considérer l’art numérique comme démarrant à un temps zéro sur un nouveau terrain, dans une nouvelle histoire. Les époques de l’art « d’avant » ne sont alors plus successives mais simultanées, des courants parallèles. Avec cette approche, on pourrait alors qualifier un art numérique qui cherche à représenter avec ses propres moyens le réel qui l’entoure, ce monde qui lui est extérieur, étranger, comme un art numérique premier ou classique, en fonction des finalités qu’il poursuit. Pour aller plus loin, j’appellerai même art numérique analogique un art numérique dont la création procède par analogie à des objets du monde réel. C’est en ces termes, art numérique premier et/ou classique, art numérique analogique, qu’en première approximation je qualifierai l’oeuvre de Matt Pyke & friends. [...Essai de typologie de l’art numérique...]

Essai de typologie de l’art numérique, et François Zajega à la galerie Charlot

godot

Community

Links about GLSL shaders in Godot engine

visuals

LUYANG


Visit @ museum boijmans, rotterdam, 2017/09/17


feeds

science

  • MegaFace Dataset - the largest publicly available facial recognition dataset with a million faces and their respective bounding boxes. 65GB of faces

history

Scanimate News Report


theory

{{quote|One overly simple but useful definition is that generative art is art programmed using a computer that intentionally introduces randomness as part of its creation process. This often brings up two common but misguided viewpoints that hold people back from appreciating the beauty and nuance of generative art.

Myth One: The artist has complete control and the code is always executed exactly as written. Therefore, generative art lacks the elements of chance, accident, discovery, and spontaneity that often makes art great, if not at least human and approachable. [...Bookmarks...]

Modular structure research, 3d printable, light-weighted and that doesn't requires any tools to mount. One of the topic was also to use the electric wires as tensioner.

Latest version (006)

Tri-lamp-basic modules-v006.png

Version 004 nearly completely printed and mounted.

Tri-lamp-v004-complete.jpg

Details.

Tri-lamp-v004-details01.jpg Tri-lamp-v004-details02.jpg Tri-lamp-v004-details03.jpg

Versioning

Tri-lampadaire-screenshot002.png

version 001: jaws to snap the cable and clamps to constraint the jaws. The clamps were too weak to hold the pressure, and the jaws were bitting so much into the cable that the wire was seriously damage during installation.

Tri-lampadaire-screenshot004.png

version 002: Complete revision of the design. The arms are now made of wood and not plastic (print time and cost reduction), making the structure much more modular. The wire is locked without pressure in a locking maze embedded into a small part at the end of each arm. The pieces are drilled to re-enforce their structure.

Tri-lampadaire-screenshot003.png

version 003: The drilling was not making any significant difference on strength. It was also weakening the outer shell of the piece. So we dropped it. h. It was also weakening the outer shell of the piece. So we dropped it.

Tri-lampadaire-screenshot001.png

version 004: After building three modules, the design of the locking maze showed its limits: really hard to adjust the tension on wire and nearly impossible to unmount once the wire was pull tight into it. Therefore, we open the maze to make the wire adjustments easier. Result is convincing: the wire can now be mounted and unmounted easily, and the structure is stiffer.

Bonus

Trilamp-Ku7r-taU.jpg

Credits

  • Design and modelling by François Zajéga
  • Printing and advices by Yacine Sebti [...Notes:Tri-lamp...]

Notes about computation of inverse kinematics, first implementation done in threejs.

Solving-ik-001.png

At this moment, the research is focusing on solving a 2 bones system, the leg in this case, but it would be applicable on the arms or any other part of a skeleton having at least 2 parents.

The main issue seems to be the computation of the knee position. All distances are easily computed:

  • upperleg (red) keeps its length
  • leg (yellow) keeps its length also
  • distance between the target and the origin of the upper leg can be easily computed in world space.

Rendering the position of the knee is crucial to compute the rotation of the upper leg. Once correct, the rotation of the leg will be simple to render, as it is the rotation from the current direction to the [knee - target] direction.

Spheres

A little warning: the graphic here above is in 2d. In a 3d world, the position of the knee is a circle on a sphere: any point being at the right distance of the target point and the upperleg origin will be a valid candidate! The circle of possibilities is the intersection of 2 spheres having their radii equals to bones length.

Solving-ik-002.png

The radius of the cyan circle can be solved by using this equation:

a = 1/(2d)sqrt(4d^2R^2-(d^2-r^2+R^2)^2) 

A little screenshot for better readability:

Sphere-Sphere Intersection.png

The tricky point is to forget about the spheres' position and only consider the distance of their centers as the d parameter. The normal of the intersection plane can be computed independently.


Implementation of the equation in an openprocessing sketch.

Selecting a point on the circle

To select a point on the intersection of the 2 spheres, we first computed a quaternion representing the rotation to apply on a unit vector. As the Z axis is pointing forward in the model, we can use a vector( 0, 0, 1 ) to compute the orientation: [...Notes:Inverse kinematics...]

Google maps space-time bubbles.png

Strange sensation when navigating in google maps' street view: the panoramic view changes radically when moving from a few meters. As if our world was made of space/time bubbles, reachable via jumps from one to another. The continuum is lost, without any problem for the computers behind. A twisted vision of reality that must affect the human one.

Peertube-brand.jpg

tips

url manipulation #1

let's say you have an account in peertube.mastodon.host and want to like a video in pirtube.cz for instance

just replace the domain by yours:

  • pirtube.cz/videos/watch/b4b111b4-eaa4-43c9-9a27-f1c3ff5f227b
  • peertube.mastodon.host/videos/watch/b4b111b4-eaa4-43c9-9a27-f1c3ff5f227b

the page will reload but the stream will stay the same. You will now be able to comment and/or like the video.

url manipulation #2

to go to the official page of an account, just transform their account this way:

  • skocdopole@pirtube.cz/videos
  • becomes pirtube.cz/accounts/skocdopole/videos

links

Cool accounts & videos in peertube federation.

Cl-bodge PBR demo wo envmap.jpg

  • borodust - game engine written in lisp

Peertube mouseCube1046x720.jpg Peertube fluides2D-64x48.jpg

  • dinoba - mouseCube1046x720 & fluides2D-64x48


Peertube - The Niggar Family.jpg Peertube AMERICA FUCK YEAH!.jpg

This page describes the different steps implemented in the city generator package to detect block in the road's network, in a fast and clean way.

repo(s)

sketches

These sketches cover the whole research described below. They are displayed chronologically.

DC scan 0001.jpeg DC scan 0002.jpeg DC scan 0003.jpeg DC scan 0004.jpeg DC scan 0005.jpeg DC scan 0006.jpeg DC scan 0007.jpeg DC scan 0008.jpeg DC scan 0009.jpeg

block detection

right vector

Finding the closest road on the right at a crossroad.

To generate the bocks of building based on the roads structure, the method I’m building is based on a simple idea: when you arrives at a crossroad, you take the first street on the right and you go on like this until you reach a dead-end or your starting point. If you reach your starting point, the succession of roads you took defines a block of building. In theory. This technique has been suggested by Michel Cleempoel, on the way back from school.

After a bit of preparation of the road network (removing orphan roads, having no connection with others, and dead-ends parts of the roads), the real problem arouse: how do you define right in a 3d environment, without an absolute ground reference. Indeed, I can configure the generator to use the Y axis (top axis in ogre3d) in addition to X & Z.

At a crossroad, you may have several possibilities of roads. In the research, these possible roads are reduced to 3d vectors, all starting at world’s origin. The goal is to find the closest vector on the right of the current one, called the main 3d vector in the graphic above.. [...WorkUnit:Disrupted Cities - road network...]

Softskin009-screenshot.jpg

VLC glitches after an ffmpeg recompilation, a bit less local than expected... (thanks to jacques perconte)

initial video:

trail

blob

black

subtle

How to disable the title bar of a window (undecorated window)

effect - the grey rectangle is the openframeworks window:

Openframeworks undecorated window.png

This tip depends on the renderer you are using! As i'm running linux (on a crappy computer, not sure it is valid for any linux-hardware rig), i had to modify the method setup in [OF_ROOT]/lib/openFrameworks/app/ofAppGLFWWindow.cpp.

ofAppGLFWWindow::setup(const ofGLFWWindowSettings & _settings) {
	
	...
	glfwDefaultWindowHints();
	//glfwWindowHint(GLFW_DECORATED, settings.decorated); // comment this line
	glfwWindowHint(GLFW_DECORATED, GL_FALSE); // force DECORATED to false

Then you have to recompile OF. Once again, i'm running linux so i just to do:

$ [OF_ROOT]/scripts/linux/./compileOF.sh

To view the result, just clean and recompile any app using OF: done!

All methods to manipulate the window are listed in [OF_ROOT]/lib/openFrameworks/app/ofAppRunner.cpp.

bool ofDoesHWOrientation();
ofPoint ofGetWindowSize();
ofRectangle ofGetWindowRect()
ofAppBaseWindow * ofGetWindowPtr();
void ofSetWindowPosition(int x, int y);
void ofSetWindowShape(int width, int height);
void ofSetWindowTitle(string title);
void ofEnableSetupScreen();
void ofDisableSetupScreen();
void ofSetFullscreen(bool fullscreen);
void ofToggleFullscreen();

You can also get the native objects, depending on the OS:

Display* ofGetX11Display();
Window  ofGetX11Window();

Tested on linux mint 18.3 & of v0.9.8

online identity ∋ [ social ∋ [mastodon♥, twitter®, facebook®, diaspora, linkedin®] ∥ repos ∋ [github®, gitlab♥, bitbucket®, sourceforge] ∥ media ∋ [itch.io®, vimeo®, peertube♥, twitch.tv®, tumblr®] ∥ communities ∋ [godotengine♥, openprocessing, stackoverflow, threejs]]
Igotit 1000-1500jpg movie.png

Automatised post-processing of video using image compression algorithm glitches.

screenshots

Die Antwoord, Banana brain


Lorn, Acid Rain



Bhad Bhabie, I got it


video

process

For jpg codec, the process is recompressing each frame with 1% less quality than previous compression. In the videos above, we start at 40% and gradually decrease the quality to 1%.

For gif codec, it is much more straight-forward, as we do the process in one pass, specifying the number of colors in the palette.

Python script

try:
   from cStringIO import StringIO as BytesIO
except ImportError:
   from io import BytesIO
from PIL import Image
import os
import shutil
import subprocess 


------------- GLOBAL ------------- 


# set to true if the source video has not been extracted already
regenarate_video_frames = False
recompress_video_frames = True
regenarate_output_video = True
# source video path
video = 'source.mv'
# folder path to export source video frames
folder_frames = 'frames'
# folder path to store compressed video frames
folder_compressed = 'compressed'
# type of compressor - JPG or GIF
compressor = 'JPG'

# jpg compressor settings
jpg_from = 40
jpg_to = 1
jpg_steps = 1

# gif compressor settings
gif_colors = 4

# output frames limits
limit_from = 1800
limit_to = 3125

# output frame rate
fps = 25

fprefix = 'output_'


------------- FUNCTIONS ------------- 


def create_folder(p):
	if not os.path.exists(p):
		os.makedirs(p)
	else:
		clear_folder(p)
		
def clear_folder(p):
	for root, dirs, files in os.walk( p ):
		for f in files:
			os.unlink(os.path.join( root, f ))
		for d in dirs:
			shutil.rmtree(os.path.join( root, d ))

def jpg_compress( src_path, dst_path ):
	jpg_q = jpg_from
	while jpg_q >= jpg_to:
		src = Image.open( src_path )
		buffer = BytesIO()
		src.save( buffer, "JPEG", quality = jpg_q, optimize=True, progressive=True ) [...WorkUnit:Carnages, frame per frame compressions...]

Links and any kind of info related to disrupted cities.

The city as a research

New Babylon

Constant new babylon model bw.jpg Constant new babylon model color.jpg.jpg

New Babylon is an anti-capitalist city, perceived and designed in 1959-74 as a future potentiality by visual artist Constant Nieuwenhuys

The city as an actor

Different story and/or artwork where the city is leaving its role of background to become an actual protagonist of the story, imposing its scale, structure and time to the human-like characters.

Dark city

Dark-city-screenshot.jpg

Darkcity, 100min, 1998, by Alex Proyas

The city is shifting every night, while population is in a catatonic sleep. The whole map and architecture is mixed up in front of our eyes, modifying the perception of structural stability, or at least very slow evolution, commonly inferred by the streets and buildings. This movie is the main inspiration for the city generator library.

Blame!

Blame.jpg Blame-killy and shibo.jpg

Blame! (original title: ブラム!), 1998 – 2003, by Tsutomu Nihei

The main character, killy, a taciturn and undetermined young adult, is wandering in an endless succession of super-structure (megastructures in the manga) enclosing cities and vast empty space. Along the 10 volumes covering an undefined time, from several years to hundreds. During this journey, the different action scenes are separated by long periods of absolute loneliness. In this story, the city is not decaying but self-regenerate thanks to giant building robots, apparently left on their own and continuously creating new structures. The city is not actually moving by itself, but has no other reason of expending else than the fact of build. It is a self-sufficient object, liberated from its utility to mankind. [...WorkUnit:Disrupted Cities - docs...]

NYC-logo-small.png

quoi et où à new-york

Sub-cultures

Babycastles

(collective/co-working)

DSC 0302.jpg

Indie / underground gaming place in manhattan (workspace, events). Visited on the 05/03/2018.

Rules of the place:

Babycastles is a community committed to being a safe, respectful and positive environment -- supporting artists and guests by providing a space for free expression of all people. Upon entry, all attendees agree to respect personal boundaries and take responsibility for their actions and experience.

Babycastles will not tolerate language or behavior that is oppressive. We define oppressive behavior as:

  • Any kind of uninvited physical contact, sexual or otherwise
  • Comments or other behaviors that are racist, sexist, homophobic, or transphobic, ableist, classist, ageist, or otherwise discriminatory
  • Deliberate intimidation
  • Harassing photography or recording
  • Sustained or willful disruption of events, programming, or services

Playlist:

Spherical Smackdown by rbazelais Mound by ohsqueezy

Babycastles-NY.png

  • Current address: 145 W.14th St. - Downstairs - NY, NY 10011
  • website
  • twitter

Death by audio arcade

(collective)

Deathbyaudioarcade-logo.png

The Death By Audio Arcade is a series of local multiplayer arcade cabinets produced by local indie game developers that originate from Death By Audio, Brooklyn's influential DIY music venue.

Deathbyaudioarcade-demonight.jpg

Event i went to: DBAA NYC Dev Demo Night

Playlist:

Zarvot by snowhydra games Tuned Out by Shallow Games [...Notes:New-York...]

Question here below is simple: how to produce moving images with colored dots. The idea has been experimented in several technical and visual forms, all based on the manipulation of simple basic entities.

PelleasetMelisande-NicolasDescoteaux-OperaDeBordeaux-designvideo-9.jpg

Researches related to particles, in different context:

  • colliding with a 3d model, researches of 2013
  • in relation with a vector field, for Pelléas et Mélisande opéra.

Accumulation management

FBO pipeline that:

  • control the accumulation of the particles in time by making them disappear gradually (fade2black)
  • transform the luminosity of pixels into alpha, darker => more transparent (lum2alpha)

Passes, by columns:

  1. current frame
  2. fade2black shader and accumulation of the current on top of previous ones
  3. lum2alpha shader, this is the output frame, shown on checkboard, black and green background
  4. delta between second and third pass, showing the color loss during the lum2alpha pass

Accumulation alpha shaders.png

shaders

All shaders below are pixels shaders. The vertex shader associated is ultra basic, and i'm not even sure you need one... (openframeworks binding)

vertex shader

#version 120
void main() {
   gl_Position = ftransform();
}

fade2black

#version 120
uniform sampler2DRect tex0;
uniform float decay_factor;
uniform float decay_mult;
const float PI = 3.14159265358979323846;
const float HALF_PI = 1.57079632679489661923;
void main() {
   vec4 c = texture2DRect(tex0, gl_FragCoord.xy);
   float dfi = 1.0 - decay_factor;
   c.r -=  ( 1 - ( ( 1 + sin( -HALF_PI + c.r * PI ) ) * 0.5 ) ) * decay_factor;
   c.g -=  ( 1 - ( ( 1 + sin( -HALF_PI + c.g * PI ) ) * 0.5 ) ) * decay_factor;
   c.b -=  ( 1 - ( ( 1 + sin( -HALF_PI + c.b * PI ) ) * 0.5 ) ) * decay_factor;
   c.r *= decay_mult;
   c.g *= decay_mult;
   c.b *= decay_mult;
   gl_FragColor = c;
}

lum2alpha

#version 120 [...WorkUnit:Particles...]

Chubby and caballo

Her comes the transi

Adding a character: Le Transi de Rene de Chalon, 3d scan.

All images below has been rendered in blender, just to mention.

It has been quite a work to rig it and uv unwrapped it, now it is ready for godot, where i will test animations.

Transi 001.png Transi 002.png Transi 003.png

Other point of view.

Transi rockandroll.png Transi backlight.png

First batch

First batch of ingame screenshots.

menu


the 2 scenes

--

Downloadable

Highlights

Main work units[1]

DC-banner.jpg

Disrupted Cities - ballad in a virtual city

Carnages-banner-hitomi and the yakuzas.jpg

Carnages - videos generation

Tanukis-banner.jpg

Tanukis - avatar based

Genealogy-banner.jpg

Genealogy - generative art


  1. I choose to avoid the word project (everybody has projects) and, from now on, I'll call the different pieces I'm working on work unit. About Work Unit.

online identity ∋ [ social ∋ [mastodon♥, twitter®, facebook®, diaspora, linkedin®] ∥ repos ∋ [github®, gitlab♥, bitbucket®, sourceforge] ∥ media ∋ [itch.io®, vimeo®, peertube♥, twitch.tv®, tumblr®] ∥ communities ∋ [godotengine♥, openprocessing, stackoverflow, threejs]]