Коллега, не знаю где вы взяли фотографию «Эльбруса», но на столе там навскидку стоит классическая ДВК-2. Кробочка справа — два пятидюймовых дисковода, под монохромным монитором — блок процессора с тремя белыми кнопочками (они так забавно снизу вверх включались). Первая включение, вторая — запуск процессора, третья — таймер. Клавиатура тоже характерная. Возможно, что это переделка под эльбрусовский терминал, но что-то мне сомнительно. Я именно в такой монитор три года подряд пялился:
По сути топика — не все языки «последовательны». Современные функциональные языки (да взять хотя бы тот же LabVIEW) — уже вполне себе параллельны. Ну то есть, если участки кода не связаны между собой потоками данных (принцип DataFlow), то они исполняются параллельно. Если я, скажем, в коде имею пару циклов (While или For), то они исполняются на двух процессорах, мне не надо прилагать вообще никаких дополнительных усилий к распараллеливанию. Конечно, это происходит не на низком уровне суперскалярного процессора, а на уровне компилятора — он автоматом создаёт два (или больше, если надо) потока, исполняющихся параллельно. Иногда даже приходится прилагать усилия, чтобы запретить параллельное исполнение участков кода, где это не нужно. Ну и стандартные средства для работы с паралельным кодом (очереди, семафоры, рандеву и т.п.) уже встроены в язык. Так что не всё так плохо.
Вообще работа с прототипированием, как мне кажется, требует более тщательного контроля за прохождением проекта. На последнем графике, например, мы видим, что время тестирования сократилось, что понятно, поскольку части прототипа так или иначе тестировались в процессе. На практике же, когда сроки уже сильно профуканы, прототипирование может запросто привести к тому, что заказчик этот самый наполовину доделанный и кое-как оттестированный прототип и получит, особенно когда куча вышестоящих менеджеров плохо понимает разницу между прототипом и продуктом. Возможно, это не так сильно относится к продуктам, где прототипирование и разработка происходит с использование различных инструментов, но если для прототипа и окончательного продукта используются одни и те же инструменты разработки, то такая опасность есть. Мы используем прототипирование, но стараемся по возможности не использовать код прототипа в релизах.
Мой опыт подсказывает, что стать специалистами широкого профиля после завершеня обучения в иституте или университете вполне возможно, но это, конечно, зависит от факультета, преподавателей, ну и самих студентов, разумеется.
Я вот закончил Физико-технический факультет в петербургском политехе в середине девяностых. Это был первый набор, и там было четыре группы: полупроводники, физика плазмы, физика твёрдого тела и космос. Первые пару курсов потоки шли параллельно, а с третьего стали читать специфические лекции по группам. Кроме того, с третьего курса можно было выбрать лабораторию в физтехе и заниматься там всякими исследованиями — ну то есть примерно как вы и предлагаете. Я вот сначала сверхпроводимостью немного занимался, а потом рентгеновской дифрактометрией. Из «IT» курсов у нас был семестр фортрана, пара семестров паскаля, да вычислительные методы — причём всё это примерно раз в неделю. Си я уже сам изучал вечерами в лаборатории на PDP11. Чёрт меня дёрнул автоматизировать дифрактометр (для меня это был просто измерительный инструмент, который можно было сделать удобнее), но что-то у меня получилось, вот я и продолжил программировать.
Теперь я уже пятнадцать лет занимаюсь чистым программированием. Физика ограничивается рентгеновскими лучами, а математика не распространяется дальше Фурье. Сокурсники в основном тоже не физикой занимаются (хотя есть и физики, конечно), многие уехали за границу, есть и программисты. Самое главное, что я хочу сказать, это то, что в физтехе меня научили думать, _учиться_ и вникать в суть происходящих явлений, и это, пожалуй, самое главное. Я не знаю навскидку ответов на многие возникающие вопросы, но я их легко нахожу. У нас в физтехе в большинстве своём были прекрасные учителя. Если преподаватель бубнит себе лекцию, а потом на экзамене лениво слушает ответы на билеты и ставит оценки согласно честно выполненным заданиям — то скорее всего там студенты мало чему научатся. А вот если преподаватель выслушав ответ на билет, откладывает его в сторону, и собственно лишь в этот момент начинается экзамен (с которого вас порой выгоняют с криком «Вы не физик, вы ДВОРНИК, вон отсюда — ДВА БАЛЛА», причём на пересдачу отправляется едва ли не три четверти всего потока) — вот там и получаются специалисты широкого профиля.
Спасибо, уговорили :)
Просто разница в 125 долларов показалась навскидку довольно существенной, но как говорится, от добра добра не ищут… Штука на самом деле довольно удобная, поюзаю ещё недельку — другую, потом может маленький обзор напишу.
От, блин, а я только неделю назад купил Medion Lifetab (тот, который Lenovo IdeaTab S2109) за 299 евро. Пойти, что ли сдать его обратно?
Кстати, разрешение 1280 x 800 для семидюймового планшета — пожалуй, то, что надо. У моего 1024x768 на десяти дюймах и я никак не могу подобрать комфортный шрифт в читалке, потому что пиксели вижу. С другой стороны в десять дюймов пальцем тыкать удобнее. Идеально было бы 10 дюймов с 1600x1200.
Пара плюсов у Lenovo — четыре динамика, что хорошо для фильмов, да карточку микро SD можно вставить. Ну и ещё есть гнездо для зарядки, и usb может в двух режимах работать — то есть туда можно usb флешку вставить через переходник. Камеры на обратной стороне нет, и её не хватает (иногда бывает нужно, скажем, визитку или бумажку какую сфотографировать).
С другой стороны, в Европе гугло планшет запросто может стоить 249 евро вместо 249 долларов, как это с амазоновским киндлом происходит.
Я вприкуску к гуглокартам ещё TomTom пользую. Там сразу траффик показан, да и навигатор у меня TomTom, и он, понятное дело, прокладывает маршрут примерно также как и онлайн сервис. Но это в Гамбурге. В России у ТомТома карты так себе.
Согласен, лучше не экономить. Мой был за 16 евро (ну то есть за 650 р. примерно), пульт тоже на АААА был… Через месяц использования силовая часть сделала «бздынь»… Теперь мне больше не нужно искать и расковыривать подходящую «крону».
Это в общем-то так — самое простое — просто сбросить контроллер в надежде, что отстальное рухнет само по себе (хотя и в этом случае хотя бы тип контроллера надо знать — с Siemens или Allen Bradley взаимодействие принципиально отличается).
Но в данном конкретном случае — разработчики именно знали о деталях управления и особенностях PLC программы.
Со стр. 35 там изложено как был модифицирован PLC. Прочитайте десяток станиц начиная с 35 — всё станет ясно. Авторы не только знали об общей архитектуре управления (см. стр. 44), но и знали о частотах преобразователей (807...1210 герц менялась вирусом до 1410->2->1064 см стр 43), авторы знали где значение частоты хранится, и т д.
Спасибо за статью и ссылки.
Мне вот было всегда непонятно и любопытно, как авторы доступ к железу получили (чтобы Stuxnet запрограммировать, надо довольно подробно знать как центрифуга управляется контроллером), и почему не ищут продавшегося инженера-инсайдера? А они — эвона как — похожие центрифуги у Каддафи стащили. Молодцы, чё тут сказать.
Кстати, это порождает целую кучу вопросов — ведь дело с поставками центрифуг в Ливию — оно довольно тёмное, если верить Википедии, и как так получилось, что у ливийских и иранских центрифуг похожие системы управления — с этим тоже любопытно разобраться.
Вот в случае с посылкой по почте меня всегда интересовало — а как потом доказывать, что конверт не вскрывался после отправления? Тем более, что есть конверты с такими металлическими заклёпочками — их вообще можно открыть, не повредив самого конверта. Ну а потом, если дело дойдёт до суда — вложить туда то, что нужно (даже созданное заметно позже отправки конверта), и залепить хоть сургучом.
А по поводу нотариусов — ещё не каждый такую копию с распечаткой программного кода заверит. Я вот как-то пошёл к нотариусу с бумажкой на немецком языке — так мне не стали заверять, мотивируя это тем, что «я вааще не понимаю чё тут понаписано».
> А вот отчего в Германии так боятся АЭС, я и правда не понимаю — места там побольше, никаких землетрясений и цунами.
Вдогонку к предыдущему оратору ещё пара заметок.
Во-первых, немцы «помешаны» на всём, что касается сохранения окружающей среды. Есть вполне разумные заскоки — типа тотальной сортировки мусора (крышечку от йогурта вообще говоря надо отрывать — так как она люминиевая и утилизируется отдельно от пластика). Также автомобили — мне продавец долго впаривал авто с пониженным выхлопом CO (который мне, как конечному потребителю, в общем-то не сильно важен). Когда я ему объяснил, что нужен не минимум CO, а минимум совокупной стоимости владения транспортным средством, он даже как-то обиделся. Ну и во всём остальном так. Мне вон постоянно приходит реклама — переключитесь на другого поставщика энергии — у него эта энергия экологическая. То, что она на четыре цента за киловатт дороже — это типа пофиг.
Во-вторых, вот смотрите, меточкой отмечена атомная станция. Слева, внизу по течению Эльбы — Гамбург (я живу севернее, примерно в вершине треугольника):
А теперь увеличим это дело — водозабор там прямо из Эльбы, станция стоит на самом берегу:
Вопрос — сколько времени потребуется на деактивацию Эльбы и Гамбурга, если оно таки жахнет?
Я хоть и физик по образованию, но буду в первых рядах демонстрации для закрытия этой станции.
Что мешало отнести её километров на дцать от реки?
Это они _теперь_ очень сильно напуганы. А раньше они довольно-таки бесстрашно возвели несколько станций прямо на побережье в сейсмически- и цунами- опасном районе. И вот что-то мне подсказывает, что там вовсе не страх или здравый смысл руководил постройкой, а банальный доллар — ведь атомная станция требует нефигового охлаждения, и ясен пень — выгоднее всего строить рядом с естественным водоёмом и не тратить энергию на перекачку неслабых объёмов воды.
Это так, но вот мне как-то сомнительно, что все ветряки и фотоэлементы сравнятся по количеству вырабатываемой энергии с атомной. Сейчас в Германии примерно четверть всей энергии атомная. После аварии в Японии часть совсем старых реакторов немедленно остановили на профилактику (и многие так и не включили). Результат не заставил себя ждать — мне пришёл новый счёт и там новый тариф, и изменился он отнюдь не в мою пользу. Лет через десять планируют закрыть вообще все атомные станции. С одной стороны, конечно хорошо, что не жахнет, но с другой стороны это будет наверняка новое повышение тарифов для конечных потребителей.
Яхта также может оказаться довольно дорога в смысле доп. расходов — аренда места стоянки у причала, периодические ремонты/обслуживание, вода, электро, топливо, и т.д. и т. п.
Ну представьте гипотетическую ситуацию — вы купили Большую Чёрную Машину, внешне очень похожую на инкассаторскую и поехали в банк получить там 70 тыщ. В это же время там происходила выемка денег и инкассатор с похмелья положил семь лимонов в вашу машину. Приехав домой вы удивились и начали тратить бабки. А через неделю банк, просмотрев данные видеонаблюдения приехал к вам с полицией и требованием вернуть бабло.
Вообще такие ошибки редко прокатывают — транзакции записаны и софт надо полагать время от времени проводит авто проверку. Если очень хочется попытаться присвоить эти деньги — их просто лучше не трогать. Ну вот не заметил, что на счету фигня какая-то появилась и всё. И то вероятность, что прокатит очень мала, потому что банк имеет доступ к счёту клиента и при появлении там подозрительной суммы там запросто какой-нибудь «триггер» срабатывает.
В том, что он потратил не принадлежащие ему средства.
Если б ализар не спешил с публикацией а порылся в интернете, то он бы нашёл некоторое количество похожих случаев. Из примеров, что на моей памяти — банк Comdirect (это такой «онлайн» банк в Германии) перевёл по ошибке клиенту 200 миллионов евро (вместо 20 тысяч). Клиент подсуетился и перебросил 10 миллионов на другой счёт. Банк ошибку заметил, деньги перевели обратно, но банк потребовал ещё и 12000 евро за «пользование» деньгами. Они там потом довольно долго судились из-за этих доп процентов.
По сути топика — не все языки «последовательны». Современные функциональные языки (да взять хотя бы тот же LabVIEW) — уже вполне себе параллельны. Ну то есть, если участки кода не связаны между собой потоками данных (принцип DataFlow), то они исполняются параллельно. Если я, скажем, в коде имею пару циклов (While или For), то они исполняются на двух процессорах, мне не надо прилагать вообще никаких дополнительных усилий к распараллеливанию. Конечно, это происходит не на низком уровне суперскалярного процессора, а на уровне компилятора — он автоматом создаёт два (или больше, если надо) потока, исполняющихся параллельно. Иногда даже приходится прилагать усилия, чтобы запретить параллельное исполнение участков кода, где это не нужно. Ну и стандартные средства для работы с паралельным кодом (очереди, семафоры, рандеву и т.п.) уже встроены в язык. Так что не всё так плохо.
Я вот закончил Физико-технический факультет в петербургском политехе в середине девяностых. Это был первый набор, и там было четыре группы: полупроводники, физика плазмы, физика твёрдого тела и космос. Первые пару курсов потоки шли параллельно, а с третьего стали читать специфические лекции по группам. Кроме того, с третьего курса можно было выбрать лабораторию в физтехе и заниматься там всякими исследованиями — ну то есть примерно как вы и предлагаете. Я вот сначала сверхпроводимостью немного занимался, а потом рентгеновской дифрактометрией. Из «IT» курсов у нас был семестр фортрана, пара семестров паскаля, да вычислительные методы — причём всё это примерно раз в неделю. Си я уже сам изучал вечерами в лаборатории на PDP11. Чёрт меня дёрнул автоматизировать дифрактометр (для меня это был просто измерительный инструмент, который можно было сделать удобнее), но что-то у меня получилось, вот я и продолжил программировать.
Теперь я уже пятнадцать лет занимаюсь чистым программированием. Физика ограничивается рентгеновскими лучами, а математика не распространяется дальше Фурье. Сокурсники в основном тоже не физикой занимаются (хотя есть и физики, конечно), многие уехали за границу, есть и программисты. Самое главное, что я хочу сказать, это то, что в физтехе меня научили думать, _учиться_ и вникать в суть происходящих явлений, и это, пожалуй, самое главное. Я не знаю навскидку ответов на многие возникающие вопросы, но я их легко нахожу. У нас в физтехе в большинстве своём были прекрасные учителя. Если преподаватель бубнит себе лекцию, а потом на экзамене лениво слушает ответы на билеты и ставит оценки согласно честно выполненным заданиям — то скорее всего там студенты мало чему научатся. А вот если преподаватель выслушав ответ на билет, откладывает его в сторону, и собственно лишь в этот момент начинается экзамен (с которого вас порой выгоняют с криком «Вы не физик, вы ДВОРНИК, вон отсюда — ДВА БАЛЛА», причём на пересдачу отправляется едва ли не три четверти всего потока) — вот там и получаются специалисты широкого профиля.
Просто разница в 125 долларов показалась навскидку довольно существенной, но как говорится, от добра добра не ищут… Штука на самом деле довольно удобная, поюзаю ещё недельку — другую, потом может маленький обзор напишу.
Кстати, разрешение 1280 x 800 для семидюймового планшета — пожалуй, то, что надо. У моего 1024x768 на десяти дюймах и я никак не могу подобрать комфортный шрифт в читалке, потому что пиксели вижу. С другой стороны в десять дюймов пальцем тыкать удобнее. Идеально было бы 10 дюймов с 1600x1200.
Пара плюсов у Lenovo — четыре динамика, что хорошо для фильмов, да карточку микро SD можно вставить. Ну и ещё есть гнездо для зарядки, и usb может в двух режимах работать — то есть туда можно usb флешку вставить через переходник. Камеры на обратной стороне нет, и её не хватает (иногда бывает нужно, скажем, визитку или бумажку какую сфотографировать).
С другой стороны, в Европе гугло планшет запросто может стоить 249 евро вместо 249 долларов, как это с амазоновским киндлом происходит.
Но в данном конкретном случае — разработчики именно знали о деталях управления и особенностях PLC программы.
Просто почитайте досье этого вируса.
Со стр. 35 там изложено как был модифицирован PLC. Прочитайте десяток станиц начиная с 35 — всё станет ясно. Авторы не только знали об общей архитектуре управления (см. стр. 44), но и знали о частотах преобразователей (807...1210 герц менялась вирусом до 1410->2->1064 см стр 43), авторы знали где значение частоты хранится, и т д.
Мне вот было всегда непонятно и любопытно, как авторы доступ к железу получили (чтобы Stuxnet запрограммировать, надо довольно подробно знать как центрифуга управляется контроллером), и почему не ищут продавшегося инженера-инсайдера? А они — эвона как — похожие центрифуги у Каддафи стащили. Молодцы, чё тут сказать.
Кстати, это порождает целую кучу вопросов — ведь дело с поставками центрифуг в Ливию — оно довольно тёмное, если верить Википедии, и как так получилось, что у ливийских и иранских центрифуг похожие системы управления — с этим тоже любопытно разобраться.
А по поводу нотариусов — ещё не каждый такую копию с распечаткой программного кода заверит. Я вот как-то пошёл к нотариусу с бумажкой на немецком языке — так мне не стали заверять, мотивируя это тем, что «я вааще не понимаю чё тут понаписано».
36) Миллисекундный таймер в 32х битном регистре никогда не переполнится и его значение всегда будет монотонно возрастать.
Вдогонку к предыдущему оратору ещё пара заметок.
Во-первых, немцы «помешаны» на всём, что касается сохранения окружающей среды. Есть вполне разумные заскоки — типа тотальной сортировки мусора (крышечку от йогурта вообще говоря надо отрывать — так как она люминиевая и утилизируется отдельно от пластика). Также автомобили — мне продавец долго впаривал авто с пониженным выхлопом CO (который мне, как конечному потребителю, в общем-то не сильно важен). Когда я ему объяснил, что нужен не минимум CO, а минимум совокупной стоимости владения транспортным средством, он даже как-то обиделся. Ну и во всём остальном так. Мне вон постоянно приходит реклама — переключитесь на другого поставщика энергии — у него эта энергия экологическая. То, что она на четыре цента за киловатт дороже — это типа пофиг.
Во-вторых, вот смотрите, меточкой отмечена атомная станция. Слева, внизу по течению Эльбы — Гамбург (я живу севернее, примерно в вершине треугольника):
А теперь увеличим это дело — водозабор там прямо из Эльбы, станция стоит на самом берегу:
Вопрос — сколько времени потребуется на деактивацию Эльбы и Гамбурга, если оно таки жахнет?
Я хоть и физик по образованию, но буду в первых рядах демонстрации для закрытия этой станции.
Что мешало отнести её километров на дцать от реки?
Вообще такие ошибки редко прокатывают — транзакции записаны и софт надо полагать время от времени проводит авто проверку. Если очень хочется попытаться присвоить эти деньги — их просто лучше не трогать. Ну вот не заметил, что на счету фигня какая-то появилась и всё. И то вероятность, что прокатит очень мала, потому что банк имеет доступ к счёту клиента и при появлении там подозрительной суммы там запросто какой-нибудь «триггер» срабатывает.
Если б ализар не спешил с публикацией а порылся в интернете, то он бы нашёл некоторое количество похожих случаев. Из примеров, что на моей памяти — банк Comdirect (это такой «онлайн» банк в Германии) перевёл по ошибке клиенту 200 миллионов евро (вместо 20 тысяч). Клиент подсуетился и перебросил 10 миллионов на другой счёт. Банк ошибку заметил, деньги перевели обратно, но банк потребовал ещё и 12000 евро за «пользование» деньгами. Они там потом довольно долго судились из-за этих доп процентов.
Документы тоже сейчас открыты.