Как стать автором
Обновить
3
0
Алексей @leshakk

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

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

Два простых правила для предотвращения взаимных блокировок на мьютексах

Время на прочтение6 мин
Количество просмотров58K
Здравствуйте, уважаемые Хабраюзеры!

Так сложилось, что это третий пост в блоге нашей компании, и, как и первые два, он посвящен вопросам многопоточного программирования и проблемам, которые при этом возникают. Получилось так неслучайно, ведь мы на собственной «шкуре» испытали, что ситуации, возникающие при написании многопоточных программ, невероятно сложны для отладки, так как во многом определяются динамикой работы программы на конкретной аппаратной платформе. Уверен, что большинство программистов сталкивались с ситуацией, когда программа, которая прекрасно работает на одном компьютере, на другом совершенно неожиданно начинает дедлочиться практически «на ровном месте».
Читать дальше →
Всего голосов 82: ↑73 и ↓9+64
Комментарии50

Автоконфигурация сетевых интерфейсов в Debian GNU/Linux

Время на прочтение6 мин
Количество просмотров19K
Решил рассказать о вариантах решения достаточно часто встречающейся проблемы для обладателей мобильных устройств. Проблема заключается в том, что зачастую лаптопы подключаются к достаточно большому количеству разных сетей, в которых далеко не всегда есть DHCP-сервер, либо же DHCP-сервер «отдаёт» не все необходимые настройки, либо же отдаёт неверные.
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии32

Zealz GK802 — мини-компьютер с возможностью установки Ubuntu

Время на прочтение6 мин
Количество просмотров61K
image
Мини-компьютерами и медиаплеерами с операционной системой Android уже мало кого удивишь. Но есть ещё среди них устройство, которое может выделиться среди серой массы — это мини-компьютер Zealz GK802, в котором по умолчанию установлен Android версии 4.0.4.
Что же в нём интересного?
А интересно в нём то, что он построен на 4-х ядерном чипе Freescale i.MX6Quad и под него есть полноценная сборка Ubuntu!
Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии34

Огромный турбо-дизельный гексапод Mantis

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


Нечто абсолютно футуристичное, похожее на первые кадры из «Терминатора» с роботами-убийцами (только лазерных пушек не хватает), показано в движении на видео ниже.

Метт Дентон, руководитель компании Micromagic Systems, завершил работу над своим четырёхлетним проектом — громадным роботом-гексаподом, движимым турбо-дизельным двигателем и с управляющим компьютером с Linux на борту.

Массивный робот, имеющий кодовое имя Mantis, весит практически две тонны (1900 кг), имеет размеры в ширину в 2.8 м и приводится в движение 2.2 литровым турбо-дизельным двигателем Perkins. Для управления гексаподом предусмотрен ряд различных сенсоров — датчиков силы, поворота, клинометров, а мощь конечностей определяется 18 гидравлическими приводами. Бортовой Linux-компьютер оснащён специально написанным ПО HexEngine. Движение робота нельзя назвать быстрым (скорее, наоборот), однако же в фундаментальности ему трудно отказать.

Больше фото гиганта и видео под катом:
Посмотреть
Всего голосов 138: ↑130 и ↓8+122
Комментарии155

Regexponline – интерактивный анализатор и редактор регулярных выражений

Время на прочтение4 мин
Количество просмотров53K
Есть одна бородатая шутка: «если у вас есть проблема, и вы собираетесь решать ее с использованием регулярных выражений, то у вас есть две проблемы». Действительно, регулярные выражения – очень мощный и гибкий инструмент, применяемый для решения весьма широкого круга задач. Но, как водится, для поддержания баланса, такой серьёзный инструмент имеет весьма недружелюбный вид.

(<([a-z]+[^>]*)>)(.*)(</\2>)

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

image

Когда-то и мне пришлось по долгу службы подружиться с регулярными выражениями. Прочитав Фридла и несколько статей на Хабре, я, конечно, начал понимать этот синтетический язык. Тем не менее, каждый раз, когда приходилось написать очередную регулярку, я быстро закапывался в нагромождении скобок, слешей, точек, плюсов, знаков вопроса, и других хорошо вам знакомых конструкциях. Разобраться в этой каше было очень сложно, особенно если возвращаешься к задаче месячной давности. Я мечтал об инструменте, который помог бы мне разобраться в собственном творении. Приблизительно подходящих по смыслу сервисов нагуглилось с десяток, но все они приносили мало пользы. Как раз тогда я и начал разрабатывать этот проект.

Итак, regexponline – инструмент, способный наглядно изобразить структуру регулярного выражения, разобрав его по элементарным компонентам; продемонстрировать совпадающие и не совпадающие его части; помочь в написании и отладке выражения, которое почему-то не совпадает с нужной строчкой.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии74

Мобильный телефон своими руками. Часть 2

Время на прочтение5 мин
Количество просмотров119K
В первой части мы рассмотрели «железную» часть проекта, в этой части мы приступим к экспериментам с устройством.


Модуль M10-TE-A, основа нашего телефонного аппарата.

Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии28

Эффективность рабочего дня одного ПМа

Время на прочтение6 мин
Количество просмотров44K
Всем привет.
В этой своеобразной статье я хотел бы осветить вопрос эффективности труда в течение рабочего дня на позиции руководителя проектов (другого управленческого звена в IT).
Здесь не будет никакой аналитики в цифрах, выдержек из кучи книг по time managment'у, а лишь личный опыт и сухие выводы. Я не собираюсь изобретать велосипед на Ваших глазах, но надеюсь, что послужу неплохим примером.

Добро пожаловать под кат.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии16

Хотите, чтобы ваша компания развивалась? Избавьтесь от менеджеров!

Время на прочтение4 мин
Количество просмотров164K
Многие сотрудники работают на своих боссов, нежели на компанию или своих клиентов. В наше время бизнес пронизан менеджерами разных уровней, и сотрудники часто обнаруживают, что они, играя в политику, фокусируются на задачах, которые осчастливливают их босса.

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

Если вы заметили такое на вашем текущем месте работы, знайте, что в этом виновата иерархическая структура организации.

Устранив иерархическую модель в моем агентстве digital маркетинга Ciplex, мы создали компанию, в которой люди любят работать, и при этом сэкономили деньги. Удовлетворенность наших клиентов увеличилась, и улучшилось качество нашей работы. Наши сотрудники стали счастливее, клиенты удовлетворены, расходы снизились, в целом компания стала значительно лучше.

Далее описание того, как я это сделал.
Читать дальше →
Всего голосов 125: ↑96 и ↓29+67
Комментарии104

Как я систему безопасности для авиакомпании разрабатывал и сам оказался в опасности

Время на прочтение14 мин
Количество просмотров140K
А еще говорят что крепостное право России отменили в 19 веке. Не верьте, это не так. История о контрастах в условиях работы в иностранной и российской компаниях, экшена разработки на java/GWT, лжи коллеги и поведения Директора, наслаждающегося своим всемогуществом и вседозволеностью, не подкрепленное законодательно.



Началось эта история когда заканчивался проект на прошлой работе. Все было солидно: крупная международная компания, коммандировки в США и Англию, стабильность и легкая скука из-за большого количества рутины на проекте. Никаких авралов, отлично выстроенный процесс разработки, отдельная QA команда и автоматизированные регрешен тесты, иностранный менеджмент за пару лет работы ни разу не повысивший голос ни на кого в комманде, проджект менеджер спокойно переносивший функционал в следующие релизы, когда не успевали с разработкой и тестированием. Отличный коллектив профессионалов, каждому можно было доверять и знать что в трудный момент помогут. Атмосфера дружбы, когда приятно приходить на работу и общаться. Но всему хорошему и спокойному всегда приходит конец :( И дальше как полоски у зебры, в моей жизни появилась новая полоса…
Читать дальше →
Всего голосов 307: ↑248 и ↓59+189
Комментарии433

Делаем складной накроватный столик для ноутбука

Время на прочтение7 мин
Количество просмотров96K
Тема накроватных столиков для завтраков в постель ноутбуков достаточно популярна в Интернете, в том числе и на Хабре. Но я, всё-таки, решился на свою статью. Честно признаться, это моя первая более-менее серьёзная работа с деревом за всю жизнь. Я постараюсь рассказать всё в подробностях для таких же новичков (как и я), поэтому искушённому читателю многие вещи могут показаться лишними, либо чересчур подробными. Но, читая разные статьи на эту тему, а, вернее, комментарии к ним, вроде: «Да, стол у вас, конечно, не очень, но вы такой молодец, что сделали его своими руками», — я понял, что тема актуальна. Люди, сидящие за компьютером, инструменты по дереву берут в свои руки довольно редко.

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

Под катом вас ждёт много текста и 18 фотографий!
Всего голосов 106: ↑89 и ↓17+72
Комментарии61

Правила жизни в ИТ проектах

Время на прочтение5 мин
Количество просмотров36K
За все время работы в ИТ я принимал участие в различных сферах деятельности. Я был и тимлидом, и разработчиком и менеджером проекта. Вел крупные и не очень проекты, среди них были как успешные, так и не очень. Я работал как с профессионалам высочайшего класса (по крайней мере именно такими я считал и считаю этих людей до сих пор) так и с не очень опытными коллегами. Я сотрудничал как с людьми проработавшими в ИТ всю свою жизнь, так и с теми — чьи интересы и деятельность лежит в совершенно других сферах.
Все это время я чему-то учился и продолжаю учится по сей день.

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

Сегодня я хочу поделится теми советами, которые сам был бы рад услышать тогда, когда только начинал свою деятельность.
Читать дальше →
Всего голосов 72: ↑58 и ↓14+44
Комментарии32

Gauss gun – сказание о 3% КПД

Время на прочтение4 мин
Количество просмотров135K
Как-то на просторах интернета я нашел статью про Гаусс пушку и задумался над тем, что неплохо было бы заиметь себе одну (или даже две). В процессе поиска наткнулся я на сайт gauss2k и по простейшей схеме собрал супер-крутую-мега-гаусс-пушку.

Что же из этого вышло?
Всего голосов 144: ↑113 и ↓31+82
Комментарии49

Онлайн вещание через Nginx-RTMP: несколько готовых рецептов

Время на прочтение5 мин
Количество просмотров154K
Недавно я наткнулся на топик "Сервер онлайн-вещаний на базе nginx" о замечательном модуле Романа Арутюняна (@rarutyunyan) для nginx: nginx-rtmp-module. Модуль очень прост в настройке и позволяет на основе nginx создать сервер публикации видеозаписей и живого вещания.

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

Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии22

90 рекомендаций по стилю написания программ на C++

Время на прочтение20 мин
Количество просмотров413K
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.

1 Введение


Настоящий документ содержит рекомендации по написанию программ на языке C++.

Рекомендации основаны на установившихся стандартах, собранных из различных источников, личного опыта, частных требований и потребностей определённых проектов, а также почерпнутых из источников (см. ниже).

Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Читать дальше →
Всего голосов 181: ↑137 и ↓44+93
Комментарии213

А вы хорошо знаете статическую маршрутизацию?

Время на прочтение12 мин
Количество просмотров207K
Статический маршрут — первое, с чем сталкивается любой человек при изучении понятия маршрутизации IP пакетов. Считается, что это — наиболее простая тема из всех, в ней всё просто и очевидно. Я же постараюсь показать, что даже настолько примитивная технология может содержать в себе множество нюансов.
Следите за руками.
Всего голосов 68: ↑65 и ↓3+62
Комментарии53

От программирования к железу или «Почему оно не работает?».Ликбез

Время на прочтение9 мин
Количество просмотров146K
image
Привет Хабр. В последнее время среди программистов все больше стала набирать популярность цифровая электроника, появляются все новые платформы, позволяющие без каких либо особых знаний в электронике собирать различные устройства. Сам я начинал заниматься аналоговой электроникой, позже — цифровой и программированием. Многие же — наоборот — сначала программированием, а потом пытаются заниматься железом, при этом знания по части электроники практически нулевые и люди не знают/не понимают элементарных для олдфажного электронщика вещей. В данной статье я постараюсь затронуть наиболее важные на мой взгляд моменты, как по части проектирования схем, так и по части разводки плат. Надеюсь мои советы помогут миновать некоторые грабли
Читать дальше →
Всего голосов 140: ↑138 и ↓2+136
Комментарии36

Электронный поводырь для слепых «Электросонар»

Время на прочтение8 мин
Количество просмотров80K
На днях на хабре обсуждалась новость про создание прототипа прибора-бейсболки для слепых людей. Так как я занимаюсь этой проблемой почти год и писал на эту тему диплом, хотел бы предложить свой взгляд на решение проблемы людей с ограниченными возможностями. Статья будет интересна не только айтишникам, но и предпринимателям, а также людям, интересующимся проблемой инвалидности.

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

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

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

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

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

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

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

Пишем свой bootloader

Время на прочтение12 мин
Количество просмотров65K
Это статья была написана для людей, которым всегда интересно знать как работают разные вещи. Для тех разработчиков которые обычно пишут свои программы на высоком уровне, C, C++ или Java — не важно, но при этом столкнулись с необходимостью сделать что-то на низком уровне. Мы будем рассматривать низкоуровневое программирование на примере работы bootloader-а.

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


Читать дальше →
Всего голосов 101: ↑91 и ↓10+81
Комментарии23

Еще одни часы на газоразрядных индикаторах

Время на прочтение4 мин
Количество просмотров67K
За последние пару месяцев на хабре было представлено несколько конструкций часов типа NIXIE CLOCK. Характерной особенностью которых, это вывод времени на газоразрядные индикаторы типа ИН12, ИН18, ИН17 и им подобные. На просторах Интернета я видел много конструкций подобных часов. Что-то в них есть, какая-то мягкая и теплая энергетика исходит от них. Я тоже загорелся сделать что-либо подобное. Но не просто только часы, чтобы они не только показывали время, но и радовали глаз.
Читать дальше →
Всего голосов 106: ↑104 и ↓2+102
Комментарии36

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность