robsite

In meins

netbeep

Meine kleine nervige Browserextension, die bei jedem Netzwerk-Request einen Ton abspielt. Same-Origin Requests klingen nett, Cross-Origin, Tracker und Malware zunehmend harsch. Da weiß man Adblocker umso mehr zu schätzen.

Gut, um die Performance einer Website direkt zu hören. Oder einfach als piepsender Hintergrundsound á la Film-Computer.

Womöglich auch zum Musik machen.

Für Chrome
Für Firefox
Auf GitHub

· webdev, sound, meins ·

robsite 7

Nach 11 Jahren WordPress ist's mal wieder Zeit für was Neues.

Seit 2 Jahren wird die Seite schon in einer separaten Backend-Seite gepflegt und mit WP2Static-Plugin zu einer statischen generiert. Sehr praktisch. Aber auch langsam, das Generieren der ~1300 Beiträge dauerte rund 15 Minuten.

Stattdessen kommt nun Zola zum Einsatz. Keine Dependencies, nur eine Binary, in Rust geschrieben, simpel und schnell. Sehr schnell. Die Seite wird nun in 1,5s generiert. Bei rund 4 Beiträgen pro Jahr spart das somit eine Stunde 🥳

Screenshot: $ zola build in 1,5 Sekunden
· robsite, meins, zola, wordpress ·

grins

Dieses Bild kann jetzt dein Eigentum sein, als NFT für 1,337 ETH.

Nicht das Bild selbst (das ist ein frei kopierbares PNG) und auch nicht das Urheberrecht (das bleibt bei mir).

Aber der Token, der besagt "das gehört mir", kann Dein sein.

Im Wert sicherlich wachsend und besser als Bitcoin.

Jetzt kaufen

· meins ·

font2png

Manchmal braucht man ein Icon, nur eins, aus einem Icon-Font. Und manchmal braucht man es als PNG, mit Transparenz und in der genau passenden Größe.

down-arrow

font2png.com

Früher gabs fa2png.io um Icons als PNG zu speichern. Aber die Seite ist tot.
Auch wäre es nett, an einem Ort durch viele frei benutzbaren Icons zu scrollen um sich inspirieren zu lassen.

font2png.com enthält zwar nicht alle frei benutzbaren Iconsets, aber die besten, die ich fand. Fehlt eins? → Sag

· meins, tool, webdev ·

ScreenSleep

Ein kleines macOS Menübar-Tool um den Bildschirm auszuschalten, sodass der Rechner weiterläuft.

Das geht normalerweise mit Strg + Shift + Eject oder
pmset displaysleepnow
im Terminal, aber meine Tastatur hat keine Eject-Taste mehr und ich klicke lieber.

· meins, macOS, swift, tool ·

robsite 6

Es ist Zeit für den alljährlichen Blogpost und das allsiebenjährliche Redesign der robsite. Jetzt ohne Kommentare und Sidebar! Dafür in schwarz, fast.

Diverse Projekte sind nun unter /projekte erwähnt.
In den letzten Jahren dazugekommen ist z.B. wootboard, die Alpha-Version eines (weiteren) Malprogramms. Mit Vektoren auf einer endlosen Leinwand zeichnen, editieren und am Ende leicht Teilen. Ähnlich jsfiddle.net, nur für Zeichnungen.

Die DVD Experience ist für alle, die schon immer mal das DVD-Logo genau in die Ecke fliegen sehen wollten. Mit Konfetti und Turbo-Modus.

In Zukunft werd ich die Seite wieder vermehrt als Erinnerungshilfe für mich benutzen und interessante Links und Codeschnipsel posten. Oder auch nicht.


Die robsite ist nun fast 19 Jahre alt, erstaunlich. Die erste (bzw. nullte) Version baute ich anno 2000 in einem Website-Baukasten, noch bevor wir Internet (ISDN) bekamen. Nachdem die ersten Bytes durch die Leitung tröpfelten lud ich sie zu xoom.com hoch, einem mittlerweile toten Konkurrenten zum mittlerweile toten GeoCities. Somit ist die Seite verschollen.

2001 dann war ich schwer mit Spieleprogrammierung in Dark-, Blitz- und PureBasic beschäftigt und sammelte Tutorials und Links, auf robsite.de.vu. Diesmal selbstgebaut, mit Frames und sogar CSS.

Später in 2001 kam das erste Redesign. Pixelgrafik, Spalten, Toplists und eigenes Forum. Die Seite nahm Fahrt auf.

Statisches HTML zu editieren macht keinen Spaß, drum gab's 2003 die dritte Version. Gleiches Design (plus 2 "Themes"), aber mit PHP 4 und MySQL generiert. Als Backend diente phpMyAdmin \o/
Die Seite hatte rund 5000 Besucher pro Tag, machte ein wenig Geld mit Werbung und wurde gar in der (mittlerweile toten) Bravo Screenfun erwähnt. Ein großer Erfolg.

Bis 2005. Google machte große Portalseiten mit Linksammlungen überflüssig, zumindest für mich. Die Motivation weiter Links anzuhamstern ging zurück, gleichzeitig war ich zunehmend mit Studieren beschäftigt. Somit begann die erste Content-Dürre, die bis 2008 anhielt.

2008 war ich begeistert von Ruby on Rails, Mac OS X und TextMate. Das erste Projekt war ein neues CMS für die robsite, nun Version 4. Mehr Blog als Portal und mit minimalem Design. Hat Spaß gemacht zu bauen.

Aber, wo das initiale Entwickeln in Rails Spaß macht, tun es die darauffolgenden Änderungen und Anpassungen an neue Rails-Versionen nicht. Gleichzeitig startete ich als freier Webentwickler und schielte auf WordPress, das viele Kunden bevorzugten. Unsicher, langsam, PHP. Aber das Backend ist nett, ich hatte ein neues Spielzeug und Anfang 2012 die robsite Version 5, mit text-shadow und sogar in responsive™.

Die aktuelle Version 6 sollte erst eine statische Seite werden. Gleichzeitig will ich ein komfortables Backend, kurze turn-around-Zeiten beim Editieren und es selbst hosten. Es gibt diverse Optionen, aber noch keine perfekte. Somit weiter ausprobieren und erstmal faul bei WordPress bleiben.

Soviel zur Geschichte. Bis 2020!

· meins, geschichte, relaunch, robsite ·

Lunicode ASCII Art

Jetzt neu auf Lunicode:

_____ _ _ / ____| (_) (_) | | __ __ _ _ __ _ __ _ ___ ___ _ __ _ | | |_ |/ _` | '__| | '__| |/ _ \/ __| |/ _` | | |__| | (_| | | | | | | __/\__ \ | (_| | \_____|\__,_|_| |_| |_|\___||___/_|\__, | __/ | |___/
"("I"*(((!(""((!!!!!!(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!''''--'''''''''''''''- "z""(**((("*(!+(!!!(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'!!!!!''''''''''''''''''''--''! """*((+"+((!+!((+(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'''''''!''!!''''''''''---''!! "+*"""""""+(!***!!!!!!!!!!!!!!!!!!!!!*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'''''''!'''''''''''''''-...'!!! +*""""""+(*(""!!!!!((!!!!!(((*("+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'''!!!!!!!!!''''''''''''''-...!!!!! """"""""*(""*((!*""""Iuj"**I(*("$"!!!!!!(!!!!!!!!(""!!!!!+!!!!!!!!''!'!!!!!!!''''''''''''''''--...!!!("3 "uI""""+""+((("jI"(""Iz%%$$3!!!!("""""zt"*(*u"u%"$J$#%!!!!!!!!!!'''!!'''!!!'''''''''''-''''''-.-!!("$$$$ t""""""""*"""t"*("3%3%$$$#$3*(!!""%$$$$33############$!!!!!!!''!''!!'''!!!!''''''''''--'---'!!*"3$$$$$$% """""""""""Ij"""tz""Iz"u%##$$$"z%$$$$$$########Q###(!!(!!''''''!!!!!''!!!!!''''''''''.-'!*"$$$$$$$$$%"(! """t"""""Ju""""I3j%$$#######$&"u$$$u$u$###$$####$(!""!!!!!!!!'!!!!!!!!!!!!!'''''''''!!!"$$$$$$$$z""(!!!' "It""""""$"""%$##$$$#######""u$###$%#$%###$###$!!""!!!!!!!!!!!!!!!!!!!!!!!'''''''!"3%%+""333""*!!!!!!!!% u""Izu"*"%3$###$$#########"$$###$"3$$#####3$t!*"*!!'!!!!!!!!!!!!!!!!!!!!!''''!"J##3$&%"(!!!!!!!!!!!!!u## """"z$$$$$###$#####$####$$$####%$$u$##j#Q%!!""(!'!!!!!!!!!!!!!!!!!!!!!!!!!!!%##$%#j"3"3"!!!!!!!!!!!u#### "Ij3%$#####$######I$####%#########%##($#%"3"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"$$$$$$$%"I"%+!!!!!!!"####### ""3$#$#$$$%######$I##############%$#%""("%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!''!!"$$$%I%$$+"""!!!!"$######### I%######$$$#######$##############$#$$$%""!!!!!!!!!!!!!!!!!!!!!!!!!'!!!'''''!!"$$##$$$#""+(!"&########### $#$######$##$######zI############$j$$3((!!!!!!!!!!!!!!!!!!!!!!!!!''''''''''!!(u$####$#$""(!"%########### ##########$##$######3*$########$"3%"!!(!!!!!!!!!!!!!!!!!!!!!!!!'!'''''''''''!!"$$####$#%!!!*############ $$##############$####(#####B##+"u"!!!!+!!!!!!!!!!!!!!!!!!!!!!!!'''''''''..--'!!3$#######+!!+############ 3###############$%J##$u#QB##"+t"!!!!!!(!!!!!!!!!!!!!((!!!!!!!!!'''''''-.-...'!!"%$######$!!($########### $###############%$#$##!#B#%+I"!!!!!!!!!!!!!'!!!!!!((!!!!!!!!!!!''''''''--....'!(3$#######(!!$########### ##################$####z$""j(!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!''''''''-.-...-'!"$$#####$$!!$########### ##$$$######$##$###$##B#3j%"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!''!!''''''-...-'!*&$#######!!I########### ##############&##$###$"3%!!!!!!!!!!!!!!!"%%j""*(!!!!!!!!!!!!!!!!!!!!!''''''.-'!!(%########"!+########### ###########$#$######3"%"!!!!!!!!!!!'!!"zt""j3%$$$$3"(!!!!!!!!!!!!!!!!!!''''!!!"t%#########$!!3########## ####$########3###Q#""I!!!!!'!!!!!'!("I""++"(!+IJ$$###$t(!!!!!!!!!!!!!!!!!"3$$$$%z%$$#######!!"########## ####$$##########Q$+3+!!!!!''!!!!!"$$$$$$$$##%$##$j%u333t"(!!!!!!!!!!!!!*Iz$$$##$###########!!u$######### #####$J$########%+j!!!!!!''!!!!&##################$"""""""((!!!!''''!+$####################!!j$######### #######$#######u"3!!!!!!'''!!j#############$!!(%####3"II""++!!!'-.'!$#####ju(3#############!!"$######### I#############3Jj!!!!!!'''!*$%$#####$$#$###$'.-'!$$3$33u"""+!!!'.-($$#$####"!($############(!+#$#$###### #############"%"!!!!!'''!(zzJ"""I%##%JI%$3!'-.'!("uJj3uu""""!!'..!3%""%$%3!!!"$############"!(#$######## #########Q##"%*!!!!!''!"%3"""""++""zuJ3"t+(!!!!!!!(""IjI"""+!!'..!!+""(""!!"3$#############"!!%#$####### ########B#$"%"!!!!!'!+$$3"""+"**(+++*"""u"""""!!!!(+tI""""""(!'.`'!!(""""Ij%$#$$$##########J!!"#$####### #########%"%"!!!!''!$$%3u""+((((!!!!((((((!!!!!!!!!"""""""""(!!.`-!!!!(*"""t33%%$$#########%!!"######### ########3"%"!!!!'!$#$%3jI"""*(!!!!!!!!!!!!!!!!!!!!(""+"""""""!!.`.!!!!!((""""Ij3%$#########$!!!$######## #######t"%"!!!''"###$33jt"""+((!!!!!!!!!!!!!!!!!!!(**+""""t""!!-..'!!!!(*""""""u3$##########!!!%######## ######I"3"!!!!!$###$%3uIIt""+*((!!!!!!!!!!!!!!!!!!((*++""""""(!'``'!!!!!(+"""""j3$##########!!*(######## #####u"3"!!''!#####$%zuI"""""++*(!!!!!!!!!!!!!!!!(*+"+"""I"""(!'.`.!!!!!(*"""""j%###########(!+!######## ####%"%"!'''"######$%3JI""""""*(((!!!!!!!!!!!!!!((""""""III""+!!.`.!!!!(*("""""u$###########"!*(u####### BB#$"3j!''!$#######$$%3I"""""""*(!(!!!!!!!!!!!!!(("""""""ujI""!!'.`'!!!(**""""I3$#######$###3!(!"#B##### BQ$"3I!''(######$##$$%3II""""""+*(((!!!!!!!!!!!(*"""""""Ijju""(!!.`.!!((**""""J$############$!!("######$ $3t%3(!!+#######$##$$%3uII"""""+++(((((!!!!!!!((+"t3z""""""I""+!!.`.!**((""""I3##############*!((3####$I !!!!!!!"########%##$$&3II"""""""+"+(((((((!!!!(**"I%I"""""""uj"(!'.'!***+"""I3$##############"!!*j##Q#%" !!!!!(##########%$#$$%3JuI""""""+"**(((((!!!!!!(*""u""z##$$$%3j"!!!!!(*+""""u$###############%!!""####"+ "+!!%###########z$#$%33uIII""""""+"**+(((((!!!!(((+"""I""""uzt+!!!!!!((""""I$#################!!"*$##3"+ "!!#############I$$$%3ujjIj"""""""""++**(((!!!!!(!(*++"""*!!(!!'!!!!((+""""$#########$########"!""$#$"+" !"##############3%$$%3jjIt""""""""""""+((((((!(!((((**+*(!''!!''!!!!(+*"""$##########$########$!(+$$3"+" ################%$%$%&zuI"""t""""""""""""+****((***((((!!!.'!!'''!!!+*"""%####################$(("$u"""" ################$$%$$%3uItt""""""""""""""""""""+"+++((!!!!!!!!!!!!!"""""3######################"!"%I"""" ###$############$#$#$$%3jt"tI""""""""""""3%3j"""""""t"tjIj""""IJt"z%"+"u#######################"!3"""""" ################$#$##$%3zI"III""""""""""I&&%$$$$%&3&%%%%%3I"""I3j"""""3########################%!"*"*"+* ################$####$$%33uzuIIt"""""+""+""tIIIIuI"""!!!!!!!!!!""+*""%##############$##########$!(("("** ######################$$%&333uuII""""""+"""""tjII"tt""*(!((((("*+(""$###############$#$####$###$!!(*!"(( #######################$$%%%33zuj""""""""""""""t"IjuujIt"I"""*(*+"j$###############$#######$###$(!+((+(( ########################$$$$%%33j"""""""""""""""""""""""""*(((+""u#################$###$###$####(!*!*+(( ##########################$$$%%3zII"""""""""""+(**(!!!!!!!!!((*+I##################%$#$#########(!(!"((( #############################$$$%3j"""""""+++((!!!!!!!!!!!!!((("###################%$#$#########!!!!"((! ################################$$3JII"""""*+(((!!!!!!!!!!!!(("$###################%$#$#########!!!!+((( ####################################$$%%3j""""+(((!!!!!!!!!*+"I$###################%$$$##$$#####!!!("""" ###############################$$$%3uI""t""""++!(!!!!!!!!!!!!!"$###################$$$$$##$#####!!!"3J%3 ############################$$3J"""t""""""""""*(((((((((!!!!!!!!!!!"$##############$$#$$##$$###$!*(I%zJ& ###########################$$&zII"IIt""""""""""+*"+"+++((!!!!!!!'''''!!"$#########$$%#$###$####$!+"It""" ############################$%zJuIIIt""""""""""""""""+*(!!!!!!!!!!'''''''!!"########$##########z!*"""""" ############################$%333jIt""I""""""""""""++*(!!!!!!!!!!!!!'''''''''!3#####$##########"!""***++ ######################$#####$%33uIIIjI""""""""""""""*(!!!!!!!!!!!!!!!!!'''''-.-!"###$##########!(""((*** ######################$$####$zzzuI33"""""""""""""++*(!!!!!!!!!!!!!!!!!!''''''....!"############!"""*((**

____________ < Excelsior! > ------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
· meins, ascii, lunicode ·

Lunicode

Mein neues Tool zum kunstvollen Verzwirbeln von Text.

Kopfüber, gespiegelt, creepified, leicht anders, mit Blubberblasen, Quadraten, runden Quadraten und Kapitälchen.

ɹǝqn̤ɟdo⋊, ƚ|ɘǫɘiqꙅɘǫ, ç̶͔̻͔̹͙͓̝̃͊͛r̷̛̙͖͑́̚e̵̝͋̂̈̒͝e̴̗͉͓̘̜̦̼̓͘ͅp̵͕̦̳̥̅͛̊ī̷̗̯͇̯͉̻̘̃f̴͍̙̂̌͝i̶͚̗͓͍̰̅̈́̾ȩ̴͓̲͎̲̞͗̏̾̀͛̇̋ͅd̴̢̨̖̻̩̂̽, Ӏҽìçհէ ąղժҽɾʂ, ⓜⓘⓣ Ⓑⓛⓤⓑⓑⓔⓡⓑⓛⓐⓢⓔⓝ, Q⃞    u⃞    a⃞    d⃞    r⃞    a⃞    t⃞    e⃞    n⃞, r⃣   u⃣   n⃣   d⃣   e⃣   n⃣    Q⃣   u⃣   a⃣   d⃣   r⃣   a⃣   t⃣   e⃣   n⃣ und ᴋᴀᴘɪᴛÄʟᴄʜᴇɴ.

Dazu kommt eine erlesene Auswahl der besten Unicode-Icons und Emoji:
┌( ಠ_ಠ)┘ ┌∩┐(◕_◕)┌∩┐ (/◔ ◡ ◔)/

All diese Tools gibt's zwar schon oft im Web, mein Ziel war aber, die jeweils beste Version zu bauen. So ist Lunicodes Flip meines Wissens nach das einzige, das Umlaute unterstützt. Auch Mirror fand ich so noch nicht.

Es war auch eine feine Gelegenheit mit neuen Webtechnologien rumzuspielen. Drum läuft es nur in modernen Browern (vornehmlich Chrome und Safari auf Mac oder iOS) und benötigt gute Unicode-Fonts.

Die Text-Funktionen hab ich extrahiert: Lunicode.js auf GitHub, unter MIT-Lizenz. Wer Verbesserungen oder Ideen für neue Funktionen und Zeichen hat, immer her damit.

· meins, tool, unicode ·
Mastodon