Pull to refresh
3
0

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

Send message

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

Level of difficulty Easy
Reading time 5 min
Views 44K

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

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

Читать далее
Total votes 109: ↑107 and ↓2 +105
Comments 47

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

Reading time 4 min
Views 121K

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



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

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

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

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

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

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

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

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

Level of difficulty Easy
Reading time 5 min
Views 23K

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

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

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

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

Reading time 11 min
Views 13K

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


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

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

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

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

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

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

Reading time 9 min
Views 18K

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

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

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

Читать далее
Total votes 88: ↑85 and ↓3 +82
Comments 60

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

Reading time 12 min
Views 72K

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

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

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

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

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

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


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

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

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

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



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

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

Reading time 13 min
Views 156K
image

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

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

Reading time 4 min
Views 49K

Введение


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

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

Reading time 6 min
Views 17K
Всегда приятно, когда удаётся сделать мир чуточку лучше.


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

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

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

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

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

Reading time 1 min
Views 71K

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

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

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

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

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

Reading time 25 min
Views 111K

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

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

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

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

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

Читать далее
Total votes 83: ↑78 and ↓5 +73
Comments 28

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

Reading time 5 min
Views 97K

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

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

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

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

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

Reading time 2 min
Views 86K

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

Читать далее
Total votes 88: ↑87 and ↓1 +86
Comments 41

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

Level of difficulty Easy
Reading time 14 min
Views 15K


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

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

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

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

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

Reading time 3 min
Views 126K

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

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

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

Shall или Will ??
Total votes 146: ↑138 and ↓8 +130
Comments 183

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

Reading time 10 min
Views 15K


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

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

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

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

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

Information

Rating
Does not participate
Registered
Activity

Specialization

Specialist
Middle