echo "foobar" | pbcopy
Pipe text from commandline into clipboard
Posted on 29. April 2020 Comments
Posted on 29. April 2020 Comments
echo "foobar" | pbcopy
Posted on 3. Januar 2018 Comments
When you run long (PHP) jobs it’s easy to forget about the terminal. That’s why I’ve created a small PHP package that will make a little sound. Because PHP itself doesn’t have this functionality anymore it’s possible to just echo the ASCII sign for BEL. Simply put this at the end of your PHP job:
use repat\CommandlineBell;
// flashes screen if possible, otherwise just bell()
CommandlineBell::flash();
// makes a beep sound
CommandlineBell::bell();
Under the hood it’s really just:
echo "0x07";
A good (non-PHP) alternative I found is brb by Viktor Fröberg, just run commands like this
php artisan migrate --seed ; brb
Of course it’s always possible to just run a TTS app on the commandline via exec() like this:
exec("say terminal task done");
Or you could do it similar to brb:
php artisan migrate --seed ; say seeding done
Posted on 23. November 2017 Comments
Shadowsocks is a proxy that has been designed and used to circumvent censorship in China. So if it’s possible to get traffic across the Great Firewall of China it pretty much can be used anywhere, e.g. Egypt where VPNs are blocked since mid 2017.
Digital Ocean offers virtual servers for cheap with an easy to understand pricing model. Basically you pay either $5, $10, $20, $40, $80 or $160 per month, for more have a look at pricing at digitalocean.com. These server are general purpose servers, you can do everything with them, which also means, they don’t have anything installed and you need to do everything yourself.
oneclickshadowsocks.de is a service to install shadowsocks on DigitalOcean servers without having to actually login via SSH and entering lots of technical commands in the commandline. It uses the DigitalOcean API to create a Droplet (=server) with shadowsocks already set up and running. All you have to do is to enter the IP address you get via e-mail in your shadowsocks client and the password given to you on the website.
The code is open source and the website itself is hosted on GitHub Pages, which means, you can see the sourcecode of the page itself, running at that very moment. This way other people can verify they nothing shady is going on.
Posted on 29. August 2017 Comments
lsof -P -i -n | cut -f 1 -d " " | uniq
lsof – list open files
-P list port numbers instead of service names
-i list all network files
-n IP addresses instead of host names
cut – cut output
-f specifies fields, separated in the input by the field delimiter character (-d)
-d delimiter
uniq – filters out repeated lines
Posted on 23. August 2017 Comments
This is for when you have empty lines (so lot’s of ,,,,,,) in your file.
MacOS
sed -i '' -e '/^,*$/d' filename.csv
find ./ -type f -exec sed -i '' -e '/^,*$/d' {} \;
Linux
sed -i '/^,*$/d' filename.csv
find ./ -type f -exec sed -i '/^,*$/d' {} \;
^ marks the beginning of a line
,* marks a possible infinite amount of commas
$ marks the end of a line
Posted on 2. Mai 2017 Comments
In Cafés wie Balzac oder Starbucks oder anderen öffentlichen Hotspots in Deutschland muss man sich häufig anmelden bzw. bekommt Login Daten an der Kasse. Diese muss man dann in ein captive portal eintragen, damit der Internetzugang am WiFi freigeschaltet wird. Blöd nur, wenn sich nicht einmal die Login Seite öffnet. Das könnte natürlich daran liegen, dass der DHCP Server am Router spinnt, der Laptop/Tablet/Smartphone einfach mal neugestartet werden muss oder sonst irgendein Fehler vorliegt. Speziell bei Hotsplot (z. B. bei Balzac) liegt die Login Seite allerdings im Internet, irgendwie ein Catch 22.
Das heisst, bevor der Laptop die Seite öffnen kann, muss die Adresse der Login Seite (https://hotsplots.de/login/auth.php?…) erst einmal aufgelöst werden. Blöd auch, dass im Router nur Port 80 (HTTP) freigeschaltet ist und nicht auch Port 53 (DNS). Das ist bei mobilen devices meist kein Problem, da diese über eine Mobilfunkverbindung die DNS Query absetzen. Bei Laptops wird das schon schwieriger, wenn die IP-Adresse nicht im Cache ist. Über WISPr sollte eigentlich der Browser weitergeleitet werden, kann aber wie gesagt die Seite nicht auflösen.
Lösung
1. Auf Smartphone eine Netzwerk Analyse App wie z. B. Fing herunterladen.
2. DNS Query oder z. B. ping für Login Seite (hotsplots.de) absetzen oder sonst irgendwie die IP zur Login Seite herausfinden
3. Adresse und Domain in /etc/hosts (Linux/MacOS) bzw. Reg %SystemRoot%\system32\drivers\etc\hosts (Windows)eintragen
92.51.175.170 www.hotsplots.de 172.18.10.10 www.wifionice.de
4. Login Seite aufrufen und einloggen.
Warum die Anbieter nicht einfach Port 53 freischalten?
Eine Vermutung könnte sein, dass man diese Verbindung mittels iodine nutzen könnte um kostenlos im Internet zu surfen. Ob das wirklich ein so großes Problem ist wage ich aber zu bezweifeln.
Posted on 6. Januar 2017 Comments
echo QWxhZGRpbjpvcGVuIHNlc2FtZQ== | base64 --decode
Posted on 21. April 2016 Comments
When importing CSV (or other) files into the database, scripts (especially PHP or C-related languages), will stop if there is – for whatever reason – a NULL byte in your file because it signals end of file/string, see Null bytes related issues.
So when importing a file like that with MySQL Workbench you will get this error:
line contains NULL byte
You can solve this by using the commandline tool tr (from coreutils):
tr < file-with-nulls -d '\000' > file-without-nulls
To check if there are any null bytes in your file, use the python IDE and type in:
open('filename.ext').read().index('\0')
Thanks to Pointy from Stackoverflow
Posted on 16. Dezember 2015 Comments
Die ThinkPad Bluetooth Tastatur von Lenovo verursacht unter Ubuntu 14.04 einen Fehler, so dass beim Scrolling mit TrackPoint und mittlerer Maustaste gleichzeitig die Einfügen Operation ausgelöst wird. Ich will aber auf keinen Fall weder auf die Paste Funktion der mittleren Maustaste noch auf das Scrolling verzichte und habe lange gesucht bis ich die folgende Lösung gefunden habe: tp-compact-keyboard-backport.
Außerdem war noch tp-compact-keyboard hilfreich (daher habe ich auch das -backport repository). Ggf. ist dafür ein Kernel Update nötig bzw. einfacher als ein Kernel-Patch zu installieren.
Posted on 7. Januar 2015 Comments
Wenn man bei eBay per API z.B. ein FixedPriceItem hinzufügt bekommt man die folgende Antwort nachdem der Prozess erst Scheduled und dann InProcess ist:
Status is Completed
Downloading fixed price item responses...Done
File downloaded to /tmp/add-fixed-price-item-responses-ABC123.zip
Unzip this file to obtain the fixed price item responses.
Den folgenden Code eine Datei schrieben, dann in /usr/local/bin verschieben und mit chmod +x Ausführrechte geben.
cat `unzip -o $1 | grep inflating |awk '{print $2}'`
Mit diesem Skript bekommt man zum debuggen eine schnelle Ausgabe der XML aus der Konsole bewirken:
debugebayxml /tmp/add-fixed-price-item-responses-ABC123.zip