• 2 Posts
  • 23 Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle




  • Many moons ago I did a project at uni where we implemented elliptic curve cryptography in Java and released it as open source. Unsurprisingly, we had no idea what we were doing. Some years later I get a random mail from someone using it on some embedded system…

    I don’t want to know, and I fear that ist is paramount that I maintain plausible deniability 😂♥️🙏





  • Yeah. Totally agree on this. I spend maybe 3-4h a day reviewing code, and these are my thoughts…

    The LLM generated tests I see are generally of very low quality. Perfectly fitting the bill of looking like a test, but not actually being a good test.

    They often don’t test the precise expected value. As an overly simplistic example: They rarely check 2+2==4. But just assert 2+2>0, or often just that 2+2 doesn’t cause an error.

    The tests often contain mountains of redundancy. Again, an oversimplified example: They have a test for 2+2, and another for 2+3.

    There is never any attempt to make the tests nice to read for humans. It is always just heaps of boilerplate code. No helpers introduced, or affordances to simplify test setup.

    Coupling the proclivity for boilerplate together with subtly redundant tests makes for some very poor programming. Worse than I’d expect from a junior, tbh.

    And 1500 tests… That is not necessarily a lot! If that is the output of 1 month of pumping out code, I would say bare minimum




  • I don’t know precisely how they are automated, but a pile of applications came in seconds after opening the position. I think I heard talk about online services that you can pay to do the bottling, but cannot remember the name(s). I personally know people who wrote their own bot to do this.

    It looks like most applications are from real people, but impossible to tell without a deep vetting honestly. Malicious people running several “fake developer accounts” (for remote work, which is all we do) collecting paychecks until fired, or simply spying, is a known problem in the industry, but not something I have experienced first hand. Yet.


  • We get 100s of automated applications per day for a position we recently opened. 99% are automated and no where near meeting the requirements. We try to give everyone a review and a reply but it is a massive task, unfortunately. We do not have dedicated personel to handle these matters so it costs engineering time. The current situation for online software dev job application sucks for everyone.

    I guess what I am trying to say is: If you don’t get a reply to an application it is likely because you are drowning in noise and someone at the other end is struggling to keep up.




  • X11 is “complete” in the sense that we have followed it to the end of the road. X11 has a series of well documented fundamental problems that does not make it suitable for a modern OS. I will not belabor them here (except to note that security in particulat in X11, is exceptionally weak for modern standars). These issues are unfixable because they are built into core assumptions and behaviours of all legacy apps.

    At some point there has to be a switch. There simply is not manpower to maintain 2 separate windowing systems. I am sure we would all want there to be an army of devs working on these things on maintain the 2 stacks. But that is not the timeline we live in. The number of devs working on these things is very low.

    Was it too early? I don’t know. There will never be 1-1 feature parity with 30 years of legacy apps. I honestly believe that fixing things like a11y are gonna be much more tenable with only a single windowing system.





  • Can’t divulge too many details, but one example was when we had 2 options for solving a problem: 1. The “easy” way, storing a bunch small blobs to s3 as a job was running on an embedded device, or 2. The slightly tricky, implement streaming of said data on the device (not as easy as it sounds).

    We went with option 1, the easy one, because it was deemed faster bang for the buck. I did some basic math showing that the bandwidth required upload the high number of blobs to s3 within our time budget was not possible on our uplink.

    After we spend a month failing on 1., it was clear that we hit the predicted problem. Eventuelly we implement option 2.


  • Being comfortable with basic back-of-the-envelope math can be a huge benefit. (Full disclosure: i am a math major who is now a programmer)

    Over my career I have several examples of projects that have saved weeks worth of dev time because someone could predict the result with some basic calculations. I also have several examples where I have shown people some basic math showing that their idea is never gonna work, they don’t listen and do it anyway, and I see them 1 month later and the project failed in the way i predicted.

    A popular (and wise) saying is that “Weeks of work can save you hours of meetings”. I think the same is true for basic math. “Weeks of coding can save you minutes of calculation”.

    You can definitely be a successful programmer career without great math skills. Math is a tool that can help you be more effective.