summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_config.yml1
-rw-r--r--_pages/index.md7
-rw-r--r--_posts/2018-08-15-the-perl-conference-in-glasgow.adoc169
-rw-r--r--atom.xml5
-rw-r--r--css/custom/blockquotes.less18
-rw-r--r--css/custom/helpers.less5
-rw-r--r--css/custom/navigation.less30
-rw-r--r--css/formats/asciidoc.less45
-rw-r--r--css/main.less99
-rw-r--r--css/variables.less11
-rw-r--r--feed.xml28
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.
+
diff --git a/atom.xml b/atom.xml
index e3395a1..c43d02c 100644
--- a/atom.xml
+++ b/atom.xml
@@ -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>