Šta će doneti novi MacBook Pro?

Kada su izašli Unibody MacBookovi bili smo prvi koji su ih dobili kroz zvanične distributere. To veče smo bili u BG, pa smo u povratku svratili do kancelarije distributera da pokupimo računare, umesto da čekamo dostavu za 2, 3 dana. Čak ih ni devojka koja radi komercijalu i koja nas je dočekala nije pre videla otpakovane.

Đavo nam nije dao mira, pa smo ih otpakovali, da vidimo šta su to Steva i ekipa novo skuvali. I tako, stavimo lepo laptop na sto, kad će dovojka iz komercijale: "Mogu da ga pipnem?" I bi joj dozvoljeno da ga pipne :)

To je bilo pre 3+ godine i potpuno je očigledno da nas uskoro čeka refresh. Evo je lista stvari koja mislim da će se desiti novim MacBook Pro mašinama*:

  1. Optički drive leti. Mehanički je (vidi #2) i diktira debljinu uređaja. Apple će se sa takvim zadovoljstvom otarasiti optike već do kraja godine. Onaj kome treba optika može da kupi i prikači eksternu jedinicu, a Apple je već odavno ima u ponudi (od lansiranja Aira).
  2. Kako godine prolaze, u računarima je sve manje mehaničkih uređaja koje zamenjuju elektronski. Ventiralitori su nužno zlo još uvek, ali već danas se možemo otarasiti optičih uređaja (ničim, jer se retko koriste) i hard diskova (solid state uređajima).
  3. Solid state all the way (256GB+). Ako vam treba veliko skladište, prikačite eksterni disk.
  4. Duži vek baterije. Kada izbaci optiku i hard, Apple će imati više mesta da smesti veće baterije i lepše reši hlađenje novih procesora.
  5. Thunderbold all the way. Moj iMac ima dva Thunderbolt priključka, tako da će i MacBook Pro imati dva priključka.
  6. Ethernet leti. Prključak sam po sebi diktira debiljinu uređaja, a sada se mogu napraviti spoljne Ethernt kartice koje se na komp kače preko Thunderbolta.
  7. Šta još možemo da izbacimo? FireWire i PCMCIA? FireWire možda bude zamenjen manjim priključkom, ali PCMCIA kao oblik proširivanja više nije potreban zato što je tu Thunderbolt.
  8. Ratina display, možda ne u prvoj iteraciji novih MacBook Pro računara, ali definitivno vrlo skoro. Lion 10.7.3 je spreman za monitore male inčaže, a visoke rezolucije tako da je samo pitanje vremena kada će isti biti ugrađivani u MBP liniju proizvoda.

Smer razvoja je jasan: tanje, lakše, duže trajanje baterije, kvalitetnija slika. Procesori i memorije me baš i ne zanimaju - ionako se smenjuju mnogo češće nego form factor samog računara.

* Nisam hardveraš niti pratim koji novi procesori, grafičke i tipovi memorije izlaze. Ukratko: čipovi me ne zanimaju. Ono što me zanima je forma računara (jer je to bitno kupcima) i kako se pojedinačne tehnologije uklapaju u poslovnu strategiju i ponudu proizvođača. Apple je relativno lako pratiti, pošto i posle 15 godina ima istu ponudu modela. Voleo bih da i PC proizvođači umeju da budu toliko disciplinovani i fokusirani.

Four

Stop teaching information

Robert Cringely, What would Sharon Do?:

School is bunk so stop teaching information and instead teach skills and how to learn. … We teach stuff (information) because it is easy to test, not because it is more useful to know.

Nešto u skladu sa idejom (tuđom, ja je samo prisvojio do određene mere) o kojoj sam već pričao: hoćete programere? Prvo ih naučite da programiraju, pa ih onda davite matematikama i ostalim glupostima. Dubina će kasnije doći iz interesovanja, u skladu sa istima, ali ako nastavite da davite sa matematikama i fizikama i sociologijama, ogroman broj studenata neće ni doći do onoga što ih stvarno interesuje i zbog čega su tu.

Univerziteti treba da budu u službi studenata, ne instrument za upošljenje profesora i ljudi koji nisu za industriju.

Servisiranje Apple računara u Srbiji

Jednostavno, blagi užas, posebno ako ste kućni korisnik.

Mi kada imamo problema sa nekim računarom (jako retko, na svu sreću), poručujemo novi kako zaposleni ne bi bio u praznom hodu, a stari kad se popravi, popravi. Svi računari se bekapuju na Time Capsule, pa se restore profila reši za sat vremena. U tom momentu nam više nije bitno koliko će stari komp biti na servisu. Kada ga dobijemo nazad, stoji kao rezervna mašina (za slučaj da se neki od novih računara pokvari) ili dok ne zaposlimo nekog novog kome taj računar može raditi posao.

I tako to ide već 4 godine...

PS: Mašine uzimamo u Srbiji i ne koristimo Apple Care. Možda bismo trebali… Ipak sve računare koristimo za rad minimum tri godine...

Applecare protection plan

User Interface Win: Novi Air Port Utility

Ja i mreže smo dva pojma. Nikada me nisu interesovale, a pošto je Goran to preuzeo na sebe još od dana kada smo otpadali u Medija centru na Fakultetu tehničkih nauka, nisam imao ni potrebu da se sa njima bakćem (fala Godžo!)

Pošto je umreženost sastavni deo onoga što radim i načina na koji živim, silom prilika sam video niz kojekakvih panela za konfiguraciju mreže. Kroz firmu, stan i Kopaonik se izmenjalo dosta rutera u zadnjih 5, 6 godina i gotovo svi paneli za njihovo konfigurisanje su blagi užas: web aplikacije koje koriste IFRAME-ove, nisu upoznate sa JavaScriptom i mogućnošću asinhronog osvežavanja podataka itd. Bilo je tu i skupljih i jeftinijih rutera, ali su svi imali slično rešene panele za administraciju.

Krajem 2007. smo uzeli prvi AirPort Extreme za kancelariju i od tada smo gotovo isključivo na Apple mrežnoj opremi. Panel za upravljanje ovim uređajima je nativna aplikacija koja dolazi uz Mac OS i osvežava se kroz Software Update servis koji Apple pruža.

Najnovije osveženje AirPort Utility softvera (v6.0) moju trenutnu konekciju prikazuje ovako:

Airport utility

Iskusnom administratoru će se ovo verovatno učiniti kao čist eye candy, ali ljudima koji imaju kućne mreže ili vlasnicima malih firma, svaki korak ka pojednostavljenju rada i administracije mreža je i više nego dobrodošao. U vreme kada se proizvođači utrkuju ko će napraviti što komplikovaniji interfejs sa što više kriptično imenovanih opcija, pomak u ovom smeru je i više nego dobro došao.

Građani Vojvodine zapošljavaju doktore nauka

Kurir, via Infostud:

Posao za stručnjake

Vlada Vojvodine raspisala je konkurs i pozvala sve nezaposlene doktore nauka da se jave kako bi dobili posao na nekom od fakulteta i naučnih instituta u pokrajini.

Šta sam propustio? Od kada postoji znak jednakosti između "doktor nauka" i "stručnjak"? I da li je uopšte svaki "stručnjak" zaposliv? Na slobodnom tržištu odlučuje potražnja, ne diploma, ma kakva bila.

U osnovi, inicijativu podržavam pod uslovom da iza nje stoji neko "meso" i da nije prazna predizborna priča (podmazana parama građana). Ako trećina uradi nešto korisno sa stečenim znanjem (maksimalan respekt za upornost i disciplinu da se do jedne takve diplome dođe), ceo projekat će se isplatiti. Samo da ne ostanu predugo na državnoj sisi uz opravdanje: "Pobogu, pa oni su doktori nauka!" Neka tržište odluči da li je neko potreban ili ne, ne Vlada Vojvodine.

iA Writer

Ukoliko koristite Mac i dosta pišete, iA Wirter je verovatno najbolje uloženih $9 koje ćete potrošiti ove godine. Po cenu jedne kole od 0.5l na benzionskoj pumpi, dobije se editor koji je pravo uživanje koristiti:

Ia writer

Aplikacija je toliko upeglana, da me vuče da pišem samo kako bih je koristio. Ono što vredi svaki cent (i mnogo više) je pomoć da se održi pažnja na samom tekstu dok se radi. iA Writer to postiže tako što pređe u Full Screen i sa ekrana skloni sve moguće distrakcije. Korak dalje u tom smeru je i Focus Mode (uključuje se sa Cmd + D) koji naglašena samo rečenica koju trenutno pišete.

Najtoplija preporuka.

Navučen na activeCollab 3

Predugo radimo na verziji 3 (više od dve godine). U svom tom razvoju, jedan od ključnih majlstona je bio momenat kada ćemo mi početi da koristimo verziju 3 za naše interne potrebe. To se desilo jesenas, kada se dosta kockica složilo, a mi napisali upotrebljivu upgrade skriptu da postojeće podatke i projekte prebaci sa starog na novi sistem.

Od tada nam activeCollab 3 polako, ali sigurno pomaže da transformišemo način na koji radimo. Da ne dođe do zabune, ovim ne želim reći da je activeCollab 3 instant project menadžement alat, gde samo kupite licencu, dadate toplu vodu i svi vaši problemi su rešeni. Naprotiv, promene ne dolaze od alata, već od ljudi, a alati tu samo pomažu (softverski alati, metodologije, treninzi itd).

Primer jednog od takvih alata: podesiv home screen.

Sprint

Home screen sa informacijama o tome šta se trenutno dešava imamo u sistemu od samog početka, ali smo mogućnost podešavanja šta prikazuje dodali tek sad, u verziji 3. Za razliku od većine podesivih naslovnih strana (česta imena: home screen, home page, dashboard), gde imate jednu stranicu na koju možete staviti widgete, activeCollab 3 ih može imati više, u vidu tabova.

Moj screen trenutno ima dva taba:

  1. Sprint tab mi pokazuje moje zadatke u trenutnom sprintu (grupisane po tipu), sve zadatke u trenutnom sprintu grupisane po tome ko ih radi, kao i zaostale zadatke iz prethodnog sprinta. Iza ovih listinga stoji redizajnirani i značno moćniji filter zaduženja, a labele omogućavaju da vidim tip i status zadatka (ovi zamrčeni su BLOCKER i REOPENED zadaci, plavi su FIXED, a narandžasti CONFIRMED).
  2. Happening tab mi prikazuje "aktuelnosti" - listu aktivnost na projektima na kojima učestvujem, ko je online, diskusije koje sam pokrenuo ili na koje sam komentarisao itd.

Kako vreme bude prolazilo i meni budu trebali novi "pogledi" na zadatke, kao i na opšte stanje stvari, neću biti ograničen jednim ekranom i jednim setom widgeta. Umesto toga, uvek ću moći da ih dodam kao nove tabove, ili kao elemente postojećih, a ako nešto ne postoji u sistemu, pisanje novih widgeta se svodi na pisanje i smeštanje odgovarajuće PHP klase u odgovarajući folder.

Jedna mala stvar, iza koje stoji nedelju dana posla, koja će hiljadama ljudi omogućiti da lakše dođu do informacija koje im trebaju, znaju šta je sledeći korak i brže ga završe.

JavaScript FTW!

JavaScript je divan jezik na koji se uvek možeš osloniti:

>>> [] + {}
"[object Object]"
>>> {} + []
0
>>> [] + []
""
>>> {} + {}
NaN

via Goran Radulović.

Citat: Accountability

Jonathan Rasmusson, The Agile Samurai:

If you think you have an issue with accountability, there is an easy fix - get your team to demo their software.

Postoji pozitivan pritisak kada se od tebe očekuje da timu ili mušteriji predstaviš nešto na čemu si radio.

Fakulteti i programeri

Blackboard 1

Juče je bio prvi dan kako pozivamo ljude na ragovor za pozicije sistem administratora i C++ programera. Pored manje više klasičnih pitanja i priče o tome gde su do sada i šta radili, šta su im interesovanja itd, često se priča odmota i u nekim drugim smerovima, pa se može čuti koješta zanimljivo.

Tako smo, kroz priču o fakultetima (novosadskom Fakultetu tehničkih nauka i Prirodno-matematičkom fakultetu da budem određeniji) profesorskim garniturama na istim i sličnom, čuli zanimljivo mišljenje jednog od kandidata. On je pomenuo prilično zanimljiv problem, a to je da su fakulteti obrazovanje programera okrenuli skroz natraške.

Naime, njegovo mišljenje je da "klincima" treba dati neke higher level alate koje odmah mogu da koriste i od kojih odmah mogu da dobiju neki feedback. Dajte im SQL da vrše upite na neku sample bazu, Python da automatizuju neke svakodnevne računarske zadatke, bacite ih odmah na neko jednostavno GUI programiranje, naučite ih HTML-u i CSS-u... To je ono što ih verovatno zanima i to je ono što im može dati instant rezultate, čineći sve zanimljivim. Da se ne zaboravi i to da su oni studenti koje programiranje stvarno zanima verovatno već imali neko iskustvo sa tim stvarima, pa odmah mogu da krenu sa malo težim problemima ako predavači kod njih primete osnovu i dublje interesovanje.

Nakon što im je long hanging fruits postalo dostupno i kako polako stiču znanje da koriste te alate, onda se priča lagano širi na to šta stvarno stoji iza njih, i dalje produbljuje znanja. Matematika, fizika i sve ostalo dolazi tek na kraju, ako i tad.

Naši fakulteti naravno idu skroz obrnuto. Postoji niz slučajeva gde ljudi, koji su inače dobri programeri i praktičari, bivaju isfiltrirani akademskim predmetima, što zbog profesora koji "traže znanje", što zbog njihove lenjosti i manjka interesovanja za iste. Najbolji programeri koje znam imaju prilično fokusiranja interesovanja i ne vole da "gube vreme" na stvari koje ih ne zanimaju. Takav način funkcionisanja ih ne čini lošim programeri, ali ih često čini lošim studentima.

Iako se sa samim stavom ne slažem u potpunosti (dosta je sve uprošćeno i sve nosi svoj set prednosti i mana), ima tu nešto. U svakom slučaju, zanimljiva tema za razmišljanje.

Negacije (!PHP)

Stvarno me nervira kada moram da kucam:

if (!($user instanceof User))

Zašto jednostavno ne bih mogao da kucam:

if ($user not instanceof User)

Ili pak, ako već sanjarim:

unless $user instanceof User

Neki će reći da je u pitanju samo stvar šminke, neki da bi tako nešto samo zbunjivalo ljude (to je odgovor PHP internals ekipe na ovakve zahteve), a opet mi jako smeta taj jedan uzvičnik i dva para zagrada viška. Negacije me toliko nerviraju, da imam jednu malu igru gde uvek gledam kako da izbegnem negacije i uzvučnike kada god je to moguće, a to se ponekada završi sa previše ugneždenih IF-ova, što i nije baš najlepša stvar za videti.

PHP nikada nije bio lep jezik, pa zašto bi to sada, posle toliko godina i toliko koda koji se danas vrte na njemu, postajao? Sada je čak i teže da se takve izmene uvode u jezik jer svaka izmena potencijalno ruši kompatibilnost sa kodom pisanim za starije verzije (a svi znamo šta to može da znači na primeru petice kojoj su trebale godine da pusti korenje baš zbog problema sa kompatibilnošću sa starim kodom).

Imam čudnu naviku da stvari kao što su jezici (ne samo programski), stil i slično ponekad opisijem materijalnim objektima. Tako opisan, PHP je jedna jako ćoškasta stvar koja zvoni sve u 16 kada je zakotrljaš. Iritira to što skoro pa i čujem tu zvonjavu kada programiram, a to je nešto što se neće promeniti uskoro, što zbog PHP internals ekipe i njihove vizije gde jezik treba da ide, što zbog popularnosti platforme i miliona redova koda "u divljini" koji treba da nastave da rade u novim verzijama jezika...

Jebi ga, trava je zelenija sa druge strane.

Novi prostor #6

Evo je jedna od dražih fotografija:

Zgrada

Napravio sam je 2008. godine, jednog vedrog januarskog dana. Tada smo tek uselili u staru kancelariju (u kojoj smo ostali dve i po godine), a koja je imala predobru terasu sa pogledom na park. Pošto je bio vedar dan, ne baš tipično zimski, uslikao sam par fotki sa terase, uključujući i ovo gradilište. Ono što nisam znao u tom momentu je da ću se kroz godinu i po dana ja useliti u tu istu zgradu, a kroz dve i po godine i firma...

Prethodni put sam o novom prostoru pričao početkom februara. Od našeg plana da se uselimo najkasnije krajem marta nije bilo ništa, tako da smo prvi radni dan u novom prostoru proveli tek krajem maja (prethodnog ponedeljka).

Cela stvar još uvek nije u potpunosti gotova i ima niz sitnih poslova da se završe, ali osnovne stvari su na mestu i sve fino funkcioniše: čist i uredan prostor, komplet opremljena kuhinja, WC, bežična mreža, radni stolovi, klimatizacija itd. Stvari kao što su video nadzor, sala za sastanke, full opremljena trpezacija i slično polako dolaze na svoje mesto, ali one su uvek bile bonus, nikako show stopper.

Meni lično nov prostor znači samostalnost i fleksibilnost (prostor je naš, pa imamo potpunu slobodu), kao i finu osnovu za dalje napredovanje, u kom god smeru da se krenemo. Predviđena za 20 sedećih radnih mesta, bez da se ljudi guraju, na dobroj lokaciji i sa sitnicama koje smo birali kako bi odgovorila našim sadašnjim i budućim potrebama, ova kancelarija je prostor u kome možemo da se opustimo, radimo i nastavimo da rastemo svojim tempom.

Uz trud da se nova kanclearija u potpunosti završi i opremi, naredni korak je activeCollab 3. Prvi preview za developere je izbačen 31. maja. Sad to sve treba upeglati u jednu finu, zaokreženu i pouzdanu celinu. Zvuči jednostavno, a u stvari je par meseci posla... Slatke muke, a o njima detaljnije u narednim nedeljama.

Building Stuff for Fun & Profit

Kako stvari stoje, u junu ću biti na dva skupa (iFront i How to Web) i pričati o nekim "sitnicama" vezanim za razvoj proizvoda i poslovanje na Internetu. Pošto se skupovi i publike razlikuju, biće razlika u samoj prezentaciji, ali u osnovi je priča o počinjanju web posla (tražiti investitore ili ne, šta praviti, kako doći do prve verzije itd) i kako na celu tu stvar utiče činjenica da smo tu gde smo, a ne u Paul Grahamovom komšiluku.

Building stuff

Vidimo se.

PS: Ukoliko nekog zanima budućnost activeCollaba i šta smo zakuvali za verziju 3, poneću laptop sa verzijom koju smo spremili kao prvi preview za ekipu koja razvija i prodaje activeCollab module.

Tražimo C++ / ObjC programere

A51 is a software development company from Novi Sad. Our focus is development of tools that help organizations get projects done by employing more communication and less management.

Our flagship product, activeCollab, is used across the globe by thousands of organizations, including some of the largest technology and media companies and well known universities.

We are working on tools that run on user's computer or mobile device and interact with activeCollab through activeCollab API. An example of such application is activeCollab Timer. We have big plans for this application and similar tools, and we have an opening for:

C++/ObjC Programmers

Job Description:

  1. Develop native applications for Windows, Linux, Mac OS X and iOS, potentially Android at some point. Most of these applications communicate with activeCollab via activeCollab API (API is even better in activeCollab 3), but we have other ideas as well.
  2. Platforms used for development are Qt for cross platform applications (C++) and Cocoa for Mac OS X and iOS applications (Objective C).

What we Offer:

  1. Clean, quite, cozy environment where you can concentrate and get stuff done. We even offer home cooked lunch served in the office every day.
  2. Opportunity to learn new and develop existing skills.
  3. Best equipment money can buy. Tools should never limit your creativity.
  4. Type of energy only small companies can offer.
  5. Make the difference! activeCollab is one of the best known software products coming from Serbia.

Requirements:

  1. Simply put, you need to be a good programmer and natural problem solver.
  2. Experience with development of desktop applications using one of the C class languages (C++, C#, Objective C).
  3. Experience with Qt development framework  is not a requirement, but a big plus.
  4. Experience with Objective C and development for Mac OS X or iOS is not a requirement, but a big plus.
  5. Good written and spoken English. We offer tools and resources to improve your English, but good foundation is required.
  6. Candidates who are not able to work in office in Novi Sad Monday to Friday should not apply.
  7. Faculty degree is a plus, but not a requirement.

If you are interested and see a fit here, please fill out the form that is available on this page:

http://a51.wufoo.com/forms/prijava-cobjc/

Thank you for your time!