Pull to refresh
3
0
trdm @trdm

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

Send message

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views48K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее
Total votes 91: ↑89 and ↓2+107
Comments48

Зачёркивание и подчёркивание символьными средствами ( ̶т̶а̶к̶ ̶, т̱а̱к̱ или т̲а̲к̲)

Reading time4 min
Views122K

I. В чём проблема



Если социальная сеть, платформа для блогов или форум предоставляют возможность размечать текст при помощи HTML или BBCode, перечёркивать или подчёркивать текст не составляет труда: можно пользоваться тегами s и u обеих разметок или назначать стили в HTML. Но что делать, если у нас есть только голый текст? Или, например, нам нужно зачеркнуть/подчеркнуть слово в заголовке страницы, отображаемом в заголовке вкладки или всего браузера, или оформить слово в заголовке форумного поста — короче говоря, всюду, где не работает разметка?

Можно рискнуть и воспользоваться средствами Юникода.

Читать дальше →
Total votes 54: ↑42 and ↓12+30
Comments58

Взлом YouTube для быстрого скачивания видео

Reading time9 min
Views66K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Читать дальше →
Total votes 123: ↑113 and ↓10+148
Comments421

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

Level of difficultyEasy
Reading time5 min
Views24K

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

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

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments16

Qt на Android: как мы дали вторую жизнь приложению с авторскими медитациями

Reading time11 min
Views14K

Краткое лирическое вступление — в 2017 году мне случилось очень плотно заинтересоваться медитациями. Этому способствовала целая цепочка событий, благоприятных и не очень. Я долгие годы интересуюсь и практикую осознанные сновидения, однако конкретно медитациями в их каноническом виде до этого заниматься не приходилось. В эти дни многие истории начинаются в баре (с) увлечения начинаются с поиска в Google, вот и я начал именно так. Практически сразу нашлись топовые по популярности приложения для занятия медитацями — Calm и Headspace.


Первое послужило неплохое отправной точкой (отличные обучающие медитации для начинающих), второе я не нашел для себя полезным, не понравилась подача. Оба оттолкнули своими платными (и надо сказать весьма дорогостоящими для РФ) тарифными планами. Возможно я просто не отношусь к категории людей, которым нужно заплатить, чтобы подбадривать себя чем-то заниматься :) Продолжная изучать Google play, я наткнулся на два близких мне по духу бесплатных приложения. Первое это "Let's Meditate" — я пользуюсь им по сей день, о втором речь пойдет в теле статьи.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments13

Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит

Reading time9 min
Views46K
Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.

И здесь мы подходим к личности автора, талантливого и суперпродуктивного программиста Марка Руссиновича. Он показал, что один умный парень способен интеллектуально продавить мегакорпорацию. И той придётся заплатить ему огромные деньги, и даже взять на работу. Потому что повторить его программы она не сумела…
Читать дальше →
Total votes 93: ↑87 and ↓6+109
Comments62

Boson — разработка СУБД «с нуля» (часть I)

Reading time9 min
Views18K

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

Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искренне интересовало как они устроены в самом сердце, на самом низком уровне. Почитав документацию и исходный код SQLite и MongoDB, про используемые в индексах и интерпретаторах запросов алгоритмы, осознал, что несмотря на широкую распространенность и некую привычность, системы управления базами данных (СУБД) - это сложные программные продукты, реализация которых не всем под силу. Отлично - как раз то, что мне надо. С мотивацией разобрались, перейдем к делу.

Итак, для начала хорошо бы сформулировать высокоуровневую спецификацию требований. Boson - это легкая, встраиваемая документоориентированная база данных на С/С++

Читать далее
Total votes 71: ↑68 and ↓3+82
Comments60

Заблуждения программистов о времени

Reading time12 min
Views73K

Музей-скансен эпохи Средневековья в Дании в режиме обычной работы (слева) ставит целью воссоздать повседневную жизнь города на стыке XIV и XV веков. Для съёмок фильма (справа) он «погрязнел»

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

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

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

Попытки собрать заблуждения про время и часовые пояса на Хабре уже были шесть и десять лет назад. Но без контрпримеров не так интересно.

Заблуждение 1. В сутках 24 часа или 86 400 секунд


Иногда и кое-где стрелки часов переводят, создавая сутки длиной в 23 и 25 часов — всё очевидно. Будет неплохо углубиться в случаи поэкзотичней.
Читать дальше →
Total votes 152: ↑145 and ↓7+177
Comments313

Как и чем лучше прототипировать сайт в 2022 году

Reading time9 min
Views14K
Вопрос создания прототипа сайта, по сути, является вопросом «Как лучше всего создать веб-сайт?» Правильная постановка вопроса, как известно, содержит в себе половину ответа — этот принцип верен не только в математике, но и постоянно подтверждает себя в реальной жизни. Грань между созданием прототипа сайта и созданием сайта всё сильнее размывается, одно практически невозможно представить без другого. Но пойдём по порядку. Для того, чтобы понять, с чего лучше приступить к прототипированию сайта, надо сперва представить, какой в принципе набор подходов к прототипированию существует. Основных метода прототипирования есть три:

  • Через программы для презентаций (условно, нарисовать в Power Point).
  • Закодированные прототипы (от среднего до продвинутого).
  • Через специализированные приложения для прототипирования (для всех уровней знаний).



Эти три метода неравноценны, и здесь есть, на мой взгляд, очевидные лидеры и очевидные аутсайдеры — в зависимости от того, кто вы, что вы умеете и что вы хотите.
Читать дальше →
Total votes 11: ↑9 and ↓2+12
Comments9

Алгоритмы для поиска палиндромов

Reading time13 min
Views158K
image

Сегодня я хочу вам рассказать об алгоритмах подсчёта количества палиндромов в строке: для чего это нужно, где применяется, как это быстро сделать, какие подводные камни нас ожидают и многое другое. Рассмотрим различные способы для решения данной задачи, выясним плюсы и минусы каждого способа. Эта статья будет обзорной: если я что-то не описываю здесь, то постараюсь всегда дать вам набор ссылок, где всё подробно описано и расписано. Надеюсь, что материал будет интересен как новичкам в сфере алгоритмов, так и матёрым программистам. Что же, если я смог заинтересовать вас, то прошу под кат!
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments26

Динамические библиотеки в Qt

Reading time4 min
Views49K

Введение


До начала работы с библиотекой Qt я программировал различные задачки на С++ в университете, а на работе использовал Delphi. И конечно же, в процессе работы создавались различные библиотеки. Создавались, можно сказать, с трудом. Не хватало в повседневной жизни тех плюсов, которые давало ООП. Всегда хотелось экспортировать из библиотек целые классы, причем делать это просто, быстро и беззаботно. При этом вопросы о создании библиотек на С++ и дальнейшем их использовании в проектах на Delphi или C возникали очень редко.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments6

Правка чужого кода

Reading time6 min
Views18K
Всегда приятно, когда удаётся сделать мир чуточку лучше.


Для одного проекта мне понадобился просмотрщик памяти в DOS. В идеале хотелось бы иметь редактор памяти, чтобы в нём был поиск по ключевым словам, перемещение к заданному адресу. Но для старта мне было бы достаточно хотя бы возможность просмотра всего мегабайта доступной «нижней» памяти.

Старожилы знают, что в комплекте с различными версиями ДОС шли дополнительные утилиты, и среди них была «замечательная» утилита debug, которая убога чуть более, чем полностью. Ещё во времена моей молодости эта утилита вызывала у меня самые противоречивые чувства, то сейчас и подавно. Пользоваться ей без успокоительных очень сложно, с другой стороны, хорошо, что она есть. Но мне возможностей и удобства этой утилиты не хватало, поэтому пришлось искать другой подходящий инструмент. После длительного гугления наткнулся на исходники утилиты RAM View.

К сожалению, исполняемого файла найти не удалось, только исходные коды под Borland C++ 3.1, и как впоследствии оказалось, сама программа содержала ошибки.

Всё это вылилось в интересный квест по поиску старого компилятора, исправления ошибок в программе 25-летней давности и создания запроса на слияние.
Читать дальше →
Total votes 68: ↑67 and ↓1+89
Comments49

Где скачать научную статью легко и доступно?

Reading time1 min
Views81K

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

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

Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.

Читать далее
Total votes 90: ↑90 and ↓0+90
Comments26

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

Reading time25 min
Views118K

Ура! Готов магнум опус про дофамин, по мотивам подкаста Лаборатории Губермана! Это было сложно, долго и дорого, но оно того точно стоило!

В статье содержатся основные факты о дофамине и его воздействии на нас, а, главное, — описаны практические инструменты управления этим воздействием.

Она является конспектом и осмыслением 39 выпуска подкаста “Лаборатория Губермана” (Controlling Your Dopamine For Motivation, Focus & Satisfaction | Huberman Lab Podcast #39), который ведет Эндрю Губерман, профессор нейробиологии Стэнфордского Университета. 

Подстрочный перевод выпуска (35 страниц).

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

Читать далее
Total votes 71: ↑66 and ↓5+73
Comments28

Раздувание кода стало астрономическим

Reading time5 min
Views97K

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

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

… но по сути, речь идёт о том, что нужно зарегистрировать несколько файлов, считать их, загрузить, а затем закрыть соединение и записать в файл лога, всё ли прошло успешно, а если нет, то что именно случилось. В этом нет ничего сложного, и даже я писал с нуля подобный код при помощи Wininet API и PHP на сервере, общающемся с моей базой данных MySQL. Наверно, моя система была не такой надёжной, как системы уровня энтерпрайза, однако поддерживала сотни тысяч загруженных файлов, их верификацию, скачивание и логирование. Наверно, это работа для одного кодера на две-три недели?

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →
Total votes 338: ↑324 and ↓14+385
Comments864

RustDesk — self-hosted аналог TeamViewer

Reading time2 min
Views89K

Представляю вашему вниманию ваш будущий маленький Teamviewer. Полностью открытый, с клиентами на все платформы. Заявлено небольшое потребление серверных ресурсов. Из коробки умеет ходить через наты, как любой уважающий себя AnyDesk. Поскольку ваш сервер, скорее всего ближе к вам географически, то и картинка будет передаваться быстрее, да и зашифрован трафик будет вами же.

Читать далее
Total votes 66: ↑65 and ↓1+86
Comments41

Как я открыл компанию по созданию детских наборов электроники – Часть 2

Level of difficultyEasy
Reading time14 min
Views15K


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

Однако, всё пошло не по плану.
Читать дальше →
Total votes 106: ↑106 and ↓0+106
Comments30

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

Reading time10 min
Views147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Total votes 214: ↑200 and ↓14+186
Comments131

Почему Гэндальф в своей знаменитой фразе использует shall вместо will?

Reading time3 min
Views127K

Уроки английской грамматики застали меня ещё в обычной советской школе, где пионеров учили, что London is the capital of Great Britain, что в первом лице будущего времени следует использовать “shall”, а в остальных лицах используется модальный глагол “will”.

Много позже практика общения сделала для меня очевидным, что советские учебники устарели; “will” используется повсеместно невзирая на лица, а рудимент глагола “shall” способен всего лишь выразить нотку нетерпения в вопросах типа: “Shall we play a game tonight?”

Стоило мне окончательно заменить свой школьный шаблон употребления модальных глаголов “shall” и “will” на клише, отлитое из десятилетий собственной практики, как дивный голос сэра МакКеллена одной-единственной фразой разрушил устоявшийся было стереотип.

Shall или Will ??
Total votes 121: ↑113 and ↓8+130
Comments183

Стоматологические мифы, в которые верят сами врачи

Reading time10 min
Views15K


У нас, бывает, стажируются студенты медицинских вузов, которые до этого работали в стационарах ОМС. И мы время от времени нанимаем врачей из клиник с технологическим уровнем ниже нашего, а потом некоторое время переучиваем. На мой взгляд, у отечественной медицины две серьёзные системные проблемы:

  1. Ориентация на KPI врача по выручке.
  2. Отсутствие целостного подхода к эффективности лечения.

С первым, думаю, вам более-менее понятно. Это классические случаи расширения показаний: «Ваш можно зуб лечить, но лучше сразу вырвать и поставить имплант», это классические передиагностики (назначение избыточных процедур при понятном диагнозе), и самый частый случай — лечение по симптомам.

Лечение по симптомам в стоматологии выглядит так: приходит пациент, у которого есть острая боль. Врач видит один случай кариеса и ещё ряд проблем, которые пока не болят, но дальше будут стоить ему половины челюсти. Боль убирается на первом приёме. А дальше у врача возникает сразу два морально-этических конфликта. Первый связан с тем, что пациент на его «участке», скорее всего, придёт лечить проблему к нему, поэтому если сейчас не говорить, проблема превратится в очевидную с чеком раза в 4 выше минимум. И пациента не надо будет уговаривать на эту сумму лечения. А вторая в том, что если пациенту неочевидно, зачем лечить то, что не болит прямо сейчас, то врач должен дать прогноз. Многим сложно разговаривать, многие понимают, что пациент без боли может и не поверить и пойдёт к другому врачу. В общем, отношения с ним подостынут, и добрым доктором вы для него быть перестанете, потому что он пришёл за простой пломбой, а вы ему про какой-то корень другого зуба. К такому врачу лучше не ходить больше.

В итоге возникает прямо устойчивая практика не говорить пациенту про потенциальные проблемы. В нашей биоэтике — это совершенно недопустимо.
Читать дальше →
Total votes 33: ↑32 and ↓1+43
Comments44
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Specialist
Middle