HNHacker News
TopNewBestAskShowJobs

pepoluan

65 karma · joined November 7, 2016

[ my public key: https://keybase.io/pepoluan; my proof: https://keybase.io/pepoluan/sigs/O_RKEYs9Ei1iI_AnVNQool8URY5dL1E1FLj2XDveOoM ]
submissionscomments
pepoluan··on What is “good taste” in software engineering?
Reminds me of someone's quote:

> Reading -- and understanding -- code requires twice the brainpower of writing code. So if you used every bit of your intelligence to write 'clever' code, you won't be able to maintain it because it requires twice your intelligence to read it again.

Einstein's words are oh so suitable as well:

> Everything should be made as simple as possible, but not simpler.

pepoluan··on Python developers are embracing type hints
Slicing is totally hintable as well.

Change the declaration to:

def __getitem__(self, i: int | slice)

Though to be honest I am more concerned about that function that accepts a wild variety of objects that seem to be from different domains...

I'd guess inside the function is a HUGE ladder of 'if isinstance()' to handle the various types and special processing needed. Which is totally reeking of code smell.

pepoluan··on The Theatre of Pull Requests and Code Review
The important thing about making commits separately and as much self-contained as possible is to allow cherrypicking.

Say you're on a development branch and you added something new, that the Project thinks can be and should be added to the Main branch. By having that addition in its own self-contained commit allows the Project to create a new branch, cherrypick the commit, and merge the branch to Main, without having to pull in the rest of the development branch.

It's of course not really necessary if you're the only person doing all the development, but it's just a good etiquette if you're working with other people in the Project.

pepoluan··on Top Programming Languages 2025
Good at bug hunting?

Have you heard about how much AI slop has been submitted as "bug" - but always turn out to be not a bug - to the curl project?

pepoluan··on Cloudflare is sponsoring Ladybird and Omarchy
> Cloudflare clearly wants to move us to a future where only approved browsers are allowed to access the web

CloudFlare is in the CDN business.

If CloudFlare gatekeeps who can access their CDN, then people will move to a different CDN. Because people want their websites to be accessed by as many people as possible.

Your statement does not compute.

pepoluan··on Cloudflare is sponsoring Ladybird and Omarchy
If you're on a Residential IP, and your IP gets refreshed, like, every day, it's possible that one of the IP has been flagged.

Cannot blame CloudFlare for that; they have an obligation to try protect the users of their CDN.

pepoluan··on The elegance of movement in Silksong
It's unfair that you cut off the quote there. Because in the next paragraphs:

> And yet.

> I have played this game obsessively since it came out. I cannot put it down... This game is incredible, I say to myself as a small grub brutally murders me for the mistake of touching its seemingly soft and cuddly body.

pepoluan··on PYX: The next step in Python packaging
It ultimately depends on a company's risk appetite.

Some companies specify that packages need to be hosted on their internal repository/artifactory, and for these companies, pyx might be a good tool.

pepoluan··on Seed7 – Extensible Programming Language
"Hello World" really needs to be retired, and "99 Bottles of Beer" should really be a mandatory example program.
pepoluan··on Ask HN: Is anyone else just done with the industry?
Sometimes technical debt is kept rather than being fixed because "if we fix this some high-value technologically-challenged clients will no longer be able to use our service."

This is actually solvable but will need an "out of the box" thinking.

pepoluan··on Ask HN: Is anyone else just done with the industry?
> LLMs will greatly reduce the amount of people required, mainly seniors

Nope. LLM is unable to reason about correctness of code, since they only regurgitate code based on "most likely to come next".

Rather, senior programmers will even be more important to check for correctness. And this will likely lead to senior programmer burnout.

pepoluan··on The Pain That Is GitHub Actions
People hates YAML because doing so makes them look cool and trendy. Just like Python-hating. Even if their 'hate' is misdirected.

I'm an experienced SaltStack user. If I found something I need is too complex to be described in YAML, I'll just write a custom module and/or state. Use YAML just to inform Salt what should happen, and shove the logic in the Python files.

People really should become generalists if they handle the plumbing.

pepoluan··on GitHub Phishing Campaign making use of OAuth and render.com hosted site
11.5k in 4h and GitHub does nothing??

That's truly a HUGE red flag there.

pepoluan··on Ruby vs. Python comes down to the for loop (2021)
Have you ever seen algorithms written as "pseudo code"?

Why do you think they do that?

Answer: To make algorithms easier to understand for other humans.

Python more closely resemble pseudo-code compared to Ruby.

Hence Python is more aligned toward "built for humans" than Ruby.

pepoluan··on Ruby vs. Python comes down to the for loop (2021)
This is why you should use type hints and some kind of type checking.

sorted_list: list = my_list.sort()

will raise a red flag with a type checker.

pepoluan··on JavaScript Bloat in 2024
Will using HTMX save a lot?
pepoluan··on Python datetime pitfalls, and what libraries are (not) doing about it
As long as it is now deprecated then it's no longer ironic.
pepoluan··on Python datetime pitfalls, and what libraries are (not) doing about it
The problem with Unix Epoch is that it began in 1970.

There are applications where you need dates before 1970 and that starts to get hairy.

pepoluan··on Ask HN: Which Python type checker should I use?
PyCharm professional understands Django natively. Maybe try that? PyCharm also has its own type-checker that's a lot less fussy than mypy.
pepoluan··on Ask HN: Which Python type checker should I use?
Well the guys at astral has no plans in the near future to create a static type checker.

Ruff is great, though. I now stop using flake8+black+isort and have gone all-in with Ruff.

pepoluan··on Ask HN: Which Python type checker should I use?
Use lots of typing.Protocol and you get all the goodness of duck-typing.
pepoluan··on Ask HN: Which Python type checker should I use?
I maintain aiosmtpd using PyCharm and... That's it.

Playing around with Ruff nowadays.

mypy was proposed early during aiosmtpd development but we decided it's not worth the headache.

pepoluan··on Ask HN: Which Python type checker should I use?
I just use the built-in one in PyCharm.

It serves my need, which is to ensure I haven't done mistakes in specifying parameters to functions.

I have no desire making Python to be statically-typed.

pepoluan··on Terrapin Attack for prefix truncation in SSH
And is there any guarantee that 20 years later a similar weakness of WireGuard will not be found?
pepoluan··on Terrapin Attack for prefix truncation in SSH
On the other hand, if the WireGuard implementation has a vulnerability, the attacker does not need to attack SSH at all and simply punch through WireGuard to have kernel-level access to the system.

It's not defense-in-depth; it's a security chain : only as strong as its weakest link.

pepoluan··on Introduction to the Theory of Programming Languages (1991)
Ahh... in a sense, that's like Hype-Driven Development, where everything new becomes the solution for everything... https://blog.daftcode.pl/hype-driven-development-3469fc2e9b2...
pepoluan··on Overdue library book returned more than 110 years later
I think the book was returned anonymously because the last borrower was afraid they will be hit by an astronomical late fee...
pepoluan··on Julia 1.7 Highlights
I love how the Xoshiro PRNG Family is replacing Mersenne Twister more and more.
pepoluan··on SQLite Release 3.37.0
"state diagrams"? Did you mean "syntax diagrams"?
pepoluan··on Multiplayer in Godot 4.0: Scene Replication (Part 1)
It's Good Enough™ for interesting 3D gameplay that doesn't need photorealism.

Seriously, too many games nowadays focus on just the "visual wow" with millions of vertex + raytracing, they fall flat in terms of gameplay.

← PreviousPage 2 of 5Next →