skysight-inc/HackerNews huggingface dataset:
Fully agree!

Combinations of if/else can seriously damage readability and maintainability.

I (all the time) face verbose code that pretend to be readable and that requires lots of attention just to find out you are setting a single variable across 10-20 lines.

Example:

if (cond1)
{
myVar = 1;
}
else if (cond2)
{
if (cond3)
{
myVar = 10;
}
else
{
myVar = 100;
}
...
}
else
{
myVar = defaultValue;
}

* huge number of lines

* not obvious (until we read all) that we setup a single variable

* combination of conditions difficult to trace for each given value

* high risk of forgetting cases...

Instead of

myVar =
(cond1) ? 1 : // comment case blabla
(cond2) && (cond3) ? 10 : // comment case bla
(cond2) && (!cond3) ? 100 : // comment case blablabla
...
defaultValue; // comment default

* one line per given value

* operation on a single variable obvious

* match between conditions and values obvious

* high visibility on all the cases

* even more readable with proper vertical alignment

* a comment can be added on each line to document the case

[sorry for the multiple edits: I had a hard time getting { } properly display, they ate up the new lines]
On mobile I have to scroll up and open the hamburger menu to advance to the next page. Prev/Next links at the bottom of each doc page would be great.
How common? Very, I'm sure. I've worked with and for plenty of people who focus entirely on getting a MVP to market.

To these people, testing slows you down, costs more and they often can't be convinced otherwise. Even when a massive cascade bug costs them real money, that's seen as your fault, not one in the development process.

If you're facing this, and nobody is willing to help you put it right, run away as fast as you can. This job will destroy your soul and forcibly make you a worse developer.
I have no idea how good this app is, but the author, David Smith, is a long time, well known, Indy iOS developer.

He just released CalZones for just this reason. It’s a paid up front, no ads, no subscriptions app.

http://david-smith.org/blog/2019/04/17/introducing-calzones-...

He talks about it in the Under the Radar podcast.

https://www.relay.fm/radar/163
NPM could use some cleaning. It's a single point of failure without the governance, the worst of both worlds kind of thing.
Launch: Nextjournal Public Beta
Naturally, you plant another tree.
>Every single popular service today has an utterly awful name. It did not stop them.

Like what? I can't think of any bad ones that people use on a regular basis.
Nested Forms from Scratch with StimulusJS
I do both, and they have their own unique rewards. Writing personal projects is an exercise in self-improvement–it really doesn't matter all that much how your project turns out–while working on projects with others means you need to care about how other people and your project is improving. But in return you get to interact with people, show off your skills, receive and provide help…all useful skills in their own right.
> Fast but buggy code will lose to slower but correct code everytime.

I wish this were true, but unfortunately C++ proves this is not the case. Fast and buggy seems to be the holy grail there.
Fidelity to Launch Crypto Trading in a Few Weeks
>... but taken literally it suggests assinine ideas like using bubble sort instead of merge sort for a large set not because of any memory footprint constraints but because it is easier to read.

No, it doesn't suggest this at all. It means use the merge sort but implement it in a clean, understandable way.
"Pidgin" or some variation is actually a great name for a communication tool. You're better at naming things than you realize.
More Exclamation Points Please
Rust does this too, I think.
I never thought of this, but if it behaved as you suggest I would be raging the same! I work with teams across multiple timezones so I generally assume I need to adjust the time to convert to where it would appear on a local calendar. The only time I’ve been burned by this is the google “auto crest calendar entry” feature that put a show start time in the wrong time zone.
In the context of Windows applications, "portable" is also used to mean "runs without installation/further dependencies, you can just run it from a folder somewhere".
I have that disabled. Either they contact me via a more modern communication line, or I contact them when it suits me. If I need a doctor appointment, I phone my doctor (or well, his secretary).
I totally agree.

I'm appalled about about the lightness with which prison rape jokes are thrown around.

The punishment doled out by a judge is the removal of freedom. It shouldn't include additional abuse or even rape.
That's the original reason I started using XFS on Linux about 15 years ago. I needed all those hardlinks for dirvish. I haven't had a need for dirvish since then, but I still use XFS for largeish volumes with lots of files (won't run out of inodes). LVM does a good job at volume management.
"For the sake of clarity, when we say ZFS we mean OpenZFS and not the commercial version supported by Oracle Inc."

Just curious: what are the differences between [Oracle] ZFS and OpenZFS?
...well the difference only matters on Safari, and it is indeed surprising that Apple isn't able to provide a WebGL2 implementation after such a long time of having a (pretty much stalled) WebGL2 WIP version in their browsers.

IMHO it's understandable that the author assumed that WebGL2 is available everywhere.
It isn't so much an argument against it, but rather an acknowledgement that it is problematic if not coupled to very strong social housing provision.
> This is not tenable for executive-level staffers.

Well, if we don't go (as in the entire development community) then the executive-level staffers have nothing to do there either.
That was refreshingly good.

I’m in the testing phase of an interactive kids’ “future book” series. If you’re into this kind of thing / have kids, would love to hear thoughts.

Pilot episode is live at https://www.featherbubble.com.
This answer will not satisfy you, but I can answer this as someone who worked on design and implementation of multiple programming languages: Q. why didn't anyone previously succeed? A. Nobody tried.

There are a LOT of decisions that go into design and implementation of programming languages. Due to combinatorial explosion, vast majority of combination was never tried. This is still true even after you group "similar" combinations. But usual standard of similarity used by many people is "How is Rust different from Go?", which is too laughable to answer. To me, Scopes seems different enough that the author should not feel any need to answer questions like yours.
The engineering department should have told the marketing department that they didn't implement it.
> it's INSANE

And the death of our living planet isn't? So-called 'economic growth' was never much more than a global entropy increase, as high quality self-organising evolved systems were ripped out to feed crude technological ones requiring endless inputs.

This was always mere borrowing against the future. It was never 'growth' in any true sense. It ends because biology, chemistry & physics say it must, regardless of human pouting.

We could perhaps 3 or 4 decades ago have made a collective decision to gradually reduce consumption and allow our home to survive in decent enough shape to sustain us. Or maybe it was a biological fait accompli that any species evolving capacities to escape population limits and spread like a devastating weed across the world would eventually outstip the world's capacity to absorb the change. We'll probably never know which.
> Fast but buggy code will lose to slower but correct code everytime.

This is unfortunately not always true.

It depends on what the consequences for incorrectness are. Outside of enterprise and the web, fast code can be an important selling point, and it may end up being prioritized over correctness, as long as the result is "correct enough".

I wish it weren't so.
There is a stoichiometric mix of pain and pleasure that lends to happiness. In the present time, we have too much pleasure over pain, and we respond to unhappiness by adding even more pleasure.
FWIW, I write a decent amount of "clever" code (think C right out of K&R) but this took me a couple extra seconds to parse. Maybe it's an acquired skill?
Anti-Virus for Airtime
tl;dr: learning from our mistakes is good for us.
Yes! Or people in another timezone telling you "the meeting is at noon today". Just goddamn tell me "it's in three hours from now", or at least give me UTC, why do you have to make me convert from your timezone? But no, if I tell people "the meeting is at 7pm EEST", I'm being difficult.
A counterpoint-counterpoint, see OpenBSD's recent work on compiler/toolchain-based ROP mitigations for clang to replace ROP-friendy instructions with safer alternatives, and RETGUARD, which completely replaced the traditional stack protector on amd64/arm64 in 6.5.

Despite what people might think, OpenBSD only enables mitigations that have an acceptable overhead. And because of this work, for example, OpenBSD/arm64 kernel has _zero_ ROP gadgets at runtime, and OpenBSD/amd64 common scripts like ROPGadget.py will often fail to find diverse enough gadgets to even exec a shell.

https://www.openbsd.org/papers/asiabsdcon2019-rop-paper.pdf

https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf

https://www.openbsd.org/innovations.html
PAXOS | NYC, London, Singapore | Onsite, Full-time | $100k - $200k | www.paxos.com/careers
Paxos is a venture-backed, post series-B, regulated financial institution that is building infrastructure to enable movement between physical and digital assets.

We’ve raised $93M to date, have about 110 team members, and we’re expanding rapidly. Our board of directors include former FDIC chair Sheila C. Bair, former senator Bill Bradley, and former NYSE CEO Duncan Niederauer.

We are looking for Software Engineers to work on applications that move money, lower settlement risk, and bring blockchain tech to big markets.

Our tech stack is mostly React/C#/Go/Kotlin on AWS + docker/kubernetes

--------------------------------------------------------------------------------------------------------------------------------------

Some of our roles:

-Jr/Sr./Staff Software Engineers (https://www.paxos.com/sr-software-engineer/)

-Sr. Front End Engineer (https://www.paxos.com/senior-front-end-engineer/)

-Product Managers (https://www.paxos.com/senior-product-manager/

Read more: (www.paxos.com/careers/)

email me at amckinley@paxos.com for more information or to set up a quick chat!
Stuff like that really doesn't happen as often as internet comments would make you think. Most people in prison are just there do do their time and GTFO. Unless you choose to hang out with the crowd that's responsible for most of the physical violence odds are you will never be a victim of physical violence... just like in the normal world.
How would you unify timezones? That's a ball of idosyncrasies if I've ever seen one..
The Never-Ending Life of Smash Mouth’s “All Star”
Reminds me of Matthew Butterick's article on why he didn't make an ebook version of Practical Typography. https://practicaltypography.com/why-theres-no-e-book-or-pdf....
It's also very straightforward to just link to libc and use fopen()/fread()/fwrite()/fclose()/fflush(). That's how I do it with my own (much less mature) language.
In the US, as long as you don't pay extra not to be listed, your phone number will be available to the world. I get 5-10 robocalls a day on a number I had never given out to anyone.
-log(probability_of_our_prediction)

There are no "true" and "false" surprises, it's continuous. And it is additive.
Indeed, I meant re-install the addons.
The Safari team has not "abandoned" this effort: they are still working on reducing the fingerprinting surface area (of recent note, Safari has removed its "do not track" preference, which was used as a fingerprinting datapoint, no longer presents installed third-party fonts to websites, and no longer supports most plugins). The issue is that they have not "solved" the issue yet.
They can just flip the option or create a version of studies called "enquiries" or force a new addon that you can't remove in the next update .. 3 years ago you'd think Mozilla wouldn't ever imagine doing things like that.
That might be optimistic. The pessimistic version is that the 1st world would not react before it starts to see a large scale migration from developing countries because of climate change, and the first reaction would be to close the borders.
I don't know where you live, but where I live doctors are exactly the ones who understand antibiotic abuse. As in, it is their job.

> Antibiotics should be regulated by a serious government effort

You didn't bring this before. I actually agree with that.

> not by doctors.

Strong disagree with that though. Such government effort can only be successful if it involves lots of doctors.
What Is a Coding Bootcamp?
> Reduce your meat consumption as much as you can. Don't go all the way vegan

Why not go vegan/vegetarian? Most people who do handle it perfectly fine, unless there's another reason for suggesting this?
What do you think — is it more lonely, or less, to have this phantom trace of a communication from a destroyed culture and people, which more than likely we will never be able to read? I find it so haunting, like a hand raised to the window pane of a passing train — nearly a connection, but more painful for being a missed one.
return -1 if a < b
return 1 if a > b
return 0
>> I have no clue why people use it vs 24 hour clocks.
My Guess: You're under 35 years old. There was a time before digital clocks and, despite a recent job interviewee in their 20's who told me "it didn't say so I assumed it wasn't a 24-hr [analog] clock", it makes more sense when your time tracker can only do 12-hr increments - especially when coupled with a much smaller world that didn't need to prevent ambiguity on a global scale.

Ideal? no - but there are many things that make a little more sense when you start thinking about how they came to be vs. just the end state (like most software code you will encounter in your life).

So please, please work to change them, but don't outright dismiss them as wrong, dumb or the product of an inferior mind.

Oh - and I will not be attending your 2am meeting.
On Venice Beach I was walking a year ago and surprised by the animosity of the “regulars” (venice bums mostly) toward Bird scooters. Knocking them over, throwing them in the street, I even saw one guy through one into the ocean.

I was a surprised by the vitrol. I rode one for 30 minutes and it was fun. Maybe the locals feel it is for tourists and was including them? I’m not sure, but I was considerably saddened by what I saw. “This is why we can’t have nice things.”
Thank you for taking up brother Ken's righteous crusade
Wasn't this the plot of some comedy film?
How C array sizes become part of the binary interface of a library
How is the compilation to WASM/WebGL realized here? Asking out of curiosity, but don't have a lot of time to research.
I guess Bitcoin would be the first real "gold" standard, then.
Out of 6 Trips in the EU Were by Aeroplane in 2017
I don't see a problem with "03:00 pm" because I spot the : immediately. I see 2 digits and then 2 digits, so it's consistent.
Trees may be renewable but the arable land belongs to the forest.
FYI https://news.ycombinator.com/formatdoc
Dragnet demanding your password at the border is something we know they do - there are loads of witnesses saying they were asked for passwords at borders. Dragnet hardware tampering of electronics in the mail is not something we know they do.

I've only seen two articles claiming evidence of physical tampering - like a hoax about Dell from 2005 [1] and Bloomberg's dodgy story about spy chips from last year [2] - neither of which seems truthy, and neither of which involved mail interdiction.

(Of course, it's widely suspected mailed hardware can be tampered with, but most of the claims/speculation I've read has been about targeted tampering, not dragnet)

[1] https://www.snopes.com/fact-check/keyboard-loggers/
[2] https://techcrunch.com/2018/10/04/bloomberg-spy-chip-murky-w...
Hack the JWT Token
Because most people who go 100% vegetarian break down and go back to eating meat anyway. Better be 98% vegetarian for decades than 100% vegetarian for a year.
At some level, you have to understand the fact that people who go to prison are generally very bad, violent people, and putting them together in the same place is bound to cause problems. Some things about prison conditions you can definitely control and those should be fixed. For example, the treatment of pregnant prisoners in US prisons is often horrible. (You hear stories of women going into labor and being forced to delivery in their cell.) But other things you can’t fully control because they emerge from interactions between the prisoners.

Look at schools. We live in a school district that’s extremely proactive about addressing bullying. Yet, our friend’s kid recently had water poured over her head on the bus. If you can’t banish physical violence in schools, among normal children, is there any prospect of doing the same in prisons?
To expand on the internal tool case from the GP:

If your software is designed to support, augment, or automate some sort of internal need for non-IT teams, there's a significant chance that there's already an inefficient, error-prone process in place as-is. Because even without your software, they still have to get their job done. And they're used to having a "good enough" mindset because they're used to making due with whatever tools/capabilities they have, regardless of fit.

As long as your software addresses their needs[1] and isn't any more error prone than whatever they're currently doing, they'll be happy. That said, whenever possible you do want to code your failure conditions or edge cases to fail hard and visibly or expose visible checks for the user. If it covers 80% of their needs, but they have to fall back to their old process for the other 20% of their needs, business users are generally happy with that. But if it pretends to work 100% of the time, but subtly and silently causes problems 20% of the time (and they don't know what 20%), then they'll be distrustful of it and resist (or resent) adopting it.

For externally-exposed software, I'd be a bit more wary of not having any tests at all. But for internal tools, I've seen far more systems without tests than with them.
Surely user agents could give out way less information (virtually none in fact?).
Or log into a guest account and let the dude search all he wants, lol.
This will only shift efforts to extract uniquely identifiable information through side channels instead of directly. So you also need to disable javascript or redesign it to prevent side channel attacks (it's possible, but would be a completely new javascript compiler with not entirely compatible language, also this would mitigate spectre attacks).

However first you need some serious regulations to split Google and take away its browser "business". As it is Google is doing everything to preserve and advance tracking and fingerprinting in web browsers.
Clear code is supported because it can be maintained easier by other people, and the original developer won't need to remember the cleverness he/she did in the first place, when he/she returns to the code six months later.

If I write clever code, I document it extensively on top of the clever code, with references if possible.

It's about the life cycle, maintainability and longevity of the code in the first place.
You keep talking about getting kicked out by the landlord which no one here even mentioned except you in the entire HN thread. "The cost of the phone" leads to additional late fees and in some rare cases to debt collectors harassing you. Suddenly a small $1000 charge that you can pay off next month turns into $1200 and you might pay additional fees to the debt collectors even if their claim is invalid just to get them off your back. Google could also just refuse to hand out refunds at all because they got your money and their law department is bigger than whatever defense you can get and you will lose more money in legal fees than you could possibly recover. Bonus points if they keep charging the monthly payments despite you paying the full price. (congratulations your $1000 phone is now $2000, "plan" better next time)
"Siri, remind me about appointment on tuesday next week at 10 am london time"
At this point, the list is very long. Development forked many years ago when Oracle closed the source. Both sides have been in very active development since.
That's kind of the point. Stop thinking about "most people". Do it for yourself. If you believe in the climate emergency that is. You might be pleasantly surprised to see your friends around you follow the suit.
At least for Google Calendar, it's pretty easy to avoid the mental math by using the built-in time zones. You can select the time zone when creating the event[0].

[0] https://support.google.com/calendar/answer/37064
YouTube's DMCA Double Standard
Answer: We don't know!
Yes, but it will break functionality because servers use it to apply hacks on the website before the content is served.

WebRTC is another one which you can disable. JavaScript, in general, as well, requiring uMatrix.

Chrome leaks the extensions you use, Firefox does not (AFAIK). As for blocking canvas, see [1]

To test your fingerprinting I can recommend IPleak [2]

The problem of this all is, its a usability nightmare.

[1] https://addons.mozilla.org/en-US/android/addon/canvasblocker...

[2] https://www.ipleak.net
How is it even constitutional to send someone to a place where rape is a strong likelihood? I hope some of the political energy we have for sexual freedoms could be spent in this area, which clearly needs public discussion.
Don't forget about short and long scale.
Yeah, I was on Gentoo at the time, which didn’t make it particularly difficult (when everything is source code it doesn’t really matter), but I’m on Fedora now, where the story is a bit different. Ubuntu shipping the binary modules is good. Do they support booting from ZFS simply (that is, are the kernel modules in the initramfs)?
I'm surprised sea burials aren't more of a thing. Much the same but easier to deal with the body really.

The boat serves as a function room so is set-up ready to go always and has business model flexibility if you want to take people out for a harbour cruise other days.
No Way Out but Through: Tales from the Tech Resistance (Maciej Ceglowski)
> At some level, you have to understand the fact that people who go to prison are generally very bad, violent people, ...

No. The vast majority are in for drug offenses and are not, generally, considered violent or bad.

Edit: I was wrong. Federal prison have way more drug offenders than violent offenders. State has more violent offenders than drug offenders. The way they're classified too is that the worst offense is the one on record. So if you are on drugs and hit someone, stats will tick up one more violent offense but not a drug offense.
No, wiki pages are not available through git on GitHub. You're thinking of GitLab which does have this feature.

EDIT: TIL, turns out they are. And the syntax (add .wiki to the repo name) is the same as GitLab.
It's controversial, but don't have more than two kids. Consider adoption.