skysight-inc/HackerNews huggingface dataset:
> Ifs exist because most real world problems require them. “If the box is checked, do this, otherwise do that”.

There's a notable difference between "if the box is checked, do [thing 1], otherwise do [completely different thing 2]" and "if the box is checked, do [thing 1], otherwise do [basically thing 1, but with this additional metadata from service y]."

And that difference, I think, is what tells you where to put the `if` statements. If things are distinct enough, you have some easy-to-read top-level ifs and switch based on that. Otherwise it's more complicated to trade readability vs code reuse/deduplication.

But where you get into big trouble is when you don't think about the dangers of if's at all, and end up with call stacks 5+ methods deep with no rhyme or reason to why certain things are done in if statements in level 5 and other things are done with if statements in level 1. Creating a mental map of what's done where in what conditions for that kind of code is really hard - as is thoroughly testing it, since this often means you're passing a lot of context really deep and don't have easily separable units. (And yeah, "Switch To Polymorphism," I think, is a risky one here - that can turn into "still have the deeply nested if statements, but make them invisible.")

I don't think the article really hits that well, though.
That's fair. We're just speaking from two different perspectives: You (and the committee) want the best possible language, and you're willing to wait 5 years to get it. I want to see C++ evolve quickly so I can get some productivity and performance wins, in which case I'd probably start using the language for more projects. I gather there was enough mileage on Gor's proposal that it wasn't some vector<bool> kind of screwup, so I would have liked to have seen them call it good and ship it.

So average Joe Users like me have to wait and wait while it's made better and better. If you'd put this decision to a vote of 10,000 MSVC users instead of a bunch of compiler vendors and Google engineers, I bet coroutines would've been merged, warts and all. Instead, the years pass, attention drifts, modern languages beckon, and C++ becomes even more niche.
>> Why does there seem to be so many people sitting around?

Most of the people you see sitting around in the video are actually queuing for food. There's a huge shortage of food and you have to queue for hours hoping there's something left in the market when it's your turn to go in.
Disclaimer: I work for Backblaze so I'm biased.

> uploading large amounts of data to [Backblaze B2] is very slow

All reports we (Backblaze) hear is that if you only use one thread, Backblaze B2 is slightly slower than S3 (like maybe 90% of the performance). If somebody has better numbers I would LOVE to see them!

If clients use multiple threads, this issue goes entirely away. Using 500 threads can provably be 500 times as fast with Backblaze. This is because the Backblaze B2 architecture means there are no "choke points" like Amazon S3 has. Each thread will most likely be talking to a completely different "Backblaze Vault" maybe even in a completely separate Backblaze datacenter. Since they don't share any network switches or load balancers in common, there is no way they will slow down.

But again, I would love any measurements or reproducible tests showing differences so we can chase them down and improve Backblaze B2!
The FDA systematically hides misconduct. Here's an investigation:

http://www.slate.com/articles/health_and_science/science/201...

If one looks on the other side, for sure he finds zero evidence. /sarcasm
Announcing MongoDB Atlas Free Tier on GCP
Clipping Path Background Removal Services from $0.35 Only
Thank you! Please send it out in an email or something when it's ready. We've been waiting for this for a while now which is why I'm so grumpy lol.
I guess I admire the author's restraint but I sure would have spun this as "strange object from outside our solar system has mysterious source of acceleration"
That’s a bold statement, I’d love to see an example to show this.
yeah - I'm sure it must work for most - but it was goofey for me and I didn't have the patience to open up inspector and start digging.
Clipping Path Service
Socialism and lack of economic freedom is ACTUALLY killing children. Too bad nobody talks about it.
True, but people who tend to regret things (not me) have a real knack for arguing conclusively why they could, should and actually have known all along that they were making a mistake.

And often it's actually true, but they erase all memory of the trade-offs they were considering at the time and disregard the possibility that acting differently might have led to an even greater regret.

So I think the Kierkegaard quote is not so nonsensical for people who - unlike yourself and myself - are prone to regrets. If you're bound to regret everything anyway then the feeling of regret driven by "why was I so stupid??"-logic may lose its intensity.
It's an interesting game, mostly because unlike most modern games it's massively asymmetrical. Goals, strategies and attitudes are very different for the two players, and despite the numerical lopsidedness in pieces it's much easier to win as the defender, and a slow cautious style is much more important for the attacker.

See Fetlar Hnefatafl for a modern codification of the (very vague) historical rules:

http://tafl.cyningstan.com/page/88/fetlar-hnefatafl
One of the most common embedded OSs for ATMs and other similar devices for a long time was WindowsXP.

https://en.wikipedia.org/wiki/Windows_XP_editions#Windows_XP...
Is there a list of common language poison pills? I'd like to learn more.
For me personally its magicleap i guess, even after all the bad press and delays. Also on the same line Intel's vaunt. Can't wait for these to be accessible and try them out.
Power data processing at the edge
Top CS Conferences in the World
Doesn't manage.py have expectations of where things are?

I also think it depends on the project. If your project has 12 apps, you might want to do it around the apps. If it has 3, you might do it around data, domain, and interfaces.

Why data domain and interfaces, btw?
Excellent photo editing service provider.
Nothing about GMail's dominance is related to centralization.

Everyone moved to Google because they offered (I think) a full gigabyte instead of the mere megabytes that was standard at the time. And it also had a really slick web interface that didn't require setting up software. People could finally use it for work, or to send pictures without managing space or an email client. "Never delete anything" was the big selling point.

Every mail host has a web interface now and provides lots of space, but it took too long. Inertia keeps GMail dominant, not centralization.
The trouble with solution 1, removing a boolean method parameter and instead creating two methods like:

public class FileUtils {
public static void createFile(...) { .. }
public static void createTemporaryFile(...) { .. }
}

is that there is now no way to create a single wrapper function.

Let's say you want to create a function "createFileAndLog" which takes the boolean parameter and passes it to the underlying "createFile" function, now you have to create two "createFileAndLog" functions rather than just one, even though you didn't have the if statement in your code.

I haven't provided a great example, I know, but I've definitely split up such methods myself, felt good about it for increasing readability, then come to regret it later.
How much Rust in Firefox?
Google already did that twice. Android and ChromeOS.
I would totally host it if I got some money out of it. Maybe get paid for ads served through my computer.
How an Accidental Discovery Led to a New, Highly Recyclable Plastic
Very cool, I'm a fan of his stuff and hadn't seen that one yet. Thanks
For the Bing rewards program.
I like and use early exits when they fit well, which is often. And in this case I'd probably do as you suggest. But it's worth mentioning that even if you stick with if/else it's often worth it to put the simple case first to reduce mental load:

if cache.contains(key) {
return cache.get(key)
} else {
v = db.query("..")
expiry = calcexpiry(v)
cache.put(k, v, expiry)
return v;
}
I have had a terrible experience when dealing with banks in India. To open accounts for non resident customers(NRE), one has to scan and send ID proofs and Account Opening Forms over email. And they ask for all your details SSN, DoB, Address you name it. In a few instances the emails being sent were not even encrypted by the end server. The attack surface is so large that one cannot begin to imagine what exact audits they are running.

With sophisticated phishing attacks that are now hosted on HTTPs servers, this practice is just lunacy and it happens in every bank. Big small, private, public all engage in this nonsensical practice. Among the biggest names: SBI, YesBank, Central Bank are the ones that do this. I know this because I have inquired how to open accounts at these places.

I actually have a dedicated personal relationship manager who filled out all the forms! And even now for certain operations like booking currency forwards(FCNRs) they ask you to fill forms and send it over the email. Not to mention its inefficient as well.

Its a testament to two things:
1. There are so many people in India that banks just find it cheaper to hire a person and let him interface with you instead of designing a web application.
2. No one gives a shit about privacy.
3. The system is wide open for people to Man in the Middle and Phish.
JavaScript pop ups don’t block the rest of the UI anymore; this has been fixed in Safari in both iOS and macOS.
Wasm has “add a GC” to its roadmap, but a runtime is more than just a GC. That will certainly help, but it’s not a panacea.
I don't have a dog in this fight, but when I bring up some pathology of "capitalism" (like planned obsolescence for example) with one of my libertarian friends, they come back with "oh, but we're not working under -true- capitalism", and I'm like "gee, that sounds so familiar"
Nurses, Unite: What nurses’ unions can teach the Democratic Party
I would be intrigued to see a modern attempt at a dynamic language like Python or Ruby, but with attention paid from day one to ensure that only very JIT-able constructs were used, and with an eye towards the language helping the user stick to those and be aware of when they deviate, rather than designing a language, setting "runs fast" somewhere around the third or fourth priority, then trying to JIT it after 10-15 years of non-JIT development.

Even LuaJIT, which is to my understand the closest anyone has come to this, still was retrofitting JIT onto an existing language.

I'm not convinced we're going to see much more performance out of JS, for instance, which is about as fast as a dynamic language can go nowadays. But I wonder what the real limits of a "dynamic scripting" language would be from this perspective.

Edit: Per my other comment about indirection being a performance poison pill, here's an example of an idea where a new scripting language might be able to get a lot of performance. Suppose you keep the ability to dynamically create classes and load code and so forth, so that (just as an example, not necessarily a good idea) you can write code that dynamically connects to a database and loads in tables as classes with automatically defined properties, etc. But instead of working the way the languages do now, instead of constantly walking through all the layers of indirection that can be used to implement all this at every call site and for every call, what if you could do something like the "pledge()" call that says "OK, this is it, I'm all set up, the dynamism is all done, you may now assume that all the type analysis you've done is now complete". Now the JIT can drop all of its paranoia code. It isn't completely obvious to me how to do this correctly (by implication, if you can "connect to a database" before this pledge()-like call is done, you have to have a pretty complete runtime available just for that), nor is it obvious to me how this would affect the type system, etc. Maybe it's not possible. But it's the type of thing I mean that would be interesting to have examined by someone, who might be able to concretely show why it's not possible, or, whoknows, make it work. And that's just one idea of how to design a dynamic language from the top for performance, basically off the cuff; who knows what a smart person who sat down and thought about this for a couple of weeks before even beginning to code could come up with.

Another one is that it isn't obvious to me that scripting languages must be all based on hash tables that laboriously can be cast back to structs by the JIT; it seems to me that it would also be feasible to go the other way, and allow users to define things as structs, and if you want to offer hash-like access it would be easy to lay down hash-like access to the struct members (iteration, etc.), and either implicitly or explicitly also offer an "overflow" hash table if desired. This would give at least a bit of locality control. Something something arrays too for array control, and suddenly you're starting cook with gas.
Low-latency LEO satellite internet, so Comcast gets some viable competition where I live.
I don't use React much, but from a quick look at your docs now it looks like they are much better than last time I saw them, and I can't find any major points of criticism.

I like the fact that you have the separation between getting started/tutorials, main concepts, advanced concepts, and an API reference. The notes/caveats/etc seem reasonable.

It would be nice to link to the source in the API reference, and there are a lot of mentions of APIs that could be linked (pretty much any function name in a body of text could be linked I think), but apart from that these docs look great.

That said, I haven't had to use them day after day for 6 years like I have with the Django documentation!

One thing you might want to consider for the future would be switching between versions of React. Django has a version switcher at the bottom of the screen that lets you jump between versions, shows banners when reading the docs for unreleased/insecure/old versions (in case users are linked to them), and also mentions when APIs were added in recent versions in the text.
I thought Indian ATMS had their own Linux-based OS, not Windows.
Laravel by far my favorite framework, but their docs aren't perfect, there's a lot of things I've needed to do, that just aren't in the docs, they're in the API though.

Everything in the api, should be covered somewhere in the docs with examples and use cases, imho.
Most of us hang up on robots too though. Robocalls are a nightmare. The best argument against Duplex IMO is that it’s going to enable a new generation of hellish scams and robocalls, if it ever leaves Google. Presumably Google knows this and will keep the tech locked down. Still, it’s only going to be a matter of time before it’s open one way or another, and then we’ll have to have the “should I be told up from that it’s a robot?” conversation again.
Microsoft bought their seat sometime ago. That's how they got LF's public endorsement for buying GitHub.
Anecdotal, I have seen Razer mice go bad, but Naga. Various Naga, btw, though admittedly with extensive use. I've also had various Razer keyboards go bad. Deathadder mice, however, have been great for me (I've had two). I even had one of the first for almost ten years. You can replace the feet on these mice, btw, but it isn't well advertised. Also, keeping them clean and having a good mousemat helps. A friend of me had a Razer mouse double click issue (unsure which one) and used a piece of paper to fix it.

The Deathadder was once a legendary good mouse but Razer no longer delivers the quality for the price I'd appreciate. And they seem to focus too much on their disco light BS (Chroma) which I don't need. Their mechanical keyboards are in my experience lousy (Anansi also didn't suit my needs): noisy and cheap key caps. I do like that my BlackWidow has USB passthrough on the right side. Works very well together with YubiKey and/or fingerprint reader.

FWIW, I'm in the market for a new keyboard which can be used for (but not primarily) gaming (don't need dedicated arrow keys, home/end/del/etc nor keypad) but has to be a silent, mechanical keyboard with USB passthrough on the right.
lxinitd is a simple /sbin/init for LXC containers. Its more simple even than systemV, it has just one boot script /etc/rc.local. The boot script can spawn and respawn, but has no way to write to the filesystem.

I've been using it for LXC containers with nginx and xtomp, to replace busybox so I end up with a "full OS" container that does not have even bash, no code runtimes at all.

Also I've got a full Ubuntu server running in an LXC container, pulled out systemd, and boot just the servers I want. That is a build server, so I can compile C code with an Ubuntu provided tool chain installed with debs. However, I don't have systemd or sytemd-journald, systemd-networkd systemd-resolved, blah, blah, blah. It seems to work, I end up with an Ubuntu that looks like this...

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 208 4 ? Ss 19:42 0:00 /sbin/init
root 28 0.0 0.0 26072 2456 ? S 19:42 0:00 /usr/sbin/cron -f
root 30 0.0 0.0 65516 5580 ? S 19:42 0:00 /usr/sbin/sshd -D
syslog 31 0.0 0.0 256400 2752 ? Ssl 19:42 0:00 /usr/sbin/rsyslogd

Interested in a bit of feedback, I've not dabbled with Linux init before. I'm wondering if ripping out stystemd is really as "safe" as it seems to be.

N.B. just for containers, my container host is Ubuntu normal.
I think it depends on what you're trying to do. Is the expression a fundamental business rule? Then splitting it up runs the risk of introducing error/inconsistency, I think.

But if you're just trying to condense down separate business rules, where it happens that today that you want the same thing in the case of `baz` as for `(foo && bar)`, then you're setting yourself up for a more painful change when someone comes to you and says "hey actually let's have `baz` do the other thing after all. Yeah, in the trivial case where it's just returning bools, that's not really an issue, but when I see code that looks like the former it's usually more complicated, and the overlap is more often incidental rather than fundamental.

So my approach is more "remove nested ifs" than "simplify it into as few cases as possible."
I swear by razors, I've used two DA's over the last 8-10 years. Both succomed to a failing middle button/scroll, and double clicking issues (although only on the middle button for me), but it took about 2~ years for the problem to occur, and another 1~ for it to get"bad", which I considered very acceptable.

I've unfortunately heard that the build quality has dropped in the interim. Don't know how much truth this is, currently debating my next mouse. I would straight drop 1-200$ if I could get a DA form factor/weight but with a better middle button and a handful of more function buttons along the mid-line/sides, _and know that it would last_ but all the options I see nowadays seem to be "From that list, choose ~2 things". If anyone has opinions, I'd be curious to hear, since god knows I trust here more than Amazon/Newegg reviews.
Many journalists put themselves in difficult situations to get a story.

Some people have found work that is more than “just a job”.
This is a totally acceptable approach but not one I personally would prefer.

One of the advantages of django apps is having cleanly divided responsibility. For example, I worked on a large django project that had 70+ apps and several dozen developers. Engineers were encouraged to create new apps for new functionality. In some cases apps could be cleanly pulled out of the code base and converted into a library. The ability to pull libraries out of the "main" repo also meant that certain teams could more easily "own" parts of the codebase. At a different company we actually decided to split our monolith into 3 separately deployed services and it was pretty easy for us to copy the appropriate Django apps into new services.

In general I've found that early in a company's life it is much easier to manage the complexity of a monolith and I've found that Django's app abstraction allows developers to communicate which parts of the codebase shouldn't be overly intimate with one another, which at least gives you a hope of breaking pieces into separately deployable libraries or services as the company/project scales up.
About dailyprog.org
I imagine you've never actually had to solve any of these hard problems, which is why you think it's so easy to do.
I'm surprised of banks putting the ATMs into the same network as the computers of the banks' employees. I mean: is there any(!) need for the normal banker to have network access to the ATM? And if a separate network is too expensive, one could at least put them in vlans / vpns.
Deep Learning Based Crowd Counting Algorithm
Grafana v5.2 Released
Every case is not an edge case. You can't be serious if you call of the following queries as edge cases -

1. Chicago

2. Chicago movie

3. Chicago movie review

4. Movies in Chicago

5. Movie reviewers

6. Movie reviewers in Chicago

7. List of movie reviewers in Chicago.

If you still feel so, you may be talking about edge case in non-technical sense.

Disc: Googler but nowhere close to search or duplex.
Most of us aren't paid to answer the phone though... If my job was to answer the phone for people making reservations and I started to hang up on reservation bots I would expect to be fired immediately. I also hang up on real people who call me unsolicited for sales pitches, it's not the bot part that annoys me.
A practical system design approach when the data rate at the edge (that is, the data source) exceeds the network bandwidth is to do some (or most) of the processing needed at the edge. Maxeler's data flow engine is an interesting choice for that purpose.
I know. there's totally not a command called rsync. And "replication" is just a word you hear on star trek along with teleportation.
Kind of tangential to this, but I was really amazed at the accuracy of Google's search results when a few years back I tried to find the name of a song I'd heard at a nightclub in Hong Kong. Neither did I know the artist, nor really any part of the lyrics (because it had been very loud and crowded), so I was pleasantly suprised when Google Search took my query "guys in jean overalls singing too ra loo ra loo" and actually returned "Come on Eileen".
Inverse Pointer Unboxing [pdf]
Oh, yes, someone in Slack clicked the button “Pause” and we all are waiting, when Slack’s hero will click “Resume” :)
Did you actually try the former query? It works pretty darn well now -- for me, it brings up recipes (and your HN comment, of course).

Disclaimer: My personal opinion, not that of my employer.
I do this. It's much quicker to switch my left hand to the mouse than my right because I don't have to get past the number pad.
Maybe it would be a good idea to tell the company or its equipment vendor or a regulator.
Internet Download Manager 6.31 Crack Build 1 Full Version
Yeah, identity doesn't count for much when its easily lost. Look at all the issues we have today with identity theft. Attaching identities to more things would make it worse, perhaps to the point where its meaningless
Very cool! I assume this primarily supports testing one browser's rendering against itself, but do you see value in comparing snapshots across browsers? E.g. to surface a rendering inconsistency between Firefox and Chrome.