Архив за 06 декабря 2018 - 4

Существуют различные способы обработки ошибок в языках программирования:

  • стандартные для многих языков исключения (Java, Scala и прочий JVM, python и многие другие)
  • коды статуса или флаги (Go, bash)
  • различные алгебраические структуры данных, значениями которых могут быть как успешные результаты так и описания ошибок (Scala, haskell и другие функциональные языки)

Исключения используются очень широко, с другой стороны о них часто говорят, что они медленные. Но и противники функционального подхода часто апеллируют к производительности.

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

Сразу отбросим использование кодов и флагов, так как этот подход не принят в JVM языках и по моему мнению слишком подвержен ошибкам (прошу прощения за каламбур). Поэтому будем сравнивать исключения и разные виды АТД. Кроме того АТД можно рассматривать как использование кодов ошибок в функциональном стиле.

UPDATE: к сравнению добавлены исключения без стек-трейсов

Читать полностью »

Су-57 получит новую гиперзвуковую ракету

Как сообщает ТАСС со ссылкой на собственный источник в оборонно-промышленном комплексе, разработку нового боеприпаса уже включили в государственную программу вооружений на 2018−2027 годы. Основная особенность новой ракеты — более компактные по сравнению с «Кинжалом» габариты, благодаря которым она будет размещаться во внутренних отсеках истребителя Су-57, а не на внешней подвеске.

Читать полностью »

Коллекционирование старых устройств часто вызвано ностальгией по ушедшим временам. Но этого устройства в начале двухтысячных у меня не было, и быть не могло. Альфасмарт Дана — это самый большой «карманный компьютер» на базе Палм ОС, почти идеальная пишущая машинка на батарейках, уникальный девайс, мимо которого я просто не мог пройти.

Древности: AlphaSmart Dana, дзен и искусство ухода за пальмой - 1

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

Дана для этого идеально подходит: без интернета, инстаграмма и прочих отвлекающих факторов, это чистый писательский дзен. Который в моем случае был слегка подпорчен проблемами с руcификацией. Я не видел статей, в которых опыт использования Даны по-русски был бы обобщен, так что этот пост — в некотором смысле премьера. И да, текст полностью написан на устройстве, обзор которого вы сейчас читаете.
Читать полностью »

Недавно у нас в блоге вышел весьма специфичный пост про Котлин: не очень серьезный, довольно поверхностный и неожиданно бодрый. Но мы прекрасно понимаем, что критиковать технологию, потратив на её изучение несколько дней, — это моветон. И поэтому в этот раз мы решили поговорить о Котлине с человеком, который пишет на нем на проде с версии 1.0.

Kotlin, IT в Эстонии и (внезапно) туннель между Таллином и Хельсинки: интервью с Антоном Кексом - 1

Сегодня названием Kotlin уже сложно кого-то удивить, особенно в Android-разработке. То ли дело в начале 2016-го: востребованность была на порядок ниже, об официальной поддержке Google ещё и речи не шло, и писать на Kotlin было уделом смелых духом. Одним из таких смельчаков стал Антон Кекс, и впоследствии он тоже уделял Kotlin много внимания (например, дважды выступал на KotlinConf). Поэтому мы решили расспросить его о том, как жизнь Kotlin-разработчика менялась со временем.

А чтобы два раза не вставать, охватили и другую тему. Антон — сооснователь эстонской компании Codeborne, практикующей extreme programming, поэтому заодно узнали, что в Эстонии с IT и каково создавать там собственную компанию.
Читать полностью »

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

Мелкий, но вредный UI интернет-магазина. Как испортить репутацию сразу всем товарам на сайте? - 1

Вы бы купили такую книгу?

Читать полностью »

Russian AI Cup 2018: CodeBall. Зрелищное 3D соревнование - 1

С 2012 года ежегодно проводится соревнование Russian AI Cup по написанию искусственного интеллекта и ботов, которые ожесточенно сражаются в виртуальном мире вместо своих владельцев. За все прошлые чемпионаты на платформе зарегистрировалось более 40 000 пользователей, которые прислали нам более 150 000 различных решений. Каждый новый чемпионат — это новая игровая задача со своими правилами, законами и механикой. Стараемся постоянно вносить новые идеи и фичи, чтобы игры из года в год становились еще более интересными и зрелищными, развивая наш мотор под капотом проекта и делая всё во славу нашего сообщества.

Этот год не стал исключением. Mail.Ru Group в сотрудничестве с Codeforces.com официально объявляют о датах чемпионата Russian AI Cup 2018 под названием CodeBall.

Итак, поехали!
Читать полностью »

В базе данных тестового пакета Geekbench появились результаты тестирования смартфона Huawei P Smart (2019), который должен прийти на смену оригинальной модели, выпущенной в начале этого года.

Смартфон проходит под модельным номером Huawei POI-LX1, он оснащен восьмиядерной однокристальной системой, работающей на частоте 1,7 ГГц. По информации источников, речь идет о HiSilicon Kirin 710. Объем оперативной памяти составляет 3 ГБ. Смартфон работает под управлением операционной системы Android 9.0 Pie.

Simple direct-mapped cache simulation on FPGA


This article is a part of a course work for first year bachelor students of Innopolis University. All work is done in a team. The purpose of this article is to show an understanding of the topic, or to help to understand it using simulation.


Git repository link


Principle of work but from the user side should look like:

  • To write any data in memory, you need to access the RAM with data and address in which we want to write.
  • To access the data, we have to adress to cache. If the cache cannot find the necessary data, then it accesses the RAM by copying data from there.

When working with Verilog, it should be understood that each individual block of the program is represented as a module. As you know, the cache is not an independent part of fast memory, and for its proper operation it needs to take data from another memory block — RAM. Therefore, in order to simulate the work of the cache at the FPGA, we have to simulate whole RAM module which includes cache as well, but the main point is cache simulation.

The implementation consists of such modules:

  • ram.v — RAM memory module
  • cache.v — Cache memory module
  • cache_and_ram.v — module that operates with data and memory.
  • testbench.v and testbench2.v — module to show that main modules work perfectly.

Читать полностью »

Ещё раз о будущих процессорах AMD: от двухъядерных Duron до 64-ядерных Ryzen Threadripper

Компания AMD сейчас готовит новые настольные процессоры Ryzen 3000-й серии, и постепенно они обрастают всё большим количеством слухов и утечек. Мы уже разобрали одну крупную порцию слухов о будущих процессорах AMD, и почти сразу же после этого в Сети появилась новая информация, которая выглядит несколько реалистичнее, и охватывает все настольные процессоры AMD следующего поколения.

Читать полностью »

Принадлежащий французской автомобилестроительной компании Groupe PSA немецкий автопроизводитель Opel начнет выпускать электрическую версию своего фургона Vivaro и электромобиль Mokka X в 2020 году. Об этом концерн сообщил сегодня.


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js