Well I was raised in French and my dad would use this expression from time to time. (I didn't read the whole wiki page, I'm just answering based on my experience)
It meant "being resourceful" & ingenious. Don't always expect someone else to help you in order to achieve something, or don't just give up at the first problem you encounter.
e.g. Something is heavy to lift and you expected someone stronger to be there to help you. Well you can borrow a lift, you can call someone else and lift it together, try to come up with some kind of lever, etc
Another example: Don't wait for someone to explain something you don't understand, when you could be looking it up by yourself on the internet (sorry that one was an easy joke ;) )
Système D has both a positive and negative connotation. There is indeed a resourceful part, but also an 'it's an ugly hack' part (but justified by the circumstances).
As an example, my parents used to leave in Africa, and at the time, the water supply system was unreliable, so my father hooked-up a 100 litters drum so that we at least had some water for essential needs during outages. Smart given the circumstances but a proper water supply would have been preferable.
I wonder if systemd in Linux was named after this, given that it's a collection of services to help you do things, even 3rd party or ad hoc ones made by yourself.
> Can anyone ELI5 what it is in practice? What are some of the ideas that allows one to débrouiller, etc... ?
Broadly speaking, it refers to one's capability of being smart in a "handy man" field.
Your tire is flat and you have nothing to fix it? Take a toothpick and hot glue. That's system D.
You have a bottle of wine but nothing to open it? Put the bottom in your shoe and rub it against the wall. That's system D.
Nowadays you can use *system D" for any subject where you demonstrate the capability to overcome problems not using "book" solutions.
The term got it's roots during and after the war in France, where you had to be able to find these kind of solutions in a country where everything was broken.
Maybe Macgyver'ing it would be a more modern reference. Still pretty dated. Is there a word for what Phineas and Ferb do? That's not a good fit, but still has the same flavor.
Yeah it’s a language issue. There have been hacks that did express the idea but “hack” does get used broadly. Macguyvering conveys the concept well but as you say it’s reference is outdated so it’s lost some of its meaning.
I applied some system D earlier tonight. I needed about 1.8V to feed into a level shifter IC. I ended up connecting three diodes in series with a resistor, then connected it to 3.3V.
Back in the misty days of Not Too Long Ago, there was a Jira add-on called nFeed. It allowed you to hook external databases to Jira using SQL queries and display the query results for users. Note I said display but not search for, which became a sticking point: The nontechnical users could see all the data from the Microsoft CRM internal database (and getting data out of that was another saga, but not quite of this kind) but not search for it using normal Jira search functions.
(Before I go on, I'll state that nFeed is now Elements Connect, which supports this use case natively. Basic search is a "use case" which must be explicitly "supported" because Jira.)
This was intolerable. This was not something you could fix from within nFeed. This was something I had to fix.
Fortunately, I had an Idea.
The Idea: I could create shadow fields to mirror the contents of the nFeed fields, such that those fields would be normal Jira text fields which Jira could search. I just needed a way to automatically synchronize the nFeed fields and the text fields, and a way to hide those shadow fields from the nontechnical users.
The System D stuff: nFeed used the Velocity template engine to allow you to generate the HTML to display in the Jira tickets. Velocity didn't know HTML, CSS, or JavaScript from Sweet Fanny Adams. Therefore, I could inject all three of those things directly into the ticket using the templates. I used JavaScript to read the text field from the displayed page, compare it to the text from the fresh SQL query, and, if they didn't match, use XMLHttpRequest to update the backend using the published REST API, which succeeded because it ran in the security context of the user viewing the page. A bit of inline CSS to hide the shadow text fields as long as they were beneath their corresponding nFeed field on the page and I was done.
Mostly done. I still had to ensure I wrote the JavaScript without curly brackets, as those were sacred to Velocity, and I fought with correct text quoting and unquoting for a little bit. Something I couldn't fix was Jira's own logging functionality: Every time a user with permissions to edit a ticket viewed it, the JavaScript might trigger and Jira would record that as them editing the ticket. That got me some confused support calls, but it was still better than what I would have gotten had I thrown up my hands. After all, I was the one who suggested nFeed to begin with.
Pretty good for something I cooked up the day I found the original problem, in the period of time between finding the problem and reporting it all to my manager.
I was working as a service tech for a hardware company. We had an order come in for 1200 off something that needed to ship in 4 days. The rub was that the firmware needed to be updated over RS232, and it only supported COM1. We realized if we did one at a time we wouldn’t have enough people to finish even 300 of them. We didn’t have any way to get ahold of the original developer in Japan. So I opened the program in a hex editor and started looking for the string COM1. When I found it I changed it to COM2, then 3, then 4 to produce 4 separate programs that we could run side by side.
In practice it is to come up with a solution to a problem and follow through with it regardless of what it takes to do so or how unconventional the solution may have to be.
Think of it as a philosophy or a resolve as much as a verb.
Can anyone ELI5 what it is in practice? What are some of the ideas that allows one to débrouiller, etc... ?