Pull to refresh
11
0

some kind of a crab.

Send message

Философия математики

Reading time5 min
Views70K
image Карл Гаусс, в своё время, назвал математику царицей всех наук, отдавая ей особое место в сфере человеческого знания. Действительно, совершенно непохожая на другие науки, она скорее служит для них языком или методом изучения. Являясь, пожалуй, самой строгой из всех наук, она не имеет собственного строгого и общепринятого определения. На протяжении всей своей истории, преобразуясь сама, преобразовывалось и понятие о математике. Учёные, в течении всего развития математики, смогли составить скорее не определения математики, а набор афоризмов характеризующий её или представления о ней.
«Математика — это язык, на котором написана книга природы»(Г. Галилей)
«Математика – это наука о необходимых заключениях»(Б. Пирс)
«Математика – это строгий язык, служащий для перехода от одних опытных суждений, к другим»(Н. Бор)
«Математика – это иерархия формальных структур»(Н. Бурбаки)
«Математика — это наука о количественных отношениях и пространственных формах действительного мира»(А. Колмогоров)
— это лишь малая часть суждений, показывающая разнородность представлений о математике. Помимо вопроса определения математики, интересными и дискуссионными являются вопросы о её природе(основаниях), её методологии, целях и связи с реальным миром. Ответы на них также неоднозначны и значительно изменялись со временем, создавая различные философские течения.
Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments16

Новая редакция популярного бесплатного учебника электроники, архитектуры компьютера и низкоуровневого программирования

Reading time3 min
Views136K
Господа! Только что на сайте Imagination Technologies вышло исправленное издание бесплатного учебника на русском языке «Цифровая схемотехника и архитектура компьютера» Дэвида Харриса и Сары Харрис (кстати, они не супруги и вообще не родственники – просто так совпало). Предыдущее издание этого учебника вышло год назад, пост о нем собрал 145,000 просмотров на Хабре, количество скачиваний с британского сайта вызвало у его британских админов подозрение, что их атакуют русские хакеры, а впоследствие команду переводчиков лично благодарили за учебник преподаватели МФТИ, МВТУ им. Баумана, харьковского ХНУРЭ и других университетов.

silicon_russia_ad_selected_160730_174932

Книжка содержит «введение во все», доступное способному школьнику или младшему студенту, который после ее прочтения может спроектировать, написать на SystemVerilog или VHDL и реализовать на ПЛИС несложный, но при этом совершенно настоящий конвейерный процессор. Книга написана живым языком и для введения концепций, например конечных автоматов, использует примеры типа:


Читать дальше →
Total votes 75: ↑73 and ↓2+71
Comments90

Теория вычислений. Введение в конечные автоматы

Reading time5 min
Views91K
Спойлер
Cкажу cразу, что не буду объяснять слишком формально.

Конечные автоматы (finite-state machine)


Это до предела упрощенная модель компьютера имеющая конечное число состояний, которая жертвует всеми особенностями компьютеров такие как ОЗУ, постоянная память, устройства ввода-вывода и процессорными ядрами в обмен на простоту понимания, удобство рас­суждения и легкость программной или аппаратной реализации.

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

У конечных автоматов имеется таблица переходов, текущее состояние автомата, стартовое состояние и заключительное состояние.

Таблица переходов — В ней хранятся переходы для текущего состояния и входного символа. Простейшая реализация может быть как двумерный массив.

Пример 1
  • По горизонтали вверху находятся возможные входные символы.
  • По вертикали слева находятся текущие возможные состояния.

image

Здесь видно, что из состояния 0 в состояние 1 можно попасть только, если у нас будет входной символ 'a', из состояния 1 в состояние 2, если символ 'b'.


Текущее состояние — множество состояний в котором автомат может находиться в данный момент времени.

Стартовое состояние — состояние откуда КА начинает свою работу.

Заключительное состояние — множество состояний в которых автомат принимает определенную цепочку символов, в ином случае отвергает.
Read more →
Total votes 19: ↑19 and ↓0+19
Comments8

Учёные создали графеновый транзистор с частотой работы 427 ГГц

Reading time3 min
Views93K
К сожалению, в отличие от обычных полупроводников, находящих широкое практическое применение, графен, материал, на который в последнее время возлагаются большие надежды, не имеет запрещённой зоны, что означает сложности или полную невозможность построения транзистора нового поколения на его основе. Гуаньсюн Лю и его коллеги заявили, что они нашли обходной путь, отличный от используемого в обычных транзисторах.

За последние пять десятков лет развитие кремниевой электроники во многом происходит благодаря уменьшению отдельных компонентов на кристалле. Однако, всему есть свои пределы, и эксперты считают, что подобное продлится не далее 2026 года. Учёные всего мира находятся в активном поиске материала, способного заменить кремний, и часто взоры обращаются на графен.

В полупроводниках, используемых в транзисторах, существуют, как и в любых твёрдых материалах, зона энергии, в которой электроны могут свободно течь, что делает их проводником и «открывает» их, и зона, в которой их движение невозможно, что вызывает «закрытие». Для открытия и перехода в состояние зоны проводимости требуется относительно малое количество энергии. Именно эти свойства определяют принципы и характеристики полупроводниковых транзисторов. Однако, отсутствие у графена запрещенной зоны серьёзно ограничивает его использование в качестве транзистора: у графена нет областей энергии, которыми не может обладать электрон в кристалле. На практике это означает невозможность «отключить» графеновый транзистор.
Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments37

Макросы для питониста. Доклад Яндекса

Reading time8 min
Views15K
Как можно расширить синтаксис Python и добавить в него необходимые возможности? Прошлым летом на PyCon я постарался разобрать эту тему. Из доклада можно узнать, как устроены библиотеки pytest, macropy, patterns и как они добиваются таких интересных результатов. В конце есть пример кодогенерации с помощью макросов в HyLang — Lisp-образного языка, бегущего поверх Python.


— Привет, ребята. Хочу в первую очередь поблагодарить организаторов PyCon. Я разработчик в Яндексе. Доклад будет совсем не про работу, а про экспериментальные вещи. Возможно, кого-то из вас они наведут на мысль, что в Python можно делать клевые штуки, о которых вы раньше даже не догадывались, не мыслили в эту сторону.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments8

Обработка ошибок в Rust

Reading time32 min
Views39K

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



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



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


Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments73

Rust и парадокс Блаба

Reading time11 min
Views32K

Несколько недель назад я наткнулся на сравнительный анализ Rust, D и Go от Андрея Александреску. Андрей, уважаемый член сообщества C++ и главный разработчик языка программирования D, нанес Rust сокрушительный удар под конец своего повествования, высказав нечто, что выглядит довольно проницательным наблюдением:



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



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

Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments134

Несколько подводных камней статической типизации в Python

Reading time5 min
Views38K


Думаю, мы все потихоньку уже привыкаем, что у Python есть аннотации типов: их завезли два релиза назад (3.5) в аннотации функций и методов (PEP 484), и в прошлом релизе (3.6) к переменным (PEP 526).


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


Disclamer: я не поднимаю вопрос о необходимости или вредности статической типизациии в Python. Просто рассказываю о подводных камнях, на которые натолкнулся в процессе работы в статически-типизированном контексте.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments13

Как «научиться учиться» — советы, рекомендации и научные исследования

Reading time6 min
Views135K

Часть 1. «Очевидные» советы


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

Все это, безусловно, хорошо, но чем конкретно эти прописные истины могут помочь студенту? Как организовать режим дня так, чтобы больше успевать и лучше запоминать материал? Есть ли реальная связь между чувством жажды и когнитивными способностями? Правда ли, что спорт помогает в учебе (и речь не только о дополнительных баллах к ЕГЭ за значок ГТО)?

Попробуем разобраться со всем ниже.

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments18

Евгений Варавва, разработчик в Google. Как описать Google в 5 словах

Reading time14 min
Views16K

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


Наверное, Google — для каждого свой. Для каждого наблюдателя — сотрудника, независимого разработчика и админа, конкурента, просто человека интересующегося IT-тематикой, пользователя в сети, вбивающего в адресную строку браузера google.com.


Я познакомился c Евгением Вараввой, разработчиком широкого профиля в Google (Сан-Франциско), на Слёрме SRE — он там вовсю с удовольствием запутывал участников задачками, неожиданными багами и проблемами учебного проекта.


А после, когда начали расставлять столы, усталые участники прощаться друг с другом, сотрудники Слёрма убирали провода, роутеры и сетевые удлинители, я пригласил Евгения поговорить — каким он видит Google. Изнутри. И изменилась ли его ощущение и точка зрения за десяток лет работы в компании.


Что получилось — читайте…



Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments9

Пиши, не сокращай. Чего мне стало не хватать в публикациях Хабра

Reading time2 min
Views30K
Избегаем оценочных суждений! Дробим предложения. Выкидываем ненужное. Не льем воду.
Факты. Цифры. И без эмоций.

«Информационный» стиль, прилизанный и гладкий, накрыл технические порталы с головой.
Привет постмодерн, теперь наш автор мертв. Уже взаправду.


Читать дальше →
Total votes 262: ↑233 and ↓29+204
Comments184

Язык программирования Zig

Reading time14 min
Views38K

Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на нишу C++, D и Rust. Посмотрел — язык показался симпатичным и в чем-то интересным. Приятный си-подобный синтаксис, оригинальный подход к обработке ошибок, встроенные сопрограммы. Данная статья является кратким обзором официальной документации с вкраплениями собственных мыслей и впечатлений от запуска примеров кода.
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments44

Как развивались комментарии к коду с 1940-х до 2020 года

Reading time4 min
Views10K
А никак они не развивались. С самых первых языков программирования и по сей день комментарии коду — это всего лишь статичный текст (за некоторыми исключениями, о которых я расскажу).

image

Ну а что там еще можно улучшить или придумать — спросите вы. Давайте поразмышляем на эту тему — можно ли как-то улучшить наш опыт взаимодействия с таким важным но так часто игнорируемым аспектом программирования как документация в коде, или по-простому комментарии.
Читать дальше →
Total votes 45: ↑33 and ↓12+21
Comments26

Мой подход по управлению временем/задачами используя VSCode

Reading time14 min
Views16K

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


Так происходило и со мной: на протяжении последних десяти лет я пробовал различные сервисы и программы по управлению временем/задачами, читал море статей по этой теме, но всё как-то не мог найти свой идеальный подход до последнего времени. Последние пару лет я пришел к тому, что начал использовать Visual Studio Code (VSCode) и расширение Org Mode для управления временем и задачами. В этой статье я расскажу, как я это делаю. Не скажу, что я стал супер высокоэффективным, но эффект чувствуется.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments50

Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

Reading time5 min
Views37K

С чего всё началось


Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

image
Картинка взята с lenovo.com

Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

Одна только проблема – программа под Windows, а хочется чтоб в любимом линуксе всё работало. И лампочки чтоб светились, и чтоб цвета красивые мелькали. Да вот только как это сделать, чтоб без реверс-инжиниринга и без написания своих драйверов? Простой ответ пришёл быстро – никак. Ну что ж, пошли писать драйвер.
Читать дальше →
Total votes 133: ↑132 and ↓1+131
Comments20

32 января

Reading time5 min
Views22K


Часть 1


Праздничное настроение отгудело. Астрономы занялись обычной работой.


13 января 2020 года мимо Земли пролетает огромное космическое тело размером с Нептун. Что это было так никто и не понял, потому что появилось и исчезло космическое тело ровно из ниоткуда. Уфологи, физики и астрономы долго спорили о природе возникшего явления. Уфологи выдвигали идеи о том, что некий космический корабль пришельцев совершил гиперпрыжок в пространство возле Земли, понял, что промахнулся и лететь нужно дальше и провёл гиперпрыжок снова. В пользу этой теории говорили записи с некоторых устройств, записывающих радиоэфир. Физики и астрономы пытались оспорить мнение, указывая на сильные пульсации, зафиксированные приборами. К тому же, корабли подобного размера построить просто немыслимо. С Земли его видно не было. Фотографий из космоса сделать никто не смог. Да и вряд ли бы успел. Тело возле Земли появилось всего на 10 минут. Приборы конечно отработали мгновенно, но вот люди не сразу сообразили что происходит и куда смотреть. Обозвали странное тело "Чеширским котом".

Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments70

Боевой арсенал Erlang разработчика

Reading time4 min
Views22K
Доброе время суток, уважаемая аудитория хабра.

В данной публикации я хотел описать свой опыт перехода с корпоративного Java на Erlang.

Погружения в Erlang в первом приближении

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

После довольно продолжительного времени Java/Python разработки, я решил кардинально изменить сферу деятельность и открыл для себя Erlang.
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments19

Я в одиночку отрефакторил 15 тысяч строк легаси. Это были худшие две недели в жизни

Reading time10 min
Views102K


Несколько месяцев назад я работал в аутстафе. Это не то место, где нужен энтузиазм и вера в великую цель проекта. Меня вместе с командой просто продавали заказчикам, а на митингах было важно, сколько тикетов я закрыл. Приступы перфекционизма — скорее вредная штука для такого места, но я ничего не мог с ними сделать. За один из них я знатно поплатился, попал в адский кранч и провел худшие две недели в моей жизни.
Читать дальше →
Total votes 427: ↑369 and ↓58+311
Comments401

Нетоксичное лицемерие

Reading time8 min
Views84K
Программистам сызмальства внушают важность технических навыков, забывая научить тактично общаться с окружающими. Наша конкурентная среда богата вызовами и достижениями. Это рождает комплексы равно как и высокомерие. Неудивительно, что в IT остро стоит проблема токсичности.

Я немного утомлен частотой ее появления в жизни. Трудно выразить мнение так, чтобы не вляпаться в очередную попытку выяснить, было ли грубым сказанное.
Читать дальше →
Total votes 208: ↑169 and ↓39+130
Comments727

Борьба Firefox за будущее веба

Reading time7 min
Views17K

В ситуации, когда Google со своим Chrome доминирует на рынке, его некоммерческий конкурент Mozilla делает ставку на успешное возвращение с упором на конфиденциальность




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

В реальности две трети пользователей перешли на Google’s Chrome, однако в вопросе выбора браузера есть такой момент, как открытость сети и то, какие данные о пользователях он собирает. Подобные вопросы на передний план всегда выставляла такая организация, как Mozilla.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments22
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity