195.1 million views

In the Summer of 2019, I applied for a GIPHY artist’s account. GIPHY “is an American online database and search engine that allows users to search for and share animated GIF files.” (Wikipedia). A … Lees Meer

Dear costumer service,

The more things change, the more they stay the same. After decades, your company has changed the taste of your product from X to Y. This change has consequences for the daily … Lees Meer

Essay: Handtassen van jeansbroeken

Cultureel ondernemerschap of artistieke dienstverlening Gepubliceerd op 17/8/2020, E-tcetera, link naar artikel. In 1998 werd econoom Rick van der Ploeg voor de Nederlandse PvdA – verwant aan de Vlaamse sp.a – staatssecretaris … Lees Meer

Mistakes: the artist talk

Mistakes: the artist talk HD, colour/sound, 20’20”, 2020 Antwerp, April 28, 2020 Wednesday, April 29, 2020 anno covidii, I was supposed to give a talk over lunch at the end of my … Lees Meer

The Three Motions of Loom

The Three Motions of Loom: a solo show, three tapestries, an edition, miniatures, and a video installation. Antwerp Art Pavilion, invited by Base-Alpha Gallery, 2019-2020. Based on Jeroen Olyslaegers‘ novel-in-progress ‘Wildevrouw’, which … Lees Meer

Fundamental Mechanics

Fundamentall Mechanics / collection token 72 chapters, .gif, 360 × 639 pixels, variable frames, 2019-2020 The series was made on a mediocre iPhone 5 using the Instagram stories feature while researching 16th century visual … Lees Meer

The Three Motions of Loom

The Three Motions of Loom Three gobelin woven tapestries, (organic) cotton, wool, viscose, acrylic, 162 x 296cm, 2019. Edition of 3. The three tapestries of The Three Motions of Loom departed from … Lees Meer

// script.js document.addEventListener("DOMContentLoaded", function() { // Check if the body has the specific page class if (document.body.classList.contains('page-id-400605')) { const container = document.getElementById("container"); // Function to create and position images function createImage(src) { const img = document.createElement("img"); img.src = src; img.classList.add("image"); // Set random width and rotation const randomWidth = Math.random() * (150 - 50) + 50; // Random width between 50px and 150px const randomRotation = Math.random() * 30 - 15; // Random rotation between -15deg and 15deg img.style.width = `${randomWidth}px`; img.style.transform = `rotate(${randomRotation}deg)`; // Random position within the container img.style.top = Math.random() * (container.clientHeight - randomWidth) + 'px'; img.style.left = Math.random() * (container.clientWidth - randomWidth) + 'px'; img.draggable = true; // Event listeners for dragging img.addEventListener("dragstart", function(e) { e.dataTransfer.setData("text/plain", null); // For Firefox compatibility img.style.transition = 'none'; // Disable transition during drag }); img.addEventListener("dragend", function() { img.style.transition = 'transform 0.1s'; // Re-enable transition after drag }); img.addEventListener("drag", function(e) { const x = e.clientX - container.getBoundingClientRect().left - randomWidth / 2; // Adjust for image width const y = e.clientY - container.getBoundingClientRect().top - randomWidth / 2; // Adjust for image height img.style.transform = `translate(${x}px, ${y}px) rotate(${randomRotation}deg)`; // Keep rotation }); container.appendChild(img); } // Load images from a specified folder const imageFolder = 'https://yourwebsite.com/path/to/your/images/'; // Update with your image folder path let i = 1; // Initialize the counter while (true) { // Infinite loop to keep trying to load images const imageUrl = `${imageFolder}image${i}.jpg`; // Adjust this to match your image naming convention const img = new Image(); img.src = imageUrl; // Check if the image exists before creating it img.onload = function() { createImage(imageUrl); }; img.onerror = function() { console.log(`Image ${imageUrl} does not exist. Stopping further attempts.`); break; // Stop loading more images if one doesn't exist }; i++; // Increment the counter } } });