HNHacker News
TopNewBestAskShowJobs

janosdebugs

1,557 karma · joined April 20, 2022

submissionscomments
janosdebugs··on Show HN: GodotOS – Fake operating system interface made in the Godot engine
As I pointed out in that thread, I wasn't able to track down the license of all required DLLs for the binary distribution.
janosdebugs··on Show HN: GodotOS – Fake operating system interface made in the Godot engine
> Godot 4 has proper multi-window support.

Could you give me a link please? The Godot editor itself can't do multi-window and I haven't found a clear explanation on how to do that in the games either.

> You should be using C# for stuff like that. Ignore the Godot API, just use .NET 8.

I use the non-dotnet version of Godot, I'm not happy with the confusing licensing Microsoft has put around .NET [1]. If anything, I'll go the gdextension route, but it hasn't been painful enough yet to do that. For a UI you couldn't ignore the typing system since you'd need to feed the data into it and read from it a lot.

[1] https://news.ycombinator.com/item?id=35985832

janosdebugs··on Show HN: GodotOS – Fake operating system interface made in the Godot engine
I seriously doubt it. Game engines are, first and foremost, designed to provide a 2D or 3D graphics environment and input handling, they don't typically have the richness of UI components that you would expect for building a desktop app. Godot is no exception here, its UI components are very dated and limited in comparison what modern web-based applications can do. Furthermore, Godot specifically is limited to a single window (apart from popups) last I checked.

The other problem with Godot specifically is that every thing is tied to GDScript/the Godot typing system (yes, even the C# and gdextension APIs) and you need to deal with its inconsistencies. I'm currently implementing something as simple as a schema validator (think JSON schema) and it's nightmareishly tough in comparison to any other language I have implemented this in. And then we are not even talking about the almost universal lack of error handling in a large portion of the built-in functions, or really silly things like that opening a TCP connection apparently requiring active polling. I could go on.

I love Godot, it's super simple to build game-related things with, but holy macaroni do I wish they had thought things through just a little more when they implemented them. I would never want to build a data-heavy desktop app in Godot.

janosdebugs··on Ask HN: How much code do you write in your job?
Fun fact: I had only a rudimentary understanding of Kubernetes until 2020, but I had a fair bit of knowledge about containers. (Built an experimental container engine to learn.) Then I did 2 Kubernetes certifications and that got me up to speed (completely useless apart from the time spent studying). In the process I went and adapted Kelsey Hightower's "Kubernetes the hard way" to my then-employer's cloud offering with Terraform. It was super hard because everything was different, but totally worth it. Would absolutely do it again.

I built ContainerSSH at that time too to learn Go (look up the first versions, it's ridiculous how small they are) and then went to work for Red Hat with my new found knowledge.

janosdebugs··on Ask HN: How much code do you write in your job?
Don't give up! It took me a while to get things going too (I've been in the industry for 15-ish years and only started figuring out a bunch of stuff in the last few years.) Also, there are plenty of remote jobs that will happily do a B2B contract with you unless you are in one of the handful of countries that the US has problems exchanging money with.

I can only speak from my experience, but what helped me land interviews ( as a gradually built up over the last 3-4 years) was:

- Having contributions in high profile open source projects name-dropped at the beginning of my CV. (Front-load the interesting stuff. Also, these should be substantial works in case somebody goes to check.)

- Having relatively well-known open source projects I built from scratch (ContainerSSH, gotestfmt, etc) in my CV with well-known users I can also name drop. These projects had nothing to do with my day job and I built them in my free time.

- Having spoken at several conferences. This is the most unfair of all since not everyone can travel and having the conference in there doesn't say anything about the quality of the talk, but it seemed to help get through the recruiter filter.

What helped me get through the interviews (again, from my experience):

- Having experience in diving into unknown codebases and problems. Most companies that are serious about coding will have you do live coding, take home exercises, or read some code in the interview. If you do enough work on open source stuff, you'll develop this automatically as you will be jumping into code that's not yours.

- Being able to do TDD in the live coding interview and still finish on time. Nobody I talked to actually does hard core TDD in the industry and most people are stuck with a ton of legacy code, but this is a magic trick that will get you some eyebrows raised assuming you don't mess up the rest of the interview. Also, forget algorithmic problem solving. While at least knowing algorithms and datastructures helps, most companies don't have deep algorithmic problems in their day to day operations, so encountering these in the interview I found to be a minor red flag.

- Knowing the language basics. If it's Javascript, know your type issues or how the runtime works. If you do Go, know parallelization problems and how to solve them.

- Structure your code! On the interviewing side I had to fail too many candidates for submitting code with an unclear/messy structure for take home exercises.

Big no-nos (when I was the interviewer):

- Do not claim you contributed to a project if all you did was a typo fix.

- If you have a Github profile, make sure it's not full of forked repos you didn't contribute to. I will only look at what you linked in your CV, but others will google your name (no matter if it's illegal or not).

- Clean up or set your social media to private if you don't want interviewers to see that. Google yourself, make sure there are no red flags there.

- Don't use ChatGPT/Copilot without heavy refactoring. This is incredibly easy to pick out and not cleaning it up, not making the code style consistent screams that you have no idea what you are doing. Remember, interviewers only have your code to go by as a signal source.

- If there is a woman in the interview panel, make sure you don't just address the guys. We did interviews with my wife and we noticed this a lot. This may just be a force of habit, but for companies paying attention to diversity, this is an immediate red flag. The people who got flagged for this usually turned out to have a culture fit problem in other areas too, but it's worth keeping in mind.

- Leave your ego at the door. They may criticise your code, but don't get defensive! Stay factual, that will help defuse the situation.

- Don't have typos in your CV. Use a spell checker.

Finally, really, don't give up. My experience is just that of one person, I (probably) don't live in the same country, probably don't have the same amount of time available as you do, and I (probably) don't work in the same area as you. My advice may be complete garbage and not applicable to your situation.

janosdebugs··on Ask HN: How much code do you write in your job?
I work on OpenTofu since November, lots of coding, docs, the rest is helping the community or coordinating contributions.

I used to work for Red Hat (OCP on oVirt/RHV, Arcalot/Arcaflow, etc), in a little over 2 years I wrote somewhere around 40.000 lines of code that I can account for with 80%+ time spent, but that diminished greatly around the end as a lot of changes into the "Scrum to rule everything" direction happened, which decreased the amount of code produced by a lot.

Depending on what you do you may want to go window shopping for jobs where coding skills are valued and that are low on process. If the interview process already puts heavy emphasis on your code, that may be a place for you. If, on the other hand, the quality of your code isn't appreciated as long as it works... Smaller companies/projects tend to work better.

janosdebugs··on Ants recognise infected wounds and treat them with antibiotics
Two?
janosdebugs··on Ask HN: Do people get hired from 'Who wants to be hired' thread?
Related: I got "hired" from the who's hiring thread for a B2B contract. It's worth looking and applying, there's good stuff there.
janosdebugs··on EU Cyber Resilience Act: What does it mean for open source?
You must not have looked at sbom files recently. Software complexity is exploding due to the easy availability of libraries for just about anything. It is not uncommon to find dependency trees eith several thousand items for a relatively small piece of software. Adding a new dependency maintained by one person on the Internet seems to evoke little more than a passing thought.
janosdebugs··on Ask HN: Washed out PHP Dev – What to do next?
I've been where you are, right about when Zend Framework 2 was becoming hot. I first moved to Hacklang then Java. I reimplemented many of the things I knew from vanilla PHP into those languages, such as a dependency injector, routing, PSR-7, etc. It taught me a lot about strictly and statically typed languages. I then moved to Go and have diversified since. This is a route you can take if you want to move lower in the stack and you like strictness.

If you don't like it, Python is a very reasonable choice as it is very much in demand.

janosdebugs··on South Korea Will Police 'Shrinkflation' at the Supermarket
The main issue with this is that nobody I know shops by price per unit. Once the item with the new price per unit is out few people will remember the old one.
janosdebugs··on JetBrains forces AI freemium plugin that cannot be completely removed into IDEs
I tested this out and I'm not very impressed. It's a chatbot that has limited access to your source code (the file you have open I believe). The AI doesn't have a complete picture of your project and it would probably be too expensive to ingest thousands of lines of code. The code it generates is... what you come to expect from a coding assistant. It's hit and miss, and it needs heavy refactoring. It feels like this doesn't add too much value to the already existing tooling and Jetbrains should have waited for something better. The current way of prominently pushing it strait to production seems rather unfortunate. I've disabled the plugin.
janosdebugs··on You Don't Need HTML
Why stop there? Use arbitrary XML and style it with CSS.
janosdebugs··on You Don't Need HTML
I'm curious why? I built a JS-driven website and did extensive testing with the screen readers available to me (phone, etc). Adding a few aria properties seemed to work wonders. I think the problem isn't the SPA concept but rather that people don't bother testing. However, a horrible screen reader experience can be achieved without an SPA too and many do.
janosdebugs··on Ask HN: Where should I incoporate my business
Typically where you have your tax residence (where you live), but that also depends on the treaties between the two countries.
janosdebugs··on Ask HN: Where should I incoporate my business
Talk to a tax attorney where you live, ideally someone well versed in such constructs. It can get very complicated if you don't live where your company is incorporated. When opening a company in Austria, I read about fun EU edge cases when the seat of the company (where the leadership resides) is abroad in respect to the incorporation country and the company needed to register a branch office where the seat is. This had weird tax implications. The place where the services are rendered and the potential VAT you need to pay can also change due to this. Again, talk to a/multiple tax attorneys.
janosdebugs··on SSH3: SSHv2 using HTTP/3 and QUIC
I concur. They seem to have reinvented a part of the protocol without actually addressing many of the issues of SSH. The paper also doesn't bother to go into details on any the advancements that have been made to SSH since the original RFC, such as keyboard-interactive, GSSAPI, etc.

> Some SSH implementations such as OpenSSH or Tectia support other ways to authenticate users. Among them is the certificate-based user authentication: only users in possession of a certificate signed by a trusted certificate authority (CA) can gain access to the remote server [12]. Available for more than 10 years, this authentication method requires setting up a CA and distributing the certificates to new users and is still not commonly used nowadays.

Somebody had an agenda to make SSH look as bad as possible. You can implement OIDC authentication with keyboard-interactive, no need for HTTP/3 for that. However, it gets very tricky if you want automated / script access, so it doesn't solve the authentication problem.

As an aside, Tatu Ylonen, the original author of the SSH protocol, published a paper in 2019 titled "SSH Key Management Challenges and Requirements"[1], which is an interesting read. It would seem the authors of this paper should have at least read it.

[1] https://www.ylonen.org/papers/ssh-key-challenges.pdf

janosdebugs··on Threestudio – Framework for 3D content generation
Graphical fidelity isn't the problem today already. You have Epic Megascans, online asset libraries where you can buy crazy high quality models for dirt cheap and whatnot. However, the new visually high quality games that come out (and have a download size of 20+ GB for a top down game) don't necessarily do well despite a marketing budget. In contrast, games with very little budget but a unique (and sometimes crappy) artstyle and compelling gameplay loop can do crazy well if they scratch an itch and/or are good at talking to the press. I mean, look at Brotatos artstyle... just... look at it.
janosdebugs··on Threestudio – Framework for 3D content generation
I'm very sceptical if this is going to actually manifest. My wife and I have been digging into the text to 3D topic for a while now and the problem seems to be that there is just not enough correctly labeled data and you have to deal with the complexity of having to generate a mesh in the third dimension. There is just a vast amount of 2D pictures with descriptive alt texts or other textual context on the Internet which is simply not true for 3D models.

A lot of papers seem to try and extract 3D data from 2D pictures since the dataset is just so much better, but that hits obvious limitations. And we aren't even talking about any animations yet, which anyone who ever tried making them by hand knows, add a huge jump of complexity because you are not just morphing individual vertices, you actually want them to move consistently or else the faces are going to start doing weird glitchy things. Generating 3D stuff is less like generating pixel-based images and more like generating an SVG where the shapes actually make semantic sense, but a lot more complex. (Which, as far as we have found, no AI has managed so far either.)

Sure, you'll start seeing animated faces, architectural plans, and you'll also see bone system, based animations for humanoids (humanoid 2D video to 3D bone animation AIs exist today), but don't expect to be able to prompt your way through creating a Pixar movie.

However, I'm happy to be convinced otherwise.

janosdebugs··on LXD now re-licensed and under a CLA
If Canonical took code from Incus, wouldn't they also need to include their NOTICE file if they have one as required by the Apache license? Would not including that file constitute removal of copyright management information?
janosdebugs··on Ask HN: Can we do better than Git for version control?
Are you using the CLI or something like TortoiseSVN? Tortoise has a fairly intuitive UI for adding untracked files when you commit.
janosdebugs··on Ask HN: Can we do better than Git for version control?
I have a lot of huge files and use SVN with it. It's dirt cheap to host, next to no memory requirements, and it comes with a web UI to boot because it's built in top of WebDAV. You can literally open a repo in the browser.

The only downside is the per-file versioning, the update needs to be run on the top directory otherwise interesting problems happen.

janosdebugs··on W4 Games raises $15M to drive video game development with Godot Engine
They are affiliated in as far as one of the original Godot authors is the one of the founders of W4 (Juan Linietsky). However, I think it would help avoid misunderstandings if W4 communicated clearly how much they are dedicating to open source development and how much is closed source stuff only related to Godot.
janosdebugs··on Goodbye, clean code (2020)
I found that the best use case for classes is dependency injection. Have a constructor, inject your dependencies, then use them in one or more functions. However, you can do the same with functions:

    function new_foo(dependency) {
        return function(bar) {
            // Do something here
        }
    }
janosdebugs··on Facebook Kills PGP-Encrypted Emails
How do you solve the problem of needing to pass an email address via phone? Happened to me dozens of times over the last year. Also, how do you solve the problem of shared inboxes where employees need to access emails and they may get replaced over time? How do you solve the problem of people just straight up losing or breaking their keys/laptops/phones? I knew people who had a new phone every few months because something happened to it.

The average user is very, very far away from being able to use a nearly irreplacible item for communication. And yes, it's irreplacible since there is no rollover mechanism in just publishing the public key.

janosdebugs··on EU approves ban on destruction of unsold clothing
Exceptions for small companies... Franchise model, is that you knocking? (I haven't read the law, I'm unable to say if that would actually be viable.)
janosdebugs··on YouTuber who staged plane crash in California sentenced to 6 months in prison
This might be a better link as it points to the original source: https://www.justice.gov/usao-cdca/pr/santa-barbara-county-ma....
janosdebugs··on Ask HN: How to admit that you don't want to be on the manager track anymore?
I know several people who went back to IC. All the feedback I heard was either applause or envy of the person's guts to do it. (Usually it came with a significant salary drop.) This typically happened after a few years as a manager though.

My 2 cents: just say it as it is. Your manager doesn't need you having a burnout all if a sudden any more than you do.

janosdebugs··on Show HN: Onsites.fyi - Curated Big Tech Interview Experiences
The filter seems to be broken. I searched for L5 system design and got L4 in the results, which was actually an L3 at the time of hire.
janosdebugs··on Why use many streetlights when one will do? (Austin's Moontowers) [YouTube] [video]
Why not a balloon then?
← PreviousPage 6 of 20Next →