skysight-inc/HackerNews huggingface dataset:
I'm having trouble taking what they say seriously.

I was the tech lead of a project that appeared on this site. Since it launched (and after hiring an actual UX researcher!) we've identified some serious UX antipatterns and places we could improve. And yet this site lauds us for them :(
Cooking for your friends and family obviously isn't formal thing at all, but hosting a dinner party is something else. A "Dinner Party" is a specific type of event expected to have a certain theme and structure that makes it different and more formal from just having some people over for dinner. Of course it doesn't have to be super formal, but certainly more formal than having a few mates over for some food and a few beers.
Then what's the point of the added complexity? It's a single user device, so just have a password.
Troy Hunt already posted about this [1].

I think this quote is fitting:

"More than anything though, we need to remember that Face ID introduces another security model with its own upsides and downsides on both security and usability. It's not "less secure than a PIN", it's differently secure and the trick now is in individuals choosing the auth model that's right for them."

[1] https://www.troyhunt.com/face-id-touch-id-pins-no-id-and-pra...
ES File Explorer Pro v1.1.2 Cracked [APK] [LATEST]
I cant see it happening. Most of the large share holders (largest is 2%) are index funds and EFT's.
I really like this twist, I'm going to start using it myself. Thanks!
I think a lot of what makes SOLID valuable is that its articulating patterns that make sense to people because they’re obviously good ideas.

S -> don’t write spagetti code.

O -> If you want your code to be extendable, explicitly choose the parts that can be extended so you can predictably deal with new functionality.

L -> If you extend code, don’t screw it up so the code doesn’t work the same way. Extensions shouldn’t break stuff.

I -> Make your interfaces tiny.

D -> Dependency inversion to make things testable; because testing is good right?

Well, DI is always a bit contraversial, but at least its easy to say why its good; its just a bit of pain to setup.

The interface segregation has always been the odd one out for me.

One method interfaces? I know the golang best practice folk love that stuff too, but I just find it irritating when I have to work on code that uses it extensively.

Anyone actually explain tangibly why its a good idea?

If you’re using it to defend against workmates who might abuse an interface with too many functions on it... well, thats kind of lame imo.

Sure, mega-interfaces are bad... I guess... but so are objects with massive sets of methods on them. Why the special focus on interfaces?
This kind of tuning ends up being required for all languages that use garbage collection. The more you use it in production, the more you're doing meta programming with environment variables, command-line options and your allocation profiles. The problem is not so much some performance reduction, it's that the performance reduction is often variable and unexpected, as it is in this blog post.
Curious.

Instinctively, I tend to factor in a certains bias for "kids these days." Seems a lot of us have a tendency to think educational standards and/or kids' level of knowledge is poorer than before. That said, in the 80s/90s I had a lot of Russian school friends in my neighborhood. Even for primary school age, they had special "russian math" classes taught by a neighborhood parent in the afternoons. They basically followed the old 70s-80s curriculum that you guys are talking about. So basically, I'm convinced it's not just the codger instinct. They were 3-4 years ahead of the 3rd & 4th graders.

These days, I have a few eastern european (polish, slovak & lithuanian) friends with schoolkids of their own. They had the same view of the modern/western curriculum as my childhood friends' parents had. It's substandard. Two years ago one couple moved back to lithuania. She reckons the modern standard for math is as bad as it is here, these days.

To hazard a guess, I think that the old/soviet-ish system was very rigorous but not very enjoyable for the kids, especially below average kids. For example, it was very sequential and intolerant of a bad week. But, it probably produced a much better educated top half. Also, I think the old educational systems of the later soviet era got a lot of criticism for being too focused on math & science, with not enough creativity, humanities and such. Soviet era "liberal arts" were ideologically impacted, and I think people developed a tendency to just stay away.

But much of Eastern Europe has a strong tradition of arts and humanities, and a cultural tendency to promote it. From a purely traditional-cultural perspective, many Lithuanians would like as much art and philosophy in their kids education as French parents, the European high watermark for teenage philosophy classes. I think there was pressure to get these subjects into the system, with due respect.

Anyway, there's plenty of proofs-of-concept that math & science education could be a lot better. We're nowhere near the ideal pedagogical system.
> Channels pass ownership of allocated objects, they don't perform copies or allocations themselves (once you've allocated the channel and the objects you want to pass).

And? Did I say they did?

> I don't think the article says anything about concurrent allocations

No it doesn't. Point was that it is not a general purpose approach. GCs are.
Django-Ai: Artificial Intelligence for Django
My understanding is that you also need to license from intel if you have a chip.
Somebody [else] has a hacker news first thing in the morning habit...
StuDocu | Frontend Developer | Amsterdam | VISA https://www.studocu.com

StuDocu (known as StudeerSnel.nl in The Netherlands) is an online platform where students can share study-related content and get in touch with fellow students. Currently we have well over 2.000.000 users. We’ve quickly grown in The Netherlands over the past few years and the time has come to spread our wings and take the rest of the world by storm. We aim to play a big part in the liberalization of the worldwide education system. With rising tuition fees and income inequality, we feel there is a need for an online education platform where students all over the world share their knowledge for free.

We are looking for a talented addition to our team who is a wizard with JavaScript and has ample experience with modern JS frameworks. You will be working with our designers and back end developers to create responsive pages which provide our users with the best possible experience. Your hunger for technology is only matched by your motivation to solve difficult problems fast, efficient and with a keen eye for design. Our team is still small which will put you right at the core of our developer team. Joining us now gives you the opportunity to be one of our team leaders in the future.

In our Amsterdam office you will find the informal atmosphere you would expect from a start-up company. We’re based in a nice and bright office in the heart of Amsterdam with a large garden, right besides the canals. Every day we all have lunch together and once a week we’ll crack open a few beers, bring out our table- tennis and football! And let's not forget about the occasional pubquizzes, board game nights and bbq cook-offs!
Yeah, true! I see your point now!
I guess the determining factor is a mix of motivation and drive combined with "getting started". Breaking tasks up into smaller tasks doesn´t really do anything if you have no motivation and don´t get started.
In the example, a nefarious page opens a new window and then uses its connection to that opened window - the window object is returned from "window.open()" - to manipulate it. No window.opener required, and the two windows don't even need to be in the same website for this to work.

Google's page isn't just about abusing "window.opener", it's generally about abusing JavaScript-accessible connections between windows/tabs. Additionally, the site it's in isn't about browser bugs, but bugs in Google's websites. Google knows these issues are fixable, but they consider them to be flaws in browsers rather than in their websites.

That's why Google says it's still easy to exploit the other vectors for the attack. A website can protect itself by clearing "window.opener", but similar attacks are possible that a website can't prevent. e.g. A window can't prevent the window that opened it from later forcing it to navigate to a different URL.
That's a super interesting thought. Face ID is a bit of a black box. Though I'm not trying to defend it to death, I can imagine it's better than all of the face scanners before it but far from super secure.
I found "BGP4: Inter-domain Routing in the Internet" by John Stewart III [0] to be very approachable. It's likewise ancient by tech world standards (published in 1998!) but that's because, amazingly, BGP has not fundamentally changed in all that time. It's cheap and less than 200 pages; definitely recommend it as a primer.

[0]: https://www.amazon.com/dp/0201379511/
I have been using 57 in beta, and I have to say, I'm impressed. It is a huge improvement. Whether it keeps me off Chrome in the future remains to be seen though!
The issue is that the tradeoffs are unclear, it's not like you pay 10% performance penalty for using a GC - it's often much worse than that, and then you have to do manual work to "tune it". Often the tuning, following production problems, is not that different than using malloc()/free() to begin with.
Flint, MI.
Yeah, same in the C++ world with templates. They're just so handy, especially when you want performance! Thankfully C++'s `constexpr` has made this kind of thing much more tenable from a library consumer's perspective, and Rust will again be following in its footsteps, albeit with a less adhoc version based on dependent types.

For what its worth, my cgmath library just has a bunch of hardcoded `Vector{2,3,4}`, `Point{2,3}`, and `Matrix{2,3,4}` types.
And you can scale hacking to millions of people via computer automation or hiring out of country workers. Scaling kidnapping and torture to millions will attract significantly more government attention.
Exactly right re: Java. You could just use Rust, and get automatic memory management without GC.
There was a brief dip in share price earlier today, but it seems to be recovering already.

Broadcom's offer was a pretty generous one, and if they were to make it to minority shareholders, they'd probably be successful. Unsure how much of qualcomm's capital is in the hands of the board or their associates..
I think/hope Chromium's recent announcement about "Expanding user protections on the web", addresses the redirect issue:

> When the user interacts with content, things can also go wrong. One example that causes user frustration is when clicking a link opens the desired destination in a new tab, while the main window navigates to a different, unwanted page. Starting in Chrome 65 we'll also detect this behavior, trigger an infobar, and prevent the main tab from being redirected. This allows the user to continue directly to their intended destination, while also preserving the context of the page they came from.

https://blog.chromium.org/2017/11/expanding-user-protections...
PHP Versions Stats – 2017.2 Edition
If they're dead, why is their consent required?
I've just searched for the word "channel" in the article: zero results.

The "original mantra" is "Channels orchestrate, locks serialize" and hasn't been dropped by anyone.
> the Board has concluded that Broadcom’s proposal dramatically undervalues Qualcomm and comes with significant regulatory uncertainty

Qualcomm's stock took a dive since Apple (25% of their revenue) said they might not need them for their next models. They're probably gonna wait to bounce back.
Previous discussion here: https://news.ycombinator.com/item?id=15685405
In college a friend of mine gave me a book on Zen Buddhism once as a joke more or less. I read it cover to cover, what you describe is very zen ( well it is as much as it isn't I suppose ;) ).

When i was reading that book i was in college and I remember dreading and dreading studying for a particular boring class. I was miserable thinking about it and then it just sort of dawned on me, i got up and went to the library and studied.

It's hard to put in words but you only dread these dreary tasks when you're dreading them.
I wonder if EA will need to get a new user account.
I came into the comments to say basically what you said here. Trying to avoid GC? Preallocate!

For context, I'm a game developer working in Unity. We do basically all of our dev in C#, which is a language I love. But because it's garbage collected, and you can see performance hits when the GC runs. In VR dev especially (targeting 90 FPS) this is unacceptable.

So we profile, look to see where we're allocating anything onto the heap and figure out a way to cache it or re-implement it in a way that makes no garbage. We recently shipped a mobile VR experience and one of the best parts was being able to profile my gameplay code and seeing the '0B's next to its allocations every frame.

I understand that this may not work for everyone, and I fully believe that CloudFlare's got some talented engineers on the team, but there are ways to think about and structure programs in a C-like fashion so that you're more cognizant of the memory you are allocating and using from the heap.
Here's an article on "Smart Toilets": https://singularityhub.com/2009/05/12/smart-toilets-doctors-...
Lost City of the Monkey God
They address this in their second point:

> It does not matter whether Apple Face ID "learns" new images of the face, since it will not affect the truth that Apple Face ID is not an effective security measure. However, we knew about this "learning", thus, to give a more persuasive result, we applied the strict rule of "absolutely no passcode" when crafting the mask.
Finally, a cause that can eat up the entire Gates fortune without breaking a sweat
> Few non-Americans can actually match Americans in the amount of passion that goes into doubting and angrily denouncing American exceptionalism.

Ironic.
I think comments get diminishing returns. If you check the user profile it is still in positive.
"more complex program really would need all the knobs that Java offers, the ones that Go claims are unnecessary." - but that is really a move in the wrong direction... it's meta programming with Env variables, allocation sizes, command lines, and JDK versions. Sure, Go will probably eventually have all that, to support more tuning, but at that point, ti feels the war for "simple, predictable, low-overhead GC" has been lost, yet again.
It's implied by their claim that there is a single responsible individual. If someone else reviewed it and said "yep, looks good, deploy the change" how is there one "individual responsible"?

The idea of an isolated root cause or single human error in the failure of complex systems is bogus anyway. I'm a huge fan of the work in this area championed by John Allspaw [0].

[0]: https://www.kitchensoap.com/2012/02/10/each-necessary-but-on...
A new all-electric and autonomous taxi in Paris: NAVYA’s Autonom Cab
Mono's New .NET Interpreter
Startup technology companies that can make a difference in Federal IT market
Great explanation! The part with the satisfying stuff is really important. No system works properly if you don´t want to get stuff done.

Purpose combined with "actually doing stuff" is the point I guess. One without the other equally results in nothing meaningful.
Pretty sure they will be leveraging the tech casinos already use for face tracking.
Yes, in fact I view this as one of the great "dodged bullets" of my life. Because I wasn't accepted by my top choice schools (I had several who I wasn't interested in beating my door down), I decided not to go to law school at all. In retrospect, that was the best possible outcome.
In Opera 12, I killed "window.opener" by replacing the "opener" string with "opera" in the opera.dll. This way it gets overwritten by the normal window.opera variable and is essentially hidden. So far I haven't encountered a site legitimately relying on this variable.
This type of history stats is buildin out of the box in Vivaldi browser.
Since QCOM hasn't given back the 13% pop the offer provided, it seems shareholders are expecting BRCM to come back with another, higher offer.
Rendering HTML at 1000 FPS – Part 2
I looked it up too. It also means 'rigid and unresponsive'
Tailored specifically to passing interviews.
Some Kindle e-books are costlier than hard copies..
> When already "the editorial page vigorously dissented from his accounts."

Yeah, that's just ass-covering and weaseling.

> But I guess it is a credit to them for going back and writing about something everyone else had forgotten

Stalin was murdering and enslaving people within living memory, and his successors continued the process until 1991.

I assure you that the surviving victims and their friends and families have not "forgotten".
Having worked with Java GC it's just a nightmare to tune. I prefer languages that have almost no options for GC tuning.
New Skype built on Electron, incorporates Signal protocol
Those immigration turnstiles at gatwick are terrifying. I went through it recently and the person beside me put their passport in the wrong way (they put the wrong page in) and an alarm blared out, everyones turnstile locked and armed guards came over to the person only to tell them to put the page in the right way.
I like the idea, but the content is difficult to read. The photos are really small and I can't see the elements being described.
Hi i believe for each service there is probably already some version that does not collect your data you just need to find it.

FB is unique but you can just share the bare minimum.

Also cant you use anonymous browsing by default? or TOR
The toilet and the stomach bacteria rarely encounter one another, unless you throw up on a regular basis.

You're probably referring to gut bacteria, which live in your colon. It's true that a lot of research is being done towards these bacteria, and they appear to play an important role in various systems.

However, stools are usually coated in a thin layer of mucus -- which makes them a bit shiny and serves as a lubricant. It's unlikely that enough stool interacts with the toilet bowl to get much interesting data out of it. And even if it did, it would probably be contaminated by the presence of other people's stool.
I think that any acquisition between companies that have a relevant market in the EU may be subject to scrutiny.
>> The Bubble model is to write the core website functionality using our super-simple language, and plug in Javascript to handle algorithms that are hard to build in Bubble

Programming without code...until you need to actually do something
Slightly off topic but I swore off EA games in the mid-2000s due to customer hostile behaviour. A few years later it was Rockstar due to GTA4 DRM.

It's been really difficult not playing some of the big games, especially GTA5, but I just don't need that kind of stress in my life. Games are supposed to be fun.
I'll edit for clarity, was inferred by was my thinking. I only had a second hand presentation this morning by an attendee.
AWS: Scaling Up to 10M Users
Rust: Are we (I)DE yet?
Facebook is Russia’s biggest useful idiot in Vladimir Putin’s bold war
neither the iphone.
This article is bullshit
I don't know what reddit gold does but could they have given themselves those 12 to counteract the downvotes?
Have you considered paying for additional space on the plane? Perhaps as a higher flight class?
I agree about internal heap allocations in stack variables.
I disagree about other expensive operations happening unpredictably in constructors. If a class does something expensive in its constructor, you can generally tell by the kind of class it is. If you know the difference between identity classes and value classes - value classes may allocate but that's about it. Identity classes may be expensive (i.e. more expensive than baseline, which is writing all the memory they use once) to construct but you can generally tell.
A daily high-resolution image of Earth
Are you suggesting the state has a right to execute any inmate because they will not object after they are dead?
Not necessarily. Someone might be to young to understand no matter how you explain.
Like I said above when looking back on my career, I see things now in a way I could explain to myself a few months/years back. And some people might never be open for some idea's at all.
Careful here. Let's take a simple example of allocation-heavy vs. allocation-light code in OCaml:

open Batteries

let bench name fn =
let tstart = Unix.gettimeofday () in
let result = fn () in
let tend = Unix.gettimeofday () in
Printf.printf "%-20s %.3f seconds\n" name (tend -. tstart);
result

let iterations = 100000
let count = 1000

let insert_list_test () =
let result = ref 0 in
for i = 1 to iterations do
let work = ref [] in
for j = 1 to count do
work := j :: !work
done;
work := List.rev !work;
result := !result + List.length !work
done;
!result

let insert_list_test_rec () =
let rec build_list i n acc =
if i > n then acc
else build_list (i+1) n (i :: acc)
in
Enum.map
(fun _ -> build_list 1 count [] |> List.rev |> List.length)
(1--iterations)
|> Enum.fold (+) 0

let insert_dynarray_test () =
let result = ref 0 in
for i = 1 to iterations do
let work = DynArray.create () in
for j = 1 to count do
DynArray.add work j
done;
result := !result + DynArray.length work
done;
!result

let main () =
let x1 = bench "linked lists" insert_list_test in
let x2 = bench "linked lists (rec)" insert_list_test_rec in
let x3 = bench "dynamic arrays" insert_dynarray_test in
assert (x1 = x2 && x2 = x3)

let () = main ()

As it turns out, this gives us the following results on my laptop, give or take a few hundreds of seconds:

linked lists 0.648 seconds
linked lists (rec) 0.657 seconds
dynamic arrays 1.295 seconds

The reason that the linked list implementation (functional or imperative) is faster is that OCaml's GC uses a bump allocator for young objects, with allocations being inlined by the compiler; this essentially makes the linked list implementation behave like an arena allocator and is faster than the dynamic array version (which has to resize and copy the underlying array several times), despite having to do a gratuitous list reversal and doing an O(n) length calculation. (Note that this is not specific to OCaml: Most JVM GCs do the same thing.)

The problem that Go has here that it's GC is neither generational nor compacting, so it can't do that, so there's a fairly high constant overhead per allocation, whereas OCaml's or the JVM's temporary allocations are only marginally more expensive than alloca().

Note that there can be good engineering reasons to have a non-generational, non-compacting GC (for starters, compacting GCs make C interoperability more difficult). So, yes, if you have such a GC, you do have to watch out for avoiding extraneous allocations.
_>Because we don't touch 20000 other objects every day from where someone can pick our fingertips from?_

We're less likely to lose one of those objects at the same place and time we leave our phone somewhere. It's comparable to leaving your keys in your car. Sure, someone could find those keys where you lost them and then find your car - but is sure is easier for them when they're both in the same place.
Do you fight with your high-efficiency building? Study of HE bloopers
https://www.youtube.com/watch?v=VBu_FfPPTLw

I feel this might have something to do with the anti-trust case.
This is what I do too. I have a pad of sticky notes on my desk and each morning I write what I want to work on today in order of priority. Then I schedule some time in my calendar to work on each thing. I cross off the things I finish, so on the following morning I can see what I didn't finish the day before and add it to the current day if need be before throwing the note out and starting the next one.