Pull to refresh
1
@iingvaarread⁠-⁠only

User

Send message

Владивосток: далёкий, праворульный, но всё равно «нашенский»

Reading time23 min
Views11K

Потрясающий город. Живой и зелёный. Сопки, острова и море вокруг просто ласкают взгляд, уставший от плоскости средней полосы. Гордо взмывают ввысь вантовые мосты. Чувствуется дыхание Азии. Совсем не таким я представлял наш рубежный город на Тихом океане и конец Транссиба. Но рельеф города, придающий ему столь неповторимый вид, и место расположения накладывают очень большие ограничения на градостроительную деятельность, развитие транспорта и систему водоснабжения. Во многом именно с ним связано превращение Владивостока в автомобильную столицу, бытовые неурядицы 1990-х гг. и значимость проведения саммита АТЭС в 2012 г. Но обо всём по порядку.
Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments49

МК-61: история, эмуляция, устройство

Reading time21 min
Views39K

Расцвет эпохи программируемых калькуляторов в нашей стране пришёлся на середину 80-х годов. Потом на смену относительно сытым и благополучным временам пришла эпоха бандитского капитализма, когда стране стало не до выпуска своей высокотехнологичной продукции бытового назначения, вот уже сменились поколения, но ностальгия по тем временам, когда мы бессонными ночами пытались сократить код программы хотя бы на пару байтов, чтобы уместить задуманную функцию, выискивали всё новые и новые недокументированные возможности, придумывая способы, как их можно использовать на практике, сочиняли целые циклы рассказов в качестве фона для наших игровых программ, не даёт забыть свой МК-61 со 105 байтами программной памяти. Поэтому хочу написать заметку о том, что собой представляли и как работали эти самые программируемые калькуляторы. Даже если эта тема сегодня периодически и поднимается, то не настолько часто, чтобы приесться уважаемому читателю, так что надеюсь поведать что-то новое.

Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments158

Изобретение линзы Френеля: революция в маяках и спасение жизней до появления GPS

Reading time10 min
Views14K

Сейчас, если вы потерялись в незнакомом городе или в лесу, вы быстро выйдете из ситуации при помощи GPS/Глонасс трекинга в том же смартфоне или другом гаджете. Конечно, если с покрытием или зарядкой всё нормально. Причём на суше у вас ещё попадаются ориентиры, которые упрощают жизнь.

Но если вы потерялись на море, то всё сложнее — перед вами только «синяя вечность», как пел Муслим Магомаев. Поэтому для морской навигации GPS стал настоящим прорывом. Теперь на кораблях действует система ECDIS, утверждённая международным сообществом и заменившая бумажные карты. Но 200 лет назад всё было не так радужно.

Представьте: глухая ночь, море штормит, и корабль пытается найти путь в гавань. Ни радаров, ни трекинга нет, а единственный ориентир — это свет маяка. Чем он сильнее, тем больше шансов у моряков не погибнуть, налетев на рифы, и безопасно добраться до пункта назначения. Именно поэтому изобретение линзы Френеля спасло сотни, если не тысячи жизней моряков задолго до GPS. Да и сейчас они используются в маяках по всему миру: только в США их 75 штук! Давайте посмотрим на историю этого удивительного открытия.

Читать далее
Total votes 77: ↑76 and ↓1+75
Comments35

Изобретение неодимового магнита: как Масато Сагава и Джон Кроат изменили современный мир

Reading time14 min
Views34K

Неодимовые магниты сейчас с отрывом самый распространённый тип постоянных магнитов, занимая порядка 95% всего мирового рынка. Правда, они не просто неодимовые — это сплав редкоземельного металла неодима, бора и железа (полная формула Nd2Fe14B).

Появление этой технологии в 80-х годах буквально перевернуло промышленность: начиная от приводов CD-проигрывателей или HDD накопителей, заканчивая серводвигателями, шаговыми двигателями и МРТ аппаратами. В ближайшие несколько лет ожидается, что объём продаж неодимовых магнитов перевалит за 20 млрд долларов в год, во многом за счёт массового перехода на электромобили.

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

Но с историей их открытия не всё так однозначно, и об этом до сих пор идут споры. Давайте посмотрим, как два человека, работая на противоположных уголках Земли, совершили революцию независимо друг от друга.

Читать далее
Total votes 125: ↑125 and ↓0+125
Comments115

Игра «Жизнь» в одном твите

Level of difficultyEasy
Reading time10 min
Views8.3K

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

В одно прекрасное воскресенье, потягивая пиво и размышляя о жизни, я вдруг подумал: а можно ли вместить JavaScript-реализацию игры «Жизнь» в один твит? И не смог устоять перед желанием попробовать свои силы. 

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments11

Вселенной на самом деле может быть не 13,8, а 26,7 миллиарда лет

Level of difficultyMedium
Reading time12 min
Views33K


По крайней мере, благодаря телескопу Джеймса Уэбба, у нас есть этому определенные доказательства. Мы начали видеть галактики, которым гораздо больше лет, чем может быть объяснено стандартной космологической моделью. Они выглядят чересчур «современными». Но у некоторых ученых есть объяснение: мы неверно понимаем текущий возраст Вселенной. На самом деле она гораздо старше, чем мы думали раньше.

Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments188

Вам нужно увеличить RAM и перейти на SSD…

Level of difficultyEasy
Reading time6 min
Views26K
…если вы всё ещё не сделали это.


Задумывались ли вы, хватает ли вашему компьютеру, локальному или удалённому серверу оперативной памяти? Задумывались, но не знаете, как это определить? А накопители какого типа вы предпочитаете? Надеемся, данная статья поможет вам в этом разобраться.
Читать дальше →
Total votes 71: ↑43 and ↓28+15
Comments230

Ищем простые числа до триллиона за тридцать минут

Reading time21 min
Views22K
image

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

Сегодня я хотел бы поделиться с вами различными вариантами реализации поиска простых чисел на языке C#, начиная с классических алгоритмов — решета Эратосфена, Сундарама и Аткина, и кончая различными оптимизациями (сегментация, факторизация). Особый упор я делал на простоту: самый быстрый из алгоритмов, который мне удалось получить, содержит 120 строк кода и ищет простые числа до триллиона меньше, чем за 30 минут, а до миллиарда — меньше, чем за секунду (это далеко от производительности лучших из существующих библиотек по поиску простых чисел, но эти библиотеки обычно содержат свыше 4000 строк кода).
В заключение мы применим самую быструю реализацию для поиска максимального расстояния между двумя соседними простыми числами до триллиона. Прежде чем заходить под кат, я предлагаю вам попытаться угадать ответ. Для сравнения, для простых чисел до 100 максимальное растояние равно 8 (между соседними простыми числами 89 и 97), а до тысячи — 20 (между 887 и 907).

Весь исходный код можно найти на гитхабе.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments14

Визуализация реальных масштабов проклятия размерности

Level of difficultyMedium
Reading time11 min
Views6.2K

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

Если N — величина небольшая — взаимоотношения между точками будут именно такими, какими их можно представить на интуитивном уровне. Но иногда N достигает огромных значений. Это может произойти, например, когда множество признаков создают посредством прямого кодирования или чего‑то подобного. Для очень больших значений N наблюдения ведут себя так, как если бы они были бы представлены разреженными данными, или так, как если бы расстояния между ними были бы несколько больше, чем можно было бы ожидать.

Это — реальное явление. По мере роста N, при условии, что всё остальное не меняется, объём части N‑мерного пространства, содержащий наблюдения, тоже, в некотором смысле, увеличивается (или, как минимум, увеличивается количество степеней свободы). Увеличиваются и евклидовы расстояния между наблюдениями. Группа точек становится всё более разреженной структурой. Это — геометрическая база для такого понятия, как «проклятие размерности». Подобные изменения в данных влияют на поведение моделей и на приёмы работы, применяемые к наборам данных.

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

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

Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса на чистом Python с GPU-ускорением

Reading time9 min
Views18K

Добрый день, уважаемые хабровчане.

Примерно год назад я начал проект симулятора динамики частиц на Python, используя библиотеку Numba для проведения параллельных расчетов на видеокарте. Сейчас, добравшись до определенной вехи в его развитии, я решил открыть исходный код и выложить его на GitHub для всех, кому интересны подобного рода эксперименты.

Самостоятельно потыркать проект можно вот тут: https://github.com/r-aristov/simba-ps

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

В глубины симуляции
Total votes 137: ↑137 and ↓0+137
Comments78

Технический долг захватил глобальную экономику

Level of difficultyEasy
Reading time8 min
Views44K
Технический долг стал проблемой для всей экономики

Термином «технический долг» обычно называют сокращённые или субоптимальные подходы в процессе разработки ПО. Проявляется он в виде неудачно спроектированного кода, устаревших компонентов и отсутствия документации. В то время, как правильно написанные код и документация служат бессрочно, компоненты и используемые подходы – нет. Программное обеспечение и его составляющие со временем могут становиться техническим долгом. Расцвет индустрии ПО пришёлся на далёкие 80-е годы, поэтому то, что мы сегодня начинаем сталкиваться с полностью устаревшими концепциями, процессами и системами, является относительно новым явлением.
Читать дальше →
Total votes 97: ↑84 and ↓13+71
Comments327

Купи доску и мотор

Level of difficultyEasy
Reading time5 min
Views17K

Уже больше года назад я прочитал статью https://habr.com/ru/companies/first/articles/662570/. Судя по комментариям она вызвала много разных эмоций, но лично меня эта статья вдохновила на создание для себя такой штуки. От себя лично я благодарю автора за эту статью.

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

Читать далее
Total votes 80: ↑78 and ↓2+76
Comments87

Гидрофойлы: лететь по белому свету — лететь куда-то вдаль…

Reading time7 min
Views12K


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

Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments48

Анонимная сеть в 200 строк кода на Go

Level of difficultyMedium
Reading time15 min
Views17K

Реализации анонимных сетей всегда стремятся быть как можно проще, доступнее для понимания, как на теоретическом, так и на программном уровнях. Такие условия становятся необходимыми вследствие одного из основных принципов построения безопасных программ — чем проще объяснить, тем легче доказать. Но к сожалению теория часто может расходиться с практикой, и то, что легко объяснить в теории, может быть проблематично объяснять на коде.

Вследствие этого, можно сказать just-for-fun, у меня появился вопрос: можно ли реализовать анонимную сеть настолько малую, чтобы её программный код смог понять даже начинающий программист за короткое время?

Читать далее
Total votes 21: ↑20 and ↓1+19
Comments11

Каково расстояние между «Будапештом» и «Бухарестом» или об отождествлении слов с помощью расстояния Левенштейна

Level of difficultyMedium
Reading time6 min
Views2.1K

Каждый из нас из школы помнит определение Евклидова расстояния между двумя точками на плоскости. С помощью расстояния Евклида можно вычислить расстояние между двумя точками на карте, например, между вашим местоположением и станцией метро. Но для пешехода в Нью-Йорке расстояние между двумя точками в городе будет отличаться от расстояния Евклида между двумя точками из-за невозможности передвигаться иначе, как по проезжим улицам, пересекающимся под прямыми углами. Такое расстояние так и называется: "расстояние городских кварталов" или манхэттенское расстояние. При любом способе расстояние характеризует меру близости точек. В сегодняшней статье мы расскажем о способах вычисления расстояния между двумя словами.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments13

Разделяй и властвуй. Повышение эффективности алгоритмов. Часть 1

Level of difficultyMedium
Reading time5 min
Views10K

Да, мы привыкли, что перемножение двух байт, или двух LONG это операция, которая происходит за константное время и не требует какого то особого алгоритма. Даже в школе мы учили наизусть таблицу умножения, что позволяло нам за константное время получить любой результат умножения двух чисел размером от 1 до 10.

Но, что если нам надо перемножить два числа любой длины? Не LONG, не байт, не число от 1 до 10, а любые два числа, которое, имеют в общем случае длину n бит, а результат умножения может иметь длину 2n бит.

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

Давайте применим его к нашей задаче.

В двоичной системе все выглядит проще, чем то, чему нас учили в школе для десятичных чисел. Берем два числа x и y в двоичном представлении. Чтобы получить произведение, нам надо сложить несколько раз числа x сдвинутые влево на позиции всех ненулевых битов y.

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments17

Unihiker: одноплатник с экраном за $75. Что это за девайс и какие у него возможности

Reading time3 min
Views17K
image

Одноплатные ПК крайне редко поставляются с экранами. Обычно дисплей приходится докупать. Но теперь появился необычный девайс, который представляет собой нечто вроде карманного компьютера уже из коробки. Самый его дорогой компонент — дисплей, поэтому разработчики стремились удешевить систему, чтобы удержать стоимость на отметке в $79. Соответственно, каких-то рекордов производительности от него ждать не приходится. Но все же это неплохой девайс, который может пригодиться многим из нас. Давайте посмотрим, что он из себя представляет.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments20

Что делать, если человечество не сможет создать искуственный интеллект никогда?

Level of difficultyEasy
Reading time9 min
Views9.4K

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

Сводится ли к конечному автомату человеческий интеллект? К сожалению, у человеческого интеллекта есть атрибут, природа которого современной науке неизвестна и который никогда не наблюдался у конечных автоматов, например у арифмометра. Этот атрибут - ощущение собственного "я", self-awareness. Конечно вы можете сделать в программе переменную "я_чувствую_собственное_я" и присвоить ей true, а потом утверждать, что вы симулируете собственное "я", но это жульничество, а не технология.

Я вовсе не пытаюсь нагонять мистику или агитировать за бога. Self-awareness наверняка такой же физический феномен, как какая-нибудь термоядерная реакция. Но скажем древние греки не знали природы термоядерной реакции. Наверное, они вели диалоги типа "если ты не веришь, что Солнце - просто большой костер из дров, то значит ты веришь в сказки про Зевса и других богов?"

Что же делать?
Total votes 33: ↑22 and ↓11+11
Comments126

Что сейчас происходит с климатом: 3 больших WTF

Reading time6 min
Views42K

По состоянию на 10 июня 2023 года мировые данные показали удивительное совпадение ряда драматических климатических явлений: сочетание многолетнего нагревания океана, вызванного энергетическим дисбалансом Земли, нагревание Антарктиды из-за увеличения площади непокрытого льдом океана, сдвигов ветров и нагревания поверхности из-за Эль-Ниньо, отсутствия пыли в Сахаре и ограничения на содержание серы в судовом топливе 2020 года в совокупности вызвали беспрецедентный нагрев поверхности океана.

Читать далее
Total votes 116: ↑98 and ↓18+80
Comments1042

Как выглядит край Вселенной?

Level of difficultyEasy
Reading time7 min
Views55K

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

Но в одном мы уверены точно: у Вселенной есть край. Только не в пространстве, а во времени. Поскольку горячий Большой взрыв произошёл в известное, конечное время в прошлом — 13,8 миллиарда лет назад, с неопределённостью менее 1% — существует «край» того, как далеко мы можем видеть. Даже при скорости света, предельной космической скорости, существует фундаментальный предел того, как далеко назад мы можем заглянуть. Чем дальше мы смотрим, тем дальше назад во времени мы заглядываем. И вот что мы видим, приближаясь к краю Вселенной.
Читать дальше →
Total votes 102: ↑99 and ↓3+96
Comments141
1
23 ...

Information

Rating
Does not participate
Registered
Activity