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

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

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

Заземление. Что это такое и как его сделать (часть 1)

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


Мой рассказ будет состоять из трёх частей.

1 часть. Заземление
(общая информация, термины и определения)


2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


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

Если читатель обладает теоретическими знаниями и интересуется только практической реализацией — ему лучше пропустить первую часть и начать чтение со второй части.

Если читатель обладает необходимыми знаниями и хочет познакомиться только с новинками — лучше пропустить первые две части и сразу перейти к чтению третьей.

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

Некоторая часть текста является компромиссом между точностью и желанием объяснить “человеческим языком”, поэтому допущены упрощения, могущие “резать слух” технически подкованного читателя.

Читать дальше →
Всего голосов 199: ↑183 и ↓16+167
Комментарии217

Новый принцип кодирования информации для получения субъективной реальности в искусственных нейронных сетях

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

В статье в общих чертах дан анализ двух типов информации – простой и субъективной, рассмотрено различие понятий интеллекта и воспринимающего сознания. Описаны некоторые логические функциональные особенности сознания. Предложен подход технического получения субъективной информации за счет изменения временной степени свободы сигнала на пространственную. С целью получения функции «наблюдателя» в системе, и проявляемых относительно него информационных сигналов, выполняющих роль субъективных ощущений. Решение данной проблемы может дать новый подход к конструированию сильного искусственного интеллекта и пролить свет на трудную проблему сознания.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии63

Непреходящая красота космоса

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


У космических фотографий есть любопытное свойство. Вроде бы ты видел что-то похожее уже много раз, но все равно они красивы. Даже если на какое-то время теряешь к ним интерес, он все равно возвращается. Тем более, что космические агентства стараются радовать нас все новыми качественными фотографиями. Достаточно давно NASA переехало со своего портала на Flickr, затем за ним последовал Роскосмос. Предлагаю вашему вниманию подборку фотографий с обоих аккаунтов.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии31

The Hidden Wiki: как всё устроено

Время на прочтение4 мин
Количество просмотров101K
Наверняка каждый из вас, кто сталкивался с сетью TOR, слышал о The Hidden Wiki. The Hidden Wiki — это основной каталог ресурсов .onion в самых разных областях. Что важно отмечено создателями — размещаемые ссылки в каталоге не проходят никакой цензуры, однако на самом деле это не так, но об этом позже. Многие, кто впервые начинают пользоваться сетью TOR, изначально обращаются к Hidden Wiki и начинают изучение сети Onion именно отсюда. В этой статье я расскажу, как Hidden Wiki обманывает пользователей и монетизирует весь свой трафик.
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии12

Бутылка, конденсирующая воду из воздуха, вскоре поступит в продажу

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


Еще в январе на Geektimes публиковалась информация о бутылке Fontus, которая умеет конденсировать влагу из окружающего воздуха. Причем «производительность» этой бутылки достаточно хорошая: 0,5 литра в час в идеальных условиях (это влажность 80-90% и температура 30-40ºC). Работает это все благодаря конденсации. Разработчик использует набор гидрофобных поверхностей, отталкивающих воду. Вода при движении бутылки конденсируется на этих поверхностях, а затем стекает в бутылку. Такая бутылка, по замыслу автора, может быть использована велосипедистами — воздух на скорости проходит через поверхности «ловушки», и отдает воду.

Разработчик создал и вторую модель бутылки, для пешеходов. Эта бутылка действует точно так же, только оснащена вентилятором, прогоняющим воздух через фильтр и конденсационные камеры. В камерах на воздух и воду действуют охладители, благодаря чему образуется конденсат, стекающий в ту же бутылку. Модель может использоваться туристами, моряками, альпинистами, рыбаками и т.п. Предусмотрена и возможность растворять в воде различные витамины и минеральные добавки.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии109

Вы все еще храните 404backup.zip на сервере? Я на 200ДА

Время на прочтение2 мин
Количество просмотров42K
Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга.

В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403.

Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404.
Читать дальше →
Всего голосов 137: ↑125 и ↓12+113
Комментарии79

Как повысить уверенность в том, что кнопка была нажата живым пользователем на сайте и избавиться от капчи?

Время на прочтение6 мин
Количество просмотров35K
Капча всем известна. Также всем известно, что она представляет собой большую проблему и для программистов и для пользователей. Она ни тем ни другим не нравится! Ее приходится использовать по необходимости!

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

Последний предлагаемый метод спорный, но судите сами!
Читать дальше →
Всего голосов 46: ↑30 и ↓16+14
Комментарии78

Качественный квадрокоптер за 30$? Посмотрим на SYMA X13

Время на прочтение3 мин
Количество просмотров27K
Компания Syma уже не раз радовала нас своей продукцией. Легендарный Syma X5, который познакомил с миром квадрокоптеров десятки тысяч людей. Так же вы можете помнить о крохотном Syma X12, о котором уже хорошо отзывались на GeekTimes. А на прошлой неделе мы рассказывали о Syma X5SW, который так же порадовал нас своими характеристиками. Поэтому, когда в наших руках появился Syma X13, мы ожидали увидеть ещё один качественный продукт от Syma.


Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии14

Тест Linux на качество звука, а есть ли BitPerfect?

Время на прочтение6 мин
Количество просмотров29K
В прошлом материале про работу основных принципов звуковой подсистемы на примере Windows, в комментариях вызвало негативную реакцию утверждение автора, что качественный звук в Linux, соответствующий принципу BitPerfect (передача данных «бит в бит”) является лишь предположением, а как оно на самом деле, достоверно не знает никто из-за отсутствия такой проверки.



В этом материале мы такую проверку как раз и сделаем, расставив все точки над «i».
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии54

Транзисторный усилитель класса А своими руками

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


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии79

Детальный взгляд на наследие Лейбница

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

Перевод статьи Стивена Вольфрама (Stephen Wolfram) "Dropping In on Gottfried Leibniz".

На протяжении многих лет меня интересовала личность Готфрида Лейбница, в частности из-за того, что он хотел создать что то на подобие Mathematica, Wolfram|Alpha и возможно даже A New Kind of Science но на три столетия раньше. Поэтому когда в недавнем прошлом я посетил Германию, то мне страстно захотелось побывать в его архивах в Ганновере.

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

post_55_1.gif
Читать дальше →
Всего голосов 71: ↑65 и ↓6+59
Комментарии30

IBM PC своими руками — это очень просто

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

После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
Читать дальше →
Всего голосов 261: ↑260 и ↓1+259
Комментарии81

Построение аналитических выражений… для любых объектов — от теоремы Пифагора до розовой пантеры и сэра Исаака Ньютона в Wolfram Language (Mathematica)

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

Перевод поста Майкла Тротта (Michael Trott) "Making Formulas… for Everything—From Pi to the Pink Panther to Sir Isaac Newton".
Выражаю благодарность за помощь в переводе Сильвии Торосян.
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~7 МБ).


В компании Wolfram Research и Wolfram|Alpha мы любим математику и вычисления. Наши любимые темы — алгоритмы, следующие из формул и уравнений. Например, Mathematica может вычислить миллионы интегралов (точнее бесконечное их количество, встречающихся на практике), а также Wolfram|Alpha знает сотни тысяч математических формул (от формулы Эйлера и BBP-формул для Pi до сложных определённых интегралов, содержащих sin (x)) и множество формул физики (например, от закона Пуазейля до классических решений механики для точечной частицы в прямоугольнике или потенциала обратного расстояния в четырехмерном пространстве, в гиперсферических координатах), так же как менее известные формулы, такие как формулы для частоты дрожащей мокрой собаки, максимальной высоты песочного замка, или времени приготовления индейки.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии11

Генерация кода во время исполнения или «Пишем свой JIT-компилятор»

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

Современные компиляторы очень хорошо умеют оптимизировать код. Они удаляют никогда не выполняющиеся условные переходы, вычисляют константные выражения, избавляются от бессмысленных арифметических действий (умножение на 1, сложение с 0). Они оперируют данными, известными на момент компиляции.
В момент выполнения информации об обрабатываемых данных гораздо больше. На её основании можно выполнить дополнительные оптимизации и ускорить работу программы.
Оптимизированный для частного случая алгоритм всегда работает быстрее универсального (по крайней мере, не медленнее).
Что если для каждого набора входных данных генерировать оптимальный для обработки этих данных алгоритм?
Очевидно, часть времени выполнения уйдёт на оптимизацию, но если оптимизированный код выполняется часто, затраты окупятся с лихвой.
Как же технически это сделать? Довольно просто — в программу включается мини-компилятор, генерирующий необходимый код. Идея не нова, технология называется “компиляция времени исполнения” или JIT-компиляция. Ключевую роль JIT-компиляция играет в виртуальных машинах и интерпретаторах языков программирования. Часто используемые участки кода (или байт-кода) преобразуются в машинные команды, что позволяет сильно повысить производительность.
Java, Python, C#, JavaScript, Flash ActionScript — неполный (совсем неполный) список языков, в которых это используется. Я предлагаю решить конкретную задачу с использованием этой технологии и посмотреть, что получится.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии33

Очередной CI светофор. На этот раз attiny2313 и Node.js

Время на прочтение8 мин
Количество просмотров36K
Воодушевленный такой прекрасной идеей, как светофор, отображающий состояние билда, я решил, что нашей команде нужен такой же. Я не хотел руководствоваться прочитанными мною статьями, поскольку они используют слишком дорогие для меня решения. Поэтому, вооружившись идеей, я набросал очень приблизительный план работы для команды, а у себя в голове держал простые принципы, которым хочу следовать.



Под катом светофор из цветомузыки и пластиковых бутылок, USB модуль управления светофором на attiny2313 за доллар, а так же софт для опроса Jenkins и управления USB модулем на Node.js.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии8

Как могла бы выглядеть поддержка JSON в современном С++

Время на прочтение5 мин
Количество просмотров64K
Хорошо в плане поддержки JSON живётся программистам на Javascript — по какому-то невероятному стечению обстоятельств там JSON входит в спецификацию самого языка: есть JSON — есть объект. Удобно. Неплохо дело обстоит и в языках, где JSON не входит в сам язык, но поддерживается стандартной библиотекой (Python, Ruby): импортируешь модуль — и готово.

Жизнь программистов на С++ никогда не была особо простой — поддержки JSON у нас нет ни на уровне языка, ни в стандартной библиотеке. И не будет, возможно, никогда. «Тоже мне проблему нашел!» — скажут мне опытные коллеги — «Её там и не должно быть, С++ поставляется без „батареек“. Для решения этой задачи мы...» и вот здесь они разделятся на два лагеря:

1. «Мы используем большой фреймворк (boost, Qt, POCO, другой), который применяется во всех наших проектах и умеет 150 000 разных вещей, в том числе и JSON.»
2. «Мы придерживаемся подхода в котором для каждой задачи применяется своя легковесная библиотека. В частности, для JSON мы уже 150 000 лет назад выбрали отличную библиотеку %JSON_LIB%, которая прекрасно работает.»

Да, всё так и есть. Вот только…

Чем плох подход с использованием фреймворков
Во-первых, тянуть в проект огромный фреймворк ради одного JSON — как-то уныло. Ну ладно, допустим фреймворк у вас был и так. Но тогда придётся писать работу с JSON в терминах фреймворка, а это, как правило, тихий ужас. Посмотрите, например, на документацию по JSON в Qt — куча собственных типов вроде QJsonArray, QJsonDocument, QJsonObject, QJsonValue и т.д. и их придётся использовать. О том, чтобы потом перенести код в другой проект (где этого фреймворка нет) можно сразу забыть. Ну или вот Boost: парсер JSON находится очень логично в модуле Boost.PropertyTree. Ага, так бы я и догадался. Т.е. нам предлагают плясать не от формата JSON, а от структуры данных «дерево», которая умеет себя читать в том числе и из JSON.

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


Чем плох подход с использованием библиотек
Плох он вот этой частью: "...150 000 лет назад выбрали отличную библиотеку...". Скорее всего речь идёт о чём-то, что начинало писаться чуть-ли не во времена DOSа и, без сомнения, работает, но при этом, пытаясь быть совместимым со всеми платформами и стандартами языка совершенно отстаёт от прогресса. Да, всё компилируется и работает, даже тесты проходит. Но библиотека совершенно не знакома с такими вещами, как ключевое слово auto, range-based циклы, строковые литералы, raw-строки, конструкторы перемещения, списки инициализации и прочие классные вещи, делающие код одновременно более эффективным и более легко читаемым. А ведь у библиотеки, созданной годы назад, есть обязательства по обратной совместимости, а значит просто так взять и добавить это всё она не может.


Давайте немного помечтаем.

А что, если бы JSON вошел в стандартную библиотеку нового стандарта С++? Что, если бы он был написан в терминах С++11\14 и без требований обратной совместимости со старыми стандартами языка? Что, если бы синтаксис этого модуля попытались бы сделать максимально приближенным к родному для JSON использованию «а-ля Javascript», но в том же время сохранить дух С++ (эффективность, минимальное потребление памяти, совместимость с STL)? Что, если бы его можно было включить в проект одним инклюдом и не беспокоиться о его сборке и линковке? Как бы это всё выглядело и работало?

И у нас есть ответ на этот вопрос! Давайте посмотрим на JSON-библиотеку для С++ написанную в соответствии со всеми этими принципами, ну и вообще написанной людьми для людей, а не чужими для хищников, как это обычно бывает.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии51

Смысл — это иллюзия

Время на прочтение8 мин
Количество просмотров46K
Это перевод статьи, которая очень странно на меня повлияла. Оригинал

checkerboard

Поля Α и B — одного и того же цвета

Скорее всего это самое важное, что я когда-либо писал, т.к. я считаю, что нашёл не что иное, как смысл жизни, или его отсутствие. Если вы умны/образованны, начало этого эссе может показаться вам достаточно стандартным. Тем не менее следите за мыслью.

Основной аргумент


Смысл << Эмоция << Химия << Физика

"Смысл" жизни исходит исключительно из эмоционального опыта, который базируется на химии. Мы знаем, что эмоция, и даже духовный опыт, по своей природе химические события. В наше время с помощью науки возможно, используя препараты и/или прямые манипуляции с мозгом индуцировать "духовный" опыт.
Читать дальше →
Всего голосов 57: ↑34 и ↓23+11
Комментарии86

Закат эры иконок от FatCow (выборка по цветам, топ 30 и прочая арифметика)

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

Итоговый выпуск иконок




Пять лет тому назад мы начали рисовать набор пиксельных иконок. Мода была на Vista. К концу 2013 года набор FatCow дорос до 3926 иконок. Это на 356 иконок больше, чем у Fugue, который весной того же года остановился на цифре 3570 (размер: 16х16). 352 иконки из бонуса Fugue (32х32 и 24х24) не в счет (как повторы). Но дальнейшее развитие иконок FatCow заморожено. Увы, мы не увидим круглой цифры из 4000 иконок (работы осталось на месяц), не увидим выпуска для ретины дополнительных размеров уже существующих иконок, разработки прекращены из-за отсутствия бюджета. Успели сделать пробу для retina и только.

Да, это не мега-фото-реалистичные-3D еще-одни-никому-не-нужные-иконки, это старая пиксельная школа. Где в почете был маленький размер и ограничение цветовой гаммы. Пройдут еще 10 лет… и, мы искренне верим, пиксельные иконки так и останутся в ходу. И если Вы ценитель древних видов искусства, дней зарождения компьютерной графики, пожалуйста за ширмой!
Подробности
Всего голосов 66: ↑63 и ↓3+60
Комментарии52

Построение кроссвордов с помощью языка Wolfram Language (Mathematica)

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

Перевод поста Майкла Тротта (Michael Trott), «Constructing Crossword Arrays Faster».
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь.


В главе 6 моей книги Mathematica GuideBook for Programming, в качестве примера работы со списками я обсудил то, как построить массив, представляющий собой кроссворд. Хотя этот пример был хорош для демонстрации продвинутой работы со списками, тем не менее, использование списков не является оптимальным путем построения массива кроссворда. Сложность добавления нового слова в массив с уже размещенными n-1 словами составляла для этого алгоритма ConstructingCrosswordArrays_1.png, таким образом общая сложность составления массива кроссворда из n слов становилась равной ConstructingCrosswordArrays_2.png.

На протяжении последних нескольких лет, некоторые пользователи Mathematica спрашивали меня о том, можно ли построить более быстрый алгоритм. Ответ — да, можно. Если мы будем применять методы хеширования, то мы сможем быстро и за одно и тоже время проверять, можно ли использовать некоторый элемент массива и, следовательно, мы сможем снизить общую сложность алгоритма с ConstructingCrosswordArrays_3.png до ConstructingCrosswordArrays_4.png, что для кроссвордов из тысяч слов даст большую разницу во времени, затрачиваемом на вычисления. Этот алгоритм реализован в данной статье. Когда мы размещаем отдельные буквы слова в некоторой прямоугольной таблице необходимо рассматривать множество различных ситуаций. В результате в статье содержится большее, чем обычно, количество процедурного кода. Хотя некоторые определения функций несколько длинные, благодаря комментариям между шагами вычислений и ветками решений код должен быть довольно простым для чтения и понимания.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии7

Решение задачи коммивояжера с помощью метода ветвей и границ

Время на прочтение3 мин
Количество просмотров99K
Здравствуй, Хабр! Реализовывая различные алгоритмы для нахождения гамильтонова цикла с наименьшей стоимостью, я наткнулся на публикацию, предлагающую свой вариант. Попробовав в деле, я получил неправильный ответ:



Дальнейшие поиски в Интернете не принесли ожидаемого результата: либо сложное для не-математиков теоретическое описание, либо понятное, но с ошибками.

Под катом вас будет ждать исправленный алгоритм и онлайн-калькулятор.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии82

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность