skysight-inc/HackerNews huggingface dataset:
...Amazon shelf worker. Data about their speed of work and how much time before they deplete their error grants.

...Security agents, recognizing faces at the entrance of a night club. Using the human only for his muscle.

But really, enough people have inagined usecases. If an obvious one didn’t surface now, it’s because it triggers the imagination without actual usecases. I live in an almost entirely virtual world, have fewer and fewer friends, am online 70% of the time whether home, at work, on holidays or in conferences, yet I feel no need for AR glasses. Though I do feel the lack of long-term friends though ;)
Patents from 1997 would have expired by 2017.
Computer controlled artificial loads should exist large enough for any generator...

It should be a device that can be brought in on a truck, hooked up to the plant during commissioning, and the artificial load should be able to replay any conditions during grid incidents in the past, to check all the control systems work as designed.

A 1 Gigawatt artificial load that can work for 1 second could consist of 10 cubic meters of water (on a truck) and a few miles of nicrome wire... You'll also be needing some beefy switching silicon to simulate something more than a simple resistive load, but they exist already in any DC undersea power project.
In 2018 alone:
Toyota: 10M
Tesla: 250K

https://en.wikipedia.org/wiki/List_of_manufacturers_by_motor...
https://en.wikipedia.org/wiki/Tesla,_Inc.#Production_and_sal...
Did any of this happen after 2001? The advertising from 1995-2001 was already litigated and plead guilty and fined.
I have learned and used TDD before, but I don't do TDD. I am, however glad I learned it, as it influences the way I write code now to the better. (Think more before I start writing, for instance, and writing smaller testable units of code up front). Much in the same way learning a new programming language/paradigm also can change how you write code in the old language.
He'd still be very wrong. Cathode materials are less than 25% of the typical cell price.
Original image: https://hubblesite.org/image/4565/gallery

It has smaller resolution compared to older Saturn images.
AndOTP: Open-source two-factor authentication for Android
The authors of this might not realize it, but a good chunk of their audience can't read their post at all, due to Medium's paywall.
Fun with Cylindrical Pools in Space
Confessions of a Wasteful Scientist
Regardless of my opinion on the topic, which I don't have:

why must software engineering be mainly opinion-based?
Why can't we have objective facts, or at least only talk about objective facts without going out asserting one's opinions as truth?

AFAIK other engineering disciplines do not suffer from this problem as much as software engineering. This really bugs me.
Exposure is too long, all details lost.
It seems to me that software tests is like checking if an architectural design is structurally stable.

It's dumb to do that when you still don't have the characteristics of the space where you are building or the materials available, but it's dumb not to do it when you know exactly what and how you are building it.

In the same way, it's dumb not to do it when you have already a building and you are going to start to change things.

I think the problem is that, being all information, in programing those phases look the same but they are actually very different.
In my experience, if you find that you're unable to do TDD with a problem you're trying to solve, then you've probably not decomposed the problem enough. In your mind. Step back. Think.

The rush to produce code, now, is making working in this industry suck.
Julian Assange to remain in jail pending extradition to US
The new Swiss banks of crypto
Lots of responsibility in driving a train. That's usually going to be dozens, and for some trains regularly hundreds of passengers, or in freight hundreds or thousands of tonnes of freight.

It's psych-profiled, companies which employ drivers will be looking for "compliance" (a psychological tendency to obey rules even if you don't understand why) so that the driver obeys all the safety rules.

It's also a fairly complicated machine, not as complicated as a jet liner but far more complicated to operate than a bus, so that reduces your pool of candidates further, in most cases they'll be looking for someone with some mechanical aptitude to understand how it works.

They need communication skills, the driver needs to work with their signallers, and potentially also company dispatch, and on trains without separate customer service personnel they need to talk directly to passengers.

For example yesterday I was on a train which was delayed by trespassers. The driver will have needed to use "proceed with caution" rules, where they drive the train slowly enough that they can always stop it within the distance they can clearly see, obeying any signals, and then call their signaller back each time a signal cancels that authority, to get a new authority overriding each signal. Then, clear of the problem but much delayed, they needed to handle the fact that their dispatch turned their train into an Express to get it back where it should be, so they need to make announcements to passengers about where passengers should disembark to get a different train that's still going to their destination.

Mainline train drivers make similar money to me (or at least similar to what I made five years ago) but I can't say I feel like they don't earn it. Like me their job is pretty easy when things go right, but not so much when things go wrong. Lots of people couldn't do it, and more wouldn't.
Without knowing much about the specifics of regulating wind generation, I'd say it adds some complexity, and we don't have the same number of decades of experience of operating it at scale that we do for some other generation techniques.

So I don't see that wind (in the sense of weather patterns) was a contributing factor, but that complexity of regulation probably did contribute.

But then again, as the Little Barford CCGT station showed, it's still perfectly possible to have unexpected failure modes on more conventional generating equipment. (Little Barford enter service in 1996, and is presumably fairly typical of the kind of CCGT stations that were built in large numbers in the UK through the 90s.)
Absolutely, but testing is not what the author is opposed to. He's arguing against writing tests before writing the code that gets tested.
> what's the compelling reason for using this rather than one of the many other languages?

vs JavaScript (which it transpiles to) the intro teases more functional programming features like lambdas, but that's the only reference in the doc. The intro to functions section does not mention strict lambdas, only anonymous functions, so it's not clear if they can still access globals.

I would welcome lambda syntax in JS, you can sort of just be strict with yourself, but it takes more effort to _read_ when something is a lambda but you have to manually parse it to be sure.
Should I continue using Apache Struts or migrate to a different framework?
> The rush to produce code, now, is making working in this industry suck.

Who wants to think, when you can code, right?
Well call me crazy, but imho the reason for that is that for the most part, software engineering is not engineering. We're not fighting laws of nature, we're fighting other people's style and decisions. That's why our work is opinion based: we're basically computer lawyers.
Short-term and small scale, Apple really needs to add UWB tracking, at least a beacon you can locate, to the next generation of AirPods.

(Signed: someone whose spouse "can't find my airpods, I was sure they were in this bag …")

Thereafter: full inventory control and location of all your e-waste-to-be?
It is still useful, just a different kind of test.

High level quality/performance check, rather than testing functions. Produces values, not pass fail. Not really a unit test, an automated integration test of a module.

Simple test run to detect crashes or utter failures in CI fashion helps with speed of development too. Also not a unit test.

Once we had a research solution and were setting up performance improvements, we have put regression tests in place for the replaced functions and the whole system, derived from earlier module quality tests. Added a few well chosen property based unit tests.

This has caught edge cases in the fast implementations.
They characterize the Hornsea and Little Barford trips as to

"not be expected to trip off or de-load in response to a lightning strike. This therefore appears to represent an extremely rare and unexpected event."

Looking at the timeline, both of those events are logged within 1 second of the strike. To me, with even a little bit of experience with systems having complex interacting components, it seems vastly more likely that there is some unknown interaction rather than pure chance. I would imagine the prior probability of either of those two going offline is very low, so the probability of both independently going offline within one second of a potential causal event seems vanishingly small.
It depends on many factors that can be mainly categorized in personal experience with the player(s), position and range:

Personal experience: Are you playing against a good player? Bad players tend to make very wonky decision, which makes it harder to make good assumptions on what they are playing. In that case, you play by the book on probabilities, because over time you will make more money. There's also "tighter" and "loser" players, who will bet more/less respectively with better or worse hands. Finally you could have a tell or a feel for a player you know for a while.

Position: Betting is highly dependend on the relative position he has at the table. Let's consider two situations, both pre-flop, with five players at the table: First situation, the person after the small blind bets a largre amount. He still has 3 people "behind" him, where he has 0 information on what they are going to do. They could re-raise him, call or fold. He puts himself in a very risky situation by handing over control to the people "that have position" on him.

Second situation, the same player makes a raise as the big blind. In this situation, everyone before him either folded or called, implying they don't have strong hands. He can use this situation to push more people out of the pot, or prepare for a larger bet on the flop. ("Preparing" in the sense that a larger pot makes it more difficult for people to fold to bets. If you have a flush draw and are supposed to pay 20€ to see the next card, the value is very different if it is a 40€ or 200€ pot).

Range: This is the trickiest and coolest part of playing poker. Basically you are trying to find out what cards your opponent holds so you can make a better decision. At the same time, you would like to conceal what cards you hold yourself. Consider the two situations from before: A large bet in second position does imply 1 thing: You probably don't want many players to join for the flop. This in return implies you have something good, that could easily get overturned if someone hits a flop. Small Pairs are very likely. In the second situation, it is much more difficult to limit your range. You are defending the big blind, so you're already invested. You are either raising for value because you have a strong hand (AK, AQ, 89 suited etc.). Or you realized no one raised so you want to "act" as if you have a strong hand, potentially steal the blinds or set yourself up for a later bluff.

Edit: I probably should've just posted Daniel Negreanu's channel, he's a much better player than I am and probably also better at explaining. https://www.youtube.com/playlist?list=PL3N4X2KgtefdYT6dGleeo...
They aren't saying that Tesla isn't safe. They are saying there isn't enough crash data to have it in the list.
> But the candidate will go to interview with the hiring manager at some point, this cannot be avoided.

This is not true, in my experience. Most of the people I have worked with remotely did not meet their manager before hire. The decision was based on resumes, project work, emails, and phone calls. I first met my boss in my first remote job almost 6 months after starting the job.

Denmark may very well be different. And that will make it harder for you to write a product that works worldwide, if you are building a product that matches the culture in Denmark.
Wow. It really looks like created in Blender or similar program!
The experience of a beginner with a certain tool is quite important. E.g, if Linux is not user friendly to newbies something could be done about that.

But some tools require expertise and a beginner might not get the entire picture yet. E.g, if someone with 1 year of physics experience claims Quantum Mechanics to be dumb, is that a valid opinion?
This isn't a criticism of OP but my general thoughts about a new programming language project.

I think that every new language should show one thing that the language can do well, wheres other languages can't; in other words, we need motivating examples. I've always having a trouble figuring out why a language was created in the first place.
You are so right, the laws of nature have been abstracted
He said that too, and sometimes is better to write the tests after you have the functionality finished and working because you know exactly what you expect and you add the tests to prevent feature updates to cause unexpected changes.

IMO TDD works if your input and output is clear from the start and the way to get the output is convoluted enough that you need the test.2
A huge percent of cars are already using Linux on their head units. The ones showing the backup camera.

E.g. new Mazdas have a Linux distro with DBus communicating between binaries and Opera browser to show UI. The actual UI is written in JavaScript and HTML.
That's because there are too many developers with the title of senior but skills of junior, and a business person can't tell which one is which unless they're one of the few high experienced developers out there.

The only time where a business person knows they hired the wrong people is when people claim for a rewrite. At that point, sorry, it's too late.
I like your link better, it doesn't fail my filter of sensationalised title and provides interesting information in the description. Thankyou!
What works perfectly for some devs doesn’t for others. That why there are choices.

IMHO only thing dumb is developing without testing
Better to use a proprietary OS?
We're gunna program like it's 1999 by Lee Byron
> TDD forces you be clear about what the result of your code should be before you start coding

... which is often difficult and inefficient. A large part of the point of the article is that when making changes to an existing system, you often DON'T know until doing some experimentation what the result of your particular new bit of code should be. You know what change you want to happen to the behaviour of the system as a whole, but don't yet understand how the pieces that make up the system slot together. That permits you to dive in and try making changes and see what their effect is, but doesn't permit you to write a unit test right away.

> it is smarter and more effective to write them first.

But... why? You're asserting this without any justification.

> People who say that TDD moves slower are simply admitting that they don't test.

This accusation is pretty tedious. The article was explicitly comparing the test-first-code-second approach against the code-first-test-second approach and giving a reasoned argument (which you've not acknowledged or engaged with) for why the second was usually superior. The author isn't saying they don't test or arguing for not testing.

> I found it rather ironic that the article ends by praising behaviour-driven development

That was sarcasm.
Gemini observatory captures multicolor image of first-ever interstellar comet
So is this the start of the road towards human cloning?
> we're basically computer lawyers

I like this. I mean, as a description, not so much as a fact, but it is what it is :D
Great feedback, thank you, @codingdave! It is the first time I hear about someone being hired without meeting their manager. Do others have the same experience? Please let me know!
I don't know which companies operate in your area, but you should be able to simply open the phone's camera and read the QR code, which will then pop open the app. Five seconds tops.
TDD is one tool in your toolbox. You can easily solve problems like this one: https://itnext.io/you-dont-know-tdd-691efe670094.

However, there's a myriad of other problems TDD doesn't help you, like when you need to design a system beforehand or you want to make an educated jump to a solution that's good enough and you already know it.
Software engineering may not be an engineering discipline but in theory you could set up empirically studies/experiments to test certain hypotheses of software development practices. In theory you could also review or evaluate design against certain criteria and derive what's better to fulfill certain goals.
Because this is really project management not software engineering. You would get into real arguments about how to micro manage a team of engineers designing a space shuttle replacement. Complex expensive tasks with real tradeoffs don’t have simple answers.
I mentioned London because it had one of the highest salaries in Europe. I don't have personal experience myself apart from what I saw in Glassdoor.
> I have never actually seen somebody writing all of the tests before implementing the code even if they claimed doing TDD.

I had an architect who did exactly this. It was awesome, one could just look at his code and see where it would fail because it didn't occur to him to either test for that case or actually think what the code does. His only explanation would be "but it passes the tests". Later he was made into CTO.

In a way, not testing for edge cases that are found during development is quite similar to commenting on article one hasn't fully read.
Very interesting from engineering view and the impact to rail.

Rail Headline:-

Page 27. "The effects were exacerbated as the fleet was undergoing a software change which meant the train drivers could not recover trains which were operating on the new software."

My view: Twenty-eight more units would have required a technician to visit if the software roll-out had been completed. Potentially exponentially increasing the disruption to public.

Appendix F – Govia Thameslink Railway (GTR) technical report, Page 47-50. http://www.ofgem.gov.uk/system/files/docs/2019/09/eso_techni...

Appendix F, page 49: "Therefore, the affected Class 700 and 717 sets did not react according to their design intent in these circumstances."

The ability for the driver to recover was removed as part of the software update. (See, Appendix F, Cause point 8). Operators are a key stakeholder.

Great technical report, would have loved to have had more information on Victoria line. Lessons can be learned from this report.
Young entrepreneurship at its best
Assuming that the amount of test code is 2-4x the amount of production code, TDD increases the cost of change by 2-4x when change is most likely to occur: at the beginning of development.
Check out Google’s CloudRun https://cloud.google.com/run/
That’s because the British killed all the HKers that resisted. Most HKers lived as second class citizens for decades.

It culminated in the ‘67 protests, where the British killed over 50 protesters.

It was only after the 80s, when decolonization was popular and the return of HK inevitable, did things change for the average Hong Kong citizen.
Hey, that's very cool. Thank you!
London salary to cost of living ratio is terrible. I made a better real income, and at a lower level, in Australia, which many people leave for better salaries in SV.
I don't disagree with being flexible when needed but the counterargument is that flexibility can sometimes be used as an argument for corner cutting. For example when you start to make a few exceptions for TDD it then becomes easier to make more exceptions; if you're not careful you can quickly end up in a situation where your rational is "we don't have time to write tests" or worse yet "can't be bothered to". The point of methodologies like TDD is they force people to follow the best practices even when it's easier not to simply by mandating a standard process.
I find that writing _something_ can help me to get a feel for a problem. Start, then sitting back and thinking about it, helps me to move towards a better solution faster.

Of course, I don't always do the stopping and thinking part...
Currently, we have a call with the companies to see if they are serious about their position - e.g. what's their budget.

We will require the companies also to have profiles, in which they answer to things such as development methodology, how many people in the company work remotely, do they offer flexible working hours etc.
Oh wow that typo went by unnoticed
During the ‘67 protests, the British killed over 50 Hong Kong protesters.
It might be. Your point is that it's not worth your time to consider that someone's opinion.
Hubble is a fantastic program that gets far too little credit IMO.
Cost of living adjusted salaries are what matters, and London has SV level cost of living at way lower salaries.
>The experiences of beginners are as valid as anybody else's.

In certain situations they may be even more valid. But when it comes to software processes you really need to have lived and breathed them in order to mount a credible argument.

>It creates an unfriendly culture if people are told they can't talk about their frustrations and challenges without having x years of experience first.

Nobody is denying this person the right to talk about their frustrations.
Absolutely. And I think there were actually studies on the effectiveness of TDD, and I seem to recall them confirming it.
Interesting, I didn't know, thanks for mentioning.
flag = new Flag();
white = new Color("#FFFFFF");
flag->setColor(white);
The best selling feature is coming with a platform, everything else is less important.

If the platforms succeeds, the language is deemed to success and eventually outlive the platform.

Anything else is kind of yet another programming language.
QNX is still fairly popular in cars. Sometimes also QNX for the more critical things and Linux for the rest.
A CS degree covers more than just programming. A bootcamp focuses on programming only.

Let's assume the CS degree has on average 1 out of 5 courses per semester that directly involves practicing programming, and not just filling up the requirements on liberal arts, and math, etc. 13 weeks * (3 hours lectures per week + 5 hours homework per week) * 2 semester per year * 4 years = 832 hours.

So a full-time developer bootcamp would need to be at least 5 months long to match.

Most are only 2.5 to 3 months long, but there are some 6 month long developer bootcamps. The short bootcamps might not have as much value, but still a good minimum start to development.
Agreed, it increases linearly. But now think about the cost of change without tests. The longer you wait to introduce the change the more you will have to change (increases exponentially). If this code was fully tested and maybe refactored (isolated) when the need arises, the cost of change would almost go to 0 because you would only have to implement a new feature without touching the old code.
If you start coding before knowing what you are implementing then you have a bigger problem than TDD.

Experimentation is not the same as implementation, by the way.

Obviously nothing is adhered to 100% of the time in real life, this is not a dogma, but the point that you should know what the result of your code should be before you write it and should thus write tests first (which can also help you clarify your understanding) is eminently reasonable and valid.

> That was sarcasm.

Article is poor overall. Sarcasm does not help.