• 8 ловушек программирования



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

      Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
      Читать дальше →
    • Конкурс «Признайся в любви или напиши поэму на Ruby on Rails»

        Привет!

        В ближайшее время произойдёт сразу два события: 14 сентября в #tceh стартует образовательный курс «Врубаемся в Ruby» для тех, кто хочет научиться кодить с нуля, а 26 сентября все, кто уже знает и любит Ruby соберутся на главной российской RoR конференции RailsClub.

        Чтобы это счастье подогреть, #tceh совместно с RailsClub предлагает поучаствовать в конкурсе. Цель — показать дивную красоту Ruby-кода. От участника требуется соединить своё поэтическое и кодерское «Я» — написать на Ruby признание в любви или поэму, воспевающую женскую красоту.

        image

        Победитель получит билеты на конференцию и бесплатное участие в образовательном курсе!

        Читать дальше →
      • Глючинг, атаки по сторонним каналам и хакерские проекты на Кикстартере (продолжение)

          Продолжение списка хакерских проектов на Кикстартере, найденных мной во время выполнения «домашки» для курса по выводу проекта на Кикстартер. Начало тут.

          ChipWhisperer-Lite: A New Era of Hardware Security Research

          ChipWhisperer смеется над вашей реализации AES-256. Но смеется вместе с тобой, а не над тобой.

          ChipWhisperer — первый Open Source набор инструментов (GPL licenced) для анализа безопасности оборудования, включая анализ атак по сторонним каналам и глитчинг (glitching).

          Ближайший коммерческий аналог такого оборудования стоит $30k — $400k, с закрытыми исходниками, что затрудняет исследования и разработки. Проект занял второе место на Hackaday Prize 2014

          Сборы — $88,535 ($50,000)
          Старт проекта — 27 февраля 2015
          Страница проекта на Кикстартере

          image
          Читать дальше →
          • +14
          • 17,4k
          • 1
        • Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать


            (Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

            Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

            Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

            На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

            А у меня для вас есть три истории из моей жизни. Просто три истории.

            История первая — ламер


            Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
            Читать дальше →
          • Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 1. «Ключ»

              imageКевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

              Начало и план перевода тут: «Шкворень: школьники переводят книгу про хакеров».
              Пролог
              Глава 1. «Ключ»
              Глава 3. «The Hungry Programmers»
              Глава 5. «Cyberwar!»
              Глава 34. DarkMarket
              (публикуем по мере готовности переводов)

              Логика выбора книги для работы со школьниками у меня следующая:
              • книг про хакеров на русском языке мало (полторы)
              • книг про кардинг на русском нет вообще (UPD нашлась одна)
              • Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
              • приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
              • работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
              • текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
              • книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

              Кто хочет помочь с переводом других глав пишите в личку magisterludi.

              Глава 1. Ключ

              (текст переведен в рамках коллективного проекта школьников в лагере GoToCamp, спасибо Алене, Кате, Соне, Грише, Саше и хабраюзеру ShiawasenaHoshi)

              Читать дальше →
              • +20
              • 78,8k
              • 4
            • Настраиваем сочетания клавиш в Linux наподобие Mac OS X

              • Tutorial

              Раньше, у меня довольно часто возникала такая ситуация, когда одновременно работаешь в терминале и, например, в браузере.
              После нескольких часов работы начинаешь путаться и в терминале вместо [Ctrl]+[Shift]+[C] нажимаешь [Ctrl]+[C], а в браузере наоборот. В итоге в терминале вы получаете прерывание а в браузере вместо ожидаемого эффекта у вас медленно прогружается дебаггер.
              В один прекрасный момент меня это достало и я решил, что пора что-то менять…
              Меня тоже это достало!
            • Мобильные телефоны для/против спецслужб

                — Здравствуйте, это вам из ФСБ звонят.
                — Я знаю.
                — Откуда?
                — Вы мне на выключенный мобильник дозвонились.


                Какой самый защищенный телефон?

                Вот какие телефоны последние 2 недели стали жителями моего рюкзака. Знающие люди сразу поймут, что это за две трубки слева.

                Чем больше я копал, тем печальнее мне становилось. Каждый (второй?) человек на Земле носит с собой жучок и за просто так отдает всю свою коммуникацию на блюдечке третьим лицам. И никто об этом не парится кроме профессиональных параноиков.

                При том, что телефонов на планете больше, чем всех других устройств вместе взятых (немного загнул, но почти так), материалов катастрофически мало. Например, я до сих пор толком не нашел описаний тех команд оператора, которые скрытно включают телефон на прослушку. Или как операторы и органы борются (и борются ли) со скремблерами?

                Почему нет хакерских/опенсорсных проектов телефонов? Вон, ноутбук запилили, чем мобильник сложнее?
                (Хотя вот тут есть кой-какие обсуждения).

                Давайте на секунду задумаемся, как бы выглядел хакерский телефон?
                Какие бы функции у него были, чем он был бы нафарширован из железа и из ПО.
                А пока посмотрим, что есть на рынке, какие штучные решения уже реализованы, что можно у них подсмотреть.
                Читать дальше →
              • Учим Python качественно

                Здравствуйте всем!

                Решил поделиться методом обучения сего мощного, но в одно и тоже время лёгкого языка программирования. Он действительно лёгкий. Вам не надо будет запоминать и вводить лишних символов, которые Вы можете встретить в Си-подобных языках.

                Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
                Для начала окунёмся в возможности и узнаем, что же умеет Python?
                Читать дальше →
              • Подборка пасхальных яиц

                  Доброго времени суток, уважаемое хабрасообщество! Наверное, каждый из Вас, делая программу или сайт, хотел добавить в него какое-нибудь пасхальные яйцо или Easter Egg.

                  Под катом Вы найдете небольшую подборку пасхалок, найденных различными людьми в известном программном обеспечении, а также на известных сайтах. Думаю, что некоторые пасхалки Вам знакомы, но я надеюсь, что и Вы найдете для себя что-то новенькое. Поехали!
                  Читать дальше →
                • Мини-детектив НЕ системного администратора

                    Всем привет!

                    Меня зовут Илья. Я скорее программист и вечный-в-попытках-предприниматель чем системный администратор. Но, как известно, в стартапах ты и косец, и жнец, и на дуде игрец. Поэтому сегодня пришлось поиграть во все роли. Статья сможет помочь таким же как я начинающим администраторам, которые по воле судьбы/службы приходится заниматься сервером.
                    Читать дальше →
                  • Маркетинг для айтишника — козе баян?



                      Год назад я начала читать магистрам СПбГЭТУ «ЛЭТИ» маркетинг в рамках курса «Управление ИТ-продуктом», затем расширила аудиторию до слушателей коммерческих и открытых курсов по маркетингу в ИТ.

                      Не раз мои знакомые (в основном разработчики) спрашивали: «Зачем айтишникам читать курс по маркетингу? Ведь они будут кодить, тестить или поддерживать ИТ-инфраструктуру, в менеджеры проектов и продаж пойдут единицы. Зачем разработчикам знать, что такое маркетинг и PR?».

                      Я сразу отвечаю очередью вопросов: «Ты долго искал текущую работу? Тебя устраивает твоя зарплата и выполняемые проекты? Ты знаешь, что ожидает от тебя работодатель? Ты делаешь что-нибудь для повышения своего профессионального уровня/имиджа?».

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

                      Одним из объектов исследования, проводимых на моих семинарских занятиях, является сам учащийся. Вот лишь небольшой список параллелей, которые я провожу для объяснения взаимосвязи между ИТ и маркетингом:
                      Читать дальше →
                    • Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?

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

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

                        Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.

                        Сразу нужно отметить, что в связи с многогранностью проблемы объем статьи получился довольно большой, так что можно начать читать с резюме в конце, и затем прочитать лишь те разделы, которые вызовут интерес. Сразу хочу предупредить — повествование «нелинейное», соседние заголовки могут описывать разные аспекты проблемы и быть друг с другом практически не связанными.
                        Читать дальше →
                      • Bacula: для тех кому надо по-быстрому и в картинках

                        Доброго времени суток всем тем, кто собирается делать Backup'ы постоянно.

                        В этом посте я попытаюсь облегчить жизнь тем, кто пробует познакомится с этой системой. Ничего сверхъестественного я не расскажу, просто добавлю то, что мне бы самому пригодилось. За основу взят отменно написанный пост, так что переписывать и копировать нет смысла.
                        Читать дальше →
                      • Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

                        • Перевод


                        Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

                        Примечание: публикация основана на содержании репозитория What happens when...

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

                        Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
                        Читать дальше →
                      • Верстаем пиксел в пиксел: кроссбраузерный аналог PixelPerfect

                          Нет, с твоим монитором всё в порядке, %username%
                          Довольно часто некоторые заказчики, отдавая макет сайта на вёрстку, требуют попиксельно достоверной точности в разметке во всех браузерах.

                          Проверить такое соответствие достаточно легко — нужно сделать скриншот сайта и совместить его с графическим макетом, например, в Photoshop'е.

                          Но вот только в процессе вёрстки использовать такой приём не очень удобно.

                          Что же делать трудяге-верстальщику?
                        • Верстка для самых маленьких. Верстаем страницу по БЭМу

                          • Tutorial
                          Недавно хабраюзер Mirantus написал статью «Как сверстать веб-страницу», в которой рассказывал о том, как же сверстать веб-страничку. В его статье было подробно рассмотрено, как выделить отдельные элементы из заданного шаблона, подобрать шрифты и т.п. Однако его подход к написанию, собственно, веб-страницы мне показался не очень хорошим, о чем я написал в комментариях.

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

                          • BEM
                          • Собственно пример — как сверстать страницу

                          Читать дальше →
                        • Skype — Да, мы читаем все, что Вы пишете

                          Вольный перевод статьи на тему приватности переписки в Skype.

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

                          Практически сразу после отправки сообщения в Skype, в котором содержалась ссылка на некий https ресурс, данный ресурс был посещен с IP, принадлежащего Microsoft HQ в Редмонде, США.

                          UPD: Статья дополнена предположениями о возможной причине произошедшего. Опубликовано 17 Мая 2013 на The-H-Security.
                          Читать дальше →
                        • Основная ловушка маркетинга и пиара или что бывает, если вы врёте



                            Продолжаю рассказывать про человеческий маркетинг. Когда Англия вошла во Вторую Мировую, был очень примечательный эпизод. Военная пропаганда – это то, чему обычно не все и не всегда верят. Официальные каналы преуменьшают потери, преувеличивают успехи. Я сейчас не уверен в числах, но первое же радиосообщение с фронта про воздушный бой было про то, что сбито 40 английских истребителей. Позже пришла информация, что меньше – 34. Через пару дней нашли ещё пилота, совершившего аварийную посадку.

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

                            Есть первый железный принцип хорошего маркетинга и пиара – никогда не обещать ни на грамм больше, чем можешь сделать. И никогда не врать. Стоит хоть немного увлечься – и вот в какой-то момент ты станешь обманывать сам себя.
                            Читать дальше →
                          • 58 признаков хорошего интерфейса

                            • Перевод
                            У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

                            1 Один столбец вместо нескольких


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

                            image
                            Читать дальше →
                          • Почему у свободного программного обеспечения убогое юзабилити и как это исправить

                              Предлагаю хабросообществу свой перевод статьи Мэттью Пола Томаса, которую он недавно опубликовал в своем блоге. Томас — программист из Новой Зеландии, работающий в команде разработчиков проекта Launchpad — детища компании Canonical, более известной как коммерческий спонсор самого популярного Linux-дистрибутива Ubuntu.
                              Что самое интересное:
                              первый вариант этой статьи вышел еще 6 (!) лет назад.
                              — скорее всего появление второго варианта навеяно недавним громким заявлением основателя компании Canonical Марка Шаттлворта, в котором он предложил сообществу свободного программного обеспечения создать в течении 2 ближайших лет интерфейс операционной системы, который был бы «приятнее» Mac OS X.
                              — в статье прослеживается четкое разделение между volunteer designers и dedicated designers, при этом первые не пользуются у автора особой лаской. Это интересно, потому что судя по словам Томаса, он таковым и является.
                              Читать дальше →