2014. december 28., vasárnap

Sínen vagyunk...

2014. december 28. 23:02

@Gábor: Tudod, van ez a civilizáció nevű valami, amely hétköznapivá tesz olyan eszközöket, amelyek "érthetetlen" emberek generációinak teljesítményén alapulnak. Na, én ezek közé törekszem. Viszont ha szavazásos alapon, a tömeg tetszése határozta volna meg a fejlődés irányát, akkor ma is a lovas szekérnél és a kiskirályoknál tartanánk. Érthető ez a számodra?
Nem azért írok a blogodra, hogy "veled dübörögjek", jajj :-D Éppen ellenkezőleg: írtam egy kis programot, amelynek segítségével az összes korábbi hozzászólásomat töröltem innen (nehogy megzavarjon bárkit is) amikor úgy nézett ki, hogy külföldön folytatom. Most viszont úgy tűnik, maradok, és kifejezetten feszélyez a gondolat, hogy egymásra acsargó tömegek között kellene munkába mennem. Helyesbítek. Dühít.

Huszonpár évvel ezelőtt jött Orbán Viktor, és az előbb linkelt videón látható beszédével tömegeket rázott fel. A szöveg ma is megállja a helyét: szovjet helyett mondj oroszt, kommunisták helyett Fideszt, és már ismételheted is szóról szóra a kedvenc hangszóródba.
Orbán Viktor volt radikális, aztán mérsékelt liberális, európai, aztán jobboldali, "első polgár" keresztény, most éppen neobalkáni vagy mi a tök. Nem nézetei, elvei, stb. vannak, hanem azt mondja, amit adott pillanatban a megszólítandó közönség hallani akar. Nem értékek őrzése vagy teremtése, intelligens egyedek meggyőzése a cél, hanem a hívő tömeg, a massza mérete, a "lájkok" száma. Egyszerű, gondolkodás nélkül skandálható szlogenek.
Mik is voltak az "egyszerű, tömeg által követelt" jelszavak? Demokráciát? Ruszkik haza? Európa? Nem az a lényeg, hogy kik vagyunk, mit értünk meg a folyamatokból, hanem az, hogy az aktuális bűnbak takarodjon, aztán jön a Kánaán...

Bocs, nem látom a lényegi eltérést. Megpróbálom egy hasonlattal szemléltetni, mi a bajom.

Egy ország olyan, mint egy vonat: szépen össze vagyunk kötve és együtt zakatolunk a síneken. Nyilvánvaló volt, hogy rossz az irány, ezért a rendszerváltók berontottak a vezetőfülkébe, és... na jó, mondjuk úgy, átvették az irányítást. Aztán huzakodtak jó darabig egymás között, mire kiderült egy apróság: hoppá, a mozdonyban nincs kormány! Gyorsítani, fékezni, dudálni lehet, de a vonat irányát a váltók és a sínek határozzák meg (erőforrások, külső tényezők, és, most figyelj: a "nép" szellemi színvonala, igényessége!).
A mostani csapat minden köntörfalazás nélkül, ostoba őszinteséggel mutatja meg, hogy saját rövid távú érdekeinek kielégítésén túl semmit nem tud tenni a hatalmával. Tehát felsorakoztok újra a vezetőfülke ajtajánál, hogy átvegyétek az irányítást. Az igény jogos, de mi a fenét érünk el vele? Az irányt a váltókkal (és csak azokkal) lehet módosítani. Viszont ha újra randalírozni kezdünk a vezetőfülkében, akkor tönkretehetjük a műszereket és az irányítást (közintézmények, ellátórendszerek). Na akkor a hajunkra kenhetjük a váltókat, a vonat az első kanyarban felborul (aki nem vette volna észre, rázós szakaszon vagyunk).

Gondolom, ez is túl bonyolult olyanok számára, akiknek kifejteni való véleményük van rólam, de a nevemet nem képesek begépelni a Google keresőbe. Vagy olvasni nem tudnak (azért magyarul is írtam már éppen eleget, nem csak kockaságot).

Emiatt gondolom megint elnézést kéne kérnem, ugye? (Ejj, Máté, Máté...)


2014. december 29. 6:56

Gábor, kár is tovább fárasztanod magad azzal, hogy reagálni próbálsz az írásaimra. Már régen bizonyítottad, hogy egyetlen gondolatot nem fogsz fel belőle, ezt minek ismételni. De neked, külön, ide írom még egyszer, nagy betűkkel, hátha felfogod végre:

NEM ÉRDEKEL A "SZÉLES NYILVÁNOSSÁGOD"

Azt meghagyom neked, meg az Orbán, Gyurcsány, stb hangembereknek. MINDEN, amit elértem ("saját erőből"), a megszokott sémákat követők véleménye ellenére, és nem azokat kiszolgálva lett az enyém.

Az bosszant, hogy a kommunikáció, emberi és közösségi gondolkodás alapfogalmait sem ismerő (vagy ami még rosszabb, azokat tudatosan, alacsony szinten manipulációra felhasználó, lásd például a te főpolgi "kampányodat") főkolomposok és az őket követő nyáj (mindegy, milyen jelszavakat skandálva, de az már tragikomédia, amikor UGYANAZT üvöltitek) az én és családom életminőségét pontosan előre látható módon veszélyeztetitek. És tudod, számomra létezik a gondolkodó ember felelősségtudata, amely nem hagy békén, beszélni kényszerít, és amikor megpróbáltam megtagadni, úgy vágott földhöz, hogy azóta se szedtem össze magam teljesen.

Ne foglalkozz velem, nem éri meg az időnket. Neked Orbánt kell eltakarítanod, koncentrálj erre a feladatra. Én meg engedelmeddel abban reménykedem, hogy akár EGYETLEN, gondolkodásra is képes emberhez eljutnak a szavaim az általad felkavart pocsolyában. Szánalmas kis cél a tiédhez képest, de a tízszer annyi időben, amit ennek a búval bélelt világnak megértésével és a szellemi erózió elleni küzdelemmel töltöttem, megtanultam a másokkal szembeni elvárások terén szerénynek lenni.

Például nem várom el, hogy az "ad hominem" érvelési hibát felismerje a saját szövegében - pedig tudod, az érvelési hiba olyan dolog, amit ha elkövetsz, kár volt kinyitnod a szád. (Oké, Orbán Viktornak azért írtam egy dühös nyílt levelet miatta, de sajnos a "nép" már a nyílt levél fogalmának értelmezésénél leakadt).
Viszont a Google korában tíz másodperc alatt bizonyíthatóan baromsággal talán nem kéne senkinek égetni magát, mert utána már nehéz normálisan beszélgetni.


2014. december 29. 8:45

@góbé: Itt a bibi. Nem tudok úgy beszélni, hogy az komoly erőfeszítés nélkül érthető, ugyanakkor az én szemszögemből legalább minimális mértékben elfogadhatóan precíz legyen. De ez is ismétlés, ezt a beszélgetést is lefutottam már sokszor, például itt, utolsó bekezdések.

A tömegállattal kapcsolatban ismét javaslom Karinthy "Barabbás" novellájának megértését, vagy Szathmári Sándortól a Kazohiniát. Esetleg Douglas Adams rövid megjegyzését az emberi gondolkodásról, bizonyítékul mellétéve az Utoljára látható című könyvét.

Ja, a te érvelési hibád: "szalmabáb". Sajnálom.

Egyet jobbra - egyet balra

Úgy tűnik, továbbra is egy országba leszek zárva ezzel az óvodás bandával, és ha már így alakult, dühöngtem egyet, szépen, igazságosan, ahogy gondolkodó emberhez illik.


Tuareg forradalmárnak ilyet

Hajrá, hajrá... ha még pedálozol egy darabig, majdnem olyan jó leszel, mint aki ellen ágálsz. :-D


Még mindig nem érted, hogy nincs semmi új abban, amit csinálsz, és éppen Orbán Viktor testesíti meg mindazt, ami ezen az agyatlan tömegállat terelésen-követésen alapuló úton elérhető? Pont azt a rövidlátást, felelőtlenséget, "hatalmat mindenáron" felfogást kritizálod, amelyet magad hirdetsz ("döntsük meg a diktátort a tömeggel, amelyben SEMMI érdemi gondolat vagy közös jövőkép nincs azon kívül, hogy Orbán ne legyen"). Hát pont EZ a mai nap az a jövő, amit kínálsz, doktor úr. Csak sajnos nincs újabb húsz év emberi és erőforrás tartalék, amelynek végén majd ellened gyűlik össze az újabb "mozgalom".

Csöbörből vödörbe. Szánalmas.


Kövér Világháború Lászlónak meg ilyet

A Házelnök Úr pontosan tudja, miről beszél.

A birtokomban van egy hivatalos életrajz, amely ennek alapjául szolgál. Az alábbiakban részleteket idézek belőle:

---
XXXX. áprilistól a Soros Alapítvány támogatásával működő Közép-Európa Kutatócsoport munkatársa. XXXX. szeptembertől a Soros Alapítvány ösztöndíjával az oxfordi Pembroke College-ban az angol liberális politikai filozófia történetét tanulmányozta;
...
XXXX. június 16-án XXXX szabad választásokat és a szovjet csapatok kivonulását követelte - országosan ismert politikussá vált.
...
XXXX. szeptember 6-án, a Liberális Internacionálé mainzi kongresszusán alelnökké, XXXX januárjában a szervezet végrehajtó bizottságának a tagjává választották. Irányítása alatt a XXXX egy radikális ifjúsági politikai mozgalomból nemzeti elkötelezettségű mérsékelt liberális középpárt lett.
...
Az XXXX áprilisában megalakult Új Atlanti Kezdeményezés (New Atlantic Initiative) magyar nemzeti bizottságának az elnöke.
---

Találós kérdés: vajon kiről van szó, honnan (és mikorról) származik a szöveg?

---
Na jó, aki itt olvassa, ne menjen tovább: Orbán Viktor 1996-os hivatalos parlamenti életrajzát dekoráltam.

Utólagos betoldás, és ez már tényleg röhej: az általam hivatkozott életrajz "apróbb módosításokkal" ma is elérhető a http://www.kormany.hu/hu/a-miniszterelnok/eletrajz címen.

Mi az eltérés? Hát, a "miniszterelnöki változatban" eltűnt a hivatkozás a Soros Alapítványra, amely őt a "Mezőgazdasági és Élelmezésügyi Minisztérium Vezetőképző Intézetének továbbképzéseket szervező szociológus gyakornoka" pozícióból kiemelte; továbbá az 1993-as Fidesz besorolása az eredeti "liberális középpárt" helyett a ma jobban csengő "polgári néppárt" lett.

Szánalmas...

2014. december 7., vasárnap

System layers

LinkedIn: Isolation Business layer from UI - Does it make sense?

This is a great question, but I have the completely opposite answer: I am a passionate Data/Business/UI separation believer, because it payed back in the long run.

All IT systems work with data items.
Some of these items are persistent, and stored externally to our system, in files, databases, etc. Others are also external, but changing: coming from a clock, sensors, ...
There are "worker" items in our system: database connectors, printing engines, GUI frameworks, etc. They have a complex, generic business logic, like managing SQL queries, etc; their "data content" is their configuration: location and access to the database server, the location and format of a data file.
We also have assistants, they help the user work with our components, like selecting the proper parameters for a process; they "stand behind" the more complex GUIs.
All items communicate with each other via messages which are temporal data items themselves.

Data layer is responsible for the interaction with those external data and event sources: from databases to home automation gadgets; its task is to reliably transform their information to our business data entities (Person, Door, Truck, etc.), manage the update transactions.

Business is the behavior of these items, this is where we implement the "knowledge" of our system. Key elements are the "plain data" items. They have no "activity", but they must ensure their consistency, and provide a status report (and not a single first error message or exception). You can put anything into these data items, but as long as they report any error, you can't use or save them. You can drop a featherweight GUI on each data item in this way: edit all fields and let the data item complain - or build a complex one, where you manage the underlying data elements' states and add your own messages.
Workflow is just another generic task: you can create a workflow engine that plays by its configuration. Or wrap one of the many existing engines.

If you do this, GUI gets relatively simple: you need a framework that connects the widgets of the current platform to the data objects, and let the user play with it. (It was one man-month for me in GWT, after I had the data framework.)

Complex for the first glimpse, but look at what you get:
 - the more you connect your logic to the actual GUI framework, the more pain it means when you have to change it (move to another platform or adapt to a new version);
 - you can use the complete system without the GUI, so instead of a complex GUI simulation engine, you can run tests or do mass processing tasks;
 - there is a simple way to log the user actions (a very pleasant feature in testing or bug hunting);
 - and the ultimate goal for me: transparent system structure! In the long run, all systems change like our bodies, the only question is how much work it takes to keep it in coherent state.

I have created such things in closed source environments, so unfortunately I can't show you actual codes, but I have to tell you: it rocks :-D
(Even though I could not find anyone "above" who could understand it, so I quit my job right now...)



I am not so keen on popular terminologies and technologies (seen too many already), I would rather like to understand what and why we (architects) do.

For example, we have a database.

Yes, we could do everything directly in SQL, typing commands, creating scripts, giving the user an SQL console - but we don't. We prefer using our own terms (like C++ or Java classes and objects), so we create a layer that wraps SQL communication and shows us our objects.

Yes, we could allow the users to do anything with these objects and instruct them how to play nice - but we don't. We add our knowledge to the objects so they can report on their states, and we can protect our system against incoherent states or illegal usage.

Yes, we could just drop these intelligent objects on the screen for the users to do something with them - but we don't. We assist users so they can learn working with these objects when they use the system, by showing them the next possible moves, and the steps they should do to set up a valid operation - and hide information and actions they have no rights to see or execute.

Dmytro, you asked if Navigation is business logic. My answer is: yes, definitely. But for me this does not mean moving the BL layer "up", to the GUI surface, but the opposite: the "assistant logic" should go down and share the same place as the lower business logic components like consistency checkers.

The UI should be feather-weight: only displaying information from the Data and the Control objects, reflecting to their changes. Data means displaying the selected printer, Control means the list of settings tab pages for that printer, the list of missing required parameters, or the actual pageID to display on the Next button, depending on the current data values.

When it comes to a remote desktop, message-based communication comes very handy again: it allows transparent proxy communication between the server and the client. In most cases, that is inevitable for platform or security reason: you can't have the same functionality in a web browser as in a "fat" client; you can't access the database server from a client machine directly; you can't access the administrative user account which is used to accomplish your requests on the database. It also allows you "batching": sending multiple requests to the server, or allows the server to send client information that it perhaps did not even asked.