31 юли 2008

The World Will come to an end No. 4: Linux fan boy

Вчера се подигравах на Макинтош феновете, време е за малко авто-критика. Както виждате, напредвам здраво с inkscape.
(Цъкни за по голяма снимка)

Пикасо е почти прав

Днес попаднах на един страхотен цитат на Пикасо

Computers are useless. They can only give you answers.


Цитатът доста ми хареса поради две причини:

1. Пикасо е прав

2. Пикасо греши

Да поразсъждаваме малко над това. Пикасо е художник. Той разбира само от изкуство. Програмирането е изкуство, което означава че най- вероятно би могъл да го разбере ако се напъне. Но в същото време програмирането е и почти наука. Всъщност програмирането е половин изкуство, половин наука и половин арогантност от страна на програмиста. Пикасо е имал способностите да разбере първата и 3-тата половина(говорим за Пикасо, за това има 3 половини).


Пикасо е прав. Компютрите са там само за да ти дават отговори на въпросите които може да им зададеш. Ето я и интересната част, от къде знаеш как трябва да ги питаш? Това е изкуството, компютрите и софтуерът им са произведения на изкуството както и картините на Пикасо, те нямат собствено въображение, както и картините, те разчитат на създателите си за въображение.

Пикасо греши. След като компютрите и софтуера са изкуство, тогава те са толкова безполезни колкото и другите форми на изкуство. Каква е функцията на изкуството? То е човешки инструмент за комуникация, изкуството е начин да пресъздадеш идеите си в реалния свят и да ги разпространиш по някакъв начин сред хората. Звучи познато нали? Програмирането е същото нещо. Програмите са концентрирана човешка мисъл, освен ако не пишеш на асемблер, пишеш изкуство. Дори и писането на асемблер може да е изкуство, всеки който е чел историята за истинския програмист Мел знае това. Те са конструкции от идеи и въображение. Компютрите наистина са безполезни в този смисъл. Пикасо има предвид компютърът като инструмент, защото едва ли е разбирал толкова от програмиране за да знае какво е хардуера, без софтуер, както ние програмистите го разбираме. Картините на Пикасо не са безполезни, боята с която са нарисувани е безполезна, платното на което е нарисувано е безполезно, четките които са използвани са безполезни сами по себе си, те само ти дават отговор на въпроса "С какво да направя картината си". Но както казва Хал Абелсън "Компютърната наука не е наука, и не е за компютри" Всъщност компютърната наука е изкуство, и не е за компютри а за софтуер. В същия смисъл изобразителното изкуство може да се нарече наука за боята. Това не е така. Хардуерът е безполезен, защото когато го питаш нещо, той само може да ти отговори, но въпросът е важен, изкуството да задаваш въпроси на компютрите е изкуството на компютърната наука.

The World Will come to an end No. 3: apple fanboys!

Днес както виждате комиксът е 4 пъти по голям. Мамка му, беше трудно, научих някой доста готини трикчета на Gimp и inkscape, доста е забавно, наслаждавайте се, днешния комикс е посветен на mac фенчетата, нямам нищо против операционната система, дори е много готина, обаче фенчетата са много дразнещи, някък си се мазнят заради това че са с макове и се мислят за по велики поради някъква причина, вероятно така се чувстват и уйндолс феновете покрай мен когато говорим за компютри, но съм прекалено заслепен от линукс фенбой-изъм за да го разбера :D

(натиснете за по голяма версия)

30 юли 2008

Learning python 3-rd edition

Learning python 3-rd edition е най добрата книга за начинаещи python програмисти. Аз имам 2-рото издание което е по стара версия, но за сметка на тове е на български. С него и започнах да уча python по сериозно. Преди него прочетох няколко онлайн туториъла само за да да добия някъква представа за езика, туториълите може да намерите с помощта на гуугоол. Прочетох я за нула време и още не преминал половината книга можех да пиша доста готини скриптчета. Когато започнах, около нова година 07/08 да се занимавам с програмиране имах само повърхностни познания по c++ от даскало(разбирате защо са били повърхностни). За отрицателно време схванах доста сложни неща които така и не разбирах в c++(не съм се и напъвал де).

Сега чета 3-тото издание, което е ъпдейтнато за сегашната версия на python 2.5, 2-рото издание на книгата е за 2.2. Чета по диагонал защото е на английски, и защото е на монитора ми и не обичам да чета дълги текстове на монитора си, а и също така тази книга е за начинаещи, а аз съм вече горе долу в средната категория програмисти и повечето неща ги знам, вече преминах през първите 200 страници от близо 750(дебелите книги са готини, може да убиваш паяци с тях, но pdf-овете са безполезни) Разбира се заради бързото ми и диагонално четене и пропускане на скучните части очаквам да премина през нещата които съм чел доста бързо. Чакам да стигна до по интересните части които са за напреднали.

Имам основни познания по обектно ориентирано програмиране от 2-рото издание, но не съм се задълбочавал, и то с добри мотиви. Не искам да превръщам този пост в анти-ООП, защото това е NOT COOL, но обектно ориентираното програмиране по моето мнение е начин хората с по скапани езици да заобикалят ограниченията си. Python е доста мощен език и ООП не е особено нужно за да се преодоляват ограниченията му, защото повечето смъртни нямат нужда да ги преодоляват :D Смятам обаче да науча добре тази парадигма и да го използвам при нужда, вече овладях някой доста интересни техники с функционалното програмиране. Обектно ориентираното програмиране има някой допирни точки с него и със сигурност може да се правят много готини неща ако се смесват.

Като цяло това е причината да почна да чета книгата отново, ООП. Python вече има много мощни структури от данни, за разлика от по слабите езици, и няма нужда да си ги дефинирам със класове, вече разполага със много библиотеки с класове и функции, за да не е нужно да се пишат на ново, също така разполага с много мощни синтактични конструкции, цикли, и различни оператори върху вградените типове, както и мощни функции. Всичко това означава че ако не правите GUI или симулации, най вероятно ООП ще ви трябва по малко от колкото в други по слаби езици, които няма да назовавам буквално, просто ще кажа че имената им са смешни и единия звучи като герой от междузвездни войни, а другия просто не мога да му измисля метафора :D

Също така реших да науча ООП по подробно и защото трябваше да забавя работата си. Преди известно време започнах да чета The Django Book . Страхотната книга за уеб фреймуъркът Django, писана от самите създатели. Книгата е обаче за версията 0.96 и тази версия все още има проблеми с обратната съвместимост, въпреки че се използва активно, чакам версия 1.0 когато по думите на разработчиците няма да има проблеми с обратната съвместимост и ще има стабилно API, което няма да се променя активно както сега. Тъй като не обичам да си губя времето в четене на документация и търсене на причините поради които кодът ми не работи както очаквам, реших да изчакам да излезе новата версия, както и документацията за нея, за да мога да науча по ефективно как да разработвам с Django.

Също така и искам да науча python наистина добре, казвам наистина наистина добре, искам да знам всички малки детайли относно ядрото на езика за да мога да го използвам ефективно, искам да знам хитрите трикчета и как да правя нещата по ефективно. Не се задоволявам с повърхностни познания, причината поради която почнах да уча scheme беше не защото исках да науча толкова много scheme, а защото исках да науча как да пиша добър функционален код в python, поради тази причина ще науча и smalltalk, за да науча как да пиша добър ООП код в python, поради тази причина и няма да уча, хмм, езика с междузвездното име :D от него може да прихвана някой лоши практики. Като например нещата за които говори този по умен от мен човек:

http://dirtsimple.org/2004/12/python-is-not-java.html

29 юли 2008

Mind The Languages

Намерих един страхотен програмистки комикс. Mind The languages е страхотен комикс за 3 езика които учат в някакъв университет. Py, Pl и Rb(това са съответно езиците за програмиране Python, Perl и Ruby). Професори са F77(фортран 77) asm(асемблер) и lsp(комън лисп). Учител по естетика е TeX. Секретарката която се занимава с регистрацията е sql. Злодея в комикса е разбира се Cobol :D Комиксът има все още много малко съдържание(само няколко броя) но е невероятно забавно, с езиците с които имам опит виждам много прилики с действителността. Все още е само на месец, но изглежда че ако стане малко по редовен ще бъде сред любимите ми комикси :D

28 юли 2008

Абсурдни неща в нета

Ето някой абсурдни неща които намерих днес.

http://en.wikipedia.org/wiki/Fan_death


смърт чрез вентилатор. Прочетете статията. Просто е невероятно смешна. Най любимата ми част е:

"That an electric fan chops up all the oxygen particles in the air leaving none to breathe."

Ето още нещо брутално. Едно страхотно видео:




Сега малко африкански абсурдизъм:

http://uk.reuters.com/article/newsOne/idUKL2290323220080422

Внимание! Ако бъдете обвинени в кражба на пениси в конго, бягайте!!!


В азия може да си купиш бира в торбичка:

Comix No2 feat. DHH

Ето новия брой на моя комикс който вече си има име. Казва се "The world will come to an end" и е вдъхновен от този цитат от DHH, който е и главен герой в днешния комикс. Създателя на Ruby on Rails изрича тези думи в ето тази презентация. Разбира се само половината от фразата е във името на комикса. Цялата е във днешния брой:


26 юли 2008

Knotes

Knotes е много удобна програма. можеш да си пишеш бележки които по късно да четеш. Днес си проверих моите. Ето ги по дати:

2008-4-22 16:32

shatered realm 1
metalica
anti flag
pantera

Това са някъкви банди, не знам защо съм си ги сложил в бележка.

2008-06-03 23:53
Напиши алкохолен изчислител в python

Това ми е дошло на ум веднъж, дори бях забравил за него :D И следващата:

2008-06-09 16:24
Купи бира

Новия интерфейс на Last.fm

Last.fm имат нов интерфейс. Реших да напиша някой неща за него. Стария си ми харесваше, но новия има някой интересни неща, макар и да не ми харесва толкова колкото стария, има неща които компенсират лошия дизайн :D Да започнем със скапаните неща които са направили със сайта.
  1. Информацията в стария интерфейс беше разпределена хоризонтално, имаше инфо бар от страни, където можеше да слагаш инфо за себе си, в средата имаше статистики, и от другата страна имаше няколко допълнителни екстри, като shoutbox-а който е нещо като чат между потребителите, инфо за приятели и групи в които членувам и такива нещо. Всичко си беше супер лесно за намиране защото беше в една равнина и повечето се събираше на един екран, и скролването на долу беше малко, веднага можеше да видиш дали някой не ти е писал, и какви групи си слушал на скоро. Сега нещата са подредени вертикално, най от горе имаме инфо, под това имаме статистики, под статистиките е шаутбокса, най от долу, точно така, ако искам ад видя дали някой ми е писал трябва да скролна най до долу. А и скролването си е много по принцип, преди повече неща се побираха на екрана, сега по малко.
  2. Самия външен вид е супер грозен. Не стига това, ами и сайдбара е по широк от преди, това дава възможност за слагане на повече инфо в него, но имам различни уиджетси които са направени за тесния сайдбар и сега изглеждат грозно в широкия. Същото се отнася и за медия плейърът, той също е много грозен.
  3. Стига за профилите на смотаняците като мен, ами профилите на изпълнителите? същите говна, нещата са подредени вертикално, а не хоризонтално, както преди и трябва да е скрулва повече. Вярно че сега е по лесно да се гледа сайта с iPhone, да разбира се, 1 милион iPhone-а са по важни от 100 000 000 pc-та :D(в този случай говоря през гъзъ си, всъщност няма конспирация, просто дизайнерите им са тъпаци)
Така, Да видим сега позитивните неща:
  1. Статистиките са по добре организирани, вече не трябва да чакам до края на седмицата за да видя статистиката си за последните 7 дена.
  2. Ъъъъ други подобрения? Не се сещам :D

Така, виждате че нещата не са много добре, но няма значение, аз и без това не ползвам Last.fm толкова много, само си гледам статистиките и търся инфо за банди и работи, така че не ми пречи че трябва да скрулвам до долу за да видя дали някой ми пише, и без това не ми пука :D

Първи брой на новия ми комикс

Първия епизод от новия ми комикс е готов. Не знаехте ли че освен програмист и музикален мухльо съм и художник? Комиксът е ужасно грозен и прост. Така е. Gimp е страхотен аз обработка на снимки и настройка на светлината и такива работи, но е абсолютен ужас за създаване на рисунки. Или поне е ужас без waccom таблет.



Както виждате е доста прост като първи комикс. Човечето на снимката съм аз. Приличаме ли си?

Инглиш Версион

Ето английската версия на този блог http://nosleepen.blogspot.com/ Вероятно ще ъпдейтвам и двата до известно време, докато не реша кой харесвам повече. В този ще има и по малко псувни :D

25 юли 2008

нощите безсънни...

Най обичам нощите,
да влизам тайно в къщите,
да чукам по прозорците,
да бъркам в чекмеджетата.

да тичам във антретата,
да мляскам край хладилника,
увивам се в пердетата,
навивам им будилника.

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

Най обичам нощите,
да влизам тайно в къщите,
да чукам по прозорците,
да бъркам в чекмеджетата.

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

Песента е на група Глоба, казва се Нощите от демото им "На Обратно(демо)"

момчетата са от Шумен, и аз съм от този град по случайност, но не ги познавам. Текстовете им са некви психарски по принцип. Новия ми блог си е по- психарски от другите ми провалени опити в блогерството. Така и не се научих да се кефя на блогване. Това е трети(или четвърти) опит. Ще видим какво ще излезе. Очаквайте всичко, компютри, музика, убийствен хумор и убийствено задръстени постове. Тук няма да четете за цирея на задника на Бритни, а ще четете за начина по който дадена група брутално изсвирва някой мош парт, или как някоя компания преебава клиентите си с тъпи DRM защити(apple обичам те, но това не значи че не си задник), или как съм се напил със приятели, само дето приятелите ми не пият :D или поне не се напиват, освен един който има черен дроб с размера на малко теле, но с него избягвам да пия :D