Хотел бы начать перевод с маленького опроса. Вопрос к .NET разработчикам пишущим на языке программирования C#.
Опрос в конце перевода.
Сегодня я смотрел внутренний список разработчиков языка C#. Один из вопросов был о поведении выражения «x += x++», а именно, каким должно быть правильное поведение. Я думаю этот вопрос более чем интересный, поэтому решил посвятить ему запись в своем блоге. Но для начала, НИКОГДА НЕ ПИШИТЕ ТАКОЙ КОД.
Перед тем как перейдем к самой статье расскажу такой вот случай.
Мой друг купил новый БМВ. Любит погонять — гонял. Когда на одометре было 8000км позвонил официальный дилер и сообщил, что колодки стерлись — пора менять.
Статья про то как амереканский журналист из Forbs и двое специалистов по безопасности из Twitter и IOActive тестировали Ford Escape и Toyta Prius (добавлено по просьбам в комментариях). Статья от первого лица от журналиста — Andy Greenberg.
Наверное, все вы знаете компанию Yota – оператора связи четвёртого поколения. Yota первой в России запустила LTE-сети и в настоящий момент предоставляет услуги мобильного интернета более чем в 20 городах России. А мы, Yota Devices, специализируемся на создании пользовательских устройств для работы в таких сетях. До недавних пор это были только модемы и роутеры, но некоторое время назад мы начали работу над совершенно новым продуктом: телефоном с двумя экранами – уже известном как YotaPhone или Йотафон. Более подробно о самом устройстве и особенностях его разработки мы планируем рассказывать здесь. Добро пожаловать в первый официальный Йотафон-пост на Хабре.
Группа немецких и японских исследователей осуществили приблизительную компьютерную симуляцию мозговой активности сети нейронов головного мозга человека в масштабе 1% нейронной сети мозга на протяжении 1 секунды. На сегодняшний день это самый крупный эксперимент по симуляции мозговой активности.
Один процент головного мозга — это 1,73 млрд нервных клеток и 10,4 трлн соединяющих их синапсов. Чтобы провести эксперимент, учёные задействовали 82 944 процессора суперкомпьютера K и 1 петабайт памяти (24 байта на синапс).
В копировальных аппаратах и сканерах Xerox WorkCentre обнаружился интересный глюк: в некоторых случаях при сканировании/копировании документов они могут менять мелкие цифры. Это неприятный эффект, особенно при копировании финансовых документов.
Скорее всего, баг связан с особенностями работы алгоритма JBIG2 для сжатия бинарных изображений. Алгоритм использует «словарь» из символов и подставляет их в случае обнаружения сходства.
Часто в современном мире стремление к простоте приводит к печальным последствиям. Вот, например, в сфере высоких технологий — простота и удобство практически всегда ставит под угрозу приватность и конфиденциальность пользователя. Это могут быть и WiFi-роутеры, идущие по умолчанию без пароля на беспроводную сеть, и почтовые службы, разрешающие пользователю не заморачиваться со сложностью устанавливаемого пароля. От таких проявлений простоты и удобства часто страдают не только приватные данные частного лица, но и крупные компании, идущие на поводу у своих топ, миддл, а иногда и лоу-менеджеров, которым 123 — удобно, а стандартная политика паролеобразования Microsoft — слишком сложно. Сегодня я хочу рассказать о том, как простота и удобство превращают жизнь тысяч (а то и десятков тысяч) человек в реалити-шоу.
В написанной на днях статье Вернулся невод с тиной морскою, я дал ссылку на частотный словарь Википедии. Количество скачиваний на порядки превзошло все мои ожидания. Я почувствавал огромное духовное родство с читателями Хабра. Одна часть скачавших (как и я!) любит всячески возиться со словами и словарями, а вторая часть (как и я!), увидев на просторах сети интересный артефакт, тут же хватает его и тащит к себе в гнездо, а что с ним делать — потом разберёмся!
К первой части у меня просьба. Если Вы нашли интересное применение словарю или у вас есть идея такого применения и это всё не коммерческая тайна, поделитесь, пожалуйста, в комментариях.
А для второй части, для тех, кто скачал словарь, а теперь мучительно думает, что делать со свалившимся счастьем, я хочу написать несколько статей. Собственно с этой и начну.
В статье кратко рассказывается о машине Тьюринга и приводится ее реализация на Exсel. Полезна статья будет и тем, кто хочет познакомиться с машиной Тьюринга, и тем, кто хочет повысить свой кругозор в функционале Excel.
Прошло чуть больше года после предыдущих статей о моем проекте создания микросхем дома (1, 2), люди продолжают интересоваться результатами — а значит пора рассказать о прогрессе.
Напомню цель проекта: научиться изготавливать несложные кремниевые цифровые микросхемы в «домашних» условиях. Это никоим образом не позволит конкурировать с серийным производством — помимо того, что оно на порядки более совершенное (~22нм против ~20мкм, каждый транзистор в миллион раз меньше по площади), так еще и чудовищно дешевое (этот пункт не сразу стал очевиден). Тем не менее, даже простейшие работающие микросхемы, изготовленные в домашних условиях будут иметь как минимум образовательную и конечно декоративную ценность.
Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:
Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста:
data Maybe a = Nothing | Just a
Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Не то чтобы я был диким фанатом консолей, но есть вещи, которые действительно впечатляют. Понятное дело, что консолям нового поколения без впечатляющих пилотов на рынке делать нечего. Речь идет не о Watch Dogs, который тоже заслуживает внимания, как любая песочница с открытым миром, а о Tom Clancy’s The Division анонсированная для PS4 и Xbox One. Картинка (я оцениваю лишь ее) выглядит действительно хорошо. Игры уже давно стремятся быть не играми. Это уже почти кино. Меня мало волнует сейчас вопрос гейм-плея данной игры. Сейчас я просто потребитель, который готов клюнуть на вкусную обертку.
Параллельно с этим во мне просыпается девелопер-скептик, который ничего и никогда не принимает на веру, который до того как возопить о пришествии чего-либо сперва хочет убедиться в том, что пришествие произошло. Не потому, что боится выглядеть глупо, но потому что, обжегшись тысячи раз — не хочет повторить это в тысяче первый.
Мне уже давно не удается играть в игры как игроку. Иметь стопроцентное погружение. Это побочный эффект призмы через которую я смотрю на любую игру. Глаз в первую очередь цепляется за знакомые графические артефакты, ищет пути, которыми шли разработчики в создании графического контента. Одобрительно хлопает плюсам, и огорченно хмурит брови там, где все осталось как есть, без изменений. Все это помножено на «взгляд художника», который также аплодирует умелым действиям, и негодующе рычит в тех местах, где неизвестный художник допустил ошибку. Все это множится на еще не добитого геймера, который превыше всего ставит гейм-плей.
Сложный коктейль мешающий, в полной мере, наслаждаться компьютерными играми. Борьба противоположностей. Внутренний конфликт потребителя и разработчика.
Что я вижу здесь? Для начала посмотрите трейлер и решите, что видите для себя вы. А потом… лопата?
Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.
Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
— Почему собака виляет хвостом?
— Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.
«Что? Стивен Кинг „Как писать программный код“ ?! Нет такой книги! Да он вообще не программист ни разу!».
Да, так и есть. Тем не менее — книга с таким содержанием у него есть. Хотя он и не думал, что пишет её об этом. Хотя в результате написал. Хотя, наверное, и не знает об этом. О чём же я тут рассуждаю? О недавно прочитанной мною прекрасной книге «Как писать книги» (англ. — «On Writing»).
Кинг писал её как опытный писатель для писателей начинающих. Однако в результате у него получилась книга, рассказывающая не только как писать именно фантастическую литературу, но и том как писать вообще что угодно — в том числе и программный код. Прочитав за последние пару лет два десятка основных книг-икон современной программной индустрии (ну знаете, все эти «рефакторинги», «паттерны», «чистые и совершенные коды» и т.д.) я могу утверждать, что этой книге Кинга вполне себе место среди них, причём не на последнем месте. Дальше будет пару примеров (и как результат — спойлеров), поэтому самым правильным будет не продолжать читать статью, а пойти и прочитать саму книгу. Потом можете вернуться и сравнить свои выводы с моими. Ну а если времени на книгу у вас нет — под катом выдержки и выводы.
В этой статье — продолжаем ковырять микросхемы (а если вы пропустили первую статью — она тут).
Под катом — внутренности К565РУ5, Z80, КР580ВМ80А, MSP430F122, PIC16C505, PIC12C508, российского радиационно-стойкого микроконтроллера 1886ВЕ10, STM32F103VGT6, таймер 556, новый чип RFID из билетов Метро и Мультиклет.
Ну и пара слов о более каноническом способе вскрытия микросхем, который оставляет их в работоспособном состоянии.
На Engadget взбаламутили всех, опубликовав статью про гонку цен на устройства, когда Amazon и Google постоянно снижают стоимость своих устройств или заставляют это делать партнеров. И по мнению автора статьи, это приводит к печальным последствиям, когда становятся невозможны инновации. Перевод этого материала есть на Хабре тут.
К сожалению, этот материал описывает ситуацию с точки зрения потребителя и частично, производителя устройства. Но совершенно не учитывает те компании, что как раз и создают технологии. Давайте взглянем на табличку в которой приведены топ 20 компаний по затратам на исследования и разработки в 2011 году.
Возможное, многие из вас думали после ситуации с Фобос-Грунтом — что такого особенного в микросхемах для космоса и почему они столько стоят? Почему нельзя поставить защиту от космического излучения? Что там за история с арестом людей, которые микросхемы экспортировали из США в Россию? Где все полимеры?
На эти вопросы я и попробую ответить в этой статье.
Disclaimer: Сведения получены из открытых источников и могут быть не вполне точными. Я лично с военной электроникой не работаю, а кто работает — те статьи писать не могут. Буду рад дополнить и исправить статью.
Мы уже знаем, на что способен iPhone. Уступает ли ему Android?
Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!
Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.
Теория создания самодельной автомобильной спутниковой сигнализации с web-интерфейсом и поддержкой eCall / ЭРА-ГЛОНАСС на базе микроконтроллеров STM32 как основа концепции «Умный автомобиль», и её использование в системах «Умный дом». Реализация аналога технологии Volvo On Call и автомобильной социальной сети Toyota Friends.