неделя, ноември 14, 2010

Database Version Control за PHP програмисти

За разлика от version control системите за source code като svn или git, доста по-малко са познати подобните за бази данни.
До сега съм виждал няколко подхода:

1) На който му трябва най-новата база данни по която работим - да се оправя.
В една папка в svn-a, с оригиналното име "sql"q всеки който прави промени направо слага пълен експорт на неговата си база данни, като файла задължително се казва нещо от типа -
project-20100618(stefka).sql
+ освен ти сам, няма кой друг да ти счупи базата данни
- много, наистина много файлове за малко време, ровене
- трудна промяна на отделни полета в таблица


2) Правил си промени по базата данни - хайде сега да ги добавиш в един файл. 
Същото като в предишния вариант, но файла е само един и всеки добавя само промените, които е направил.Файла е просто project.sql
+ относително лесно се вижда какво е променяно след като се пусне един diff (или WinMerge)
- голямо ровене става из тоя файл
- всеки го мързи да merge-ва файлове в следствие на което никой не качва промените си, докато не е твърде наложително

3) Ще правиш промени ? Я затвори тоя phpmyadmin!
Начина заради който пиша тоя пост, въобще. Не пишеш sql, не ползваш някой database designer - а създаваш таблици  и описваш промени чрез php.
Става въпрос за ruckusing. Да покажа направо..
пишеш нещо такова в конзолата (не само за Linux):

php generate.php createUsersTable
което генерира един файл с два метода - up() и down()
и в него пишем нещо като:

function up(){
   $table = $this->create_table('users');
   $table->column('username', 'string', array('null'=>false));
   $table->column('password', 'string', array('null'=>false));
   $table->finish();
}
и съответно
function down(){
   $this->drop_table('users');
}

Единия казва какво трябва да се случи ако качваме revision нагоре, другия какво трябва да се направи за да се върнем в изходно положение.

Влизаш обратно в конзолата и изпълняваш:
php main.php db:migrate
и таблицата се създава. Имаш методи за създаване и премахване на - бази данни, таблици, колони в таблица и т.н., които покриват 99% от необходимата функционалност. За всичко останало имаш прекрасния метод query, които праска чист sql.

Защо ги правим всички тия финтове?
Когато commit-на генерираните файлове, колегата изпълнява и при него db:migrate и вече е с последната версия. Това е, без повече главоболия. Ако по някаква причина съм счупил нещо, на db:migrate му казваш - Абе, я ме върни 1 revision назад и всичко е песен.

- Има хипотетичен шанс да счупиш нещо на другарчето
+ Бързо е
+ Лесно е
+ Готино е
+ Модерно е ;)
Можете да видите още примери тук - http://code.google.com/p/ruckusing/wiki/CompleteExamples


Малко безполезно инфо:
Доста време търсих нещо подходящо, което да замени първите 2 начина на работа и дори мислех да започна да си пиша сам нещо такова.
Моята идея беше да се проверяват разликите между 2 export-а в xml формат и да се генерира само sql кода, който да докара първата база данни до втората. Тоест ако имаме в една таблица, която експортирана изглежда така:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
)
и друга
CREATE TABLE  `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
)

В такава ситуация, понеже съм мързелив човек, директно drop-вам моята таблица и paste-вам новия код. За да си спестя глупостите и да не се налага наново да си импортирам данните, моята система трябваше да генерира един sql файл за миграция, който да съдържа:
ALTER TABLE  `users` ADD  `email` VARCHAR( 255 ) NOT NULL
Аз да си го изпълня и всичко да си е ок.

За мен лично, този вариант е по-добър от ruckusing, дори и само заради това че ми е странно да си пиша таблиците на php. Все пак прецених, че не е чак толкова по-готино, че да си загубя няколко дена да го напиша. Ако някой го радва и му се губи време, да драсне. 

четвъртък, октомври 21, 2010

sudo за windows 7

Въпреки общоприетото мнение User Account Control в Windows 7 не е нещо, което трябва да се изключи веднага след инсталация.
И аз си го ползвам.
Единствения ми проблем е че не съм windows guru и ми беше трудно да редактирам системни файлове през конзолата, един вид трябва ми sudo за windows. Ето как успях да направя номера

Първо трябва да активираме administrator акаунта.
cmd -> run as administrator
и пишете:


net user administrator /active:yes
net user administrator parola 

 След това ако искате да изпълните нещо като "root":
runas /user:administrator notepad

Малко по-дълго е от sudo vi, но върши работа.


btw, да препоръчам малко software за win

http://www.vim.org/download.php#pc
http://sourceforge.net/projects/console/

Правят windows малко по-приятно място :)

вторник, юли 27, 2010

Коментари в кода

В момента работя по един open source проект и попаднах този коментар:

*This one is really quick and dirty because I want to finish this and catch
* the bus. Need to be redone ASAP
Човека трябвало да хване автобуса :)


Сетих се, преди време ми подариха една книжка - Code Complete. Там пишеше нещо от типа, че ако ти се налага да напишеш коментар, който да пояснява някакъв завързан хак, по-добре да го изтриеш, пренапишеш или в краен случай да оставиш  @todo коментар.
Автора на кода след този коментар, очевидно е осъзнавал, че кода му е мазало и трябва да се пренапише, само че ... получава се следното

Програмиста писал хака, повече няма да се захване да го пренаписва, защото вече веднъж го е направил. Никой не обича да пише едно и също нещо по няколко пъти и освен ако няма някой зъл триглав мениджър да му кисне на главата, почти съм сигурен, че няма да го направи.

Програмиста, който оправя кода след него (в случая аз) вижда въпросния коментар и в главата му автоматично се задейства "спагетената аларма". Като всеки самоуважаващ се програмист, той много внимателно го "заобикаля" и се мъчи да оправи евенуталния проблем, без да променя каквото и да било по въпросния блок, защото е напълно наясно, че ще трудно, гадно и неблагодарно.

Сега някои хора ще кажат, че това е принципен проблем на софтуера с отворен код (нали, Наско), но всъщност проблема е другаде. Проблема е в лидера на проекта и в това, че е пуснал това парче код в стабилната версия. За това BSD феновете толкова много се гордеят с "перфектния" си код, защото такива допълнения се отхвърлят много преди въобще да стигнат production версията. Въпреки базарния модел на софтуера с отворен код, винаги съм бил привърженик на идеята за силна фигура на върха, която да има последната дума по всеки въпрос. От тук идва разликата между добрия софтуер и сбирщината от хакове.

Все пак въпроса е какво искаш като краен резултат, многофункционален софтуер, който от време на време се чупи и губи информация или орязана откъм функционалност, но пък много стабилна система. Съществуват и двата варианта, и двата изкарват пари, а щом е така, значи има някакъв смисъл от това. Това пък от своя страна доказва, че всичко по-горе е просто една теория, която може и да има, може и да няма реална обосновка.

петък, юли 23, 2010

Изборът и мобилните комуникации

Избора Санчо ... е нещо много важно. Борим се всеки ден за да имаме избора да направим това или онова.
Но нека както винаги подходя злободневно и принизя изконни човешки ценности използвайки глупави и нямащи нищо общо сравнения.

Баба ми (например) е един от хората, които са живели в един по-добър свят. Има една телефонна компания, която дава един тип телефон и предлага една услуга. Избор нямаш, но пък замислете се:
Имаш си телефон само вкъщи, който не е особено удобен и функционален, но пък върши това за което си го купил, звъни.
Знаеш, че един разговор е един импулс колктото и да говориш. Един импулс струва точно толкова стотинки и това е. Абсолютно нищо друго не ти трябва да знаеш.
Мислите ли, че баба ми е била щастлива с тази услуга - аз да (въпреки че едва ли "щастлива" е думата, която можем да използваме в този случай).

Аз, няколко деситилетия по-късно, съм безкрайно объркан и изнервен не просто от самата услуга, а от избора, който съм принуден да направя. Имаме 3 мобилни оператора и още не знам колко други компании предлагат стационарни телефони.
Когато звъня на някого от мобилния си телефон трябва да мисля кой оператор използва отсрещния, защото цената която плащам е различна. Отдавна не знам точно колко ми струва един "импулс", просто защото вече такова нещо няма, таксува се на минута, но пък някои вземат определена сума за първите 30 секунди, други за първите 15, а някои за първата минута.
На всичкото отгоре колко плащам не зависи само от оператора ми, но и от тарифния ми план. Имате ли идея колко тарифни плана има вашия оператор ? Аз не.
Всеки път когато отида да си плащам сметката, учтивия служител пита:
- А вие знаете ли за новия .... (нещо което просто не чувам) ?
Аз отговарям с абсолютно безразличен поглед - Не!
- А искате ли ...
- Не !
Служителя тук вече е абсолютно объркан и дори се чувства леко обиден. Не искам да бъда груб, просто не ме интересува какви други тарифни планове има. Та аз едва успях да избера този.
Нарочно го правят, чакат ни в офисите си като алигатор - антилопа в близост до езерото. Знаят, че рано или късно ще се върнем за да пием вода и те търпеливо стоят точат зъбки за да може в правилния момент да изкочат да ни захапят за вратовете.

Имам чувството, че имат хиляди планове и никой, ама никой не може да ми каже кой е най-добрия, защото те били направени така че да ми пасват на мен. Ако започна да разглеждам всеки един от тях за да избера кой точно ще ми е най-полезен, ще трябва да отделя цял ден, за нещо което нито ми е интересно, нито имам каквото и да било желание да правя.
А да, и след 3-4 месеца ще излеже нова "гореща оферта", която в главата на някой гении ще ми се струва неустоима, но пък.. представете си - "Не ме интересува".

Аз го приемам така, ако отделя достатъчно внимание за да избера абсолютно-утимативно-невероятния план, който е направен да ми пасва по-добре и от дънки Levis, може би (хипотетично), ще спестявам по 10-15% от месечната си сметка. Не искам, плащам си данъка за да бъда незаинтересован.

"Един оператор - един телефон, един градски разговор - един импулс, един импулс - X стотинки" ще бъде новата ми мантра отивайки следващия път да си платя сметката.

четвъртък, юли 01, 2010

Compaq - Hard to beat (vintage)

Дори не помня къде съм го намерил това, но е култово :)

петък, юни 25, 2010

PHP IDE-та, редактори, среди или който както им вика

IDE или Integrated development environment кое е по-добро според вас ? (ще го уточним в движение)

Пробвал съм наистина доста IDE-та, под доста операционни системи и обикновено мнението ми за тях се движат от "Обикам го" до "Боклук".
Да уточним нещо PSPad, Notepad++, Gedit и другите подобни не са среди за разработка, ако ги смятате за такива ползвайте поне Nano, има същата функционалност при това с по-хубав syntax highlightning. PSPad има едно единствено предимство пред останалите в тази категория - вградения ftp клиент, но това пък е свързано с една порочна практика да се работи директно на сървъра. Notepad++ винаги го слагам под Windows, но никога, абсолютно никога не го използвам за друго освен редактиране на конфигурационни файлове.

След като оплюхме останалите да кажа какво съм харесал до момента:

си е "оригиналното" IDE за php. Все пак го правят Zend и уж е най-доброто и най-невероятното и т.н. Може и да било така, но от версията от която аз започнах да го ползвам - 6, вече бяха започнали да ползват за основа Eclipse и според мнението на повечето ми тогавашни колеги това много го е развалило. При версия 7 нещата бяха по-лъскави, но не и оправени. Както и да, аз лично смятам, че е нелоша среда, но страда от Windows синдрома - колкото повече го ползваш, толкова по-лагаво става, докато накрая не започне на крашва, да чупи файлове и т.н. Неприятна картинка. Особено много "обича" import на големи проекти - пригответе си кафенце, пакет цигари и вестник.


или PHP Development Tools си е чисто и просто Eclipse за php писачи. На теория би трябвало да бъде почти същото като Zend, ама не е. Никак не е лошо, но спрямо комерсиалния си братовчед е доста по-бавничко като autcomplete примерно. В началото го отдавах на бавния ми лаптоп, тъй като вкъщи бях с него, а на работа с Zend, но когато ги пробвах на една и съща машина разликата е осезаема. Ако не искате да си купувате (или да си "купувате" по другия начин) софтуера това е един от възможните избори.

Когато го пробвах за пръв път разбрах какво се има предвид под Integrated. Идва с доста благинки - вграден уеб сървър, DB manager, терминален клиент, четец на документация, php, дебъгер и още какво ли не. Освен това в сравнение с eclipse базираните среди е доста пъргаво. Вградения уеб сървър става за основните неща, но ако ви трябва mod_rewrite искате или не, ще си слагате отделно apache (което между другото не е проблем за PHPED. Db manager-a става колкото да си погледнете как ви се казват полетата на таблиците, но не върши работата на phpmyadmin или пък MySQL Workbench. Идеята да отвориш ssh терминал като таб в редактора все още ми изглежда странна, но пък не е чак толкова неудобно. Ако пък сте свикнали да проверявате документацията в php.net, вградения четец за chm файлове ще ви е полезен само ако сте offline.
Autocomplete има, но определено не е на нивото на Zend и PDT, но за сметка на това е доста по-бърз и поддържа code templates. Аз примерно си бях направил шаблончета за controller-и модели в codeigniter така че за да създам нов такъв трябваше просто да напиша името му. Бързо и удобно.
Това е може би най-пълното IDE за PHP, идва с почти всичко необходимо, но все пак някои неща куцат.

е новата ми любов. Дълго време го смятах за запазена територия за java-ери, но се оказа че не е така. Поддържа почти всичко, което и останалите, изглежда мазничко и работи прилично бързо. Има някаква доста странна поддръжка за табулации и не се разбира много с останалите, но иначе е супер. Това заради, което ми допадна най-много е, че има пакет за java, c++ и php в едно, а на мен напоследък ми се налага да пиша и на трите. Добро е, пробвайте.

Под Mac нямам голям опит, но така като гледам масово се използва TextMate и TextWrangler, което не го разбирам особено. Най-доброто, което съм ползвал е Coda, за него определението е само едно - мазничко, но пък под Mac всичкия софтуер влиза в тази категория :)


Update: Пробвах Komodo Edit, поработих с NetBeans, нещо не ми харесаха. Не знам какъв компютър ми трябва, но с core i7 дразнещо много се бави NB.
Върнах се обратно на PhpED

Бачках няколко дена под линукс. Бях забравил какво е да се пише html/css без Dreamweaver - ужасно е. Кой каквото ще да говори по-добър autocomplete от DW за html/css не съм виждал, той просто чете мисли.

Другото интересно е как различните IDE-та гледат на autocomplete-a. Понеже на CodeIgniter библиотеките се зареждат по начин по който никое IDE не може да ги autocomplete-не, единствено PhpED се съгласява с мен, че съществуват такива обекти и започва да ги "разбира", всички останали продължават да предлагат каквото вече са си решили, че трябва.

четвъртък, юни 24, 2010

Използване на CI Active Record в скрипт извън CodeIgniter


Добре, ясно, ползвате CodeIgniter и ви се налага да напишете някакъв малък скрипт (примерно нещо, което ще се изпълнява с cron) и се налага да правите някакви си нещица с базата данни.

Правите си една папка "scripts" и започвате да блъскате вътре някакви неща. Въпроса, е че вече сте свикнали с Active Record библиотеката на CodeIgniter и искате да продължите да си я ползвате вместо омразните - mysql_query(), mysql_fetch_object() и т.н.
Оказа се, че това става доста лесно :

// set paths
$current_path = __DIR__;
$current_path = str_replace("\\", '/', $current_path); // w32 paths
// тук може би ще ви трябва още малко оправяне на пътищата :)

define(PROJPATH, $current_path . "/");
define(BASEPATH, $current_path . "/system/");
define(APPPATH, PROJPATH . 'application/');
define(EXT, '.php');

// load active record DB
include(BASEPATH . 'codeigniter/Common.php');
include(BASEPATH . 'database/DB.php');
$db =& DB();



Това е. Вече имате променлива $db и можете да си ползвате любимия $db->get() :)

Уточнение: Ако пътищата ви се струват странни: при мен system и application папките са на едно равнище във файловата структура и за това съм си дефинирал константа PROJPATH която е един вид ../system и ../application.
структурата е нещо като :
/project
//application
//system
//scripts
При този начин на зареждане Active Record ще ползва стандартните настройки за връзка с базата данни в /application/config/database.php, тоест няма нужда ръчно да задавате отново username, pass и db.

сряда, юни 23, 2010

iTunes или ... какво съм изпускал толкова много време

Преди няколко дни получих писмо от Apple писмо, в което ме уведомяват, че като регистриран Apple developer (аз съм само регистриран, без другите 2 думички), мога да гледам безплатно сесиите от Apple Worldwide Developer Conference 2010.

Обещават интересни презентации за HTML 5, какво ново се е случило с Apple и т.н.
Искат iTunes, в добро настроение съм така че го слагам, въпреки че не ми е ясно точно за какво ми е.

Пуснах го, добавих си музиката, сканира я прилично бързо и пуснах някакви хора, които крещят на фона на електрически китари и бързи барабани. Естествено след 15-тина минути се сетих какво щях да правя, та пуснах store-a.

Най-якото нещо, което съм виждал скоро, честно. Не мога да повярвам, че съм изпускал нещо такова толкова много време.
Когато за пръв път си сложих iTunes ми се стори гаден бъглив музикален плеър и даже не съм подозирал какво още може.
В магазина има всичко и готиното е че има адски много безплатни подкасти, за които дори можеш да се абонираш и да се свалят автоматично. Не че не мога да го направя с други плеъри, но пък никога нямаше да ги намеря точно тези. Намерих си супер яки безплатни видеа от конференции - TedTalks, AllThingsD и т.н., subscribe-нах се за доста и съм зверски доволен. Имам какво да гледам постоянно.
За сега нямам намерение да си регистрирам кредитната карта и да плащам за каквото и да било, но като видях какви групи имат, май ще се наложи. Става въпрос за групи, които не просто не мога да намеря в България, трудно се намират дори по разни пиратски брегове или път търсачи на души. :)

Restrictive ?
За сега не ми трябва порно, имам си podcasts :P

вторник, април 13, 2010

За iPhone OS 4 и още нещо

Бате ви Жобс, преди наскоро представи iPhone OS 4 и съответно пуснаха новото SDK.
Наред с нововъведения като мултитаскинг и iAd, Apple успяха да порежат и всички, които се опитваха да пуснат псевдо-дев-платформи.

От "Ябълката" казват следното :

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Накратно това означава, че всички програми за iДжаджите им ще бъдат писани само на obj-c, c,c++ или js, тоест никакви флаш приложения, никакви .net имплементации или каквото и да било друго.
За флаш всичко хубаво, но малко ме е яд за MonoTouch, който имаше за цел да докара C# и .NET за iPhone OS и заедно с MonoDroid щяха да създадат една платформа, на база която можеш да програмираш за почти всички мобилни платформи (или поне по-модерните от тях).

Apple са в законното си право да направят този ход (очевидно) и може би той е най-правилния от тяхна гледна точка. За мен лично е излишно затваряне, но явно част от идеята им е всички приложения да се пишат точно по техния начин.
На въпроса "Кога на всички най-после ще им писне от Apple и рестриктивната им политика" (все пак забраниха еротиката в AppStore) мога само да предположа:
Както Стийв не пропусна да се похвали на презентацията за iPhone OS 4 - "навън има 85 милиона iPhone и iPod Touch потребители" и всеки, който иска да се докопа до тях за да закачи някоя друга пачка, ще се наложи да мине покрай Стийв Джобс.

сряда, март 03, 2010

Видео каналите и как по български се вписваме в тях

Сещате ли се за Youtube, нали?

Та... Общо взето идеята му беше хората да качват разни клипчета, които са правили и други да ги гледат, да им се смеят и да коментират. Естествено при положение, че имаш платформа, на която можеш да качваш каквото си искаш, потребителите започнаха да качват каквото им дойде на ум - от музикални клипове до сериали.
Проблема беше, че едни хора се размрънкаха за лицензи и google се наложи да махнат доста неща. Това до известна степен върна потребителите към първонатачалната идея, а именно те самите да създават съдържание.

В България естествено нещата се развиха по малко по-различен начин.
Нашенския клонинг vbox7.com (който пък от своя страна си има свой клонинг, но това е друга тема) нямаше кой да го гони за авторски права, в следствие на което в момента можеш да намериш всичко, от пълна колекция епизоди на "Приятели" през снощното шоу на Слави Трифонов та чак до цели филми. Качеството е кофти, платформата е тъпа (спрямо youtube), но съдържанието, което искаш го има и това е най-важното.

Така vbox7 се оформи като сайт, който препредава чуждо съдържание, а Youtube въпреки че все още има доста музикални клипове и т.н. все повече се ориентира към съдържание създадено от потребителите.
В началото пред домашната уеб камерка заставаше някоя девойка или някой младеж и говореха общи глупости от типа какво е станало днес в училище, а други пускаха видео-отговори.
Нещата малко се промениха и в момента е доста "модерно" да си направиш собствен канал и през определен период от време да пускаш клипчета, в които пееш, коментираш политиката или се смееш на другите, което някак пак се връзва с оригиналната идея, но ... не точно.
Както казва Mememolly :
As the sands of time flow to the hourglass this online community grew and developed into a small nation of friends, enemies, lovers and perverts.
Първото от този род, което по-серизоно се наби в главите на българските онлайн кибици бяха серията от "уроци по сръбски". Всъщност те станаха толкова популярни, че едни български сайт реши да плати на момчето малко кинти за говори глупости и на български.

Друг по-пресен пример е Ray Willian Johnson, който два пъти седмичо пуска клипове в неговия youtube канал =3. Защо "=3" ами много просто, човечеца пуска във всяко клипче, три други клипа, които са му направили впечатление и говори някакви простотии по техен адрес. Има си типично негови, сериозно запомнящи се реплики от типа "Whats up forum", "Leave your creative response below" и разбира се "Fake and gay" и като бонус от време на време си говори с един "трол" (сложно е за обяснение, вижте го).

Не мислете, че България би останала без своя идол. Ето го и него, направил си е група в Vbox7, нарича себе си Fred и се опитва да направи нещо като =3, само че го е кръстил "Дневните 3". Започва всяка серия с "Какво става хора" и завършва с "Оставете коментарите си отдолЕ". Интересно, че освен концепцията за предаването, младежа е взел и някои от репликите, звуковите ефекти и забележете дори трола е същия. При това никак не му допада ако някой отдолу му сложи коментар гласящ "Fake and gay" и въобще не осъзнава каква услуга му правя в момента :)

Прегледайте и преценете кое си заслужава и кое не.
Аз лично бих ви насърчил да правите клипчета с нещата, които ви интересуват и да ги пускате online, но ... моля ви, бъдете креативни, не копирайте. По-добре да си смотан и шоуто да не ти се получава, отколкото да си смотан, да копираш и шоуто пак да не ти се получава.


Като финал само ще кажа, че една от най-интересните за мен тенденции в момента е VideoSong. Накратно хора правят музика и в клипа към нея показват как свирят на конкретния инструмент в момента, в който се чува.
Бих ви препоръчал да чуете Jack Conte (наистина много талантлив човек) и PomplamooseMusic.

сряда, февруари 17, 2010

Мобилно-таблетна истерия с елементи на flash омраза

Малко късно, но все пак държа да напиша някои думи за iPad. За мен това устройство е просто едно от нещата, за които още докато следях какво става на MacWorld, си казах - "Искам го !".
Това е. Apple ги могат тия неща.[видео]

Няма да коментирам самото устройство, цената или функционалността му. Интересни са ми все пак критиките към iPad. Това което изплува на повърхността беше, че не е достатъчно функционално, че не изполва "пълната" Mac OS X, че няма флаш, че няма мултитаскинг и т.н. и т.н
Съветвам ви да погледнете поста на на yovko по въпроса, на мен това ми се наби в главата:

Хейтърите, разбира се, са във вихъра си. Начетох се на какви ли не глупости последните два дни, дори сред профи-анализаторите. Ама те се присмиваха и когато се разчу, че Apple ще прави mp3-player. Пак същия кикот се разнесе и след iPhone. Не виждам нищо по-различно и след iPad. Красивите джаджи и сексапилните жени предизвикват завист – няма как…


Няма смисъл да коментирам всяко едно от обвиненията към iPad, пък и целта ми въобще не е да защитавам Apple и джиджафката им. After all, ако не го харесвате, аз едва ли ще ви убедя в противното.

Най-интересна ми стана тази цялата истерия около флаша. Как така iPad няма flash ?!?
Adobe естествено обвиняват Apple за това.

Истината ?
Истината е, че iPad няма нужда от flash, колкото и да им се иска на Adobe.
Първо защото flash има пословично лоша поддръжка под Unix подобни операционни системи като Linux и Max OS X (който е пробвал знае за какво говоря) и второ - всъщност никое мобилно устройство няма нужда от флаш.
За какво им е :
- Гледане на клипчета online ?
Еми не, това може да се прави и без флаш.
- Играене на игри ?
iPad поддържа всички игри за iPhone/iPod и съвсем скоро ще има толкова много специално за него, че flash игрите ще ви се струват глупост.
- Гледане на рекламни банери ?
Хайде малко по-сериозно.
Flash трябва да умре, така както умряха java applet-ите.
И то не за да бъде заместен от някое подобно недоразумение като Silverlight, а от нещо отворено и стандартизирано като HTML 5.
Adobe са страхотна компания имат продукти като Photoshop и Dreamweaver и май е по-добре да насочат усилия в тази посока.

Относно Silverlight, за неговата смърт не мога и да си мечтая, причините са прекалено много. Нека просто изкажа едно плахо твърдение, че тази технология никога няма да се наложи, но и скоро няма да изчезне.
Но да детронираме flash не изглежда толкова далечна перспектива.
Спрете да мрънкате за flash на тази или онази платформа.

Както и да е. Никоя мобилна ОС не поддържа флаш в момента - нито Android, нито Windows Mobile 7, нито iPhone OS. Така и трябва да си остане.

четвъртък, януари 21, 2010

Code Monkey not crazy just proud