• 0
    Нет, это вопрос предметной области, т.к. часто курсы даются с точностью до сотых долей цента/копейки.
    5 правил работы с суммами
  • +2
    Так это не проблема Unix, и привелегированные порты — не причина этого. Вполне можно обойти и это, внедря поддержку DNS SRV для _http/_https в популярные браузеры, предварительно внеся соответствующие изменения в RFC на HTTP/HTTPS. Но это маловероятно из-за описанного в статье эффекта path dependence (т.к. внести изменения нужно одновременно на всех клиентах, включая устаревшие).

    Автор статьи упрощает проблему, которую решает виртуализация. Проблема не только в том, что бы запустить несколько серверов на хосте, а ещё и в том, что бы можно было этот хост ремонтировать/апгрейдить и что бы у пользователей ничего не менялось. Для этого нужен «продвинутый chroot», который сейчас практически сделали под вывеской контейнеров.
    Привилегированные порты — причина глобального потепления
  • 0

    Монотонность — отсутствие движения значения функции/элементов последовательности в другом направлении. Дискретность — это другая беда, общая для программирования вообще.

    Еще про внедрение таймзон в долгоживущий проект
  • –1
    > В физическом же смысле не важно где произошло событие, если оно произошло, то произошло одновременно во всех существующих часовых поясах.

    В физическом смысле (раз уж вы его вспомнили) эта часть ваших комментариев тоже некорректна, т.к. в этом случае информация о событии должна была бы передаваться быстрее скорости света в вакууме.

    А по топику — ваш подход к UTC, как «единственному правильному» способу хранения дат — пример упрощённого и шапкозакидательского подхода к работам с датами. Благодаря таким же чувакам мне сейчас приходится на смартфоне использовать временную зону Кувейта, из-за долговременной стабильности оной (и невозможности часто просто указать фиксированную временную зону как смещение). То тут, то там оказывается, что кто-то использовал то или иное умолчание, которое, почему-то, оказалось некорректным.

    По факту, термины: 1) время в UTC, 2) время в локальной временной зоне (политически установленной), 3) время в временной зоне ±IJKL, где IJKL — цифры, 4) время в т.н. «floating» временной зоне — описывают разные явления нашей жизни. И подход «используй везде UTC», как минимум, вследствие этого факта, неверен.

    P.S. Также неверно путать системное время в компьютере (в т.ч. в СУБД и в других серверах) и время как физическую абстракцию/модель. В частности, в компьютере время не монотонно возрастающее. :)
    Еще про внедрение таймзон в долгоживущий проект
  • +1
    Ещё никто не мешает написать классы-обёртки для внутреннего использования. В принципе, наверное, там и варнинги можно как-то выводить, что мол, пофиксите прототип. :)

    Но по факту, времени на кардинальную переработку алгоритма после написания — как правило, не бывает.
    Что приняли в C++17, фотография Бьярне Страуструпа и опрос для C++20
  • 0
    > на человеко-понятном и либеральном Ubuntu
    > GNOME

    Это какие-то взаимоисключающие слова. Сейчас, насколько я понимаю, в Wayland именно такие монстранутые системы, думающие сами за тебя, что тебе нужно, и планируются.

    Надо было просто на голых X`ах и с помощью xrandr расставить всё как нужно, после чего подобрать оконный менеджер, из которого в такой конфигурации можно было бы работать.
    Что придет на замену X Window System?
  • 0
    Вы бы ещё битмапы гнали в png, а не в jpeg и жаловались, что тормозит на мобильном интернете.

    Я пользуюсь xpra («screen для X Window»), который мне очень удобен тем, что можно подтягивать GUI куда хочется, при этом кроме прокинутых по удалённому доступу окон, все остальные — родные и работают моментально.
    Что придет на замену X Window System?
  • 0
    Сомневаюсь, что переход на Wayland освободит от плясок с xrandr, т.к. вряд ли разработчики Wayland реализуют все возможные комбинации экранов, дисплеев, видеокарт и средств ввода. Сам пользуюсь offloading, т.к. на карте всего 2 CRTC, а мне нужно 3 монитора.
    Что придет на замену X Window System?
  • 0
    Как теперь мне развидеть картинку в начале статьи?
    Многозадачность. Как справиться с призраками посторонних дел
  • 0
    С нетерпением жду!

    По поводу Модели-Фасада: понятно, что любой более-менее нетривиальный UI-компонент имеет достаточно сложный «бэкэнд», что бы его можно было реализовать одним пассивным объектом.

    Тут ещё другой момент, который я имел в виду:

    Методы Модели-Фасада для того или иного компонента могут возвращать сложные объекты. Так вот, архитектурная проблема: имеют ли право методы Фасада возвращать ссылки на объекты, доступные из других фасадов, который этот Фасад скрывает (и в конце концов, ссылки на конкретные пассивные объекты, которые содержат данные)? Или Фасад должен возвращать только объекты-Прокси для доступа к реальным объектам? Или ещё как-то?
    Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому
  • 0
    А например в случае JSON, для того же ls -R, как выводить: в виде единого массива с именами файлов, содержащих частичные пути, или в виде древовидной структуре, где массивы файлов подкаталогов доступны как значение объекта соответствующего записи родительского каталога. А если делаем ls -R tmp/…, то в JSON-
    аналоге выдачи «tmp/..» разбивать элементы пути на компоненты? И давать ли JSON инфу про каталог, которому соответствует ".."? Уже получается 3 дополнительных опции.

    Куда как проще использовать скриптовой язык, как и предлагает Пайк. :-D
    UNIX-подобные системы содержат кучу костылей. Крах «философии UNIX»
  • 0
    Годный наброс! Надеюсь, те, кто заразится этим отношением к legacy Un*x, будут рекламировать свои поделия не в качестве его наследника.

    > У них, видимо, был только ассемблер и текстовый редактор.

    Ассемблер с редактором Томпсон тоже сам написал, на GECOS системе.
    UNIX-подобные системы содержат кучу костылей. Крах «философии UNIX»
  • +1
    Не увидел в статье, а есть ли поправки на ситуацию: «разработчик занимается чем-то, что зарегал в системе управления задачами, тут приходят и отвлекают его по теме задачи, сданной N месяцев назад, — по срочному вопросу (не работает/сломалось/не понятно и т.п.)». В результате разработчик отвлекается от текущей задачи на N минут, потом погружается обратно в контекст. По идее, такие расходы времени должны идти не в текущий проект, а в проект, по которому был задан срочный вопрос.
    Как заполнить 100 таймшитов за 2 минуты
  • +2
    Спасибо за отличный анализ, жду вторую часть про контроллеры. :)

    Сам не вытерпел и решил посмотреть, «как же было в оригинале». Нашёл статью некоего S. Burbeck: http://www.math.sfedu.ru/smalltalk/gui/mvc.pdf 1992 года.

    По результату прочтения несколько моментов.

    В вашей статье есть какой-то акцент на применении Facade для реализации Модели. Burbeck же пишет, что Моделью может быть любой объект Smalltalk, просто при использовании «тупых объектов» — т.н. «пассивной Модели» мы не получаем функционал оповещения Вида при изменениях.

    То есть по факту, разделение объектов на Модель-Вид-Контроллер в Smalltalk довольно тонко заточено именно под тамошнюю оконно-графическую модель. И Модель в отрыве от виджета (который состоит из пары Вид-Контроллер) не несёт никакого особого смысла — это просто объект Smalltalk (возможно, составной).

    Соответственно, получается, что разделение UI на Вид и Контроллер в отрыве от соответствующей графической (точнее, UI-) библиотеки бессмысленно. А в рамках конкретной библиотеки может существовать другое деление, в т.ч. на бОльшее количество компонентов. Насколько я понял из вышеприведённой, в контексте Smalltalk это разделение позволяло повторно использовать одинаковые Контроллеры разными Видами, причём основной функционал Контроллера, кроме примитивной маршрутизации событий в стандартизованные сообщения, заключался в трансляции экранных координат мыши в локальные оконные — путём опроса соответствующих Видов. Этот функционал похож у многих виджетов, поэтому логично было выделить его из кода, описывающего конкретный UI.

    Ещё интересная тема — иерархический MVC (HMVC — он же PAC), где контроллер выделяется как маршрутизатор всех событий компонента, а не только UI`шных.
    Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому
  • 0
    Само определение в статье, которую вы предложили, уже содержит как минимум одно «и/или» (размер регистров и/или размер шины данных). И потом, можно перебирать разные регистры. Итак, на самой популярной десктопной архитектуре, каков размер слова? 8? 16? 32? 64? 80? 128? 256? Или 512 бит?

    Ну и, например, в контекте языка unix shell, word — совсем другое. :)
    Сложнейшая проблема компьютерных наук
  • 0
    Вспомнился комикс про философский смысл названий (сорри, нету ссылки на страничку):
    http://static.existentialcomics.com/comics/philosophyFriends1.png
    http://static.existentialcomics.com/comics/philosophyFriends2.png
    Сложнейшая проблема компьютерных наук
  • 0
    Вспомнилось также: "… when there is the log in your own eye? You hypocrite, first take the log out of your own eye ..."
    Login или Log in?
  • 0
    Я думаю, вполне можно применять этот термин. В демократии в реальном мире мы также не несём материальных затрат, например, на биологическое разнообразие, на состояние пастбищ, на наличие полезных ископаемых и т.п. Да и просто законы физики нам не поменять. Нам происхождение этих ресурсов неподвластно также, как и пространства сайтов с репутацией. И тем не менее нам даются какие-то возможности контролировать то, что происходит на этих пространствах. Просто если в реальном мире эти возможности даны предыдущими поколениями политиков, то в случае сайтов — их владельцами.
    Закат Stack Overflow
  • +6
    Не забывайте, что демократия — это власть демократов джентльменов с мушкетами и кольтами. По хорошему, любую грядку нужно не только засевать, но и полоть, что бы из неё получилось что-то дельное.

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

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

    Возможно, что описанную в статье проблему SO исправило бы, если бы эта база знаний была распределённой, по принципу P2P. Тогда человек — член сети, уходя ногами от тролля, также переставал бы поддерживать не только его карму, но и саму информацию о его былых заслугах, так что уход даже 10 человек мог бы эффективно забанить тролля. Проблема тут только в том, что бизнес-модель сайтов вроде SO не предусматривает распределённости. Кроме того, можно вспомнить имевшее место быть борцунство сисопов в Фидонете при тамошней демократии.
    Закат Stack Overflow
  • 0
    А с Angular2 удалось добиться выполнения требований «менее связная архитектура», «чёткое разделение зон ответственности», «не являющийся всё-в-одном», а также удалось ли сохранить пункт в стратегии перехода «старый код не трогаем, новый встраиваем независимыми блоками»?

    Может, есть какой-то «тестовый набросок» того, в каком виде у вас Angular2 применяется?

    Также присоединяюсь к ораторам, просящим статью на эту тему.
    Javascript-фреймворки: должен остаться только один
  • 0
    По-моему, где-то уже спрашивал про это, но внятного ответа не получил:

    БЭМ — это только про фронтенд, или есть методики/примеры, как по БЭМу организовать взаимодействие с бэкендом, используя разные серверные технологии? Например, можно ли как-то энкапсулировать логику, соответствующую [сложным] блокам, в серверном коде, ajax API и т.п.?
    БЭМ-методология: с чего всё начиналось и зачем это всё нужно
  • +5
    Не согласен, что дело в функции memset. Исходя из приведённых примеров, только в примере №7 можно с натяжкой назвать причиной ошибки кривой интерфейс функции. А какая альтернатива? был бы другой порядок аргументов — также путались бы. А именование фактических параметров функций в конце 60х в языкостроении не было распространено (да и сейчас можно по пальцам руки, наверное, пересчитать такие языки). Все остальные — ошибки связанные с управлением памятью (в широком смысле).

    Как говорится, в программировании на Cи всего 1 существенная трудность — управление памятью и ошибки на единицу. :)
    Самая опасная функция в мире С/С++
  • +5
    Ещё забыли:
    — вайтлистинг по умолчанию (пропускать только то, что явно разрешено)
    Червь, который изменил Интернет
  • +8
    Но ведь в любом тюринг-полном языке можно написать свой собственный eval(). И что, все небезопасны? :)
    Червь, который изменил Интернет
  • +8
    Почта стандартна только потому, что получила распространение задолго до того, как в интернет забрели корпорации… XMPP — вполне нормальный стандарт. То, что разработчики приложений на его основе закрывают свои сервера и протоколы — это не его проблемы, а особенности финансирования разработчиков приложений…
    XMPP отстой
  • +2
    Очень хотелось бы, услышать о том, что реально нового-хорошего достигнуто в SW за последний год-два.

    В своё время очень интересовался SW как пользователь, но, насколько я смог в итоге рассудить, SW «завис» на сценарии использования «Пролог с функцией позднего связывания для использования в университетах и в специализированных базах знаний». Т.к. в SW так и не появилось элементов, присущих той степени децентрализованности, которая присуща реальному миру, где информация у различных поставщиков может быть противоречива и неполна. ( К примеру, когда я интересовался, в SW не было стандартной возможности выразить отрицание факта ). Соответственно, очень хотелось бы узнать, что было сделано «Web-ного» в SW за последнее время.
    Технологии Semantic Web
  • 0
    Нда, Яндекс понять можно. Но с другой стороны, требовать, что бы один поставщик проприетарного ПО раздавал это ПО всем желающим на чужих условиях, а от других, использующих ту же бизнес-модель совмещения открытого и закрытого ПО (Apple, Microsoft, RedHat, Oracle, рыночная доля которых даже побольше гугла будет) — не требовать — как-то нелогично. Тогда надо от всех проприетарщиков (включая себя, разумеется) требовать «халявы». :)

    А с производителями надо общаться, что бы они давали открытые безблобовые драйвера на своё железо и нормальные бутлоадеры/менеджеры прошивок, тогда специальные консультанты в ритейле смогут «поставить на этот телефон яндекс-карты», а то и вовсе пресловутый «яндекс.кит»…
    Do not be evil
  • –1
    Возьмите и сами запилите. Не знаете, куда соваться (или, что почти то же самое, много времени уйдёт, что бы вникнуть)? Тогда перечитайте топик и аргументы (Unix Way и т.п.) и подумайте, нужен ли systemd…
    Страсти вокруг systemd и его использования по умолчанию в Debian
  • +1
    Я так понимаю, что утверждение о первой функции — «Telegram messages are heavily encrypted and can self-destruct» — ложно в части «самоуничтожения». Так что предупреждение топикстартера — актуально. Вспоминается <картинка про приложение, предупреждающее о торнадо>
    Тревожные симптомы Telegram
  • 0
    Гораздо неудобнее то, что привыкнешь к эверноту, а потом они что-то сломают и обяжут обновиться. К примеру, в приложении для андроид они сейчас увеличили расстояние до добавления заметки на 1 клик. Раньше можно было сразу из экрана просмотра список заметок новую заметку создать, а сейчас надо найти плюсик в неудобном месте, нажать и затем среди однотипных иконок найти текст. Все мысли сбивает. :(

    Прямо апдейтофобия развивается.
    Помнить все: Evernote и Anki
  • 0
    Также считаю, что обнуление — глупая идея. Раз мои комменты (1000 x 3 минуты = 6,25 рабочих дней труда) считаются мусором, то надо однозначно удаляться… Только сначала нужно придумать что-то, что бы для самого себя хотя бы контекст обсуждений сохранить…
    Амнистия и обнуление
  • 0
    GPL v.2, под которой распространяется Linux, не запрещает подобную TiVo`изацию… И более того, Linux`овское исключение разрешает несвободные модули в ядре. А GPL в целом, в свою очередь, ЕМНИП, разрешает линкование с несвободными системными библиотеками…
    Как компания D-Link предоставляет исходные коды прошивок
  • 0
    наличие модов не помешало MS «убить» Flight Simulator, как и наличие аппаратных Skype-трубок не помешало мутить с совместимостью скайпоклиента.
    Создатель Minecraft Маркус «Нотч» Перссон уходит из Mojang. Прощальное письмо
  • +2
    Увы, результат применения такой позиции можно будет узнать только после совершеннолетия… Если есть явный запрет (а не мягкий/сознательный подвод к [само]ограничению), ребёнок, конечно, может соглашаться и внешне его протест не распознаешь (т.к. он полностью подчинён), но по сути это психологическое насилие — и когда ребёнок станет самостоятельным, это может выплеснуться.

    Ну, и, бесконтрольно пользоваться играми как способом отвлечь ребёнка — конечно же, не выбор. Если сам не занимаешься проблемой, то проблема начнёт заниматься тобой. :)
    Создатель Minecraft Маркус «Нотч» Перссон уходит из Mojang. Прощальное письмо
  • 0
    Не он первый. До этого Лукас в том же стиле повёл. Видимо, это просто банальное и рациональное «набивание себе цены».
    Создатель Minecraft Маркус «Нотч» Перссон уходит из Mojang. Прощальное письмо
  • +1
    Мне казалось, это очевидно. Более материалоёмкие товары стоят дороже. Если бы в цену телефонов/телевизоров не вкладывались бы цены на патенты/софт и организационные издержки, то цена была бы как у горстки песка, меди и клеёв/полимеров. А, например, брусок золота весом с телефон (100г) стоит примерно $3.5k, хотя интеллекта непосредственно при его заливке в форму практически никакого не применяется.

    Кстати, именно поэтому персональная 3d печать не выстрелит, как выстрелили персональные компы — велика стоимость рамы устройства, а также стоимость пластика для изделий.
    Улей: маленькая война, глубокая стратегия, странный GameDev
  • +1
    Swatch пробовали ввести общемировое время, но зачем-то ещё взяли идею времён 1й французской республики — поделить день на 10… А на это слишком сложно перестроиться (даже у французов с их тогдашним энтузиазмом не взлетело).

    Мировое время уже есть — это UTC. В тех местах, где куча людей из разных мест (например, в онлайн-играх), прекрасно ориентируешься…
    Мюнхен: слухи о переходе на Windows сильно преувеличены
  • 0
    Чем удобно? Почему перфоратором до «астрономического» (а на самом деле, условно-астрономического) полудня можно пользоваться только 4 часа, а после полудня — аж 9 (после грядущего перевода времени — до глубокой астрономической ночи)? Сейчас, когда московское время == UTC+4, симметрия бОльшая ( в Москве, соответственно, 5:30 и 7:30).

    С момента изобретения железных дорог (потребовавших единого референсного времени), полдень — абсолютная абстракция. Космонавтам, вон, не мешает 20 (или сколько там) астрономических полдней за административные сутки.
    Мюнхен: слухи о переходе на Windows сильно преувеличены
  • +4
    Так я не понял, если символ [x] в винду утянут из NeXTSTEP, то кто его автор? Сам Стив Джобс?

    P.S. NeXTSTEP в 1993: info.cern.ch/NextBrowser.html
    С чего началось использование [x] в дизайне графических интерфейсов
  • +1
    Непосредственно под фанкойлом не дует, т.к. там только забор воздуха. Дует под 45 градусов в 4 стороны. И раз вы были простудо-зависимым, то, наверное, и температуру выставляли соответственно-комфортно.

    Проблема не от кондиционеров, а от того что на них экономят — и в одном месте помещения получается африка, а в другом — северный полюс.
    Как мы строили офис мечты с блэкджеком и пуфиками (почти за копейки)