skysight-inc/HackerNews huggingface dataset:
Very noble view of the government .. another view is, the government wants order, and desperate people tend to do drastic things, which disturbs order. And with evac orders ... there is also the assumption that not everybody got the order clearly (or understood it) and you would have upset citiciens who complain the government let elder people die ..
Not to disagree (this is the second Little Alchemy after all) just to add a more original original: Christian Steinruecken's DOS game "Alchemy" from 1997. Which also inspired a mobile "Alchemy" from 2010 and the incredibly popular "Doodle God" and "Little Alchemy". But kudos to Christian for the original game (or at least, the first one I have come across).
Mediumish is a template built specifically for Medium
I am pointing out that everyone has heard about hyperinflation crisis, and many people in this thread are pointing fingers and writing about it as if it a series of contiguous policies followed as a logical consequences. That's not a fair statement because there were several violent changes of government, with different monetary policies. And many gaps in your (and mine) understanding in how these regimes manages economy. Can you, or anyone else here, really comment on monetary policy of nazi germany without looking stuff up?
That's why I think, that, to claim it's not fair to reference things that happened "100 years" ago in germany. In US, which does not have such background, that would be more reasonable.
As opposed to running what?

Linux (as in, the kernel) is extremely stable and well tested.

If the components in question utilise any significant features of the kernel, I strongly doubt some homegrown kernel-esque project will achieve more stability and reliability than Linux.

Sure, if it can be done with a (minimal) amount of embedded code then it quite possibly should be, but if a whole kernel is actually needed then Linux is a fine choice.
Probably, like with most internet events. There are much more people on the internet who say they are doing things and people who say and actually do things. (In lots of cases luckily, though)
Not sure if UWB-enabled devices are also capable of sensing spatial position of other devices (i.e. phone A is on the left of the phone B), but I'm already envision how this can be used to create screen-to-screen file moving feature – some sort of Avatar-like UX: https://imgur.com/8O89CXK
What is the purpose of these embedded generation protections:

Vector Shift Protection (triggered by lightning, led to loss of 150 MW):

As far as I can see, this protection shuts down generation when part of the grid might be disconnected from the rest. Shutting down when islanding hasn't occurred is wrong, and destabilises the grid. Perhaps we should be measuring islanding another way? What about applying gold coded frequency modulation to the actual system frequency? A gold code of length 1 million could be injected on just a few points on the national grid, at a power of just a few kilowatts, and be measurable from anywhere. When islanding occurred, the signal disappears, and embedded generation can switch off?

Rate of change of frequency protection (led to loss of 350MW). What's the purpose of this protection at all? If frequency is changing in a downward direction, the faster it's falling, the more important it is not to disconnect supply.

High positive rate of change of frequency might be a reason to disconnect generation to prevent oscillation (effectively acting as the "D" term in a pid loop), but did this occur?
One thing I "worry"/question about these "vintage" projects is the choice of processor.

The 6502 wasn't great. The Z80 wasn't great neither but I'be heard it might be slightly better in some ways

I wonder what would be the best 8bit processor available (or even ditch the 8 bit stuff and go 16bit). Maybe the 8031 series? Maybe a modern one?
At first I thought this was some reference to the well-known Z specification language (https://en.wikipedia.org/wiki/Z_notation). Come on guys, pick a name that a) doesn't clash with a language that has been around since the 1970s, and b) can realistically be found in a web search.

The language itself looks decent enough, but what's the compelling reason for using this rather than one of the many other languages? I'm sure there must be one, scratching a personal itch aside, but at least tell us about the rationale.
"Ferrier sat his Leaving Certificate exams last month at Schull Community College and is due to attend university in the Netherlands. The teenager works as a curator at the Schull Planetarium, has won 12 science fair awards, speaks three languages fluently, plays the trumpet at orchestra level, and had a minor planet named after him by the MIT Lincoln Laboratory."

Anyone else feeling somewhat inadequate in comparison?
Sure, one compiler can't be egcs 2.95 and the other clang 8 (at least not in most cases) but the target compiler system doesn't even have to have include files, libs, libfoo-devel packages installed or they can be, but from old versions.
As a proof of concept I once had a linux with gcc4.2.1 make c->.o files that later ran on OpenBSD. Would I trust that resulting binary? Sure not.

But in cases of "lets spin up 10 compile boxes with <same ubuntu within a week of updating>" or have something along the lines of Xcode which allowed you and your colleagues to help out each other with small work units in order to make a single compile run quite much faster, that is a definite possibility.

For that final release build, you might consider running it on one of those 10 VMs in the example above and have 'only' 9 others help out with the sub-parts in order to get some kind of .. guarantee.

If it takes a minute for a full build on one box, getting a hint after 10 seconds that you misspelled something and that it won't ever link decently is worth something too if you value your time as a developer.

Not saying it's perfect, only chipped in on the "must be 100% or it can't ever work", hopefully without needing to go into the "coach says we need to give 110% this game, and 120% if it's the finals" nitpicking.
i wonder how high pressure air nozzles would fare in this application. have a small reservoir of water dispersant that get nebulised from the nozzle themselves every box and then and just push water around with the nozzles at low speed
Is there a way to read this without creating an account in Medium?
As an Irish person, I feel both proud of his work and saddened by the fact that our own university research system is so lacking he has to move abroad.
What you are asking is impossible. How do you want me provide evidence? Fly back in time and stop facebook interfering? I can flip the question, why would politicians use this setup if it was not working?
You can ban bitcoin from your country but you can't stop it from being used. You could ban Libra from your country AND stop it being used.
Depends if his objective is form a future network of C-suite acquaintances (Harvard, Oxbridge), or to learn science (MIT, Netherlands).
A zero-dependency React utility to help with promise state and response data
Saudi, Gulf stocks fall after attacks on Aramco oil plants
London is fairly notorious for low SE salaries outside of high end consulting, I’m not sure why it would be listed with those other two cities.

The biggest problem with India is that talent migration doesn’t really work the other way (same with China), so you have to build companies solely with local talent. That works for lower end software services, but for higher end R&D generally requires some amount of draw from a world-wide labor pool.
First thing: they do not define which kind of TDD they are talking about. Second thing: without really good test coverage any kind of larger refactoring is gambling with reliability and will bite you at some point.
Not much to add except that when j tried TDD, I had to have this mentality of typing out code as fast as I could, going back to the test, fixing stuff, back to code, learn the mistakes, etc.

While my dev approach is more about think, think, think harder, code, compiler barely complains, fix small issues, write test, done.

TDD felt very uncomfortable because the thinking part didn't seem to be emphasized much. It's like keep going, you iterate again real soon in this code, now again, and again.

Maybe I got it wrong, I don't know. But I share the author's frustration.
Arrested Portuguese hacker is Football Leaks 'whistleblower': lawyers
https://outline.com/2cNZTz

Alternatively incognito or no js should do the job also.
I think the driven part is bad. Using tests are fine, it should just not drive your development efforts.
Dollar or not is not that important. Forcing US intermediary is.
Try https://outline.com/2cNZTz
What kind of TDDs are out there?

Don't seem fair to call out author on not writing tests because they never said that.
In college we were always taught to do TDD on large projects, and everybody I know does TDD(at least here in France). I can even think of working on a project that's not TDD. You need to look up Agile, Clean code and Xtreme Programming ;-)
This comment in the original article is really to the point:

I think one of the biggest values of TDD is it teaches developers how to write unit testable code, which, if you are new to unit testing, can be quite hard to get your head around.

As for its usefulness in ‘real-life’, I’m going to answer with a solid ‘it depends’.

Anyone who dismisses it is missing out on some potential big advantages, anyone who is a 100% TDD zealot is probably either wasting time or lacks extensive real world experiance.
I somewhat dislike the TDD cargo-cult myself; but this is such a shallow opinion piece, how is it on top of HN?

25 minutes, 16 points - all that it takes?
Great to see the author tackle such a broad topic after 3 months of bootcamp and 1? year of professional development.

Regurgitating others' opinions and making multiple unfounded assertive statements is key to demonstrating he has already mastered the software domain.
He's right, but also wrong. It really depends on what you are developing.

TDD is awesome when fixing bugs (as opposed to writing features), when writing straight up business logic (especially when there are a lot of edge cases) and when you know exactly how something is going to work.

It's really bad when doing anything that requires exploration and research (which is the example in the article).
It seems like a strange premise to share salaries on the basis that if we both have the same experience and work at the same paygrade, we are worth the same amount of money - or even for me to know the range so I know whether to ask for a raise.

The underlying problem is still that it is very hard to accurately measure someone's worth as a developer (or manager for that matter) and that there are many who are "experienced" who have not improved in any meaningful way over time and that's why they might not get a rise or a promotion. Pay grades are quite arbitrary and personally, I don't think that a lot of these "super coders" are worth as much as they think unless they also do management (except perhaps for really niche skillsets).
Sometimes you do have to make your code more "testable" on purpose though. But yeah, writing the tests first doesn't always work. YMMV.
According to their ad copy it should be able to do it.

To quote from the iPhone 11 page:

> The new Apple‑designed U1 chip uses Ultra Wideband technology for spatial awareness — allowing iPhone 11 to understand its precise location relative to other nearby U1‑equipped Apple devices.
I built my own using an ardino clone and a couple of shift registers to provide enough i/o pins. It probably cost less than £5 in parts, offset by 5 or more hours designing and fabricating the thing.

But if you're looking to build a 6502 single board computer, it's actually a great preparatory project!

I should share the schematics and code, but I'd have to spend some time polishing them for publication - I built it on a breadboard, so I'm not even sure if the schematic is accurate.
Just Room Enough Island
Always Outnumbered, Never Outgunned. Respect, man.
With similar goals and similar feature set there's LiveScript, probably a decade old at this point: https://livescript.net

It lacks some features of Z, from a cursory glance, for example there's no `match` construct, but it packs most of the features around function currying, piping values, destructuring inputs, composing and so on into a indentation based, low-noise syntax. Syntax preference is of course a personal thing; I prefer the LS one. I've been using LiveScript on and off for years, starting back in the CoffeeScript days on the frontend, then with node, and most recently for Tizen programming. The language is on life support for many years now, meaning no new features - last addition were generator functions - but the feature set is still ahead of JS. There's a bit of an uncomfortable feeling when using constructs like let and const, which compile to very different things than what you get in ES, but well, they were implemented in LS first, so it's understandable.

I may consider Z next time I have a chance, if it's actively maintained and developed. JS may have become a better language, but it's not optimized for functional-first programming - there's no escaping the verbose syntax and the malnoutrished stdlib. It may look like it is, but that's only in comparison with Java or PHP - if you put it beside OCaml and Elixir you'll see it sticking out like a sore thumb. Which isn't bad, of course, JS is a multiparadigm, general-purpose language and it has huge amounts of backward compatibility - with both code and human minds - to uphold. Still, if you want FP-only, it's easier to use another language instead of trying to bend JS almost to the point of breaking with still subpar results.
Interesting idea. I think the real trick would be handling Q&A, and encouraging discussions?
Does it not support bitwise operators? it seems to use ^ for pow, and I can't find them in the docs.
Aether Theories
I want to get into this. How do you read your books? I have a TON of PDFs but reading PDFs on an iPhone is really frustrating because of the way the Books app displays them. I have to constantly zoom in and out and pan around.
My dad worked in power generation from the 1960s to the 90s. My recollection is that the 20 second reclose has been comon for quite a while, so there's probably a lot of systems out there that assume that's what the fault clearance procedure will be.
I think in the UK it would be much easier. Outside of London, only businesses who have just done IPO will pay anything above the approx £40-80K for developers. Even Development Managers outside London are probably lucky to get more than £100K

On the other hand, we get healthcare paid for out of our taxes and accomodation is not too bad in most places so I guess it all works out in the end!

Also, businesses like Google and MS are poor calibrators anyway since they have massive profits compared to 99% of other businesses in the world and ironically, despite their crazy salaries, I don't think either are the best model of amazing software (has anyone used Outlook or GMail recently!?).
not OP but

https://www.zmescience.com/ecology/pollution-ecology/the-dow...

pretty much a google search away
Link to the original video:

https://www.youtube.com/watch?v=8eJM0WlEjTs

It might save you some time
Everything has a cost. TDD (and Refactoring) increases the cost of implementation (linearly), but they greatly reduce the cost of change. Without TDD (and refactoring) the cost of change might become exponential and impossible to catch up to.
>let x: 5 # ==> x is now 5

>x: "Hola Mundo" # ==> x has changed types

One of the biggest complaints people have about JS is the lack of strict typing. So, this doesn't appear to solve it.

Inversely, one thing a lot of older JS people dislike (I'm an older JS person, but this doesn't apply to me) is how functional JS is getting, so I don't think this will be very popular with that crowd. Especially considering how many features are being added via the ecmascript proposal process/babel transpiration (eg: https://github.com/tc39/proposal-pipeline-operator)
The point is to have tests.

What came first the chicken or the egg?

Either the test came first and the code after or the code came first and test after.

An issue can arise in fast agile test driven development environments if you develop the code first and then do not get time to do the tests. If you start with the test you will be ensured to have time to write code otherwise the software will not work.

"The muscle doesn't see what you're holding in your hands." Arnold Schwarzenegge
- The tests doesnt care how you got them in place
> What kind of TDDs are out there?

I have never actually seen somebody writing all of the tests before implementing the code even if they claimed doing TDD. Parts of tests maybe but I think that things rarely go the way the definition is spelled out.

> Don't seem fair to call out author on not writing tests because they never said that.

Fair point. I have written my comment halfway into the article, the author makes a point about tests at the end.
The experiences of beginners are as valid as anybody else's.

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.
I'm generally inclined to agree, test coverage is good, but test driven development is awkward. I think there's a tinkerer's mindset which is very much stifled by TDD.

I think TDD does shine for some things, it especially shines for refactors (where the tests ideally shouldn't change anyway) or bug-fixing where you can write in a test to catch the bug that has been found as a regression test before starting to fix the bug.

For brand new features it is a signifincant discomfort. I concede that that discomfort can result in more thought-through code but it can also just put off the implementer into not working as efficiently as they would be able to in a 'code first, then refactor' mindset.
A nation paying its debt would actually not be as beneficial as you think, considering today's society runs on debt, having it is actually beneficial to an extent for relations, trade, to avoid war etc.

Now whether things should be this way am not sure, but a nation simply paying its debt off without significant changes to the role debt plays is not the answer.
TDD is less about writing tests and more about the approach.

Just having an understanding of TDD and holding it as an aim will ultimately result in a better, more maintainable codebase.

So what's the downside?
People who are down voting me simply don't understand Agile Methodology. Google does it ;-)
Part 2: https://news.yahoo.com/comfort-conquered-college-140014048.h...
TDD is an interesting concept.

Anything you write as an engineer has to be tested. Manual testing is way slower than automated testing.

I find that when I have a few good automated tests in place, especially in browser selenium tests, I save literally days of work of manual testing. Thats time that I can use to build more features, get more feedback on my product or do other more productive things than manual testing.

10 minutes of time writing a good test saves me days of work in the future testing new changes. Writing good tests is a high impact, time saving investment.
> A great idea hiding behind a terrible implementation

TDD is a method.

TDD forces you be clear about what the result of your code should be before you start coding. It also ensures that there is a test to check your code. This is certainly not dumb.

You will write tests anyway (right?) so it does seem smarter and more effective to write them first in the same way as you write requirements first before writing code. Nothing prevents you from iterating as progress and discover corner cases, for example.

People who say that TDD moves slower are simply admitting that they don't test. Automated tests are also crucial because 99% of testing is regression testing and that obviously cannot be done manually every time the code changes.

I found it rather ironic that the article ends by praising behaviour-driven development, which is an extension of TDD...
Ask HN: How can I as a programming/math tutor best advertise myself online?
The type of freelance work i enjoy most is tutoring students in college math and programming. I find I am a little on the rarer side among other freelancers/remote workers where I would gander the field is dominated by developers.

I am at a loss for ideas on how to make on online profile for myself that showcases my tutoring abilities. While I do have a github presence, but i dont think that brings across my passion to teach and communicate.

Any one in a similar boat, or have found how to represent themselves in a more niche field.
Other than being taught it, and people you know doing it, do you have an argument for it to share?
Tying the Knot: doubly-linked list in Haskell
Would you be able to record a video and send it to me? I work at DW. Thanks!
I think it's because you're not sharing any actual information (and now belittling people)
How do I make my code ugly so that it is not understandable by others
The Drone Strike Threat Is Real, Says Black Sage
I don't think that's a fair assessment.

He talked to a bunch of experienced devs and summarised their opinions. And then he shared his own opinion on the matter.

Nothing wrong with that.
WTF ....

Are HN posters really this dumb?

... is what i would have said.
Right, I write tests for existing functionality. And I decide what test to write after I write code. In the spirit of this article, I would assert that a simple two line integration test could cover a large portion of code depending on how many parts it requires to work together correctly.
Ask any country under crushing US sanctions.
> If a coding style turns out to be great in theory but not practice, let’s keep the parts that work and toss the rest. My convoluted point is: There are lots of ways to code, we need to stop holding any one of them up as the “best” way.

I think this is the crux of what the authour is trying to say. Not necessarily a criticism of TDD, but rather a criticism of holding to a particular belief no matter the circumstances. Of being inflexible.
Care to attack the arguments next?
Superstars exist, dude. The only actionable view is to improve on the current you. Sometimes there will be things you're not good enough to do or that you don't want enough to practise enough.

I can't ollie a board. Such is life.
Manual testing is way slower than automated testing.

It’s entirely a matter of perspective. I consider writing a unit test to do something the compiler could check for you if you were using a statically-typed language to be “manual testing”.
Note that some of these features require special hardware support in the cartridge. The NES cartridge connector exposes CPU and PPU (picture processing unit) pins, and the simplest games ("NROM") connect ROM chips directly to them. More advanced designs add an additional memory management controller (commonly called a "mapper"):

https://wiki.nesdev.com/w/index.php/MMC

The animated backgrounds are accomplished by the mapper bank switching the character (tile) memory. The parallax scrolling is accomplished by the mapper counting scanlines and generating an interrupt when the correct scanline is reached, so the CPU can change the PPU scroll registers mid-frame with the correct timing. Later mappers like the the MMC5 could precisely time mid-frame bank changes to support more than 256 tiles on screen at once, and to support 8x8 attribute blocks instead of 16x16.

The ultimate mapper feeds arbitrary data to the PPU to simulate having a bitmapped display with 8x1 attribute blocks (the PPU only reads attribute memory once every 8 pixels, so that's a hard limit). Tom Murphy implemented this with a Raspberry Pi (which isn't ideally suited to the task, so there are timing imperfections causing graphical glitches, but theoretically it could be done without them):

https://www.youtube.com/watch?v=ar9WRwCiSr0