Pull to refresh
-10
0
Send message

Лучшие эмуляторы игровых консолей для Linux

Reading time8 min
Views63K


Представляю третью часть подборки по эмуляторам игровых приставок. В первой части собраны наиболее популярные эмуляторы под Android. Во второй части — эмуляторы под Windows. А сейчас — эмуляторы приставок под Linux. Как и в предыдущих двух частях, здесь собраны проверенные временем и пользователями программы.

Если в подборку случайно что-то не попало, пишите об этом в комментариях. Пропущенный эмулятор будет добавлен в основной материал.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments20

Немного про кино или как делать интерактивные визуализации в python

Reading time5 min
Views70K


Введение


В этой заметке я хочу рассказать о том, как можно достаточно легко строить интерактивные графики в Jupyter Notebook'e с помощью библиотеки plotly. Более того, для их построения не нужно поднимать свой сервер и писать код на javascript. Еще один большой плюс предлагаемого подхода — визуализации будут работать и в NBViewer'e, т.е. можно будет легко поделиться своими результатами с коллегами. Вот, например, мой код для этой заметки.


Для примеров я взяла скаченные в апреле данные о фильмах (год выпуска, оценки на КиноПоиске и IMDb, жанры и т.д.). Я выгрузила данные по всем фильмам, у которых было хотя бы 100 оценок — всего 36417 фильмов. Про то, как скачать и распарсить данные КиноПоиска, я рассказывала в предыдущем посте.


Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments8

«В одной корзине»: Немного о хранении кода

Reading time6 min
Views12K
Эффективное хранение данных интересует абсолютно всех, кто хоть как-то связан с ИТ. Мы в IaaS-провайдере 1cloud постоянно анализируем опыт коллег — совсем недавно мы обсуждали, как хранят свои данные крупные компании.

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



/ фото Dennis Skley CC
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments2

«Поговорим об этом»: Работа проектировщика

Reading time7 min
Views9.1K
На этой неделе мы постарались системно рассмотреть, кто, зачем и как проектирует UX. Сегодня мы решили продолжить эту тему в свете редизайна нашего сервиса Печкин-mail.


Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments7

Расшифровка базы данных KeePass: пошаговое руководство

Reading time9 min
Views92K

image


На днях мне нужно было реализовать расшифровку базы данных KeePass. Меня поразило то, что нет ни одного документа и ни одной статьи с исчерпывающей информацией об алгоритме расшифровки файлов .kdb и .kdbx с учетом всех нюансов. Это и побудило меня написать данную статью.


На данный момент существует 2 версии KeePass:


  • KeePass 1.x (генерирует файлы .kdb);
  • KeePass 2.x (генерирует файлы .kdbx).

Структура файла с базой данных KeePass (.kdb, .kdbx) состоит из 3 частей:


  • Подпись (не зашифрована);
  • Заголовок (не зашифрован);
  • Данные (зашифрованы).

Далее я подробно расскажу о том, как дешифровать базу данных KeePass 1.x и KeePass 2.x.

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

Security Week 33: отключение Secure Boot, сортировка адресатов в GMail, последствия TCP-бага в Linux

Reading time6 min
Views10K
На этой неделе по ландшафту угроз бурным потоком разлилась река политики. Тема безопасности и так политизирована донельзя, но если вам вдруг кажется, что уже как-то многовато, то спешу вас расстроить. Все только начинается. 13 августа анонимы, скрывающиеся под псевдонимом ShadowBrokers, выставили на продажу арсенал инструментов, предположительно использовавшихся в кибершпионской кампании The Equation. Напомню, исследование этой атаки опубликовали в феврале прошлого года эксперты «Лаборатории», назвав ее «Звездой смерти из галактики вредоносного ПО». Было за что: впечатляет как длительность кампании (с 2001 года, а может и раньше), так и сложность и широкая функциональность инструментов для взлома и кражи данных. Ну и технический уровень заодно, вплоть до помещения вредоносного кода в прошивку жестких дисков.

Распродажа устроена по лучшим стандартам коммерческого делопроизводства: «шлите деньги, а мы подумаем». Но помимо обещаний, в сеть был выброшен набор файлов, явно вырезанный из чьей-то среды разработки: немножко кода, немножко скриптов, документации и так далее. Если не вестись на поводу у СМИ, которые всю неделю обсуждают версии авторства утечки — то, что априори невозможно подтвердить фактами, про ShadowBrokers можно определенно сказать следующее. Во-первых, имплементация алгоритмов шифрования RC5 и RC6 в утечке совпадает с таковой у The Equation. Это позволяет с определенной долей уверенности говорить, что связь между, строго говоря, кодом, обнаруженным в сети сейчас и пару лет назад, имеется. Подробнее с примерами тут. Во-вторых, в утечке обнаружены реальные уязвимости в устройствах Cisco (очень подробно написано у них в блоге) и Fortinet.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments9

Зачем нам jQuery?

Reading time6 min
Views61K
Здравствуйте, дамы и господа! Вот уже без малого десять лет минуло с первого релиза библиотеки jQuery, и мы решили отряхнуть пыль веков с классики. Подумываем о выпуске третьего издания гусарской баллады об этой библиотеке:


Чтобы пояснить, чем она нас привлекает в эпоху Node и ES6 (у нас в ассортименте и этого добра навалом) предлагаем познакомиться со статьей Коди Линдли, вышедшей вскоре после вышеупомянутого третьего издания
Читать дальше →
Total votes 50: ↑40 and ↓10+30
Comments64

JavaScript выходит за пределы Web в 2015 году

Reading time8 min
Views20K
2015 год был значимым годом для Интернета вещей. Мы увидели огромный прогресс в размере и возможностях устройств, большие игроки, такие как Microsoft и Samsung, в буквальном смысле продвигаются в космос и всё IoT сообщество начинает ещё больше разрастаться. В течение двух последних лет здесь, на SitePoint, для меня стало чем-то в роде традиции делать обзор года в ракурсах IoT и JavaScript (см. JavaScript выходит за пределы Web и JavaScript выходит за пределы Web в 2014). Хотя изначальная популярность и ажиотаж вокруг JavaScript, как языка для IoT, похоже немного поутихли за 2015 год, JavaScript всё ещё продолжает позиционироваться как довольно-таки сильный способ для задействования магии на большем числе IoT платформ, чем это себе представляют люди.

В этом обзоре мы рассмотрим некоторые значимые продвижения в IoT, которые раскрывают новые возможности для JavaScript разработчиков и будущий потенциал JavaScript за пределами Web.
Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments40

Мониторинг лог-журналов: Такой уязвимый лог или как подложить свинью коллегам

Reading time11 min
Views20K

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


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


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


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


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

Люди, включайте мозг ...
Total votes 36: ↑36 and ↓0+36
Comments18

Что такое шаблоны проектирования?

Reading time11 min
Views80K
Вы когда-либо задавались вопросом, что такое шаблоны проектирования? В этой статье будет разъяснено, почему шаблоны проектирования имеют существенное значение, и будет приведено несколько примеров на PHP, поясняющих, когда и где их следует использовать.

Шаблоны проектирования — это допускающие многократное использование оптимизированные решения проблем программирования, с которыми мы сталкиваемся каждый день. Шаблон проектирования — это не класс или библиотека, которые мы можем просто вставить в нашу систему. Он — много больше. Это — некоторый шаблон, который должен быть реализован в надлежащей ситуации. Он не зависит от языка. Хороший шаблон проектирования должен быть таким, чтобы его можно было использовать с большинством языков (если не со всеми) в зависимости от характеристик языка. Чрезвычайно важно то, что любой шаблон проектирования необходимо использовать очень осторожно — если он применён в ненадлежащем месте, то его действие может быть разрушительным и породить много проблем для вас. Однако применённый в нужном месте в нужное время он может стать вашим спасителем.
Читать дальше →
Total votes 35: ↑22 and ↓13+9
Comments75

Проект Wikiverse: визуализация информационной вселенной Википедии

Reading time2 min
Views9.9K


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

Авторы проекта Wikiverse решили наглядно показать связи между разделами, подразделами и отдельными статьями Википедии. Для этого была создана визуальная модель информационной вселенной Википедии. Вся онлайн-энциклопедия (англоязычная версия) представлена в виде шара, внутри которого размещаются созвездия и кластеры созвездий — статьи схожей тематики. Это могут быть материалы об определенном времени истории человечества, изобразительном искусстве, сфере технологий или любых других темах.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments6

Такой синий и белый Марс

Reading time1 min
Views18K


В начале августа на сайте телескопа HiRISE, стоящего на марсианском орбитальном зонде Mars Reconnaissance Orbiter появилась аж тысяча свежих фотографий. И если при взгляде издалека Марс кажется равномерно красным или оранжевым, то вблизи он смотрится гораздо более разнообразной планетой.
Несколько симпатичных примеров
Total votes 43: ↑43 and ↓0+43
Comments50

Забудьте про иностранные языки и музыку — учите детей программированию

Reading time6 min
Views35K
Дж. Пол Гибсон начал преподавать программирование тинейджерам от досады. Преподаватель информатики в Государственном университете Ирландии, к 1998 году он был по горло сыт невежеством своих студентов. «Я наблюдал 18- и 19-летних, с трудом усваивающих элементарные концепции программирования, которые я освоил в 12 лет, — вспоминает Гибсон, самостоятельно научившийся программировать на Sinclair ZX81. — Я осознал, что до сих пор не видел программирования в школьной программе, и подумал, что, может быть, одна из наших проблем состоит в том, что мы подходим к нему слишком поздно.» Когда молва о курсе Гибсона распространилась, начальные школы в окрестностях Дублина тоже заинтересовались его услугами.

К началу 2000-х Гибсон использовал задачки из области разработки игр для обучения восьми- и девятилетних детей основам Java. Его успех в этой возрастной группе вызвал к жизни вопрос: а в каком, собственно, возрасте чересчур рано программировать?
Читать дальше →
Total votes 34: ↑23 and ↓11+12
Comments76

Как определить уровень ИТ-зрелости своей компании — и какие они бывают

Reading time5 min
Views88K


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

Первый уровень — это когда:
  • ИТ-отдел работает без распределения обязанностей и специализаций. Все отвечают за всё (точнее, ни за что), принцип выбора исполнителя — «Вася, ты свободен, ну, сделай им там».
  • Ответственности нет: если Вася забыл, непонятно, кому писать, непонятно, как и что на что влияет, пользователи вообще не разбираются, кто и что делает. И иногда бьются в истерике.
  • Документации нет.
  • Автоматизации нет (либо есть на уровне списка задач в блокноте).
  • Пользователи почти всё решают по личным знакомствам, обращаясь к тем, кто им уже один раз помог.

На втором уровне появляется базовое распределение обязанностей и вычленение логичных последовательностей действий.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments32

Сам себе дизайнер. Тестируем 7 онлайн-сервисов для создания визуального контента

Reading time9 min
Views19K
Сделали разные картинки по одному техническому заданию с помощью семи самых популярных сервисов для создания визуального контента и рассказываем о плюсах и минусах каждого из них.

Из-за обилия сервисов для создания и обработки изображений, начинает казаться, что в 2016 году уже не обязательно быть профессиональным дизайнером, чтобы сделать картинку для соцсетей, статьи или даже инфографику. Достаточно сформулировать идею и обладать вкусом (или, опять же, воспользоваться дополнительными сайтами по подбору сочетаемых цветов и шрифтов, фотостоками) — и вперёд! К тому же есть проверенные временем форматы, которые практически в любой ситуации будут в тему: атмосферные картинки с надписями-цитатами, например.


А чтобы определиться, куда конкретно «вперёд» (какую ссылку вбивать в адресную строку), мы тестируем 7 самых популярных сервисов для создания визуального контента.


image
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments8

Используем Secure Boot в Linux на всю катушку

Reading time17 min
Views116K


Технология Secure Boot нацелена на предотвращение исполнения недоверенного кода при загрузке операционной системы, то есть защиту от буткитов и атак типа Evil Maid. Устройства с Secure Boot содержат в энергонезависимой памяти базу данных открытых ключей, которыми проверяются подписи загружаемых UEFI-приложений вроде загрузчиков ОС и драйверов. Приложения, подписанные доверенным ключом и с правильной контрольной суммой, допускаются к загрузке, остальные блокируются.


Более подробно о Secure Boot можно узнать из цикла статей от CodeRush.



Чтобы Secure Boot обеспечивал безопасность, подписываемые приложения должны соблюдать некоторый «кодекс чести»: не иметь в себе лазеек для неограниченного доступа к системе и параметрам Secure Boot, а также требовать того же от загружаемых ими приложений. Если подписанное приложение предоставляет возможность недобросовестного использования напрямую или путём загрузки других приложений, оно становится угрозой безопасности всех пользователей, доверяющих этому приложению. Такую угрозу представляют загрузчик shim, подписываемый Microsoft, и загружаемый им GRUB.


Чтобы от этого защититься, мы установим Ubuntu с шифрованием всего диска на базе LUKS и LVM, защитим initramfs от изменений, объединив его с ядром в одно UEFI-приложение, и подпишем его собственными ключами.

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

Трёхпозиционный checkbox (aka tristate) без скриптов и смс

Reading time2 min
Views32K
Понадобилось мне недавно реализовать трёхпозиционный переключатель. Ну это такой, у которого вместо двух состояний «включено/выключено», есть ещё промежуточное состояние. Это часто используется, например, в чекбоксе «выбрать всё», для того чтобы показать, что выбраны не все элементы, а только часть. В общем, захотелось такое реализовать, да чтобы без скриптов.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments29

Кто строит термоядерный реактор

Reading time6 min
Views36K
We say that we will put the sun into a box. The idea is pretty. The problem is we don't know how to make the box.
 
Pierre-Gilles de Gennes
Французский нобелевский лауреат
 


Всем электронным устройствам и машинам нужна энергия и человечество потребляет её очень много. Но ископаемое топливо заканчивается, а альтернативная энергетика пока что недостаточно эффективна.
Есть способ получения энергии, идеально подходящий всем требованиям – Термоядерный синтез. Реакция термоядерного синтеза (превращение водорода в гелий и выделение энергии) постоянно происходит на солнце и этот процесс дает планете энергию в виде солнечных лучей. Нужно только имитировать его на Земле, в меньшем масштабе. Достаточно обеспечить высокое давление и очень высокую температуру (в 10 раз выше, чем на Солнце) и реакция синтеза будет запущена. Чтобы создать такие условия, нужно построить термоядерный реактор. Он будет использовать более распространенные на земле ресурсы, будет безопасным и более мощным чем обычные атомные станции. Уже больше 40 лет предпринимаются попытки его строительства и ведутся эксперименты. В последние годы на одном из прототипов даже удалось получить больше энергии чем было затрачено 1. Наиболее амбициозные проекты в этой сфере представлены ниже:
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments40

У искусственного интеллекта проблемы с языком

Reading time14 min
Views20K

Понимающие язык машины были бы очень полезны. Но мы не знаем, как их построить.




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

В разгар напряжённой игры в го, шедшей в Сеуле в Южной Корее между Ли Седолем, одним из лучших игроков всех времен, и программой AlphaGo, ИИ, созданным в Google, программа сделала загадочный ход, продемонстрировавший её вызывающее оторопь превосходство над человеческим соперником.

На 37-м ходу AlphaGo решила положить чёрный камень в странную на первый взгляд позицию. Всё шло к тому, что она должна была потерять существенный кусок территории – ошибка начинающего в игре, построенной на контроле за пространством на доске. Два телекомментатора рассуждали о том, правильно ли они поняли ход компьютера и не сломался ли он. Оказалось, что, несмотря на противоречие здравому смыслу, 37-й ход позволил AlphaGo построить труднопреодолимую структуру в центре доски. Программа от Google по сути выиграла игру при помощи хода, до которого не додумался бы ни один из людей.

Победа AlphaGo впечатляет ещё и потому, что древнюю игру го часто рассматривали как проверку на интуитивный интеллект. Правила её просты. Два игрока по очереди кладут чёрные или белые камни на пересечения горизонтальных и вертикальных линий доски, пытаясь окружить камни противника и удалить их с доски. Но хорошо играть в неё невероятно сложно.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments94

Спросите Итана №82: почему все планеты находятся в одной плоскости?

Reading time5 min
Views56K

Возможности почти безграничны, но почему же всё выстраивается в линию?




Надежда – это не убеждение в том, что всё закончится хорошо, но уверенность в наличии у происходящего смысла, вне зависимости от результата.
— Вацлав Гавел

На этой неделе мне прислали много прекрасных вопросов, и выбор у меня был большой. Но, вдогонку к двум недавним вопросам про то, почему все планеты вращаются в одну и ту же сторону и почему наша Солнечная система необычна, я выбрал вопрос от Ника Хэма, который спрашивает:
Почему все планеты вращаются примерно в одной плоскости?

Если подумать обо всех возможностях, это действительно кажется маловероятным.
Total votes 49: ↑46 and ↓3+43
Comments48

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Registered
Activity