Hacker News new | past | comments | ask | show | jobs | submit | przmk's comments login

It is a lot outside of the US. Even with an ok developer salary in Belgium, I'd have to really have a use for something to pay $20/mo.


I do a lot more work with cline and aider than without. For now that translates to a lot more money. In the end it's probably just going to be part of your normal job; you will just deliver a lot more in your 40 hour week than you did before. At this stage in the AI hype, I would insist on more or code side projects or do multiple projects. I write a lot more code and still have more time than before sonnet came out.


If it improves your performance by 1%, then for a salary of $2000/mo, that $20/mo is breakeven.

If it benefits you more than 1%, then you're in profit.

Of course, if you're in a job that doesn't actually care about performance, and performing won't lead to better salary at some point, then it may not matter.


Only if it increases your compensation by that 1%?

I get making economic/stats based analysis like this, but is your boss going to notice that 1% to give you a raise they otherwise wouldn’t? Probably not…

Your company culture can be performance-minded and this still be true.


What a weird way of thinking. If you act so pedantic anyway, you can stop coding simply 1 percent earlier each day, since your boss would not notice anyway. Personally I live in Belgium and I would be glad to pay 20 euros per month if it increases my productivity, as noticed by my boss or not.

The real problem however is, I cannot simply share my employer's repos to be absorbed by any LLM out there. So I use only the tools that my employer provides and approves of. Currently that is Microsoft Copilot chat/RAG via my work account. It takes some copy/paste and adaptations of problems/solutions but it is much more efficient than using SO. It is also a great teacher that never gets tired of my plenty why/how questions.

In my view, the future is that LLMs can train on entire private code repos until it understands its ins and outs. Currently it would need to fit in the context window, hence you need to babyspoon it, as I understand things.


I was only embodying the mindset in the comment I was replying to. Thinking in terms like “My time is worth $X, so if I do Y thing that takes Z minutes, that’s D dollars saved.” It gets really hairy and leads people down false paths where they think they’re being super “rational” all the time.

In this case it tricks you because it assumes that the LLMs increase productivity and launders that into the calculation. For me, and many people, LLM usage decreases my productivity.


Fair enough!


Looks very nice. One thing that always prevents me from using anything other than a full-blown IDE for Java is the fact that most entreprise projects use Maven and structure packages with the default Java way by using the FQDN structure (e.g.: org/example/groupid/packageid/submodule/File.java).

Maybe I'm missing something but navigating and finding/adding files in a structure that's 10-20 directories deep or more seems like a nightmare in pure Vim.


A good fuzzy finder helps a lot with this. You can type something like `ccufFoo` to match `com.company.util.factories.FooWidgetFactory`. I use fzf.vim for this.

Thankfully my company has its own hosted LSP that supports Java (and every other language in our bazel monorepo) so I don’t have to mess around with Eclipse and JDTLS (what happened to eclim?). But at a prior company I just worked without an LSP and just did a lot of referencing Java docs in a browser and split screen files.


another solution for fuzzy finding is telescope.nvim https://github.com/nvim-telescope/telescope.nvim

the thing i like the most about it is the amount of plugins you can add (including things like looking at nvim's paste ring).


I believe that the Neovim Kickstart project gives you Telescope as the fuzzy finder. (The YouTube video by TJ is linked in the README.)

https://github.com/nvim-lua/kickstart.nvim


> what happened to eclim

I was also curious. The project has been shut down/archived this August recommending java LSP instead but it seems like there hasn't been a lot of work or a release since 2021

https://github.com/ervandew/eclim

> (Aug. 03, 2024)

> Eclim has reached its end of life. The Language Server Protocol (LSP) and the various implementations are mature enough that eclim has become unnecessary.

> It has been a great run (nearly 20yrs!) and I'm grateful for everyone that helped out, from bug reports to patches, it's been awesome


I can recommend the yazi CLI tool for filesystem traversal:

https://yazi-rs.github.io

It has support for fzf and zoxide for these uses. As well as a panoply of other goodies (ripgrep, file previews, commands without exiting the file explorer, etc.)

If one is willing to learn helix instead of nvim, I know there's integrations out there between the two as well. I wouldn't be surprised if there were for nvim as well.


There’s a yazi nvim plugin too!


Been using yazi for the terminal but not as a plugin yet. Perhaps I should give it a try. I’ve been happy with oil.nvim too


I started down that route and decided it was just a lot of work ie mental effort I didn’t want to do. My motivation was eclipse maven plug-in was buggy and sucked at the time. I found (like most) IntelliJ gave a much more pleasant experience. How long have you been doing it and how have you managed to stick with it?


I wrote Java sans LSP for three years full time (2012-2015), and then occasionally since then.

Since 2015, I mostly worked on the web version of our cross platform C++ project but have contributed substantially to the Android and iOS libraries as well.


What’s the LSP tool that integrates with Bazel?

Is it open source?


It looks like they work at Google, based on their GitHub (assuming the same username) -- so no, it's sadly not open source :(

A real shame, I think Bazel's lack of good IDE options definitely hampers its adoption.


I always found the existing bazel integrations annoying. My solution has been to generate .classpath based on a set of bazel queries. Not what's officially recommended, but it has worked great for the projects I've been involved in. Easy to understand, and keeps bazel completely separate and independent from the IDE experience which has some benefits.


No, it’s not open source alas.


FWIW, that is not a Maven-ism that is actually inherent to Java (the language and the runtime)[1]. Including case-sensitivity for the filename, which was an especially bold choice for Sun to make back in 1990, although I guess they're all "we'll sell more Solaris workstations!!1" or something

For example:

    $ mkdir foo
    $ cd foo
    $ printf 'package jimbo;\npublic class Foo2 {}\n' > fred.java
    $ javac -g -d . fred.java
    fred.java:2: error: class Foo2 is public, should be declared in a file named Foo2.java
    public class Foo2 {}
           ^
    1 error

The only exception that I'm aware of is that inner classes don't have to live in their own filename (given that they're more or less property of the owning class)

The Maven-ism that I'm aware of is the by default structure of {src/main/java, src/main/resources, src/test/java, src/test/resources} but (of course) those are customizable via the pom.xml if it jams up your project that much

1: https://docs.oracle.com/javase/specs/jls/se6/html/packages.h... (it's the oldest spec version they still link)


Package hierarchies are used during class loading from a directory, but there is nothing in the spec that mandates that kind of directory structure for the source code. Your link only uses the word "might", not "must".


> The only exception that I'm aware of is that inner classes don't have to live in their own filename

Not only inner classes, you can have many top-level classes on the same file but they cannot be public.


Not at all -- if you're something like LazyVim with the stock config, then in a large project it's just <leader>ff to search by filename or <leader>sg to grep across the project (using ripgrep!) or for a symbol search <leader>sS (using symbols provided by the LSP).

I haven't found anything better than Neovim+Lazyvim and switched from ST4 a couple of years ago and never looked back.


<leader><leader> also opens the fuzzy finder in LazyVim. I don’t like it quite as much as <shift><shift> which is the shortcut in Jetbrains but it’s better than <Cmd>-P in VS Code


Yes that works too! I use <leader>fb to fuzzy search over open buffers so <leader>ff is a bit more natural, albeit longer than <leader><leader>.

I think my favorite feature is `gr` (in command mode) to "goto references" for the symbol under the cursor. I use this all the time (as well as `gd` for goto definition which with the LSP is really precise).


Similarly, I found the kickstart.nvim immensely helpful as a jumping off point.

https://github.com/nvim-lua/kickstart.nvim


you want the ctrl+p plugin

It's a fuzzy file finder.

For your example of `org/example/groupid/packageid/submodule/File.java` I might write "[Ctrl+P] pamodFi[Enter]"

If `File.java` is unique enough, I can just type that and it finds it without issue.

There's also filetree plugins if you really want the visual clutter


This is even how I navigate files in IntelliJ.


In IntelliJ, you don't normally need to look for files unless they're non-source code, as you can just go directly to types regardless of their file names.


Yeah it’s the general same concept though. Ctrl + P and type or shift + shift and type the thing you want.


On Mac, it's Cmd+o for types, Cmd+shift+o for actual file names.


Wouldn't that mostly matter if you're really navigating in your source code via the tree panel? In the post-Textmate days, fuzzy file finders seem to be all the rage whether you're using vim or IDEs (or Sublime etc.). Or you go to definition/references immediately.

I mostly use the file navigation when exploring the structure, which I'm not doing that often.

And which I probably should do with a class browser anyways, which I used to do often in Eclipse, way back in time, but it seems that particular SmallTalk-ism isn't very popular in contemporary IDEs.


Doing any work in a project worked on by multiple teams without C-P-style fuzzy file name matching is a recipe for frustration in any editor or IDE, regardless of the language. I've relied on this feature a lot when working in nvim+Python and nowadays in my vscode+typescript job it is one of my most heavily used shortcuts, too.


Try filepicker.vim [0] to navigate these in one of the many popular millers like lf, yazi, ranger or nnn

[0] https://github.com/Konfekt/filepicker.vim


Honestly having one single dedicated F key for jumping anywhere to a class or method definition is, for me, a killer feature that most alternatives lack. I do a lot of kinds of development with Vim, but for certain languages I find it a far better experience to use a language specific IDE.


When importing a library from Github, you also have to see if it's abandoned or not. Crates actually shows you the last updated date right there.


Not prioritizing tools is a mistake imho. I'd argue it helps a lot with adoption and you end up with useful tools.


Odin actually has a pretty great LSP already.


If your goal is viral adoption, I agree, but it sounds like Odin is kind of geared towards the graphics programming world and doesn’t require vitality at this stage.


What does that have to do with the official itch account posting there? How would your seemingly personal beef with Bluesky impact the credibility of that?


For what it's worth, the latest 1.10 release of sway introduced support for IME popups. Maybe that would help


Where did you manage to find "normal people" that begged you to install a password manager for them? I have yet to come across one person who wanted one.


There are normal people out there who have been hacked, or knew someone who was.

Also, some normal people are computer-smart enough to understand problems like credential-stuffing, if someone explains it to them.


What is wrong with protesting ridiculous anti consumer practices? What is the point of requiring a mandatory 3rd party account to play a SINGLE player game? Or crappy launchers that do absolutely nothing except prolonging the start of the game?


The player didn't risk lots of millions on developing something and payrolling 100s of people. So it's none of the player's business. Like people don't have 123 useless accounts here and there over the web, why this one hurts?

99.9% of gamers do not even have a firewall, and they don't care that their usage stats are shoveled out of their PC by the truckloads.


I don't have 123 accounts, frequently delete unused accounts and send GDPR requests for websites that won't comply. And I know people who also refuse to play something because of a shitty account requirement. But I agree that it's certainly a minority.

I don't get the argument of the risk though: by adding a PSN account requirement, all you bring is bad press with 0 added value. On top of that, you do that for a game that was already released years ago, sold well and was well liked. It's not exactly a major risk to expand it to the PC platform.

I just hope that one day it becomes illegal for companies to add unnecessary requirements like that.


"Qui" (pronounced ki) also means "who" in French. I wonder if they're related.


French and Farsi (Persian) are both IndoEuropean languages. So yes, they are related. If I'm reading it right, the Proto-IndoEuropean word for "who?" is /kwis/.


This only targets Gtk3 and not Gtk4 or libadwaita though. Seems a little end-of-life.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: