Pull to refresh
91
0
Владимир Парфиненко @cypok

Системный программист

Send message

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views366K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 357: ↑350 and ↓7+343
Comments283

Налоговый и валютный резидент РФ —последствия приобретения и утраты статусов — полный FAQ с примерами

Reading time27 min
Views28K

Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.

Читать далее
Total votes 51: ↑46 and ↓5+41
Comments47

Астрологи объявили сезон Java на Хабре

Reading time13 min
Views52K

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

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

Победителя сезона ждут призы, а всех участников — повышенные охваты постов. Судьба Java-хардкора в ваших руках: исход соревнования решат читатели.

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

Узнать про сезоны
Total votes 60: ↑55 and ↓5+50
Comments15

Bash отладчик с поддержкой произвольных точек останова

Reading time4 min
Views9.3K

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

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

Что вам нужно знать про молочные зубы у детей (и современный медицинский подход)

Reading time7 min
Views42K
image
Дети просто полны зубами. Зубы как-то помещаются в черепе, но всё равно почти торчат в ноздрях и глазницах. Тут, например, 48 зубов одновременно, и это абсолютно здоровый пациент.

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

Цепочка довольно простая:

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

Поэтому сегодня я буду рассказывать, что нужно делать из бесплатного с ребёнком на старте, чтобы потом не тратить кучу денег и сил на лечение в будущем.
Читать дальше →
Total votes 119: ↑115 and ↓4+111
Comments58

Откуда берётся стремление к чрезмерной заботе о детях

Reading time16 min
Views54K
image

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

Мой район в то время ещё только застраивался, поэтому у нас было множество недостроенных домов для изучения. Когда строители покидали стройку по окончанию рабочего дня, мы на велосипедах ехали, чтобы посмотреть на то, что они успели сделать, и полазить по каркасам домов, вырастающих из покрытых грязью участков. Интереснее всего было исследовать двухэтажные дома. Нужно было взбираться по лишённым перил, недоделанным лестницам, чтобы наверху иметь возможность походить по балкам и покидаться вещами в своих приятелей.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments335

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Reading time8 min
Views142K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

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

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

Итак, сегодня я покажу, как отрисовывать подобные картинки:


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

Wi-Fi повторитель: плюсы и минусы

Reading time4 min
Views119K
Привет, Geektimes! Недавно мы говорили про нестандартное примнение электросети дома: с помощью Powerline-адаптера TP-Link мы прокидывали Wi-Fi через розетку.

image

В комментариях меня спросили, почему для такого элементарного действия я не воспользовался обычным WiFi репитером. Что ж, сегодня разберёмся, как работает такая штука, в чём её плюсы и минусы.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments2

Вайфай мне в розетку: прокидываем интернет нестандартным путём

Reading time4 min
Views92K
Привет, Geektimes! Сегодня я хочу рассказать об одной штуковине, которая меня здорово выручила и помогла «починить» беспроводную сеть дома у родителей.

image

Картинка из комментариев к посту apcsb на Хабре про неочевидные нюансы WiFi

Началось всё с того, что один из провайдеров подключил очень-очень много квартир в доме и каждому повесил WiFi роутер в прихожей, вне зависимости от того, нужен он там или нет. Просто всем по сплиттеру оптики в витую пару, роутеру и выкидышу на телефонную розетку, пользуйтесь. В результате 2.4 ГГц диапазон оказался загажен настолько, что о 40 МГц полосе и думать не приходилось…
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments43

Как обойти блокировки сайтов, не направляя весь трафик через VPN

Reading time3 min
Views122K
Обход блокировок — насущная необходимость. Возможно, сегодня в вашей стране заблокировали ресурсы, которые вы не так часто посещали, однако мир нестабилен и завтра в списке могут оказаться ваши любимые сайты и приложения.

На Хабре, да и не только на нем, есть множество инструкций, как обойти блокировки с помощью VPN, в частности, с помощью OpenVPN, есть и прекрасные пошаговые консольные скрипты установки OpenVPN. Однако чаше всего подобные инструкции подразумевают, что в результате весь интернет-трафик будет идти через VPN-соединение, что может быть неудобным по ряду причин. И в этом коротком посте я хотел рассказать, как настроить OpenVPN Access Server и обычный OpenVPN для обслуживания только заблокированных ресурсов.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments52

Хардкорные Java/JVM задачки

Reading time10 min
Views24K

Перформансные задачи от Контура уже были, настала и наша очередь: представляем хардкорные задачи с Java-конференции JBreak 2018, aka «ад от Excelsior».


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


Задача 1


Ваш коллега начитался Java Language Specification и написал следующее:


void playWithRef() {
    Object obj = new Object();
    WeakReference<Object> ref = new WeakReference<>(obj);
    System.out.println(ref.get() != null);
    System.gc();
    System.out.println(ref.get() != null);
}

А разгребать вам: какие результаты исполнения возможны?

Правильный ответ и еще больше хардкора!
Total votes 40: ↑35 and ↓5+30
Comments23

Почему важно проверять, что вернула функция malloc

Reading time13 min
Views35K
malloc

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это шестая часть, которая будет посвящена функции malloc. Вернее, тому, почему следует обязательно проверять указатель, возвращаемый этой функцией. Скорее всего, вы не догадываетесь, какой подвох связан с malloc, потому рекомендуем познакомиться с этой статьей.

Примечание. В статье под функцией malloc часто будет подразумеваться, что речь идёт не только именно об этой функции, но и о calloc, realloc, _aligned_malloc, _recalloc, strdup и так далее. Не хочется загромождать текст статьи, постоянно повторяя названия всех этих функций. Общее у них то, что они могут вернуть нулевой указатель.
Читать дальше →
Total votes 81: ↑74 and ↓7+67
Comments262

Бесплатная YouTube-трансляция Joker 2017: Java 9, Concurrency, GC, Spring и, конечно, паззлеры

Reading time7 min
Views22K


Круг замкнулся. Ровно год назад мы провели открытую трансляцию Joker 2016 для всех тех, у кого не было возможности зарегистрироваться. С тех пор мы провели более десятка трансляций с конференций по .NET, JavaScript, DevOps, мобильным технологиям, тестированию и Java, само собой.

Что стало лучше за год? Мы отработали технологию, пофиксили пару уязвимостей, начали транслировать через YouTube (а не через кастомный интерфейс), научились задавать вопросы от участников трансляции, забанили добрую сотню троллей, научились проводить интервью в перерывах без задержек и проволочек, начали делать трансляцию в 1440р… наверное, есть что-то еще.

Собственно, уже совсем скоро вы сможете увидеть, что у нас получилось — 3 ноября в 9:30 утра мы начнем двухдневную бесплатную трансляцию главного трека Joker 2017. Трансляция будет идти с одним перерывом «на сон». А еще она будет в разрешении 1440р, так что в кои-то веки вам понадобятся ваши крутые мониторы.

В программу вошли доклады Cay Horstmann, Алексея Шипилёва, Баруха jbaruch Садогурского, Тагира lany Валеева, Николая xpinjection Алименкова, Евгения EvgenyBorisov Борисова, Сергея Milfgard Абдульманова и еще кое-кого.

Интересно? Давайте под кат.
Total votes 46: ↑44 and ↓2+42
Comments1

Квадрокоптер на MultiWii SE v2.5 — от задумки до первого полёта

Reading time6 min
Views22K
Некоторое время назад, натыкаясь на просторах интернета на статьи и видео о коптерах, думал, что это сложно и доступно не каждому. Но желание стать коптероводом было велико и после изучения массы материала на эту тему сделал для себя вывод, что необходимо для постройки квадрокоптера, именно постройки с нуля и самому, покупать готовый вариант не хотел. Теперь хочу поделиться с Вами своим опытом постройки квадрокоптера на MultiWii SE v2.5. В статье постараюсь подробно описать весь процесс постройки квадрокоптера с нуля до первого полёта абсолютному новичку в этой теме, каким был сам некоторое время назад.


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments31

Пропажа одиннадцатого числа месяца и других дат

Reading time6 min
Views37K


В ноябре 2012 года Рэндал Монро опубликовал комикс xkcd с календарём, в котором размер чисел каждого месяца был пропорционален тому, как часто это число упоминается в книгах по своему имени (например, «14 октября») в базе данных Google Ngrams с 2000 года. Большинство крупных дат довольно очевидны: 4 июля, 25 декабря, первое число каждого месяца, последнее число почти всех месяцев, ну и 11 сентября, оставляющее всех позади. Не так уж много дней выглядит сильно меньше остальных. К примеру, 29 февраля – крохотная точка. Но если приглядеться, можно увидеть, что 11 число каждого месяца относительно маленькое. К комиксу шло примечание: «Во всех остальных, кроме сентября, месяцах, 11-е упоминается гораздо реже остальных дат. Так было и до 11 сентября [2001], и я не знаю, почему это так». Я покопался в данных, и думаю, что разобрался, почему.
Читать дальше →
Total votes 89: ↑85 and ↓4+81
Comments32

Статический анализатор HuntBugs: проверяем IntelliJ IDEA

Reading time9 min
Views16K

Как многие помнят, некоторое время я развивал статический анализатор Java-байткода FindBugs. Однако проблем в FindBugs накопилось столько, что я решил, что будет проще написать новый анализатор байткода. Я не очень творчески назвал его HuntBugs. Разработка ведётся на GitHub. Он пока в ранней стадии разработки, иногда глючит и покрывает примерно 35% диагностик из FindBugs, но при этом добавляет свои интересные штуки. Попробовать можно на вашем Maven-проекте с помощью команды mvn one.util:huntbugs-maven-plugin:huntbugs (отчёт пишется в target/huntbugs/report.html). Альтернативно можно собрать вручную из гита и запустить приложение командной строки one.util.huntbugs.HuntBugs, которому можно подавать на вход JAR-файлы или каталоги с .class-файлами.


Как-нибудь потом, когда проект несколько повзрослеет, я расскажу о нём более подробно. А в этой статье я покажу, чего интересного нашёл HuntBugs в IntelliJ IDEA Community Edition. Я скачал с официального сайта и поставил последнюю версию этой IDE, а затем натравил HuntBugs на файл lib/idea.jar, в котором почти всё и лежит. Я люблю тестировать статический анализ на IDEA, потому что это IDE, в которой самой есть очень неплохой статический анализатор и разработчики им явно пользуются. Интересно посмотреть, что остаётся после него.

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments46

Аккумуляторы AA/AAA через 7 месяцев хранения

Reading time2 min
Views64K
В прошлом году я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA). Тогда я измерял ёмкость аккумуляторов сразу после зарядки, а так же через неделю и месяц хранения.

Я провёл дополнительный тест большинства моделей аккумуляторов через семь месяцев после зарядки. Результаты получились интересными.



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

Instagram Like Bot

Reading time1 min
Views66K
Все началось с того, что супруга завела аккаунт в Инстаграме, начала постить кучу фоток и обижаться, если я вовремя их не лайкую. Пришлось заняться автоматизацией семейных отношений.

Заказчик в моем лице определил следующие требования:
1. Симуляция работы в Инстаграме как обычный пользователь, лайкание в одном треде (чтобы Instagram не забанил моего бота).
2. Возможность авто-лайкания произвольного количества аккаунтов с произвольной глубиной лайков.
3. Запуск через шедулер, работа в бэкграунде.

Выбор пал на nodejs. Почему nodejs? Потому на Perl'е (который я использую время от времени уже несколько лет) делать не хотелось, а nodejs привлек внятным менеджеров пакетов, нативной поддержкой JSON и вообще Javascript в браузере роднее чем какой-нибудь Python.

Читать дальше →
Total votes 44: ↑28 and ↓16+12
Comments34

Альтернативный терминал для Windows

Reading time18 min
Views436K
Часто путают терминал и шелл. В тех же *nix есть шеллы (bash, csh, zsh, …) и терминалы (konsole/guake/yaquake/tilda и т.д. и т.п.) Для мира Windows общеизвестный терминал только один – стандартное консольное окошко, которое часто ошибочно называют «cmd.exe». И мало кто знает о существовании множества других эмуляторов терминала. Известных шеллов больше, их целых два: cmd.exe и powershell.exe. И хотя есть как минимум три порта bash (MinGW, CygWin, GIT) многие юниксоиды предпочитают ругать cmd.exe.

Меня не устраивал ни один из найденных альтернативных терминалов (как в 2009-м, когда я начал работу над ConEmu, так и сейчас). Казалось бы требований немного, вот основные:
Читать дальше →
Total votes 182: ↑175 and ↓7+168
Comments194

Грандиозное тестирование аккумуляторов AA/AAA

Reading time6 min
Views295K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Total votes 217: ↑215 and ↓2+213
Comments71
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity