skysight-inc/HackerNews huggingface dataset:
> In other languages like C, Ruby or Python there is the expectation that whatever happens on line 1 will finish before the code on line 2 starts running and so on down the file. As you will learn, JavaScript is different.

A lot of beginner guides to various programming languages make this mistake of associating a certain property with a language as if it's inherent. In this case, async code - while sold as a main feature of the NodeJS platform - is in no way exclusive to, or even an inherent part of, Javascript/ES the language.

This may seem a nitpick, but I think it's an incredibly important distinction for beginners (or at least, I think it's incredibly important not to mislead beginners into believing in this limitation early on).

Another common example was, up until recently, that Javascript "wasn't powerful enough" to do filesystem access, hardware operations, etc. A simple side-effect of the environment the language was most commonly executing in (the browser) was turned into an inherent limitation of the language in order to "simplify things for beginners".

While bombarding beginners with a lot of info at the start is a bad idea, these kind of misconceptions can be very damaging. They leads to a very narrow idea of what's possible with (any) languages in general, and uninformed decisions on what to learn as a result.
I'm not saying it's not used, but it's mostly used one way (I receive SMS's but never send any) and irrelevant for modern instant messaging.

The common denominator where I live is Whatsapp. If you send an SMS to someone, they will very likely not reply. In other countries it can be WeChat, LINE, Kakaotalk, ... and Signal is competing in this space.
Japan is very dirty too. Right after fireworks in summer you are basically walking on garbage on the way back. Go to the mount Fuji for a hike and you will see mountains of trash on the hiking trails. its only clean because they clean a lot. not because people dont throw stuff.
Strengthening your muscles can relieve strain on joints.

For example strengthening your thighs reduces stresses on your knees. At least according to my orthopaedic specialist.
Not sure this problem goes away by giving names to anonymous functions, which seems to be his suggestion
As a curious and perhaps naive aside, I've been wondering why the programmer should need to care about asynchronous execution of code at all. Can't it all be abstracted under a procedural layer and let the OS worry about not blocking anything? The advent of promises, async.js, and other paradigms tell me that people still kind of want to write code that does one thing after another, then another, then another.
> Gorilla glass or not, it falls from a meter onto a hard surface, and you have a screen to replace.

I dropped my Xperia Z1 Compact a bunch of times from that height, the screen is still fine...

> You accidentally sit on it, and you may have a screen to replace.

Solution: Don't ever put your phone in your back pocket.
Textografo was built for IT and Business people. Key capabilities are:
- Text to diagram technology
- Diagram Animation in one click
- Real-time collaboration with teams and clients
IMO you underestimate cartels.

It's been back and forth since the start of the drug war.

Sure, people walk it over occasionally. They have submersibles, tunnels dug waiting to be completed North Korean style, functional tunnels, etc. I'd bet they have drones, or are R&Ding drone smuggling.

Cars and trucks coming through the border, decoy cars and trucks meant to be discovered so that something bigger gets through. Trap doors in sedans, faked shipments in trucks, shipping containers in ports with falsified information hidden among the masses of imports.

These guys are not going to pack up shop and sell bars of soap because of a wall. Where there is a will, there is a way.

If you were joking, I'm sorry for assuming otherwise. Poe's Law, I suppose.

My point is that the demand is incredibly high. Drugs that are worth very little along that corridor are worth much, much more on the streets of the US.

People will continue to risk life and limb, as well as take life and limb, as long as the War on Drugs continues. The potential profit is too great.
I have it on good authority ( >_> ) that this is indeed true.
Or do both? Better safe than sorry.
Google Cloud Spanner white paper [pdf]
His town is my town, too. The city council does what it damn well pleases, most of the time, but what check there is on the corruption that pervades our local government comes mostly from the Sun.

On the other hand, despite his cogent comments on the value of professional reporting, he now occupies himself as a television writer and producer. Make of that what you will.
I don't know. I'd rather have my colleagues walk up to me and fire a quick question when my quick answer saves them an hour of confusion. When that much time is saved (and it is quite often), it offsets the productivity loss of my flow break. (I might be particularly tolerant to interruptions because my flow is more resilient than average, though.)
The International Obfuscated C Code Contest
Thanks! I seriously now owe you ~3h of my life, yearly aggregated.
> If you say "we don't plan to patch the code, just use the binaries as-is" then you're asserting that the software today your needs forever into the future. That's a terribly foolish bet.

I agree; one of the many reasons I'm against proprietary software is that it forces users into this helpless situation.

I don't quite get the "internal barriers" idea; is it common for companies to mix together code from multiple projects, including ones they don't own, such that it's difficult to disentangle them? Regarding your example, why would copy/pasting code from an internal code search be treated any differently from, say, searchcode.com? A modicum of diligence is always required regarding ownership, licensing, appropriateness, trust, etc.
Yep, same here. I prefer git-crypt, but we use Ansible vault too.
> My S3 is 4 years old now, and it is works perfectly fine.

Is it still getting security patches? If not then it's not running perfectly fine.
> Why do we put up with this?

Who is "we"? As in, who will pay the lawyers?
I agree about union types. They can quickly result in insane variable declaration statements that are hard to understand.

I dislike nulls though, I always wish people would just use a flag or error handling when objects are undefined, instead of "hey this object is the flag and sometimes it's not actually an object!"

You'd think language designers would learn after dealing with null pointers :)
Suggestion: Change this behaviour in the next version of JavaScript to not automatically "turning the previous newline into a semicolon", but instead throw a parser error to the developer. Perhaps there is a way to enforce this in modern browsers? I don't know anything about JavaScript to be honest.
A big reason why a robot might not outperform a human is that it's just cheaper to hire humans. And that strikes me as an excellent incentive to make sure humans are paid more and within a legal framework; it increases the rate of technological development.

And while the resulting unemployment is a very serious issue, I'm inclined to think that the benefits outweigh the cost.

(That said, I very aware of the fact that this is easy for me to say)
This might cause a lot of infections around the world for systems without the other code execution prevention systems...

Older versions of Android don't have much protection against Stagefright or other such attacks if ASLR is circumvented. The same can apply to older versions of Windows (7 or earlier) without EMET installed.

It took the most popular desktop Linux operating systems (like Ubuntu) a very long time before they even shipped ASLR. I hope further defense in depth will be implemented now that ASLR is proven weakened.
It's amazing the diversity of good quality stuff on youtube. Want to watch someone wading through rivers with a metal detector looking for civil war bullets/shells? You can!

https://www.youtube.com/user/aquachigger/videos

Or how to survive in the Canadian wilderness

https://www.youtube.com/user/josephallen19/videos

Or get entirely too deep into Dark Souls lore

https://www.youtube.com/user/VaatiVidya/videos
People hate flexible working spaces where you don't have your own desk, but they have at least this advantage: you can sit near the customer support people to hear some feedback when you can, and sit somewhere quiet when you need focus.
Ask HN: How would you extract data from scans of hand-filled paper forms?
Hello, HN!

I've stumbled across a public data set that consists (largely) of scans of paper forms that were filled out by hand, often in idiosyncratic ways.

Besides the usual checkboxes and simple text fields, there are:

* illustrations of different options selected on some forms by being X'd, on others by being circled, and in others by scribbling an identifier for the option (eg "A")

* Supplementary data on separate pages (sometimes with handwritten tables) that are formatted differently for every submitting organization

* Various measurements expressed as both fractions and decimals

... and other complexities, such as the forms themselves changing over time.

How would you solve turning these scans into a clean dataset?
You'll have to revoke committed credentials regardless, as github is so frequently scrapped to find such content.
It also boils down to the prices they try to charges you for dematerialized goods. While music and videogames industries now seems to have find a good balance, Tv/movies is lagging behind.(except Netflix)

Do they really expect me to spend $80+ in order to introduce starwars to my kids while my father bough them on VHS and my brother on DVD?
(And that not even counting all the merch bough alongside...)
> strong typing and object syntax are practically a neccesary evil for maintaining readability

No, it's not like that.

You can write readable code in any language as long as you can write readable code. It sounds tautologic, but what I mean is that ability to write readable code is a skill separate from writing code or knowing a particular language.

Strong static typing - as just about any tool and language feature - can have both good and bad effects on code readability. In the end, the readability (so also maintainability and other related metrics) depends on the skill of a particular developer in the largest part.

Both OO and FP techniques, as well as all the language features, are the same. You can misuse (or ignore) them all.

What we need is to make an "average developer" better at writing code, not more bondage and discipline in our tools. The latter is (a lot) easier, so that's where we focus our efforts, but - in my opinion - it's not going to solve the problem.
Other way arround: you most important first of course.

Can I PM on foolow?
On Science, the Left Has Its Own “Alternative Facts”
Humans seem to be pretty good at it, so why not ?

If I show a kid 100 elephants, and one dolphin, it will in fact be aware that a dolphin is not an elephant. In fact, I bet it'd still be aware of that even if I were to include one dolphin in the sequence of elephants and claim it's an elephant. In fact I was curious and I have a kid. I was pretty sure they didn't know the difference between a bee and a praying mantis, so I used those (google images makes that really quick). "That's a different kind of bee daddy" is what came out. Now of course, you can say kids have seen lots of examples of animals already and therefore they have a lot of negative training data "stored in their memory". That's not how the mind works though. It doesn't go away and train itself at all.

And it's easy to devise an algorithm that does that too. Instead of using the positive examples to draw a decision boundary directly you use it to train both positive and negative features.

You can have independent features, negative features and positive features. Deep learning as it's commonly used gets you positive features, but really backprop just moves features away from independence of the input data. Learning the opposite question is easy as well. So combine this, running half-half positive and negative features. That gets you positive and negative features. So yes you can train, even with deep learning, on just a few examples. Backprop will convert independent features to either positive or negative features.

So now let's say I do that with 1000 9x9 convolutions and I train half of them positive and half of them negative. Would it be able to tell me a 64x64 dolphin is not an elephant ? Interesting question. I need to try, but I have little doubt that this will succeed, and get a decent success rate on identifying dolphins as non-elephants.

It is even possible to do deep online learning, especially if you don't care about different images having unequal weights. And there's plenty of algorithms that can do online learning by themselves as well. In fact, the quintessential reinforcement learning algorithm is pretty much the answer to the question "how can I update my probability distribution exactly given this extra piece of data".
Haxe 3.4 is out – With lots of new features
>Take for example a few jobs ago when our servers went down because of a local internet outage.

having an option of your servers going down because of a local internet outage is a luxury your company had. As you correctly point out, a company with remote employees spread across timezones just wouldn't be able to allow themselves such a luxury, and to me it sounds like a good thing. It makes people and company think and work in a distributed fault tolerant way.
> Its not merely not a flaw in the underlying linux kernel its not a technical issue at all.

I believe he's talking about having a driver API. Fuchsia also runs its drivers in userspace, which is the proper design in a post-Liedtke world. (principle of minimality)
wtf is this siet/
Yeah, they use Opus and VP8, AFAIK, which are both fantastic codecs. The quality is great, although there's no echo cancelation yet, so you want to be using it with headphones.
If I uncheck-all but experimental, it doesn't hide dt, li, option, td, th and tr.
Openresty does this quite nicely with Lua: you just write your code as normal and it handles the rest in the background. http://leafo.net/posts/itchio-and-coroutines.html
Creepy Code Collection
>If a person was asking for the crazy things I see in contracts, yes, I'd agree with you since it shows intent.

Usually somebody did. And, if the person who hands you the contract acts surprised about its contents that isn't good either. It demonstrates a dangerous lack of control.

>If you treat companies like that, you miss out on opportunities since the crazy stuff in the contract is negotiable and the guy you're negotiating with didn't write the contract and won't mind you crossing out the bad parts that keep both of you from a mutually beneficial deal.

This is exactly what I used to think when I encountered a guy who apparently hadn't read his contract, acted surprised about its contents and he was happy to change it.

He later ended up not paying me as he ran out of money without noticing. Apparently he not only neglected to read his contracts, he neglected to read his bank statements.

So far he's the only person who acted surprised about the contents of his contract.

>The lawyer drafting the contract is trying to protect the company.

Egregious fuck-you clauses can actually hurt the company's standing in court since a judge may decide the rest of the contract shouldn't be enforceable (at least under UK law).

Either way, unless the client is exceptional in all other respects or you really need them it's usually worth walking away.
>people still kind of want to write code that does one thing after another, then another, then another.

For the most part - yes. And not because they want it but because there is no other way. You usually need to do something before you do that next thing anyway.
That's how it's done in Go. You write plain, "blocking" code, and if it blocks, the Go runtime will just schedule another goroutine (green thread). In Go there's no need for callbacks or littering your code with `await` keywords to write concurrent software.
Nobody in my country really uses SMS, because it costs. Instead, what I'd like from signal is an open source client library, so I could build bots and use Pidgin to talk to my contacts. Is that too much to ask?
Not at all. Most political disagreements come from perfectly reasonable fundamental disagreements about the way the world ought to be.
Thanks a lot for your overview, much appreciated. I will have a closer look to Bob Martin.
> There's one design decision in Linux that makes this slightly harder than it needs to be in this situation: Linux's lack of a driver ABI.

This is just an excuse. The reality is the manufacturers still have the mentality that once something is sold their responsibility ends. We see the exact same results on certain OS's that do have stable ABI's. You've probably made a transaction recently on a device that uses an old and unpatched version of windows CE.
Nop, but it can be a bit better by using predefined functions rather than inline ones.
And this would be a cool feature from github too. A link mentioning "we found something in your code that looks like a secret, please know people will use it."
(Disclaimer (?): worked from home for 2 years. Don't in my current role)

It's interesting.

Many proponents of remote work point out how much more effective it makes them.

The thing is that really doesn't matter. The thing that matters is how well the team works.

I'm a big proponent of asynchronous messaging when things aren't needed immediately. BUT there are times when immediate answers are needed, and the fact that this breaks someone's concentration is less important than keeping the team working smoothly.
5 Key Earnings of Entrepreneurship Life
When you put your dotfiles in a repository online, be sure to commit all the public keys and none of the private ones.

Github, like SSH, uses an asymmetric authentication scheme. They even publish everyone's public keys. It's much more secure than passwords.
I appreciate the motive but this is just (currently) too difficult for saving things from mobile.

I have a CRUD app that I run on Heroku that paste links into. The app fetches the page, populates the title and some tags. Saved links are organised in set of hierarchical collections - works well for me.
They can be caught up in the same functional stupidity as everyone else at a large corporation.

If someone important enough says "decouple" and "monolith are bad" often enough, those arguments will be used to support more or less all changes as they already got leverage in the organisation.

The actual reasons could be something else, possibly as simple as they would like to control the OS, and possibly also that it's cool to write OSes.
Don't hardcode things, .gitignore your production config files, check in conf.example if needed.
> Modern web apps can score better here, but quite often they don't. The more complex the become the less native they get, scrolling, text input, etc are generally OK (unless your an arshole that overrides scroll behaviour), but html still doesn't have an equivalent for native table views and the goodies (navigation, resizing, performance) that comes with them.

Oh yeah, complex UI stuff is definitely a good reason to avoid web apps.

But for many, probably even most apps it's precisely scrolling, text input, and other 'basic' stuff that matters, and in those cases a web app's 'default' will be more native.

> For me the skinning does matter though, I have a beautiful, consistent desktop that browsers (not even electron apps) shit all over. When something doesn't look quite right from the second you open it it magnifies all the other differences.

I agree on a personal level, but I suspect we're outliers. Can't substantiate that at the moment though, so I might be wrong.
This doesn't answer the parent's point. Most cases turn on the facts, even in civil law systems. Defendants still get locked up when judges don't believe them, and judges can still get the facts wrong.

Most U.S. federal law is codified, including the contempt provision that applied here (18 U.S. Code § 401). Codification does not remove the need for courts to resolve ambiguities. The constitutional right in this case is a good example: there is no explicit privilege against self-incrimination in the European Convention on Human Rights, yet the European Court of Human Rights has found that Europeans do have this right, and has explained its scope by 'reinterpreting the law on a case by case basis' [1].

[1] http://cardozolawreview.com/Joomla1.5/content/30-3/ASHWORTH....
I think your problem is too complex for OCR. The best solution is to hire hundred of guys to do it manually for you. If you want quick and dirty solution by computer you can try Ambar (http://ambar.rdseventeen.com)
Now remember that they ran on machines with 16MB of RAM. Could this page even render on a machine like that?
Even when talking about driver updates, the argument is nonsensical. Android updates already require a full reboot of the device at the end of the update process, so new drivers can (and are) already be loaded into the kernel.

The update problem on Android is indeed a policy issue, not a technical one.
I find force pushes acceptable for topic branches of public repos. In fact, I use them a lot to leave behind clean history. Same as with squash merges, which technically also lose history.
Thanks for the comment. Yeah, as I indicated in the article, I actually plan to implement a native client for Android (and probably iOS), for a better user experience. Not that I'll be able to do that soon though...
I have a different theory: I call it the "raised by wolves theory". If a person doesn't have the benefit of good parenting/good examples, they grow up to be less socialized.

The single mom in your example may have had little parenting because her mom was working 3 jobs perhaps.

Anyone else remember the "don't litter" public service announcement on TV with a crying Indian?
Needs a "Show HN:".
> For example, look at Windows 10 and the mishmash of controls (are they flat? or do they have a bevel?) available from the control panel, settings app, old COM dialogs, MMC etc. etc.

One of the last straws for me was the built in mail app that had this awful background image. Too many flashbacks of shitty access apps.
Whitehall’s identity crisis: HMRC and Verify
On an internal VCS this may be a deliberate decision: Secrets need to be stored somewhere and a cost-risk analysis can result in "this is the best place that we currently have at our disposal". That obviously won't fly if your threat model includes "adversary may attack our github account from within GH" or if you ever plan on opening up that repo, but if neither applies this may be the best place to store some sorts of secrets.
Lot of blabbling for a simple concept: do not abuse nesting.
It's the case with control statements, it's still the case with functions, and even more with async functions.

Oh, and callbacks definitely exist in other languages, like C.

What's the deal with this trend of setting up a whole website for a (basic) blog post?
Linux has two options that offer a lot more consistency than you'll find on windows.
I agree that the heavily load dependent battery life is a pain, but one suggestion is to get iStat Menus. The CPU usage widget can show a icon to indicate if the integrated (i) or discrete (A) GPU is being used.
It's better to just revoke and not re-write git history in a public repository. Re-writing history is pointless after the credentials are revoked, and causes a headache to others using your repository.
Box pruning revisited