Pull to refresh
3
0
Send message

Трехмерный движок на формулах Excel для чайников

Reading time9 min
Views70K


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

Для тех, кто не знаком с компьютерной графикой, я постарался как можно проще и подробнее описать все шаги. В принципе, для понимания формул должно быть достаточно знания школьного курса математики (+умение умножать трехмерную матрицу на вектор).

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

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →
Total votes 211: ↑209 and ↓2+207
Comments54

Как строятся оптоволоконные сети

Reading time6 min
Views80K
Всем привет! Меня зовут Дмитрий, я занимаюсь проектированием и строительством волоконно-оптических линий связи (ВОЛС) в DataLine. Сегодня расскажу, как мы создаем оптические трассы для наших клиентов и как устраняем аварии.


Монтажник укладывает волокна двух кабелей в оптической муфте.
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments40

Конференция DEFCON 18. Вы потратили все эти деньги, но вас продолжают «иметь». Часть 2

Reading time10 min
Views4.5K
Конференция DEFCON 18. Вы потратили все эти деньги, но вас продолжают «иметь». Часть 1

Я использую интересную вещь авторства Гэри О’Лири-Стил под названием Unicod-fun, которая довольно неплоха для утилиты, написанной на Ruby. Вы знаете, что мои инструменты должны писаться исключительно на Python, поэтому мы перевели это на Python. Теперь мы можем применять различную кодировку для инструментов, которые предназначены для атак на веб-приложения и являются частью фреймворка WAF.



Фреймворк WAF включает в себя WAF Fun и WAFWOOF и функционирует на основе мультикодирования и информации, полученной от прокси, и он может функционировать через Tor или GLib прокси в процессе выполнения всех этих разных вещей. Так что это реально полезная штука для получения нужной информации.
Total votes 18: ↑16 and ↓2+14
Comments3

Светодиодные лампы с/из Украины

Reading time3 min
Views43K
Международные бренды, выпускающие светодиодные лампы, можно пересчитать на пальцах одной руки, но в каждой стране есть множество локальных брендов. Большинство ламп, которые я протестировал на Lamptest.ru, продаются только в России, но сайтом пользуются и в других странах. Михаил Рыбинцев смог переправить мне из Киева 14 ламп семи украинских брендов.

Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments80

Веб-технологии для дизайнеров — возвращаю долг

Reading time3 min
Views4.5K
При чём здесь апельсины? Просто они — оранжевыеЕсть у меня долг перед Хабром. Два года назад я написал статью «Веб-технологии для дизайнеров — зачем и как», а продолжение статьи так и не выпустил.

И вот, наконец, я могу вернуть часть этого долга. Весь ноябрь по утрам и выходным я записывал обучающие видео про JS для дизайнеров. По ходу проекта экспериментировал с разными форматами, оборудованием и постобработкой. В этом посте я подведу итог месяца работы над курсом и расскажу о том, чему научился сам, пока его записывал.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Как мы улучшали конверсию платежной формы

Reading time11 min
Views7.3K
Онлайн-платежи стали чем-то настолько же привычным, как и wi-fi дома и скоростной мобильный интернет. И они продолжают эволюционировать, все больше и больше услуг можно оплатить в пару кликов или из мобильных приложений, а тут еще и автоплатежи, напоминалки, контроль расходов и многое другое.

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



Меня зовут Георгий Коннов, я директор по развитию продуктов для электронной коммерции в QIWI, и сегодня я расскажу, как мы развивали платежную форму, которую любой магазин может оперативно подключить для приема платежей.

Под катом — о конверсии, мотивации пользователей, нашем протоколе, благотворительности и open source.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments18

Делаем свою USB звуковую карту с гальванической развязкой

Reading time3 min
Views39K

Началось все как обычно, от нефиг делать от избытка свободного времени я решил сделать что-то эдакое. Тут я вспомнил, что друзья жалуются в дискорде на мой микрофон, слышны какие-то цифровые помехи, а если начать копировать файлы на компьютере то вообще. Купить нормальную звуковую карту? Это не про нас.

Кого заинтересовало прошу под кат.
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments161

Google держит вас в персональном «поисковом пузыре» даже если выйти из аккаунта

Reading time3 min
Views63K


Все мы давно знаем, что Google, Яндекс и другие коммерческие поисковые системы анализируют историю посещений и поисковую историю пользователя, на основе которых хитрые алгоритмы пытаются предсказать, что «пригодится» человеку в следующий раз. Когда эта технология только зарождалась, она казалась логичной и понятной, но сейчас этот подход выглядит крайне и крайне пугающе. Потому что раньше представители Google, самой популярной поисковой системы в мире, утверждали, что достаточно выйти из аккаунта, чтобы избавиться от «предвзятости» поисковой выдачи и получить нейтральные результаты при использовании сервиса.

Парни из DuckDuckGo в своем исследовании утверждают, что даже при выходе из аккаунта и переходе в анонимный режим, Google продолжает подстраивать поисковую выдачу согласно ранее собранной о пользователе информации. То есть компания не оставляет человеку выбора и все равно манипулирует поиском, даже если действия пользователя явно говорят о том, что он хочет получить «нейтральный» результат.
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments186

Доступен PhpStorm 2018.3

Reading time5 min
Views19K


Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.

Обзор релиза можно посмотреть на странице “What’s new”. Скачать новую версию можно там же или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также студенты и разработчики проектов с открытым исходным кодом.

Под катом обзор основных нововведений. (Осторожно, много картинок)
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments116

Конференция DEFCON 21. DNS может быть опасен для вашего здоровья. Часть 2

Reading time11 min
Views7.3K
Конференция DEFCON 21. DNS может быть опасен для вашего здоровья. Часть 1

При этом предполагалось, что границы домена организации – это foo.com и вы никогда не захотите использовать www.com. Microsoft изменила это поведение DNS, потому что, очевидно, не все организации имеют два уровня для доменных имён.



Если ваш домен верхнего уровня – Великобритания, то при соединении с конкретным доменом ad.foo.co.uk поведение DNS по умолчанию будет выглядеть так:



То есть запрос будет отсылаться за границы вашего доменного имени на www.co.uk. Поэтому был создан случайный хотфикс, исправление безопасности, сужающее организационные границы домена до 3-х, и в этом случае деволюция DNS останавливалась после второго запроса www.foo.co.uk.
Total votes 29: ↑26 and ↓3+23
Comments3

Запуск просмотрщика картинок из Windows XP на современных Windows

Reading time2 min
Views37K
Есть у меня папка со старыми картинками, которые я собирал в нулевых. Переношу с компьютера на компьютер вместе со всеми моими файлами при каждом апгрейде, изредка захожу поностальгировать. Но каждый раз меня немного смущало то, что стандартный просмотрщик Windows 7 не показывал GIF-анимацию, хотя память мне подсказывала, что во времена XP анимация показывалась без проблем. При очередном приступе ностальгии я всё же решил запустить просмотрщик из XP на Windows 7. После преодоления ряда препятствий, я теперь уверен — GIF-анимация там действительно поддерживалась! А главное — теперь я могу смотреть свою старую папку с картинками в аутентичном интерфейсе просмотрщика картинок Windows XP, что создаёт более подходящую атмосферу =)


Скачать: shimgvw_xp32.7z (включает бинарник и исходный код лаунчера, плюс shimgvw.dll из англоязычной Windows XP SP3).

Читать дальше →
Total votes 85: ↑84 and ↓1+83
Comments130

Transfer Learning: как быстро обучить нейросеть на своих данных

Reading time11 min
Views50K
Машинное обучение становится доступнее, появляется больше возможностей применять эту технологию, используя «готовые компоненты». Например, Transfer Learning позволяет использовать накопленный при решении одной задачи опыт для решения другой, аналогичной проблемы. Нейросеть сначала обучается на большом объеме данных, затем — на целевом наборе.

Food recognition

В этой статье я расскажу, как использовать метод Transfer Learning на примере распознавания изображений с едой. Про другие инструменты машинного обучения я расскажу на воркшопе «Machine Learning и нейросети для разработчиков».
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments8

Получение ссылок на аудио без VKApi

Reading time3 min
Views43K
Данная страница будет полезной для тех, кто решил взять заказ на парсер аудио-треков VK и резко понял, что ничего не понял.

В чем проблема


Знакомо?

https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu

Если да — то вы пытались парсить мобильную версию сайта и успешно доставали ссылки. Неверные ссылки. Ссылки на 25-секундный голос, сообщающий что все идет не по плану.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments41

Написание собственной работоспособной ОС за полгода

Reading time4 min
Views89K
image

Предыстория


Здравствуйте! Всех категорически приветствую, сегодня хотел бы рассказать Вам о своём опыте написание работоспособной ОС под архитектуру x86.

Как-то весенней ночью у меня родилась гениальная идея — попробовать себя в написании собственной ОС, которая может позволить запускать программы, работать с устройствами, да и в общем выжимать всю мощь из Intel'овской архитектуры в своих нуждах: к примеру, для своей фабрики или чего-либо иного. Моей целью было и есть написание такой ОС, которая могла бы позволить максимальную производительность для каких-то конкретных задач, не тратя процессорное время на всяческие излишества. В основном я преследую лишь спортивный интерес, получение опыта для себя в системном программировании и написания драйверов для устройств, которые используются повсеместно. Что из этого вышло — решать вам, сразу говорю, что не надо писать комментарии про создание собственного дистрибутива линукса, и преследовал интерес написать всё «From scratch» — с нуля, дабы хорошо погрузиться в тему ОСдева. Сразу хочу выразить огромную благодарность Бенджамину Лунту и форуму OSDev, так же как их Вики. Бен помог мне разобраться с EHCI, что несомненно внесло огромный вклад в мою ОС — USB устройства, они везде! Так же передо мной стояла задача создать собственную архитектуру, удобную мне, не исключая использование стандартов ELF-файлов.
Читать дальше →
Total votes 196: ↑187 and ↓9+178
Comments207

Дорогая, мы убиваем бесплатный текстовый контент

Reading time4 min
Views56K


Сегодня утром я в очередной раз просматривал иностранную прессу, шагал по ссылкам и читал новости. И в очередной раз я нарвался на требование оформить платную подписку на Wired, чтобы продолжить чтение. А потом на еще одном ресурсе. И на еще одном. Везде ситуация одинакова: у меня закончились бесплатные прочтения в этом месяце, хотя не сказать, чтобы я активно серфил и потреблял иностранные новости. Так, ограничиваюсь каналом addmeto в телеге да еще парой источников, если речь идет о развлечении.

Три-четыре года назад я постоянно закусывался в комментариях на тогда еще существовавшем GT с сектантами адблока, которые с гордостью вещали «я блочу все, что могу. Ибо нефиг!». Вещали они это громко, с выражением (которое было видно даже в печатном тексте), а таких как я, осторожно спрашивающих «А как будет жить журналистика без рекламодателей?», клеймили «продажными корпоративщиками» и отвечали, что мол-де «качественный контент всегда выплывет на любви аудитории».

Так вот немного поразмыслив сегодня утром над ситуацией, я осознал, что тот жуткий день, наступление которого я ждал еще с 2013-2014 годов, настал: мы, пользователи, убили бесплатный доступ к качественному контенту. Своими собственными руками. И все стремится к тому, что мы вовсе «пристрелим» концепцию бесплатного интернета. Пост будет небольшим, пятничным и посвященным исключительно тому, что мы натворили. С открытой концовкой, само собой.
Читать дальше →
Total votes 148: ↑91 and ↓57+34
Comments661

Вычисляем по IP: как бороться со спамом в социальной сети

Reading time19 min
Views40K
Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.


О спикере: Михаил Овчинников работает в Badoo и последние пять лет занимается антиспамом.

В Badoo зарегистрировано 390 миллионов пользователей (данные на октябрь 2017). Если сравнивать размер аудитории сервиса с населением России, то можно сказать, что в нашей стране по статистике каждых 100 млн человек охраняет 500 тысяч полицейских, а в Badoo каждые 100 млн пользователей защищает от спама всего один сотрудник Антиспама. Но даже такое небольшое количество программистов способно защитить пользователей от разных неприятностей в интернете.
Total votes 76: ↑72 and ↓4+68
Comments50

Взрывающие телефон

Reading time15 min
Views27K

Bob Gudgel, Jay Dee Pritchard, и John “Captain Crunch” Draper с bluebox,используемом для обмана телефонной системы для совершения бесплатных звонков, во время поездки в Duvall, Washington, 1971. Фото Bob Gudgel


Нерассказанные истории о подростках и хакерах которые взламывали Ma Bell


Когда компьютеры были большими, а деревья маленькими, до всех этих смартфонов, iPad’ов и планшетов, до времен Интернета или персональных компьютеров, группа технофилов, подростков, хиппи и преступников выяснила, как взломать самую большую в мире машину: телефонную систему.


Ниже приводится перевод отрывка из книги «Exploding the Phone», написанной Филом Лапсли (Phil Lapsley), в которой рассказывается история «телефонных фриков».


На заглавном фото: Bob Gudgel, Jay Dee Pritchard, и John “Captain Crunch” Draper с bluebox, используемом для обмана телефонной системы для совершения бесплатных звонков, во время поездки в Duvall, Washington, 1971. Фото Bob Gudgel.

Читать дальше →
Total votes 59: ↑45 and ↓14+31
Comments47

Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)

Reading time5 min
Views105K

Вместо вступления


Как обычно я предлагаю заняться странным — попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.


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

Прощай, объектно-ориентированное программирование

Reading time8 min
Views105K


Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным повторным использованием и прикоснуться к мудрости, накопленной моими предшественниками в этой новой и захватывающей сфере. Меня волновала сама мысль о том, что я могу мапить объекты реального мира в классы и думал, что весь мир можно аккуратно разложить по местам.

Я не мог ошибаться сильнее.
Читать дальше →
Total votes 225: ↑118 and ↓107+11
Comments329

Поле загрузки файлов, которое мы заслужили

Reading time10 min
Views126K
Все течет, все меняется, но только input[type=file] как портил нервы всем начинающим веб-разработчикам, так и продолжает это делать до сих пор. Вспомните себя N лет назад, когда вы только начинали постигать азы создания веб-сайтов. Молодой и неопытный, вы искренне удивлялись, когда кнопка выбора файла напрочь отказывалась менять цвет своего фона на ваш любимый персиковый. Именно в тот момент вы впервые столкнулись с этим несокрушимым айсбергом под названием «Загрузка файлов», который и по сей день продолжает «топить» начинающих веб-разработчиков.

На примере создания поля для загрузки файлов я покажу вам, как правильно прятать input[type=file], настраивать фокус на объекте, у которого фокуса быть не может, обрабатывать события Drag-and-Drop и отправлять файлы через AJAX. А также я познакомлю вас с парой браузерных багов и путями их обхода. Статья написана для новичков, но в некоторых моментах может быть полезна и занимательна даже для матерых разработчиков.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments19

Information

Rating
Does not participate
Registered
Activity