My laptop has a fn lock that you can toggle, it can be very convenient to switch to f-key mode when working with some applications but most of the time I’m using volume or brightness keys.
My laptop has a fn lock that you can toggle, it can be very convenient to switch to f-key mode when working with some applications but most of the time I’m using volume or brightness keys.
Rust can use all basic C data types, but it can’t use C++ classes, in any straightforward way at least.
I don’t really think it’s much of a problem that h
isn’t on a touch typing key because you don’t need to press h very often. I probably use :
way more than h
. (:
requiring shift isn’t ideal though, although that’s another can of worms)
Many “AI generated” images are actually very close to individual images from their training data so it’s debatable how much difference there is between looking at a generated image and just looking at an image from its training data in some cases at least.
It’s not that much of a strain since it only handles DNS traffic.
When you go to e.g. programming.dev, you computer needs to know the actual IP and not just domain name so it asks a DNS server and recieves an answer like 172.67.137.159 for example. The pihole will just route the traffic to a real DNS server if it’s a normal website or give a unkown ip kind of answer if it’s a blacklisted domain. Actually transmitting the website which is the bulk of trafic is handled without the piholes involvement.
You’re propably better of not worrying too much about the awesome-neovim list until you’re more familiar with nvim itself
I thought LSP support was built into nvim. Why are there so many LSP plugins?
Most of the plugins seem to be adding bells and whistles to the core LSP functionality and can be safely ignored. The main one that I recomment is nvim-lspconfig which makes it easier to get servers up and running. Neovim itself knows the lsp protocol but isn’t aware of any particular lsp servers. lspconfig comes with premade configurations for different servers so that you don’t have to e.g. tell neovim where to look for the executable or which servers handle which filetypes and so on. It is doable to use LSP without this plugin as well, it just means more boilerplate in your config file.
And what the hell is treesitter and why do I need it?
Treesitter is a different way of parsing files for e.g. syntax highlighting. Vanilla (neo)vim uses a pile of regular expressions to perform syntax highlighting essentially, while treesitter actually parses the source files in a way that is aware of the way the target language works. Treesitter might know the difference between a macro and a function for example, and can highlight them differently. You can also querry the syntax tree that tressitter has parsed for use in custom scripts or plugins. Also completely optional unless you want to use a plugin that depends on it.
As for plugin manegement, I use vim-plugged (which is a vim plugin but is also compatible with neovim). You basically just list the github/gitlab repos you want in your .vimrc file and run a command to download/update them.
My lsp code in my init.vim file is as follows (taking advantage of nvim-lspconfig): https://pastebin.com/0Wy1ASwk. Adding a new lsp means making sure that the server itself is intalled (e.g. through my package manager) and then adding another line in the langs object, like when i added erlangls i just added erlangls = {},
on line 19.
(EDIT: For some reason the nmap('gd', vim.lsp.buf.definition)
line is repeated a bunch of times in the paste bin. That’s not on purpose)
Debugging is imo a weak point for both vim and neovim, there’s nvim-dap and vimspector which takes advantage of LSPs sister protocol DAP (debug adapter protocol). Setting it up is principaly similar to LSPs. Vim and neovim also have the builtin termdebug plugin which you can load using packadd termdebug
in you .vimrc file and allows you to debug using GDB.
Do you think that you can’t take a critical view of “technological advancement” without understanding it? I understand if you think the title is too clickbaity or something but it sounds a bit like you’re dismissing criticism about AI out of hand.
Every human work isn’t mechanically derivative. The entire point of the article is that the way LLMs learn and create derivative text isn’t equivalent to the way humans do the same thing.
I agree in regards to image generation, but chat bots giving advice which risk fueling eating disorders is a problem
Google’s Bard AI, pretending to be a human friend, produced a step-by-step guide on “chewing and spitting,” another eating disorder practice. With chilling confidence, Snapchat’s My AI buddy wrote me a weight-loss meal plan that totaled less than 700 calories per day — well below what a doctor would ever recommend.
Someone with an eating disorder might ask a language model about weight loss advice using pro-anorexia language, and it would be good if the chatbot didn’t respond in a way that might risk fueling that eating disorder. Language models already have safeguards against e.g. hate speech, it would in my opinion be a good idea to add safeguards related to eating disorders as well.
Of course, this isn’t a solution to eating disorders, you can probably still find plenty of harmful advice on the internet in various ways. Reducing the ways that people can reinforce their eating disorders is still a beneficial thing to do.
I agree that the image generation stuff is a bit tenuous but chatbots giving advice by way of dangerous weight loss programs, drugs that cause vomiting and hiding how little you eat from family and friends is an actual problem.
You’re right that this propably doesn’t make much of a difference to the average windows user, but this is a step towards normalizing data collection in broader areas of computing and I think that it’s good to keep up to date with stuff like this and where appropriate call it out (although it propably doesn’t make a huge difference to complain about it on lemmy to be honest)
I’d say that stuff like this happens less often on windows, but it’s also worse when it does because you have fewer resources to fix problems when you do run into them
think I’m gonna give this a try but the style of writing in the blog post isn’t making this easy
👩🚀 Spacebar
Not the one on your keyboard, silly 😜
shudders
Is there any way mastodon stands out from other self hosted websites? Would the CSAM material be harder to distribute or easier to prosecute if they ran, say, a self-hosted bulletin board for it instead?
The help pages for buffers, tabs and manipulating windows (:help CTRL-W
) are always a good place to start!
Some basic pointers:
A buffer is some text that vim has in memory, usually linked to a file, but not necessarily.
You might want to :set hidden
to allow for buffers to exist without being open in any window.
I have this mapping in my .vimrc
for moving between buffers
" switch between buffers
nnoremap <leader>b :ls<cr>:b<space>
If you hit the leader key (backslash by default) you can see all open buffers. You can then type one of the numbers preceding the buffers, or start typing the name of one of the buffers and then tab complete.
A window is a particular view into a buffer. You can have windows that point to the same buffer but are scrolled to different places which can be convenient if you want to look at different parts of the same file side by side for example. You can split the current window with C-W S
(horizontally) or C-W V
(vertically). You can also close the current window with C-W Q
. One common way to move between windows is C-W
+ one of hjkl, but there are a ton of other ways that can sometimes be more convenient listed under :help CTRL-W
.
A tab is a collection of windows. You can create a new tab with :tabnew
or C-W T
. You can navigate between tabs with :tabnext
or gt
and :tabprev
or gT
. Tabs are usually a bit counter-intuitive when coming from other editors since they work differently in vim, but they’re very convenient once you get used to them imo.
Jumps are also worth checking out, the short version is that you can go to your previous position with C-O
and then back with C-I
.
One option is to use alt+hjkl instead. Vim can be a bit weird about alt mappings so nothing is bound to alt by default. Neovim has better alt support out of the box so it’s a good way to add extra mappings without conflicting with the default ones.
How familiar are you with vim? You’ve been using it with vscode for a while so I figure you’re somewhat familiar with vim shortcuts? If you haven’t already, you should run through vimtutor
. The built in help is very good in vim, it’s good to develop a habit of using :help
and :helpgrep
before googling. When in help pages you can use C-]
to go to references in the documentation.
Some resources that I found useful when getting in to vim:
Articles: Oil and vinegar, Death by a thousand files
Talks: Let vim do the typing, How to do 90% of what plugins do with just vim
Speaking of plugins, tpope has an excellent repo of very good plugins that feel like they fit in very naturally with vim. I can especially recommend fugitive, commentary and surround
I’m sure there are ways to make it more convenient to use a terminal with dyslexia but I’m gonna guess that it’s always going to be a bit of an uphill battle. It might make more sense to use a gui in that case for many applications. Conversly, it’s also good to make sure you have a proper terminal interface as well for disability reasons, but also for the convenience that a terminal interface can provide for people who are familiar with the terminal.
Fair enough, I’m not against people making guis as well for people who prefer them for whatever reason, my point is that people don’t just prefer terminals because of elitism or something. I imagine terminals can be better than guis for some disabilities as well.
It can be hard to bootstrap yourself up from zero followers. I’d recommend posting something just so that people have an idea of the kind of thing they can expect if they follow you from checking out your profile. But you probably won’t get much engagement from your own posts at first, so it will probably be more fun to just reply to other accounts.
Bluesky has a feature where you can set up customized feeds to filter for any kind of content you want. The person who saw your post might have seen it in the “newskies” feed which just contains every first post that any account makes for example. So one way to get engagement can be to write posts that show up in a certain feed that people follow, like there exist some feeds that are based around certain topics that usually trigger based on your post containing certain keywords. Most people just use the following feed though, I think.