skysight-inc/HackerNews huggingface dataset:
Ask HN: If you wanted to build the “perfect” home network from scratch
I know enough to know I don't know shit, but I'm about to move into a new house and we currently have a hodge-podge set-up so I'm keen to re-do it from scratch.

I don't have any real reasons for this other than wanting to protect my young kids/family, protect our personal data, and keeping some element of privacy in an era of it not really existing. I don't live under an oppressive Government (well, any more than anyone does under 5Eyes, but I don't live in China or Syria), so there's no life-threatening requirements. Just that "icky" feeling.

I'm just sick of always worrying about whether the Babycam is "secure" or my kids being exposed to bad ads, or our TV spying on us, and generally just want to get a lot more privacy focused.

I'm assuming at minimum:

- Self-hosted VPN with everything going through it (currently have PIA always-on on every computer and phone, but kids tablet, TV, etc aren't protected).

- IoT on their own subnet? I know it'll mean no connection between my computers and the IoT devices, but I'm happy to also put a tablet on the same subnet for home automation.

- Pi-Hole? Or do this on the VPN?

I've googled around but can't really find any guides on this. I'm open to turning this into a guide on Github if I can get enough responses.

- What modem/router/AP should I be using (currently using the ISP one which doesn't even let me change DNS)
According to the modern taxonomy, birds are dinosaurs, with a pretty straight lineage.
I use on average maybe 8 chrome tabs at a given time and I use: Visual Studio Code, Spotify, Slack, Insomnia, and Skype. I also have Docker turned on all day.
An interesting question! Let's start this nerd-snipe by thinking about easier cases first.

1. Could Option<f64> be optimized to be 64 bits in size? This would imply that the implementation can guarantee that a particular one of the zillions of possible NaN values will never be generated as a result of a legal operation. I want to say that this is probably true in practice, though it will be implementation-dependent; I don't know how LLVM handles this, but I suspect that it only uses one or a handful of the possible NaN values to represent NaN in practice. So while it's probably feasible, it would make part of Rust's ABI dependent on implementation details of the backend (consider: is it likely that every possible backend reserves, and will always reserve, one NaN value that will never be used?).

2. Could the following enum be 64 bits in size?

enum NanBox {
Number(f64),
Pointer(u32)
}

A 64-bit float should have 2^53-1 possible values for NaN, which means that theoretically that should give us plenty of space to hide an entire 32-bit integer in the significand. This still presents the same worries as the prior point, except 4.2 billion times more severe. :) Furthermore, now you might have a new problem: consider that an Option<&Foo> that is Some is already a valid pointer, with no bit twiddling required. Additionally, above in point 1, a theoretical 64-bit Option<f64> is already a valid f64 in the Some case, with no bit-twiddling required. But here in our NanBox case, while Number is always a valid f64, the bit pattern of Pointer is not automatically a valid u32! At best, we'd have to mask out the irrelevant upper 32 bits, but now we're assuming something very specific about what bit patterns LLVM will never use for NaN. And in the worst case, we might have to do a nontrivial amount of extra work at runtime to make the Pointer look like a valid value. It might still work, for all I know, but it's another thing that requires careful thought.

In the end it boils down to what sort of guarantees LLVM wants to provide about its FP code generation (and maybe it's even architecture-dependent?), and whether Rust wants to risk irrevocably making its ABI nonportable. In contrast, there's no risk in assuming that references have an uninhabited value at 0x0, because Rust is in full control of that.
Nuclear pasta in neutron stars may be the strongest material in the universe
In ~25 years of cycling, I've been in two situations where a helmet most likely saved me from severe concussion and probably a fractured skull. Neither accident was solely my fault. A bicycle helmet is not "safety symbolism", it has verifiable benefits in reducing the severity of head injuries. Your phrasing and choice of words seem to suggest that people should just "harden up" and "things were better in the old days", which is a highly problematic position to take, one which smacks of rose-tinted glasses.

By your reasoning, motorcycle helmets and protective clothing is also pointless. After all, I've had no accidents in ~10 years of motorcycling, so the safety gear must be completely pointless? Nevertheless, I would never get on a motorcycle without proper gear, because I've seen the damage that can happen. I've also seen the head trauma that can happen in a bicycle crash, so I wear a helmet.

I'm not sure why you think people wearing helmets are casting votes for mandatory helmet laws. I'm certainly not a proponent of such laws, but I am very much a proponent of wearing a helmet, in order to reduce the severity of injuries. I am certain the vast majority of helmet wearers agree with me, we put on the helmet by choice, not because we want to force others to do the same.

The most dangerous cyclists are the ones constantly on their phones and/or with loud music in their ears. Same as car/truck drivers. The hardcore lycra-clad cyclists go rather fast, but they're also highly aware of their surroundings. Your experience from the limited visibility of a truck driver's seat is leading you to false conclusions.
>Each mine that deploys our software saves, on average, 6 figures per year (after the product cost).

Where do the savings come from?
California Tries New Tack on Gun Violence: Ammunition Control
Thats what I meant to imply. Dinosaurs are a type of bird that were bigger than "elephant birds", so the headline is (most likely) wrong.
http://www.paulgraham.com/identity.html
McKinsey Report: AI’s Long-Term Impact
Just to give some numbers:

e-ink has a contrast ratio of about 20:1 with 40% reflectance. A sunny day is 10000 - 30000 nits, giving at least 4000 nits of brightness.

The 2018 MPB screen has a 1500:1 contrast ratio and about 500 nits of brightness.

So if e-ink is really easier to read in the sun (which I think) then brightness is much more important.
there "Instant-availability of the secondary market" you're just talking bullshit, there is no such thing, as per your second point so what? do you think pokemon cards people didn't hired "specialists" either? What are those design choices to make them addicted, is a box it opens and that's it. This kind of post is what I hate about NY, people thinking they are so smart, while having quite a narrow/naive/first world view.
Jane Austen is another person.
Beat Reality:a mixed reality experience to see reality beating at music rhythm
Does the EU's Article13 law give way to global mass surveillance?
Considering Article13 requires that companies filter out copyrighted material, and that companies like google, twitter, and facebook among the largest in the world must abide by these laws, the only possible feasible method of enforcing these rules is by scanning and filtering every single piece of digital information. Does this not then give way to a global mass surveillance system?
Both species were doomed to extinction at the point they were housed at the zoo. The passenger pigeon only bred in large flocks and by the time everyone realized they were on the decline, there were no more large flocks.

The zoo at this point were just recording the last survivors for posterity's sake.
Maybe I've spent too much time on the other parts of the internet, but I kinda disagree with this:

> Very often, useful comments are crowded out by one-uppy point scorers and the top half of a reasonable thread can be filled by long side-discussions that can’t be scrolled past fast enough. Vitriol abounds.

Compared to other discussion boards, I usually find HN threads are far more thoughtful and less antagonistic.

I mean, from the author's own example, compare the Brexit threads on HN[1] and Reddit[2]. The top comment on the HN thread is a thoughtful comment on why the EU is important and what the EU should aspire to be - whether you agree with the author or not, it's not overly charitable to say the author wasn't simply making a "one-uppy point scorer". The top comment on the Reddit thread is a joke about making a bet on Brexit.

There absolutely are HN threads full of vitriol and "one-uppy point scorers", but they're more rare - compared to, again, other parts of the internet. And yes, there are other online discussion boards that are even more thoughtful. Still, I don't think the characterization is entirely fair.

I guess my point is that the opinion threads can also often be very illuminative. The top thread on that HN Brexit post is actually a pretty interesting discussion about 18th century revolutions. Perhaps a bit basic to someone well-versed in modern western history, and certainly needs to be taken with a healthy dose of skepticism, but still interesting nonetheless.

1: https://news.ycombinator.com/item?id=11966167

2: https://www.reddit.com/r/worldnews/comments/4pkt3k/bbc_forec...
I have to disagree. In my experience the censorship on Lobsters is worse than on HN.
Dinosaurs are not a type of bird, just as a rectangle isn't (necessarily) a square.
I'm not sure that a library is really the right way to do this. In my experience, socket handling is a key part of the application, adding a library layer will make it harder to deal with the inevitable cases where the abstraction doesn't fit. An example of a simple, scalable TCP server (and a scalable client, so you can demonstrate the server), would be a better approach -- building a new server starting with the example would allow someone to make the changes they need when they need to. Avoiding unnecessary layers is a hallmark requirement of scalability, but this approach is adding one. One thing I can definitely see where the approach shown would be limiting is that often TCP servers would like to have a connection idle timeout, but if your peer is sending you a large application packet over a very slow connection, you wouldn't want to consider it idle because you hadn't received a complete application packet in some time -- having received partial packets should be enough to show that the connection continues to be alive (subject to concerns about slowloris).

Also, it's frankly hard to judge your claim of scalability, when you haven't provided any data. How many millions of connections can this handle (on which particular hardware), how many thousands of connections per second, how many gigabits of data transfer can you push, how many connections can you gracefully close per second, etc. What erlang settings did you have to tweak, what operating system limits did you have to tweak, etc to get there.
After playing for < 10 minutes it started getting noticeably slower and my MBP Retina was spinning up its fans. I am using latest Chrome. Is this a sign that web games are not yet ready - or simply that either the game isn't optimized enough or perhaps even that Chrome is a poor choice for browser games?
> I've always regretted not having my degree

Why?
I'd suggest that the vast bulk of software is written for inhouse use and B2B use, not consumer use. The impression you have would boil down to sample bias.

This is simply a reflection of the "structure of production": for any given consumer product, there is a vast graph of exchanges and transformations that lead to it. Most of the inventory and money is not passing between consumers and consumer companies. It is in the structure of production.

Consider: manufacturing is not instantaneous. Primary resource production is not instantaneous. Transportation is not instantaneous. Tertiary services are not instantaneous. Per Little's Law, average items in a system = average throughput * average item latency. The consumer market is the throughput. The structure of production represents a multiple of the consumer market.

The reason we overweight consumer brands is because they are consumer brands. Within each industry and niche, everyone knows who the leading firms are. But outside the niche, nobody knows that a) the firms exist or b) that the niche exists.

But all of us are in the consumer market, so we all know about consumer brands (they literally make it their business to ensure this is so).

Every journalist can write about a consumer brand. Every reader can read about the consumer brand. So on sheer volume, consumer brands are vastly overrepresented in the media relative to their total share of the economy.

So even a relatively small lead in consumer-facing firms will seem much larger than it actually is. B2B is a massive segment in the US software market. But it's the invisible dark matter of our industry: it constitutes almost all of the mass in the software universe, but few folks realise it's there unless it's pointed out.
>>I don't have the desire or need to speak with other people. I'm happy with my own thoughts.

I used to believe this about myself too. Then one day I came to the profound realization that I do in fact have both the need and the desire to talk to others. I had just been suppressing it by using my own thoughts as a distraction.
In the same sense that non-gmail users are subsidizing bandwidth.

The ISP has likely already been paid by Netflix to position hardware to make access have less latency, and less downtime.

Now they would also like the user to pay them to access that equipment, despite being paid by the user to supply access to everyone.
Not quite on topic but I would like to share it because I'm curious (not sure what to expect, just testing the global mind):

When I lived in the US I was employed so I can't compare, but when I founded a small business together with a friend banks (yes, plural) were only willing to "Lend" us exactly the money we already had, and that is a general policy for them when "lending" to small new businesses. It means, we had about 100k - so if we gave them the 100k and put it into a no-withdrawals account they would lend us 100k. Okay.

Yes, I get it, "tax reasons". This is just silly. First, you have plenty to write off at the start anyway, second, if you are worrid about paying a lot of taxes it means you are making a lot of money. I actually don't mind paying taxes at all (I do mind the many fees many organizations want from my new company, from GEZ for public TV to IHK - none of which do anything for me, unlike the state as a whole, plus taxes are coupled with income, those many fees are not). The main point is that you only get the money that you already have anyway.
Very nice to hear. And thank you for being so open to feedback :)
US? Maybe. World - Not.
> To be around people actually pulls me down into the superficiality of EGO which is not where I prefer to spend my time.

This is very true. Although I am not yet content to sit on a bench doing nothing (I'd prefer to read), solitude is a wonderful hiatus from the physical attachments that are sometimes needed in life. Making friends can often be a clashing of egos which eventually dissolves until you can see each other in a deeper way-- but before that, in a room full of people at a conference for example, all is just masks and shields and feints, the social game, which just comes down to beating around the bush. It's hard not to play the game, but the more comfortable I am in solitude, the more comfortable I am in subverting the game. I'm more honest now, willing to show people I am vulnerable without manipulation, that I am confident without arrogance, and I've formed deeper connections with others as a result. When you are authentic around others in the same way you are with yourself in solitude, the "right people" just come. I have found a lot of like-minded people this way, and having that enhances that inspiration and connection to "the massive pulsating power of our universe ".
It's the difference between kids gambling with each other and kids gambling with a professional adult con artists
Thanks for the response. I wasn't trying to speculate on your intentions for publishing the blog post.

> There's a world of difference between "logic error and/or panic" and "undefined behavior".

Is is really so different for the programmer who wrote the bug?

If you have undefined behavior, the language implementation can do whatever it wants. It won't actively work against you, but the implementer is given permission to ignore what would happen if you violate their assumptions.

With a logic error in custom memory management, the program execution will still be following well-defined rules but the invariants assumed by the programmer will no longer hold. The resulting behavior appears effectively undefined to the programmer, because the point of invariants is to ignore what would happen when they are broken.

Defensive coding with panics/asserts will definitely help catch some of these mistakes during development.

> Yes, Rust doesn't fix all bugs. But it's still an improvement here.

I applaud your efforts with Rust, it's great to see someone actually trying to improve the state of programming languages.
More info http://www.sciencemag.org/news/2018/09/new-find-clears-madag...

Paper http://advances.sciencemag.org/content/advances/4/9/eaat6925...
This. In addition, an American startup has a starting potential consumer market of 300mil people speaking the same language, facing the same laws, government, customs.

That's an easier starting point, while the average European country has less than 60. (Germany has 80)
Yep, happening to me as well - MacOS and Chrome.
> Isn't the only upside of being a manager the ability to make decisions?

For me, the upside is in coaching and growing talent, or finding the right chemistry to enable work otherwise not possible.

[edit: I’m strongly introverted, but love this part of management]
'Con' comes from the phrase 'confidence scheme'. Phishing is simply the most up to date version of the confidence scheme, using modern communication tech to achieve the same end - subverting the mark's context & communication expectations so they'll unwittingly give up secrets or money
Nosh means something different in the UK... Check Urban Dictionary and you might rethink it as a shell name :P
Of course! Seem to be a bit dim today. I'll blame it on the weather. It is raining and the sky doesn't have a colour.
Newsletter with No Name #2
Someone just told me that newlisp was full of leaks and hacks. Maybe that's why it was mocked on #scheme.
Google Maps beta adds iOS 12 CarPlay support, here’s what it looks like
Almost all those things should have been built in C
That's exactly how I feel about all the "criticisms" about the book including your very silly and extremely short and substance-free one.
Punish Mom Accused of Letting Son Run Over Cats with Car
dont work for cheapskates? ;)
The US has two advantages:

- Access to huge amounts of capital that can support businesses that focus on consumers for a good period of time before they start worrying about profit.

- A large domestic consumer market. Europe is fragmented.
This is a new category of clickbait: adapting a chapter from a book with a very alarmist title.
I have ADHD that makes it nearly impossible for me to learn how to code, and thus I've never been able to perfect it. I know bits and pieces here and there, but I can tell you what usually works best for me for learning complex tasks.

-1. You need to actively set aside time each day for this task.
-2. Leave time for this to last a long time, two months, minimum.
-3. Plan every step out.
-4. Repeat, repeat, REPEAT!! As in, repeat your training tasks. People have to repeat something seven times to burn it into permanent memory, and you need to remind yourself of it at least once a month for a year, then once every six months after this.

If you do those four things, which are surely no easy task, you should be an excellent programmer in no time. Good luck :)
That's what I meant, totally concurrency unsafe. A proper and "fearless" concurrency safe language is thread-safe without manual mutex/locks/atomics/semaphores.
Buying ammunition doesn't require showing a license... are you kidding me?
https://news.ycombinator.com/item?id=17977906
Hey! Sorry, I missed this comment.

It's changed recently I've heard, but up until recently making a model without using ActiveRecord was a huge PITA that mostly engendered "don't do that" comments.
It’s all good, it’s a totally reasonable thing, which was also brought up in all the other threads :)

> it won’t actively work against you

I guess it depends on what you mean by “active.” Consider the Option<NonNull<T>> case. We can do the null check in safe Rust. We know the check is done. Now consider the case with UB: https://blogs.msdn.microsoft.com/oldnewthing/20140627-00/?p=...

These kinds of things can cause lots of subtle issues. The rust code won’t.
> This applies to your post as well, don't you think?

You are very strong in whataboutism, it's just that I don't see a trace of substance in any of your silly replies. Instead of coming up with ANY useful point at all, all you have is "but what about this or that", none of which has any relation to the discussion. Is you name Dick? http://dilbert.com/strip/2015-06-07
The article doesn't mention this anywhere, but the "waveform" is usually a 4D lookup table with target and previous grayscale value, temperature, and frame number.
Malwarebytes AdwCleaner 7.2.4.0 Crack and Serial Key Full Free Download
I refer back to what I wrote. You miss the point. There is no black/white in what is necessary and unnecessary or even nefarious "data cleaning". You just use the same fuzzy undefinable words again, but you did not make it any more a "hard fact" than any of it was before.
Slack in particular is a pig with resources, and it's exacerbated if you're in multiple teams apparently.

Try having Activity Monitor running with the memory tab active and keep an eye on what's using the most, and also the overview at the bottom.
I don’t think this is a dupe as this is a text transcript with a lot of additional detail and commentary.
The Wikipedia page for HIIT is quite informative.

More than 10 years ago I did HIIT for running. After warm up (20 km walk to the running path) I started with walking 2-3 minutes and then running as fast as I could for 30 seconds. The first times felt like I would die. It was hard to breathe, and a lot of pollen in the air did not help.

The walk and run is 1 cycle. When beginning the training, the cycles start at a low number of repetitions (1-2). The repetitions increase every time when training. So if on Monday I did 4 cycles on Wednesday I would do 5.

I started all this at the beginning of my summer vacation and after my vacation I could run 10 km without a lot of effort (when starting I could not really do even 3 km on one go). It just felt good to run. Then work started to get busy again with other people coming back from their vacations, winter came and all that which made it harder to train and to find time for it, that broke the training rhythm and I stopped.

But I was surprised at how well HIIT worked.

After some time of doing HIIT and improving, I stopped with adding repetitions and just ran in a sane pace, since it felt nice.
> It's all leading to AR glasses worn by everyone...

This just won't happen.

I'd be happy to eat my hat in 10 years if it does, but I don't think I'll have to worry about that.