Manifesto for software craftsmanship gatherings&ndash – 3G

TL;DR:

Am primit pe email o “invitatie” la Manifesto for software craftsmanship gatherings . E din categoria 3G : grozavie groaznica gresita .  Pare sa inceapa bine – dar o ia pe aratura imediat.

Pe larg:

Mozaic Works are un blog post despre “Manifesto For Software Craftsmanship Gatherings” .

E vorba despre “meetups, communities, conferences, unconferences” IT. Sa vedem care sunt punctele principale:“We believe software craftsmanship gatherings create the most value to their attendees when they feature:”

1 . “Practical, concrete discussions on code over generic talks Speakers should write or show code”

Aproape de acord. Programarea nu e doar practica sau doar teorie – e cite un pic din amindoua. Da , trebuie sa fie cod . Dar trebuie sa fie si o parte teoretica ( de exemplu , pe mobile trebuie sa intelegi evenimentele din viata aplicatiei inainte sa scrii cod)

2. “Solutions applicable in any language over vendor-specific tool marketing
Discussions should feature techniques usable in more technologies”

Mda si mnu. E adevarat ca design patterns sunt bune  – dar in OOP. In programarea functionala unde se aplica SOLID ?  Si poate revenim doar la Java versus .NET. In .NET avem cod de Lambda functions . In Java (inca) nu.

Dar poate vorbesc de baze de date . Sa ne gindim la implementari de Sql ( oracle, sqlserver, mysql, postgres ) si de diferente intre abordari ?Ati scrie cod la fel? Programarea in AzureTables este la fel cu cea de la Mongo? Dar RavenDB  versus SqlServer ?

Daca te marginesti la cel mai mic numitor comun intre limbaje (exemplu: if ) , atunci da, aproape toate limbajele sunt la fel. Daca treci peste astea, atunci incepi sa dai de diferente – il las pe Andrei Rinea sa faca diferente intre java si .NET “http://blog.andrei.rinea.ro/category/java/

Agnosticismul asta te face sa uiti ca programatorii nu sunt interoperabili . Limbajul in care programezi te face sa iei anumite decizii.

Mai mult, chiar in programarea pe Windows – Phone, Web, Desktop-  in acelasi framework( .NET) tot nu reusesti sa scrii la fel codul . D’apoi daca vorbesc de iOS,Android si Phone – la care implementarile sunt diferite.

3.”Exchange of ideas in an open environment over passive listening
Opportunities should abound to meet and learn with fellow developers around the world working in various environments”

Titlu si descrierea sunt din categoria  “Wishful thinking” .

Titlul : da , schimbul de opinii e super ok. Dar asta o fac oamenii – sau nu o fac. E alegerea lor. Nu o sa ii schimbi cu un manifest. Da, ii apreciezi pe cei care iti dau feedback.

Descrierea:

Eu tin un .NET user group din Bucuresti, cu intilniri lunare .Ar trebui , conform manifestului , ca la conferinta sa vina dezvoltatori din toata lumea ( da ,am avut pe un MVP din Estonia )  care lucreaza in RoR. Oare de ce nu or fi venit inca la prezentarile acestea ?

Am niste cerinte de programator pentru a intelege punctul 3:

  • Va rog sa enumerati tarile “around the world”  – si in cit timp trebuie sa vina programatorii din aceste tari.
  • Va rog sa enumerati ce intelegeti prin  “ various environments”. Daca vine cineva de la http://www.r-project.org/  credeti ca ar intelege o conferinta avansata de prgoramare Windows Phone? Dar invers ?
  • In ce fel v-ati gindit ca ar putea fi realizat acest ”Opportunities should abound ” ? Faceti intelegeri private cu companiile de avioane ca sa ii transporte gratis la conferinte? Daca e asa, vreau si eu gratis la citeva conferinte din America…

4. “Learning by practicing with peers over hearing and forgetting
Practice should be encouraged with formats such as hands-on workshops, open space, code with a stranger or pair programming”

Sa incepem cu cea mai evidenta greseala , cea de logistica .

“Open space” – hmmm.Din definitiile de pe wikipedia , probabil ca se refera la asta: http://en.wikipedia.org/wiki/Open-space_technology . Sa vedem: “The approach is most distinctive for its initial lack of an agenda, which sets the stage for the meeting’s participants to create the agenda for themselves, in the first 30–90 minutes of the meeting or event.” . Si daca eu fac un event in care agenda exista de la inceput ( ca la cel de pe 11 martie ), inseamna ca nu e bun?! Si nu mai pomenesc “participant chairs arranged in a circle;” – cum rezolvati punctul unu, la care speaker-ul prezinta cod si trebuie ca ceilalti sa vada ce scrie ? Cite ecrane puneti si cum, astfel incit cei asezati in cerc sa vada?

Iar celelalte cerinte sunt mai draconice “hands-on workshops, […], code with a stranger or pair programming “ . Asta inseamna ca fiecare sa vina cu laptopul sau sa avem suficiente calculatoare echipate cu TOT ce le trebuie pentru fiecare om( de exemplu, mie sa imi dea Visual Studio – nu as fi la fel de productiv in Eclipse /Java – si ar intirzia dezvoltarea codului ) . Pentru “meetups, communities, conferences, unconferencesIT e destul de dificila conditia.

Rezumat:

Un manifest prost scris si fara aplicatie practica.

PS: Da, stiu diferenta intre “should” si “must”.

    • Daca cei de la http://agilemanifesto.org/ ar fi scris cu should, n-ar mai fi ramas nimic …
    • Daca toate sunt cu “should”, inseamna ca pot sa nu fie respectate, corect?
    • Cele cu “should” sunt implementarea. Ar trebui sa fie cu “must” …

PPS: Da , o sa fac hands-on workshop la Global Windows Azure Boot Camp 2014 Bucuresti.  Dar acolo se specifica clar “prerequisites”.

PPPS: O sa ma gindesc la un manifesto in care sa descriu ce am facut la conferintele de programatori(.NET in majoritate , dar am avut si Android / PHP / altele) . Va rog sa ma ajutati !

Posted in conferinte altii | Leave a comment

Intilnire programatori 4 – rezumat si fisiere

Sper ca v-a placut la fel de mult precum mi-a placut si mie.

Prezentarea Mihaelei o gasiti aici:  How an HR looks at the CV

Prezentarea si codul sursa al lui Bogdan o gasiti pe blogul lui, http://aboutsql.net/ ,  la  adresa http://sahlean.wordpress.com/2014/04/08/sql-server-sarg-able-predicates-and-scan/

Ca de obicei, dupa intilnire am iesit la un bar ( acum a fost Hard Rock).

Va astept la urmatoarea intilnire, unde sper ca voi avea un subiect despre costurile Azure.

Posted in intilniri, programare | Leave a comment

Intilnirea programatorilor 4

Marti , 8 aprilie 2014 , ora 19:00, va fi a patra intilnire pe anul 2014.

Locul de intrunire va fi la Ubisoft Romania( vezi detalii mai jos) .

Din agendă:

Mihaela Vulpe, HR Manager la Ubisoft Romania

Titlu : La ce / cum se uita un HR cind primeste un CV

Durata estimata : 30 min..1h

Bogdan Sahlean, http://www.aboutsql.net/

Titlu : SQL Server: condiții SARG-able și Scan

Scurta descriere :

Dacă condițiile de filtrare a datelor sunt SARG-able și există indecși atunci SQL Server generează un plan de execuție care (pentru accesul la date) include un operator Seek.

Totusi, pot exista situații în care planul de execuție generat să includă un operator Scan.

Vor fi prezentate exemple însoțite de o descriere a cauzelor (conversii între tipurile de date, colaționări, selectivitate, hint-uri, setări) și soluții a.î. planul de execuție să conțină Seek.

Durata estimata : 1h..1h30min

Data: 8 aprilie 2014 , ora 19:00

Locaţie: sediul Ubisoft Romania, din Bulevardul Expozitiei, nr 2, sector 1, sala de relaxare

Harta:  http://goo.gl/maps/tY3dh

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun:

- Metrou, Statia 1 Mai

- Piata Presei Libere  , apoi iei 105 doar 2 statii  – sau mergi pe jos pe Bdul Expozitiei.

Daca vreti sa mai invitati pe cineva , puteti face forward la acest email sau aveti evenimentul pe facebook : https://www.facebook.com/events/666454893419654

Pentru informatii suplimentare, telefonul meu este 0728.2000.34.

Multumesc,

Posted in intilniri | 1 Comment

MVP C#

Am fost re-confirmat ca MVP pe Romania pe C#.

Lista celorlalti este la Zoli, http://zoli.herczeg.ro/2014/04/01/avem-un-mvp-nou-ciprian-rusen/ , iar lista totala la Ovidiu Cucu, http://codexpert.ro/forum/viewtopic.php?f=6&t=23

Ce mai pot zice este ca sunt bucuros de asta( unii stiu si de ce Winking smile )

https://mvp.support.microsoft.com/profile/Andrei.Ignat

 

Posted in MVP | 4 Comments

Prezentare GWAB

Anul trecut am aratat cum poti citi cu EF 5 Code first date din SqlServer, Azure, SqlCompact( http://serviciipeweb.ro/iafblog/2013/05/06/global-windows-azure-bootcamp-si-ronua/ )

Anul acesta am prezentat la GWAB un proiect de EF6, SqlServer, CQRS, Azure, WebApi . Am modificat (Create, Update, Delete   ) date in SqlServer ( EF6 + async ) . Am citit ACELEASI date (versionate !) in Azure Tables( Read) . Transferul l-am facut prin WebAPI. Filozofia este CQRS http://martinfowler.com/bliki/CQRS.html  iar o posibila performanta este aici http://www.troyhunt.com/2013/12/working-with-154-million-records-on.html . Am avut , in consecinta , si logul schimbarilor….

Puteti downloada prezentarea de aici : http://1drv.ms/1kf22oA 

PS: Daca vreti si codul sursa, aveti emailul meu sus in dreapta.

Posted in .NET, cqrs, EF, prezentare, WebAPI | Leave a comment

Simbata 29 martie 2014–Azure x 2

In aceasta simbata vor fi doua evenimente Azure in Bucuresti – unul partial si unul total.

Cel partial va fi organizat ITSpark și CodeCamp organizează un eveniment pentru administratorii de sistem și dezvoltatori – https://www.eventbrite.com/e/itspark-codecamp-community-event-tickets-11042114261.

Cel total face parte din  GAWB, global.windowsazurebootcamp  , si se organizeaza si la Cluj, Timisoara, Oradea – http://global.windowsazurebootcamp.com/locations/ 

Deosebirea intre cele doua este ca la primul ascultati ce este nou – la al doilea va trebui sa munciti ca sa faceti un proiect Azure.

Eu va sfatuiesc sa veniti la cel organizat de mine si Ciprian Jichici – http://www.eventbrite.com/e/global-windows-azure-boot-camp-2014-bucuresti-registration-10758357537

Posted in evenimente | Leave a comment

Infovalutar–partea 1

Nu m-am mai ocupat de mult timp de infovalutar.ro . Prima versiune a fost in webforms, a doua in MVC 1.  A evoluat mai incet decit mine Winking smile

Am decis sa il fac din nou, pentru MVC5 .

Patru lucruri am  de rezolvat : descrierea aplicatia, baza de date , backwards compatibility si ce vreau sa fac.

 

1. Ce face aplicatia:

listeaza cursurile BNR + BCE si le exporta intr-o forma usor de citit de catre programatori( asta mai cu seama ca e facut inainte ca BRN sa dea cursurile in format XML )  + grafice

poate fi folosit din Excel, PHP, etc…

lista cursurile medii anuale * lunare

incerca sa afle prin timeseries valorile urmatoare

utilizatorul inregistrat poate seta alerte pentru un anumit curs

incerca sa listeze si cursurile de la banci

incerca sa listeze si cursurile de la casele de schimb valutar

Vroia sa dea si licitatiile de la banci ( scos in versiunea urmatoare – nu e in scop)

Afisa locatiile sucursalelor bancilor

 

 

2. Baza de date:

Groaznica. cv_datasNumbered sunt ca sa aflu cursul din ziua anterioara… Probabil primele tabele o sa le pastrez ……image

 

3. Backwards compatibily

E totul descris la adresa http://infovalutar.ro/programatori .

4. Ce vreau sa fac:

WebApi 

Versiunea pentru MVC5 ( bootstrap, responsive, etc) bazata pe WebAPI

Mobile: Windows Phone , Android, iOS ( Xamarin)

Desktop : windows 8 , 7

backwards compatibility

Crowdsourcing – daca reusesc sa ii conving pe oameni sa introduca ratele de cite ori schimba bani

Export to CSV , Excel, Word ,PDF ,etc.

Grafice.

Cursuri de la mai multe banci, nu doar BNR / BCE

 

M-am gindit sa il fac opensource . Avantaje pentru cei care participa:

1. Pagina de contribuitori

2. Adaugat la CV

3. Va puteti juca cu orice tehnologie vreti

Daca  vreti sa participati, am pus deja cursurile la adresa https://infovalutar.codeplex.com/ . Si puteti participa la proiect, il puteti downloada, puteti face sugestii . Va astept pe https://infovalutar.codeplex.com/- proiectul este sub MIT – puteti face oricind orice  cu el.

Posted in infovalutar, programare, proiecte | 4 Comments

Intilnire programatori – Marti , 11 martie 2014 , ora 19:00

Marti , 11 martie 2014 , ora 19:00, va fi a treia intilnire pe anul 2014.

Locul de intrunire va fi la Ubisoft Romania( vezi detalii mai jos) .

Din agendă:

Andrei Nicoara, Personal Advisor of State Secretary Radu Puchiu , http://data.gov.ro/ ,

Titlu : Date deschise

Scurta descriere :

Istoric/cadrul din ro.

Licență/drepturi de utilizare.

Aspecte tehnice platforma: prezente, viitoare și internaționale

Durata estimata : 30 min..1h

Andrei Rinea , http://blog.andrei.rinea.ro/

Titlu : Windows Phone development

Scurta descriere :

Andrei Rinea a tinut un curs la Brasov de Windows Phone. Acum va prezenta principalele puncte pentru dezvoltarea in WindowsPhone.

Durata estimata : 2h..2h30min

Data: 11 martie 2014 , ora 19:00

Locaţie: sediul Ubisoft Romania, din Bulevardul Expozitiei, nr 2, sector 1, sala de relaxare

Harta:  http://goo.gl/maps/tY3dh

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun:

- Metrou, Statia 1 Mai

- Piata Presei Libere  , apoi iei 105 doar 2 statii  – sau mergi pe jos pe Bdul Expozitiei.

Daca vreti sa mai invitati pe cineva , puteti face forward la acest email sau aveti evenimentul pe facebook : https://www.facebook.com/events/222141274654956/

Pentru informatii suplimentare, telefonul meu este 0728.2000.34.

Multumesc,

Andrei Ignat

Posted in intilniri | Leave a comment

Evenimente IT martie Bucuresti

11 Martie 2014 : Intilnire programatori, ora 19:00, Ubisoft . Andrei Rinea cu Windows Phone . Si ( sper eu) inca un invitat surpriza. Anuntul pe acest blog.

13-14 Martie 2014 : Techfest – Training Stage, București 13 și 14 martie ( mai mult pentru studenti). https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032579597&Culture=RO-RO&community=0

29 Martie 2014 : Global Windows Azure Boot Camp 2014 Bucuresti  https://www.eventbrite.com/e/global-windows-azure-boot-camp-2014-bucuresti-registration-10758357537#

Posted in intilniri | 2 Comments

Date Deschise

 

Am participat la hackhatonul de programare de la Fundatia Soros cu Datele de la http://data.gov.ro/dataset/firme-inregistrate-la-registrul-comertului-pana-la-data-de-03-februarie-2014 

Ce parere aveti daca le parsam si le dam REST inapoi ? Dar am nevoie de toti care vor sa se bage la asa ceva. Sunt doar 103 fisiere. Trebuiesc parsate, bagate intr-o BD si gata. Dupa care se pot face corelatii ( numar de firme pe un judet versus numar de paturi in spitale versus populatie versus…)

 

Si inca ceva: Daca cineva stie sa faca harta romaniei si sa bage in centroizii judetelor in mod programatic date ( de exemplu, sa coloreze harta sau sa buna un bar de o dimensiune data ) – va rog sa ma contactati. Am nevoie.

 

Revin: Ce parere aveti daca parsam toate fisierele de la http://data.gov.ro/dataset si le bagam intr-o BD si le oferim acces REST ( WCF, RSS, etc) la toti programatorii?

Posted in programare, proiecte | 2 Comments