skysight-inc/HackerNews huggingface dataset:
The law wasn’t designed to make your web experience better, or worse.

It was simply designed to make it easier to exercise your right to privacy, by forcing companies (and by extension their websites) to get informed consent before they invade your privacy.

There’s many reasons why we’re in our current mess, but I don’t think making companies get informed consent is “tech-hostile”. It’s privacy invading hostile, and if privacy invasions are now synonymous with the tech-industry, then as an industry we need to take a long hard look in the mirror and decide if we’re going to continue enabling this behaviour, or find other business models that don’t rely on trampling the rights of the ignorant or uninformed.

I honestly don’t understand why people take such an issue with the concept of informed consent. It’s one the foundations of a free and equal society.
Almost no developers in the world have publically available products. Especially not in the 2000s.

Why are you, and other posters, so obsessed with needing to see something public?

The vast majority of software is made behind closed doors, the source will never be public, and no-one outside a company will ever know about it.

Stop invalidating other people's experience just because you can't inspect their code.
I think it's partially that he reminds me of a motivational speaker that end of the day just ends up saying things that are incredibly simplistic and not really useful. His message is basically "unit tests are good!", and it's like, cool, got anything else? Youre famous for this? I also think the "uncle" thing comes across painfully pretentious. I'm 35, if you're not actually my uncle I'm sure not calling you that.
Vision guided missiles are hot right now.
As others have mentioned, having some formal math knowledge is good, in particular linear algebra and multivariable calculus (usually calc 3). Though that's not very practical...

I find that the hardest part of graphics programming is understanding all the boilerplate, setting up GPUs, buffers, etc. So I'd recommend skipping this part as you're learning since it's hardly rewarding. If you just want to draw pixels on a screen there's a few libs that do the heavy lifting and give a frame buffer to write to:

https://crates.io/crates/pixels
https://crates.io/crates/minifb

Writing to a pixel buffer is the most low level way to do graphics programming, but it can also be the slowest in comparison to sophisticated libraries or using a GPU. I'd recommend doing some sort of experiment on a frame buffer to get familiar with it since it never goes away, just abstracted.

The next step up in complexity would be using a 2d or 3d rendering library. These provide primatives like circles or spheres that you can put together to make a larger scene. Here's some I've used:

http://raylib.com/
https://crates.io/crates/tiny-skia

You can put things together pretty easily with these libs. And they also let you skip the gpu boilerplate (I should note that tiny-skia works only in the CPU).

Lastly, you have shader programming (OpenGL, Vulkan, etc.). If you're writing "production code" you'll have to do some setting up of the GPU, and the actual graphics code will be in a separate shader language. Shader languages are similar to C but with restrictions that allow for a high level of parallism, making it extremely fast. If you want to get started with this I'd recommend playing around on a site like shadertoy[1] where you can start writing shaders right away. I haven't done much of this myself but as far as Rust goes I've seen a lot of references to the gfx crate:

https://crates.io/crates/gfx

I hope this helps

[1] https://www.shadertoy.com/
Kerala Govt. fibre optic network to provide free internet to 2 million families
Rogramming rules to develop secure applications with Rust. Anssi Guidelines [pdf]
Show HN: Contextualize Social Media Posts
If it phones and you can use the web a bit or an app, it’s all good in my book.
That's honestly not a bad point, but it doesn't help me shake the skeeziness I feel about this story.

Maybe it's the fact that these are ostensibly home-protection devices, not public surveillance devices? But really, I could see how you could make the argument that that's a very-narrow-bordering-on-pedantic distinction.

Maybe it's just general Big Brother heebie jeebies.
This site can’t be reached

sunsite.lanet.lv’s server IP address could not be found.
Or just ignore/hide the banners, which by GDPR, may not be interpreted as consent.
The world is non linear, with discrete inflection points. Some of those points are outside of your control, but some are points where you made an important decision that correctly anticipated a non linear outcome. All positive non linear outcomes take time to compound, however, hence why you can’t connect the positive dots until enough time has passed to look back.
Not sure what the shock is with seeing security tools like this released, the vast majority of security tools are open source, how is this different to what we have been seeing the past 30 year?

Not to mention companies such as Google, Netflix and Mozilla all release security tools just like this.
I am not commenting on VOCs specifically, just pointing out that the logic is flawed.

We should ban or control the substances for which we have strong suspicion, I think most sane people would agree. But where to put the line is difficult. Some trees have pollen that causes asthma attacks and several deaths every year; should we cut them all?

So we need more nuances than black or white.

Now if you want my opinion, I would agree that reducing volatile substances is good; we still need to be careful about the things we put in their place.
"Growth" in this context means impact to and relevance within the organization. It's mostly a leadership thing.

Essentially, you don't need to micromanage the work that Staff+ Engineers do, but it's critical to stream information to them throughout the week and sync with them once a week to align and calibrate.

If you do this consistently week over week, that engineer will flourish within the organization. If not, they'll continue to work within their domain until they see no more growth opportunities and then they'll leave.

Source: I've been a Principal Engineer for about four years and didn't really grow under some managers who left me alone. Once I found a manager that consistently invested in me I really thrived, and now I'm a Senior Principal Engineer and feel more comfortable in my current role than earlier.
I'm still amazed that Intel doesn't have anything that can compete with AMD's 64 core workstation processor.

Have they got PCIe Gen 4 yet?
Typing in Python is, at times, at odds with the language.

Said another way, patterns which were once Pythonic are now discouraged by the type system (or, mypy I suppose, since the door is still open for other type checkers to emerge). Examples:

- Duck typing. I was taught that's Pythonic, yet mypy really only accepts nominal subtyping i.e. it infers type compatibility from the type hierarchy. There is typing.Protocol, but I've never encountered that in code. Ruby's new type annotation language RBS introduces interfaces, so maybe it'll stay true to its duck typing roots.

- Lists with mixed types. I might as well bookmark this page, because this behavior of mypy always surprises me: https://mypy.readthedocs.io/en/stable/common_issues.html#inv...

In both cases, mypy reminds me way more of Java's type system than of Python's, which is maybe why heavily typed Python code often ends up looking like Java.
I think to call that feeling "current" is to be a little ignorant of history; people have always held double standards for their own causes. We're humans, after all.
And target to play go ... well at least that objective is done.
The scary part is that you become desensitized to VOCs the more you're exposed and people willingly increase their exposure by using air fresheners, scented candles, fabric softeners, and incense burners. It gets to the point where they can't even smell moderate amounts.

My partner has severe allergies and will break out in hives when exposed to many fragrances so we've cut them out of everything. We avoid most cleaning products and stick to water, salt, baking soda, vinegar, and peroxide for most household cleaning.

My MIL is very desensitized to fragrances and my partner has asked her on multiple occasions not to "freshen up" the house before we visit. My MIL swears up and down that she doesn't but the moment you walk in the door it's like a punch in the face. My partner unfortunately will break out in hives and immediately becomes congested.
Pop a pill of PowerPoop! It's prophylactic!

Persistingly pushing performance to perfection!
Personally: it's much easier to YAGNI in languages with relatively-strong compile-time checks and relatively-sophisticated tooling.

If you lose either of those, a little bit of preventative work goes a loooooong way. The friction (largely due to risk) of correcting things later is so large that it just starts snowballing unless your team is extremely attentive.

In that sense, Python is... middle of the road, with an extremely broad spread. Tooling is an odd blend of surprisingly good vs incapable of doing simple inference / detecting all calls, and type safety depends heavily on how you write things (some tactics are fairly strong, many are so weak as to be useless or make things much worse).
Due to the grey-code methodology, a bounce will be interpreted as a "+1" followed by a "-1". (or alternatively: a -1 followed by a +1) in all situations.

Ex: 00 -> 10 -> 00 is interpreted as 0 -> 3 -> 0, or -1 transition then a +1 transition.

01 -> 11 -> 01 is interpreted as 1 -> 2 -> 1, or +1 followed by a -1 transition.

All possible combinations of bounces (00 -> 01 -> 00, 00 -> 10 -> 00, 01 -> 11 -> 01, 01 -> 00 -> 01, etc. etc.) have this +1 / -1 or -1/+1 property.
No, replacing sqlite with leveldb/rocksdb/lmdb will give you ~10-50x improvement.
I have to ask.

Do we have good recruiters?
The ones I interact seems to no be interested in my strong and *WEAK* points so I got matched with a good position?

I have a feeling that we don't have recruiters just spammers that throw 100's CVs in company an latter claim their "reward$" (1 month or 2months) for their effort.

I know it is kind of blanket statement.

But I am ignoring all recruiters that came from X "Talent" companies. And right now I am tweaking my filter more.

I don't think I will have any recruiter left after I tweak it.

I don't like to switch jobs neither be in a job that is not suited to me.

A good recruiter in a good position would be able to see it and improve my chances.
Exposing resources to a specific "evil principal" via Endgame would be reasonable in some attack simulations/red team engagements
16 bytes of Python that compile to 32 terabytes of bytecode (2016)
With OctoSQL[0], as I wanted to see how people are using it, I literally just set up an http endpoint which received a JSON request on each CLI invocation (you can see the data sent in the code, it's open source) and appended it to an on-disk JSON file.

Then I used... OctoSQL to analyze it!

Nit: The project may seem dead for a few months, but I'm just in midst of a rewrite (on a branch) which gets rid of wrong decisions and makes it easier to embed in existing applications.

[0]:https://github.com/cube2222/octosql
> Every time you run your bundler, the JavaScript VM is seeing your bundler's code for the first time without any optimization hints.

Not necessarily so: https://v8.dev/blog/code-caching
The bit about aliens is fascinating. If we’re living in a simulation Lisp seems like the best bet to research that thread. Like playing with chemicals or physics models were in prior eras.
Interesting to me is Lenovo's decision to include cooling fans on the RAM. If you read the enthusiast forums, it's something that most everyone makes fun of, but something I've always wondered about myself. My Threadripper build initially had pretty hot memory, because there was no way to get airflow to the "back" half (Lenovo arranges the memory horizontally, but they're vertical on my board). Eventually I improved temps by mounting my GPU "upright" (i.e. attached a a riser with the PCI-E fingers facing down), and this gave the bottom intake fans some way to get cold air over the RAM in the back. But, what I've learned from this is that when an OEM works closely with AMD, they actively cool the RAM. Very interesting.
Exactly. It is an old scam. I am surprised otherwise smart engineers still fall for this.
I've been doing remote work for... 8-9 years or so now.

I'd say there are far _less_ phone calls as a remote employee than in office because there is an expectation in my remote employment that work is conducted asynchronously so Slack, E-mail, and written documentation is highly prioritized.

When I worked in-office stakeholders called me all the time, because they expected me to be at a desk and accessible by phone. It wasn't like they were going to come over from another floor or office complex just to talk with me. In remote, those kinds of phone where expected to be a Slack message or an e-mail.

These days, I pretty much expect 0 spontaneous phone calls in a work day. Phone calls are scheduled in advance, with agendas, plenty of time to plan out what I'm going to say. There's a high bar to pass to force everyone involved into a synchronous timeline and yank them out of whatever work they're in the middle of.
Police surveillance of constitutionally protected activities have a chilling effect that might prevent people from exercising their rights and can therefore be illegal.
Why new agencies are trying to capitalize on the online gaming boom
Microsoft's SQL Workshops-Curated Content about SQL Server, Azure SQL
Low interest rates also make borrowing money cheap, which means people borrow money from banks, which increases the money supply (as well as the rate at which it's being turned over). This effect dominates any long term production increase which certain types of investment might facilitate.

Raising interest rates when inflation is high is Central Banking 101
Gladwell the author talked about this in terms of real estate agents.

An extra 5% on $100k to you is $5000 but for the agent it's $250. They are not aligned to get the best price.

It doesn't mean they won't try hard but keep in mind $5000 means more to you than 250 will to a company.
I'm only saying that the "don't use parts you don't like" argument has limited applicability.

We have to acknowledge that some newcomers are eager to learn everything, and that a bigger everything is harder than a smaller everything.

That's just a fact; it doesn't meant that a smaller everything is better.

Now that Python has pattern matching, newcomers should learn it.

In my opinion, newcomers should learn pattern matching before they learn lower-level, more verbose ways of writing code for classifying objects for type, shape and content.

The more verbose code should be the appendix, like "in older Python before pattern maching, we would have had to write it like this ...".

Or, to put it alternatively, newcomers no longer should learn how to use basic primitives like if comparisons and whatnot, to write code which combines multiple tests for object type, shape and content in multiple cases. They should be steered toward pattern matching, with a caution about how that is new and doesn't work with Python versions lower than x.y.z.

Pattern matching is particularly good for beginner programmers, because beginners programmers are not good at planning the design of a program ahead of time: they don't have an intuition for the right data structures and such. Pattern matching can patch over some representational difficulties/tensions in the program so that the code looks good and is easy to reason about and debug.

If all you have is a switch/case type statement, you might be told that, at some point, the pain you're feeling is from abusing that and should switch to something else, like proper OOP. In some of those same situations, you could instead switch to pattern matching. Pattern matching is less abstract and more literal-minded, since it uses "pictures" of data, which can overcome disparities in its structuring in a way that looks obvious in the code. Pattern matching has processing "under the hood", but what that does is not only largely intuitive, but also localized to the spot in the program where it is happening. I believe all of that favors the skill level of newbies.

The pitfalls in this miserable implementation are another story, but I think that will only help Python. Pitfalls bring Python people together to form communities and help each other. People band together and cooperate when they have common enemies, like sabre-toothed tigers, inclement weather or shitty programming languages and systems. The six-week-old Python newbie is eager to explain the quirks of pattern matching to the day-old newbies, and so it goes.

Other than the Python-specific quirks, newbies will likely struggle with bugs involving the order of pattern matching cases, when they place a more general case before a more specific one, such that it unexpectedly takes some (or even all) matches from that one. Adding new cases to a pattern matching block ahead of existing cases is tricky, if they match anything in common.

With pattern matching, you can write a small amount of code that handles a lot of ad hoc complexity---and if that doesn't have test coverage, that can spell trouble.
This transfer of beads happened during the time of the mongol empire which stretched from deep within europe to china and all the way to the eastern siberia.

It is no secret that the mongol empire was one of the greatest facilitator of cultural and economic diffusion. Generally the idea was that goods and ideas flowed from the east to the west, but certainly some from the west flowed to the east and eventually to alaska.

It would be interesting to know if anything from alaska made its way westward.
Okay, I am obviously failing to communicate my point.

I don't care whether or not recruiters literally have money to pay you. The point is, recruiters are in a position of trying to offer you money in exchange for services. Realtors are in the position of trying to offer you services in exchange for money. That was the juxtaposition I was pointing out.
Yup, it was literally designed for large-scale software development. Good article https://talks.golang.org/2012/splash.article
Given that they wrote a tool dedicated to pentesting AWS, I'm sure the author is very familiar with that.

Also the pentesting policy explicitly states that customers can pentest without approval.
He's also likely referencing existing implementations and so likely can create more code faster than having to think of everything from scratch.

He's obviously changing things to be more optimal as he goes, not transcribing.
So a weird thing is happening today. When I was a kid, like Paul, I had to beg my parents to get me a computer ie. spend money on it. Once I got it, I couldn't stop using it and hacking and figuring things out.

Kids these days... :) have everything, I made sure my kids have all good equipment, they have good instruction but they are kind of not interested it all.

If they do something, this is more to please me, as they are good kids, but they would spend all day playing Roblox and watching Youtube.

Not sure if you have some insights that can help me be better parent and support them better.
If I'm going to pay for a password manager I'm going to pay for 1Password.
Very refreshing to see this take and I largely agree. People all too often refer to linters as The Rule rather than The Tool, and forget that a robot will never be able to evaluate the quality of a codebase. That requires human input (though Rubocop is very efficient for people that want to avoid human input--often the root cause of the problem).

That said, I am a fan of single-use private methods and think they have their place, with or without method-length rules.
Design System Team Models: The First Engineering Hires
Companies are buying into the promise of #designsystems. But what does a design systems team look like? And how do you make strategic engineering hires for that team?

I think you can start with just two engineers.

Enter the "frontend-of-the-frontend" engineer and the "frontend infrastructure engineer".
>LAPD should tell the public how many hours of surveillance footage it gathered around these protests, and why.

Gee I wonder why. Maybe to find all the people who were burning down buildings, looting, destroying property, throwing rocks and other projectiles, and stealing?
Agora provides the voice chat infrastructure to Clubhouse.

So, Clubhouse is just a pretty UI built on top of their voice SDK.

https://www.agora.io/en/products/voice-call/
That's also exactly right. Sometimes we call it the 'overheated discussion detector' for that reason—not every such low-SNR thread is a flamewar.
Very much worth reading overall, and this especially caught my eye:

You can still be noticing new things after days of trying to paint something people usually take for granted, just as you can still be noticing new things after days of trying to write an essay about something people usually take for granted.

I don't paint, but I did a lot of drawing in my younger days, and I noticed the same thing. And I do understand how this type of insight can be abstracted and be transferred to different circumstances. So I think art is very important, for reasons that are not always obviously apparent or easy to articulate.
A lot of intel 1G adapters do too, likely including the one in your laptop.

$ lspci -s 0:1f.6
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21)
$ sudo ethtool -T enp0s31f6
Time stamping parameters for enp0s31f6:
Capabilities:
hardware-transmit
software-transmit
hardware-receive
software-receive
software-system-clock
hardware-raw-clock
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off
on
Hardware Receive Filter Modes:
none
all
ptpv1-l4-sync
ptpv1-l4-delay-req
ptpv2-l4-sync
ptpv2-l4-delay-req
ptpv2-l2-sync
ptpv2-l2-delay-req
ptpv2-event
ptpv2-sync
ptpv2-delay-req
Nice tool. Just curious... how did you chose the default investment return and salary growth over inflation?

Maybe you can add some tooltips in both fields explaining what are typical realistic values.
Being patient and buying used is entirely the way to go for furniture. I'm typing up this comment sitting at a nearly perfect condition solid oak desk my girlfriend found at an estate sale and paid $100 for. In a similar story, we found our vintage solid wood pineapple bed for $35 on craigslist. There's no way you could buy, let alone make, either of these pieces for 10x the price.

In a past life I owned a full size metal tanker desk I bought $40, stripped down to bare metal and I loved that desk until I had to give it up when I moved countries.

People don't like buying used, but furniture doesn't wake up one morning refusing to work because a dependency is no longer available.
It's not necessary in a strict theoretical sense to be Turing complete, yes. But in practice? Most of the magic of modern computing is in programs which can themselves manipulate, translate, and even write new programs. Nearly all we've built up depends on that. You can only get so far in practice by flipping switches to encode binary numbers.
It sounds like you're describing https://github.com/WICG/turtledove, which Google is definitely working on.

(Disclosure: I work on ads at Google, including the seller-side of Turtledove. Speaking only for myself.)
I'm confused about where these are supposed to roam to. Are they expecting everyone to just fan out into the desert and just sit there?

I definitely don't want one of these parked on my block.
What are you saying, that because some VOCs are found in nature, any man-made VOC is OK too, just because it is part of the same chemical compound family?
I agree, it does look nicer from the recruit's side :)