Adib Hanna
Adib Hanna
  • 21
  • 181 613
No More Concurrency Chaos
"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/
มุมมอง: 1 355

วีดีโอ

Impressive Terminal Emulator! (Ghostty)
มุมมอง 4.3K28 วันที่ผ่านมา
Ghostty Terminal Emulator! Ghostty Discord: discord.gg/ghostty Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
Amazing New Neovim AI Plugin!
มุมมอง 10Kหลายเดือนก่อน
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
มุมมอง 765หลายเดือนก่อน
Difference between shallow and deep copying in Go. Twitter: Adib_Hanna Newsletter: dotfiles.substack.com/ Neovim Course: neovimmastery.com/
CLI Tools For Visualizing Data
มุมมอง 10K3 หลายเดือนก่อน
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!
มุมมอง 14K4 หลายเดือนก่อน
Zed Tasks: zed.dev/docs/tasks
NerdFonts: How to add icons to your font?
มุมมอง 1.1K5 หลายเดือนก่อน
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?
มุมมอง 4K5 หลายเดือนก่อน
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
มุมมอง 4K5 หลายเดือนก่อน
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
มุมมอง 16K5 หลายเดือนก่อน
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.4K5 หลายเดือนก่อน
Dependency Injection in Golang Neovim config: github.com/adibhanna/nvim Twitter: Adib_Hanna
Porting Neovim Keymaps To Zed
มุมมอง 12K6 หลายเดือนก่อน
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
มุมมอง 5K6 หลายเดือนก่อน
Keyboard: kinesis-ergo.com/keyboards/advantage360/ ZMK GUI: nickcoutsos.github.io/keymap-editor Repo: github.com/KinesisCorporation/Adv360-Pro-ZMK
Go is AMAZING
มุมมอง 2.9K8 หลายเดือนก่อน
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 ...
Neovim Config 2024 (ASMR)
มุมมอง 6K9 หลายเดือนก่อน
Rust, Golang, Typescript, Javascript, DAP, and many more. Neovim Config: github.com/adibhanna/nvim 00:00 - hi 00:04 - basics 02:28 - Lazy 04:46 - colorscheme 05:35 - autocommands 08:28 - neotree 10:28 - keymaps 10:41 - telescope 12:39 - which-key 18:19 - icons 18:32 - more telescope 22:51 - trouble 24:49 - treesitter 26:54 - git 28:58 - autocompletion 29:56 - LSP 32:10 - noice 33:00 - more LSP ...
10 AWESOME CLI TOOLS TO SUPERCHARGE YOUR WORKFLOWS
มุมมอง 21Kปีที่แล้ว
10 AWESOME CLI TOOLS TO SUPERCHARGE YOUR WORKFLOWS
Lua, the simplest language to learn
มุมมอง 3.2Kปีที่แล้ว
Lua, the simplest language to learn
Neovim - Tips, Distros, Configuration and Demo
มุมมอง 2.7Kปีที่แล้ว
Neovim - Tips, Distros, Configuration and Demo
My Development Setup (Neovim, Tmux, Alacritty & Rust-based CLI Tools)
มุมมอง 52Kปีที่แล้ว
My Development Setup (Neovim, Tmux, Alacritty & Rust-based CLI Tools)
How to use Git Worktree
มุมมอง 5Kปีที่แล้ว
How to use Git Worktree

ความคิดเห็น

  • @CristianBilu-q4n
    @CristianBilu-q4n 11 ชั่วโมงที่ผ่านมา

    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.

    • @CristianBilu-q4n
      @CristianBilu-q4n 11 ชั่วโมงที่ผ่านมา

      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.

  • @bernardcrnkovic3769
    @bernardcrnkovic3769 2 วันที่ผ่านมา

    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

    • @bionic_batman
      @bionic_batman 2 วันที่ผ่านมา

      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.

  • @dank3k
    @dank3k 2 วันที่ผ่านมา

    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?

    • @adibhanna
      @adibhanna 2 วันที่ผ่านมา

      totally! Go does have those, and I think they’re using it in this library. It’s just a simpler interface for some usecases

  • @다루루
    @다루루 3 วันที่ผ่านมา

    Thank you so much! Thanks to you, I was able to solve this problem!

  • @aimattant
    @aimattant 14 วันที่ผ่านมา

    great job

  • @asezen77
    @asezen77 17 วันที่ผ่านมา

    Is there any way to speed up the code suggestion of Avante? Very slow for me.

  • @ArnoldDouglas-h9g
    @ArnoldDouglas-h9g 17 วันที่ผ่านมา

    Justus Turnpike

  • @EuropeanLord
    @EuropeanLord 21 วันที่ผ่านมา

    "The One Keyboard To Rule Them All" - but I don't see Glove80? 😆

  • @tihon4979
    @tihon4979 23 วันที่ผ่านมา

    there is no page on github. 404 error.

  • @GordiUA
    @GordiUA 24 วันที่ผ่านมา

    Any difference with Sublime Build systems? Or even VIM make? I don`t think so.

  • @vityasinkov
    @vityasinkov 25 วันที่ผ่านมา

    what terminal do you use and how to get the same theme as you have?

    • @adibhanna
      @adibhanna 25 วันที่ผ่านมา

      I use Kitty terminal with gruvbox dark hard theme

    • @vityasinkov
      @vityasinkov 25 วันที่ผ่านมา

      @@adibhanna thanks for replying! I’ve already discovered video with your setup. The theme is gorgeous

  • @mohamedmadin5753
    @mohamedmadin5753 26 วันที่ผ่านมา

    i was curious if this terminal can render bidi language in properly

  • @NRCPQ
    @NRCPQ 27 วันที่ผ่านมา

    all the hypes only for a Inspector? imagine requesting to have access to a f*cking terminal emulator.

  • @prashlovessamosa
    @prashlovessamosa 27 วันที่ผ่านมา

    Thanks

  • @Rundik
    @Rundik 27 วันที่ผ่านมา

    What license does it have? Is it proprietary/source available?

    • @xyntho
      @xyntho 27 วันที่ผ่านมา

      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.

  • @assafdori-j8h
    @assafdori-j8h 27 วันที่ผ่านมา

    Nice walkthrough! Would love to see your entire dotfiles!

    • @adibhanna
      @adibhanna 27 วันที่ผ่านมา

      planning a video covering it

  • @_chiku11
    @_chiku11 27 วันที่ผ่านมา

    how can I request for access

    • @adibhanna
      @adibhanna 27 วันที่ผ่านมา

      join discord and ask one of the mods

  • @adibhanna
    @adibhanna 27 วันที่ผ่านมา

    What is your favorite feature in Ghostty?

  • @utvikler-no
    @utvikler-no 27 วันที่ผ่านมา

    Stop telling people to join that toxic channel for invite..

    • @adibhanna
      @adibhanna 27 วันที่ผ่านมา

      why is it toxic? I never had any conversations there, only got an invite through a friend

    • @shizukumaestro2276
      @shizukumaestro2276 27 วันที่ผ่านมา

      ​@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

    • @Mitchellh3
      @Mitchellh3 27 วันที่ผ่านมา

      @@shizukumaestro2276We changed the rules yesterday so only technical discussions are allowed. The growth exceeded our rules and we’re working on catching up.

    • @conformist
      @conformist 16 วันที่ผ่านมา

      @@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.

  • @wznzgq1354
    @wznzgq1354 29 วันที่ผ่านมา

    damn bro that keyboard so loud

  • @sama7496
    @sama7496 หลายเดือนก่อน

    are you using tmux here?

  • @ThomasOberliessen
    @ThomasOberliessen หลายเดือนก่อน

    Thanks for the inspiration ! Would you be wiling to share your lualine configuration? That looks awesome!

  • @wznzgq1354
    @wznzgq1354 หลายเดือนก่อน

    does it autocomplete?

    • @AndresMattaM
      @AndresMattaM 28 วันที่ผ่านมา

      you can toggle it, the default command is <leader>as, but I'm my opinion is not too good.

  • @odayprogrammer
    @odayprogrammer หลายเดือนก่อน

    Man I love that background, so homey

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      thank you!

  • @devopstoolbox
    @devopstoolbox หลายเดือนก่อน

    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

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      It's the closest implementation to what Cursor has! love it

    • @samarnagar9699
      @samarnagar9699 หลายเดือนก่อน

      hello om

  • @darkarie
    @darkarie หลายเดือนก่อน

    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.

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      Awesome! it is my favorite way to use AI in Neovim! Hopefully, they can get that chat with project feature done soon!

  • @abdellahcodes
    @abdellahcodes หลายเดือนก่อน

    Amazing!

  • @itztlacoliuhqui
    @itztlacoliuhqui หลายเดือนก่อน

    Thank you, which font are u using?

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      berkeleygraphics.com/typefaces/berkeley-mono/

  • @ways.
    @ways. หลายเดือนก่อน

    Thank you for covering this up

  • @Singlton
    @Singlton หลายเดือนก่อน

    Do you have discord or telegram group ,so that we can grow together?

  • @benjivillarreal6316
    @benjivillarreal6316 หลายเดือนก่อน

    WHAT IS THE BRAND OF YOUR CAMERA?

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      Sony ZVE-10

  • @mornsoltice
    @mornsoltice หลายเดือนก่อน

    Hi adib can i ask, how you make spaces beetween line on neovim

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      hi! do you mean, line height? this is usually done on the terminal config, not Neovim

    • @mornsoltice
      @mornsoltice หลายเดือนก่อน

      @@adibhanna oh using font.offset?, btw what font do you use for zed

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      ​@@mornsoltice what terminal emulator are you using? I use this font berkeleygraphics.com/typefaces/berkeley-mono/

  • @snoodking1
    @snoodking1 หลายเดือนก่อน

    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.

  • @Deffno
    @Deffno หลายเดือนก่อน

    🎉🎉🎉

  • @fuck_you_tube
    @fuck_you_tube หลายเดือนก่อน

    Thanks :)

  • @adibhanna
    @adibhanna หลายเดือนก่อน

    What other coding topics would you like to learn about next?

  • @blockchaingamedev
    @blockchaingamedev หลายเดือนก่อน

    Great video, thanks for sharing.

  • @Jafar-Sadik
    @Jafar-Sadik หลายเดือนก่อน

    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.

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      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!

  • @farzadmf
    @farzadmf หลายเดือนก่อน

    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.)

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      I'm actually using Zed editor in this video, i've been experimenting with it on and off. zed.dev/ check it out!

    • @farzadmf
      @farzadmf หลายเดือนก่อน

      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

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      @@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!

    • @farzadmf
      @farzadmf หลายเดือนก่อน

      @@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) 😆

    • @adibhanna
      @adibhanna หลายเดือนก่อน

      @@farzadmf lol yup! Goland! it's really good! they have a plugin called IdeaVim, it's probably the best vim emulation out there

  • @pedrolemos3030
    @pedrolemos3030 หลายเดือนก่อน

    awesome content!

  • @trololoev
    @trololoev หลายเดือนก่อน

    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?

    • @guywithgear
      @guywithgear หลายเดือนก่อน

      This keyboard is fully programmable. Put whatever key you want wherever you want.

  • @zheli2417
    @zheli2417 2 หลายเดือนก่อน

    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 ?

    • @adibhanna
      @adibhanna 2 หลายเดือนก่อน

      this is unnecessary, it shows you "folder open" github.com/adibhanna/nvim/blob/main/lua/plugins/neo-tree.lua#L32

  • @zheli2417
    @zheli2417 2 หลายเดือนก่อน

    I see that there is a background color of find files and results when in telescope how to make that?

    • @adibhanna
      @adibhanna 2 หลายเดือนก่อน

      It's not transparent, I changed the bg color to gruvbox bg. check here github.com/adibhanna/nvim/blob/main/lua/config/autocmds.lua#L90

    • @zheli2417
      @zheli2417 2 หลายเดือนก่อน

      @@adibhanna sorry I didnt make it clear. I mean the word "Find Files" get a orange bkg color. And the word "Result" get a gray bkg color. at 0:36 how to make that?

    • @adibhanna
      @adibhanna 2 หลายเดือนก่อน

      @@zheli2417 oh! that's part of the colorscheme! check here github.com/adibhanna/nvim/blob/main/lua/plugins/colorschemes.lua#L97 I'm using some colors from nvchad

    • @zheli2417
      @zheli2417 2 หลายเดือนก่อน

      @@adibhanna seems it only in catpp colorscheme I prefer gruvbox without this option. still thanks

    • @adibhanna
      @adibhanna 2 หลายเดือนก่อน

      @@zheli2417 this is not really catp, I customized it to look almost like gruvbox

  • @NullMcNull
    @NullMcNull 2 หลายเดือนก่อน

    This video is a nice explanation how to use interfaces instead of concrete instances, but it does not explain dependency injection at all. With dependency injection you build a provider (ioc container) that provides (injects) the concrete instances to methods.

  • @martinndegwa7155
    @martinndegwa7155 2 หลายเดือนก่อน

    Best explanation. Thank you for this.

  • @IgorPetrovic13
    @IgorPetrovic13 2 หลายเดือนก่อน

    way too many keys on thumbs :/ otherwise it seems good.

  • @TheBinary0101
    @TheBinary0101 2 หลายเดือนก่อน

    Pls fix your audio, very hard to follow what you saying, thx !!

  • @noviceThelizard
    @noviceThelizard 2 หลายเดือนก่อน

    in windows 11, i keep getting the "select an app to open 'font patcher'" prompt, and when i chose the fontforge.exe it keeps getting me an exit code 2

  • @stonedoubt
    @stonedoubt 2 หลายเดือนก่อน

    nvitop is also nice

  • @WaliaIbex
    @WaliaIbex 2 หลายเดือนก่อน

    Zed is crap it take so much computing process . My old computer crashed many times before I throw away zed into trash bin.😂😂😂