Between January 1st, 2016 and March 6th, 2017, Let’s Encrypt has issued a total of 15,270 SSL certificates containing the word “PayPal.”
Вот такая фигня, малятки.
Отсюда: https://www.thesslstore.com/blog/lets-encrypt-phishing/
Between January 1st, 2016 and March 6th, 2017, Let’s Encrypt has issued a total of 15,270 SSL certificates containing the word “PayPal.”
Вот такая фигня, малятки.
Отсюда: https://www.thesslstore.com/blog/lets-encrypt-phishing/
Хотите ваш C/C++ код скомпилировать в javascript? Нет проблем!
https://github.com/kripken/emscripten
А тем временем Гуглы взломали SHA1
https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
code::dive
sanitizers (Chandler)
https://www.youtube.com/watch?v=E36BUcTWo50&t=3981s
Советы по c++ для embedded, iot (ненавязчиво)
https://www.youtube.com/playlist?list=PLiWcnsSmNaTfvBRVwr80r6RcFjA58GYux
Паренек рассказывает про Whatson API на Bluemix. Рассказывает настолько толково, что захотелось что-то попробовать свое написать. А что здесь необычного спросите вы? А то, что пареньку всего 12 лет то. У него есть еще много интересных лекций для 12 летнего.
https://www.youtube.com/watch?v=6WXjhYUxXG0
Толково рассказывает про tag-dispatch и CRTP (у него даже variadic CRTP). Но для меня цимес был в тизере из С++20 про operator dot, о коем я уже давно мечтаю.
Quantization / quantisation
Не сжатие, но полезная штука. Мы ее в каждую статью пихали.
В общем виде этим занимается signal processing ( https://en.wikipedia.org/wiki/Quantization_(signal_processing) ).
Допустим, нам нужно хранить вещественные числа — результат вычислений или поток от точных сенсоров.
Если в double (и даже float) нам дорого, а fixed point библиотека нас не устраивает, используем квантизацию.
1) Линейная — отображаем множество значений (вероятно, бесконечное) на конечное множество нужного размера — например, 256.
Конвертируем линейной функцией — пара инструкций.
2) “раздаем” 256 значений не униформно как в (1), а согласно плотности распределения.
А где его взять? Как говорил Жеглов, для этого есть 3-й подход.
3) Согласно domain knowledge. Проще пояснить на примере.
Пусть у нас сенсор температуры снимает точные показания из нутра бойлера.
Отоброжать отрицательные значения и значения больше точки кипения не нужно — underflow/overflow для нас saturation.
0 – 5, записываем как 0. Если вода в бойлере замерзает, тут уже не до точности.
95 – 100 как 255. Все равно сейчас взорвется.
Изучаем рабочий диапазон бойлера в разные сезоны.
Для каждого сезона выделяем под основной сегмент много бит, чтобы получить нужную резолюцию,
а для остальных температур используем приближение военного времени.
4) Гибрид — разбиваем множество на несколько сегментов и в каждом сегменте используем линейную функций с опр. коэфициентом.
Бонус — квант. значения сжимаются куда лучше float/double.
Пишем сочинение на тему: “Почему я люблю С++”.
template
tuple combine( const tuple& lhs, const tuple rhs, index_sequence nn ) {
//template using type_selector = Nth_type;
return make_tuple( typename tuple_element< Is, tuple< Combiners< typename tuple_element< Is, tuple >::type >…> >::type() ( get( lhs ), get ( rhs ) ) …);
}
#проститенеудержался.
Наткнулся тут на основанную на Eclipse/CDT среду разработки для С++ с поддержкой продвинутых языковых конструкций и юнит-тестов. Бесплатно, но не опен-сорс.