Apr 01

Programmēšana ir problēmu risināšana. Programmēšanas valodas ir nesvarīgs sūds.

Programmēšanas valodas ir sūds. Programmēšanas valdoas ir gluži kā cilvēku valodas, tikai daudz, daudz vienkāršākas, jo to gramatikas likumiem praktiski nav izņēmumu. Tāpēc arī nopietniem programmatūras izstrādātājiem būtībā ir vienalga, kādā programmēšanas valodā darboties (personal preferences always apply, of course). Jo valodas ir sūds; ja tu proti programmēt, tu esi apguvis vismaz vienu no populārākajām, un ar to pietiek, lai katru nākamo apgūtu “pa ceļam”. (Starp citu, HTML tiešām nav programmēšanas valoda. Noķer mani dzīvē, ja gribi, lai pastāstu, kāpēc.) Jo progvalodas ir sūds un programmēšana ir problēmu risināšana.

Kā notiek programmēšana:

  1. Ņem problēmu/vajadzību. Kaut kas pietrūkst, kaut ko vajag, kaut kas nestrādā, kā vajadzētu utt.
  2. Ja tas ir kaut kas jau eksistējošs, puslīdz izproti, kā tas darbojas šobrīd.
  3. Izdomā, kā tam vajadzētu darboties.
  4. Ja rezultāts ir pārāk apjomīgs, lai to galvā varētu apstrādāt, sadali mazākās problēmās, ej atpakaļ uz 1. un sāc ar katru no tām individuāli (rekursija, bitches!).
  5. Izdomā veidu, kā tikt no 2. uz 3. ar pēc iespējas mazāk darba. Jā, tieši tā. Visi grib, lai darbs noritētu ātri, bet visātrāk var izdarīt tas, kuram ir jādara vismazāk. Gudri sliņķi vinnē.
  6. Uzraksti kodu, kas veic šo tikšanu no 2. uz 3.
  7. Pārbaudi rezultātu. Ja kaut kas nav, kā vajag, atpakaļ uz 1 (Yo dawg, I heard you like recursion…). Ja viss OK, tu esi vinnējis internetu, divus minetus (YMMV, protams) un vari ķerties pie nākamā uzdevuma.

Tieši šis pats process, starp citu, tiek izmantotas arī pašas programmēšanas apgūšanā (META RECURSION!!!). Kaut ko vajag, bet nezini, kā panākt — izpēti, kas ir, kā tas darbojas, un gan jau risinājums atradīsies.

Un vai pamanīji āķi? 7 punkti un tikai viens no tiem ir koda rakstīšana. Tas ir vienīgais, kur parādās progvaloda, un tāpēc progvaloda ir sūds. Īstā programmēšana ir šie 7 punkti, un programēšanas, “sāls” — tas, kas atšķir “parastos programmētājus” no “programmatūras arhitektiem”, kas liek reāli iesvīst un piepūlēt smadzenes, ir punktos 2, 3 un 5 (un nevis 6, maķtvaju!). Un tā ir neatkarīga no valodas, tehnoloģijām, metodoloģijām, projektu vadītājiem un klientiem. Jo tā ir tā pati vecā, labā problēmu risināšana, ar ko cilvēki nodarbojas jau kopš dienas, kad iegādājās to smadzeņu daļu, kas atbild par to mikroskopisko veselā saprāta apjomu, ar kuru pietika, lai mēs kļūdu par dominējošo sugu mums zināmajā visumā (sentence chaining FTW).

Un tāpēc es nevaru ņemt nopietni nevienu programmētāju, kurš uzskata, ka programmēšana nav jāmāca jau no bērna kājas. Sintaksi? Jā, C++ nevajag, nepacels. Bet arī šī ir programmēšana (reāla programmēšanas valoda, BTW, apskaties http://scratch.mit.edu/):

scratch_demo

(vai es jau pieminēju, ka progvalodas ir sūds?)

Programmēšanu ir jāmāca un jāmācās, neatkarīgi no tā, vai cilvēks jebkad kļūs programmētājs. Jo vienalga, par ko viņš kļūs, problēmas būs un būs jārisina. Programmēšana māca izprast situāciju un pielāgot(ies) pēc vajadzības un iespējām — also known as “izdzīvot un attīstīties”.

May 15

Pirātisma aktuālākā problēma

Šodien uzrakstīju tviterī “Kamēr apkarotāji nesapratīs, ka pirātisms pirmkārt ir ērtība un tikai otrkārt ekonomija, kompromisa un plānotas samazināšanas nebūs.”. Prasījās mazliet papildināt. Man ar savu programmētāja un vispār tehniska cilvēka background patīk atrast aktuālāko/traucējošāko problēmu un koncentrēties uz to. Un, manuprāt, ir šitā:

Autortiesību sargi uz situāciju skatās tikai un vienīgi caur naudas prizmu (šeit varētu garu rindkopu par to, kā autortiesību primārais mērķis tomēr ir (bija?) sargāt autoru no viņa darba piesavināšanās, nevis garantēt viņam peļņu, bet let’s not go there right now). Katrs download tiek vienādots ar zaudētu naudu jaunas, veikalā nopērkamas kopijas cenas apjomā, par pirātisma radītajiem zaudējumiem runā tikai un vienīgi naudas izteiksmēs, un — šī ir problēmas saknes sakne — par vienīgo/galveno pirātu motivāciju uzskata autora darba iegūšanu par velti.

Un tas ir vienkārši, viennozīmīgi un pierādāmi nepareizi (lai neteiktu, ka arī stulbi). Pieaugušiem, strādājošiem, mājas, mašīnas un ģimenes uzturošiem cilvēkiem (ceru, ka man nav plaši jāskaidro, kāpēc un cik bezjēdzīgas pret-pirātisma kampaņas ir bērnu un jauniešu vidū) ir nauda, toties nav laika un bieži vien arī nervu/enerģijas. Pieaudzis cilvēks, kurš laiskā pēc-piektdienas-ballītes sestdienas priekšpusdienā pēkšņi izdomā noskatīties kādu filmu, necelsies triekties uz kino vai pilsētas centru meklēt DVD ierakstu. Un ne jau tāpēc, ka nevarētu atļauties tos 3-5 Ls, bet gan tāpēc, ka celties, ģērbties un kaut kur doties ir darbs, truklāt tā darīšana atliek filmas skatīšanos uz nenoteiktu laiku. Un runa ir par vidējo cilvēku, kurš ir tikko pabeidzis 40 stundu darba nedēļu. Arī ieslēgt datoru un saspaidīt .torrent saites ir darbs, bet vai gan tas vispār ir jāsaka, cik nesalīdzināmi vieglāks un vienkāršāks?

Un tur arī visa sāls. ASV pieejamie Netflix (tiešsaistes filmu īre, kur tu maksā ikmēneša maksu un sakties, ko un kad gribi), iTunes (tiešsaistes mūzikas iegāde, kur tu piereģistrē savu kredītkarti un pēc tam viss, kas ir starp tevi un dziesmu ir viena “buy” poga) un Steam/GoG (tiešsaistes videospēļu iegādes servisi, kuros gandrīz nepārtraukti notiek dažādas atlaižu akcijas, reizēm pat līdz 70%-80%) servisi vieni paši ir izdarījuši vairāk pirātisma apkarošanā, nekā visas SOPAs, PIPAs, ACTAs un daudzbērnu māmiņu, vecu pensionāru un rūdīto smagsvara recidīvistu — torrentu weblapu saimnieku — tiesā sūdzēšanas kopā.

Tas, protams, nenozīmē, ka cenai nav nozīmes, bet šie servisi ir sapratuši pieaugušo, maksājošo cilvēku ilgtermiņa prioritātes — vispirms ērtība (materiāla pieejamība gandrīz jebkurā vietā un laikā, maksimāli vienkārša materiāla iegāde), un tikai tad cena. Diemžēl no lielākās daļas “teju izputināto” mākslinieku pārstāvju joprojām ir dzirdama viņu pašu atzīšanās (dažreiz pat tieši šādā tekstā) situācijas neizpratnē — “We cannot compete with free!”. Varat gan, tikai jāsāk ar konkurenci ērtībās un pievienotajā vērtībā. Cena nevar pabraukt zem 0, toties pakalpojums vienmēr var būt labāks, nekā konkurenta. Un tad arī cilvēki būs ar mieru maksāt.

Mar 27

Kuru interesē, cik viņi sver?

Viena neizpratnes laiviņa, kas nu nekādi nav aizstūmusies līdz jēdzīga izskaidrojuma krastam: kādā rakā praktiski vienmēr, paziņojot par bērna piedzimšanu, tiek pieminēts viņa svars un augums (jo īpaši, ja tas notiek rakstiski)? OK, varbūt piedzimst kāds zilonēns vai ezītis, tad var visi pašausmināties par, attiecīgi, 5 vai 0.5 kilogramiem vai 50/5 centimetriem, fine. Bet nu nav taču. Tāpat 90%+ ir vidējās normas robežās. Nu tad nafig? Kurš vēl bez tuvākajiem radiniekiem (un tās vienas tantes — laimīgi tie, kas nezina, par ko runa) to vispār atcerēsies ilgāk par 10 minūtēm? Nav jau tā, ka tur būtu kas slikts, vienkārši bezbožna neizprotami, kāpēc tik absolūti nesvarīgas (ja ir normas robežās) detaļas ir kļuvušas par ģimenes pieauguma paziņojumu neatņemamu sastāvdaļu.

Feb 01

Dažreiz slimnieki ir jāpamet

Interenetu nesen pāršalca stāsts: meitene uzzināja, ka viņas puisim ir vēzis, un no viņa izšķīrās, taču joprojām gribēja saņemt ļoti dārgo ($8000) Super Bowl pasākuma biļeti, kas bija viņai tika iegādāta pirms šķiršanās. Vēlāk gan parādījās informācija, ka puisis varētu būt stāstu ja ne pilnībā, tad daļēji safabricējis, bet ne par to šoreiz runa. Šis nav ne tuvu pirmas šāds stāsts, tāpēc tālāk mazliet vispārīgas filosofijas.

Reakcija paredzama — cilvēki nosoda, lamā, pārmet. Nepārsteidzoši, protams, bet tāpat kaitinoši, jo ilustrē aprobežotību, tuvredzību (lai neteiktu, ka vienkārši stulbumu), un no tās izrietošo agresiju un negativitāti. Negribas jau otrajā rindkopā ķerties uzreiz pie klišejām, bet jautājums rodas pats no sevis — cik no pārmetumu metējiem ir kaut mazākā nojausma, ko tas nozīmē — būt kopā ar vēža slimnieku? Nezinot visus lietas apstākļus, pametēju tikpat labi varētu slavēt — daudziem citiem cilvēkiem nepietiktu drosmes aiziet laicīgi, pat zinot, ka ilgi nespēs izturēt (un liela daļa par to pat neiedomājas). Labāk pieņemt lēmumu un aiziet uzreiz, nekā sagaidīt brīdi, kad to nāksies darīt piespiedu kārtā, salūztot zem situācijas svara. Pamest otru grūtas cīņas vidū ir daudz nekrietnāk un bīstamāk, nekā pirms tās.

Nav jau nekas nosodāms vai nesaprotams, ka mēs katrs gribētu dzīvot pasaulē, kur mūsu tuvie cilvēki ir neiedragājamas klintis, pie kurām vienmēr meklēt atbalstu grūtā brīdī. Bet arī citi cilvēki ir tikai cilvēki, un katram ir savi emocionālās stabilitātes, empātijas un grūtību izturības sliekšņi un pakāpes, ko ietekmē ļoti daudzi apstākļi. Par pašu slimnieku vēl var saprast — cilvēks, kuram tajā brīdī ir nopietnas problēmas un emocionāli pārdzīvojumi var arī nebūt spējīgs iejusties otra ādā, bet nevienam citam nav ne mazāko tiesību nosodīt, nezinot neko vairāk kā “uzzināja par slimību un pameta”.

Diemžēl — kā jau parasti — daudz vieglāk ir radīt prātā binārus labā un ļaunā tēlus, lai bez veselā saprāta piepūlēšanas un iespringšanas par tādām trivialitātēm kā “situācijas noskaidrošana” varētu ar putām uz lūpām, paštaisnu emociju uzplūdā slavēt vienu un zākāt otru. Tā ir tāda jauka, mierinoši vienkāršas pasaules fantāzija, kurā cilvēks, kurš pamet slimnieku, automātiski ir plānas ūsas virpinošs, cietsirdīgi smejošs ļaundaris, kuru var un vajag pārmācīt. Un nevis, piemēram, grūtībām nesagatvots jaunietis, kuram jau tā sirds lūzt un pasaule brūk, saprotot, ka nespēja panest pēkšņi uzkrauto nastu nozīmē neizbēgamas attiecību beigas un mīļotā cilvēka zaudēšanu.

P.S. Paņemot nost vēža aspektu — strīds par biļetēm ir parasts šķiršanās mantu sadales kašķis, kurš pat īsti nav pieminēšanas vērts.