skysight-inc/HackerNews huggingface dataset:
"The societal default used to be that substantially all conversations were inaccessible to the government except through testimony"

Sure. Before the telegraph was invented. And even before that people used security measures, such as wax seals on letters to prevent tampering or at least have an ability to detect whether or not the message has been tampered with.

You seem to think of messaging systems as if they were spoken conversations in private. They are not. Just because you are chatting with someone from the privacy of your own home, doesn't negate the fact that your words are traveling through a lot of wires and boxes belonging to all sorts of private and public entities.

During WW2, American federal government established Office of Censorship whose sole purpose was to review and censor all communications coming into and out of the country. Now imagine them finding that someone is mailing letters written in an unbreakable code. How long do you think it would take for the FBI to break down that person's door?

I am not saying we should not have end to end encryption. I am saying that government spying on citizens is nothing new, it is not something that was ever limited to totalitarian dictatorships and it should not be surprising to anyone that the government is trying to fight it. The news is not that the government wants to keep an option to read your communications. The news is that first time in history there is a chance people might want to and be able to stop them.
How would letting people continue to use what's been working for them cause a "broken user experience"?

Users should have to power to decide when and if to update. If their old version causes them technical problems or exposes them to security issues that is their business. Software can (and often should) offer auto-updates to make things easier for most users but it should respect a user's choice not to update. Especially when updates often introduce anti-features and/or disable existing features.
When you join a company, especially a start-up, that is clearly and publicly losing a massive amount of money, there is some onus on you to be aware of the risk.
Nanoscribe – Think big, print nano
* Should we require all in-person conversation to be shouted near a government office?*

"Why isn't your desk in front of the telescreen?" - 1984

The day will come when not having an Amazon Echo or Google Speaker will be considered probably cause for a search.
Show HN: Get related terms to a given term
> I never really understood how these desks were "frugal".

That's what the article is saying. They weren't frugal, at all. But they looked frugal to investors who were willing to be duped.
Good in-depth article. Only nitpick is the part about "Apple’s rollout might be slowing." They have to really (in my opinion) misrepresent the data to say that it's slowing. The author quotes how the latest expansion is smaller than the last expansion. However, they don't take into account that the "Expansion 5" came only one month after "Expansion 4", which came /five/ months after "Expansion 3". If anything, it would feel like the rollout is speeding up, since it came hot on the heels of the previous expansion.

The author does, at least, qualify that the most recent expansion covers a lot more population density than previous expansions.
Why not aero braking? You could install little flaps actuated with hydraulics along the train. This could probably be part of the normal braking system. The amount of drag produced by something like this at 1000kmh would likely be very substantial.
I did that Amtrak route (Coastal Starlight) recently and it just took so long. I'd rather take a bus next time. I won't be doing either, though -- I'll just fly. It costs the same anyways.
They were counting on a big chunk of cash from the IPO that they could use to pay the interest on their massive debts and keep expanding and developing to keep the growth/valuation story alive. This was all undone when outside investors saw the S-1 had no clothes. Those debt payments still need to happen though, and no one buys the valuation story anymore so something has to give.
China is dense? This is a study working towards connecting cities >900 km apart.

edit: article says 2200, maps says 900ish
> the advent of self driving and electric cars will doom them regardless.

Fully autonomous self driving cars are decades away[0] - assuming 15-20 years that about 20% of one's lifetime, developing rail is only a few years effort.

I do not understand how electric cars would doom rail.

[0]https://www.businessinsider.in/transportation/cars/experts-s...
> Conclusion

> ...

> However, its limitations mean that its findings are not conclusive.
Three cities for CT, only one for NJ. Syracuse doesn't merit a label despite plenty of room to relocate NY.
Well, adoption rates of programming languages has almost nothing to do with the features and qualities of the language itself. Swift is big because it's backed by Apple, Go is big because it's backed by Google, Javascript because it's on the web, etc. Python might actually be the only language that succeeded "on its merits" to some extent, and even then it seems more to do with some early success and libraries than the core nature of the language itself.

As the author of the post, I don't actually think I can make a compelling argument for why someone should switch to using Haskell in their day job. I don't have real experience in the software engineering industry, and from what little I do know language choice doesn't make a huge difference.

That said, I think it's valid to say that a given pattern is bad, or another pattern is better. I was trying to argue for that in the post in a couple cases that I think Haskell does well.
Not the OP but this article agrees with the OP:

And more Americans than ever are zipping around in SUVs and pickup trucks, which, thanks to their height, weight and shape are between two and three times more likely to kill people they hit. SUVs are also the most profitable cars on the market, for the simple reason buyers are willing to pay more for them. As with speeding, there appears to be a self-perpetuating cycle at work: the increased presence of large cars on the road makes them feel more dangerous, which makes owning a large car yourself feel more comforting.

https://www.theguardian.com/technology/2019/oct/03/collision...
change my mind: bayes in practice is just a way to regularize your model and the language of bayes makes it seem principled but really you could use literally any regularizer and it would work almost just as well. i believe this because ultimately you're always going to minimize loglikelihood anyway (and so the prior becomes the regularization term).
Nah. Too expensive, requires warrants etc. They'll use this instead: https://news.ycombinator.com/item?id=21124963.
IIRC from some other article; most JavaScript engines use a UTF-16 Unicode encoding for characters, and it looks like the .length attribute is reporting the memory footprint in terms of 16 bit codepoints. A single grapheme (display 'character', pictograph, or fixed sized space) may be composed of one or more codepoints.

'length' is subjective. It makes sense to want to know how many storage units are required.

Knowing the number of printed 'graphemes' (do we count non-printing 'characters'?) might also be useful.

The display length (at a given scaling size, taking in to consideration font kerning/etc) can also be useful.

That's where the linked article really goes off the rails. Characters don't have printing widths, not outside of extremely specific circumstances. You have to ask the layout engine in use what dimensions are occupied after it solves the very complex problem.
> I also think PHP is a hot mess.

More of a hot mess of a language than Javascript where every engine can apply their own rules and implementations, just like HTML?

Just because almost everyone uses V8, it doesn't change the fact that when you execute Javascript code, it's not guaranteed to run a certain way because each engine is based on recommendations and standards - not cemented rules. It's the same problem as having to write HTML/CSS for each browser engine.
Yup. It's a pretty strong confound in this interpretations. You could easily flip the Mail Online headline to "People with health issues often sleep poorly".
Show HN: Train XGBoost in Python, Predict in 486kB Go Container
While that passage is interesting in how it links to the article in OP, I find the article you shared to be significantly more interesting. I’ve always heard convincing links between poor sleep and poor health but I never knew there was such a controversial link between hypnotics and increased mortality, that’s a bit terrifying
I wish we could do away with (parts of) libc entirely. Many of its design principles and limitations date back to its inception and don't make sense today, even on "embedded" systems.

- function names limited to 6 characters (because of compiler/linker memory limits at the time?)

- non-reentrency of many functions (strtok(), errno...)

- dangerous string manipulation functions (see the various iterations of strcpy())

- and so much more...

Of course, I'm missing the point. Libc continues on because it's standard and backwards-compatible, and lets you leverage 50 years of software ecosystem.

Nevertheless, I'd love to see what a modern clean-slate implementation might look like. I'm sure there'd be much disagreement about what warrants replacement and what doesn't ;)
Stockton is giving people $500 a month. Here’s how they’re spending it
Ability to sleep well in new setting linked to long life.
We have certain cron jobs that if they failed we could be losing thousands of dollars an hour.

Of course they're tested, and you're right they've worked fine for a looooong time.

But I don't care if they "normally work fine", I need to know immediately if it didn't run for any reason. We self hosted a cron monitor, it was free and only took less then a day to add and have fully integrated, including text message and MS teams notifications.
So... stale statistics? I.e. the optimizer making the query plan assuming that the table has thousands of records (because that's what it had earlier) and now it has hundreds of millions of records? A sudden order of magnitude change in table sizes isn't normal operation, for most DB platforms that requires running some "everything's different now, please recalculate statistics" command to maintain proper functioning.
But the specific question is, do you keep a phone in your home? If so, how is that better than having Alexa in your home?
I just so happened to use this page today and have used it many times in the past. It's very useful for just double-checking my syntax. It's not like cron has a complicated syntax but for some reason I can't ever seem to commit it to memory, especially for the slightly trickier things like doing something every 15 minutes on the second Saturday of every month.

Part of my problem with committing the syntax to memory likely stems from the fact that I've always had pages like this one to fall back on.
Two ways. Gradually, then suddenly.
I so much more prefer people to respond with reasons than say you should use abc, why, because it’s better
> I wonder if Lua developers have learnt anything from him with respect to performance.

It cannot be emphasized enough that PUC-Lua and LuaJIT have different goals. One goal for PUC-Lua is that it must be portable everywhere and be implementable in pure ANSI C (no platform or architecture specific calls). LuaJIT in contrast contains much handwritten assembly for the specific architectures it supports.

PUC-Lua also cares deeply about interoperating with C and hence why the Lua-C interface is formally part of the language spec, and as the parent thread mentioned, LuaJIT using the traditional Lua-C interface can be really slow.

That said, PUC-Lua has learned a lot from Mike Pall. It was Pall that helped them get fully yieldable coroutines across pcall boundaries. I'm sure Pall's lengthy analysis of unimpressive garbage collection performance in both Lua 5.1 and LuaJIT was read by all of them and a motivation for them to try the generational garbage collector now finally working in 5.4.

But finally, there is a new project called Pallene (not being pedantic, formerly known as Titan). It is inspired by all the lessons of LuaJIT. The name 'Pallene' is a nod to Mike Pall. Pallene is a statically typed sister language to Lua that is designed for performance and easy C/Lua bridging, but in a way that doesn't bring in all the downsides of JIT. The language is glued at the hip to Lua so there is also easy interoperability between Pallene and Lua code. Pallene introduces static types not for the sake of type safety, but for the purpose of inferring what things can be optimized. Pallene brings in a AOT compiler into the mix and generates optimized binaries. But these binaries also look like any other Lua/C native library so they are callable from normal Lua too and the user doesn't know if they were implemented in C or Pallene.

Pallene was previously discussed on HN here:

https://news.ycombinator.com/item?id=18038619

Also look for the original Titan talk from one of the Lua Workshops a few years ago.
You should probably clarify that your codebase seems primarily PHP.
> The comments about fake news how colleges stifle free speech are typical Conservative dog whistles in the United States.

Dog whistles? What "secret meaning" is meant to be conveyed?

> This article could be construed as being right leaning

I don't see how the article can be construed as "right leaning" as there is nothing conservative or liberal about supporting free speech and the value to listening to dissenting opinions.

Indeed, I think the desire to categorize arguments, article, positions or especially people as "conservative" or "liberal" rather than engaging with ideas on their merits is a distinctly negative trend that accelerates our descent into ineffectual partisan bickering. It means that anyone who takes the time to consider issues carefully and form their own opinion gets shut out as a "liberal" by the conservative and a "conservative" by the liberals. Thus the people who we should be paying the most attention to are the ones who get ignored.
Change one thing and manually fix compiler errors it's what I'm talking about.

Point me to something like that, for, lets say, Python. For example to error when I misuse return value of a function. Or when I decide that this string is no longer a string but a customer name. Or when my function will call IO operation, but it's not allowed to do so. Or when I add new field to a record and its not fully constructed somewhere.
I totally disagree. Functional programming teaches practices that are helpful regardless of what paradigm you use. Pure functions by definition adhere to dependency injection and single responsibility principle. While most programming languages don't enforce immutability, being aware of mutation is a generally helpful skill. There's a reason that lambda have become table stakes for new programming languages, and that's because composing functionality is a generally useful feature. I have never been paid to write in a functional language, but learning from functional languages has always improved my general programming skills.
There are a lot of semi "power users" with little CS background that write simple SQL queries for their work.

I think the main difference is in the level of curiosity/caring the person exhibits when they get a result you don't expect. When they do something that they think should work and it doesn't, do they carefully figure out the system behind it and why?

The users that do will write better queries faster, and the others will will just keep getting frustrated and foist the work onto others.
I see roughly the type of issue you face. For the case where there's some good value/effort ratio to invent internal representations, Haskell's being "strong" on parsing tasks make it a good fit. When this ratio is less clear: I found lenses, albeit a bit foreign to typical Haskell code, are a really good addition (for me it's akin to a new language, like `jq` for arbitrary in-memory structures) for extract/read tasks.

Anecdotal evidence: I recently had to turbo-build a tool to generate statistics over five-digit numbers of very complex business objects (including dates, strings, IDs, boolean as whatever string, ill-named columns) scattered in a number of systems (some web apis plus some CSV extracts from you don't really-know where). Using 'raw structures' like Aeson's JSON AST with lenses was more than good enough. Lenses have typically solved the "dynamic / cumbersone shape". Then I had to create a CSV extratc with like 50 boolean fields, reaching to intermediate techniques like type-level symbols allowed to really cheaply ensure I was not mixing two lines when adding a new column. I could even reach to Haxl from Facebook to write a layer of "querying" over my many heterogeneous source to automatically make concurrent and cached fetches for it.

The main difficulty in this setup is to keep the RAM usage under control because of two things. On the one hand, AST representations are costly. On the other hand, concurrency and caching means more work done in the same memory space.

Overall, got the data on time at relatively low effort (really low compared to previous attempt - to a point that some people with mileage at my company thought it would be impossible to build timely). Pretty good experience, would recommend to a friend.
It's all valid points, but I personally don't care, I rarely see a page that obnoxious because of its JS use. Most sites I find repulsive is their use of ads. Now if there were no JS in browsers, these site would still plant heaps of ads only with CSS, it's not the code execution to blame. If the publisher controls the layout then it's game over for freedom :)

> Do you happen to be a UX person?

Not a label I'd put in my title, but I like UX, it's an integral part of building good products so I spent fair bit of time exercising it. I'm a full stack developer and who likes to build experiences users love.
So by the logic of your own opinion, Javascript would be seen as even less of a mature language than PHP because the "genesis" of JS was really the V8 engine and Node, which didn't happen until 2008-2009.
Hell, it’s nakedly visible in policy in treatment of children from different cultures in the US itself. Xenophobia is a known route to power. This impulse CAN be countered by putting it in the light. Policy can and should always be driven in part by logic.
In reality though, leadership means creating Dutch Books out of your portfolio of projects and making sure any statements you make can be retroactively debated into alignment with whatever reality ended up producing. It’s a game to do this as long as you can before you get the hot potato resignation / layoff, spend 6 months relaxing on cushy severance, and then hire an expensive executive search firm to do PR and put you back on some interview circuit for the next leadership gig.

Very similar to professional sports coaching (and collegiate coaching in the US).
WeWork expected to announce major layoffs
I guess the history of this auto-antonym is that in Latin, it refers to a decree or rule—which could potentially be a decree allowing something, or a decree forbidding something.
I wouldn’t correlate the two. Despite the focus on brand to imply the contrary, WeWork isn’t a tech company. They’re a real estate lease flipping company.
I did it just on my own accord back in 2009 or so.
Define a unit and run it individually to troubleshoot vs modifying the crontab for 1 min ahead
Logging in journalctl
Built in jitter options to spread tasks across a window in a large fleet
Ability to use the unit as a dep for other things
Instrumented in systemctl list-timers
Store config in user home dir (I think ) for tasks owned by a user
In the situation I experience on my commute daily: I'm 40m back and the detector is 3m perpendicular off my line of travel (reasonable approximation, as they're on a roadside light standard, the lane width is 3.5m, and the car is centered in the lane), that is a very minor discrepency. On the order of 0.2 km/h
> Can I filter based on the results of a window function? (no! window functions happen in SELECT, which happens after both WHERE and GROUP BY)

Yes, you can by wrapping the entire SELECT in another SELECT (or use WITH)

select *
from (select ...) as x
where ...

This works because the result of a SELECT is a (virtual) table on its own. It was an eye opener when I saw it for the first time.
HR is not in your interest. They are only looking out for the company. They will protect illegal actions by the company if you are raising issues. See how Wells Fargo HR was complicit in their recent scandals.
If you're injecting your settings at the root of your reader monad (which almost all Haskell applications are structured around), how many function calls are you between your monad stack and where you need to thread settings to? 3? Maybe 4? This isn't an issue in practise. It's a 4 line diff.

Source: 3 years of pure FP Scala in prod
I remember the first time I heard of Bayes Theorem , it took me a while to grasp it.
I'm not certain. I don't recall the signs when I started in 2013. The one EHS document I can find that mentions the posters is dated 2014: https://ehs.utexas.edu/documents/EHS-AnnualReport-2014.pdf
where's that from?

edit: googled it - the Jungle, I've been meaning to read that
> In Java this would be a few line change, just add a new field in items and add a line to subtract it in relevant places.

And then find out that since items used to be constants all instances of a given type of item are actually the same item object, so modifying one unexpectedly affects them all. Or worse, sometimes items are copied and sometimes they're shared by reference, so whether they're affected depends on each item's individual history.

One of the benefits of Haskell is that it forces you to think through these aspects of the API in advance. A mutable object with its own distinct identity and state is a very different concept from an immutable constant and the design should reflect this. Changing one into the other is not an action to be taken lightly.
That's only if it does stop 4-5 times, though. Japan's HSR has trains where some stop at intermediate stations and some just go between major cities.
I made my door-desk with a used solid-core door purchased from Habitat for Humanity and a set of Ikea legs. The door was under $40 (although it was on sale when I bought it), and the set of Ikea legs was...I want to say around $30 with tax?
> Although, this view is pretty idyllic and probably unattainable or not profitable.

It's on the extreme end, but there is a spectrum of how we allow animals to be raised. At the one end, even those with the lowest incomes can afford meat, but conditions are bad. At the other end, only the wealthy can afford meat, but conditions can be good. That's the trade-off.

Profit is just markup, it can be made either way.
It might be fair, but it doesn't work. Environmental changes are better than legislation at changing driver behavior.

More and more it seems that there isn't really a "safe" way to operate a car. It's really about how much risk society is willing to accept.

Aggressively holding drivers accountable for their mistakes might be necessary and an improvement but it wouldn't be sufficient to make streets safe for other users.
Haskell seems cool, but if I’m going to invest time in a different programming paradigm, I’m more curious about APL/K/J. They seem more useful as well (to me).