Archiv rubriky: www

Převod bitcoinů z COINBASE na český účet v korunách s minimální ztrátou hodnoty pomocí účtu u REVOLUT a COINBASE PRO

Ti co využívají investice do kryptoměn u COINBASE jistě jednou budou řešit otázku, jak dostat peníze zpět s minimální ztrátou.

Kde ztráta vzniká?

  1. Převod kryptoměny na EURa u COINBASE
    COINBASE si účtuje 1,5% jako poplatek za transakci.
  2. Převod EUR na koruny
    Jak jsem již zmiňoval v předchozím článku, tak různé služby mají různě (ne)výhodné převodní kurzy.

Jak ztráty obejít?

Ad 1.
Pokud již máte zainvestováno u COINBASE, tak není nic jednoduššího než převést kryptoměny ZADARMO na službu COINBASE PRO, kde poplatky činí jen 0 – 0,25%. Rozdíl je v tom, že služba COINBASE je jen směnárna, ale COINBASE PRO je burza. Ano zní to příliš neznámě, ale věřte, že pro drobné investory, jako jsem třeba já, není v používání žádný velký rozdíl.

Ad 2.
Mi se osvědčil následující postup.
Peníze jsem si v EURech poslal na svůj účet u REVOLUT. Jelikož mám jen standardní plán účtu, tak mám limit pro bezplatnou směnu jen v hodnotě ekvivalentu 25 000,- Kč měsíčně. Což nemusí vždy stačit. Takže jsem tentokráte opět zadarmo převedl požadovanou částku ke směně kamarádovi, který má METAL plán účtu a má tedy možnost neomezené směny. Po směně mi peníze, tentokráte již v korunách poslal zpátky a ty jsem pak už bezproblémově poslal do české banky na účet vedený v korunách. Krom výhody toho, že ušetříte na poplatcích za převody, spočívá hlavní výhoda v tom, že REVOLUT má velmi výhodné kurzy pro převody a když budete převádět větší obnosy, tak už tu ztrátu nebo zisk hodně pocítíte.

Co se týče rychlosti, tak převod z COINBASE na účet REVOLUT proběhl online. Převod mezi účty tam i zpět u REVOLUT, taky online. A poslední převod z účtu REVOLUT do české banky trval dva dny.

Příkladem.
Mám na COINBASE BCT v hodnotě 1 000 EUR.
Po převodu BTC na EUR mi zůstane 985 € (ztráta 15 EUR).
Dále pokud bych peníze převedl na český účet u AirBank, a převedl je k dnešnímu dni, tak bych za 985 EUR získal 25 214,03 Kč. Zanedbávám případné poplatky za převody v cizí měně.

Pokud to samé udělám úspornějším postupem viz popis výše, tak z 1 000 EUR dostanu při směně BTC na EUR minimálně 997,5 EUR a po převodu EUR na Kč u REVOLUT 26 291 Kč.

Právě jsem jen vhodnou volbou služby vydělal více než 1 000 Kč.

A co když tam těch BTC nebudu mít jen v hodnotě 1 000 EUR, ale třeba v hodnotě 5 000 EUR. Hmm?

Napište prosím do komentářů, pokud máte nějaké lepší postupy…

Porovnání kurzu dolaru Revolut vs. PayPal

Stručně a jasně. Úkol zněl poslat někam 100 $. Buď jsem mohl nechat konverzi Kč na USD nechat na PayPalu – výchozí možnost nebo změnit a nechat to na kartě.

Výsledek?

PayPal 1 Kč = 0,0412810 USD
Revolut 1 Kč = 0,0430 USD
Čtěte: Za jednu korunu dostanu X USD.

Takže, pokud potřebuji vyměnit 100 USD, tak mě to bude stát:
PayPal 2422,4219,- Kč
Revolut 2325,5814,- Kč

100,- Kč najít na cestě za pár minut…

A pokud si nyní zaregistrujete Revolut kartu, tak získáte navíc 300,- Kč jen tak.

Zabezpečení WordPress administrace pomocí .htaccess

Jednou mi tak volá hoster, že probíhá cílený útok na tento blog (nechci se nyní zabývat detaily). Nebojím se o sílu svého hesla, ale nadměrně to zatěžuje server.

Řešení je jednoduché!
Do souboru .htacces jsem přidal následující blok:

<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
	RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
	RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
	RewriteCond %{REMOTE_ADDR} !^4\.3\.2\.1$
	RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

Toto pro IP 1.2.3.4 a 4.3.2.1.

Hotovo!

Jistě jsou i jiná řešení. Například pomocí nějakých pluginů, ale pro mě jako člověka programování znalého toto přijde nejrychlejší… A hlavně! Plugin znamená, že to bude veřejná metoda a bude jen otázka času, než se někomu vyplatí na takový prvek napsat robota, který s ním bude počítat…

Fotoalbum v NETTE (flickr style) – příprava složek

V této kapitole prezentuji, jak jsem musel připravit stromovou strukturu současného fotoalba.
webalizace – odstranění diakritiky a nahrazení speciálních znaků (např. mezer) pomlčkou

Výchozí stav:
Struktura složek ve formátu /ALBUM/001/001/038/019/. Tuto strukturu jsem měl uloženou v databázi ve formátu (id, parent_id, path, description). Tuto strukturu jsem dále rozšířil o atributy level (hloubka zanoření ve stromu), webalize-desc )(webalizovaný název složky), webalize-path (webalizovaná cesta).

1. krok – vytvoření webalizovaného popisku v databázi

	public function createCoolURL() {
		$this->connection->exec('begin');
		foreach ($this->connection->table('I_dir') as $row) {
			$this->connection->exec('UPDATE `I_dir` SET `webalize-desc`=? WHERE `id`=? LIMIT 1', Strings::webalize($row->desc, '._', FALSE), $row->id);
		}
		$this->connection->exec('commit');
	}

2. krok – vypočtení atributu level

	public function computeLevel() {
		$this->connection->exec('begin');
		foreach ($this->connection->table('I_dir') as $row) {
			$this->connection->exec('UPDATE `I_dir` SET `level`=? WHERE `id`=? LIMIT 1', substr_count ($row->path, '\\')-1, $row->id);
		}
		$this->connection->exec('commit');
	}

3. krok – vytvoření webalizovaného překladu cesty
Tady je třeba se zamyslet co vlastně děláme a proč to níže může vypadat relativně složitě. Výchozí stav je takový, že známe cestu k cílové složce (/001/001/038/019/) a její název. Ale abychom byli schopni univerzálně přejmenovat celou cestu, tak musíme začít od kořene. Tj. první přejmenovat složky level=1 (/001/). Následně level=2 (/001/001/) a to pomocí parent_id, kde již víme, že se ta složka nějak jmenuje a jen připojit webalizovaný název aktuální úrovně.

	public function createWebalizePath() {
		$this->connection->exec('begin');
		foreach ($this->connection->fetchAll('SELECT DISTINCT `level` FROM `I_dir` WHERE `level`>0 ORDER BY `level` ASC') as $l) {
			foreach ($this->connection->fetchAll('SELECT `a`.`id`, `a`.`webalize-desc` AS `wd`, `b`.`webalize-path` AS `path` FROM `I_dir` `a` JOIN `I_dir` `b` ON `a`.`parent_id`=`b`.`id` WHERE `a`.`level`=?', $l->level) as $row) {
				$this->connection->exec('UPDATE `I_dir` SET `webalize-path`=? WHERE `id`=? LIMIT 1', ($row->path.$row->wd.'\\'), $row->id);
			}
		}
		$this->connection->exec('commit');
	}

4. krok – přejmenování samotných složek
Záhadná formule REVERSE(SUBSTRING(REVERSE(`path`), 5))

  • REVERSE(`path`) z „\001\002\“ do „\200\100\“
  • SUBSTRING(…, 5) z „\200\100\“ do „100\“
  • REVERSE(…) z „100\“ do „\001“

Zbytek je snad jasný…

	public function renameFolders() {
		foreach ($this->connection->fetchAll('SELECT `path`, REVERSE(SUBSTRING(REVERSE(`path`), 5)) AS `newPath`, `webalize-desc` AS `wd` FROM `I_dir` WHERE `level`>0 ORDER BY `level` DESC') as $row) {
			@rename(ALBUM_PATH . strtr($row->path, '\\', '/'), ALBUM_PATH . strtr($row->newPath, '\\', '/') . $row->wd);
		}
	}

Zatím tu není řešeno přidání nové složky, ale to bude principiálně stejné. Jen budu muset vyřešit jak dám programu vědět, která složka a kde přibyla.
Nápady – databáze (chci se ji maximálně vyhnout a velká náchylnost na chybu), Nějaký FLAG soubor – zatím se mi jeví jako dobré řešení. Musel bych jen udělat „robota“, který by hledal soubor jistých parametrů a v případě nálezu by danou složku zpracoval a soubor třeba smazal. Ale to předbíhám…

Fotoalbum v NETTE (flickr style)

Již delší dobu plánuji, že přepíšu dávno nevyhovující fotoalbum oddílu BVÚ.

Nevýhody současného alba:
Viditelné:

  • malé náhledy (generuje je aplikace)
  • v případě aktualizace fotek, není dostupné
  • závislost na datumu souboru (pokud se nepovedlo nahrání, bylo tam nesmyslné datum)

Neviditelné:

  • složité nahrávání fotek (přes již prastarou aplikaci Olympus Camedia Photoalbum)
  • proprietální databáze Olympus Camedia Photoalbum postavená na MS ACCESS 1997, bez rozumné možnosti rozšíření
  • nesnadná správa stránek v prostředí MS – ASP (VB SCRIPT)
  • závislost na datumu souboru – musel se dodržovat speciální postup jinak se o datum přišlo, případně se musel synchronizovat s EXIF informacemi

Co čekám od nového alba:
Vyditelné:

  • rozumné rozhraní odpovídající době
  • možnost větší interakce se stránkami – TOPování fotek, komentáře, TAGy, …
  • větší propojení stránek oddílu (www, stream, fotoalbum)

Neviditelné:

  • sjednocení platforem webů
  • moderní programátorské prostředí (NETTE, jQuery)
  • lepší správa, menší závislost na proprietálním prostředí

Požadavky na nové fotoalbum:
Vyditelné:

  • rychlost
  • přístupnost
  • maximální orientace na prohlížení fotek – je to fotoalbum že!

Neviditelné:

  • minimální závislost na databázi
  • maximální jednoduchost nahrávání fotek

Pro představu uvedu postupy nahrávání fotek:
Postaru:

  • stáhnout fotky v něčem co nemění datumy souborů
  • protřídit
  • zmenšit v něčem co nemění datumy souborů
  • zabalit do ZIP archívu – aby při nahrávání na FTP se nezměnily datumy souborů
  • nahrát archiv na FTP
  • přes vzdálenou plochu na serveru v aplikaci Olympus Camedia Photoalbum vytvořit složku – od otevření aplikace je fotoalbum na webu nedostupné, jelikož si aplikace drží výhradní přístup
  • najít na disku vytvořenou složku (stromová struktura má formát: /ALBUM/001/001/038/019/)
  • nakopírovat fotky z archivu
  • otevřít vytvořené album ve Olympus Camedia Photoalbum – dojde k pomalému vytvoření náhledu a indexaci fotek
  • dříve se ještě v rámci speciální aplikace řešily publikované fotky, to již před časem odpadlo…
  • velké originály popsat a zazálohovat
  • Nově:

    • stáhnout fotky
    • protřídit
    • nahrát na FTP do pojmenované složky (tady ještě uvažuji o použití SAMBA protokolu a ukládání fotek na Windows share, který je pro běžné uživatele dostupnější)

    Úspora kroků je zřejmá!

    Na co se můžete těšit v dalších kapitolách?

    • zpracování fotek – od nahrání až po prezentaci
    • prezentace fotek na celou obrazovku prohlížeče – kdo zná flickr ví o čem píšu

    Porovnání spořících účtů – ZUNO, AXA, EQUA, AIR BANK

    Již několik let používám spořící účet od AXA BANK. Jelikož se jedná o spoření, kde nepotřebuji dnes a denně bojovat s internetovým bankovnictvím (IB), tak se nedá říct, že ta spousta „maličkostí“, které mě na jejím IB štvou by mě vyváděla z míry…

    Ale…

    Ale najednou se tu začaly jak houby po dešti množit nové internetové banky.

    AIR/BANK
    AXA
    EQUA BANK
    ZUNO

    mBanku záměrhně nezmiňuji, jelikož ji vůbec neřadím jako konkurenci pro její nesmyslné zesložiťování podmínek pro výhodné spoření.

    Tak jsem se začal pídit po tom, co mi která banka nabídne. A jelikož jsem nikde nenašel rozumnou kalkulačku, tak jsem si takovou sestavil.

    Kalkulačka výhodnosti spořících účtů.

    Blogování

    Poslední dobou jsem začínal pociťovat, že čím dál více mi chybí nějaké místo, kde bych prezentoval všechny moje dílčí úspěchy.

    Tak jsem do toho práskl a výsledkem je tento blog.