HNHacker News
TopNewBestAskShowJobs

eof

3,444 karma · joined December 21, 2009

geoffgolderatgmail

#gd0t.com

#geoffgolder.com

submissionscomments
eof··on Ask HN: How do you get better at debugging/finding a solution?
tl;dr rely even more on others in the most transparent way to constantly get unblocked as quickly as possible. Don’t let your ego stop you from learning something.

I’m grunching this thread. But I have 20ish years of experience and consider myself a decent debugger and considered enough so by others that I’ve been asked this line of questioning while in a mentorship role on a number of occasions.

The number one thing is simply humility; asking the dumb question in the smartest way you can, as quickly as possible, to the person who can most likely give you the best answer.

As you’re learning and starting out, you may not have great resources for such, but within most orgs you should be able to find where the answers are, and first ask the dumb questions (caveated by what you do understand), then eventually ask for a brain dump.

It is through the accumulation of tons of disparate idiosyncratic knowledge that little clues and common patterns emerge that allow people to sniff out a root cause hypothesis before the facts are even in, and often be right.

But people who hide their ignorance, refuse to ask questions that may make them look silly, refuse to be the idiot in the room, they learn much less quickly because they don’t get unblocked as quickly.

eof··on At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He?
I can only tell you my perspective as an ex poker pro who has not studied with solvers.

But the basic idea is that you put in a range of starting hands for yourself and the opponent, and possible bet sizes, and the solver will brute force a play that approximates Nash equilibrium.

The output of the solver will be something like “45% of the time bet. 55% check.” Or “95% fold. 5% raise X”

The general loop as I understand it is inputting tricky/common situations running the solver and basically memorizing it.

eof··on At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He?
The book “no limit theory and practice” continues to be the most valuable poker book I’ve read.

That said about 80% of that book and 95% of anything written about poker before about 2019 is irrelevant to today’s games.

People never intended to play game theory optimal in the past; it was a war of “leveling” your opponent into making the wrong move. You would make money by playing an “exploitive strategy” meaning, you would make decisions that are not game theory optimal but do exploit your specific opponents tendency.

These days that doesn’t work beyond micros (or small stakes at a brick and mortar casino.)

Solvers, both the software and theory/knowledge have evolved so quickly in the last few years that the game has radically shifted toward simply playing an unexploitable GTO strategy better than your opponents.

eof··on Commit Messages Don’t Matter
As someone who has both cursed and blessed the names popping up in git blame as I’m trying to understand why something is the way it is; I cannot even begin to sympathize with this.

The author has a seemingly naive notion of the lifecycle code; commit messages matter a lot less if you have deep thorough documentation in the general case.

But obviously not all code is being written in those types of environments. In fact I’d venture the vast majority of commits have no associated code review thread.

Sometimes my little project I’m working on myself , which has no code reviews, eventually gets grows and has others involved; but the early history remains.

eof··on JCOF: JSON-like Compact Object Format
To be fair you would gzip the JCOF encoding in this example too.

Author mentions gzip doesn’t work for some use cases. For use case mentioned I’d expect sqlite to be similar, at least that is the default thing I’d reach for.

If for some reason sqlite wasn’t sufficient probably a custom binary encoding controlled and updated via code instead of config would be next.

eof··on Ask HN: What tone to use in code review suggestions?
I adopt, and appreciate when others adopt a neutral/brutal tone.

"These lines have been repeated a number of places and probably ought to be pulled into a function called something like xyz in module zyq"

Generally your tone doesn't matter as long as it's not mean. "This is the 10th time I've told you declare constants FOR EVERY MAGIC NUMBER," does not belong in a code review; it belongs in feedback.

However there is something a bit dangling here which is linting and static analysis. If code has been repeated and genuinely ought to be pulled into a function, static analysis ought to be able to find this.

If you have already dealt with the broad class of possible change requests that can be caught by static analysis, the nature of the reviews should get a lot more straight forward. It will stay at a higher level and naturally tend toward verbiage like "I wonder if we ..." or, "I was thinking if ..."

In cases where static analysis would not find it for e.g. in the middle of a function doing something, we have several lines of code collecting data for some analytics event which is never repeated, but still confusing; I would say something like "For readability, could we pull the analytics bit into a separate function?"

Generally; if you can use "we" instead of "you" or "I"; I would prefer "we" in any team setting.

eof··on Don't use Kubernetes yet
I’d just say “don’t learn k8s yet.“ if you know it, it’s fine, but it’s complicated to get right, so delay if you haven’t made by that journey yet.
eof··on The true cost of linked lists
Reminds me of this masterpiece of a rust tutorial; Learning Rust With Entirely Too Many Linked Lists - https://rust-unofficial.github.io/too-many-lists/
eof··on Ask HN: How to break anxiety/fear-avoidance cycle?
In usa it is very easy to get prescribed. Obviously you would need to lie about your non-prescribed use but if you’re willing to get them illegally that shouldn’t be an issue.

There are prescribers online. Even with no insurance it’s about $5/day after paying the doctor, counselor, and prescription (using GoodRx coupon)

eof··on Ask HN: How to break anxiety/fear-avoidance cycle?
Did anyone else say drugs?

The only thing that’s ever worked for me is working on things I’m truly interested in, crushing anxiety due to a deadline coming up, and drugs.

Getting adult adhd diagnosis in my late 30s has been life changing.

Make sure your goals are your own and your tasks meet the goals.

eof··on The Future of Kubernetes
ecosystem is changing rapidly. i actually couldn't say if this is true as I have not played with any of the hosted k8s environments outside of highly complex real world usage.

it does seem completely plausible that within the last year or so hosted environments are stable enough and standardized enough that k8s can be a target directly even for small projects. cool. i will try for my next one

eof··on The Future of Kubernetes
if you stick with terraform; it is true that each implementation will be different for each provider. they will be similar for sure but each will be made individually.

that said, that is a very very small task to change cloud providers and shouldn't deter you. also as you said, you can easily just start with one.

eof··on The Future of Kubernetes
right, 64GB is less than 5% of what you can on a single server these days.
eof··on The Future of Kubernetes
I’d say you don’t need k8s. You just need a good terraform module to set things up for quickly on multiple providers.

K8s is worth all the work cus then you can scale magically. You don’t need to scale magically. You just need to be able to easily deploy.

In fact if you think scale will never be an issue you could just run it on hardware, seems like everything would easily fit in a single server.

eof··on The Future of Kubernetes
The complexity of the systems (mostly!) reflects the reality of the needs. Thousands of services working in orchestration in an environment that is, by definition, hostile; is non trivial.

Little parts of a system being over engineered may be the fault of an engineers ego somewhere, but the massive complexity of distributed systems isn’t some ego trip or frivolous fiddling with shiny new tech.

It’s just big and hard for mere mortals. It’s hard to say when k8s actually decreases complexity, but I think most will get there before ~100 software engineers do.

eof··on 25 Gbit/s internet as a normal customer
Lithium has much longer battery life? At least in terms of number of cycles.
eof··on Google Search Is Dying
There is a mode that google has which is basically the old mode; since I discovered it recently out of huge frustration with google search results.

After you search for something; select `Tools -> All Results -> Verbatim`

This will get google to actually search the way power users expect. I am surprised how little known this feature is. It should be default, but once known it completely removed my frustration with google search.

eof··on In second largest DeFi hack, Blockchain Bridge loses $320M Ether
It’s closer to two trillion. But I think 0.1% is a hilarious number to assert is too high a price to pay. How much is skimmed as central banks flow money to citizens? How much is embezzled in corrupt orgs/nations?

Traditional finance puts power in men that don’t even need to hack anything to take far more than 0.1%.

Half of everything would be likely worth it if crypto lives upto even a smidge of it’s true promise.

eof··on FalsiScan: Make it look like a PDF has been hand signed and scanned
Presumably B).

I’ve had many instances where people insist I print, sign, scan, rather than e-sign.

I too have put an image of my signature on the pdf rather than printing; I have had those both rejected and accepted.

I don’t have a printer and have been annoyed by this insistence greatly. Enough that seeing this post filled me with glee.

eof··on Crypto.com accounts had unauthorized withdrawals
I think you’re right, mostly. As a user I’d like to know explicitly what my risk factor is.

Any exchange or custodian has a non zero chance of getting hacked or inside-jobbed; unlike fiat currencies there is no judicial process that is going to maybe let me claw my stuff back.

A sort of fdic insurance for custodian crypto accounts, is an inevitable market solution.

eof··on Show HN: RootMy.TV
I just ran the update for my TV this morning, and this worked for me.
eof··on Ask HN: How do you have fun without alcohol?
This is a silly question, because it’s obvious to you and everyone that it’s easy to list infinite things that might be fun.

The question is really how to exist in that environment in a healthy way.

Most straightforward path is make new friends and take on responsibility that precludes tons of drinking.

If you yourself have become dependent on alcohol (ie if your body is physically uncomfortable unless you have a buzz) then you should nip that in the bud. As you get older and grow up you’ll see more of your peers make lifestyle decisions they find helpful.

A wholesome activity loved by many are board games. People will drink there, but getting drunk isn’t the point in the way it is when you’re partying or going to bars.

#1 advice assuming you’re not already wealthy is to get rich. The time component of compounding market gains is so powerful it is really critical to understand and exploit from when you’re young.

Typically drinking a lot will make it a lot harder to put the thought and work in to do more than coast.

If you can get obsessed with reaching financial independence, it’s the most rewarding “hobby” to master, and it will inject itself as an enjoyable priority into many aspects of your life.

eof··on A fast SQLite PWA notebook for CSV files
I have met those people to, but none of those people have ever had a csv file to run queries on.

Analysis has a lot of meanings. Getting basic facts (there are N rows that X) and selecting subsets of data are realistic analysis non technical people might do on csv files.

And I want to be clear that parsing a csv file with sqlite or MySQL is much more complex than learning “SELECT .. FROM .. WHERE” (with no joins!) when there is a tool like OPs that magically does the “parsing”.

eof··on Japan HP accidentally deleted 77TB data in Kyoto U. supercomputing system
My take away (as westerner with zero direct Japanese culture exposure) from the comment you’re replying to was that in Japan, companies are incentivized to take on some measure of ownership and voluntary restitution, because there is some legal notion in Japan around “honest mistakes not being litigable if they are genuinely rectified.”
eof··on A fast SQLite PWA notebook for CSV files
I’m skeptical of the utility of building for non techie people. It takes literally tens of minutes to Learn SQL necessary to a single csv file; and the overlap of people needing to query csv files and capable of learning basic select syntax is probably nearly perfectly overlapping.

I don’t knock the research at all, it’s very cool. But it has to be basically perfect for someone even slightly experienced to consider using, otherwise it will cause more frustration then time saving.

eof··on Why Rust Is the Future
I guess I can't say much about it. I am barely past a beginner as far as Rust goes, but I have not seen much embracing a functional style.

In fact with the emphasis on (mutable) references vs values; it seems to pretty much encourage the antithesis of functional programming.

What I really love about functional programming is the simplicity of understanding what is going on from looking at the code; functional programming does that by guaranteeing a "function" is always-and-only acting in a specific, simple way. Rust does it (not quite as strictly to my learning-eye) with forcing the tediousness of references/mutability up to the signatures.

eof··on Why Rust Is the Future
>> One of the biggest issues that are plaguing the developers are memory management issues.

> ...not an issue in any garbage collected language.

I pretty strongly disagree. It’s less of an issue in strongly typed languages but definitely null references and (arguably) type/encoding runtime errors are memory management issues much more common in garage collected languages.

What I love about Haskell (thousands of hours) and to a lesser degree rust (hundreds of hours) over most languages is that they are very expressive while at the same time the compiler catches what feels like 20x as many mistakes as I’d get from python or modern JavaScript.

Then it also runs faster, on a smaller footprint than most other stacks.

Both Haskell (and to a lesser degree) rust are much harder to learn than python/ruby/js but rust is probably on-par with c++ or java.

eof··on Julian Assange can be extradited to the US, court rules
Not wanting what’s coming, and regretting his choices are not the same thing. He fought the good fight, I hope that’s worth something to him.
eof··on Hubris – A small operating system for deeply-embedded computer systems
This doesn’t seem like an apt comparison. Using the wrong tool for the job is expensive forever; learning a tough language pays dividends forever.
eof··on The Handwavy Technobabble Nothingburger of Crypto
They do though. A very small percentage of current holders of crypto have an understanding of the technology.

Trust will (continue to) come with time.

← PreviousPage 2 of 29Next →