Preferences

pvtmert
Joined 277 karma
Tinkerer, hacker, researcher, & cyclist...

  DevOops Engineer by trade
  BSc. Software Engineer by training 
https://mert.akeng.in https://pvtmert.at.hn

https://meet.hn/city/49.6202283,6.1729364/


  1. I have 2 better ideas;

    1. Start charging money for/of deprecated APIs. Just like Oracle did it with Java 8.

    - OR -

    2. Add a timestamp-based RuntimeException to the very same code-path. If the date is greater than (>) the deprecation date, simply throw RuntimeException. for 100% of the requests, all the time.

    Yes, it will page someone, and yes, it will get fixed immediately!

  2. The post is a sarcasm, see the below.
  3. Love this idea, as it is already implemented in a $FAANG company tool. (used company wide by 80k+ SDEs). I got used to seeing these in the logs and terminal. So much that my brain now automatically ignores it from my view/seeing like it does for my nose.
  4. Static Typing != Strongly Maintained Relationships.

    While I am happy to see types in Python and Javascript (as in Typescript) I see far more issues how people use these.

    In 99% of the time, people just define things as "string" or if doesn't cover, "any". (or Map/Object etc)

    Meanwhile most of these are Enum keys/values, or constants from dependencies. Whenever I see a `region: string` or a `stage: string`; a part of me dies. Because these need to be declared as `region: Region` or `stage: Stage`. Where the "Region" and "Stage" are proper enums or interfaces with clear values/variables/options. This helps with compile (or build) time validation and checking, preventing issues from propagating to the production (or to the runtime at all)...

  5. No worries, they will also introduce an AI "rephrase" (no way to opt-out) which will "translate" these in real-time!
  6. This was one of the best & heartfelt blog posts I have read on the HN so far.

    I can relate because of 2 things; 1. I also played a lot of legos during my childhood & loved it. 2. I have a similar "preference" on configurations & shell-profile. (ie. overall setup)

    At work, I am the only person who has a personal configuration & automation package (ie. dotfiles) at my director's level organization. (Maybe there is another one or two at most)

    Not only that, I also have a nearly complete automation to provision a new machine, virtual or otherwise using the same code. (usually maintained by make && make install)

    I update things regularly. It has bunch of "utility" scripts. As it being a $FAANG company, once in a while, here and there, people stumble on scripts/solutions/docs (also markdown). There were even occasional CRs (code-reviews / pull-requests) I received.

  7. I agree for internal names but disagree for public software/external names.

    I disagree for public/open-source software, because: So many kinds of software actually have good names. Yes they use mythical names but with the similar function or relatedness.

    Meanwhile, I agree for internal names, because: So many (legacy) code I worked with had terrible naming. This goes beyond only the names themselves but also their capitalization or consistency. I kid you not, in a $FAANG company I saw "SpidermanActivity" and "BatmanActivity" on a system that is used by Tier-1 services' on-calls.

    > (Although this thing was not a Tier-1 service, it was not also completely Tier-2 either, as it was actively supporting operations of Tier-1 services, depending on the incident, a downtime could cause significant problems...)

    Imagine you are trying to make sense of a large system, which has maybe tens of dependencies and as much of dependents, you are also trying to remember which API was Spiderman and how it related to the business at all...

    More on the naming conventions, the horrible case of acronyms (which spans outside of software engineering) and PMs creating polls/surveys for "fun names for our new shiny thing that does X but we don't wanna call it that".

    Going even lower-levels, engineers themselves are not careful. I had way too many CDK stacks named with not only varying dash vs underscore differences, but also with subtle "case-sensitivity" differences.

    Each year, I am solving issues of Java devs' issues. Some of being "but it works on my machine" type of problems. And significant percentage of that is most developers use a Mac & macOS. Hence the filesystem is case-insensitive by default. But the deployment target & CI being a Linux, filesystem is case-sensitive. As you can see here, The camel-case combined with inattentiveness can simply cause many hours of waste.

    > It's a plague.

    Yes, there is an AI slop, but there is also human sloppiness too. I am quite happy with LLMs/GenAI that it is able to catch and capture these and less prone to make such sloppiness in the first place. (As it being a "predictive-text engine", next word suggestion is a clone of existing copy of historically occurring words)

    At the same time, amount of "hallucinations" for various acronyms are staggering. Obviously I cannot expect otherwise. Even as a human, if I am missing the context, I would be either confused or plug-in something I already know...

  8. Amazon ($AMZN) has moved to M365 in an “all-in” fashion just this year. Being maintained an old (2016?) on-premise exchange server and share-point installations for 10 years…

    I wonder how it will fit with the “Frugality” LP.

  9. love the hangup part. so, i can finally "rage quit" the meeting that discusses 99th revision of a doc where a comma should be added here or there.
  10. interesting to see Turkey is leading the list. Although it is well known that Turkey is overall cheap compared to the Europe in terms of basic goods, apparently inflation on the minimum wage is greater than the inflation of the basic goods. However, I would like to note that cheapest of the cheapest things you can get in Turkey will have significantly less quality than European counterparts. Even the "rejects" from EU being sold in internal market. This includes produce with risky levels of GMO. I think the "Big-Mac Index" would have a comparable result. Just divide minimum wage into how many meals per month (30 days * 3 meals-per-day = 90 meals-per-month) times Big-Mac price. (~6 euros?). So, 540 euros. Given ~12.82 euros minimum wage in Germany (gross), you gotta work 540 / 12,82 = ~42,122 hours per month. Which slightly above 1 week given 40h work-week or the "German" way, ~6 days with 35h work-week...
  11. I do cycling, currently based in Luxembourg. I cycle (for fun & sports) about 10.000 (ten-thousand) kilometers per year. I also like 100+km rides, although I do that weekly mostly between mid-April to mid-September period...

    I can easily sleep 10 hours, start at any time. It's not a problem of falling asleep, it's a problem of waking up :)

  12. sounds like you are more of a morning person,

    as a non-morning person, it usually takes me about 4-6 hours to get up-to-speed. because there would be some unexpected twists and turns that will distract me from the task.

    meanwhile, exact opposite. if i cannot "solve" an issue, if i just wait till the evening by going for a 100+km bicycle ride, i magically solve the problem in the evening (right about at dusk and after).

  13. i guess that is why you need to keep pressing the button (also battery conserving too)

    the guy mentions cutting self occurs mostly due to excessive force applied by the (amateur/inexperienced) user and i kind of agree.

    other part is that the inattentiveness and distraction, maybe trying to be fast... although if i were able to cut through (pun intended) things that easily, i would be steadier hand...

  14. sounds like someone left

        } catch(Exception e) { ... }
    
    in the controller...
  15. Whether or not Github themselves create these issues or pull-requests, some bunch of folks will do that (manually) for sure. I mean the Hacktoberfest is coming soon, so is the low-quality typo-fixes. Since now there is Claude-Code, Cursor et. al, I am really curious how people are gonna fight with the pull-request spam. Especially open-source projects which claim they do not accept LLM generated content.

    P.S: Most people just do it either to "light-up" their Github profile for job applications or just to get cheap swag...

  16. 99.9% of the CTFs have much more difficult questions!

    > The password protection? Client-side only. The password? Hardcoded in HTML.

  17. You can tell users that "you are holding it wrong" or fix the actual problem that exists in the first place. Good luck telling millions of people to not to bookmark certain version, instead use this or that... Maybe, add just a redirect, a simple page with the link that says "Hey, this documentation has moved to there, click here".

    Just put this thread into a whatever LLM. I overall see 2 major themes here. Compatibility and stability issues, all over the place. Not just documentation, but with other tools. Compose schema v2 does not match the current/latest one, missing functionality (although this one is acceptable at certain level), etc.

    Also, as soon as the docs were "posted", it became obsolete/useless/deprecated. I mean, what sort of quality are we talking about here?

  18. Docker is useful and running in production. (well, it was the only, before containerd got separated entirely and it was usable directly from K8s about when it was 1.16)

    What you say is absolutely correct. If Docker keeps creating compatibility layers for it's competitors, it makes everyone to switch to a competitor. In this case, the competitor is Kubernetes as it's running in production for much larger scale (enterprise workloads) compared to Podman et. al.

    Hence, it's the job of Podman, Kubernetes, et. al. to write their compatibility layer to provide a value-add for their customers.

  19. This is a great summary, thank you!

This user hasn’t submitted anything.