About me: My name is Solène Rapenne. I like learning and sharing experiences about IT stuff. Hobbies: '(BSD OpenBSD h+ Lisp cmdline gaming internet-stuff Crossbow). I love percent and lambda characters. OpenBSD developer solene@.

Contact me: solene on Freenode, solene+www at dataswamp dot org or solene@bsd.network (mastodon)

BitreichCON 2019 talks available

Written by Solène, on 27 August 2019.
Tags: #unix #drist #awk

Earlier in August 2019 happened the BitreichCON 2019. There was awesome talks there during two days but there are two I would like to share. You can find all the informations about this event at the following address with the Gopher protocol gopher://bitreich.org/1/con/2019

BrCON talks are happening through an audio stream, a ssh session for viewing the current slide and IRC for questions. I have the markdown files producing the slides (1 title = 1 slide) and the audio recording.

Simple solutions

This is a talk I have made for this conference. It as about using simple solutions for most problems. Simple solutions come with simple tools, unix tools. I explain with real life examples like how to retrieve my blog articles titles from the website using curl, grep, tr or awk.

Link to the audio

Link to the slides

Experiences with drist

Another talk from Parazyd about my deployment tool Drist so I feel obligated to share it with you.

In his talk he makes a comparison with slack (debian package, not the online community), explains his workflow with Drist and how it saves his precious time.

Link to the audio

Link to the slides

About the bitreich community

If you want to know more about the bitreich community, check gopher://bitreich.org or IRC #bitreich-en on Freenode servers.

There is also the bitreich website which is a website parody of the worse of what you can daily see.

Minimalistic markdown subset to html converter using awk

Written by Solène, on 26 August 2019.
Tags: #unix #awk

Hello As on my blog I use different markup languages I would like to use a simpler markup language not requiring an extra package. To do so, I wrote an awk script handling titles, paragraphs and code blocks the same way markdown does. It is very easy to use, like: `awk -f mmd file.mmd > output.html` The script is the following:

BEGIN {
	in_code=0
	in_paragraph=0
}

{

# escape < > characters
gsub(/</,"\\<",$0);
gsub(/>/,"\\>",$0);

if(! match($0,/^    /)) {	# close code blocks
	if(in_code)
	{
		in_code=0
		printf "</code></pre>\n"
	}
}				# end close blocks

	 			# display titles
if(match($0,/^#/))
{
	if(match($0,/^(#+)/))
	{
		printf "<h%i>%s</h%i>\n", RLENGTH, substr($0,index($0,$2)), RLENGTH
	}
}				# end display titles
else
if(match($0,/^    /))		# display code blocks
{
	if(in_code==0)
	{
		in_code=1
		printf "<pre><code>"
		print substr($0,5)
	}
	else
	{
		print substr($0,5)
	}
}
else
{
	# close p if current line is empty
	if(length($0) == 0 && in_paragraph == 1 && in_code != 0)
	{
		in_paragraph=0
		printf "</p>"
	}

	# we are still in a paragraph
	if(length($0) != 0 && in_paragraph == 1)
	{
		print
	}

	# open a p tag if previous line is empty
	if(length(previous_line)==0 && in_paragraph==0)
	{
		
		in_paragraph=1
		printf "<p>%s\n", $0
	}
}

previous_line = $0

}

END {
	if(in_code==1)
	{
		printf "</code></pre>\n"
	}
	if(in_paragraph==1)
	{
		printf "</p>\n"
	}
}