skysight-inc/HackerNews huggingface dataset:
As I see it, as the difference between high power and low power states increases, the accuracy of a "time left" predictor decreases.

Back in the day, "active" was one power draw, with a somewhat lower one for idle. And people intuitively understood that idle was not part of a timed test.

Now idle is significantly less power. Discrete GPU is vastly more. Ill behaved app waking from idle only to sleep again is a huge hit. Most of these behaviors are invisible to the user.

You can't just say "at last minute's usage rate, each percent of battery is 6 minutes" and multiply it out. The wildly varying input gives a wildly varying output.

The old algorithm with the new inputs was confusing people.

It's not like they are stopping anyone from watching movies or surfing the web and timing how long a computer runs. The truth is still out there.
Oh wow, this is why I love Hacker News - thank you for helping me overcome my mathematical anxieties in college as I was working on my Computer Science major. Your site really helped me gain an appreciation for math since I had terrible teachers as a kid and led me to believe that I could never 'get it'. Would love to see some more linear algebra materials as well
You use a generator that receives a state and returns a random number and the modified state. You'd want some additional abstractions to make that work well.
No, because it wasn't plausible now, and not just for technology reasons. Because back then it would have been unthinkable. Now it is very, very, incredibly thinkable. Hence the Reddit post.
This was the other point I was going to make, these people don't have anything going for them for the most part. They don't have anything else to do.
I used Node and Loopback.js for my last project (massive project). It was great in the sense that it helped us avoid writing lots of boilerplate, but the ORM and the "current context" module were a constant source of frustration.

Now I'm working on a project with a smaller scope and I'm simply using express.js and knex.js, no ORM. I love the simplicity and level of control I have. It's liberating not to have to guess what the ORM is doing to my data between my code and the DB layer.
Seeing it like this is totally fine. I.e. this is basic research to better understand the nature of random numbers.

It just happens that all so often I see vague justifications of the form "Random numbers are important for crypto THEREFORE we need fancy random number thing X" - however the logical link between the two is not explained in detail (X may be quantum RNGs - or papers like the above). I won't blame anyone for doing basic research. I just don't like it if people advertise their basic research with practical implications that simply aren't justified.
The Crypto Show Discusses Bitcoin Radio
Feature-Budgeted Random Forest [ICML 2015 and NIPS 2016]
Tell HN: Happy Hanukkah
I wish you all a very Happy Hanukkah!
Have been newly playing around with this: Modular SPA in either Angular 2 or Webpack with a separate API backend in Go. Easy to test either in isolation or integrated.
update your anti-virus software.
When you say you should use a computer, you mean for arithmetic and calculations right?

Also calculators are hardly archaic. If I want to calculate something quickly I'll always go for my Casio FX-83GT, since I can type it much faster in there. They are archaic in the sense that the number of terms you can have can be limiting though...

I think a good grasp of arithmetic is incredibly helpful in the real world, and is something that academics (like me, as a physicist) often lack, whereas "regular people" are much better at it. I also rarely bother with change, I pay with card when I can...

I think doing anything more complicated than basic calculations on paper is pointless though
Or pets! ^_^
Dandelion* – Android Client for the diaspora* social network
There have been many discussions over the years about augmenting channels so that they can be more performant in specific instances like spsc or spmc.

The language maintainers have not been very receptive and the broader community has at times been outright hostile.
Although it was only made with procedural algorithms, I believe this has a much greater artistic value:

https://www.reddit.com/r/generative/comments/5h5796/slow_col...
Because it's the only way to run a decent UNIX (note that I prefer BSD to Linux on the server) and extremely high quality desktop software in the same box, and get finely tuned hardware into the bargain.
Any interstellar species could be too easily wiped out if the enemy knew the locations of the home worlds, so they would go to enormous lengths to conceal the locations. It is similar to modern war on Earth.

So the flashes in the sky could be enormous depth charges, thrown blind into the abyss to reduce narrow probability counts or ferret out the hidden home worlds.

Since an attack can be total, and come from anywhere, and you can never know if you fully succeeded, the peoples of Glurk-42 had a nervous disposition.
Exactly. Like the lack of a proper GPU.
Show HN: Billerly (how to stop forgetting your side-project monthly invoices)
I worked on a script to make a similar effect for my avatar picture, but never got it working, so my hat off to the author!
Which only goes to show that you can't apply real world reasoning to explain an academic concept. In this purely theoretical concept, World (which cannot be inspected) does contain the entirety of the world, including all other actions running in parallel, the current time and the state of every atom in the universe. So given the exact same state of the universe and assuming purely deterministic laws governing it (or the state of the world containing the future of the world too), yes, the action will produce the exact same output, because all other actions running in parallel or the things that will lead to the future actions are also part of that input World state.

Thats my best attempt, and it still sucks! I bet someone will start wondering about the uncertainty principle there... So lets just use a free monad or thunks in a strict language

function pureAction() {
return function() { return impureAction(); }
}

function chain(pureAction, fnReturningOtherAction) {
return function() {
var impureResult = pureAction();
var newAction = fnReturningOtherAction(impureResult);
return newAction();
}
}

function interpreter(mainAction) { return mainAction(); }

Everything is pure, since all the functions don't do anything but return thunks for the interpreter to run. Except the interpreter which actually runs those. This isn't even a theoretical explanation - its exactly how PureScript's Eff works.
- Invisibilia

- 99% Invisible

- RadioLab

- StartUp

Others: This American Life, Hidden Brain, The Weeds
What if Safari attracted a heavy WebGL ad in their web browsing test? What if Chrome had an ad blocker in place? What if they used an automation system to drive the test which wired on the discrete gpu?

I see a lot of questions an engineer could answer to help Consumer Reports better understand why their test showed such large variances and then they can decide if it is a testing artifact or indicative of a real variance.
Here is the original paper: Nasal Respiration Entrains Human Limbic Oscillations and Modulates Cognitive Function [1]

[1] http://www.jneurosci.org/content/36/49/12448
Merry christmas! For me it's Django for around 5 years. I use it for both personal and work projects for all the following reasons (they are well known but repetition is never bad):

* A great (really great) orm

* Best documentation I've ever seen in a project

* Predictable, no magic

* Easy to start but very powerful forms

* Great community, positive attitude, always willing to help

* Batteries included and, for anything missing, lots of add-ons (in the form of apps) for all your needs

* It's in python and supports both 2 and 3

* Good i18n support (english is not my primary language)

* Good templating

* MVT (model view template) architecture works great, especually after you switch to CBVs

* Great support for REST (through django-rest-framework)

* Easy and to-the-point project configuration supporting multiple deploys (development, production etc) and non-commited to vcs settings

I've tried other frameworks in the past but I've always stuck in a missing feature or just wanted to do things in the django way.
Tell HN: Happy Festivus
Happy Festive, everyone.

Now, let's get on with the Airing of Grievances, followed by the Feats of Strength.
I use Phenomic to generate static React websites. Served from Amazon S3/CloudFront, with Serverless (Lambda/API Gateway) for REST APIs as needed.

This appears to be the cheapest and most reliable and autoscalable way to build web apps, even though the tooling could still be streamlined. I also believe that React and JavaScript in general currently have the best ecosystem, so it's easy to find anything you need (tools, libraries, components, problem solutions).
Silicon Valley has fallen
Yeah, calculus seems really abstract and pointless until you realise that it's 90% of physics. At school they shy away from calculus so much that you just do a version of physics where they've simplified away the calculus, which is extremely confusing.
Can we stop using women as a metaphor now? Especially if beauty is the first criterium and she's apparently just waiting to be "tried"? Thx
Show HN: The Polyglot Bible Typography Project
Yes, I know what popular vote is. Am just saying that US presidential electoral college system works correctly as it gives each state in the federal system equal weight in choosing the president. It was never designed to be by popular vote of individuals. So it doesn't matter at all.
asp.net core, I have tried a lot of frameworks and stacks from Laravel to Go and I have never been this productive on anything else.
If I'm making a website, I'm using Rails. I've been using Rails for years, and I know it and Ruby really well.
How did the settlers get to that island then?
How to Safely Delete Private Data Forever
> FOSS massively benefits nowadays the worst actors on the HW/SW markets possible. If you wait long enough you will see the heroes turn into the villains. (cf The Watchmen).

This is really only true of OSS, not Free (Libre) Software, which is why that distinction is so important.
Django, mostly. I like its batteries included approach and its maturity. I've found it's a great tool for many jobs. Every now and then I'll use something smaller, like Flask or Falcon, but as soon as I need an ORM, or auth, I use Django.

I've also used Phoenix a few times now and have been enjoying it. But I know Python much better than I do Elixir, so I skew towards that.
The current implementation is very similar to a hough transform limited to 1 dimension (the angle). Your approach would allow a little more variation and thus a better image. In practice this would however mean one would have to retie the thread at both the start and the end of every line.
>covering up a negative action is often exactly what lands people into hot water (see Watergate, Clinton, etc.).

You are mixing up testifying under oath versus a PR release. Companies lie to you all day long in PR releases. If FB were to go under oath and state that, it would be more believable, but not completely, see James Clapper.

I'm just pointing out how it's technically and orginizationally feasible to do this undetected. The only thing stopping FB from doing this is ethics and possibly backlash.
Django for work, a variety of (popular) tools for random projects.
Because he doesn't understand why we use languages like C++ in first place.
From Venezuela
Agreed! I think there should be quite some improvement possible for the fine details. I'm playing with some ideas although any help is welcome!
Next Economy – Tech Capitalism's Impossible Dream
Yes, you can simply mmap the index file. The index server have not to read the index at the start. The goal of query processing is to decrease the query latency, this is why it is better/necessary to do partitioning. Each query can be processed simultaneously by all threads. Intersections are very costly for long posting lists.
All in with Angular 2 using the angular-cli. TypeScript, everything is a component, good fit for enterprise projects, quickly on-board new developers.
def parsedLines = lines.withIndex().filter{l, i -> i < 1 || lines[i - 1] != 'a'}.collect{parseLine(it)}

Do you really think that the imperative version is simpler that this small groovy one liner?
I strongly disagree.
And probably in a more functional language than groovy you can do even better.
And btw you are not doing anything with the result of parseLine, while I am saving it in a new collection of parsedLines.
Because it is the only way to run Xcode and iOS Simulator for iOS app development/testing.
I write in Go, and use the following libs:

net/http: The stdlib package is robust and I find myself productive working with the provided APIs.
gorilla/mux router instead of the default servemux.

I use go-kit https://gokit.io/examples/stringsvc.html for most production apps I write. I use go-kit because it provides a clean separation of decode/encode logic from the actual business logic of my application and includes some great packages for instrumentation, logging rate-limiting and bunch of other concerns.

On the frontend side, I prefer to write clients in Elm.
You are right, I didn't really think about the practical implications. oldPin = bestPin makes a lot more sense now :) Thanks.
Ask HN: Do you feel proud of the product/project that you are working on? Why?
Basics of Making a Rootkit – From syscall to hook
Backend: Rails (older projects) and Phoenix (Elixir) for newer ones

Frontend: None/jQuery for simple sites, Angular 1 (older projects) and Vue 2 (newer) for apps
It's Parliamentary – KeyBoy and the Targeting of the Tibetan Community
Author here.

I got the one with Iris Pro. I was a bit worried about performance but after using it for a couple of days I'd say it's more than fine.

I haven't connected it to a 4K display though. I will try that and get back to you.
Rails - because Ruby is easy to learn, especially for beginners and you get great, custom things done in no time. Also Rails forces you in some patterns that make sense in my opinion. Testing is also fun.
Reddit Down with a 301
I'm operating with Express on one end with React on the other. The big difference with this setup is GraphQL in the middle. It is a huge help to making sense of data flow, what with the strictly typed schema and the built in subscription model. I've also engineered my own event sourcing/CQRS framework with the intention of expanding the app with micro services eventually, but it's just one server node for now.
I did something like this with a pen plotter and CMYK pens. I biased the random walk to follow/bounce off edges.

http://imgur.com/a/n7OOd
> Nobody writes the core language consisting of just some ~6 primitives

https://en.wikipedia.org/wiki/Lisp_(programming_language)
Definitely not pot. Probably bath salts.
I recently switched to nodejs from flask and I like it but there are some issues

The pros:

- programming the same language in the frontend and the backend (which becomes a big deal when you do serverside rendering of react components)

- for some reason AWS and Google App Engine have very good nodejs support

- very fast io

- very fast iteration time, faster than python

The cons:

- the lack of quality libraries and standards. With flask there are well known, well tested libraries for every use case. Not so with nodejs.

- javascript, which isn't really a big deal
Except that this time the "latest and greatest" doesn't really offer better compilation times.
Yes, but FB doesn't need to specifically listen for words and determine if they say anything, they just need speech to text, and only capture speech if the volume is a particular level.
Video Games Are More Beneficial Than Harmful
> I don't recall any * nix OS's having automount and autorun enabled by default?

But I recall * nix-like OS's that have telnet enabled by default with insecure default passwords:

> https://www.malwaretech.com/2016/10/mapping-mirai-a-botnet-c...

"Mirai propagates by bruteforcing telnet servers with a list of 62 horribly insecure default passwords, starting with the infamous admin:admin."
Soo, so true.

Working with Tensorflow, python is unfortunately the only realistic option. I'm getting the hang of it, but I'd still love to use ruby for it – it's all just data wrangling, it doesn't even need to be fast, and ruby code is just beautiful (to my eyes, I know it's a matter of opinion).

I've also only recently discovered the beauty that is rake. Especially for data pipelines it's a fantastic tool. Hit a bug? No need to rerun everything – it'll pick up at the exact step that failed. One of ten data files changed? It knows exactly what needs to be redone. Etc.
"His Master's Voice" by Stanislaw Len offers a different perspective on the same setup.
Lets not jump to conclusions, maybe this is being caused by life but there are also lots of other things besides life that can cause radio bursts in regular intervals, like a neutron star.
4) buy proprietary software and hire people that know it

Not saying it's preferable to #3, but it's better than nothing. SAP and Oracle still pull in a combined $57 billion annually, for things like accounting systems...
It's not much of a reason, true. Complexity that channels introduce into the code outweighs everything though.
I wanted to get a Thinkpad too but the monitor may come with PWM which is a deal breaker for me.
The abstraction then becomes indistinguishable from a language feature, and you have come back full-circle to where you started. You call "random" without managing the state explicitly, except when you need to.

http://clhs.lisp.se/Body/f_random.htm
Parent was attempting to attempting to correlate a classical epistemological exercise with a much more modern epistemological quip about the continuity of modern experience, informed by (among others) neo-Hegelianism, philosophical realism, and proto-pragmatism (similar to James and Spinoza).

In other words, yes, they are the same... in the way a pebble is a mountain.
The list doesn't mention Saudia Arabia. IIRC either Snowden or Wikileaks disclosed US government cables that confirmed Saudia Arabia have the A bomb.
It's extremely efficient. Yet I wish he'd set a new record in effectiveness instead.
Rails because I've been using it for a lonnnng time. Last month I got a subscription to stationcode.net and it's been handy for code gen. Talked to the owner and he said more is on the way.
I recently started "watching YouTube" as an alternative to channel surfing on TV.

I don't appreciate most of the YouTube personalities so it can sometimes be difficult to find good stuff, but then again I don't appreciate most television programming either. But I've realized that there is value in low-brow entertainment and not every single thing you watch has to be a great production with depth.
Thank you, that was very clear and helpful.
When and why I use an in-memory DB or a traditional DBMS
You're welcome to go get eaten by a tiger or starve to death.
Because it's Isaac Newton's Birthday! We celebrate the falling of the apple on his head with red and green (both common apple colors).
"Here" means Hacker News.

Please stop posting unsubstantive comments.
Um... you can connect all of those in a laptop.

Well, maybe not a 5K display, but 4K should be more than fine.
How do you define "more correct"?

Sure, the CH isomorphism can help you prove some properties of your code based on its types, but that doesn't mean you can't create an equally correct program imperatively.
Redshift: adjust screen color temperature according to your surroundings
Wisdom is the capacity to understand the true scope of the 'game'.

At that level 'game theory' does not apply.
Contact.

Liu, Cixin - Three Body Problem.
The losing end of the great filter no one sees coming: peace.
> Which statically typed language do you feel offers the same level of developer comfort as Ruby?

So far, Kotlin has hit that sweet spot for me.
> Internally, functions are implemented as closures which might capture ownership

This seems backwards. Closures are implemented as a struct for the environment, plus a method on that struct that represents the function call.

This then ends up the exact same way as any other function or method call in Rust: with taking self by value, by reference, or by mutable reference.
Yes, I talked with a few Python devs and they all envied the package management of Node.js.

Funny thing is, NPM is fun at the start, but in long running projects it's really bad. I mean, it feels like a huge step forward coming from PHP (where I didn't have any package manager back in the days) or Python (where pip seems to be a bit clunky) but it still could be better. Hopefully Yarn changes that.

Having the same language on front and backend is good for my own projects.

But it really is a problem on commercial projects I work on, because the people in charge tend to mix developers. I wouldn't consider myself a back-end developer, but was forced to write multiple APIs, because "it's just JavaScript, right?!"
Spring with Spring Boot in Java. Batteries included and easy to setup and get going. A statically typed language to catch errors at compile time. Easy to deploy by building an uberjar. Great dependency management and builds with Gradle/Maven and built-in support for pretty much any common database and message queue.
Just a wishlist of ideas with no real technical solutions.

It was strange seeing the mixing of trolls, and bank security concerns.They are pretty different in nature.
Im also surprised there was no mention of ip addresses.

I think internet is broken, but more at a technical level, its too easy to have isp accidently break large portions.

ex. Pakistan bringing youtube down accidently in 2008.
> Using variable-sized closures created at runtime requires dynamic allocation,

While this itself may be strictly true, most closures in Rust do not require any allocation at all, and will even possibly get inlined like any other function.
Jetbrains offers Emacs keybinding. Bash uses Emacs like keybinding. There's a package for Sublime. There's Firemacs for Firefox. Emacs bindings for DrRacket. An Emacs package for VScode. And a printed version of the Emacs Documentation from FSF. https://shop.fsf.org/books/gnu-emacs-manual-17th-edition-v-2...

I'm biased of course, but toward something that tends to allow me to reduce cognitive load in a place that doesn't matter. I get Emacs like bindings for writing and editing this comment.

That said, learning Emacs means losing a bit of productivity for a bit of time. It also means continuing to learn for a long time. It might be years before rectangular editing mode becomes natural or creating and destroying abbreviations on the fly is a matter of habit...or looking up documentation in the documentation rather than Googling for it. But every little bit tends to pay off.

I don't have anything against Vim. It does what it does well. It just doesn't do as much and sometimes the Unix design principle of only doing one thing isn't what I want...turing machines, compilers, laptops, web browsers are all examples.

Anyway, it's just my random advice from the internet.

Good luck.
>Golang doesn't have the library or tooling maturity or breadth to make it a real competitor to Java in the enterprise space IMHO.

This is why my company is being forced to scrap Go. It was good since it was easy to learn by devs, type checked, and fast. But the lack of libraries vs Java means it won't work for a lot of projects. One big issue is the lack of good database drivers.