skysight-inc/HackerNews huggingface dataset:
I was under the impression that they start with Android and sorta roll their own OS from there on out. At least, that's what I would do if I were bold enough to start a new hardware company with the likes of Apple controlling the sector.

Software and hardware each built with the other in mind is how Apple is able to support updates for 4 years after you buy your iPhone. Manufacturers who use Android aren't able to do so because the two aren't coupled.

Hopefully Essential does it right and take full ownership of their OS. That would be a real game changer.
That's a weird position.

Frankly the aggregators provide really low value to the hotel as a stakeholder in the process. They demand concessions and commoditize the hotel itself, which is obviously not in the hotel's interest.

This is a classic channel vs direct issue. The only reasons that travel agents and these aggregators exist is that they provided a way to offload inventory or increase demand. Now we have the internet -- so it is easy and cheap for hotels to engage directly with many customers. Why should my local Hilton Garden Inn give 20% of the gross to Expedia?

For the core customers of the business, the hotel can offer more value to the customer (things like online checkin, etc) while cutting out the commission to the middleman. Travel agents still offer value for complex itineraries, destination travel, integration with corporate ERP systems, etc.
Scale is a nice problem to have but I think it is premature to be asking about that now when the business is just trying to get off the ground.

The project was previously featured under the name Mailman on HN [0].

[0] https://news.ycombinator.com/item?id=14107063
You might like a Kindle.
It is not proven and possibly it can never be proven. But it can be disproven, and given the success of the Church-Turing thesis, I would say that the burden of proof rest on those that claim that a system more powerful than a Turing machine exist.
I guess my account has been shadowbanned since the beginning - there are only 2 PokeStops in 5 km (3.1 mile) radius and all they have is Pidgey and Rattata 99% of the time.
It seems to be using BLS categories, which split what you would call a "Software Developer" into three categories "Software Developers, Systems Software", "Software Developers, Applications" and "Computer Programmers". The "Computer Programmers" category includes only the most routine of the tasks that software developers would complete, so it makes sense that it would be more likely to be automated. It is also only 20% as common as the other two categories, so you may never even have met someone who is classified as a "Computer Programmer".
> Why exactly Australians need a peer-to-peer payments system isn’t exactly clear...

Probably as the first steps towards removing cash. Cash must be such a pain for a government, I'm surprised it is still around.
It's there for:

- Associating online backups with your account, and securing them.

- Transferring history between devices (phone and watch, phone and browser, etc...).

- Generating graphs/analysis (more to come soon).

- Generating shareable images of workouts.

The whole app works offline currently, so it's a somewhat trivial feature to add. Is that a deal breaker for you? It was on my list, but I didn't have it as a high priority.
Caniuse.com has a underfunded patreon
I use caniuse daily, and I suppose many of you who work on web development use it to.

To my surprise, caniuse has a patreon, with only about a hundred patrons.

I want to rectify that. I am going to start contributing to it (a buck a month), and I am writing this in hopes to get some more people onboard.

I just read the hackernews guidelines, and this post seems kosher. But sorry if it is not.

https://www.patreon.com/caniuse
Adding Touch to Virtual Reality – IEEE Transmitter
You can set it via nVidia setting (Windows) or prime-select/optirun (Linux).
I had planty of Symbian apps on my Noka 6600. There was a booming J2ME game business as well.
Not sure if you read the post or not because it's really complaining about the fact that you can define custom getters for `val` fields in Kotlin. There is no real equivalent in Java here since Kotlin overloads class fields such that they represent both functions and variables (they're similar to C# properties).
The 360º camera feels like a gimmick. I dig the idea of having it, but it gives me a gopro accessory vibe: pain in the ass to use and store (where do you keep it when you're not using it??), it'll get lost, etc...

I like the idea of a titanium enclosure that is resistant to damage during falls -- but that force needs to be absorbed somewhere. It's nice to know that the outer enclosure of my phone is absorbing some of the impact of a fall. If the Essential phone's titanium is not doing this – are the internal components going to suffer more?

I'm interested in giving Android another shot but without the ability to go into a store and play around with one, it's hard to throw $700+ on blind faith. For example, the Pixel looks incredible in photos. It resembles the iPhone and offers an appearance of quality. Holding in your hand, however, it feels like a plastic piece of crap. If I'd have gone on photos/videos alone, I'd have been very disappointed.

Apple, for me, has been great due to the progressive enhancement and the ability to go into a store and play around. Each phone release is familiar, yet new and refreshing.

Every time the latest 'killer' Android device comes out, it will inevitably introduce a handful of paradigm shifts in both the hardware and software. I feel like you either need to be an early adopter willing to throw hundreds of dollars at devices more frequently, or settle for Samsung bloatware.
Joel Spolsky has a pretty good rundown. The biggest takeaway for me was that legacy apps usually don't have clear reproducible requirements. All the corner cases are written down in one place: the old code. Throwing that out means you'll recreate most of the bugs that were already fixed in the old system.

It is painful to look at and work with the old code, so we want to avoid it. But some things worth doing are painful, like exercise, or getting a cavity filled.

[edit] https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Ask HN: How do you feel about ghostwriters?
This is a question about your emotional response to the fact that non-fiction book was ghost-written.

0. How would you feel about the author of a book if you found out that it was "ghost written"?

1. If the author submitted their ideas, do you think they deserve the credit?

2. Do you feel the same way about very involved editors?

3. What would be your threshold for how much work is involved?
Breaking the game IS the fun. Actually winning afterwards is irrelevant.
The What and the Why Behind Cloud First Policies
How Scaphold, GraphQL, Serverless, Relay, and Apollo Work Together
I like the concept and it sounds pretty neat! The method of notifying a person using temperature is something that I haven't seen in a wearable design. I hope that they opensource or release the Anti-AI app standalone (without the Bluetooth device I supposed you could have just a regular notification). I might build the notification system that they use since they have a PCB to experiment with it with wearable computers.
I don't see this as such a problem.

For instance, calculus, linear algebra, differential equations, numerical analysis, and so forth, are only a small part of what makes a good actuary. But they have a formal exam that you need to pass in these areas in order to be an actuary. They don't quiz new candidates with 10+ years experience on integration by parts during a job interview.

Because we lack even a basic exam in software development, we have to do data structures and algorithms over and over in interviews. I'd be more than OK with setting up a basic exam for what we can cover. I'd much rather take these exams with some assurances that it will be graded consistently and fairly, cover the proper material, and will lead to a lasting credential respected in industry. I wouldn't mind this even if it involved substantial effort and studying on my part, because I'd know what I was studying for and why.

Hey, maybe it means my next software job interview won't have to involve weeks of studying followed by 5+ hours solving tree traversal problems at a whiteboard.
Impressive portfolio!
For testing comparison testing should probably be the preferred means of testing (solves the oracle problem). A combinatoric tester of the quickcheck variety can be invaluable here,and can be used from the unit test level all the way to external service level tests. Copy the preferably small sections of code that are the fix or functionality target, compare the old and copied paths with the combinatoric tester, modify the copied path, understand any differences, remove the old code path (keep the combinatoric test asserting any invariant or properties).

Some other important points:

- Inst. and Logging: And also add an assert() function that throws or terminates in development and testing, but logs in production. Sprinkle it around when your working on the code base. If the assert asserts assumptions were wrong and now you know a bit more about what the code does. Also the asserts are your documentation and nothing says correct documentation like a silent assert

Fix bugs - Yes, and fix bugs causing errors first. Make it a priority every morning to review the logs, and fix the cause of error messages until the application runs quiet. Once its established that the app does not generate errors unless something is wrong, it will be very obvious when code starts being edited and mistakes start being made.

One thing at a time - And minimal fixes only. Before staring a fix ask what is the minimal change that will accomplish the objective. Once in midst of a code tragedy many other things will call out to be fixed. Ignore the other things. Accomplish the minimal goal. Minimal changes are easy to validate for correctness. Rabbit holes run deep and deepness is hard to validate.

Release - Also almost the first thing to do on a poorly done project is validate build and release scripts (if they exist). Validate generated build artifacts against a copy of the build artifact on the production machine. Use the Unix diff utility to match for files and content or you will miss something small but important. For deployment, make sure you have a rollback scheme in place or % staged rollout scheme because, at some point, mistakes will be made. Release often because the smaller the deploy the less change and the less that can go wrong.
People are still playing Pokemon Go?

I stopped within the first few days when I realized you can't actually battle your Pokemon with other people. That's OBVIOUSLY what people wanted, but luckily we had a stupid minigame at gyms?

Can't imagine a worse execution of such a successful IP on such a breakout platform.

Pokemon Company really let me down. I know it's not their fault, but they should've spoken up about the whole thing.
Because that doesn't do what people want/expect, if you have a key with a value that's not frozen it will still be mutable, which indirectly mutates your object.

See the example at https://developer.mozilla.org/en/docs/Web/JavaScript/Referen... about modifying internal.a
What We Learned from Going Viral on Reddit
Tony Robbins Says Do This 1 Simple Thing to Raise Successful Kids
> val does not mean immutable

Yes it does. It means immutable reference.
You missed "Software Developers, Systems Software" and "Software Developers, Applications" at 13% and 4% respectively. Combined they are five times as common as "Computer Programmers".
Ask HN: Best monitoring/reporting dashboard?
Hello HN,

I'm currently re-writing a dashboard and wanted to know what are the best dashboard designs out there.

Thanks,
Student at UIC here:

Pretty much everyone in the lower level classes is cheating. Some of it's just "driving five-over" and some is practically murder. I've heard Chinese students talking throughout entire exams in big lecture halls, students leaving lab and immediately finding their friends waiting outside for the next lab section and dishing all the details of the day's lab, and students giving away a little too much information when talking about their strategy for a project.
A better approach would be to alias /v3/user to /v1/user until there is a breaking change needed in the v3 code tier.
Quit my job as a system architect / software engineer and pursuing martial arts and spiritual cultivation full time in China.

I don't plan to give up IT for good. Having been in the industry for 10 years, I know I must follow my heart to be happy and be a well-adjusted person.
sounds like this is called "cottage food" and states are evolving here. sounds like there's opportunity.

http://forrager.com/laws

Surprisingly, California has one of the most liberal laws w.r.t. cottage food industry of any state: http://forrager.com/law/california

Also: https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml...
1am to 5am
Nice. Please take a look at https://github.com/uNetworking/uWebSockets

There is a drop-in line that can make your socket.io a lot faster, if that's your jam.
Want to see a "real" effort to get Docker / Containers in (Free)BSD?

https://github.com/kvasdopil/docker

https://github.com/3ofcoins/jetpack

Unfortunately, they haven't been updated in a while. But this is what we mean when we want docker on other hosts. use FreeBSD's native jail and linux subsystems. In other words, "OS-level virtualization" [1]

Rather than treating other platforms like second class citizens and relying on ad-hoc workarounds that require virtualbox, a middleman linux distribution running in the background; not to mention the error-prone networking redirection the aforementioned introduces.

Two points:

1. The whole point of docker is to not have to haul in a linux distribution and a fire up a vm just to deploy something for development or production. If they're using Docker w/ a VM, they're better off just using Vagrant.

2. FreeBSD jails work fantastic. What's keeping docker from abstracting upon that and supporting it officially, especially seeing these two implementations in the wild?

I look forward to seeing more of kvasdopil's docker fork (https://www.freshports.org/sysutils/docker-freebsd/) and jetpack.

[1] https://en.wikipedia.org/wiki/Operating-system-level_virtual...
Could this be a start in the rise of new phone/hardware devices?
I've been a part of several successful big-bang rewrites, and several unsuccessful ones, and saying that if you're smart they're not on the table is just flat out wrong.

The key is an engaged business unit, clear requirements, and time on the schedule. Obviously if one or more of these things sounds ridiculous then the odds of success are greatly diminished. It is much easier if you can launch on the new platform a copy of the current system, not a copy + enhancements, but I've been on successful projects where we launched with new functionality.
Yes, people are still playing Pokemon Go. About 65 million was the last reported active user count. (Not sure if daily or monthly.) The number of people you saw playing at the beginning was way more than was sustainable, and a drop was of course predictable after the fad died down.
The less information available about the infosec and (more importantly) the sys admins the better.

Nation states are like any organization. They are resource and time constrained. If you set the bar high you will eliminate the low hanging fruit adversaries. Force them to put the work in... Plus if you show them you are very careful and watching everything you will force them to be extra careful, as not to tip off any surveillance, which expends more resources.

Whether or not they can actually be anonymous is not the ultimate goal. That would require a lot of work and attention to detail. But you can still do some basic stuff to make the lives of hackers hard.
It's subtle, but you're both saying different things. What happens with Kotlin cannot happen with Scala `val`s. Note in Kotlin it may return something entirely different, not just the same reference to a mutable object. It seems that in Kotlin a `val` may get evaluated every time it's called, whereas in Scala it can only be evaluated once.

In Scala it cannot happen that you call a `val` twice and it returns a different object.
I suspect that defining web application using implementation details is painting yourself into a corner.
Yeah, that's why I stepped down from being a PM to writing software. I personally prefered the crappy codebase, failing build envs., slow cluster, the boredom and mental exhaustion to having to deal with people in a corporate setting. I'm just not cut for that.
It uses HLS or DASH so the latency should be no worse than through a CDN since those systems are already quite delayed compared to RTSP or some other more immediate protocol
So, while the computer is not your property, the information as well as access to personal accounts or information might be protected. All of that is personal and depending on jurisdiction can be protected and accessing it would be a violation.

I'm not entirely certain what the legal status of this in the US, but I know of other jurisdictions (Costa Rica, for example), where employers are forbidden from scanning, logging or viewing personal email accounts or even personal email on work accounts/computers. Hell, they can't even make a back-up of your computer without your permission.

source:
Constitutional Court Prohibits Employers from Accessing Computers Without Employee Permission: http://www.elmundo.cr/sala-iv-prohibe-accesar-computadoras-f...
I was nearly denied entry at a US airport yesterday during a domestic travel because the TSA agent wanted to verify my visa. She saw my old visa in my passport and refused to look at my new one despite me telling her multiple times. She asked me to step aside and called another agent. This agent told her they don't have to check my visa, only the passport and allowed me in. If I had just shown my US license instead, this could have been avoided.

This is the second time I had a similar experience. The first one was when I was leaving from US. Just before boarding, someone from CBP wanted to check my visa. He saw my old visa first and started raising his voice.

I am not used to being treated as a criminal. I guess I will have to get used to it or leave this country.
If I remember correctly, first generation AVX (Sandy Bridge) does not actually have AVX unit, it just execute equivalent SSE instruction two times instead. So it is not surprising if the dual AVX2 units also double as AVX512 unit here.
Hello, author here.

Thank you for pointing these out. I've corrected my assumption and put up a disclaimer on the post.
> And here I thought I was telling you that not everybody uses "first-class" (or even "first-class values") in precisely the same way.

I know of no other definition of 'first-class value', which is an established concept since at least Scheme was invented in the mid 70s, which made functions true first class values. The idea that procedures in some programming languages were not first-class seem to come from C. Stratchey from the mid 60s, where functions in Algol can't be the result of compound expressions, can't be stored in variables and data structures.

> It would be perfectly clear to call it "first-class naming"

If someone would define it and give it some useful semantics, it might be clear.

> I didn't mean to imply that Clojure invented callable arrays, merely that Clojure programs use them frequently; probably just as frequently as they use higher-order functions.

This podcast speaks exactly how an error introduced by callable data influenced the developer leave Clojure for Haskell: https://building.fireside.fm/37
> Why would stopping a botnet be evidence of effectiveness at tackling strong AI?

Because it's much, much easier than their ultimate goal, and you could generalize from there, like biologists do.

But also: because it would show that they have more claws that (say) Asimov, who gave clear lines about what a robot should not do, and yet is entirely powerless to stop anyone from making such a robot.

If they want to stop strong AI, shouldn't they be able to actually stop first regular, weak AI? And if they want to stop weak intelligence, shouldn't they be able to stop a barely intelligent botnet first?
In that case, is my clothes dryer a robot? In addition to its timed dry setting, it also has a feedback setting in which it runs until the clothes inside have reached a (configurable) specified level of dryness, at which point it turns off.
No it is not. Some gyms of my town are full of Blissey from level 40 accounts all with the same looking names. Given how hard it is to KO even one within the allocated time when playing alone, it's effectively ruining a whole part of the game for every non-cheater player.
There could roughly be as many front end developers in India ... which has 23 languages.

China also has multiple languages and dialects, see: https://en.wikipedia.org/wiki/Languages_of_China#/media/File...

English is the lingua franca of software development and I don't see that changing anytime soon.
Unless the employer has invested a large amount of money on a salary for someone who is not skilled in their supposed area of expertise. In my experience, developers tend to start their careers making more money than salespeople starting their careers.
I've yet to see a large system with lots of subsystems rewritten in one go, but I'm more than open to being convinced that it can be done so if you could please do a write-up of how such a project was managed.

The ones I have seen - and this is actually one of the major reasons the clean-up crew gets called in the first place - is big bang rewrite projects gone astray.

One huge problem with rewrites of old code is that the requirements are no longer known or even misunderstood.
But at what cost!? Every time I write Haskell code it reads like a mathematical proof that's beyond my ability to comprehend! Whereas my Ruby, Python, and Clojure programs read like a poem I might have written in third grade.
> JS is not parallelized

https://johnresig.com/blog/web-workers/

https://ponyfoo.com/articles/understanding-javascript-async-...

> Python is also compiled to a bytecode before interpretation; were still don't call it a compiled language.

https://softwareengineering.stackexchange.com/questions/2455...

> macros aren't significantly faster

> you can always precompile your abstraction on program load at the expense of slower start times

http://www.ilikebigbits.com/blog/2015/12/6/the-fastest-code-...

> How can I ask it what type a function returns or what types it's arguments should take?

http://www.braveclojure.com/core-functions-in-depth/
We've banned this account. If you don't want it to be banned, you're welcome to email hn@ycombinator.com and promise to follow the rules in the future.

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/newswelcome.html
Very nicely done. Honestly I wish most pages loaded this fast and had this much content in it. I would like to try doing something similar.

Obligatory question: what is your development stack for this and how is it hosted?
> I did three group assessments, and out of those three failed two students with the help of my teammates, by co-ordinating our peer assessment. This peer assessment does not become public until grades come out, at which point they can be disputed. But 3 vs 1 usually comes out in favour of the group.

This is, inadvertently, fantastic training for sociopathic stack-ranked office politics.
MS would openly publish all details of their formats to enable other programs to use those formats.

(I must have missed this when I made my other comment.)

They have. For a decade. ECMA-376, ISO/IEC 29500.
Voice Chat API – An open-source, Plivo-powered system for conference calls