In 2020, I surveyed the darktable user base and published the results1 : a population of male engineers and scientists, more educated and vastly more computer-literate than the general population, with close to no women and few professional photographers. The conclusion was blunt : a photo processing software had managed to attract everybody but the people who make photography their trade. I ran…
It’s been a bit more than one year that I have put Chantal AI online, with now 3 major iterations of design. It’s time to compile what I learned from that. Introduction : information retrieval So you have documents and pages containing information and knowledge (HTML, plain text and PDF) useful to your business. That’s better than not having documents. Problem is, as the number…
In the strange, pathetic society we live in, avoiding fight and conflict at all costs is often mistaken for being empathetic, and the woke bullshit has even made it a virtue. Following in this devious way of thinking, the ability to compromise has wrongly been associated with open-mindness and tolerance. It’s neither of those things. People who care, fight On an individual and collective…
This is a follow-up on the previous Websites suck, which covered the preliminary information retrieval step. Introduction On the open-source planet, in the 2020’s, information is scattered over many websites : scientific journals for theory, specification sheets for standards and protocols, software documentation for “how to use tool”, blogs and Youtube tutorials for “how…
The silver halide film grain has an unique look that introduces some texture in smooth image areas, where digital imagery may look synthetic and too clean. Emulating this effect in digital photography cannot be done by simply adding gaussian or poissonian noise to the image, since silver halide grain has varying shapes and sizes. There are two techniques to do it : overlaying an image of natural…
I have spent the past month working on an AI-based search engine. When you go on darktable sub-Reddit, you will find the question “why do lighttable’s thumbnails look different from darkroom preview” asked every next week. The question is answered many times on this sub-Reddit, on various forums, and I even put the answer on the main Readme file, displayed on the Github main page…
The core basics of design are to know for whom you design, that is who are the users of your solution, what they expect and what they need. It is also necessary to assess if the actual user of your product is the one you designed it for in the first place, that is, who is missing from your user base, to avoid the survivor bias .
There is this mantra that I have been hearing too much in my life : “don’t reinvent the wheel”. People mean that as a metaphor trying to discourage you from redoing something that is already done, and by that they actually want you to use whatever software application or library instead of coding your own, as if it was automatically a time and resource saver. It’s not.…
The FLOSS applicative ecosystem is moved by an ideology of freedom and privacy. But it speaks a double language : luring new users in on political and ethical matters on one hand, dismissing any responsibility on technical and usability matters on the other. And usability sucks for structural reasons.
In image processing, retouchers may want to apply a saturation boost on specific hues only. Typically, uniform saturation corrections follow a basic linear transfer function $sat_{out} = gain \cdot sat_{in}$, where $gain$ is a real positive constant. To target specific hues, we simply rewrite $sat_{out}(hue) = gain(hue) \cdot sat_{in}$ where $gain$ is then a function. The most common way to…
There is one thing you will find on the home page of pretty much any open source (call it libre or free if you will, those lines are blurred) image editing software : the promise that it is, somehow, suitable for professionals. Marketing has abused that word for decades, it is only natural that it should affect non-commercial and non-profit projects as well, just to try to buy some cheap…
The saturation control of pretty much all image processing software is an unfortunate misnomer, to say the least. It actually controls either the chroma in Ych-like spaces (computed from CIE Yxy 1931, Yuv or YCbCr spaces), or some remote idea of saturation as used by HSL spaces, which are essentially a polar rewriting of RGB coordinates (usually expressed in sRGB space). The…
I’m a responsible web designer, and as such, since WordPress (finally) accepts media uploads of image/webp MIME type and since all web browsers  newer than september 2020 (even Apple Safari \o/) can display it, I have been moving my photos library to WebP . After all, when you create content, the least you can do is to also provide the smoothest user experience around it.
This page is inspired by the Munsell book of color. It aims at showing the sRGB gamut volume (all the visible colors that can be encoded as sRGB triplets), projected into a perceptually uniform lightness/chroma space (using JzAzBz color space1), and sliced across hue planes. The sRGB space is the lowest common denominator of all general-audience screens, and is deemed fit to choose colors for GUI,…
WP Scholar provides a clutter-free, direct and fast typing experience for the heavy-duty writers who type a lot every day (technical writers, engineers, analysts, journalists, researchers, scientists, etc.) and are stuck with WordPress as a CMS. It supports equations, footnotes, table of contents, code highlighting, charts drawing, interactive plots and Jupyter notebooks includes, through a direct…
The Laplacian operator $\Delta u$ is the divergence of the gradient, that is the sum of the second-order partial derivatives $\nabla^2 u$ of a multivariate function, which represents the local curvature of this function. This operator is widely used for edge-detection1, as well as in partial-differential equations (Poisson, etc.), and other problems of machine-learning minimisation. For numerical…
Among the technical fields, quite a few have the potential to harm the public : the first that come to mind are medicine and civil engineering. Both have in common their scientific basis : studies, data, models and history form a corpus of knowledge and tools used by the practitioners to help making choices. However scientific their basis is, the practice remains an art or a craft. Indeed, while…
As a designer, your job is to match someone’s needs/problems with a solution. The tricky part is, this someone is not necessarily the client you are talking with and who pays you, it could be a third party that you only know of through your paying client. As an engineer, the particular kind of design you do aims toward technical solutions, so you might produce plans, blueprints, calculations…
If you are working in image processing and using Python as a prototyping script language to test algorithms, you might have noticed that all the libs providing fast image interpolation methods (to either sub-sample or over-sample) work in 8 bits unsigned integers (uint8). This is quite annoying if you are working with floating point images. PIL supports floating point interpolation , but…
Following my work on the filmic tonemapping, several users have reported issues with very saturated blue areas (stage spotlights, bright skies) and red areas. The grail of image processing is being able to affect colors and brightness independantly. The big conundrum of tonemapping is raising luminance without affecting perceptual colors, and, by color, we mean hue and saturation/chroma. The…
Darktable  is an open-source software for raw photographs management and processing developped since 2009 for Linux desktops. Since then, it has been ported on Mac OS and Windows 7, 8, 10. After having used it for 7 years, I begun to develop in it 3 months ago. This article shows my work and results to improve the HDR-scenes handling in darktable, in a fashion that allows better color…
I have been using WordPress as a CMS (content management system) for almost 10 years now. When I dug into it, I knew nothing about PHP, SQL, CSS, programmation and servers. That was one year after I switched from Windows Vista to Linux Ubuntu. I remember the big selling point of WordPress was its “15 min installation with no coding knowledge”. Slowly, I began hacking my WP theme with…
I have struggled with most solutions to convert and embed Jupyter notebooks into WordPress blog posts since I use Plotly as a graphic lib, as well as many LaTeX equations and images. Finally, I had to code my way through. Here is what I did : Write the jupyter notebook Nothing that you don’t know here. If you embed pictures in the notebook though, it would be good to upload them on your…
Introduction General goal The design of a camping van involves an estimation of the heat losses that will lead to the subsequent design of both the insulation and the heating system. This study will aim at evaluating the average heat flux through the van surfaces in steady mode. Tools of the trade For that matter, we will use mostly Numpy, the scientific computing module for vector and matrice…
A few weeks ago, I discovered the tiny world of tiny houses and camping-vans and found that quite amazing. However, the current commercial camping vans look pretty sub-optimal to me, because they are equipped with kitchen-style furniture, meaning heavy, stand-alone stuff made of chipwood/OSB panels 1.5 cm thick. See for yourself : I spent 3 years working at Polytechnique Montreal on a 280 kg solar…
This website was designed halfway between a digital book and a blog, emphasizing content structure. It is accessible in hierarchical, transversal, topical, chronological and opportunistic ways, which demands some explanations for it is uncommon. Structure Hierarchical access Pages are layered into sections and subsections, appearing linearly in the breadcrumbs (under the page title), and as a…