Programmer, University lecturer, and gamer. I’m also learning French and love any opportunity to practice :)

  • 0 Posts
  • 67 Comments
Joined 3 years ago
cake
Cake day: June 1st, 2023

help-circle
  • For 1: as a software company, they have a vested interest in ensuring that software engineers are as capable as possible. I don’t know if anthropic as a company uses this as a guiding principle, but certainly some companies do (ex Jane Street). So they might see this as more important than investment cycles.

    The quality of software engineers and computer scientists I’ve seen coming out of undergraduate programs in the last year has been astonishingly poor compared to 2-3 years ago. I think it’s almost guaranteed that the larger companies have also noticed this.


  • In terms of “computational complexity” we mean the following:

    Consider the following generalization of Sudoku. There is a number, N, and a grid of squares with N2 squares per side. (So the grid in total has N4 squares.) Each row and column of the grid has N2 squares. The grid therefore contains an N2 number of NxN subgrids (this corresponds to the 3x3 boxes in regular sudoku, called Houses). The puzzle is to fill each row, column, and house with the numbers from 1 to N2 with no duplicates.

    The complexity is then a measure of how much harder the puzzles get when N is increased. Sudoku is a classic example of a so-called “NP-Hard” problem. Most puzzles that people think of as difficult are NP-hard. The ELI5 is that given a claimed solution to a sudoku puzzle, you can check if it really is the solution quickly (where again “quickly” is in terms of N). This is not true for the hardest types of puzzles in the witness.

    This is only a proxy for how difficult humans will find the smaller puzzles but it’s remarkably accurate. The hardest puzzles using every mechanic from the witness (realistically, only using two of them including the last one) are going to be much harder for a human than the hardest sudokus.








  • Eh rust still has issues in some domains, e.g., when cyclic data is appropriate. You can do it, but it’s annoying. To me, Haskell is really peak programming, but I know that’s opinionated and most won’t agree.

    Vscode can do cross-file renames in pretty much any language. An LSP that doesn’t support this is not doing its job.


  • Obra Dinn and outer wilds are two of my top 3 games ever made. If you liked outer wilds I’m pretty sure you’ll like Obra Dinn.

    Blue prince is great until you “win” the first time. After that, imo, it starts falling off. Slowly at first, then harder. I have completionist friends to whom I have given it negative reviews. But if you just want to win and explore the space for a while, even potentially hundreds of hours if you don’t use guides, it’s fun. Don’t start a game day aiming to work on something specific. Work on what comes your way, and it is easily possible to make substantial progress every single game day.



  • I don’t think anyone’s calling it a scam, but it’s pretty clear as an outside observer that a very specific point was questioned (about where JPlus fits into the existing ecosystem) and your replies have very little to do with that topic.

    Also, your replies really do look AI-written. I know it’s hard to be sure, but humans expressing a point don’t usually write summaries in the fashion of your replies and LLMs almost always do.

    Anyway, personally, if I have an existing application java program then maybe there’d be an argument to use a lightweight syntax extension to continue developing it more safely. But if I were starting a new project, whether a library or application, I would just use Scala or Kotlin from the get-go. The JVM platform is already versatile enough to get us much more than just some basic extra type safety and boilerplate generation. I’m all for static analysis tools, it’s just (again) hard to see what you get from JPlus that you can’t get from either groovy or a better language.

    Your replies don’t address that at all.









  • The LLM in the most recent case had a monumental amount of context. I then gave it a file implementing a breed of hash set, asked it to explain several of the functions which it did correctly, and then asked it to convert it to a hash map implementation (an entirely trivial, grunt change, but which is too pervasive and functionality-directed for an IDE to have a neat function for this).

    It spat out the source code of the tree-based map implementation in the standard library.