skysight-inc/HackerNews huggingface dataset:
> what are you coding where you don't benefit from home and end?

The kind where my typing speed does not affect my output. Also, the type who doesn't use command line text editors.

I work in ML and mostly use python. Very rarely do I need to be efficient in how I navigate my documents/code, because it is rarely the bottle neck.

Lastly, all my laptops have both end/home positioned awkwardly, so I never found it quite ergonomic enough for my purposes.
I wish I could accuse you of being sensationalist.
Show HN: An App to help you keep your photos and videos safe and secure
absolutely brilliant

thank you for that, it made my day :)
New tech is always expensive at first. Selling something for $1k/month is better than not selling it at all. If these things were easy to make cheaply someone would be doing it.
Your math is wrong.

https://www.discoverci.com/companies/AAPL/effective-tax-rate
Yeah. Now. Rewind back to the 90s, the soccer moms all had minivans. I’m not saying I’m right and you’re wrong per se, I don’t have the marketing data the car companies do to justify the positioning. I only know when I was growing up, all my friends’ mothers were driving the vans and their fathers drove the sedan to work. It’s a really weird juxtaposition that SUV’s have brought.
Same story for performing searches in Japanese.
"Playing roughly 700,000 unique games in 4,000 unique worlds within XLand, each agent in the final generation experienced 200 billion training steps as a result of 3.4 million unique tasks. "

well those are some big numbers...
My mouse (Logitech G604) has six side buttons, three extra top bottoms, and has the following programmed on it:

- copy

- paste

- enter

- forward

- back

- Zoom mic toggle[0]

- OSX screen left/right (activated by pushing the mouse wheel left or right).

- Volume up/down (on top of the mouse)

Screen left/right is the most important things I do with the mouse aside from the normal pointing and clicking. For the side buttons, copy, paste, and enter are the overwhelming winners. These alone probably reduce the back and forth between keyboard and mouse by half. I regularly forget that the other three are there.

In retrospect, the correct answer is to select whatever key combinations you end up alternating back and forth between your keyboard and mouse to enter and program it into your mouse. This will reduce switching, which is faster and reduces strain.

My keyboard (Ergodox EZ) has a “hyper” button on it, which is the combination of every modifier key on my keyboard. This lets me program shortcuts like ctrl+alt+shift+command+o, which is pretty easy to reach and guaranteed to have no collisions. I currently only use this for o (optimize imports) and i (indent document) in IntelliJ. It’s a neat trick, but the mouse stuff above has so far been more important to me.

Then again I’m also a manager now, so take that last bit with a grain of salt. I might do more keyboard wizardry if I was a full time engineer still.

0 - This was really useful right up until I built a custom zoom control box with toggle switches (with covers!) for my lights, camera, and mic. Now it’s unused, but I haven’t found anything I do commonly enough to justify putting in this spot. I need to make a post showing this off one of these days.
> seems to contain quite a high amount of vendor specific implementations

The "vendor specific implementation" is the loadbalancer and the autoscaling group. If you want to switch to baremetal servers, or some other cloud, getting a loadbalancer setup with similar properties is easy. Every major offering (GCE, Azure, HAProxy on baremetal, etc) will handle healthchecks and dynamically adding/removing servers.

Autoscaling servers based on metrics is admittedly more provider specific, but kubernetes doesn't solve that either. If I have k8s on 5 bare metal hosts, there's no cloud-agnostic way for k8s to magically launch a 6th host. You need to solve the same problem in either case. The k8s cloud autoscaler exists, and so do similar features for most clouds.

Kubernetes feels like even more lock-in than I have. If you were unlucky enough to run your services on docker swarm, mesos, triton, or various other container-running abstractions, then you'll have had to deal with a painful migration to kubernetes (since each of those technologies clearly 'lost'). Moving off kubernetes to another abstraction that runs containers (like mesos or such) is much more painful than moving from an AWS load balancer to a GCE load balancer or a bare-metal L5 load balancer.

In that sense, I feel like I have less lock-in than the typical K8s setup.

> [the rest of your comment]

It sounds like in your situation, k8s is working decently well for you. Congrats.

My point is not that k8s is always bad or using plain VMs + a load balancer is inherently superior, but that neither is clearly better, and both have benefits in different situations. In yours, k8s seems fine. In some other situations, k8s is a net negative.
Ah, you must live in a state without state income tax. :)
Along those lines, Tintin is the best role model I've ever had
https://archive.ph/DgCgT
Oh yes, that would be a correct statement.
This is what's known as doing the bare minimum to keep the guillotines put away
As a counterpoint to this, Among Us and Roblox porn exists and is quite heavily viewed.
Maybe you would also be interested in remapping a bit.

1. Almost never. ^$ and Ctrl+ae fill 90% of use-cases. My Home/End and PageUp/PageDown are on a secondary layer.

2. The button itself is useful, the CL function is useless. I remapped mine to be a layer modifier (e.g. hjkl become arrow keys, and the above)

3. Training myself off it atm. I have a split keyboard where left thumb is Space, right thumb is Enter.

Layout and keyboard in my other reply [0]

[0] https://news.ycombinator.com/item?id=27961382
"It takes a village." Extended family care and smaller tight-nit communities were more common than they are now. If you're talking about extra-pair paternity, it's estimated to be only 2% in humans.
I was Elon Musk lol. Whats up airstrike
How do I teach my colleagues to use threads?
What tricks do you use to get people to use threads in Slack, Google Chat, etc? Reminding them doesn’t work! Shaming doesn’t work!
read Gulag Archipelago, then get back to me.
Einstein said “Everything should be made as simple as possible, but no simpler.” Ultimately, we find out that simplicity, whether in process or explanation, is sometimes actually the hardest thing to achieve. Through many struggles in doing things wrong or inefficiently we find that simplicity eventually(if we are lucky)!
I'm curious how Slack does their e2e tests, are they spinning up every dependent service for each PR or are there some long running services shared among the PRs?

Related, are the databases and storage (e.g., s3) populated with fake data for the test runs before hand?

At my current place we have a couple separate services, but haven't built out e2e tests.
Firefox has been blocking third party cookies for quite some time now without problems. It's also quite literally a toggle.
thanks, will check out these books.
Humidity fluctuations and temperature fluctuations alone are a big problem, Teslas LCD screens stop working for people in hot locations, batteries fail if they're not on the right charge when heated up or cooled down (voltage goes out of spec and causes extra wear, or fire if bad enough).

Technology likes the environment to stay the same, which is impossible in a car.
This is super great for pair programming especially when one of the pairs is trying to ramp up. Hat tip to all the Pivotal Labs folks who worked on this.
I found this good guide on observability for devs by lightstep: https://lightstep.com/observability
> Why is it that alcohol be a wonderful unique inebriate but soda can't be?

It definitely can be. I meant to say that for me, caffeine isn't in the same league of inebriants as alcohol. It's definitely a lot less subtle for me. I'm sure that varies from person to person though, so maybe it can be? I don't know.

> that also makes you more alert and attentive.

This must also be a subjective experience-based thing. I've never felt more alert or attentive from soda, but of course that's just me. And I may have ADHD, which may be a factor.

> If you don't abuse soda, it has a lot going for it too. ... If there's a problem with sugar filled soda it's how it has been aggressively advertised ...

Yeah, I agree with this. I think if there is a problem, that's the problem. Also the serving sizes, which used to be much smaller when soda first came about. And the degree to which people lead sedentary lifestyles, and a bunch of other factors.

For what it's worth, I'm not promoting alcohol here, either. I'm not a big fan because it's hard to get it right (but when I do, it's great) so in the last ten years I pretty much only consume alcohol like 5-10 times a year, max. It just goes wrong too easily for me.
> The only real requirement of functional programming is the support of first class functions, the possibility to pass and return functions like any other values.

By that definition C language supports functional programming. I think a lot of people would disagree with your definition.
Ask HN: How do you know when to sell your business?
Over the last five years, I’ve bootstrapped an e-commerce business to $4 million ARR with a great profit margin. We have no debt, no investors and the business is pretty easy to run. I own the business 100% with no partners. For the first time, I’ve had a few conversations with companies about acquiring the business at the standard multiple for businesses of this size. The only problem is not sure what I’m doing lol and know little to anything about M&A.

- Why did you sell your business?

- Did you stay on after earn out?

- What are some lessons you learned both good and bad?

- What questions should I be asking myself and others?
DSM-5 and ICD-11 are incredibly slow and it takes years and may be decades for them to be able to write to manual on something new like compulsive usage of digital products etc. it's hard to rely on them for newer problems that don't have lots of research done on them.
AIER is totally without scruples. They are a “free market” think tank that pushed a herd immunity COVID-19 strategy that would have let countless millions die so the rich could keep making their hoards.
There is a small but growing movement towards controlled burns of forests and such because not burning for long enough creates conditions that make wildfires even bigger and harder to stop. If you can rotate between enough zones over time the burned area can regrow fully. It has been said that part of the reason wildfires get so bad now is because we do not let them partake in their normal cycle of burning down occasionally.
Atmana is a combination of 2 sanskrit words. there's nothing hindu about the name at all.
Personally, I'm waiting for Matrix to implement Zulip-like threads (and a client that looks like Quassel).
> Even though they'd easily run circles around a Model 3, this admission still proves my point.

Err, no, the Model 3 Performance (which is a real car you can buy right now) does 0-60 in 3.1 seconds. The Forze VIII[1] isn't that fast (they quote "< 4 seconds"), and the Forze IX might be faster but doesn't exist yet. No circles are being run, at best the fastest operating FCEV I've been able to find might be able to keep up with a production family sedan BEV.

If we're comparing cars in development, the Tesla Roadster is quoted as being able to do 0-60 in 1.1 seconds.

[1] https://forze-delft.nl/milestones/forze-viii/
There are also semiconductor shortage.
No room to move upwards except to the primary contractor and that’s difficult
WSL uses 9p, though it seems to be a bit slow in that area.
Denialism and skepticism are often used as slurs in the absence of strong evidence by those who favor popular consensus over evidence.

A PI once confided in me that he didn't believe in the big bang. I was startled because creationism was on the rise, and I knew that he was Catholic. However, I also knew he was a natural empiricist, and after taking a quiet moment to think things through, I realized I was being tested to see if I could think critically and ask the right questions as a scientist.

He didn't deny the big bang, and he wasn't replacing it with a worse theory. After a few questions, he demonstrated that his understanding of the evidence and his tools to evaluate it were far better than mine, and that while it was the most probable and best supported explanation, because it was not observed and was not currently reproducible, it wasn't anything that warranted "belief".

Reality doesn't require our consent to exist.
That's disappointing news! That would have been a fantastic roadtrip around the world. Oh well, maybe someday!
Yeah when I first read the Twitter thread, my first thought was that this is someone who has never seen a commercial contract before. It's easy to get caught up in the boilerplate as if its something malicious when it's really just standard legal wording (which does try to capture maximum benefit for the company, but not with some evil ulterior motive beyond regular commercial terms)
The West created the modern world and lifted billions out of poverty.
> On the other hand I find that raw typing speed has barely anything to do with development speed.

I agree it's all about the thinking. However moving my hand off the keyboard slows down my thinking: I might have to move my eyes to find the mouse and then re-orient my hand on the keyboard, all of which is a small cognitive distraction. I tried the Mac trackpad and while it's quite responsive, it's still moving off the keyboard.

That's what makes Emacs so powerful: the primary cursor movement is search and the next is structured movement, not character based. All the semantic movements (jump to definition and the like) are tiny keyboard commands. I don't use the arrow keys except in other apps.
Will this allow them to brain cycles to implement a competent vacation mode?
Outlook handles this so much more gracefully, people can see I am out of office, when I am returning, and get an out of office reply from me.

Meanwhile on slack theres multiple settings to toggle to the point it seems easier to just uninstall the app for a week.
If you're on Twitter, two accounts you might appreciate in one tweet: https://twitter.com/R_P_one/status/1413506570575515655
I think I’m in the same boat as you.

I know enough to be dangerous. That is, I’ve started many tutorials, and know enough to debug the software I deal with at work (I’m an escalations engineer), but I struggle with advancing towards comfortably writing my own code.

So this particular style of teaching (talking about Parent’s comment) really appeals to me. For example, I totally see why “How To Learn Python the Hard Way” is recommended, but building up from math operations just doesn’t work for me. I understand why it works for certain people, but it’s too abstract for me.

Parent’s app, however, shows an example, and then explains plainly what each part does. This style of explaining moves me closer towards the “Learn Python the Hard Way” method.
I remember I had the whole X10 setup and the RS-232 serial port adapter. No WiFi to configure, just DIP switches.
I have no idea. That requires policy, economics, decision analysis, and (probably) more convincing evidence that we are near an edge.

Again, I think the climate is changing. And I think it will continue to change in ways that adversely affect humanity.
Screen left/right with apple magic mouse is what I use the most.

As a developer, I have 2 screens and multiple desktops per screen.

Screen 1: Chrome on desktop 1, VS Code desktop 2.

Screen 2: Database on desktop 3, Postman desktop 4, Slack/Email Desktop 5.
This is why I would create a c:\wininst folder and dump the CD worth of files. When I needed to do an OS reinstall, I'd boot to DOS mode, cd \wininst, and do the install from hard drive to hard drive. Much MUCH faster and much MUCH less painful.
Which doesn't work well for land-locked countries.

I'm sure that some sensible (albeit still arbitrary) geometric rule could be invented, such as requiring that the line bisects the country into two regions which have areas that differ by at most 50%, for example.

Alternatively, or additionally, the length of the line could be required to be greater than some specific fraction of the country's total border/coastline (assuming that has a rigorous definition).

For countries composed of multiple islands (or a mainland with some islands), the rules should probably require that the line pass through the biggest island / mainland, but perhaps multiple islands would need to be crossed (on the same straight line?) in order to meet the "bisecting area" rule above.
You asked keyboard/mouse. I use the bucky keys on the mac keyboard extensively: control/option(meta)/command(super). Rarely have to incur the cognitively expensive burden of reaching for the mouse.
Cute, reminds me of Gaia Online! Discord should buy that service!
from a US perspective it is clearly a natsec concern, but Taiwan understands pretty much their whole value as an entity to the US is TSMC. As long as they depend on the US, they have to walk a fine line of giving enough away so that the US continues to protect them, but not so much that the US does not care to defend Taiwan anymore
> bridging the gap from academia to all the perils of building software in industry with microservices, distributed systems, collaboration tools, etc)

I’m a more senior dev and I’d like this, lol! Honestly a lot of these lessons are going to be pretty contextual to your company. There’s not a single “accepted” POV like there is for when to used a linked list based an array kids of problems. Maybe because there’s no accreditation body that defines what it means to be a “software team” the same way there is for a CS degree. Some teams go super deep into systems code. Others make mobile front end apps. Others build backend services. Yet others might manage different components across the stack. Different domains and the level of risk involved in the softwares failure change the rules a lot!

There’s cross cutting ideas like testability, software engineering and version control. But your linked resources have many of those.

Good news is your team knows you come without their shared context. (Or they should!) Companies hire juniors in large part so they can mold them to the teams view of the world.
Incredible story - the tech looks brilliant. What a contribution to your nephew, sibling and the world.
To day I still factory reset my PC and my phone about once a year, just to keep them fresh. I have no idea if it's still helpful with modern a OS.
So much this. It’s insanely annoying when they say something isn’t a risk and then they fix it shortly after. Google should improve this problem over new webpages.
First time I've ever seen JS blocks statements in the wild; I wonder if the author is coming from a language where that's common.
I don't think you can automate all the testing, since almost by definition, you always test AGAINST something. That something can be a specification, or a different implementation, or just a clock, but it has to come outside the subject (program) being tested.

A different take is that we want tests to have two qualities - correctness (the test cases should match the desired program behavior) and comprehensiveness (the test cases should cover as much of behavior as possible). The only way these are both 100% attained is if the source of your test cases is effectively another implementation of the same specifications, and you compare the behavior of the two.

The comparison itself can be automated, but the creation of the other implementation cannot. So, logically, if you want to automate it anyway, you have to compromise one of the two qualities, either being less correct (be less strict when comparing program output) or less comprehensive (verify less possible inputs).

So it seems to me that the "automate all the tests" folks want to have a cake and eat it too. They want to have an automated comprehensive and correct test suite, without the effort of writing an approximation of another implementation (used to compare).

In the past (I love how the blog post says "I am not advocating to returning to the Dark Ages of software delivery", as if that was necessarily terrible), you had a QA team to do exactly that - approximate another implementation of the same program directly from the specs. The better the approximation, the better the verification. But the cost is duplication of effort, in some sense. If you try to remove the duplication (i.e. for example by having the same person create both at the same time), you're likely to compromise one of the two qualities, without realizing it.

Let me state the above yet differently. The "let's automate testing" approach is based on the assumption that human tester is running the same tests over and over. But that's not the case, the manual testing is actually different each time, so what you invisibly lose by automation is comprehensiveness.

In fact, the QA's job in the past was to have another person (other than the developer) trying to make the sense of the specification (and presumably approximate the implementation with the test design), and check if the specification was translated correctly by running a comparison of their understanding to the developers'. While the comparison itself can be automated, the another look is important to discover the parts of the specification are actually weak, and can be understood differently. I don't think testing a program is solely about its intrinsic properties, but rather about checking the correctness of the translation from specification to the executable code.
> This is incorrect. Secure deletion should cover the entire disk no matter how much data was used before, in order to deny an attacker any information or to guide their recovery efforts. I would absolutely expect a secure deletion process to take the exact same amount of time regardless of how much data is used.

That's a fair point. Still, mobile devices typically employ FDE to avoid the need for scribbling over the entire flash (also improves the lifetime of the flash in that way).

> It’s worth pointing out that a true secure delete is actually a write not a delete

Flash storage doesn't work that way unless you're referring to something else. To write a block you have to erase it first (makes the block all 1s or all 0s depending on the chip). An update of a block is technically then a read/erase/modify/write (although flash translation layers will elide the first 3 steps by writing to a free block & marking the old one as GC'able). Writing random patterns into flash to my knowledge generally isn't needed anyway as it was with magnetic storage. The only purpose of writing in a secure erase scenario is to try to overwhelm the flash translation layer to force every block to be touched.

> although last time I did a reset it took much longer than that.

I haven't profiled it, but any slowness erasing an iOS device is probably because the flash storage backing the secure element is optimized for reads rather than writes. Additionally, it may be erasing various metadata/caches in the OS storage that aren't covered by the encryption key.
Meanwhile gcp hands you broadwell cpus (and sometimes haswell)
How timely. Just today I had to install netcat on my new workstation (I chose the gnu version) in order to test connectivity to an SMTP server. It was super helpful just to see the raw response from the server. Apparently GoDaddy blocks all outbound 3rd party SMTP connections... ugh.
I’ve recently used a footswitch for the first time, and I like it. Was using it for simple “cut” and “paste” kind of stuff.
A trip down memory lane.
What's wrong with OCaml's approach of just breaking out in imperative-style code whenever it suits you?