HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thatjamesdude

no profile record

Submissions

Show HN: Gatekeeper, a hobbyist DHCP server written Go

gitlab.com
7 points·by thatjamesdude·vor 4 Jahren·2 comments

comments

thatjamesdude
·vor 4 Jahren·discuss
I have many future ideas for this. I wrote it out of boredom and a desire to do something "low level"-ish and parsing DHCP packets seemed like a fun example.

All this exercise has taught me is how nothing is ever simple and that specs can get really, really long over time. And also DHCP relays... Maybe one day I will support those.

In the long run: I wanna build a single binary to run the internet from my pi configured by a YAML file. This will do things like PPP connections and use the netlink kernel modules in Linux to setup routing and firewall rules.

But that's a ways off, for now, this is busy running my home network and some feedback is always appreciated
thatjamesdude
·vor 5 Jahren·discuss
> Telling people they can have a religion but they can't practice it is as laughabaly silly as telling them they have freedom of speech so long as they don't say undesirable things.

Freedom of Speech != Freedom of Consequence.

Don't care for the rest of the comment because I've come to believe those that can't wrap their heads around the difference between civil and criminal law are not worth talking to about either.

Some might say there's irony in the religious component being mentioned, but I say it is natural. Not many incentives to think critically or against the grain in religion, not surprising it is rare amongst its proponents then.
thatjamesdude
·vor 5 Jahren·discuss
>I'd also wager a guess that most South African farmers are not white

Given the demographics, not an unfair guess, albeit a lazy one. No, not even close.

Land reform is a controversial topic in my country so I'm just going to TL;DR the past 5 decades and provide some links[0][1] that you are going to have to be very sceptical about (given the controversial nature of the debate).

- We have one of, if not the, highest wealth gaps in the world as a direct result of Apartheid

- Unsurprisingly, land ownership is rare

- Ergo, most of the land is owned by the wealthy class, who are the white minority.

- I am not offering an opinion on the racial aspect here, violent crime affects all South Africans equally

[0]: https://en.wikipedia.org/wiki/Land_reform_in_South_Africa

[1]: https://www.gov.za/sites/default/files/gcis_document/201802/...
thatjamesdude
·vor 5 Jahren·discuss
Vastly misunderstood this from the title and I suspect a few others have as well.

This seems to be more about internships than interviews for a qualified professional (or whatever you want to call those candidates).

Just make unpaid internships illegal. If you do work for a company that a paid employee would normally do, then you should be compensated.

But not paying someone to run around and get you coffee is just completely nonsensical these days.

I'd laugh all the way out of the door, and my country has a 40% unemployment rate. I'm just not going to do work I don't get paid for, because it turns out living is expensive.
thatjamesdude
·vor 5 Jahren·discuss
What kind of documentation would you like to see for a service like this?

Genuinely asking because I've always used the query

    dig +short myip.opendns.com @resolver1.opendns.com
to resolve the public IP my ISP has assigned me so I can update my homelab's IP.

I use Route53 and I either completely missed the checkip link or they simply don't mention it
thatjamesdude
·vor 5 Jahren·discuss
Whenever I see interface{} mentioned in Go I see vague references to polymorphism.

That is wrong.

Interface is a special type in Go. All interfaces in go, including ones you declare, hold 2 pieces of data in memory

1. Pointer to the concrete type

2. Metadata about the concrete type

interface{} is not a special thing, it is just the empty interface, and everything satisfies the empty interface.

This is quite neat. All a type assertion does is follow the pointer and check the type data.

There is also a type switch in Go. https://play.golang.org/p/22aegLocHXI

This makes building handlers around the dynamic type easy. But for the most part: Single function interfaces. Compose those to make make larger interfaces if absolutely needed (see io.Writer, io.Reader and io.ReadWriter)
thatjamesdude
·vor 5 Jahren·discuss
Comments like this make me think we software engineers live in a different world.

>unlike USD, the court can’t do something like garnish your wages to pay back a 10M settlement by taking some crypto out of your incoming transactions

You think so, do you? "The law is the because that's what the law says it is". It might not be possible now (and I'm not sure I believe that, you can garnish foreign wages) but it will be if the need arises.

"But the code" yeah, no, that's a silly argument that only applies to cyberspace and not the physical world you occupy
thatjamesdude
·vor 5 Jahren·discuss
>The theory is that the code is the law. There is no theft.

What rubbish. You cannot claim "the computer let me do it" and expect to be let off for that. That's an extreme absurdity and is absolutely not how the law works.

Contrary to what a lot of people seem to think: Crypto is not "outside" the law in any way. It is a token of value (like FIAT currency) and there are plenty of laws that cover use cases from capital gains taxes to money laundering to, you guessed it, theft.
thatjamesdude
·vor 5 Jahren·discuss
Hey OP, just wanted to say thank you for putting this together! You have some amazing references in that readme, I particularly love the link to the go routine scheduler. You've also done such a wonderful job with explaining the why and how around some of the complex material.

Just really wanted to say thanks! This is an incredible resource
thatjamesdude
·vor 6 Jahren·discuss
I am just shy of 10 years professional experience now and I have learned 1 very important lesson:

You can safely ignore the opinion of anyone/anything that claims there's a "golden solution".

That goes for ALL aspects of programming. EVERYTHING has a tradeoff, and it concerns me how often that pro vs con analysis is just never done.

I've worked in all the flavors here:

* Well designed, easy to use interfaces in a massive monolith

* Poorly designed monoliths with litanies of gotchas and edge cases

* Super fast microservices that "just work"

* Garbage applications tightly coupled across a network layer

What it all comes down to is the strength and ability of the design phase. Good engineers = good products.

This shouldn't need to be said but the comments also appear to sidestep that problem with a few proclaiming "golden solutions".

Be weary :)
thatjamesdude
·vor 6 Jahren·discuss
Are you referring to the opt in database of details you were expected to update yourself?
thatjamesdude
·vor 6 Jahren·discuss
Is there a difference between equal and consistent application? I agree, but it seems we're saying the same thing?
thatjamesdude
·vor 6 Jahren·discuss
That feels like a false equivalency, because what I'm talking about is the right to be forgotten.

Which is only a fallacy because data is a commodity, not because it's technically impossible.

And yes you can't really be forgotten, copies can always exist but it shouldn't be hosted readily if you don't want it to be.

Unless I'm missing something?
thatjamesdude
·vor 6 Jahren·discuss
Let's not twist the argument.

Those channels exist to spread private, identifiable data and this breaks the law.

A better version of your argument is Apple is the landlord where people are planning lynchings.

Again, I side with the Belarusians. But pretending this is different to China's doxxing of Uighurs is naive
thatjamesdude
·vor 6 Jahren·discuss
Whilst I agree with the specifics here, the problem is the general case.

I don't agree that you should be allowed to post people's private, identifying data to a public forum without consent.

This HAS to apply equally, because the idea that there is a universal set of right and wrong is incredibly naive.

A better argument here is how the laws aren't applied equally.

TrueCaller was used by the Chinese to harass and attack human rights activists, and it is essentially an index of everyone's contact list.

Yet, somehow, this doesn't bother Apple. 100% financially motivated.

But my point stands. These telegram channels that exist to distribute public data of people merely accused of being involved with the regime should be shutdown. The term here is witch hunt and I'll take a lot of convincing that innocent people haven't already been falsely accused
thatjamesdude
·vor 6 Jahren·discuss
That's side stepping the real problem very neatly though.

Speaking as a citizen of a country with "real" identification laws, how would you like the banks to identify you?

SSN? Absolutely not. That number is not meant to be used as formal identification, it's completely unprotected.

America has a particular weakness to identify fraud because you don't have an identity system.

My ID number is formally defined in law, protected and verified by various check sums built into the number (like so many tokens out there). Banks are required, by law, to ensure they have identified the right individual before transacting and they carry the full burden if they get it wrong.

The SSN in the US is sequential and I never fail to laugh at the idea of forcing your banks to verify you with such a flimsy structure. It's just gonna make the problem worse
thatjamesdude
·vor 6 Jahren·discuss
Broadly I agree, but as a South African currently sitting in the economic capital of the country: The article is way off, with a mostly rubbish conclusion(edit).

What happened to us started long, long before the collapse of SARS (our tax agency).

The collapse of SARS was the result of corruption, not the catalyst.

It wasn't the SARS reshuffle that bled a few percentage of our GDP into the hands of private individuals. It wasn't SARS who funneled that money out of the country (almost certainly HSBC). It's not SARS that is refusing to attend court dates for a criminal trial into the matter. It was a long, well planned and well executed hijacking of social structure and just jaw dropping corruption.

That Zuma dodged tax responsibilities is nowhere near as problematic as the arms deal [0], or state capture [1]

The New York Times completely misses the point with this article.

CORRUPTION is the root of collapse of a system of governance. A better argument to make here is that the IRS's woes are a red flag that should be jumped on. Trump hasn't paid much tax (like Zuma) and the Church of Scientology straight up bullied the IRS into submission.

Those are 2 very concerning thoughts.

To reword my argument: Tax colletion becoming compromised is the result of a larger societal impact from corruption upstream.

[0]: https://en.wikipedia.org/wiki/South_African_Arms_Deal

[1]: https://en.wikipedia.org/wiki/State_capture