41554 blogs · [ { "id": "01a08797-eba0-724d-b832-3beaf8375891", "title": "Attractors as an Android live wallpaper", "url": "https://labs.steren.fr/2026/attractors-android/", "published_at": "2026-08-29T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaf868d32a", "title": "Cloud Run GCS Directory Sync", "url": "https://labs.steren.fr/2026/cloud-run-gcs-directory-sync/", "published_at": "2026-06-06T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaf8980d00", "title": "Flamenco Render Farm on Google Cloud Run", "url": "https://labs.steren.fr/2026/flamenco-cloud-run/", "published_at": "2026-03-09T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaf9b477a7", "title": "A Python Script to Deploy to Cloud Run", "url": "https://labs.steren.fr/2025/python-script-to-deploy-to-cloud-run/", "published_at": "2025-05-03T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaf8dd4e62", "title": "Deploying to Cloud Run Directly From Your Web App", "url": "https://labs.steren.fr/2025/deploying-to-cloud-run-directly-from-your-web-app/", "published_at": "2025-04-15T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafa59d9ce", "title": "The Modern FTP: Instant Deploys to Cloud Run", "url": "https://labs.steren.fr/2025/instant-deploy-cloud-run/", "published_at": "2025-02-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafb32eb72", "title": "Audio to Video", "url": "https://labs.steren.fr/2024/audio-to-video/", "published_at": "2024-09-22T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafb8c2741", "title": "PDF to SVG", "url": "https://labs.steren.fr/2024/pdf-to-svg/", "published_at": "2024-05-04T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafc47f040", "title": "Pool on solar", "url": "https://labs.steren.fr/2023/pool-on-solar/", "published_at": "2023-11-01T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafc55827c", "title": "rtx-on.js", "url": "https://labs.steren.fr/2023/rtx-on/", "published_at": "2023-06-12T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafc5f22c9", "title": "Automated E2E Testing with Chrome DevTools & Cloud Run", "url": "https://labs.steren.fr/2023/cloud-run-replay/", "published_at": "2023-03-07T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafd50a339", "title": "Half-Life Engine JS", "url": "https://labs.steren.fr/2023/half-life-engine-js/", "published_at": "2023-01-28T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafed00eca", "title": "Set up Firebase Hosting in front of a Cloud Run service, without using the firebase CLI", "url": "https://labs.steren.fr/2021/enable-firebase-hosting-cloud-run/", "published_at": "2021-12-13T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafef4ad05", "title": "<stereo-img> a web component to display 3D stereo pictures on web pages and in VR", "url": "https://labs.steren.fr/2021/stereo-img/", "published_at": "2021-11-13T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaff1a34ba", "title": "A Naive container base image update strategy", "url": "https://labs.steren.fr/2021/naive-base-image-updates/", "published_at": "2021-10-14T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beaffb31408", "title": "Google Cloud Region Picker", "url": "https://labs.steren.fr/2021/google-cloud-region-picker/", "published_at": "2021-04-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb00253189", "title": "Display the value of an HTML attribute in custom list bullets with CSS", "url": "https://labs.steren.fr/2020/use-value-from-html-attribute-in-list-item-bullets/", "published_at": "2020-12-29T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb008bc591", "title": "Datastore Cleaner", "url": "https://labs.steren.fr/2020/datastore-cleaner/", "published_at": "2020-09-12T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafdf91277", "title": "Pure CSS content filtering with :has()", "url": "https://labs.steren.fr/2022/pure-css-content-filtering-has/", "published_at": "2020-07-30T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb00a778c1", "title": "Migrating from App Engine to Cloud Run", "url": "https://labs.steren.fr/2020/migrating-from-app-engine-to-cloud-run/", "published_at": "2020-06-10T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb012fcca9", "title": "Screenshot as SVG", "url": "https://labs.steren.fr/2020/05/08/screenshot-as-svg/", "published_at": "2020-05-08T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafebf5c67", "title": "Lifting water to store energy", "url": "https://labs.steren.fr/2022/water-energy-storage/", "published_at": "2020-04-30T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beafebf8bab", "title": "Space to earth solar energy", "url": "https://labs.steren.fr/2022/space-to-earth-solar-energy/", "published_at": "2020-03-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb01a5e400", "title": "Computing CO2 emissions from Location History", "url": "https://labs.steren.fr/2020/03/05/computing-co2-emissions-from-location-history/", "published_at": "2020-03-05T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb02251ba3", "title": "Animating SVG using CSS", "url": "https://labs.steren.fr/2019/11/30/animating-svg-using-css/", "published_at": "2019-11-30T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0278328f", "title": "Deepwater", "url": "https://labs.steren.fr/2019/deepwater/", "published_at": "2019-11-30T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb02d0e92a", "title": "Open sourcing Remixthem, my first Android app", "url": "https://labs.steren.fr/2018/12/26/remixthem/", "published_at": "2018-12-26T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0348a7a0", "title": "Rendering Blender 3D scenes in the cloud", "url": "https://labs.steren.fr/2018/09/24/rendering-blender-3d-scenes-in-the-cloud/", "published_at": "2018-09-24T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb034d1814", "title": "Web page visual history", "url": "https://labs.steren.fr/2018/web-page-visual-history/", "published_at": "2018-06-01T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0441e597", "title": "Attractors", "url": "https://labs.steren.fr/2018/02/20/attractors/", "published_at": "2018-02-20T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb05413230", "title": "Scuba Diving dashboard using Google Data Studio", "url": "https://labs.steren.fr/2017/09/11/scuba-diving-dashboard-using-google-data-studio/", "published_at": "2017-09-11T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0606bcfb", "title": "Extracting all Go regular expressions found on GitHub", "url": "https://labs.steren.fr/2017/08/17/extracting-all-go-regular-expressions-found-on-github/", "published_at": "2017-08-17T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb06fa216d", "title": "Setting up Stackdriver Error Reporting on Play Framework 1.4", "url": "https://labs.steren.fr/2016/11/10/setting-up-stackdriver-error-reporting-on-play-framework-1-4/", "published_at": "2016-11-10T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb074de392", "title": "Projection mapping on painting", "url": "https://labs.steren.fr/2016/11/05/projection-mapping-on-painting/", "published_at": "2016-11-05T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb07638703", "title": "Generating a name tag sheet from a list of names", "url": "https://labs.steren.fr/2016/06/18/generating-a-name-tag-sheet-from-a-list-of-names/", "published_at": "2016-06-18T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb080f5204", "title": "Trying to confuse Google’s Vision algorithms with dogs and muffins", "url": "https://labs.steren.fr/2016/03/27/trying-to-confuse-googles-vision-algorithms-with-dogs-and-muffins/", "published_at": "2016-03-27T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb083af996", "title": "Color palette showcase", "url": "https://labs.steren.fr/2016/01/25/color-palette-showcase/", "published_at": "2016-01-25T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb092e33e5", "title": "Climb Tracker for Android and Android wear", "url": "https://labs.steren.fr/2015/10/27/climb-tracker-for-android-and-android-wear/", "published_at": "2015-12-27T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb08e5ed44", "title": "Painting in the style of Bob Ross", "url": "https://labs.steren.fr/2015/12/13/painting-in-the-style-of-bob-ross/", "published_at": "2015-12-13T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0a2358ff", "title": "Exploring ruled surfaces with Three.js and Sketchfab", "url": "https://labs.steren.fr/2015/04/22/exploring-ruled-surfaces-with-three-js-and-sketchfab/", "published_at": "2015-04-22T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0afcc7e4", "title": "Building a portfolio using Polymer", "url": "https://labs.steren.fr/2015/04/21/portfolio-polymer/", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0b795c89", "title": "Cloud cup: a multiplayer set of mini games for web and Android", "url": "https://labs.steren.fr/2015/03/12/cloud-cup-a-multiplayer-set-of-mini-games-for-web-and-android/", "published_at": "2015-03-12T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0bba7b41", "title": "Sketchfab Head Tracker", "url": "https://labs.steren.fr/2015/03/sketchfab-head-tracker/", "published_at": "2015-03-01T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0c0243be", "title": "Beansight is now open source", "url": "https://labs.steren.fr/2014/05/14/beansight-is-now-open-source/", "published_at": "2014-05-14T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0c906609", "title": "Indoor climbing tracker", "url": "https://labs.steren.fr/2014/05/05/indoor-climbing-tracker/", "published_at": "2014-05-05T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0cbd27e0", "title": "LeCamping Mafia", "url": "https://labs.steren.fr/2014/04/19/lecamping-mafia/", "published_at": "2014-04-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0cf85272", "title": "How to prove you created something before somebody else?", "url": "https://labs.steren.fr/2014/04/04/priority-for-everyone/", "published_at": "2014-04-04T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0d70dc09", "title": "How to generate a maze?", "url": "https://labs.steren.fr/2014/04/01/how-to-generate-a-maze/", "published_at": "2014-04-01T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0dc5d3c7", "title": "Colourful intermediate results", "url": "https://labs.steren.fr/2014/03/20/colourful-intermediate-results/", "published_at": "2014-03-20T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0e9a4d43", "title": "MRI proton spin: 3D animated mathematical curve in the browser using MathBox.js", "url": "https://labs.steren.fr/2013/12/10/mri-principle-3d-curve-browser/", "published_at": "2013-12-10T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0eaf1166", "title": "My Portfolio written with AngularJS", "url": "https://labs.steren.fr/2013/09/25/angularjs-portfolio-website/", "published_at": "2013-09-25T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb0f2cbedb", "title": "Poker tournament tracker", "url": "https://labs.steren.fr/2013/09/23/poker-tournament-tracker/", "published_at": "2013-09-23T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb10240d64", "title": "Sculptfab", "url": "https://labs.steren.fr/2013/07/19/sculptfab/", "published_at": "2013-07-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb10323279", "title": "Server-sent Events ParisJS talk", "url": "https://labs.steren.fr/2013/04/19/server-sent-events-parisjs-talk/", "published_at": "2013-04-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb10f74c53", "title": "Bringing video support to Phonegap Android", "url": "https://labs.steren.fr/2012/10/24/video-support-phonegap-android/", "published_at": "2012-10-24T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1100479b", "title": "Annual update to “Cadeaux entre nous”", "url": "https://labs.steren.fr/2012/10/03/annual-update-to-cadeaux-entre-nous/", "published_at": "2012-10-03T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1129ae86", "title": "voyages-sncf.com: more is less", "url": "https://labs.steren.fr/2012/02/10/voyages-sncf-com-more-is-less/", "published_at": "2012-02-10T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb11e0ba5b", "title": "Noisebox: a connected music box", "url": "https://labs.steren.fr/2011/12/noisebox-a-connected-music-box/", "published_at": "2011-12-01T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1240c60b", "title": "Maldives documentary", "url": "https://labs.steren.fr/2011/11/16/349/", "published_at": "2011-11-16T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb128d147f", "title": "Square of the Dead", "url": "https://labs.steren.fr/2011/09/20/square-of-the-dead/", "published_at": "2011-09-20T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb12bbfdd3", "title": "AnyDance", "url": "https://labs.steren.fr/2011/09/15/anydance/", "published_at": "2011-09-15T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1338b496", "title": "Hack Le Camping logo", "url": "https://labs.steren.fr/2011/05/19/hack-le-camping-logo/", "published_at": "2011-05-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb13f47a69", "title": "You just know the time", "url": "https://labs.steren.fr/2011/05/09/you-just-know-the-time/", "published_at": "2011-05-09T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb14bf2a1a", "title": "Image processing with Javascript", "url": "https://labs.steren.fr/2011/05/07/image-processing-with-javascript/", "published_at": "2011-05-07T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1503334d", "title": "Bokeh", "url": "https://labs.steren.fr/2011/bokeh/", "published_at": "2011-04-18T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb155ba068", "title": "Beansight selected for Le Camping", "url": "https://labs.steren.fr/2010/12/22/beansight-le-camping/", "published_at": "2010-12-22T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb15d4ee78", "title": "Controlling my laptop with hand gesture", "url": "https://labs.steren.fr/2010/12/16/no-touch-screen/", "published_at": "2010-12-16T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb16d2a9f1", "title": "Experimenting with “Concept Free Art”", "url": "https://labs.steren.fr/2010/12/05/concept-free-art/", "published_at": "2010-12-05T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb17c7b63c", "title": "Lesson learnt: use tasks and retries to send emails", "url": "https://labs.steren.fr/2010/12/04/bugfixes-and-new-features/", "published_at": "2010-12-04T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb17e862cb", "title": "Beansight pitch", "url": "https://labs.steren.fr/2010/11/25/beansight-pitch/", "published_at": "2010-11-25T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb18875918", "title": "Gifts between us", "url": "https://labs.steren.fr/2010/11/24/gifts-between-friends/", "published_at": "2010-11-24T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb18c5e77a", "title": "Call Wikipedia API using jQuery", "url": "https://labs.steren.fr/2010/11/18/call-wikipedia-api-using-jquery/", "published_at": "2010-11-18T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb18ee045b", "title": "Open Divers: My fish database", "url": "https://labs.steren.fr/2010/11/17/my-fish-database/", "published_at": "2010-11-17T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb19952e99", "title": "Beansight: the path to the private beta", "url": "https://labs.steren.fr/2010/10/28/beansight-path-to-private-beta/", "published_at": "2010-10-28T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1a5c5c76", "title": "Open Divers: How is it done?", "url": "https://labs.steren.fr/2010/10/20/open-divers-how-is-it-done/", "published_at": "2010-10-20T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1a78e80f", "title": "Open Divers: first screen", "url": "https://labs.steren.fr/2010/10/19/open-divers-first-screen/", "published_at": "2010-10-19T12:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1b363cc4", "title": "Beansight at Start In Paris", "url": "https://labs.steren.fr/2010/10/19/beansight-at-start-in-paris/", "published_at": "2010-10-19T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1b86f4e9", "title": "Open Divers: an online dive log", "url": "https://labs.steren.fr/2010/10/12/first-project-open-divers/", "published_at": "2010-10-12T00:00:00+00:00" }, { "id": "01a08797-eba0-724d-b832-3beb1bd72a4d", "title": "SVG export for Alchemy", "url": "http://al.chemy.org/news/alchemy-008-beta-release/", "published_at": "2009-08-01T00:00:00+00:00" } ] posts Claim your blog
Back to labs.steren.fr
Blog · corpus.blog/blogs/labs.steren.fr/posts

labs.steren.fr

labs.steren.fr

2026

2025

2024

2023

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009