298 private links
Seulement 10% des victimes de viol portent plainte.
Une fois la plainte déposée, 70% des plaintes sont classées sans suite.
Quand ça va jusqu'au procès, seulement 1% des violeurs sont condamnés.La Cour de cassation a infirmé ce point de vue et demande que ce soit rejugé. Mais nous sommes quand même avec un droit qui permet de prononcer un non-lieu alors même que l’agresseur a reconnu que la femme a dit non. En l’absence d’un refus jugé « sérieux », l’agresseur est en droit de penser que l’autre est d’accord. Le droit pénal l’y autorise.
En lisant cet article, c'est affligeant de constater que le niveau de la justice est très bas sur ce sujet.
Il y a par exemple, par défaut, un accés aux corps. C'est à la victime de prouver de A à Z son non-consentement, d'autant plus qu'un ou plusieurs « non » ne sont pas valables selon certaines jurisprudence.
The tricky part is to make sure that requests made with JavaScript work the same as with HTML.
- Implement features in HTML first
- then add javascript
Conveniently, if the HTML is done properly we can derive all the information we need.
document.querySelector('form').addEventListener('submit', (event) => {
const form = event.target;
const url = new URL(form.action || window.location.href);
const formData = new FormData(form);
const searchParameters = new URLSearchParams(formData);
const options = {
method: form.method,
};
if (options.method === 'post') {
// Modify request body to include form data
options.body =
form.enctype === 'multipart/form-data' ? formData : searchParameters;
} else {
// Modify URL to include form data
url.search = searchParameters;
}
fetch(url, options);
event.preventDefault();
}
For POST requests, we’ll send the data in the request body.
- If the form explicitly sets the enctype to 'multipart/form-data', it’s safe to use FormData in the body.
- Otherwise, we can fall back to URLSearchParams.
For GET requests, we’ll send the data in the request URL with the URLSearchParams object.
For the response: the header Accept: 'application/json' tells the server that json is awaited by the client else return HTML or a redirect :)
if we want to support HTML forms, we are though limited to GET and POST. But there is a nice workaround too:
- The GET and POST routes don’t change.
- The PATCH and DELETE routes become POST.
- We append the “methods”
/updateand/deleteto their respective routes.
Also: to include extra data in your request, you can use and input with the name, value, and the type of “hidden”.
It is also important that not all progressive enhancement is a zero sum game.
- React is a UI library.
- React component libraries are always for UI
- Components will update, whether you want them to or not
- useEffect is a major to control the rerendering
A css only typewriter !
Sadly does not work for casual users of Firefox at the moment (2022-06-03) as stated by caniuse.
EDIT 2024: it works now.
Create a tool to pulls stats from the git commit messages about gitmoji.
A small project to learn deno or rust :)
- Automatic blocking of autoplay videos
- Speedier website browsing
- Lighter on system resources
- Mobile extensions (some of them)
- Equally easy sync across all devices
- Deeper safeguards for privacy
- Reader mode
- Open-source code
Bon sujet. Je ne suis pas assez renseigné pour donner un avis éclairé.
Feather Wiki is an app for creating personal non-linear notebooks, databases, and wikis that is entirely self-contained and runs in your browser.
And I will use it instead of DokuWiki I guess :)
The open-source tech-stack:
- Moodle
- Nextcloud
- BigBlueButton
SQL table expressions are somewhat similar to functions in a regular programming language — they reduce the overall complexity.
You can write an unreadable sheet of code, or you can break the code into understandable individual functions and compose a program out of them.
You can build a tower of nested subqueries, or you can extract them into CTEs and reference from the main query.There is a myth that “CTEs are slow”. It came from old versions of PostgreSQL (11 and earlier), which always materialized CTE — calculated the full result of a table expression and stored it until the end of the query.
Ok. There are some rules:
- CTE runs on every request
- CTE splits the query code into multiple chunks
- instead of subquery, always use CTE for clarity
Tu te demande si y a pas un problème avec ce sport quand le Ministère de l’Intérieur doit mettre en place un périmètre de sécurité, une restriction sur l’alcool, une restriction sur le port des maillots de foot sur les Champs-Élysées pendant quatre jours…
…et déployer 6 800 policiers et militaires pour que tout se passe pas trop mal.
Effectivement comme le souligne LeHollandaisVolant, il y a peut être un problème avec ce sport, alors qu'il s'agit d'une banale rencontre qui n'a pas d'enjeux politique comme un Russie/Ukraine, Israel/Palestine, Chine/
Ce n'est pas le cas pour Roland Garros ou
With this it is possible to try SQLite in the browser. The whole thing runs using WASM (compiled using Emscripten) and was announced by Richard Hipp as part of the SQLite 3.39.0 beta in the SQLite forum.
What is also interesting is that to load the page, less than 1 MB of data needs to be loaded. If compression were enabled, this could probably be reduced further.
sqlite3 fiddle could make it easier to quickly try something with SQLite. Instead of downloading sqlite3 first and then trying it out locally, you just open the page and can quickly use the latest sqlite3 version.
So 0,0016% of the tesla.
How to have temporary data:
1 - Common Table Expression (or basically a named subquery)
2 - View: works like a CTE, but you can reference it by name and not repeat the subquery every time. Views are computed on the fly, similar to CTEs.
3 - A temporary table is like a real table: it stores data on disk, and you can build indexes. But it exists only while the database connection is open.
PostgreSQL and others have materialized views, which store data on disk
When to use temporary tables ?
Temporary tables are great for experimenting when you’re just getting to know the data.
I always thought burnout happened when you work too much.
Now I get it. It's investing emotionally and then not getting a return on that investment.