программирование

Постов: 144 Рейтинг: 423795
7077

Программирование Автоматизация Профессиональный юмор

Развернуть
Программирование Автоматизация Профессиональный юмор

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

Программирование Автоматизация Профессиональный юмор

Чтобы создать максимально вирусный твит, я написал программу, которая проанализировала бы историю за несколько лет и самые популярные твиты, чтобы создать один по-настоящему феноменальный. И вот результат:


Ошибка выполнения

В: Ребята, посоветуйте книгу которая заставила вас плакать

O: "Структуры данных и алгоритмы в Java", 2-е издание

Программирование Автоматизация Профессиональный юмор
Программирование Автоматизация Профессиональный юмор

— Что случилось?

— (вздох) Они повысили меня до особенности

— Нет!

Программирование Автоматизация Профессиональный юмор

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


— Ваш билд провалился, точно так же, как и предыдущий.

Программирование Автоматизация Профессиональный юмор

Разница между Java и JavaScript такая же, как между пивом Corona и коронавирусом.

Программирование Автоматизация Профессиональный юмор

1) Разработчик программного обеспечения

2) Профессионал по поиску в Гугле

Программирование Автоматизация Профессиональный юмор

1) Я, кричащий на свой код, потому что он не делает того, что я от него хочу.

2) Мой код, делающий в точности то, что он запрограммирован делать

Программирование Автоматизация Профессиональный юмор

Рисунок 1 — Плата устройства

Большой опыт работы в сфере промышленной автоматизации и АСУТП, казалось бы, должен способствовать тому, что со временем уже много всего видел и много всего знаешь. Но не тут-то было. Оказывается, иногда могут возникать задачи и проекты, которые трудно реализовать стандартными средствами. Так под один крупный проект по мониторингу и управлению в «облаке» одного небезызвестного завода N требовалось найти подходящее железо. Однако оказалось, что в России по требованиям помехозащищенности устройства и открытости системы ничего подходящего не существует. Попытка заказать идеально подходящее нам устройство из-за рубежа провалилась, поскольку на территорию нашей страны оборудование с пометкой «IoT» весьма трудно ввести в промышленных масштабах. Другие же поставщики не устроили сроками доставки в 12 недель при небольших объемах и ценой. Поэтому в голове родилась и плотно осела мысль о создании своего устройства. Причем такого, чтобы оно было универсальным и подходило не только конкретно под этот один проект, а под множество других. В итоге от момента зарождения идеи, подбора поставщиков и корпуса, разработки платы, её отладки и тестирования, написания инструкций и технической документации прошло весьма много времени. Но зато теперь я держу с легким трепетом в руках полностью законченное и рабочее устройство, и могу заявлять, что мы это сделали!

Почему именно Raspberry?


Raspberry Pi – это небольшой и дешевый универсальный микрокомпьютер, гибко настраиваемый под любые задачи. С 2014 года он выпускается как самостоятельный вычислительный модуль Compute Module, то есть из привычной платы с различными интерфейсами и разъемами осталось только самое важное: процессор, ПЗУ и ОЗУ. Такое исполнение позволяет использовать это устройство для любых мыслимых и немыслимых задач, все лишь упирается в возможности фантазии для создания обвязки вокруг модуля. Стоит также заметить, что с момента выхода в свет первой версии устройства вышло уже три версии модулей, а после выхода Raspberry Pi 4, вероятно, стоит ожидать еще и четвертую версию в скором времени. Всё это говорит о том, что разработчики активно развивают свой продукт, увеличивают его мощность и быстродействие, и что их устройство пользуется определенной популярностью у людей. Эта популярность не беспочвенна: за всё это время они зарекомендовали себя как надежные устройства, способные решать задачи различного уровня в любых условиях, даже в космосе. Также программировать на Raspberry Pi условно просто, они обладают большим количеством интеграторов по всему миру.


Открытая операционная система Linux позволяет устанавливать на устройство абсолютно любое программное обеспечение в зависимости от требуемой задачи. Например для решений в области умного дома возможны стыковки с OpenHab, Home Assistant, iRidiumMobile, NodeRed и др. Для промышленности возможна установка SCADA-систем, таких как CODESYS, Rapid SCADA, OpenSCADA с возможностью использовать устройство как шлюз для передачи данных на верхний уровень по протоколам MQTT, http, REST API или CoAP. Также возможна интеграция с различными облачными сервисами.

Что по интерфейсам?

Программирование Автоматизация Профессиональный юмор

Рисунок 2 — Вид платы сверху и снизу

Устройство в минимальном исполнение поддерживает следующие интерфейсы:


- RS485 х 2;

- RS232 х 1;

- CanBus х 1;

- 1-Wire х 1;

- USB х 1;

- Ethernet х 1;

- SMA x 2;

- SIM х 1;

- miniPCIe х 2;

- HDMI 4k х 1;

- MicroUSB х 1;

- MicroSD х 1;

- GPIO х 1.

- LED х 1 (программируемый);


Вышеописанные интерфейсы позволяют внедрить устройство практический в любой проект. А дополнительные аппаратные модули для установки в слоты Mini PCI-e от сторонних производителей решают проблему с наличием связи и интернета у устройства. Такой путь с установкой модулей связи нами был выбран не случайно, поскольку наличие USB-адаптеров (так называемых «свистков») является не очень надежным и качественным вариантом, а установка промышленных роутеров по типу Robustel R2000-3P является дорогостоящим (около 12 т.р.). Поэтому мы остановились на установке двух разъемов под модули Mini PCI-e, которые можно использовать по собственному желанию:


3G, LTE, GPRS модуль (HUAWEI MU709s-2, цена: 2,5 т.р.);

Wi-Fi модуль с возможностью подключения к нему направленной антенны;

NB-IoT модуль;

LoraWan модуль для построения сети «интернет вещей».


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

Дополнительные решения

- Аппаратный watchdog;

- Аппаратные часы реального времени;

- Энергонезависимая память EEPROM;

- Металлический корпус и крышки (алюминий 3 мм);

- Диапазон питания 9-36 В;

- Температурный диапазон -25...+80°C (по документам, тесты еще не проводились).

Программирование Автоматизация Профессиональный юмор

Рисунок 3 — Устройство AntexGate в корпусе

Гендир: Мы купили автобус, потому что производитель заверил, что он быстро едет и мы все поместимся. Теперь мы быстро доберёмся до цели.

Главный продажник: Дык а чего мы едем вокруг то? Цель там, а мы куда?

Прог: Ну просто дорога вокруг же и надо по ней ехать жеж...

Главный продажник: Что за ересь? Соседи вон напрямик же едут! Ты, прог, сделай так что бы и мы могли к цели двигаться, а не вокруг.

Прог: Но у них же трактор на гусеницах. Ну ладно, сейчас тут и тут поправим, это прикрутим, это подогнём... Вот, вроде всё. Как и просили, теперь тоже можем напрямик ехать.

Гендир: Я не понял, а что мы со скоростью таракана едем? Изготовитель обещал 80 км/ч!

Программист: Ну тут ведь это... гусеницы поставили, а они ж того..

Гендир: Что ты тут мне лапшу вешаешь? Производитель же заверил, что быстро ехать будем. Это ты просто ничего не умеешь и надо спеца пригласить!!!!

Спец-автоматизатор: Оооо, друзья, это же извечная проблема всех контор. Посмотрите как живут настоящие счастливчики. За скромную плату мы вам прикрутим пропеллер и будете летать как все настоящие конторы на вертолёте.

Гендир: Что-то я не понял, а что за фигня сверху крутится, шумит, а мы теперь ещё и провода с деревьями должны объезжать?

Автоматизатор: Так известное дело! Просто ваш программист же понаворотил всякой ерунды, вот разбега и не хватает для взлёта.

Главбух: А на прошлой работе мы тележку прицепили сзади и собирали грибы по по пути. И было так классно! Давайте программиста попросим тележку прицепить? Или лучше настоящих спецов пригласить из майкрософта?

Устроился на работу сотрудником почты. На окраине города стоит полупустое здание, там начальство решило сделать архив. Рабочие привезли туда огромную груду мешков с письмами, которые требовалось отсортировать и занести в базу. Процесс таков: имеется пачка писем, обвязанная шпагатом. У каждой пачки есть накладная со штрихкодом, в котором зашифрована информация по этой пачке. Нужно 1) нажать в программе кнопку "сканировать штрихкод" 2) провести сканером по накладной 3) подождать 10-30 секунд пока программа расшифрует ШК 4) нажать кнопку "внести данные" 5) подождать 30-90 секунд 6) написать на пачке диапазон номеров, которые программа присвоила этим письмам (10-15 сек) 7) нажать кнопку "закрыть накладную" (5-10 сек), выйти назад в меню 8) следующий цикл.


Как видите, все эти ожидания плюс время на нажатие кнопок отнимает много времени. Во время 10-30 и 30-90 секундных перерывов можно занять себя открывая очередной мешок в другом конце комнаты и вытаскивая новые пачки, однако приходится бегать туда сюда и жать кнопки. Тогда я написал скрипт, автоматически определяющий когда закончился предыдущий шаг (распознавание экрана), жмущий нужные кнопки, а также назначил горячие клавиши, которые быстро выходят в меню и начинают новый цикл. Также я наловчился писать цифры загодя на основе диапазонов предыдущих пачек и количества писем в текущей. Теперь процесс выглядит так: сканирую ШК, иду занять себя другими делами (вскрытие мешков, написание цифр на следующих накладных, складирование готовых), программа в это время сама проходит полный цикл, возвращаюсь, сканирую следующий ШК и т.д. Скорость работы приблизилась к теоретическому пределу: теперь все упиралось в скорость работы программы, ускорить которую я не мог. Но этого вполне хватало, программа постоянно что-то обрабатывала, а я выполнял другие работы.


Также были бракованные накладные или пачки писем вообще без накладных. Приходилось брать каждое письмо 1) сканировать его ШК 2) клик "ввести данные" 3) 1-2 секунды программа думает 4) вылезает окно с характеристиками письма, тут ничего не делаем, все письма одинаковые, жмем "сохранить письмо" 5) следующий цикл

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


Но мне и этого показалось мало. Мало приятного в двухсекундном пялении в монитор. Открыл блокнот, занес туда штрихкоды писем, каждое письмо требует треть-полсекунды. Затем пишется еще один скрипт, который заносит в программу из блокнота по письму каждые 2 секунды, а я иду пить чай (а писем очень много, 10-30 тысяч, их накопилось достаточно за три года). Или не иду. Принес с собой ноутбук, пока скрипт работает над другой пачкой писем, открываю на ноуте блокнот и вношу туда следующую партию. Скорость работы выросла еще больше.


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


Мои посты по автоматизации


Автоматизация с AutoHotKey

https://pikabu.ru/story/avtomatizatsiya_rutinyi_s_autohotkey...


Распознавание экрана в AutoHotKey https://pikabu.ru/story/avtomatizatsiya_rutinyi_s_autohotkey...

Здравствуйте! Сегодня я хочу познакомить вас с замечательным инструментом автоматизации под названием AutoHotKey!

С ним вы сможете:

1) Программировать действия мышкой, нажатия клавиш;

2) Быстро заполнять однотипные бланки, формы;

3) Ставить на горячие клавиши заклинания, кастовать их в течение миллисекунд после перезарядки (что бывает критично);

4) Автоматизировать какие-либо рутинные действия и идти пить кофе.


Сразу предупрежу - писать скрипты поначалу очень капризное занятие. Будут такие ситуации, что код почему-то не работает, и вам придется думать полдня где вы совершили ошибку. Листать документацию. Просить помощи в интернете. Проверять синтаксис.

Однако вложенное время окупается с лихвой. При достаточном освоении AutoHotKey сэкономит вам кучу времени и нервов.


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


Итак, начнем. Ссылка на программу:

https://autohotkey.com/download/ahk-install.exe (3 Мб)


Написание кода ведется в файлах *.ahk, которые редактируются обычным блокнотом.

Создайте текстовый файл и измените его расширение.

Программирование Автоматизация Профессиональный юмор

Затем откройте его с помощью блокнота. Теперь вы готовы к работе!

Перейдем к практике.

Напишите


F1:: Send Здравствуйте{!}


Сохраните изменения. Запустите скрипт двойным кликом. Встаньте на какое-нибудь текстовое поле и нажмите F1. Первый опыт скриптинга у вас уже есть.

!, #, ^, +  это служебные знаки. Для того, чтобы напечатать их, нужно оформить их скобками.

Для выключения скрипта нажмите на его иконке возле часов, затем Exit.


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


1) Добавьте к скрипту

F12:: Suspend, Toggle

, чтобы ставить/снимать его с паузы клавишей F12


2) Чтобы горячая клавиша не блокировалась скриптом и выполняла также свою обычную функцию, пишите ~.

~F3:: Send {Down}


3)

1::

Send {Tab 5}привет{Enter}  ;пять раз таб, привет, энтер

Click 100, 100  ;клик по заданным координатам, отсчитывается слева-сверху

Click, 2  ;клик два раза

Click right  ;клик правой кнопкой

Send {Down}{Left}{Up}

Send {PgUp}{PgDn}

Send {Space}{Del}

Send {b down}

Sleep, 1000  ;зажать b, ждать 1 секунду, отпустить

Send {b up}  

Return  ;конец списка команд, вызываемых кнопкой "1"


Полный список клавиш смотрите в документации. Пуск -> AutoHotKey -> AutoHotKey HelpFile -> Mouse and Keyboard -> Send


4)

^F1::  ;при нажатии на Ctrl+F1

MouseGetPos, X, Y  ;выдаст текущие координаты курсора

MsgBox, %X%, %Y%

Clipboard = %X%, %Y%  ;и скопирует их в буфер обмена

Return


Обратите внимание - по умолчанию координаты отсчитываются от левого верхнего угла активного окна.

Можно заставить скрипт отсчитывать координаты от левого верхнего угла экрана, предварительно прописав:


CoordMode, Mouse, Screen


Вернуться обратно:


CoordMode, Mouse, Window


5) Модификаторы: "^" = Ctrl, "+" = Shift, "!" = Alt.

Send !{Tab}  ;Alt+Tab

Send +{Home}

Send ^{vk56}  ;Ctrl+V


Почему именно {vk56}, а не {v}? Потому что ^{v} будет работать только при английской раскладке, при русской пришлось бы написать ^{м}.

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


Список наиболее часто используемых виртуальных кодов:


Send ^{vk43} ;Ctrl+C

Send ^{vk56} ;ctrl+V

Send ^{vk58} ;ctrl+X

Send ^{vk41} ;ctrl+A

Send ^{vk5A} ;ctrl+Z

Send ^{vk53} ;ctrl+S

Send ^{vk51} ;ctrl+Q

Send ^{vk57} ;ctrl+W

Send ^{vk52} ;ctrl+R

Send ^{vk42} ;ctrl+B

Send ^{vk4E} ;ctrl+N

Send ^{vk4C} ;ctrl+L


Аналогично, если вы хотите сделать буквенную клавишу горячей, лучше обратиться к ней через ее виртуальный код:


vk56::Send {Click}  ;посылает клик при нажатии на "м" или "v".


Полный список виртуальных кодов клавиш: http://www.kbdedit.com/manual/low_level_vk_list.html


6) Быстро разворачиваем фотографии правильной стороной.

В стандартной утилите просмотра фотографий Windows есть опция "Развернуть картинку"

Программирование Автоматизация Профессиональный юмор

NumPad1:: Send ^{,}

NumPad2:: Send ^{.}


Обратите внимание, что эти клавиши работают только при английской раскладке.

Английские точка с запятой расположены справа от клавиши "m" и являются отдельными клавишами. Русская точка и запятая находятся слева от шифта и объединены в одну клавишу.

И еще: чтобы нажать Numpad1 и 2, должна гореть лампочка NumLock.


7)

~1::

Loop,

{

If A_Cursor=Unknown

Click

Sleep, 20

If GetKeyState("2","p")=1

Break

}

F12::Suspend, Toggle


При нажатии кнопку 1 скрипт будет посылать клики, если заметит, что курсор принял форму руки. Нажатие кнопки 2 (и непродолжительное ее удерживание) разрывает цикл.

Осторожно, если вы наведете мышь на ссылки браузера при активном цикле, он вам их откроет!


Таким образом я автоматизировал прохождение флеш игры Deanimator.

Достаточно навести мышкой на зомби, и профессор сам стреляет, да еще и со скоростью пулемета!

http://www.de-animator.com/deanimator.swf

Программирование Автоматизация Профессиональный юмор

8)

1::

MouseGetPos, xpos, ypos

MouseClick, left, 130, 70, , 0 ; [WhichButton , X, Y, ClickCount, Speed, D|U, R]

MouseMove, xpos, ypos, 0

Return


Скрипт кликает карточку горохострела вверху экрана и вовзвращает курсор на место.

Цифры 0 в обоих операторах отвечают за скорость перемещения курсора, то есть мгновенно.

Можно закрепить за клавишей 1 горохострел, за 2 - подсолнух и т.д., и быстро без напряга сажать растения.

(координаты 130, 70 вам, скорее всего, придется поменять. Воспользуйтесь пунктом 4)

Программирование Автоматизация Профессиональный юмор

9) Допустим, вам нужно поставить звездочку или другой символ в конце каждой строки.

Программирование Автоматизация Профессиональный юмор

NumPad1::

Send {*}{Up}{End}

Return


Ставим звездочку, переходим вверх, идем в конец строки. Готово!

Если нужно удалить символ в конце каждой строки, пишем:


NumPad1::

Send {Backspace}{Up}{End}

Return


Если нужно удалить два символа:


NumPad1::

Send {Backspace 2}{Up}{End}

Return


10) Нужно щелкать мышью как можно чаще? Не проблема!

Программирование Автоматизация Профессиональный юмор

~1::

While GetKeyState("1","p")=1

{

Click

Sleep 20

}

Return


Данный скрипт посылает клики каждые 20 мс при нажатой клавише "1".

Или можно так. Посылаем клики до тех пор, пока не будет нажата клавиша "2".


1::

While GetKeyState("2","p")=0

{

Click

Sleep 20

}

Return



Ладно, на этом пока все. Будут вопросы - обращайтесь!

Можно даже сделать так: пишите какие типичные рутинные операции нужно разобрать, и они появятся в следующем посте!


P.S.

/*

Многострочный комментарий.

Для выключения участков кода

*/

14733

Программирование Программист Музыка

Развернуть

30 января на YouTube-канале конференции TEDx опубликовали выступление юриста в сфере технологий Дамьена Риля (Damien Riehl). Он рассказал, как с напарником Ноа Рубиным (Noah Rubin) решил остановить судебные тяжбы музыкантов из-за авторских прав, которые «душат творчество и свободу».


Для этого программисты сгенерировали «все возможные» мелодии в MIDI, защитили их авторским правом, а затем сделали «общественным достоянием» — так мелодии не подпадают под права интеллектуальной собственности.


Часто музыканты судятся из-за того, что музыка в их песнях похожа частями или отдельными наборами нот. По мнению Риля, в таких ситуациях есть место не только для умышленной кражи, но и для «ограниченных математических уравнений» — всегда есть шанс, что артисты придумали две похожие мелодии независимо друг от друга. По мнению программистов, именно от таких разбирательств они и хотят спасти музыкантов.


Риль и Рубин разработали алгоритм, который записал все возможные комбинации из восьми нот и 12 тактов. По сути, они использовали тактику брутфорса, перебирая все комбинации до единой. По словам разработчиков, алгоритм генерировал 300 тысяч мелодий в секунду, и их вышло 68 миллиардов.


Авторы проекта опубликовали все мелодии под лицензией Creative Commons Zero, предусматривающей отказ от авторских прав. Как отмечает издание Vice, это самый простой способ сделать что-то фактически «общественным достоянием». К этому программисты и стремились — все свои наработки они опубликовали на Github.


Пока нельзя сказать, сработает ли это во время будущих судебных разбирательств из-за музыки. Также неизвестно, попали ли в сгенерированные комбинации уже созданные и защищённые авторскими правами мелодии. Но Риль и Рубин настроены по этому поводу оптимистично.

11856

IT юмор Не баг А фича Птицы

Развернуть
IT юмор Не баг А фича Птицы
12644

[моё] Своими руками Сделай себе сам

Развернуть

звуковой модуль jq6500 плюс stm32.


идея возникла потому, что стиралка никак не озвучивает окончание стирки и часто я забывал вытащить вещи, они там лежали по пол дня и кисли.


хотел сначала просто мелодию сделать. и тут понеслось...


основная проблема была снять сигналы с платы стиралки. для этого ее пришлось немного исследовать.

включение и выключение по нажатию кнопки POWER, при этом проверяются импульсы динамический индикации на плате. если они есть, значит вкл. иначе выкл.


начало цикла стирки тупо по нажатию кнопки PLAY


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


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


простейший конечный автомат позволил найти нужный момент в этой цепочке.


дальше сложность была в том, как отследить состояние диода. снять с него напряжение без дополнительного ОУ никак бы не получилось.


после исследования платы я понял, что для динамической индикации используется матрица светодиодов 7 на 7.


далее решено было найти 2 входа (вертикаль и горизонталь) , состояние которых как то коррелировало с горением диода. с двухканальным осциллом это было не трудно.


В итоге , все получилось ))

[моё] Своими руками Сделай себе сам

Для питания был взять какой то развязывающий DC\DC преобразователь из 12в в 5в. Линейный стабик не вытянул звуковой модуль)

19047

[моё] Детство Компьютер

Развернуть

По мотивам поста Карьера программиста. Начало.

[моё] Детство Компьютер

Мой брат сисадмин, старше меня лет на 16, от того с юных лет в квартире всегда обитал какой-либо представитель пк.


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


- На компе стоял пароль.

+ Догадался вечером не отключать комп, а отключать только монитор.

* Спалился на том, что ночью за комп сел брат.



- Мать вечером стала выключать комп.

+ Создал отдельного пользователя, жил из под него.

? Брат заметил отдельного пользователя.



- Выдали пользователя без права на создание других.

+ Уловил момент и с авторизованного админа создал новую учетку

? Спалился


+ Взял телефон брата с ужасной камерой, положил на верх компьютерного стола, включил запись (она длилась максимум 3 минуты), сверху разбросал книги. 15 минут разглядывания видео, Profit

!! Повторялось очень долго)



- Брат сдался менять пароль, мать стала забирать кабель питания

+ Она его прятала в квартире, час поиска, провод мой

!! Провод, раз в пару недель менял местоположение.

? Слишком много раз спалился.



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



- Провод стал уезжать из дома.

+ Взял запасной кабель у друга.

- Провод друга познал участь собрата

- Другие запасные аналогично

+ Купил пару новых

- Мама открыла змеиный зоопарк кабелей питания, гастролирущий с ней на работу.



- Брат сменил в биосе загрузочный диск.

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



!! Вроде проиграл этот бой, но нннет, теперь брата прекратил технические манипуляции с компом, ибо "Этот мелкий такими темпами квартиру так сожжет к фигам"

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

+ Нашел ключик



- Ключ присоединился к гастролям кабелей

+ Нашел инструкцию, как с помощью двух ножей открывать замок.


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


Закончил учебу, поступил в вуз, отучился на программиста, проработал в одной крупной компании 3 года. Перешел на фриланс.


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


Старый комп использую как простенький сервер. Контактирую с ним только через SSH. Он стоит себе в углу комнаты, и никому не мешает.


На днях простудился, и вот уже какой день работаю над парой проектов в плоть до утра. Девушке сильно не нравится то, что я больной не веду постельный лежим. Сегодня проснулся днем, девушка на работе. В телефоне сообщение: "Я забрала твой ноут, дай организму отдохнуть".


Стряхнул быль со своего старого компа, прикрутил к серверу пользовательский интерфейс, зашел на пикабу, увидел похожую историю, решил поделиться своей!


Хоть моей стационарный старичек уже не торт, но я пойду поработаю, ЯжПрограммист.


Всем всех благ!

6413

Программирование Добрый дедуля Видео

Развернуть

«Цифровой прорыв» — это всероссийский конкурс для IT-специалистов, дизайнеров и управленцев в сфере цифровой экономики.

Финал конкурса специалистов в области IT-технологий «Цифровой прорыв» пройдет в Казани в сентябре. Об этом рассказали в оргкомитете состязания. За право называться лучшими боролись более 300 разработчиков цифрового контента со всей страны. В итоге, в финал вышли только 30 команд. А участник одной из них совершил свой личный прорыв.

76-летний житель Петербурга считается самым возрастным участником конкурса. Биолог по образованию, программист по призванию Евгений Полищук не только легко конкурирует с молодыми специалистами, но и обучает всех желающих языку машин в рекордные сроки.

«Работает, например, в нашем биологическом институте физик. Делает там модель. Приходит ко мне — надо сосчитать. А я вижу, что он сам все это может сделать, надо только подсказать. Поэтому я и изобрел скоростной метод обучения программированию», — рассказывает финалист конкурса «Цифровой прорыв» Евгений Полищук.

О конкурсе Евгений узнал случайно — увидел рекламу в интернете. А в отборочном туре успешно прошел все 50 онлайн-тестов.

6140

[моё] Торрент Программирование

Развернуть

Одни люди частенько создают что-то хорошее, с чистыми и благими намерениями, а другие люди порой находят этим изобретениям совершенно неожиданные для автора применения. Сегодня мы поговорим о человеке, совершившем революцию в технологиях обмена данными в интернете. Как только его не называли: от гения программирования до короля интернет-пиратов. И не удивительно, его детище стало главной головной болью вех правообладателей на свете. Считаю, что таких людей нужно знать в лицо, ведь он имел не последнее место в формировании образа XXI века в том виде, в каком мы его знаем.

[моё] Торрент Программирование

Коэн Брэм родился в 1975 году в Нью-Йорке, в совершенно не пиратской семье компьютерного ученого и педагога. Мальчик рос более чем способным. Начал изучать BASIC с пяти лет на домашнем компе Timex Sinclair. Главной страсть юного дарования были головоломки, любой из которых хватало от силы на полчаса. Учился в престижной математической школе Stuyvesant, в среднем весьма заурядно. Но только не в математике, которую горячо любил, и успешное участи в крутых олимпиадах, вроде American Invitational Mathematics Examination (AIME) тому подтверждение.

[моё] Торрент Программирование

Stuyvesant High School

Далее обучение в не менее престижном Государственном Университете Нью-Йорка Buffalo. Но Брэм забрал документы после второго курса и высшее образование так и не получил. Причина крылась в заболевании - синдром Аспергера (также его называют синдромом Гиков, или синдромом Кремниевой долины). Это такой высокофункциональный аутизм, особенностями которого является низкая социальная адаптация личности и неспособность иметь широкие интересы. Но как бонус появляется способность феноменальной концентрации на очень узких, интересных человеку, темах. А в университете лишней информации, как известно, очень много.

[моё] Торрент Программирование

Коэн Брэм в студенческие годы

Учиться он продолжил самостоятельно, параллельно ища работу. Но служба в офисе его совершенно не устраивала из-за неспособности работать «по часам», соблюдать дресс-код и выполнять бессмысленную работу. А тут, во второй половине 90хх, по руку подвернулся бум dot-com компаний, где были рады талантливым программистам с любыми закидонами. Работал Брэм во многих компаниях, набирался опыта, арсенал языков пополнился Python и Java. Но для нашей истории наиболее интересна его работа в конторе MojoNation. Идея компании: вам надо спрятать информацию от чужих глаз? Для этого файл нужно разбить на многие «кусочки», их зашифровать и распихать эти частички между компьютерами-участниками сети. Ничего не напоминает?)

[моё] Торрент Программирование

Файлообменники и сайты имеют обыкновение урезать скорость скачивания, создавая «бутылочное горлышко», которое никак не избежать из-за наличия в системе всего двух участников. Для скачивания мелочёвок, вроде mp3, это не критично, а если фильм? Брэм, очень хотел создать что-то действительно полезное для людей и решил, что можно разбить файл между компьютерами и совместно скачивать друг у друга. Тем самым обойти «узкое место».

[моё] Торрент Программирование

И началась уже самостоятельная работа, в апреле 2001 он увольняется из MojoNation и живет на скромные накопления. Период «бедного художника» так сказать. Его жена Дженна вспоминала, что он мог целыми днями молча слоняться по квартире, а потом сесть и сразу выдавать рабочий программный код, чистый как слеза ангела.

Чутье не подвело Брэма и первый запуск бета-версии BitTorrent произошел 1 июля 2001 года. Для тестирования новоявленного чуда был выбран самый популярный материал для скачивания: огромная пачка пopнoгpaфии. Особенности торрента думаю, все знают: децентрализованность, бесплатность, высокая скорость, многопоточность, иммунитет к нестабильному интернету и т. д. Но только если все работают командой (ты – мне, я – тебе) и не соскакивают с раздач.

[моё] Торрент Программирование

Народу же Брэм представил свой протокол и BitTorrent-клиент на собственноручно организованной хакерской «конференции» CodeCon в 2002 году. Все сразу оценили новинку, сарафанное радио исправно работало. Особенно линуксоидам понравилось распространять свой софт таким образом. Но самый большой вклад в развитие внесли, разумеется, пираты. Если раньше на загрузку нелегальной копии фильма или чего повкуснее уходили часы, но с торрентом счет пошел на минуты.

[моё] Торрент Программирование

Брэм же, мягко говоря, не ожидал такой популярности своего продукта и в начале 2003 года даже устроился на работу в Valve (да-да, «Half-Life»), не предполагая, что из его придумки получится сделать много денег. Однако кошелек PayPal, указанный на его сайте, получал пожертвования от благодарных юзеров. И не удивительно, что вскоре его семье с тремя детьми их стало хватать для безбедной жизни, ведь к концу 2003 количество скачиваний BitTorrent-клиента превысило 20 миллионов.

Не сразу поверив в такой успех, Коэн Брэм увольняется из Valve в 2004 году и организовывает со своим братом Россом и партнером Эшвином Нэвином компанию BitTorrent Inc., которая с переменным успехом работает по сей день.

[моё] Торрент Программирование

Ну и слава, разумеется)

Не секрет что правообладатели не любят Брэма и вздернули его на мачте пиратского корабля, который он основал. Но формально BitTorrent это технология передачи данных из точки А в точку В, никак и ничего не нарушающая. Сам же Брэм предпочитает не нарушать закон и не участвует в празднике вседозволенности который торрент закатил в интернете. Тем более ему точно не стоит провоцировать всякого рода держателей прав.

[моё] Торрент Программирование

Лучше держаться в тени)Как бы абсурдно это не звучало, но Коэн Брэм ненавидит компьютеры, потому что они «настоящее зло», хотя он очень любит программировать. Досуг он предпочитает проводить, так же как и детстве, за решением головоломок, жонглированием и оригами.

[моё] Торрент Программирование

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

[моё] Торрент Программирование

P. S. не путать с разработчиком торрент-клиента «μTorrent» Людвигом Стригеусом.


Вещал Sklef! Подписывайтесь, если вам нравится читать про интересных и незаурядных людей! Источник: канал на Яндекс.Дзене

13463

Вакансии Программирование Факс

Развернуть

Вспомнилось, что мне коллега-программист лет 15 назад рассказывал, как он позвонил по объявлению "Требуется программист. С++, Visual Basic, SQL", спрашивает, что за работа. Ему отвечают:

- Надо факсы программировать.

- В смысле?

- Надо перед отправкой заказчикам вбивать в память факсов номера.

- И это вы называете программированием?

- Ну да.

- А С++, Visual Basic, SQL тогда зачем?

- А это что такое?

- Это у вас в объявлении написано в требованиях к программисту.

- Ну, не знаю... Мы сказали секретарше - посмотри, как другие пишут объявления о вакансиях программиста и напиши по аналогии.

10071

IT юмор Программирование Видео

Развернуть
IT юмор Программирование Видео
16026

Чужой код

Развернуть
Меня недавно спросили, почему программисты ненавидят работать с чужим кодом. Долго думал, как донести до обычного пользователя всю суть пиздеца. Решил привести небольшую аналогию:

Вот представь, что тебе доверили достроить за другим прорабом лабораторию на острове. Ты приходишь на объект, а там кроме недостроенного здания: огромный вентилятор (размером со здание), большой воздушный шар и комната набитая швабрами. Почесав голову, ты разбираешь этот хлам и доделываешь лабораторию. Сдаешь объект ученным, но через 5 минут они выбегают с криком: "УТЕЧКА ЯДОВИТОГО ГАЗА!!!".
- Как так-то, блять! Должно же работать! - в отчаянии кричишь ты и звонишь прошлому прорабу:
- Вася, у нас ядовитый газ потёк! В чем проблема?
- Не знаю, должно было все работать. Что-то в проекте менял?
- Немного, швабры вынес...
- Швабры потолок держали!
- Что??? Что, блять, извините???
- Говорю, швабры потолок держали. Над ними цистерны с газом были. Очень тяжелые, пришлось в комнату снизу швабры напихать.
- Ты хотя бы записку на двери повесил бы, что швабры для держания потолка! У нас тут ядовитый газ течет! Что нам делать?
- Включай вентилятор. Он сдует газ с острова.
- Я его, блять, демонтировал сразу же!
- Зачем?
- Зачем ты построил 120 тонный вентилятор? Ты не мог положить ящик блядских ПРОТИВОГАЗОВ?
- Ящик противогазов искать нужно, а вентилятор у меня с прошлого заказа оставался.
- Вася, я убрал твой вентилятор! Мы тут задыхаемся!
- Херли вы тогда там делаете? Садитесь на воздушный шар и уебывайте!
2907

Программисты: ожидание vs реальность

Развернуть
1561

Век передовых технологий

Развернуть
Век передовых технологий
4303

Главное, это правильный подход

Развернуть
Главное, это правильный подход
763

Новость №503: Программист написал игровой движок по мотивам шутера DOOM с помощью формул MS Excel

Развернуть
Новость №503: Программист написал игровой движок по мотивам шутера DOOM с помощью формул MS Excel
http://news.nplus1.ru/xNzk
3343

Excel в качестве 3D-движка

Развернуть
Да, Excel. Та офисная программа с таблицами. Некто скрывающийся под ником "C Bel" написал на ней простенькую бродилку.

"Документ" поддерживает:

• генерацию лабиринтов
• рендеринг в реальном времени
• освещение
Подробнейший разбор (на английском): https://www.gamasutra.com/blogs/CBel/20180213/308549/3D_engi...

P.S. Это далеко не первый случай, когда Excel используют в качестве игрового движка. До этого народным умельцам удалось воссоздать его мощностями... X-Com.
10436

Просто оцени правильно время заранее

Развернуть
- Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ?
- Представь что тебе надо разгрузить машину, сколько времени это займет?
- Пару часов
- Это камаз
- 8 часов
- Камаз, груженый песком
- 12 часов
- У тебя нет лопаты и инструментов, только твои руки
- 2 дня
- На улице -40
- 4 дня
- Камаз вообще под водой
- Так же нечестно, ты постоянно придумываешь новые условия! К чему ты мне вообще все это рассказываешь? Вы, разработчики, вечно всякую фигню рассказываете! Вместо этого могли бы просто оценить правильное время на разработку.
2635

Когда автор внушает уважение

Развернуть
Когда автор внушает уважение
3433

Разработка программного обеспечения

Развернуть
Разработка программного обеспечения
Вопрос: Назовите и опишите пять ключевых этапов разработки программного обеспечения.

Ответ:

1. Отрицание
2. Злость
3. Торг
4. Депрессия
5. Принятие
380

Шерлок Холмс: Череп как способ

Развернуть
Шерлок Холмс: Череп как способ
Метод утенка

Метод утёнка — психологический метод решения задачи, делегирующий её мысленному помощнику. Метод описан в книге «Программист-прагматик».

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

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

Аналогичный прием использовал Шерлок Холмс. До появления доктора Ватсона вместо утенка у него другом был череп. Многие наверное Шерлока посчитали странным, минимум не поняли о чем он говорит.

Скидываю интересную ссылку  на видео про Шерлока с черепом и его методах по скольку не могу сразу тут добавлять видео.
https://www.youtube.com/watch?v=IENyti5C_Cw&list=PLZH8x2_2yc...
4433

Суд программиста

Развернуть
Суд программиста