skysight-inc/HackerNews huggingface dataset:
The parlor trick isn't a useful feature in practice. If a user drags a Note around a bunch, drops it, and then selects undo, what they really want is to undo all the way back to its location at the beginning of the drag. They don't want to rewind the entire drag procedure one pixel at a time.

I've dealt with this issue in various tools and level editors a few times. It can be annoying. The fundamental problem is that if your tool has undo (which it should), the cleanest way to architect it is such that every state change goes through undoable operations.

But that means that even in the "middle" of an operation like dragging something, or painting a long meandering line, you need to be creating and processing individual undoable steps so that the user can see the operation as it proceeds.

But once the operation completes, if they undo, they (usually) want to undo the whole batch of them, not each tiny step. A closer-to-home example of this for most programmers is their text editor. Type a sentence quickly and then hit undo. You don't want that to just undo literally the last character.

There are two ways I know to handle this:

1. If memory is less of a concern, I keep the series of individual undoable steps and then wrap them up in a single "multi-step" undoable operation. Then, in the main undo queue, replace them with that wrapper so that they are all processed as a single operation. When you undo the wrapper, it just undoes all of its child steps in reverse order.

2. If memory is more of a concern, I add support for collapsing a series of undoable operations into a new larger one that can represent the entire aggregate change more efficiently. This is more work because you need to write separate code for each kind of operation that can be batched this way.
I'm 40. As it happens I like Haskell and I've spent some time with it, and I expect I could get through most recursion interview tests, so this is not sour grapes on my part, but: I really can see just how easily my career and hobbies could have turned so I would be a good developer that should pass interviews, but stumble and fall when trying to write a recursive version of some algorithm.

(I'd add that in practice, almost nobody ever directly writes a recursive version of anything anymore. You should generally be using combinators like map and filter and the crazier stuff Haskell provides rather than directly writing recursion schemes by hand. It does happen in Haskell for a couple of specific cases, but even the ones I can think of are exceptional cases for dealing with certain optimizer corner cases, not places where it was absolutely necessary to write direct recursive code. Even for a pure-FP job I wouldn't hammer on it in an interview; I'd want to very rapidly move up the stack to more interesting and relevant questions in our precious interview time. I suppose it's an integration testing approach to interviews rather than unit testing; I'd rather find something where recursion is used in passing to ensure that you've got it than sit there and pound on that specifically. It's not a good interview question unless that's all your interviewee can handle.)
I do not think white boarding is a cover for ageism.

I think a group collaborative exercise where you're sketching, drawing, or otherwise visualizing an abstract concept to explain a point, answer a question, or justify a decision is a skill that talented, effective people can leverage regularly to get great results at work.

I think testing for this skill is a really good idea.

I think that doing this in a way that's equitable and emotionally supportive to the candidate takes thoughtfulness and effort, and not every company/person in this process does this well.

I also think there's a great number of people who turn this concept in to a boogeyman to rationalize their interpersonal or technical ineffectiveness.

I would use a whiteboard interview to evaluate a candidate (and have), I would happily submit to a whiteboard interview (and have), and I think that all things being equal, the noise around them mostly comes from people who perform poorly on them and if I'm a betting man, a team made up of people who performed well on an equitable, well structured whiteboarding exercise would outperform one made of people who did not in the work context of building software as a team.
It worked on a very low end Android running chrome, runs flawlessly.
>Nobody builds anything important with it

The core of grammarly, a major, popular product today, is a Common Lisp program.
Most juniors fails white-boarding as well, so we can assume that most seniors would fail whiteboard interviews when they were young as well. So I think this isn't ageism, just people with lots of experience who don't want to admit that they weren't the top X% of their cohort. Of course it is easy to believe you could have passed them back then due to the Dunning Kruger and the "Good Old days" effect, but that doesn't mean that it is true.

If your argument is that you barely passed those interviews a decade ago and it takes too much energy to practice again, then I'll say it is a feature. The more we discourage less capable people from joining the better, don't you agree?

Of course this all assumes that white-boarding is a good indicator, but the companies administrating them has pretty good statistics that they work. Also it doesn't have to be on a white board, at least Google lets you write on a Chromebook since a few years back. The important part is that the candidate has to solve and code a non-trivial problem not available in public (meaning they can't have seen it before).
Perhaps just to call out if it triggers a memory for others who may recall the story?
Learn Chinese?
React is very far from the fastest vdom. It notably suffers from needing to work with non-DOM back-ends where a particular heuristic that is good in the DOM may either be useless or (worse) actively degrade performance. Preact, Snabbdom, or Inferno would probably be better points of comparison to Svelte's approach as they are much more optimized for the web.

DOM nodes can actually be recycled relatively easily. Cache the nodes by type then by class. Most recycled nodes would be a 100% match based on those two alone. If type and class match, then you have a super-high probability of dealing with old nodes for the same object, so few modifications are required. Most nodes without classes tend to have no attributes changed (<div>, <p>, etc) so they will match as well. Store those nodes with their vdom attached and you will have a record of what has been modified so patching is fast.

This optimization exists in some vdom implementations and would make the case in question much faster. There also seems to be an implication that the diffing algorithm will bloat. If you look at React, the diffing algorithm is a very small part of the codebase.

This is hardly just an academic optimization though. It is the key to reducing overhead on long lists. With long lists of complex objects, you cannot rely on patching text values because there will undoubtedly be actual DOM differences. Rather than dooming the entire list to poor performance, you can recycle those nodes and retain most of the performance of a flyweight scroller where nodes are all identical.

https://developers.google.com/web/updates/2016/07/infinite-s...
Wifi is largely insecure anyway. You should largely assume that the network is malicious no matter what and just rely on application layer security.
Think of it as non-zero-sum content. The anecdote is interesting enough to be worth your time but it also gives the author some attention on their game.
> Being a central concept does not mean it's not esoteric.

That might be fair. I wouldn't consider a term well understood by anyone with much exposure to the social sciences (any of them, just about, will run you into it, sooner rather than later, probably) or a more-than-tiny exposure to economics (if we're feeling generous and separate that from the social sciences) or just about any higher liberal arts education, to be esoteric, but I can see that falling within one's tolerances for the term, depending. Probably well North of half the population would be lost by it, or take something other than the intended meaning, that's true.
There seems to be an insane amount of misinformation and misunderstanding on this topic. What you and others are describing is not financial engineering. It's corporate raiding, fraud, etc.

I'll list some examples in the field of financial derivatives (speaking here in my personal capacity, not an expert, this is not advice, disclaimer disclaimer disclaimer):

* An oil production company knows they can comfortably operate at a particular price level, P/BBL. They're willing to forego any additional profits provided they can guarantee receiving P/BBL. Commodity swaps make this possible, and it means that people in the industry get to have a reliable job despite the volatility in the market.

* The national airline of a small, poor developing country depends on tourists buying plane tickets in a foreign currency, often months in advance. How can they manage the risk of the exchange rate volatility, when one of their biggest costs are fuel and they have to pay this in yet another foreign currency? Currency derivatives make this possible, and it means this developing country can reliably operate an airline and thereby receive an economic boost from tourism, helping at least some of its citizens make it through another day.

* The CEO of a F500 company knows some bad news is about to hit the market and negatively impact the value of his stock. But he can't sell his shares because he'll be guilty of insider trading. Instead he enters into an equity swap arrangement with some poor sucker who doesn't know about this bad news, and because it's a pre-Dodd Frank Act deal, nobody is the wiser, and our CEO gets to enjoy another stress-free day on the golf course.

As I hope my last tongue-in-cheek example demonstrates, these are just instruments. How they get used and abused is a problem for regulators; they are not inherently evil.
I get the urge to call you Clive Stabnick.
My own theory about MBAs is that it seems to be a signalling mechanism where people are saying "I want to stop doing <stuff> and want to manage people doing <anything>" - spending the time and money being a way of signalling that you are serious about being committed to management rather than being a practitioner.
What are you building with Rust? Curious about its prod usage!
From the linked reddit post, a trademark attorney:

> In many cases, you're right in that the TM or (R) is superfluous. No one, for example, is going to be able to argue they didn't know McDonald's or Coca Cola are trademarks for their respective companies, so whether those two are really marked with TM or (R) doesn't matter much.

Mercedes isn't adding the symbol after "Mercedes-Benz", but after PRE-SAFE, which is not something a reasonable person would always associate with them.
GE would be one.

The other... EAK Ramen in NYC (small chain that landed here a couple of years ago out of LA so I'm sure it is financial engineering at work, not just an owner experimenting). They removed what used to be a standard part of the ramen that came with it ( egg, some toppings ) and started offering removed parts as "customize your own ramen! Add an egg for a $1! Add corn for a $1! Add X for a $1 ) as a way to raise prices by wrapping that into "customization". As if their customers are stupid and don't notice that the same ramen now costs not $14 but $18.
Majority of AI startups are starting with manual approach to generate training data set for future algorithms...

Plus it is a faster way to validate demand for given business model.
Maybe they are making not so smart decisions with their locations? I've seen two WeWork places close to each other in the heart of London's financial district.

They could rent a huge warehouse on the edge of the city centre, but that would attract probably a different audience they aim for.

If they generate $1.3B loss with those prices[0] then how they see a way to make a profit? It's not like self driving coffee machines will save them :)

I don't get it.

[0]https://www.wework.com/buildings/5-merchant-square--london
This doesn't follow. A camera is sufficient to demonstrate there exists value inside the house (value being subjective both the owner and the beholder in this case), but not necessary.
100% not ageism. Whiteboarding itself is just a skill to practice. I don’t pick jobs based on the interview process, I pick the companies I wanted to join and practice the skills needed to pass the interview. After 10 years in the industry my whiteboarding was always terrible until my last round of interviews where I decided to actually focus on it and I passed the interviews at Facebook and Google. My problem was that I could always solve the problems but I was too slow without the keyboard and the compiler to help. So I practiced writing code without those tools and got faster. I think if anything my experience helped, so I’ve come around on whiteboarding. It’s not perfect, but any good coder can learn it and the bar is not really that high.
I don't think this can be overstated. If you don't enjoy the interview process, you probably don't want to work there.

I disagree with this. The interview that I enjoyed the most was with founders who took me out for beer. We talked a bit about software but most of the discussion was small talk.

After a few months of working there, I realized that some of the people in the office didn't really have any qualifications except "liking beer" and it wasn't a professionally interesting place to work.

My least pleasant interview experience was with Google but I enjoy working there.
> I thought most of the "modernization" in lisp was done in descendant languages

One core feature of any Lisp dialect is that you can extend the language using Lisp.

Thus, you don't need to "change" the language spec or write a new compiler to extend (and thus modernize) the language.
Location: Rio de Janeiro, Brazil
Remote: Yes
Willing to relocate: Yes
Technologies: AWS, Linux administration, Python, Ansible, Chef, Docker, Kubernetes, Networking, etc.
Résumé/CV:https://github.com/csouto/samplecode/blob/master/Cesar_Souto.pdf
Email: cesar(dot)souto(at)gmail.com
The high level waste can be reprocessed. The low level waste, which is ordinary materials which have been exposed to high neutron flux, can't.
Same here, but that's only because I practiced. WB coding is a skill like any other, barring a physical issue which prevents you from writing on the WB.

I do sympathize though. The older I get, the slower I tend to think and the more silly mistakes I make. WBC is not a good way to show off my skills. Frankly I think WBC in general is biased towards the type of rote learners who grind through leetcode problems and know how to regurgitate canned answers, but that is dependent on your interviewer.
Visualization sake? I often write like that, possibly under the influence of Russian/European 18th and 19th century literature I read during most of my life, thanks to education around here. It excels in overly detailed visualizations.

Please don't start ringing alarms, not everyone is a biggot. Not saying the commenter isn't, just don't judge.
It doesn't seem that way, it is that way. If you have to muddy the definition to make it fit then it's not very practical. I sense your particular context being a class of people who have power through ownership of means. My point is that ownership is available to anyone, either by buying shares (fine if you say that's difficult) OR by starting their own business (literally minutes away on the internet).

If anyone can join then it's not exclusive. In fact it's entirely welcoming. The economy not only supports it but relies on it, demands it even, and the very people you may claim are the most powerful today includes members who have started with nothing and were far outside that 'class'. The boundary is completely porous and ever-shifting so as to be non-existent outside of a political discussion. There are no chains binding you.

So what is the use of such a definition other than a "us-vs-them" distraction? When the "them" is open to anyone? It seems like the side which is dividing and conquering is not the capitalists.
There are many instances in history where coercion was required to bring peace, especially in "bad situations" ranging from war to insurgencies to domestic terrorism. Most notable examples: Germany in 1945, Japan in 1945, counterinsurgency in Iraq in 2007-08, rooting out LTTE in Sri Lanka in 2009.
maybe it should be illegal for them to profit from the stock going down for the next 4 years or something like that....
Anyone can crash and burn in a situation like that, particularly since it sounds like they are putting too much emphasis on the wrong things. I have had a couple of interviewers go back to the question and ask how I would approach it in a more realistic setting, meaning that they were more interest in process than the solution. Unfortunately, that was the exception rather than the rule.
The App Store requires apps to obtain user consent before doing any kind of tracking and only allows one method of identifying users (advertising ID), which the user can reset whenever they feel that apps are getting too creepy with their tracking. While there have been other ways to fingerprint users, Apple has been aggressively pursuing each avenue and closing them off.
With Rust can you cross compile for another platform?
I can't wait to see how you react when you find out where the name “Unix” comes from, or that this site runs on a language named after a speech impediment, or that most of its users use Apple computers (whose first product sold for $666) where the most common shell is the “Bourne-Again Shell”, or what the Google headquarters is called, or where Google’s IPO valuation came from.

You may be confused about what site you're on. This is “Hacker News”, not “Insecure Banker Desperate To Appear Respectable News”. Hacking is the playful application of ingenuity.
Could be his attitude. The older we get, the more rigid we come across. I know I personally put up with a lot less shit than I used to, hence why I doubt many would want to work with me - and that’s fine by me.
Beyond whiteboard based coding being a bad medium, on-the-spot programming exercises are a super noisy, poor medium for assessment compared to the alternative: a work sample in the form of a 4-8 hour programming exercise done by the person on their own terms. No exploding deadline, no restrictions on tools other than those necessary to show the person's relevant job skills. Make a bunch of them, put the time into them, and let the candidate have a chance to pick from a library of exercises that are interesting and fun to do.

The main downside to a work sample is that a lot of people will say they simply don't have the time to do it. That's fine, you'll lose some people, but you'll also have people applying who really want to work for the company. From there, you'll have a small number of people who do a great job on it. By the time they are in your office interviewing, the idea that you'd reject them because of a slip-up on a small coding exercise on a whiteboard is absurd, because you already have a mountain of evidence regarding their skills as a programmer. The in-interview exercises will be there to test other skills like communication and collaboration, not writing good programs.
Because audience. Sadly C/C++ dominate and that spread elsewhere.

However "hard to read" is also the many concepts that rust have and certainly the combination of traits/lifetimes make some stuff very obtuse.
Depends on how bright LED is
The $5200 customer is somewhat meaningless, because WeWork customers spend a lot more with WeWork than Uber or Chewy custotmers do. Would be more interesting to see as a percentage.
>> It's despicable and makes me ashamed to work in tech.

Don't be ashamed! Uber has had a positive influence in the taxi industry. We finally have a decent service and we don't have to pay vip prices (it's subsidised by investors).
I'm not sure if it's the case with "we work" as well because the investor might just overpay the founder's lease agreements.
Always a solid plan, my friend.
I mean the exit game only works if there are people to buy.

Before buying there's some minimum due diligence to do
That's like a 2-4 year task, it seems.
The video game industry is inherently conservative
How Google is “accidentally” deactivating user accounts
I've been on both sides of the whiteboard interview (candidate and interviewer), and I've failed a good number of them. The last one I had as a candidate was about 4 years ago, incidentally when I was 42 (I did get that job and I'm still with the same company).

The best whiteboard interview evaluates a candidate for technical skills and soft skills at the same time. I want to see if candidates ask questions and can deal successfully with ambiguity as much as knowing the "right" answer. At the same time I'm asking questions about their previous work, specifically looking for concrete examples of how they balance the needs of different stakeholders in a project.

The worst whiteboard interviews look to evaluate knowledge of a specific algorithm, and don't provide help when the candidate is stuck. The very worst is just a pretext to cover up the interviewers biases.

In my experience, the right company is out there for you, but as an older candidate it can take waiting a long time for the right opportunity where you can highlight the specific skills you've spent your life accumulating.
One old company of mine had an awful lawyer that even insisted on putting 'SM' everywhere while we were going through trademark applications. There are still dozens of permanent installations of their branding that show BLAHBLAH(sm). It looks awful and served no purpose.
> if the trade union and its committee function as trade unions generally function in China, then Huawei may be deemed effectively state-owned.

That's the "they're Chinese, so obviously they can't be independent" argument. It not necessarily wrong, but also not terribly illuminating.

As you say, a more interesting question is that of control. Given the level of disunity within the Chinese government, a useful answer to that question would really need to break it down to the personal allegiances of the decision-makers. Unfortunately, those are unlikely to be recorded in publicly available documents.

In any case, Chinese government officials will extend their support even to Chinese companies they do not own, control or otherwise directly benefit from, so long as there's no competitor for whom that is the case.
Finland is taking a radical new approach to flexible working
The Honeywell Lyrics actually geofence you via their mobile app- it works so much better, its literally set and forget. We have our geofence ring at a 10 block radius around our home. You can combine that with preferred day and night temperatures, and never have to worry about it again. It paid for itself the first month I bought it (I had a dumb thermostat prior). Come home early? No worries. Come home late and don't want to heat/cool an empty house? No worries. Go on vacation? No worries.

I actually just moved a few weeks ago and have nests, and aside from looking a bit prettier on the wall, they are far inferior. I kind of want to replace them, but am hesitant since people coo over them.

The fact that no one talks about Honeywell reminds me of Zune back in the day. It was (ok arguably) a better product, everyone that had one loved it, but it just didn't seem "cool" since it was made from an old-school company and died on the vine.