skysight-inc/HackerNews huggingface dataset:
Tide Protocol – “Splintering” passwords for greater security
Same choice Java made.
https://kottke.org/16/10/how-the-cretaceous-coastline-of-nor...

"How the Cretaceous coastline of North America affects US presidential elections

...

Along that ancient coastline of a shallow sea, plankton with carbonate skeletons lived and died in massive numbers, accumulating into large chalk formations on the bottom of the sea. When the sea level dropped and the sea drained through the porous chalk, rich bands of soil were left right along the former coastline. When that area was settled and farmed in the 19th century, that rich soil was perfect for growing cotton. And cotton production was particularly profitable, so slaves were heavily used in those areas."
In developing countries especially, many parents beat their children daily. Many husbands beat their wives daily. Many teachers beat their students daily. In traffic, motorists and touts engage in fights daily. Governments routinely have their citizens arrested, tortured, and killed. Armed criminals rob, rape and murder people daily. Most babies have their private parts mutilated.

All or most of the above would be classified as in-group violence by an objective observer, so it is difficult to agree with you that our ingroup violence as a species is much lower.
Equipment and phone makers need new "Gs" to sell more products, 5G overall is pointless. 5G may never be commercially viable in Canada.
tldr; The Tide Foundation, a non-profit organisation, has developed a mechanism that it says makes passwords exponentially more difficult to crack.
Waffle House Has Its Own Poet Laureate
eBPF is not for general purpose computation, it mostly functions as a sophisticated query language for extracting data, it doesn't even have loops. it is not comparable to WASM.
You're still passing undue judgement and exhibiting stereotypical categorization towards people who use atomizers, without having all the facts. Most of these people don't push their temps to the max because it ruins the flavor and destroys the compound. They actually use very precise temperature control and a higher temp doesn't mean more clouds. Except for extreme temperatures, temperature has also not been cited as contributing to this epidemic.

> Inhaling anything other than air isn't good for your lungs

What is "air"? The air quality where I live is pretty awful and filled with contaminants. Also, can you point to a case where inhaling marijuana smoke/vapor has lead to cancer or serious disease? Not all smoke/vapor is created equal. It matters what its composed of.
The Power of Questions
On i7:

> AVX2 code is faster than the dedicated instruction for input size 512 bytes and larger

The difference is indeed tiny. Still - it's very cool the generic AVX2 code can beat the instruction burned in the silicon!
Show HN: Engarde: Parse envoy and istio-proxy access logs like a champ
They claim they have budgets, 'categories', and something I wish YNAB had, 'tags'. Tags would be nice so that I could categorize expenses normally, e.g. 'restaurants', but also group them, e.g. 'trip to X'.
Asking these questions a lot in interviews to candidates most people lie by either talking in generalities, or back off and are honest like "were going through that now" both give you an answer. I have not asked this directly in an interview but my normal tactic is to have lunch with the engineers and no manager which gets you lots of examples.
this just saved me a bunch of time thanks!
Quick observation from the data presented in article (very well done, by the way): Beginning iOS 11, if I remember correctly, Apple finally added the ability to delete stock apps. Deleted apps could be downloaded from App Store later. Perhaps the « boost » in search rankings for the stock apps was related to that ? If the dates match, I assume they would have wanted these to be found easily and screwed up in scoring. This is assuming good faith, of course.

Edit: I did not remember correctly! This feature was added in iOS 10, released in September 2016.
Can you add existentially-quantified generics? Then OOP with dynamic dispatch would just be syntactic sugar. IMHO this would be way better than C++ since it would completely unify generics with the OO approach.
Something broke, it's back now.
Indeed, most of the book https://leanprover.github.io/logic_and_proof/
is entirely term mode proofs, with tactics largely absent.
Not necessary. Something broke, you should be fine now.
Apparently if you market share increases you are no longer allowed to make "just works" products.
FYI the freedom/wind mobile "Holiday Miracle" plan is now basically available when you get the 2GB plan since they now give you +3GB as "bonus" for only $40/month, but you are required to sign up for a new plan.
Thanks for highlighting this bit, I also find it very interesting to think about!

Here's a related property I've also discovered of 'advanced' type systems.

In my understanding of how unification happens in systems like H-M, you first give every expression its own type variable, then perform a search to produce assignments to those that remain valid and leave the remainders generic.

But as your type system gets fancier, and particularly in the presence of union types and subtyping, this search process can feel like "make whatever type judgements are necessary to make this program still compile". E.g. in code like

let x = new Set();
x.add('hello');
x.add(3); // oops, meant to add the string '3'
f(x);

The inferencer can just reason "oh apparently x is Set<number|string>", and "oh apparently f() operates over all kinds of sets, Set<{}>". And especially when there's never a more specific type for things to "bottom out" on (like say f just forwards the set elements to JSON.stringify(), which accepts both string and number already), nothing will ever reveal to you that you actually wrote a bug.

But then meanwhile even in Haskell you run into cases where the inferencer wasn't generic enough, like https://wiki.haskell.org/Monomorphism_restriction , so it's not even clear cut that you want the inferencer to be smarter or dumber. As my coworker says: as a programmer you have to be able to basically run the inferencer in your head, and that becomes very hard when the inferencer gets very smart. (See the RxJS bug in the above blog post.)
It's really rare to care about the number of glyphs. That's not something you can answer for a string in isolation, anyway; it depends on the font being used to render it. The only code that would care about this would be something like a text rendering engine allocating a buffer to hold glyph info.

I suspect you mean the number of grapheme clusters, which is Unicode's attempt to define something that lines up with the intuitive notion of "a character." This is basically a unit that your cursor moves over when you press an arrow key.

However, it's pretty uncommon to want to know the number of grapheme clusters too. Lots of people think they want to know it, but I struggle to come up with a use case where it's actually appropriate. An intentionally arbitrary limit like Tweet length is the best I can think of.

"How many bytes" is ambiguous. Do you mean UTF-8, UTF-16, UTF-32, or something else?

There are a lot of different ways to answer the question, "how long is this string?"

You did mention similar metrics, but you then went on to say that the objections don't make sense and that the actual problem is that length for a unicode string is difficult to calculate.

My point is that the difficulty of calculating a length is not the problem. It's annoying, but people have written the code to do it and there's rarely any reason to write it yourself. Just call into whatever library and have it do the work. The problem is that you have to know what kind of question to ask so you can make the call that will actually give you the answer that you need. And that is not the sort of thing that can be wrapped up in a nice little API.
Make a record and the environmental damage is done.

Steaming music continues environmental damage for as long as the server is on.
Well, if the exception is not thrown, no code related to the exceptional path goes into the instruction cache (not even checking for exception propagation). Assuming of course a non-completely dumb compiler that puts exceptional path code and unwinds tables in separate pages than hot code.
Airtable has a huge userbase. Some non-tech people have built products making tens of thousands of dollars in MRR, using bubble.is.

Then there are tools like Shopify which is good enough for a large set of e-commerce use cases.

There was one called Retool (https://retool.com/), that got great positive reviews on HN few months back
> my usual 1-2 years
A genuine question...(I am not from USA.)
Is this 1-2 years period normal for many people/IT companies? Is it similar to contracting- benefits and tech/business exposure wise?
Some here: https://news.ycombinator.com/item?id=20919442 (in response to another reply). I might type more up later on.
I think one root cause is that the two demands Dev usually have for Ops (keep the system protected and up-to-date and keep the developed software working in a well-defined environment) are sometimes directly conflicting - and developers don't always seem to realise this can be the case.

E.g. you could imagine some extreme case in which dependency X, version N has a critical vulnerability - but at the same time, the developed software relies on exactly version N being present and will break horribly on any other version.

You'd need Dev and Ops to actively work together to solve this problem and no amount of layering or containerization would get you around that.
I'm in the same boat. It bothers me that my only option will be to rewrite in Python 3. Unless they provide a very clear migration path, I'm far more likely to just remove ROS entirely, unfortunately.
Sure, the demand for farriers has stabilized, but it is very low compared to 150 years ago, when farriers and blacksmiths had a lot of overlap and it was a very common profession.

The difference with music is how many people want to be professional musicians. So many people love music and discover they have talent, so it is seen as a desirable profession.
Well 2mbit of ram was (at the time) a huge amount of ram.

But I suspect it was so much “we want to address petabytes of ram” but rather “we are doing numerics that require 64 bits of accuracy”
> use a good software whitelisting program that tracks elevations & the reasons for them, instead of just blanket giving everyone local admin on their own PC

You can propose such a thing. If you're in charge at a company, you might get to implement it. But if you do, know that it's a huge black mark against your company. I've seen how these whitelists work in practice. They're massive wastes of time. They get in the way of actually doing one's job, as creative work can't be constrained and approved in advance by some committee with a ten-business-day turnaround on getting some damn file conversion utility to run.

The golden rule of "security product" culture is this: inconvenience is a feature, not a bug, since friction reminds people that the infosec group exists. When it comes to stuff like this, all the incentives are lined up to just inconvenience people, not protect them. We ought to protect data, not code.
No spontaneity. In my last company, we all worked remotely and we had very functional calls during the week. However over time things got tense really often, cause we did not really know each other.

Then we introduced a Friday call where we had a casual overview of the week, but mostly talked about what we did or are doing outside work. It helped a lot, people understood each other more. And most importantly got sense of each other's sense of humor and work ethic.

Point being there's a lot more incidental interaction that goes on at an on-site job that helps you get to know people you work with.

As remote work manager, you have to engineer non-work related social interactions if you want to have a cohesive team of people.
How annoying :(

At least you can put the title on your resume!
We’re looking for a tech co-founder for a project about vinyl records. The iOS MVP app has been launched, got over thousands of paid downloads, reached second on App Store top paid music app, gathered interest from major magazines about music (Resident Advisor, DJ Mag and many more) and a couple of accelerators. Now we’re looking to add features and improve it to start monetizing. If you’re passionate about vinyl records and have exceptional skills on iOS, Firebase Suite and React, we’d love to discuss.
Two languages with one stone :D
This was always a classic example of how flexible Perl was -- that you could even rewrite the language to use Latin. I wonder if anyone's working on something similar for Racket, given that being a language construction set is one of its strengths.
Nice job integrating Cloudinary, 8base and AWS Translate.
Cult of the Dead Cow: How the Original Hacking Supergroup Might Save the World
Busy Beaver Game
I've never flat out lied to a candidate, but I know part of my job as an interviewer is to sell the company/position, so I put a positive spin on things. Same thing the candidate is doing.

It's not even uncommon to be hired for one role and end up in another role for whatever reason.

Another thing is, policies change. Your interviewer could be grandfathered in and not know it (or know it, but don't mention it...). Or they could simply mention the last policy they remember, which isn't the current policy.

Some people also would rather just make up an answer rather than say "I don't know."

>It's weird that you didn't get the title in the contract

Job titles are not always correlated with job responsibilities. Hence we have "senior engineers" with a year experience. Title inflation is a real thing.
I worked at a place that had decided to increase office space in an unusual way. They once had done their own power generation with an oil boiler and had a very large underground concrete oil bunker. They eventually tore down the power plant and "cleaned" out the bunker. So, someone, bless their soul, came up with the idea of putting a cube farm in the bunker. Well, even cleaned and sealed, concrete 'bleeds' oil for a while. No problem, they just built a box in the bunker and vented around it to remove any fumes. So, the cubes are in a box in an underground bunker with a constant wind between the bunker wall and box wall.

Had an office with a nice view and plenty of sun. Got moved into a cube that neither cellphones nor radio got a signal with this constant wind noise since I was up against the wall. I left in 8 months (for other reasons amazingly enough). I dearly wish that there were transcripts of the meetings that went into that project.
Thanks for being here, and for all the work you put into educational materials. As easy as it is to hate on "coding 4 kids" products, it's a real under-served niche that has the potential to do a lot of good in the world.

Despite the proliferation of electronics and software, the generation of kids growing up today doesn't have the same access to the underlying machine that we took for granted. I don't think any 8 year-olds are getting root access to their iPhones and installing terminal emulators...
"Agency Agile" is another good one.
I've taken several invented recipes to the full formality of 1/10 gram weights and full timed instructions and such. That process is difficult; "it needs a pinch more salt, weigh out 0.2g, try, 0.1g more, ... mark it +0.25g for the next batch."

It is nice when someone can replicate you dish without your input.
How to get into Y Combinator according to the founders that did get in
You kinda have to have worked with Flow to understand where this comment is coming from. Basically what tends to happen for Flow upgrades is that some upgrades throw a million new errors with incoherent messages. For things that are already verified to be working and in production. So an upgrade essentially becomes an exercise in making the type checker happy for its own sake, at the expense of not implementing features or fixing real bugs.

Typescript does not have soundness as a primary goal for a very good reason: there's a trade-off between soundness and productivity, especially when threading the large gray area between theoretical soundness and the realities of what constructs the compiler implementation is actually able to handle and what the existing ecosystem throws at it.

What the GP is lamenting is that a lot of changes in Flow create more work for developers, but they don't improve the rate at which it catches bugs in practice.
I'd like to know more details on how this works, does anyone here have links to papers?
This is a bit and oversimplified, but it also seems a bit weird, to me, to respond to a situation of "man it's going to be really annoying to rewrite all this code" with "You know what sounds like a better option? Rewriting all this code!"
Yes and yes, and still on my team 5 years later. So I suppose I aced their portion of the interview as well.
That's sort of hilarious... What are the incentives that prevent Google from upgrading their python 2 scripts to python 3? I guess it's more productive globally to stick with a supported version of Python 2.
I didn't like sharing my credentials either but I was using it – until it stopped working for most of my accounts.

I've since stopped using even the 'manual import' and I've found that reconciling to my bank/financial-company statements manually is much easier overall as importing auto-reconciled transactions but then it was basically impossible to then match any specific balance reported by the bank/financial-company.
Reminder: millions and millions of people worldwide are vaping. This condition affects fewer than 500 people thus far.
Yep, I saw that. Thanks a lot for letting me know. I'm resetting credentials and setting up the DB again. Cheers.
> Could we just avoid cookies altogether, and store session info in local storage?

Several possible issues there:

- If the session is large, it eats space on the user's machine and bandwidth in requests
- The session can't be shared across devices
- Security concerns. You don't want to trust the user to tell you what their current state is - especially if it's "I have this much money in my account" and the like. Even if you encrypted the data, they could resend the same state at a later time - "oh look, I have a full wallet again!"

You're much safer if all the user sends is "here's who I am" and every bit of associated information is under your control server-side.
Worth mentioning: http://hasura.io
This needs to be made clearer in the readme: C++ and Haskell are requirements for building the type inference engine; Python is necessary for invoking the frontend (or the binaries can be downloaded).
I hope the Raspberry Pi community really switches to Python3 soon.

I've looked at the PiStorms stuff MindSensors (Lego Mindstorms compatible). Unfortunately it all seems to be just Python2 based.

Looking at all the code it seems you're always basically running your own event loop (infinite while True: loop). I think it'd be really awesome to utilize Python 3's asyncio package to write more event driven programs.

Writing code in asyncio is basically a different paradigm. It's not like Golang where you can write a function and not care if someone is calling it synchronously or starting a goroutine with it. With Python asyncio it seems for every good library out there someone has a create an asyncio version of it. For instance "requests" vs. "aiohttp".

So, while embracing Python 3 still wouldn't get me what I ultimately want, it's a first step in the right direction.
Ask HN: What's the best resource for learning the principles of game design?
I'm working on a finance app (gurgeh.com). The goals are:
1. Show people how much money they need to retire.
2. Help them get there fast(er).

For the past 3 months, I've only focused on #1 (I followed pg's advice and put something small out there, talked to users, and iterated a few times based on feedback).
Now, the app can accurately tell a person how much money they need to retire.

That was the easy part.

#2 is where things get hard. Now, I need to help people reach their retirement amount in a way that makes sense.
This means I can't just say "ok pay off your credit card debt", or "add as much as you can to your savings." These goals are too big and too hard to do at once.
The goals need to start small and get progressively harder (so users would start with something like "add $10 to your savings").

But although I know this in theory, I have no idea how to structure it in practice.

The way I described it, it sounds like a game. So I figured I must study game design (though I'm open to other recommendations).

The problem is, "gamification" is the word du jour... So I see many resources about it online, but I don't know which one is the best.

It would all have been easier if Sid Meyer wrote a book on game design, but he didn't. So I'm not sure which authors to trust. I haven't found a book on game design written by someone who actually built popular games.

Any suggestions?
'A.I' -> 'Linear regression'

* ducks and runs
I'm working on a new layout which wouldn't feature such a menu. Tabler IO, you can Google it.
There are several good arguments in the article that cosmology features several philosophical decisions. There are no arguments whatsoever that those decisions would in any way benefit from interference by or consultation with the morass of arbitrary statements which compose formal philosophy. The author doesn't even try to lay out a hypothetical scenario in which a scientist would benefit from... well I don't know exactly what they propose since they don't actually make any suggestions at all besides "use more philosophy".
Yeah I’ve worked at G, other big companies and smaller places. My own anecdotes roughly fit my “average” explanations.
M doesn’t really do that for anyone but new grad hires. I’m not sure either A does that either (the A closest to M doesn’t, I know from personal experience). F and G definitely do, they are notorious for it.
When I reviewed different obfuscator products, it was based on the idea it was only a "speedbump," for our threat actors, and imposed the cost of someone having both the motive and means to reverse it.

If you would prefer that a summer student at an enterprise customer doesn't replace your product with an in-house work-alike, it's useful. Similar if it's cheaper to buy your product than spending several hours reversing it.

If your business model relies on the integrity of a secret (key, derivation component, method, etc), it probably has a single, catastrophic failure mode and obfuscation isn't your solution.
Do people feel a change or observe a change? People aren't logical and are easily lead. Looking at why people perceive something can be insightful.

For example, in the Atlantic basin there has been a bunch of work to try to measure hurricane changes. See https://www.gfdl.noaa.gov/global-warming-and-hurricanes/. So far, the impact has been minimal (small increases in rain amounts).

Do we build more in the hurricane zones? Is more talk on it leading people to feel things are worse? Are they worse and if so what measurements show it? Are more people impacted because of population growth?
That's a very nice idea.
I went with WinForms as it was the "stupid easy way" infact on the first i just updated a PictureBox.

There was a time when i had a SDL multiplatform branch but it was noticeably slower so i didn't put much effort on it and it ended deleted.

I mainly focused on the core PSX things and not much on the program itself like the emulator window itself...
Having worked at both I can say it’s not that different. But I had a great team at Microsoft
Python 2.7 isn't yet unsupported, so it doesn't compare to the deprecated Postgres version you linked to. Click through to the oldest _supported_ Postgres version, and it isn't clear when _it_ will lose support - no banners at all - , just like the currently supported Py 2.7.
People are motivated to adopt pro-environmental behaviors like recycling, (cont)