Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Mirek Prýmek

Stran: 1 ... 293 294 [295] 296 297 ... 618
4411
Studium a uplatnění / Re:Deník nasraného studenta
« kdy: 07. 02. 2015, 16:16:08 »
Současný stav je bohužel takový (proto jsem psal i slovo vyvinout :-)).
Obávám se, že když je nějaká množina tvrzení sporná, tak je prostě "nějaká divná". V klasické logice z ní vyvodím cokoli. Pokud nějak dosáhnu toho, že z ní nevyvodím cokoli, tak imho ta množina nepřestane být divná, jenom ta divnost bude mít (syntakticky) jiné důsledky :) Obávám se, že parakonzistentní logiky jsou slepá ulička...

Mně spíš dlouhodobě láká představa logiky, která by byla míň svázaná s aristotelsko-tomistickým myšlením (substance a akcident). Ale to by byl asi takový zásah do našeho myšlení, že bysme to neustáli :)

P.S. shodou okolností jsem se včera jedné matematičky ptal, co teď v matice frčí a že prej je cool všechno, co je fuzzy, takže to možná tím směrem od černobílého k barevnému trochu jde, ale já rozhodně nejsem někdo, kdo by to mohl posoudit :)

4412
Studium a uplatnění / Re:Deník nasraného studenta
« kdy: 07. 02. 2015, 12:12:54 »
S tim se neda, az na drobnosti, nesouhlasit ;)
Jaký drobnosti? Pojď do mě! ;)

4413
Studium a uplatnění / Re:Deník nasraného studenta
« kdy: 07. 02. 2015, 11:08:12 »
Trochu jsem si zagůgloval a hle, ono to má i heslo ve Wikipedii, podle kterého jde jen o populární (tedy asi lživý, ne?) název pro jeden z Wittgensteinových výroků, který Feynman jenom použil.

http://en.wikipedia.org/wiki/Lie-to-children
Díky!

1 + 1 = 2 je pro normalni znaceni (vynechejme nejake triky typu "znak '1' znamena naslednika naslednika naslednika nuly") pravda tak moc, jak jenom pravda v matematice existuje.
Nerad bych rozpoutával debatu o povaze pravdy (ona filosofie zná několik různých pohledů, "korespondenční teorie pravdy" není jediná možná ;) ), ale u moderní mainstreamové matematiky je "pravda" imho dost matoucí pojem. Lepší je imho říct, že něco v daném systému "platí" - a zase je potřeba docela precizně říct, co tím myslím - např. u korektního a úplného systému je to odvoditelné z axiomů, nebo můžu říct, že přidám-li tohle tvrzení k axiomům, nevznikne mi systém, kde platí A i nonA nebo tak něco...

Navíc bacha na míchání axiomatické (syntaktické) a sémantické vrstvy. Axiomatická vrstva matematiky je prostě jenom nějaké operování se symboly, vůbec nic to neznamená pro nějaký pozorovatelný svět nebo tak něco... I když si vezmu "dobrý" syntaktický systém, tak ho pořád můžu pokazit tím, že mu dám nevhodnou sémantiku... A teprve když mám zvolenou axiomatiku a sémantiku (která mi syntax "nějak rozumně" propojuje třeba s pozorovatelným světem), tak můžu jakž-takž mluvit o "pravdě". Pro samotnou axiomatiku bez sémantiky nemá pojem "pravda" vůbec smysl. A zároveň sémantiku volíme takovou, která se nám "tak nějak zdá rozumná" (arbitrární rozhodnutí!), takže matematiku jde prostě těžko chápat stejně jako třeba biologii, kde tvrzení typu "slon má chobot"* není založené na žádném arbitrárně zvoleném systému (kromě toho, kde bysme "slon" chtěli říkat myši, ale to je z jiného soudku :) )

* bez urážky biologů! :)

Perfektní knížka, která parádně stravitelným způsobem popisuje vztahy mezi axiomatikou a sémantikou, je Peregrin, J: Logika a logiky. Vřele doporučuju.

Spíše bych řekl, že je to důvod nepoužívat klasickou predikátovou logiku a místo ní použít/vyvinout systém, který rozumně funguje i v přítomnosti nekonzistencí. Přičemž "rozumně" implikuje, že např. není dokazatelné vše.
To bych teda vůbec netvrdil. Právě ten Peregrin docela hezky ukazuje, do jakých podivných zákoutí neklasické logiky vedou... Konzervativní rozšíření typu trojhodnotové logiky nebo modální logiky jsou ještě docela rozumné, ale parakonzistentní logiky (to, co navrhuješ použít) jsou úplná chaotická tragedie ;) na tom se žádná rozumná matika imho postavit nedá.

4414
Sítě / Re:VLAN v ZyWALL USG 100
« kdy: 07. 02. 2015, 10:25:45 »
Když jsem se o to snažil já, tak jsem bloknul přístup svého PC k LAN. Máte s tím někdo zkušenosti, nebo rady/tipy?
To je asi jako bys napsal "chtěl jsem jet do Prostějova, ale skončil jsem v Přerově, nevíte, co jsem udělal blbě?" -- No, asi jsi někde zabočil ;)

Obecné rady pro VLANy:
1. pokud si nejsi úplně jistej v kramflecích, je dobré si na switchi vybrat jeden port, do kterého nebudeš vrtat (aby sis neodřízl přístup ke konfiguraci switche). Nastavuj jiné porty a otestuj tak, že počítač přehodíš do toho jiného portu a pokud to nefunguje, tak zpátky do toho nerozvrtaného.

2. jeden port může být členem více vlan.

3. VLAN 1 může mít speciální význam "sem vidí všichni"

4. provoz VEN ze switche: každý port může být buď tagovaný (někdy tomu říkají matoucím "trunk") nebo netagovaný - k tagovaným portům připojuješ zařízení, které VLANy umí a zároveň potřebuješ, aby komunikovalo s více VLANami a zároveň chceš, aby vědělo, se kterou VLANou komunikuje.

5. provoz DOVNITŘ: každý port má nastavenou "defaultní" VLAN. Pokud na port přijde netagovaný paket, tak se pošle do defaultní VLANy. Např. na NETGEARU se tohle jmenuje "PVID".

Příklad: máš VLANu 10 pro interní síť a 11 pro hosty, port 1 jde k routeru, port 2 je zásuvka pro hosty, na porty 3,4,5 jsou připojené interní počítače

Nastavení:

1. na routeru vytvoříš rozhraní schopné přijímat tagované pakety + na něj navěsíš virtuální rozhraní, ze kterých polezou pakety VLAN 10 a 11 (routuješ, firewalluješ atd. podle pravidel, která chceš mít pro interní počítače a pro hosty).

2. port 1 bude členem 10 a 11 tagovaných, defaultní VLAN je třeba 1, nebo nic, pokud to switch umožňuje

3. port 2 bude členem JENOM VLAN 11 netagované, defaultní VLAN 11

4. porty 3,4,5 budou členem jenom VLAN 10 netagované, defaultní VLAN 10

Všimni si, že pokud u netagovaného portu nastavíš "příchozí" VLANu jinak než "odchozí" (defaultní), nebude ti ping fungovat, protože  pakety projdou jenom jedním směrem. Samozřejmě pokud mají dva stroje komunikovat, musí být členem stejné VLAN, ale to asi víš.

4415
Co to tak ctu, lide tady to extrovert/introvert chapou dost spatne. To znamena predevsim, co si clovek uziva, ne v jake oblasti ma nutne dovednosti. Muzu delat dobre praci, ktera me nebavi, a naopak.
Přesně to si říkám taky. Dá se to říct i tak, že jde o to, z čeho člověk čerpá energii - introvert potřebuje pár hodin/dní o samotě na přemýšlení a pak je dostatečně nabitý, aby předstoupil před publikum a předvedl perfektní výkon. Extrovert potřebuje s někým zapařit, aby pak přežil pár hodin/dní soustředěně pracovat ;)

Každopádně prezentační dovednosti s tím nesouvisí. Prezentace jsou řemeslo, které se dá perfektně naučit, jde jenom o to, kolik času tomu člověk hodlá věnovat a jestli má nějakého dobrého učitele. Samozřejmě tomu pomáhají jiný dovednosti, jako např. herecký talent a schopnost odhadnout správnou míru abstrakce (což jsou zase věci, které s {ex|in}troverzí přímo nesouvisí).

4416
Studium a uplatnění / Re:Deník nasraného studenta
« kdy: 05. 02. 2015, 08:45:43 »
Model sám o sobě není lží. Tou lží je vydávání takového modelu za realitu.
+10

Ovšem stojíme před problémem, od kdy je možné přestat lhát-dětem, že model je totožný s realitou ;)

Právě že mi v tomto kontextu slovo lež přijde více zatemňující než objasňující. Snad polopravdy by bylo jasnější?
Kdoví, jakou kvalitu má ten překlad - při "literárně založení Švédi" jsem dost zbystřil :)

4417
Studium a uplatnění / Re:Jak se nechat vyhodit z IBM?
« kdy: 05. 02. 2015, 07:52:46 »
Alebo vlastnosti, kvoli ktorym si na nevydrzanie ale nenarusuje to tvoj pracovny vykon.
RIMMER: Broukal sis. Zlomyslně a vytrvale celé dva roky. Kdykoli jsem si sedl k opáčku: MmmmMmMMmmmm.

4418
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 11:05:03 »
No pokud bude operace swap netrivialni muzu ji vytahnout stejnym zpusobem vne "sortu" jako "compare"  a fungovat to bude pro cokoliv otazkou je jestli to jeste bude optimalni ..  (vzdy je to kompormis mezi rychlosti a lenosti)
Ano, pokud ti k celýmu sortu stačí jenom swap, tak se to ještě dá. Pokud ale budeš potřebovat vkládat kamkoli, tak už to přestává být zajímavý - a dostáváš se přesně do toho bodu, kdy snaha o sjednocení udělá víc škody než užitku. Pak už je prostě jednodušší napsat sort_struktura1, sort_strutkura2, ... a nějakým způsobem je (když už) sjednotit, aby se při volání sort(...) zavolala ta správná funkce pro danou strukturu. Bonus pak je, že můžeš jednotlivý funkce parádně optimalizaovat na míru.

On je to obecný "filosofický" problém - takový ten klasický "OOP polymorfismus" vždycky nějakým způsobem využívá princip "nejmenšího společného jmenovatele", čili když se to implementuje neuváženě, vede to jenom ke zpkriplení struktur, který by jinak byly super :)

4419
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 10:44:26 »
Proc dve impementace ?

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
Ach jo... druhej :)

No, protože tahle funkce může existovat jenom proto, že pracuje nad polem. Jak bys chtěl udělat stejně obecnou funkci a nevědět, jak uložená data jí předáš? Co když jí předám třeba strom?

Obecně to může fungovat tak maximálně pro bubble sort, který od struktury neočekává nic jinýho než operaci swap.

4420
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 10:40:13 »
Já sem to myslel na úrovni hlavičkových souborů ... pro společné operace jeden header file a různé implemntace v Slisti a Dlistu, nebo nějaká společná makra.
Jo, to je schůdný přístup za předpokladu, že ta makra jenom sjednocují interface a nic moc víc od nich nečekáš. Takhle to funguje v tom kernelu (nakolik to můžu posoudit).

I tak ale zůstává otázka, jestli to v céčku v nějaké konkrétní situaci dává nějaký smysl. Určitě je to super někde, kde očekávám od různých kusů software stejný interface (typicky pluginy). Jinde to ale může způsobit víc škody než užitku... Typicky se v C programuje tak, že když někam předám SLL, tak nad ním volám funkci určenou pro zpracování SLL a that's it ;)

4421
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 10:33:52 »
Nene, já se nasnažím za každou cenu naroubovat Javu na C, zkouším co se dá zpětně uplatnit. Víte dnes většina lidí nezačíná na C, takže se na mne nezlobte.
Samozřejmě :) Vůbec se nezlobím, akorát jsem chtěl říct, že častý problém začátečníků v jakémkoli jazyku je v tom, že se snaží do nového jazyka vkládat návyky z toho, který už umí. A většinou to dopadá špatně. Zkusit něco uplatnit je super, ale chce to nejprve *oba* jazyky dobre znát, aby člověk mohl dobře posoudit, jestli jde správným směrem. Začátečník to neposoudí.

Stejně jako pro C-čkaře mohl být přechod na OOP zas opačný problém
Však taky je :) Spousta lidí programuje strukturálně, akorát funkce nějak mírnixtýrnix sdruží v nějakých třídách a s OOP to nemá nic společného :)

 .) -- Jinak jste to odhadl správně, že jsem narazil na problémy .), proto sem přišel s otázkou...

Proč podle vás nemají D-List a S-List společné operace?
Společné funkce mají, ale problém nastane, pokud se budeš snažit v céčku udělat polymorfismus - tj. mít nějakou jednu funkci "sort", která bude umět pracovat s oběma strukturami. To prostě v tomhle případě není dobrý přístup, lepší je mít dvě implementace, každou pro tu konkrétní strukturu. Jestli je potom budeš chtít nějak zabalit, aby se volaly stejně pro obě struktury, to už je jiná otázka.

4422
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 09:03:18 »
Vy už jste to zapomněl ? ;) Před OOP se porovnávalo takhle, úplně stejně to bude pro double-linked list:
Problém není v porovnání, ale v přeskládání té struktury - u SLL musím udělat jiné operace než u DLL. Představa, že udělám jeden kód, který bude fungovat nad jakoukoli strukturou, není v tomhle případě úplně šťastná, pokud mi nejde čistě o bubble sort.

4423
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 07:49:21 »
Doporučuji podívat se jak to dělají v Linuxovém jádru. Moc pěkné. Jednoduché výkonné a elegantní. Sám používám (svou lite) modifikaci pro jednočipy.
Jo, http://lwn.net/Articles/444910/ a http://lwn.net/Articles/446317/

4424
Vývoj / Re:Znovupoužitelnost datových struktur v C
« kdy: 04. 02. 2015, 06:49:05 »
Já bych k tomu ještě dodal, že docela záleží na tom, o co ti vlastně jde. Jestli je to jenom takové cvičení, aby sis vyzkoušel pokročilejší C, ok, nic proti. Pokud jsi v C začátečník a snažíš se na něj naroubovat něco, co znáš z jiných jazyků (Java apod.), tak to mi nepřijde jako dobrej nápad - dřív nebo později se do toho imho zamotáš a stejně se ti nepodaří získat chování, na které jsi byl zvyklý. Jestli se chceš učit C, tak se ho snaž poznat takové, jaké je, jak se používá, nesnaž se na něj naroubovat něco cizího...

A pokud z nějakého důvodu fakt na vážno potřebuješ objektový přístup a zároveň C, tak by možná stálo za zvážení jít cestou http://cs.wikipedia.org/wiki/Vala_%28programovac%C3%AD_jazyk%29 nebo nějakou podobnou.

---
P.S.

Znovupoužitelnost kódu nespočívá jenom v "objektovosti" a dědičnosti. Ve funkcionálním programování bys viděl spoustu znovupoužitelného kódu a žádná dědičnost se tam nepoužívá :) Zrovna snažit se abstrahovat společné vlastnosti double- a single-linked listu mi nepřijde úplně dobrý příklad, množina společných operací* tam bude minimální (např. pokud bys chtěl takový "zobecněný" list třídit, jak to budeš dělat? Přidáš do double-linked nějaký callback, který ex post opraví vazby? Nebo budeš uvnitř funkce pořád ifovat? ;) To by bylo přesně to peklo, do kterýho se dostat nechceš ;) ).

* tj. operací, které bys mohl jedním způsobem implementovat nad oběma typy seznamů

A ještě jeden tip bych měl: ke zobecňování můžeš přistupovat i tak trochu "z druhé strany" - pomocí přístupu, který se v Elixiru jmenuje protokoly (http://elixir-lang.org/getting_started/16.html). Podobně to má i Go (http://golangtutorials.blogspot.cz/2011/06/structs-in-go-instead-of-classes-in.html) Princip spočívá v tom, že si nadefinuješ nějakou množinu operací nad strukturou, naimplementuješ pro každý typ struktury zvlášť (nejsi ničím omezený!), ale přistupuješ k nim pak jednotným způsobem. V C bys to mohl udělat třeba tak, že bys měl strukturu callbacků a pak bys volal nějaké makro třeba sort(my_linked_list) a přeložilo by se ti to třeba na "my_linked_list -> sorting -> sort(my_linked_list)", kde tvůj typ obsahuje pointer na strukturu obsahující pointery na jednotlivé operace. Strukturu s pointery máš pak jenom jednu a každý "objekt" na ni má jenom ukazatel. (pointa: v OOP se začala děsně zdůrazňovat dědičnost a zapomnělo se na skládání :) Pořád je to ale "neCéčkovský" přístup, který bys měl volit jenom z hodně dobrých důvodů.

4425
Sítě / Re:mikrotik + ssh + serial terminal
« kdy: 31. 01. 2015, 16:50:40 »
Pokud potrebuje terminal, tak ne. Ja jsem komunikaci s MK pres ssh resil expectem - nic prijemnyho :(

Stran: 1 ... 293 294 [295] 296 297 ... 618