skysight-inc/HackerNews huggingface dataset:
Sense | Cambridge, MA | Full-time | Onsite

Sense is a home energy monitor that lets homeowners understand their energy use and know what's happening at home by showing them what devices are on in their house and how much energy each device uses in real-time. It's a simple box that is installed in your electric panel and a smartphone app.

We are an early-stage company of about 20 people, VC backed, and ready to grow the team! We are currently hiring for:
* Product / UX Designer
* Data Scientist / Machine Learning Engineer

Email ryan@sense.com or apply at: https://sense.com/careers.html
Beyond not wrestling the letter of the language of the letter to Theranos's best but inaccurate presentation, I would suggest Elizabeth Holmes live the next half-decade with a much lower profile. Step away from the medical devices industry, and upper management in general, either to study or work in a different field/within a different authority structure. If she has any aspirations towards family and children, now would be the time to pursue those particular goals. She is visibly intelligent and ambitious, and I would be very interested to see her return after an extended recollection of her prowess, tempered by some character-building not profit motive oriented experiences. Given the evidence thus far, I fear for her further march into a high-time preference mode, and ultimately burn-out.
on top of that the why can extend as to why this specific implementation route was chosen. Some algorithms are less efficient in a general case, but may be much more suitable to the specific case at hand. Things that were tried and proven not to work even though they seem beneficial at first glance.
The Rethink docs truly are incredible.

Do you have any guides or books you recommend for writing good documentation? What software did you use to produce Rethink?

Sorry to see Rethink go.
Internet shutdowns cost countries $2.4bn last year
It would be really cool if whether the method takes an array or a hash table could somehow be part of the code itself, and if the function is updated but not the callsite an error is shown?

Alternative title: "Should I use a type system?"

Sarcasm aside: comment anything non-obvious, and make the non-obvious things as few as possible. It's always better to have two lines of overly obvious code, than to have one line of opaque code plus one line of comment.
The best place for documenting code, ranked from best to worst:

* the code itself - I.e. function names, class names, parameter names

* test and assertion names

* comments in code

* comments in tests

* version control repository commits

* some external documentation repo like Confluence or MediaWiki

Comments are good when they describe why, not how or what. For example, good comments might be "Had to do it this way to support v2 of the API".

I hate going to documentation for an API and seeing "setFoo() - sets the foo value".
The only misleading word here is "new."

Edit: Thanks admins for fixing.
My main focus is on modal navigation, editing and dealing with text as objects - that's the real long-term benefit Vim gives me.

For new users selecting one I think this comes down what you're looking for from the application and the plugins/community around them. But, I really don't think there's any killer differences between them, it's just a matter of taste.

For you:

> I came to Emacs because of Lisp (and general FP audience is much, much, more based around Emacs,
> makes sense), amazing tools and plugins which I found more stable, better designed, and it is weird
> to say this but things just worked with Emacs, things like auto-completion

I recognise it's more popular to edit Lisp with Emacs, but Vim seems to do just fine. I play with Clojure and do that using Vim perfectly fine there are great plugins (fireplace etc). There's no doubt that the 'emacs is code' thing attracts Lispers to it.

Both, Emacs and Vim both have large ecosystems of tools and plugins around them so I consider that a non-issue.

In terms of configuration, I think Vim is easier to get started with. I personally consider Emacs system a steep learning curve for the general use-case. I find Vim is very well documented and has lots of settings for all the conceivable things you'd want, plus a raft of plugins to alter it's behaviour in the ways I want. However, the fact that Emacs can be rewritten in-itself is a powerful concept so in principle you can't see an advantage there.

In the past people used to say that Vim was smaller and that was a reason to use it over Emacs, but that's a total non-issue for the general use case.

I don't think it really matters which one you choose, as long as you spend some time getting to know 'it' properly.
Just my opinion, but I actually would have reported this differently.

Firstly, Wave - the protocol - is still around; its an apache project: https://incubator.apache.org/wave/ So technically and actually anyone could create their own (free or for-pay) service/instance. There's nothing stopping a couple of kids (or senior employees disgruntled with their current enterprise employer) from scrapping together a new project/venture to start a new social network based on Wave, etc.

The platform didn't fail so much as Google let it die off (at least retired it from their infrastructure, retired it as a product they supported, etc.). As another person here has noted, google creates some cool tech. And, in this case, google either didn't know what to do with this cool tech., or felt they couldn't make money on it, or felt users couldn't adopt it, etc. Or, who knows, maybe it was a technology too far ahead of its time for google to really understand its potential. I myself thought it was a great idea.
Any discussion of aging and systematic lifespan extension is incomplete without mentioning the work of the SENS Research Foundation, a research & outreach organization whose goal is to help build the industry that will cure the diseases of aging.

They identify seven major classes of cellular and molecular damage that must be remediated in order to defeat aging:

http://www.sens.org/research/introduction-to-sens-research
> systemd answered a difficult question and hopefully we willsee more similar advancements shortly for Linux.

Agreed, but I hope that systemd starts focusing on stability and fixing the regressions they've introduced compared to sysvinit. systemd machines are the only instances of Linux since 1995 where I've had intermittent random hangups during startup and sometimes shutdown. I never thought about startup and shutdown before systemd. It just worked, and if there was a problem, it was reproduceable and a real error (usually configuration), not systemd random fault. I don't use CentOS, maybe their systemd integration is actually reliable.
Being Belgian, I did the same! But the project does look useful :-)

The OP is Belgian as well and he has a Trivia section where he does explain what it means in Dutch to the Dutch/Belgians
Gitignorant
+1. It's inevitable that we have to do non-obvious and quirky things, slightly hacky sometimes, or have some complex algorithsm, and a couple of lines here and there can really help.
The world’s first airport for drones will be built in Rwanda (2015)
You have an over-narrow concept of 'services'. A large part of 'service' wealth creation happens in management of supply chains (import/export, sales, marketing, logistics, right down to shelf stacking and warehouse workers) which scale alongside industrial demand, not population. Overseas manufacturers can't access markets at all without effectively paying service providers to help them distribute their goods. Walmart is, in a way, an exporter of market access services.

That's even before you consider service industries that create intellectual property which scale with global laziness and boredom, or the finance industry which provides services that scale with global economic activity, rather than local population.
I'd like to caution you about doing this. Look at Parse. Not owning the "underlying servers" your product runs on is a liability, not a benefit.
Introducing Electrode, an open source release from WalmartLabs
> "‘It is rather paradoxical how we never worked towards an exam and yet I remember far more of it than I do most other subjects I was studying at the time!"

Well, it was a single optional class so it's remarkable enough to be remembered more than the rest of the classes that follow a similar structure.
Seems pretty obvious to me: a combination of (1) gratuitously political and (2) gratuitously hysterical. ("Progressive-supremacist"? Really?)
Where "plummet" means "reaches 12 month high"

https://uk.finance.yahoo.com/echarts?s=TWTR#symbol=TWTR;rang...
Ask HN: What should I learn as my first programming language?
Ten years ago you could be telling the same story about Yahoo and Microsoft and look at them now.
Mechanical Turk is the truly "cognitive" system.
I really like the way Robert 'UncleBob' Martin put it:
"Every comment you write is a failure to express yourself well in code."
The votes were going up and down pretty quickly and hard, HN has a well-established policy of killing controversial threads and submissions.

I don't blame the mods for killing it, and nobody should jump to conclusions or accuse censorship. I think it's perfectly understandable.
Just to echo what has already been brought up here, sometimes it's not the what that is important, but the why. Reading the code is unlikely to explain the why for quite a few complex things.
It is not that simple. Women can vote in Iran and be elected, with 51% of population they even have voting majority. There are 6% women PMs, clerics have less seats.

http://www.bbc.com/news/world-middle-east-36182796
Once I had to work with a well written but undocumented NodeJS application (in ES5, dynamically typed). I didn't know what to expect from any function, neither the structure of the data. Suppose you have a function that returns an Employee, but you do not know how the Employee is defined, so you need to look on the database schema to know the basic structure -- but when you use it you see that there is data that wasn't in the initial definition! The Employee is mutable and some data was added in some place along the app. Good look finding the actual expected output! This is easily fixed by adding some comments about the expected data returned by the function.

Please, just document your code and update if any code comment if needed. It's cheap and easy.
>do you think that is what matters to most Iranian women who are forced to stay at home?

It may or may not matter to those actually being oppressed. But publicizing Iran's human rights abuses and oppressive theocratic policies does matter (on some level) to Iran's elites, because it harms the country's image.
Is this shocking? Who would buy a company in a public auction, it seems idiotic.
While I understand that comments can make it more difficult to understand code, I have frequently seen this advice taken too far. What is clear to the writer may not be clear to readers so they may avoid commenting complex code they have been working in for awhile.
Related quote:

Code never lies, comments sometimes do.
- Ron Jeffries (says clojure-emacs/cider)
I am using Windows. Is there a lightweight solution to map Caps Lock to Escape on Windows?
Actually I did the opposite, since Firebase comes with a huge vendor lock-in. For smaller projects Firebase however may be a good fit, the Flame plan provides good value for 25 bucks a month. If your product needs scale up to the Blaze plan you are probably screwed...
Sounds like you learned how to code, but not how to engineer software.
I haven't heard of ChREBP before. Is it something that has been well known in the research community for awhile? Has there been consensus as to its role in the disease pathway, or is it recent?

(I took two semesters of immunology in my biochem undergrad--courses that I would have expected to cover this. I was never exposed to literature or material on this protein. I also haven't heard of it in the primary literature I do occasionally still read.)
Craig from Citus here. There are a number of issues with one schema per tenant, the biggest one is that at a larger scale Postgres will mostly just not work anymore. Things like pg_dump start to fall over and while this has been improved some, there is still an upper limit somewhere between 1,000 and 10,000 tenants. Further having to then run schema migrations against all of them can be quite painful. There are tools that help on the schema migration front, but what we've seen is that again at scale things start to break. If you'll only ever have 100 customers then by schema can work for you.
The headline is flat out wrong, TWTR is the highest price it has been in a year
What an "awful position"

Amazing. As an American I unapologetically support this woman's choice.

There's nothing 'Brute force' about this.

Fighting for equality in a specific context doesn't mean you understand or comprehend the injustices others have faced; She never claimed to though.

"If you don't want to bear a scarf on your head" - yeah, that's what she is opposed to, wearing a scarf, not what the submission represents.

These values you're denigrating as "american" and therefore "bad" really aren't.
This is an annoying habit of my fellow programmers.

Thinking that a decent or not-so-decent pun would make a good project name.
Cryptanalysis of 1024-bit trapdoored primes
I guess you mean Microsoft and its desktop offerings, I will tell you why I hate MS
1) Loss of control of the hardware, initially one could use DOS to control hardware, access has been progressively denied
2) Stupid security, blocking programmes that you need and allowing viruses in
3) Updates, I have no idea why they are so massive and constantly needed
4) Dumbing down of the OS
5) MS users

100) etc
I don't see any of the functions returning any lists. They do produce some output, though.
Making this illegal is a dangerous slippery slope. It could end up like France where firing an employee can be a multi year process and the result-- a shortage of permanent contract employment because employers fear being stuck with an employee forever.

Making this illegal would result in an arduous approval process just to join a marketplace. Additionally it could result in bad actors being unable to be expelled from a market while the legal process unfolds. That could result in a net loss to consumers. Imagine a malware developer -- Apple can't evict them quickly because they'd have to perform extra legal investigation so they wouldn't get in trouble for acting too quickly.
IoT startup Sigfox is raising $100M-$200M at a $600M valuation to grow globally
This is poetic, and somewhat funny, but also kind of nonsense.

The article pretty much nails it when it talks about choice of tools, frameworks, and libraries being dictated by the kind of problem you want to solve. For me, if I'm going to add another library or tool into the mix, it has to be because it's adding some clear value to what I'm doing. If not, it stays out.

Classic example: I have a games site I'm working on that uses lodash, and only lodash (actually only a subset), because a key factor for me is keeping that page weight down so people accessing the site via mobile on a capped data plan and a laggy connection don't have to wait an age for the game to load because I'm downloading 1MB of minified JavaScript libraries. That means that some things I need to do are more work than they otherwise might be for me, but that's OK because it's helping me hit my objectives.

All of that being said, whether you like it or not, "How it feels to learn JavaScript in 2016," makes some valid points, and certainly captures that feeling of being completely overwhelmed that I hadn't experienced with other languages and ecosystems. You can substitute 2013 for 2016 and it exactly resonates with the way I felt back then, when I returned to JavaScript after a 10+ year absence.

The maligned "snark" just goes with the territory. As far as I can see the JavaScript community seems to thrive on upheaval and butthurt; it feels professionally immature and full of easily bruised egos who want to be right and don't give two hoots about the consequences of the willy-nilly reification of their opinions. Just a couple of examples:

https://medium.com/@azerbike/i-ve-just-liberated-my-modules-...

https://news.ycombinator.com/item?id=7320833 (sadly the commentary has gone from the original post on this one)

And the level of opinionation is extreme. People love to talk about the "right" way of doing things. And, "Oh you're still using X? You should be using Y instead now." is a line I've been on the receiving end of quite a few times now. It gets boring.

I'm fed up of "opinionated" frameworks and libraries and the people involved in them talking about the "right" way of doing things as if it came down from on high carved on stone tablets and isn't in fact just a bunch of stuff they made up themselves. What I need are things that plug together easily to deliver value and help solve a problem, with less of the sass(1).

For me the interesting thing to be doing is building working software that people will find valuable and actually use and, hopefully, enjoy doing so. Languages, frameworks, and libraries are nothing more than a means to an end.

(1) Sorry, it just popped out.
Machine learning with R
They love it when eyeballs write content for free.

They hate it when it isn't exactly what they'd have written themselves.
Right now it is around $25, the highest it has been for a year.

Where is the "plummet" on this 5d chart ?

https://uk.finance.yahoo.com/echarts?s=TWTR#symbol=TWTR;rang...
It's curious that the answer to "people don't have the discipline to update comments" is "develop the discipline to code in a way that avoids comments".
First Hacker News post 10 years ago today
Why did FIDE choose iran to host the competition and did they at least try to make sure there is an exception to this (absolutely reasonable) request?
Bodies break down faster than minds. Ceterus paribus an office worker will have a longer career than a factory worker because their mind will still be sharp when the factory worker has arthritis.
How to Add Google Custom Search Box on Blogger Blog
We're a start up in the science space working with research labs [1].

A big problem is certainly funding, but also how the funding is spent. We are seeing researchers paying 3-4x for the exact same item.

[1] https://labspend.com/
Sorry to tell you but that no ways tells anything about your company. You're using buzz words like "Web Systems", "Intelligence" & "Data Engineering". There is no way I could actually see your products , what do they do. I am sorry but your website gives me almost no information.
What happened to you exactly? You got tricked by linkedin to giving it access to your contacts (which is understandable, linkedin is known for its dark patterns)? Or it happened to you that linkedin magically accessed your contacts even though you never gave it oauth access to your contacts?
Julia. http://julialang.org

It's got everything you need to succeed in the future.
> "it speaks JavaScript and you can store objects in it"

They should just switch to ES clearly.
It immediately reminded me of "Emperor Kennedy Legend: A New Anthropological Debate" by Leszek Kołakowski : ) Highly recommended and very funny snce there's much truth to it I think. I found it online in English: http://jennis22.weebly.com/uploads/3/0/5/3/30531242/emperor_...
The point is not whether to comment or not - it is just to do whatever it takes to make what is happening on every level more understandable whenever there's the slightest doubt that it might appear unclear to anyone else (including the future you). It doesn't matter if it requires rewriting the function, adding a link to more in-depth documentation or populating the code with ASCII art of wild flowers - just make sure that the next person that has to understand the code won't curse you...
Big +1. One clever trick: put the URL of the design doc inside the code as a comment.
> As a noob C programmer, in my programs segfaults often occur along with undefined behaviour (which is much worse, as your program will silently give the wrong output).

> While in Python, you'd get a traceback which is much easier to debug.

Well, C's segfault will also generate core dump, which is essentially the same thing as Python's traceback - it tells you where the program crashed.
Only it doesn't really work like that. A lot of the employees would have been innocent. Secretaries, lab workers, mechanics, janitors, scientists. These weren't risky ventures, they were a job. While they might have been able to leave at any time from a legal point of view, not all of them would have known that it was that risky. You know, because it is a job. It is a bit different if you are investing money in it, getting paid less, and so on.

And lets not forget this wasn't really a small operation: Over 300 employees. Multiple cities.

And the government does do some things to protect workers - such as unemployment and labor laws. But again, this is different than protecting risky investments. I'd even argue that this is partly the governments job by requiring disclosure of known risks and by prosecuting folks taking advantage of others - the rest is the discretion of the money holder.
How We Created a Bot Assistant Facilitating Website Search
Not sure how this affects Iran that much at all. I mean it won't affect the people or the government. The Tournament will go on happily without this player's participation. In my own opinion, a better response would be to hold the tournament in a place other than Iran. I'm not sure why that isn't the route that was chosen for protest ?
App Academy's Bootcamp for Bootcamps
C + Scheme (with Guile) can be more fun. Try it.
> The 22-year-old U.S. chess champion’s sincere protest is a remarkable checkmate to the government of Iran...

Ugh.
That will either be automated, or those workers job would actually be doing that to train the AI that will solve the captcha.
It's only moral supremacy, not sure that counts.
My friend has a TRS-80 Model II. I translated some games for him from other computer magazines. It was a fun experience.
I can't remember much about it other than I did it and was quite proud of myself (being only 12 at the time).
What do you think you will enjoy doing? Web pages? Android apps? iOS apps? Pick something fun then choose the right language.
I've felt that business requirements tend to be the sort of thing that benefit from code comments. Because too often you don't have time to create the whole machination that is required to fulfil some arbitrary business rule.
The US is not even in the list of most militant secular cultures. It's not a choice; You can't say "don't go" as if they have a choice to go to another country to compete.
I don't work on Solvespace and therefore don't know for sure, but I suspect they're not linear. In particular, a significant fraction of all constraints in a CAD system like that are of the form "the distance between these two points must equal x", which is a not linear in any of the positions

I'd love to be wrong about this, because this general problem is one I'd be very interested in being able to solve more efficiently.
Google has an impeccable track record when it comes to security, at least as far as I'm aware.
If he can't find funding but there is a real problem to which the startup has a promising solution, why not try to get acquired by a larger company that does have the means to finish the research?
This was the box for a replacement Note 7. The question is, does the phone match the box?
The implication that "coastal" people value education more is also a crude stereotype.
At a minimum, unless it is a trivial piece of code (like a few lines), you should comment about the purpose of a function and usage.

Here is an example of how the old school numerical analysts documented purpose and usage of their code (the short variable names are a historical artifact) http://www.netlib.org/lapack/explore-html/d0/db8/group__real... For the more curious, this is a Fortran subroutine that solves a linear system of equations.