skysight-inc/HackerNews huggingface dataset:
I love that I get to use python to write the dependency graph, it allows for some interesting stuff.

Other than that, it's mostly the ease of use. This is enough to compile a C++ project (that has all its .c and .cpp files in the same directory as the SConstruct file), and it'll pick up on all dependencies correctly:

Program(target = 'a.out', source = Glob('*.c') + Glob('*.cpp'))

I also know for a fact that it's able to pick up on how the presence of a new file might trigger a rebuild of what could require it.

Regarding the last question, using --tree=all it prints:

+-.
+-SConstruct
+-a.out
| +-main.o
| | +-main.c
| | +-/usr/bin/gcc
| +-/usr/bin/gcc
+-main.c
+-main.o
+-main.c
+-/usr/bin/gcc

I'm not sure if it's hiding dependencies on system headers or not. But I can force it to show them by adding /usr/include and /usr/local/include to CPPPATH (excuse the long code block):

+-.
+-SConstruct
+-a.out
| +-main.o
| | +-main.c
| | +-/usr/include/stdio.h
| | +-/usr/include/Availability.h
| | +-/usr/include/_types.h
| | +-/usr/include/secure/_stdio.h
| | +-/usr/include/sys/_types/_null.h
| | +-/usr/include/sys/_types/_off_t.h
| | +-/usr/include/sys/_types/_size_t.h
| | +-/usr/include/sys/_types/_ssize_t.h
| | +-/usr/include/sys/_types/_va_list.h
| | +-/usr/include/sys/cdefs.h
| | +-/usr/include/sys/stdio.h
| | +-/usr/include/xlocale/_stdio.h
| | +-/usr/include/AvailabilityInternal.h
| | +-/usr/include/sys/_types.h
| | +-/usr/include/secure/_common.h
| | +-/usr/include/sys/_posix_availability.h
| | +-/usr/include/sys/_symbol_aliasing.h
| | +-/usr/include/machine/_types.h
| | +-/usr/include/sys/_pthread/_pthread_types.h
| | +-/usr/include/i386/_types.h
| | +-/usr/bin/gcc
| +-/usr/bin/gcc
+-main.c
+-main.o -- This part was removed to decrease comment size, it's the same as the main.o part above

The SConstruct for this last block is:

Program(target = 'a.out', source = ['main.c'], CPPPATH = ['/usr/local/include', '/usr/include'])

Note that these were generated on macOS.
I think Postel's Law is best understood as a growth strategy. Its tolerance facilitates easy composition but at the expense of some protocol decay. What the author does not acknowledge is that less tolerant designs schemes are often so exacting that they discourage participation.
From the article, you're using Quagga -- are you aware of the active fork FRRouting[0]? It was forked about 8 months ago and is over 3,000 commits ahead since most of the core developers have stopped developing Quagga.

[0] https://github.com/FRRouting/frr
I preferred kotlin when it came out because it had android support as an explicit goal, and android is the main reason I'd want a jvm language. seems to have worked out that way in practice too.
Like many other scientifically backed disiplines, people with other agendas co-opt the prestige of the space.
The headline here is a bit of an overstatement. Nothing in the original paper is casting doubt on Type Ia supernovae as reliable standard candles. It is definitely an embarrassment that we still don't know the mechanism by which Sne Ia occur, but empirically their luminosities can be calibrated well enough that the accelerating expansion of the universe is not in doubt. However, to determine the nature of dark energy (specifically, its equation of state), it may be necessary to calibrate SN Ia luminosities better, and that will probably require understanding exactly what they are.

There are two major SN Ia models: the double degenerate, which involves two white dwarfs colliding, and the single degenerate, which involves one white dwarf accreting matter from a regular star. There have been two approaches to distinguishing between the two models. One is to look for hydrogen in the spectrum a long time after the supernova. In the single degenerate model the supernova shock will strip hydrogen from the companion star's atmosphere, but in the double degenerate model, there will be no hydrogen to strip.

The other method is to look at the very early light curve of the supernova, as this paper did. The early light is expected to rise in a straight line as the surface area of the shock expands. A deviation from this straight line, particularly in the blue bands, then could indicate some interaction between the shock and a companion. This paper found such a "blue bump" in the early light curve of a recent supernova. (There has been at least one earlier paper that also found a blue bump in another supernova.)

I'm out of the field now, so my knowledge isn't quite up to date, but my impression is that the observational evidence may be pointing to a mix between the two mechanisms. For anyone interested, I wrote a little bit about this problem here:

https://joe-antognini.github.io/astronomy/typeia-progenitors
Men only dominate positions that have high income in the beauty industry. Follows directly the predictive model as stated above.

Young women (ages 12-24) out-buy all other age groups when it comes to haircare, skincare, cosmetics, and fragrances (Source: “Junior League” by Kelley Donahue. American Salon
, January 2000).

Feel free to provide statistics that men are the majority customer for those products. You assume incorrectly that incentives has no role in how people behave. That is terrible flawed, both as a predictor in how society look like today and as a explanation in how we got there. By ignoring it you are doing anti-science and arguing out of belief. If you are just going to continue then this is a waste of time.

The focus by men on physical appearance, and the focus by women on wealth is a dominating factor in dating. It is the single strongest correlating variable out there (A worth reading are the OkCupid blog on the subject). In a separate survey done in china, over 90% of the women responded that they would not date a man earning less than average income (which eliminate more than half the male population), and a majority of responses thought that men should not be outside when they earn below average income. They should instead be inside working and try become marriageable. That is about as strong social pressure that you can get, similar to how certain countries think about women that are not married.

If you want to present how some mythical barriers to entry shaped the industry rather than plain incentives, then you got to actually bring some data. Not empty theories, but data and experiments that show how barriers to entry is the best explanation to explain gender segregation in the work force. Bloomberg is not attempting to do that, and only present it as their theory with some chosen quotes by a few people in order to support it.
It was late I misread that. But it's still the neolithic era, there wasn't mass agriculture or urbanization yet. And competing tribes and the advent of warfare would have played a role.
If I and my friends are on the same pod, and I get banned from it, can I still talk to them?
The thing you're measuring here is called the flicker fusion threshold--essentially the transition point between seeing on/off/on/off and a solid light--and is a little different from latency. Latency would be more like the delay between the LED turning on/off and your perception of that change. That delay is at least 100ms, and often a bit longer, though it depends on a lot of factors.
Which proves my point. Real world stuff rarely fits neatly into theoretical models/categories.

Real world Layer 3 Switches are a hybrid between a router and a pure layer 3 switch. In fact they're just a really fast router.

A normal edge router switches based on IP and a bunch of extra rules. These extra rules range from firewall stuff to QoS. These extra rules need software to process.

A core router is what is now called a Layer 3 Switch. It just cares about the IP address and because of that can be done in hardware making it really fast. It's still a router because as you said it still has routing tables based on networks and subnets.

I don't think anyone makes a true (non-router) layer 3 switch. The only use case I can think of would be a campus wide WiFi network.
Ask HN: Advice for screening sanctioned sellers
Ask HN: Advice for screening sanctioned sellers

A) We got into Strip Atlas.
B) We are launching a platform that includes a marketplace.
C) Strip Atlas points out[1] that we must comply with U.S. sanctions.

We must comply by either describing the steps we will take, or that we plan to use a sanction screening service.

Does anyone on HN have experience with this?
Do you have any Sanction Screening vendor recommendations?
Or do have any thoughts on factors to consider?

An in house solutions seems pretty easy. We're U.S. based and only provide digital content and services so that eliminates any physical shipping concerns. We can easily filter IP addresses, payee names, and addresses.

However, the issue seems to be more liability than capability, so perhaps a service can take on the liability more cost effectively then we could engineer it away.

[1]: https://stripe.com/docs/atlas/next#us-sanctions
> Kubernetes "secrets" aren't actually...well...secret. They're stored unencrypted in etcd with no ACLs. You must go outside the Kubernetes system to do this.

They are in progress towards encrypting at rest the etcd database. You can experimentally turn it on by following this doc:

https://kubernetes.io/docs/tasks/administer-cluster/encrypt-...
You can see on the 21-24 minutes the bad idea of implicit imports which is being presented as a great idea:

- Explicit import is a much better idea than the Marko's folder structure based implicit import thing. Explicit import makes the code base more maintainable, reduces the side effects probability and "magic" stuff.

- "Counter" there is not a "word" as author says, but the component's file name. So it's not the word that you can misspell, but the file/module, that will not be imported in case of file name misspelling. Import by file name is not repeating, it's the explicit module importing by the file name, not by a some word - no DRY ideas violation here.

- Author says on 21:51 that "imports is kind of terrible" due to the relative path. There is no issue with the relative path - use Webpack's aliases. He says imports (explicit relative imports in that case) makes code more fragile...

- I like Vue's idea of separation computed/methods/data blocks more than mixing all together. It for example helps the green devs to better understand the framework's lifecycle/internals and separation of concern ideas.

I stopped watching the video after the 24 minute.
I think that the ultimate takeaway from this benchmark is that both languages/frameworks are fast enough out of the box.

Once you mix I/O into the equation, that is going to become your bottleneck. Also you may care about language features that may or may not make you program faster.

Golang abstracts async I/O out of the box and is natively compiled, but lacks generics and exceptions. .NET core must be explicitly programmed to make use of async I/O and is JIT compiled, but provides richer language features. Pick your poison.
> Even back then I understood that this was never going to make it to the mainstream.

Back in 1998[1][2] Apple demoed the then beta versions of OS X doing exactly that. Multiple video streams playing without missing frames, being resized into the dock, while still playing [3] (a feature that is not present any more), and even resisting highjacking by a bomb app. It all worked back then and it still does today.

> Non-customisability of MacOS is a Jobsian deliberate choice.

Also, there are multiple Finder replacements apps for the Mac, the thing is, nobody cares because the Finder is good enough for most people.

[1] https://youtu.be/pz3J-WC0jp0?t=258

[2] https://youtu.be/GNYIYx7QRdc?t=4188

[3] I can't find the link but it is in one of Job's keynotes from the 2000s
Hmm, perhaps instead of "rationale", I should have said "philosophy behind" the 1st Amendment. Obviously the 1st Amendment is not directly intended to cover entities other than the government. But almost everything in the Bill of Rights is essentially intended to protect the rights of minorities against the tyranny of the majority, whose representative is the government. It is not necessary to protect popular views, from either the government or from others.

This philosophy is as old as the university and modern science. It is certainly no younger than the "free speech, but not consequences" argument, which I read as a thinly-veiled way to threaten unpopular views with unspecified "consequences".

> "private businesses can't have moderation"

I wasn't arguing that they can't. Only that it can be unwise and a net negative for our society for them to choose to do so. I would draw a distinction between trolling/spam and someone honestly espousing an unpopular view.

It is true, some kind of filtering is needed, because there's too much information for any individual to absorb. The question is, who (if not me myself) is doing the filtering and what are their incentives? dang's incentives are aligned with mine: good-quality technical discussion, and people aren't blacklisted purely for espousing unpopular views.

The incentives of corporations are not. Google, Facebook, and in this instance, Namecheap, are presumably taking these actions to safeguard their image and maximize profit, not to actually make their users maximally informed. There is a conflict of interest here.

Finally, I think all this becomes much more important when it comes to political speech, because people have a marked tendency to want to shout down, ignore, misrepresent, or otherwise not engage with political views that make them uncomfortable. Look how the media misrepresented the Damore memo. I take no position on the memo itself, but do assert that people are better off knowing actual arguments from all sides, rather than side A blacklisting side B and then giving strawman representations of what B thinks.
Had a quick look at the article and this immediately caught my eye.
Leave the PR open! The maintainer might need a few more days to respond or might eventually reconsider. Also do not forget about other developers interested in the project. I've more than once merged PRs locally to profit from them before they were merged. Last but not least, open PRs are a good health indicator, I have to agree there.
No matter what I do, I would always look like a foreigner in Venezuela. This is also true in Thailand but they seem to do a much better job of protecting farang from violent crime.
Presumably the test would be whether he can, in a blind experiment, reliably discriminate between them.
At this point, if there's evidence for license violation by kataras, why isn't he banned on GitHub?
One of the commenters on the original article (https://medium.com/@tarthedark/did-a-custom-bench-between-ht...) changed a few lines of the C# to use some different ASP.NET facilities which more than doubled the reqs/sec and dropped the std dev of latency by 2/3. That provides some evidence that it wasn't really an apples-to-apples comparison.

Beyond that, a synthetic benchmark such as this one in which no real work is being done to service an HTTP request is unlikely to translate into real-world performance since the "real work" factors such as disk IO or database access are likely to dominate the HTTP request/response code paths. IMO, one of the places where C# shines is its thorough support for asynchronous I/O (of all kinds -- not just network) so that these kinds of services that do "real work" scale up efficiently on multi-core systems. I am also impressed with how fast Golang is, but you really have to compare the systems with real workloads over time periods sufficient to fully stress GC on their production platforms to see which will be faster.
I usually don't start work on side projects until the kid(s) are asleep. Only works while they are young I guess. My wife has always been understanding of my personal projects, provided I don't let them dominate every waking hour.

When they are older I plan to teach them useful complimentary skills. Graphics design. Testing. Copywriting. Marketing. Sales. :-)
I find that doing TDD makes it much easier to get in the zone; more importantly, it helps to get back into the zone if I get off track.

I typically stub out a bunch of tests (just empty methods named based on what I plan to test), then go one by one and fill in the tests and write the implementations.

In the codebase I work in, we use a lot of mocks / fakes, so I typically write my tests "in reverse" - first the verification of results, then the mock / fake expectations for what methods should have been called. Then I'll write the actual implementation, and then fill in the mock inputs.

This way, if I get interrupted, it's very easy to transition back into what I was working on, as I make sure to always leave a breadcrumb trail for the next piece (when I run my test, the failure will give me a hint as to the next step to take). And since I have a bunch of stubbed out test methods, once one bit is finished, I can move onto the next one and repeat the process.
yeah latency is not all.

I have an HP48 calc, even though it had a monstrous cpu for its time, the system had layers of interpretation rendering the UX well... sluggish. But the ergonomics and paradigm was so neat, that you didn't need real time. You could keep stacking functions on the HP48 stack, you'd know in advance how it would behave, so it wasn't an issue. And counter intuitively, I enjoyed the pauses so I could think about what to do next.
But how long did it end up actually taking?
If there's a real free market, then people are going to find someone willing to host anything for money. The real problem is when the law prevents companies from hosting them.
WCEX – Global Low-Cost Digital Currency Exchange
From my still limited knowledge they take marriage very seriously and divorce is pretty much like death. There are all kind of people of course, but society they live in enforce it on everyone.

As always it's depend on urbanization since people who move to work in big cities away from their family are less concerned with traditions.
Idiomatic, yes, but coding style isn't really a part of idiomatic C#. He's using the default formatting settings of Visual Studio. This is a very popular choice for sure, but by no means universal even inside Microsoft itself.
Yes, including nmake (windows-compatible).
There is also Robert Putnam's work on the deleterious effects of "diversity" on civic life and engagement.

http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9477.2007....

DOI: 10.1111/j.1467-9477.2007.00176.x
Oni: An IDE powered by Neovim
What does the elephant chart really tell us?
that assumes you know how much it started with and what the environment was like then
> polarization

What polarization is there in Washington? Or outside the beltway? What are the two poles? How people feel about transexuals? I don't see any polarization. The two parties are close together on almost everything. As the real differences fade, unimportant differences must be heightened. Trump is of that type - he makes a big show, but on what big issue in which he can get anywhere is he substantially far from the Democratic (or Republican) party? As real differences fade, the showmanship of there being a difference must increase, thus, Trump.

Even healthcare has no polarization. Both parties are agreed on what it should be. Any party acting as if it will do single player or scrap Obamacare is just showboating. Any changes that get through will be minor ones. It was a 60 Senator consensus vote of the middle-of-the-road consensus view of what healthcare would be. McCain's thumbs down to any major overhaul.

In the past two centuries the US went from a civil war to the intitial struggle of how to deal with the Great Depression. There hasn't been much polarization since that. Even the big squabble in the 1960s was over a non-issue - over a small, peasant country in Indochina. The cold war began cooling off in the early 1950s, and stayed cool, aside from occassional flare-ups in certain areas. By the 1970s, US conservatives were trying to figure out how to heat the cold war up again against the background of SALT and the Helsinki accords.

The political establishment is less polarized than ever nowadays. It's not like post-war France, where Joliot-Curie, Picasso, Sartre etc. were members of the largest political party in France - the PCF.
Interesting. I think I've read about something like this in an article by Paul Graham - I think he said that Lisp is a language which can read and compile code at run time, and the other two combinations too (e.g. read and run at compile time, and so on). If this is what you meant, can you give a practical example of the use of compiling code at run time?
You mean when you sit down at your keyboard 45 minutes after you popped those Adderall?
I'm not sure there's any consistent nomenclature. With eggs vs. without is sometimes called French Vanilla vs. just Vanilla. But you'll find plenty of Vanilla recipes with yolks just called Vanilla. And for other flavors, you'll find tons of recipes with yolks still called ice cream. You're technically correct but I'm not sure how widely used "frozen custard" is.
Sounds like what you want a microkernel with excellent IPC. There is still the problem of the window manager, incompatible protocols, and backwards compatibility, but I think a very small, robust core with discrete components that communicate in an isolated way instead of sharing resources is the way forward.

If you start viewing the filesystem as a huge global variable, it becomes obvious that something is wrong with modern OS / app design. One wouldn't tolerate this kind of uncontrolled sharing in a regular program; why should we tolerate it in an OS? Permissions help, but don't solve the issue, as they are still an access control measure on top of an already flawed model.
Yeah, I did a little test on my system where I wrote a program in C, Python, Perl, and Bash that just prints hello to the console then timed how long it took to fork/exec from bash. C takes ~0.5ms, Perl is ~1.5ms, Bash is ~2.5 ms, and Python 3 is ~35ms.

Kind of sad because there are lots of places where a python script would be a nice way to solve a problem, but I cant use it because it adds an annoying delay.
How long before the elites decide the unemployed underclass shouldn’t have the right to vote?

It's really hard to justify the time investment in reading a piece that starts off with an implausible scare tactic like this.

One can only expect it to go downhill from there.
Following the law is not only nice but should be expected. Minimizing your tax liability is within the law, therefore nice IMHO. After working closely with IRS audit examiners for 4 years, Believe me, IRS agents are thrilled when people pay what they owe and use all legitimate available deductions/credits. It is when you utilize deductions and credits that are not legitimate that they become not so nice. If they catch you submitting a false return, they will hit you with additional taxes, penalties and interest (and depending on extent of the false submissions, potentionally tax evasion charges).

I once had an auditor tell me that they are more suspicious of those who do not minimize taxes as they were those who fail to report income that the IRS is aware of but unreported on the return. Those who do not claim legitimate deductions are looked at as hiding something big per one examiner. She also stated that IRS examiners know all the "tips" for minimizing tax due and they certainly utilize every one applicable to their individual circumstances.

Oh and just as an aside, if you want to help the country beyond paying the minimum taxes that you legally owe, at any time a person can mail a check to the US Treasury with a letter that you would like said payment to be applied to deficit reduction.