• Почему мы злые?
    +7
    Потому что в США отличники идут руководить, четверошники к станку, а троишники либо пытаются в бизнес либо никуда. Так же в вузах. Схема «2 недели на сдачу лабы или не зачет по предмету». Попросить у одногруппника списать — маленький суицид. В такой схеме результат работы это что-то типа (5 + 4) / 2 = 4.5.

    У нас в СНГ же всё совсем иначе. Если ты не помог кому-то пробиться за счет себя, своего труда, своих лаб и прочего или просто не дал списать, то ты последняя мразь и предатель. На руководящие должности ставят троишников, т.к. четверошников ставят к станку, а отличники либо валят, либо идут в ТОП-3 компаний и в регионах не задерживаются. Итого ярко выражен «синдром хорошиста». В такой схеме результат работы это что-то типа (3 + 4) / 2. В итоге ненужные рынку 3.5, но на которые, в целом, можно жить/существовать. Да и в СНГ-вузах ты не можешь сказать, что такой-то тунеядец мешает тебе учиться и получать знания. СНГшные вузы и школы больше похожи на тюрьмы. Где руководство не может ничего и всем заправляют жлобы-троишники-понаехи. Конечно, есть исключения, но это 2-3 кафедры на 1 ВУЗ и узнать именно о них заранее сложно, если ты явно не знаешь. Например Парфеновский ИТИП в ИТМО.
  • Haskell. Тестируем многопоточное приложение
    0
    Нет, лучше так: «Абстракция последовательной связки вычислений.»
  • Добавляем панель бокового меню в свое iOS-приложение
  • UFO just landed and posted this here
  • Минкомсвязи планирует обложить производителей софта 10%-ным налогом с продаж
    +18
    Уважаемый автор, это ещё просто слухи.
    Это пока ещё только слухи, рано ещё беспокоиться.

    Это пока ещё только законодательная инициатива, рано ещё беспокоиться.

    Это пока ещё только законопроект, рано ещё беспокоиться.

    Закон принят пока ещё только в первом (втором) чтении, рано ещё беспокоиться.

    Закон ещё не утверждён Советом Федерации, рано ещё беспокоиться.

    Закон ещё не подписан Президентом, рано ещё беспокоиться.

    Закон подписан, опубликован и неизбежно вступит в силу, чего уж теперь беспокоиться.
  • [Перевод] Новости из мира Node: Tint, Redbird
    UFO just landed and posted this here
  • СПРН — Система предупреждения о ракетном нападении
    +47
    Извините конечно, но я вас не понимаю. Никто (в том числе и я) не спорит, что США может нанести разгромный удар по России, конечно перехватить 1000 КР нереально и они могут уничтожить большинство стратегических объектов. Но если подходить реально, то я сомневаюсь, что можно подвести АУГ (авианосные ударные группы) или даже подводные лодки с КР к России со всех сторон и остаться незамеченным. Тем более когда ситуация располагает и все навострили ушки :)
    Не говоря уже о том, что КР не могут стрелять по мобильным целям и нету гарантии 100% поражения БР шахтного базирования, даже со стратегическими БЧ. И дальность их ограничена.

    А статью можно разбить в пух и прах по многим аспектам. Я немного расскажу про реальный прогресс в перехвате МБР, а точнее в реальном его отсутствии. И остального по немногу.
    Во первых, ихние утверждения про то, что КР могут наносить удары по мобильным установкам «ТОПОЛЬ-М» полный бред, нет никаких реальных (а не из фильмов) средств по полному слежению за мобильными установками.
    Спутники очень ограничены, как по погоде, так и по времени прохода. Во вторых, нельзя ударить по установке с помощью КР, потому-что она может работать по стационарным целям, не говоря о том, что наводиться она с помощью GPS который можно успешно глушить, а инерциальная система недостаточно точна, глушение GPS еще доставит проблем и авиаударам (если даже допустить, что самолеты смогут долететь на достаточное расстояние и успеть открыть огонь до пуска МБР). Посмотрите на статистику пусков-попаданий КР в Югославии, их эффективность переоценена авторами статьи. Я даже не стану говорить, про то что МиГ-31 или ЗРК средней и большой дальности (ТОР, КУБ, БУК, С-300, С-400 и т.д.) которые прикрывают стратегические объекты — могут эффективно сбивать КР. Закидать тапками конечно можно, но все же.

    Далее, по перехвату МБР.


    Программы KEI (Kinetic Energy Interceptor) и MKV (Multiple Kill Vehicle) — разрабатываемые заатмосферные кинетические перехватчики, которые в перспективе могли бы перехватывать БЧ МБР. Они по ТЗ должны были перехватывать объекты со скоростью до 10км/сек.
    Обе программы закрыты в 2009 году.


    RIM-161 (SM-3) входит в состав системы AEGIS (Иджис), сейчас их количество на кораблях очень ограничено. И поставлены они далеко не на сотни кораблей.
    Да, они перехватили спутник, но до этого две недели суперкомпьютер просчитывал траектории, а корабль стоял прямо под траектории ракеты и в её перигее и траектория была известна с точностью до миллиметра, в итоге спутник был перехвачен на высоте 247 км. ТТХ системы таковы, что они позволяют обнаружить цели на высоте до 320км, когда в апогее МБР летит на высоте более 1000км!
    Так что, реально для перехвата МБР система AEGIS не готова, как на уровне целеуказания, так и на уровне энергетики ракеты, о реальном перехвате РГЧ (разделяющаяся головная часть) МБР в боевых условиях — тут даже близко речи нету. Даже если будет целеуказание из вне, за то время пока ракета летит — корабль под её траекторию не поставишь.
    То же самое и с системой THAAD, там еще более скромные характеристики, по итогам — обе системы AEGIS и THAAD могут эффективно перехватывать только БРСД (Баллистические ракеты средней дальности). Или в крайнем случае одиночную МБР на начальном участке, но вокруг России таких кораблей не наставишь, да и есть варианты по начальному участку не над водой.

    Угрозу представляет только разрабатываемая система GMD с перехватчиком GBI (Ground Based Interseptor), но во первых — их собираются разместить только 50 штук, а в Польше их отказались размещать (это было бы конечно не приятно), а во вторых — опять же, против массированного ядерного удара никакое их количество не поможет, в третьих — для наших ракет сейчас разрабатываются маневрирующие блоки МБР (Есть ли они сейчас — мне не известно), которые делают кинетический перехват просто невозможным. По совокупности, можно сказать, что данная система разрабатывается с оглядкой на страны изгои, вроде Ирана или Северной Кореи, потому-что небольшое количество МБР с моноблочными и не маневрирующими БЧ — они будут вполне в состоянии эффективно перехватывать.


    Airborne Laser и лазеры вообще. По воздушным лазерам, тот боинг летающий с лазером, это концепт, до реального боевого перехвата ему далеко, по многим причинам. Время подготовки его велико, выстрелы он может делать с большим перерывом и ОЧЕНЬ ограниченное количество (сейчас там все плавится после первого), а вот системы защиты (На Р-36 они уже есть) придумать не сложно, начиная от вращения ракеты по оси, заканчивая зеркальным покрытием, укороченным взлетом. Про Россию — тут вообще даже речи нет, максимальное теоретическое расстояние перехвата этого боинга 600км, этого явно не достаточно. В статье сказано, что он сможет перехватывать ракеты запущенные с ПЛ, ха! даже если предположить, что сможет… то беспрерывно стрелять он не сможет из за перегрева, что тогда — над каждой ПЛ будет по 20-30 боингов кружить? :)
    Про наземные лазеры — это еще более фантастично, не говоря уже про их зависимость от погоды углероду-углеродные композиты из который сделан ББ могут выдержать более 40 МВт на кв. м к тому же такие УУКМ переизлучают тепло, резко уменьшая радиационную( тепловое излучение) составляющую, так что лазером сбить такую ББ можно разве, что с ядерной накачкой… да и то не факт. Тем более, что БЧ МБР входит в атмосферу на скорости более 7 км/с (!) она окружена плазмой, которая не может не влиять не преломление лазера.
    В космосе же размещения оружия запрещено, но там теплоотвод еще более сложен… разве что утыкать десятками тысячами лазеров все там.

    Так что, подведя итог, перехват МБР — до сих пор крайне сложная задача, а гарантированный перехват массированного ракетно-ядерного удара это фантастика, её на многие годы вперед и ею и останется.
    Это конечно не значит, что не нужно строить и разрабатывать, но и паниковать тоже не следует.

    В моем комментарии, конечно есть не точности, но в целом все именно так. по МБР вообще много чего интересного есть, были модификации Р-36ОРБ с теоретически неограниченной дальностью, которые увы сняли с вооружения по договору с США о неразмещении оружия в космосе.
  • Никто не умеет обрабатывать ошибки
    +57
    Всё описанное ниже касается любых языков (разумеется, кроме тех, где нет поддержки исключений).

    Большая часть проблем связанных с обработкой исключений вызвана тем, что ошибки и исключения смешивают в одну кучу. Необходимо отличать одно от другого, причём ошибки нужно возвращать.

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

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

    Тут возникает логичный вопрос: а как мы узнаем, критическая это ошибка или нет — ведь всё зависит от требований высокоуровневой задачи. Например, ошибка DNS для задачи выкачки url — критическая или нет? Вроде бы да… но если у нас задача выкачивать url параллельно тысячами в секунду ошибка с одной из url вряд ли действительно является критической. Правильный ответ на этот вопрос — только сама высокоуровневая задача (т.е. ваше основное приложение) знает, что для неё является критической ошибкой, а что нет.

    Следствием из этого является то, что любые модули/библиотеки, по определению, не знают, в каком приложении их используют, и какие ошибки являются критическими, а какие нет. Поэтому они не должны выкидывать исключения (на самом деле это не совсем так — если в них возникают ошибки вроде out of memory или segmentation fault и им подобные — это вполне себе типичные исключения, которые можно и нужно выкидывать как исключения, а не возвращать кодами ошибок — но это типичное «исключение из правила, только подтверждающее это правило»). При этом внутри себя библиотеки вполне могут пользоваться исключениями, когда необходима именно раскрутка стека — например, в задачах рекурсивного парсинга — но все свои внутренние исключения эти библиотеки должны сами и перехватывать, а наружу возвращать обычные ошибки.

    При таком подходе всё работает совершенно адекватно: все ошибки, которые можно нормально обработать, обрабатываются в том месте, где они возникли (и без излишних простыней try/catch); исключения возникают крайне редко, их очень немного, и большая их часть просто честно убивает приложение (если в приложении и есть глобальный перехват всех исключений, то он используется для попытки вывода сообщения об исключении в лог перед тем как приложение будет аварийно завершено, а не для молчаливого заглушения исключений), а явно обрабатывается очень небольшое количество вполне конкретных исключений, специфичных для вашего приложения (вроде выше упомянутых примеров, когда из-за ошибки парсинга или выкачки url необходимо прервать с раскруткой стека большой блок логики приложения).
  • Новое в Java 8
    +2
    У джавы в основе идеологии минимализм, чистый ООП, уход в абстракции и подход «это не нужно» (язык родился из идеи «возьмём C++ и выкинем всё лишнее»). Шарп — полная противоположность: давайте напихаем всего что можно, побольше, намажем сахаром и сверху положим вишенку (язык родился из идеи «возьмём Java и вернём напрасно выкинутое»).

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

    Для джавы обратная совместимость — это святое. Майкрософт же время от времени позволяет себе ломать совместимость во имя развития (впрочем, от авторов шарпа тоже временами слышно: «Эх, жаль, что сделали так, теперь уже не изменить»). Джава старше, поэтому наследия царского режима больше, поэтому проблем больше и развивать сложнее.

    в Java какая-то своя специфика, что ни лямбды, ни атрибуты, ни Linq просто не нужны

    А в других мейнстримовых языках есть все перечисленные вами фичи? В JS замыкания есть, но синтаксис длинный; атрибутов нет, да и сами классы ещё не ввели; сторонние реализации LINQ есть, но из-за первого пункта выразительность хромает. В PHP замыкания работают через пень-колоду; атрибуты парсят как текст в комментариях, если вдруг понадобится; LINQ в такой же ситуации, как в JS. В C++ такие же тормоза с новыми фичами, как в джаве. Вот питон и руби ворвались в мейнстрим как раз на подобных фичах в частности и выразительности в общем, это да.

    Это когда программируешь на локомотивах прогресса, кажется, что всё вокруг изменилось, расцвела функциональщина, асинхронность поросла сахаром и прочее. Но остальной мир-то не так торопится.
  • UFO just landed and posted this here
  • Новый вид разработчиков — Framework Java Coder?
    UFO just landed and posted this here
  • От дейтинга к городу
    +34
    «Еслибы у вас был выбор: написать веб-приложение, или сходить на свидание с девушкой — с чего бы вы начали его писать, с фронтэнда, или с бэкэнда?» :)
  • UFO just landed and posted this here
  • UFO just landed and posted this here
  • UFO just landed and posted this here
  • Общественный совет при ФСБ предлагает запретить Tor и сайты-анонимизаторы, привлечь к ответственности их создателей
    +168
    image
  • Антивирус Бабушкина
    +48
    Это не уровень программы Умник, это уровень высшего образования, как ни печально об этом говорить. Каждый год я просматриваю темы дипломов свежезащитившихся выпускников по профильным специальностям, дабы знать, кого при случае на работу приглашать. В последний раз был «красный» диплом на тему «сравнительный анализ современных браузеров», где, натурально, листах на 80 сравнивались браузеры в стиле «а вот в хроме такая менюшка есть, а в огнелисе нету». Когда смотришь онлайн лекции какого-нибудь забугорного университета, банальный computer science какой-нибудь, весьма явно осознаешь, что это недостижимый уровень для 99% отечественных вузов.
  • Чем плох свой Open Source проект
    +31
    Коллеги! А может начать честно говорить:

    «Сделай мне эту фичу. Иначе я буду использовать другой проект»

    1.Нет.
    2.Пожалуйста

    «Без данной функциональности этот проект бесполезен»

    Это ваше личное мнение

    «Ты все делаешь не так. Отдай нам проект иначе ты его загубишь»

    Форкайте.

    «Твой код отстой, мы напишем все намного лучше»

    Пишите

    «Я все делал не по инструкции. Почему у меня ничего не работает? Ненавижу вас»

    Делайте по инструкции. Мне всё равно как вы ко мне относитесь.

    «Вы должны....»

    Нет.

    «Я требую....»

    Платите деньги.
  • Первые жертвы критических уязвимостей Rails: RubyGems.org подвергся хакерской атаке
    +38
    Встречаешься ты с барышней, в кафе допустим. Случайно какая-то
    милая нелепость заставляет вас заговорить друг с другом — ну там я
    не знаю, она уронила платок или ты попросил у нее телефон
    позвонить. И вдруг глянулись вы друг другу.
    Потом — вечер, лето, даже весна, теплынь, душит черемуха и сатанеют
    соловьи. Смех, легкое опьянение, вы стоите на балконе у нее дома,
    потом заходите в комнату… Тут клавиатура бессильна. Она богиня, и
    даже шестой оргазм не может вас разлучить. Ты засыпаешь, и во сне
    формулируешь предложение руки и сердца. УТро. Солнце лупит прямо
    в глаза.
    Приходится просыпаться. На столе лежит записка.
    «Радость моя, солнце мое, свет моей жизни… Я ушла на работу. Это
    такая мука — разлучится с то...» СТОП. Что это?!.. Еще раз! «мука — разлучится с тобой!»… о НЕТ! НЕТ! Только не это!
    В полседьмого раздается бряканье ключей. Ты видишь мелком из-за
    створки двери этот бесконечно милый профиль… Прощай!
    Топор в неумелых руках не перерубает шею даже с третьего удара. Ты
    стоишь в луже крови над издыхающей богиней и шепчешь
    «ться! что сделать! ться!»…
  • Жизнь с программистом
    +5
    У меня ящерица Апач. Точнее геккон девочка.
    А назвал так потому что она мелкая и нагрузки сильной не выдержит. Да и форкаться скоро начнет.
    А еще появился геккон Nginx) Он для нее фронтэндом служит)