Как стать автором
Обновить

Присматриваемся к одноплатникам на RISC-V, обзор модуля Sipeed Lichee RV на процессоре Allwinner D1

Время на прочтение20 мин
Количество просмотров24K
Sipeed Lichee RV

Одноплатные компьютеры на RISC-V процессоре сравнительно новое веяние. Поднебесная активно работает над снижением зависимости от западных информационных систем и технологий, именно поэтому новая открытая архитектура RISC-V одна из ключевых ставок Китая. Для продвижения в массы китайский чипмейкер Allwinner на базе ядра Alibaba/T-Head Xuantie C906 RISC-V разработал процессор Allwinner D1 и упрощенную модификацию Allwinner D1s. На сегодня разработано несколько одноплатников на RISC-V процессоре, и в первенство по массовости вырвалась компания Sipeed с модульным компьютером Система-на-Модуле Lichee RV с 512 Мб ОЗУ всего за $16.90, работающим на Linux. Разработчик может спроектировать несущую плату для данного модуля, добавив необходимые периферийные устройства и разъемы. В результате получится решение максимально подготовленное для себя. Данный модуль предназначен для создания интеллектуальных информационных систем, терминалов, роботов, и т.д. В первой части рассмотрим архитектуру процессора, возможности модуля, дистрибутивы, программное обеспечение. Во второй части детально рассмотрим порты и интерфейсы для программирования, напишем программы на Python и C#.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии37

Создание платформера для виртуальной консоли TIC-80

Время на прочтение16 мин
Количество просмотров13K

8 Bit Panda, игра для вымышленной консоли TIC-80.

Это пост о том, как я написал 8-bit panda, простой платформер в классическом стиле для вымышленной консоли TIC-80.

Поиграть в готовую игру можно здесь.

Если вы любитель ретро-игр и вам нравится программирование, то есть вероятность, что вы уже знакомы с последним трендом: вымышленными консолями. Если же нет, то стоит посмотреть на их самых известных представителей: PICO-8 и TIC-80.

Я выбрал TIC-80, потому что она бесплатна и активно разрабатывается, имеет более широкое соотношение сторон экрана (240x136), чем PICO-8 и может выполнять экспорт на множество платформ, в том числе HTML, Android и двоичные файлы для PC.

В этой статье я расскажу, как я написал для TIC-80 простой платформер 8 Bit Panda.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии2

Злоумышленники используют Win32/Boaxxe.BE для организации кликфрода

Время на прочтение17 мин
Количество просмотров12K
В этом анализе мы хотим рассказать об интересном семействе вредоносных программ Win32/Boaxxe.BE, которое используется злоумышленниками для направления трафика на рекламные сайты с использованием различных техник кликфрода. Таким образом злоумышленники получают материальную выгоду от рекламодателя, который платит за клики. Первая часть анализа освещает инфраструктуру партнерской сети, которая используется для распространения этой вредоносной программы, во второй части мы сосредоточимся на технических аспектах вредоносного кода.



Дистрибуция и получение прибыли

Win32/Boaxxe.BE распространялся с сайта партнерской программы partnerka.me, который начал свою работу в сентябре 2013 г. Владельцы или клиенты партнерки (партнеры) платят злоумышленникам за установки этой вредоносной программы на компьютеры пользователей. На скриншоте ниже представлена панель управления одного из партнеров (т. н. филиал партнерки), который фиксирует статистику, связанную с дистрибуцией вредоносного кода.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии13

Tesla рассказала об архитектуре чипа D1 для суперкомпьютера Dojo

Время на прочтение4 мин
Количество просмотров2K

Tesla поделилась подробностями о собственном процессоре D1, который станет основой ИИ-суперкомпьютера Dojo. Компания рассказала об архитектуре, устройстве и возможностях нового чипа.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Критическая уязвимость CVE-2024-31497 в PuTTY версий от 0.68 до 0.80 позволяет провести компрометацию закрытого ключа

Время на прочтение3 мин
Количество просмотров6.4K

Разработчики клиента для различных протоколов удалённого доступа сообщили о критической уязвимости CVE-2024-31497 в PuTTY версий от 0.68 до 0.80, которая позволяет провести компрометацию закрытого ключа. В стабильной версии PuTTY 0.81 эта проблема устранена.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Tesla представила собственный аппаратный ускоритель нейросетей Dojo D1

Время на прочтение2 мин
Количество просмотров5.3K

Tesla представила чип Dojo D1 для обучения моделей искусственного интеллекта внутри своих центров обработки данных. Он выполнен на 7-нм техпроцессе и имеет вычислительную мощность 362 терафлопс.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии2

Nikon D800 анонсирован, где же Canon 5D Mark III?

Время на прочтение9 мин
Количество просмотров3.6K
Почти неделя прошла от анонса полнокадровой зеркалки Nikon D800. Почти всё, что ждали никонианцы почти год, в новом флагмане (полу)профессиональной линейки Никона воплощено. Японцы обещаю начать продажи нового чуда в середине марта. Во что, правда, верится с некоторым скрипом, после истории с задержкой выхода D7000.

А что же Canon?


Canon EOS 5D Mark III, анонс которого ждали не менее долго, так и не вышел из под покрова тайны. Придется брать дело в свои руки. Давайте пофантазируем, чем производители ремней с красной каймой, смогут ответить производителям ремней с каймой желтой.
Читать дальше →
Всего голосов 37: ↑22 и ↓15+7
Комментарии31

CP/M-80 на клоне Спектрума «Кворум»

Время на прочтение16 мин
Количество просмотров19K
У меня на окне на память лежит большая стопка пятидюймовых дискет от компьютера, который мне подарили родители в три года, и с которого я смог перелезть на PC только в 14. Это «Кворум-128», наш, уральский клон Спектрума. Клон довольно интересный и существенно отличавшийся от, например, уральского же «Магика». С магнитофоном он работал, как любой другой Спектрум, но при подключении Кворумовского же контроллера дисковода — не так-то просто его было достать! — он умел работать в ОС CP/M-80. Вот об этой ОС и ее реализации на «Кворуме» я и хочу сегодня рассказать.



Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии33

Сравнили 80-ядерный ARM-процессор Ampere Altra с AMD EPYC и довольны результатом. Протестируйте и вы

Время на прочтение8 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В нашей лаборатории мы изучаем новое железо в экспериментальных сборках, а также предлагаем его на тест клиентам Selectel.

На этот раз к нам попал сервер GIGABYTE E252-P30 с 80-ядерным процессором от Ampere Altra Q80-30. Этот ARM-процессор уже отметился характеристиками: процессоры с таким числом ядер с частотой 3.0 ГГц при TDP в 210 Вт не предлагает ни один «звездный» вендор.

Прогнали этот сервер через ряд тестов и сравнили с наиболее близким по характеристикам AMD EPYC 7513. Под катом — результаты бенчмарков и предложение протестировать процессор бесплатно.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии11

How to Learn Python FREE in 8-Week: The 80/20 Learning Plan

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.2K

I know it can be hard to learn a new programming language. In this article, I want to share my plan with you. It's a way to learn Python in eight weeks using videos, articles, and practice exercises. Exercises are very important because I think the best way to learn is by doing them.

I've created this learning plan for people who don't have much free time. You only need about 30-50 minutes a day and consistency. In my plan, I use the 80/20 principle, which will help you learn the most important things first and improve the rest through practice.

For those who read this article to the end, I have prepared a learning tracking sheet to help you track your progress.

Read more
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

«In the World of Hackers, Be a Knight»: решаем задачи с CTF-турнира

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.2K

Привет, Хабр! Я Иван, занимаюсь информационной безопасностью в Selectel. Недавно прошел CTF-турнир KnightCTF 2024, который организовали cybersecurity-энтузиасты из Бангладеша. В течение одного дня участники со всего мира решали более 40 задач из разных категорий. Спойлер: это оказалось не так уж и сложно. Под катом делюсь, как решил некоторые из них.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии2

All hail bug reports: how we reduced the analysis time of the user's project from 80 to 4 hours

Время на прочтение8 мин
Количество просмотров606

0885_SupportAndAnalyzerOptimizations/image1.png


People often see work in support as something negative. Today we'll look at it from a different perspective. This article is about a real communication of 100+ messages, exceptions, the analysis that didn't complete in three days...

Read more →
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

SameSite=Lax по умолчанию — уже в Chrome 80 stable (правда, пока не у всех)

Время на прочтение4 мин
Количество просмотров56K
На днях внимательная коллега (спасибо, Лена) зарепортила странный баг — сервер нормально ставил куку в браузере, но обратно она не прилетала. Днём ранее всё работало, теперь же кука выставлялась, но спустя несколько секунд магическим образом пропадала (хотя должна держаться сутки). Воспроизводилось это всего у нескольких человек в команде и только в новом Chrome 80, но у остальных в Chrome точно такой же версии всё было в порядке. В других браузерах всё работало как часы. Мистика. Начали разбираться, и спустя какое-то время в консоли Chrome заметили предупреждение для заголовка ответа, устанавливающего куки:
A cookie associated with a cross-site resource at _your_domain_ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`.

Начали изучать что это такое, и постепенно стало понятно, как ошибка возникла и почему проявлялась не у всех. Поскольку наш сервис должен обрабатывать запросы с разных доменов, то SameSite — как раз наш случай. Добавили SameSite=None; Secure, и проблема для нас решилась.

Почему так?

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

Пишем интерпретатор BASIC в стиле 80-х

Время на прочтение22 мин
Количество просмотров9.3K


В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным компьютерам 1980-х и 90-х.

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

Когда появился @bbcmicrobot, я захотела создать нечто подобное для Retroputer. Мои навыки разработки на JS в основном ограничивались фронтендом, поэтому это будет отличным поводом получить опыт бэкенда. Только есть одна проблема: Retroputer может понимать только собственный язык ассемблера. Пока у него нет поддержки BASIC.

Так я и пришла к созданию интерпретатора BASIC в стиле 80-х, то есть полностью на языке ассемблера, как его тогда и писали. Я решила, что стоит поделиться своей работой, потому что нам не часто приходится погружаться в области, столь далёкие от привычных абстракций. Мой повседневный инструмент (JavaScript) делает многие аспекты тривиальными, и иногда это даже кажется магией. Понимание самого нижнего уровня процессов часто помогает в понимании этих абстракций.

Итак, давайте приступим.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии5

How to crack a self-service terminal and why 80% of them are under threat

Время на прочтение2 мин
Количество просмотров2.9K
Author of the original post in Russian: frsamara

I always loved playing with things and testing them under all sorts of wacky conditions as a kid and even considered getting a job as a tester, but I never did. Nevertheless, I still like taking things made by someone else and poking them for vulnerabilities.

I remember, when first self-service payment terminals started popping around town, I saw one of them put up a browser window while updating, and the game was on — I broke it almost immediately. There’s been a lot of discussion about it since then and developers have started to pay a lot more attention towards security in these machines.

Recently, fast-food joints have started installing these terminals. Obviously, it’s quite convenient: just tap a couple of virtual buttons, place an order, pay with a bank card and wait for your number to show on the screen.

Also, nearly every big mall has these interactive boards with floor plans and information on various sales and discounts.

How secure are they?
Read more →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Поисковый движок в 80 строках Python

Время на прочтение11 мин
Количество просмотров11K

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

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

В этом посте я подробно расскажу о процессе создания поискового движка с нуля на Python. Как обычно, весь написанный мной код можно найти в моём GitHub (репозиторий microsearch). Эта реализация не будет притворяться готовым к продакшену поисковым движком, это лишь полезный пример, демонстрирующий внутреннюю работу поискового движка.

Кроме того, мне стоит признаться, что в заголовке поста я слегка преувеличил. Да, поисковый движок действительно реализован примерно в 80 строках Python, но я ещё и писал вспомогательный код (краулер данных, API, HTML-шаблоны и так далее), из-за которого весь проект становится немного больше. Однако я считаю, что интересная часть проекта находится в поисковом движке, который состоит из менее чем 80 строк.

P.S. Написав этот пост и microsearch, я осознал, что пару лет назад нечто похожее написал Барт де Гёде. Моя реализация очень похожа на работу Барта, но я считаю что кое-что улучшил, в частности: (1) мой краулер асинхронный, что сильно ускоряет работу, (2) я реализовал пользовательский интерфейс, позволяющий взаимодействовать с поисковым движком.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии4

Низкоуровневое обнаружение Wi-Fi устройств в домашней сети

Время на прочтение10 мин
Количество просмотров22K

Чтобы сделать собственное уникальное устройство для «умного дома» сейчас достаточно купить микроконтроллер и электронные компоненты. Конечно, на рынке уже есть множество «умных» устройств, но не все производители предоставляют открытое API, и уж точно единицы разрешают (или по крайней мере не запрещают) создавать собственные прошивки. Иногда наступает тот момент, когда кажется, что разработать и запрограммировать собственное устройство будет лучшим решением.

В этой статье я расскажу про несколько способов «‎научить» микроконтроллер распознавать присутствие людей дома исключительно с помощью Wi-Fi.
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии21

Решение проблем с портами в Apache в Windows

Время на прочтение3 мин
Количество просмотров188K
Уже не раз сталкивался с проблемой, что Apache не может запустится из-за того, что другой процесс уже использует 80 порт. Собственно после долгого и мучительного серфинга по просторам русскоязычного, а потом и англоязычного интернета насобирал всесозможные способы устранения и причины появления данной проблемы. Эти самые причины и способы их решения и хочу перечислить здесь.

(OS 10048) Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down


Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии13

Программирование на Python и установка Docker для Sipeed Lichee RV RISC-V

Время на прочтение15 мин
Количество просмотров9.1K
Lichee RV

В первой части познакомились с процессором Allwinner D1 на RISC-V архитектуре, рассмотрели возможности, поработали с одноплатным компьютером Sipeed Lichee RV. Старый образ операционной системы содержал многие недоработки, которые не позволяли полностью оценить работу одноплатника. В продолжение рассмотрения Lichee RV, возьмем новый образ Ubuntu, построенный на последнем ядре Linux 5.19, окончательный выпуск которого ожидается в конце июля 2022 года. Поработаем с GPIO из Python`а и установим Docker. Теперь полноценно протестируем новый образ, проверим на что способна плата и начнем уже программировать на Python.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии6

Трекинг украденного велосипеда по протоколу NB-IoT

Время на прочтение3 мин
Количество просмотров19K


Интернет вещей проникает повсюду, даже в велосипеды. Вы можете своими руками смастерить маленький трекер с поддержкой протокола NB-IoT. В любой момент этот гаджет ответит на ваш запрос через интернет и сообщит GPS-координаты велосипеда. И что самое приятное, такой трекер работает целый год на одной батарейке. И это ещё не предел: другие сенсоры NB-IoT могут работать до десяти лет на одном заряде. Низкое энергопотребление — главное преимущества велосипедного трекера NB-IoT перед стандартными решениями GSM/GPS. Наш прибор большую часть времени проводит в спящем режиме и потребляет минимум энергии.
Читать дальше →
Всего голосов 27: ↑19 и ↓8+11
Комментарии88
1
23 ...