· 👁 103 · 1827

· 👁 20 · 1826

· 👁 20 · 1825

#vim
#java
#hover #balloon with type definition ftplugin/java.vim, with #coc

highlight CocTypePopup ctermfg=White ctermbg=22 guifg=#ffffff guibg=#005f00

function! CocTypeBalloonExpr() abort

  try
    let l:docs = CocAction('getHover', {
      \ 'bufnr': v:beval_bufnr,
      \ 'line': v:beval_lnum,
      \ 'col': v:beval_col
      \ })
  catch
    return ''
  endtry

  for l:line in split(join(l:docs, "\n"), "\n")
    let l:line = trim(l:line)
    call popup_beval(l:line, {
      \ 'maxwidth': 200,
      \ 'padding': [0, 1, 0, 1],
      \ 'border': [0, 0, 0, 0],
      \ 'highlight': 'CocTypePopup',
      \ 'wrap': 1
      \ })
    return ''
  endfor

  return ''
endfunction

if !has('nvim')
  setl balloonevalterm
  setl balloonexpr=CocTypeBalloonExpr()
endif

· 👁 19 · 1824

· 👁 18 · 1823

#shell
#productivity
#love my mg alias - clickable #grep in #kitty - opens file and line in Vim:

# Grep, click to link - open in Vim, exact line
mg() {
  kitty +kitten hyperlinked_grep --smart-case -C 9 "$@"
}

-C 9 is the context - to have a few lines before and after.

For this, also you need to have in ~/.config/kitty/open-actions.conf:

protocol file
fragment_matches [0-9]+
action launch --type=overlay -- vim +$FRAGMENT -- $FILE_PATH

https://sw.kovidgoyal.net/kitty/kittens/hyperlinked_grep/

· 👁 16 · 1822

#tbc
#money

This is why we have #crypto?

· 👁 17 · 1821

Make #tree clickable, tested in #kitty

Replace to #eza

eza --tree --hyperlink

With this .config/kitty/open-actions.conf

protocol file
ext cpp,cc,cxx,c++,hpp,hh,hxx,h++,c,h,java
fragment_matches [0-9]+
action launch --type=os-window -- vim +$FRAGMENT -- $FILE_PATH

protocol file
ext cpp,cc,cxx,c++,hpp,hh,hxx,h++,c,h,java
action launch --type=os-window -- vim -- $FILE_PATH

protocol file
mime text/*
fragment_matches [0-9]+
action launch --type=overlay -- vim +$FRAGMENT -- $FILE_PATH

protocol file
mime text/*
action launch --type=overlay -- vim -- $FILE_PATH

protocol file
mime image/*
action launch --type=overlay kitten icat --hold -- $FILE_PATH

· 👁 16 · 1819

· 👁 14 · 1818

· 👁 15 · 1817

· 👁 16 · 1807

· 👁 20 · 1806

Wow, about #telegram bots: you can bypass 50 MB response limit - by hosting their bot software. AWS Lambda is not possible here - it wants persistent polling.

And it simplify the architecture - less nodes in the network chain - when Telegram server and your bot software on the same machine.

#gemini about why not #lambda:

To understand why, you have to look at how Telegram's protocols work beneath the surface.

When you use the standard public API (api.telegram.org), your bot makes simple, stateless HTTP requests. However, Telegram's core servers do not speak HTTP; they communicate using a custom, highly encrypted, and stateful protocol called MTProto.

The public api.telegram.org server acts as a translator. It maintains persistent MTProto connections to Telegram's core network on your behalf so you do not have to.

When you run the Local Bot API Server, you are moving that translator to your own machine. Consequently, your local server must now handle the MTProto protocol.

Here is why that requires a persistent connection and a continuously running server:

1. Stateful Cryptographic Handshakes: Establishing an MTProto connection is expensive. It requires complex cryptographic handshakes to generate session keys. If you try to run the local server in an ephemeral environment (like spinning it up in AWS Lambda only when you want to send a file), it would have to negotiate a brand new MTProto session from scratch every single time.
2. Latency and Rate Limiting: Performing that handshake on every request adds massive latency. More importantly, repeatedly opening and closing MTProto connections to Telegram's core servers will look like a DDoS attack or a malfunctioning client. Telegram's automated systems will likely rate-limit or temporarily ban your bot's IP address for connection spam.
3. Local Database State: The Local Bot API Server maintains a local database on the disk to track file IDs, update sequence numbers, and session states. It expects to hold locks on these files and manage them continuously in the background.

While your bot's code can be executed ephemerally (e.g., waking up only when a webhook is received), the Local Bot API Server it communicates with is designed exclusively as a long-running daemon that holds a persistent MTProto TCP connection to Telegram.

https://github.com/tdlib/telegram-bot-api

· 👁 27 · 1805

· 👁 30 · 1804

In #batumi, to buy a coffee, sometimes we talk in three #languages:
#kartuli
#english
#russian

❤ 1

· 👁 45 · 1802

With #llm I added 1920x1200 to #armies_of_exigo #game

And increased the #camera range.

📎 Exigo1920x1200.exe

🤝 1

· 👁 47 · 1800

#remapped unused button on my laptop to #git #push, #i3 command:

bindsym XF86Launch1 exec --no-startup-id xdotool type "git push" && xdotool key Return

How get to know the button code: on #gentoo you need x11-misc/xdotool, run from root and press your any button. Here XF86Launch1 is the button name.

· 👁 43 · forwarded from IT Happens Batumi · 1799

#28мая2026 (чт) 21:00–01:00 — айтишная посиделка в Still Young Bar 🍻

#без_оплаты

🎤 Доклад:

«Мой второй Telegram bot: возвращает аудио с поиска по YouTube, с комментариями»

Разберём, как устроен Telegram-бот, который:
— ищет видео на YouTube
— достаёт аудио
— видит комментарии к видео
— и вообще как это всё собиралось 👀

👨‍💻 Ведущий:
Vitaly Zdanevich — @vitaly_zdanevich

🔗 Ссылка на проект:
https://gitlab.com/vitaly-zdanevich/bot_telegram_youtube

🤔 Хочешь тоже выступить со своим мини-докладом, проектом или идеей?
У нас всё неформально: большой экран, айтишники, разговоры и пивас.
Докладчику — 🍺 в подарок.

➡️ Расписание

🍻 21:00 — сбор
🧑‍🏫 21:30–23:00 — доклад и обсуждение
🕺 После — разговоры о высоком / нетворкинг / караоке до последнего айтишника

📍 Still Young Bar
ул. Генерала Мазниашвили, 48

21:00 — до последнего айтиш

💬 Все вопросы — можно в личку: @AMVavilov

❤ 1

· 👁 36 · 1787

Payment -> #crypto -> Select your #wallet

woodev.net

· 👁 34 · 1786

Finally I forked #nixnote, and migrated from #qt5 to #qt6, by #llm #gpt 5.5 xhigh

https://github.com/vitaly-zdanevich/nixnote2

· 👁 30 · 1785

Another #llm victory: repack of the official #evernote client https://github.com/vitaly-zdanevich/evernote-linux-repackage