Настройка Visual Studio Code для работы с LLama
В этой статье я расскажу как развернуть локальные аналог Chat-GPT и настроить VS Code для работы с ним.
( читать дальше... )
В этой статье я расскажу как развернуть локальные аналог Chat-GPT и настроить VS Code для работы с ним.
( читать дальше... )
Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?
// друг спрашивает :)
UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:
Маленькая предыстория. Пару месяцев назад у меня накрылся планшетный ПК Microsoft Surface Pro 5, который служил мне верой и правдой с 2018 года. Так как на личном устройстве выполнялись тривиальные рабочие задачи, я искал альтернативу на замену, но уже подешевле чем за более 100к, чтобы не боятся его или разбить, или зашаркать, или даже раздавить. Главное – максимальная автономность, ультракомпактность, маленький вес и отстёгивающаяся клавиатура, и если совсем коротко, то «пк х86 2-в-1». Тут один мой коллега подсказал посмотреть в сторону Chuwi UBook X такого же форм-фактора как и бывший MS Surface 5. Ранее я сильно скептически относился к бренду Chuwi, предполагая что это какой-нибудь Teclast-подобный мусорный ширпотреб, но я изменил своё мнение, когда 4 месяца назад мне попал в руки относительно производительный NUC-подобный ПК Chuwi LarkBox X 2023, который оказался весьма-весьма неплох. Короче, взял я этот Chuwi UBook X, и он меня очень приятно удивил в плане работы с линем на борту.
Кому интересно – о характеристиках я напишу в самом конце, главное другое. Изначально на устройстве стояла MS Windows 11 Pro. Естественно, китайская инсталляция сносится, и всё ставится начисто, но перед этим я решил попробовать какой-нить дистр Linux. Чисто побаловаться, как думал я. Выбор пал на LMDE 6. Почему? Потому что только у них Cinnamon прилизан до состояния «бери и пользуйся», и тут репы ещё дебиановские (который мне ближе всех остальных дистров). Поставил, и…
… и оно всё заработало из коробки! Последний раз я куда-то ставил ради спортивного интереса LMDE 2, с которым были сложности по железу, а тут прям вообще всё из коробки! А именно:
Может это сейчас кажется «ничего особого» (сам до этого давно не следил за состоянием х86 планшетов на сабже), но раньше для подобных вещей мне приходилось читать тонны инфы чтобы завести тач на похожих устройствах, с применением патчей на определённые версии ядер, а ещё обязательно на отдельном ПК искались и качались дрова на wi-fi и синезуб… в общем не верится, что просто установил и работай. Я понимаю, что чисто статистически сейчас будет некоторая перекличка ненужнистов и/или даэтожговнополнецов, но всех адекватных хочу поздравить с очередным человеческим моментом системы по отношению к пользователю. На самом деле лично я не очень часто такое наблюдал. Поставил и работай… хехе)…
По устройству:
Отдельно скажу, что он легко разбирается, модифицируется ОЗУ и M2-носитель, а так же возможно проведение модификации по установке дополнительных термопрокладок.
Справедливости ради стоит указать о явных минусах:
И по правому клику - довольно критичная ситуация. Способ его включения, судя по всему, является не совсем тривиальным (пока углубляюсь в тему), однако, в будущих версиях Cinnamon разрабы уже сообщали о некоторых подобных вещах доступных по-умолчанию.
>>> Просмотр (2560x1731, 4816 Kb)
Корпус системного блока - MasterBOX NR200P от CoolerMaster в т.н. SFF (small form factor) исполнении. Габариты корпуса 376x185x292 мм. Вес около 8 кг в собранном виде без упаковки. Системник довольно удобен в транспортировке: помещается в сумку для тренировок, без вопросов проходит в ручной клади при перелетах.
Немного про начинку данного товарища:
Начну с главного компонента любого компьютера - блока питания. БП Seasonic Focus SGX на 650W с 80+ Gold сертификатом, модульный, форм-фактор SFX-L.
Материнская плата на B450 чипсете от Gigabyte, модель «I AORUS PRO WIFI». При выборе системной платы одним из критериев было наличие звукового чипа Realtek 1220 и поддержка WIFI5+BT не ниже версии 5.0. В итоге мать оказалась с довольно хреновым WIFI+BT чипом Intel AC9260, который был заменен на интеловский AX210.
Процессор Ryzen 5 5600X + башня be quiet! Pure Rock 2 c 4-мя тепловыми трубками.
Оперативная память Kingston KVR 2x32GB 3200Mhz.
Видеокарта MSI Ventus RTX 3060 12GB.
NVMe накопитель Samsung 970 EVO Plus 2TB произведенный 03.2023 со свежей прошивкой и контроллером Elpis (вместо Phoenix), который используется в старшей модели 980PRO.
«Перелётно-походный» монитор IIYAMA ProLite XUB2292HS-B1 (FHD, IPS, Flicker-free + Blue light reducer) с регулировкой по высоте/наклону/повороту.
Дешёвый графический планшет XP-Pen. Механическая клавиатура Ducky One 2 TKL. Мышь Smartbuy 334K. Микрофон HyperX SoloCast + вебка Logitech c270 для общения с коллегами и родственниками в Discord/Skype/Slack/Telegram. Игровой контроллер Xbox для покатушек и побегушек во всяких RDR2, DIRT Rally, GTA и прочих киберпанках. Беспроводные наушники Edifier W800BT Plus. Вроде всё.
P.S. Снято на кроссовок.
P.P.S. Внутренности человека машинки https://imgur.com/7QDZrSs
>>> Просмотр (1920x1086, 2978 Kb)
Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.
Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).
Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.
Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.
Update
C, C++
Online-ресурсы и учебные пособия для начинающих:
Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)
Fortran
Python
В дополнение к официальной документации (и переводу руководства Python 3.1):
Object Pascal. Lazarus
Перемещено Klymedy из talks
Дуглас Крокфорд - американский программист, занимающийся разработкой с 80х годов, работал в компании Atari, на студии Lucasfilm, был основателем нескольких стартапов.
Известен созданием формата обмена данными JSON, разработкой линтера JSLint, минификатора JSMin, разработкой типа для представления десятичных чисел с плавающей точкой DEC64. Является участником комитета по стандартизации TC39, принимал активное участие в разработке спецификации ECMAScript 2015 (ES6). Автор нескольких книг по JavaScript.
Интервью на русском языке выложено на youtube-канале https://www.youtube.com/watch?v=WSqCpWYfTFU
Спустя почти год после прошлой (Очередная итерация рабочего места) итерации, кхм болезнь стала прогрессировать) :)
Компы:
- Макбук про 2020 жены
- мой thinkpad t470s(вне кадра)
- В роли стационара сейчас Dell T5600 с двумя Xeon E5-2690, 64гб рам и GTX 1060
IBM Model M вместо клавиатуры и Logitech g305 как мышь.
К компу подключен маленький (20w) усилитель NAD к которому подключены две Arcus TM65, управление громкостью всегда под рукой через крутилку на аудио интерфейсе (Komplete Audio 1), к нему же подключены уже древние Sennheiser HD598.
Мониторы стоят два, один 2k 34" LG второй fullhd 24" DELL 2415.
На столе виден свитч — удобно рядом держать что бы подрубать всякую мелочь вроде лаптопов, rpi и тд и Xbox One что бы изредка во что-то поиграть.
Веб камеру использую очень редко — по этому обычно она отключена и лежит на полке, сейчас стоит обычная какая-то логитек, в планах купить HDMI Capture девайсину что бы использовать вместо вебкамеры одну из m43 камер что валяются по дому.
Вне кадра еще Tower Сервер Dell PowerEdge T610 с х5650 и 48гб RAM.
Ну и да, сорри что срач, стихийно решил сфокать утром :)
P.S Более широкий кадр (больше срача видно) https://i.imgur.com/EUrMgxg.png
>>> Просмотр (2000x1335, 1501 Kb)
Дано: есть проект, которому уже около года. Бекенд написан на богомерзком Django Rest Framework (используется последняя версия). Кому как, но мне он не нравится. Переписывать проект с использование нормальных фреймворков у меня нет желания + я не считаю это рациональным (главное чтобы работало). В качестве базы данных используется Postgres. Для деплоя Docker. Я поднял гитлаб, настроил автодеплой. Фронт написан на Vue.js, используется Bootstrap, Vue-Router, Vuex. Ищу адекватных и самостоятельных разработчиков с опытом от 1 года, можно начинающих, если есть какие-либо свои проекты. Никаких беседок с херками не будет, тестовых заданий тоже, если есть профиль на гитхаб хоть с какими-нибудь образцами кода либо придется немного побеседовать (со мной). Работа: постоянная, частичная занятость, почасовая. Работа полностью удаленная, работать можно в удобное время. Никаких совещаний, бюрократии. Оплата от 350 рублей в час. Выплата зарплаты раз в две недели на карту, налом, если родились или что-то забыли в Расчленинграде (СПб).
Требования для фронтовиков:
Требование для бидонщиков:
Общие требования:
Писать на %username%@gmail.com
либо можете попробовать написать мне в личку на этом сайте (не знали, что на лоре есть личка?).
В письме указывайте опыт, часовой пояс, свой стек чем владеете и ссылку на профиль на гитхаб/гитлаб, либо ссылки на реализованные проекты с описанием что там делали. Пол, национальность, гражданство не интересуют. Работа не для вчерашних выпускников анскиллбокса (люди которые не осили самостоятельно прочитать Dive Into Python или повыполнять примеры с javascript.ru не нужны), предпочтение самоучкам. Те кто ранее программировал на других языках и хочет чему-то научиться на реальном проекте тоже подходят.
Актуально до 30.04.2021
Майн - вещь со слабо развитой многопоточностью для такого размера софтины, разных потоков в нём всего штук 10. Один из них - «Timer hack thread» - визуально не делает примерно ничего: картинка.
Судя по найденному в интернетах, код у сабжа примерно такой - поток просто стартует и висит в вечном ожидании. Для чего нужен такой хак? Что-то, связанное с планировщиком? Как может одиночный спящий поток внутри игры, жрущей 3 гига памяти и 2 ядра полностью, влиять на что-то?
Состоялся первый публичный релиз проекта Pi-KVM: набора софта и инструкций, которые позволяют превратить Raspberry Pi в полностью функциональный IP-KVM. Это устройство подключается к HDMI/VGA и USB-порту сервера, чтобы управлять им удаленно, независимо от операционной системы. Можно включить, выключить или перезагрузить сервер, настроить BIOS и даже полностью переустановить ОС с загруженного образа: Pi-KVM умеет эмулировать виртуальный CD-ROM и флеш-накопитель.
Количество необходимых деталей, помимо самого Raspberry Pi, минимально, что позволяет собрать его буквально за полчаса, а общая стоимость окажется в районе $100 даже в самой дорогой конфигурации (в то время как многие проприетарные IP-KVM при меньшей функциональности будут стоить от $500 и выше).
Основные возможности:
Также готовится к релизу специальная плата расширения для Raspberry Pi 4, которая реализует все описанные функции, плюс множество других возможностей (подробности на GitHub). Открытие предзаказов ожидается в четвертом квартале 2020 года. Стоимость ожидается в районе $100 или меньше. Подписаться на новость о предзаказе можно тут.
Смотрю на официальный пример библиотеки mgo : https://labix.org/mgo
package main
import (
"fmt"
"log"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type Person struct {
Name string
Phone string
}
func main() {
session, err := mgo.Dial("server1.example.com,server2.example.com")
if err != nil {
panic(err)
}
defer session.Close()
// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)
c := session.DB("test").C("people")
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
&Person{"Cla", "+55 53 8402 8510"})
if err != nil {
log.Fatal(err)
}
result := Person{}
err = c.Find(bson.M{"name": "Ale"}).One(&result)
if err != nil {
log.Fatal(err)
}
fmt.Println("Phone:", result.Phone)
}
Зачем делают так?
result := Person{}
err = c.Find(bson.M{"name": "Ale"}).One(&result)
if err != nil {
log.Fatal(err)
}
Почему не так так?
result := Person{}
result, err = c.Find(bson.M{"name": "Ale"}).One()
if err != nil {
log.Fatal(err)
}
В чем смысл?
Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.
Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить
Уровень прошивки
Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:
ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?
Сложный вопрос, на самом деле. Есть три варианта действий:
Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?
Вдоль
Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.
MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).
Уровень софта
Без гуглозондов жить есть!
https://f-droid.org/ — каталог с опенсорсным софтом.
Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps
Если вы будете ставить проприетарный софт, помните о следующем:
Права суперпользователя
Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.
Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.
XPosed
XPosed — опенсорсный фреймворк для низкоуровневых хаков.
Уровень устройства
Тут тоже всё плохо. Выбор:
Следует также заметить, что:
Уровень физической безопасности
Для чего нужна физическая безопасность:
Допустим, ваш девайс попал в руки злоумышленнику.
Сразу скажу: всё плохо. Вам может показаться, что заботливые производители позаботились о вас, залочив загрузчик вашего телефона и не позволяя его разблокировать, не удалив все данные с телефона.
Я бы на вашем месте на это не рассчитывал.
Выводы:
Модули сотовой связи
В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —
Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.
Вроде, все, что хотел сказать. Выдыхаю
https://github.com/codemeow/raBBit
Нуфф сейд.
cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | aplay -c 2 -f S32_LE -r 16000
Source: http://blog.robertelder.org/bash-one-liner-compose-music/
Переехал на работе с венды на линупс, никаким определенным дистрибутивом корпоративная политика не ограничивает, поэтому поставил федору. Венда правда все равно осталась в виртуалке в местном ESX, так как не все нормально работает под лялихом. К слову Evolution удалось подружить с Exchange, но Outlook все равно удобнее
Fedora 22, Gnome 3.16
>>> Просмотр (3600x1080, 2655 Kb)
Тайлинг окон делается легко, потому что в «рабочих местах» настроены «поля». Прозрачными окнами могут быть даже активные.
Левая и правая панели автоматически скрываются. Правая панель нужна для того, чтоб смотреть на ней часы, календарь, показания индикаторов - нагрузки, температуры железа, чтоб использовать 3 особые кнопки быстрого запуска и чтоб перетаскивать окна с одного на другой рабочий стол (даже xfdashboard такого не позволяет, а в гноме вроде можно так. Хоткеи я для этого осилил, но и мышкованием пользуюсь. В некоторых ОС типа винды, Deepin - панели и по круче сделаны - современно молодежно).
В нижней панели справа первый значок - это xfce4-linelight-plugin - вызывает окно поиска файлов и ищет по мере набора названия файла во всех папках. По двойному щелчку по найденному файлу или по категории - открывает файл или папку /tmp/xfce4-linelight-plugin в Thunar'e со ссылками на найденные файлы.
Левее значок - это HotCorner - делает в Xfce углы рабочего стола активными - горячие углы. - Можно вызвать xfdashboard, показать рабочий стол, запустить заставку, выключить монитор или запустить какую-то свою команду. У меня при наведении курсора в левый низ открывается меню Whisker (иконку «Избранное» я так и не нашел), а при наведении в правый низ - пока что показывает рабочий стол, только я не знаю зачем.
Слева в нижней панели после меню Whisker идет Командная строка Verve - запоминает 25 команд, но может видимо больше. sudo dolphin запустить не может видимо из-за sudo - окошко для введения пароля не выскакивает даже. Но обычные команды может.
Вместо terminator'a у меня теперь при нажатии F12 выпадает выпадающий xfce4-terminal. При потери фокуса он может прятаться, а может не прятаться, если кнопку одну нажать. С таким терминалом стало веселее жить даже.
OS: Mint 17 qiana
Kernel: i686 Linux 3.13.0-24-generic
Packages: 3124
Shell: bash 4.3.11
Resolution: 1920x1080
DE: XFCE4
WM: Xfwm4
WM Theme: greenWindows
GTK Theme: FlatStudioLight [GTK2]
Icon Theme: Emerald
Font: Helvetica Neue 9
CPU: Intel Pentium 4 CPU 3.00GHz @ 3GHz
GPU: GeForce GT 430
RAM: 899MB / 2015MB
Вот такие пироги, кто что скажет, посоветует?
>>> Просмотр (1920x1080, 528 Kb)
Здравствуйте. Кто из вас настраивал квм для игр? поделитесь полными мануалами.
Спасибо.
Несмотря на то, что в 2013 году консорциум USB-IF отказался выделить диапазон идентификаторов (VendorID) для открытых проектов, энтузиастами была найдена лазейка.
При определении USB-устройств операционные системы использует 16-разрядные идентификаторы VendorID (VID) и ProductID (PID). В частности, невозможно одновременно использовать два устройства с одинаковыми идентификаторами, если им требуются разные драйверы.
Правила получения диапазона строго запрещают передачу идентификаторов продукта в любой форме, а само получение обходится в несколько тысяч долларов (за один диапазон ёмкостью аж в 65535 PID, что приводит к очевидному выводу — большая часть полученных идентификаторов лежит у владельцев мёртвым грузом). Но эти правила не распространяются на диапазоны, выданные в давние времена, ещё до образования USB-IF. Компания InterBiometrics, владеющая именно таким диапазоном (VID 1209), за всё время использовала лишь 6 идентификаторов из 65535. Поэтому она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes, благодаря чему, любое открытое аппаратное обеспечение теперь может получить свой уникальный идентификатор.
Процедура описана здесь. Условиями получения являются: распространение под свободной лицензией, наличие публичного репозитория и, естественно, интерфейса USB.
>>> Подробности
Всем привет! Подскажите толковую литературу. Сам далеко не математик, поэтому хочется что-то понятное, без «тройных интегралов», но и без особой воды. Мне кроме Кнута в голову ничего не приходит (Конкретная математика и т.п.) Есть ли еще что? может наши отечественные авторы?
следующие → |