Category: it

Category was added automatically. Read all entries about "it".

юмор

Фотогимп

На Линуксе для обработки картинок выбор софта очень небольшой. Наиболее продвинутым является GIMP. Важное замечание: “наиболее продвинутый” не значит “хороший”. Это значит, что он говно, но всё остальное — ещё хуже. Помимо отсутствия искоропки некоторых нужных мне фич (динамические эффекты слоёв), у него ещё дико непродуманный интерфейс. Ну, такое часто получается, когда интерфейс пишут программисты, а не спецы по UI. Программисту кажется, что в интерфейсе всё удобно и логично, но пользоваться этим решительно невозможно. Это вполне ожидаемая вешь, кстати. Когда что-то пишешь “для себя”, это совершенно не значит, что это будет так же хорошо “для других”. Чаще наоборот.

Недавно выкатили продукт под названием PhotoGIMP. Это типа GIMP, но с интерфейсом от Фотошопа. Попробовал, поставил, вдруг кактус стал слаще?? Оказалось, не стал. Это по-прежнему кактус, только теперь не зелёный, а серый. Пользоваться по-прежнему можно только от глубокой безнадёги. “А как дысали, как дысали!”

В английском есть такое меткое выражение — “lipstick on a pig”. Дословно — губная помада на свинье. Это означает, что ты безуспешно пытаешься что-то облагородить, но ограничиваешься чисто внешней частью дела. Свинья с нанесённой губной помадой по-прежнему остаётся свиньёй.

Mirrored from Лабораторный Журнал №6

юмор

CentOS — всё

UPDATE: Я эту запись уже второй день пытаюсь в ЖЖ опубликовать. Извиняюсь за спам. Попробуем ещё разик.

И хер бы с ним. Никогда эту грёбаную Шапку и производные не любил. Если бы не YellowDog, подаривший Шапке yum, установка софта на Шапке до сих пор была бы извращённым сексом с закоулками, потому что rpm не может в автоматическую установку необходимых сопутствующих библиотек.

Уточню. CentOS не совсем “всё”, просто раньше это был, по сути, слегка переделанный RHEL, а теперь это будет называется CentOS Stream, и он будет являться не переделанным RHEL, а его бета-версией. Что автоматически означает, что в производство его ставить нельзя.

Так что с точки зрения сисадминов CentOS — таки “всё”!

Mirrored from Лабораторный Журнал №6

Винда и установленные программы

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

Получить весь список можно, пройдя руками в реестр:

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall (для 64-битного софта)
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall (для 32-битного софта, ага, надо по-другому)

Можно, например, в шелле сделать так:

$programs = Get-ChildItem -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; foreach ($program in $programs) { $program }

Узнаете много нового, я гарантирую.

Надо сказать, что rpm -qa или apt list –installed значительно проще в применении (лично мне). Микрософт, правда, не законченные придурки, поэтому быстренько подсуетились и выкатили winget, с которым можно делать очень похожие фокусы. Я его, правда, толком пока не щупал, неизвестно, как оно показывает установленный софт — даёт полный список или кастрированный, как в панели управления.

А вообще забавно, конечно, наблюдать как Windows семимильными шагами идёт к копированию линуксоподобных вещей. Ещё бы установку обновлений привели бы к простоте apt update && apt upgrade и стало бы совсем хорошо. Новое — хорошо забытое старое!

Mirrored from Лабораторный Журнал №6.

Пупсик

До меня, наконец-то, допёрло, что “пупсик”, английское “puppet”, pupa (энтомологическое, “куколка”) и немецкое Puppe — это одно и то же слово (корень латинский).

А вот испанский почему-то от латыни не заимствовал — там кукла это “муньека”.

Но лучше всего, конечно, идиш. На идише кукла называется простым и понятным словом “лялька” 🙂

Mirrored from Лабораторный Журнал №6.

Говорил я вам…

Рабочее.

Дев №1: нам надо высылать почту из облачного вебсервиса Azure.
Я: не выпендривайтесь и возьмите SendGrid.
Дев №1: это дорого, давайте мы будем посылать через Graph API, там бесплатно
Я: это не будет работать
Дев №1: фигня, будет
Дев №2: да не, точно будет, я тут погуглил, всё будет путём!

Прошла неделя.

Дев №1: бляха-муха, а оказывается, чтобы посылать почту через Graph API надо иметь подписку на MS365
Дев №2: у, блин, это дорого, у нас её нет, и нихера не работает!
Я: А чо я вам сказал ровно неделю назад, блин????!!!
Дев №1: и чо теперь?
Я: возьмите SendGrid и не выпендривайтесь.

Mirrored from Лабораторный Журнал №6.

Пну-ка я снова Линукс

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

А вот теперь поменяй Винду 7 на Убунту 16, а десятую винду на Убунту 18. И получишь конскую эту самую на воротник, чтобы шею не натирало. Софт будет отваливаться с дикими криками по поводу ненахождения старых версий самых разнообразных библиотек (например, libc или libwebp — это уж смотря какой софт).

А на десятой винде софт, работающий на XP, до сих пор запустится (в большинстве случаев) вполне нормально.

Линупс бесплатен только в том случае, если твоё время ничего не стоит.

Пост написан по мотивам “как Плотник обновлял машинку с Apache Guacamole, которую надо из сырцов собирать, потому что в apt-шных репозитариях оно древнее говна мамонта.”

Mirrored from Лабораторный Журнал №6.

BlueHost — замумил

Основное зеркало блога я держу на bluehost.com. Задолбали, ироды. PHP 7.0 — единственная версия PHP, в которой есть mysqli. Соответственно, шаг вправо, шаг влево — и Вордпресс пролетает как фанера над городом Парижем. Только вот 7.0 у нас нынче “deprecated”, так что грёбаный хостер каждый день переключает меня на PHP 7.3, и всё благополучно рушится. В поддержке все как один, индусы, и говорят “мы ничего не можем сделать отсюда”. Нах-нах, сваливаю при первой же возможности.

Mirrored from Лабораторный Журнал №6.

Про обновления

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

На Демьяне и Демьяно-подобных: sudo apt-get update && sudo apt-get install && reboot и всё. И устанавливается всё очень быстро.

Обновление на винде же может ставиться часами. Последнее обновление, закрывающее ДЫРЕНЬ в DNS, выпущенное, как обычно, во второй вторник месяца, занимает полтора гигабайта места. Это же рехнуться. Раньше такие большие обновления были сервис-паками, которые сразу обновляли кучу бинарников. А это вроде как стандартное месячное обновление. И такого размера, блин. И ставится уже полтора часа.

Mirrored from Лабораторный Журнал №6.

Нейронные сети

Ух, как продвинулся прогресс! Раньше создание своих нейронных сетей было занятием дико сложным, требующим понимания математики и нехилого программирования. Я даже нарисовал свою, на Сишарпе. Она, конечно, была простенькая, но я очень много понял (особенно хорошо я понял, почему ничего, кроме свёрточных сетей, для классификации изображений использовать невозможно — тупо памяти не хватит).

А теперь движок нейронных сетей не надо писать самому. Сначала появилась Caffe (я использовал её для одного из проектов в университете по поиску изображений), а потом Гугл открыл свой TensorFlow для всех. Но даже TensorFlow был ОЧЕНЬ непрост в использовании. А теперь выяснилось, что для TensorFlow написали кучу вменяемых библиотек, и создание нейронных сетей стало очень несложным занятием.

Их несколько, но больше всего мне понравилась библиотека keras. И дело не сколько в том, какая она хорошая, а в том, что для неё больше всего документации 🙂 В прошлый раз, когда я щупал нейронные сети, я использовал библиотеку TF-Slim. Документации для неё, можно сказать, не было. Пришлось хакать исходники примеров, чтобы получить что-то своё.

Но оцените, как это теперь просто!

Вот, например, Питонный код для создания простой нейронной сети из двух входных нейронов, 16 скрытых, и 3 выходных. На входе единички и нолики, представляющие собой True и False, и три выходных нейрона, один выдаёт результат логической операции XOR, второй AND, третий OR. Тренируется сеть меньше, чем за 1000 эпох (если увеличить количество нейронов в скрытом слое, то ещё быстрее).

import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

model = tf.keras.Sequential()
model.add(layers.Dense(16, activation=’relu’))
model.add(layers.Dense(3))
model.compile(optimizer=’adam’, loss=’mean_squared_error’, metrics=[‘binary_accuracy’])

data = np.array([[0,0],[0,1],[1,0],[1,1]], “float32”)
labels = np.array([[0,0,0],[1,0,1],[1,0,1],[0,1,1]], “float32”)

model.fit(data, labels, epochs=1000)

print(model.predict(data).round())

Элементарщина же!

Осталось понять, чего прикольного теперь можно с этим сделать 🙂 Наверное, ничего — чтобы сделать что-то прикольное, надо поставить задачу и дать вводные 🙂 Разве что сделать нейронную сеть и запустить её наоборот, в генеративном режиме, предварительно скормив ей, например, музыку Моцарта в формате MIDI 🙂 Кстати, вполне реальная вещь, вот чувак кормил сеть Бахом: https://www.youtube.com/watch?v=SacogDL_4JU

Mirrored from Лабораторный Журнал №6.

Папа знает

Самыми умными людьми в истории человечества, наверное, были первобытные охотники-собиратели. При средней продолжительности жизни в 35 лет, в условиях частого голода, нерегулярного питания, человек должен был в кратчайшие сроки познать мир для того, чтобы выжить. Надо было знать повадки зверей (у всех разные), методы охоты на них, основы навигации, а также иметь способность мгновенно определять вид растений и грибов — съедобные ли, ядовитые? Выживали только умные. Остальные мёрли с голоду или же их задирал медведь.

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

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

Но зато отличат так сильно любимые нами ныне нейронные сети. А нейронные сети нынче работают везде, даже в телефонах. Скачал себе программу PictureThis (дают триал на три дня), теперь каждый выход на улицу с детьми обязательно сопровождается расспросами “папа, а что это за дерево?” И папа незамедлительно даёт ответ 🙂 Впрочем, хошь не хошь, а при помощи этой программы и сам начинаешь запоминать разные виды растений. Теперь я и сам без проблем отличу вереск от дикого винограда. Кстати, и для грибов такие программы тоже есть. Но в Алабаме с грибами хреново — хороших мало. Самый лучший гриб, который у нас есть — красный подберёзовик. Он редкий, и в 95% случаев червивый, зараза. Так что программу для определения грибов я использую в основном для того, чтобы понять, что за несъедобная хрень выросла у меня на заднем дворе.

Mirrored from Лабораторный Журнал №6.