Показват се публикациите с етикет software. Показване на всички публикации
Показват се публикациите с етикет software. Показване на всички публикации

понеделник, февруари 28, 2011

Грешката - А не, ти халюцинираш

Ако има нещо наистина изнервящо в софтуерния свят, то това е грешката "А не, ти халюцинираш".

Да обясня, това най-често се случва на обикновените потребители, но и редовия developer не е застрахован, ситуацията е следната, вие най-невинно съобщавате:
- "Функцията Х не работи !" или "Функцията Х хвърля грешки!"
Отговора е пределно ясен:
- При мен няма такъв проблем.

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

Първите няколко пъти си мислиш, че явно проблема е наистина само при теб и ако за щастие (или нещастие, вие преценете) разбирате долу горе за какво иде реч, сядате и започвате да търсите проблема. След няколко часа го намирате и оправяте, но от опит мога да твърдя, че проблема много рядко се оказва изолиран случаи.

Имало е доста случаи, в които  (как пък да му се не види) програмиста бил гледал на друго място в програмата и там проблем нямало. 
В други пък просто не могъл да забележи 50 редова грешка изпляскана на половин екран. Е че тя е мъничка, как да я види?


След като сте осъзнали, че имате проблема "А не, ти халюцинираш", започва една епична битка в която се опитваш да обясниш на софтуерния гуру, че не си вземал LSD скоро и това е реален проблем, който ти пречи на работата. Трябва да сте особено нагли, защото никой самоуважаващ се програмист не би рискувал да си наруши душевния комфорт дебъгвайки 2-3 реда код.
Много ясно трябва да обясните, че "Проблема при мен го няма" не е отговор и ако трябва, въпросния специалист ще си вдигне задника и ще дойде на място, щом при него "няма такова нещо".

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

четвъртък, октомври 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 версията. Въпреки базарния модел на софтуера с отворен код, винаги съм бил привърженик на идеята за силна фигура на върха, която да има последната дума по всеки въпрос. От тук идва разликата между добрия софтуер и сбирщината от хакове.

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

петък, юни 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 потребители" и всеки, който иска да се докопа до тях за да закачи някоя друга пачка, ще се наложи да мине покрай Стийв Джобс.

сряда, февруари 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. Така и трябва да си остане.

неделя, декември 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! :)

сряда, ноември 18, 2009

Multi-touch Linux

За някои може вече да не е новина, но от ядро 2.6.30 насам, Linux си има прекрасна поддръжка на multi-touch.
Ще ме извинявате за чуждицата, но не мога да измисля смилен и кратък превод. Накратко
това е поддръжка за работа на touchpad-а ви с повече от 1 пръст (не ме мъчете с touchpad).

tip: за да си проверите версията на ядрото - "uname -a"


Най-хубавата част на тази новина е, че не ви трябва специален хардуер. Повечето touch-пади на Synaptics си го поддържат (разбира се и много други, но специално тази марка ме интересува мен).

tip: За да проверите дали вашата джаджа е способна на нещо такова "synclient -m 100"; В графата Z се изписва с колко пръста натискате touchpad-а си. Ако имате число по-голямо от 1 - честито, печелите играчка :)


Хората, които са гледали какво правят машинките и софтуера на Apple с тази технология може леко да се превъзбудят, но за сега ще тряба да ги помоля да седнат обратно по местата си и да въздъхнат дълбоко. За момента осезаемата разлика е в това, че :
- натискане с 2 пръста е еквивалент на десен клик
- натискане с 3 пръста е еквивалент на среден клик
Натискането с 1 пръст мисля, че е ясно.
Ощя няма няма софтуер, който да разпознава жестове и подобни чудесийки, така че да "ябълковия" ефект, но и за това има време. Все някога слънцето ще изгрее и на нашата улица.

Все пак. Намирам го за много удобно. Специално на моя touchpad бутоните са му доста твърди и винаги ми е било некомфортно да ги ползвам, разбира се с времето се свиква, но така е къде, къде по-приятно.
Единствено "почукването" с 3 пръста ми се струва малко неудобно, тъй като природата ме е надарила с доста дебели и очевидно тежки пръсти и когато се опитвам (примерно) да отворя линк в нов таб отстрани изглежда все едно съм люто сърдит на лаптопа си и му причинявам нещо лошо. Схванахте идеята. Все пак след няколко часа упражнения започва да се разсейва съмнението, че ще счупите нещо.

newbie corner:
Като за финал, много хора не знаят за какво се ползва средния клик. Всъщност, доста хора не знаят, че има среден клик. Та ... това нещо дето ви е между двата бутона на мишката се казва "скрол" и освен ще може да "скролвате страници" с него, може да се натиска. Не се бъзикам, наистина е бутон. :)
Ако нямате мишка, обикновено при touchpad-ите се емулира чрез натискане на двата бутона едновременно.
Та, със среден клик може да се отварят страници в нов таб на Firefox, съотвено да се затварят страници, да се paste-ва текст и всякакви други полезни неща.

събота, ноември 07, 2009

Синхронизация на часа с Windows и Linux

Ако ползвате Windows и Linux на една и съща машина сте забелязали един интересен проблем. Часа постоянно се мени и за това си има много добро обяснение. И windows и linux (в моя случай Ubuntu) си синхронизират времето чрез NTP сървъри, но windows задава върху часовника на BIOS-а времето в конкретната часова зона, а Linux гринуичко време и съответно маха или добавя часове за да покаже на потребителя локалното му време.
(btw, това е само предположение на база наблюденията ми, нямам идея дали наистина прави точно това)

Това е лесно обяснимо, Linux изоснови е предвиден като многопотребителска операционна система и по този начин е много по-лесно да показваш текущото време на различни потребители в различни часовия пояси. При Windows нямам идея как е решен този проблем и дали въобще е решен. Може би се разчита на идеята, че Win потребителите не работят на един компютър от ралични зони. :)

Та ...
Това е малко дразнещо. Ако имате и двете операционни системи и ви се налага да работите често и с двете, още повече.

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

ntpdate ntp.ubuntu.com

Спокойно, няма да ви се разсърдят, че им ползвате ntp сървъра дори да не ползвате Ubuntu.
Под Windows нещата стоят по подобен начин. Просто направете един .bat файл, който съдържа
w32tm /resync

и кажете на системата да го пуска при зареждане (най-лесно ще ви е да го drag-нете в AutoRun на start менюто).

Общо взето се получава така, че когато се зареждат и Windows-а и Linux-а и двете ще ОС ще "питат" сървърите си "Колко е часа" и ще си го нагласят както си му е реда.

Ако ви се чете повечко за NTP (интересно е) може да започнете от тук - http://en.wikipedia.org/wiki/Network_Time_Protocol

неделя, октомври 11, 2009

50% Software Developer

Не съм писал отдавна, бла-бла-бла, да не продължавам.

Гледайте сега, имаме при нас един юноша бледен, той се казва Гошко (примерно) и като чудо е software developer. За незапознатите, това означава, че пие много кафе и постоянно се цъкли в монитора.
Гошко е типичен програмист и един ден му идва поредната гениална идея за невероятен продукт, който ще избие рибата и ще му донесе много пари. И понеже Гошко е същинското клише за програмист просто сяда и започва да пише.
Няма да говоря за това, че Гошко не сяда да си направи дизайна на приложението, че не предвижда време за тестване и документиране и т.н., дори ще пропусна 3 месеца упорит труд и гениални програмистки решениея.
След тези 60 дни работа, Гошко продължава да седи пред компютъра с все по-разтревожен поглед. В крайна сметка той има приложение, което е трябвало да бъде готово преди 2 месеца и от тогава е завършено на 99% докато не му дойде на ум поредната изключително важна функционалност, без която продукта му няма да е завършен и той се хвърля да пише и нея.

До тук е ясно. Стигне ли се до този етап значи вече си яко в гъбите и трудно ще излезеш от там. Аз лично така си изгубих наистина много време за да получа един продукт, който имаше основата на космически кораб, а се нуждаех от парапланер.
Може би това е резултат от това, че и аз и Гошко работим сами и измежду многото неща започваме да губим фокус.

От известно време чета блога на Джоел Сполски (въобще така трябва да му се пише името), та там споменава нещо много интересно (четох го отдавна и не ми се търси точен линк).
Той предлага следното решение. Сядаш и се правиш списък с всички необходими според теб компоненти. Да речем, че са общо 100. От тях внимателно избираш 50-те най-важни и ги имплементираш.
Какво се получава. Имаш продукт за много по-малко време, но с половината функционалност, та той на практика е незавършен.
Това, което казва Джоел е, че всъщност въобще не е така. Пускайки продукта с половината от предвидената функционалност, всъщност е много хитър план да си спестиш време и да разбереш от какво потребителите наистина имат нужда. Все пак нали идеята е, че всяка програма прави по едно нещо, дори да вградят в MS Office възможност да прави кафе, той пак ще си е офис пакет и потребителите му ще го купуват заради именно тази му функция, а не заради кафето.
Примера, който се даваше в поста беше за Apple и това, че пуснаха iPhone без copy/paste. На пръв поглед това е нещо, без което нито един "компютър" не би могъл да се пусне. Но Apple го пуснаха. При това телефона си стана доста успешен без дори да има copy/paste, представяте ли си.
Както и да е, потребителите ревнаха, че си нямат възможност да копират и залепят, от Apple казаха "No problem" и при следващия релийз на софтуера за телефона им пуснаха тази функционалност. Елементарно.
Идеята да пуснеш само 50% от функциите е много проста, пускаш основните неща и когато някой клиент ревне "Ама няма ми го това ..." просто си отваряш списъчето, поглеждаш и си казваш "Аха, това хубаво съм го мислил, добре, ще го напиша" или пък "Брей, не съм се сетил за това". Така в крайна сметка пишеш наистина необходимите 80% функции и като бонус получаваш едно разтегляне на нещата във времето, което ти дава възможност да обмислиш всичко по-добре.
Просто се оказва доста трудно да започнеш нещо голямо и да го завършиш "на един дъх"

Когато аз попаднах в ситуацията на Гошко, направих нещо подобно, нацепих проекта на много по-малки подпроекти, набелязах им основната функционалност и започнах да ги правя едно по едно. В началото първия release беше само с един работещ компонент, всичко останало седеше на "to be implemented", но клиента беше доволен защото основния компонент беше готов и работеше, плюс това му бях обяснил, че нещата ще стават постепенно, а той редовно виждаше някакъв прогрес.
Разбира се тогава не бях чел статията на Джоел и не знаех какво точно правя, но се получи.

Да кажем, че смислените ми проекти се броят на пръстите на ръцете ми, интересно е по-experienced програмистите да кажат какво мислят по-въпроса.

сряда, юни 24, 2009

Suse Studio - web, а ?

Най-после получих покана за SuseStudio beta tester.
За незапознатите да обясня за какво иде реч. Suse Studio си е едно готино уеб сайтче, в което можете да си "построите" сами linux дистрибуция на база SUSE, да си го изтеглите или дори да го тествате online.

Въпреки че софтуера е още в beta стадии се държи много прилично. Разработчиците са се постарали да не се усеща по нищо, че работите с web интерфейс, а не с desktop приложение.
При влизане те посреща един симпатичен робот и ти предлага да си избереш базова конфугурация, с която да започнеш същинското ръчкане и настройване. Възможните опции са server, minimal x, gnome, kde 3, kde 4 и minimalistic. След като си избереш шаблон за работа можеш съвсем спокойно да си селектираш какви пакети искаш да се инсталират допълнително и кои да се махнат, поддържат се зависимости, така че шанса да махнеш нещо, което не трябва, е доста малък.
Следват тривиалните настройки за локализация, добавяне на потребители и т.н.
До тук опциите са доста ограничени (поне ако искате наистина да разцъкате нещата на 100%), но идва интересната секция "Overlay files", където можете да качите на сървъра файлове, които да заменят вече съществуващите на диска. Ако знаете какво правите, това ви дава пълен контол над всичко което си поискате.
За финал остава естесвено самото сглобяване на системата, което в моя случай отне около 3 минути, като можете да си изберете дали да се build-не disc image, live cd, vmware virtual machine или xen virtual machine. Имате 15GB за експерименти. :)
След като процедурата завърши, освен очакваната функционалност да си го изтеглите има едно малко симпатично бутноче Testdrive. Тук започва забавлението. Можете да се свържете към виртуална машина стартирала вашата дистрибуция или през flash-овски уеб интерфейс или през ssh и да правите каквото си искате. Все пак не го приемайте като безплатен виртуален хостинг, всяка сесия се откача автоматично след 1 час - по мое мнение напълно достатъчно време за да разберете дали добичето работи като хората.
Виртуализацията на linux + GNOME ми се стори малко бавничка, но все пак върви върху QEMU (мен ако питате, лоша работа :)).

По-важния въпрос тук е на кого му трябва нещо такова ? Ако искаш да си направиш 100% твой си линукс имаш хиляди варианти - от linux from scratch, през debian net install, та чак до красивите и удобни инструментчета на ubuntu за тази цел.
На мен лично за подобен тип дейности ми допада най-много debian net install / arch linux net install идеята, тоест базова инсталация, която си слагате от диск и от там нататък всичко, което ви трябва се инсталира от net-а. По-голям контрол над системата - здраве му кажи.
Ще кажете - да, ама това е само за nerd-ове. Дори да приемем, че е така, аз пак не проумявам защо тези fancy user friendly shiny happy geeky-weeky teeny-weeny flashy нещица трябва да се случват в web ???
Само мога да си представя какви хардуерни ресурси са отделени за този проект. За мен чиста загуба на време и ток. :)

Whatever, проекта не е лош като изпълнение, ако ви допада идеята тествайте го и сами преценете до колко е полезен. Най-малкото си заслужава разцъкването. Можем само да се надяваме, че това ще донесе на linux някой друг фен.

P.S. За наблюдателните, Chrome под Linux тича та не мога да го догоня. Нямам търпение да излезе нещо по stable. На фона на това, което писах за Firefox, май открих новия си любим браузър.

неделя, юни 14, 2009

Web browser-ски истории

Преди да започна на философствам, да си излея мъката.
Оставям си лаптопа пуснат и излизам като само заключвам екрана за да не пипат любопитни хорица. Прибирам се на следващия ден. Пиша си паролата, влизам.
Всичко сече зверски. Системата е тотално неизползваема. 100% cpu usage. top показва, че най-времезаемащия процес е firefox с 2%. Имам 1gb RAM, заети около 400MB, swap 960MB от 1GB.
Swapoff твърди, че не може да освободи партишъна. Чудя се дълго време какво става.
Оказва се, че след убиване на Firefox (който по принцип не се спира) се освобождават 150MB RAM и 700MB swap! wtf !!!
Нямам идея какво прави тоя браузър и какви мамка му ги пише в тоя swap.

Колкото повече се увеличава числото след името Firefox, браузъра става все по-функционален, но и все по-тежък. За сравнение един тъп уеб четец като Opera направо кърти по отношение използване на памет и скорост. А уж нямат тази огромна потребителска база, нямат същия брой разработчици и т.н., а все пак се справят прекрасно, колкото и да не искам да го призная.
Firefox сякаш продължава да трупа потребителска база, осланяйки се само на стара слава. А борбата при браузърите става все по-ожесточена след като google се настаниха на масата с намерение да вземат голямо парче от тортата. Първите бета версии на google chrome за linux и mac вече са факт, а фурора, който предизвика излизането на версията за windows просто не се нуждае от коментар.
Microsoft май последни осъзнаха, че пазара на уеб браузърите не им принадлежи по право и набързо се втурнаха да вадят нови версии на своя печално известен Internet Explorer.
Opera без да вдига много шум вади версия след версия, всяка следваща стъпка е точно на мястото си и се радва на почти фанатични потребители.
Май само Apple от самото начало имаха ясна визия какво ще правят с техния Safari, но пък и тях никой не ги притиска - нямат конкуренция на Mac платформата и никога не са имали амбициите да направят нещо сериозно в света на така презираните PC-та.
Единствения останал жокер в ръкава на Firefox е неговота функционалност, но ако не се направи нещо по въпроса с бъговете и бавната работа, просто няма как да продължат нещата нагоре.

Наскоро се замислих много за нещата около браузърите покрай един нов проект наречен uzbl. Момчетата, които го разработват твърдят, че никой от съвременните браузъри не следва unix философията, че всяка програма трябва да прави само по едно нещо и то да го прави добре. Те казват, че не им трябва сложен потребителски интерфейс, искат удобство и най-важното - казват, че всичко - от табове, през bookmarks, до ad-blocker трябва да става извън браузъра в отделни скриптове.
Пробвах го, отзад стои webkit, използва режими на работа както VI, скритповете за bookmark и download са на тъп bash и е най-бързия браузър, който някога съм ползвал просто защото няма какво да го затормози.
Ясно е, че uzbl не е продукт за всеки, малко хора ще се хванат да разучат shortcut-ите и да настроят браузърчето така че наистина да им е удобно. Накратко тази програмка никога няма да добие голяма популярност, но отваря някои много интересни въпроси относно това как се прави качествен софтуер.

btw, Виктор (един приятел от Русе) му хареса идеята на uzbl и направи един негов си клонинг на qt, който си има дори и табове. Ако се реши да се доразвие проектчето, ще пуснем малко source пък да видим... :)

вторник, май 05, 2009

За Windows 7 и развитието на Microsoft през погледа на Linux потребител


Всички знаете, че съм заклет Linux фен и това много трудно може да се промени, но все пак не живея в пещера, виждам какво се случва и любопитството в мен напира да пробвам новия Windows 7.

Не знам дали това което се случва с компанията в момента е в следствие ръководството на Стив Балмър или Бил Гейст е оставил солидно "наследство", но в последно време виждам някои доста интересни промени в Microsoft.
Първо и най-странното за мен е, че Microsoft започват да се опитват да пишат качествен и функционален софтуер. Но за това ще напиша в отделен пост, Windows 7 идва с някои подобрения, които успяха да впечатлят дори nerd като мен :)


Трябва да се обърне внимание, че времето между излизането на Windows XP и Vista беше 7 години и въпреки че XP беше/e една много добра ОС, за тези години много неща се промениха. Това е старшно много време.
Преди време в блога си Mark Shutleworth (създателя на Canonical) писа за release cycle-а на една Linux дистрибуция и софтуер като цяло, тоест през колко време е оптималния вариант за нова версия. За Ubuntu това са 6 месеца. Дали са много или малко, не знам, но при всички положения е по-добре от 7 години. Общо взето според него съществуват 2 варианта, които можем да идентифицираме с двата най-големи desktop evironment проекта за Linux - GNOME и KDE.

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

На другата крайност е KDE, който с всяка своя нова версия прави огромни скокове. Все пак при прехода от версия 3 до версия 4 беше пренаписана почти цялата среда. Такъв тип обновяване ентусиазира опитните потребители, но отблъсква редовия user, на когото му се налага да свикне с новата система. Освен това се губи много от стабилността на софтуера, KDE 3 стана наистина добра графична среда едва към версия 3.5, а кога това ще се случи с KDE 4 никой не знае.

Донякъде смятам, че именно този проблем се получи и с Vista. Дългия цикъл на обновяване даде достатъчно време на разработчиците да напишат каквато си искат функционалност, но резултата беше бъгъва работна среда, отблъскваща обикновения компютърен кибик.
Подозирам, че това се опитват да избегнат от Microsoft с честото пускане на нови версии, release candidates и т.н. при Windows 7.


Оставяйки потребителите да използват операционната система, колкото си рано искат, получаваш милиони бета тестери, на които не плащаш нито стотинка. Нови проблеми изникват постоянно и екипа разработчици има време да отстрани по сериозните от тях докато дойде време за официалното излизане на Windows 7.
Освен това имаш възможност с всеки следващ build, да вдигнеш пушилка по online медиите и да поддържаш вниманието насочено именно към този продукт.
Никак не лоша идея трябва да призная. Винаги (тайно) съм подозирал, че в MS работят умни деца :)

Нека все пак не забравяме името на компанията. Microsoft не дават нищо без пари. След като изпълните ролята си на beta tester и излезе официална версия, ако не обновите системата си на 1-ви март 2010г. компютъра ви ще започне да ви го напомня по много неприятен начин - като се изключва през 2 часа. Ако сте достатъчно упорити и издържите 3 месеца на това мъчение на 1-ви юни 2010 той окончателно ще спре да работи.
Microsoft-ска работа. :)

Интересно ми е как ще се развият нещата. Ще поживеем, ще видим. :)

PS. Няма лошо да си поиграете с Windows за няколко дена. Истината си остава в пигвина и демона - истинските приятели на geek-а :)

сряда, март 25, 2009

Как да превърнем gedit в IDE за C++

Ако ползвате GNOME, то е твърде вероятно да използвате и gedit и ако като мен от време на време ви се налага да пишете на C++, а не ви се занимава с големи и тежки IDE-та то вероятно този съвет ще ви е от полза.
Простичкия но мощен gedit има много готини модули. Можете да ги видите като накликате Редактиране / Настройки и отидете на таба Модули. От там активирайте модула "Външни инструменти" и наснете бутона за насктройките му. От там добавете нов Tool и наблъскайте вътре следните настройки.

Description: Коплиране на C++ файл
Shortcut key: F5
Command: g++ $GEDIT_CURRENT_DOCUMENT_NAME -o ${GEDIT_CURRENT_DOCUMENT_NAME%.*}
Input : Нищо
Output: Показване в долния панел
Aplicability: Всички документи

Благодарение на това ще можете с бутона F5 да компилирате автоматично файла, който сте отворили. Това ще компилира само 1 файл, ако искате да компилирате по-големи проекти, то вече има добавена функция, с shortcut key "ctrl + F8", която търси makefile.

Следва добавяне на следващ контрол:
Description: Изпълнение на програма
Shortcut key: F6
Command: ./${GEDIT_CURRENT_DOCUMENT_NAME%.*}
Input : Нищо
Output: Показване в долния панел
Aplicability: Всички документи

От тук нататък остава само coding, натискате F5 за да компилирате и ако няма никакви грешки F6 за да изпълните програмата си.
Лесно и бързо, перфектно за писане на малоумни програми за университета :) :P

П.П. Надявам се няма нужда да обяснявам как това може да работи с C или който и да било друг език и компилатор :)

петък, март 20, 2009

Bluetooth Phreax


Днес вдъхновен от човъркането по телефона си вървях по центъра на Пловдив и четях глупости от нета.
Тогава ми хрумна една интересна идея... :)

Забавната част
Вървя си по улицата и си мисля, какво ще стане ако потърся някого по bluetooth. Бря, намерих хора. Избрах една снимка на малко русо момиченче, ококорило очи пред fish eye и тръгнах да я пращам на всеки който засека. Ей така, между другото, докато небрежно си вървя по улицата с телефон в ръка.
Централната улица на Пловдив, от военния клуб до джумаята, се минава за около 15-20 минути ако вървиш бавничко. За това растояние "прихванах" около 10-тина телефона. Повечето ги изгубих от обхват докато вървях. Забавно беше да видя как 2-3 човека с леко очудване започнаха да вадят телефони и да отказват трансфера и накрая един младеж се спря, погледна си телефона, прие трансфера, погледна снимката, огледа се и с усмивка продължи да крачи нагоре.
Мен малко ме трясна параноята и веднага прибрах Nokia-та и спрях да пращам на хората, но като цяло съм доволен от малкия си "експеримент".

Практиката
Като се замисля, тази технология може да се използва на много неща. Някои може просто да си спамят, винаги ще се намерят хора, които ще се опитват да си рекламират продуктите по всевъзможни начини. Вървиш си по улицата и получаваш по bluetooth-а "Новият Big Mac с месо от задна плешка от дългокосместа овца. Само в McDonalds. Само за 2,99", обръщаш се в ляво и виждаш голямо червено М, което те кани да влезеш. :) Вероятно ще е много дразнещо, но поне в началото ще ми е забавно.
Други може да се опитват да хакват, въпреки че възможността за това е доста малка - не знам дали има телефони, които приемат трансфери без да питат притежателя си преди това. Все пак има всякакви хора, примерно за съквартиранта ми Владо, EXIF не е нещо, което съдържа данни за снимките, а място, където да се набутат "лоши" кодове. :)
Най-културния вариант за подобен тип спамене е да се рекламира докато се доставя някаква полезна за потребителите информация. Примерно минавате покрай някоя банка и получавате курса на долара и еврото плюс бонус поздрави от банка "Еди Коя Си".
Приложенията са наистина много, но разбира се най-важното, което остава е да гледаш как хората се стряскат по улиците. Чарът на този тип спам е в това, че не просто получаваш някаква глупост, а има и някакъв вид физически контакт. Виждаш хората, които спамиш, евентуално и те те виждат. Има малко по-друг вид комуникация.

Техническата част

По отблизо погледнато нещата въобще не са трудни за реализиране. Какъвто и да е компютър с usb bluetooth dongle за 15 лева ще свърши перфектната работа. След като проверих в нета, се оказа, че и други хора са се сетили за това доста преди мен и вече има написан подобен софтуер. Но дори и да се наложи да се пише програма специално за това, то няма да има особени трудности.
Най-важното според мен е от самото начало да се предотврати безконтролния спам, как ще стане това е отделна тема. :)
Може да се напишат някои проверки от страна на изпращача, дали днес/тази седмица дадения телефон е получил съобщение и да не му се праща пак. Може да се напише клиентска програма, която да блокира или просто да филтрира определени stream-ове и още какво ли не. При повечко желание могат да се направят наистина много неща, като разбира се най-простото остава да си спрете bluetooth-а или да изключите видимостта.

Сега, важно съобщение, ако сте nerd разполагате с място в централната част на някой град и ви се занимава с глупости обадете се. Имайте в предвид, че bluetooth-а има обхват около 10 метра, тоест трябва да е някое наистнина централно място, където минават много хора. Хардуера от вас, софтуера от мен, забавлението - за всички. :)
Ако пък смятате, че може да рекламирате бизнеса си по тоя начин, пак аз съм човека :)
Много ми се иска да го тествам това в полеви условия.

четвъртък, март 19, 2009

Местим се от web към desktop или ?


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

Ако погледнем малко по-назад във времето, то виждаме, че в началото процеса е бил почти в обратна посока - местене на дескоп приложенията в уеб. Добър пример за това са пощите. От по-възрастни компютърджии съм чувал, че преди единствения начин да си провериш пощата е бил чрез mail клиент, който да я изтегли от съответния сървър. Постепенно идват уеб интерфейси, които вършат същата работа и нещата се променят, тъй като вече няма нужда от отделни програми за това и съответно няма никакви настройки, които да затруднят нещата. Стига се до момент, когато вече дори офис пакета може да ти е online, та дори и можеш да играеш 3d first person shooter през браузъра си (quake live).

Ако погледнем още по-назад, времето за PDP-тата, то тогава е било немислимо компютрите да си обменят информация. Представете си как купувате нова машина и не можете да прехвърлите данните по никакъв начин освен да ги набиете на ръка или да напишете конвертор, който да ги преобразува. Както виждате и в това отношение нещата вече са много променени.
Ако следваме този ред на мисли, то изниква идеята, че интернет освен перфектната среда за пренос на данни е и перфектната среда за унифициране на приложенията. Какво имам в предвид? Примерно имате RSS четец. В момента може да избирате между някой desktop клиент (аз ползвам liferea) или да изберете някой уеб такъв (аз ползвам и google reader). Нормално един такъв клиент проверява да кажем 100 rss feed-а и ви показва обновленията. Това естествено отнема време. Какво ще стане ако вържем liferea с google reader и гугълския четец проверява всичко и само праща смляната информация на liferea. btw, такъв проект вече има, който започна на google summer of code 2008 и вече има прилични резултати. И така, какво като песним малко време за сметка на сървърите на "Гошко"? Ами имаме централизирано обработване на информацията и много клиенти, които можем да вържем към него като това примерно. Това е версия на четеца за свъсем обикновени java базирани телефони, която също работи с google reader. Тоест в един момент се получава така, че можеш да си прочетеш новините през уеб, през десктоп четеца си или през мобилния телефон. При това те всичките клиенти знаят кои новини съм прочел и кои не. Все пак важна е информацията, а не софтуера (поне за обикновените хора, а не за нас geek-овете :).
Просто трябва да накараш съответната джаджа да се свърже с интернет и от там нататък ти трябва софтуер, който да работи с вече изградените приложения.

Всички тия мисли ми дойдоха днес, когато си свързах телефона към интернет и успях да си проверя пощата, да видя в google maps къде се намирам и да прочета някоя друга новина. Винаги съм мислел, че тези екстри са за ония готините хора с PDA-четата и скъпите телефони. Е, оказа се, че вече нещата не стоят точно така. Честно казано съм доста въодушевен около цялото това нещо и не съм спрял да човъркам различен софтуер вече цял ден.
Само погледнете страницата на gooogle mobile, направо съм учуден колко много софтуер може да се изтегли от там.
Представете си как отивате на Перперикон (примерно) и направи клипче за спомен, след това го качвате в youtube, блогнете за интересното преживяване, като естествено вкарвате клипчето във поста, след това да влизате в пощата си и да пращате линкове на приятели и познати или просто да го публикувате в twitter акаунта си. Ваша воля. И всичко това с обикновен телефон за около 100-тина лева. На мен идеята ми харесва. :)
Хората все по-усилено вървят в посока включване на мобилните устройства в голямата световна лудница - www.
Гледах / слушах / четох (не помня кое точно) преди време едно интервю със създателя на O`Reilly, който е фен на twitter и блогва усилено. Та той твърдеше, че едно от нещата, които са довели до голямата популярност на микроблогинг услугата е именно това, че много добре интегрираха мобилните телефони. За тези, които не са го ползвали - можеше да пратиш sms, който да се публикува на личния ви профил в twitter.

Ще поживеем, ще видим. За сега само си нахвърлям някои мои наблюдения върху нещата, пък да видим какмо ще стане. Иска ми се след някоя друга петилетка да прегледам тези неща и да си кажа - за това бях прав, за това - не, и ще ми е приятно да прочета какво е било времето :)

П.П. Сещам се някаква снимка, която гледах наскоро. Историята се развива през 60-те, на столове стоят няколко човека в костюми, а пред тях е човек от в космонавтски костюм.
- И ти, човеко от бъдещето, казваш, че хората ще си снимат закуската, ще я публикуват в нещо наречено интернет и другите ще я коментират.
- Да.
- Не знам, хората от бъдещето ми изглеждат доста тъпи !
:lol:

събота, февруари 21, 2009

Desktop клиенти за web приложения


Напоследък нещо съм се зарибил по desktop клиенти за различни online приложения като twitter, blogger, rss и picassa.
Дори в момента пиша този пост от програмка на gnome, наречена drivel.

Drivel
е разработка на GNOME проекта и както виждате е просто един прозорец, в който може да пишете текст. Поддържа Blogger и LiveJournal. С нея съвсем лесно ще можете да публикувате нови постове и да редактирате стари. При blogger можете да публикувате във всичките ви блогове само със смяна на една отметка.
Хубава функция е минаването в offline режим, при която ще можете да пишете и запазвате постове и при първата wireless мрежа в обхват да ги качите в блога си.
Поддържа основно форматиране на текста и добавяне на картинки, но само от url-и в интернет. За незапознатите с blogger, при добавяне на картинка, тя се качва в picassa акаунта ви и от там автоматично се линква към конкретния пост. Тук разбира се може да заобиколите тази липса на функционалсност с google-ската picassa, чрез която можете без да докосвате browser да качите необходимата снимка в албума на конкретния блог и после просто да добавите линка. Лесно и просто, от вашия desktop. :)
Ако ви е писнало да отваряте browser, да се логвате и да използвате тежкия и бавен web интерфейс на blogger, мисля че това е добра алтернатива.

За Twitux не може да се каже много, тъй като е просто twitter клиент, няма кой знае каква функционалност, но и самия twitter не предполага такава. Автоматично се свързва с twitter акаунта ви, показва в реално време когато някой от хората, които следите напише нещо и ви позволява да добавяте собствен tweet.

Доскоро в firefox-а постянно бяха отворени gmail и google reader, но по едно време като че ли се усетих, че точно тези два таб-а много бавят цялата лисица. А когато нормално използвам п 20-30 таба и си рестартирам браузъра веднъж на 2 дена, това се оказва доста важно.
За това от известно време насам започнах да използвам LifeRea и Gmail Screenlet.

LifeRea e съвсем нормален rss клиент със същата функционалност като google reader, но седи в system tray-а и не ви притеснява докато не дойде нещо ново "по жицата". Миграцията от google-ския четец към liferea е елементарна, просто влизате в акаунта си и експортвате всички сайтове, които следите, след което просто ги вкарвате в liferea и дори няма да усетите някаква голяма разлика.

Повечето хора, предпочитат за работа с поща да използват desktop mail клиент от типа на evolution и thunderbird, но мразя POP3, а през IMAP да изтегля 4GB поща ми се струва неподходящо. За това използвам
Gmail Screenlet. Това е widget от пакета Screenlets, които представляват малки програмки, които седят залепени за desktop-а и правят някакви шашави неща. Примерно показват часа, натоварване на процесора, количество заета RAM памет и т.н. В случая gmail screenlet просто ми показва когато имам ново писмо и мога да отворя пощата си и да го видя. Спестява ми 99% от времето, в което gmail е зареден в браузъра.
Същото може да се постигне и с plug-in-и на firefox ако не ви се занимава с Screenlets.

Ако някоя от програмките ви хареса, чувствайте се предизвикани да ги пробвате и да пуснете някой коментар :)

петък, декември 19, 2008

Дали Google Chrome трябва да се казва MS Chrome ?

В декемврийския брой на списание CPU, Alex St. John - един от създателите на DirectX, работил дълги години за Microsoft, разкрива някои факти около Google Chrome и връзката му с компанията на Бил Гейтс.

Историята му започва през 1998г., когато той е един от разработчиците в MS, които отговарят за DirectX. Заради доминиращата позиция на Netscape по онова време и тъй като DirectX е бил доста успешен проект, на част от разработчиците му било възложено да се включат в борбата срещу конкурентния web browser. Естествено те предложили в браузъра да се интегрират сложна мултимедия чрез сигурна среда и така да си използва функционалността на DirectX. Така се ражда ActiveX, чието първоначално име било DirectBrowser, но тъй като по думите на автора в него нямало нищо "директно" го променили.

Тогава стартира и проекта ChromEffects като браузър с многофункционален скриптов език, който давал достъп до много от възможностите на DirectX, включително Direct3D. Едно от първите демота на тази технология било приложение за разглеждане на карти, което (не случайно) работело точно като Google Maps.
В този момент Alex John напуска Microsoft и създава WildTangent, компания на която по-късно хората от Редмънд възлагат задачата да напише именно това приложение за карти. Авторът патентовал тази програма и по-късно я продал на Google.
Точно като Google Chrome, ChromEffects изпълнявал всяка страница в изолирана среда, така че при забиване на една от тях да не се налага рестартиране на целия browser. Уеб четецът на Microsoft поддържал много от функциите на съвременния Chrome като download manager, видео, аудио, 2D и 3D ефекти.
Точно преди предвидената дата за пускане на ChromEffect, проекта бил прекратен, като основанието било липса на интерес от потребителска страна, въпреки че бил почти напълно готов. Автора все пак смята, че причината за това била в делото водено от антимонополната комисия срещу Microsoft. Ръководителя на прокта Еric Engstrom бил един от 12-те ключови свидетели по делото.
Така, с прекратяването на този проект се изгубила една технология, на която й бяха нужни 10 години за да бъде преоткрита от google.

Не знам до колко това е вярно и до колко изказването на Alex John е обективно, но нещата изглеждат логични и едва сега намирам връзка между някои факти.
Тази информация ме кара да мисля, че някога в Редмънд е имало иновации, а не само огромен маркетингов отдел.
Все пак статията не променя мнението ми за Microsoft, те все още са "лошите", единственото което ме притеснява е леко горчивия остатъчен привкус и напрапчивия глас в главата ми, който повтаря "Google = Big Brother, Google = Big Brother, Google...".