Архив июня 2020

S in IoT stands for security

smart-scale

А вот вопрос имею

Зачем у автоматического выключателя вот эти отверстия на корпусе?

autoswitch

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

Угробил планшет

Уронил и разбил экран на своем заслуженном Lenovo A10-70, с которым были выиграны многочисленные соревнования по р3к (блин, надо бы про это все как-нибудь написать, а то я с сезона 2017 года писать про свои успехи бросил). Короче говоря – а что сейчас стоит брать с учетом не сильно изменившихся с 2015 года требований:

- свежая версия Android, с минимальным количеством постороннего говна;
- экран 10″, не менее 200 dpi;
- сотовая связь, WiFi, Bluetooth (не хуже 4.0), хорошо работающий GPS.

Я так понимаю, стоит остаться лояльным марке и взять Lenovo TB-X605L?

Еще про доставку у строительных интернет-магазинов

На этой неделе решил пощупать “220 Вольт“. Эти товарищи вообще отличились – две пачки со сварочными электродами везут DPD аж из Питера. По каким-то странным причинам доставка в пункты выдачи в виде их же собственных магазинов невозможна.

Боженька, почему они с такой клоунской логистикой еще не сдохли?

Про IT-компании

Обсуждают льготы для “IT-компаний”, предложенные вчера Путиным. Во-первых, некоторое недоумение вызывает вопрос – что же такое “IT-компания”? Ответ на него очевиден, но многим неизвестен – это компания, включенная в особый список Минцирка (МИНистерство ЦИфрового Развития, связи и массовых Коммуникаций):

https://digital.gov.ru/ru/activity/govservices/1/

По состоянию на 15.06.2020 в списке, представленном в виде таблички формата xls (КМПВ, узнаем, почему не csv или что-то “открытое”, а за использование старых форматов M$ будем отправлять на Колыму), числится 11452 организации. Кроме того, в списке есть ОГРНы и ИННы компаний – а поэтому на сайтах вроде какого-нибудь zachestnyibiznes несложно найти информацию о любой из них – например, о ООО “ТЛМ Ком” под номером 1 в списке:

https://zachestnyibiznes.ru/company/ul/1045207810218_5262128494_OOO-TLM-KOM

К сожалению, фирма уже ликвидирована, а вот номер 2 в списке – ООО “ТЭЛМА Софт” – живет и здравствует, переименовавшись в “Харман”:

https://zachestnyibiznes.ru/company/ul/1025203734841_5262068365_OOO-HARMAN

Конечно, правильнее было бы брать эту информацию у налоговой – как, собственно, все эти зачестные бизнесы и руспрофайлы и поступают – но выгрузка ЕГРЮЛ довольно сложна и кишит странностями.

И еще пара вводных – во-первых, льготы по налогу на прибыль, очевидно, распространяются на тех, кто его платит – то есть сидит на общей системе налогообложения, а не на “упрощенке”; во-вторых, количество работников в компании должно быть не менее 7 человек. Если вы представляете себе среднюю российскую ИТ-компанию – то, наверное, уже почувствовали, что на льготы могут расчитывать далеко не все. Скажем, очень многие сидят на “упрощенке” – она действительно сильно упрощает жизнь, особенно если ваши клиенты – такие же “упрощенщики” или физические лица. Численность в 7+ человек – тоже сравнительно много, особенно учитывая популярность работы с фрилансерами, когда в штате фирмы – буквально три-четыре наиболее незаменимых человека, а остальные работают по договорам ГПХ или регистрируются, как индивидуальные предприниматели (в особо запущенных случаях это превращается в “схему Ходорковского”, но не будем показывать пальцем :) ).

В общем, возникает желание проверить – а многие ли в этом списке подпадают под льготы. Основная проблема – невозможно надежно определить, пользуется ли контора УСН или нет по страничке с данными. Для части фирм на УСН встречается надпись “Упрощенная система налогообложения (УСН) (на 2018 год)” – но сделать по ней или ее отсутствию надежный вывод о том, каким налоговым режимом пользуется фирма, нельзя. Впрочем, как первое приближение – сойдет. Не для всех фирм есть сведения о количестве работников – в первую очередь это касается недавно зарегистрированных, но им все равно придется ждать не менее 9 месяцев, чтобы получить право на льготы. В общем, пишем под пивко несложный питоновский скрипт (я нихера не питонист, так что особо палками и камнями не кидайтесь):


import requests
import re
from bs4 import BeautifulSoup
import pandas as pd

elegible = 0

def get_info(id):
    global elegible

    working = False
    workers = False
    osn = True # так как система налогообложения определяется неоднозначно

    # на случай 1167847383824 (бывш. 1037841001681) и т. п.
    if not isinstance(id, int):
        id = int(id.split(' ')[0])

    # поиск по ОГРН
    url = 'https://zachestnyibiznes.ru/search?query=' + str(id)
    r = requests.get(url) # получаем результаты поиска
    if r.status_code != 200:
        print('Error ' + str(r.status_code) + ' for OGRN=' + str(id))
        return

    # вытаскиваем ссылку на страницу компании
    soup = BeautifulSoup(r.content, features='lxml')
    res = soup.find_all('td', class_='hidden-print')
    url = res[0].find_all('a')[0].get('href')

    # загружаем страницу с информацией о компании
    url = 'https://zachestnyibiznes.ru' + url
    r = requests.get(url) # получаем результаты поиска
    if r.status_code != 200:
        print('Error ' + str(r.status_code) + ' for OGRN=' + str(id))
        return

    # вытаскиваем из страницы нужную нам информацию
    soup = BeautifulSoup(r.content, features='lxml')
    # для начала sanity check, проверим ОГРН на совпадение
    res = soup.find_all('span', id='ogrn')
    ogrn = res[0].contents[0]
    if id != int(ogrn):
        print('Bad data page for OGRN ' + str(id))

    # в этом div-е сосредоточена вся интересующая нас информация
    info = soup.find('div', class_='m-t-5')

    # ищем, действующее предприятие или нет
    status_string = info.find(string=re.compile('Статус'))
    if status_string:
        status_value = status_string.next_sibling.next_sibling.next_sibling.string
        if status_value == 'Действующее':
            working = True

    # проверяем численность работников
    workers_string = info.find(string=re.compile('Среднесписочная численность работников'))
    if workers_string:
        workers_value = workers_string.next_sibling.next_sibling.next_sibling.next_sibling.string
        if int(workers_value) >= 7:
            workers = True

    # проверяем систему налогообложения
    usn_string = info.find(string=re.compile('Упрощенная система налогообложения'))
    if usn_string:
        osn = False

    if working and workers and osn:
        elegible = elegible+1

data = pd.read_excel('200615-reestrot15062020.xls', usecols='C,D', names=['Name', 'OGRN'])
for id in data.OGRN:
    try:
        get_info(id)
    except:
        print('Something went wrong for OGRN ' + str(id))
print('Number of elegible companies ' + str(elegible) + '/' + str(data.OGRN.size))

Запускаем и идем допивать пиво – работает долго, при этом в списке обнаруживается куча странностей – вроде компаний с несуществующими ОГРН; иногда это просто опечатки, типа лишней или забытой цифры, иногда – что-то непонятное. Минцирк оправдывает свое название.

В конечном итоге оказывается, что на льготы могут претендовать всего лишь 3028 компаний из списка (я не разбирал косячные ОГРНы вручную – их у меня набралось 18 штук) – впечатляет, да? В общем, радоваться могут лишь “избранные”, остальных это вряд ли коснется.

Да, оценка несколько завышена – если внимательно почитать требования, необходимые для получения льгот, на сайте министерства, то там обнаружатся дополнительные требования – например, 90% дохода фирма должна получать от “околоайтишной” деятельности (всякого рода Яндексы с Додо-пиццей в пролете):

доля доходов от реализации экземпляров программ для ЭВМ, баз данных, передачи исключительных прав на программы для ЭВМ, базы данных, предоставления прав использования программ для ЭВМ, баз данных по лицензионным договорам, от оказания услуг (выполнения работ) по разработке, адаптации и модификации программ для ЭВМ, баз данных (программных средств и информационных продуктов вычислительной техники), а также услуг (работ) по установке, тестированию и сопровождению указанных программ для ЭВМ, баз данных по итогам отчетного (расчетного) периода составляет не менее 90 процентов в сумме всех доходов организации за указанный период;

Люблю ютуб

Из каментов под сварочным видео в ютубе:

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

Леруа Мерлен сегодня не обрадовал

В общем, решил я тут немного облагородить компрессор имени совавтопрома и сделать для него металлическую раму. Прикинул, что лучше всего для этого подойдет профильная труба 40*20 мм и заказал в леруашечке трубу и электроды “МР-3С” (в кавычках, потому что я как-то сомневаюсь, что там продается что-то, соответствующее этому названию) 2 мм – так как варить тонкую трубу валявшимися у меня 4 мм “Монолит РЦ” было как-то очково.

Для начала – на сайте наебывают со сроками доставки :) На страничке товара радостно пишут “доставка завтра”, при оформлении заказа “завтра” превращается в “скажите спасибо, что через три дня”. Во-вторых – какой-то Чурбанбек на складе умудрился вместо трубы 40*20 положить трубу 40*40, которая в полтора раза тяжелее, ну и в третьих – леруашные электроды вообще нифига не зажигают дугу – такое впечатление, что деревянной палочкой варить получится лучше. Пацаны, не берите это говно:

https://leroymerlin.ru/product/elektrody-stal-mr-3s-2-mm-1-kg-18261583/

Ну а так – адово сварил раму, дичайше покрасил ее черным антигравием и перекинул туда все части компрессора:

kompressor-metal

Окрошка по-французски

Рассказали рецепт – режем оливье, заливаем шампанским.

Надо попробовать.

Randall Kanna

Пацаны и пацанессы, а что вы можете сказать о вот этой мадам?

https://randallkanna.com

Я пока что увидел на ее сайте только многочисленные советы из серии “Как пройти программистское собеседование” и “Как построить личный бренд” вместе с самолюбованием из серии “как я за полтора года стала senior engineer“.

Программисты накосячили – и лучше б не исправляли

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

Было:

https://www.youtube.com/watch?v=I6n9LNtRItc

Стало:

https://www.youtube.com./watch?v=I6n9LNtRItc

Про народную технику

Довольно забавно, что на всякого рода “интернет-форумах про технику” самые популярные и посещаемые темы посвящены откровенному говну, а большая часть их содержимого – “как сделать из этого говна подобие конфетки“. Счастливые обладатели нормальной техники просто пользуются ей – а решившие всех наебать нищеброды (”знаем-знаем, все делается в одном и том же китае!”) годами варятся в собственном соку, обсуждая “типичные проблемы” – еще один признак того, что производитель ложил известный орган на мнение покупателей.

Lukey-852D+ образца 2019 года, доработка

Думаю, о популярной китайской паяльной станции можно особо и не рассказывать – все же видели ролики с горящим феном?

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

В общем, решил, по советам лучших собаководов, вкорячить выключатель – да еще и так, чтобы про него не забыть. Подумал-подумал и решил вставить компактный rocker switch на место кнопки включения паяльника – по моим понятиям довольно бессмысленной, так как паяльником я пользуюсь почти всегда, когда использую паяльную станцию, а феном – опционально. Паяльник же я решил сделать “постоянно включенным” – просто соединив цепи, которые коммутирует кнопка включения паяльника.

852d-mod

В передней панели надо немного расширить отверстие для кнопки, тогда в него очень хорошо встает круглый клавишный переключатель (что-то в таком духе: https://www.chipdip.ru/product/smrs-101-2c3-r). У печатной платы надо обрезать угол (все равно там все относится только к кнопке, от которой мы хотим избавиться), дальнейшее очевидно.

852d-mod-inside

В общем, спать буду спокойнее.

PS Хочу обратить внимание – с такой доработкой можно довольно легко угробить фен, не дав ему охладиться, для этого достаточно выключить питание станции, не выключив перед этим штатным образом фен (после “выключения” кнопки компрессор включается на максимум, и надо дать ему прокачать некоторое количество воздуха для охлаждения); с другой стороны, это легко запоминается и в принципе понятно, а вот забыть выключить станцию из розетки куда легче.

А возьмут ли за такое в датасаенс?

Вот посмотрел я на такой график результатов сдачи тестов PISA в зависимости от трат на образование:

graph

И нарисовал свой, не менее высоконаучный:

hui-graph

Можно уже в датые сатанисты идти?

Паяю самовар

sam-soldering

Годы работы в структурах Роскомикса накладывают отпечаток. Сначала два раза гидравлические испытания, на завтра запланированы огневые :)

А вот у яндекса с facial recognition все плохо

Пока вконтакте ищет обнаженные фото ваших знакомых – яндекс запутался в двух Андреях Колесниковых (за наводку спасибо @Mos_art1):

yandex-kolesnikov

Для тех, кто незнаком с реалиями отечественной журналистики – есть Андрей Иванович Колесников из “Коммерсанта” и Андрей Владимирович Колесников из центра Карнеги. Если первый входит в “кремлевский пул” и пишет красиво и иронично – то второй вызывает только рвотный рефлекс.

Хотите еще крипоты про контекстную рекламу?

Ладно там ссылки на тайные телеграм-каналы! Вконтактик сегодня порадовал, аж шишка дымится.

Иногда вконтактик показывает мне в “вы можете их знать” одну из моих учительниц в 8 классе. Это логично – несколько общих “друзей”, почему бы не показать? Но сегодня умные алгоритмы зашли чуть дальше и подкинули мне ее фотосессию с легким ню – фотограф выложил, не указывая, разумеется, модель. Пацаны, если бы мне это показали в 8 классе… (хотя и сейчас очень даже ничего).

Впрочем, загадок тут гораздо меньше – современный facial recognition весьма и весьма продвинут, а совместить “вы можете их знать” и ню-фотосессию – вполне логичный шаг для вконтактика.

И еще про анонимность

Кстати, посмотрел тут на выходных в очередной раз “Профессионала” с Бельмондо и “День Шакала”. Сюжет, в принципе, достаточно близок – симпатичный киллер собирается убить несколько менее симпатичного политика, в процессе водит спецслужбы за нос, и все это на фоне Парижа, где даже бомжи – не какие-то там обыкновенные бомжи, а настоящие французские клошары. “Профессионал” местами похож на веселую комедию, а вот “Шакала” – точнее, его литературный первоисточник – в свое время даже называли руководством для кого-нибудь, желающего скрыть личность. Скажем, описанный в книге способ получения британского паспорта довольно надежно работал вплоть до начала 2000-х (и им прекрасно пользовалось даже КГБ – скажем, паспорта на имя Хитфилда и Фоли были получены именно таким способом).

Вот интересно, нет ли более современных книг, где так же легко и непринужденно описывались бы методы “оперативно-розыскной” деятельности, но в “цифровую” эпоху? Причем для разнообразия хорошо бы представить, что спецслужбы имеют неограниченный доступ к данным всяких гуглов, фейсбуков и яндексов, не говоря уж о сотовых операторах. Подозреваю, что в 2020 году Шакалу пришлось бы куда сложнее.

Анонимности в интернете не существует

Вот написал тут на днях про утечки по скрытым каналам – а сегодня увидел подтверждение. Одна знакомая ведет очень откровенный телеграм-канал (про Базы Данных и Системы Мониторинга, разумеется), но, будучи по воспитанию филологом, очень стесняется этого – например, в принципе не делится ссылками на канал с теми своими знакомыми, кто “не в теме”.

Но рекламироваться-то надо! Поэтому реклама канала размещается в фейсбуке с нужными ключевыми словами и нужными фильтрами по аудитории – но довольно широкими – условно говоря, в сети БДСМа пытаются завлечь “околоайтишников” из России, в возрасте от 18 до 50 лет, мужского пола и так далее, суммарно таких, я думаю, порядка нескольких сотен тысяч. Показов не очень много, так что вероятность “попадания” довольно низка – и тем больше меня удивила показанная в фейсбуке реклама – “Филолог бьет плеткой программистов!!!111АДИНАДИН” – зашел, посмотрел – да, это именно тот тайный телеграмчик. Пытаюсь понять, где же я ухитрился попасть в целевую аудиторию канала – и не нахожу ответов. Если считать телеграм и фейсбук независимыми в их слежке за пользователями – то явных связей фейсбук вообще видеть не должен, мы там не знакомы (а доступа к контактам у него на моих устройствах нет). Упомянутое в предыдущей записи слово “блокчейн”? Тоже очень слабый признак. Вероятность “случайного” попадания, напомню, очень низка.

В общем, очень удивлен тем, как ловко хитрые алгоритмы фейсбука подсунули мне нужную рекламу. Обычно фейсбук все же попадал пальцем в небо.

Про блокчейн

Пытаюсь понять, что же такое блокчейн и криптовалюты (да, я слоупок :) ). Я правильно понимаю, что пресловутый “блокчейн” – это просто список из каких-то “блоков” с данными (возможно даже произвольными), где каждый блок, помимо данных, содержит собственный хеш и хеш “предыдущего” блока, и вот под это описание подпадает много чего, включая системы контроля версий?

https://www.fossil-scm.org/a/doc/trunk/www/blockchain.md

И второй вопрос: всякого рода “криптовалюты”, “системы на базе блокчейна” и все в этом роде – это же просто описания неких “правил игры”, касающихся записей в блокчейне и их значения?

Про “инженера из центра Хруничева” и его обжигающую правду

Наблюдаю растаскивание по интернетам подборки твитов некоего Ильи Харламова, в 2003 году поработавшего в центре им. Хруничева (видимо, не очень долго), а недавно написавшего целый твиттерный тред “про скорый конец Роскосмоса”:

https://twitter.com/ilyakharlamov/status/1266821702216028162

Так вот, от этой “подборки фактов” ощущение довольно однозначное – чувак поработал немного на Хруничеве, затем, обиженный далеко не космической зарплатой, “ушел в айти”, а теперь решил слегка хайпануть на модной теме “Илон Маск против Роскосмоса”. Про состояние дел в Роскосмосе он знает только (!) по всякого рода СМИ, часть про тоннели до “Восточного” – вообще высосана из пальца, каких-то серьезных “инсайдов” он выдать не в состоянии – но пометочка “бывший инженер космического центра им. Хруничева” заставляет читателя относиться к этой чуши серьезнее.