Кът на програмиста...

За коментари и излияния от всякакъв род, число, спрежение и залог

Moderator: Moridin

User avatar
The Dragon
Elder God
Posts: 9062
Joined: Wed Jan 14, 2004 9:03 pm

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

The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
Moridin
Global Moderator
Posts: 19290
Joined: Fri Dec 19, 2003 10:21 pm
Location: On the other side
Contact:

Post by Moridin » Thu Oct 18, 2007 8:23 am

Бамааму, светът свършва :shock:
This is it. Ground zero.

User avatar
termit
Jaghut Tyrant
Posts: 1758
Joined: Thu Jan 15, 2004 5:04 pm

Post by termit » Thu Oct 18, 2007 12:07 pm

Мня, просто е почнал да им идва акъла най-накрая. SUN-ци пускат целия сорс на Java класовете в JDK-тата от време оно...
Elves dig rocket launchers.

User avatar
Moridin
Global Moderator
Posts: 19290
Joined: Fri Dec 19, 2003 10:21 pm
Location: On the other side
Contact:

Post by Moridin » Thu Oct 18, 2007 12:13 pm

Ъм, не почнаха ли и те от Джава 6 да слагат и сорс в даунлоудите?
This is it. Ground zero.

User avatar
Corwin
Archmage
Posts: 2002
Joined: Fri Mar 26, 2004 3:41 pm
Location: Land of Supidity

Post by Corwin » Thu Oct 18, 2007 12:21 pm

Някой пробвал ли е да наследява 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
И си ползва дедото като се опитвам да правя нещо...
I like rusty spoons....
I like to touch them...
It's almost orgasmic...

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Thu Oct 18, 2007 12:29 pm

Всъщност това с 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 и какво ли не още!
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Thu Oct 18, 2007 12:48 pm

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::* модули, да видиш там как става :) (точно в момента нямам такива жувотни подръка, а и ще ходя да ям, та после :))
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
The Dragon
Elder God
Posts: 9062
Joined: Wed Jan 14, 2004 9:03 pm

Post by The Dragon » Thu Oct 18, 2007 1:39 pm

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 за Сусе доставен от Майкрософт.
The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
Moridin
Global Moderator
Posts: 19290
Joined: Fri Dec 19, 2003 10:21 pm
Location: On the other side
Contact:

Post by Moridin » Thu Oct 18, 2007 1:42 pm

Издирвам си Ефектив Ц++, third edition обаче. На някой да му се намира?
This is it. Ground zero.

User avatar
The Dragon
Elder God
Posts: 9062
Joined: Wed Jan 14, 2004 9:03 pm

Post by The Dragon » Thu Oct 18, 2007 1:48 pm

Moridin wrote:Издирвам си Ефектив Ц++, third edition обаче. На някой да му се намира?
За кво ти е па тва :)
The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
Corwin
Archmage
Posts: 2002
Joined: Fri Mar 26, 2004 3:41 pm
Location: Land of Supidity

Post by Corwin » Thu Oct 18, 2007 3:07 pm

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. :)
I like rusty spoons....
I like to touch them...
It's almost orgasmic...

User avatar
termit
Jaghut Tyrant
Posts: 1758
Joined: Thu Jan 15, 2004 5:04 pm

Post by termit » Mon Oct 22, 2007 11:11 am

Една дискусия на програмни езици... Струва си да се прочетат и коментарите :wink:
http://davidrupp.blogspot.com/2007/10/l ... lling.html
Elves dig rocket launchers.

User avatar
Daggerstab
Arcanist
Posts: 860
Joined: Wed Feb 04, 2004 6:31 pm
Contact:

Post by Daggerstab » Mon Oct 22, 2007 11:16 am

Яко.
bash: kill -9 self
:rofl:
Дагърстаб. Точка.

Предупреждение: Имам лошия навик да споря. Освен това страдам от черен хумор и изблици на сарказъм.

User avatar
thunder
Forsaken
Posts: 3376
Joined: Wed Jan 21, 2004 2:18 pm
Location: София

Post by thunder » Mon Oct 22, 2007 12:34 pm

коментарите :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?
Scalpel. Sponge. Magic Wand!

User avatar
Xellos
Moderator
Posts: 20429
Joined: Fri Apr 02, 2004 10:08 pm

Post by Xellos » Mon Oct 22, 2007 4:37 pm

Задава се втори Уеб 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 в България
.
„Ние можещите, водени от незнаещите, вършим невъзможното за кефа на неблагодарните. И сме направили толкова много, с толкова малко, за толкова кратко време, че можем да правим всичко от нищо. ... За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата.”

Who is online

Users browsing this forum: No registered users and 1 guest