skysight-inc/HackerNews huggingface dataset:
I mostly agree with this in theory, but there’s a tragedy of the commons problem when working on a development team. A developer who takes the quick-and-dirty route will appear more productive in the short term than one who tries to maintain long-term development velocity.

If they’re working on a shared codebase together, the latter developer will end up cleaning up the mess left by the former and getting less recognition from management. In all likelihood, this developer will either leave due to resentment, be laid off for underperformance, or stop doing the maintenance work. In any case, there’s no longer anyone seeing to the long-term development velocity and the team’s productivity will slowly grind to a halt.
Particle Systems (For Puffs and Zaps) with Flutter
I don’t know why you got downvoted. The sabotage theory makes the most sense when taking into account all the facts.

Yes Union Carbide were criminally negligent, but justice and truth must be respected, regardless of how much people love stories about evil corporations.
This is a bad argument. Local vs global optimisation. Same as comparing natural reactors and nuclear weapons.
why not using WebAuthn?
https://webauthn.io/
Chinese Court Becomes World’s First to Embrace Smart Contracts
I just tried Revise. Yes, it's very nice and usable for programs without dependencies, but including a Plots example program that normally takes Julia 1 minute and 20 seconds took 19 minutes. There's only so much time I'm willing to wait for that.

Currently I'm mainly using Jupyter Notebook and that is by far the best experience I've had(it's like Revise but much, much faster). But to me it seems Jupyter Notebook wasn't designed with code outside of a single isolated file in mind, which makes it cumbersome in some cases.

I like the language, but I hope the situation improves soon. Editing code in the browser is not that much fun.
This is downright brilliant!
But at least they are sandboxed! /s
How about their own metrics? Losing a carrier group to a bunch of speed boats and missiles in their own war games.

https://en.wikipedia.org/wiki/Millennium_Challenge_2002
A better Scrum Board and Issuer tracker than Jira
> It did not understand what you meant because it did not take the whole environment into consideration.

This is the crux of the matter. These voice recognition agents are trained with goal of accurately modelling a function that converts recorded sound to a series of words, and then act on those words to perform the most appropriate action. They are NOT trained to model the entire world, which is an incredibly complex task that no one has been able to formulate as a problem that computers can solve, yet. Humans on the other hand, have a machine that is extremely well-equipped to do just that - the brain. And that is exactly why humans are able to "understand" things, while we feel that machines are not, with our definition of "understand".

In the far distant future, if and when we do figure out a way to model the entire world, come up with suitable objective function, and solve it on a computer, there's no reason why that machine should be any less capable of understanding things than the average human.
There's a lot to be said for these fun pastiches - Eddings, Feist, the Shannara series, and Dragonlance. Not particularly well written, but actually fun and pretty light. The ones that haven't made it to TV (all but Shannara) would make perfectly enjoyable effects-driven TV series a la The Expanse.

It might be refreshing to see some more escapist pastiches that aren't quite as heavily driven by urgent questions like "what might it look like if historical atrocities were attractively filmed?" or "what if the real purpose of new technology is to find nasty new ways of torturing people?"
I would love to move to an area where I can afford a proper piece of land.

The chances to find modern and interesting companies there is very unrealistic.

Put there an co-working office and there will be fast internet and social noise.
That's up to the media player (with standard WAV / AIFF etc). If it buffers the file and respects cue points, you should be able to have seamless playback, but very few media players get this 100% correct. See https://en.wikipedia.org/wiki/Gapless_playback for mroe details.
You should direct the question to the computer if you want a meaningful answer.
Noted. This is something I had covered in high level in a previous blog posts:
https://medium.com/analytics-and-data/cdp-and-dmp-a-story-of...

But that I might want to cover in more details in the future.
Which only is a clone of the notorious Norton Commander. Back in the days...
It's hard to explain without calling out to Kerbal Space Program, but it's really hard to figure out what you mean by 'able to relocate' in the context of orbital flight.

Your orbital period is determined by size of your orbit, and the difference between that and the earth's rotation causes your land track to precess. For most this means your land track will eventually be over every possible point. Raising or lowering your orbit will let you find a 'flyover' intercept in fewer orbits, but it will still take time to get there. Hard to do accurately and you normally want to keep that fuel around for boosting your orbit when it degrades due to atmospheric drag.

Other kinds of orbital manoeuvres could be used, but they are even more expensive and less likely to get you were you want to be (as long as you are in an inclination that passes over your desired target).

The main reason for this is that orbits are characterised (pretty much exactly) by your position/velocity pair. Every orbit your position and velocity will repeat, absent any external forces. Modelling any acceleration as instantaneous (which is pretty close) you can see that you can only ever directly change your velocity. Accelerate prograde and your orbit will be raised on the other side of your orbit; when you complete one of your new orbits you will be back in the exact same location, but with your new speed.
Very mundane tasks but it saves me some time:

* Automatically clean Windows desktop from garbage and temporary files that are older than 15 minutes

* Download and parse Ngnix web-logs every day, extract notable events

* Send myself email notifications about certain currency rates hitting certain thresholds

* Backup certain folders on schedule

* Pull data submitted by others from Google Sheets, export it into a database

All this done using EasyMorph (https://easymorph.com) - the visual data preparation and automation tool that I'm working on.
What you say "being particularly careful with your build chain" was the status quo just few years ago, and I'd argue is still good engineering. You should pin your dependencies, and updates of everything - including build tools - should be explicit steps in the process.

This should be trivial on the small (just pin versions and disable automatic updates of your build tools / package repos), and with recent proliferation of cheap VMs and containers, it should be simple over time - you should be able to pull a 5 years old image full of old software and rebuild the original binary.

> There may well come a point where just getting the damn thing to build so you can release a version with whatever vulnerability patched can cost more than the remaining lifetime value of leaving it running. In that case, it's already dead, it just doesn't know it yet.

Vulnerabilities aren't sins, they are things that can be fine to leave unfixed. The software isn't dead, it'll just keep running with a known exploitable issue.
Yes plotting in Julia is slow upon first invocation due to the JIT. Annoys me too, but to say the REPL is broken is profoundly puzzling to me. It is the best REPL I have ever used. It beats anything I have used for Python, Ruby, JavaScript, Lua etc.

Also your documentation issue is also strange. Yes certain things don’t exist but I would say the Julia docs is quite well made. In particular if you use the REPL documentation I find it much better than Python. Tends to be quite nice examples, color coding etc.
I imagine if you have a longer future to look forward to that also changes the incentives for investing in yourself. So not only would the people who invest in their futures be able to use their knowledge for longer, more people might invest in their future as well. The fixed costs of building a life are pretty high (let's say 25 years) and they're expected to pay off over the following 40 years of so - if this 40 becomes 70 or 100 that changes a lot.
The Handbook is a fine document and any computing history fan worth their salt should read it, but it's hardly the best analysis of Unix in a historical perspective.

Blaming (or crediting, however you want to think about it) GNU for proliferation of Unix is anachronistic. RMS has repeatedly said he doesn't care for the design of Unix, but he chose it for the ease of implementation. GNU wasn't even bootable as a stand-alone OS before 1990s and certainly not production ready until Linux was. Using GNU utilities in proprietary Unices was popular, at least since the 90s, but I never heard anyone consider them a "killer app" for Unix.
If you want to monte carlo it, https://gist.github.com/patio11/546c64c927c749c69964b18527fa... ; feel free to adjust the constants upwards and/or do a chi squared test after doing so.

It didn't sound plausible to me (because I misunderstood what the algorithm was; yay perl), hence quickly testing it, but it seems to work, and after appreciating what the algorithm actually is (see sibling replies), it not only works but it _should_ work. (There is a CS versus engineering joke in here, somewhere.)
Because, save few exceptions (e.g. timers, early debug serial...) running drivers in supervisor mode isn't very smart.

Drivers tend to have high bug density, and supervisor mode means high potential for damage.

Much can be mitigated by running drivers in userspace[0][1], especially with some IOMMU help.

[0] https://www.cs.vu.nl/~herbertb/papers/minix3_dsn09.pdf

[1] https://wiki.minix3.org/doku.php?id=www:documentation:reliab...
Specially annoying with that narrative, for those that care about computing history, is as C and UNIX are sold as the first of their kind, invented on magic moment, hand-waving what everyone else was doing.

Since history belongs to winners, if it wasn't for the accessibility of old conference papers and computer manuals, that would be indeed the only one we had to believe on.
They are great. I gifted them to my non-tech friends and they have thoroughly enjoyed them and learned something.
Well different mind work differently. Some are more receptive to visuals. I don't understand why some people refuse to acknowledge that.
The extensions. I would love meetings to be time-boxed. A meeting more than 30 minutes serves no purpose.
Windows XP 2019 Edition is the operating system Microsoft should be making
I used to buy the magazine for the articles - honest
My first programming experience was on the 6502 in the BBC micro, absolutely loved it, especially the programming manual where it gave you the number of clock cycles for each instruction.
UNIX-haters handbook talks about some weird stuff that naturally felt out of use.

RMS worked on EmacsLisp.
Looking back at what Xerox PARC and ETHZ were doing with their workstations, maybe that wouldn't have been much of an issue.
I don't know how many of these Outlook (any version ever that I've touched) violates, but I do know that it AT LEAST violates #9 by default.

It irks me to no end, and un-checking that accursed options box in the IMAP folders dialog is something no user should ever need to do to find their "hidden folders".
Biking outside isn't equivalent to spin classes. I say this as someone who used to do spin classes frequently, and now bikes outside multiple times per week.

The motivation and enjoyment you get from the music and the instructor is more comparable to a cardio dance class, or even dancing at a nightclub, than it is to road biking.

Biking outside also requires much more will power, especially if the weather isn't perfect, and is much less safe.

There's definitely an argument to be made that Peloton is overpriced, but the argument that you can just as easily road bike doesn't hold water for most people.
The main problem is that many developers will increase technical debt when they try to fix it. For example, some will try to fix technical debt by writing a new framework. Then the new framework doesn't handle all edge cases, so you still need the old solution. Now you have two different conflicting styles creating more technical debt. The next developer will come in, see the mess, and promptly start working on a framework to consolidate everything...

So whenever you consider fixing technical debt, ask yourself if the team is skilled enough to actually create a cleaner solution. If they can't then it is just a waste of time. The best predictor of this is that they have created a cleaner solution elsewhere, if they haven't then don't let them work on technical debt unless they have an extremely well thought out plan.
Interesting, although I don't have the amount of time required to do these things.
What technology can one even choose in the current year to be confined to Windows? UWP?!
Implementing FizzBuzz with explicit monoidal operations has been one of those things that I go back to and marvel at the simplicity and elegance of: http://dave.fayr.am/posts/2012-10-4-finding-fizzbuzz.html

It really inspired me to get better at seeking out the fundamental operations of whatever I was implementing.
> McKinsey did a study recently which found that large IT projects ran on average 45 percent over budget and delivered 56 percent less value than expected [1].

Is that fault of IT people or rather did business people over-promised? Because my repeated experience is that we give estimates, they are considered big and shorter estimates are sold. And it has nothing to do with IT people over-promising. I have yet to see a team where it is tech people pushing for shorter deadline and management being like "yeah, it is too risky, lets go with bigger estimate".

There are situations of me making short estimate, but I also make estimates too big in other situations. However, somehow the estimate that makes its way toward contract is always short due to negotiating pressure.

PM are all too often non-technical, it is quite unfair to blame "IT people" on mistakes of general management and project management. Project management blaming the these contracts being basically frauds on anyone else then themselves is literally them blaming scapegoats for their own faults.
Thanks for pointing out the typo. I'll fix that.

Note "heavily influenced" doesn't make RSX-11 any more VMS than it makes Multics into Unix, or CP/M into MS-DOS, or the NeXT into a Mac, or an Alto into a Mac or Windows.

Also note that 1973 doesn't significantly predate 1973. Don't confuse the first source license same with the announcement of availability, which I also noted. And Unix was in use internally at AT&T the same year DEC started on RSX-11.
To be fair, as far as I can tell Jira's Scrum Board is pretty good (I only test drove it, though). It gets a lot of stuff right. It's main problem is that it's connected to Jira. There appears to be a lot of baggage there. If I were to do this (and I've been tempted), I would make the UI pretty similar to Jira's and remove most of the complexity underneath. Of course the downside to this is that the complexity underneath is there for a reason: People who are not programmers want a whole bunch of weird stuff. However, I think there may be a small market for a programmer focused Scrum board that has basic reporting capabilities (which Trello, unfortunately lacks: Screenfull is quite good, but necessarily fiddly). Probably would fit into a 6 month project.
For me it's a function that calculates factorial using iterators in Rust:

fn factorial(i: u64) -> u64 {
(1..=i).product()
}

In almost every other language this code would look messy or use some terrible recursion.

For example in C it would look something like this:

long factorial(int n)
{
int c;
long result = 1;

for (c = 1; c <= n; c++)
result = result * c;

return result;
}

Or with recursion:

long factorial(int n)
{
if (n == 0)
return 1;
else
return(n * factorial(n-1));
}

In any case, I thin Rust looks better in every way with its cleaner syntax.
Management's solution is often to hire more software engineers.

Ironically in big corporations I think that this actually plays into their underlying desires - giving a boost to headcount gives them more importance and having more developers means that the leverage each engineer has is commensurately less.

I've worked on more than a few projects which would have proceeded 4x faster with 2 good developers on a clean code base than the 7 they actually had.

Indeed the entire software startup industry is probably reliant upon this dynamic.
The problem is that the cost of elecricity in germany is going down but industry is excempt from the EEG fee which is used to pay for the renewable energy plants. The end result is that households end up paying the electricity bills of industrial companies and so the retail price rises as the renewable share goes up.
I used to have a couple of PC World articles about Windows winning the Workstation market, until about GNU/Linux started to be mature enough to allow easy porting of commercial UNIX stuff into them.

Had Microsoft and IBM kept serious about their POSIX compatibility subsystems instead of a bullet point to win government contracts, and history would have played out much differently.
I disagree, these are VERY old papers (~30 years old) of comparisons containing very little data from what I can see at a quick glance.

I saw a talk a couple of years ago by Tanenbaum where he said he would be ok with Minix being 20% slower than a monolithic kernel like Linux, indicating that it was currently slower than that.

Granted, Minix has not seen the type of optimizations that popular monolithic kernel has due to lack of manpower.

So, I really look forward to seeing benchmarks made between monolithic kernels and new micro kernels like Google's Zircon, and Redox once they've had sufficient time to mature.
This seems to be a good solution:

https://en.wikipedia.org/wiki/London_Post_Office_Railway

Just have several store with more storage space where people can go pickup their items. Delivering box to individual homes cannot be efficient.
If the Agent would 'understand' Go, we'd expect it to adapt to a round board easily. Humans probably would. (argument from Gary Marcus)
Android and Windows as well.
This, as a WebGL shader in shadertoy: https://www.shadertoy.com/view/ld23DW
SMBC did a fantastic comic on this one: https://www.smbc-comics.com/comic/immortality-2
mine after a day, with a toddler around. And 10+ old days dishes smell as hell.
No thanks, I do dishes as soon as I can, because hygiene first
Note that in any configuration where you end up asking remote DNS servers about some particular name the operator might well be selling the list of names queried and their answers, this is called "passive DNS" and is aggregated then sold on so it isn't PII by the time it's sold (purchasers can't tell who asked, only what was asked and what the answer was)

Where people set wildcard DNS this means passive DNS reveals typos, as well as such "hidden" services. wwww.example.com and ddd.example.com are common typos for www for example whereas int-test.example.com is maybe interesting to black hats.
Most of the things you mentioned are a choice, not something inherent to the code as an artifact. If the external systems your code interfaces with change, you need to change your code. Other than that, updating your OS, libraries, drivers - these are all choices. You can not update them, and the code should run exactly as fine as it did when originally written. You can virtualize the environment to mitigate the risk of the underlying hardware platform going down or you. Code decay, to me, is mostly self-inflicted.
Security at a Glance
I bought a vacuum robot that cleans up daily.
I saved a lot of time daily, I do just a ground good cleanup once in a week. Best investment ever.
Sounds great. So do you need one raspberry pi per automation ? Or are you somehow linking all these diverse processes with one raspberry pi ?
That’s what strncpy() is for
From the linked article :

> in 1987, the Indian government summoned Anderson, eight other executives and two company affiliates with homicide charges to appear in Indian court. In response, Union Carbide said the company is not under Indian jurisdiction.

Union Carbide was an American company that happened to operate in India. Indian government does need help from the American government to police an American company.
Your post reminded me of The Last Question by Asimov
https://www.multivax.com/last_question.html
Just out of curiosity, why awk? I've only ever used it for simple text splitting and didn't really know people did more with it. Is it a tool worth learning?
Google pixel cheapest buy with specifications
I don’t understand why you need to engineer vitamins into rice instead of just handing out vitamins separately? And if its that easy to save lives with vitamins the implication is these vitamins have been deliberately withheld to shift this product (which isnt whats happened only that the gist of the article makes no sense when you look at the premise)
Android has it since Project Treble, classic Linux drivers are deemed legacy on Treble architecture.

They make use of Android IPC to communicate among themselves and the kernel.

https://source.android.com/devices/architecture/hidl/binder-...

Now given the role of Linux on Android, and what is accessible to userspace, maybe we shouldn't anyway consider it an *NIX system.
Yes, that's how we do things.

Ssh to 3333:dburl bastionhost -> psql to localhost:3333
I think OP's point remains though, right? A stationary bike gives all the upsides (increase in health) and 0 of the downsides of riding outside (death).
These are excellent points thank you for bringing them to everybody's attention.

I'm a little shocked that people haven't brought this up until now. This is one of the main security issues that the BrowserGap on premise solution is built to address.

With on-premise self-hosting you can transfer the trust issue from our cloud-based system to your own private cloud or data center.

I'm not sure if all browser isolation vendors offer hybrid or on-premise solutions but I think most do. Menlo, Symantec, WEBGAP, LightPoint, Authentic8.
It's for this reason that I've often tried to get the business side to give opinions on how shoddy/quickly they'd like the feature to be done. Curiously a lot of the time they appear very reluctant to do so. It's probably CYA kicking in maybe... many managers don't like to say "do a shoddy job" if it ends up biting them in the ass later... they'd often rather just hint and exert unspoken pressure to rush it out and then deny everything later when the CEO starts asking questions a bug that fucked everything up.

There are exceptions, of course, and I'm pretty happy to have worked with them, but in general about 90% of managers I've worked with have resisted my attempts to get them to be explicit about the level of quality that they want.
iPadOS Application Life Cycle with UIScene
Death is a huge waste of resources.

If we stopped ageing, how long would we live? https://news.ycombinator.com/item?id=19937047
So the Flutter UI Builder is not written in Flutter? Good selling point right there.
No thanks, I love paywalls /s
IPC is a tad slower than not IPC.

However, stuff like WebAssembly and other sandboxing methods can be used to leverage two processes into the same address space. Your filesystem driver then simply lives as a module in address space and it's a normal process. The IPC turns into a simple jump using a pointer value provided by the kernel (which depending on the trust level can provide parameter validation or can be a plain pointer to the correct function).