skysight-inc/HackerNews huggingface dataset:
When you double-click, say, the word "double-click", do you expect to highlight either "double" or "click", depending on which part of the word I happened to click on? Or do you expect to highlight the entire compound? Does your expectation change when the phrase is written with spacing: "double click"? When written without spacing: "doubleclick"? Does your perception of the word boundaries change between these cases?

Now consider another anglophone arbitrarily; how likely does it seem to you that they would share the exact same set of expectations of the above with you? Because if they don't, then one of you is going to have their expectations violated.

Now give it a try: do the highlights match your expectations? (Moreover: are those expectations consistent with where you placed the word boundaries?)

If your expectations of what double-click highlight does for English is consistent with what actually happens when you double-click, it is deeply unlikely that the causality goes word boundary -> highlight expectation; if they do, it's more likely that double-click highlight has influenced your sense of word boundaries.

But it's even more likely that you your expectations of double-click highlight don't actually match up with your intuition for word boundaries, and you just have a pretty good model of how double-click highlight behaves independently of where you think the word boundaries are.

(The notion of word boundaries in this context is fraught anyway. Even setting aside the problem of compound words, the phonological word boundaries of Japanese don't match up with the lexicographical ones, in both directions.)
>>I am scared. Really scared. Everyone should be.

The thing is, I'm completely oversatured with being scared. This has lead to massive mental issues in the last few years, because everything around us is apocalyptic, even though we live in unimaginable luxury compared to 99.9999% of the rest of the time when humanity existed. I just....can't anymore.

>> The future of humanity is in your hands.

No, it isn't. At least it doesn't feel like it. Impact of my actions is zero. The only way that a "future of humanity is in my hands" is by either deciding to not have kids, or even better, just killing myself and immediately reducing all my output to zero. Still, on a global scale that amounts to nothing.

Watched a good video about this recently - even if all of United Kingdom was wiped off the map and just disappeared overnight, China and US would make up for the reduced polution in about 8 weeks, as both countries emit more and more by the day. And you're telling me the future is in my hands? Right.
When I first started down the path to becoming a software engineer, I never suspected that flashcards would be part of my interview prep as though it were a history course.
Typora is mark down based but is WYSIWYG.
Ranging from none to "whatever you happen to know about this stuff is not enough". Quickly building mental models for unknown stuff is the top skill. I'm afraid nobody even tries to assess this in the interviews.
Well that's one way, we'll see.
The clock should be simple -- the hour hand is a quarter of its way to 4 o'clock, so: 360*((1/12)/4) = 7.5 degrees.
It's unusable without JavaScript enabled. Complexity is not inherently better. Less is more.
Well, you know, so long as we're fighting about all these other things it's hard to organize the kind of cooperation needed to focus on climate change effectively. We really need to resolve these other differences somehow.
> is what proactive programs to bring women into these positions are trying to reverse.

The difference in interests is biggest in the most "proactive" countries, those that try the hardest to help women reach social equality with men. It's obviously not "biological", but it looks like some complex interaction of subtle social dynamics, not just women being told to "stay in the kitchen".
> First of all, you should be compiling your own binary from the sources, otherwise you are blindly trusting that those binaries you download are built from the original source code, which may not be the case.

That's actually what I do, and it works well for me. I switched back to gentoo when I decided to do that, precisely when I realized that trusting that binaries match their source code was unjustified (I had already a decade of using gentoo, so it was not a problem for me).

I also switched back to chromium, for that reason. Firefox is great, but it won't allow me load an extension from the FS permanently. All the extensions I use nowadays are loaded from sources (unpacked extensions, as chromium is calling them), after an inspection from me.

Of course, I haven't read the code of _all_ the programs I'm running on my system, so it's not perfect security. I'm still confident this is a better level of trust than running binaries.

A side effect of that is that since I actually _do_ read a lot of code from the programs I use, I learn a lot, and it often happens that I change code of programs I'm running to fit my need (the portage system of gentoo make it easy to write your own ebuilds and integrate your changes in your package manager).

Doing so require specific hardware, though, as if you're not careful on what hardware you take, you'll probably need binary blobs to use it.

There is still a security problem I need to solve. Some programs (well, chromium, mainly) easily take 6 to 8 hours to compile. So I usually just lock the version to a stable one and update every month. This may be a problem if a security patch is released.
These interview are notoriously hard to pass. Less than 5% gets in. You should not feel bad about it. Being an SRE at Amazon or Google scale require that you know what is going on in every layer of the infrastructure, including data structures in code, so that you can pinpoint the exact problem in the stack. I think some of these question are overkill and have nothing to do with how good you are going to be at the job though. Writing a binary tree certainly one of those. You are not going to write one because there are tons of libraries in every language that is in production. Knowing that DNS can use TCP is much more valuable. This falls into the category of questions that you are likely to run into when debugging an issue.

If you want to get a job at Google you have be willing to be put up with these questions (both the ones make sense and the ones do not) just to show your dedication. I usually prep for such interviews roughly 3 months and I have worked as an SRE for a long time. Do not assume that we know all of these things on the top of our heads and do not feel stupid.
> But visible light can't get through us at all.

visible light definitely gets through me when I put my hand in front of a bright light source
The following is not a lie of the open source ethos, but I would describe it has one of it's biggest failures: That you can sell your open source product to users and make a living from it.

Of course, you can make money using open source software to provide solutions for your clients. If you run a SaaS you most likely built it on open source software, and ironically, exert even more control over your customers.

But what if you simply want to sell your open source product to customers so they can run it themselves? It's a dream for many developers but impossible to achieve. There are some success stories, but they are always the exception not the norm. And they often require selling closed-source extensions that are the bits of the business that actually bring in revenue (think GitLab).

And no, you can't sustain your livelihood by selling support if you are a solo developer. Besides the idea of selling support for open source products is, to most developers, the most unappealing option possible. (Charging for documentation is even worse.)

The GNU Project (supported by the Free Software Foundation) still "encourage people who redistribute free software to charge as much as they wish or can" [1]. This advice might have made sense in a time of software CDs and dial-up internet, but makes no sense in a era of broadband and GitHub.

[1] https://www.gnu.org/philosophy/selling.en.html
Anyone know what impact this will have on anything that gets in the way of these high-energy microwaves? I’m thinking birds or manned aircraft?
I think you missed the context of the founder-CEO being a 51% shareholder.
One thing that struck me is that the interviewers are asking the same questions to many different candidates, so they are going to know all the slip-ups that people make.
Tru, dat, but static libraries are so “five minutes ago.”
Getting rejected by Google turned out to be great for the author. He ended up founding a successful company instead. (Browserling)
Covid 19 Vaccine Predictions
Yes! And please don't choose one that's too much powerful (usually means complexity) and bloated. On Windows over the decades I've tried a lot of them, and ATM, clipdiary is the best, because it does what I need (just keep a list of clip history and let me select and paste any of them handily) and not slow.
There are several problems with this approach.

The person performing the forming would essentially be cleaning up the polution of everyone else. Terraforming would require global agreement and adherence to a highly capital-intensive enterprise. This is not unlike the discussions about limiting global warming, which are not a frank success.

We currently have no means of cleaning up that is more efficient ie less costly) than the methods we gave for limiting pollution. And it is already impossible to get people to accept to pay those costs.

That is not to say that it should not be researched. But to propose it as an alternative is not helpful in the current political context. It is akin to saying "yea but we'll win the lottery anyway" when other people are trying to get the community to accept a balancing of the budget.
Reinforcement Learning Using Scala
That's just not going to happen by any measure. Deposits might become more and more expensive to tap into, but we're not just going to run out. We need to stop using them, not hope that we'll just stop once they are out - they simply won't be.
Google is notoriously bad with these interviews. Most famous case is the Homebrew guy. I got turned down once because I haven't had a degree in CS. They knew that in advance yet they did the whole round.
Did anyone notices these questions aren't hard on algorithm sides(all algorithm questions in this post are common/trivial) but more about understanding Network(TCP) and Distributed System(Map-Reduce problem).

And the issue about forgoting to initalize data. Is the interview at Google really looking for that perfect solution on a whiteboard? In an interview, it's easy to forgot those thing like. I'm sure we have that moment when debug something and miss some trivial thing

Anyone has done similar SRE interview recently care to share some questions?
Check all the disclaimers on that concept, in particular "Attempts to model the electron as a non-point particle have been described as ill-conceived and counter-pedagogic"
Companies like Google have hundreds of thousands of machines and nothing they do will ever run on just one box. I can see why they'd select for networking knowledge.
"Dr." for 'doctor' is the continental titulatur for finishing and successfully defending your doctoral thesis, thus attaining your doctorate. PhD is one of the US-variants of a doctorate. Reading 'doctor' and thinking 'MD' for 'Doctor of Medicine' is a mistake, although understandable when talking about medical issues. From Wikipedia I understand that f.e. in Canada MD is an undergraduate titel.
I feel the same way, except I think the clock-hand question is quite straightforward. Except for that one, just like every other time this sort of thing is posted almost every question is either:

1. About fairly low-level details of computer networking, or

2. What would you do if your data doesn’t fit in memory?

I’ve been a successful developer for years and never had to deal with either of those problems.
> when the profession becomes high profile, the women are driven out

Because of fierce competition, where males (primarily driven by testosterone) have a higher drive to compete. It's biological. This doesn't mean that there aren't going to be women who will compete with said men, just fewer of them.
Will come from the State of Israel, they already have it ready to go lol.

Every fucking time!
> The C and C++ preprocessors are like the Windows command prompt batch language: They implement a very simple language that people still use for some reason.

I can tell you exactly why I use batch scripts—they're the only type of script that will run on double click in a stock Windows install.

Powershell scripts won't by default for security reasons, but for some reason for batch it's okay. So I use batch.
> “semiotics has become quite chic“

Hehe, does anyone know some good resources for semiotics self study?
1. I use Visual Code with carefully chosen extensions that alert me all the time about error.

2. I have enabled linter autofix on safe. It fixes a lots of stuff very good fast.

3. I wrote several own extensions. One for example shows error in the code when i do some mistakes i normally do. It also boosts my speed because i dont go through the whole process of finding these errors.

4. Since i code using TypeScript and Angular i use a lots of OOP and composition to reuse easily and modify code fast. And have less errors. OOP gives great propert and method suggestions in VSC so there is less space for errors.

5. I have a lots of generators and snippets custom for my projects. So writing similar things is blazing fast.

6. I dont overcomplicate stuff. Write everything as simple as possible so it is easy to refactor and modify and understand.

7. I use bash with a menu to have complicated operations like git operations to be done easily. Without clicking with mouse. It is a boost.

8. I have written also some software in C# that operates on the TS code base. I use it to generate some more complicated stuff that includes multiple files at once. I use code comments to put for example snippet examples into Angular code. Than a C# app looks for these in whole project and generates snippets for VSC automatically.

9. An extension for VSC executes tests one by one. I can choose test to start. It is faster than start all each time.

10. CI/CD, unit testing, linting, end to end tests give a boost if done right.

11. I side from solutions that are hype but cause loads of code to be written. For example some silly state management libraries. Overkill.

12. My PC is packed with best hardware, updated regularly to be fastest as possible. Since every second you wait ia a second you waste. PC ia better because you can upgrade it cheaper than laptop. Remote access is the key if you want use laptop.

13. Good sleep and diet, sports is essential for good performance. And music.

14. I never go into the zone if i am not 100% sure what and how to do stuff. In the zone you arw blazing fast, but be careful to not write useless code because of bad approach.

15. Notes notes notes. For everything. Refactored often. JIRA as a single source of tasks. Notepad as a detail task list.

16. I adjust tasks to the time of day and my mental focus. Some easy task for first half hour, and than the big ones for the rest of the morning.

17. I have wrote a lots on keyboard to have very high speed. It saves me time writing (actually you need to use keyboard when you are a dev anyways) and less wasted time for typos.

18. All notifications off. All spam sms, emails, calls off. No distractors.

19. I never code when i am not 100% sure what and how to do it. No guessing, always asking. A lots of wasted time saved. Never being ashamed to ask even the most stupid question.

20. I always remember that things take time and not stress too much about it. Stress harms performance if too high. But also some stress can let you go into the zone. And this is magical place to be in.

I enjoy coding. Always had. For 20 years.
Regarding the todo list, I find that having a text-format todo list for the current day can provide structure and sense of accomplishment (especially at the end of the day). After completing a task I would put a checkmark emoji in front of it. Such a list can also bring me back on track after a lunch or a mentally-demanding task.

If I know that I won't be able to do a certain task today, I put it in advance for the next day's todo list. Not completed tasks will roll to the next day.

Plan for May 11:

- Contact Person 1 regarding Thing 1
- [checkmark] Review Pull Request 1 made by Person 2
- Implement Thing 1 from Feature 1
- Read Email 1 from Person 3

Plan for May 12:

- Implement Thing 2 from Feature 1
- Investigate Thing 3
"Wow, that just like I would have written it!"

:)
I wonder if the tool-chain would be better under Linux? It is kind if funny the way Windows development has always been a hassle. Mscvars.bat and such has been there for at least 20 years.
I recently had an interview at a taxi firm that followed this format.

One two three pre-interviews followed by a day of 5 grueling 1 hour interviews.

I didn't get the role. Apparently the frontend guy I had the first interview of the days five was concerned about my technical skills.

I mean, I find it insulting, having worked for the last 12+ years as a developer to be told that there were "concerns about your technical competency"

I hate interviews. I hate take home coding tests and have failed every single one I've had. Apparently this is a sign that I don't do well under pressure.

I've been building working software for years, and the main problem I have is convincing people that I can actually do the job. I don't have a degree, and I don't have prestigious companies on my CV, and I don't have the time or energy to chase around roles like this, so I have to settle for unfulfilling and underpaid roles
Frameworks' key trait is that they impose limitations on the programmer

You could say that a type system also imposes limitations on the programmer. Is a type system a framework? Would you rather use a library than a type system?

I think the point is rather that making a framework is much much harder than making a library. So it makes sense to first create a library to solve a problem if that is feasible. Once you are reasonably comfortable with your choices during creating your library, you might think about turning your solution into a framework. You should do that only if there is an actual benefit in doing so.

I think frameworks live on a higher abstraction level than libraries. If you need that higher level, libraries are a poor fit. If you don't need it, why make your life harder in going there?
E2EE search only works on Desktop currently. We need to spell that out in the UI.
The irony of the clock brain teaser is that it operates on two assumptions. One being that the person asked has experience with analog clocks (which, given that it's 2020 has become less relevant) and the second being that said clock behaves according to standard specifications.

If the clock was instead a jump hour clock for example, then that tosses the trickery out of the window. Which is really what that brain teaser is about; testing that your cultural understanding of how an analog clock functions is correct.
> I got turned down once because I haven't had a degree in CS.

This doesn't make any sense - the employ I'm sure thousands of people without degrees in CS.
>I am scared. Really scared.

May be from reading too many scare-mongering alarmist articles like the one in OP where the usual quantitative terms that are supposed to be present in the abstract are replaced with "much lower", "serious health and productivity impacts", "dangerously high", "serious challenge", etc.
ExpressJs Route Management
"ANSI COBOL '74 vs. '68: Fad, or Future?"
Beautifully done.

“50% of my time spent sanding”

I totally get that. Same with wood furniture and sculpture. Easily half the work.

And now that I think about it, also true with writing projects... back to the Q10.
The blog post is a little "ranty", but it does have a lot of valid points, especially with regard to keeping things simple (where they can be).

(Also for context, it is related to his earlier post https://news.ycombinator.com/item?id=23107945)
> Maybe Google scale isn't for me.

Google employs the very elite of the elite. If you're working there you're probably at the very top of your field. Obviously not every can meet that standard and there's no shame in not being the absolute best.
I imagine it would depend greatly on whether the beam was set to 'Max' or 'Defrost'.
the 1:1 voip in Matrix has never been properly fleshed out. we’re planning to fix this over the next few months however.
It sounds like a test for a future space weapon. Something that, anyone correct me if I'm wrong, it's banned right now. They sell it as a new energy source and that way they circumvent the ban.
Google products and Google libraries. Tensorflow, Angular, GWT, the Android development experience....
The Seven Habits of One Highly Effective Manager of Managers: Charity Majors
That's essentially just an approximation. In some problems it can be useful to model the electron as having a finite radius, but our current understanding is that particles like electrons are literally infinitesimal points. In that case it's generally more useful for us to use things like Dirac delta functions to model them more accurately.
Maybe I’m doing it wrong then.
The general principal the author is talking about — ie not being overly opinionated— and asking yourself “Could I use this in combination with something else like it?” — could be applied to even something like a programming language.

For example, Elm 0.19+ would be the counter-example in this case. It makes it very hard t/ almost impossible to interact with JS code. A more flexible web front-end wouldn’t force such a strong opinion upon its users. It would let the users decide, and leave flexibility / room in various aspects of the language.
Piers Morgan Tested for Coronavirus
Belgium uses a different method to count deaths. If I'm not wrong, any death in this period (any not explained by other obvious causes) is counted as killed by coronavirus by default. Is probably not fair to compare them with the other countries at this moment. They are commiting an error by excess when all the other are commiting the opposite type of error.
These sorts of interviews do not find good software developers, they simply remove a certain kind of bad (not really) software developers along with a whole host of very good software developers that don't fit a very specific mold (perhaps people who write cheery blog posts about how fun it was? ...weird). Which is fine if you're the company doing the interviewing, but completely time wasting for the interviewee. In aggregate it sounds like abuse and disrespect. It's dismissive of experience, accomplishment and aptitude in favor of training to the test.

People say that Google has changed their tune somewhat over the years, but their creed has had impact throughout the industry. It's a shame.
What did you use for your Chinese word segmentation? I wrote Pingtype myself to help me learn by splitting words and translating them in parallel.

https://pingtype.github.io
TBH we don't require open source desktop software equivalents to popular windows stuff, just good enough web based software. I don't think Adobe is #1 in their market anymore, there's a lot of competition from things like Figma. Same with office, we use Google Drive and so I feel like it should easier than ever to switch!
How is "What's the angle between clock hands when it's 3:15?" a trick question? It's not 0.
Constructive feedback here. Don't take this thread personally, I'm sure it was a great learning experience but as a final product is not nearly there.

I don't have data to back up it but I feel that the actual UI and the lack of ads of HN are important factors on its success. Simple, in the long term, usually wins. Ok you like dark mode, make a browser extension that does it.

Examples of relevant alternative front-ends for HN:

https://hckrnews.com/

https://hnews.xyz/