skysight-inc/HackerNews huggingface dataset:
Having multiple small tutorials like these will make it easy for anyone who wants to move to Firefox. The more the merrier. That said, I still can't get used to Firefox.

It's fine on desktop, and using profiles is not too much of a big deal for me. But on mobile, Firefox is not as intuitive as chrome is to me. On my phone I have Chrome, which I only ever use if a website fails on all other browsers, I have Brave as my daily driver, and Firefox because I want to make it my default.

I just can't navigate as easily on Firefox as I can on Chromium browsers. An example, when I use HN, I open links on a new tab and I can swipe the header left or right to navigate from tab to tab. Easy breezy.

On Firefox, I have to click on the tab menu, figure out where I am, and read titles to know where I am going. Every single time I forget, I end up clicking on many tabs before I find where I am going.

Don't know if this feature in Firefox's pipeline, but that's the only thing stopping me from making the switch.
I bet your overestimate anecdotal evidence for an actual phenomenon :-)
Yeesh, yes why does this article get so much traction when it's reposted so frequently? We get it. It ain't art unless it divides people.
Counterpoint: A work colleague of mine has over 1000 tabs open at all times and his work machine only has 12GB of total RAM. Those 12 GB run Firefox, Visual Studio (!), and Windows and everything is working fine.
So we have to bring it up every few days?

Just look at this comment thread. All switch stories. At this point it's preaching to the choir.
> where people have to spend time

That should never be the case. There's enough bad things happening to people forced to be in some environment. Let's not create more of them.

Yes, those environments may be useful in many ways. But if you can't get away from potential abuse, they're not worth it.
I am a heavy tab user as well (sometimes crawling above 500) and have found Firefox MUCH better than Chrome. Way, incomparably much better.

Better memory and usability of computer (Chrome lugs and lags and my iMac and Macbook). Normal tabs instead of vanishingly small tabs. All my tabs on restart (Chrome has several times been unable to recover tabs on a restart over the past few years) and quick restart.

And, though I don't use it, there is sidebar tabs for FF.

I have 4GB ram on laptop.

Curious why our experience differs. What platform are you on?
At least ff supports sideloading, while chrome.. doesn't. And if you use ff ESR, you can also freely sideload unsigned addons.
Solid observations. Do you have any suggestions/resources on how to live well with unlimited information? How do you decide what to absorb and what to ignore?
I'm back using firefox full time since about 3 months and don't notice that at all. In fact I now struggle to remember why I ever moved to chrome in the first place, I know there were reasons but I can't remember what they were. Moving back was surprisingly painless. If I could find a similarly easy and good path out of gmail I'd be gone tomorrow.
> all web engines are open source

Open source does not mean open development. Forking a browser doesn’t help if nobody cares about your fork.

> technologies weren't implemented

They’re still not implemented. Sometimes this is because the teams are slow; sometimes it’s because the technology is a privacy nightmare.

> we're now trying to have a single open source engine that everyone contributes to since it's better for everyone's experience.

No, see above.
For people who are considering switching away from Chrome - give Brave a try, it's really good.

I was a bit reluctant for a while because their branding is weird and there's too much focus on their crypto ad model. But if you switch the crypto stuff off, you have a fork of Chrome that performs just as well and also has a few additional privacy features and isn't linked to your Google account. Highly recommend.
> The point is this: we do not have a cure for this dieases now.

> Therefore, we do not know where to look at all.

This doesn't follow.
How to get started with React in 2020
Wow thanks.
Maybe with bad C toolchains you can get combinations of switches that result in dead binaries, but I've never seen a JVM that wouldn't start because of bad tuning flags. At most you can hurt (or help) performance.

I'm not sure the Go 'philosophy' here has anything to do with it. If you click through some links you'll end up at a GitHub issue where they discuss a prototype for making Go's code generation not completely awful. The justification for not pursuing a 5-10% improvement (which is huge for compiler opts) is that it'd break existing inline assembly by changing the calling convention. This isn't a philosophical objection, it's just bad design painting them into a corner.
> The fact that we call some people "climate change deniers" tells me that we have an unhealthy dynamics going on there

1. Climate change is observable, it doesnt rely on a theory, just measurements. Nonetheless there are a bunch of people trying to discredit what is essentially a very well established observation.

2. Genesis of climate change (ie is it anthropogenic) is not a direct observable, but looking at concentrations of CO2/other gasses and where it comes from it is not too hard to convince yourself of humans as root cause. Again, a lot of people deny human-driven climate change despite all evidence pointing one way.

3. Perhaps the most uncertain are climate model predictions. I agree that this where something might be overlooked, or maybe not.

At any rate, "climate change deniers" by and large object to (1) and (2), and those people really have no credibility. If someone accepts anthropogenic climate change but proposes a new model that fits observation-- more power to them!
1.The Curious Incident of the Dog in the Night-Time

2.Looking for Alaska

3.Blindness

4.Touching the Void: The True Story of One Man's Miraculous Survival

5.The Martian

6.Never Let Me Go
Can you explain? It’s a puzzling comment about containers
For working directly with Vulkan, ‘ash’ is preferred. If you want to abstract over platforms, then gfx-rs is solid, or wgpu for a higher level api. Vulkano hasn’t really delivered on its promise unfortunately.
Or maybe, and this might sound crazy, just don't have giant piles of javascript. Or require javascript for viewing content at all.

In the 90's, we had links for images where you'd have a thumbnail, and then links like [small][large][original], or similar. This still works perfectly today, and frankly makes for a better user experience.

------

Frankly, if your website has a "lightweight" version, I want that version even on my giant high-powered desktop. 90% of the places people use JS are pointless or silly anyways.
Everyone can contribute to chromium/blink but only one side calls the shots.

In other words you can contribute all you want as long as it fulfills google's needs.

Of course you can fork it and do it your way but then you will be left behind since you need massive man power to be able to do development on your own.
Not really, since it’s based on (LGPL) WebKit code.
Slow compile is a developer problem. Big binaries is a problem for both developers and users.

Typically, developers can afford to throw more cores and more ram at their build machines.
The complaints about older nodes are missing the mark.

The problem is that a 2019 .25um I/O transistor on a 100KHz I2C line can launch an edge that has multi-GHz components that rattle around the chip, board, and their power grids. In addition, a 2019 .25um I/O transistor can respond to GHz speed glitches that a 1996 .25um I/O transistor would simply ignore. In 1996 or so, it was difficult to get a .25um transistor that could shovel around current and respond at GHz rates.

Creating a TDR (time domain reflectometer) circuit in 1996 on a CMOS technology node was a significant design challenge. In 2019, it's difficult not to create one on your I2C, SPI, UART, etc. communication buses.
I'm on an old laptop with a CPU graph on my top panel. It appears that Firefox uses more CPU than chromium and so I use Chromium when in battery power or when I forget my power cable!

The other thing I dislike with new Firefox is the removal of the ability to change the size of the tabs and alter the window decorations so that they still take up valuable screen estate on smaller netbooks. Chromium isn't any better but does have the option to remove the window title bar.
Author here! If you've already gotten a good start with React within the last couple of months - what did YOU use?

If you haven't tried out React yet (but do front end development), what is keeping you?
Keep in mind a modern commodity x86 server with 128 physical cores 4 TB RAM and decent amount of SSD storage and dual 100 gbe nics is about 70K.
Ability to use something like Rust also changes equation significantly.
I still use this feature, it comes under the "Task List" window. Adds any "TODO" comments in realtime by default but it's also possible to extend what tokens show up alongside "TODO" [0]. I've added "Hack" or "Perf" for temporary implementations that definitely can be improved but not necessarily critical.

[0] https://keyboardp.com/post/40190774577/using-task-list-token...
Kindergarten is also a word, that has found its way into anglo-saxon languages.
Found the link about its origins.

https://archive.fosdem.org/2019/schedule/event/kubernetesclu...
Another honest question: have we established that humans caused climate change? Is it even possible to do so?
Unless the resistors flash over their 200V rating at which point the current limit is void
“Why not write Go instead?” was the response from an audience member after a talk at Haskell eXchange 2019 that encouraged simple use of Haskell.

They had a good point — if a primary goal in your team is to make code accessible for juniors and maintainable for new hires without weeks or months of ramp-up, and you need to ban Haskell language features, extensions, and libraries to achieve that, perhaps there are better choices than Haskell?

And if the Haskell community needs a repeated rallying cry to “write simple Haskell”, maybe it's a sign that a new Haskell standard should be created that defines what “simple“ Haskell code means.

Juniors could then feel assured that learning the 2050 Haskell standard [or whatever] would be enough to help them get a job as a Haskell junior. And companies would have a target to move their codebases towards that's consistent across the industry.
Only because we fairly recently stole it!
I was never a Google fan for my own reasons (non-political, nor ever wanted a job there). I was pleased when some people I know started rejecting their products, but took a while to realize it was for political reasons alone. Which isn’t good reason in my book, as a software developer.

I told them, if Google was left wing, they wouldn’t be union busting. They’re a for-profit enterprise that at best has temporarily mutually aligned self interests. Google would assist in the Holocaust just as IBM did. The only way I could be convinced they’re left wing is if they did the left wing things that matter most: distribute money and power by embracing organized labor. Until then, all the gay rights flags in the world cost Google nothing. And just to be clear, I support leftist causes, just tire of corporate lip service. I don’t see what so many of my right wing friends see in Google being a “SJW” enterprise.
This random site from I found by googling: https://www.insidescandinavianbusiness.com/article.php?id=35... I was surprised by that number myself, because I also thought that it was in the single digits.
Gadgetbridge supports many watches and bands (including Pebble). Join us on our journey for owning our data.
Out of curiosity, can you elaborate on that?
Or just ungoogled chromium.

Brave is bizarre and terrible. The idea of trying to replace ad-tech as it currently exists is great, and I welcome any experimentation thereunto. That said, brave does it wrong, and I don't think it's a good idea to support that; even without using their ad-tech feature, it still gives them mind- and market-share, and propagates their ad system elsewhere.
> It's intrusive spyware.

Please explain.
That's quite believable to me for an old codebase. Command line utilities at Google routinely reached hundreds of megabytes in binary size due to static linking of everything. A Bloomberg server is surely far larger and more complex than those tools, so gigabytes isn't unbelievable.

Binary code can be quite bloated compared to source code. It depends a lot on the encoding. The same author as this blog post has another actually much more interesting one on how Go compiles common constructs. It's rather enlightening as the example generated assembly (implicitly) explains why Go compiles so fast. It has to be the dumbest, least optimising compiler I've ever seen. Very short and trivial source code constructs like function calls balloon into pages of instructions, far far more than a C compiler would generate.

C++ compilers also have a reputation for generating bloaty code, but that's mostly due to compile-time specialisation of containers and the way template expansion works. If you write C-as-C++ then you get pretty tight binaries.
The article ended right when it promised to get interesting.

It set up the stage with the construction of the fab, the market, the international tension -- and then nothing.

I would've really loved some insight about what the international influences mean for day to day operation, some technical challenges etc.

(Or this would be the perfect setup for a murder mystery. One of the key engineers is found dead, and her ex-boyfriend, US and Chinese spies all could have a hand in it. My fantasy running wild again... :D )
Independent Software Testing: How to Make It Work for Your Business?
My New Ring from Zeno Jewels
I just bought a Three Stone Emerald Cut Engagement Ring from the Zeno Jewels website, it is so stunning, and I used the New Year promoting code "N20" they offer me 20% discount, and I am very happy to have this big 7.95ct engagement ring. The shipping is so fast! Zeno Jewels is one of the best brand I have ever known.
The traditional Chinese dance troupe China doesn’t want you to see
The opposite of what? All I want is the GIL "discussion" to be based on facts rather than emotions, hyperboles and FUD.

I'm not even sure what the opposite of that is.
> the place where they fall behind is memory management

It's sometimes possible to design C# code in a way that doesn't stress GC too much, so the majority of bandwidth bypasses the GC.

For instance, here's my old .NET project which plays streaming media for hours without interrupts, with a hard limit of 15MB RAM for the whole process: https://github.com/Const-me/SkyFM

Doing so became easier in modern .NET, with these value tuples and spans.

> still hoping some day we'll be allowed both GC and Rust-like manual memory management in a single language

Microsoft tried, managed C++, then C++/CLI. The CLI is still supported if you want to try, but IMO they both were way too complex: 2 types of pointers, two runtimes with weird interaction between them, worst of both sides on safely and ease of use.

AFAIK most people only used these languages for a thin layer of glue to integrate native C++ with C#. And even for that limited use case, COM interop or C interop often worked better. Even MS switched to COM interop in the next iteration, C++/CX.
This standard sentiment seems to me to be a machiavellian justification for the status quo and for not trying to improve anything. The costs of the problems are the problem, not whether they are eventually resolved extremely ineffiently.
Instead of hitting `ctrl+l` hit `ctrl+k` (or cmd) and you get a naked search directly to your default search engine.
Do you use Maconomy? If so, we're in the same boat (perhaps even company). Me and a friend wrote a Python script that can automate some of the Maconomy features such as submitting timesheets. I've personally integrated this with my own journal system within Vim. Let me know if you're interested in learning more about it (karl.yngve@lervag.net).
Hirnschneckenhäuschenbergwerk

The german language is basically a lego-language-set, nice for construction and recombination. Unfortunatly, the gramar and rule OCD-Guardians got to it.

The trick is to never admit you invented anything, you always heard it elsewhere..

When it is consensus somewhere else, doubt kreeps into the hivemind communication watchmen.

Have fun. And get away with it. Death to the duden.
>Entschuldigen -> ursäkta

That's not a direct translation as far as I can see. I'm not a native speaker but I don't think säkt does means anything, opposite to Schuld, which has a clear meaning. The direct translation would be something like avskulda, but that's not a word AFAICS.
Yes, the sugar industry was not silenced by this book, so the fight continued. And I am sure you can come up with criticisms about any research publication. But the main point is undisputed: the "low-fat" science at that time was not purely science. It had been influenced - for years - by lobbyists and scientists with a personal agenda.

Then it becomes like so many topics these days: when people (I don't mean you anewvillager) throw enough counter arguments - true or not - distinguishing the truths becomes harder and harder, certainly for the population at large, not so well versed in the subject.

[BTW: I have no affiliations whatsoever with the author or the books, other than that I read it]
They were never implemented that way, rather make use of invokedynamic bytecode.

https://youtu.be/Uns1dm3Laq4

Android Java is the one making use of anonymous inner classes instead.
One of the advantages of rust is its ability to segregate safe-to-share (between concurrent contexts) and not so, at compile time.

While it can’t (yet?) be generic over them, it lets you use the non-atomic Rc in thread-bound structures and know this is never going to be shared between threads, whereas the more expensive Arc can have handles be moved from one thread to an other.
Neither FIXME nor ### are "standards" so the distinction is moot. Can use either...
Invokedynamic is not related at all to inner classes.
https://www.zenojewels.com/collections/engagement-rings/prod...

See the ring I got from Zeno Jewels
How do you use this workflow? Do you ever get around to those 500 tabs? Whenever I get to ~30 I feel like it's time to figure out what my focus actually is and I'm always so baffled by people that operate like you do.
not the mean of the means - just the means themselves.

The distribution of the original population of iqs in the school is what you're sampling. Each group is a sample. The distribution of the sample mean approaches a normal according to clt as the sample sizes increase.
1. It doesn't matter. When Google decides to implement something (or doesn't), Edge, Brave, Chrome etc. will get this feature (or lack thereof). Only Safari and Firefox will be different. As an independent developer you don't have any say about this in a Blink-only system.

2. That's what the WHATWG is about. No more -moz, -ie, -webkit prefixes, just agree on a standard and implement it.

3. It's not truly open. Google has the last say. Do you want a Google-only internet? Just look at the recent ad-block controversy.
I recommend FastMail if you're willing to pay for your email services. They have an excellent import tool to help with migrating your email from Gmail.
Six tactics to maximize UX research in agile
Well, maybe the point I'm trying to make is that they shouldn't be applications.

Hackernews could take 100's of megabytes to load (like pretty much all of the other similar websites do). RAM, page file or otherwise. But it doesn't. It could be a complex application. But it isn't. And it shouldn't be.

Also, I don't think having "too much RAM" is the issue on my 16 GB machine. I routinely have to just shut down the browser entirely to be able to properly do CAD work. Party like it's 1995.

Even if these websites are "legit applications" for good reasons, putting the processing burden on the client is still a choice. There are efficient ways to leave most of the processing to the server. Example: https://www.phoenixframework.org/

Disclaimer: correct me if I'm wrong. I'm just an EE guy with shallow limited knowledge on web stuff.
Not 100% sure, but for me "The three coins (non) example" is false. You could easily constract a random variable wich flips the free coins at random. Then you get again an iid sequence.

I'm writing this basically because I think it is troubeling how "blogs" work. Explaining, lets say complex stuff, with simple diagrams. Especially in this case it even looks wrong and gives you the wrong intuition.
There are many contexts where blame info is not visible by default: dumb editors, code review browsers, search results, etc. It's a low-effort signaling about the age of TODO as well as whether the person who left it is still around.

It's a similar reason for why you sometimes leave implementation comments in the code, not in git commit messages.
Linux needs stable syscalls because it basically offers no other interface apart from extensions to posix abstractions for calling into the kernel. Windows has a much larger, stable external C API that provides the same functionality Linux syscalls do such that no one uses anything else.
AFAIK at no point in time were there more publications predicting cooling than publications predicting warming. It was just the popsci media that almost exclusively predicted another ice age.
it's trendy to reinvent the wheel with Rust ?
Macros cannot expand to preprocessing directives. This does not result in a #error-directive, this just results in a syntax error because of an unexpected # token. A better definition would be something that highlights that message in the error output, such as static_assert(0, msg).
Would you make another suggestion? Video editing is low on keywords.

Full disclosure: Making an online video editor at https://www.mixcut.com
They overlooked "hausfrauenpanzer":

https://news.ycombinator.com/item?id=21894468
Intellij Idea has this feature as well. Also it checks for new TODO comments when you commit and warns you about them, so you won't forget to fix if you wanted.
No (don't use mac), but I generally found windows to be much slower than linux, on the same hardware. (Interestingly, freebsd was also much slower than linux--but that's a tale for another time.)

I wonder if it has to do with the scheduler? Desktop linux users sometimes install patchsets to their kernels like zen[1] or ck[2], which effectively enable soft-realtime in order to improve desktop responsiveness and latency, but reduce net throughput. iOS also generally feels more responsive than android, given comparable hardware, for similar reasons: more optimal scheduling algorithm.

1: https://liquorix.net/

2: https://wiki.archlinux.org/index.php/Linux-ck
Only "Firefox on Android". The newer "Firefox Preview" and "Firefox Focus" mysteriously lost this ability. Firefox on Android is stuck on version 68, it's like Firefox' ESR version.
Viewing it from this lens, it still doesn't make sense to sacrifice productivity of people "with aptitude" for the sake of expanding your hiring pool to include people "without aptitude". Instead of bringing down everything to the lowest common denominator, one can try to assign different types of work to people with different levels of aptitude (or care).

(Personally, I feel what makes "forever juniors" isn't aptitude, but lack of care. I don't see it as flaw of character - the factors like structural anti-intellectualism in the industry, lack of enthusiasm due to work being meaningless, and that not everyone is into programming beyond it being a 9-to-5 job all contribute to some people not learning. This suggests to me that expecting people to learn and making learning part of their jobs - actual part, with paid time set aside for it - can overcome this problem.)