Военное ведомство США должно срочно переосмыслить стратегию в области машинного обучения

Автор: admin от 20-03-2018, 12:10, посмотрело: 116

Военное ведомство США должно срочно переосмыслить стратегию в области машинного обучения— Скажите государю, что у англичан ружья кирпичом не чистят: пусть что бы и у нас не чистили, а то, храни Бог войны, они стрелять не годятся – внятно выговорил Левша, перекрестился и умер.

Категория: Админитстрирование » Системное администрирование

 

Программа для мониторинга сети Network MACMonitor

Автор: admin от 14-03-2018, 00:15, посмотрело: 270

Прошло больше года с момента моей предыдущей публикации «Мониторинг mac-адресов на портах сетевых устройств Cisco с помощью протокола snmp». После публикации статьи, многие стали интересоваться: планирую ли я продолжить разработку программы? На что я дал положительный ответ. И вот готова новая версия программы Network MACMonitor.



Network MACMonitor – программа, разработанная для сканирования сетевых устройств (коммутаторов и маршрутизаторов) на наличие подключенных конечных устройств (компьютеров, принтеров, ip телефонов и т. д.). Программа сохраняет информацию о том, к какому порту сетевого устройства подключено конечное устройство, основываясь на его mac адресе. Так же программа сопоставляет mac адреса ip адресам, а ip адреса именам хостов. Поддерживается сопоставление порта сетевого устройства с патч-кордом, патч-панелью, сетевой розеткой.

Категория: Админитстрирование » Системное администрирование

 

Оптимизация кода в уме, или «Ну так же однозначно быстрее»

Автор: admin от 8-03-2018, 19:05, посмотрело: 114

Намедни работая над одной ошибкой в одном опенсорсном проекте, увидел как коллега (тоже работающий параллельно над той же проблемой) залил такой вот коммит [31a078bec7]:



   	/*
-	 * Select the list item based on the index. Negative operand means
-	 * end-based indexing (-2, ...), and -1 means out of range.
+	 * Decode end-offset index values.
   	 */
-	if (opnd < -1) {
-	    index = opnd+1 + objc;
-	} else {
-	    index = opnd;
-	}
+	index = opnd + (opnd <= TCL_INDEX_END)*(objc - 1 - TCL_INDEX_END);
   	pcAdjustment = 5;


Изменение само по себе правильное (теперь TCL_INDEX_END есть константное определение (-2)).



И грубо говоря в уме это разворачивается в следующее (все переменные int):



index = opnd + cmp(opnd, (-2))==>(0 | 1) * (objc - 1 - (-2));


Т. е. он как бы тем самым хотел сэкономить здесь один условный переход.

И всё как бы ничего, однако меня всё же насторожила такая казалось бы пустячная «оптимизация» с уклоном в арифметику.



Во первых, это изменение касается самой «главной» функции в этом проекте (TEBCresume), ибо она ответственна за исполнение байт-кода (JIT скомпилированных инструкций языка TCL). По этой причине эта функция еще и самая большая (порядка 6 тысяч строк + примитивы и макросы) и одна из самых сложных в кодовой базе проекта, с множественными `goto`, головоломными макросами для работы со «стеком» исполнения, свёртка/развертка NRE (nonrecursive evaluation) и т.д. и т.п.



Т.е. изменения этой функции нередко рассматриваются под лупой, а то и под микроскопом (т.к. бывало что даже незначительные модификации могут перевернуть весь код этой функции с ног на голову)…



Во вторых, по роду деятельности мне часто приходится оптимизировать сишный код, разглядывая его ассемблерное отражение, выжимая доли микро- а то и нано-секунд, и я часто вижу, что там очень всё совсем не однозначно бывает. Как минимум иногда разворачивая такие вот «экономящие» условный jump конструкции обратно в if или даже if/else, я видел улучшение как и в результирующем ассемблерном коде, так и явно при конечном сравнении производительности результатов исполнения.



Собственно к чему я все это писал — хотелось на примере показать как оно бывает, ну и раз уж коснулись этой темы, собрать немного статистики. Посему пара опросов в конце статьи…
Развернуть в ассемблер ...

Категория: Админитстрирование » Системное администрирование

 

Исследование БД и СУБД с помощью T-SQL

Автор: admin от 8-03-2018, 19:05, посмотрело: 117

Предисловие



Приветствую вновь тебя, уважаемый читатель Хабра!



Когда свои реализованные идеи, опыт, а также всю ту информацию, что не дает покоя, оформляешь в публикации, рано или поздно приходит логическая точка всему ранее написанному потоку информации. Эта статья будет отличаться от всех ранее опубликованных мною своей нестрогостью и более свободным стилем изложения текста, а также она завершит изложение всего моего накопленного опыта по MS SQL Server.



Данная статья является дополнением к статье Исследуем базы данных с помощью T-SQL, а также вкратце рассказывает о созданной базе данных по администрированию SRV и о проектах-утилитах, которые предназначены помочь в работе DBA MS SQL Server.

Категория: Админитстрирование » Системное администрирование

 

Rust: зачем нужны макросы

Автор: admin от 8-03-2018, 19:05, посмотрело: 157

Как-то я сказал своему коллеге, что в Rust имеются макросы, ему показалось, что это плохо. Раньше у меня была такая же реакция, но Rust показал мне, что макросы не обязательно плохи.



Где и как их уместно применять? Смотрите под катом.

Категория: Админитстрирование » Системное администрирование

 

Как я писал свой VNC, а потом нет

Автор: admin от 8-03-2018, 19:05, посмотрело: 168

0. Предыстория


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

Категория: Админитстрирование » Системное администрирование

 

Организация системы мониторинга

Автор: admin от 1-03-2018, 13:15, посмотрело: 255

Мониторинг — это главное, что есть у админа. Админы нужны для мониторинга, а мониторинг нужен для админов.



Организация системы мониторинга

За последние несколько лет поменялась сама парадигма мониторинга. Новая эра уже наступила, и если сейчас вы мониторите инфраструктуру как набор серверов — вы не мониторите почти ничего. Потому что теперь "инфраструктура" — это многоуровневая архитектура, и для мониторинга каждого уровня есть свои инструменты.



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



У нас на поддержке около пяти тысяч серверов, в самых разных конфигурациях: от систем из трех серверов с кастомными докеровскими сетками, до больших проектов с сотнями серверов в Kubernetes. И за всем этим надо как-то следить, вовремя понимать, что что-то сломалось и быстро чинить. Для этого надо понять что такое мониторинг, как он строится в современных реалиях, как его проектировать и что он должен делать. Об этом и хотелось бы рассказать.

Категория: Админитстрирование » Системное администрирование

 

Обзор книги Database Reliability Engineering

Автор: admin от 22-02-2018, 21:50, посмотрело: 228

Здравствуйте, коллеги!



У нас только что пришла из типографии долгожданная фундаментальная работа Мартина Клеппмана, именуемая в оригинале "Designing Data-Intensive Applications" (анонсировали ее мы еще в сентябре 2016 года). Книга доступна для заказа на сайте (не благодарите, мы сами ликуем)



Обзор книги Database Reliability Engineering


А в конце ноября прошлого года в издательстве «O'Reilly» вышла долгожданная книга «Database Reliability Engineering», которая, на наш взгляд, отлично дополнила бы работу Клеппмана. Кстати, пока на Amazon — только восторженные отзывы



Обзор книги Database Reliability Engineering


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

Категория: Админитстрирование » Системное администрирование

 

Британские интернет-провайдеры протянут оптоволокно в 3 миллиона домов

Автор: admin от 19-02-2018, 06:45, посмотрело: 148

По данным исследования аналитической компании IHS Markit, Великобритания занимает третье место с конца (среди стран Европы) по количеству оптоволоконных подключений. Еще одна проблема Соединенного королевства — медленный интернет в сельской местности, о чем мы недавно писали в блоге.



Провайдеры Англии задумались о том, как исправить ситуацию с «плохим интернетом» в масштабах целого государства. Под катом читайте, какие проекты они планируют внедрить, и что об этом думают представители отрасли и эксперты.



Британские интернет-провайдеры протянут оптоволокно в 3 миллиона домов

Категория: Админитстрирование » Системное администрирование

 

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть вторая)

Автор: admin от 16-02-2018, 08:25, посмотрело: 288

Продолжаю конспектировать книгу «Программист-прагматик» — настольный сборник рекомендаций на все случаи жизни. С первой частью конспекта можно ознакомиться тут.

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



«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть вторая)

Категория: Админитстрирование » Системное администрирование