skysight-inc/HackerNews huggingface dataset:
Thanks! Yep, you're right about format changes -- that's why I'm thinking hard how to make it as generic as possible and make error handling defensive enough, so it doesn't fail at the slightest opportunity.

Not really planning for emacs package:

- I don't feel very efficient coding in Elisp

- lots of infrastructure required (e.g. scripts for fetching data) is not worth rewriting in Elisp. Actually most of it is quite Emacs-agnosic and it would be a trivial task for Orger to output Markdown/HTML instead of Org-mode if one wants.

- it's a bit more accessible for other people when it's written in Python. I probably wouldn't be wrong if I say that people who are comfortable messing with Emacs are a strict subset of people that can run few Python scripts in cron :)

That said, if you think there are some benefits in having it tighter integrated with Emacs, I'd be really interested to hear!
Suggest reducing line-height and horizontal padding - the proportions don’t make sense for mobile browsers.

Your custom font takes a while to load - consider CDN? Or maybe my phone just slow.
The basics of Svelte in under 3 minutes
not how i read his tweet. he was lamenting that python is too slow for some server side development use cases. and he gave cpp as an alternative that would be simpler and faster. he even followed up citing java and csharp.

totally agree. if all your backend server is mostly complex serialization & de-serialization, and pushing bytes to other sub-systems, i think many other languages have advantages over python.

wondering why no mention of go or rust though...
Author here – the majority of developers in the 2019 State of JavaScript [0] said that they didn't know Svelte but wanted to try it out. I was the same way, so I spent the weekend learning it, and I put together a few basic examples to show you how it works.

I'm interested to know if anyone has used Svelte for a larger production application. If so, what are your thoughts?

[0]: https://2019.stateofjs.com/front-end-frameworks/svelte/
Got you, thanks.

>there was a 82 x 10^120 chance that anyone could fulfill them all //

That's a very specific figure, I'm curious where it comes from, or is it just a hyperbolic way of saying "infinitesimal"?

Back to your original:

>In that case, it would be a virtue.

I think that it can be virtuous to trust when one is in the direst situation to the providence of God (or maybe the providence of those God inspires?) but once one has their daily needs I don't think God intends for us to dispense with basic economies and - for example - not pay in to a pension, or save for the future.
A lot of them have symbol files separate from the binary. Unixy tooling doesn't do this by default but for example objcopy(1) in binutils can copy symbols to another file before you run strip(1), and on Mac my memory is rusty but I think it may be dsymutil(1) that lets you copy to a .dSYM bundle. Microsoft has its .pdb files and never even keeps debug info inside the binary proper.
I do not know much about go, but languages like C++ and Java give you the tools to make tradeoffs appropriate to your situation: externalizing or stripping symbols and/or debugging information.
Because it's not a problem. So everybody does the same. And is not about the programming language, is about the programmer's choice. If it wants debug info inside a production program, the language let it happens. In today's age size of your executable is a non-issue. The only issue should be your performance.

Here is an example from my past. As embedded programmer I went and added manually a hundred lines of constants, which initially were just an array generated at start and increased that code by about 5%. Why? Because I gained 5 ms in execution speed. And in embedded world that's huge. Especially when your code is executed on the lowest 10 ms cycle. So the department head approved such a huge change because the code size doesn't matter, you can always buy a bigger chip, but if your car don't start because the watchdog keeps resetting your car's on-board computer then speed in code execution is everything.
> Google earns 92.42% of those search results, by being better, at least subjectively, than their competition.

Have you tried Google search lately?

It is almost never the case in technology that the superior product wins. It's the first to market with a really killer product. It takes massive inertia to displace an incumbent, and Google managed it because search engines prior to it were nearly useless portals (Yahoo, AltaVista, AskJeeves, etc.)

The requirements and conditions to displace Google now are virtually impossible, and that's even before factoring in their massive data profiling advantage.
The Go language literally requires that pclntab be included in release builds. I'm with you—it seems kind of crazy that this was designed into the language—but there you have it.

The reason is that Go's standard library provides functions that allow retrieving a backtrace and symbolicating that backtrace at runtime:

* https://golang.org/pkg/runtime/?m=all#Callers

* https://golang.org/pkg/runtime/?m=all#CallersFrames

Unlike in C or C++, where you can link in something like libbacktrace [0] to get a best-effort backtrace, those Go functions are guaranteed to be correct, even when functions have been inlined. This is no small feat, and indeed programs compiled with gccgo will often be incorrect because libbacktrace doesn't always get things right when functions have been inlined.

[0]: https://github.com/ianlancetaylor/libbacktrace
With some risk of 'no-true-scotsman', more I look at soviet/cold-war era, more it seems like Russia was exporting weird meld of cult-of-personality, imperialism and fascism?

To me, if reading about Gulag destroys left-wing for you, is like if realizing world was not created in 6 days destroyed your faith. Like what was your belief in the first place? But I had simmilar moments as well :)

I did hear that SSSR does still have fans in some western countries, and Alexander Solzhenitsyn has really good antidodes against that, I myself am a fan of "One Day in the Life of Ivan Denisovich"
The screenshot of the To-Do List is pretty bad
I don't know any lawyers or doctors pulling 80 hour weeks regularly without billing extra for it.
Thanks for this, it's inspired me to simply do some benchmarking to reach my own conclusion.
There is no such language as C/C++. You undermine your argument right out of the gate.
TLDR: They included debugging information when they did not intend to.
Its a crap shoot, in sf your taxes are higher and quality of living is higher.

I would say the reality is more like 60k adjusted
For me, I feel like caffeine is a constant reminder of how stressful my life is. The day I can forego caffeine is the moment I feel like I've made it in life. But for now, when I sometimes go cold-turkey on it, within days I will have someone reminding me of some business chore that has to be completed. A cup of coffee helps me find the motivation to complete the task.

The same goes for work. Shit hits the fan during the day, and to offset the frustration I drink coffee.

It's the same for past-time. When I start slipping from my workout routine, a fast line of pure caffeine just before I should be going to the gym sets my mind on going to the gym.

And I don't take it lightly -- when the stress from expectations and accumulated responsibilities start appearing at the same time of the year (as they in some wicked way always do) I start piling on caffeine. Once I was even hospitalized.

Years ago in simpler times, I was able to take a week-long vacation in a forest cabin without electricity (or coffee). The first day I did not want to do anything, so I slept 20 hours instead, waking up occasionally for an hour or so before going to sleep again. This continued for the next two days, and the people accompanying me thought I fell sick. On the fourth day, I finally felt like actually doing something. I felt like a lot of the stress and crankiness was gone, and I became more open about helping others again. Yet, at the same time, this is exactly how I end up finding new responsibilities - worthy of the added concentration of caffeine - again.
Cheap pure functions should rarely, if ever, be memoized. With a large space of inputs, it is usually much faster to simply execute the function body than to look up the memoized return value. Not to mention the added space complexity of memoization.
That’s amazing! Now if only there was something like this wood surfaces, I’d have a blast (no pun intended) working on my boat then!
I agree with some of your points; but zero-reliance on libc is the reason why it's so easy to use Go in containers; and Docker is one of the primary reasons why Go is popular. It's what they have got right.
The problem with removing that completely is that you won't get any information on panics. I don't think this is what you really want, and the current behaviour strikes me as a reasonable middle ground.

32M is really large for a simple plugin, and to be honest I think that says just as much about Kubernetes as it says about Go.
> ...My bias is that a lot (not all!) of complex “scalable” systems can be done with a simple, single C++ server.

The second tweet of the discussion:

> JAVA or C# would also be close, and there are good reasons to prefer those over C++ for servers. Many other languages would also be up there, the contrast is with Really Slow (but often productive and fun) languages.

I'm afraid that Carmack has sided with his own anecdotal experiences of the 1990s to justify the use of C++ for server-side development for the 21st Century. This probably made sense at the time due to the availability of more C++ devs and less language choices, but today in the 2020s? I remain totally unconvinced by his argument.

He goes on to suggest Java or C# which still makes sense for many companies for generic server-side development if you are after a more secure backend. Kotlin is pretty much the most sensible for this. But for the sake of Carmack's engineering background however, it is unsurprising why Java/C#/Kotlin are technically unsuitable for high-performance gaming platforms if one was to create one. So what credible languages could be used to compete with C++? I hear Discord is having a great time with using Elixir (Erlang could also be used) and another gaming platform called 'Hadean' is using Rust for their platform.
Reverse Engineering Carrot Crazy – Part 1 – Passwords
In my experience you would strip the symbols out of the prod binary, and save them separately somewhere.

Then your production binary will give you stack traces like [0x12345, 0xabcde, ...], but you can use the separately-stored files to symbolicate them and get the source file/line info.

Not sure if this is possible on all platforms but it at least is for all combinations of {C, C++, Objective-C, Rust} and { Linux, macOS, iOS } .

And if that added operational complexity is not worth the size savings, you can freely choose not to do it, and things will work like they do in Go.
I have, some comments here suggest those pages get flagged as well. It does me no good if I move to a GitHub page that gets blocked, and I would also have to deal with some sites choosing to link to GitHub directly, which would bypass the work I put into my site on documentation, tutorials, etc.
I like that analogy. I guess these images are more single-purpose minded, and often will do things read-only. Perfect for immutable infrastructure, but it's not a requirement.
An IBM RT AIX PC Experience
The article you linked is in error — plain and simple. The top budget pick, for example, is claimed to have 0.7ms input lag and 1.0ms gray to gray response time, which is obviously wrong — how can total input lag possibly be less than the time it takes for pixels to physically change state?

So I looked the model up on rtings (who does their own objective measurements — a much more reputable source than some random blog post / sponsored link ad) and their tests show it’s not much different from the LG C9: https://www.rtings.com/monitor/reviews/asus/vg248qe

At best, the Asus VG248QE achieves 5.1ms input lag, with 2.1ms 80% transition response time.

At the same resolution (1440p) but lower refresh rate (120hz vs 144hz) the LG C9 achieves 6.6ms input lag, with 0.2ms 80% transition response time.

The LG input lag time you quoted is when running 4K at 60hz, which is a fantastic input lag for that mode, and as far as I know about as good as any 4K gaming monitor out there. The C9 is actually capable of variable refresh rate though at 4K via HDMI 2.1 as well, but no current video cards or drivers are yet capable of this — but when they are, the expectation is that the LG C9 will be a serious contender vs even many dedicated gaming monitors.

Be very careful when comparing specs between different sources, combining different measurement methods, or comparing input lag numbers when the displays are configured at different refresh rates and screen resolutions.
My argument is that, as a function of time, there are more things to consider, not less. Abstraction works to a point, but it doesn't keep up with the growing complexity.
The author guessed a few things wrong:

* fmt.Println pulling in 300KB isn't proof that Go's standard library isn't "well modularized". It's the wonders of Unicode and other code that is actually used.

* 900K for the runtime isn't surprising when you have complex garbage collection and goroutine scheduling among other things
I love the smell of ozone though (not kidding!).

I think it's an association from dicking around with dodgy electric motors (that sparked in a cool way) when I was younger.
A small thread from 2018: https://news.ycombinator.com/item?id=16319280
There's also a word of warning here - the fps filter (which gets auto-inserted with -r) has a tendency to buffer the duplicated frames between two input frames.

This can cause large memory spikes if your input has low fps (or is generated from JPEGs with large time difference), since frames between two input frames will be generated and then sent to the output in a single operation, spiking memory usage.
What's the problem with using a long but humanly readable password, like several concatenated words? It's not like you are trying to protect against large scale attacks.
The debug info is in a separate file. You only need that file when you’re inspecting a crash report, so it doesn’t need to be pushed out to the host device(s).
Yep :) It took me several recurring attempts to adopt org-mode as well, but eventually I landed on it.

Don't have iphone, so don't know about the apps. But, even if I didn't have any org-mode specific apps, a tool that merely indexed org-mode files as plaintext and allowed me to search it would already be massively helpful.

For synchronising files across your phone and computer, I'm sure there is Dropbox or Syncthing for Iphone. It's periodic sync, so there is slight possibility of conflicts, but if you use separate files to log on desktop and phone, just merging them now and then, it's not an issue.
You don't know any doctors who have ever done a residency?
Fantastic list, and thanks for the links.

Personally, I would put "Sapiens - A brief History of Humankind"[0] in the list rather than it's successor "21 Lessons for the 21st Century".

While some people have some gripes about The 48 Laws of Power and Robert Greene's other books, in my opinion, they serve as a really valuable tool for understanding how most medium and large companies work. And for anyone interested, a great way to dip your toes into it is by having a look at Derek Sivers' book notes - https://sivers.org/book/48LawsOfPower

[0] https://www.amazon.co.uk/Sapiens-Humankind-Yuval-Noah-Harari...
Not at all. Upwards class mobility, in the true sense, is essentially impossible within a single generation. Speaking from a British perspective, a child with a poor upbringing is unlikely to be able to convince others, at least on close inspection, that they aren't actually a prole. (How might I know that?)

I am specifically talking about, as I say, "growing up without much money". A poor individual getting from the bottom, or close to it, up to a solid income (say 80th percentile). From there, the wealth is a matter of financial discipline. Some of the 'class' might come, but life is not an act, and Tarquin will always differ.

At least where I'm from (UK), it's a trivial problem in the sense that an equation might be trivial to solve, for an individual. The ingredients are there; an individual must apply themselves to the task at hand.

If you are healthy and of reasonable intelligence, obtain a degree from a good university, and apply those skills to a job, it's quite hard to fail at that catastrophically.

In a collective sense it is impossible, at least the way that society is currently set up. A lot of people have to not be on top.

What confuses people a lot is that they look at these statistical averages and assume that because most of the poor remain poor (and most of the rich remain rich - wealth is sticky), the same likelihoods apply to them.

But if you're actually trying to get out of that situation (most people honestly aren't - they might say they are, but it's not their #1 priority) you're not in that same cohort and you can quite easily be more competitive than those brought up in middle income families.

This is all based on my experience in Britain. In the US it's probably different.

If you're born in a poor _country_ then you probably need to get out first, and I imagine the whole passport visa situation is rather a challenge.

If you're born with severe disabilities, and poor, you could well be shit out of luck. So it goes.
Separable debuginfo which can be loaded at runtime.
DWARF uses an efficient compression mechanism much smarter than a table for this sort of mapping. And of course things like coredumps and crash dumps being sent to automated processing where devtools have the full debug symbols, while production deployments do not.

Go's insistance not just reinventing the wheel but on actively ignoring core infrastructure improvements made in the last 20 years is bizarre.
Except by the time those libraries and frameworks become stable and well documented enough for serious use, we decide to reinvent the wheel and move on to something new.
Used DavidRM's "The Journal" extensively in the past. Is Windows only, but works well for what it's built for, and is well supported.

http://www.davidrm.com/
The fact that he DID a literature review puts him above 99% of his peers in my opinion.

Otherwise, there'd be a lot less many hipster databases who now make the exact same mistakes that the standard databases made 10-20 years ago.
The Official Unofficial C=Hacking Homepage
> To those in this thread denouncing these dystopian times my question to you is, how do we as technologists create a meaningful and successful career changing this?

Disclaimer: I don't mean to criticize you, just to critique the mode of thought expressed in your comment.

Why are we as technologists so rarely willing to entertain the idea that meaningful change (in this and other socio-political domains) and "career success" might be mutually exclusive? At best they tend to be orthogonal, I think. Very rarely are they tightly coupled. More often one arrives at work that leads to "success" as conventionally defined (i.e., high pay, job security, nice benefits, social status) by embracing preexisting ways of thinking and living: that is, by embracing convention.

Convention is precisely what needs to be challenged, if one wants to effectively resist social inertia in contexts like this.
On my Mac, I turned off the clock in the task bar. So to see the time I have to type “date” in terminal or look at my phone’s clock. My calendar notifies me of upcoming meetings, so I can stay focused longer. That little bit of intentional change makes my coding quality of life so much better.
You could statically link in libc and get the same effect.
Apple taking giant craps on less powerful companies, is becoming routine. After all this publicly available information on their behavior, if the supreme Court sides with apple on app store policy, I think we'll have Google and Microsoft immediately pivoting to this model of fingering developers and end users
Executable size on disk doesn't dictate effective size at higher levels of the memory hierarchy.

IOW, you're paying by the page/cache line. If the extra bloat (debug information) in your executable isn't interspersed within your actual code (it shouldn't be), you aren't paying for it in runtime efficiency.
Nope, uses Metal directly through the gfx-rs backend.
The calling convention is a serious wtf. They're relying on store-load forwarding to make the stack as free as a register, but that's iffy at best and changes heavily between microarchitectures.
If you want static linking use musl..
Rust is not the right choice because it's trendy, but because it provides memory and thread safety properties that are hard to enforce in C++. For systems software the advantages are huge.
> and provides tools for decentralized systems.

What does this even mean? It's non-obvious from the website.
Typo: “an adrenaline” not “a adrenaline”
It is mostly used in bespoke, proprietary projects that have extreme performance requirements, and specialized deployments. Not your garden-variety portable app. So, not typically visible. But 99+% of production software in use is more like that than what you can find online.
Salary has been added to the job search results for the positions that list it.
I agree that the tone could certainly be better. That said, feedback like "why does a pixel editor need a graphics accelerator?" is probably warranted, since it limits the end users without apparent good reason. Perhaps just a better way of phrasing?
> I get the point about external symbols and location database, but oftentimes time is precious and having fully laid out stack trace in the log will allow you to get to the root much faster.

You can also set up a service that automatically symbolicates everything in a log file as soon as it is generated, before a human ever even looks at it.

Granted, yes, this is slightly more complicated, but the point is that the toolchain should let the developers choose which strategy they want to use.
> Yes but when running a long-lived application on a lot of data it's typically important to keep the executable small both so it can be "hot" and to leave more room for data.

Who really runs server applications these days where data/rss are not a large multiple of the actual code segments? People happily run JVM server processes these days, how much code/data do you think that pulls in just to start up?
In the early hours the USS John S. McCain collided with a tanker (2017)
Okay so you don’t live in China then I take it
I have not found this to be the case with anything but old tech and pulp novels.
Ooo, care to share any examples? For… research purposes…
Ok, added. Is that the correct year?
I'd love to check it out. I've wanted to write something similar.

In the past I played with exporting the log and then drawing a word cloud (by week) with Mathematica. It gives you some interesting insights into whats going on in your life in that period.

Other cool features that would be nice: structure extraction (i.e., msg myself `#food #lunch cheeseburger` and `#mood tired` and then building a CSV of only what I ate vs how I felt), reminders (to encourage you to journal every so often, or to quickly have the bot remind you to check on something 12 hours from now), automatically posting external stuff like uptime alerts, calendar entries or commit logs, and other stuff I can't think of right now.. :)
Yes, except I like this name, and find it fitting, and no one can stop me. We have different priorities :)