Юникс Кунг-Фу

За что мы любим Юниксоподобные ОС? Ну, за всякое, но не в последнюю очередь за их отличные командные строки. Конечно, можно писать скрипты или даже небольшие програмки на Перле али Питоне, но если надо быстро что-то автоматизировать, то лучше всего писать какой-нибудь one-liner типа:

cat file | grep something | sed ‘s/thing/otherthing/’ | awk -F “|” ‘{print $1}’ | sort | uniq | wc -l

И всё тут прекрасно, но здесь совершенно отсутствует условное ветвление — а это иногда полезно.

Например, можно сказать вот так:

cd directory; rm -rf *

Что будет, если cd directory обломится, потому что этой директории нет? Начнёт выполняться rm -rf в ТЕКУЩЕЙ директории — что может иметь катастрофические последствия.

Как этого избежать? Очень просто. Надо сказать вот так:

cd directory && rm -rf *

В данном случае rm -rf выполнится ТОЛЬКО если cd directory будет успешно выполнен.

Работает это очень просто — если понять, что данное выражение представляет собой не больше, чем условие с Сишным синтаксисом. && — это оператор AND. Любая команда при завершении работы выдаёт код возврата (exit status). Если команда завершилась успешно, возвращается код 0, он же является TRUE. Оператор && подразумевает что ОБЕ части условия должны возвращать TRUE, поэтому если первое условие вернуло TRUE, надо проверять второе. Если же первое вернуло FALSE, то нет смысла проверять второе (принцип минимализации проверки условий https://en.wikipedia.org/wiki/Short-circuit_evaluation).

Соответственно, можно вывернуть это наизнанку, если использовать оператор || (сиречь OR) между командами. В таком случае вторая часть выражения будет выполнена только в том случае, если первая вернёт FALSE — ибо в соответствии с принципом минимализации нет смысла проверять вторую часть условия, где условия объеденины через OR — ибо первая уже вернула TRUE.

Например, вот так:

cd test|| mkdir test

Директория test будет создана только в том случае, если её нет (cd вернёт ошибку).

Также можно объединять условия, используя тот же Сишный синтаксис.

(cd directory && rm -rf *) || echo “Cannot delete files”

Если можно зайти в директорию и удалить там файлы, то ничего не высветится. Но если нельзя, будет сказано, что нельзя.

Данные команды работают в bash и C-shell. BSD-шный sh не проверял, но думаю, что там тоже будет работать.

Ответка

В ответ на бан антивируса Касперского на компьютерах, принадлежащих МО США (https://experimenter.org/2017/06/29/kaspersky_banned_in_dod/) российские законодатели предложили послать всё нероссийское антивирусное ПО в том же направлении?

“Ко второму кварталу 2019 года чиновники намерены законодательно обеспечить предустановку отечественных антивирусных программ на все персональные компьютеры, ввозимые и создаваемые на территории Евразийского экономического союза.”

Подробнее на РБК:
http://www.rbc.ru/technology_and_media/03/07/2017/5958d9c29a7947e1a748af1a

Не вполне понятно, чем всё это закончится. “Обеспечить предустановку” не значит ведь запрета пользованием других антивирусов?

А то как-то слишком нагло получается. “Слушайте свои “Валенки” и не выпендривайтесь”. И плевать, что антивирь Касперского написан настолько криво, что раз в два дня аккуратнейшим образом вешал мне комп так, что тремя пальцами он не поднимался. Что там ещё есть? Дохтур Веб? Ничего про него не скажу — не пользовался.

Или это просто в Касперском занесли куда надо? Чтобы обеспечить продажи своего кривого продукта?

И вообще, это какие-то полумеры. Виндоуз-то не забанили. Как не забанили Ворд, Эксель, и проч.

Преобразователь постоянного тока, 1940е-стайл

Всё же как круто, что теперь у нас есть полупроводники. Электронной лампе для работы надо напряжение 6.3 вольта для накала, и 90-300 вольт — подавать на анод. В принципе, ничего сложного — благо трансформатор был изобретён в конце 19 века.

А вот как быть, если хочется радио на батарейках? Например, военный радиопередатчик? А транзисторов никаких нету и в помине, а есть только лампы, и надо, соответственно, 300 вольт?

Выкручивались, как могли. Для маломощных потребителей изготавливали ламповые инвертеры. Но для для более мощной техники использовали уже не их, а механические преобразователи постоянного тока, мотор-генераторы (умформеры). Принципиально это электрический мотор, крутящий генератор, который уже производит нужное напряжение и тип тока. Мотор-генераторы могут использоваться для конвертации переменного тока частотой 60 герц в ток частотой 50 герц, преобразования однофазного тока в трёхфазный, постоянного тока в переменный и наоборот и т.д.

Вот видео с работой и починкой умформера американской военной радиостанции ARC-5, устанавливаемой на самолёты ВМФ США во время Второй Мировой войны.

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

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

Касперского забанили в США

В акт о военном бюджете США на 2018 год внесен запрет на использование продукции “Лаборатории Касперского” на оборудовании, принадлежащему МО США. Озвученная причина — “работники компании потенциально подвержены давлению со стороны правительства России”.

https://www.bleepingcomputer.com/news/government/senate-gets-ready-to-ban-kaspersky-products-as-fbi-interviews-companys-us-employees/

О том, что примерно такое и будет, я уже догадывался, когда сам перешёл на американский антивирус “Симантек” http://nlothik.livejournal.com/797195.html

Увы, компьютеры теперь неотделимы от политики. Даже наоборот. Учитывая количество кибервойск с обоих сторон и кубометры написанного военного софта для кибератак на противника о каком-то отсутствии политики в компьютерной сфере смешно говорить.

Теплое, ламповое

Электронные лампы, это, конечно, сложно. Намного сложнее, чем транзисторы. И преимуществ у них, в-общем, немного — более высокая устойчивость к перегрузкам и работе в совершенно кривых условиях, например. Также на лампах проще сделать усилители, где реально надо дофига ватт — например, выходные каскады усилителей коммерческих радиостанций. Про “лучший звук” мне не надо рассказывать — это не так. По объективным параметрам (КНИ) даже самые лучшие ламповые усилители не подходят близко к обычной транзисторной коммерческой продукции. Разве что уж совсем за невменяемые деньги. При этом я не утверждаю, что нет такой вещи, как “ламповый звук” — он есть. Просто это в основном связано с тем, что у выходного тракта усилителя на лампах довольно высокое собственное сопротивление. Что и отражается на звуке — выпячиваются частоты, близкие к собственному резонансу громкоговорителя. Чисто на слух это многим нравится; хотя если подходить объективно, с приборами — то это неточное воспроизведение оригинала. Подцепите последовательно с громкоговорителем резистор на 8-30 ом — получите тот же самый “ламповый” звук. Без всяких ламп.

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

Поэтому есть и живы фирмы, которые до сих пор выпускают лампы. Скажем, те же радиолампы “Светлана”, которые производятся в России. Думаю, что процентов 80 этой продукции идёт на экспорт =)

Есть и западные фирмы. И, оказалось, есть фирмы, которые с нуля, в 21 веке, разрабатывают радиолампы!

Вот какая интересная вещь:


http://korgnutube.com/en/

Это, на минуточку, аж целый Korg, легендарные японцы.

Что в этой лампе интересного? Самое интересное в ней то, что по сути это вакуумно-люминесцентный индикатор (который тоже электровакуумный прибор). Такие, например, раньше в видеомагнитофоны и электронные часы ставили. Поэтому в ней нет того, что есть в обычных лампах — требований к высокому напряжению анода. Обычные радиолампы работают при напряжениях от 90 до 300 вольт. А эта может работать — та-дам — от 5 вольт до 90. Напряжение цепи накала в обычных лампах — 6.3 вольта, а тут 0.7!

А теперь плохое. Во-первых, эту хрень надо звукоизолировать и демпфировать, потому что оно обладает микрофонным эффектом. Во-вторых, если мы почитаем её даташит http://korgnutube.com/pdf/Nutube_Datasheet_31.pdf и сравним с даташитом идентичного по назначению сдвоенного триода 12AX7, то увидим, что усилитель из этой штуки выходит весьма хреновый. Степень усиления по напряжению всего 5! (для сравнения, у 12AX7 — до 71, правда, это при напряжении на аноде в 300 вольт). Конечно, это сдвоенный триод, так что можно один каскад подцепить к другому и получить усиление 25, но у слона 12AX7 всё равно больше.

Но зато на этой штуке не бздливо собирать усилитель. Мне, например, бздливо собирать усилитель для наушников, внутри у которого напряжение 300 вольт. Мало ли чего. Коротнёт на уши — и пойдёшь музыку вечно слушать. Я когда счётчик Гейгера собирал, меня пару раз от 400 вольт дёрнуло. Мало ни разу не показалось, хорошо там ёмкость маленькая была (0.22 мкФ).

А эта лампа наиболее перспективна, КМК, для гитарного комбика. Собрать на ней предусилитель, где все гитарные искажения будут тёплыми и ламповыми, а потом пускать их на полупроводниковый выходной каскад.

Музыка на дисководах

Умелец собрал целый оркестр из старого компьютерного барахла. ЕМНИП, там везде шаговые двигатели стоят, для которых работа с подобного рода частотами — вполне является нормой. Варьируя частоту подаваемого на двигатели тока, можно добиться определённой высоты звучания. А в качестве перкуссии — считывающие головки от жёстких дисков =) Забавно.

Невада, Орегон, Юта

Вот есть у тебя дом. Земля, на которой он стоит — принадлежит тебе. Домом владеешь тоже ты. Фундамент, стены, крыша — всё твоё.

Возникает вопрос. Принадлежит ли тебе та вода, которая в виде дождя падает на крышу твоего дома? Если ты живёшь в одном из трёх озвученных штатов, ответ — “нет”. Не принадлежит. И если ты её будешь собирать в бочки и использовать, например, для питья, мытья, и прочих хозяйственных нужд, тебя арестуют и посадят в тюрьму.

Аргументируется данный запрет так — сбор домовладельцем дождевой воды уменьшает естественный приток воды в ручьи, речки, и так далее. Это, конечно, высококонцентрированный бред, потому как какова площадь крыши дома по сравнению с площадью земли, на которую выпадает дождь? Это же исчезающие доли процента, даже с приборами не будет заметно никакого “уменьшения притока”.

Во вторых, используемая в хозяйстве вода не аннигилируется бесследно, а всё равно так или иначе возвращается наружу через те же фильтрационные поля для септика. Короче, как говорится, аргумент воды не держит =)

Идиотия законов отдельных местностей в родной стране не устаёт удивлять.

Чем больше ML, тем толще данные

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

Картинка с Вики
Вот вы как думаете, что тут самое сложное? Само машинное обучение? А вот нифига. Это как раз самое простое — это меньше сотни строчек Питоновского кода, благо TensorFlow со всем его API уже давно придуман до нас намного более умными людьми. А самое сложное — это подготовка данных, которые надо скармливать алгоритмам машинного обучения. Потому что оно, блин, довольно требовательное. Скажем, для регрессивного анализа очень хорошо, если данные имеют нормальное распределение. Иначе могут возникнуть разные, не всегда хорошие, эффекты. Данные, взятые из реального мира часто нормального распределения не имеют. И приходится сидеть и шаманить, пока не нашаманишь чего-то более удобноваримого.

Это было серьёзным открытием лично для меня — насколько важно иметь начала образования именно в науке о данных (data science), чтобы построить нормальную систему ML. Хотя казалось бы, всё упирается в программирование. А вот хрен! И, блин, именно в этой области у меня есть довольно большие пробелы — максимум из применимого был начальный курс статистики, который я брал в 2011 году.

Кроме того, есть данные, у которых в принципе не бывает никакого распределения — скажем, список используемых программой функций. О каком распределении тут может идти речь? Либо эти функции есть, либо их нет. Как с этим работать? Чешу репу…

И на закуску Офис 2016 на Макинтоше — это кастрат. Скажем, мне нужна иерархическая визуализация данных. В виндовой версии экселя есть замечательная диаграмма “солнечный луч” — она похожа на круговую, но она многоуровневая, и позволяет, таким образом, также визуализировать иерархию. В экселе для Мака — шЫш с маслом, а не солнечный луч. Там вообще никаких иерхархических диаграмм нет.

Ну что за подход такой?

Какой хороший город

Гонял спамеров. Один из адресов, рассылающих заразу, зарегистрирован на следующую корпорацию:

OrgName: African Network Information Center
OrgId: AFRINIC
Address: Level 11ABC
Address: Raffles Tower
Address: Lot 19, Cybercity
City: Ebene

В-общем, выражение “в (гре)бенях” приобрело ярко выраженную, осязаемую форму 🙂