diff options
-rw-r--r-- | _config.yml | 1 | ||||
-rw-r--r-- | _pages/index.md | 7 | ||||
-rw-r--r-- | _posts/2018-08-15-the-perl-conference-in-glasgow.adoc | 169 | ||||
-rw-r--r-- | atom.xml | 5 | ||||
-rw-r--r-- | css/custom/blockquotes.less | 18 | ||||
-rw-r--r-- | css/custom/helpers.less | 5 | ||||
-rw-r--r-- | css/custom/navigation.less | 30 | ||||
-rw-r--r-- | css/formats/asciidoc.less | 45 | ||||
-rw-r--r-- | css/main.less | 99 | ||||
-rw-r--r-- | css/variables.less | 11 | ||||
-rw-r--r-- | feed.xml | 28 |
11 files changed, 323 insertions, 95 deletions
diff --git a/_config.yml b/_config.yml index 3236bd9..083f894 100644 --- a/_config.yml +++ b/_config.yml @@ -26,7 +26,6 @@ keep_files: - img asciidoctor: attributes: - icons: font imagesdir: /img pygments-style: emacs pygments-stylesheet: css/pygments.base.css diff --git a/_pages/index.md b/_pages/index.md index bb130f5..d3181c4 100644 --- a/_pages/index.md +++ b/_pages/index.md @@ -73,12 +73,13 @@ via [`BitlBee`][bitlbee], the response time is about the same as via IRC. ## RSS If you'd like to stay up-to-date with my posts, you can subscribe to the [RSS -feed][rss]. +feed][rss] or the [Atom feed][atom]. +[atom]: {{ "/atom.xml" | prepend: site.baseurl | prepend: site.url }} [bitlbee]: https://www.bitlbee.org/main.php/news.r.html [c.darenet]: https://c.darenet.org/u/tyil [darenet]: https://darenet.org -[donate]: /support/ +[donate]: {{ "/support/" | prepend: site.baseurl | perpend: site.url }} [freenode]: https://freenode.net [github]: https://github.com/Tyil [keybase]: https://keybase.io/tyil @@ -87,4 +88,4 @@ feed][rss]. [mastodon]: https://mastodon.social/web/accounts/34234 [pubkey]: https://pgp.mit.edu/pks/lookup?op=vindex&search=0x9ACFE193FFBC1F50 [rizon]: https://rizon.net -[rss]: https://www.tyil.nl/atom.xml +[rss]: {{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }} diff --git a/_posts/2018-08-15-the-perl-conference-in-glasgow.adoc b/_posts/2018-08-15-the-perl-conference-in-glasgow.adoc new file mode 100644 index 0000000..be0a7f8 --- /dev/null +++ b/_posts/2018-08-15-the-perl-conference-in-glasgow.adoc @@ -0,0 +1,169 @@ +--- +date: 2018-08-15 +wip: true +tags: Perl Conference +description: > + My feedback and comments on some of the talks I attended during The Perl + Conference in Glasgow, in 2018. +--- += The Perl Conference in Glasgow +:toc: preamble + +This year the European Perl Conference was hosted in Glasgow, and of course +I've attended a number of presentation there. On some of these, I have some +feedback or comments. These talks, and the feedback I have for them, are +detailed in this blog post. For some talks, I'll detail it as a summary of the +presentation, because I feel the message is important. + +[NOTE] +==== +The first talk I cover is not so much about Perl, but more about politics, as +the talk was mostly about the speaker's ideology. If this does not interest +you, I'd suggest you skip the link:#discourse-without-drama[Discourse Without +Drama] section, and head straight to the +link:#european-perl-mongers-organiser-s-forum-2018[European Perl Mongers +Organiser’s Forum 2018]. +==== + +== Discourse Without Drama + +This was the first talk, and the only talk available at this timeslot. I am +personally very much against the diversity ideology footnote:[I am not against +the concept of diversity, I wholly support the idea of equal opportunities. +What I do not accept is the idea of equal outcome, or forced diversity based on +physical traits. This is what I refer to with "the diversity ideology", as this +is what it has become in recent times.], and must admit I am skeptical of such +presentations from the get-go. Nonetheless, I did stay until the end and tried +to give it a fair shot. However, I cannot sit idle while she tries to force +her ideology on this community I care very deeply about. + +One of the things that stood out to me is that the speaker tells us not to use +logical fallacies to condemn her ideology. This on itself I can easily agree +with. However, this should go both ways: we should also not use logical +fallacies to promote her ideology. Most notably, she pointed out the +https://en.wikipedia.org/wiki/Argumentum_ad_populum[_argumentum ad populum_]. +This basically means that just because a lot of people do or say something, +doesn't make it right. And this applies to this idea that we need to push the +diversity ideology, with concepts like a code of conduct footnote:[I personally +prefer calling it a "code of misconduct", as these documents are mostly used to +draft a list of misconducts that will bring repurcussions with them, not detail +how the community tries to better itself.], in the Perl community. + +Another thing which slightly bothered me is the useless spin into radical +feminist ideology, which has no place on the Perl conference. We're not at a +political rally here, we're at a Perl conference. Surely, things can (and will) +get political from time to time, but the way the presenter forces us into +talking about her ideology seems unfit for this event. + +Next, the speaker raises the point that people should *not* grow a thicker +skin. Instead, people should get softer hearts. While I can get behind the +latter part, I disagree with the former. Different people have different ideas +of what counts as offensive, which is part of why it's impossible to guarantee +a "safe space" where nobody will ever be offended. If everybody can just be +offended at anything and have the other party suffer repurcussions for it, it's +just a clear invitation to abuse by the perpetually offended. + +The speaker was also very defensive about being called a "social justice +warrior", and informed the crowd that if she were to be called one, she'd +gladly take up a sword. This gives off a feeling that the presenter isn't +interested in civil discourse to come to an agreement together with everyone. +Instead, she'd rather strike down any and all who don't completely accept her +ideology. + +While discussing her points for instating certain rules such as a code of +conduct in one of the IRC channels I moderate, I was pointed towards +https://shiromarieke.github.io/coc.html[a very interesting article], which I +would recommend to the speaker and anyone else reading this. If we truly need +to have a code of conduct at the Perl community, I'd like to propose the text +from this particular poster, found all around the conference: + +image::https://matrix.org/_matrix/media/v1/download/matrix.org/ZAHwJvcPyKLIgnDqWBxJyctD[Perl Code of Conduct, 400, 600, role="center"] + +Additionally, I'd like to leave this particular quote to the speaker herself, +which was written on the wall of one of the rooms during the conference: + +[quote, Oscar Romero] +____ +Aspire not to have more, but to be more... +____ + +== European Perl Mongers Organiser's Forum 2018 + +The Perl community isn't big nowadays, which is sad. The Perl 6 language also +offers a lot of concepts which are very well suited for modern programming. +However, if no new users try out the language, it will be all for nothing. As +such, we need to bring new blood in to the community. + +One of the ways of doing this, is by extending our promoting efforts outside of +the Perl community. Most people who like Perl are in a social bubble with other +people that are also familiar with the Perl programming language, be it 5 or 6. +But we need to reach new people as well, who will most likely be outside of +this social bubble. These people don't have to be techies either, they might +just as well be marketeers or designers. + +I myself am part of the "techies", so I'll stick to this particular group for +now. And I know people like me can be found at meetups, so it would be +worthwhile to promote Perl at meetups which are not dedicated to Perl. Think of +more generic programming meetups, or GNU+Linux User Groups. We have to be +mindful not to be too pushy, though. Listen to others people, and try to +understand the problem they're facing. Most of them will not be open to use a +different language immediately, especially not Perl (which sadly has a +particularly bad standing amongst people unfamiliar with it). Try to assist +them with their issues, and slowly introduce them to Perl (6) if it helps to +showcase what you mean. It might also be interesting to show people examples on +how to solve certain issues before telling them the language's name, so they +don't have a negative preconception solely from the name. + +Another thing to note is that Perl is more than just a programming language. +It's a community, and a large library of modules, known as CPAN. And CPAN +offers some nifty tools, such as the CPAN testers, which help ensure module +developers that their code runs on a massive set of platforms and Perl +versions. + +This has led me to consider the creation of a new Perl 6 module: +`CPAN::Tester`, to make it easy for people to contribute to a large-scale +testing environment for Perl 6. The idea is that one can run `CPAN::Tester` on +their machine, which will keep track of new Perl 6 modules being uploaded to +CPAN. The results are to be sent to another server (or multiple servers), which +can aggregate the data and show a matrix of test results. This aggregating +server could also be built as a Perl 6 module, possibly named +`CPAN::Tester::ResultsServer`. This would make setting up an environment +similar to CPAN testers for Perl 5 quite easy for Perl 6. + +== TPF Update + +This talk gave some interesting information on the current state of The Perl +Foundation. And there have been some nice developments in the past year, mostly +the updated websites (https://perl.com and https://perlfoundation.org). Sadly, +some sites remain in a slightly outdated state, though there are plans to +update these too. Most notably, https://jobs.perl.org seems to require a +webmaster to bring the platform online and keep it in check. If this is +something you'd like to do, don't hesitate to contact The Perl Foundation about +it. + +Furthermore, The Perl Foundation is looking for more sponsors, as always. +However, you don't need to be a massive corporation to be able to help them +out. They are looking for more smaller sponsors as well. The money of the +sponsorships will be used to support the Perl community. This means money will +be going towards organizing events, such as The Perl Conference, or grants for +both Perl 5 and Perl 6 development and promotion. + +If you'd like to help the Perl community through The Perl Foundation by +volunteering, this is also greatly appreciated. The time commitment expected of +you will depend very much on the tasks you want to deal with, but about 10 +hours a month is a good estimate. + +== Perl 6 in Real Life $Work + +The speaker shows the perfect use case for +https://docs.perl6.org/language/grammars[Perl 6 grammars], advanced yet +readable parsing of text and doing stuff with the results. It's an interesting +talk, showcasing some nifty grammar constructs. The best part of this is, that +it actually runs in production, where it parses over 700 files, consisting over +100,000 lines of code, in about 22 seconds (on his laptop). This goes to show +that Perl 6 is no longer "too slow to use in production". + +It might be interesting to run this application of grammars on every Perl 6 +release to gather more information on the speed improvements of Perl 6, much +like Tux's `Text::CSV` runs. + @@ -7,8 +7,9 @@ layout: null <title>{{ site.title | xml_escape }}</title> <subtitle>{{ site.description | strip | xml_escape }}</subtitle> <updated>{{ site.time | date_to_xmlschema }}</updated> - <link rel="alternate" type="text/html" href="{{ site.url }}{{ site.baseurl }}"/> - <link rel="self" type="application/atom+xml" href="{{ site.url }}{{ site.baseurl }}/atom.xml"/> + <link rel="alternate" type="text/html" href="{{ site.baseurl | prepend: site.url }}" /> + <link rel="alternate" type="application/rss+xml" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" /> + <link rel="self" type="application/atom+xml" href="{{ "/atom.xml" | prepend: site.baseurl | prepend: site.url }}" /> <author> <name>{{ site.author }}</name> <email>{{ site.email }}</email> diff --git a/css/custom/blockquotes.less b/css/custom/blockquotes.less new file mode 100644 index 0000000..3984472 --- /dev/null +++ b/css/custom/blockquotes.less @@ -0,0 +1,18 @@ +@import "../variables.less"; + +.quoteblock { + width: 90%; + margin: 0 auto; + border-left: double black; + padding: 0.5em; + background-color: @blockBackgroundColor; + + blockquote { + font-style: italic; + } + + div.attribution { + text-align: right; + margin-right: 1em; + } +} diff --git a/css/custom/helpers.less b/css/custom/helpers.less new file mode 100644 index 0000000..2c4d80b --- /dev/null +++ b/css/custom/helpers.less @@ -0,0 +1,5 @@ +@import "../variables.less"; + +.center { + text-align: center; +} diff --git a/css/custom/navigation.less b/css/custom/navigation.less new file mode 100644 index 0000000..9c9ef4e --- /dev/null +++ b/css/custom/navigation.less @@ -0,0 +1,30 @@ +@import "../variables.less"; + +// Navigation bar +nav { + padding-bottom: 8px; + border-bottom: double @bodyTextColor; + text-align: center; + font-family: Sans; + + a, a:visited { + margin: 0 0.5em; + font-size: 24px; + text-decoration: none; + color: @bodyTextColor; + } + + .brand-name { + text-align: center; + display: block; + font-weight: bold; + font-size: 32px; + color: @bodyTextColor; + margin-bottom: 8px; + } +} + +// Generic links +a, a:visited { + color: @linkColor; +} diff --git a/css/formats/asciidoc.less b/css/formats/asciidoc.less new file mode 100644 index 0000000..89dfcb2 --- /dev/null +++ b/css/formats/asciidoc.less @@ -0,0 +1,45 @@ +@import "../variables.less"; + +.toc { + font-weight: bold; + + ul { + font-weight: normal; + list-style-type: decimal; + } +} + +.admonitionblock { + background-color: @blockBackgroundColor; + border: 1px solid @blockBorderColor; + margin: 0.5em auto 1.75em auto; + width: 90%; + padding: 0.5em; + + table { + td.icon { + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + font-size: 1.5em; + + div.title { + margin: 0 1em; + } + } + + td.content { + padding: 0 1.125em; + border-left: 1px solid #ddd; + } + } +} + +div#footnotes { + font-size: smaller; + + hr { + margin-top: 2em; + width: 80%; + text-align: left; + color: @blockBorderColor; + } +} diff --git a/css/main.less b/css/main.less index 199ef30..21f7a8e 100644 --- a/css/main.less +++ b/css/main.less @@ -1,21 +1,13 @@ -@bodybgColor: #fefefe; -@bodyTextColor: #454545; - -// Link Colors -@linkColor: #07a; -@linkVisitedColor: #07a; -@linkVisitedInvertedColor: #ac5a82; -// =============== - -@wrongColor: #c0392b; -@shittyBlue: #0000EE; -@shittyViolet: #551A8B; -@motherfuckingColor: #16a085; -@blockQuoteColor: #456; -@openQuoteColor: #666; +@import "./variables.less"; + +@import "./custom/blockquotes.less"; +@import "./custom/helpers.less"; +@import "./custom/navigation.less"; + +@import "./formats/asciidoc.less"; html { - background-color: @bodybgColor; + background-color: @bodyBackgroundColor; } body { @@ -32,33 +24,6 @@ small { font-size: 0.7em; } -nav { - padding-bottom: 8px; - border-bottom: double @bodyTextColor; - text-align: center; - font-family: Sans; - - a, a:visited { - margin: 0 0.5em; - font-size: 24px; - text-decoration: none; - color: @bodyTextColor; - } - - .brand-name { - text-align: center; - display: block; - font-weight: bold; - font-size: 32px; - color: @bodyTextColor; - margin-bottom: 8px; - } -} - -a, a:visited { - color: @linkColor; -} - li p { margin: 0; } @@ -67,57 +32,13 @@ table { width: 100%; } -blockquote{ - color: @blockQuoteColor; - margin-left: 0; - margin-top: 2em; - margin-bottom: 2em; - - span{ - float: left; - margin-left: 1rem; - padding-top: 1rem; - } - - author{ - display: block; - clear: both; - font-size: 0.6em; - margin-left: 2.4rem; - font-style: oblique; - - &:before{ - content: "- "; - margin-right: 1em; - } - } - - &::before{ - font-family: "Times New Roman", Times, Arial; - color: @openQuoteColor; - content: open-quote; - font-size: 2.2em; - font-weight: 600; - float: left; - margin-top: 0em; - margin-right: 0.2rem; - width: 1.2rem; - } - - &::after{ - content: ""; - display: block; - clear: both; - } -} - pre.pygments { - border: double @openQuoteColor; + border: 2px solid @blockBorderColor; padding: 8px; } code { - background-color: #eee; + background-color: @blockBackgroundColor; padding: 2px; } diff --git a/css/variables.less b/css/variables.less new file mode 100644 index 0000000..88347cf --- /dev/null +++ b/css/variables.less @@ -0,0 +1,11 @@ +// Main site colors +@bodyBackgroundColor: #fefefe; +@bodyTextColor: #454545; + +// Link Colors +@linkColor: #07a; +@linkVisitedInvertedColor: #ac5a82; + +// Special blocks +@blockBackgroundColor: #f6f6f6; +@blockBorderColor: #d7d7d7; diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..51fcc9b --- /dev/null +++ b/feed.xml @@ -0,0 +1,28 @@ +--- +layout: null +--- +{% assign documents = site.documents | where: 'feed', true | sort: 'date' | reverse %}<?xml version="1.0" encoding="utf-8"?> +<rss version="2.0"> + <channel> + <title>{{ site.title }}</title> + <description>{{ site.description | strip | xml_escape }}</description> + <link rel="alternate" type="text/html" href="{{ site.baseurl | prepend: site.url }}" /> + <link rel="alternate" type="application/atom+xml" href="{{ "/atom.xml" | prepend: site.baseurl | prepend: site.url }}" /> + <link rel="self" type="application/rss+xml" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" /> + <language>en</language> + <managingEditor>{{ site.email }} ({{ site.author }})</managingEditor> + <webMaster>{{ site.email }} ({{ site.author }})</webMaster> + <pubDate>{{ site.time | date_to_rfc822 }}</pubDate> + <docs>http://www.feedvalidator.org/docs/rss2.html</docs> + <ttl>1440</ttl> + <generator>Jekyll v{{ jekyll.version }}</generator>{% for post in documents limit:10 %} + <item> + <title>{{ post.title }}</title> + <link rel="alternate" type="text/html" href="{{ post.url | prepend: site.baseurl | prepend: site.url }}" />{% if post.description %} + <description>{{ post.description | strip | xml_escape }}</description>{% endif %} + <author>{{ site.author }} ({{ site.email }})</author>{% for tag in post.tags %} + <category>{{ tag | xml_escape }}</category>{% endfor %}{% for cat in post.categories %} + <category>{{ cat | xml_escape }}</category>{% endfor %} + </item>{% endfor %} + </channel> +</rss> |