Архив июня 2013 - 40

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

Часть 1. История печати: эволюция идей и технологий
Часть 2. История печати: матричные, струйные, лазерные и светодиодные технологии

Первые реальные принтеры

Развитие первых принтеров в 40-50 годах было связано с эволюцией печатающей машинки. В СССР и США предпринимались множественные попытки автоматизировать процесс набора символов, отпечатывающих на бумаге определенные символы через пропитанную чернилами ленту. Так, в нашей стране подобные разработки назывались АЦПУ (автоматизированные цифровые печатающие устройства), а в Америке их просто называли Printer – что значит «печатающий». Позже появились барабанные и лепестковые принтеры, которые использовали идеи Чарльза Бэбиджа, о которых мы говорили в прошлой статье, и могли наносить различные символы через ту же красящую ленту.

Печать того времени не идет ни в какое сравнение по качеству и быстроте с современной. Одна из первых подобных «машин» была создана для компьютера Univac в 1953 году в недрах корпорации Remington-Rand, это был первый в мире высокоскоростной принтер. Впрочем, высокоскоростным он был, конечно, в понимании того времени – печатающее устройство могло печатать за минуту 600 строк по 120 символов в каждой.

История печати: матричные, струйные, лазерные и светодиодные технологии (Часть 2)

Читать полностью »

29 мая золотой-хабра-человек CyberAP сообщил нам благую весть:

− Даг ТенНейпл (Doug TenNape) и компания перестали спорить с правообладателем о возможности снимать продолжение «Неверхуда» и запускают новый проект, под название «Армикрог».

Армикрог опасносте! Соберет ли проект на кикстартере нужную сумму?

Деньги на проект собирают не у инвесторов, а у простых фанатов по правилам крайдфандинга, попросив на Кикстартере 900 тысяч долларов.

Старт быт ошеломляющим. В первые четыре дня была собрана сумма более трети, чуть больше 350 тысяч. Все фанаты были уверены, что «взлетит» в ближайшее время. Но, случилось неприятное: уже на пятый день суммы сборов не превышали 25 тысяч, в среднем колеблясь в районе 15 тысяч в день.

И сейчас остается всего 3 дня (!) чтобы набрать нужную не малую сумму.

Вот здесь есть обновляемая картинка, которая показывает сборы:

Сборы проекта на кикстартере

Со вчерашнего дня началось повышение собираемости, но опасность не миновала!

Читать полностью »

Ассортимент компании Green House пополнила карточка памяти формата SDXC объемом 128 ГБ. Новинка, получившая обозначение GH-SDXCUB128G, имеет маркировку Class 10 и UHS-I.

Green House

Как известно, наличие маркировки Class 10 гарантирует, что скорость записи не будет опускаться ниже 10 МБ/с. Фактически, как обещает производитель, карта в режиме записи демонстрирует скорость до 12 МБ/с, а в режиме чтения — до 45 МБ/с.

Читать полностью »

Контрактный производитель полупроводниковой продукции Taiwan Semiconductor Manufacturing Company (TSMC) и его партнер по разработке интегральных микросхем Global UniChip заключили с Apple договор на поставку процессоров серии A, изготавливаемых по нормам 20, 16 и 10 нм. Об этом сообщает источник со ссылкой на информацию, поступившую от представителей отрасли.

Представители TSMC и Global UniChip не стали комментировать сообщение, объясняя это тем, что они не комментируют подобную информацию.

Читать полностью »

Многие эксперты С++ агитируют использовать интеллектуальные указатели, утверждая, что из современного С++, явное использование new должно вообще исчезнуть (ну, по крайней мере, когда в С++14 пофиксят отсутствие std::make_unique). Все динамические выделения памяти должны быть инкапсулированы или в стандартную библиотеку, или контейнеры типа std::vector, или интеллектуальные указатели.

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

Объект является пересекающим границу динамической библиотеки, если он инициализируется в одном блоке, а используется в другом. Это происходит, когда, например, в dll инициализируется объект и возвращается указатель на него.

Предположим, одна библиотека (или исполнимый модуль) связывается с другой библиотекой, используя фабрику для динамической инициализации объекта и получения указателя на него. Блок, который использует этот указатель, может удалить указатель для освобождения области памяти, на которую он указывает. Если библиотека, которая выделяет память и блок, работающий с указателем, используют различные версии динамического выделения памяти ОС (CRT в Windows), то возникнет ошибка. Пример этой проблемы (в случае с Windows):
Как обеспечить надлежащее пересечение границ динамической библиотеки, используя пользовательские средства удаления смарт указателей Читать полностью »

image

Внимание: пост будет интересен в первую очередь тем, кто связан с разработкой мобильных приложений, а во вторую, кто этими приложениями пользуется. Мы обсудим проблему нехватки ответов пользователей на конкретные вопросы разработчиков и предложим решение для iOS.

Читать полностью »

До сих пор мы варились в собственном соку – VLAN’ы, статические маршруты, OSPF. Плавно росли над собой из зелёных студентов в крепких инженеров.
Теперь отставим в сторону эти игрушки, пришло время BGP.

Сегодня мы

  • Разбираемся с протоколом BGP: виды, атрибуты, принципы работы, настройка
  • Подключаемся к провайдеру по BGP
  • Организуем резервирование и распределение нагрузки между несколькими линками
  • Рассмотрим вариант резервирования без использования BGP – IP SLA

Читать полностью »

Здравствуйте, я — разработчик программного обеспечения на Ruby / Rails и я комментирую свой (а с недавних пор ещё и чужой) код. Голос из зала, вероятно, крикнул бы «Привет, разработчик!»

Много лет назад мне казалось очевидным устоявшееся мнение профессионалов и гуру разработки, которое обычно выражается примерно так: «Если код требует комментария — это плохой код, его нужно переписать/отрефакторить/упростить/уменьшить». Т.е. привести его к виду, комментариев и пояснений не требующему. В целом, этот подход достаточно универсален и работает во многих случаях. Многие мои знакомые веб-разработчики никогда не комментируют свой код и считают это вполне нормальным явлением, даже если работают в команде. Вероятно, сказывается миф о простоте Ruby, такой простоте, которая делает код понятным даже постороннему. Однако, мой личный опыт и некоторые эпизоды командной разработки веб-приложений убедили меня в том, что существуют ситуации и причины уделять комментариям и документированию кода больше внимания и времени, чем обычно уделяет разработчик.
Читать полностью »

image

Вы наверняка интуитивно догадывались, что приложения, выполняемые на Intel x86 компьютерах, ограничены в своих возможностях, и что некоторые действия могут быть выполнены исключительно операционной системой. Но знаете ли вы, как это действительно работает? В данном посте рассмотрим уровни привилегий x86 — механизм, в котором ОС и процессор действуют сообща для того, чтобы ограничить то, что могут сделать user mode приложения.

Читать полностью »

Мы продолжаем знакомство с мобильными компьютерами MicroXperts, начатое с модели MicroXperts U100-03Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js