skysight-inc/HackerNews huggingface dataset:
> The biggest and most powerful corporations in the world right now are tech companies,

Not even close to true. JP Morgan, ExxonMobil, Citi, Chevron, ATT, Comcast,, Walmart, GE, GM, Berkshire Hatahway, Pfizer, Johnson & Jhonson... I could go on. Yes, Apple, MS, FB, Google are huge tech companies, but they are not the most common and not by any means "the most powerful".
You still need access to the host, via ssh for example, to start the containers and do some basic maintenance. Won't you have fail2ban installed on the host since your ssh port would be open?
There's nothing preventing you from using a 0-base, it's just extra work to implement. You can even use the fabled 2-base index! https://docs.julialang.org/en/v1/devdocs/offset-arrays/
Copying blocks of memory is so common. Why isn't there a specific instruction for that in cpu architectures?
The linked repo. I mostly agree with you that most of this should be in containers; I should have been more clear to what part of your comment I was addressing.

In regards to docker worldview, this project currently doesn't follow best practices.

And while I agree mostly with this statement:

> Surely all the complexity should be inside the container

The caveat being that complexity should be split up into separate concerns. Otherwise there's little difference between the host and container aside from an extra layer of abstraction.

For example, this repo should probably be split into several containers: cert management should probably be its own container, which a shared volume for certs); php should be rolled into its own container, and php files should reside there; logging shouldn't be handled at the container level; firewall concerns (namely fail2ban) probably should be handled at by the host, or in a container with appropriate permissions; etc
Retool seems pretty awesome so far! I got an immediately useful admin panel working in about 20 minutes today.
I have a method for turning integers into strings that is much faster than Python's built in method when used with very large integers. I wonder if there's a place for it in this project?
Something about this new wave of AI tech makes me think about Bell Labs or Xerox Parc. It isn't always the companies researching that gain the significant benefits. I wonder if in 30 years we'll be watching VR documentaries on the entrepreneurs of the future waxing poetically about the tech they saw at Google/Facebook/Amazon and how it inspired them to create their trillion dollar tech giants.
Doesn’t Qualcomm do this too?
A fitting name given the email campaign and marketing calls.
> People are so mired in identity politics that your affiliations outside of a particular group will often matter within that group.

I understand that people are often like this. What I'm wondering is why Matrix would include such information in the reputation system they say they're building, since that basically just encourages people to look at irrelevant information and engage in identity politics instead of discouraging it.
Galileo is a European "me too"-system. As long as it seems to the general public to be running and problems do not make headlines, it is fulfilling its purpose. That the service is actually degraded and only working because of kludges like keeping prototypes running production is fine. It is the threat of maybe being able to replace Navstar or Glonass someday if really really necessary that counts.
That’s why generally speaking you don’t launder money by just soliciting input, shuffling some bits around, and then providing output.

You launder money by operating a tangential legitimate enterprise. So, to pick the humorous example: you open a laundromat called Bill’s Cleaning, and then ostensibly you have expenses and profits related to laundering clothes, but you pad your books with fake wash/dry cycles to cover your illicit in/out flows.
Or that Facebook developer just doesn't know about the super secretive happenings behind the curtains. If they did, they probably wouldn't talk about them. :)
> This is something I've often called a retreat into complexity.

Thanks, I'm using this from now on.
They already seem like they are locking more items behind the plastic theft guards, so the logical extreme would be to lock everything that way, at least for items that are commonly stolen.
If you haven’t tried them lately, FireFox’s dev tools are pretty solid these days.
I remember asking this question here or on reddit when that popped up, and was rebuffed, but I do suspect Julia having powerful macros was a driver.
And yet, grep and grep alternatives run much faster with the sequential file I/O tools than mmap.

https://blog.burntsushi.net/ripgrep/
Of course, but people seem to generally find it’s “egg-carton shaped” rather than “mountain range shaped”.
The best way is to generate fake numbers and add them all to confuse the algo.

https://play.google.com/store/apps/details?id=com.cklee.cont...

Haven't tried this app, and it may be more horrid do install an app but the only other way I was thinking was manually via CSV and generate it with dummy data from some other misc data on the web....

I should do it actually. It helps break the addicting nature of social media apps and ruins the networking effect.

--

https://code.lardcave.net/entries/2012/04/22/135057/

This is really cool and covers the exact issue, but with resolving it by creating TWO contact books!
I find Starlink's satellite network horrifying. I will try very hard to avoid using products or services that rely on it. Probably a lost cause.
I solve this issue by simply not using the contacts feature on my phone. I just store phone numbers in a text file and memorize the 2 or 3 that I need to contact often..

Ironic, I know, but that's what it has come to. Welcome to 2020.

In the vast majority of cases I just don't need to call most people. I mostly stick between instant messaging and (during pandemic) video calls and (non-pandemic) in-person meetings and just avoid the awkward middle ground of audio-but-no-video phone calls.
That is not a citation. A citation provides enough specific information to independently verify that a claim comes from some authority. A citation would include (at the very least) some kind of statute or clause number.
Meaning, I presume, move the retirement age, rather than moving the life expectancy. OK, that makes some sense.

I'm not sure that "below" is quite correct - when Social Security was started, retirement was 65 and average life expectancy was 67 or 68. I'm pretty sure it wasn't below 65. But still, it was close - not 80 but keeping retirement at 65.

So, yes, that would work. It would make Social Security solvent very well. The second-order effect would probably be to increase unemployment, though, at least if you required it for people who are already retired.

They have moved up the retirement age, but less than the life expectancy has moved.
If that's all it takes, I'm willing to start the co-op that fronts you the money.
I agree but think that Julia had the benefit of watching Python and MATLAB suck at auto diff and do better as a community. That said PyTorch and Jax are great.

> fast zero-cost abstraction

Until you get a compiler error and the stack trace takes up a few screens of text. Who maintains that abstraction by the way? Nothing is free.
It also does (to my knowledge) no real optimisation on user code. I've also read that a lot of pythons construction and language semantics make it difficult to implement more performance optimisations.
congrats David! just a broad question as a React/frontend dev looking for devtools/startup ideas - how do you feel about your bet on React now? any pain points, wishlists? Would love to hear about any non obvious things in doing visual builder interfaces in React. I found the relayout algorithm (the brief pause when i hover one element over another) interesting, have you ever written that one up?
Why did the title change (on HN)? It now no longer matches the original article ("I’ve been an engineer and a recruiter. Hiring is broken. Here’s why… and what it should be like instead.") - contrary to HN guidelines[0]

[0]: https://news.ycombinator.com/newsguidelines.html
That just kicks the can down the road a step, though: that just makes the folklore knowing where to find the good GitHub issues.
Yeah I don't disagree re: scientific computing and Python (although I think from the beginning some of the advocacy for Python was coming from more "math-oriented" communities). I still think that when it started accelerating in use (which was mainly among scripting and then web applications, some other stuff too) there were existing solutions. A lot of discussions about established languages versus new ones are very similar to one another; the particular languages are just swapped out for different ones.
Would you be comfortable sharing what kind of hardware you're using?
Other fields have their popular message boards. It's not just programmers.
I have noticed that when looking at the internal IPv4 address of my phone. What's the technical difference between Carrier Grade NAT and "traditional" NAT?

/Not working in networking
A game theoretic advantage, “we will only invest in our end product x which uses your y if you agree not supporting competitors for a period of time “ in which x is beneficial to the end user but not worth the cost/risk with competition.

This is the same idea with patents; I’ll sink costs to deeper R&D in exchange for safer prospects of profiting from it.
I also digitized some VHS tapes recently. Here's what I learnt:

Video capture:

1. there seems to be no capture device on the market that has a linux driver

2. some capture devices only provide their drivers on a CD/DVD

3. elgato video capture works (as long as the computer doing the capture is fast enough to process input in real time, otherwise the output is laggy)

Video processing (linux):

1. there's a bug in blender[1] that introduces audio skew to elgato-captured footage upon rendering. the skew is not there while editing

2. kdenlive[2] works fine with no audio skew

[1]: https://github.com/NixOS/nixpkgs/blob/6b74f99abd2f4c62e8093c...

[2]: https://github.com/NixOS/nixpkgs/blob/f6cd17269ea00766319388...
This assumes that they are applying to companies with separate frontend and backend teams. My company only has one small team so we all do a bit of everything: frontend web, react native app, backend, ops stuff. We'd never hire someone who was only front-end or only backend because that would leave half the job they weren't doing. But we have hired junior engineers who have only a little professional experience.

Seeing full-stack on a resume shouldn't set any expectations other than they have and intend to continue working on both front-end and backend code.
David, I wish you would build some tools to help us build custom document management functions.

One of the challenges of highly regulated verticals is that we have to produce a lot of paperwork for regulators. This paperwork is documents in a particular format (from templates we create) but is populated by data from various databases (and other sources like JIRA, google docs, etc.).

If we could program custom logic that pulls data from our various sources to create an exportable document (PDF) based on the data all over our organization, we could replace two dozen document management people with one script ... and have it be more accurate to boot.
As well as this being rather closed-minded, it's also not true. The contents of the 0000-FFFE codepoints are public knowledge, and the biggest users of space are:

1. the private use area
2. the general "CJK" area

The second of which has a truly mind-boggling number of characters, including every possible composite Hangul glyph used in modern Korean, despite them being constructable from the basic Hangul codepoints.

Emojis and other symbols which aren't used for language appear relatively rarely. Certainly there is no reason to believe that UCS-2 would be sufficient for writing if they were removed. The number of scripts included in Unicode would exhaust even the private use area, and UTF-16 would have been invented regardless.
All those features have a cost that, in a performance oriented setting, require restricted the code to a subset of Julia that matches what the hardware is fast at.
Why use Alpine? A better base image would be Red Hat UBI
It is illegal, if you're a monopolist. You can be a monopoly, but you can't do things like this if you are.
Take the 2020 State of CSS survey
I looked into this a bit more just now and it seems like maybe the mains power synchronization was more about ease on the camera side than for the receivers:

"The NTSC field refresh frequency in the black-and-white system originally exactly matched the nominal 60 Hz frequency of alternating current power used in the United States. Matching the field refresh rate to the power source avoided intermodulation (also called beating), which produces rolling bars on the screen. Synchronization of the refresh rate to the power incidentally helped kinescope cameras record early live television broadcasts, as it was very simple to synchronize a film camera to capture one frame of video on each film frame by using the alternating current frequency to set the speed of the synchronous AC motor-drive camera. When color was added to the system, the refresh frequency was shifted slightly downward by 0.1% to approximately 59.94 Hz to eliminate stationary dot patterns in the difference frequency between the sound and color carriers, as explained below in 'Color encoding'. By the time the frame rate changed to accommodate color, it was nearly as easy to trigger the camera shutter from the video signal itself."

From: https://en.wikipedia.org/wiki/NTSC
I can't exactly answer that question because I'm not even sure if the premise is true, but I do know that "memory to memory" copying is often offloaded entirely off the CPU.

Here's a technical overview of some of the technologies from 2017

https://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-...
From what I've heard, DuckDuckGo sources its ads from Bing. I searched for "camera" on DuckDuckGo and the ad links have URLs that redirect to Bing, e.g. "https://duckduckgo.com/y.js?ad_provider=bingv7aa&u3=https://......".
Why are emojis garbage?
My favorite rhyme comes from Perry Como:

The way that we cheered/whenever our team/was scoring a touchdown,

The time that the floor/fell out of my car/when I put the clutch down
The entire piece is just a reiteration of the very superficial arguments advanced by Friedman and so on decades ago (as the article itself kinda admits) but just to pick on a crucial issue

>"There’s no point in trying to “reimagine capitalism.” Capitalism works by creating wealth. Equality comes best through the creation of ever-cheaper goods and services, not handouts. The supercomputer in your pocket, same-day delivery, heart stents, even perfect Costa Rican bananas in your ShopRite were all generated by reinvesting profits. Other “isms” typically fail because they eventually fritter away the wealth that capitalism had furiously created."

Capitalism, or any *-ism for that matter, only 'works' if it can successfully reproduce the political conditions which enabled it to flourish in the first place. Cheaper phones and stents are great, but they require rule of law, stability, functional administration, education, public health, social harmony, and so on. Shareholder capitalism isn't concerned with any of those (in the US liberal) conditions, it just kind of benefits from them and takes them for granted. When Disney censors itself to appease China, when domestic companies lobby the government, all in the name of profit maximisation, they're undermining the very (non-economic!) values that underpin the system.

Michael Sandel categorised this as moving from a market economy to a market society. Conflating markets or profits as an instrument with a way of life, and in the process undermining the cultural and political values that sustain the entire system.
Great comment - agree 100%
> When a user program requests to read a file, the page from the file is (usually) first put into the buffer cache. Then the data is copied from the buffer cache out to the user-supplied buffer during the return from the system call.

Doesn't linux do shared-read-only mapping of pages on read(2) and only copy if you modify? Though it can only do so on page-aligned buffers. Maybe results would be different if the buffers were aligned?

> So I changed my test to invoke mmap with MAP_POPULATE and learned that the experiment completes about 36% faster.

If your result spuriously change by 36%, you don't really have a robust statistic, and a model/understaing of objects measured. AFAIU, mmap with MAP_POPULATE should be equivalent to a read of whole file in a single call, on an aligned buffer - significant performance differences here would be interesting.
There are, kind of. For example x86 traditionally has `rep movsb`. However that doesn’t mean it will remain the fastest way to do things in the long term; AVX/SSE lets you copy more at once with the caveat that it is more complicated to use (due to alignment requirements and register usage.)

(I think certain ‘obvious’ patterns are optimized in microcode, but it’s probably hard to beat moving 32 bytes or 64 bytes at once with moving bytes/words at a time, no matter what the processor does.)
If you actually want to mess with the algo you probably need to have partially real and partially fake data, or disruptive data such as rotating the names, e-mail address, and phone numbers within the same contact list so that they don't correspond to each other.

Outlier rejection of completely random data for these sort of graph-connected networks is exceedingly easy and unlikely to screw up their algo.
CCPA isn't as strong as GDPR[0]. Also, not sure if you're referring to Prop 24, but it's terrible[1] for various reasons, including that it can't be updated by the legislature.

[0] - https://iapp.org/media/pdf/resource_center/CCPA_GDPR_Chart_P...

[1] - https://www.theleaguesf.org/#Prop24
The difference is none of the companies you listed have the same amount of control over the internet. SV giants are the new gatekeepers of information.
This is true in a lot of other fields. This is also the reason why experienced people make a lot more money than inexperienced ones. They know where the rakes are buried under the leaves.
Hillary Clinton tells Buhari, Nigerian army to stop killing protesters
> 'point deer make horse' [0]

Your link never glosses the saying as "point deer make horse". Why did you?

The grammar of the saying is normal, far more so than usual for these, and "make" is not the relevant sense of 為.
If the data is so poorly protected in transit that a firewall app on the system is a concern, something has gone very wrong indeed. It's just going to see that your Apple services on your Apple device are speaking to Apple servers.

There's an availability consideration here, but that's about it.
Now that's fascinating.

I'd thought of machine learning as a form of optimization.
Things like support vector machines really were hill climbing for some kind of local optimum point. But at a billion dimensions, you're doing something else entirely. I once went through Andrew Ng's old machine learning course on video, and he was definitely doing optimization.

The last time I actually had to do numerical optimization using gradients, I was trying to solve nonlinear differential equations for a physics engine in about a 20-dimensional space of joint angles that was very "stiff". That is, some dimensions might be many orders of magnitude steeper than another. It's like walking on a narrow zigzagging mountain ridge without falling off.

So deep learning is not at all like either of those. Hm.
Testing is a good way to ensure that your program won't have UAF under most normal circumstances. But when it comes to security it's adversarial - your program will get pushed into parts of the state space that were never seen during testing.

Things like browsers and operating systems are all heavily tested and fuzzed using tools like asan. They still have security issues from UAF.
Since it's from 2002, why not go even more retro and start a Phlog instead?!

https://en.wikipedia.org/wiki/Phlog
Funny you should mention that. At my college (Cal Poly) I had fraternity brothers who were Civil Engineering majors. They would look up to me because I had a natural ease with computers. But in the end, I watched them sweat their way through classes that would have wasted me.
Looks promising. Thanks!
mmap is more general than memory mapping files. It "establish[es] a mapping between an address space of a process and a memory object". In particular, many allocators (malloc and friends) use mmap to get a block of memory from the OS with mmap(0, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS, -1, 0); or similar.
> > compile-time execution of regular zig code

The problem with this is that it's incompatible with a well-designed compiled[0] programming language; a cross compiler can't replicate the architecture-specific behaviour of the compiled code because the target architecture is unavailable or possibly even nonexistent at the place and time the compiler runs.

Consider, eg, a compiler on ARM targeting x86, when the code uses x86-specific assembly or intrinsics, or more subtly depends on x86-specific handling of things like pointers or integer overflow. If you instead compile the compile-time code for ARM, you a: need two different codegens (soon to become three when you compile the compiler to run on RISC-V), and b: now the compile-time code is depending on ARM-specific semantics, which is even worse.

Giving up on cross compilers means your language isn't well-designed. Giving up on architecture-specific behaviour means your language isn't designed for (direct[0]) compilation. (The latter is a legitimate choice, of course, but its negation is also a legitimate choice, and thus a legitimate reason not to support same-language metaprogramming.)

0: in the sense of C-like compiling directly to equivalent machine code; obviously any language can be compiled in the more general sense of producing a working executable
> The incentives in academia are complex and it affects how open some folks are or can afford to be with such knowledge.

> Sometimes this leads to public feuds however, and some academic communities are small enough that if you make too many enemies your publications may be visited upon with disfavor when it comes time for peer review. It's not worth getting into public tiffs unless there's a principle at stake.

This is more the kind of thing I was using the word "toxic" to describe. Of course I know this is a widespread and deep-seeded problem and not one that could be fixed overnight, I was just commenting on it
If you aren't using all the ports on the switch, you aren't really exercising the switch much. That a 48 port witch with ~10% of the ports in use doesn't overheat and isn't even spinning its fans at max when in a garage in Texas in the summer isn't really surprising. It isn't surprising in the same way that a modern desktop or notebook system in the same environment not overheating in if all you de is power it on and let it idle is is not surprising.

Start using a significant portion of the switching backplane capacity and see how well it does then though. That would be a much more interesting result, whether the device succeeds or fails.
And lets not forget that Facebook used your 2FA mobile phone number as a piece of information used to target you with ads:

https://gizmodo.com/facebook-is-giving-advertisers-access-to...
Much to be said for this.
https://www.barrypopik.com/index.php/new_york_city/entry/the...

See also https://en.wikipedia.org/wiki/Harrison_Bergeron
Fivetran vs. Segment Comparison
They left it somewhere on Gopher.

I am at this point considering charging web sites for my compute.
I live in similar conditions, not quite as humid. Tempted to move my mini rack out to the garage now. Very tempting to save on the air conditioning necessitated by the equipment in my rack. May even put my virtualization server out there for awhile and see what the temps get up to.