- Видео 22
- Просмотров 191 469
Adib Hanna
США
Добавлен 27 дек 2009
Software development, CLI Tools, Workflow Optimisation, and more
You can find me on Twitter 👇
Adib_Hanna
Discord
discord.gg/2DcfC2GE
Substack
adibhanna.substack.com/
Dotfiles newsletter
dotfiles.substack.com/
Rust resource 🦀
rustacean.io/
You can find me on Twitter 👇
Adib_Hanna
Discord
discord.gg/2DcfC2GE
Substack
adibhanna.substack.com/
Dotfiles newsletter
dotfiles.substack.com/
Rust resource 🦀
rustacean.io/
Directory-based Environment Variables (DirEnv)
direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory.
DirEnv: direnv.net/
DirEnv stdlib: direnv.net/man/direnv-stdlib.1.html
----
Twitter: Adib_Hanna
Newsletter: dotfiles.substack.com/
Neovim Course: neovimmastery.com/
DirEnv: direnv.net/
DirEnv stdlib: direnv.net/man/direnv-stdlib.1.html
----
Twitter: Adib_Hanna
Newsletter: dotfiles.substack.com/
Neovim Course: neovimmastery.com/
Просмотров: 911
Видео
No More Concurrency Chaos
Просмотров 1,7 тыс.14 дней назад
"singleflight provides a duplicate function call suppression mechanism." Docs pkg.go.dev/golang.org/x/sync@v0.8.0/singleflight Blog: victoriametrics.com/blog/go-singleflight/index.html Sharded singleflight: github.com/tarndt/shardedsingleflight Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
Impressive Terminal Emulator! (Ghostty)
Просмотров 5 тыс.Месяц назад
Ghostty Terminal Emulator! Ghostty Discord: discord.gg/ghostty Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
Amazing New Neovim AI Plugin!
Просмотров 12 тыс.Месяц назад
Neovim Plugin: github.com/yetone/avante.nvim Cursor: www.cursor.com/features Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
Shallow vs Deep Copying in Go
Просмотров 7842 месяца назад
Difference between shallow and deep copying in Go. Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
CLI Tools For Visualizing Data
Просмотров 10 тыс.4 месяца назад
github.com/yassinebridi/serpl github.com/shshemi/tabiew fx.wtf/ github.com/fioncat/otree Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
This Zed feature is unbelievably powerful!
Просмотров 15 тыс.5 месяцев назад
Zed Tasks: zed.dev/docs/tasks
NerdFonts: How to add icons to your font?
Просмотров 1,3 тыс.6 месяцев назад
Nerd Fonts www.nerdfonts.com/ SF Mono developer.apple.com/fonts/ Nerd Font Patcher github.com/ryanoasis/nerd-fonts
What font, colorscheme, terminal, etc… do I use?
Просмотров 4,1 тыс.6 месяцев назад
Fonts: berkeleygraphics.com/typefaces/ github.com/epk/SF-Mono-Nerd-Font github.com/tonsky/FiraCode vercel.com/font monaspace.githubnext.com/ www.jetbrains.com/lp/mono/ www.nerdfonts.com/font-downloads Catpuccin (gruvbox): github.com/catppuccin/nvim/discussions/323#discussioncomment-5287724 Neovim breadcrumbs: github.com/utilyre/barbecue.nvim Lualine so fancy: github.com/meuter/lualine-so-fancy....
Jetbrains can Vim
Просмотров 4,2 тыс.6 месяцев назад
IdeaVim: github.com/JetBrains/ideavim Supported Plugins: github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins Community Configs: github.com/JetBrains/ideavim/discussions/303 My config: gist.github.com/adibhanna/4379d7ecff16762f7b7cf027bafa33da Twitter: Adib_Hanna
How I navigate code in Neovim
Просмотров 17 тыс.6 месяцев назад
Nvim Config: github.com/adibhanna/nvim Plugins mentioned: github.com/nvim-neo-tree/neo-tree.nvim github.com/LunarVim/breadcrumbs.nvim github.com/SmiteshP/nvim-navic github.com/folke/persistence.nvim
Dependency Injection in Go
Просмотров 4,6 тыс.6 месяцев назад
Dependency Injection in Golang Neovim config: github.com/adibhanna/nvim Twitter: Adib_Hanna
Porting Neovim Keymaps To Zed
Просмотров 12 тыс.6 месяцев назад
In this video, I walk you through configuring Zed editor with Vim Mode. zed: zed.dev/ Zed settings: gist.github.com/adibhanna/66673edfec11d702d56f021ecaebd6be keymaps: gist.github.com/adibhanna/896257e6c2c501186221312fd9fd1b9c Neovim Config: github.com/adibhanna/nvim
The One Keyboard To Rule Them All
Просмотров 5 тыс.6 месяцев назад
Keyboard: kinesis-ergo.com/keyboards/advantage360/ ZMK GUI: nickcoutsos.github.io/keymap-editor Repo: github.com/KinesisCorporation/Adv360-Pro-ZMK
Go is AMAZING
Просмотров 2,9 тыс.9 месяцев назад
In this video, I share some Golang books and resources to use if you want to learn and master the language. Also, I share some of the thoughts I have on the philosophy behind using Go. Links: go.dev/doc/effective_go go.dev/blog go-proverbs.github.io/ quii.gitbook.io/learn-go-with-tests/ lets-go.alexedwards.net/ openfaas.gumroad.com/l/everyday-golang interpreterbook.com/ compilerbook.com/ Books ...
10 AWESOME CLI TOOLS TO SUPERCHARGE YOUR WORKFLOWS
Просмотров 22 тыс.Год назад
10 AWESOME CLI TOOLS TO SUPERCHARGE YOUR WORKFLOWS
Neovim - Tips, Distros, Configuration and Demo
Просмотров 2,7 тыс.Год назад
Neovim - Tips, Distros, Configuration and Demo
My Development Setup (Neovim, Tmux, Alacritty & Rust-based CLI Tools)
Просмотров 52 тыс.Год назад
My Development Setup (Neovim, Tmux, Alacritty & Rust-based CLI Tools)
Excellent. Thank a lot. Please zoom in a bit next time, it's hard to view on small screen.
Super cool! What is that font btw?
Thanks for the content! Any chances for you to share the list of plugins that you use? I'm kinda new to this and I'm curious if you'd have time.
Amazing! Thank you a lot
when will this come out for windows
not sure! I know they released a Linux version
I really would like to use it. I can ignore a lot until it eventually gets better, but the hardcoded delay for keybinds renders Zed unusable, for example "kj" for escape makes navigation extremally laggy. Any tips to get around that?
very cool!
Congrats.. a beautiful setup!! how to do it DevOps based cli tools ?
Clean! Thanks man
Wansn't it easier to have a normal mutex and call .Unlock() after the expensive operation? I think in the end you got to the exact place but with a new library in your project.
Nah, i am wrong here. 1. This is a library from std not external so no new library in the project. 2. My solution will cause one key to lock the entire cache which is not optimal.
wouldn't the result be the same if you just have two locks, one for rw on cache, and another for expensive call block? the idea is then that you check if cache was perhaps set just before you entered the 'expensive call block' and skip in that case
I think so. In any case goroutines are still forced to wait till s.sg.Do statement returns something. If api call/data fetching was done while write lock is in place no operations would've been executed at the same time To me it looks like this library is needed if you don't want to bother with manual locks but if you already have them then you can use them just fine.
I'm not a go developer at all so I have zero knowledge on this, but this is - more or less - called the 'critical path' in parallelization. I'll go ahead and guess that GO supports semaphores & locks - why not just use that to synchronize over the area?
totally! Go does have those, and I think they’re using it in this library. It’s just a simpler interface for some usecases
Thank you so much! Thanks to you, I was able to solve this problem!
great job
Is there any way to speed up the code suggestion of Avante? Very slow for me.
Justus Turnpike
"The One Keyboard To Rule Them All" - but I don't see Glove80? 😆
there is no page on github. 404 error.
Any difference with Sublime Build systems? Or even VIM make? I don`t think so.
what terminal do you use and how to get the same theme as you have?
I use Kitty terminal with gruvbox dark hard theme
@@adibhanna thanks for replying! I’ve already discovered video with your setup. The theme is gorgeous
i was curious if this terminal can render bidi language in properly
all the hypes only for a Inspector? imagine requesting to have access to a f*cking terminal emulator.
Thanks
What license does it have? Is it proprietary/source available?
Ghostty beta tester here @Rundik 1. Ghostty is in private beta and is *technically* NOT open source as a file in the github repo. 2. Currently, there's no license that's been decided upon however mitchell (the creator) is leaning towards MIT but it may change if he discovers something better. 3. Source is NOT publicly available and you need to join the ghostty private beta to get access. Or you can wait until the end of the year (probably) for the first public beta to release.
Nice walkthrough! Would love to see your entire dotfiles!
planning a video covering it
how can I request for access
join discord and ask one of the mods
What is your favorite feature in Ghostty?
Stop telling people to join that toxic channel for invite..
why is it toxic? I never had any conversations there, only got an invite through a friend
@adibhanna it simply isn't moderated well. The public channels are just flooded with immature brainrot and the mods further add to it. There has been a change where you can only talk about tech related topics, but it doesn't help that the mods don't filter people who are there to pick fights and have terrible takes
@@shizukumaestro2276We changed the rules yesterday so only technical discussions are allowed. The growth exceeded our rules and we’re working on catching up.
@@shizukumaestro2276 meh it's ok when i was there. if people don't like it, they simply leave--it's the internet, ppl will be fine.
damn bro that keyboard so loud
are you using tmux here?
Thanks for the inspiration ! Would you be wiling to share your lualine configuration? That looks awesome!
does it autocomplete?
you can toggle it, the default command is <leader>as, but I'm my opinion is not too good.
Man I love that background, so homey
thank you!
Looks super promising thanks for sharing Adib! I've been also looking at it closely and started on working with it to get the feel recently
It's the closest implementation to what Cursor has! love it
hello om
I use it every day and it's fantastic, the only feature that I miss is it having the project context. Seems that it will not take much to get there.
Awesome! it is my favorite way to use AI in Neovim! Hopefully, they can get that chat with project feature done soon!
project context is currently implemented
Amazing!
Thank you, which font are u using?
berkeleygraphics.com/typefaces/berkeley-mono/
Thank you for covering this up
Do you have discord or telegram group ,so that we can grow together?
WHAT IS THE BRAND OF YOUR CAMERA?
Sony ZVE-10
Hi adib can i ask, how you make spaces beetween line on neovim
hi! do you mean, line height? this is usually done on the terminal config, not Neovim
@@adibhanna oh using font.offset?, btw what font do you use for zed
@@mornsoltice what terminal emulator are you using? I use this font berkeleygraphics.com/typefaces/berkeley-mono/
So another way to think about the original assignment of Person is the "&" tells the compiler you want to set original to a pointer of the struct Person. This is exactly why original values get overwritten. If you remove the "&" from Person during assignment you are creating a new instance of the struct. If you do it this way you will end up having two instances of Person when you create the copy variable. This avoids the need to use deep copy which is processor intensive. The tradeoff is that you will use more memory since you now have two instances of Person instead of a pointer to one.
🎉🎉🎉
What other coding topics would you like to learn about next?
Great video, thanks for sharing.
According to some sources this keyboard can last up to 3 months without the backlight. What is your experience? I'm currently using logitech g915 tlk and it easily can work over 6 months on a fully charged battery without leds on and it's really heavily used as I'm a software dev.
honestly, most of the time i just keep it plugged in, i don't want to rely on Bluetooth. in terms of comfort, this is the best you can find, i highly recommend it for devs!
Thanks for the video Question: how have you configured your [Neo]vim to show the "special characters" in visual mode but not normal mode? (I means those tabs, spaces, etc.)
I'm actually using Zed editor in this video, i've been experimenting with it on and off. zed.dev/ check it out!
Oh cool, I thought it was [Neo]vim. I saw your video(s) about it; it's in my todo list at some point to take a look. Main blocker for me is that I literally live in my terminal, so having a spearate app for code editing is, well, a new challenge that I'm not sure if I'm ready (yet) to tackle
@@farzadmf yeah, you don't really want to change your workflow if you're already productive in terminal. all these editors use the same LSP, so you're not missing out really. the interesting thing about Zed is that they are adding a lot of Vim features and AI stuff. which make it a valid alternative to Neovim. For big projects, I still enjoy using Golang (by Jetbrains), they just have the best LSP and refactoring capability that is too good to be ignored!
@@adibhanna I think you mean Goland (not Golang 😆), but yeah, I've heard that it's very good. It's been quite a while that I haven't worked with Go, but at the time, I was living with fatih/vim-go, and I liked it. Goland of course is another level; not only it's a separate app, but it's paid as well (and not that cheap either) 😆
@@farzadmf lol yup! Goland! it's really good! they have a plugin called IdeaVim, it's probably the best vim emulation out there
awesome content!
Does this keyboard also has alt on left and alt gr on right? It hard to me to get used to two different alt. Also do you use windows key on this keyboard or replace it with something different?
This keyboard is fully programmable. Put whatever key you want wherever you want.
Hi one more question I find that there is a "checkmark" in the neo-tree "plugins" and "lua" folder at 1:04 left side. what is that ?
this is unnecessary, it shows you "folder open" github.com/adibhanna/nvim/blob/main/lua/plugins/neo-tree.lua#L32