Обновить
2
0

Пользователь

Отправить сообщение

О видеоиграх как об искусстве и культуре

Время на прочтение8 мин
Охват и читатели6.2K

Немного истории.  Еще в 2011 году в США видеоигры были официально признаны отдельным видом искусства правительством США и американским Национальным фондом. Как только это произошло, все местные разработчики получили доступ к получению государственных грантов. Компьютерные игры встали в один ряд с театром, кино, скульптурой, живописью и прочим. А независимые разработчики получили финансовую поддержку для своих концептуальных проектов. О том, заслуживают ли компьютерные игры такого гордого звания, или это попытка геймеров приобщить свое хобби к полезному провождению времени – знакомству с искусством, в то время не писал только ленивый. Однако факт остается фактом. Но можно разобраться, что же приобщает любимую многими сферу развлечений к искусству.

Читать далее

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

Время на прочтение17 мин
Охват и читатели26K

Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не означает «совсем уж медленный», и посмотрим на приёмы программирования на Scheme, что, как мне кажется, можно сравнить с путешествием на экзотический остров.

Читать далее

SQLite — не игрушка

Время на прочтение7 мин
Охват и читатели91K

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее

Положение дел у Windows: сколько разношёрстных уровней UI в Windows 10?

Время на прочтение5 мин
Охват и читатели53K

Все мы слышали байку: если в Windows 10 копнуть достаточно глубоко, можно найти элементы, относящиеся еще ко временам Windows 3.x. Но так ли это на самом деле? В этой статье мы узнаем, сколько уровней пользовательского интерфейса присутствует в Windows и когда они были впервые представлены.

Откопать старый UI

Заметки о SQL и реляционной алгебре

Время на прочтение12 мин
Охват и читатели107K


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

Зачем это может быть нужно сегодня? Не только специалистам по анализу данных и администраторам баз данных приходится работать с данными, фактически мало кому не приходится что-то извлекать из (полу-)структурированных данных или трансформировать уже имеющиеся. Для того, чтобы иметь хорошее представление почему языки запросов устроены определенным образом и осознанно их использовать нужно разобраться с ядром, лежащим в основе. Об этом мы сегодня и поговорим.

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

Содержание



Читать дальше →

Существует ли идеальный мир, в котором живёт наша душа? 10 научных взглядов на природу сознания

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


Действие фильма Кристофера Нолана “Начало” происходит во сне.

Хорошо, вы когда-нибудь задумывались о том, где находиться то самое место из сна? Можно ли показать его на карте? Ваше тело посапывает в кровати. Вы не знаете, что спите, не можете сказать, где находиться ваше тело — у себя дома, в гостях или в отеле на берегу мексиканского залива. Мир вашего сна кажется совершенно реальным, однако из чего он состоит? Есть ли в мире снов масса и энергия, состоит ли он из молекул? Можно считать мозговую активность спящего человека, но невозможно проникнуть в мир его сна. Невозможно пронести измерительные научные приборы в мир нашей ментальности. Как получается так, что во сне люди могут летать? Быть может, парить способна ваша душа?

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

Выходит, что мы постоянно живём в мире нашего сознания. Все наши успехи и неудачи по жизни продиктованы качеством модели нашего внутреннего мира.

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

У людей есть базовое качество – заблуждаться. Люди придумали тысячи ненаучных психологий и религий, мистики и эзотерики. Как определить, когда мы правы, а когда ошибаемся? Какая психология полезна, а какая вредна? Только научный подход позволяет нам избегать ошибок. Однако настоящий научный подход может быть похож на мистику. Как это происходит, например, с квантовой механикой. Так что же говорит наука о нашем сознании?

Когда даже очень умные и хорошо образованные люди говорят о сознании, то они часто придерживаются какой-то одной точки зрения, которая для них кажется очевидной только потому, что они не знакомы с другими взглядами. Отсюда рождаются много предрассудков. Однако существуют кардинально различные подходы к загадке сознания. Эти взгляды часто удивительны и неожиданны.
Читать дальше →

Как работает реляционная БД

Время на прочтение51 мин
Охват и читатели581K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Как я с лёгкостью сделал винтовку AR-15, которую невозможно отследить

Время на прочтение9 мин
Охват и читатели69K


Это моё «оружие-призрак» (ghost gun) — термин, придуманный поборниками контроля за распространением оружия, и подхваченный любителями оружия. Это полуавтоматическая винтовка без серийного номера, о которой не знают органы охраны правопорядка. А привязанность, которую я к ней испытываю, проистекает из того факта, что я сделал её сам, в мастерской офиса WIRED.

Я справился практически в одиночку. У меня не было никаких знаний, касающихся оружия, а навыки по работе с инструментами были не лучше, чем у кроманьонца. При этом я сделал металлическую, работающую винтовку AR-15. Точнее, я сам сделал «ствольную коробку» (lower receiver) — основу конструкции, ту часть, которую законы США определяют, как «огнестрельное оружие». Всё, что мне нужно было для проекта — 6 часов, понимание компьютерных программ на уровне пятиклассника, кусок алюминия стоимостью $80 и безликий автоматический фрезерный аппарат Ghost Gunner.

Ghost Gunner — фрезерный станок стоимостью $1500, управляемый компьютером. Его продаёт компания Defense Distributed, выступающая за доступность оружия. Она стала известна в 2012 — 2013 годах, когда начала печатать первый пистолет на 3D-принтере, известный, как Liberator. И пока все вокруг спорили насчёт политических и законодательных вопросов, касающихся этой идеи, DD перешла с пластика к металлу.

Ghost Gunner вырезает объекты из алюминия на основе компьютерной модели. Первые поставки этого агрегата начаты этой весной. Группа DD хочет облегчить людям задачу изготовления частей оружия из материала, сравнимого по прочности с промышленными образцами.
Читать дальше →

Использование замыканий и функций высших порядков в Delphi

Время на прочтение10 мин
Охват и читатели19K
Данная статья является продолжением предыдущей публикации, которая была посвящена анонимным методам. В этот раз речь пойдет о примерах использования функций высших порядков и замыканий, показавшихся автору интересными.
Читать дальше →

Использование анонимных методов в Delphi

Время на прочтение8 мин
Охват и читатели35K
Поводом для написания статьи стал интерес к возможностям анонимных функций в Delphi. В разных источниках можно найти их теоретические основы, информацию о внутреннем устройстве, а вот примеры использования везде даются какие-то тривиальные. И многие задают вопросы: а для чего вообще нужны эти reference, какая может быть польза от их применения? Поэтому предлагаю некоторые варианты использования анонимных методов, применяемые в других языках, возможно, более ориентированных на функциональный стиль программирования.
Читать дальше →

MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование

Время на прочтение22 мин
Охват и читатели7.6K
Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey
Часть 3.1. По мотивам GUIRunner
Часть 4. Serialization

Здравствуйте, дорогие хабровчане.

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

Сейчас наш проект выглядит так:


Читать дальше →

Не пельменем единым жив программист или история о том, как все успеть

Время на прочтение7 мин
Охват и читатели143K
image

По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.

На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
Читать дальше →

Почему свет движется со скоростью света?

Время на прочтение5 мин
Охват и читатели88K
(Прим. пер. ― см. прим. пер. в конце поста)

Почему свет движется со скоростью света? Почему он просто не стоит на месте? Что приводит его в движение (тем более, такое быстрое)?

image

Всё и везде, просто по факту своего существования, «движется» со скоростью света (которая на самом деле не имеет ничего общего со светом). Да, это касается и вас тоже. Вот прямо сейчас.

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

В нашей будничной жизни мы исходим из того, что движение — это некое расстояние (пространство), преодоленное за некое время. Однако, если мы решили, что это одно и то же, наше определение движение внезапно становится полной ерундой. «Я прохожу километр за каждый километр, который я прохожу» — кошмар какой-то!

Читать дальше →

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Охват и читатели817K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста

Работаем с КОМПАС 3D из DELPHI

Время на прочтение8 мин
Охват и читатели7.7K
imageimageПриветствую тебя, %username%.
Куда нас только не закидывает судьбинушка. С какими только порождениями ума человеческого не приходится сталкиваться. Вот и мне пришлось копнуть тему, касаемую API Компас от Аскон.
Информации по данной теме я нашёл не достаточно. Нулевому разработчику даётся SDK Help и ряд примеров, всё в комплекте с программой.
Поддержка на форуме http://forum.ascon.ru/index.php/board,4.0.html — практически никакая (на 80% вопросов пользователи отвечают сами себе).
Но программа всё-же достаточно популярная (Особенно честно взломанные версии), посему вопросы задаются. Чтобы как то помочь тем, кто волею судеб (злого рока, руководства, либо истеричного заказчика) столкнётся с данным продуктом, эта статья.
Тут я выложу «прожиточный минимум», старт, оттолкнувшись от которого, можно писать не самые плохие программы, да и зарабатывать при желании, как показала практика.
Читать дальше →

Папа, а почему на ноль делить нельзя?

Время на прочтение6 мин
Охват и читатели240K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →

Полуавтоматическая регистрация юнит-тестов на чистом С

Время на прочтение4 мин
Охват и читатели9K
После прочтения книги Test Driven Development for Embedded C я начал знакомство с миром юнит-тестирования с фреймворка cppUtest. Не в последнюю очередь потому, что в нем свеженаписанный тест регистрируется и запускается самостоятельно. За это приходится платить — использованием C++, динамическим выделением памяти где-то в глубинах фреймворка. Может быть, можно как-то попроще?
Совсем недавно я узнал о минималистичном фреймворке minUnit, который умещается всего в 4 строчки.
Читать дальше

Биохакинг сна: подтверждённые наукой советы

Время на прочтение11 мин
Охват и читатели295K


Сон до сих пор является одной из величайших загадок для науки, как гравитация и квантовое поле. Мы до сих пор не понимаем, для чего именно мы спим, хотя всё больше узнаём об этом. Ниже собраны советы для тех, кто долго не может уснуть, часто просыпается, не чувствует себя отдохнувшими наутро, или просто хочет улучшить качество своего сна.
Читать дальше →

Создаем Splash Screen на Delphi

Время на прочтение4 мин
Охват и читатели20K
image
Если при загрузке программы, показывается Splash Screen (это небольшое окно с картинкой), то к таким программам пользователи относятся лучше, чем программам, при запуске которых несколько секунд ничего не происходит.
В интернете есть много примеров изготовления Splash Screen-а в Delphi, однако обычно это квадратная форма с натянутой на ней картинкой.
Но у многих программ это не квадратная форма, а красивое окно со сглаженными краями.
Я пытался сделать такое окно с помощью регионов, но края были неровные и смотрелись неказисто.
Выходом стали «Слоистые окна» (LayeredWindow).
Читать дальше →

Как перестать программировать на Delphi и начать жить

Время на прочтение4 мин
Охват и читатели90K
Если ты, %username%, едва прочитав заголовок этой статьи, чувствуешь butthurt стойкое неприятие к автору, если слова «TForm1», «circular reference» и «Access violation» для тебя не пустой звук, если после очередного холивара в уголке сознания снова зашевелился червячок — эта статья для тебя.

С завидной регулярностью появляются новые статьи как сторонников так и противников Delphi, и неизменно с новой силой разгорается холивар. И если лет 10-15 назад холивар назывался «Delphi vs C++», то теперь фронт переместился вплотную к окопам сторонников бывшего Borland и спор идет уже в рамках «Delphi vs не-Delphi». Даже самые упрямые последователи Н.Вирта иногда задумываются, почему вдруг стали изгоями и чудаками в сообществе программистов?
Если ты, читатель, все же считаешь что ничего кроме Delphi тебе не нужно для работы, сравни хотя бы вилки зарплат для вакансий Delphi и той же Java. Появилось желание изучить что-нибудь кроме Delphi? Я расскажу с чего начать на основе собственного опыта.
Читать дальше →

Информация

В рейтинге
5 630-й
Зарегистрирован
Активность