skysight-inc/HackerNews huggingface dataset:
>They were very popular in 3D modeling packages like Lightwave years ago.

Actually I can't recall Lightwave ever having NURBS, it was all polygon/subdivision surfaces.

Maya has NURBS, and there is NURBS oriented software like Rhino3d, Blender also has rudimentary NURBS support.

>Are they still used frequently in 3D modeling?

I believe it's still the standard for anything requiring precision: computer aided manufacturing/design (CAM, CAD).
Thanks very much for this! I have been poking around a bit this week and this is indeed what I need. :)

More importantly, where you say "A good starting point for a project..." is exactly the kind of know-how and practical advice that I have found hard to come by in this area of software engineering. Any idea on where to find more of it (blogs, articles) would be always welcome.
Hope it's not related....

http://mashable.com/2016/09/14/gmail-outage-1/
http://www.pcworld.com/article/3120644/gmail-outage-for-busi...
OCaml for the Skeptical
> how are you dealing with errors?

The example looks for string literals outside of what it considers comments and preprocessor directives. If you feed it random data it will just end up in various states in the graph. It matches everything and uses captures for subsitution when it's in the right state.

When I need to break on invalid grammar, I use match time captures (Cmt). I think if you have problems with short circuiting parsing you might have the match time capture in the wrong place, but I might be wrong. Do you have an short example?

Trivial example (maybe too trivial?) of error handling:

lpeg = require "lpeg"
P, Cmt, V, S = lpeg.P, lpeg.Cmt, lpeg.V, lpeg.S
function errfunc(match)
error("invalid token: "..tostring(match))
end
P{
"tokens";
space = S" \t",
invalid = (1-V"space")^1/errfunc,
token = P"foo" + P"bar" + P "baz" + V"invalid",
tokens = (V"token" * V"space"^0)^0 * -1
}:match("foo bar baz woops foo")

EDIT: or, to get the position:

lpeg = require "lpeg"
P, Cmt, V, S = lpeg.P, lpeg.Cmt, lpeg.V, lpeg.S
function errfunc(match, pos, cap)
error(string.format("invalid token at position %d: %s",
pos-#cap, cap))
end
p = P{
"tokens";
space = S" \t",
invalid = Cmt((1-V"space")^1, errfunc),
token = P"foo" + P"bar" + P "baz" + V"invalid",
tokens = (V"token" * V"space"^0)^0 * -1
}:match("foo bar baz woops foo")
The Store app is still half baked, I was looking at the Microsoft Remote Desktop Preview and I noticed there are a couple of urls in the description. Can you click a url in the description? No. Can you select text from the description? No
There's a contest to find a hidden treasure in a forest. All that is given is a short description of the place where the treasure lies, and a couple of hints on how to get there.

A young kid, in tip-top shape stands next to an overweight graybeard. He snickers at the older fellow, confident that he will find the treasure first. The whistle blows, and off they go running. Or rather, the younger fellow goes running. The older guy stretches a bit more, buys a bottle of water, and huddles off into the woods. He walks at a fair pace, not really breaking a sweat, as he knows it's going to get hot in an hour, as the sun hits the middle of the sky. He's been in these woods plenty of times in the past thirty years.

The young kids runs here, runs there, looking for anything that may resemble the clues he was given. He is fast. He has the latest gear and newest gadget. However, he's not really sure where to begin.

The old guy has a hunch where to go. He knows where the blueberry bushes grow that were mentioned in the clue. He knows where the sunny clearing with the three rocks is. It takes him a bit of time, but he is going in the right direction. He rests in the shade for a bit and hydrates when the sun is at its harshest.

The young fellow is dehydrated. He's run over 12 km, he thinks he saw some of the mentioned clues, but he's not sure. He needs to get back to town to get a drink of water.

The afternoon sets in. The young fellow is covering a lot of ground, but is not rally getting anywhere. The graybeard, meanwhile, has found the little pond and the hollow trunk that holds the little treasure chest. It takes him some time to walk back to the finish line.

When doing anything, there is the experience and velocity aspect. If you're running fast but don't know which way is right, you will make many mistakes. Your speed will allow you to recover quickly. If you're experienced, you will likely plan better and your slower progress will be in a more correct direction.

What is better? I wish we could all be spry 90-year-old veterans with the speed and stamina of 18-year-olds. For most of us, it does not work that way. Different projects require different skills. More established companies don't want to risk key project on inexperienced talent. Young startups don't really know what is going to work, so making lots of mistakes and recovering quickly may be an advantage. It's getting the right mix of people for the job that is the key.
Alibaba Engineers Fired for Mooncake "Hacking"
Tipard Ts Converter 7.1.58 Registration Code and Crack Download
What animals would look like if they had eyes at the front
An average user is a myth. Every kind of average user has its own traits and they differ widely.

That's why there is such thing as system settings.

And yes, most desktop users are conscious when they work with files. Windows by default suggests "My Documents" folder as a target destination which is a pretty sane safe choice for all traits of average Joes.
I guess you also only then need a firewall, if you use closed source software. When using OpenSource software you can always be sure that nothing will do unauthorized access to your network, willingly or accidentally...
Artists – Bookers – Connect – TalentDirectory
Maybe this article convince you that it is not "All quiet in the IPv4 Internet":

http://blog.apnic.net/2016/09/15/quiet-ipv4-internet/

I found the "Sage" certification from he.net/tunnelbroker entertaining. You basically setup a IPv6 capable mini-ISP. Also have a look at these nifty Browser add-ons that tell you which part of website is served via IPv4/v6:

Chrome: https://chrome.google.com/webstore/detail/ipvfoo/ecanpcehffn...

Firefox: https://addons.mozilla.org/de/firefox/addon/ipvfox/

Once you started to live without NATs and have endless[1] amount of addresses, you start banging your head against the table when you encounter so called 'future' technologies [2] that on their very core only support IPv4 and rely on NATs and ugly port-bridges etc.

[1] for all practical purposes

[2] e.g. docker
Yes it does make a difference.

There is always some direct or indirect benefit, but it conts more when community is involved in development of OSS supported by corporation, like GSoC, where actual community is paid to work on selected projects, Clang, where Apple tried to reach consensus with GNU, BSD, Mozilla which creates a lot of fun stuff like Rust and Servo, their full MozLabs and WebOfThings, DuckDuckGo.
I think akerro is asking about the motivation for Microsoft's contributions to OSS, rather than whether they benefit from it (clearly they do).

My impression, having spoken to people from Microsoft involved in OSS, is that they are pretty much entirely driven by what will make them the most profit. Sometimes that means making software "open source" and accepting contributions from the public (free labour!), other times that means keeping their software proprietary. They don't seem to care about ethics, or software freedom. It's a shame, but Microsoft aren't the only ones with that mentality. Big businesses are, more often than not, primarily motivated by profit.
EU’s digital market rules land vowing free WiFi, 5G tech and copyright overhaul
Is that still the law?

Also, it may not be considered an ingredient so much as a tool or technique...
I really disagree with UWP being a better model than limited UAC. Apps being able to talk to each other and the filesystem and interacting is what makes them useful. The linux/sudo approach is the best comrpomise between security and utility I'm yet to come across.

> The old system had defaults originating from the single user non-multimedia usecases left over as a legacy, but currently we have so many things going on our computers, that privacy/security needs a rethinking of old concepts to cope with new challenges.

I android has proven anything it's that sandboxed applications don't solve this problem.
Thanks for some great tools guys, and a shout out to Fabio another great tool built on top of Consul https://github.com/eBay/fabio
Desktop Windows is clearly the technology of the past, and I say that as someone who develops on it every day.

People starting in a green field will build a web or a mobile app if at all possible. The cases where it isn't are basically games and what used to be called "workstation" apps: big chunky tools like SolidWorks.

Even Adobe have retreated to the cloud, although the tools still run locally.
I really don't understand this reasoning at all.

If you just block the camera you won't know that your computer is being hacked. The piece of tape isn't going to stop the hacker from doing much. Knowing my computer is hacked is far more important than stopping the attackers from seeing me.

If you have a false positive that is also very concerning and should be dealt with. At the very least I can put a piece of tape over the camera after the light turns on, if I believe it's a false positive.
Please avoid a harmful tone when replying here, there's no need for that :)

As for the 70 year-olds still running marathons, I've heard of plenty more 25 year-olds dying of heart attacks. Anecdotes are not enough here it seems.
MBP is most widely used pro audio laptop. Some people I know do simple mixing without plugging an external audio interface, just using built-in audio. It seems that Apple does not care about those people anymore.
Do what now? Does that mean that I can't build apps in C++ anymore? Because it looks like I can and it also looks like I have more options than I ever have. In fact, I can finally use standard ISO c++ to do more than ever. Do you just mean one UI toolkit over another?

I wonder how Adobe has "kept talent" without rebuilding photoshop?

If you are worried about keeping your personal skills up to date and focused on an area that will earn you personally a living then you should know that some of the most highly paid people I've met in technology code for some of the most niche platforms. I mean serious f*ck off money. Say it with me...AS400. (Or ISeries or whatever the hell it's called now.)
I think it's the same tier as global variables: an anti-pattern.
They actually don't even bother to sell first party display port adapters for HDMI: you have to get a third party adapter.
Reverse Engineering Xiaomi’s Analytics App
biking is one of the worst exercises out there. sure you save joints, but your back, neck and possibly erection will suffer instead. Got couple of colleagues/friends who have health issues exactly because of biking.

and if you do road biking, depending on location, you are at mercy of car drivers on narrow roads. even if 99,9% are good and paying attention all the time, sooner or later someone won't. if you do other types of biking, there are other safety issues.

by all means do it if that's your thing, but don't call it super healthy, or safe. take 2 steps back - most of us sit on our a__es all days, so you go and do sport where you... sit on your a__. right.
Didn't all Sun webcams used to have little irises that you could close on them?

It seems like a sensible precaution: makes it less likely I'll accidentally log into a company conference call in my dressing gown with my camera enabled.
It seems to me like they are only open sourcing the products they wish more people are using, and not their actually useful products like MSOffice and the Windows OS.

Edit: to be clear, I know it is in their best interest not to open source those products, because that's where most of their money comes from. But it really looks to me like the want to flood the market with random open source stuff, so that they seem more open source friendly. But in reality they are not actually contributing anything very useful to the community.
> character-based languages

> children --who have no conceptual grasp of syntax / grammar--

Do you speak Chinese? I doubt you know what you are talking about, because IMHO complex semantics are hardly possible without syntax. If you imply that Chinese are in general incapable of ideas as complex as American's, only because of the language, that would be perceived as a slur. Can you substantiate your claim?

> memorisation is probably the most effective way of teaching it

as evident by the myriads of data structures developed to memorize data, memory is syntactic and by that I mean ordered.
The older developers on the team shape culture. So, when they are not very old themselves, you get what you get.
With something as important as blockchain verification, you would think DARPA would stop investing in private intellectual property.
I started a course in philosophy during my first year of university. I studied CS (in the UK, where you don't typically go far outside your major) but I'd always been curious about the humanities and thought it worthwhile to learn about all fields of knowledge. I'd also read about philosophy for laymen books as a teenager.

In the first lecture, I remember being surprised at how rational and logical the lecturer was. However, in the second lecture, we started getting into the details of different theories of meta-ethics. I was interested in the topic, but the presentation was exactly as you describe, focused on hairsplitting the viewpoints of everyone who'd debated the question previously.

In the last few years I was inspired to start analysing my own ideas and began studying philosophy in my own time. I now know my undergraduate experience was typical of analytical philosophy, which dominates the English-speaking academic world. Unlike continental philosophers, they believe that there's an objective reality and that our thoughts should be logically consistent. However, they also have accumulated a pile of logical puzzles (Frege cases, Gettier problems, the Raven paradox, etc) which imply that language does not straightforwardly refer to reality, that certain knowledge is impossible, and so on. This skepticism is (imo) at the root of the "debaters paradise" you observed.

Anyone looking for an alternative should give Objectivism a serious study. It has such a bad reputation in academic circles that I dismissed it for a long time, but when I finally got around to reading serious Objectivist non-fiction, I found it held together much better with my view of reality. It's basically a version of Aristotelianism, with some of the mystical implications removed. (Introduction to Objectivist Epistemology is the book to read if you want to dive in at the deep end).
The most interesting thing here is the note at the bottom regarding computational cost: "A recent macbook pro reaches about 5 samples per second."

This shows how far this model is from realtime usage. However I'm sure Deepmind researchers are already looking into how to make this blockbased or some other optimization strategy.
Backpropagation can work with any precision, as long as you use stochastic rounding (so that the rounding errors are not correlated.) Without stochastic rounding even 16 bits will have rounding error bias.

http://arxiv.org/abs/1412.7024
The Reinheitsgebot is more of a myth though:

https://www.youtube.com/watch?v=th-f1ztar_U
Then a camera light that tells you when the camera is on, and a hardware switch that prevents image data from going to the computer.
<sarcasm>iPad sales are falling so Apple thinks the way to solve that is by making the MacBook more iPad like so that people don't feel temped to choose one over the other.</sarcasm>
Honestly I think not having a global filesystem makes things harder for the "average user." Most college students aren't going to only keep their word documents in word for example, they need to email them and upload them to tools like blackboard.
...or teaching them facility in learning a language, which is more valuable than knowing any particular language.
Cons:

1. Typescript. If your team isn't familiar with it it's not trivial to get everyone on board. The up-front cost can absolutely be worth it in the long run, but there's some friction in the day-to-day work with managing type definition files and looking up esoteric lint-errors from the Typescript compiler.

2. RXJS. Canonical NG2 should use Observables, and rxjs is not a trivial library to learn the ins and outs of. Add to that that there's no clean way of doing testing with Observables at the moment (integrating with the rxjs testing schedulers is very finicky). This is doubly true if you're using ngrx (which you probably should).

3. Template language. I'm one of those who don't think it's a very good idea to bring a new DSL into html. I'd much rather do it the React-way of bringing HTML into JS instead of relying on a very complex compiler to do magic behind the scenes.
This becomes a bit better with the template pre-compilation, but it's still new syntax that you need to learn and keep in mind. Some of which is not intuitive nor well documented (i.e. how pipes and parentheses work together).

4. It feels unfinished. This is to be expected since it's just on it's initial release, but the sharp edges do show up quite a lot. For example we very often have to do manual subscription and unsubscription of Observables in Components.
This feeling also goes for quite a few of the community addons, such as the browser-extension. While I absolutely applaud their efforts, it's far from reaching the quality of e.g. the Ember-Inspector.

5. Sub-par debugging experience. When you get any errors there's a mile long stack trace filled with rxjs and zone.js garble, making it very hard to actually figure out what's going on.
When there actually are custom error-messages they are not very informative, with you having to fundamentally grok how parts of NG2 works to even come close to understanding why it's not working (getting this a lot with the change detection).

6. Lack of documentation. I tried to stay very far away from Angular 1 since I found its documentation to be very low quality (probably a symptom of Angular 1 being poorly engineered as well). The NG2 docs are definitely better, but I feel like my mental model for reasoning about how things work was still very weak when I had finished going through the docs. There's some really huge gaps in there (testing) and a lot of the really complicated stuff that you will stumble over is only really documented in semi-old blog posts.
The state of the Octoverse 2016 – GitHub
Fatal Tesla crash in China may have involved Autopilot
As a user, you can't. The hardware manufacturer has to tell you.
I've used PEG parsers for two projects, one written with peg/leg (which leafo mentioned), and one with a significantly modified fork of pyPEG [2]. My method for handling incorrect input is equivalent to what you described: I extended the pyPEG grammar to add 'checkpoints'. (Earlier, when using peg/leg I used alternative code blocks that threw errors.) Once a checkpoint is passed, the parser is not allowed to backtrack past it again. This avoids the problem of the parser backtracking all the way to the very beginning of input and producing an error equivalent to 'No'. As a bonus, adding checkpoints speeds up parsing and massively reduces memory usage, because as soon as you hit one you can delete state needed for backtracking. Yes, it does mean that you have to think about whether adding a checkpoint somewhere cuts off valid parses; the checkpoints really ought to be added automatically. Ideally you would organise your rules in such a way that all the alternative things that could appear in some context are in a rule called Foo, and put a checkpoint at the beginning, so if none of them match you get a "expected Foo" error. And if you see an opening quote or bracket or anything like that, immediately add a checkpoint because it has to be closed. This worked very well for me, but I imagine would not scale to something as nightmarish as perl.

Real example:

def expressionList(): return QUES, (expression, STAR, (PLUS, ",", CHECKPNT, expression))

(Note: pyPEG is funky, the ? * and + operators (QUES, STAR, PLUS) precede the thing they act on; I really should change that). Basically in this language if you see a comma in an expressionList, something must follow it. The error produced by this rule is:

On line 79 in rbtest.rbas:
Syntax error: while parsing expressionList, expected expression
dim x as integer = y(a, b,)
^

This is a parser for a DSL extension of FreeBASIC (which I called ReloadBasic). In addition to the DSL stuff it parses just enough of FB to determine the types of all the variables and arguments and the function/sub beginnings and ends. For the small fragment it handles, it often produces better errors than the handwritten recursive-descent FB compiler. (It's also about 1% the speed...) Source is here: [1]

[1] https://bitbucket.org/rbv/ohrrpgce/src/6ba83910c564aa474220e...
[2] https://bitbucket.org/rbv/ohrrpgce/src/6ba83910c564aa474220e...
while keeping the Mexicans in poverty

How would an American wall keep Mexicans in poverty?

Mexicans are free to create wealth themselves or by trading with the entire remaining world. They could even still sell to the US or work for US companies, just without moving there.

If Trump was going to cordon Mexico off, there would be something to that argument. But they have access to two oceans.
I dont care about long boot times either, it's opening chrome and all my terminals that is a pain in the ass.
* I guess You can create a background worker handling persistence, which runs until completion even if the UI has been closed. (I have not used UWP yet)

* IMHO save/don't save dialogs are an usability antipattern.

* Tray icons are also something of a remedy of the past. They are now replaced by background operations and live tiles.
I can see why those can be problems, I can imagine the usecases you would solve using those tools, but the new app model is build around a slightly different workflow.

But if you do not like the way to solve it as it is intended in the new app model, the solution is: report it/upvote it. If you tell your problems here, then some members of HN community will know it and understand it, but it is unlikely that it will be acted upon by Microsoft. For that you need to have your voice heard on their forums. (eg. feedback app, uservoice...)
Well, animals with paws can scratch the screen. Cats and a bird video ("videos for cats" on youtube) are a particular vector on how to get your screen scratched...
That time a BT rep. recommended I use “something like Password123”
>The HTML template in Angular 2 is stored in a string. This has several disadvantages

This is patently false. Just use "templateUrl" instead of "template". This allows you to specify a file instead.

This is the way I always did it in angular 1 as well. I don't really understand why style guides & general practice recommend embedding html in the javascript though. It's horrible.
Every time I call my mum I have to call my dads mobile first because she can't remember to press the button to hang up. Ther's only so much simplyfying you can do.

Funilly enough, in her 70's now she's taught herself to use a computer and can manage documents in the file system.
That is a complicated case for teachers. Dumbed down content slows the progress of the more talented students and vice versa. The system is not perfect so the GP is entitled to his opinion, IMHO. Of course, "dumb" is a debatable characterization, but since the GP didn't start to debate it with actually concrete arguments, the point is moot and just a slur.
Are you sure? I'm pretty sure the law has been updated to allow natural clearing agents as long as they're completely filtered out before bottling.
You can see some projects at:

https://github.com/abdonrd/PolymerProjects