Zdjęcia księżyca

Opłacalność wydobycia Kryptowalut.

Obecnie wydobycie kryptowalut, które mają już dedykowane do roziwązwania hardwerowe problemu nie jest opłacalne. Jest tak ponieważ specjalnie przystosowane sprzętowe rozwiązania (Koparki ASCI) biją inne możliwości kopania kilkuset krotnie jak CPU (kopanie procesorem) i GPU (kopanie kartą graficzną). W sieci można znaleźć przykłady kalkulatorów dzięki którym możemy obliczyć znając moc obliczeniwą sprzętu opłacalność wydobycia pomniejszoną o koszty prądu. Tutaj link do takiego kalkulatora.
Tak więc jak można zarobić na kryptowalucie? Jedyny sposób zarobku to handel algorytmiczny i spekulacja krótkoterminowa. Można zarobić ze względu na duże wahania kursu. Należy wspomnieć że kryptowaluty stanowią lepsze zedecentralizowane rozwiązanie płatnicze od systemu bankowego, jednak posiadają dość niską reputację i niewiadomą jutra. Szczególnie coraz nowsze algorytmy i kryptowaluty nie są dobrym rozwiązaniem. Może się okazać że tak naprawdę, ktoś pociąga za sznurki i ma w tym interes dlatego też tworzy nową kryptowalutę. Powodów jest kilka:
– może tworzyć kopalnie i czerpać korzyść na górnikach którzy tylko testowo wykopali małe ilości których nie wypłacą.
– opłata transferowa środków.
– sztuczna spekulacja kursu
Obecnie na rynku jest około 300 kryptowalut o różnym zastosowaniu. Opłaca się kopać tylko te które są w miarę nowe i miarę zaufane, z dwóch powodów pierwszy to taki, że można wykorzystywać karty graficzne do momentu aż nie wejdzie ASCI, a drugi to taki, że ceny takich kryptowalut mogą wzrastać. Używanie urządzeń ASCI które są zwykle drogie nie jest opłacalne ponieważ to gonitwa za biegnącym zającem. Z każdym miesiącem są coraz nowsze urządzenia ASCI a wartość starych jest warta tyle co cena złomu. W związku z tym zawsze można wykorzystać karty do kopania innych kryptowalut.
Dlaczego ceny krytpowalut mogą wzrastać? Ponieważ im dłużej są środkiem płatnicznym tym lepszą reputacje uzyskują, a decentralizacja transakcji wpływa pozytywnie na bezpieczeństwo i wizerunek 🙂 Należy też pamiętać, że istnienie kryptowalut jest w interesie producentów kart graficznych, które schodzą jak ciepłe bułeczki, z górnych półek sklepów.
W moim przekonaniu kraj który pierwszy zastąpi walutę na kryptowalutę zyska na prestiżu i bezpieczeństwie pieniądza. Jednak należy zadać sobie pytanie czy opłaca się to dużym krają bazującym na kreatywnej księgowości, i napompowanym sztucznie kursie swojej waluty?

Dunkierka recenzja.

Dunkierka to film który przedstawia losy francusko angielskie armii skupionej na wybrzeżu francuskim. Film przedstawia losy kilku bohaterów jednocześnie. W związku z tym od filmu nie można oczekiwać tego że przedstawi losy jednego bohatera w ujęciu hollywoodzkim. Film pokazuje jak w obliczu zagrożenia zachowują się wobec siebie dwie sprzymierzone armie. Fabuła określiłbym na dosyć specyficzną ale nie warte obejrzenia ze względu na wielowątkowość. Jeśli ktoś chce obejrzeć smutny film o umieraniu i polowaniu na ludzi to zapraszam do kina. W filmie nie została pod koloryzowana charakterystyka bohaterów. Jedyne co łączy wszystkich ludzi w filmie to chęć przeżycia za wszelką cenę i kosztem innych nawet najbliższych ludzi. Piloci i cywile zostali ukazani jako ludzie obdarzeni honorem i chęcią pomocy. Żołnierzy I dowódcy z chęcią minimalizacji strat i wolą przeżycia. Film nie należy do inscenizacji które trafią do przeciętnego odbiorcy jednak istnieje grupa osób do których taki film może przemówić.

Turniej rycerski w Siewierzu 2017

Google optimizer. Bash script to recursive optimize all png and .jpg

First of all install:

sudo apt install jpegoptim

and

sudo apt install optipng

nesxt make script file in your website folder

touch ./optimizer.sh
chmod +x ./optimizer.sh

next paste the code to file

nano ./optimizer.sh
#!/bin/bash
# Script Google Optimizer
# Autor: Szymon Wójtowicz
# Site: http://artmetic.pl
# Blog:  http://blog.artmetic.pl

for f in $(find ./ -name '*.png' -or -name '*.jpg'); 
do 
if [[ $f == *.png ]] ;then
optipng -strip all -o5 "$f";
elif [[ $f == *.jpg ]] ; then
jpegoptim "$f" --strip-all; 
fi
done

and run with command

./optimizer.sh

 

next check speed of your site

Generowanie certyfikatu Jabber / XMPP

# openssl genrsa -out /etc/jabber/jabber.key 1024
# openssl req -new -x509 -days 365 -key /etc/jabber/jabber.key -out /etc/jabber/jabber.crt
# cat /etc/jabber/jabber.crt >> /etc/jabber/jabber.key
# mv /etc/jabber/jabber.key /etc/jabber/jabber.pem
# rm -f /etc/jabber/jabber.crt

Własny serwer jabbera - jak to poważnie brzmi. 
Postaram się w maksymalnym skrócie opisać (krok po kroku), jak zainstalować i skonfigurować 
eJabbera na PLD i dodać do niego parę transportów.

Zaczynamy.

1. Najważniejsza rzecz to oczywiście zainstalować serwer jabbera.


# poldek -ivh ejabberd

2. Konfiguracja (od razu weźmiemy pod uwagę, że chcemy mieć trzy transporty – GG, IRC i MSN).

Edytujemy naszym ulubionym edytorem: plik /etc/jabber/ejabberd.cfg
{acl, admin, {user, "admin"}}.
% user z prawami administratora, dowolny login
{acl, local, {user_regexp, ""}}.
{access, pubsub_createnode, [{allow, all}]}.
{access, configure, [{allow, admin}]}.
{access, register, [{deny, all}]}.
{welcome_message,
 {"Welcome!",
  "Welcome to Jabber.",
  "For information about Jabber visit http://jabber.org"}}.
{registration_watchers, ["user@localhost"]}.
% user, który będzie powiadamiany o rejestracjach do serwera jabbera
{access, announce, [{allow, admin}]}.
{access, c2s, [{deny, blocked},
               {allow, all}]}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{access, c2s_shaper, [{none, admin},
                      {normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, local, [{allow, local}]}.
{auth_method, internal}.
{hosts, ["localhost", "jabber.nasza_domena.pl"]}.
% nasze hosty, które będziemy używać (zewnętrzne domeny muszą istnieć)
{max_user_sessions, 10}.
{language, "en"}.
{listen,
 [{5222, ejabberd_c2s,     [{access, c2s}, {shaper, c2s_shaper},
                            {max_stanza_size, 65536},
                            starttls, {certfile, "/etc/jabber/jabber.pem"}
                            ]},
  {5223, ejabberd_c2s,     [{access, c2s},
                            {max_stanza_size, 65536},
                            tls, {certfile, "/etc/jabber/jabber.pem"}]},
  {5269, ejabberd_s2s_in,  [{shaper, s2s_shaper},
                            {max_stanza_size, 131072}
                           ]},
  {5348, ejabberd_service, [{access, all},
                            {host, "msn.jabber.nasza_domena.pl",
                             [{password, "hasło z /etc/jabber/secret"}]}]},
  {5349, ejabberd_service, [{access, all},
                            {host, "gg.jabber.nasza_domena.pl",
                             [{password, "hasło z /etc/jabber/secret"}]}]},
  {5347, ejabberd_service, [{access, all},
                            {hosts, ["ircnet.jabber.nasza_domena.pl", "freenode.jabber.nasza_domena.pl"],
                             [{password, "hasło z /etc/jabber/secret"}]}]},
  {5280, ejabberd_http,    [http_poll, web_admin]}
 ]}.
{s2s_use_starttls, true}.
{s2s_certfile, "/etc/jabber/jabber.pem"}.
{domain_certfile, "jabber.nasza_domena.pl", "/etc/jabber/jabber.pem"}.
{outgoing_s2s_port, 5269}.
{modules,
 [
  {mod_register,   [{access, register}]},
  {mod_roster,     []},
  {mod_privacy,    []},
  {mod_adhoc,      []},
  {mod_configure2, []},
  {mod_disco,      []},
  {mod_stats,      []},
  {mod_vcard,      []},
  {mod_offline,    []},
  {mod_echo,       [{host, "echo.nasza_domena.pl"}]},
  {mod_private,    []},
  {mod_irc,        []},
  {mod_muc,        [{access, muc},
                    {access_create, muc},
                    {access_admin, muc_admin}]},
  {mod_pubsub,     [{access_createnode, pubsub_createnode}]},
  {mod_time,       []},
  {mod_last,       []},
  {mod_version,    []}
 ]}.

3. Wygenerowanie certyfikatów dla połączeń SSL/TLS.

# openssl genrsa -out /etc/jabber/jabber.key 1024
# openssl req -new -x509 -days 365 -key /etc/jabber/jabber.key -out /etc/jabber/jabber.crt
# cat /etc/jabber/jabber.crt >> /etc/jabber/jabber.key
# mv /etc/jabber/jabber.key /etc/jabber/jabber.pem
# rm -f /etc/jabber/jabber.crt

4. Transport Gadu-Gadu


# poldek -ivh jggtrans
Ustawiamy najważniejsze opcje w: /etc/jabber/jggtrans.xml
<service jid="gg.jabber.nasza_domena.pl"/>
<connect id="gglinker">
    <ip>127.0.0.1</ip>
    <port>5349</port>
    <secret>hasło z /etc/jabber/secret</secret>
</connect>
<spool>/var/spool/jabber/gg.jabber.atwa.us/</spool>
<admin>admin@jabber.nasz_domena.pl</admin>
<acl>
        <allow who="admin@jabber.nasza_domena.pl" what="iq/query?xmlns=http://jabber.org/protocol/stats"/>
        <deny who="*" what="iq/query?xmlns=http://jabber.org/protocol/stats"/>
        <allow who="*"/>
        <deny what="iq/query?xmlns=jabber:x:register"/>
        <allow what="presence"/>
        <deny/>
 </acl>
Następnie tworzymy katalog, w którym będą trzymane dane użytkowników korzystających z transportu:
# mkdir -p /var/spool/jabber/gg.jabber.nasza_domena.pl
# chown -R root:jabber /var/spool/jabber/
# chmod -R g+w /var/spool/jabber/

5. Transport MSN.

Instalujemy najważniejsze elementy:

# poldek -ivh python-Twisted python-Twisted-ssl python-TwistedWords python-TwistedWeb python-TwistedXish python-Imaging python-pyOpenSSL
Teraz trzeba należy ręcznie ściągnąć transport stąd. Wypakowujemy go i ustawiamy config: W src/config.py:
jid = "msn.jabber.nasza_domena.pl"
host = "127.0.0.1"
compjid = ""
spooldir = "/var/lib/ejabberd/"
discoName = "MSN Transport"

mainServer = "127.0.0.1"
website = ""
port = "5348"
secret = "hasło z /etc/jabber/secret"
Natomiast w config.xml (jeśli go nie ma, tworzymy z template'u) ustawiamy te same opcje w formacie XML.
Musimy utworzyć jeszcze 2 symlinki, bo PyMSNt nie wyszuka zainstalowanych rozszerzeń pythona:
# ln -s /usr/share/python2.4/site-packages/twisted/words /usr/lib[64]/python2.4/site-packages/twisted/words
#  ln -s /usr/share/python2.4/site-packages/twisted/xish /usr/lib[64]/python2.4/site-packages/twisted/xish
Uruchamiamy PyMSNt:

# ./PyMSNt &amp;

6. Uruchamiamy eJabberda i tworzymy konto administratora.

# service ejabberd start
# ejabberdctl ejabberd@localhost register admin jabber.nasza_domena.pl hasło_do_konta_admina
# service jggtrans start
I to praktycznie cała filozofia. 
Pod adresem http://server:5280/admin/ znajdziemy ładnego web admina, dzięki któremu możemy monitorować nasz serwer,
dodawać i usuwać użytkowników, zmieniać im hasła itd. Sam użytkownik ma oczywiście możliwość zmiany hasła przez klienta jabbera.

Czy ja czasem nie zapomniałem o transporcie IRC? Nie, eJabberd ma wbudowany transport IRCa i dlatego wystarczyło tylko odblokować
odpowiedni port i usługę w ejabberd.cfg, a transport od razu działa. Gdybym o czymś zapomniał albo coś jednak nie działało, to "bijcie!"
i piszcie do mnie lub tutaj w komentarzach.

Jak zamknąć proces na porcie na serwerze Linux

Aby zamknąć (zabić) proces na porcie na serwerze Linux należy wydać polecenie:


fuser -n tcp -k 21
<span style="font-family: Lucida Sans Unicode,Lucida Grande,sans-serif; font-size: 14pt;">
*(gdzie 21 to numer portu)
Innym sposobem jest uruchomienie aplikacji htop i po wybraniu procesu strzałkami naciśnięcie
 'k' w celu zabicia procesu/aplikacji. W tym przypadku powinniśmy znać nazwę aplikacji.</span>

Po wybraniu procesu i przyciśnięciu ‚k’ (kill) możemy usunąć/zamknąć proces na różne sposoby,
wymienione po lewej stronie.