Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Я, пират

Время на прочтение17 мин
Количество просмотров277K


Все-таки красные у меня глаза или нет? Кажется не очень. Может так и должно быть? Я внимательно разглядывал себя в зеркало. Нет, всё-таки красные, хоть и не так сильно. Может не стоит уже с утра проверять почту и ходить по всем этим сайтам? Ну напишут там что-то, а я не прочитаю, ну и что такого? Нет, каждый раз просыпаюсь и первым делом туда…

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Всего голосов 228: ↑205 и ↓23+182
Комментарии70

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

Время на прочтение14 мин
Количество просмотров85K

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии16

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 19

Время на прочтение18 мин
Количество просмотров81K

Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

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

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии21

Конвертируем HTML в PDF при помощи Dompdf

Время на прочтение6 мин
Количество просмотров112K

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

Dompdf — это отличная библиотека, способная генерировать PDF из HTML-разметки и CSS-стилей (в большинстве случаев это стили, совместимые с CSS 2.1 с поддержкой некоторых свойств CSS3). Мы можем определить, как наше содержимое должно выглядеть, используя эти знакомые технологии, и после легко конвертировать его в фиксированный документ. Также эта библиотека имеет и другие полезные и интересные функции.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии18

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть вторая, практическая)

Время на прочтение15 мин
Количество просмотров46K
Это вторая часть моей статьи по разработке драйверов для ведомых SPI устройств в Linux. Предыдущая часть находится здесь.

3. Разработка userspace протокольного SPI драйвера с использованием spidev


Как уже было сказано выше, для SPI устройств существует ограниченная поддержка userspace API, с поддержкой базовых полудуплексных read() и write() вызовов для доступа к ведомым SPI устройствам. Используя ioctl() вызовы, можно производить полнодуплексный обмен данными с ведомым устройством, а также изменение параметров устройства.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии9

Кандидат технических наук. Иное развитие карьеры IT-специалиста?

Время на прочтение2 мин
Количество просмотров46K

Доброго времени суток. Прежде, чем начать данную статью, хочу оговориться: я не сторонник работы ради работы, а также работы во имя зарплаты. Данной статьей я не ставлю пред собой задачи написать еще один пост (чтоб был) или снискать какой-то поддержки (знакомств) от Хабра. Текущий пост, и в совокупности с ним — комментарии к нему, являют собой размышление на тему — стоит ли писать диссертацию в условиях современной России и вообще может ли она (диссертация) пригодиться где-либо, кроме книжной полки. Я читал некоторый материал (раз, два) по данной тематике (в том числе и на Хабрахабре — три, четыре, и не совсем на Хабре — пять), но всё равно остался немного обескураженным от огромного количества разномастной информации размазанной под древу. Книги зачастую пишут именитые специалисты. А так как имя создается в какой-то мере за счет узнавания массами, то следовательно и книги пишутся для масс. И гуманитарии, и технари — все найдут там что-то полезное для себя. Но по узкой специализации не найти подробной информации. Тем более — мы работаем в IT, а данная область (как мне почему-то кажется) немного по-другому соотносится с наукой, чем, например, та же физика или химия. И задаюсь я вот который год вопросом (прямо с начала обучения в университете): имеет ли смысл получать ученую степень в сфере IT (ну, какого-нибудь программирования вычислительных машин или исследования в сфере порождающего программирования)? В качестве результата этой мини-статьи, я хочу получить ответ на свой вопрос в первую очередь от самого себя на основе советов и мнений дружелюбных хабровчан. А так как это все происходит онлайн, поэтому и другие уважаемые хабражители смогут раскрыть для себя тему ученой степени в сфере IT и понять, нужно ли это им и стоит ли становиться на этот скользкий путь. Для почетных кандидатов и докторов наук в сфере IT и смежных сферах под катом уготовано море вежливости и чуткое внимание каждому слову в комментариях.
Читать дальше →
Всего голосов 47: ↑29 и ↓18+11
Комментарии125

HTML 5 Notifications API

Время на прочтение3 мин
Количество просмотров116K

Привет, Хабр. В этой статье я расскажу о HTML Notification API.

Какие возможности предоставляет Notification API


API позволяем отправлять уведомления через браузер. Вы можете задавать иконку для каждого уведомления, группировать уведомления, указывать заголовок и текст уведомления.

Поддержка в браузерах


  • Safari 6
  • Chrome 27
  • Firefox 22

Opera 15 beta не работает с Notifications API, несмотря на наличие конструктора Notification.
На мобильных платформах технология не работает.
В движке webkit есть старая нотация в виде webkitNotifications.

Как это работает


Цикл работы следующий:
  1. Получить разрешение на отправку;
  2. Правило фиксируется для сайта;
  3. Отправить уведомление.

Читать дальше →
Всего голосов 85: ↑82 и ↓3+79
Комментарии66

Что нужно знать про арифметику с плавающей запятой

Время на прочтение14 мин
Количество просмотров936K


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Всего голосов 245: ↑242 и ↓3+239
Комментарии75

Первый украинский SSD диск или вторая жизнь швейцарского компьютера

Время на прочтение8 мин
Количество просмотров196K
К сожалению, огромное количество предприятий в Украине работают на устаревшем промышленном оборудовании, изготовленном пару десятков и более лет назад. После развала Союза и распродажи на металл станков местной разработки оставшиеся на плаву предприятия начали приобретать на западе подержанные станки с числовым программным управлением: плазморезы, дерево-, металлообрабатывающие станки, гравировальное оборудование и т.п. Но относительно невысокая стоимость такого железа имеет и обратную сторону – простои из-за отказов, недоступности запчастей, полного отсутствия поддержки.
Этот пост о том, как простая замена винчестера в деревообрабатывающем станке потребовала создания собственного твердотельного диска, и с какими трудностями мы столкнулись при его разработке. Кому интересно, как создавался первый украинский «винчестер-SSD», прошу под кат.

Читать дальше →
Всего голосов 371: ↑366 и ↓5+361
Комментарии81

Как запустить программу без операционной системы

Время на прочтение13 мин
Количество просмотров181K

Так вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).

В интернете существует огромное количество описаний и туториалов о для того как написать собственную мини-ОС, даже существуют сотни готовых маленьких хобби-ОС. Один из наиболее достойных ресурсов по этой тематике, который хотелось бы особо выделить, это портал osdev.org. Для дополнения предыдущей статьи про PCI (и возможности писать последующие статьи о различных функциях, которые присутствуют в любой современной ОС), мы опишем пошаговые инструкции по созданию загрузочного диска с привычной программой на языке С. Мы старались писать максимально подробно, чтобы во всем можно было разобраться самостоятельно.

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Читать дальше →
Всего голосов 196: ↑188 и ↓8+180
Комментарии69

Самый медленный компьютер на Linux

Время на прочтение2 мин
Количество просмотров140K
image
Часто люди, только купившие себе новенький восьмибитный микроконтроллер интересуются, как запустить на нём Linux. Но обычно они становятся лишь объектом насмешек. А на форумах по Linux'у порой проскакивают вопросы, мол какие нужны минимальные харрактеристики для запуска операционки. Самый частый ответ — 32 битная архитектура, MMU и как минимум 1 мб оперативной памяти. Мой проект ломает эти стереотипы. Компьютер основан на ATmega1284p. Я даже сделал ещё один на ATmega644a, и он тоже работал. Нет больше никакого процессора или других спрятанных частей. Всё это работает на версии ядра 2.6.34, и даже (если у вас есть на это время), грузит полноценную Ubuntu, с X сервером и Gnome.
Читать дальше →
Всего голосов 371: ↑304 и ↓67+237
Комментарии72

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность