Как стать автором
Обновить
10
Карма
0
Рейтинг
Алексей Коншин @AlexKonshin

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

Неправильное использование атомов и трудноуловимая бага в VCL

Delphi *
image

Поиск бага


Мучила меня долгое время бага, связанная с неадекватным поведением дельфийских контролов после длительного аптайма системы и интенсивной отладки. Списки переставали обновляться, кнопки нажиматься, поля ввода начинали терять фокус. И все было печально, и перезапуск IDE не помогал. Более того, после перезапуска IDE — она сама начинала так же глючить. Приходилось перезагружаться.
Сегодня меня это достало, и я принялся её искать. Надо сказать не безрезультатно.
Залогировав оконные сообщения я стал анализировать что же пошло не так.
И что же?
Всего голосов 68: ↑63 и ↓5 +58
Просмотры 22K
Комментарии 13

Raspberry PI и JAVA: пристальный взгляд

Java *
Недавно на хабрахабре вышла статья о java на raspberry pi, увидев название которой было много ожиданий, а под катом оказался банальный Hello World!

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

1. Сравнима ли скорость работы java на малинке и настольном компьютере?
2. Насколько удобно работать с java на raspberry?
3. Есть ли адекватные библиотеки для работы с GPIO?

Вот на эти вопросы я и попробую дать ответы в этой статье.

Кому интересно: добро пожаловать под кат (графики и фотографий обнаженной малинки там не будет)
Читать дальше →
Всего голосов 52: ↑45 и ↓7 +38
Просмотры 66K
Комментарии 62

Arduino: Автоматическая подсветка лестницы

DIY или Сделай сам
Продолжая изучать возможности платформы Arduino, решил подсветить лестницу дачного дома.

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

Цель:


«Автоматическая подсветка лестницы в тёмное время суток»


Задачи:



1) Собрать электрическую схему управления

Читать дальше →
Всего голосов 184: ↑179 и ↓5 +174
Просмотры 230K
Комментарии 46

Миграция контроллеров домена

PowerShell *
Из песочницы
В связи со сменой сервис провайдера и переездом из одного датацентра в другой возникла необходимость миграции контроллеров домена леса и трех его доменов. Решено было поднять свежие машины в новом датацентре, мигрировать на них текщие AD DS роли, после чего утилизировать старые серверы домена.
Наш лес состоит из трех доменов: одного корневого (в котором ничего нет, кроме домен котроллеров) и двух дочерних доменов (там находится весь функционал). Основой разделения доменов служило разделение обязанностей между ИТ командой компании и ИТ специалистами сервис провайдера. В каждом домене существует по два домен контроллера: первый на реальном железе, второй в виде виртуальной машины. Функциональный уровень леса – Windows 2008 R2. Операционная система установлена на всех серверах та же. На каждом сервере имеется DNS сервер с интегрированными в AD зонами.
Ниже я в общих чертах опишу весь процесс.
Подробности
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 27K
Комментарии 14

Как устроен ntds.dit?

Системное администрирование *

Все данные каталога Active Directory хранятся в БД в файле ntds.dit. Подавляющее большинство приложений взаимодействуют с каталогом через прослойку DSA реализованную в ntdsa.dll. В свою очередь функции из ntdsa.dll не работают напрямую с ntds.dit, их функционал ограничен потребностями службы каталогов и они не могут дать нам представление о внутреннем устройстве БД Active Directory. Тем не менее ntds.dit представляет собой не что иное как БД JET Blue. В каждой версии windows (начиная с Windows 2000) есть всё необходимое для работы с этой БД.

В статье ниже я попробую осветить следующие вопросы:
  • Какова структура БД?
  • Как данных в ntds.dit получается «дерево»?
  • Как реализовано членство в группах?
  • Каков формат атрибута replPropertyMetaData и с какой точностью в метаданных репликации хранятся временные метки?


Что можно увидеть внутри ntds.dit
Всего голосов 24: ↑21 и ↓3 +18
Просмотры 31K
Комментарии 2

Откуда растут ноги у hashCode

Java *
Опять на собеседованиях по Java спрашивают про hashCode и equals? А кто из собеседующих сам ответит на вопрос, как вычисляется Object.hashCode() и System.identityHashCode()? Насколько дорог вызов этих методов? Как их можно ускорить в HotSpot JVM? Держу пари, едва ли кто даст правильный ответ. Разве что, кто прочитает эту статью.
Читать дальше →
Всего голосов 93: ↑91 и ↓2 +89
Просмотры 85K
Комментарии 43

Светодиодная лента в качестве освещения комнаты

DIY или Сделай сам
Изначально для основного освещения одной из комнат, где шёл капитальный ремонт, планировалась обычная люстра. Но недавно мне на глаза попалась суперяркая светодиодная лента Ultra 5000 со светодиодами smd 5630 торговой марки Arlight. Решение было принято быстро, окончательно и бесповоротно — хочу такую ленту в качестве основного света в комнате.



О реализации светодиодного периметра освещения далее
Всего голосов 420: ↑415 и ↓5 +410
Просмотры 1.3M
Комментарии 329

Пайка для начинающих

DIY или Сделай сам
Мои отношения с радио- и микроэлектроникой можно описать прекрасным анекдотом про Льва Толстого, который любил играть на балалайке, но не умел. Порой пишет очередную главу Войны и Мира, а сам думает «тренди-бренди тренди-бренди...». После курсов электротехники и микроэлектроники в любимом МАИ, плюс бесконечные объяснения брата, которые я забываю практически сразу, в принципе, удается собирать несложные схемы и даже придумывать свои, благо сейчас, если неохота возиться с аналоговыми сигналами, усилениями, наводками и т.д. можно подыскать готовую микро-сборку и остаться в более-менее понятном мире цифровой микроэлектроники.

К делу. Сегодня речь пойдет о пайке. Знаю, что многих новичков, желающих поиграться с микроконтроллерами, это отпугивает. Но, во-первых, можно воспользоваться макетными платами, где просто втыкаешь детали в панель, без даже намека на пайку, как в конструкторе.
Читать дальше →
Всего голосов 131: ↑118 и ↓13 +105
Просмотры 799K
Комментарии 100

Функциональное программирование для всех

Программирование *
Перевод

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

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

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Всего голосов 188: ↑181 и ↓7 +174
Просмотры 344K
Комментарии 151

Разработка простого Eclipse RCP приложения

Eclipse *
Из песочницы
В данной статье я хотел рассказать о том, как создавать приложения при помощи Eclipse RCP (Rich Client Platform). Поводом для написания послужил тот факт, что на Хабре абсолютно отсутствуют статьи, описывающие данную платформу. В качестве примера мы создадим пользовательскую форму ввода; корректность данных будет проверяться при помощи JFace Data Binding framework. Для затравки приведу ниже скриншот с тем, что у нас должно получиться.



Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 66K
Комментарии 14

AMD APP SDK: Intermediate Language (IL)

Высокая производительность *GPGPU *
Из песочницы
AMD APP
ATI Stream SDK было переименовано в AMD Accelerated Parallel Processing (APP) SDK, на смену основного языка программирования GPGPU вычислений Brook+ пришел OpenCL. Однако, не многие догадываются, что писать код для ATI-шных карточек можно при помощи другой технологии: AMD Compute Abstraction Layer (CAL) / Intermediate Language (IL). Технология CAL предназначена для написания кода, взаимодействующего с GPU и выполняющегося на CPU, в то время как технология IL позволяет писать код, который будет выполняться непосредственно на GPU.

В данной статье будет рассмотрена технология IL, ее область применения, ограничения, преимущества по сравнению с OpenCL. Кому интересно, прошу под кат.

Follow the white rabbit
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 13K
Комментарии 6

Соединение компьютер-компьютер через интернет с динамическими IP

Алгоритмы *
Очень часто мы слышим о том, что установить соединение компьютер-компьютер через интернет с динамическими IP – нереально без внешнего сервера.
А также думал, до определенного времени. Потом у меня закрались подозрения… А после мне стало известно очень многое и тайное.

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

Все совпадения случайны, цифры изначально выдуманы.

Читать дальше →
Всего голосов 41: ↑22 и ↓19 +3
Просмотры 137K
Комментарии 46

Восстановление емкости аккумулятора ИБП

DIY или Сделай сам
Подавляющее большинство из нас использует такое крайне полезное устройство, как источник бесперебойного питания. Качество питания не везде идеальное, да и просто мельчайшие проблемы с электропитанием иногда могут дорогого стоить. Потери данных это всегда неприятно, а иногда просто таки фатально. Устройство куплено, установлено под стол, подключено и владелец его находится в полной уверенности, что в любом случае при перебое в электропитании он успеет корректно завершить работу, а может быть и сделать бэкап на флешку. Время идет, бесперебойник периодически дает о себе знать — как заправский сторожевой пес он подает голос при малейших отклонениях в параметрах электросети. Хозяин спокоен и все хорошо. Но в один из дней перебой таки случается и в этот раз ИБП не просто подает голос и сразу переключается с батареи на сеть, в этот раз свет выключили на долго. Мы спокойно копируем файлы (ведь в запасе у нас минут 15, не меньше) и тут бесперебойник начинает пищать совсем часто и все выключается. Как так? Ведь бесперебойник же должен был нас защитить от подобных ситуаций, а он только вселял нам ложную уверенность в нашей безопасности! Почему так произошло?

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

Читать дальше →
Всего голосов 129: ↑127 и ↓2 +125
Просмотры 409K
Комментарии 99

Про Intel vPro или как удалённо зайти в чужой BIOS

Блог компании Intel


Когда-то давно, когда я ещё не был программистом, но с компьютерами уже дружил, технологии по типу RAdmin для меня были подобны чуду. Можно было подключиться к удалённому компьютеру, прямо как в самом крутом фильме про хакеров, открыть блокнот и написать там угрожающую надпись. Правда, пользоваться мне этим было негде.

Потом в мою жизнь пришёл ssh: осознание, что управляешь сервером за океаном сначала восхищало, а теперь уже стало обыденностью. Пока не наберешь случайно halt, ага. А потом начинаешь открывать админку хостера и пытаться зайти в консоль управления сервером, чтобы его запустить. А она почему-то сегодня тупит. Тогда пишешь в саппорт и нерничаешь. Не очень нравится. Но это мои личные программерские страхи.

Как-то на старой работе после смены администратора вновь пришедший решил навести порядок в компьютерном парке и для этого подходил к компьютеру, выгонял работника, скачивал Everest, запускал диагностику и сохранял результат в файл. Так, обойдя всего лишь ~60 рабочих мест на трёх этажах, он узнал, какое железо есть в его распоряжении. Неудобно.

И тут на сцену выходит Intel vPro.

Intel vPro – это такая штука, которая позволяет не бояться вещей, описанных выше и даже делать намного больше. Состоит vPro из двух компонентов: аппаратного и программного и про них я расскажу под катом.

Читать дальше →
Всего голосов 56: ↑52 и ↓4 +48
Просмотры 194K
Комментарии 56

Создатель BitTorrent собирается уничтожить телевидение в его нынешнем виде

Децентрализованные сети *
Брэм Коэн анонсировал новую версию протокола BitTorrent. Она получила название BitTorrent Live и предназначена для организации видеотрансляций через пиринговые сети. На разработку нового протокола у программиста ушло три года, зато теперь даже при многомиллионной аудитории задержка передачи видео не превышает пяти секунд.

BitTorrent Live позволит снизить нагрузку на распространителя файла до 99%. Таким образом, передача видео будет стоить дешевле, чем по спутнику или с помощью CDN, и для него не потребуется дорогостоящая инфраструктура.

Создатель протокола заявил, что хочет уничтожить телевидение в его нынешнем виде: «Физическая инфраструктура телевидения неизбежно отомрет, но телевидение как модель потребления контента останется».

Сейчас Коэн ищет партнеров, которые дадут согласие на распространение своего контента по предложенной им модели. Netflix и Hulu, которые планируют сократить затраты на инфраструктуру, уже заинтересовались изобретением. Кстати, BitTorrent Live смогут использовать и некоммерческие вещатели — новый протокол является открытым и свободным.

BitTorrent Live уже функционирует в тестовом режиме. Посмотреть видео по новому протоколу можно через сайт live.bittorrent.com, предварительно скачав специальный клиент.
Читать дальше →
Всего голосов 148: ↑142 и ↓6 +136
Просмотры 9.9K
Комментарии 100

Простая автоматизация: программируемые реле Easy

Программирование микроконтроллеров *
Из песочницы
Здравствуйте, уважаемое сообщество!
На Хабре уже много сказано слов о различных устройствах автоматизации, начиная от простых Arduino, заканчивая промышленными многопроцессорными системами. Я же хочу закрасить очередное белое пятно на карте хабро-автоматики статьей о промежуточных устройствах — программируемых реле, на примере микропроцессорных устройств Easy производства корпорации Eaton (Moeller).
Прошло уже достаточно много времени с моего первого знакомства с данным типом устройств, но по-прежнему, эти «электронные малыши» остаются незаменимыми помощниками для реализации широкого спектра инженерных и бытовых задач.


Читать дальше →
Всего голосов 75: ↑69 и ↓6 +63
Просмотры 151K
Комментарии 43

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

Java *
Перевод
Различные структуры в Java потребляют разное количество памяти. Поэтому для нас очень важен выбор наиболее эффективного метода хранения данных.

Какая будет разница по потреблению памяти между конструкциями `new int[1024]` и `new Integer[1024]`?

int[] ints = new int[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Integer[] ints = new Integer[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Узнать
Всего голосов 50: ↑41 и ↓9 +32
Просмотры 23K
Комментарии 43

Universal Binary JSON — ещё один бинарный JSON

Open source *
Из песочницы
Статья является вольным переводом информации предоставленной на официальном сайте.

Введение


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

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

Для достижения лучших результатов в таких случаях становится полезным использование двоичного формата JSON.
Читать дальше →
Всего голосов 36: ↑32 и ↓4 +28
Просмотры 24K
Комментарии 49

Quick Config — программа для быстрой смены заданных настроек

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

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

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

Так появилась программа Quick Config.
Читать дальше
Всего голосов 67: ↑62 и ↓5 +57
Просмотры 12K
Комментарии 51
1

Информация

В рейтинге
Не участвует
Откуда
Boston, Massachusetts, США
Зарегистрирован
Активность