Епизод 68 – част 2 – Асемблер

Разговор с Иван Найденов на тема Асемблер

Директен линк към част 2 (mp3)
Линкове:
asm32.info
flat assembler
Fresh IDE

Tags:
| октомври 19th, 2015 | Posted in Uncategorized |

67 Responses to “Епизод 68 – част 2 – Асемблер”

  1. Йордан Иванов Says:

    Доживяхме да чуем, как JohnFound говори за асемблер в Nerds2Nerds.

  2. qtakabg Says:

    Основно чухме как спори с JOKe

  3. Kossio Says:

    Първите 20 минути са срам за всеки програмист…

  4. PaperNick Says:

    Доста интересна тема, нямах представа, че се пише приложен софтуер на Асемблер. Бях останал с впечатлението, че се използва предимно за системен софтуер.

    15:20 – брей, ни мойш го съпреш 😀

  5. echeveria Says:

    Абе малко тъп беше тоя спор да ти кажа, даже лека надменност надуших в един от домакините. Повече говори и никак ен слуша – лошо, много лошо.

  6. echeveria Says:

    Ма и изхвърляния дето за един ден минаваш от Java на Python за един ден. Ама моля ти се, ако ще пишеш „здравей свят“ и до там за един ден, нищо сериозно не може да пишеш за един ден учене.

  7. johnfound Says:

    Леката надменност е заради положението на асемблера в света на програмистите.

    Писането на асемблер е от нещата дето се смятат за леко неприлични, но всеки ги е правил. 😀 Е, не всеки, но в много големи проекти има асемблерски код, който не се афишира.

    Но, в разни изследвания на популярността на езиците, асемблер устойчиво си държи едни позиции в горната част на класацията:

    https://redmonk.com/sogrady/category/programming-languages/

    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  8. ウォーロック Says:

    Найдене, пусни го това IDE дето е правено на JAVA на някой по слаб комп, да видиш как като почнеш да пишеш и ще чакаш по няколко секунди, буквите да се покажат или да ти се покажа аутокъмплийта 🙂 На това има предвид човека, че му се казва бавна програма. Ако не ги правеха на тая бавна JAVA нямаше да е тъка 🙂 😛 🙂

  9. JOKe Says:

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

    echeveria говорим за „езика“ .. ? Езика е само синтаксис т.е. набор от keywords + statements .. не че ще напишеш фотошоп на питон след 1 ден учене. Т.е. мапинга се учи за 1 ден… както и каза johnfound и мапинга от един асемблер на друг също не е толкова трудна работа.

    ウォーロック Ако ми покажеш такава машина на която съвременно IDE – Visual Studio, та дори и MonoDevelop а бе каквото си пожелаеш върви по добре.. даже и текстови редактори като Atom дето е на ноуд би вървял още по зле от идеа 14.

  10. ウォーロック Says:

    За един и същ език IDE-та ли говорим, или за какъвто и да е. Щото на мене ми е ясно, че жаварите нама да си ритат стола и да се излагат, като си правят IDE примерно на C, и да ги питат после потребителите, „Абе вий хубо ни продавате IDE за жава, ма що сте го правили на, „C“ толкова ли е скапана тая JAVA ?“ С каква съвест да си кажат на клиентите „Абе по бързо върви IDE-то на „C“ и за това тъй, не се притеснявайте вие , пишете си там 🙂 🙂 🙂 “ Малко лицемерно Ъ 🙂

  11. Kalin Says:

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

  12. ⌀--·⓪ Says:

    Като видях вчера новият епизод имах три реакции:

    • Мамка му, защо не излезе ден по-рано, имах достъп до бърза връзка, сега пак ще тегля на мобилна. Последното не е проблем, защото пак е записвал Найден, което означава, че на ≈7 кб /с се тегли за времето, което се слуша;

    • Ура, има втора част! Предният път ни беше подсказано, че може да се случи, но пак си е радост;

    • flat, fresh, asm32 — възможно ли е? JohnFound!

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

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

    Само ме дразни, че отново се съобразявате с времето. Все едно сте в радиото и трябва да се нагодите с рекламните блокове и следващите предавания в програмата. Станало било час и два’йсет. Много важно. И без това смятам час, час и половина за кратко. Ако трябва три часа ще бъде, щом има, какво да се говори. Най-интересните които съм слушал (от другите два) са дълги. А вие не — препускай, препускай. И от препускането ви, ние слушателите пропускаме.

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

    Понеже задочно многократно сме водили спорове става ли за нещо Жабата/Ц♯/Бъзик, една от основните три връзки винаги е била манифеста на Джон. И сега очаквах той в личното си качество да поведе тая битка, както легендите говорят се е случвало в дълбокото средновековие (около 2006-та год.) на devbg. По онова време се бях поотдалечил от компютрите, гледах си децата, а dev-а ми се струваха въздухари, та съм пропуснал.

    Малко от това все пак се случи, но сякаш беше между другото. Аз не знам, защо първите 20 мин. са били позор, но като никога Найден изглеждаше некомпетенетен почти през цялото време, чудейки се за неща от сорта дали намиране на най-малко число в списък от числа, е наистина прост алгоритъм. Това разбира се е лъжовно и само налива вода във воденицата на една друга програмна статия дето твърдеше, че Жабата (и VB) притъпявала умението за мислене. И ако знаехме Джоук само от този час и половина, то ние бихме повярвали. А всъщност той е от най-големите глави. Което обаче не значи, че автора на онази легендарна статия няма доста право.

    От друга страна се удивих на самият Асемблер. Изглежда той се е променил изцяло и… е станал функционален. Много приятна изненада. Изглежда едва ли не като мост между двата свята. Е тогава наистина бих му дал добро бъдеще. Но опасявам се, че цялата свинщина (JohnFound я нарече загниване) на цялата тази комплексност просто няма да се оправи, както прокламира той. И дори неговите думи бяха точно такива — ами Асемблер е по-добре, защото всичката помия все още не е създадена… но ще бъде.

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

    И в тази светлина изстрелваш, че Пърл били написали Реакт. WTF?!? Това, което наричаш „reactjs“ в Perl6 е добре познатото още от деветдесетте години на миналият век аспектно ориентирано програмиране. Както е модерно шегобийците да го наричат напоследък — оператора comefrom (като опозиция на goto).

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

  13. JOKe Says:

    ウォーロック е не то не е проблем даже на времето имаше ИДЕ писано на Ц за Джава ама нямаше кой да го поддържа щото по скоро се получава обрантото Ц-аджии дето да се кефят и да искат да поддържат Джава са малко.

    ⌀–·⓪
    Мани, а даже се старах да не говоря 🙁 просто първо аз от АСМ никога нищо не съм разбирал и не искам да разбирам и не разбирам и по скоро се поставях на място на нормалния човек който само е слушал колко е гадно и влезнах в тази роля която в случая е самия аз. Истината е че аз по скоро реиджнах от това че всичко трябва да се пише на Асемблер или че проблема на големия и стар софтуер е в това на какво е написан, а не в факта че е стар и „ГОЛЯМ“ и написан от множество хора.

    Но да Johnfound
    ако съм се заяждал и съм те карал да се чувстваш некомфортно извинявай аз по скоро се опитах да задам повечето „студентски“ въпроси за асемблер и ти да се справиш с техния отговор, което според мен успя и в крайна сметка това да накара повече хора да го пробват.

    Колкото за народното събрание ? верно ? трябва да го чуя някой път, никога през живота си освен откакто имаше ефир 2 не съм чувал народно събрание и не съм гледал и нямам идея как е 🙂 Явно ще са от моята партия 🙂

    Иначе … може би наистина това с 1ния час за част 2 … е малко кофти 🙁 щото ако е дълга тема защо да не отнема повече ? Колкото до госта ще се опитам да не участвам като има гост 🙂 т.е. да го правят другите 😉

    Найден

  14. johnfound Says:

    Трябва съвсем официално да заявя, че ми достави голямо удоволствие участието в подкаста. 😉

    Аз определено обичам да споря, особено за неща, за които се чувствам компетентен. 🙂

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

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

    Така че, за мене, участието беше само начин да насоча вниманието на слушателите към темата, без дори да се опитвам да я обхвана. И смятам, че отчитайки нулевия ми опит в подобни форми, се получи приемливо добре.

    П.П. Трябва да се извиня за ниското качество на записа от моя страна. За съжаление, техниката ме подведе в този случай.

  15. Aleks Says:

    Темата беше наистина много хубава.

    Имам няколко въпросчета към Иван.

    1)каквто ти е мнението за masm, turbo asm като ги сравниш със flat asm и според тебе кои в момента са по активните асемблери за писане на x86.

    2)преди години имаше едно много популярно IDE за asm RadASM , какво според тебе стана с него и как твоето IDE се сравнява с него и с модерните идета като Delphi и Visual Studio.

    3) Ти спомена за olly debugger, то наистина е най-популярното, но какво ти е мнението за ida debuger, той прави много хубави блок схеми и преди ми се струваше, че ще стане най-популярния дебъгер въпреки че това май не се случи.

    3) Едно време имаше един мноог хубав дебъгер softice с който можеше не само да гледаш твоя код ами и кода на windowsa и на всички други библиотеки и беше много хубаво за това човек да може да разбере по лесно как му работи компютъра и как да си дебъга своите приложения или приложенията на някой друг. В днешно време има ли някаква алтернатива която да се ползва и да не е умряла ?

    4) Според мене изобщо не беше добра идея да се набляга на сравнението на езици като java/c# със asm, но сравнението между c и asm има логика, тъй като кода (асемблерски инструкции) който генерира c-то e излючително чист (разбира се ако се ползва хубав компилатор) . Та въпроса ми е за какъв тип по големи програми би имало смисъл да бъдат на asm отколкото на C. Ако може просто да обобщиш мнението си за asm сравнено със С , и кога едното е по добре от другото.

    5) Ти спомена kolibrios и за „живота на кредит“ , ако може само да кажеш на кратко мнението си за kolibrios и какво според тебе е бъдещето на тази операционна система.

    Само да кажа, че и аз съм съгласен с echeveria , това не беше добро сравнение да се сравнява преминаването от java на perl.

    И наистина щеше да е хубаво да му се дава повече думата на госта, той говорише доста интересни неща.

  16. johnfound Says:

    1. Първо, и MASM и TASM са затворени продукти и при това не от първи приоритет за фирмите, които ги разработваха. И двата работят и генерират код само под WIndows. Не поддържат съвременните процесори. За мене и двата са мъртви продукти, които не трябва да се използват. (И ако MASM винаги е бил боклук, то на времето TASM наистина направи революция с т.н. IDEAL MODE синтаксис и беше забележителен асемблер. Впрочем, синтаксисът и на FASM и на MASM е повлиян много силно от IDEAL режима на TASM).

    FASM се разработва активно (днес например имаше обновяване – добавяне на AVX-512 инструкциите – процесорите с тези инструкции още не се произвеждат). Бъговете му се лекуват буквално за часове. Има доста широка аудитория. Изключително мощна макро система. Много лесно се пренася на други платформи и затова често го избират авторите на операционни системи. И е написан изцяло на себе си – все пак ако един език има претенции хората да пишат на него, то и компилаторите му следва да са написани на него.

    NASM е другия асемблер, който си струва да се опита, ако на някого FASM не му се харесва. Лично на мене NASM ми е на второ място в класацията. Ако го нямаше FASM щях да пиша на него.

    2. RadAsm беше популярен. В момента не се разработва. Даже и сайта му изчезна. Но може да се намери из Интернет. Но при липса на поддръжка…

    Fresh IDE се различава от RadAsm по това, че Fresh е специализиран само за FASM. Компилаторът е вграден вътре и това позволява да се осигурят инструменти, които универсалните IDE-та, като RadAsm просто не могат да имплементират. Имам предвид качествено автоматично завършване, крос референс, добра навигация по кода и др.под.

    Освен това Fresh IDE претендира да работи добре и в Linux и във Windows, докато RadAsm е полезен само за писане на Windows приложения.

    3. Аз говорех за дебъгери в user mode, удобни за дебъгване на потребителски програми.

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

    SoftICE е ядрен дебъгер – също много специализиран инструмент, не особено подходящ за приложния програмист, но много полезен за кракване на защити. 😀

    4. Лично моето мнение е ясно – асемблерът е винаги по-подходящ от C/C++. Ако някога ми се наложи задължително да пиша на език от високо ниво, то ще избера нещо по-четливо и подходящо за хора. Паскал например. От скриптовите езици, Пайтън има доста изчистен синтаксис.

    5. Колибри бавничко, но се движи напред. Аз определено тепърва ще пиша код за нея. В момента (за бъдещия Fresh 3.x) пиша преносим GUI toolkit, който ще се портира и за Колибри. За съжаление от няколко месеца не съм посещавал форума им, но последно доработваха TCP/IP стека и поддръжката на USB. Имаше опити да се портира някой от по-развитите браузъри (NetSurf) но не знам как са завършили.
    Имаше конкурс с награди за разработка на игри за колибри.

  17. ウォーロック Says:

    Ей тия имат в TODO листа, пренаписване от C++ към assembly щото нещата са много дебели там. Разликата в перформанса ще е сигурно доста.

    https://en.wikipedia.org/wiki/X265

  18. johnfound Says:

    Малка корекция: Синтаксиса на FASM и NASM е повлиян от TASM IDEAL MODE, а съвсем не на ситно-мекия MASM. 😉

  19. Алекс Says:

    Аз може би не го написах добре въпроса, става въпрос просто за performance разлика между asm написано на ръка и с++ написано, дали според тебе са взаимно заменяеми (нали и двете си има плюсове и минуси), но общо взето дали според тебе ако има проект и използваш едното или другото крайния резултат не би ли трябвало да е много подобен от към perforamnce.

  20. johnfound Says:

    Сега разбрах. Значи, това съвсем не е еднозначно.

    Да, на изкуствените тестове, добре оптимизиран C/C++ код има същата производителност като добре оптимизиран асемблерски код.

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

    Като ще е така, не е ли по-добре да си напишем директно нужния код на асемблер, вместо ръчно да правим обратна компилация?

    Но лабораторните експерименти да ги оставим за теоретиците.

    В дивата природа, еквивалентност на цялостната производителност не се получава, просто защото никой не оптимизира на такова ниво (защото е супер трудоемко). Ако библиотеката е оптимизирана добре, ако не – здраве да е.

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

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

    Впрочем, някои алгоритми на асемблер е по-естествено и по-лесно да се реализират в по-оптималния си вариант.

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

    На асемблер, същата задача се решава с по-къс код и по-натурално с хеш таблица, защото се избягва писането на дълги вложени цикли, а кода представлява няколко къси цикъла един след друг. А това е вече решение със сложност О(1)!

  21. Киро Says:

    Много силно включване на Stilgar с „мораториума“. Просто трябваше да се случи малко по-рано, тъй като не мисля, че някой научи нещо ново преди него 🙂

  22. ⌀--·⓪ Says:

    Не-е-е-е Джоук! Участвай си във вторите части. Например там дето те нахраниха за СУБД, ти ми беше много полезен, повече от госта ви Шошона. Може би Шошон е можел да каже повече. Ами поканете го пак. Никой не е поставил условие, че като някой е бил на гости преди два месеца или дори в предният епизод, че не можел да дойде пак. Може си и не пречи. Тъй, че ти ми беше много полезен в онази тема. И забележи — нахрани те един там и май още един го подкрепи с половин уста. Сиреч не само на мен си бил полезен. Май просто е въпрос на баланс. Ама не сте учили във ФЖМК и никой не очаква да сте конкуренция на Митко Цонев (то и той май не е, твърди, че е правист).

    Трябваше да ходя да прибирам малкият от тренировки, та забравих за ГПИ да спомена предният път.

    Тук очаквах следните реакции:

    Джоук — Оу, йе-е-е в жабата е по същият начин, язък, че аз пиша за паяжината;
    Стилгар — Йес, да се свети името Му, той го е измислил. В приложенията за работен плот е истината, мамка му и аз пиша за паяжината.

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

    На мен понеже никой не ми плаща, та също пиша за работен плот и твърдя доста да съм запознат с темата. Тук мога да напиша дълга тирада, защо концепцията RAD вкарана от същият този Андерс съсипа света. Но ще се огранича до това, че дори този подход е вече стар. Изхвърлиха го даже Кюти (Qt, кют), който е еманацията на ГПИ. А в EFL никога не е съществувал. Е имаше вял опит от бразилчетата на Интел.

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

    Но има и друго, което изобщо торпилира идеята на JohnFound за работният плот. За него просто вече не се пише. Всичко е в паяжината, облаци, услуги, дрън-дрън. Когато е спрял развитието си на „високонивови езици“ е било така, но днес не е.

    И това, че Асемблер е започнал да се превръща във функционално-ориентиран е просто част от общата мода, която цели да притъпи сложността, но е просто нова язва. И ако Асемблер иска отново да успее да се върне на бял кон, той трябва да го направи в паяжината. Обаче не със cgi, fast-cgi и простотии, а по правилният начин. Това доста ясно го натърти Найден.

    Покриването с автоматични изпитания е валидното нещо в IDE-driven development или изграждането чрез интегрирана среда. Това е случая на Жаба, където нивото на абстракция е главозамайващо. Ванков също има какво да каже по повода.

    Тъпата Жаба няма да изпълни безкраен цикъл, Перлата (шестата) ще го изпълни мързеливо. Кой е зле?

    Интересното на това за петте програми дето правили пет неща в мобилният свят, е че това е unix-way 😉 По доста гротесктен начин, пък самият Юникс е гротеска, но все пак.

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

    Дори още преди умнофоните имаше пълноценна Опера за телефони и сюрия игри.

    И най-тъпото е, че за всичко това отговорна е жабата. А комичното е, че асемблера на жабата е пък най-лесният възможен, което не е голяма изненада, имайки предвид, че тя е просто една идеализирана представа за опростена машина. Дори там, като опре ножа до кокакла се слиза на Асемблер, дори бил той псевдо. В това JohnFound е безкрайно прав.

    И тук започна разговор за Уфсъ, която никой не харесвал. Уфсъ не ползва Джоук, но ползва аналога на намацаната ОС. Същото е. Рядко. Такава му е работата. В моята е често. Но Уфсъ служи само като образ за онагледяване. Не е задължително да е тя. И JohnFound го каза.

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

    Да има го въпроса дали са станали прекалено сложни и трябва да ги опростим. Прословутите панделки на онези мерзавци бяха усилие именно в тази посока. Жалко, че дойдоха в епохата на широките екрани. Визьор на танк, вече и вериги били добавили. Вари ги, печи ги, като стар фасул са и само дрънкат.

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

    И отново се намеси размера на програмите, което оказва се било главното предимство на Асембер. Но цената на съхранение, каква е днес? И докога ще са малки? Докато фекалната яма не се задръсти и там.

    JohnFound издига в култ функционалното програмиране (каква изненада), но не харесва генерация на код. Ами то макросите са баш това. Обаче връщайки се за десети път на този въпрос смятам, че функционалното програмиране не решава въпроса. То добавя „захар“, както го наричате. Само по себе си, то не върши нищо полезно.

    JohnFound подсъзнателно може би, но много обича да напипва най-болните теми. Вероятно и той търси отговора на въпроса, какво е сбъркано. В другата част на епизода обсъждам пак такава за образу̀ването. И една такава тема, за която можем да дълбаем дълго е… цената на труда.

    На пръв поглед обяснението е много просто. Създават „продукт“ с висока добавена стойност, следователно и възнаграждението е такова. Въпроса е как се стигна до тук? До тук се стигна превръщайки програмирането в поточна линия. За целта трябват много хора, които да създават много код и понеже са много, не трябва да са много добри, защото няма от къде да се намерят. Ей така се прави индустрия. Въпрос, къде се вписва Асембер в схемата? Ами с макросите и операционните системи въпроса е решен.

    Харесва ли ни да е така? Харесва ни, тогава няма да повдигаме пак въпроса.

    JohnFound повдигна и въпрос, на които потребителите винаги са търсили отговор, но не и програмистите, поради разискваното до тук. Чакане. А то е от невероятната сложност. Асембер може би дава решение. Искаме ли го? Едва ли.

    =*=

    Masm и nasm бяха асемблерите, които се учиха при нас. И тъкмо се чудих защо вторият ководещ не го спомена, а Джон свърши тази работа. Другото, което щях да питам е за Soft Ice, защото е единственият от срамният свят, който знам (и го знам единствено с това, което се спомена). Но ето вторият ководещ се намеси и тук. И през цялото време докато слушах, ми се въртеше, какво би станало, ако е вторият ководещ. Тук в коментарите ми се изясни. Добре, че ги има. Мохабета си стана тук. Жалко, че не всички гости обръщат внимание на коментарите. Браво на Иван!

    NetSurf? Вярвам, че е отличен. Но той е писан на Ц. А нали там нямало libc? Интересно ми е да чуя повече. Сигурен съм, че е избран заради HTML 5, но няма JS дори едно. Това го прави от ден на ден все по-малко използваем от потребителска гледна точка.

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

    Точно твоята теза е, че 20 килобайтова програма на Асемблер била вършела повече от 200 мегабайтова на Жаба. Значи не ще да е мързел. Дали не е компетенция? Няма да повтарям за индустрията. А и човек винаги се е стремял към простотата. Е макросите решават този проблем. И аз пиша макроси по цял ден на друг един език. И знаеш ли, какво казват в родината на макросите? Внимавайте с тях! С тях създавате чисто нов език.

    И ти се питаш. Къде е границата? Ако ще правя макрос „за“ (цикъла for), то по-добре да се кача до Ц. Ами класове, роли, наследяване? Не е ли по-добре до Ц++ или по-нагоре? „Природата“ търси нов баланс. Но аз не съм уверен, че си намерил решението, колкото и да е обещаващо. Мисля си, че по-скоро ще навлязат квантовите компютри. А те чукат на вратата.

    „Примерно (и друг път съм го споменавал) алгоритъма за търсене на стринг в масив от стрингове.“

    Регулярни изрази 😛 Проговори пърловеца в мен.

    Изобщо живееш 10 години назад, когато Паскал беше популярен език. То и сега един от свободните му клонове се развива успешно и бива използван в състезанията. Не е учудващо, че харесваш Питон. Не харесваш скоби 😉 А знаеш ли, че Питон е бавен? По-бавен е дори от Жабата. Пробвай Хаскел 😛

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

  23. johnfound Says:

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

    Да, ама не. Не се получава. И технически не се получава и психологически не се получава. Хората искат собствен компютър, където ще могат да си пускат собствени програми.

    Обектно ориентираното програмиране на асемблер: Отново е въпрос на баланс (като всичко друго). Номерът е да не забравяш навреме да се спускаш на по-ниско ниво. А асемблера ти дава възможността да го правиш.

    А за Питона – аз не пиша на Питон. В момента не пиша и на Паскал. Ако ги споменах, то е заради хубавия синтаксис (наистина не обичам скоби :D)

    Квантовите компютри има още доста да ги чакаме. И мисля, че няма да изглеждат както ги описват сега.

    NetSurf за колибри беше избран именно заради малкото зависимости. Естествено, че трябваше да се пренасят и те. Така и не знам до къде са го закарали.

    А иначе, аз лично знам поне за 4..5 проекта за браузър написан на асемблер. За съжаление всички се провалиха – сложността е твърде голяма за екип от 1..2 души, колкото обикновено се събират за асемблерските проекти.

  24. Stilgar Says:

    Яяя каква хубава караница станала аз докато ходя на конференции.

    Само да кажа, че изобщо не съм споменавал React.js, а говорих за statement-а react който според тази статия ( http://www.pigdog.org/auto/software_jihad/link/3138.html ) го имало в Perl 6

  25. ⌀--·⓪ Says:

    Наскоро си транслирах mplayer (защото Debian са фашисти). Та той ми изисква yasm. Да кажеш нещо за него? Непознат ми е.

    п.п. В Дебиан няма Плосък, не знам защо. Проблем с договора за разпространение? Какъв е?

  26. johnfound Says:

    FASM го няма като пакет в никой Linux. Просто си го изтегляш от http://flatassembler.net, разкомпресираш го и го ползваш.

    Лиценза на FASM е свободен, но малко особен – модифициран BSD с добавена копи-лефт клауза.

    YASM е просто пренаписан NASM, лицензиран под BSD лиценз. Вероятно можеш да компилираш и с NASM (но тук не съм сигурен – не съм опитвал).

  27. JOKe Says:

    ⌀–·⓪ в завършек само ще кажа.. а бе пиши си на Джабата и бъди щастлив апък потребителите… ще свикнат :+)

    Иначе johnfound Ами не е точно така за програмите дето всеки си иска.. аз лично нямам против всичко да ми е някъде другаде и да не е „мое“. Всъщност повечето приложения, който ползвам и в момента не биха вървели без мрежата и без голямата корпорация отзад. Било то браузър, мапс, мейл, календари, rss reader щото искам да го достъпвам отвсякъде .. подяволите даже филми гледам на попкорн или на videoplayer for chrome че да каствам към chromecast едното си е торрент базиран плейър а другото си е плъгин за хром демек .. като се замисля ЕДИНСТВЕНОТО което ползвам дето не е свързано с „мрежата“ е някоя и друга игра… и тва и IDE-то ама там е малко спорно, че скоро и то ще спре заради месечния subscription та пак ще ми трябва интернет. И каква информация притежавам някоя и друга снимка и документ така или иначе всичко е в google photos и google drive щото на тия ССД-та им нямам вяра.. е или гитхъб разбира се.

    Мишо няма скандал уа 🙂 или аз не съм разбрал ако има 🙂

  28. ウォーロック Says:

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

  29. johnfound Says:

    JOKe: „… и без голямата корпорация отзад.“

    Това не те ли кара да се чувстваш неспокоен?

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

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

  30. ⌀--·⓪ Says:

    Уф днес изкарах малко пари като общак и сега ми е добре. За цигари ще има. Навън нека си вали.

    Какъв скандау̀? Според мен всеки си излага тезите в типичният интернетски стил и никой с никой не се кара. И разбира се, всеки си държи на своето. Все пак сме българи.

    Джон причината да харесвам Стилгар и Джоук е, че тяхното мислене коренно се различава от моето. Те гледат по съвсем друг начин на нещата. Ако водещият беше някой с манталитета на RMS или например твоя да ми разправя, че „облаците“ са зло, няма какво да го слушам. То на мен това ми е ясно и аз мисля така.

    Те обаче са живели в тези например петнадесет години, когато ние с теб сме се отдръпнали и копаем в други посоки. И ето виж. Тук с Нетсърф или Линкс2 не можеш да коментираш. Дори с Конкверор не можеш. Специално си пускам други интернет-навигатори, за да го правя. А през Тор n2n е направо недостъпен.

    Това е много показателно. Но такива хора са ни много необходими. Трябва да ги наблюдаваме и изучаваме, за да знаем, с какво си имаме работа. Забележи, че те са добронамерени. Сиреч е безопасно.

    От последните коментари, обаче трябва да ти е станало ясно, че хич не се шегувах, когато казвах, че Асемблер, ако иска да „хване mainstream-a“ трябва да влезе в мрежата.

    Иначе аз виждам приложението му в нишови пазари като settopbox и модеми. Но там вече е ГНУ/Линукс и тук-там BSD. Демек, няма да издрапа. Разбира се дразнещо е каналите ти да се сменят за няколко секунди или като пуснеш пет връзки модема да клекне, но явно потребителите търпят това.

    Твоята интегрирана среда не беше ли някакъв ОПЛ? Това не влиза ли в конфликт с FASM? Явно това ще да е причината да не го включват, след като е толкова напредничав.

    @Джоук, ако Еч беше поживял още няколко месеца наоколо можеше и това да стане. Много вдъхновяващ човек. Но за радост на съдбата това не се случи, а и за него бе по-добре, че се откъсна от мрака, макар още от време на време да говори за Жабата.

  31. ⌀--·⓪ Says:

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

    Забелязвате ли, че за първи път в историята на предаването, втората част има повече коментари от първата и то почти двойно. Ей това е госта да обърне внимание на слушателите. Ако се съберат нещата му от коментарите — ей ти на примерно още половин час отгоре. При това, никой не може да се жалва от Джоук 😛

  32. Георги Says:

    Много джаварски епизод…

  33. личо Says:

    Не разбрах защо Дебиан са фашисти 🙂

  34. ウォーロック Says:

    Щом само това не си разбрал, значи си в норма 🙂 хяхя.

  35. ⌀--·⓪ Says:

    Аз пък мислих, че най-криптираният ми израз е „вкиснат въздух“, който очаквах да се разбере само от хора, които много са ми свикнали или такива с много широка асоциативна мисъл. Пък то никой не попита. Явно мнението ми за хората е прекалено ниско и са далеч по-схватливи, отколкото очаквам.

    Дебиан са фашисти по хиляди причини, говорили сме многократно в ЛЗБ. Точно в този случай става въпрос за това, че преди години изхвърлиха Mplayer в полза на идиотщината Mplayer2. Смятах, че е очевидно от контекста на мнението.

  36. личо Says:

    Интересен критерии за фашизъм. То тогава Убунту с Унити са фашисти на квадрат. А тия от гноме трябва да ги изправят до стената директно. Къде пък да отиват направо в газовите камери. Невидиа трябва да ги набучат на колец – финландски.

  37. ⌀--·⓪ Says:

    Личка, моля не приемай изказването ми, като заяждане въпреки (а може би заради) неколкократни предишни наши разговори.

    ———

    Ако и аз бях фашист като дебилите, то определено да съм разстрелял гномаджийте още 2003-та (ако не ми изневерява паметта, а съм си тъп, тогава беше „знаменателното“ събитие). Естествено подопечните, трудоустроени на единственият честен милиардер (ама още ли е?!) щяха да цун’ат желязная девочка.

    Ама свободата значи, че дори фашистите трябва да живея. Реално даже, каноничните не са толкова лоши. Никой не те задължава и не може да те спре по никакъв начин да (не) ползваш единството.

    А ве, аз тук си слушам класиката DiS и се чудя по един въпрос. Женъ̀та днес ме испидепса да ида в дъжда да взема пъстърва от Лидъл. Мислите ми са да я пръжна с черита и чечънче. Естествено, за да е жабарско (не говоря за Ява!), си трѐбе босилек. Някой да има по-чревоугоднически идеи? Т’ва ще е, щото си е класика. Е вѐрно без дървено масло, ама нѐма бюджет за такива екстри. Тъй де, така и така седим по нощите тук, дай да обменим опит.

  38. ⌀--·⓪ Says:

    Докато изписахме един милион коментара за несъществени неща¹, забравих(ме) най-важното нещо!!!

    Къде под ягодите е ogg? Това е първият епизод, който ми се наложи да го тегля в позорният mp3. Не стига, че другите две емисии ми се налага да тегля в него, а сега и тук.

    ¹ Добре де, аз имам основна вина в случая, посипвам си главата с пепел.

  39. ⌀--·⓪ Says:

    Извинявам се, тук си е, просто не съм се сетил да погледа, а в публикациите е изпуснат, най-вероятно по невнимание. Пак се извинявам.

  40. Stilgar Says:

    Найден произведе някакъв 3 пъти по-голям ogg от нормалното на разваления си компютър от Apple и се зачудихме дали някой го сваля изобщо. Решихме да видим дали някой ще се оплаче. Все пак го качихме ама нарочно не го сложихме в поста да видим реакциите. Мислим да го махаме за да не се занимаваме и с него след като вече дори Firefox play-ва mp3.

  41. qtakabg Says:

    Кои са другите 2 емисии? На каква тематика?

  42. ウォーロック Says:

    @Stilgar, той с доста устройства е несъвместим тоя .ogg. Пък има и такива, дето и на компа не могат да го пуснат :). Ако трябва да има нещо отворено, не е ли по добре .webm ? Пък и си е на Матрьошкаджийте, те знаят кво правят 🙂

  43. ウォーロック Says:

    Ха, той .webm ползвал същото аудио, като .ogg Vorbis. Невърмайнд… 🙂

  44. ウォーロック Says:

    BTW, вие с какво ги мъчите да ги конвертвате? Щото VLC-то има
    много лесен конверт от всичко към всичко с Ctrl+R :). Аз преди да го видя си играх с FFMPEG да ги правя. Трябваше там за един телевизор с флашка, дето поддържаше само XviD/MP3 …

  45. ⌀--·⓪ Says:

    Забелязах разликата в размера и ми стана леко неприятно.

    ウォーロック той Джоука е с някаква намацана буца, та кой знае какво се ползва. Залагам на iTunes. По принцип mp3 е отдавна заклеймен формат. Дори по облаците ползват m4a (това е от mp4), който ненавиждам не по-малко от mp3, но поне няма някои от недостатъците му.

    С огромно удивление разбирам, че т.нар. умнофони не можели да възпроизвеждат ogg. Кое им е умното???

    Qt aka bg другите две са „Предприемачите“ и „GVS“. Като „Предприемачите“ са действително две предавания, от които по-полезното е „Мисли за пари“, нищо че не знаят, какво е фиатна валута. За съжаление в момента е замразен проекта и от миналата година няма нови епизоди.

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

    „PC Mania“ също имали свой podcast, а преди е имало още някакъв, който така и не разбрах, чии е бил. Но тях не съм слушал.

    Адресите можеш да видиш в дясно на главната страница.

  46. ウォーロック Says:

    Умнофоните са един гениален проект, потребителите сами да си закупуват, проследяващите и подслушващи устройства, с усмивка на лице :). То не че с по не-умните телефони не става де, ама при тях те следи само твоето си правителство, пък при умните те следят всички :). Те руснаците за кво се натискат и те с техни смарт фони. Не могат да се вредят на опашката за подслушване от китайците и хамериканците. Ама първи си почнаха Sony де. Още като се съставяше мисля първия евро парламент, те предложиха да подарят апарати на всички депутати хиихии 🙂

  47. ⌀--·⓪ Says:

    To за к’во хвърлят тия ми ти милиарди в Гнонас и Галилео? Ясно е, че да те вкарат в в постапокалиптичният свят по модерному наричан посторуелски.

    Моя глупофон могат да го следят в града, извън греда твърде приблизително, а на нещо като 20% от територията или повече изобщо не могат да ме следят.

    Имай предвид, че държавата може да ме следи, но го прави през частник. А това ефективно означава, че може да ме следи, който си пожелае. А ако е по-имотен или по-умен през т. нар. „човек по средата“ може да ми следи глупофона и без помощта на частника (в моя случай Прима на Мобилтел).

    Да са живи и здрави „високите“ технологии, че са толкова безкрайно неточни, че Сталин би им завидял на сегашните „демократи“.

    И по тоя повод и в нарушение на закона, агитирам — утре против!

  48. Stilgar Says:

    Ogg го имаше не за да има нещо свободно, а за да може audio-то да се play-ва в популярните браузъри. Тогава mp3 не тръгваше във Firefox. Сега вече всички свирят mp3 доколкото знам, така че смятаме да не се занимаваме.

  49. stealth Says:

    Аз ползвах ogg-то, но нямам проблем и с mp3-то. Никога не съм пускал подкаст в броузър, не знам защо… Предпочитам да го сваля било на компютър, било на телефон и да го пусна, когато имам време за слушане.

    И като спомена ⌀–·⓪ изборите, щеше да е интересно (всъщност, нищо не пречи и някога занапред) да споделите, какво смятате за ел.гласуването (опционално и през И-нет).

  50. Stilgar Says:

    Следващият път като донесем Божо 🙂

  51. ウォーロック Says:

    Ел. гласуването не пречи, ако си остава и другия вариант. Да могат да гласуват лесно хората дето са извън България много ще помага. Пък, който си предпочита анонимното, си кара на хартиен носител :).

  52. ⌀--·⓪ Says:

    Сега Стил да прецени и ако трябва да изтрие твоя и моя коментар, че престъпихме правилата сериозно.

    =*=

    Мен днес ме накараха гадовете да гласувам та изиграх версия на 20:20, за да им е гадно. Е някой безименен човечец спечели.

    ウォーロック, ако бях симпатизант на една точно определена, малцинствена партия, щях много да държа на това. Защото историята ясно показва, че независимо къде по света се провеждат избори, тази партия „цепи мрака“ и отвява всичко останало със стотици (може би хиляди) пъти повече гласове. Сиреч, за тази партия е джакпот. Ако се отчитаха гласовете единствено от чужбина, тази партия щеше да има най-малко 239 депутата. Няма изток, няма запад, няма ЕС, няма ориент, те на всякъде газят с по 99%.

    Обаче аз не съм от уж „малцинствата“, че вече сме равни по брой. И за добро или не, не живея в чужбина, а в РБългария. Поради това, за мен не трябва никой, който не живее тук да има право на глас, за каквото и да било. Евентуално мога да допусна компромис само за евроизбори и то за хората живеещи в ЕС. Там и без това е без значение. Онази либерална партия на тези избори е винаги втора, най-много да стане първа, голям праз. И все пак тези европейски дупедати имат отношение към живота на хората в ЕС, затова нека имат това право.

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

    Електронното гласуване пречи и то много, защото се губи смисъла на хартиеното (евентуално машинно) гласуване. Защото, каквито и резултати да има от стандартното гладуване, те могат да бъдат безпроблемно коригирани спрямо „желаното“ с електронното.

  53. ウォーロック Says:

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

  54. ⌀--·⓪ Says:

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

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

    А специално тази партия дори и е по-добре дори при напълно честни избори (което няма как да стане, когато са електронни), ѭ е още по-лесно. Не трябва да разкарва никой, никъде, да харчи пари.

    Аз, ако съм админ., няма да си играя да правя партия. Вземам си милионите и си бия камшика към някой слънчев остров. Що да си давам труд да крада четири години, като мога да взема сухото с натискане на едно копче, което променя резултатите до неузнаваемост, а моята сметка придобива много нули???

  55. Stilgar Says:

    Няма правила да не се говори за политика в коментарите това важи само за подкаста.

  56. ウォーロック Says:

    И като беше станало въпрос в коментарите, на някой от предните епизоди, за техничари социопати… Вчера, съвсем случайно се натъкнах на едно сериалче, за гениални техничари социопати :), много добро:

    Scorpion
    http://www.imdb.com/title/tt3514324/

  57. Demigod Says:

    Има ли някъде да се подпиша John да е редовен гост ?

  58. ウォーロック Says:

    Ехе, и от Camp Half-Blood, се включиха чак 🙂

  59. ⌀--·⓪ Says:

    Тоя филм излезе миналата ли по-миналата година. Уж представлява живота на някакъв „гении“. Първият сезон пролетта го излъчваха по Нова ТВ. В тоя човек няма нищо гениално, не и в героят на сериала. А показаното е толкова нелепо, че дори не е смешно.

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

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

  60. ウォーロック Says:

    Е то не стана с wifi-то 🙂

  61. ⌀--·⓪ Says:

    Гледал съм го преди половин година, но доколкото помня, начина, по който стана, беше още по-митичен. Сервитьорка караше спортна кола с над триста, докато той висейки на един крак като щъркел се връзва с кабел към бордовият компютър на лайнера, който виси от отвореното багажно на същият. WATT?!?!?!?!?!??!?!??!?!?!?!?!?

  62. ウォーロック Says:

    Всички масали ако ги махнат от филмите, семо ще стоят и ще си приказват през цялото време 🙂

  63. PaperNick Says:

    Хах да, имаше много такива моменти, в които просто ти става смешно. Дори с приятелите помислихме, че е някаква комедия, но после в IMDB видяхме, че пише – Action, Drama…

  64. iago Says:

    ИзвинЯАм се за лиричното отклонение. Да го поканите отново инж. Найденов да обясни как Асемблер и езици от високо ниво могат да съжитестват заедно. В смисъл на асм директиви, викане на части код написан на асм и т.н.

  65. leon Says:

    Жалко, слушам от 32 минути и 47 секунди: темата е интересна, но този епизод се е превърнал в кръчмарски спор 🙁 Очаквах по-градивна дискусия.

  66. Stilgar Says:

    http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.4-x86-Assembly – тея са объркали посоката.

  67. ウォーロック Says:

    Там посока няма бе :). Хвърлят се заровете и на който са най големи продължава 🙂

Leave a Reply