Pull to refresh
24
0
Юрий Румянцев @urock

Разработчик FPGA

Send message

19 советов по повседневной работе с Git

Reading time14 min
Views287K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments62

Разрабатываем систему мониторинга на 55000 видео-потоков RTP

Reading time10 min
Views30K
Добрый день!

Недавно прочитал очень интересную статью про обработку 50 гигабит/с на сервере и вспомнил, что у меня в черновиках лежит статья про то, как мы год назад разрабатывали систему мониторинга видео-потоков с общим объёмом трафика до 100 Гбит/с. Ещё раз “вычитал” её и решил представить на суд разработчиков. Статья больше посвящена анализу протоколов и поиску архитектурного решения, нежели тюнингу всевозможных подсистем linux’а, потому что мы пошли по пути распределения нагрузки между сервером и сетевыми пробниками, которые подключаются к транспортным потокам 10 Gigabit Ethernet.



Если интересно, как мы смогли измерить характеристики сетевых потоков от 55 тысяч видео-камер, прошу под кат.

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments25

Продолжаем знакомиться с Intel Xeon Phi: «родной» код

Reading time11 min
Views9.7K
В прошлой статье было описано знакомство с сопроцессором Intel Xeon Phi используя offload – основной код работает на хосте, а отдельные блоки выгружаются на сопроцессор. В данной заметке рассмотрим компиляцию и использование «родного» кода, с целью выяснить, что это дает и чем грозит. В завершении поста будут четыре предложения касательно использования Fortran и примеры программ.
Прошу под кат
Total votes 13: ↑13 and ↓0+13
Comments0

Федеральная программа интенсивного развития бизнеса GenerationS выбрала Облако IBM для создания онлайн-платформы

Reading time4 min
Views2K


IBM совместно с GVA LaunchGurus разработали облачное решение, которое предоставит доступ к уникальной образовательной онлайн-платформе для более двух тысяч предпринимателей со всей России в рамках первого этапа федерального акселератора технологических стартапов GenerationS, организатором которого выступает РВК. Новое решение развернуто на облачной инфраструктуре IBM Cloud, отличительными характеристиками которой являются гибкость, простота управления и масштабируемость.

Предакселератор GenerationS — образовательная программа, в рамках которой 2159 участников получают базовые знания в области технологического предпринимательства и дорабатывают свои проекты. Важная часть предакселератора — образовательная онлайн программа, которая состоит из восьми этапов, каждый из которых включает видео-лекции, тестовые задания, работу предпринимателей над своим проектом, консультации экспертов и менторов. Обучение проходит через образовательную онлайн-платформу, где у каждого ученика (стартапа) есть собственный личный кабинет, в котором фиксируется прогресс в освоении образовательной программы. В личных кабинетах экспертов и менторов отмечаются результаты тех стартапов, для которых они выступают индивидуальными преподавателями. Система разработана GVA LaunchGurus и РВК специально для предакселератора GenerationS.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments2

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Reading time3 min
Views133K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

image
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments26

В MIT разработали физически меняющий форму экран

Reading time1 min
Views127K
image

Нечто футуристичное показали пятеро сотрудников MIT — экран inFORM (Dynamic Shape Display), физически меняющий свою форму, в зависимости от того, что он «показывает».

Технически речь идёт о некоторой плоскости, на которой укреплены «физические воксели», умеющие изменять свою высоту, получая её значение от параметров виртуального объекта, который требуется показать или, в прямом смысле, от физических размеров реального объекта, с которым экран взаимодействует при помощи Kinect.

Таким образом создаётся эффект «физического присутствия» объекта, который может находиться перед сенсором сколь угодно далеко от самого экрана. Заметно, что «разрешение» экрана пока маленькое, но если представить себе, что оно достигнет уровня Retina, то тогда понятие 3D-моделирования и 3D-печати перейдёт на совершенно новый уровень.

В данном случае лучшей демонстрацией разработки будет видео:



Научная статья авторов о разработке доступна в pdf.

Источник
Total votes 122: ↑112 and ↓10+102
Comments66

Моделируем электрическую активность нейронов

Reading time9 min
Views78K

Вступление


Сразу сообщу, что данная заметка не имеет отношения к перцептронам, сетям Хопфилда или любым другим искусственным нейронным сетям. Мы будем моделировать работу «настоящей», «живой», биологической нейронной сети, в которой происходят процессы генерации и распространения нервных импульсов. В англоязычной литературе такие сети ввиду их отличия от искусственных нейронных сетей называются spiking neural networks, в русскоязычной же литературе – нет устоявшегося названия. Кто-то называет их просто нейронными сетям, кто-то – импульсными нейронными сетями, а кто-то – спайковыми.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments23

В США испытали боевой лазер — на литий-ионных батареях и с контроллером от Xbox

Reading time2 min
Views135K
Корпорация Боинг разрабатывает лазерное орудие по заказу армии США, и теперь новое оружие было испытано на море и за земле. The High Energy Laser Mobile Demonstrator (HEL MD) — просто высокоэнергетический лазер, установленный на большой грузовик — успешно сбивал беспилотные дроны и 60-мм минометные снаряды в небе Флориды ранее в этом году



Текущее испытание проведено в ветренной и туманной среде, важный шаг для доказательства, что эта технология подходит для использования во флоте. Установка HEL MD использовала 10-киловаттный лазер — намного менее мощный, чем планируется использовать в окончательном варианте — для того, чтобы «успешно перехватить» более 150 целей на базе Eglin Air Force Base, тестовом полигоне министерства обороны в северо-западной части Флориды. Другими словами, лазер вывел из строя или уничтожил цели.
Читать дальше →
Total votes 67: ↑55 and ↓12+43
Comments351

Голосовое управление Arduino средствами Processing и Google Speech API

Reading time5 min
Views70K

Идея:


Пришла как-то идея сделать голосовое управление Arduino, но одного Arduino мало, т.к. для системы умного дома нужно еще и общение с компьютером и его системами.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments13

Что происходит в мозгах у нейронной сети и как им помочь

Reading time26 min
Views42K
В последнее время на Хабре появилось множество статей о нейронных сетях. Из них очень интересными показались статьи о Перцептроне Розенблатта: Перцептрон Розенблатта — что забыто и придумано историей? и Какова роль первого «случайного» слоя в перцептроне Розенблатта. В них, как и во многих других очень много написано о том, что сети справляются с решением задач, и обобщают до некоторой степени свои знания. Но хотелось бы как-то визуализировать эти обобщения и процесс решения. Увидеть на практике, чему там научился перцептрон, и почувствовать, насколько успешно ему это удалось. Возможно, испытать горькую иронию относительно достижения человечества в области ИИ.
Языком у нас будет С#, только потому что я недавно решил его выучить. Я разобрал два наиболее простых примера: однослойный перцептрон Розенблатта, обучаемый коррекцией ошибки, и многослойный перцептрон Румельхарта, обучаемый методом обратного распространения ошибки. Для тех, кому, как и мне, стало интересно, чему они там на самом деле обучились, и насколько они на самом деле способны обобщать – добро пожаловать под кат.

ОСТОРОЖНО! Много картинок. Куски кода.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments23

Пару слов о распознавании образов

Reading time13 min
Views311K
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
image

Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
Распознать
Total votes 130: ↑129 and ↓1+128
Comments52

Документирование по ГОСТ 34* — это просто

Reading time12 min
Views482K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments43

О стандартах документации

Reading time4 min
Views97K
Документация – такая штука, к которой мало кто питает тёплые чувства: скучно, занудно, однообразно. И, тем не менее, иногда не возникает сомнений в её необходимости: ведь кому-то после вас этим пользоваться или, тем паче, модифицировать. И тогда появляется вопрос: как сделать документацию правильно?

Существует тьма статей на тему «как писать документацию», но если вы решили взяться за неё в первый раз, то в новой для вас области не сразу понятно, дело ли пишет автор, или отсебятину выдумывает.

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

Читать дальше →
Total votes 78: ↑74 and ↓4+70
Comments46

C++ трюки и советы из Boost на каждый день

Reading time3 min
Views42K

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

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

Что вас ждёт под катом:

  • Избегаем вызовов макросов вместо функций, на примере max/min.
  • Вызываем оптимальную функцию, на примере std::swap и её специализации в разных пространствах имен.
  • Ускоряем вставку в std::vector.
  • Деструкторы в C++11.

Читать дальше →
Total votes 49: ↑40 and ↓9+31
Comments15

Bitcoin: история развития, ASIC

Reading time10 min
Views85K

Bitcoin-майнер от ASICMINER, производительностью ~2TH/s (источник)

Предыдущая часть.
В этот раз рассмотрим заключительную часть истории развития вычислительных систем, предназначенных для добычи биткоинов, а именно эпоху ASIC, поставившую крест на GPU и FPGA майнерах.
Читать дальше →
Total votes 104: ↑89 and ↓15+74
Comments53

Python Meetup: ноябрьская встреча

Reading time2 min
Views9.2K
image

В конце ноября в Минске прошла очередная встреча Python Meetup. Четыре интереснейших доклада на около-python-овские темы, авторитетные спикеры. Кстати, впервые к нам приехал спикер не из Беларуси — это был Андрей Власовских, опытный докладчик из компании JetBrains.

В ноябрьском митапе мы рассмотрели опциональную типизацию в Python, асинхронное распределенное выполнение задач, введение в GIL и новый GIL, а также использование gevent для эмуляции высокой нагрузки.
Видео всех докладов, как и ссылки на презентации, можно найти под катом.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments2

Python на Хабре

Reading time7 min
Views452K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Total votes 182: ↑162 and ↓20+142
Comments65

Наш ответ Raspberry Pi

Reading time6 min
Views97K
Большинство людей, занимающихся или интересующихся разработкой электронных устройств под управлением ARM-процессоров, прекрасно осведомлены о проекте Raspberry Pi. По сути, это первая дешевая development board с открытой архитектурой, хорошей технической поддержкой, а также с большим и дружелюбным сообществом энтузиастов.
Наша небольшая компания (start-up) почти что случайно решила посоревноваться с этой замечательной ягодой. Ну а написать про это я решил после того, как обнаружил интерес к данной теме вот здесь.

Читать дальше →
Total votes 109: ↑102 and ↓7+95
Comments251

Искусственный интеллект под Android с открытым API

Reading time7 min
Views191K

Только ленивый не знает сегодня о том, что такое голосовой помощник Siri. Когда два года назад этот продукт был показан на презентации нового iPhone 4S, многие посмотрели на развитие IT-индустрии по-новому. Действительно, искусственный интеллект в кармане, понимающий естественную речь, еще не показывал никто.

Многие в то время начали говорить о том, что Apple может уже на следующем WWDC предоставить всем программистам под iOS возможность использовать открытое API ассистента Siri для своих собственных программ. Картина вырисовывалась радужной — любое приложение смогло бы реагировать на пользовательские фразы, исполняя различные команды. Действительно, если в магазине AppStore так много разных полезных приложений, почему бы им не дать возможность управления голосом? Тем более что такой вид коммуникации с пользователем, как речь, быстро стал трендовым после выхода iPhone 4s.

О том, удалось ли это сделать Apple, и что удалось сделать нам, читайте далее.

Читать дальше →
Total votes 98: ↑86 and ↓12+74
Comments74

Стоит ли ставить Gentoo ради ускорения?

Reading time6 min
Views78K
Возможно из вас кто-то когда-то слышал: «Планирую поставить себе Gentoo, он будет лучше использовать возможности моего процессора и будет выжимать из него максимум». Чтож, давайте разберёмся…



Какие вообще бывают оптимизации под процессор

В основном под этим подразумевают использование дополнительных наборов инструкций типа: MMX, SSE, AES и AVX при компиляции приложений. Однако, если копнуть глубоко, существуют и другие оптимизации и не только для приложений.
Я выделил следующие группы оптимизаций:
  • Оптимизации кода
    • Оптимизации кода при компиляции под дополнительные наборы инструкций x86: MMX, SSE, AES, ATA, AVX и др.
    • Оптимизации кода при его статическом анализе во время компиляции: разворачивание хвостовых рекурсий, убирание неиспользуемых участков кода, игнорирование бессмысленных условий и др.
    • Оптимизации для лучшего попадания в кеш процессора.
  • Оптимизации кода на уровне ядра: криптографических методы из Cryptographic API.

Читать дальше →
Total votes 80: ↑62 and ↓18+44
Comments127
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity