Обновить
166
0
GreyCat@GreyCat

Пользователь

Отправить сообщение
Приложения, которые пытаются использовать функции семейства WriteConsoleA [...] тоже надо исправлять

Только вот Microsoft с вами, боюсь, не согласен. Иначе бы делали какие-то телодвижения по объявлению *A функций deprecated и пытались бы как-то форсировать переход человечества в светлое будущее. Вот здесь говорят, что их пытаются deprecate'ить, но только по каким-то одиночным библиотекам типа winsock2.


А это не испортит вывод предыдущих команд в том же терминале?

Не должно. Хотя бы потому, что терминал, вообще говоря, не имеет возможности переинтерпретировать какую-то часть старого потока символов при таком переключении кодировки (хотя бы потому, что эту часть еще как-то выделить и запомнить надо, а это потребует весьма нетривиальных телодвижений). Это же не браузер, в котором кодировку всего документа переключают — документа-то нет.

Во-первых, приложение, которое выводит на stdout интерактивный контент не в том, что указано в переменных локализации LC_*, надо исправлять, а не жить с этим. Это — ошибка, а не нормальное поведение.


Во-вторых, если очень нужно — большинство эмуляторов терминала умеют установить произвольную кодировку в качестве отображаемой, в том числе варианты UTF16.

А меня вот дико удивил хаб "функциональное программирование", про которое в тексте ни слова.

У меня вот почему-то от всего показанного выше ощущение, как будто окунулся в середину 90-х, где были все эти "домашние странички" с вырвиглазными бэкграундами, танцующими хомячками и прочими "крутыми" спецэффектами.


Если какие-то вещи можно делать технически — это еще не значит, что это действительно к месту и будет хорошо смотреться. А тут еще и технически все печально: Kinect неприятно тормозит, человек смотрит куда угодно, но не в камеру. Ну и "просто скачал нашу программу, сделал в ней презентацию, провел съемки в студии" выглядит как издевательство, учитывая, что студию еще надо в любом случае строить и это как-то совсем не тянет на ультра-дешевое или легковесное решение.

А если внимательно прочитать wallpaperswide — то про лицензирование этого изображения там ни слова. В ToS у них что-то расплывчатое про, мол, у нас user-submitted content, если что — ищите концы сами и обращайтесь к оригинальным авторам. Оригинальный автор, судя по странице на wallpaperswide — marxpix на flickr, но я не нахожу у него (или скорее нее) эту фотографию с каким-нибудь четким условием лицензирования. Единственная доступная там фотография — https://www.flickr.com/photos/marxpix/3794841848/ — под CC-BY-ND. Если допустить, что другие ее работы были опубликованы под такими же условиями — то это явный запрет использовать их так, как используете вы.

Пояснить можете, почему несовместимо с опенсорсом?

Потому, что CC-BY-NC-SA будут несовместимы с любыми популярными open source лицензиями. Ни GPL, ни тем более BSD/MIT/другие permissive — не имеют органичения NC.


Основной посыл — пилите опенсорс и делитесь идеями / наработками. Хотите зарабатывать деньги на чужом труде без вкладывания своего и публикации фиксов в сообщество — попробуйте перелицензировать под коммерцию. Вроде все просто и понятно.

Только с такой исходной постановкой задачи желания у кого-то пилить опен-сорс не будет — и да сообщества как бы тоже не будет. Если это (в 95% это будет так) разработчик коммерческой проприетарной игры — то он вынужден будет написать свое. В лучшем случае он выложит это под GPL/MIT, но не как развитие вашего кода, а как проект, написанный с нуля — и туда, может быть, что-то будут контрибьютить. Даже в оставшихся 5% случаев разработчика open source игры — он вынужден будет поступить так же, переписать.


В итоге, да, я абсолютно согласен с maxpsyhos, вы по сути лишили себя авторства. Всю славу, почести и сообщество получит первый, кто перепишет ваш код под MIT.


Кстати, у вас используется для демонстрации изображение с весьма непонятной лицензией. Похоже, что оно когда-то было опубликовано на flickr пользователем marxpix, но с тех пор было удалено из паблика.

Вы правда думаете, что кто-нибудь захочет заморочиться?

Просто реально странная ситуация получается. Понятно, что 95% потенциальных пользователей этого — проприетарные игры. Я мог бы понять GPL, скажем — типа, сподвигать людей делать больше открытого кода. Мог бы понять BSD/MIT/что-то подобное пермиссивное — типа, вот — придумал — берите — пользуйтесь. Но смысл CC-BY-NC-SA? «Любуйтесь как есть, но не трогайте?»

Так получается — «ни нашим, ни вашим». С open source в массе своей несовместимо, с проприетарными — тоже не совместимо. Понятно, что пользуясь идеями из статьи — кому нужно — за 20-30 минут сделают свое такое же… В итоге вы получаете массу реализаций описанного вами, но вообще без каких-либо отсылок к вам (как могло бы быть при MIT хотя бы) — в чем вам от этого профит?..
Кстати, если не секрет — почему лицензия такая странная? Вы специально хотите, чтобы все, кому это надо для коммерческого применения, написали 100500 вариантов того же самого заново?
Про ProGuard и DexGuard улыбнуло :) Все боятся «умелых хакеров», которые «воспользуются ситуацией». И, интересно, что же случится? ;)
… и не забыть помножать на 0.0001% покупателей, которые согласятся поставить себе никому не известное приложение, которое только и делает, что шлет push-уведомления, которые все терпеть не могут, плюс написано на Cordova (занимает 100500 места, тормозит, жрет трафик и батарейку и т.д.).
Есть готовый парсер MIDI :)
Даже много, на самом деле…
Если вы знаете что-то интересное о внутренних этапах проверки железа на конвейере – расскажите плиз. Думаю, всем будет интересно.

Да это печальная байка, произрастающая из конца 90-х, когда делегация от одной из относительно крупных тогда российских компьютерных фирм съездила в тур по китайским OEM-заводам, увидела там R&D-департаменты с термокамерами и вибростендами, а потом вернулась домой и, увидев печальную статистику по RMA дома, решила, что «нам нужно тестировать». Взяв за основу великую мысль о том, что нужно «тестировать под нагрузкой на температуру и вибрации», люди натурально заказали в каких-то НИИ несколько дорогущих промышленных термокамер и вибростендов. Ну, и закатили с большой помпой презентацию и пресс-конференцию, водили всех партнеров и журналистов, рассказывали-показывали — мол, вот, у нас все по-серьезному теперь, как у больших. Ни у кого другого таких стендов нет. Все, мол, на коленке собирают, а у нас вот реально проверенное тяжкими испытаниями железо. И, собственно, и правда начали жарить и трясти собираемые компьютеры.

Первыми через месяц-полтора взвыли сейлзы, т.к. оказалось, что все сроки поставок катастрофически затягиваются. Потом взвыли закупщики — перепробовав почти все комплектующие, что есть на рынке, оказалось, что такие тесты убивают приличный их процент прямо в процессе теста, практически вне зависимости от производителя. Техдиректор пошел на уступки — от тех самых «жарить и трясти» по 10-12 часов остались символические полчаса, процесс как-то худо-бедно восстановился.

А через полгода взвыл RMA-отдел, т.к. рекламаций по этим машинам было чуть ли не каждая вторая, если не первая.

Но мысль о том, что нужно тестировать «в термокамерах» и «на вибростендах» ходит до сих пор.
Окей, процент RMA вы рассказывать стесняетесь, по крайней мере публично :) Вообще, если хотите — можем в личное общение уйти. Мне действительно любопытно еще кое-какие вещи узнать — например, сколько времени оператора уходит на тестирование сервера.

Тесты производятся все же не на самосборном железе

Пардон, а на чем же еще? Вы именно что меняете все целиком — разбираете все, а потом собираете обратно из компонентов. Памяти ставите столько, сколько заказали, диски — как заказали, контроллер — если заказали и т.д. и т.п. Процессор, соответственно, всю систему охлаждения заново устанавливаете. Все эти шаги подвержены человеческим ошибкам — собственно, зачастую с ними и есть проблемы. И ради этого обычно все и тестируется.

побывал с термокамерах

:) Вы еще про «вибростенды» вспомните.
Про «замену сервера полностью» — сказку оценил, но вы, по-моему, несколько не по адресу, тут все-таки технический ресурс. Я про все гарантийные случаи, а не про некую мифическую «замену сервера». Если вы говорите, что у вас один гарантийный случай за все время существования — то либо вы существуете месяц-два, либо вы невероятно удачливая компания. Про процент RMA по _новым_ серверам у тех же IBM / Dell / HP я вполне в курсе. У вас он какой?

Про «внутреннюю железячную диагностику» — тут вопрос не в «доверяете — не доверяете», а в том, что «внутреннее диагностическое ПО производителя» толком нагрузочно ничего не тестирует, оно вообще для других целей создано. Нагрузочные тесты IBM / Dell / HP / кто угодно проводят несколько другими способами, которые кому попало не раздаются. И, как мне кажется, про это вы тоже в курсе, раз уж запускаете как минимум Memtest. Запускаете, кстати, как я понял, все вручную (косвенно на это еще указывает отдавание заказчику флешки с логами)?
Из инструментов используется встроенное диагностическое ПО производителя сервера и пара утилит с внешнего диска.

Сурово. И как результативность? ;)
Высокий?! Вы предлагаете написать ровно те же самые spill-merge-repeat штуки самостоятельно. Субъективно, это задача по хорошему на месяц-два. И граблей там на порядки больше, чем вы описали. Надо следить за состоянием JVM, надо уметь следить за состоянием подсистем сервера, на котором все выполняется. Довольно быстро станет ясно, что мультитредовость там абсолютно не нужна, зато нужно запускать пачки JVM и отслеживать их деятельность. Потребуются определенные средства диагностики и агрегации статистики. И т.д. и т.п.

Для сравнения — задача, которую вы описываете, делается из Hadoop'овского «hello world'а» (который «посчитать частотность слов в документах») одним тривиальным изменением map-функции. У меня студенты, которые ничего не знали про Hadoop и map-reduce вообще, осваивали такое максимум за час — и это включая «скачать hadoop», «подключить библиотеки к своей среде разработки» и т.д.
По-моему, вы только что придумали и реализовали заново map-reduce. Чем не устроило взять готовый Hadoop?
В комментах суровый адъ :)
Это каким-то образом кто-то спер и раздает теперь с внешних ресурсов?
Да много в чем на самом деле проблема. Начиная от заголовка, где приходится делать «Руби(н)», все эти русскоязычные «Рельсы» и «Панды», скраббл, который, внезапно в русском варианте «рубин» = 1+2+3+1+1 = 8 (а не 9), и «питон» = 2+1+1+1+1=6, что несколько переворачивает аргументацию в прямо противоположную. Весьма неказисто, на мой взгляд, переведенный «sneklace». Что такое «skub» и, тем более, мем про «pro-skub vs anti-skub» практически никто не знает в рунете. И т.д. и т.п.
Забавно, но эдак 4/5 шуток выглядят как-то странно при переводе.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность