Още web архивиране с Archive.today

След като вчера ви показах как да архивирате със archive.org днес ще ви покажа друг инструмент за архивиране – archive.today

Archive.today разполага със една много проста страница на която има 2 функционалности – архивиране на страница и търсене във архивите. Там някъде има и bookmarklet за по-лесно архивиране на текущата страница както и API което сега ще покажа как работи.

Да кажем, че искате да видите какво е архивирано за peter.nikolow.me ето и как да го направите:
http://archive.today/timegate/http://peter.nikolow.me
Ако искате да смъкнете специфичен архив:
http://archive.today/20200324235923/http://peter.nikolow.me
Ако искате да видите всички архиви по дати:
http://archive.today/timemap/http://peter.nikolow.me
Ако искате да видите най-стария архив:
http://archive.today/oldest/http://peter.nikolow.me
Ако искате най-новия:
http://archive.today/newest/http://peter.nikolow.me
Пълен списък на функционалността има тук:
http://archive.today/faq

Основната разлика между archive.org и archive.today е начина на архивиране. Втория има сякаш малко по-добър архиватор и записва всички ресурси на страницата. В добавка към всеки архив се прави и снимка така как изглежда в момента на архивирането. Но това не е всичко! Може да се смъкне и zip файл със всички ресурси на архива. Друга благинка е, че не се спазва robots.txt и е възможно да бъде архивирана страница която е забранена за индексиране. За съжаление обаче няма робот който да обхожда интернет за архивиране на страници. Архивират се само страници за които е изрично указано да се архивират и нищо повече. В това отношение arhive.org е категоричен победител защото разполага със собствен паяк който обхожда интернета.

Още web архивиране с Archive.today

GitHub compare releases

GitHub е де-факто стандарт за съхраняване на изходни кодове и работи брилянтно. Една от прекрасните фукнции която обаче е леко скрита е да се сравняват разликите между различните версии. Сега ще го покажа как работи при normalize.css.

Първия вариант да се сравни е да се отиде във проекта. При мен линка беше това:
https://github.com/necolas/normalize.css
после „Releases“, после текущата версия (при мен 8.0.1) и отляво излиза бутон „Compare. След натискане там излизат всички версии. Примерно аз исках да сравня разликите между 3.0.3 и 8.0.1.

Втория вариант е доста по-хакерски. Общо взето трябва да се отвори линк като този:
https://github.com/потребител/репо/compare/таг1…таг2
и примерен линк:
https://github.com/necolas/normalize.css/compare/3.0.3…8.0.1

В конкретния случай ме интересуват промените по един файл от целия проект. Разбира се винаги мога да смъкна двата releases и след като ги разархивирам да diff-на докато намеря това което ме интересува. Но онлайн от GitHub е доста по-лесно и по-бързо.

GitHub compare releases

Auto-Archive

Archive.org е все по-важен ресурс за съхраняване на линкове в интернет. Сега ще покажа 3 начина със които да записвате линкове СЕГА, а не да чакате на случайността.

Първия вариант е да отворите:
https://web.archive.org/save
и да допълните какво и как искате да се запише.

Втория вариант е да напишете линка така:
https://web.archive.org/save/peter.nikolow.me
което ще предизвика записване на линка (peter.nikolow.me) във Archive.org сега.

Третия начин е по мейл. Ако добавите към всеки мейл този получател също:
savepagenow@archive.org
то тогава Archive.org ще запише всички линкове от този мейл. Можете да го прибавите като bcc.

Разбира се втория и третия начин са изключително подходящи за автоматизиране.

Auto-Archive

LED лампи

Ако сте се чудили как изглеждат евтините LED лампи отвътре ето какво съдържат:
https://electronupdate.blogspot.com/2019/12/dollar-store-led-bulb.html
и дискусията във Hacker News:
https://news.ycombinator.com/item?id=22366084
и цял канал посветен само на ревюта на подобни лампи:
https://www.youtube.com/playlist?list=PLv9WfM3NgK2xFHrD9BJ4-4CEbRpbe6DFP

В допълнение тук Ivo Minchev от PCtechnik показва как може да се ремонтират изгоряли LED лампи:
https://www.facebook.com/watch/?v=2446735175445692
общо взето светодиодите са свързани последователно. И когато един изгърми и цялата верига се прекъсва. Разбира се изисква се малко умение за работа с поялник.

LED лампи

Chitanka for Kindle

Всички книги на Читанката за Kindle във Mobi формат тук:
https://pechkov.chitanka.info/mobi/index.php

Ако не ви се занимава ето и онлайн конвертор:
https://www.epubconverter.com/epub-to-mobi-converter/
недостатъка е, че трябва да смъквате .ePub файловете от Читанката и после да ги качвате в този конвертор за да имате .Mobi файлове. А това без лаптоп си е приключение.

Chitanka for Kindle

Безплатно обновяване от Windows 7 към Windows 10

Въпреки, че процеса на безплатното обновяване приключи преди години все още можете да обновите от Windows 7 или 8.1 към Windows 10. Процеса е лесен:

  1. Архивирайте си всички важни файлове и документи.
  2. Отворете тази връзка: тук
  3. Смъкнете инструмента за създаване на Windows 10 инсталационен носител и го стартирайте.
  4. Когато ви попитат какво искате да правите – „Да обновите този компютър сега?“ или „Да създатеде инсталационен носител за друг компютър“ изберете да обновите този компютър.
  5. Натиснете бутона „Напред“ (next) и това е.

Ето и оригинала: https://www.theverge.com/2020/1/14/21065140/how-to-upgrade-microsoft-windows-7-10-free-os

Безплатно обновяване от Windows 7 към Windows 10

PHP Simple HTTP Server

Ето как лесно и просто да стартирате HTTP Server под PHP:

php -S 127.0.0.1:8080

След което отваряте в браузър http://localhost:8080 и можете да видите как се изпълняват PHP скриптове от папката в която е създаден. Основната разлика в сравнение със сървъра работещ под Python е, че няма показване на папките във директорията. Директно се опитва да намери index.php и ако няма такъв сървъра тържествено обяснява, че не може да достъпи „/“ и връща 404.

PHP Simple HTTP Server

Python Simple HTTP Server

Понякога когато човек работи на Linux сървър и му трябва да си види няколко файла, но без да активира допълнителни клиенти или сървъри. Ето и решението за Python 2:

python -m SimpleHTTPServer 8080

Ако използвате Python 3:

python -m http.server 8080

След което отваряте браузър и пишете това:
http://ip.на.сървъра:8080/път/към/файла.txt

Това е всичко! Когато си свършите работа просто набивате един Ctrl-C на Python. Имайте на предвид, че Python се изпълнява под текущия потребител и наследява всички негови ограничения за достъпи до файловете. Под *nix портове под 1024 могат да се отварят само под root права и затова използваме порт 8080. Ако искате да отворите порт под 1024 ще трябва да използвате sudo, но тогава Python също ще се изпълнява под ниво на root и ще може да има достъп до всички файлове.

Python Simple HTTP Server

OpenVPN benchmark

Как да пресметнем колко е максималната пропусквателна способност на OpenVPN:
openvpn –genkey –secret /tmp/secret
time openvpn –test-crypto –secret /tmp/secret –verb 0 –tun-mtu 20000 –cipher aes-256-cbc

Резултата от втората команда е:

Tue Dec 17 22:27:25 2019 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
real    0m42.917s
user    0m42.738s
sys    0m0.075s

Приемаме, че командата се изпълнява за 43 секунди. Сега правим следната сметка:
(3200 / секундите) = максималната теоритична пропусквателна способностна OpenVPN в Mbps
При нас е:
(3200 / 43) = 73.41 Mbps

Откъде идва 3200? Това е сумата на числата от 1 до 20000, умножава се по 2 за шифроване/разшифроване и после се умножава по 8 бита и се разделя на 1000000 за да се получи като мегабита в секунда. Резултата показва колко е максималната пропусквателната пропусквателна способност ограничена от процесора (шифриране/дешифриране).

OpenVPN benchmark

OrangePi Zero LTS

OrangePi са пуснали нова версия на техния продукт Zero като вече се казва Zero LTS. Модификацията на LTS се води 1.5, докато аз разполагам със Zero 1.4 и според производителя това решава (най-сетне!) проблема със Wifi модула. Във предходните дизайни заради близоста си до захранването се прави интерференция със Wifi и производителността беше плачевна.

За да го онагледим използваме софтуера wavemon който показва във реално време какво се случва на безжичния интерфейс.

Ето и OrangePi Zero:

Ето и Raspberry Pi 3B:

Както сами виждате при OPi Zero имаме 30% загуба на пакети което води до повторното им изпращане. При RPi 3B няма такива загуби по трасето.

В заключение – ако не искате да си скъсате нервите ползвайте Zero само и единственно по Ethernet и категорично забравете Wifi функционалността му. В противен случай устройството работи 2-3 часа (може и повече, може и по-малко) и после не може да бъде достъпно защото се разкача от Wifi мрежата. Надявам се, че проблема е оправен във версия 1.5.

Обаче 1.5 въвежда и нов проблем:
https://lemariva.com/blog/2019/10/orange-pi-zero-lts-upgraded-alternative-old-raspberry-pis#armbian-buster-336586
Изглежда има някакъв нов проблем, този път със температурния сензор. НЕ Е нормално след работа да показва 10-15 градуса температура на ядрата. Подозирам, че е възможно процесора да е друга ревизия и със някакъв пач за в бъдеще това ще бъде отстранено.

OrangePi Zero LTS