#  Измерение веса руды по току статора. Практика. Часть 2. Программная реализация на МК
habrabot (difrex,1) → All  –  11:00:02 2016-01-28


Последняя часть из цикла **«Измерение веса полезных ископаемых»**. В данной статье будет показана программная реализация на МК. Вспомним основы данного метода измерение веса полезных ископаемых по току статора шахтной подъемной установки (ШПУ), оборудованной высоковольтным асинхронным двигателем с фазным ротором.

* [Теоретические основы. Формулы расчета.][1]
* [Практика. Часть 1. Алгоритм обработки сигналов в МК.][2]



#### **Вместо предисловия**

Так как реальное устройство не проектировалось и не изготавливалось, то для симулирования данного процесса использовался программный комплекс Proteus. Данный симулятор поддерживает множество различных МК и из списка им поддерживаемых выбиралась аппаратная платформа для реализации алгоритма и проверки всего метода. [Читать дальше →][3]

[1]: https://habrahabr.ru/post/275141/
[2]: https://habrahabr.ru/post/275459/
[3]: https://habrahabr.ru/post/276051/#habracut
#  [Из песочницы] Обработка временной или постоянной замены пароля Аутентификации 1С: Предприятия 8.2-8.3
habrabot (difrex,1) → All  –  10:30:03 2016-01-28


Простенькая обработка на управляемых и обычных формах под платформу 8.2-8.3, позволяющая сменить пароль Аутентификации 1С: Предприятия и вернуть обратно. Будет полезна администраторам, программистам, связанным с 1С. Недавно столкнулся с проблемой, которая потребовала простенького решения. Собственно, проблему можно уместить в один вопрос: как помочь пользователю, не зная и не сбрасывая его пароль? Во многих конторах, чтобы воспроизвести ошибку, администраторы, программисты и прочие технические специалисты пользовались Аутентификацией 1С: Предприятия. То есть пользователь «жаловался» на ошибку, под ним заходили специалисты и пытались воспроизвести ошибку. Получали ошибку и исправляли ее в коде. С развитием мобильной платформы и мобильных клиентов Аутентификация 1С: Предприятия становится «занята» пользователем, так как синхронизация проходит именно по ней. То есть не каждый пользователь захочет разглашать свои пароли или пользоваться тем паролем, что ему «назначили». Наша контора также все больше и больше подвязывается с мобильными клиентами. Вот тут и возник упомянутый ранее вопрос. Я перерыл просторы интернета, нашел кучу описаловок как ломать пароли в файловой БД или в серверных версиях. В случае с файловой версией не нужно ни каких прав достаточно установить программу [просмотра файлов баз \*.1CD][1] и меняем пароли в таблице V8USERS. Стоит заметить, что пароли там хранятся не в чистом виде, а хранится хеш пароля. Собственно хеш неизвестного пароля меняется на хеш известного пароля. В случае серверных баз нужно знать логин администратора БД и там уже дело не хитрое поменять пароль. Но как объяснить пользователю ошибку аутентификации после таких взломов? Да и к чему такие трудности? [Читать дальше →][2]

[1]: http://infostart.ru/public/19633/
[2]: https://habrahabr.ru/post/275999/#habracut
#  [Из песочницы] Практическое применение Linux Deploy на десктопах
habrabot (difrex,1) → All  –  10:30:02 2016-01-28


Несмотря на то, что изначально Linux Deploy задумывался как приложение для Android, со временем появляются и другие варианты его применения. С появлением Linux Deploy CLI стал доступен ряд возможностей, открывающих новые сферы применения этого инструмента. [Подробности][1]

[1]: https://habrahabr.ru/post/276013/#habracut
#  Измерение веса руды по току статора. Практика. Часть 2. Программная реализация МК
habrabot (difrex,1) → All  –  09:30:03 2016-01-28


Последняя часть из цикла **«Измерение веса полезных ископаемых»**. В данной статье будет показана программная реализация на МК. Вспомним основы данного метода измерение веса полезных ископаемых по току статора шахтной подъемной установки (ШПУ), оборудованной высоковольтным асинхронным двигателем с фазным ротором.

* [Теоретические основы. Формулы расчета.][1]
* [Практика. Часть 1. Алгоритм обработки сигналов в МК.][2]



#### **Вместо предисловия**

Так как реальное устройство не проектировалось и не изготавливалось, то для симулирования данного процесса использовался программный комплекс Proteus. Данный симулятор поддерживает множество различных МК и из списка им поддерживаемых выбиралась аппаратная платформа для реализации алгоритма и проверки всего метода. [Читать дальше →][3]

[1]: https://habrahabr.ru/post/275141/
[2]: https://habrahabr.ru/post/275459/
[3]: https://habrahabr.ru/post/276051/#habracut
#  Remote reflection в .NET runtime
habrabot (difrex,1) → All  –  09:00:02 2016-01-28




> _Автор статьи — Сердар Курбанов [SerdarKurbanov][1], основатель команды и ведущий разработчик Telescope. _

При использовании программного обеспечения могут встречаться ситуации, когда приложение нельзя или нежелательно останавливать даже при возникновении неполадки. В таких ситуациях, когда использование отладчика невозможно, обнаружение ошибки может представлять нетривиальную задачу. Ситуация может быть еще запутаннее, если приложение использует многопоточность. Определить какой именно из потоков вызвал ошибку может помочь логирование, но более универсальным решением была бы возможность взглянуть внутрь работающей программы и увидеть состояния объектов в ней, не останавливая ее. Одним из подходов к этой задаче может быть использование возможностей System.Reflection. [Читать дальше →][2]

[1]: https://habrahabr.ru/users/serdarkurbanov/
[2]: https://habrahabr.ru/post/276053/#habracut
#  [Из песочницы] «Почему всем можно, а мне нельзя?» или реверсим API и получаем данные с eToken
habrabot (difrex,1) → All  –  08:00:03 2016-01-28






Однажды у нас на предприятии встала задача о повышении уровня безопасности при передаче _очень важных файлов_. В общем, слово за слово, и пришли мы к выводу, что передавать надо с помощью scp, а закрытый ключ сертификата для авторизации хранить на брелке типа eToken, благо их у нас накопилось определенное количество. Идея показалась неплохой, но как это реализовать? Тут я вспомнил, как однажды в бухгалтерии не работал банк-клиент, ругаясь на отсутствие библиотеки с говорящим именем etsdk.dll, меня охватило любопытство и я полез ее ковырять. Вообще, компания-разработчик на своем сайте распространяет SDK, но для этого надо пройти регистрацию как компания-разработчик ПО, а это явно не я. На просторах интернета документацию найти не удалось, но любопытство одержало верх и я решил разобраться во всём сам. Библиотека – вот она, время есть, кто меня остановит? [Читать дальше →][1]

[1]: https://habrahabr.ru/post/276057/#habracut
#  Крупнейший хакатон в истории разработки ПО с призовым фондом в 140000$
habrabot (difrex,1) → All  –  07:30:05 2016-01-28


![image][1] 22-25 февраля 2016 года будет проходить знаковое событие в сфере разработки ПО **hack.summit()** Крупнейшая виртуальная конференция в истории. Самая большая в истории конференция по программированию. Самый крупный из проходивших в мире хакатонов с общим призовым фондом в 140000$ (на главной странице проекта почему то фигурирует 150000$, но в описании призовых мест 100k, 30k и 10k, может чего пропустил :)) Для тех кому достаточно [hack.summit()][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/214/14d/b57/21414db57946491cbb41221ab6803cd6.png
[2]: https://hacksummit.org/
[3]: https://habrahabr.ru/post/276039/#habracut
#  Формат BPG может заменить анимированный GIF и не только его
habrabot (difrex,1) → All  –  23:30:02 2016-01-27


[BPG][1] (Better Portable Graphics) — новый графический формат, цель которого заменить JPEG там, где качество или размер файла имеют значение. Именно так описывает BPG создатель этого формата — [гениальный программист Фабрис Беллар][2], автор таких программ как LZEXE, FFmpeg, QEMU и др. **Основные преимущества BPG**

* Высокая степень сжатия. Файлы гораздо меньше, чем JPEG при таком же качестве.
* Поддержка большинством веб-браузеров через маленький Javascript-декодер (56 КБ в gzip).
* Основан на подмножестве открытого стандарта видеосжатия [HEVC][3].
* Поддержка тех же форматов цветности, что и в JPEG (grayscale, YCbCr 4:2:0, 4:2:2, 4:4:4) для снижения потерь во время конвертации. Альфа-канал поддерживается. Цветовые пространства RGB, YCgCo и CMYK тоже поддерживаются.
* Нативная поддержка от 8 до 14 бит на канал для расширения динамического диапазона.
* Возможно сжатие без потерь.
* Различные метаданные (такие как [EXIF][4], профили ICC, XMP) можно внедрить в файл.
* **Поддержка анимации.**

Именно последний пункт даёт возможность предположить, что BPG [заменит в интернете анимированный GIF][5]. В самом деле, он лучше по всем параметрам. [Читать дальше →][6]

[1]: http://bellard.org/bpg/

>> Читать далее
#  [Из песочницы] Автоматизация обработки текстовых документов с помощью Microsoft Word API
habrabot (difrex,1) → All  –  18:30:03 2016-01-27


Значительная часть текстовых документов сегодня создаётся и редактируется в программе Microsoft Word. Наличие этой программы практически на каждом компьютере даёт возможность автоматизировать печать, обработку и экспорт текстовых документов в PDF, используя [API Microsoft Word][1]. В этой статье я расскажу, как автоматизировать печать текстовых документов и конвертирование документов в формат PDF. [Читать дальше →][2]

[1]: https://msdn.microsoft.com/en-us/library/bb244515%28v=office.12%29.aspx
[2]: https://habrahabr.ru/post/275989/#habracut
#  Нечеткий поиск в словаре с универсальным автоматом Левенштейна. Часть 2
habrabot (difrex,1) → All  –  17:00:03 2016-01-27


![][1] В [первой части статьи][2] мы рассмотрели универсальный автомат Левенштейна — мощный инструмент для фильтрации слов, отстоящих от некоторого слова W на расстояние Левенштейна не более заданного. Теперь пришло время изучить способы применения этого инструмента для эффективного решения задачи нечеткого поиска в словаре. [Читать дальше →][3]

[1]: https://habrastorage.org/files/aac/c4a/28b/aacc4a28b3764c268e842b5f5901566f.png
[2]: http://habrahabr.ru/post/275937
[3]: https://habrahabr.ru/post/276019/#habracut
#  ssh: Вытаскиваем для себя чужой порт из-за NAT
habrabot (difrex,1) → All  –  14:30:06 2016-01-27




####

# Опция -R

В ssh есть режим, в котором он открывает порт на сервере и, через туннель от сервера до клиента, перенаправляет соединения в указанный адрес в сети клиента. То есть нам нужно поднять sshd, попросить человека выполнить

$ ssh -N -R server_port:target:target_port sshd_server

И у нас на машине с sshd откроется порт server\_port, который будет туннелироваться в target:target\_port в сети этого человека.

# Как в sshd\_config ограничить права


>> Читать далее
#  Фальшивомонетчики против банкиров: стравливаем adversarial networks в Theano
habrabot (difrex,1) → All  –  14:00:04 2016-01-27


![image][1] _Вы бы никогда не подумали, но это прогулка по пространству нейросети-фальшивомонетчика. Сделано крутейшими людьми [Anders Boesen Lindbo Larsen и Søren Kaae Sønderby][2]_ Допустим, у нас есть задача — понять окружающий мир. Давайте для простоты представим, что мир — это деньги. Метафора, может быть, с некоторой моральной двусмысленностью, но в целом пример не хуже прочих — деньгам (банкнотам) определенно свойственна какая-то сложная структура, тут у них цифра, тут буква, а там хитрые водяные знаки. Предположим, нам нужно понять, как они сделаны, и узнать правило, по которым их печатают. Какой план? Напрашивающийся шаг — это пойти в офис центрального банка и попросить их выдать спецификацию, но во-первых, вам ее не дадут, а во-вторых, если выдерживать метафору, то у вселенной нет центрального банка (хотя на этот счет есть религиозные разногласия). Ну, раз так, давайте попробуем их подделать. [Осторожно, тяжелые гифки][3]

[1]: https://habrastorage.org/getpro/habr/post_images/e46/9e1/f0f/e469e1f0fe41ef13ea2c2c19519692e7.gif
[2]: http://torch.ch/blog/2015/11/13/gan.html
[3]: https://habrahabr.ru/post/275429/#habracut
#  Конфигурация приложений с помощью github
habrabot (difrex,1) → All  –  13:00:03 2016-01-27


![][1] Конфигурация является такой же важной частью как и код, особенно в крупных проектах. Но часто отношение к ней, как к второсортному артефакту разработки и эксплуатации ПО. Плохо если конфигурация не проходит тот же полный цикл, что и ПО. Про аудит изменений и версионирование забывают, либо проводят не самым подходящим для этого инструментарием. Я видел много проектов, где конфигурация подкладывается в файловую систему в виде properties/json/xml файлов с непостижимыми уму переоределениями в момент загрузки. И что же на самом деле использует приложение становится ясно только после просмотра лог файлов компонента либо во время отладки. [Git как хранилище конфигурации...][2]

[1]: https://habrastorage.org/files/213/b46/354/213b463541704fc4a3c7d3bb54294798.png
[2]: https://habrahabr.ru/post/275225/#habracut
#  Служба поддержки клиентов, бэкдор от Amazon
habrabot (difrex,1) → All  –  11:30:06 2016-01-27


Мог бы сознательный пользователь в вопросах безопасности, использующий лучшие практики — уникальные пароли, двухфакторную авторизацию, использование только своего надежного компьютера для входа и способность определять фишинговые сайты за милю — находиться в полной уверенности, что его счетам и персональным данным ничего не угрожает? Увы, нет. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/78f/74f/95a/78f74f95a82d42fdbe015c7cf17bbf85.jpg
[2]: https://habrahabr.ru/post/275947/#habracut
#  [Из песочницы] Лицензирование программного обеспечения
habrabot (difrex,1) → All  –  11:00:08 2016-01-27


Эта статья написана для тех, кто хочет понять, что такое лицензия и лицензирование программного обеспечения и для чего это нужно. Рассмотреть все возможные схемы лицензирования ПО в небольшой по объему статье, естественно, не представляется возможным, поэтому я попытаюсь кратко показать лишь наиболее популярные из них. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275995/#habracut
#  Сайт CrashSafari.com отправляет айфоны в перезагрузку
habrabot (difrex,1) → All  –  10:00:06 2016-01-27




###

![][1] В последние пару дней в социальных сетях [начала распространяться][2] ссылка на сайт CrashSafari.com, который подвешивает браузер Safari и отправляет телефон iPhone в перезагрузку. Этим его вредоносное действие не ограничивается: попытка открыть сайт на десктопе тоже может привести к зависанию системы, например, в браузере Chrome под Windows 7. Такая же техника перезагрузки браузера действует на сайте CrashChrome.com. В этом случае уязвим браузер Chrome под Windows, Mac, iOS и Android. [Читать дальше →][3]

[1]: https://habrastorage.org/files/e4e/e82/54a/e4ee8254a7a44a73b5a9f88d877acd63.jpg
[2]: http://globalnews.ca/news/2475378/watch-out-for-crashsafari-com-the-new-url-that-will-crash-your-iphone/
[3]: https://habrahabr.ru/post/275987/#habracut
#  [Из песочницы] Откуда берутся плохие программисты и в чем их проблема
habrabot (difrex,1) → All  –  10:00:06 2016-01-27


![image][1] Данная публикация раскрывает проблему возникновения плохих программистов на личном примере, подразумевая, что аналогичные ситуации сплошь и рядом. Тем не менее, в конце публикации будет попытка вывести основные ключевые аспекты, которые если не решить, то хотя бы стоит о них задуматься. [Читать дальше →][2]

[1]: https://habrastorage.org/files/1fc/2b3/62a/1fc2b362aa43419e848183673a470396.jpg
[2]: https://habrahabr.ru/post/275993/#habracut
#  Проверяем исходный код набора C#/.NET компонентов от Sony
habrabot (difrex,1) → All  –  09:00:06 2016-01-27






Как некоторые из вас помнят — недавно мы выпустили версию анализатора, [поддерживающую проверку C#-кода][1]. С появлением возможности анализа проверки проектов, написанных на C#, открывается новый простор для творчества. Об анализе одного из таких проектов, разработанного компанией Sony Computer Entertainment (SCEI), и пойдёт речь в данной статье. [Читать дальше →][2]

[1]: http://www.viva64.com/ru/b/0363/
[2]: https://habrahabr.ru/post/275983/#habracut
#  [Перевод] Несколько вещей, о которых стоит помнить программисту в возрасте
habrabot (difrex,1) → All  –  09:00:05 2016-01-27


Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать. Большую часть моей жизни я проработал разработчиком программного обеспечения. Но однажды, уже под конец моего четвёртого десятка, я попался на удочку предпринимательской наживы. Я тогда поверил, что создавать собственные компании — это круто. Я нашел немного венчурного капитала и организовал пару небольших стартапов для реализации собственных идей. И вот я стал, как мне казалось, нормальным CEO и не таким уж плохим менеджером. И, хотя я уже не писал код лично, я мог нанимать хороших программистов, управлять качеством проектов и внедрением инноваций. Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275951/#habracut
#  Python и красивые ножки: как я бы знакомил сына с математикой и программированием
habrabot (difrex,1) → All  –  07:30:05 2016-01-27


Раньше мы уже [искали][1] необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.



[Читать дальше →][2]

[1]: https://habrahabr.ru/post/251225/
[2]: https://habrahabr.ru/post/275963/#habracut