Дневника на Сашо / Архив за месец / Април, 2008
Архив за Април, 2008
Неганивен опит с работата ми с фрилансери.
Имам доста негативен опит с работат ми с фрилансери. Имам софтуер от който се състои от три функционални модула, или по точно два модула със своите взаимоотношения един към друг. Софтуера исках да се изпълни на РНР 5 беза JavaScript и подпрян отзад от MySQL 5. Като всичко е UTF-8 кодиране, без никакви CSS магии а прости линкове на бял фон. Първия човек си взе всичките пари и направи едно парче код коете не работеше на практика. Втория не работеше, или по-точно нямаше време да работи. И така търсих и "намерих" трети човек (по-точно казано се насадих на пачи яйца...). Последния ме разиграваше 5 месеца и нищо не написа. И като равносметка, бюджета който имах за софтуера го надхвърлих два-пъти и то за моя сметка, което се равнява на един Форд Ескорт от последните модели. А на практика още нямам никакъв работещ софтуер.
Имам и някъкв положетелен опит при работата ми със софтуер по задание. На два пъти Георги Чорбаджийски направи това което исках. Дали той, или някой от фирмата му, или някой негов познат не знам, но имах готово решение срещу съответното заплащане.
В момента подготвям отново заданието за ненаписания софтуер, за да търся кой да го напише. Фирми които началната им ставка почва от 5000 евро не са за мене. Мисля да потърся и хора от Китай и Индия. Софтуера на практика няма да е повече от 100 Кбайта.
Задание за софтуер на РНР/MySQL
Това по долу е заданието на софтуера което днес написах на един дъх. Текущата версия е с правописни и пунктуационни грешки но се чете. За мултиезичността забравете на този етап, интерфейса е на български. Системата за ауторизация не е най-централно място, а интерфейса може да е чист HTML и да се разчита на стиловете в браузъра. Като разгледате заданието ще забележите че има 5 еднотипни вкарвания на данни в базата. А цялата комуникация е описана в три страници, но се кодира на РНР в не повече от 30-40 реда.
zadanie_bg.odt
zadanie_bg.pdf
Вторник, 22 Април 2008
Как да накараме Ейч Ти Ем Ел-а, Пъ Хъ Пъ-то и Мускула да говорят UTF-8
Трудно но не и невъзможно. Приемене че това са три животни, едното е водно, другото тревопасно а третото хищник. Тая тема е иницирана от това че сам си започнах софта за контролерите OMRON. За HTML да го накараме правилно да визуализира UTF-8 се правят две неща, едното е да се зададе правилния DOCTYPE <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> още в началото на файла, а после в главата да се зададе чрез мета таг content-type <meta http-equiv="content-type" content="text/html; charset=UTF-8">. Също е много важно самата кодировка на php и html файловете да ви е UTF-8, при мен е "UTF-8 without BOM" (ползвайте читав сорс код редактор като... отговор по запитване...). Опираме до PHP-то, има настройка(клауза или както и да се казва на Български език) - default_charset в php.ini е най-добре да се остави коментирано (както е при мене), но може и default_charset = "windows-1251" или default_charset = "UTF-8". И най-накрая опираме до кръвожадни Мускул (Александър Керемидарски & Компания да не четат по нататък). Прочетох това-онова в интернет, изпробвах го и стана. От версия 5 и нагоре в Мускула на базата, таблиците и полетата може да им се задават различни енкодинг и колации (encoding, character encoding, collation). При създаването на базата зададох това:
create database 'my_database' CHARACTER SET utf8 COLLATE utf8_unicode_ci;
а при създаването на таблиците
CREATE TABLE `nomenklatyri` (
`nomenklatyri_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`nomenklatyri_name` TINYTEXT NOT NULL ,
PRIMARY KEY ( `nomenklatyri_id` )
това не беше всичко защото на едно място прочетох че винаги изрично да се уведомява mysql какъв енкодинг да използва по време на всяка конекция (connection):
По този начин, дори на Мускула character set по подразбиране да е cp1251 или друг, данните към и от сървъра за вашето php приложение ще се обменят в utf8 encoding. В крайна сметка трябва да си конфигурирате и Мускула
С бозаво са настройки на сървъра които съм променил. Сега забелязах че при правенето на базата изпалзвам utf8_unicode_ci а при таблиците utf8_general_ci. Четох и за тях!!! Първото utf8_unicode_ci е разширен набор от символи и работи по-бавно (каквото и да значи това, просто така го прочетох) от второто utf8_general_ci. За utf8_general_ci казват че пресъздават отлично Български и Руски но не се справят със Сръбски, Югозападно Българско наречие и други "кирилици". За тях е по-подходяща колация utf8_unicode_ci. Ето още по въпроса http://www.joomla-bg.net/MySQL_enkoding_i_kolatsiya_s_kirilitsa/MySQL_i_baza_danni_s_kirilitsa
Eий че съм бързак!!! Отидох до магазина за 4 минути да купя хранителни продукти, защото аз се грижа за домакинството, а жената я държа за хубост. Времето се беше смрачило и аха да завали и затова се забързах. Прибрах се в блока не валеше, но като се качих в апартамента отвън валеше като изведро...
Математика задача 1 :: Mathematics problem 1
Минаха 15 години откакто захвърлих учебниците в училище. Но още ме влече математиката и нейното практическо приложение. От сегашния ми трудов опит като програмист се оказа че уеб програмирането използва много малка част от математическия апарат достъпен на човечеството (на сегашния момент - 2008 г.). Отсега нататък почвам публикуването на математически задачи на които ще трябва да се отговори и след това са се кодират на език за програмиране. Ако езика за програмиране е на високо ниво би трябвало да се укаже софтуерната платформа, ако е език от ниско ниво е нужно да се окаже хардуерната платформа. Събирал съм доста задачи, даже някой от тях нямат още математическо решение а само отговор изведен от практиката. Имам желание тези занимателни математически задачи да ги публикувам и на Английски и Руски за да е по-голяма читателската аудитория. Имайте предвид че имам прекалено много задачи, може би да публикувам всеки ден по една и така две години напред. Но дали ще се намират толкова бързо отговорите? Ето и първата задача:
Франция. На летен празник четири семейни двойки изпили тридесет и две бутилки бира. Ив - една бутилка, Жаклин - две, Колет - три, Анет - четири. Мъжете били по-невъздържани: г-н Понт изпил един път повече от жена си, г-н Дюбоа - два пъти повече, г-н Пейзан - три пъти повече, г-н Фонтен - четири пъти повече.
Кои са съответно първите имена на съпругите на тези господа?