skysight-inc/HackerNews huggingface dataset:
> I'm surprised to see Go's error handling listed as a disadvantage. Go encourages writing good error messages, and that's one of my favorite things about the language.

The biggest reason for me is the inability to get stacktraces to where an error comes from.
TN Visa Holders – Worried?
Increasingly it is looking like the Trump administration has rigged NAFTA negotiations to fail. If NAFTA is terminated, TN visas go with them.

Worried? Do you have a Plan B ready?
I will circle back in a year or so to see if this 'sticks' -- very few Microsoft open source projects provide enough value / demonstrate enough inertia this early in their lifecycle to justify any investment on my part.

https://github.com/MicrosoftArchive/redis/issues/556 (Jun-Sep 2017)

>Why do MS always do this??? Start something, announce it aloud "we are now open source, we are now this and that blah blah" then quietly do a 360 and moonwalk away
I don't think he's a qualified linesman or power system operator.
Replaced it with Task Tiger (https://github.com/closeio/tasktiger)
Quite a bit. Infographic here is interesting:

https://searchenginewatch.com/2016/11/16/how-speed-affects-y...

Additionally, the amount of 'Jank' in your user interactions can have an effect on conversion and engagement. Etsy has released data in the past on this.
Its a hack.
I'll be honest, this sort of thing didn't cross my mind when I was gathering my small dataset. To me, if someone had willingly let an organization publish their photo on the internet, it was free game.

That said, having considered what you've pointed out about people's expectations when having their data taken not accounting for things like deep learning, I would be hesitant adopting the same attitude if I were working on a product or paid service. Right now I can't lay down a bottom line as to whether I think what you described is ethical, but I do think that the general public should be more informed when it comes to how their data, even old data, could be potentially used.
"[...] compared to the 737 family [...] uncompetitive."

No sure where you've got that from, the A320neo has 5000 orders, the 737Max has 4000 orders with the MAX7 not selling well (same size as A319neo).
Limit the audience for end user applications, possibly.

If this were generally true then C wouldn't be used in numerical applications which is clearly not the case.

I think this is the wrong way to look at it. Where C still has advantages over many languages is where the developer's primary mental model is the machine the program is running on. That's why it's used for device drivers and low level library work.

Over the last couple of decades, C has become less and less good at this task as the C model and the machine have steadily diverged. At the same time, it's limitations have been exposed more and more.

In my view, Zig is aiming at this space i.e. where the developer is primarily interested in what the machine is doing. What they have done is kept the C model (largely) but mitigated or removed some of the egregious failings of C.

Zig may not be unique in doing this but it's definitely quite rare. Rust, Go, Swift et al aren't attempting to do this. This isn't a criticism just a perfectly legitimate difference of priority.

As I failed my soothsaying exam, I'm in no position to predict which, if any, will succeed. I hope (without much justification) that having language diversity will encourage natural selection.
A manufacturer's code dump with patches are not "official images". (If you've ever had a device with such so-called "support" then you already know that these images have critical show-stopping bugs and are unsupported and never updated.)

It's only an "official image" if it comes from Ubuntu's website or from a kernerl compiled from sources from kernel.org.
Gotta love JSON. It's XML without the tools so you get to reinvent everything to pad your resume.

XML -> JSON
WSDL -> JSON schema
XPath -> JSON path
XSLT -> JSON template?
SOAP -> Swagger and friends

One or two decades from now there will be too many tools and things to learn about JSON so another generation will reinvent a new "perfect format for everything". And a new cycle will have started.
Not necessarily.

Multiple software engineers working to solve the same problem in isolation will arrive at different solutions. Some may work better than others, but that's irrelevant; what's important is that these different engineers will have all achieved a complete understanding of the problem and its solution, and when they collaborate on a new, more complex problem that builds on what they've already done, they each bring their own unique perspective to the table.

This is why side projects are so absolutely crucial to a software engineer's mastery of his or her craft; by working through a problem alone, the engineer not only gets a better understanding of the problem, but is also able to apply diversity of thought to a team's problem set.
probably just the windows version, but I find Typora has a terrible lag when typing if there's any strain on the CPU at the time. Dropbox was eating up 30% and Typora keystrokes slowed to what felt like 500ms response time.
Stephen Hawking says we should be more frightened of capitalism than robots

Who is behind robot?
capitalism
> Go forces you to stick to the basics. This makes it very easy to read anyone’s code and immediately understand what’s going on.

I think all new language design must incorporate this goal going forward. It’s been simply too valuable. When I see something introduced that does x, y incrementally better but makes no effort for the above goal I get sad and move on.

It’s easy to get caught up in the technical challenges of a language, but this meta challenge is what really helped move the ball forward with Go, and I’d love to see it introduced as a first-class goal in new language design.
The input lag on all androids, and really all keyboards I've tried, is horrible and doesn't seem to exist on ios. I mean, it's probably not zero on ios either, but it's much less.

And "upgraded" androids are much worse : you select a textfield, takes seconds to place a cursor in it, and multiple seconds to reflow the screen and show the keyboard.
the look and feel reminds me of GrapesJS:

http://grapesjs.com/
C0, an Imperative Programming Language for Novice Computer Scientists (2010) [pdf]
As of right now the GUI you are looking at is built with HTML and CSS (later on this will change). But what renders the page in the application's canvas and the published webpages is all within the canvas element.
Not really. In the UK we have "ISA" accounts which let you invest something like £20K per year at the moment and all gains are tax free. So after ten years you could have a £200K+ portfolio earning whatever. Except most people don't have £20K a year to invest, of course..
> biological characteristics, not ideologies, no?

No. "Jewish" isn't biological, although there is some correlation, and America's red scare was soundly ideological.
I'm intrigued by the HTML output of this, especially given the "no CSS" promise and scare-quotes around "standards". I'm not sure if the "save" or "publish" menu items are meant to do anything, as it's alpha, but nothing happens when I click them.
This just happened to me yesterday, at the library. I was walking around, not looking for anything in particular. I found the most amazing book and read through almost half of it before I ordered it on amazon and a few others by the same author. I also vowed to donate money to the library when I'm rich.
> XSLT is very powerful but also incredibly messy because it has to be expressed in XML.

Being expressed in XML does not help, but the language is just bad with implicit data flowing through and very odd constructs, there are XML template languages which I found much more readable than XSLT e.g. I remember my experience with genshi much more fondly than the years I spent with XLST.
In-browser is probably a bit of a stretch, but add mobile (also possible with JavaScript) while keeping performance for cross-platform GUIs:

Why I use Object Pascal | https://news.ycombinator.com/item?id=15490345 (Oct 2017,250+points,215+comments)

http://www.lazarus-ide.org/
I've also done work for a for profit school. The issue with approval (as far as I can see) is that it focuses on easily checkable items like "do you have lesson plans" and less on important intangibles like "does your curriculum make any sense."
> Plus, the 'hacked together' version is really just normal Ubuntu with a kernel configuration tweaked specifically for the GPD Pocket

No. It's an unsupported code dump of patched kernel code: https://github.com/253647445/Pocket-Ubuntu-kernel

Needless to say, nobody is every going to merge or ever update this.
CM looks good to me because it matches the standard roman math notation and because I'm used to it. Objectively, mtpro2 is much nicer:

https://www.pctex.com/mtpro2.html
Email me - hi@tittietime.com
Presumably inertia.

Bureaucracies are not productive enough to enact changes like Brexit in a short amount of time.

Europe will need to determine exactly the ruleset which they believe will apply to UK imports/exports, and it will be extremely costly and slow to make any significant changes, since whatever is decided will need to flow down to multiple agencies.

Consider, for example, the cost of rewriting lots of technology to support a new arrangement for the UK. Can it be done in 2 years, 4 years, 6 years in every single country that the UK trades with?

It will be easier to have arrangements to continue with what we have for now and then to grandfather in what already exists at some point.

(This is just my layman's perspective and it's based entirely on intuition so I could be completely wrong!)
Hi, my name is Ethan. I'm the creator.

I thought I would provide some context on why I wrote this library, and how I'm using this right now. So here it goes:

Other than ST.js, I also work on another open source project called Jasonette (https://www.jasonette.com), which lets you write an entire native iOS/Android app in nothing but JSON markup.

And when you can express the entire app logic--from model to view to controller--in JSON, you can split them up whichever way you want and load them from anywhere (from a file, from cache, from a remote server, or from local memory).

But the biggest benefit of all is: you can load an entire ios/android native app from the server in realtime, just like how web browsers load HTML/JS/CSS in realtime.

When working on Jasonette, implementing model and view was relatively simple. For model it's natural since JSON is all about describing data. For view i just needed to come up with a syntax to describe layouts and all the standard mobile UI components in JSON.

However the biggest challenge was how do i actually describe functions in JSON. Without a function, it's just a mockup and won't really do anything meaningful.

Which brings us to ST.js.

When you think about what a function is, it takes one value and turns it into another. So basically what I needed to do was build something that will take one JSON, and turn it into another JSON, but most importantly I would have to do it using JSON. Basically I needed to implement a finite state machine in purely JSON.

And this is what templates do. So I set out to build a JSON template engine that turns one JSON into another using a template which itself is written in JSON.

What's really cool about this is, since the template is JSON (As far as I know there doesn't exist any prior art that uses JSON as a template, otherwise I would have used it instead), it has all the benefits of the JSON format itself:

1. You can store it anywhere (Most DBMS nowadays support JSON natively)

2. You can send it over the Internet

3. You can compose them easily

4. You can validate them using JSON schema

5. etc.

To use a more specific example, I use ST.js in both Android and iOS versions of Jasonette as the template engine. And a JSON template is absolutely necessary in this case.

For example, if I want to take a piece of device-generated data and render it, I need to be able to somehow parse it client-side (can't send it back to server to re-generate a JSON) http://docs.jasonette.com/templates/#3-device-api-generated-...

This also applies to many cases where the client-side data contains privacy-sensitive data. The only way to dynamically parse something that happens on the client side is by writing the template itself in JSON and sending it over as data.

Anyway, I hope you guys take a look at the examples on the homepage to get a glimpse of what makes ST.js powerful. Each example is almost its own library, except that you don't need a separate library for those purposes since all you're dealing with is JSON.
Is it wrong to make the decision for the first 1.8 kids or the next 8-10?
At which time you beat 95% of the pack and you should be grateful that your current 'slow' language brought you where you are.
snoopy RFID
Ah, have never seen this one before. Thanks!
Well, for initial time to interactive there’s a definite correlation with conversion rates in ecommerce. I would assume (not confirmed) that the correlation continues through the purchase process as performance goes down. Investing in performance delivers very clear business value (of course there’ll be a point of diminishing returns).
Since you're using Python for your example, it's worth mentioning that 3.5 extended the unpacking syntax [1] to sort of do what you want.

foo = {
'a': 1,
'b': 2,
**({
'c': 3,
'd': 4,
} if bar else {}),
}

This adds `c: 3` and `d: 4` into `foo` conditional on `bar`.

[1] https://docs.python.org/3/whatsnew/3.5.html#pep-448-addition...
Well, yes. He can't.

I assume you already know why but, in case you don't, let me put it in simple terms for you: it's easier to create something from scratch than to extend existing code base.

Have you every tried to fix a bug in or make an improvement to GCC? I did; I tried many times and I failed. Maybe it's just that I am not hacker enough (I'd say it's exactly the reason), but...
The size of the code is enormous, the documentation scarce and of limited use to new people - sort of like with man(1) pages: if you already know what you're looking for they're great, but if you don't and need real help then I'm sorry, but tough luck.
You'd better know where to look for parser, optimiser, code generator, etc. and how they interact with each other; where to get information about source code you're translating (keep in mind that there are "new" and "old" ways, and for some constructs only one is available). Unless you have tons of time on your hands (don't have to work, or are lucky enough to go to a University which has some people working on the code), or work for one of the companies developing GCC then you have pretty slim chances of actually getting through.

I don't know how it is with LLVM/Clang. Maybe there it's easier to contribute.

But HELL YES it's easier for a lone developer to "(...) create a whole new language, complete with a module system, a proof system, a constraint system, a parser/lexer (...)" and it is ridiculously hard to "(...) extend C by adding new flags to the compiler that are optional and don't necessarily break anything from old code and lets you selectively upgrade your sources.".

I know this from experience as well as, I'm sure, many others. I am building a parallel VM: I designed its instruction set, built a compiler and static analyser for it, went with it to a conference, etc. etc. It's not that hard and I bet you could do it too. But to take an existing language (read it as "an existing compiler") and "add new stuff without breaking anything" or just "add new stuff"? Man, that's orders of magnitude more difficult.

There's also the satisfaction factor at work: when working on new project you get instant gratification - "Test pass!", "New feature!", "A bug fixed!", and "I get to implement this cool idea I had and nobody's gonna stop me!". When you work on an existing project (especially one as big as GCC or Clang) you have to brace yourself for several hours of reading the code before you can begin to think about where to start. If you did read the code and tinker with it every day then it will get easier, but you have to have the will power to burn through all that code, and not everyone does.

Just my $0.02.
Thank you for sharing this. Can you answer how much you sold it for, and what your SDI actually was at the time of sale?
it's only a picture, I'd have loved a real live feed
So how do you feel about Christian bakers?
For a single adult, second decile was £11,300 in 2014 (roughly $15K now, a bit more at the time).
I wish my Nikon pro camera had a similar chip inside. Now we have two worlds - awesome pro cameras with incapable post-processing chips (I mean beyond RAW and initial processing) and horrible mobile cameras with outstanding post-processing chips.
Ad Industry Insiders connected to fraud scheme, researchers say stole millions
I don't think it's a 1.9 thing - I've got code from 2017-02 which uses it (the quickest example I could find in my repos)
I'm unsure why an inexpensive vaccine that can prevent a sexually transmitted virus that eventually causes cancer would be viewed as non-mandatory.
There are plenty of counter-examples to this. Just look at Google's messaging efforts (Gmail chat, Hangouts, Duo, Allo, etc.) as a great example of fragmentation without any obvious benefit.
please have it output to wasm/canvas. no html/css/js :)
That's one spacey metaball! (sorry...)
Are they using much ocaml on the backend? At facebook's size they have a whole lot of different languages in the stack. I'd be very surprised if a significant portion of new backend development were in OCaml though.
The worst thing about all these iOS animations is that they seem to have some sort of invisible animation frames after having (visibly) finished, blocking any user input for an additional couple hundred milliseconds even though nothing is (visibly) happening. Driving me nuts since iOS 7, even with "reduced motion" active. Same thing on the Apple Watch.
BrowserStack is offering free Selenium Cloud testing of Microsoft Edge on Win 10
A new guide to map design
Or maybe more smart versions of those things.

In a field where one successful work defines a career, this looks like a good move.
"This isn't a personal critique of the OP, but it just seems so very common in general. I don't understand it."
Sorry for the messed up title, the original was too long and even more sensationalized. I tried to make it shorter and a bit less clickbaity.
To be fair though, one of Redis's biggest weaknesses is its single threaded nature in instances where you, e.g., have huge sets and need to compute expensive set intersections/etc...

Redis also might not be the best choice if thats your primary use case...but still.
> stop making excuses for Apple's dumb decisions.

This breaks the HN guidelines by being uncivil as well as uncharitable in the sense requested here: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize."

Your comment would be fine without that first bit. Would you mind reading https://news.ycombinator.com/newsguidelines.html and following the guidelines when commenting here?
You got down voted but the way Google has been acting I wouldn't be surprised.
Yeah to be honest, the demo is more of a vertical slice of the application itself. I still have not exposed that feature in the demo, it is like 80% finished. There is a HTML Export video that shows a demo of that feature.
Though the magical global dependency injection is still somewhat obtuse, and not overly new-team-member friendly
QT doesn't feel great anywhere either (except Linux, and there only because the UI standards are "whatever goes").

At least it's fast.
But without zero-padding, it will sort wrong when using lexiographic order (as is common). 1180101 would sort before 171204 in many contexts, even though it should clearly come behind the latter.
On Genetic Algorithms and Their Application in Solving Regression Problems
Slicer: split a text file to smaller files by lines, with gzip supported
> This thread seems to be filled with amateur professionals thinking that their iPhone or Pixel will magically do something optically it can't (yet?).

This is key. I own some decent camera gear and I'm amazed at what is coming out of all of the top end phones. Of course I can critique and find faults, but the pictures that non-photographers can take with their phones in a matter of seconds are down right amazing.

I actually wonder if the gear heads feel their domain threatened? I'm waiting for the day when I don't have to lug around my camera and multiple pounds of lenses in order to get all the shots I want :)
tl;dr: data processing is getting automated. This is just a dramatisation (and a bit of a summary) of normal process automation. Nothing to see here.
From DockerCon: IBM Expands Partnership with Docker
So can we expect an influx of developers who were former traders?
You choose to live in the big city and advertising signs bother you? That's like choosing to live in the forest and saying trees bother you.
Still seems like that'd be better than nothing.
I think it depends on the use case. For individual component programming, sure: pick a hammer and make everyone use it. But for systems programming, being able to be multi-paradigm is a huge benefit. TIMTOWTDI ;)
> If both clients attempt to update the server with these new operations, then the server will declare one ordering as true and send the resulting operations back to the clients with the correct ordering. The clients must then adjust.

But this seems no different than "last write wins". The point is that clients want to keep reliably working on their copy without suddenly losing all of their work because of an incorrect/stale assumption that their changes would be accepted. This is typically considered undesirable.

So with non-commutative changes, either you would sync with the server after each change to ensure you can make meaningful progress, or you risk doing lots of meaningless work and having it all undone.
I designed the ergonomic and cross-device keyboard, Looking for investors
> Since then, Nim has been my go-to language of choice.

Out of curiosity:
You use Nim professionally? Do you work for a company? What kind of software do you make? And what sort of people or organizations are your customers?
This looks great, but it's important to bear in mind the architecture you intend to run on. I recently made an application blazingly fast by - among other things - parallelization using the node cluster module. On my 4-core laptop it flies. Imagine my surprise when I deployed to the cloud environment and found the typical virtual server in our cluster has only a single CPU core. The worker threads just sit around waiting for their turn to run, one at a time. On the other hand, the platform for serverless functions has 8 cores. At a minumum, before you jump into multi-threading, know what `require('os').cpus()` tells you on your target platform.
$100 piece of dirt chromebook + cloud services = $100 + $600 per year to actually use it.

Why not use a $200 secondhand lenovo that can actually run programs and give them a real system ?

When I was very small I actually got an intro to programming class on mainframe. You could only work while connected. It was horrible, since you could only do exactly what the teacher said, there was essentially no cpu capacity available (and if multiple 7 year olds who've never seen a program run before complained about it, it's bad).

It was beyond worthless. Stop the walled garden, especially for programmers.
Haha yup. The interface you are seeing now is not the final one, you can be sure that in the future the application is going to be using wasm. Just like the guys at Figma are doing.
Some people insist on being obtuse (coincidentally, I'm looking in the general direction of a template heavy C++ user), and for worse or better, personal preference is a large factor in language adoption as opposed to what works best for the industry as an engineering practice.