khim
+1
У вас теперь есть код, он работает, его можно скачать, скомпилировать и запустить, просто скажите спасибо, что он есть, и используйте его для того, чтобы сделать мир лучше. Это настолько просто.
Угу. А вероятность получить штраф в несколько миллиардов долларов — это вообще такая фигня, взял, открыл тумбочку, да заплатил — делов-то.

А концепция так называемой «интеллектуальной собственности» крайне несостоятельна.
Dūra lēx, sed lēx. Пока эта концепция носил силу закона и за её нарушение выкатыват немалые сроки — с ней приходится считаться.

Давайте, минусуйте меня полностью за критический взгляд на вещи, я готов.
С каких пор предложение совершить уголовное преступление с оценокой до шести лет называется «критическим взглядом на вещи»?

khim
0
В этом-то то и весь смысл Clean Room Reverse Egineering.
На самом деле нет. Если вы почитаете, то узнаете что смотреть можно и даже нужно — но вот только между человеком смотрящим в исходники и человеком, пишущим потом код должен сидеть адвокат. А у ReactOS денег на него нету…
khim
0
Одно дело — утащить исходники, к которым «по долгу службы» имеют доступ тысячи (а то и десятки тысяч) человек, в том числе на рабочих станциях (куда можно пробраться просто подарив кому-нибудь USB-вентилятор), совсем другое — утащить ключи, которые, скорее всего, живут не просто на рабочей станции, а заботливо засунуты в какой-нибудь TPM-модуль и просто так оттуда не вытаскиваются.

Да и потом: упыла часть (как я понимаю относительно небольшая: большая часть утекшего это бесконечные тестовые сборки Windows), то есть даже полного исходника Windows не добыли, а вы хотите, чтобы туда кто-нибудь «заботливо добавил» самое защищённое, что есть в Microsoft?

Ну нужно же соизмерять всё-таки…
khim
0
При равном диаметре — больше оборотов, больше скорость.
Об чём и речь. При равном диаметре диска, а не при равном размере корпуса.

Вот пара фоток (рекламных, но они, в общем, близки к настоящим):
imageimage

Догадаетесь с одного раза — у какого из них 7200 RPM, а у какого 15 000 RPM?
khim
+1
Сколько там языков умеет исполняется стандартным байткодом JVM? про пяток я точно слышал.
Вы не в ту сторону импликацию поставили. Вопрос не в том сколько языков может быть всунуто в байткод Java, а в том, сколько байткодов должна принимать JVM.

Ответ: как минимум один — стандартный Java-байткод должен приниматься, так как без этого вы java.lang.ClassLoader не реализуете. И вот ровно-таки этого, обязательного требования ни Dalvik, ни Art «не умеют».
khim
0
А если запретить часть языковых возможностей — то можно вообще получить исполняемый модуль в нативных инструкциях процессора.
Если «запретить часть языковых возможностей» — то это будет уже не Java. В частности в Java есть такая штука, как ClassLoader, который позволяет вам, ну, например, генерировать классы «на лету» и исполнять их (причём это не теоретическая возможность, есть библиотеки, которые это реально используют, в частности библиотеки работы с регулярными выражениями это делают).

Dalvik и Art ничего этого не умеют и потому JVM не является. На них нельзя запускать произвольные программы на Java — только ограниченное подмножество.

С тем же успехом можно говорить, что какой-нибудь Microsoft C 3.0 — это компилятор C++17. Ну да, часть фич не реализована — ну так и что теперь?

Так что это именно VM, предназначенная для исполнения кода на языке JAVA. Просто исполняющая байт-код своего стандарта.
Так не бывает. Бывает VM исполняющая код на языке Java, а бывает — исполняющая байт-код своего стандарта. Но если ваша VM не умеет исполнять байт-код Java, то это — не JVM.
khim
+3
Как они будут определять что он посмотрел именно на исходники, а не на результат дизассемблирования например?
Дизассемблировать он тоже не имеет права, почитайте лицензию.

Допросы с пристрастием или чтение мыслей?
Вы Шерлока Холмса когда-нибудь читали? Чем расследование инцидента о том что кто-то, условно говоря, «спёр банан» принципиально отличается от расследования инцидентов о нарушении лицении?

При этом разумеется, еще раз повторю, речь идет не о тупом копировании утекших исходников в проект и даже не об их модификации.
Разработчики ReactOS — не Шерлоки Холмсы. Если вы все утекшие исходники выучите наизусть, но никому об этом говорить не будете, то ни Microsoft, но разработчики могут ничего не узнать. Но именно поэтому «если Вас хотя бы заподозрят в чтении исходников виндов», то вас пошлют «куда подальше».

Логика тут простая: если уж вы «наследили» достаточно для того, чтобы даже разработчики ReactOS догадались, что вы на исходники смотрели — то на самом деле следов реально существует больше и «специально обученные люди» их, скорее всего, найдут…
khim
0
А ведь есть диски на 10к RPM и на 15к RPM — что дает, соответственно (не вдавался в проверки Ваших расчетов, просто экстраполяцией)
Подвела вас экстраполяция, однако. Достаточно просто взгляруть на внутренности (на даже на рекламном буклете, чтобы понять, что скорость, с которой двигается головка над диском что на пресловутом Bigfoot'е, что на 3.5" HDD, что на 2.5" блока HDD на 15 000 rpm — примерно одинаковые…

Меняется диаметр диска и скорость вращения, а не максимальная скорость…
khim
+1
Скорее всего у вас в телефоне ART, а не Dalvik — и да, это не JVM, как вам уже сказали. И да — Oracle очень старался доказать, что это — запрещённый софт, но… не смог. Потому что в отличие от Microsoft при разработке Google всё делал независимо и никаких договоров с Sun'ом не заключал…

Был бы договор — скорее всего произошло бы то же самое, что и с MS JVM…
khim
0
Implementation-defined и undefined — это две большие разницы. На тех платформах, где я работаю стек раскручивается и деструкторы вызываются. В том числе в вашем примере. Интересно какие платформы имели в виду разработчики стандарта, где этого не происходит.
khim
0
Убегающее за пределы main исключение — это UB
С какого перепугу? Вы про std::terminate вообще что-нибудь слышали?

Есть все шансы, что yay dtor вы не увидите.
Это почему ещё? Да, компилятор может «просечь», что в этой программе обязательно будет вызван деструктор, а за ним — std::terminate и вместо компиляции сложных таблиц и всего прочего просто напрямую вызвать Foo::~Foo() (хотя я таких компиляторов не знаю), но просто выкинуть его — он права не имеет: код Foo::~Foo() обязан быть вызван до std::terminate, а использование std::endlобязано вызвать flush(), так что yay dtor вы увидите точно. Вот что вы увидите потом — это уже зависит от компилятора, а также от того, что программа установила (если установила) в std::terminate_handlerе…
khim
+2
Sun никогда не запрещал «чужие» JVM. IBM J9, JRockit — живут и здравствуют (последнее, кстати, теперь стало немного напоминать шизофрению, так как сейчас её продаёт Oracle).

Что Sun запретил — так это вот как раз то, про что тут говорил Jef239: классический EEE — «зачем для этого городить новую технологию, если есть собственная?» (держа мысль «в скобках» — не лучше ли послать всех, у кого «своей собственной технологии» в жопу и занять весь рынок?)

Договор у Sun (теперь у Oracle) всегда был следующим: добавлять какие-то фичи — имеет полное право. Менять (и, уж тем более, удалять)? Ни в коем разе…
khim
–1
Все из них, и наши и не наши, присылали мне уже подписанный с их стороны договор, куда мне оставалось вписать паспортные данные и расписаться.
Проблема в том, что этот договор кто-то должен составить и подписать.

В описываемом случае было просто письмо, что бы оплатить вам работу, пришлите по списку…
Обычно это обозначает, что у них нет не только кассы, но и бухгалтерии, а оформлением бумаг занимается бухгалтер, приходящий к ним раз в неделю. Не самый лучший вариант, действительно, но и не повод устраивать тут истерику такого масштаба, какую вы тут изобразили.

что я не понимаю и почему мне это должно было понравится?
Вы не понимаете того, что «черезвычайно ценные сведения», которые вы с такими боями пытаетесь удержать при себе, по большому счёту, никому нафиг не сдались. Базы с паспортными данными не так уж дорого стоят, а получить по ним ИНН и СНИЛС — дело техники. Так что тот факт, что у вас всё это запросили скорее говорит о том, что у фирмы приходящий бухгалтер, чем о том, что собрав эти данные кто-то сбежит на Бали…

Честное слово — если хочется собрать данных о куче народу, то есть куда гораздо более простых способов, чем сбор их с соискателей, выполнивших тестовое задание.
khim
0
Послать мне договор в который бы мне осталось только вписать свои паспортные данные и расписаться.
Почитайте вот эту статью — с этим подходом тоже бывают проблемы. Но да — обычно это наилучший вариант.

Я все верно написал?
В этом месте — да.
khim
0
В стране где платятся серые зарплаты, договор на оплату нескольких тысяч это все таки необычно, и следовало предупредить.
Вы не поверите — но в фирме, где в принципе нет кассы и никто никому не платит наличными идея, что вы можете захотеть получить денег помимо договора смотрится так же безумно, как для вас смотрится запрос СНИЛСа.

а за купленный в офис кофе вы отчитываетесь чеками
Кофе в офис, я разумеется, не закупаю: если оформлять всё «по-белому», то «неожиданно» оказывается, что поставить кофе-машину и заключить договор на её обслуживание — дешевле, чем платить сотрудникам за закупленный ими кофе.

И более того, никаких проблем нет, я бы сделал и бесплатно, мне не понравился сам факт запроса ПД.
Мне это тоже не слишком нравится, но, увы — таковы реалии российского законодательства.

И еще раз для тех кто не читает все комменты, никакого договора не предлагалось подписывать, ни до, ни после.
Вы уверены? А для чего тогда с вас собирали все эти данные? Как вам это обьяснили?
khim
0
А вы почитайте что вам тут все написали. Вам предложили всего-навсего соблюдать закон. Не больше, не меньше. Вы действительно считаете, что это что-то, что должно быть написано большими неоновыми буквами в каждом объявлении о приёме на работу? Нет, ну серьёзно?
khim
0
«Вот тут» нет ни слова про договор.
Там было написано что вы собирались получить за свою работу деньги.

Как вы это себе представляете в отсутствии договора? Ну как? Вы всерьёз думаете, что все, абсолютно все живущие в России сознательно нарушают закон? По умолчанию? Автоматически? Мне страшно представить себе мир, в котором вы живёте… нет, честно.

Не надо прикидываться шлангом.
Да уж… Неудивительно что вы боитесь паспорт кому-то показать лишний раз… Вокруг вас же все, абсолютно все — жулики!
khim
+1
Вы меня сейчас пытаетесь жизни учить или тролить?)
Я вам пытаюсь обьяснить что в природе существуют-таки компании, работающие в соответствии с требованиями закона. Как бы сложно ни было вам такое представить.

А может вы всегда только по договору деньги получали?
Последние 10 лет — да. А в 90е — всякое бывало, но так сейчас на дворе 2017й, а не 1997й…

Вы наверно не знаете что очень многие даже зарплату до сих пор в конвертах получаете?
Знаю прекрасно.

Вы в какой стране живете?)
А какая разница? Ситуация в разных странах принципиально не отличается. И в Германии и США и в России есть «нелегалы», получающие чёрную зарплату — и во всех странах с ними борются.

Я уже написал, не нужно обещать оплачивать, если это связано с такими проблемами.
Какие проблемы? Где? Оформить договор по закону — это уже проблема?

Я вас уверяю: если эта компания была устроена так же, как одна из тех, в которых я работал последние 10 лет — то там ни у кого даже на секунду не возникло и мысли о том, что формальности, которые для этого требуются — могут кем-то быть восприняты как проблема! Честно.

P.S. Хотя на самом деле с вопросом «вы в какой стране живете?» вы «не в бровь, а в глаз» попали: у меня также есть знакомые до сих пор получают «деньги в конверте» — и трясутся над тем, чтобы свой паспорт кому-то показать. И вот при общении с ними у меня часто возникает ощущение, что мы с ними живём в разных странах. Их почему-то всё время обманывают, «кидают», «подсиживают»… Меня — нет. Иногда реально возникает ощущение, что мы вроде ходим по одним улицам, а живём — в разных даже не странах… в разных, параллельных, вселенных…
khim
0
В каком моем посте вы это увидели?
В самом первом. Вот тут:
Есть еще такое. Тестовое задание. Оплачиваемое!
Фирма не может заплатить вам за работу без заключения договора.

Вы не поверите, но во многих случаях люди даже представить себе не могут, что вы этого не знаете. Вот тут хорошая статья на эту тему.
khim
0
Да и было бы странно заключать договор на несколько тысяч, не считаете так?
Что значит «странно»? На основании чего они должны были бы вам заплатить в отсутствии договора? И как? Без договора они вам и рубля заплатить не могут!
khim
+1
Я писал об оплате тестового задания.
Именно.

Если вы готовы предоставлять все эти документы кому-то кто не будет нести никакой ответственности в случае их использования в криминальных целях, ну это ваше право)
Что значит «не будет нести ответственность»? За нарушения законов, насколько я знаю, ответственность таки предусмотрена.

Да и потом. Описанная информация (ИНН, СНИЛС, паспортные данные) обязана присутствовать в договоре. Если вы до сих пор работали только в компаниях, которые всё делали с нарушением закона и даже идея всё сделать так, как это требуется вызывает у вас дрожь в коленях, то это — ваше право, но как бы законного способа вам после этого заплатить у компании просто нет.
khim
0
Нет, потому что теги «вешаются» на машинное слово, а адресовать можно как отдельные октеты (в этом режиме два бита тега никогда не загружается, а при записи обнуляются), так и полное машинное слово (тут уж теги попадают в регистры и могут быть записаны). Что тут называть «байтом» — это большой вопрос.

В телекоммуникациях часто применяют термин «отктет» именно чтобы избежать подобных двусмысленностей.
khim
0
В моем понимании, размер байта это количество бит между адресом n и адресом n + 1. а сам байт, это то что лежит по адресу n длиной в размер байта.
Какого размера будут байты если у вас тегированая память, как в Эльбрусе?
khim
0
Криво высказался. На PDP-10 длина байта и позиция его в машинном слове задавалась в команде. Окуда, кстати, все эти «битовые поля» в C/C++ приехали (через BCPL) — там они были реально быстры и дёшевы.

Каждый конкретный байт при этом был, разумеется какой-то одной, фиксированной длины.
khim
0
Именно. Держать человека в штате три месяца не подпуская его к реальным проектом — очень дорого, допустить и потом разгребать за ним «поломанные дрова» — ещё дороже.

Не нужно путать ремень безопасности с тормозами — они вообще для разных вещей…
khim
+2
Самая большая проблема с наймом — очень мало обратной связи. Внутри компании проблемы, которые кто-то кому-то создаёт таки или иначе всплывут и начальство о них узнает (может не мгновенно, но узнает). В случае с HR — об их косяках, которые они допускают по отношению к работодателю узнают так же, а вот что чувствет соискатель — может быть тайной для всех, кроме конкретного сотрудника, долгие годы.

Потому кандидату при общении с HR стоит запастись терпением: по вышеописанной причине «внутри» компании всё обычно лучше, чем кажется в момент общения с HR, но… корелляция таки есть. Чем хуже вас встречают тем хуже будет и при работе…
khim
0
8-битовыми они стали на IBM/360, а потом — да, уже везде стали такими…
khim
+1
А я бы сказал, что на некоторых компьютерах это кусочек машинного слова переменной длины и спросил бы интервьюера — знает ли он об этом.
khim
0
2. В программе явно указать об использовании Qt vX.Y (About...) (не помню, откуда я это взял)
Не совсем так. Телефоны и браузеры же не суют вам под нос список всех библиотек, которые там использованы.

Если в программе вообще есть место, где перечислются использованные продукты (а этого не только GPL требует, но и даже какая-нибудь вшивая libPNG), то там вы должны обязательно упомянуть и Qt тоже. Посмотрите где и как в вашем браузере описано использование в нём libpng и сделайте так же.
khim
0
А вот с display: grid и fr не все так гладко, поддерживают всего 70% браузеров, 1/3 рынка просто так не выкинишь, это реальное самоубийство для бизнеса…
Зависит от бизнеса, на самом деле. Если у вас сайт — приложение к оффлановому бизнесу и важно покрыть всех клиентов, то выкинуть 30% пользователей — самоубийство, если же они к вам именно из браузера и должны приходить, то увеличив удержание в два раза вы легко это 30% «потерянных» закроете.

Но, понятно, такие вещи бизнес должен решать, не разработчик…
khim
+1
Это оригинальное написание. Использовать не рекомендуется (лучше писать JOIN), но… из песни слова не выкинешь — а вот из SQL'я запросто.

Легко могу представить себе человека, не знающего этого факта, но успешно использующего SQL в своей работе — но понятно, что это значит что он его использует сугубо утилитарно и многих ньюансов просто не знает.

P.S. Кстати приоритет у JOIN и запятой разный, так что брать и тупо производить поиск с заменой не стоит…
khim
+1
Все равно отладчику надо уметь обозревать классы и их методы и члены. Так зачем для этого городить новую технологию, если есть собственная?
Затем что лицензия на Java требует реализации технологии от Sun (теперь, понятно, от Oracle).

Как известно из истории — BASIC — это самое любое детище Гейтса.
Было. До вызода .NET Visual FRED его фактически убил.
khim
+6
Судя по вики "Microsoft began bundling a standalone JVM in the Minecraft video game in September 2015", так что 2 года назад была вполне жива.
А чукча читать умеет, нет? Вы бы окончание этой фразы прочитали, что ли: The JVM included in Minecraft is based on an official Oracle distribution

Нет никакой Microsoft'овской JVM уже давно. Sun заявил что именно из-за того, что Microsoft сдлела классы Java COM-обьектами его поделие нарушает лицензию на Java, называться Java не может и должно быть отозвано. Microsoft согласился.
khim
+2
Руки разработчика сами все вспомнят и напишут.
Или не напишут. Я помню одно из моих первых интервью, где я был «тенью» (человек, тихо сидящий в сторонке и на задающий вопросы, а просто смотрящий на то, как «старшие товарищи» ведут интервью). Кандидат знал больше о синхронизации, чем интервьюер, но… при попытке «развернуть слова в строке» минут 10 ушло на попытки вспомнить как в Java эту строку модифицировать, а когда эту проблему разрулили — код так и не появился. Потом выяснилось, что в резюме была «неточность»: оказалось, что опыта написания кода у кандидата нет вообще, есть опыт работы тестировщика.
khim
+5
Круто! Ещё лет 10-15 и мы, наконец, получим то, что в TeX'е было 35 лет назад.

Правда TeX не был интерактивным, так что кой-какие решения оттуда в CSS не перенести, но всё равно — поздравляю с оберетнием fil'а! Интересно когда добавят fill?
khim
+1
Алгоритмам, о которых идёт речь в статье, в общем-то, пофигу, сколько у вас там измерений (и даже неважно — конечно ли их часто), они слишком общие. Для двухмерных/трёхмерных и прочих частных случаев, разумеется, есть отдельные алгоритмы — но это уже совсем другая история.
khim
0
Вы бы статью-то прочитали перед тем, как комментировать, а? Желательно — до конца.
khim
+1
А какая разница? Как было выше замечено AMD-V или Intel VT-x можно виртуализовать — но, насколько я знаю, ни VMWare, ни VistualBox не заморачиваются. Так что процессор «внутри» оказывается как бы без этих технологий, и, соответственно в VMWare «второго уровня» VMWare уже не запустить.

Если это исправили (а могли — я довольно давно не смотрел), то можно вкладывать хоть 10 уровней (если памяти/скорости процессора хватит), если нет — то только три…
khim
0
Никто не обещал, что A* выдаст тот же самый маршрут. Может и другой, если оптимальных больше, чем один.

В этой самом статье, которую мы комментируем, написано чего требуется от эвристики.
khim
0
A* всегда выдаёт кратчайший маршрут, но от эвристики очень сильно зависит обьём вычислений.