Page 19 of 79

Posted: Thu Oct 18, 2007 12:32 am
by The Dragon

Posted: Thu Oct 18, 2007 8:23 am
by Moridin
Бамааму, светът свършва :shock:

Posted: Thu Oct 18, 2007 12:07 pm
by termit
Мня, просто е почнал да им идва акъла най-накрая. SUN-ци пускат целия сорс на Java класовете в JDK-тата от време оно...

Posted: Thu Oct 18, 2007 12:13 pm
by Moridin
Ъм, не почнаха ли и те от Джава 6 да слагат и сорс в даунлоудите?

Posted: Thu Oct 18, 2007 12:21 pm
by Corwin
Някой пробвал ли е да наследява DBI?
package Test::TMYDBI;

our @ISA = qw(DBI);
use base 'DBI';
Гърми ми по следния начин:
DBI subclasses 'Test::TMYDBI::db' and ::st are not setup, RootClass ignored at scripts/ttestdbi.pl line 9
И си ползва дедото като се опитвам да правя нещо...

Posted: Thu Oct 18, 2007 12:29 pm
by Roamer
Всъщност това с Microsoft и пускането на сорса на парчета от .NET Framework изглежда добре, макар че не е твърде ново, а и поне засега не е ясно точно какво значи.

Не е твърде ново, защото те направиха същото още с първата версия на .NET Framework - сорсовете на нещо, наречено "Rotor", бяха пуснати за Windows и за FreeBSD под Microsoft Shared-Source License; тогава все още имаха само едно Shared-Source License, сега са малко повече. Основният проблем тогава беше именно с условията на лицензиране - тогавашната версия на Shared-Source License беше формулирана много забавно, де факто казваше "виж к'во, ето ти го, гледай го, ако ще пипаш, пипаш само за вътрешна употреба, ама ако те хванем, че ползваш някакви парчета код от това в твои програми, ще ни плащаш лицензни такси". Това доведе до изключително забавна ситуация - хората направиха FreeBSD пакет (добре де, port, но разликата е само за хората, които се занимават с FreeBSD :)) на това нещо, само че... само че то се компилираше само на FreeBSD 4.x, на 5.x не щеше заради елементарна грешка, и никой не смееше да я оправи! Компилаторът казваше каква е грешката, на всеки, който разбира поне малко от C, му беше ясно как *трябва* да бъде поправена, само че на всички ни беше ясно, че ха сме пипнали да я поправим, ха сме оставили ясни доказателства, че сме гледали сорсовете - и после ходи доказвай, че не си крал оттам :? Така че FreeBSD port-ът на Rotor бавно и тихичко си умря, защото Microsoft така и не пуснаха оправена версия, никой от разработчиците на FreeBSD не смееше да оправи тази, а междувременно се появиха други хубави нещица като Mono и dotGNU, които общо-взето работеха (сега вече на практика съвсем работят).

Та така. Разликата между Rotor и сегашното им изпълнение е основно в лицензната политика. Сега казват, че ще го пуснат под Microsoft Reference License (MS-RL), което изглежда малко по-различно - най-малкото изрично пише "read-only" - само четеш, дори за вътрешни нужди не можеш да го променяш, а да взимаш оттам неща и да ги слагаш в твои продукти пък хептен. Това е интересно - и още не е ясно точно как ще протекат нещата - не е ясно дали Microsoft ще се опитат да преследват някого за това, че е чел сорсовете им, или просто ще държат това като дамоклев меч - да е ясно, че теоретично биха могли да го ползват, ама нали са добрички, няма :)

Забавният момент в случая е, че Microsoft дадоха Microsoft Reference License и другото, Microsoft Public License, за одобрение от OSI (The Open Source Initiative, хората, които държат copyright върху термина "open source") - и получиха одобрението. OSI каза, че тези две лицензни споразумения отговарят на условията за "open source" - http://opensource.org/node/207 - пък нататък ще видим.

Все пак... нали е ясно, че между open-source софтуер, софтуер с отворен код и свободен софтуер има разлика? :) И мжу другото, за паралел със Sun все още е рано - повечето от нещата, които Sun пускат, са под условията на CDDL - Common Development and Distribution License - още в името на което я има основната огромна разлика с MS-RL - думичката "distribution". За повечето от нещата, които Sun пускат, хората имат право да променят и дори да разпространяват промените си; ако Microsoft наистина пуснат .NET Framework под MS-RL, за промени и дума не може да става, па камо ли за разпространение на промените :)

Но... поживем-увидим... може пък наистина в Microsoft да са се появили младоци с големи идеи, които дори да успеят да ги прокарат полека-лека. Това все пак е стъпка в правилната посока.

Добавено: грррр, побъркал съм се напоследък нещо! Бях разшифровал OSI като Open Systems Initiative... побъркал съм се с тоя POSIX и SUS и какво ли не още!

Posted: Thu Oct 18, 2007 12:48 pm
by Roamer
Corwin wrote:Някой пробвал ли е да наследява DBI?
package Test::TMYDBI;

our @ISA = qw(DBI);
use base 'DBI';
Гърми ми по следния начин:
DBI subclasses 'Test::TMYDBI::db' and ::st are not setup, RootClass ignored at scripts/ttestdbi.pl line 9
И си ползва дедото като се опитвам да правя нещо...
Хммм, а сигурен ли си, че трябва да наследяваш самото DBI? В докиментацията му (perldoc DBI) си има една секцийка "Subclassing the DBI", в която се споменават подкласове *::db и *::st - и в кода на форума, който Георги Пенков беше написал навремето за курса по Perl (http://perl.phreedom.org/, ама самият форум в момента малко се е поошашкал) той си прави едно класче DBI::QueryCache, което се обявява за наследник именно на DBI::db и дефинира connect() и други подобни именно защото наследява DBI::db.

Ако искаш, може да ти дам сорса специално на DBI::QueryCache, макар че то е съвсем мъничко и простичко и нищо не прави, ама общо-взето работи; а може и да погледнеш сорсовете на разни други DBI::* и DBD::* модули, да видиш там как става :) (точно в момента нямам такива жувотни подръка, а и ще ходя да ям, та после :))

Posted: Thu Oct 18, 2007 1:39 pm
by The Dragon
Roamer wrote:Всъщност това с Microsoft и пускането на сорса на парчета от .NET Framework изглежда добре, макар че не е твърде ново, а и поне засега не е ясно точно какво значи.

Не е твърде ново, защото те направиха същото още с първата версия на .NET Framework - сорсовете на нещо, наречено "Rotor", бяха пуснати за Windows и за FreeBSD под Microsoft Shared-Source License; тогава все още имаха само едно Shared-Source License, сега са малко повече. Основният проблем тогава беше именно с условията на лицензиране - тогавашната версия на Shared-Source License беше формулирана много забавно, де факто казваше "виж к'во, ето ти го, гледай го, ако ще пипаш, пипаш само за вътрешна употреба, ама ако те хванем, че ползваш някакви парчета код от това в твои програми, ще ни плащаш лицензни такси". Това доведе до изключително забавна ситуация - хората направиха FreeBSD пакет (добре де, port, но разликата е само за хората, които се занимават с FreeBSD :)) на това нещо, само че... само че то се компилираше само на FreeBSD 4.x, на 5.x не щеше заради елементарна грешка, и никой не смееше да я оправи! Компилаторът казваше каква е грешката, на всеки, който разбира поне малко от C, му беше ясно как *трябва* да бъде поправена, само че на всички ни беше ясно, че ха сме пипнали да я поправим, ха сме оставили ясни доказателства, че сме гледали сорсовете - и после ходи доказвай, че не си крал оттам :? Така че FreeBSD port-ът на Rotor бавно и тихичко си умря, защото Microsoft така и не пуснаха оправена версия, никой от разработчиците на FreeBSD не смееше да оправи тази, а междувременно се появиха други хубави нещица като Mono и dotGNU, които общо-взето работеха (сега вече на практика съвсем работят).

Та така. Разликата между Rotor и сегашното им изпълнение е основно в лицензната политика. Сега казват, че ще го пуснат под Microsoft Reference License (MS-RL), което изглежда малко по-различно - най-малкото изрично пише "read-only" - само четеш, дори за вътрешни нужди не можеш да го променяш, а да взимаш оттам неща и да ги слагаш в твои продукти пък хептен. Това е интересно - и още не е ясно точно как ще протекат нещата - не е ясно дали Microsoft ще се опитат да преследват някого за това, че е чел сорсовете им, или просто ще държат това като дамоклев меч - да е ясно, че теоретично биха могли да го ползват, ама нали са добрички, няма :)

Забавният момент в случая е, че Microsoft дадоха Microsoft Reference License и другото, Microsoft Public License, за одобрение от OSI (The Open Source Initiative, хората, които държат copyright върху термина "open source") - и получиха одобрението. OSI каза, че тези две лицензни споразумения отговарят на условията за "open source" - http://opensource.org/node/207 - пък нататък ще видим.

Все пак... нали е ясно, че между open-source софтуер, софтуер с отворен код и свободен софтуер има разлика? :) И мжу другото, за паралел със Sun все още е рано - повечето от нещата, които Sun пускат, са под условията на CDDL - Common Development and Distribution License - още в името на което я има основната огромна разлика с MS-RL - думичката "distribution". За повечето от нещата, които Sun пускат, хората имат право да променят и дори да разпространяват промените си; ако Microsoft наистина пуснат .NET Framework под MS-RL, за промени и дума не може да става, па камо ли за разпространение на промените :)

Но... поживем-увидим... може пък наистина в Microsoft да са се появили младоци с големи идеи, които дори да успеят да ги прокарат полека-лека. Това все пак е стъпка в правилната посока.

Добавено: грррр, побъркал съм се напоследък нещо! Бях разшифровал OSI като Open Systems Initiative... побъркал съм се с тоя POSIX и SUS и какво ли не още!

Сегаааа - тука става малко сложно. Всякакъв лиценз който позволява промени в системните библиотеки на .NET носи значително повече вреда отколкото полза - и за крайните клиени и за майкрософт. За разлика от Java .NET е доста по-дълбоко закопан в регистри-то и API-тата. Съответно някакъв твой custom runtime макар и бъгфикснат би могъл да се оплете злобно с други програми. От друга страна програмистите които биха желали да бъркат много надълбоко там не са много - а те благодарение на Emit i Reflect така или иначе знаят какво има там. От друга страна кода е най-ценен като reference - да видиш как е направено и да можеш да направиш workaround или просто да си tune-неш код-а. Овен това така или иначе отварянето на кода е огромен бъмп за mono/dotGNU - и двете имат много трески за дялане и ще помогне да бъде полиран behavior-a на класовете за да емулира напълно този на .NET.

А принципно за вътрешна употреба дали краднеш код оттам и как го ползваш си е непроследимо.

А естествено следствие на патентните споразумение между Microsoft i Novell е че догодина нищо чудно за си имаме .NET за Сусе доставен от Майкрософт.

Posted: Thu Oct 18, 2007 1:42 pm
by Moridin
Издирвам си Ефектив Ц++, third edition обаче. На някой да му се намира?

Posted: Thu Oct 18, 2007 1:48 pm
by The Dragon
Moridin wrote:Издирвам си Ефектив Ц++, third edition обаче. На някой да му се намира?
За кво ти е па тва :)

Posted: Thu Oct 18, 2007 3:07 pm
by Corwin
Roamer wrote:
Corwin wrote:Някой пробвал ли е да наследява DBI?
package Test::TMYDBI;

our @ISA = qw(DBI);
use base 'DBI';
Гърми ми по следния начин:
DBI subclasses 'Test::TMYDBI::db' and ::st are not setup, RootClass ignored at scripts/ttestdbi.pl line 9
И си ползва дедото като се опитвам да правя нещо...
Хммм, а сигурен ли си, че трябва да наследяваш самото DBI? В докиментацията му (perldoc DBI) си има една секцийка "Subclassing the DBI", в която се споменават подкласове *::db и *::st - и в кода на форума, който Георги Пенков беше написал навремето за курса по Perl (http://perl.phreedom.org/, ама самият форум в момента малко се е поошашкал) той си прави едно класче DBI::QueryCache, което се обявява за наследник именно на DBI::db и дефинира connect() и други подобни именно защото наследява DBI::db.

Ако искаш, може да ти дам сорса специално на DBI::QueryCache, макар че то е съвсем мъничко и простичко и нищо не прави, ама общо-взето работи; а може и да погледнеш сорсовете на разни други DBI::* и DBD::* модули, да видиш там как става :) (точно в момента нямам такива жувотни подръка, а и ще ходя да ям, та после :))
RTFM you stupid bastard!
By default $dbh = DBI->connect(...) returns a $dbh blessed into the DBI::db class. And the $dbh->prepare method returns an $sth blessed into the DBI::st class (actually it simply changes the last four characters of the calling handle class to be ::st).

The leading 'DBI' is known as the 'root class' and the extra '::db' or '::st' are the 'handle type suffixes'. If you want to subclass the DBI you'll need to put your overriding methods into the appropriate classes. For example, if you want to use a root class of MySubDBI and override the do(), prepare() and execute() methods, then your do() and prepare() methods should be in the MySubDBI::db class and the execute() method should be in the MySubDBI::st class.
10x. :)

Posted: Mon Oct 22, 2007 11:11 am
by termit
Една дискусия на програмни езици... Струва си да се прочетат и коментарите :wink:
http://davidrupp.blogspot.com/2007/10/l ... lling.html

Posted: Mon Oct 22, 2007 11:16 am
by Daggerstab
Яко.
bash: kill -9 self
:rofl:

Posted: Mon Oct 22, 2007 12:34 pm
by thunder
коментарите :rofl:
Just like politics! The most promising candidate (Python) is left out.
Python: "Yeah, definitely spaces. Four spaces, yeah. No tabs. Tabs are good. One tab or two tabs. Yeah."
Java: Python, what are you talking about, come over here.
Python: NO! I can't move from this column. Yeah, have to stay in this column. Can't move, compiler says I have to stay in this column.
Perl: Mrghh(!*$)hg498;++[[x(][][
Everyone: Whoa man, watch the language, Perl.
Perl: $s!\*(%10}[[]]
Ruby: Yeah, I get what you're saying now!
Everyone: Wha?

Posted: Mon Oct 22, 2007 4:37 pm
by Xellos
Задава се втори Уеб 2.0 БарКамп в София
Spoiler: show
22 Октомври 2007, 10:23
Източник: TechNews.bg

В събота, 27 октомври, ще се проведе форум за Уеб 2.0 технологии в рамките на празника на свободата OpenFest, съобщиха организаторите от компанията за отворен код OICL. Достъпът до БарКамп в зала 3 на Централния военен клуб от 14 до 18 часа е безплатен и свободен. Всеки участник ще може да изнесе презентация и да се включи в дискусиите по теми, свързани с развитието на уеб-технологиите, приложението им в бизнеса или в лични уеб-пространства. Уеб 2.0 навлиза все повече в живота онлайн, като всекидневно хората използват социални уеб-сайтове за споделяне на съдържание, за размяна на информация и общуване. От OICL приканват потребителите да пренесат създадените в мрежата отношения и в реалния живот, като една възможност за това е БарКамп. Сред дискутираните теми на събитието ще бъдат новостите в Уеб 2.0, намирането на пари за интернет проектите и бъдещето на Уеб 2.0 в България
.