Skip to main content

MadMike77 reshared this.

Congratulations to Sergio Benitez on releasing 0.5.0! Thank you for this great framework. 👏

I got to follow rocket's journey to async and stable #rust with the PrivateBin directory service. Coming from Python flask apps, it is really easy to pick up and get going with your webservice, offering static & templated content, easy to create web forms and JSON APIs.

Thanks to rust's strict type system I could focus on the logic and didn't have to waste time double checking and casting data received by clients. If my API accepts an integer in a certain parameter, Rocket will ensure I only receive valid requests in my logic.

reshared this

I like CSS-animations, clocks and dials for making metrics easier to digest (we are quicker at detecting angular changes than reading and parsing digits). So I'm in awe with this creative use of a watch-dial to visualize a 32-bit hexadecimal number:

#PrivateBin v1.6.0 released - adding translations for Japanese & Arabic, configuration option to disable email button and increases the minimal required PHP version to 7.3.


prompt injection, which is a form of cyberattack that exploits [an AI's] natural language processing abilities.

PrivateBin 1.5.1 released - Filesystem purge lookup change & administration script

PrivateBin 1.5.0 released - Adding S3 Storage backend, storage migration script & 4 new translations

PrivateBin 1.4.0 released - Hardening the attachment preview, Google Cloud Storage and Oracle database support & adding new translations

My team at LzLabs GmbH in Wallisellen, Switzerland, is looking for a 4th DevOps Engineer. You'd be working primarily with a CloudBees (Jenkins) cluster of around 90 blades for build & testing, for several software stacks that targets RHEL, but hopefully soon™ also other platforms. And of course there are also a lot of build and deployment related projects to be spice things up on the side, like maintaining and developing a test statistics database, code coverage reporting, change log and other automation projects, all in a mostly ansible-ized environment. The companies main language is English, living in or moving to the vicinity of Zürich would certainly be advantageous.

#followerpower #Stellenangebote #jobs #jeRecrute

Next week a new hire starts in our team. To help them find their way in our environment, we created this map. Let's hope it wont scare them away. :-D

Field report on upgrading a rocket v0.4 application to v0.5

My employer is looking for a Junior and a Senior Web Developer in Wallisellen, Switzerland. Please feel free to share and/or message me privately or publicly, if you want to know more about the company.

#hiring #jobs #JeRecrute (pas moi)

Good morning, currently reading a book called:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

The book's title and subject is the one liner that produces a maze on the Commodore 64 BASIC V2. In one of the chapters the books authors consider ports to other 8 bit systems, as well as modern scripting languages, using unicode characters. Here is their port to perl:

perl -e 'binmode STDOUT,"utf8";{print chr(9585.5+rand);redo}'

Got me inspired, here are my attempts for python (the second one cheats a bit, as it uses POSIX shell to format the script):

python3 -c 'import random;exec("while True:\n\tprint(chr(int(9585.5+random.random())),end=\"\");")'
printf "import random\nwhile True:\n\tprint(chr(int(9585.5+random.random())),end='')" | python3 -

and php (still no native unicode support, so have to build the 3 bytes for the utf-8 symbol one by one):

php -r 'while(1){echo chr(226),chr(149),chr(177.5+rand(0,1));}'

bash -c 'while true;do printf %b "\U$(printf %08x $((9585 + $RANDOM % 2)))";done'

Shell parsing is hard.

Yes, shell parsing is non-obvious - it does help enormously to understand that the shell takes what you type on the command line after you hit enter, parses it, replacing variables, expanding globs (wildcards) and other language constructs in the process and only then issues a system call, passing the resulting argv structure to the kernel for execution.

Exhibit A (source of the above quote): How the local shell ssh and the remote shell interact, in unexpected ways

Exhibit B: skarnet's introduction to the execline language design and grammar goes into further details of the argv structure

Exhibit C: How to use execlineb for nginx to wait for up to 10s on the startup of php-fpm, avoiding involvment of a shell process

PrivateBin 1.3.5 released - Fixing several smaller issues, adding new translations

Many folks don't know that the Unicode standard is actually much older then they think. Here's the spec as of 1889 ;-)

Started looking into gemini space. Love how it feels - it's like the web ca. mid-90s. UI is back under your control and you can focus on reading the content instead of getting the site to work (because either you have issues with noscript turned on and sites requiring JS to display text or you have it disabled and have to click through modal windows informing you of cookie settings, sign up for that newsletter, etc. to get to the content).

I'm using Castor and wanted to merry it to my Gnome desktop, so clicking links in Firefox/Chromium opens them in Castor. Oh, and I got a gopher client for free with it as well. Was bummed when Firefox dropped gopher support. Here's how to register the gemini protocol in Gnome (and build castor):

While grep and sed are commoly used, awk fills a valuable niche when processing structured text, avoiding multiple pipes or more complicated regex extractions. Here is a handy flowchart to pick the ideal tool for your text processing task:


A plaintext chart and a simple example making use of several awk features can be found here:

Small tools to use as (non-sharable) sketchpads - if you need a quick spreadsheet calculation or text editor and are to lazy to open a terminal. Good example of #minimalism and very #privacy minded.

Maybe a concept we could evaluate for use in our fediverse software as well:

This forms a relative reputation system. As uncomfortable as it may be, one man’s terrorist is another man’s freedom fighter, and different jurisdictions have different laws - and it’s not up to the Foundation to play God and adjudicate. Each user/moderator/admin should be free to make up their own mind and decide which reputation feeds to align themselves with.

Everything you always wanted to know about punch card data encoding, but were afraid to ask:

@Retrocomputing Forum #RetroComputing

Das Gerät (32620) hinter dem Zahlensender

Having fun learning how to use flex box CSS rules by playing this tower defense game:

Für mein erstes Projekt in Rust suche ich noch eine geeignete freie Lizenz. Da es sich um einen Dienst handelt, welcher hauptsächlich als Webseite genutzt wird, hatte ich an die AGPL gedacht. Mir fiel aber auf, das die meisten darin verwendeten Bibliotheken MIT und Apache lizenziert sind, was ich eher von Software kenne, die auch kommerziell genutzt werden soll. Für Empfehlungen die für oder gegen eine der genannten Lizenzen sprechen bin ich dankbar. #FollowerPower

Spass am weniger bekannten 8-Bit-Gerät - BASIC-Labyrinth auf den KC 85/4 portieren

Duff's device (ca. 1984)
register n = (count + 7) / 8; /* count > 0 assumed */

switch (count % 8)
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);

Via jargon file, Kommentar von Tom Duff

Der wahrscheinlich kleinste SMS gateway der Welt: VoCore2 + OpenWRT + smstools + USB-GSM-Modem

Dinge die Programmierer meinen über die Welt zu Wissen:

"Hausnummern sind immer ganze Zahlen!"
Ein Schild mit der Hausnummer "Savoyen Straße 2 1/2".
Seien wir froh, müssen wir uns nur mit den modernen Datums- & Zeit-Problemen herumschlagen. Hier hat jemand eine ähnliche Liste mit Ausnahmen in alt-römischen Kalender-Problemen zusammengetragen:

Dealing with Time in the Roman Calendar

PrivateBin v1.3.4 released - Fixing HTML entities, custom expiration, pasting into password field

PrivateBin v1.3.3 & v1.2.3 - Fixing HTML entity double encoding issues introduced in 1.3.2 & 1.2.2

PrivateBin 1.3.2 & 1.2.2 released - Fix for persistent XSS vulnerability in filenames of attached files
This entry was edited (3 years ago)

Ross Andersons presentation at the #36C3 introduced me to the concept of security economics: "If Alice guards a system, but Bobs bears the cost of it failing, expect trouble." (quoting from memory)

PrivateBin 1.3 released - Fixing mangled URLs, switching encryption & compression libraries
This entry was edited (3 years ago)

Sehr schön: PHP 7.3 ist endlich wieder so schnell wie 7.0. Habe ich bemerkt als ich 7.3 zur unit test suite von PrivateBin in TravisCI hinzugefügt habe - Somit habe ich nun auch das unit test docker image auf 7.3 ge-upgraded

PrivateBin 1.2.1 released

PrivateBin 1.2 released - QR codes, inline media display, 6 new languages & JS refactoring