Този блог се премести на http://hgeorgiev.com/blog/
Въпреки че тук има доста публикации писани през годините сметнах, че не е необходимо да ги местя. Не намирам нещо особено ценно сред тийн изцепките ми, но ще ги оставя тук като справка за това какво е било :)
Ако ви се четат още глупости от мен и не ви пука за пунктуация, пълен член и т.н. - заповядайте на новия адрес.
неделя, март 16, 2014
Преместване
вторник, декември 17, 2013
SSH тунели и MySQL
Наложи ми се да боря с доста странен проблем, искам да направя SSH тунел и през него да се вържа към отдалечен mysql сървър. Eто какво се случва
Изпълнявам
ssh user@domain.com -L 4401:127.0.0.1:3306 -N
което би трябвало да създаде тунела и да мога на port 4401 да се вържа към mysql, обаче се оказа, че не е точно както аз си го мисля.
ако изпълня:
mysql -u user -p --port=4401ми дава грешен user или парола. Оказа се, че всъщност mysql конзолния клиент се опитва да се свърше на default-ния порт - 3306, а не на 4401 и по незнайно каква логика игнорира параметъра за порт.
Решението е да се укаже протокол
mysql -u user -p --port=4401 --protocol=TCPв този случай, нещата сработват.
проблем има и също в php, ако опитате стандартното:
mysql_connect("localhost:4401", "user", "pass)не успява да се свърже, но пък странно:
mysql_connect("127.0.0.1:4401", "user", "pass)работи, защото явно това е начина да кажете на mysql_connect, че искате да ползвате TCP.
Този проблем го срещам за пръв път и ми се получава само под Linux (Ubuntu 13.04). Под Windows/Mac OS X няма нужда да указвам протоколи.
Между другото тунела в Windows можете да направите с plink така:
plink.exe -L 4402:localhost:3306 -pw password user@domain
Както се вижда, при plink може директно да се зададе парола в командния ред. При ssh под Линукс нещата са малко по-сложни, но можете да го направите като използвате sshpass:
sshpass -p 'password' ssh -o StrictHostKeyChecking=no user@domain -L 4401:127.0.0.1:3306 -N
Вкарването на паролата по този начин, не е от най-културните изпълнения за това е препоръчително при възможност да си генерирате ssh ключове и така да се свързвате с отдалечената машина без парола. За това може да пиша някой друг път.
петък, април 27, 2012
За българския хардуерен бизнес, занаятчиите и чираците
Наскоро имах малък хардуерен проблем - компютъра, на който някога се учих да програмирам отказа да изпълнява задълженията си.
Понеже, макар и програмист вдявам някакви елементарни неща свързани с хардуера, разглобих машината но при положение, че когато пускам само захранване и дънна платка с процесор (без RAM, видео карта и т.н.) реакция нямаше никаква, дори и не пищеше, заключих че това ми остават като варианти за повредата или дъно или захранване.
Вкъщи нямам части, пък и да не се налага да си купувам и дъно и захранване при положение, че проблема може да е само в едното, както си му е реда отидох в сервиз, където по-кадърните от мен специалисти ще отстранят проблема.
Обясниха ми, че дънната платка си е заминала и че имам голям късмет защото имат същата, чисто нова, в наличност. Платих си за новата част и инсталирането ѝ. Дадоха ми и кутията на новото дъно и аз я замъкнах с мен вкъщи като очаквах вътре да открия старото повредено дъно.
Оказа се обаче, че вътре има само упътването на дъното и диск с драйвери, което малко ме учуди, но реших, че не е нещо, на което си заслужава да се обърне внимание.
Лошото е, че няколко дена по-късно разбрах от познати, че моето повредено дъно е в процес на "реставрация" и съвсем скоро ще бъде предложено на нов собственик като артикул втора употреба.
Аз това го приемам като чиста кражба. Те взимат моя собственост и я препродават на други хора. Аз съм се съгласявал на това. Платих си новата част в пълния ѝ размер, нямаше отстъпка за това че им оставям старата си част, нямаше и предложение да я откупят от мен.
Това не е кой знае какво, успели са да ме излъжат, то и без това съм свикнал да ме правят на прост и постоянно да се опитват да ме цакат на дребно. Тъпо ми е че получавам такова отношение от хора, чиято работа може да се върши от маймуна с отвертка и чиято единствена гордост в живота е, че след 10 годишно чиракуване в някакви фирмички ситуирани в мази и гаражи са им позволили да сменят части на компютАри.
Хардуерни "специалисти", които ако успеят да си свършат работата в срок от няколко месеца, то обикновено я свършват толкова некадърно, че ти иде да им натрошиш нещо в тъпите главички та поне им влезе някой кондензатор не където трябва и да се получи нещо иновативно - ако не първия хибрид човеко-робот, то поне първия първия хибрид "селянин с PCI слот от обратния край на устата".
Безскрупулни говедца, които не ги интересува дали ще си доволен от услугите или продуктите, които си купуваш от тях, се опитват да ти пробутат клавиатури на арабски, мишки с топчета, "поправят" ти хардуера по 3 месеца (и то само защото си задължен да отидеш при тях заради гаранцията) и го раздават тежко, защото те разбират от компютАри, а ти - не, тоест те са къде-къде по-напред от теб. Това не първия случай в който аграрни типове се опитват да ме метнат, но вече започва да ми става гнусно.
Подобно отношение бих очаквал от някой смугъл младеж, който се опитва да ми продаде "чисто ново телефонче, бате" в подлеза на централна поща, но не и от "специалисти" в компютърните среди. Все си мислех, че хората в бранша са малко по-свестни и се опитват да помогнат на клиентите си за да могат след това да се върнат пак.
Зарежете ме мен, момчета, обаче си ритате хляба. Ако вие се държите така, то много скоро големите фирмички, които поне малко се грижат за това да си свършат работата, ще ви пратят обратно на село да инсталирате сапове на мотики.
Живи и здрави да са, направиха милионите от моето дъно, обаче следващия път когато на вас ви се наложи да ползвате подобни услуги, замислете се къде ще отидете - при тия юнаци или в някой голям тъп магазин от типа на Technopolis, Technomarket и т.н., които имат сервизче на гърба?
Етикети: fickbar menshen
понеделник, февруари 28, 2011
Грешката - А не, ти халюцинираш
Ако има нещо наистина изнервящо в софтуерния свят, то това е грешката "А не, ти халюцинираш".
Да обясня, това най-често се случва на обикновените потребители, но и редовия developer не е застрахован, ситуацията е следната, вие най-невинно съобщавате:
- "Функцията Х не работи !" или "Функцията Х хвърля грешки!"
Отговора е пределно ясен:
- При мен няма такъв проблем.
При въпросния отговор, разговора за програмиста е приключил. Той не може да види бъга (а в повечето случаи и не опитва) съответно абсолютно нищо не може да се направи по въпроса. Твоя проблем не че не го вълнува, той просто не съществува, защото щом програмиста не го вижда значи чисто и просто ти халюцинираш.
Първите няколко пъти си мислиш, че явно проблема е наистина само при теб и ако за щастие (или нещастие, вие преценете) разбирате долу горе за какво иде реч, сядате и започвате да търсите проблема. След няколко часа го намирате и оправяте, но от опит мога да твърдя, че проблема много рядко се оказва изолиран случаи.
След като сте осъзнали, че имате проблема "А не, ти халюцинираш", започва една епична битка в която се опитваш да обясниш на софтуерния гуру, че не си вземал LSD скоро и това е реален проблем, който ти пречи на работата. Трябва да сте особено нагли, защото никой самоуважаващ се програмист не би рискувал да си наруши душевния комфорт дебъгвайки 2-3 реда код.
Много ясно трябва да обясните, че "Проблема при мен го няма" не е отговор и ако трябва, въпросния специалист ще си вдигне задника и ще дойде на място, щом при него "няма такова нещо".
Всеки програмист си има чалъми, аз примерно за определена задача съм писал само интерфейса, без каквато и да било функционалност, маркирам я като готова, изчаквайки bug report на следващия ден. Но поне съм го правил защото графика беше доста ... да кажем "амбициозен" и така печелех малко време, докато въпросния проблем си е проява на чист мързел, който никой не трябва да толерира.
Етикети: develop, fickbar menshen, software
вторник, февруари 15, 2011
Activision спират Guitar Hero
Въпреки че не съм от най-върлите фенове на Guitar Hero, ми стана неприятно когато прочетох новината, че Activision спират да правят играта. Каквото било - било.
Като основен аргумент изтъкват факта, че не са могли да направят достатъчно пари от продукта си след първоначалните му продажби.
И ако си мислите "Тия 3 милиона само от продадени копия на играта не им ли стигат ?", вероятно имате известно основание, но все пак отговора е "Не".
Говорим за големи компании и големи пари, ако искаш да останеш голям трябват наистина големи и по-важното редовни продажби.
На много хора им се стори смешна новината, че Zynga - създателите на "шедьоври" като FarmVille тази година регистрират по-големи приходи от EA - създателите на игри като Need For Speed, FIFA и т.н, тоест компания, която прави истински игри. Признавам и аз първоначално се позасмях, но няма нищо по-показателно от парите в този бизнес. Дори да правиш страхотни игри - на кого му пука ако не правиш пари.
Проблема на EA и на всички подобни компании е алгоритъма - отиваш в магазина, купуваш игра, играеш, изиграваш, отиваш да купуваш нова и т.н. Обаче никой не може да вади толкова бързо игри. Не могат и да сложат голяма цена защото никой няма да го купи. За това избират по-малка цена, но тогава приходите не стигат и след 1 година оправят 5 бъга, пускат по-нова версия и се надяват същите хора пак да я купят (сещате се за коя игра говоря).
Модела на Zynga е прост и ... работещ. Регистрираш се безплатно, играеш, ако ти харесва си плащаш за глупости, при това колкото ти решиш и плащаш пак когато си решиш. Е, явно така се наливат доста повече пари и честно казано звучи логично.
За това и заглавия като League Of Legends залагат на същия метод за продажба и така дори най-обикновения български геймър, който през живота си не е купил една оригинална игра, налива по 5-10 лева в акаунта си.
Етикети: вчерашни новини, Activision, gaming, opinions, Zynga
понеделник, февруари 14, 2011
За Nokia, Microsoft и пуйките
Миналата седмица Nokia съобщиха какви са бъдещите им планове за развитие на "умните" телефони на компанията, а те явно са свързани с Microsoft.
Финландците, които отделиха години на Symbian, MeeGo, Maemo и прочее забежки най-после признаха, че са се провалили и единствения им шанс за завръщане в умовете и сърцата на потребителите им е зад океана.
Йовко е споделил своето мнение за остаряващия гигант сред мобилните телефони, но според мен това е само част от картинката. Истина е, че Nokia не са това, което бяха преди години, но все още правят изключително добър хардуер и въпреки че софтуерното обезпечение куца, все още държат огромен пазарен дял. Да не забравя да отбележа, че говорим за обикновени телефони със "зелено и червен копче", каквито (ние компютърджиите често забравяме) все още ползват повечето хора.
С пускането на OVI компанията отбеляза значителен напредък, поне по мое мнение, валяха доклади за милионите продажби в OVI Store, но това са хора, които имат "тъпи" телефони и за пръв път имат сериозна възможност да инсталират разни допълнителни приложения. Едва ли някой би избрал някой от новите Nokia телефони защото, разбираш ли, имало OVI Maps. Всеки би си купил я Android, я iOS (iPhone) и Nokia се оказват блокирани в опитите си да направят нещо в тази насока.
От другата страна са Microsoft с техния Windows Phone 7 - наследника на Windows Mobile 6.5. WM 6.5 не е лоша операционна система, просто е прекалено стара и за днешните стандарти е просто ... дървена. Windows Phone 7 за телефони е това, което Vista беше за PC - неизбежната голяма крачка напред поемайки големи рискове, но пък отчайващо необходим ход за да останат някакви потребители на платформата. И докато Vista и Windows 7 постигнаха своя успех, те нямаха сериозна конкуренция, да се мигрира към тях беше просто въпрос на време. Интересно е как биха се справили ако имаше desktop еквивалент на iOS и Android и се налагаше да се изпотят малко повече. За Windows Phone 7 нещата ще са доста по-трудни.
И така, стигаме до момента, в който имаме добър производител на хардуер в Европа и добър производител на софтуер в щатите, стъпката изглежда логична, заедно би трябвало да се справят доста по-добре. Дали ? Вице президента на Google Vic Gundotra изрази своето мнение кратко и ясно в twitter : "Две пуйки не правят орел". Отговорът на Stephen Elop беше "Двама производители на колела от Охайо, един ден решили да летят." (Two bicycle makers, from Dayton Ohio, one day decided to fly.)
Лошото, поне за мен е, че изчезва OVI. Магазинът на Nokia изчезва за сметка на Windows Marketplace, а OVI Maps се слива с Bing Maps. Bing Live на всяка Nokia, звучи си страшничко.
За сметка на това пък на Nokia ще бъде разрешено да модифицират Windows Phone 7 повече от всеки друг производител (което не съм убеден, че ще направят). Micrsoft също се очаква да помогне на Nokia за сключване на договори с американските оператори за разпространение на финландски телефони (като правят Apple с iPhone например), защото позициите им там са доста слаби.
Въпреки че голяма част от клиентите на Nokia не са много доволни от това решение, работниците във Финландия негодуват заради несигурността на работните им места, като цяло смятам, че обединяването на двете компании на един фронт е нещо добро. Дори започнах да се замислям отново дали да не си взема Nokia, тъй като до преди седмица щеше да е необходимо да консумирам солидно количество алкохол за да се реше на такава стъпка.
Конкуренция - да. Разнообразието на ОС за мобилни телефони леко намаля, но пък нека бъдем искрени - Symbian и Maemo реално не бяха нещо сериозно.
Докато iPhone са заети да броят продадени телефони, Google да сложат Android на всеки телефон, а Nokia и Microsoft се мъчат да преподредят редиците, скритата заплаха може да се окаже HP с тяхната WebOS. Въпреки, че съм леко скептичен към тази OS смятам, че има потенциал и си заслужава да се хвърля по едно око в прес съобщенията на компанията.
неделя, ноември 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
четвъртък, октомври 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 версията. Въпреки базарния модел на софтуера с отворен код, винаги съм бил привърженик на идеята за силна фигура на върха, която да има последната дума по всеки въпрос. От тук идва разликата между добрия софтуер и сбирщината от хакове.
Все пак въпроса е какво искаш като краен резултат, многофункционален софтуер, който от време на време се чупи и губи информация или орязана откъм функционалност, но пък много стабилна система. Съществуват и двата варианта, и двата изкарват пари, а щом е така, значи има някакъв смисъл от това. Това пък от своя страна доказва, че всичко по-горе е просто една теория, която може и да има, може и да няма реална обосновка.
Етикети: develop, open culture, software
петък, юли 23, 2010
Изборът и мобилните комуникации
Избора Санчо ... е нещо много важно. Борим се всеки ден за да имаме избора да направим това или онова.
Но нека както винаги подходя злободневно и принизя изконни човешки ценности използвайки глупави и нямащи нищо общо сравнения.
Баба ми (например) е един от хората, които са живели в един по-добър свят. Има една телефонна компания, която дава един тип телефон и предлага една услуга. Избор нямаш, но пък замислете се:
Имаш си телефон само вкъщи, който не е особено удобен и функционален, но пък върши това за което си го купил, звъни.
Знаеш, че един разговор е един импулс колктото и да говориш. Един импулс струва точно толкова стотинки и това е. Абсолютно нищо друго не ти трябва да знаеш.
Мислите ли, че баба ми е била щастлива с тази услуга - аз да (въпреки че едва ли "щастлива" е думата, която можем да използваме в този случай).
Аз, няколко деситилетия по-късно, съм безкрайно объркан и изнервен не просто от самата услуга, а от избора, който съм принуден да направя. Имаме 3 мобилни оператора и още не знам колко други компании предлагат стационарни телефони.
Когато звъня на някого от мобилния си телефон трябва да мисля кой оператор използва отсрещния, защото цената която плащам е различна. Отдавна не знам точно колко ми струва един "импулс", просто защото вече такова нещо няма, таксува се на минута, но пък някои вземат определена сума за първите 30 секунди, други за първите 15, а някои за първата минута.
На всичкото отгоре колко плащам не зависи само от оператора ми, но и от тарифния ми план. Имате ли идея колко тарифни плана има вашия оператор ? Аз не.
Всеки път когато отида да си плащам сметката, учтивия служител пита:
- А вие знаете ли за новия .... (нещо което просто не чувам) ?
Аз отговарям с абсолютно безразличен поглед - Не!
- А искате ли ...
- Не !
Служителя тук вече е абсолютно объркан и дори се чувства леко обиден. Не искам да бъда груб, просто не ме интересува какви други тарифни планове има. Та аз едва успях да избера този.
Нарочно го правят, чакат ни в офисите си като алигатор - антилопа в близост до езерото. Знаят, че рано или късно ще се върнем за да пием вода и те търпеливо стоят точат зъбки за да може в правилния момент да изкочат да ни захапят за вратовете.
Имам чувството, че имат хиляди планове и никой, ама никой не може да ми каже кой е най-добрия, защото те били направени така че да ми пасват на мен. Ако започна да разглеждам всеки един от тях за да избера кой точно ще ми е най-полезен, ще трябва да отделя цял ден, за нещо което нито ми е интересно, нито имам каквото и да било желание да правя.
А да, и след 3-4 месеца ще излеже нова "гореща оферта", която в главата на някой гении ще ми се струва неустоима, но пък.. представете си - "Не ме интересува".
Аз го приемам така, ако отделя достатъчно внимание за да избера абсолютно-утимативно-невероятния план, който е направен да ми пасва по-добре и от дънки Levis, може би (хипотетично), ще спестявам по 10-15% от месечната си сметка. Не искам, плащам си данъка за да бъда незаинтересован.
"Един оператор - един телефон, един градски разговор - един импулс, един импулс - X стотинки" ще бъде новата ми мантра отивайки следващия път да си платя сметката.
Етикети: лично, fickbar menshen, idiotism
четвъртък, юли 01, 2010
петък, юни 25, 2010
PHP IDE-та, редактори, среди или който както им вика
IDE или Integrated development environment кое е по-добро според вас ? (ще го уточним в движение)
четвъртък, юни 24, 2010
Използване на CI Active Record в скрипт извън CodeIgniter

Добре, ясно, ползвате CodeIgniter и ви се налага да напишете някакъв малък скрипт (примерно нещо, което ще се изпълнява с cron) и се налага да правите някакви си нещица с базата данни.
// 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 DBinclude(BASEPATH . 'codeigniter/Common.php');include(BASEPATH . 'database/DB.php');$db =& DB();
Това е. Вече имате променлива $db и можете да си ползвате любимия $db->get() :)
сряда, юни 23, 2010
iTunes или ... какво съм изпускал толкова много време
Преди няколко дни получих писмо от Apple писмо, в което ме уведомяват, че като регистриран Apple developer (аз съм само регистриран, без другите 2 думички), мога да гледам безплатно сесиите от Apple Worldwide Developer Conference 2010.
Етикети: software
вторник, април 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, нали?
В България естествено нещата се развиха по малко по-различен начин.
Както казва 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.
Етикети: fun, geex, idiotism, open culture, positive
сряда, февруари 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
неделя, декември 13, 2009
Windows 7 първи (и втори) впечатления
Да, най-после и аз си сложих Windows 7, беше въпрос на време.
Ще се постарая да бъда кратък:
- Microsoft продължават да доказват, че многото пари не правят добър дизайн и не могат да купят добър вкус. Windows 7 въпреки промените по външния вид, продължава да ми изглежда неприятен. Все пак е доста по-добре от XP.
- Скоростта спрямо Vista при същия хардуер е доста по-добра (за сега). Все пак Eclipse си е eclipse :)
- User Account Controll-а, сякаш вече не е толкова дразнещ, много по-рядко ме пита за глупости.
- Aero тръгва трудно (поне при мен)
- Не ми иска чак толкова много драйвери колкото XP, все пак обаче си иска своето.
- Рестартирането на компютъра продължава да се води естествен край на инсталацията на всяка програма.
- За пръв път виждам нормален начин да исталиране на превод за интерфейса. Българския language pack идва с ъпдейтите и след това остава само да си го смените от Control Panel-а. След това естествено - log off.
- task бара изглежда доста по-подреден, въпреки че групирането на прозорци дразни
- скритите икони в system tray-а се показват по много грозен начин.
- Internet Explorer 8 е ужасно бавен дори при отварянето на празен таб. Acid3 теста дава 20 от 100 и грозен надпис FAIL. Firefox 3.5.5 - 92 от 100. ;)
На пръв поглед е това. За сега не мога да кажа нищо по-задълбочено, но все пак нещата не изглеждат чак толкова зле. Все пак ако искате / налага се да ползвате най-новите неща от Microsoft, Vista или 7 са почти задължителни.
Тепърва ми остава да хвърля едно око на IIS7, MSSQL, Visual Studio и т.н.
Ако още карате с XP и нямате да сменяте типа на операционната система с някоя unix-подобна (Linux, Mac) по-добре минете на 7, най-малкото така се доближаваме до момента, в който вече никой няма да ползва Internet Explorer 6, амин !
P.S MS Windows 7 без Intenet Explorer и Windows Media Player, sounds good, isn`t it! :)
Етикети: software
петък, декември 11, 2009
Как не се прави
Ето още една "красива" таблица, която срещнах в проекта, който оправям в момента. Тя ме остави леко замислен и объркан, повдигайки някои въпроси в блуждаещото ви съзнание:
И така ...
Първо. Защо имам id поле след като то не auto_increment и му е сложена default-на стойност 0 ? Как и с какво точно ми помага това поле ?
Второ. Защо полето статус е тип integer (а не boolean или поне tinyint) и стойностите му са 1 и 2 (а не 0 и 1) ?
Очаквам предложения и обяснения! Най-доброто обяснение печели 1 бира от мен !
Етикети: idiotism

