21 Oct 2019

feedPlanet Grep

Xavier Mertens: MISP Summit 0x05 Wrap-Up

I'm in Luxembourg for a full week of infosec events. It started today with the MISP summit. It was already the fifth edition and, based on the number of attendees, the tool is getting more and more popularity. The event started with a recap of what happened since the last edition. It was a pretty busy year with many improvements, add-ons. More and more people contribute to the project.

MISP is not only a tool but other parallel projects try to improve the sharing of information. There is a project to become the European sharing standard. Another evidence that the product is really used and alive: Nine CVE's were disclosed in 2019. On the Github repository, 331 people contributed to the MISP project:

MISP Contributors

I liked the way it was organized: The schedule was based on small talks (20 minutes max) with straight to the point content: improvements, integration or specific use-cases.

The first one was a review of the MISP users' feelings about the platform. Based on a survey, statistics were generated. Not many people replied to the survey but results look interesting. The conclusions are that MISP is used by skilled people but they consider the tool complex to use. The survey was provided to people who attended a MISP training organized in Luxembourg. It could be a good idea to collect data from more people.

There were two presentations about performance improvements. People dived into the code to find how to optimize the sharing process or to optimize the comparison of IOC's (mainly malware samples). Other presentations covered ways to improve some features like Sightings.

New releases of MISP introduce new features. The decaying of IOC's was introduced one month ago and looks very interesting. There was a presentation from the team about this feature but there was also another one from a CERT that implemented its own model to expire IOC's.

MISP is a nice tool but it must be interconnected to your existing toolbox. One of the presentations covered the integration of MISP with Maltego to build powerful investigation graphs.

Integration with WHIDS (Windows Host IDS). It relies on Sysmon. It correlates events, detects and reacts (dump file, dump process or dump registry). Gene is the detection engine behind WHIDS. It can be seen as a YARA tool for Windows events. MISP support was recently added with some challenges like performance (huge number of IOC's).

EclecticIQ presented how their platform can be used with MISP. They created a MISP extension to perform enrichment.

TICK - Threat Intelligence Contextualization Knowledgebase by the KPN SRT. The KPN guys explained how they enrich SOC incidents with some context. I liked the use of Certificate Transparency Monitoring. The goal is to use MISP as a central repository to distribute their IOC's to 3rd parties.

Another presentation that got my attention was about deploying MISP in the cloud. At first, this looks tricky but the way it was implemented is nice. The presentation was based on AWS but any cloud provider could be used. Fully automatic, with load-balancers, self-provisioning. Great project!

Finally, the day ended with some changes that are in the pipe for upcoming MISP releases. Some old code will be dropped, revamping of the web UI, migration to most recent versions of PHP, Python & more!

Thanks to an event like this one, you quickly realize that the MISP project became mature and that many organizations are using it on a daily basis (like I do).

[Update] Talks have been recorded. I presume that they will be online soon with presentations as well. Check the website.

[The post MISP Summit 0x05 Wrap-Up has been first published on /dev/random]

21 Oct 2019 4:42pm GMT

Mattias Geniar: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

The post warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory appeared first on ma.ttias.be.

On a freshly installed CentOS 7 machine, I got the following notice when I SSH'd into the server.

warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

The fix is pretty straight-forward. On the server (not your client), edit the file /etc/environment and add the following lines.

(You'll need root privileges to do this)

$ cat /etc/environment

Log out & back in and you should notice the warning message is gone.

The post warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory appeared first on ma.ttias.be.

21 Oct 2019 8:02am GMT

18 Oct 2019

feedPlanet Grep

Xavier Mertens: [SANS ISC] Quick Malicious VBS Analysis

I published the following diary on isc.sans.edu: "Quick Malicious VBS Analysis":

Let's have a look at a VBS sample found yesterday. It started as usual with a phishing email that contained a link to a malicious ZIP archive. This technique is more and more common to deliver the first stage via a URL because it reduces the risk to have the first file blocked by classic security controls. The link was:


The downloaded file is saved as JVC_53668.zip (SHA256: 9bf040f912fce08fd5b05dcff9ee31d05ade531eb932c767a5a532cc2643ea61) has a VT score of 1/56… [Read more]

[The post [SANS ISC] Quick Malicious VBS Analysis has been first published on /dev/random]

18 Oct 2019 11:30am GMT

16 Oct 2019

feedPlanet Grep

Mattias Geniar: Mac pecl install: configure: error: Please reinstall the pkg-config distribution

The post Mac pecl install: configure: error: Please reinstall the pkg-config distribution appeared first on ma.ttias.be.

I ran into this error when doing a pecl install imagick on a Mac.

$ pecl install imagick
checking for pkg-config... no
pkg-config not found
configure: error: Please reinstall the pkg-config distribution
ERROR: `/private/tmp/pear/temp/imagick/configure --with-php-config=/usr/local/opt/php/bin/php-config --with-imagick' failed

By default, the needed pkg-config binary isn't installed. You can install it via Homebrew.

$ brew instal pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.catalina.bottle.1.tar.gz
==> Downloading from https://akamai.bintray.com/c0/c0a6927c8e404f6db8b14d6644a218b22ddb0d27be1fa0a69d15bf0d9a6875ae?__gda__=exp=1571254410~hmac=2e306f9876b2de0ae458dcbf1e05bc609777305eb8ad5e25125e9467e8bfcfeb&response-content-disposition=
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.catalina.bottle.1.tar.gz
🍺  /usr/local/Cellar/pkg-config/0.29.2: 11 files, 623KB

And you're all set!

The post Mac pecl install: configure: error: Please reinstall the pkg-config distribution appeared first on ma.ttias.be.

16 Oct 2019 7:26pm GMT

Mattias Geniar: Install PHP’s imagick extension on Mac with Brew

The post Install PHP's imagick extension on Mac with Brew appeared first on ma.ttias.be.

I was setting up a new Mac and ran into this problem again, where a default PHP installation with brew is missing a few important extensions. In this case, I wanted to get the imagick extension loaded.

This guide assumes you have Homebrew installed and you've installed PHP with brew install php.

Install Image Magick dependency

First, install imagemagick itself. This is needed to get the source files you'll use later to compile the PHP extension with.

$ brew instal pkg-config imagemagick

This will also install the needed pkg-install dependency.

Compile Imagick PHP extension with pecl

Next up, use pecl to get the PHP extension compiled.

$ pecl install imagick
install ok: channel://pecl.php.net/imagick-3.4.4
Extension imagick enabled in php.ini

It will also auto-register itself in your php.ini and should now be available.

$ php -m | grep -i magic

Note: if you run php-fpm, make sure you to restart your daemon to load the latest extension. Use brew services restart php.

The post Install PHP's imagick extension on Mac with Brew appeared first on ma.ttias.be.

16 Oct 2019 7:24pm GMT

Xavier Mertens: [SANS ISC] Security Monitoring: At Network or Host Level?

I published the following diary on isc.sans.edu: "Security Monitoring: At Network or Host Level?":

Today, to reach a decent security maturity, the keyword remains "visibility". There is nothing more frustrating than being blind about what's happening on a network or starting an investigation without any data (logs, events) to process. The question is: how to efficiently keep an eye on what's happening on your network? There are three key locations to collect data… [Read more]

[The post [SANS ISC] Security Monitoring: At Network or Host Level? has been first published on /dev/random]

16 Oct 2019 11:14am GMT

15 Oct 2019

feedPlanet Grep

Philip Van Hoof: Still sticking to my guns, about Syria

I said it before, and I say it again: get those national asses out of your EU heads and start a European army.

How else are you going to tackle Turkey, Syria and the US retreating from it all?

The EU is utterly irrelevant in Syria right now. Because it has no own power projection.

When I said "A European Army", I meant aircraft carriers. I meant nuclear weapons (yes, indeed). I mean European fighter jets that are superior to the Chinese, American and Russian ones. I meant a European version on DARPA. I mean huge, huge Euro investments. I meant ECB (yes, our central bank) involvement in it all. To print money. Insane amounts of ECB backed Euro money creation to fund this army and the technology behind it.

I mean political EU courage. No small things. Super big, huge and totally insane amounts of investments: a statement to the world: The EU is going to defend itself the coming centuries, and it's going to project military power.

I doubt it will happen in my lifetime.

15 Oct 2019 7:02pm GMT

14 Oct 2019

feedPlanet Grep

Xavier Mertens: BruCON 0x0B Network Post-Mortem Review

This BruCON edition (also called "0x0B") is already over! This year, we welcomed more than 500 hackers from many countries to follow wonderful speakers and learn new stuff with practical workshops. Like the previous editions, I played with the network deployed for our attendees. Here is a short debriefing of what we did and found during the conference.

Basically, from an infrastructure point of view, nothing really changed. The same hardware was deployed (mainly wireless access for the attendees and wired network for specific purposes. We welcome the same number of attendees and we see every year more and more people trying to avoid wireless networks. Furthermore, all European travellers benefit now of the free data roaming across Europe. Also, the trend is to use encrypted traffic (SSL or VPNs), which means less "visible" traffic for us (No, we don't play MitM 😉

First of all, we launched our wall-of-sheep like every year. It remains a very nice security awareness tool. New attendees ask me always how it works or "what's behind the magic". Of course, some dumb people keep trying to flood it with p0rn pictures. We used the same technology to reduce the number of offending pictures but it's not bullet-proof. [Personal opinion: if you spent your time flooding the WoS with p0rn, you completely missed the point of a security conference… that to say!]

If we don't play MitM, it does not mean that we don't inspect most of the flows passing by our network. This is clearly stated on the website and the brochure. The first change that we implemented this year was an intercepting proxy to collect all URLs visited by our beloved attendees. Last year, we detected that many corporate laptops were trying to find WPAD files but we needed more data. Here are some stats about the proxy:

What about the top-visited URLs? No Facebook etc this year, but many many (read: "way too many") automatic updates URL! Many applications or systems still check and download their updates via HTTP! When you see how easy it is to manipulate this kind of traffic, it scares me. Bad practice: Do NOT enable automatic updates while connected to wild environments.

What about DNS traffic? Here again, we slightly changed the configuration. Many people don't trust DNS provided by DHCP and use their own DNS or a public one (Google to the rescue with!). Blocking all DNS traffic to "force" people to use our own was nice but too intrusive. This year, we allowed all traffic but intercepted all UDP/TCP/53 traffic and port-forwarded it to our firewall. This way, people did not see that the DNS traffic was redirected to our own resolver. It was also an easy way to block some malicious or unwanted websites.

Here is the top-10 of resolved domains (without noisy and local domains like the ones used by the CTF):

Query Count
coldchilli.de 15346
softwareupdate.vmware.com 11730
www.google.com 9672
api.twitter.com 8197
auth.gfx.ms 7962
swscan.apple.com 7955
ipinfo.io 4032
twitter.com 3698
http.kali.org 3582
ftp.belnet.be 3504

About DNS, we saw some DNS tunnelling and, for the first time, some DoH traffic! (DNS over HTTPS). Ok, only two different clients but it's a sign!

DoH Traffic

Also, we collected interesting files transferred via HTTP:

Mime-Type Count
HTML 161391
PNG 26772
Text 20706
Jpeg 14003
JSON 6968
XML 5729
Gif 3744
ZIP 365
JS 168
Exe 116
PHP 14
Doc 2
Unknown 42258

About communications & chat, we detected IRC, Google Talk (both in clear text!), Skype & Teams.

We detected some juicy traffic which looked very suspicious but… it's was just a guy testing a potential 0-day 🙂

About the logging capabilities, this year, we collected in real-time all data and indexed them into a Splunk instance. This is much more convenient when you need to investigate urgently an incident. We had to track a "bad guy" and he was discovered within a few minutes based on the MD5 of the downloaded picture! (I mean we discovered his MAC address and the device name).

To conclude, some extra numbers:

We are ready for the next editions and, based on what we learned, we already have nice ideas…

[The post BruCON 0x0B Network Post-Mortem Review has been first published on /dev/random]

14 Oct 2019 4:27pm GMT

Mattias Geniar: Laravel’s Tinker quits immediately on PHP 7.3 & Mac

The post Laravel's Tinker quits immediately on PHP 7.3 & Mac appeared first on ma.ttias.be.

I had a weird issue with Laravel's Tinker artisan command. Every time I would load it up and type a command, it would immediately quit.

$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.8 - cli) by Justin Hileman
>>> Str::plural('url', 1);


It would just jump straight back my terminal prompt.

The fix appears to be to add a custom config that instructs PsySH -- on which Tinker is built -- to not use PHP's pcntl extension for process control.

$ cat ~/.config/psysh/config.php
return [
  'usePcntl' => false,

That one did the tricky for me.

$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.8 - cli) by Justin Hileman
>>> Str::plural('url', 1);
=> "url"
>>> Str::plural('url', 2);
=> "urls"

Hope this saves you some headaches!

The post Laravel's Tinker quits immediately on PHP 7.3 & Mac appeared first on ma.ttias.be.

14 Oct 2019 11:46am GMT

03 Oct 2019

feedPlanet Grep

Mattias Geniar: A github CI workflow tailored to modern PHP applications (Laravel, Symfony, …)

The post A github CI workflow tailored to modern PHP applications (Laravel, Symfony, …) appeared first on ma.ttias.be.

Last year we wrote a blogpost about our setup we use for Oh Dear! with Gitlab, and how we use their pipelines for running our CI tests. Since then, we've moved back to Github since they introduced their free private repositories.

In this post I'll describe how we re-configured our CI environment using Github Actions.

If you have a Laravel application or package, you should find copy/paste-able examples here to get it up and running for yourself. This will only require small adaptations for Symfony, Zend, ...

It's all PHP, after all.

A custom Docker container with PHP 7.3 and extensions

I built a custom Docker container with PHP 7.3 and my necessary extensions. You're free to use it yourself, too: mattiasgeniar/php73.

I'm still pretty new to Docker, so if you spot any obvious errors, I'd love to improve the container. Here's the Dockerfile as is. It's up on Github too, so you're free to fork/modify as you see fit to create your own containers.

FROM php:7.3-cli

LABEL maintainer="Mattias Geniar <m@ttias.be>"

# Install package dependencies
RUN apt update && apt install -y libmagickwand-dev git libzip-dev unzip

# Enable default PHP extensions
RUN docker-php-ext-install mysqli pdo_mysql pcntl bcmath zip soap intl gd exif

# Add imagick from pecl
RUN pecl install imagick && echo 'extension=imagick.so' >> /usr/local/etc/php/php.ini

# Install nodejs & yarn
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \
    && DEBIAN_FRONTEND=noninteractive apt-get install nodejs -yqq \
    && npm i -g npm \
    && curl -o- -L https://yarnpkg.com/install.sh | bash \
    && npm cache clean --force

# Install composer
ENV PATH=./vendor/bin:/composer/vendor/bin:/root/.yarn/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

WORKDIR /var/www

In short: this takes the official base image of PHP 7.3 and adds some custom extensions, the node & yarn binaries, together with composer.

It's a rather large container in total, because of the dependency of ImageMagick. By needing the source-files, it pulls in more than 100MB of dependencies. Oh well ...

Using this container in your Github Action

You can now use Github Actions to automatically run a set of commands, every time you push code. You can do so by creating a file called .github/workflows/ci.yml . In that file, you'll determine what actions need to run in a container.

Here's our current CI config for Oh Dear.

on: push
name: Run phpunit testsuite
    runs-on: ubuntu-latest
      image: mattiasgeniar/php73

    - uses: actions/checkout@v1
        fetch-depth: 1

    - name: Install composer dependencies
      run: |
        composer install --prefer-dist --no-scripts -q -o;
    - name: Prepare Laravel Application
      run: |
        cp .env.example .env
        php artisan key:generate
    - name: Compile assets
      run: |
        yarn install --pure-lockfile
        yarn run production --progress false
    - name: Set custom php.ini settings
      run: echo 'short_open_tag=off' >> /usr/local/etc/php/php.ini
    - name: Run Testsuite
      run: vendor/bin/phpunit tests/

You can find a simplified example in my Docker example repo. The one above also takes care of the javascript & CSS compilation using yarn/webpack. We need this in our unit tests, but you might be able to remove those run lines.

Setting this up in your own repository

Here's what was needed to get this up-and-running.

  1. Sign up for the "beta" program of Github Actions. You'll get immediate access, but it's opt-in for now.
  2. Create a file called.github/workflows/ci.yml in your repository, take the content from the example above
  3. git push upstream to Github, the action should kick in after a few seconds

You can find an example Action here: mattiasgeniar/docker-examples/actions.

After that, you should see the Actions tab pick up your jobs.

The post A github CI workflow tailored to modern PHP applications (Laravel, Symfony, …) appeared first on ma.ttias.be.

03 Oct 2019 11:45am GMT

Xavier Mertens: [SANS ISC] “Lost_Files” Ransomware

I published the following diary on isc.sans.edu: ""Lost_Files" Ransomware":

Are good old malware still used by attackers today? Probably not running the original code but malware developers are… developers! They don't reinvent the wheel and re-use code published here and there. I spotted a ransomware which looked like an old one… [Read more]

[The post [SANS ISC] "Lost_Files" Ransomware has been first published on /dev/random]

03 Oct 2019 11:29am GMT

02 Oct 2019

feedPlanet Grep

Lionel Dricot: Mon philou a fait plouf !

Phil a fait son dernier plouf. Comme tout bon apnéiste, il a pris sa dernière inspiration.

Ce serait tellement facile de parler de ton sourire omniprésent. Tout le monde le fait. Alors je profite de ce blog pour raconter une histoire rare : la seule fois où je t'ai vu ne pas sourire.

Tu conduisais la camionette. On te disait tous que, avec une remorque bringuebalante, 130km/h, c'était un peu rapide. Tu nous répondais « Boaf » en riant. On t'a dit qu'il y'a avait un combi de flic derrière nous. Tu nous as répondu « Boaf » en riant. Le combi de flic nous a fait signe de nous ranger sur le bas côté. On a éclaté de rire. Sauf toi. Tu es descendu tout penaud te faire sermonner. Tu avais un petit d'air d'enfant qui se fait gronder, tu ne riais pas.

Dans la camionnette, par contre, on était tous hilares !

Quand tu as repris le volant, tu as quand même fait « Boaf » et ton sourire est revenu.

L'eau noire de nos carrières n'aura plus la même saveur sans toi pour les agiter en crawlant comme un phoque parce que « ça te décoince les trompes d'eustache ». Les billets de ce blog seront un peu plus seuls maintenant que tu ne les liras plus, que tu ne m'enverras plus tes commentaires plein de tendresse et de jeux de mots foireux.

Notre seul espoir c'est que, là-bas, tu arrives à les embobiner avec une combine foireuse dont tu as le secret pour qu'on te renvoie ici, avec nous. Genre le coup du bateau prêté par l'université que tu as démonté pour tenter de le faire fonctionner sans clé de contact avant que l'on comprenne que, si tu n'avais pas la clé, c'est parce que l'université n'était pas au courant de sa générosité à ton égard.

Je préfèrais quand t'étais à la bourre que quand tu pars à l'avance. Tout risque de tourner trop rond sans toi.

Putain Mon Philou, tu nous manques déjà…

Je suis @ploum, conférencier et écrivain électronique. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Tipeee, Patreon, Paypal, Liberapay ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Ce texte est publié sous la licence CC-By BE.

02 Oct 2019 9:25pm GMT

01 Oct 2019

feedPlanet Grep

Steven Wittens: How The Next Generation Ruined a Generation

Commander Data with a PADD

Here's a free tip for you weirdos like me who still use private torrent trackers. If you want to earn consistently good upload credit, you only need to seed one show, two at most. Namely, Star Trek: The Next Generation, and Deep Space Nine. Preferably the later seasons on Blu-ray. I'm not sure why this is, but I have a few theories. And what the internet definitely needs is more commentary on Star Trek.

The most obvious reason is that older shows come from a time when there just wasn't as much saturation in the market. Each show could capture a much larger chunk of the audience, both nationally and internationally in syndication. This is reflected in their long-term staying power by way of nostalgia. If you investigate the top seeded torrents on a decent tracker, for content from the late 80s and early 90s, you will find that the top spots are usually captured by season packs of The Simpsons, Seinfeld, and once it appeared in 1994, Friends, which is no surprise at all if you lived through those years.

In between these behemoth shows, you will also spot the other consistent trend, namely the Treks. It shouldn't be a surprise that torrent sites are frequented by nerds with nerdy interests, but what is noticeable is that in the years where they have to compete, Treks rank consistently at the top, higher than even cult classic The X-Files. This was a show which was far less embarrassing to be seen watching at the time, scheduled explicitly for adults, with its two iconic leads, its clever appropriation of deep state intrigue, and an at times fearless exploration of the grotesque and macabre.

If you look up the US viewership numbers, X-Files had about twice as many on average as TNG, ~20 million vs ~10 million. It was clearly the more popular show. Compared to today though, TNG consistently exceeded even the premiere of Star Trek: Discovery 30 years later, at 9 million viewers, despite the fact that the US population has grown by over 30% since, and that Trek is now mainstream.

You could argue that The X-Files sabotaged itself for re-watching, by blue-balling its audience, offering tantalizing Lost-style glimpses of a larger mythos that ultimately didn't go anywhere. It's also hard to ignore that the cultural interest in UFOs and aliens vanished almost entirely once everyone had a digital camera in their pocket. However, most of the X-Files didn't even involve aliens, and instead featured an unrelated mystery-of-the-week. The overall quality is definitely more consistent than TNG too.

Good Morning America visits Star Trek The Next Generation

It's easy to forget just how out-of-touch culture was with popular science fiction at the time, now that nerds are cool. Luckily there is a wonderful time capsule to remind us, in the form of an episode of Good Morning America from 1992. In this show, cringe inducing for any Trek fan, the set of the USS Enterprise is host to a cast of TV anchors out of their depth. They marvel at the decor, the whacky aliens and costumes, the futuristic props and consoles, the trekkie lingo, and so on. Throughout it's pretty obvious that none of them have ever actually watched the show. This is also why Patrick Stewart doesn't appear: he refused, insulted by the disrespect they had for the material.

By then the show was in the middle of its fifth season, and had featured episodes with numerous serious, well-executed topics. The Measure of a Man debated the human rights of Data, the sentient android, in a court room setting. Who Watches the Watchers explored the policies of non-interference with primitive cultures, the immorality of false deities, and the power of the scientific method. Sins of the Father challenged the notion of inherited sin in an honor-based culture, as well as the fish-out-of-water aspects of an exile in his own culture. The High Ground was about terrorism and how people are driven to it by desperation, not broadcast in Ireland at the time, ostensibly due to a throwaway line about Irish unification. Darmok was a prescient linguistic take on the memes we now take for granted. There was also the legendary season-cliffhanger The Best of Both Worlds, in which Picard was abducted by his mortal enemy, and forced to do their bidding in conquering humanity.

None of this is even remotely featured in the few clips shown, and instead they show meaningless treknobabble, some phasers and torpedoes, Deanna Troi sensing nothing (as usual), and a dry explanation of asphyxiation in a vacuum. The interviews with the cast members mostly revolve around trivia, from how long it takes to do their makeup to whether they get recognized on the street. Gates McFadden, to her credit, manages to salvage every bit she's in. At one point, an anchor does say the show addresses more serious topics, but then she fails to mention any, stalling the conversation with some awkward glances. Granted, this was an early morning show mainly designed to fill air time, mixed with a presidential election (health care costs are rising!) and some disastrous weather, but even then this is painfully embarrassing.

Trouble with Tribbles

When she asks the cast whether they think they'll be as famous as the original Trek characters, and whether this will define their careers, Jonathan Frakes says he's just happy to have a job. Marina Sirtis says she thinks it's unlikely she'll still be wearing the uniform 25 years later. Well, technically it ended up being only 10 years, but she's still doing Trek conventions today. Clearly they didn't think what they were doing was remotely as iconic as the original, and the exact opposite is true.

The original Trek is too awkward, too out of touch to watch today, so instead it has been pilfered and repurposed, turning its characters into hot, juvenile blowhards in JJ-Trek. But TNG endures on its own terms, and what's more, its dorky PADDs and omnipresent touch screens turned out to be prophetic. It's fascinating to rewatch today, and realize that eating lunch while holding a tablet is an entirely normal thing now. This is only slightly marred by the fact that they still treat them like pieces of paper, handing over the device instead of just transferring a file. I guess the DRM is really bad in the future.

So why on earth do I think TNG ruined a generation? If it wasn't obvious, I love this show. I still have the collectible card game in a box right behind me.

It has to do with the way they staged their moral dilemmas, because there are two kinds of Trek episodes.

Commander Data on trial for his rights

In the first kind, Type 1, a moral dilemma happens to a character. Data's rights are threatened. Worf's honor is at risk. Picard's dignity has been stripped. Or as in The Drumhead, one of the best episodes, the Enterprise's own crew participates in an investigation that turns into a bona-fide witch hunt. These are the good ones, because they start with real characters and put them in credible jeopardy. Secondary characters are fleshed out as well, with conflicting views and interests, and serve to challenge the assumptions the show and its main characters embody.

In the second kind, Type 2, there is a planet or a species, with a unified culture and philosophy. This is usually centered around one particular extreme. The Ferengi are greedy chauvinists. The Sheliak are xenophobic supremacists. The J'naii are monogender puritans. The species is a trope, a stand-in for an Other who is Different, and the full implications of this conceit are never actually fleshed out. In pretty much every case, the crew is tasked with outsmarting them, and to demonstrate that their values, morals or tactics are better, even if it takes a while to figure out how and why. The drama is a result of fighting this good fight, and results in either a moral victory or defeat. But the matter of which side was right is never in question. The underlying assumption is pretty hard to miss: people who look a certain way act a certain way, and judging the book by its cover is correct. These episodes are actively and shamelessly racist.

Of course it's not a completely rigid binary. The goofy Ferengi of TNG ended up being fleshed out more in DS9, though they never managed to fully escape from the shadow of caricature. The DS9 Cardassians remained unrepentant imperialists, with only the odd exception presented as one of the few "good ones." On the other hand, some brief planets-of-the-week ended up hosting a variety of characters and factions, and let them speak fully for themselves. But the dichotomy still exists, and it's bizarre that the two kinds of stories live together under the same roof.

It's particularly noticeable given the emphasis the show placed on empathy, in the form of Deanna Troi. She was the left hand of the captain, a character whose main function was to sense and regulate people's feelings, and the perfect embodiment of the New Age beliefs popular at the time.

The Sheliak, non-humanoid aliens
N'Grath the insectoid Crime Boss

Empathy is actually a pretty difficult aspect of televised sci-fi. A classic complaint is that almost all the aliens are humans with bumpy foreheads, and this is true, but also entirely necessary. Whenever shows have featured distinctly non-humanoid characters, it weirds people out, because we can't read them at all. Like the aforementioned Sheliak, whose inhuman mime telegraphs no useful information, an aspect which was actually pertinent to the story. For the most part, Trek has wisely avoided this trap. Other shows tried and failed, like Babylon 5, which featured an insectoid crime boss whose animatronic chittering and spasms completely failed to intimidate. It was quietly shelved in subsequent seasons.

As a result, any show that is all about meeting strange new aliens on strange new worlds actually puts an incredibly high premium on human emotions and human behaviors, and can only explore them in two ways... first, by making the aliens just like humans, with the same moral failings, ideological disagreements and conflicting interests, which makes them not aliens... or two, by making the aliens inhuman in some way, and hence somewhat incomprehensible, which automatically otherizes them and makes their way of life undesirable. Unless the writers make an effort, they're not actually going to challenge the audience's preconceptions at all. Less ambitious sci-fi shows like Stargate SG-1 run almost entirely on this formula, contrasting the plucky always-right hero team with the backwards primitives they must liberate and the alien villains who hold them hostage.

When this becomes the lens that you use to relate to Others, you're not actually relating at all.

As tentative evidence that this is a real thing and not just some cultivation theory in disguise, I offer the closest thing we have to a TNG reboot, The Orville. Created by bona fide uber-trekkie Seth McFarlane, you'd expect it to embody all the good parts of TNG. Yet the show had a few whopper Type 2 episodes in its first season, and no real Type 1s. This should be supremely remarkable, and yet has mostly passed by unnoticed, as the people with opinions appear to have confused the trappings of the show it copied for its substance.

Orville - Krill

In Krill, the captain and his pilot infiltrate an enemy vessel in disguise. They blunder through, bluffing their way through conversations only the dumbest adversary could not suss out. They do this without taking any of the expected precautions, and they end up winning by doing the equivalent of setting the aliens' thermostat to 100ºC and boiling them alive. Yes, this show actually wants you to believe that aliens who are extremely light-sensitive would put lethal light bulbs on their space ships and just never turn the dimmer up past 5%. They're religious fundamentalists though, and we all know how stupid they are, right?

Orville - About a Girl

In About a Girl, the show seems to imitate both TNG's occasional court room proceedings and gender morality plays. It features a trial over whether a newborn girl should be allowed to remain female, in a species of male chauvinists who make the Ferengi seem downright tolerant. The amazing part is that the supposedly devastating argument, made by the female second-in-command who is counsel for the defendant, is based on easily dismissed false equivalences, assumed superiority and non-sequiturs. She ought to have them howling with laughter in minutes. Instead, this society of aliens who don't take women seriously takes this woman's poor excuse for reason and logic entirely seriously. Because sexism is bad, you guys.

The second season managed to bring a little bit more substance and new material, but couldn't drop the habit completely, in the form of All the World Is Birthday Cake. It's about a planet of astrologers, who rigidly organize their society according to horoscopes by birth sign, including a particular class of untouchables. The resolution comes from the main characters outsmarting them with a non-credible deception, which a first year physics student could poke numerous holes in. To add insult to injury, the writers apparently don't know the difference between a satellite and a satellite dish. Fuck yeah science! Astrology is dumb!

It feels more like Team Earth: Galaxy Police than Star Trek: The Funny Generation, only the satire isn't intentional, and isn't mocking who they think it is. Nevertheless its first season won a "Best Science Fiction Television Series" award.

If that's what TNG's legacy looks like in 2019, then I'm afraid some people have missed the point entirely.

There's a particular phrase you hear a lot these days. "We're on the right side of history." I'm not saying it's all TNG's fault, but it's hard to imagine how it didn't contribute, given how pervasive Trek references and memes are, even today. There is a similar dichotomy in handling moral dilemmas... whether we look for nuance to understand one of our own who is struggling, or whether we consider someone an outsider, representative of a foreign monoculture, and which needs to be outsmarted and defeated, ideally using their weaknesses against them. Both approaches live under the same roof of compassion, empathy, justice and progress, despite being polar opposites.

The real lesson was that principles are important, vital even. But they must be moderated, by checking ourselves before we chastize others.

01 Oct 2019 10:00pm GMT

30 Sep 2019

feedPlanet Grep

FOSDEM organizers: Accepted developer rooms

We are pleased to announce the developer rooms that will be organised at FOSDEM 2020. Developer rooms are assigned to self-organising groups to work together on open source projects, to discuss topics relevant to a broader subset of the community, etc. The individual developer room organisers will issue their calls for participation in the next few days. Saturday 1 February 2020 Topic Call for Participation CfP deadline Ada - TBA Backup and Recovery - TBA Coding for Language Communities announcement 2019-12-01 Collaborative Information and Content Management Applications announcement 2019-12-09 Containers announcement 2019-11-29 Dependency Management announcement 2019-12-04 DNS announcement 2019-12-01舰

30 Sep 2019 3:00pm GMT

27 Sep 2019

feedPlanet Grep

Lionel Dricot: Sauvons la planète de l’écologie hystérique

Régulièrement, des lecteurs me demandent pourquoi je ne traite pas d'écologie sur ce blog. Après tout, la planète est en danger, il faut agir. Pourquoi ne pas écrire sur le sujet ?

La réponse est toute simple : je parle d'écologie. Souvent. Presque tout le temps. Je milite pour sauver la planète, je raconte des histoires pour sensibiliser mes lecteurs.

Mais, contrairement à cette hérésie médiatique et millénariste qui s'est emparée de l'humanité, je ne cherche pas à effrayer. Je veux que les choses changent réellement en traitant le problème à la racine.

En hurlant, en manifestant, en lapidant le malheureux qui aurait encore des ampoules à incandescence, nous ne faisons que hâter notre perte. Nous sommes en train de détruire nos enfants, d'en faire des névrosés, des intégristes. Nous leur montrons l'exemple d'une jeune femme qui brosse l'école pour traverser l'atlantique sur le voilier d'un milliardaire afin de servir de faire-valoir ou de repoussoir électoral aux politiciens. Nous les culpabilisons en leur disant d'agir, de s'agiter médiatiquement, en les décourageant de prendre le temps pour apprendre et réfléchir. Récemment, une gamine de sept ans à qui je tentais vainement d'expliquer que couper un arbre n'était pas un crime, que c'était parfois bénéfique et nécessaire, m'a répondu : « De toutes façons, je préfère mourir que de polluer ».

C'est extrêmement grave. Nous imposons notre culpabilité, notre sentiment d'impuissance à nos enfants. Nous les transformons en ayatollahs d'une idéologie aveugle, irrationnelle, cruelle, inhumaine. Une religion.

La dangereuse violence du potager

Le discours collapsologiste devient la norme. Tout le monde veut apprendre à cultiver son potager, à chasser pour survivre.

Mais personne ne réfléchit qu'il y'a une raison toute simple pour laquelle nous sommes passé à l'industrialisation. Ce n'est pas par plaisir que l'homme a construit des usines. Mais parce que c'est plus efficace, plus performant. Que cela a permit à la majorité de l'humanité de ne plus crever de faim et de misère.

Ce pseudo moyen-âge idéalisé auquel beaucoup aspirent signifie, avant toute chose, la famine en cas de mauvaise récolte ou d'accident, la mort par maladie, le handicap à vie pour de simples fractures.

Nous oublions que les chasseurs-cueilleurs et même les paysans du moyen-âge disposaient de plusieurs hectares par individu, ce qui leur permettait de subsister de justesse. Pour revenir à cet état, il faudrait d'abord se débarrasser de l'immense majorité de l'humanité. Et cela se ferait tout naturellement grâce à la guerre et aux massacres pour conquérir les territoires fertiles.

Si vous croyez à l'effondrement, ce n'est pas la permaculture que vous devez apprendre mais le maniement des armes. Ce ne sont pas les conserves qu'il faut stocker mais les munitions. Au moyen-âge, les villages étaient régulièrement razziés ou sous la protection d'un seigneur qui levait d'énormes impôts. Dans le monde des collapsologues, le maraîcher d'aujourd'hui est donc le serf de demain. Militer pour un retour au potager individuel, c'est littéralement militer pour la guerre, la violence, la lutte pour des ressources rares.

Le réchauffement climatique est un fait établi, indiscutable. Il sera probablement pire que prévu. L'inaction politique est bel et bien criminelle. Mais en devenant tous des survivalistes, nous créons une prophétie autoréalisatrice. Nous nous concentrons sur l'obstacle à éviter.

Traiter le mal à la racine et non ses symptômes

Pourtant, malgré les changements désormais inévitables de notre environnement, l'écroulement de la société n'est pas inexorable. Au contraire, nous sommes la société et celle de demain sera ce que nous voulons qu'elle soit. Nous pouvons accepter la situation comme un fait, utiliser notre intelligence pour prévoir, mettre en place les infrastructures qui rendront le réchauffement moins tragique en réduisant le nombre de morts.

Ces infrastructures sont tant techniques (eau, électricité, internet) que politiques et morales. En créant des outils de gouvernance décentralisés, nous pouvons augmenter la résilience de la société, nous pouvons asseoir les principes collaboratifs qui nous feront vivre au lieu de survivre. En militant pour la libre circulation des personnes, nous pouvons tuer dans l'œuf les conflits le long d'arbitraires frontières. En luttant contre les ségrégations, nous éviterons qu'elles ne se transforment en un communautarisme violent lorsque les ressources se raréfieront.

Avant toute chose, nous devons apprendre à traiter les causes, à comprendre au lieu de nous voiler la face en rejetant la faute sur des concepts arbitrairement vagues comme « les politiques », « l'industrie », « les riches » ou « le capitalisme ».

Pourquoi consommons-nous autant de ressources ? Parce que nous y sommes poussés par la publicité. Pourquoi y sommes-nous poussés ? Pour faire tourner l'économie et créer des emplois ? Pourquoi voulons nous créer des emplois ? Pour consommer ce que nous croyons vouloir à cause de la publicité. Nous devons sortir de ce cercle vicieux, le casser.

Il faut arrêter de créer de l'emploi. Il faut travailler le moins possible, nous sommes déjà trop productifs. Il faut décrédibiliser la publicité et le marketing. Il faut apprendre à être satisfait, à avoir assez. Or, c'est impossible dans un monde où le produit le plus vendu est désormais la malléabilité de notre cerveau. À travers Facebook et Google, nous sommes en permanence scrutés et façonnés pour devenir de bons consommateurs émotionnellement réactifs. Nous militons contre le réchauffement climatique sur… des pages Facebook ! Ce qui va nous exposer à des publicités pour des projets Kickstarter de vélos pliants jetables fabriqués au Turkménistan et à des posts "likés" à outrance qui renforcent nos croyances, tuant tout recul, tout esprit critique.

Chronique d'un effondrement souhaité

Si notre priorité est réellement la santé future de nos enfants, la mesure la plus simple et efficace serait d'interdire immédiatement la cigarette dans l'espace public, y compris l'électronique dont on remarque qu'elle est extrêmement nocive et pousse à l'usage du tabac chez les jeunes.

La cigarette est un marché hyper polluant dont l'objectif est de polluer les poumons des clients et de leur entourage tout en polluant les nappes phréatiques et nos sols (avec les mégots). Or, combien de marcheurs pour le climat s'en sont grillé une, souvent juste à proximité d'enfants ?

Comment peut-on un instant imaginer être crédible en demandant un respect assez abstrait de la planète à une entité abstraite que sont « les politiques » lorsqu'on n'est concrètement pas capable de respecter son propre corps ni celui de ses propres enfants ?

Après la cigarette, il faudrait attaquer la voiture. Avec une solution toute simple : augmenter le prix de l'essence. Transformer l'essence en gigantesque taxe de la voiture. Les mesures factuelles le prouvent : la consommation ne dépend que du prix. Une voiture qui consomme moins roulera plus si le prix n'est pas augmenté. Mais les gilets jaunes nous ont démontré avec quelle énergie nous sommes capables de nous battre pour avoir le droit de polluer plus, de consommer plus, de travailler plus.

Ce que nous disons à nos enfants, c'est qu'ils sont coupables, qu'ils doivent sauver le monde que nous détruisons sciemment. Nous leur faisons peur avec le glyphosate, qui pourrait éventuellement être toxique, même si ce n'est pas certain sur de petites doses, en leur servant un steak de viande rouge bio qui lui, est un cancérigène certain.

Nous entretenons leur peur avec l'aluminium dans les vaccins, avec les ondes wifi, avec le nucléaire alors qu'une seule journée dans les embouteillages sur l'autoroute et une soirée avec des fumeurs sont probablement plus néfastes pour le cerveau que toute une vie avec une antenne wifi sur la tête. Tous les effets secondaires des vaccins ne pourront jamais faire autant de mal qu'une simple épidémie de rougeole.

Les scientifiques qui travaillent sur le nucléaire et qui ont des solutions concrètes aux inconvénients de cette technologie (le danger d'explosion, les déchets) s'arrachent les cheveux car ils ne peuvent plus avoir de budget, ce qui a pour effet de réactiver des vieilles centrales dangereuses ou, pire, des centrales à charbon qui tuent silencieusement des milliers de gens chaque année en polluant notre atmosphère.

Nos peurs hystériques sont en train de créer exactement ce que nous craignons. L'écologie collapsologiste met en place presque volontairement la catastrophe qu'elle prédit. Au nom de l'amour de la terre, les grands inquisiteurs nous torturent afin que nos souffrances psychologiques rachètent les péchés de l'espèce.

L'apocalypse instagramable

Voir des millions de gens marcher pour le climat m'effraie autant que voir d'autres se réchauffer autour de braseros dans leur gilets fluos. J'ai l'impression de voir un troupeau écervelé, bêlant à la recherche d'un chef. Un troupeau qui ne sera satisfait que par des mesures absurdes, médiatiques, spectaculaires. Un troupeau qui a trop de pain et demande de plus grands jeux (car, oui, l'obésité tue plus aujourd'hui que la malnutrition).

La réalité n'est malheureusement jamais spectaculaire. Réfléchir n'est jamais satisfaisant. C'est d'ailleurs la raison, bien connue des psychologues, pour laquelle les théories du complot ont tant de succès. Nous voulons du spectaculaire, du bouleversant. Et le tout sans changer nos habitudes. On veut bien acheter des ampoules plus chères et manifester mais si le changement climatique devient trop dérangeant, on se contentera de dire que c'est un hoax des gaucho-scientifiques. Ou que c'est la faute des politiques.

Sortir du tout à l'emploi, refuser le consumérisme, prendre du recul sur notre rapport à l'information, repenser nos modes de gouvernance. Prévoir des infrastructures d'eau potable et d'électricité mondiale. Décentraliser Internet. Tout cela, malheureusement, n'est pas assez likable. Mélanie Laurent ne pourrait pas en faire un film. Greta Thunberg ne pourrait pas justifier une traversée de l'atlantique.

C'est tellement plus facile de crier à la destruction totale, de trembler de peur, de se réjouir parce que tout un quartier a réussi à faire pousser cinq tomates, de payer pour avoir l'honneur de sarcler la terre du champs de Pierre Rabhi ou de prendre un selfie sur Instagram avec une « star de la méditation qui prie pour l'union des consciences » (je n'invente rien). Ça fait moins peur de mourir à plusieurs, chante très justement Arno.

C'est plus facile, cela nous donne bonne conscience au moindre effort. Malheureusement, c'est au prix de la santé mentale de nos enfants. Nous sommes en train de détruire psychiquement une génération parce que nous refusons de pousser la réflexion, d'accepter nos erreurs, d'évoluer, de penser plus loin que les grammes de CO2 émis par notre voiture de société.

Un péché héréditaire

Ma génération était à peine née lorsque quelques australiens demandèrent à nos parents comment ils pouvaient dormir alors que leurs lits étaient en train de brûler. 32 années plus tard, force est de constater que nous n'avons fait que transformer une évidence scientifique en hystérie collective. Que nous n'avons fait que reporter la culpabilité, en la décuplant, sur la génération de nos enfants. Avec un effet positif quasiment nul.

La maison brûle mais au lieu de leur apprendre à se servir d'un extincteur ou à sauter par la fenêtre, nous leur enseignons à courir en cercle en hurlant le plus fort possible tout en prenant des selfies. Nous leur faisons couper les robinets et nous leur apprenons à disposer des cristaux magiques qui, par leur « énergie vibratoire », devraient éteindre l'incendie.

Notre seul espoir est qu'ils s'en rendent compte avant d'être définitivement traumatisés. Qu'ils nous envoient paître plus rapidement que ce que nous avons fait avec nos parents. Qu'ils nous renvoient à la figure nos marches pour le climat, nos supermarchés bio avec des parkings pour SUV, nos pages Facebook pour gérer les potagers partagés et nos partis écologistes qui veulent avant tout créer de l'emploi et détruire le nucléaire. « Tu faisais quoi papy pour lutter contre le réchauffement climatique ? » « On allait marcher dans la rue pour que d'autres fassent quelque chose ».

Plutôt que de mettre la pression sur les générations suivantes et d'accuser les générations précédentes, ne pourrait-on pas prendre nos responsabilités intergénérationnelles et s'y mettre tout de suite ? Ensemble ?

Parler d'écologie ? C'est peut-être avant tout lâcher le plaisir immédiat de l'indignation facile et parler de notre consommation, de notre responsabilité à sélectionner ce que nous donnons à ingurgiter à notre cerveau.

Photo by Siyan Ren on Unsplash

Je suis @ploum, conférencier et écrivain électronique. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Tipeee, Patreon, Paypal, Liberapay ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Ce texte est publié sous la licence CC-By BE.

27 Sep 2019 10:08am GMT

26 Sep 2019

feedPlanet Grep

Luc Verhaegen: FOSDEM video hw: TFP401 capture test boards for everyone!

Uwe finished soldering the remaining boards, and sent them to me before his vacation started. I added one connector that was still MIA earlier, and also ordered more lcds and tfp401 modules, and then tested the lot.

We now have the kit for 4 further test systems. 2 for the fosdem office, 2 for the openfest guys. Here's a picture of them all:

lime2 test boards ready to be shipped

Up top, two complete sets, with TFP401 module and LCD, those are for bulgaria. Then the bottom boards, and the tfp401 module are for the FOSDEM offic, where there's already one tfp401 module, and a ton of BPI LCDs. I will be shipping these out later today.

To add to that, i now have a second complete test setup myself.

Mind you, this is still our test setup, allowing us to work on all bits from the capture engine on downstream (video capture, kms display, h264 encoding). We will need our full setup with the ADV7611 to add HDMI audio to the mix. But 80-90% of the software and driver work can be done with the current test setup with tfp401 modules.


I have gone and flashed all the TFP401 modules with the tool i quickly threw together. I created a matching terminal cable to go from the banana-pi M1 to the edid connector on the board, and made one for Uwe and the FOSDEM office (as they both have a module present already).

It turns out that this rom is always writable, and that you could even do so through the hdmi connector. My. My.

Howto rework

Ever since our first successful capture, there has been a howto in the fosdem video hardware github wiki. I have now gone and walked through it again, and updated some bits and pieces.

Wait and see whether the others can make that work :)

Bulldozing the TFP401 backlight

The Adafruit tfp401 module gets quite warm, and especially the big diode in the backlight circuit seems to dissipate quite a lot of heat. It usually is too hot to touch.

A usb amp meter told me that the module was drawing 615mW when hdmi was active. So I went and ran most of the backlight circuit components from the board, and now we're drawing only 272mW. Nice!

A look into the box we will be replacing.

FOSDEMs Mark Vandenborre posted a picture of some video boxes attached to a 48 port switch.

FOSDEM slides boxes in action.

There are 58 of those today, so mentally multiply the pile under the switch by 10.

Marian Marinov from Openfest (who will be getting a test board soon) actually has a picture of the internals of one of the slides boxes on his site:

FOSDEM slides box internals.

This picture was probably made during openfest 2018, so this is from just before we rebuilt all 29 slides boxes. One change is that this slides box lacks the IR LED to control the scaler by playing pcm files :)

Left, you can see scaler (large green board) and the splitter (small green board). In the middle, from top to bottom, the hardware h264 encoder, the banana-pi, and the status LCD. Then there's an ATX power supply, then, hidden under the rats nest of cables, there's a small SSD, and then an ethernet switch.

Our current goal is to turn that into:
- 1 5V power supply
- 1 lime2 with ADV7611 daughterboard.
- keep the lcd.
- keep the 4 port switch.
- perhaps keep the SSD, or just store the local copy of the dump on the SD card (they are large and cheap now).

We would basically shrink everything to a quarter the size, and massively drop the cost and complexity of the hardware. And we get a lot of extra control in return as well.


Thanks a lot to the guys who donated through paypal. Your support is much appreciated and was used on some soldering supplies.

If anyone wants to support this work, either drop me an email for larger donations if you have a VAT number, so i can produce a proper invoice. Or just use paypal for small donations :)

Next up

Sunxi H264 encoding is where it is at now, i will probably write up a quick and dirty cut down encoder for now, as february is approaching fast and there's a lot to do still.

26 Sep 2019 2:05am GMT