Archiv pro rubriku: tech

Automatický import zboží od dodavatelů

V poslední době jsem řešil, jak ušetřit svým klientům co nejvíce času. U těch, kteří provozují e-shopy se ukázalo, že každý den musí věnovat mnoho času aktualizacím stavových zásob u dodavatelů nebo přidávání nových produktů.

Mnoho poskytovatelů pronajímaných e-shopů nemá možnost automatického importu nebo nepoužívají standardizované řešení. Během vývoje bylo nutné řešit mnoho technických problémů a detailů, které v prvních úvahách vůbec nebyly brány v potaz. Nicméně výsledek za to stojí a stovky ušetřených hodin (a tedy i peněz, které by jinak musel provozovatel e-shopu zaplatit za personál) jsou toho důkazem.

Počítejte se mnou:

Denně je potřeba aktualizovat 1000 položek (v případě malého e-shopu, mí klienti mají e-shopy o velikostech desítek tisíc položek), kdy jedna položka zabere 10 sekund času: 10 000 sekund = téměř tři hodiny času každý den. To je více než 60 hodin času za měsíc. Pokud by brigádníkova mzda byla 100 Kč/h, stojí aktualizace cen a skladových zásob 6 000 měsíčně, resp 72 000 ročně.

A nyní mé automatizované řešení – uvádím typické částky, každé řešení je jinak pracné:

Implementace dodavatelského feedu: 6 000,
Implementace importu: do eshopu: 12 000,
Měsíční provoz aktualizační služby: 500.

Celkové roční náklady za první rok: 24 000, resp. 6 000 za každý další.

A co když chcete aktualizace provádět 2x denně? Pak sazbu brigádníka vynásobte 2x. Cena za automatizované řešení je pořád stejná. I v případě, že se aktualizace provádí každou hodinu.

A aktualizace cen je jedna z mnoha věcí, které jdou automatizovat!

Napojení autobazaru na Aukro

Několik posledních let bylo pro majitele autobazarů možné inzerovat jejich nabídku na největším aukčním serveru Aukro.cz. Bylo to díky spolupráci se serverem Otomoto.cz, kam se exportovala celá nabídka (nejčastěji z programu Autosoft). Nicméně před několika měsíci Otomoto a Aukro spolupráci ukončili a nabídka aut a motorek na Aukru značně prořídla.

Před několika týdny jsem s jedním z mých klientů řešil problém, jak opět jednoduše inzerovat na Aukru (ideálně úplně bez práce). Navrhnul jsem mu řešení, kdy se data sama přelévají a on do toho nemusí vůbec zasahovat. V současné době toto řešení intenzivně testuji a během ledna se dostaneme k první produkční verzi. Inzerce aut a motorek  na Aukru je zatím zdarma, a tak jsem sám zvědavý, jaký přínos tento krok bude mít.

Chcete podobné řešení i do vašeho autobazaru? Pokud používáte na správu Autosoft, do týdne můžete inzerovat na Aukru. Jestli používáte něco jiného, určitě to taky nějak vyřešíme.

Jednoduché zálohování na Windows

Zálohování dat je důležité. To řekne každý trochu zkušenější člověk v IT. Už ale málokdo zálohy opravdu dělá. A ještě méně lidí je dělá pořádně. Před pár lety jsem zkoušel cloudovou zálohovací službu CrashPlan. Služba jako taková ze začátku vypadala velmi zajímavě, ale postupně jsem nacházel více a více problémů, a tak jsem ji po pár měsících přestal používat. Dlouhou dobu jsem pak zálohy řešil pomocí unixové utility rsync (i na Windows přes Cygwin), ale to také nebylo optimální řešení.

Nyní dávám šanci dalšímu řešení – EasyUS Todo Backup.

Program je v základní verzi zdarma a už tato verze bude mnoha uživatelům. Umožňuje zálohu celého systému, jednotlivých složek a i celých oddílů na disku. Co ji ve srovnání s prémiovou verzí chybí nejvíce, je možnost nabootovat zálohovaný počítač jako virtuální stroj – to se může hodit v případě, když počítač zkolabuje a je nutné ho odvézt do servisu.

Zatím jsem si nastavil zálohování celého systému jednou týdně a chytré zálohování nejdůležitějších souborů dvakrát denně. Vše se mi zálohuje na můj domácí server, kde mám tři 2TB disky v RAID5 a navíc se tento server zálohuje na vzdálené úložiště. Ve volné chvilce zkusím nasimulovat selhání počítače (a možná i diskového pole) a napíšu report, jestli a jak se data podařilo zachránit.

Trial verzi zálohovacího programu EasyUS Todo Backup (tedy tu, co umí vytvořit virtuální stroj, ale je placená po uplynutí testovacího období) si můžete stáhnout na tomto odkazu.

Výhody pro studenty: JetBrains

Studium na vysoké škole je náročné. Zvlášť tato věta platí u technických oborů. Studentům už pak nezbývá mnoho času na práci a často trpí nedostatkem peněz. V důsledku pak v jejich rozpočtu nezbývá mnoho prostředků na nákup potřebných nástrojů – např. notebooku. To se dá vyřešit nákupem staršího nebo levnějšího kusu. Co se však tímto způsobem vyřešit nedá, je software. Tam je cena často pevná.

Několik vysokých škol (např. ČVUT nebo VŠE) se snaží svým studentům vycházet vstříc tím, že platí multilicence nejnutnějších produktů a ty pak více či méně jednoduše poskytují studentům. Týká se to např. Microsoft Office. Jelikož ale i rozpočty vysokých škol jsou napnuté, i tady se do nástrojů investuje s rozvahou. Často se volí nepříliš kvalitní open-source řešení, které je zdarma. Chtějí-li se studenti naučit s profesionálními programy, které se používají v komerčním prostředí, mají jednoduše smůlu (nebo se vydají temnou cestou pirátských kopií).

Někteří výrobci softwaru toto pochopili a snaží se studentům vycházet vstříc. Prvním takovým příkladem je česká firma JetBrains s.r.o, která je neznámější svým vývojovým prostředím pro Javu – InteliJ IDEA. Mimoto nabízí nástroje pro spoustu dalších programovacích jazyků – namátkou např. WebStrom, což je IDE pro PHP nebo ReSharper pro C#. Ty samozřejmě nejsou zdarma a každý produkt stojí v jednotkách tisíc korun.

Pro studenty má však speciální nabídku – všechny své produkty nabízí zdarma po celou dobu studia.

Doporučuji se minimálně podívat na jejich nabídku na webu.

WhatsApp na počítači

Pokud vás, stejně jako mě, nebaví psát dlouhé zprávy na telefonu, WhatsApp má i webové rozhraní: https://web.whatsapp.com/ !

Stačí po načtení stránky vzít telefon, otevřít na něm aplikaci WhatsApp a v pravém horním rohu otevřít možnosti, ťuknout na WhatsApp Web a kamerou načíst kód, které je se objeví na displeji počítače.

Nevím, jak dlouho tato funkce existuje, ale já jsem ji objevil až dnes.

Pioneer nabízí autorádia podporující Apple CarPlay a Android Auto

Poslední rok se zabývám vývojem mobilní aplikace pro použití v autě. Na začátku byla zajímavá prezentace od Andrease Rienera v rámci předmětu Principles of Interaction na JKU v rakouském Linci. Pokračoval jsem účastí v eClub Summer Campu, kde jsme společně s mým vedoucím diplomové práce Honzou Šedivým vypracovali podrobnou analýzu použití smarphonu (a wearables) v autě. Nyní se na tuto tématiku soustřeďuji v rámci Cloud Computing Center na ČVUT v Praze.

Co je to Android Auto?

Android Auto je platforma, která rozšiřuje funkcionalitu současných automobilových dashboard systémů (pro vysvětlení je to ta obrazovka, která zobrazuje a kontroluje navigaci, parkovací kameru a autorádio). Android Auto umožňuje k tomuto systému připojit smartphone (s operačním systémem Android 5.0 a vyšším) a používat některé z jeho funkcí prostřednictvím dotykového displeje integrovaného v palubní desce. Malou ukázku systému můžete vidět na následujícím videu:

Jak je to s podporou výrobců automobilů?

Podpora je mezi výrobci aut opravdu velká a všichni velcí výrobci budou systém podporovat ve svých nových modelech. U levnějších aut půjde pravděpodobně o příplatkovou výbavu.

Jak dostat Android Auto do současného automobilu?

Nyní se dostáváme k jádru tohoto postu. Ne každý zájemce o Android Auto poběží k nejbližšímu dealerovi pro nový vůz. Proto aftermarket výrobci autorádií začnou nabízet standardní 2DIN autorádia s displejem a podporou Android Auto. Prvním z nich je Pioneer, který začal v posledních dnech nabízet novou řadu NEX. Ceny těchto autorádií začínají na 700 dolarech, což sice není nejméně, ale pro někoho, kdo tráví v autě spoustu času, je přínos v bezpečnosti a komfortu obrovský. Zatím nemám žádné informace o tom, jak je to s českou podporou, ale dřív nebo později se určitě také dočkáme. Zatím můžeme posílat smsky a e-maily v angličtině.

Proč nezůstat u klasických CD přehrávačů?

Proč investovat téměř 20 tisíc korun do zařízení, které nenabídne prakticky nic nového? Přehrávat hudbu můžu ze svých (víc nebo míň originálních) CD.

Tím, že bude zařízení spojené se smartphonem, dostává jízda v autě určitý kontext a telefon může předpovídat určité akce:

  • Schůzka (která je v kalendáři) začíná v 11.00 v Dejvicích. Je 10.40 a projíždíme teprve kolem Průhonic. Telefon má informace o dopravě a ví, že dřív než v 11.15 se na místo nedostaneme. Nabídne tedy, že pošle ostatním účastníkům zprávu o tom, že se trochu zpozdíme. Na jeden klik tuto zprávu pošleme. Žádné hledání kontaktu, vytáčení, apod. Jeden klik. Právě nás telefon možná zachránil od nehody způsobené nevěnováním se řízení.
  • Jedete z Prahy do Znojma přes Brno po D1. Blížíte se  k Jihlavě a na displeji se ukáže upozornění, že je lepší jet přes Jihlavu, protože tato cesta je o půl hodiny rychlejší, protože v Brně je stávka traktoristů a celé město je ucpané. V Čechách se dají podobné kolony přežít, v Německu u Mnichova se může stát, že uváznete v zácpě na dvě hodiny, nepřijedete do cíle v 9 večer, ale v 11 na další den se dostatečně nevyspíte.
  • Jedete ze své pražské kanceláře do vilky za Prahou. Telefon pozná, že se blížíte ke svému domu a pár sekund před příjezdem otevře bránu a následně garáž. Nebo snad raději budete hledat dálkový ovladač a náruživě ho mačkat zatímco máte zařazenou zpátečku a překážíte ostatním v projetí?

Někteří budou argumentovat ztrátou soukromí. To už dnes stejně žádné nemáme. Mobilní operátoři zaznamenávají každý náš pohyb (trocha teorie), v Praze je na každém rohu kamera (do budoucna s rozpoznáváním obličeje). Ti, kdo mají telefon s Androidem, podívejte se na tuto url https://maps.google.com/locationhistory/ . Apple a Microsoft dělá nachlup to stejné. Když tedy už teď platíme tak vysokou cenu za to, že chodíme po ulicích, jezdíme po silnicích nebo máme u sebe mobilní telefon, se kterým se můžeme spojit s kýmkoliv na světě, kdykoliv nás napadne, pojďme využívat výhody z toho plynoucí a zlepšit tím kvalitu našeho života.

Filtrujte v Gmailu platební doklady

Dovolím si opět přeposlat tip z Lifehacker.com:

V Gmailu jdou filtrovat jen věci týkající se plateb. Stačí dát hledat

label:^smartlabel_receipt

.

Dnes jsem navíc zjistil, že Google experimentuje s označováním e-mailů, kde je nějaká informace o platebních údajích a následně to ukazuje v Google Now. Koukněte na příklad:

google now invoices

 

Zdroj: http://lifehacker.com/find-receipts-in-gmail-with-this-hidden-smart-label-510194412

GIT: Problém s autentizací soukromým klíčem ve Windows 8.1

Pro verzování svých projektů používám GIT. Často se stává, že projekt sdílím s dalšími lidmi. Na to používám GitHub nebo BitBucket. Pro komunikaci se vzdálenými repositáři je potřeba ověření soukromým klíčem.

Pro práci s gitem používám Git for Windows (Msysgit). Většinou nemám s celým procesem žádný problém. V poslední době se mi ale začalo stávat, že mi vyskakovala následující hláška:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Klíče přitom byli ve správných adresářích.

ssh -Tv git@bitbucket.org vrací následující log:

OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Connecting to bitbucket.org [131.103.20.168] port 22.
debug1: Connection established.
debug1: identity file /.ssh/id_rsa type -1
debug1: identity file /.ssh/id_rsa-cert type -1
debug1: identity file /.ssh/id_dsa type -1
debug1: identity file /.ssh/id_dsa-cert type -1
debug1: identity file /.ssh/id_ecdsa type -1
debug1: identity file /.ssh/id_ecdsa-cert type -1
debug1: identity file /.ssh/id_ed25519 type -1
debug1: identity file /.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: Trying private key: /.ssh/id_ecdsa
debug1: Trying private key: /.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

Zatím jsem nepřišel na řešení tohoto problému. V diskuzních fórech se doporučuje nastavení proměnné HOME, to u mě nemělo ani žádný výsledek. Vzhledem k tomu, že jsem neměl čas pro důkladnější analýzu problému, začal jsem pro práci s Gitem používat Git Bash.

Jestli existuje nějaké řešení tohoto problému, napište mi ho prosím do komentářů.

PrestaShop 1.6: Tisk samolepicích štítků z administračního rozhraní

Ve dvou minulých článcích (tady a tady) jsem si hrál s importem velkého množství produktů do e-shopového řešení PrestaShop. Nakonec jsme po dohodě se zadavatelem tuto část odložili na pozdější časy (a s tím i celkové řešení e-shopu) a nyní používáme PrestaShop jako low cost skladový systém.

Do kamenné prodejny chodí zákazníci a kupují si zboží. Bylo potřeba evidovat, jaké zboží a kolik kusů je na skladě. Současně s tím je nutné mít na jednotlivých produktech cenovky a čárový kód pro jednoduchou identifikaci zboží. Jak to tedy vyřešit s Prestou?

PrestaShop v sobě obsahuje relativně použitelné Řízení skladových zásob. Podporuje dokonce i více skladů. Co ale nepodporuje je tisk samolepicích štítků. Naštěstí i tento úkol jde více či méně elegantně vyřešit. Vzhledem k tomu, že mé zkušenosti s programováním pro PrestaShop jsou minimální, budu popisovat to méně elegantní řešení, které bych rád do budoucna vyladil.

Hardware

Kromě samotného počítače s nainstalovaným prohlížečem a serverem, kde nám běží PrestaShop budeme potřebovat:

  • Čtečku čárových kódů (např. CipherLab 1070 s CCD čipem do USB portu; cena kolem 1000 Kč)
  • Tiskárnu samolepicích štítků (a teď je to důležité! Návod funguje pouze pro tiskárny Dymo, v mém případě konktérně Dymo LabelWriter 450!)

Nastavení čtečky

V továrním nastavení přichází čtečka s nastavením anglické klávesnice. Když ji tedy připojíte do USB portu a načtete kód, zpravidla zobrazí jen české znaky s diakritikou. Toto se dá jednoduše nastavit, najdete to buď v manuálu nebo v některém z budoucích článků.

Nastavení tiskárny

Tiskárnu připojíme do USB a nainstalujeme. Poté už přichází jen nastavení formátování štítku, ve kterém postupujeme podle následujícího návodu: http://developers.dymo.com/2010/06/02/dymo-label-framework-javascript-library-samples-print-a-label/

Nebudu jednotlivé kroky popisovat podrobněji, jen jsem chtěl dát tip a velice levné řešení skladové evidence, které může být vhodné pro začínající obchody (a e-shopy), které ve svých začátcích mají problémy s cashflow. Samozřejmě je možné v budoucnu data z Presty vyexportovat a používat některé z profesionálnějších řešení, která ale začínají na desetinásobku tohoto výsledku.

 

Android 5.0 Lollipop: Změna barvy záhlaví v prohlížeči pomocí meta tagu

Úplnou náhodou jsem si dnes všiml, že když se Pinterest otevře v integrovaném prohlížeči na Androidu 5.0, adresní řádek a jeho okolí je červené. Pátral jsem, jak tohoto efektu dosáhnout a našel jsem, že stačí vložit meta tag:

<meta name="theme-color" content="#f27e00">

Barvu změňte na sobě sympatickou. Nejedná se sice o žádný převratný designový prvek, ale může to web trochu odlišit a návštěvníka zaujmout.

A tady máme výsledek na webu jednoho z mých klientů:

2015-02-18 14.37.08 2015-02-18 14.36.50