skysight-inc/HackerNews huggingface dataset:
If we turn the web itself into an actual developer (and user) friendly platform, then we could probably start making better use of it as an application delivery vehicle. To enable this, I've been furiously working on this OS-in-a-browser concept for the past 3+ years: https://linuxontheweb.appspot.com
>FTE

Fuck The Engineers
Screen IO is slow. A trick to speed up unzip speed, do unzip -qq. That skips all the screen output and make it flies.
Copyright and other protections allow a temporary (maybe not so temporary anymore) monopoly on your exact idea. That's a good way to spur innovation since you reward the people creating those innovations. You could still compete with any of those products and people still do.

I think temporary monopolies are good - permanent monopolies maybe not so much. It's an interesting way to think about capitalism that's for sure.
I'm a bit annoyed that Facebook notifies me twice for every message, once on mobile through chrome and once on desktop. Is there any way to retract a notification after it's been sent? I feel like after clicking one, the other should disappear.
This makes me want to play KSP. ;-)
Eat your greens and read your man pages
To each his own. I prefer to type with both hands in landscape on a screen I can see. When listening to podcasts I use the headphone remote. Hopefully the rumored small iphone will become reality.
really? How long does it take on a cold startup?
Griffiths is really great.
I've used py2exe extensively and was happy with it. I also used it with python 2.x despite the article's assertion.

You can also zip an app (think .jar) since 2.6, with the zippap module available in 3.5.
Brave Is Interesting but Ad-Blockers Are Better for the Web
"willfully" is probably overstating it
When I gave the Nexus Mod Manager a try a little while ago, I wondered how it managed to take 18 hours to copy a few hundred files from one directory to another - on a SSD. Wouldn't be surprised if this was at least part of it.
> I find that the only reasonable complaint that can be made about Lua is the from-1 indexing.

Lack of arity checks is definitely much more problematic than this, but still... if you can count the number of tragic design flaws in your language on one hand, you're in great shape compared to the rest of what's out there!
iPhone 6 had a killer feature some had been waiting 5+ years for, its size. The 6s has... 3D Touch and bit better camera.

And twice the RAM (1 GB iPhone 6 vs. 2 GB iPhone 6s) and a faster CPU and other goodies.
When I'm a place I have a right to be looking at something I can see with my eyes, I can take a picture of that thing and I can do what I want with that picture. The courts have validated this again and again as a facet of my right to free speech.

To ban this kind of surveillance you need to take the extremely authoritarian step of telling me I am legally obligated to forget what I saw, to not record it, to not speak of it. You have claimed ownership for the state of he photons landing near my camera, and are now trying to hold me to a license agreement on their use. This is an unconstitutional violation of my freedom.

ANPR comes from an abundance of freedom, not a shortage.
> 4. No literals

Generally I agree with you here, but I think what the post is getting at is more the one case where you do want a variable in place of a literal - when passing the literal into a function where its purpose isn't immediately obvious. Passing the literal behind a more meaningful variable name can provide cleaner, self-documenting code in cases where, for example, modifying the function isn't possible and writing an adaptor would be overkill.
> And let's not forget: JSON and XML have some significant advantages over most other serialization formats. They're ubiquitous. Practically every programming language has libraries to parse and generate them.

One of the interesting things about Erlang is it has binary pattern matching. Matching any binary in it is just as trivial or even more trivial than parsing json in other langauges.

Here is what an IP packet parsing might look like:

<<4:4, HeaderLength:4, _DiffServ:8, _Length:16, _Identification:16,
_Flags:3, _FragOffset:13, _TTL:8, Protocol:8, _HeaderChecksum:16,
SrcAddr:32/bits, DstAddr:32/bits, OptionsAndData/bytes>>

It looks almost like casting a binary blob to a C struct, but you can do even crazier things like take Length and match it later in the pattern, if it specifies a length prefixed binary, for example.

> the difference in data usage would scarcely be measurable

It depends. See, Joe's background is from Ericsson. Their stuff controls access of 50% of world's smartphone <-> internet traffic. When people say "but who uses functional languages in the industry?" the answer is if functional languages won't work, chances are high, you won't see picture of cats on your smartphone.

But the idea is that mobile bandwith is still a precious resourse. Even if our CPU and hard drives are getting bigger. That is one shared resource that is expensive. Maybe if a 1M clients use JSON vs a binary protocol doesn't make a difference much for some startup, when we talk about billions of connected devices talking over radio waves, those things add up. Well, also, game servers use UDP and binary often because of latency. Facebook knows a thing or two about chatting with lots of users, so they use Flatbuffers https://code.facebook.com/posts/872547912839369/improving-fa... that's binary as well.
Well-designed server platform.
Huh, I guess they really are doomed after all.
So what happens if you want to transmit some data in a nested hierarchical format? Just pack it into some (ad-hoc?) higher level protocol inside one of the flat pieces?

Seems like a recipe for inevitable incompatibilities when two languages no longer have codecs for the new underspecified layered format.
This strategy is also encouraged by best iOS development practices (main thread never works on GUI).

Edit: 'main' as in the one doing the one doing the work, in the same spirit of the original post. In truth, the true main thread that runs in main() is where all the iOS GUI work happens. Apologies for the confusing wording.
> Is something like HHVM considered a tech breakthrough?

A largely backwards source-compatible, JIT'ed interpreter for one of the world's shittiest designed but most widely deployed languages? That runs the frontend fleet for the #2 site on the Web? While supporting new core language features and extensions? Yes, I would say that's a breakthrough in interpreter implementation, and thus tech.
https://news.ycombinator.com/item?id=10967578

https://news.ycombinator.com/item?id=10964902
A Fine Whine: An invective against birthday dinners
This is a HUGE game changer, so excited. The number one feature request year over year has been around push notifications. It's a really big pain point for a lot of people in media trying to spam users. They block all of the high bandwith offsite resources they try to shove down peoples throats and the scripts to shut down those scripts. Finally, companies can just trick you into accepting notifications and the problem is solved.

This is great for the acerage user too. Social networks are notorious for making it difficult to engage or get updates about your friends. So this will finally eliminate the friction around realtime relationship status changes and well informed election posts
Right now the Nexus 5x is looking pretty nice.

A friend of mine that works at Google -- and received a free Nexus 5x for Christmas -- told me the n5x is a pretty lousy phone.

I Googled around, and sure enough, it looks like a lemon.
The C library: tbox v1.5.1 released
a golden rule for golden rules: show concrete examples if you really want to communicate what you mean
Yes, ipairs is idiomatic, but that doesn't matter here because ipairs doesn't return the 0 index.

> x = {}
> x[0] = 2
> x[1] = 3
> for i, v in ipairs(x) do print(i, v) end
1	3
> x[2] = 4
> for i, v in ipairs(x) do print(i, v) end
1	3
2	4
OSC is in use for a lot of DIY hardware interfaces fed into custom modular (software) synths, DSP, or weird art programs using Pure Data, Max/MSP, Super Collider, Ableton Live and MIDI bridges to other pieces of sound plugins or external music hardware.

Nice to see a good write up on this project!!

http://en.flossmanuals.net/pure-data/ch065_osc/

https://puredata.info/community/pdwiki/OpenSoundControl

http://livecontrol.q3f.org/ableton-liveapi/liveosc/
"This site relies upon cutting-edge web technologies that only Chromium-based browsers have implemented."

This might as well be Java.
For anyone curious:

https://en.m.wikipedia.org/wiki/Double_Irish_arrangement
I think that one day, web apps by default could work, but before that can happen the web must see sweeping change.

The lackluster performance and high resource usage associated with web apps is a direct consequence of the complex patchwork nature of each component involved. Quite simply, the web was not designed to be used the way we’re using it, and evolving standards have made browser rendering engines horrifically complex (and in some cases convoluted).

What’s needed is a fundamental reimagining of HTML, CSS, and the DOM at minimum with little to no regard for legacy. In the 90s, we didn’t know what we needed but now the picture is crystal clear. Should we use this knowledge to design a new web, I’m positive that the result would be just as open as the web is now while performing tens or hundreds of times better — it’d likely be good enough to make web apps competitive with native apps under a far wider set of circumstances.
And what I was saying is that in an immutable system, that's -usually enough-. It's not that difficult, because the reasons for messages being sent are predictable.

You get a lot of emergent behavior in systems with mutable state that is avoided in systems that enforce immutable state, and without that it becomes far more tractable to trace back a series of events and reason about them. You got a message? Okay, who can send that message? If it's more than one, is there a reason why you aren't indicating -who- sent that message (in Erlang, including a pid as part of the message; this is done automatically any time you use a gen_server and send a synchronous message via call)? But regardless, what does that message mean? Is it the same across all senders? Because if so, your bug is in the implementation in this actor. If not, if the message means different things when sent from different places, you need to figure out what the different messages you want to send are, and send different messages for them.

If you have mutable code, even mutable message passing, the time the message arrived changes what it does. Suddenly you have situations where the message being sent, and the behavior the actor exhibits, is dependent on mutable state. It's totally correct in some instances, and totally incorrect in others; completely dependent on what has happened in the system previously as to whether ~this~ particular message, with the coded behavior, does the right thing or not. And it's that, the interplay of all events that came before, that makes things complex.
I think he's referring to how Erlang uses the Actor Model. An Erlang program consists of (possibly) thousands of individual lightweight-processes. In this model a typical task may be spread out over many asynchronous processes. You can think of it as a program thats made up of thousands of micro-services. Instead of a task taking place over a sequential piece of code, it takes places over many individual processes that coordinate by communicating with each other.
VR will almost certainly precipitate a fundamental shift in UI. I don't see how it could not.

Whether the result will usurp mouse+keyboard remains to be seen, but I suspect it will. Body tracking just has more bandwidth.
I was also shocked how quickly I was able to write code in OCaml after having no prior experience with static typing. A couple weeks in and I was quite comfortable.
Sure, but the 20K is there probably just to ensure you can work a couple weeks on developing a very early prototype with some friends without having to work during that time, specially if you are fresh out of college. The real reason to do a program like this is probably still the advise and the connections with potential early stage investors in case you do decide to keep the company running for longer than a quarter (and you are not the rare company that can be profitable in a few months). Essentially, if you don't need much money right this moment but already know you want to go the traditional VC-funded company route and want access to that sort of environment and business/legal/etc advise, this program is lightweight/flexible way to do that.

Also, I don't know if there are any geographic restrictions to this program, but 20K could keep a 3-4 people company alive for a year or more in many parts of the world. And saving that much would be non-trivial in those places.
Normal folks don't notice those things, even the camera improvements are lost on them.

I bought a 6s and love it (since I upgraded from a 5) but if I already had a 6 I wouldn't have upgraded.
3 Startup Branding Hacks to Create a Magnetic Brand Identity
This is backward. Since UIKit is single threaded, the main thread must work on GUI: the best practice is that nothing except GUI work should happen there.
Sure but first MS needs a Google Classroom competitor because that's probably the other major Google product that schools are using.
AirBnb's founders selling cereal boxes is an oft-cited example of "bootstrapping." This is the same as "consulting".

Do whatever you can to survive: ie. bootstrapping.
I love Erlang and OCaml both, but I am hesitant to describe it as "highly practical" without major caveats. If you're writing clusters of non-HTTP network servers, sure; nothing beats Erlang/OTP. But outside that niche it's difficult to justify.
I bet it was. Well done.

A couple of years ago I was just about to throw out all my O'Reilly X Window/Motif books from 20 years ago and when I landed a contract to update a K&R C based Motif system running on 32-bit Solaris connected to - of course - Sybase. It felt like I travelled back in time.

Old code never dies.
Wii points card code absolutely free  http://freewiipointsforever.com
We should remember to distinguish between concurrent, parallel, and asynchronous programming. UI is a bad example for the reactor pattern, since the reactor pattern is for concurrent processing and UIs should usually process events sequentially (but asynchronously). That's just a bog-standard event loop, not the reactor pattern.

"Practicing" different concurrency patterns sounds like a lot of tedious effort, and the suggestion to "go back to Node" seems a bit high-handed to me. I would encourage everyone to pick and choose what expertise they want to develop.
Would love to know more here!
As an occasional investor 1.5% dilution is nothing. I'd much rather invest in a company where YC gets 1.5% than one in which they are not involved. YC not being involved increases your chances of dumb stuff causing a 100% loss rather than 1.5%.
Virtual Bitcoin ATMs Start in Canada
That is really cool!
> just close the connection after each message.

That is if you don't expect to handle more than one connection at a time in a reasonable way. You can certainly do this loop:

server_socket = create_and_listen_on_socket(...)
while True:
csock = server_sock.accept()
csock.send(process(csock.recv()))
csock.close()

TCP setup and teardown is not too cheap (especially compared to sending UDP packets).
I'm not sure if ability is the right word but maybe?

I know several people like this, my gut tells me it's not super uncommon.

It was not always like this , but the older I get the less sleep I seem to need. In my 20s would feel groggy on 5 hours of sleep, but in my 30s ( current age ) I feel groggy if I get more than 5 hours sleep.

I haven't been able to "sleep in" since I was probably 15 or 16.

Some people probably call this being a morning person, to over simplify it heavily.

Edit: if you do some light googling there is a substantial anoint of data on the internet that claims 8 hours of sleep is too much and 6 is closer to ideal for full grown adults. So getting 4-5 and a healthy dose of exercise does not seem in the realm of supernatural to me. Give it a shot! ( don't leave out the exercise either )
Unprotected Printers a Bonanza for Hackers
It was never well-written, though. It was good enough to work, but it was never good code.
“f” goes missing or rearranges itself in a word after Google Fonts update
This is not only completely wrong, it's dangerously wrong. It is in fact wildly unsafe to touch the GUI from anything except the main thread. It's all the non-UI stuff that you should shove onto another thread.
Firefox OS was pushing for "apps" to be web apps. That seemed a lot more open to me than pushing for apps to be proprietary

This argument is made frequently, and I don't get it. With a typical web app, you have no idea what the backend is doing, and your data is stored on servers owned by third parties. At any time they can revoke your access, go out of business, share your data with others, or change the app in user-unfriendly ways. An open source Android app that runs and stores data locally (perhaps with an option for cloud storage) seems much more "open" than that.
Plagiarism Is Theft – But of What?
That article's dismissal of py2exe is false.
> If you've got someone that dedicated to watching where you go, you probably have a larger problem than just the information existing in a database (i.e. a stalker, abusive ex, etc.) and that problem needs to be dealt with.

Indeed. I've been trying to convince mine that their "affection" isn't appreciated, but I don't really know how I can avoid them. They're known to abuse many people, although most of their victims will actually defend them as not so bad as others. And since some of them own the courts, I can't even get restraining orders!

(The "recorded and stored" is the problem. Framing the situation as you've done is just unproductive, as it detracts from "dealing with" the new all-interested stalkers of governmental and private sector data mining)
Tint your windows and argue that you weren't the one driving.
So what? It does more. Are you running it on a pocket calculator?
Yeah for the prices they are selling the Nexus/Moto G type devices it makes somewhat sense that durability beyond 2 years wasn't their design concern.

Still leaves open the part about software updates and slowdowns due to updates. Apple for e.g. has better hardware quality than most but the slow downs due to major OS updates and withholding features from older devices definitely helps them with people upgrading every two years.
This is actually an opportunity. Minetest is free software (LGPL). Someone needs to fork it, put a little bit of polish into it, load some mods into the default distro, and publish it as "MinecraftKiller v1.0" in a mass-marketable, easy-to-install fashion. Console ports would also be ideal, as they were instrumental to Minecraft's success.
Dropped packets might not matter if you send the latest state. Dropped packets can be detected as well if each UDP packet in the protocol has a sequence id, then receiving end keep last time and sequence id it got. So it know if it got packets out of order or duplicated packets. Yeah, you are doing at this point some TCP stuff, but in some cases it is worth doing.
Reading the about page really makes me hope that private efforts to launch mini/nano satellites actually works out. It would be supremely awesome to have easily accessible data & imagery of our planet, rather than have it locked up due to politics and bureaucracy.
Some would call inability to save a feature, like copy protection by accident
Learn JavaScript basics for 99 cents
Yes; I tried a Xeon Phi. And I reported my experience as:

I wanted to treat the Xeon Phi like a regular Xeon with just many more cores. So I ran my benchmark mostly unchanged. I was surprised however that the single threaded performance was roughly 20x lower than a normal Xeon.
Using all 240 threads I was still doing no better than with 12 cores on a normal Xeon. It seems that the Xeon Phi memory subsystem is not really optimized for multithreaded random access.

The provider of that system suggested that I ought to perform computation and memory access (including prefetching) on the SIMD units (VPUs), but
I haven't gotten around to studying the use of VPUs yet...
Erlang is absolutely a fixed in-order control flow programming language, on message receipt. It is (generally) referentially transparent, but not declarative.
RSS and push notifications solve different problems. RSS is for syndicating content: your news feed. Push notifications are for alerting you of interactions: new messages, replies, etc.
governments take advantage of poor people on purpose. they don't pay enough into the system to be profitable as an individual member of society, so they're harassed and fined until insolvency and imprisonment, at which point they become profitable again (thanks to private prisons).

it's way too effective to not be done on purpose.
Bee-Peg
Thanks for the info. I didn't know about cap-exemption for national labs. I knew academia didn't face an H1B problem, but tenure-track professors can go through EB-1 immigration anyways, so I always assumed that was the difference. But now that I check, apparently even if you are a lab technician or hired developer, you should be cap-exempt as long as you are working on publicly funded science of some sort.
Except that the US seems to have far greater financial inequality than most other first world countries.
>there is something deeply wrong with capitalism

Really?

Current stock prices reflect the expected future cash flows and the cost of capital.

When new information changes the expectation of future cash flows -- like, say, a quarterly report that indicates growth is slower than estimated -- you'd expect the price to drop.

No one is saying that Apple didn't make a lot of money. No one said they aren't a great company. They're saying "the picture of the future just changed a bit."

So, what's wrong with capitalism? What's irrational here?
I made this, and I’m happy to answer questions. (And to politely ignore contentious remarks about how I characterized GOES-R.)
You'll have to explain why in details, not at a high level. In particular the fact that a replacement could perform "tens or hundreds of times better" is an extraordinary claim.

CSS has tons of problems, but almost every replacement for CSS that I've seen proposed would almost certainly have worse performance characteristics than CSS, optimally implemented, would. Most of them kill parallelism and kill opportunities for optimal GPU usage—they're proposed cures that are worse than the disease. The problem is mostly that browsers don't implement CSS as well as they could due to legacy, not that the technologies are fundamentally flawed (though this is not to say that they're not improvable, far from it).

To create a better architecture, you first need to have an in-depth understanding of what the problems in CSS actually are. Otherwise, you'll just trade one set of mistakes for another. (In particular, a CSS replacement that optimizes for Web developer productivity will not necessarily have acceptable performance characteristics—too often, people assume that "easy to develop in" implies "runs fast", which in fact these concerns are often in direct opposition.)
I'm also interested. Would love to maybe set something up if it isn't currently available...