2024-09-09

AR.js

AR.js - это JavaScript библиотека которая позволяет создавать дополненную реальность прямо в браузере мобильного телефона.

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

 

Оставить комментарий

 
  2024-09-04

Распечатай Линейку

Сегодня придя в офис обнаружил в принтере забавный листок. Кто-то распечатал себе линейку и забыл забрать.

Сколько раз мне нужна была линейка и приходилось изощряться используя спичечные коробки, клечатую бумагу и тому подобное. Здорово, что кто-то догадался, что можно просто распечатать себе линейку! Просто распечатываешь на листе А4, складываешь и измеряй, что хочешь, гениально! Шаблоны линеек в PDF ребята выложили на сайте printaruler.com.

 

Оставить комментарий

 
  2024-08-28

JSCad

Стало любопытно, а существует ли версия OpenSCAD но только чтобы работала в браузере? Оказалось что есть! Называется OpenJSCad! OpenJSCad или JSCad - это javascript библиотека которая умеет визуализировать в браузере 3D сцены описанные в виде простых геометрических примитивов.

Проект распространяется под лицензией MIT. К сожалению, файлы OpenSCAD с OpenJSCad несовместимы - синтаксис хоть и похож, но все же немного отличается.

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

 

Оставить комментарий

 
  2024-08-26

Про Telegram

Генерал-майор в шинели громко плакал в докладной: террористы охренели, нет зацепки ни одной. Завели себе девайсы — интернет, секретный чат. И попробуй догадайся, с кем о чем они журчат. Где ни сунься — всюду шифр. Ни отмычек, ни ключей. Лишь вагон арабских цифр! И причем, неясно чей! Как ловить бандитов буду? Никаких зацепок нет, если шлет Аслан Махмуду зашифрованный пакет. Нам бы прежних инструментов! Чтобы мы в сетях могли: и проверить документы, и назначить патрули, и явиться с понятыми — всех на сайте мордой в пол. Кто такой? Прописка? Имя? Как давно сюда пришел? Адреса друзей и близких? Что в карманах, ё-моё? Где шкатулка с перепиской? Доставай, прочтем её... Кончилась эпоха Холмса с появлением сети! Мы бессильны! Мы сдаемся! Как нам следствие вести? Нам работать трудно очень! Не хватает важных мер! Нужно больше полномочий. Всех админских, например. Раскрываемости нету! Показатели в нуле! Вот бы сети интернета запретить по всей земле! Вы ж поймите, это важно! Вот вам докладной листок... И сморкался в камуфляжный влажный носовой платок. И так искренне, так чисто прозвучал его доклад, что кивали журналисты. А потом случился ад.

Как вулкан потухший, в жерло получив морской воды, вышел Холмс, который Шерлок. И вломил ему пизды. Встал как призрак из могилы, из музея Бейкер Стрит. «Ах ты ж йобаный мудила!» — он на кокни говорит. «Я всю жизнь проползал с лупой! Под дождем! В говне! В грязи! Подними свою залупу да по кнопкам повози! У тебя зацепок нету?! Ах ты сраный пидарас! А платежки?! А билеты?! Кучи электронных баз?! Вам же треки пишут соты, где носили телефон!!! Сука, блять, иди работай! Недоволен, сука, он! Я искал следы руками! Ты зажрался, стыдоба! У тебя там гроздья камер смотрят с каждого столба! Кто и с кем ходил в подъезды! Кто проехал по шоссе! Кто, куда во сколько ездил — с номерами, сука, все! У тебя народ как дети: трижды в день без выходных постят фоточки в соцсети — погугли хотя бы их! У тебя провайдер каждый видит на любой из хат, кто чего качал из граждан: порнохаб или джихад! Блять, ему работать плохо! Много цифры! Век не тот! Мне бы так в мою эпоху, ебанутый идиот! Ишь, сидят по кабинетам да растят на попе жир! Слишком много интернета! Страшный неуютный мир! Чем внедрять бойцов к бандитам, да учить язык фарси, он сидит себе, пиздит он! Шифры, блять, ему неси! Что просить назавтра будем? Охуели, дайте две! Микрофоны в жопу людям? Ключ от мыслей в голове? Блять, вернуть таких констеблей к нам на землю из кино можно лишь суровой еблей да маканием в говно. Вам совсем заняться нечем! В жопе сажа, бля, горит!» Шерлок Холмс, закончив речи, улетел на Бейкер Стрит.

Генерал-майор платочком вытер божию росу: если все согласны, точка, утверждать проект несу. А у нашего отдела стало больше важных дел: заведем на Холмса дело, чтобы много не пиздел.

(c) Леонид Каганов, 2017 год

 

Оставить комментарий

 
  2024-08-21

Обработка pdf файлов в ChatGPT

В данной статье я хочу рассказать как обработать папку с текстовыми PDF документами при помощи ChatGPT.

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

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

Сначала попробуем проверить возможно ли это на примере следующего запроса к chatgpt:

я хочу чтобы ты прочитал резюме кандидата и
вычленил профессиональные качества этого человека. 
Меня интересует следующая информация: имя, профессия, сколько лет опыта, индустрия
Постарайся выбирать только факты представленные в документе с минимумом допущений. 
Результат должен быть в json формате следующего вида 
{"ФИО":"Иванов Иван Иванович", "профессия": "software injeneer", "годаОпыта": "10 лет", "индустрия": "геймдев"}
Если информации недостаточно просто оставь поле пустым.

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

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

После этого на этой странице следует оплатить стоимость API закинув любую сумму от 5 евро на счёт. Даже если у вас уже есть платная подписка к ChatGPT пользование API в нее не входит и оплачивается отдельно. Следует обратить внимание, что не все страны доступные для пользования API. России в частности в списке разрешённых стран нет.

Убедимся что у нас установлен nodejs и npm

# should be something like v20.11.1
node --version

# should be something like 10.8.2
npm --version

Для извлечения текста из pdf установим утилиту pdf2text

# ubuntu users
sudo apt-get install poppler-utils
# mac users
brew install poppler

pdftotext -h
# Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
# Copyright 1996-2011, 2022 Glyph & Cog, LLC

Клонируем git репозиторий и устанавливаем зависимости.

git clone https://github.com/maxistar/pdf-analiser.git
cd pdf-analiser

# you can also use npm but pnpm is faster but you should install it first
pnpm install

В терминале экспортируем переменную окружения с нашим openai ключом.

export OPENAI_API_KEY="sk-xxxxx...

Запускаем командой npm start чтобы обработать тестовые pdf в папке data/cvs. После запуска результат обработки будет сохранен в файле data/output/files_yyyMMMddddhhmm.csv. Файл должен выглядить примерно вот так:

File Name,Size (bytes),name,title,experience,industry
Forrest Gump.pdf,155415,"Forrest Gump","house-husband/father","43 года","IT"
Forrest_Gump-1.pdf,155415,"Forrest Gump","House-husband/father","43 года",""
Forrest_Gump.pdf,155415,"Forrest Gump","","","Разработка ПО"

После того как мы убедились что все работает копируем наши файлы которые нужно обработать в папку data/cvs и запускаем обработку еще раз. 

Мы обработали папку с PDF файлами содержащими CV соискателей и сохранили интересующие нас данные в csv файл. Следует понимать что языковые модели могут выдавать при одних и тех-же запросах разные результаты, поэтому для более предсказуемого результата можно обработать набор несколько раз и усреднить результат.

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

 

Оставить комментарий

 
  2024-08-20

Антресолька

Сделал антресоль в коридоре. Антресоль спроектировал в OpenSCAD. Все-таки удобная эта штука — можно программировать в 3D любые объекты, будь то для 3D-принтера, будь то для проектирования мебели. Плиты ДСП купил в Hellweg рядом с домом, там есть сервис для резки купленных досок и я сразу нарезал нужную мне длинну. Лицевая панель демпфируется воздушными доводчиками с пружинами на сто ньютонов. Боялся, что ста ньютонов будет маловато, но оказалось, что в самый раз. Внутри полку закрепил металлическими уголками — не очень красиво, но внутри никто и не видит...

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

Исходники антресольки выложил сюда.

 

Оставить комментарий

 
  2024-08-20

В GPT4All теперь можно загружать заметки

GPT4All это UI клиент компании Nomic который позволяет загружать большие языковые модели от разных производителей и работать с ними полностью offline.

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

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

 

Оставить комментарий

 
  2024-08-18

Зеркальный тест

Зеркальный тест — это эксперимент, разработанный в 1970 году психологом Гордоном Гэллапом-младшим, чтобы определить, обладают ли животные способностью распознавать себя в зеркале. Зеркальный тест — основной индикатор самосознания у животных и признак перехода в зеркальную фазу у детей в психологии развития. Дети начинают узнавать себя в зеркале начиная с возраста 18 месяцев.

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

Интересно видеть в этом списке муравьев. В книге Бернарда Вербера "Муравьи" описывается как муравей, увидев свое отражение в зеркале понимает что видит себя. Я думал, что это художественный вымысел, но оказалось Вербер опирался на вполне научные факты.

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

 

Оставить комментарий

 
  2024-08-17

Ответ

Двар Эв торжественно запаял золотом последний контакт. Двенадцать телекамер неотрывно следили за каждым его движением - трансляция шла на всю галактику.

Он выпрямился и кивнул Двар Реину. Затем подошел к выключателю, который скоро замкнет цепь. К выключателю, соединяющему одновременно все компьютеры всех обитаемых планет - девяносто шесть миллионов миров - в суперсеть, которая объединит их в один суперкомпьютер, единую кибернетическую машину, собравшую мудрость всех известных миров.

Двар Реин обратился с короткой, вступительной речью к биллионам телезрителей и затем, после короткой паузы, он произнес:

- Пора, Двар Эв!

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

Он отошел назад и громко провозгласил:

- Честь задать первый вопрос принадлежит вам, Двар Реин!

- Благодарю, - ответил Двар Реин, - Это будет вопрос, на который не мог ответить ни один компьютер.

Он повернулся к пульту.

- Есть ли бог?

Могущественный голос раздался сразу.

- ДА. ТЕПЕРЬ БОГ ЕСТЬ!

Двар Эв понял не сразу, но потом страх исказил его лицо - он бросился к выключателю...

Молния сорвалась с безоблачного неба и испепелила его на месте, намертво запаяв соединение.

Frederic Brown. Answer, 1954. отсюда.

 

 

Оставить комментарий

 
  2024-08-16

Thank you, my twilight

The Pillows (яп. ザ・ピロウズ Za Pirōzu, стилизовано под подушки) — японская альтернативная рок-группа, образованная в 1989 году. Группа выпустила 22 студийных альбома, несколько EP и сборников, а также более 40 синглов. За пределами Японии они наиболее известны как группа, ответственная за саундтрек к аниме-сериалу FLCL (читается как FOOLY COOLY).

Как-то не слышал эту группу, и совершенно напрасно. Некоторые вещи, как, например, эта, производят очень сильное впечатление. Похоже на The Beatles, как если бы они играли альтернативный рок. Прямо здорово! И теперь аниме FLCL тоже посмотрю.

 

Оставить комментарий