Pull to refresh
16
0

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

Send message

Устройство интернетов

Reading time8 min
Views19K


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

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

Открыв любимый поисковик, я хотел было уже ввести «автоматизированное создание скриншотов», как вдруг моё внимание привлёк новый элемент управления на этой странице. Вообще, главная страница этой поисковой системы настолько минималистична, что каждое её изменение, даже на пару пикселей, сразу бросается в глаза. А сейчас там под строкой поиска появилось самое настоящее окно чата. Внизу вертелась анимированная иконка с изображением карандаша, символизирующая, должно быть, то, что собеседник пишет мне сообщение. Через пару секунд анимация исчезла, и в окне чата появилась надпись: «привет как дела».
Читать дальше →
Total votes 185: ↑146 and ↓39+107
Comments97

Стали известны технические характеристики планшета Google Nexus

Reading time1 min
Views4.2K


За два дня до начала конференции Google I/O, на которой официально будет представлен ожидаемый планшет от Google, на Gizmodo появились конкретные данные о характеристиках, цене и дате начала продаж устройства.

Итак, Google Nexus производится Asus и это:

  • Tegra 3 с четырехъядерным процессором с частотой ядра 1.3 ГГц.
  • 7-дюймовый IPS-дисплей с разрешением 1280×800 пикселей с углом зрения 178°.
  • Графика — GeForce 12-core GPU.
  • 1 Гб ОЗУ.
  • Беспроводные интерфейсы — Wi-Fi и NFC (с поддержкой Google Wallet и Android Beam).
  • 1.2 Мп фронтальная камера.
  • Объём встроенной памяти — 8 и 16 ГБ.
  • Операционная система — Android Jelly Bean (индекс неясен, но, судя по всему, не 5.0, а 4.1).
  • Время работы устройства — 9 часов.


В продаже Google Nexus с июля. Версия с 8 Гб памяти будет стоить (как и предсказывалось) 199$, с 16 Гб — 249$.
Источник
Total votes 85: ↑79 and ↓6+73
Comments207

Патент на траекторию

Reading time2 min
Views3.1K
Обсуждая негативные побочные эффекты нынешней патентной системы, полезно вспомнить историю со спутником AMC-14, который был потерян в марте 2008 года.

Геостационарный спутник связи AMC-14 изготовила компания Lockheed Martin по заказу оператора связи SES Americom, он должен был использоваться в сети спутникового телевидения DISH Network. Запланированный срок службы составлял минимум 15 лет.

Запуск ракеты-носителя «Протон-М» со спутником состоялся 14 марта 2008 года с Байконура. К сожалению, из-за проблемы с двигателем разгонного блока «Бриз-М» груз не долетел до запланированной точки. SES Americom и Lockheed Martin попытались поднять спутник до геостационарной орбиты, применив оригинальный манёвр с разгоном через Луну. Но от этой идеи пришлось отказаться. Выяснилось, что патент на данную траекторию принадлежит компании Boeing. В результате, спутник сгорел в атмосфере.
Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments77

Опыт составления резюме

Reading time5 min
Views33K

Проблема


Не так давно мне потребовалось обновить своё резюме. Последний раз я это делал несколько лет назад, так что решил написать резюме с нуля.

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

Читать дальше →
Total votes 131: ↑107 and ↓24+83
Comments215

Основа для умной комнаты, или как Arduino в общежитии живёт

Reading time10 min
Views188K

И вновь привет, Хаброжители! Ежедневно читая Хабр, я не раз наталкивался на статьи об Arduino и DIY проектах на его основе. Стоит заметить, что с электроникой я дел не имел, а весь мой опыт заключался в посещении радиокружка на базе подросткового клуба «Огонёк» (г. Петрозаводск). Однажды я собрался и решил сделать на Arduino браслет с сенсорами (температура, давление, пульс) для смартфона (связь по BT) Но сделав ошибку при заказе, я получил лишь сам Arduino и датчик давления. Чтобы протестировать плату я отправился в ближайший магазин радиодеталей за светодиодами, и там на глаза мне попался магнитный датчик закрытия двери. Он натолкнул меня на мысль, что можно было бы немного усовершенствовать жизнь в комнате (не путать с квартирой). Не тратя время, я оформил на Ali заказ с кучей сенсоров и Arduino Mega.
Узнать что было дальше...
Total votes 71: ↑61 and ↓10+51
Comments89

Умный дом — дешево и сердито, часть 2

Reading time2 min
Views170K
В жизни каждого умного дома возникает закономерный вопрос – как маленький нежный микроконтроллер своими пятью вольтами сможет коммутировать 220 вольт переменного тока?

Самый простой вариант – реле. Тут вам и гальваническая развязка, и замыкаешь что хочешь, хоть постоянный, хоть переменный, мало, много. Но и минусы у реле очень неприятные.

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

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

Поэтому хочу поделиться с вами лучшим, на мой взгляд, способом коммутировать 220 вольт переменного тока – полупроводниковый ключ переменного тока.
Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments55

Первый открытый массовый курс МФТИ на платформе Coursera начинается через 3 дня

Reading time3 min
Views44K
17 февраля 2014 года Московский физико-технический институт первым из российских вузов запускает образовательный онлайн-курс на платформе Coursera. Курс «Электричество и магнетизм» рассчитан на 10 недель обучения с дополнительным временем для выполнения двух контрольных работ.



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

Так написано в официальном пресс-релизе. В этом же посте хотелось бы добавить немного подробностей о том, что ждет на курсе, как он делался и почему.
Читать дальше →
Total votes 136: ↑134 and ↓2+132
Comments25

Интеграция Android Studio, Gradle и NDK

Reading time5 min
Views46K
В свете недавних изменений (начиная с релиза 0.7.3 от 27 декабря 2013) новая система сборки под Android становится очень интересной в том числе и для тех, кто использует NDK. Теперь стало действительно просто интегрировать нативные библиотеки в вашу сборку и генерировать APK для различных архитектур, корректно обращаясь с кодами версий.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments5

Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой

Reading time8 min
Views265K
Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.
Содержание и видео всех лекций курса
Total votes 172: ↑166 and ↓6+160
Comments47

Праздник жизни по гиковски: с ARM и TFT LCD

Reading time8 min
Views26K

Введение


Результат Увидев посты от dlinyj, goodic и Hoshi я в очередной раз ощутил, что Хабр — торт.

Первый пост касался написания драйвера символьного дисплея на базе HD44780 для Linux (Создание собственных драйверов под Linux от dlinyj); отличными ответами на него послужили посты хабраюзеров goodic (Поздравление по гиковски, без написания дров) и Hoshi (Новогодняя малина — прикручиваем экран HD44780 к Raspberry Pi).

Мне тоже захотелось поучаствовать в этом празднике жизни и реализовать свой аппаратный vt52-like терминал. Символьного дисплея у меня не оказалось, но был китайский dev-board на базе ARM Cortex-M3 с полноценным TFT-дисплеем 240х320, частичной документацией.

Запас энтузиазма в наличии имелся, поэтому, проснувщись в воскресенье днем (~17 MSK) я приступил к написанию embedded драйвера для данного LCD.

Если вам интересно embedded-программирование по ARM, электроника или просто результат — прошу под кат.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments16

Официальный релиз LLVM 3.3

Reading time4 min
Views14K
Для тех, кто не следит пристально за развитием Clang/LLVM, сообщаю — состоялся релиз версии 3.3. LLVM продолжает развиваться семимильными шагами и новый релиз, как заявлено, первым поддерживает все фичи C++11, добавлена поддержка целой пачки новых таргетов и появилось несколько интересных тулов, основанных на инфраструктуре LLVM. Также продолжает развиваться оптимизатор — появился автовекторизатор, который работает по умолчанию на -O3, много сделано для улучшения уже существующих оптимизаций. Кому интересны подробности — добро пожаловать под кат.

Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments58

Move semantics в C++11 и STL-контейнеры

Reading time2 min
Views78K
Эта небольшая заметка о том, как с приходом нового стандарта C++11 изменились требования стандартных контейнеров к своим элементам. В C++98 от элемента контейнера требовалось, по сути, наличие «разумных» конструктора копирования и оператора присваивания. Если, например, объект вашего класса владеет каким-либо ресурсом, копирование обычно становится невозможным (по крайней мере, без «глубокого» копирования ресурса). В качестве примера давайте рассмотрим следующий класс-обертку вокруг FILE*, написанную на C++98:

class File
{
    FILE* handle;
public:
    File(const char* filename) {
        if ( !(handle = fopen(filename, "r")) )
            throw std::runtime_error("blah blah blah");
    }
    ~File() { if (handle) fclose(handle); }
    // ...
private:
    File(const File&); //запретить копирование
    void operator=(const File&); //запретить присваивание
};

Читать дальше →
Total votes 74: ↑69 and ↓5+64
Comments30

Улучшаем схему питания беспроводной клавиатуры

Reading time2 min
Views71K
Была у моего товарища проблема с беспроводной клавиатурой — быстро в ней садились батарейки.
Причем, когда они садились, она могла еще долго работать, но «дальнобойность» резко уменьшалась до полной неюзабельности. А я на днях как раз решил испробовать отличную микросхемку — NCP1402. Показал товарищу ее возможности, а ему пришла идея использовать ее для решения проблем с питанием клавиатуры.


За подробностями — прошу под кат.
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments23

Об одном методе распределения памяти

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

В результате стандартный консервативный аллокатор выстраивает все запросы в очередь на pthread_mutex / critical section. И наш многоядерный процессор медленно и печально едет на первой передаче.

И что с этим делать? Познакомимся поближе с деталями реализации метода Scalable Lock-Free Dynamic Memory Allocation. Maged M. Michael. IBM Thomas J. Watson Research Center.

Самый простой код что я сумел найти — написан под LGPL камрадами Scott Schneider и Christos Antonopoulos. Его и рассмотрим.

Читать дальше →
Total votes 103: ↑101 and ↓2+99
Comments62

Просмотр изображений OpenCV во время отладки C++ кода в Visual Studio

Reading time10 min
Views19K


Если вы пишете код для обработки изображений на С++, вы наверняка используете замечательную библиотеку OpenCV. Уверен, вам не раз хотелось посмотреть на изображения в процессе отладки вашего кода. Для этого можно использовать такие удобные функции как imshow или imwrite. Однако это требует модификации исходного кода, а любая современная IDE во время отладки позволяет смотреть значения переменных на лету. Вот было бы здорово так же смотреть изображения?

Если в качестве IDE вы пользуетесь Visual Studio, то знаете, что с .NET в этом плане всё проще. Однако речь идёт про OpenCV, а это только native C++, только хардкор. В этой статье я расскажу, как всё-таки заставить Visual Studio показывать изображения прямо в процессе отладки и дам ссылку на готовое решение. А также коротко расскажу о способах кастомизации Visual Studio.
Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments6

Находим код системного вызова mkdir

Reading time6 min
Views33K
Еще в первый год моего знакомства с Ubuntu, мне стало интересно, как же работает ядро этой ОС. Я решил со всей серъезностью во всем разобратся, скачал 80-мегабайтовый архив исходников, и… всё! Я не знал ни с чего начать, ни чем закончить. Открывал по очереди случайные файлы и тут же терялся. Думаю такое случалось с каждым бывалым линуксоидом. Сейчас же я набрался опыта и хотел бы им поделиться.

В этой статье я раскажу, как я искал код системного вызова mkdir.

Начнем с того, что функция mkdir определена в sys/stat.h. Прототип выглядит следующим образом:

/* Create a new directory named PATH, with permission bits MODE.  */
extern int mkdir (__const char *__path, __mode_t __mode)
     __THROW __nonnull ((1));


Этот заголовочный файл является частью стандарта POSIX. Linux является почти полностью POSIX-совместим, а значит должен реализовывать mkdir именно с такой сигнатурой.

Но даже зная сигнатуру, найти собственно код системного вызова вовсе не просто…
Читать дальше →
Total votes 130: ↑121 and ↓9+112
Comments24

Поднимаем собственный git сервер GitBlit на хостинге Openshift

Reading time4 min
Views26K


Привет, Хабр!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.

Хочу халявный git-сервер!
Total votes 33: ↑29 and ↓4+25
Comments24

Компиляция пакетов

Reading time2 min
Views33K
В Ubuntu используется философия пакетного менеджмента, то есть все программы ставятся из пакетов deb, в которых хранится, собственно сама программа и скрипты, которые корректно ставят/удаляют/обновляют. Пакеты deb можно найти в сети Интернет, на дисках. Самый лучший способ использовать репозитории, хранилища deb пакетов. Если использовать репозитории, то при появлении в них новых версий установленных у вас программ, вам будет проще и быстрей обновить их. Это очень удобно и позволяет держать систему актуальной и защищенной. Иногда требумой программы в репозитариях нет и приходится компилировать из исходников. Но это надо делать правильно.
Сегодня я хочу предложить изящный метод, не раз помогавший мне.
Читать дальше →
Total votes 81: ↑57 and ↓24+33
Comments44

Portable Components, кроссплатформенная библиотека для C++

Reading time13 min
Views28K
«Система должна быть спроектирована так,
чтобы оставаться как можно проще
после серии внесенных в нее изменений»

Бьярне Строуструп – программист, автор языка C++

Преамбула


В данной статье мне бы хотелось бы рассказать о довольно популярной, но так редко освещаемой на Хабре библиотеке Portable Components (сокр. POCO). Она будет полезна как разработчикам бизнес-логики программного продукта, так и в решении большинства прикладных задач. При всем изобилии кроссплатформенных библиотек для C++ всё больше людей сталкиваются с POCO лицом к лицу и не знают с чего начать. В данной статье я постараюсь описать технологии, заложенные в библиотеке и дать простейшие примеры решения некоторых задач. Также хотелось бы отметить, что за плечами библиотеки множество успешных как Open Source, так и коммерческих проектов.
Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments40

Как я вставлял Java 7 в работающее приложение, и что пришлось изобрести для С runtime

Reading time3 min
Views2.7K
image

Однажды, в студеную зимнюю пору, в одно старое приложение на С++, успешно работавшее до этого годами, пришлось вставить новый Java runtime 7 вместо отлично работавшего Java 6. Ничто не предвещало, и вдруг.

Код в общем-то очевиден и прост — немного JNI, и вот он — больной зуб. Приведу код только для Windows, т.к. чудеса эквилибристики под маком не потребовались.

Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments30

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity