Quantenphysik und Kosmologie [32C3]

Steini erklärt auf dem 32C3 Quantenmechanik, den Urknall und vieles mehr. Und man versteht es. Wirklich klasse!

03.01.2016 19:01 CC0 science Gefunden

Re: The Perl Jam 2 [32c3] ... for the LoLz

Netaniel Rubin continues his crusade to eradicate Perl from the planet, on 32C3 this time. I will not respond to the technical details, as others are already doing so.

During his talk Netaniel complains about the Perl Community, which he assumes is being represented by the people on  perlmonks.org, responding to his talk last year aggressively, personally and with trolling. Well, this comment will be personal as well and surely offending. 

Let's be clear first: the problems pointed out by Netaniel during his second talk are indeed real in a sense. But they are not new, nor are they perl specific. At least they are well known for years (see the gist linked above for more details). The problem I'm seeing with this talk is the tone.

You see, there's criticism and there's rants. Netaniel's talk is a rant. And it's not justified. Obviously he REALLY hates perl. He makes fun of it, he shouts at it, he even insults it. However, we're talking about a fucking programming language, not a human being, or an organisation or the like. This boy stands on the stage and behaves like a five year old shouting at his non-functioning Lego construction: "You Moron!".

My impression of this talk (and thus Netaniel) is worse than the last one. It's funny if you don't have a clue but insults the intelligence of the initiated.

Dear Netaniel: "Stop using Perl!" is a childish, ridiculous and unrealistic demand. And your "arguments" aren't getting the more valid the louder you shout them. Therefore, let me explain to you how the real world looks like:

There are lots of computers running these days (not counting PCs, notebooks, tablets or phones). The majority of them is not connected to the internet. These are headless servers running unattended most of the time (just to make sure you understand what I'm talking about since you're a windows user: headless in this context means "no GUI", just a console). Such systems are operated by system administrators, labeled as "DevOps" these days.

Administrators are responsible for lots of systems, hundreds or even thousands of servers. Many of such servers are legacy systems running legacy operating systems and legacy software. Sometimes it's not possible to update them, sometimes it's not allowed, sometimes there's no developer for the particular software running on it left in the company. So they keep running. And running, and running, and running.

Administrators are a lazy species. If they ever watch themselfes entering the same cascade of commands twice they put them into an shell alias. And if it grows so much that it doesn't fit into an alias, they put it into a shell function. Sometimes such a function grows and grows so much that it doesn't make any sense any more to maintain it as a shell function in .bashrc or something. So, the administrator puts the function into a script.

The script grows further and sometimes reaches a point where it is a pain in the ass to continue to develop it as a shell script. The administrator decides to go to the next level and rewrite the thing with something more powerful and flexible than a shell script. In essence he wants to convert the script from a beast into an elegant lady.

Now, Netaniel, remember what I told you earlier about legacy systems. You cannot install node.js on an AIX system of the past decade. You're not allowed to install Go on a mainframe. There's no modern ruby package for that ancient Sun machine. But there's Perl.

Let me repeat: but there's Perl!

Perl is part of the base installation of most operating systems of relevance (that is: not Windows, Netaniel, sorry) for decades. A well crafted perl script can be deployed over dozens of different platforms doing the same simple thing, stable, portable and maintainable. Sometimes Python can be used instead. If all servers have python. Sometimes even ruby might be used. But the more heterogeneous a network gets and the more legacy systems it contains the higher the probability that you will be stuck with Perl.

The reason is simple: Perl itself is a legacy system. It was born out of system administration, designed by system administrators just to make their live easier. Not necessarily yours, that is.

Of course, since its inception, people have done things with Perl beyond imagination. The even wrote CGI scripts, replaced them with application servers which they then replaced with content management systems. And all those dirty features built into Perl to make administrators happy are still there, waiting to be exploited by Kids like yourself.

That's the reason thousands of developers all over the world implemented better systems like Mojolicious, because we already know of those features. Your demo code will not work if you just put an "use strict" in there. And we urge people to do so since years after years. The fact that you don't seem to know it, shows how unfamiliar you are with perl. And the fact that you don't seem to know that flexibility with variables is not in any way specific to Perl, shows you never developed anything. Someone in the monk thread (linked above) from last year pointed out that he couldn't find anything you ever developed. This didn't change 2015: there's still nothing to find made by you. Even your Github account with which you responded to the gist post linked above is fresh and has not a single repository or contribution.

Let me say it bluntly: Don't diskuss battle tactics with us unless you bled with us! 

03.01.2016 13:26 CC0 en kritik opensource perl Source

Apple Security Professionals

This is how "security professionals" sound these days:

[..] modifying the hosts file isn’t super easy. It’s a multistep process that varies depending upon which operating system you are using. Here’s a good overview of how to edit the hosts file on different Mac and Windows systems.

And their "howto" is even wrong.

So sad... 

11.11.2015 21:10 CC0 apple idioten Networking

Ascend lebt

Faszinierend, nach soooo langer Zeit lebt der Ascend FTP-Server noch:

% ftp ftp.ascend.com
Connected to ftp.ascend.com.
220 ftp FTP server (Version wu-2.6.2(17)-GD Tue May 11 19:47:08 PDT 2010) ready.
Name (ftp.ascend.com:tom): ftp
331 Guest login ok, send your complete e-mail address as password.
230-The response 'ftp' is not valid
230-Next time please use your e-mail address as your password
230-        for example: joe@.......
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub/Software-Releases/Pipeline
250-Pipeline software releases:
250-This directory contains current released SW for the Pipeline 25, 50, 75, 85,
250-130, 220, and 400.
250-3/23/98 -  
250-Archive			Previous releases of Pipeline software.
250-Release-6.0.X		Current shipping software for Pipelines.
250-NOTE - Release notes pertaining to the versions of firmware are located in the "doc" subdirectory within each firmware directory.
250-For example:
250-6.0.0 Release Notes are to be found in:
250-Please read the file README
250-  it was last modified on Mon Apr  3 15:03:47 2000 - 5690 days ago
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 72
-rwxrwxr-x   1 600          510 Apr  3  2000 .message
drwxrwxr-x   7 600          512 Apr  3  2000 Archive
drwxrwxr-x   8 600          512 Apr  3  2000 CellPipe
drwxrwxr-x   4 600          512 Jan 25  2001 Current
drwxrwxr-x   5 600          512 Apr  3  2000 Pipeline-15
-rwxrwxr-x   1 600          510 Apr  3  2000 README
drwxrwxr-x   9 600          512 Apr  3  2000 Release-6.0.X
drwxrwxr-x  12 600          512 Feb 24  2002 Release-6.1.X
drwxrwxr-x   7 600          512 Feb 19  2002 Release-7.3.X
drwxr-xr-x   4 1            512 Jan 25  2001 Release-8.0-101.0
drwxr-xr-x   4 1            512 Feb 24  2002 Release-8.0-101.2
drwxrwxr-x   3 600          512 Apr  3  2000 SuperPipe
-rwxrwxr-x   1 600        11794 Apr  3  2000 Upgrade-Filenames.txt
-rwxrwxr-x   1 600        12005 Apr  3  2000 Upgrade-Instructions.txt
226 Transfer complete.
ftp> 221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 2149 bytes in 1 transfers.
221-Thank you for using the FTP service on ftp.
221 Goodbye.

05.11.2015 20:04 CC0 fun Draussengewesen

MDD, Module Dependency Disorder, the perl plague

There's a problem with more and more perl modules I'd like to call "Module Dependency Disorder", MDD. Many perl modules, especially the newer ones have so many dependencies - it's just a mess. In the old times you could install modules by using "perl Makefile.PL && make && sudo make install", under some OSes like Linux and FreeBSD most modules are packaged. But this is over.

Thanks goodness there's Perlbrew so I don't have to mess with my system in order to just test a new module. Today I wanted to play a little with Geo::GPX and GIS::Distance, so I installed them inside my perlbrew environment using 'cpanm'. This is what it looked like:

% cpanm GIS::Distance
--> Working on GIS::Distance
Fetching http://www.cpan.org/authors/id/B/BL/BLUEFEET/GIS-Distance-0.09.tar.gz ... OK
Configuring GIS-Distance-0.09 ... OK
==> Found dependencies: Type::Tiny, Moo, Class::Measure, namespace::clean, strictures
--> Working on Type::Tiny
Fetching http://www.cpan.org/authors/id/T/TO/TOBYINK/Type-Tiny-1.000005.tar.gz ... OK
Configuring Type-Tiny-1.000005 ... OK
Building and testing Type-Tiny-1.000005 ... OK
Successfully installed Type-Tiny-1.000005
--> Working on Moo
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/Moo-2.000002.tar.gz ... OK
Configuring Moo-2.000002 ... OK
==> Found dependencies: Module::Runtime, Role::Tiny, Devel::GlobalDestruction, Class::Method::Modifiers
--> Working on Module::Runtime
Fetching http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz ... OK
Configuring Module-Runtime-0.014 ... OK
Building and testing Module-Runtime-0.014 ... OK
Successfully installed Module-Runtime-0.014
--> Working on Role::Tiny
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.000001.tar.gz ... OK
Configuring Role-Tiny-2.000001 ... OK
Building and testing Role-Tiny-2.000001 ... OK
Successfully installed Role-Tiny-2.000001
--> Working on Devel::GlobalDestruction
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.13.tar.gz ... OK
Configuring Devel-GlobalDestruction-0.13 ... OK
==> Found dependencies: Sub::Exporter::Progressive
--> Working on Sub::Exporter::Progressive
Fetching http://www.cpan.org/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz ... OK
Configuring Sub-Exporter-Progressive-0.001011 ... OK
Building and testing Sub-Exporter-Progressive-0.001011 ... OK
Successfully installed Sub-Exporter-Progressive-0.001011
Building and testing Devel-GlobalDestruction-0.13 ... OK
Successfully installed Devel-GlobalDestruction-0.13
--> Working on Class::Method::Modifiers
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.11.tar.gz ... OK
Configuring Class-Method-Modifiers-2.11 ... OK
Building and testing Class-Method-Modifiers-2.11 ... OK
Successfully installed Class-Method-Modifiers-2.11
Building and testing Moo-2.000002 ... OK
Successfully installed Moo-2.000002
--> Working on Class::Measure
Fetching http://www.cpan.org/authors/id/B/BL/BLUEFEET/Class-Measure-0.05.tar.gz ... OK
Configuring Class-Measure-0.05 ... OK
==> Found dependencies: Sub::Exporter
--> Working on Sub::Exporter
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz ... OK
Configuring Sub-Exporter-0.987 ... OK
==> Found dependencies: Data::OptList, Sub::Install, Params::Util
--> Working on Data::OptList
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Data-OptList-0.109.tar.gz ... OK
Configuring Data-OptList-0.109 ... OK
==> Found dependencies: Params::Util, Sub::Install
--> Working on Params::Util
Fetching http://www.cpan.org/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz ... OK
Configuring Params-Util-1.07 ... OK
Building and testing Params-Util-1.07 ... OK
Successfully installed Params-Util-1.07
--> Working on Sub::Install
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz ... OK
Configuring Sub-Install-0.928 ... OK
Building and testing Sub-Install-0.928 ... OK
Successfully installed Sub-Install-0.928
Building and testing Data-OptList-0.109 ... OK
Successfully installed Data-OptList-0.109
Building and testing Sub-Exporter-0.987 ... OK
Successfully installed Sub-Exporter-0.987
Building and testing Class-Measure-0.05 ... OK
Successfully installed Class-Measure-0.05
--> Working on namespace::clean
Fetching http://www.cpan.org/authors/id/R/RI/RIBASUSHI/namespace-clean-0.26.tar.gz ... OK
Configuring namespace::clean-0.26 ... OK
==> Found dependencies: Package::Stash, B::Hooks::EndOfScope
--> Working on Package::Stash
Fetching http://www.cpan.org/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz ... OK
==> Found dependencies: Dist::CheckConflicts
--> Working on Dist::CheckConflicts
Fetching http://www.cpan.org/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz ... OK
Configuring Dist-CheckConflicts-0.11 ... OK
Building and testing Dist-CheckConflicts-0.11 ... OK
Successfully installed Dist-CheckConflicts-0.11
Configuring Package-Stash-0.37 ... OK
==> Found dependencies: Package::Stash::XS, Module::Implementation
--> Working on Package::Stash::XS
Fetching http://www.cpan.org/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz ... OK
Configuring Package-Stash-XS-0.28 ... OK
Building and testing Package-Stash-XS-0.28 ... OK
Successfully installed Package-Stash-XS-0.28
--> Working on Module::Implementation
Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz ... OK
Configuring Module-Implementation-0.09 ... OK
Building and testing Module-Implementation-0.09 ... OK
Successfully installed Module-Implementation-0.09
Building and testing Package-Stash-0.37 ... OK
Successfully installed Package-Stash-0.37
--> Working on B::Hooks::EndOfScope
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.15.tar.gz ... OK
Configuring B-Hooks-EndOfScope-0.15 ... OK
==> Found dependencies: Variable::Magic
--> Working on Variable::Magic
Fetching http://www.cpan.org/authors/id/V/VP/VPIT/Variable-Magic-0.59.tar.gz ... OK
Configuring Variable-Magic-0.59 ... OK
Building and testing Variable-Magic-0.59 ... OK
Successfully installed Variable-Magic-0.59
Building and testing B-Hooks-EndOfScope-0.15 ... OK
Successfully installed B-Hooks-EndOfScope-0.15
Building and testing namespace::clean-0.26 ... OK
Successfully installed namespace::clean-0.26
--> Working on strictures
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/strictures-2.000001.tar.gz ... OK
Configuring strictures-2.000001 ... OK
==> Found dependencies: indirect, bareword::filehandles, multidimensional
--> Working on indirect
Fetching http://www.cpan.org/authors/id/V/VP/VPIT/indirect-0.36.tar.gz ... OK
Configuring indirect-0.36 ... OK
Building and testing indirect-0.36 ... OK
Successfully installed indirect-0.36
--> Working on bareword::filehandles
Fetching http://www.cpan.org/authors/id/I/IL/ILMARI/bareword-filehandles-0.003.tar.gz ... OK
==> Found dependencies: B::Hooks::OP::Check, ExtUtils::Depends
--> Working on B::Hooks::OP::Check
Fetching http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/B-Hooks-OP-Check-0.19.tar.gz ... OK
==> Found dependencies: ExtUtils::Depends
--> Working on ExtUtils::Depends
Fetching http://www.cpan.org/authors/id/X/XA/XAOC/ExtUtils-Depends-0.404.tar.gz ... OK
Configuring ExtUtils-Depends-0.404 ... OK
Building and testing ExtUtils-Depends-0.404 ... OK
Successfully installed ExtUtils-Depends-0.404
Configuring B-Hooks-OP-Check-0.19 ... OK
Building and testing B-Hooks-OP-Check-0.19 ... OK
Successfully installed B-Hooks-OP-Check-0.19
Configuring bareword-filehandles-0.003 ... OK
==> Found dependencies: Lexical::SealRequireHints
--> Working on Lexical::SealRequireHints
Fetching http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.009.tar.gz ... OK
Configuring Lexical-SealRequireHints-0.009 ... OK
Building and testing Lexical-SealRequireHints-0.009 ... OK
Successfully installed Lexical-SealRequireHints-0.009
Building and testing bareword-filehandles-0.003 ... OK
Successfully installed bareword-filehandles-0.003
--> Working on multidimensional
Fetching http://www.cpan.org/authors/id/I/IL/ILMARI/multidimensional-0.011.tar.gz ... OK
Configuring multidimensional-0.011 ... OK
Building and testing multidimensional-0.011 ... OK
Successfully installed multidimensional-0.011
Building and testing strictures-2.000001 ... OK
Successfully installed strictures-2.000001
Building and testing GIS-Distance-0.09 ... OK
Successfully installed GIS-Distance-0.09
27 distributions installed

% cpanm Geo::Gpx 
--> Working on Geo::Gpx
Fetching http://www.cpan.org/authors/id/A/AN/ANDYA/Geo-Gpx-0.26.tar.gz ... OK
Configuring Geo-Gpx-0.26 ... OK
==> Found dependencies: XML::Descent, DateTime, DateTime::Format::ISO8601
--> Working on XML::Descent
Fetching http://www.cpan.org/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz ... OK
Configuring XML-Descent-1.04 ... OK
==> Found dependencies: XML::TokeParser, Test::Differences
--> Working on XML::TokeParser
Fetching http://www.cpan.org/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz ... OK
Configuring XML-TokeParser-0.05 ... OK
==> Found dependencies: XML::Parser
--> Working on XML::Parser
Fetching http://www.cpan.org/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz ... OK
Configuring XML-Parser-2.44 ... OK
==> Found dependencies: LWP::UserAgent
--> Working on LWP::UserAgent
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/libwww-perl-6.13.tar.gz ... OK
Configuring libwww-perl-6.13 ... OK
==> Found dependencies: File::Listing, HTTP::Cookies, HTTP::Request::Common, WWW::RobotRules,
HTTP::Request, URI, URI::Escape, HTTP::Daemon, HTTP::Date, LWP::MediaTypes, HTTP::Negotiate,
Net::HTTP, HTTP::Status, HTTP::Response --> Working on File::Listing Fetching http://www.cpan.org/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz ... OK Configuring File-Listing-6.04 ... OK ==> Found dependencies: HTTP::Date --> Working on HTTP::Date Fetching http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz ... OK Configuring HTTP-Date-6.02 ... OK Building and testing HTTP-Date-6.02 ... OK Successfully installed HTTP-Date-6.02 Building and testing File-Listing-6.04 ... OK Successfully installed File-Listing-6.04 --> Working on HTTP::Cookies Fetching http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz ... OK Configuring HTTP-Cookies-6.01 ... OK ==> Found dependencies: HTTP::Headers::Util --> Working on HTTP::Headers::Util Fetching http://www.cpan.org/authors/id/E/ET/ETHER/HTTP-Message-6.11.tar.gz ... OK Configuring HTTP-Message-6.11 ... OK ==> Found dependencies: URI, IO::HTML, LWP::MediaTypes --> Working on URI Fetching http://www.cpan.org/authors/id/E/ET/ETHER/URI-1.69.tar.gz ... OK Configuring URI-1.69 ... OK Building and testing URI-1.69 ... OK Successfully installed URI-1.69 --> Working on IO::HTML Fetching http://www.cpan.org/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz ... OK Configuring IO-HTML-1.001 ... OK Building and testing IO-HTML-1.001 ... OK Successfully installed IO-HTML-1.001 --> Working on LWP::MediaTypes Fetching http://www.cpan.org/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz ... OK Configuring LWP-MediaTypes-6.02 ... OK Building and testing LWP-MediaTypes-6.02 ... OK Successfully installed LWP-MediaTypes-6.02 Building and testing HTTP-Message-6.11 ... OK Successfully installed HTTP-Message-6.11 Building and testing HTTP-Cookies-6.01 ... OK Successfully installed HTTP-Cookies-6.01 --> Working on WWW::RobotRules Fetching http://www.cpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz ... OK Configuring WWW-RobotRules-6.02 ... OK Building and testing WWW-RobotRules-6.02 ... OK Successfully installed WWW-RobotRules-6.02 --> Working on HTTP::Daemon Fetching http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz ... OK Configuring HTTP-Daemon-6.01 ... OK Building and testing HTTP-Daemon-6.01 ... OK Successfully installed HTTP-Daemon-6.01 --> Working on HTTP::Negotiate Fetching http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz ... OK Configuring HTTP-Negotiate-6.01 ... OK Building and testing HTTP-Negotiate-6.01 ... OK Successfully installed HTTP-Negotiate-6.01 --> Working on Net::HTTP Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Net-HTTP-6.09.tar.gz ... OK Configuring Net-HTTP-6.09 ... OK Building and testing Net-HTTP-6.09 ... OK Successfully installed Net-HTTP-6.09 Building and testing libwww-perl-6.13 ... OK Successfully installed libwww-perl-6.13 Building and testing XML-Parser-2.44 ... OK Successfully installed XML-Parser-2.44 Building and testing XML-TokeParser-0.05 ... OK Successfully installed XML-TokeParser-0.05 --> Working on Test::Differences Fetching http://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-Differences-0.63.tar.gz ... OK Configuring Test-Differences-0.63 ... OK Building and testing Test-Differences-0.63 ... OK Successfully installed Test-Differences-0.63 Building and testing XML-Descent-1.04 ... OK Successfully installed XML-Descent-1.04 --> Working on DateTime Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-1.21.tar.gz ... OK Configuring DateTime-1.21 ... OK ==> Found dependencies: Test::Warnings, DateTime::TimeZone, DateTime::Locale, Params::Validate --> Working on Test::Warnings Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Test-Warnings-0.021.tar.gz ... OK Configuring Test-Warnings-0.021 ... OK ==> Found dependencies: CPAN::Meta::Check --> Working on CPAN::Meta::Check Fetching http://www.cpan.org/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.012.tar.gz ... OK Configuring CPAN-Meta-Check-0.012 ... OK ==> Found dependencies: Module::Metadata --> Working on Module::Metadata Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Module-Metadata-1.000027.tar.gz ... OK Configuring Module-Metadata-1.000027 ... OK Building and testing Module-Metadata-1.000027 ... OK Successfully installed Module-Metadata-1.000027 (upgraded from 1.000011) Building and testing CPAN-Meta-Check-0.012 ... OK Successfully installed CPAN-Meta-Check-0.012 Building and testing Test-Warnings-0.021 ... OK Successfully installed Test-Warnings-0.021 --> Working on DateTime::TimeZone Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-1.94.tar.gz ... OK Configuring DateTime-TimeZone-1.94 ... OK ==> Found dependencies: Class::Singleton, Params::Validate, List::Util --> Working on Class::Singleton Fetching http://www.cpan.org/authors/id/S/SH/SHAY/Class-Singleton-1.5.tar.gz ... OK Configuring Class-Singleton-1.5 ... OK Building and testing Class-Singleton-1.5 ... OK Successfully installed Class-Singleton-1.5 --> Working on Params::Validate Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-1.21.tar.gz ... OK Configuring Params-Validate-1.21 ... OK Building and testing Params-Validate-1.21 ... OK Successfully installed Params-Validate-1.21 --> Working on List::Util Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.42.tar.gz ... OK Configuring Scalar-List-Utils-1.42 ... OK Building and testing Scalar-List-Utils-1.42 ... OK Successfully installed Scalar-List-Utils-1.42 (upgraded from 1.27) Building and testing DateTime-TimeZone-1.94 ... OK Successfully installed DateTime-TimeZone-1.94 --> Working on DateTime::Locale Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-0.92.tar.gz ... OK Configuring DateTime-Locale-0.92 ... OK Building and testing DateTime-Locale-0.92 ... OK Successfully installed DateTime-Locale-0.92 Building and testing DateTime-1.21 ... OK Successfully installed DateTime-1.21 --> Working on DateTime::Format::ISO8601 Fetching http://www.cpan.org/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz ... OK Configuring DateTime-Format-ISO8601-0.08 ... OK ==> Found dependencies: DateTime::Format::Builder --> Working on DateTime::Format::Builder Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.81.tar.gz ... OK Configuring DateTime-Format-Builder-0.81 ... OK ==> Found dependencies: DateTime::Format::Strptime, Class::Factory::Util --> Working on DateTime::Format::Strptime Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.57.tar.gz ... OK Configuring DateTime-Format-Strptime-1.57 ... OK Building and testing DateTime-Format-Strptime-1.57 ... OK Successfully installed DateTime-Format-Strptime-1.57 --> Working on Class::Factory::Util Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz ... OK Configuring Class-Factory-Util-1.7 ... OK Building and testing Class-Factory-Util-1.7 ... OK Successfully installed Class-Factory-Util-1.7 Building and testing DateTime-Format-Builder-0.81 ... OK Successfully installed DateTime-Format-Builder-0.81 Building and testing DateTime-Format-ISO8601-0.08 ... OK Successfully installed DateTime-Format-ISO8601-0.08 Building and testing Geo-Gpx-0.26 ... OK Successfully installed Geo-Gpx-0.26 30 distributions installed

Yes that's right. 55 perlmodules were installed as dependencies, which doesn't take the ones I already had installed into account.Of course the most of them are recursive dependencies. But these days developers don't look at the dependency tree when they decide which module to use.

This is just shit. Fucking shit. Stinking shit. Idiotic shit. No wonder most people think perl is dead. Perl itself might be alive but the founding idea behind it is surely dead. What a nightmare.

30.10.2015 20:43 CC0 idioten perl Source

Refugees Welcome! - Updated 28.10.2015 18:24

Ich hab schon lange nichts Politisches mehr hier geschrieben. Zum einen weil ich einfach nicht so viel Zeit habe und zum anderen weil ich eh nicht so viele Leser habe. Wobei Letzteres ohnehin nicht der Grund ist, warum ich eine Website betreibe. Insofern wird es also mal wieder Zeit dafür. Die aktuellen Entwicklungen in Deutschland machen es ohnehin erforderlich, klar Stellung zu beziehen, finde ich.

Voranschicken möchte ich, dass ich die Merkel nicht mag und noch nie mochte. Dieses Nichtstun und Aussitzen und Hintenherumtaktieren, ihre Nähe zur Industrie, zu Lobbyisten, zur USA und ihre offensichtliche Entfernung von den Sorgen der Leute in diesem Land, all dies ging mir schon immer auf den Zeiger. Das Stichwort um das es mir hier geht ist "Sorgen" - aber dazu später. Was mich jedenfalls an mir selbst erstaunt ist, dass ich Merkels aktuelle Haltung gut finde. Wohl gemerkt: nicht notwendigerweise ihre Politik, sondern ihre Haltung. Beziehnungsweise die Tatsache, dass sie überhaupt einmal Haltung zeigt UND bewahrt. Das finde ich grossartig. Menschlich hat sie damit bei mir richtig gepunktet.

Der Grund dafür ist, dass ich diese Haltung teile. Wir sind - nicht nur per Grundgesetz, EU Menschenrechtscharta und Genver Konvention - verpflichtet die Flüchtlinge aufzunehmen und für sie zu sorgen. Und zwar auf eine Weise, dass diese Krieg, Tod, Folter und Elend tatsächlich hinter sich lassen können. Und ich finde, wir machen die Welt damit zu einem besseren Ort. Denn wenn man das Leben von auch nur einem Menschen verbessert, dann verbessert man die Welt (ja, Ihr wisst sicher, woher das kommt).

Nun gibt es viele Menschen in diesem Land, die das nicht so sehen, und sie werden immer mehr. Auch in meinem Bekanntenkreis und auch in meiner Familie. Das ist der selbe Schlag Mensch, der mit seiner Zustimmung, seiner Gewalt und seiner latenten Feindseligkeit das Entstehen des Dritten Reiches erst ermöglicht hat. Ich will nicht zu solchen Leuten gehören. Ich will nicht mit meinem Tun oder Nichtstun ein Viertes Reich ermöglichen.

Ja, Hartz-IV ist menschenverachtend, dafür können die Flüchtlinge aber nichts.

Ja, unser Alten- und Pflegesystem ist der Horror, dafür können die Flüchtlinge aber nichts.

Ja, unsere Infrastruktur ist hinüber, dafür können die Flüchtlinge aber nichts.

Ja, unsere Politik ist korrupt, dafür können die Flüchtlinge aber nichts.

Ja, unsere Medienlandschaft ist unausgewogen und zu sehr kommerzialisiert, dafür können die Flüchtlinge aber nichts.

Ja, es gibt immer mehr Arme, dafür können die Flüchtlinge aber nichts.

Ja, das Bildungsniveau sinkt kontinuierlich, dafür können die Flüchtlinge aber nichts.

Ja, wir werden schlimmer überwacht als zu Stasizeiten, dafür können die Flüchtlinge aber auch nichts.

Zusammengefasst: es gäbe eine Menge Dinge wegen derer man auf die Strasse gehen könnte, um die man sich Kümmern müsste, für die man Kämpfen müsste, für die man Streiten müsste, für die es sich lohnen würde Tränen zu vergiessen, Blut womöglich auch.

Aber das tut kaum jemand. Es gibt keine Demos gegen Überwachung, gegen Korruption oder für eine bessere Behandlung alter Menschen oder Kinder. Die Wahlbeteiligung in diesem Lande ist so niedrig wie noch nie zuvor. Den Leuten ist alles scheissegal geworden. Jeder ist nur noch sich selbst der nächste. Um seinen Nachbarn kümmert sich keiner mehr, es sei denn man kann ihn bei der Polizei wegen irgendwas anzeigen. Die Leute regen sich über den "Scheiss Staat" auf und kapieren einfach nicht, dass sie selbst es sind, die diesen "Scheiss Staat" konstituieren, dass sie selbst der "Scheiss Staat" sind, kurz: dass sie selbst Scheisse sind.

Jetzt kommen immer mehr Flüchtlinge bei uns an. Mit leuchtenden Augen, heilfroh, es geschafft zu haben. Und was tun die Leute? Sie geben den Flüchtlingen die Schuld an all ihrem Unglück. Das letzte Mal, dass in diesem Land nicht gegen den Staat sondern gegen eine andere Bevölkerungsgruppe demonstriert wurde, war in den 30er Jahren des vergangenen Jahrhunderts. Und dann wundern diese Affen sich, wenn man sie als Nazis bezeichnet?! Ja wo zum Henker leben wir denn!

Und was für feige Dreckschweine sind das, die Flüchtlingsunterkünfte anzünden und ausländisch Aussehende auf der Strasse überfallen und verprügeln? Das ist unerträglich und eine Schande! Und NEIN, es gibt keinen Unterschied zwischen solchen und denen, die sich "Sorgen" machen. Zum Sorgen Machen hattet Ihr jahrzehntelang Zeit! Aber Ihr habt SPD und CDU oder NICHT gewählt, obwohl Ihr wusstet, dass das nicht gut für Euch, Eure Kinder und dieses Land ist! Ihr habt unwidersprochen jahrzehntelang die BILD gekauft und Euch belügen lassen! Ihr habt jahrzehntelang nur Gefressen, Gefickt und Geglotzt und nichts GETAN!

Und JETZT kommt Ihr aus Euren Löchern gekrochen mit Weltanschauungen jenseits von Gut und Böse, geschützt von der schieren Menge an Idioten unter die Ihr Euch mischen könnt, und reisst das Maul auf? Was bildet Ihr Euch eigentlich ein Ihr dummen Arschlöcher!

Oh ja, die Meinungsfreiheit, werdet Ihr jetzt brüllen. Leute wie ich wollen Eure Meinungsfreiheit einschränken. Meine Fresse wie dämlich ist das denn?! Da schränkt ein Innenminister nach dem nächsten die Meinungsfreiheit immer mehr ein und wer von Euch faulen Säcken war deswegen je auf der Strasse? Wie bitte? Du bist so leise! Was? Keiner? Ach Was!

Wie dem auch sei.

Wer Flüchtlingen die Schuld an seinem eigenen Schicksal gibt, ist für mich ein verdammter Scheissnazi. Punkt. Wer die ganze Presse als "Lügenpresse" bezeichnet, einem Wort, dass von den Faschisten der NSDAP erfunden worden ist, ist ein elender Nazi. Wer jubelt, wenn ein Flüchtling stirbt ist eine stinkende Nazidrecksau. Wer Leute, die sich für Flüchtlinge und Pluralität engagieren als "Antideutsche" bezeichnet, ist ein Nazi.

Mir ist klar, dass Ihr immer mehr werdet. Und dass vielleicht eines Tages eine Zeit kommen wird, in der Ihr mich vor die Wahl stellen werdet: Für uns oder an die Wand? Nun, meine Entscheidung steht fest. Stellt mich von mir aus an die Wand und erschiesst mich, Ihr Arschlöcher. Aber bis dahin werdet Ihr mich nicht zum Schweigen bringen. Und was auch immer Ihr vorhabt, eines solltet Ihr Euch ganz dringend jetzt schon überlegen: was Ihr Euren Kindern sagen werdet, wenn "ES" vorbei ist. Überlegt Euch, wie es dazu kommen konnte, dass Ihr Euch schuldig gemacht habt. Denn das wird man Euch nämlich fragen, irgendwann, dermaleinst. Weil auch ein Viertes Reich nämlich keinen Bestand haben wird. Es wird Krieg geben, Deutschland wird einmal mehr befreit werden müssen, es wird wieder Millionen Opfer geben und Ihr dummen Wichser seid diejenigen, die daran Schuld gewesen sein werden. Wieder einmal.

Ihr faschistoiden, hirnverbrannten, ignoranten Vollidioten.

Update 20.10.2015 19:14:

Und nun schaut Euch mal an, wie das da aussieht, wo die Flüchtlinge herkommen.

Damaskus, Syrien:

(Ton ausmachen, die haben da Musik hinterlegt)

Kobane, Syrien:

Und IHR macht Euch Sorgen?!

Update 22.10.2015 19:55:

Michael Bittner vergleicht PEGIDA mit der NSDAP und ich muss sagen, die Übereinstimmungen sind erschreckend. Sein Fazit:

Es wäre ein Irrtum zu glauben, die Straßengewalt diskreditiere PEGIDA und schade so der Bewegung. Wie Hannah Arendt erkannte, nützt offener Terror jeder faschistischen Bewegung, denn dem einen Teil der Bevölkerung imponiert sie, den anderen Teil schüchtert sie ein. Dass in Deutschland gerade „die Stimmung kippt“, hängt gewiss mit der Mischung aus Furcht und Respekt zusammen, mit der viele Bundesbürger PEGIDA betrachten. Von Hannah Arendt stammt auch die Beobachtung, dass man faschistische Führer beim Wort nehmen muss, denn sie verschweigen ihre Pläne nicht, sondern sprechen sie offen aus, um zu erschrecken und zu beeindrucken. Wenn Lutz Bachmann also ankündigt, kein „Volksverräter“ werde „ungeschoren“ davonkommen, jeder die „Quittung für seinen Vaterlandsverrat“ erhalten, wie es dann auch ein symbolischer Galgen bei der Montagsdemonstration bezeugt – dann sollte man diese Worte und Gesten sehr ernst nehmen.

Ich empfehle dringend, auch die Kommentare zu lesen, denn Herr Bittner geht dort ganz vorzüglich mit einem dieser Spacken um, hier eine Beispielantwort:

Herr Kämmerer, herzlichen Dank dafür, dass Sie meinen Beitrag mit weiteren Belegen stützen! „Der größte Teil des deutschen Volkes (was davon übrig ist) hat die Schnauze gestrichen voll“ – 5% der Bevölkerung in der PEGIDA-Hochburg Dresden sind also der größte Teil der Deutschen? Und die 50% Nichtwähler, die gehören alle zu PEGIDA, ja? Die haben Sie bestimmt alle persönlich befragt? Und Sie wollen also keine Millonen Muslime in unserem Land? Schade, dass schon vier Millionen hier sind, von denen 2 Millionen deutsche Staatsbürger sind! Oder sind das etwa keine richtigen Deutschen? So wie die Juden für die Nazis keine Deutschen waren? Was wollen Sie mit diesen Undeutschen denn machen, Herr Kämmerer? Aus dem Land vertreiben oder gleich umbringen? Aber gut, dass Sie nichts mit den Nazis zu tun haben, Herr Kämmerer! Mein Tipp: Rauchen Sie mal was Vernünftiges und machen Sie sich locker!
Und mein Lieblingskommentar auf diese Auslassungen:
Schön, Herr Kämmerer, Sie haben offenbar meinen Rat befolgt und sich etwas zu Rauchen besorgt!

Update 26.10.2015 21:49:

Auch schön formuliert, Hal Faber in WWWW:

Das Positive? Wie wär's mal mit einem positiven Amerika-Bild? Der plumpe Antiamerikanismus, in dem sich Links- und Rechtsradikale nur allzu gerne einig sind, hat nunmal mit der amerikansichen Realität und mit der in diesem Deutschland wenig zu tun. Dessen Bewohner sind ganz gut gefahren mit all der amerikanischen Unkultur, die auch konservative Bildungs-Hipster mit Leidensmiene beklagen. Deutschland hat Helene Fischer, Amerika Beyoncé. Lieber mit der amerikanischen Unkultur eines Steve Reich, einer Billie Holiday, eines George Gershwin, eines Kendrick Lamar, eines Neil Young, eines John Zorn oder eines Morton Feldman gepflegt abhängen, als sich mit Pegida-Leitkultur gegen vermeintliche Umvolkung abstrampeln. Und wenn das FBI einreitet, um auch hierzulande mal ein paar korrupte Fußballfunktionäre hochzunehmen, dann darf man sich ebenfalls freuen. Das Fazit? Genau, es ist nie alles so schwarz und weiß, wie uns die linken wie rechten Vereinfacher und populistischen Meinungsmacher weismachen wollen.

Update 28.10.2015 18:24:

Paar Tage her, aber ein MUST READ: Benimm Dich Sachse, insbesondere:

Hey. Hallo. Bitte nicht falsch verstehen, ich bin kein Sachsenfeind, aber ... die sind einfach alle Nazis. Da kann ich doch nichts für. Das werd' ich doch wohl sagen dürfen. Echt mal. Ich sage nur wie es ist. Nein. Ja. Bitte. Chill. Ich habe wirklich nichts gegen Sachsen, einer meiner besten Freunde ist Sachse.

Denn, wenn "Die Syrer" angeblich alle Sozialschmarotzer, Kriminelle und Vergewaltiger sind, dann sind die Sachsen in der Tat alle Nazis. Toll, wenn man die Welt so einf|ältig|ach betrachten kann.

Und apropos "Das wid man ja wohl mal sagen dürfen": Hervorragend festgetackert von Carolin Emcke in der Süddeutschen:

Das vielleicht verstörendste Missverständnis derjenigen, die das "man wird ja wohl mal sagen dürfen" wie ein rhetorisches Schutzschild vor rationaler Kritik vor sich hertragen, besteht in der Verherrlichung schrankenloser Gefühligkeit. Als hätten ungefilterte Emotionen per se Berechtigung im öffentlichen Diskurs qua ihrer bloßen Emotionalität. Jedes dumpfe Vorurteil, jede schamlose Missachtung, jeder noch so unappetitliche innere Dreck darf nach außen gestülpt werden, weil jedes Gefühl angeblich nicht nur still empfunden, sondern auch lauthals öffentlich erbrochen werden darf. Als sei jede Form der abwägenden Reflexion, jede Form der Skepsis den eigenen Gefühlen (oder Überzeugungen) gegenüber, jede Rücksichtnahme auf Gefühle anderer eine inakzeptable Einschränkung der eigenen Bedürfnisbefriedigung.

So wird eine Form ungehemmter Egozentrik, die eher der moralischen Entwicklungsstufe von Kleinkindern entspricht, zu einer pseudo-politischen Diskurstechnik verklärt. Aber nicht jedes Gefühl braucht politische Repräsentation oder Artikulation. Manche Gefühle sind einfach nur schäbig. Jeder und jede von uns hat solche Gefühle zuhauf. Aber sie gehören gehemmt, gefiltert, reflektiert, nicht aufgewertet und legitimiert.

Und apropos Hass, Klaus Baum hat das sehr schön in Worte gefasst:

Ich formuliere als These, dass das meiste, was von PEGIDA (im Sinne eines Oberbegriffs) kommt, Unterstellungen, Projektionen sind. Man wirft zum Beispiel den Flüchtlingen unlautere Motive vor, um sich selbst als lauter zu empfinden. Man projiziert auf alle, die man als Asylbefürworter bezeichnen könnte, das Böse, um die Asylbefürworter zu prügeln, zu erstechen, zu verbrennen usw.

Man muss den Leuten, die einem unheimlich sind, fremd, weil man sie nicht versteht, hässliche Motive unterstellen, damit man sie mit gutem Gewissen auf gehässige Weise fertig machen kann. Hätte der Löwe Bewußtsein, wenn auch ein falsches, so würde er die Gazelle als bedrohlich deklarieren, bevor er über sie herfällt.

Thanks Goodness!

Es geschehen noch Zeichen und Wunder. Die BILD macht zu! Endlich! 

Bild: BILD macht dicht
BILD macht dicht (Oct. 13, 2015, 8:45 p.m.)
[Tags: 2013 ] [Album: ]

13.10.2015 20:43 CC0 freiheit fun Geschwätz

gcc WTF Bug

Ganz grosses Kino:

gcc blah.c -o blah.c

funktioniert klaglos, d.h. gcc überschreibt den Sourcecode einfach mit dem compilierten Binary. Sonst geht's ja auch noch oder?!

30.08.2015 17:23 CC0 opensource Unfassbar

Cryptowars 2.0

Rysiek hat die bislang beste Erklärung für den neuesten Anlauf der US- und UK-Regierungen, staatliche Backdoors bei Verschlüsselung vorschreiben zu wollen:

The very fact of wanting to stay secure and keep your privacy will become a criminal offence.

Genau. Es geht darum, Verschlüsselung zu kriminalisieren (so wie ohnehin immer mehr bislang völlig normales Verhalten kriminalisiert wird), um im Zweifel gegen bestimmte Leute etwas in der Hand haben zu können. Dass das mit den Backdoors nichts wird, dürfte Cameron und Obama schon klar sein.

18.08.2015 22:48 CC0 crypto politik Gesellschaft

Diceware Password Generator - Updated 26.08.2016 08:13

As I already wrote elsewhere, I'm using separate users, email addresses and passwords for any account I create somewhere. For the passwords I use diceware passwords, which are the most secure ones. Until now I "generated" them myself without really using dices or some kind of dictionary. A somewhat boring process, so I decided to do something about it and wrote a little tool for this: dicepwgen.


It's written in C, licensed under the GPL version 3 and doesn't have any special dependencies, that is, it shall compile on almost any unix platform. The tool uses a dictionary file (there's a built-in default location, but it can be changed via the -f flag). It does a couple of "tricks" to fullfill the diceware process: since a dictionary file has way more entries than reachable via five dices (in fact, a diceware word list contains only 7776 entries), it jumps over a random number of lines when reading in the dictionary file. It indexes each entry with a "dicey" number, that is, a number consiting of 1,2,3,4,5,6. 

Then there are two operational modes: in the default mode it generates a couple of dice rolls (by default 4, which can be changed as well), looks up the matching words from the list and prints them. In interactive mode, which can be enabled by setting the -t switch, it asks the user to enter the dice rolls. In that mode the user has to roll physical dices and enter whatever shows up. Passwords generated this way are truly random.

It should be noted that dicepwgen only uses words consiting of plain ASCII characters (a-zA-Z) and ignores all others. So, passwords generated with dicepwgen do not contain UTF8 or latin1 characters or whatever encoding the dictionary file may use. This behavior is intentional, since it is not wise to use UTF8 or other non-ASCII characters for passwords anyway. It also ignores words which are too short or too long, however these parameters can be tweaked (with -l or -m).

Usage example (default mode, the tool "rolls" the dices):

% dicepwgen
granting frightens parrakeet flukes

And here is how it looks if the user rolls the dices:

% dicepwgen -t
dice roll 1 - enter 5 digits, each between 1-6: 34112
dice roll 2 - enter 5 digits, each between 1-6: 62155
dice roll 3 - enter 5 digits, each between 1-6: 33431
dice roll 4 - enter 5 digits, each between 1-6: 16261
Gonzalo armrest Capistrano eaters 

Ok, not much to see :) But good tools are simple to use, aren't they?

Update 26.08.2016 08:13:

I added a new flag -y which causes whitespaces to be replaced with dashes and adds %8 to the end of the generated passphrase.

Often I stumble upon sites with so called "password policies" and in many cases it's not possible to use unaltered diceware passphrases on such sites. Either they do not support whitespaces or they require numbers and non-letter characters to be present.

So, this is what -y does: satisfy those sites with their horrible policies while still being able to use a diceware passphrase. This is possible because it doesn't matter if the dice words are separated with a dash, a whitespace or even nothing. Entropy is the same. That -y adds a constant %8 to the end, doesn't matter either: the security lies in the dice words.

03.08.2015 19:49 CC0 diceware opensource security Source