skysight-inc/HackerNews huggingface dataset:
It doesn’t make sense to think about a maximum number of lines.

There may be a complex function of many variables which is not simplified by splitting into multiple functions.

Most often though, the code in a function has several logical parts which have their own temporary variables and are good candidates for splitting into separate functions.

Generally it makes sense to split code up so that it can be encapsulated at different levels. For example if you have a validation routine for a record, it may make sense to have different functions to test different properties, so that you can see which validations are being performed at a high level and then zoom in when you need to.

Encapsulation should be done to manage scope of temporary variables, and to make the code easier to read and to test. But there’s no hard and fast rule, really.
The MacBook is what I'm looking at, actually. The maximum supported is certainly higher, but it seems like the roughly-corresponding price on both of those laptops has 16GB.
Managing and Scheduling AWS EMR Clusters in Dev Enviroments
A robust interface does what the user intended, not just the bare minimum to fulfill a specification. And it introduces the fewest novel quirks, rough edges and gotchas possible. Because that's what people want: things to be handled lower down with least surprises, including "just works" gracefully as possible in the face of real-world errors. This usually means handling some corner-cases lower down with special treatment so as to not burden the caller.
That's not my experience. I've done a few 72hr fasts, and many 48hrs fasts. In general I find I have more focus, more even mood and more enthusiasm (though less energy for physical activity) while fasting.
I've cross checked using a member account before; the price has always been the same.
Toolset to Boost Your Product Owner’s Productivity
Ted Blackman (one of the Urbit developers) recently posted a puzzle on Twitter, asking people to describe what a piece of code (written in this phonetic representation) does. [1]

I was delighted to find that I still remembered the phonetic names after first reading of them back in 2013, though I got the exact result wrong.

[1] https://twitter.com/rovnys/status/1199958608483684352
they already didn't get it in the 90s.

from the early days of the internet:

a host is a host from coast to coast,
and noone will call a host that close,
unless the host that isn't close,
is busy hung or dead.
QR Track
Indeed! I worked very closely with a team of contracted software engineers from Minsk for 5 years and I learned a lot from them. It's anecdotal of course, but the Belarusian team members I managed had amazing work ethic and positivity as well. The level of skill in English was also impressive. I was told there is a "tech district" in downtown Minsk with a budding tech scene.

The company they worked for had an open invitation for me to visit Minsk, and apparently it is very easy to visit on a US passport for a short period, someday I'll go and check it out.
If you have some realistic shell benchmarks, please file a bug and link the files:

https://github.com/oilshell/oil

Oil isn't fast at the moment, but I'm currently optimizing it (auto-translating some code to C++, and eventually hand-optimizing other parts.) I run benchmarks on every release, so speed is definitely a goal.

I haven't seen that many shell scripts that are "CPU bound" (as opposed to waiting for processes or I/O). (Although now I recall a shell-script-library bundler project that was.)

Of course, one big problem with shell is that you often have to spawn an external process like sed or awk to do string manipulation that's just a library call in Python. That could easily be a three order-of-magnitude difference -- e.g. milliseconds vs. microseconds.
NASA’s Latest Software Catalog Offers New Codes
Re: Zendesk

It's not just that ticketing products won't build next-gen reporting with thematic monitoring and analysis, it's that big companies have more than one source of customer conversations.

Actually answering the questions that matter when it comes to customer contact -- "what's driving specific outcomes, and what about them has changed over time" -- needs to be done across all sources.

The company I work at (frame.ai) is an add-on with built-in connectors for all the help desks like Zendesk, Intercom, Service Cloud, Help Scout, etc. for this reason.
> there will be someone in the future who will refactor it

maybe abstractly

in practice, this never happens because the code will cease to be considered useful first
You don't need fsync if you only care about your user process being killed. It protects only against power loss/kernel crash - the filesystem is not running as user process, so it can't be killed.
I think you misunderstand the role of the EU
Do you get better results for that with other search engines?
I picked up a RPi 4B the other day to use as a pi-hole[1] and was surprised to see it running at 65C while idling. It doesn't help that I have the board enclosed in the official case, which provides absolutely no airflow.

Everything runs fine at these temperatures, but all of the ports are hot to the touch. Under stress the SoC seems to reach 80C+, which I imagine would make connecting and disconnecting USB devices a fairly unpleasant experience.

[1]: https://pi-hole.net/
Can't believe no one pointed it out:

> Meanwhile, there’s another output on the splitter (that can either be 4K or 2K (some people quaintly call this “1080p”))

Nope. 1080 is the horizontal resolution as is 4K. So 1080p is not 2K. 1080p is 2 MP, and 4K is 8MP.
I love the comment that some engineers are too arrogant or lacking in social skills to collaborate, and then gives the example of Linus Torvalds as someone who is humble and friendly.
In Europe, I was told that they employ a chip-and-PIN strategy. I'm not aware of this being possible in the US. Anyone know?
He links to it at the end of his post.
You are wrong; look it up.
One person's "security measure circumvention" is another person's "security measure".
> code in comments that isn't being maintained drift even further.

This is also true of "its in the repo" and that doesn't get hit by "find and replace".

I don't think it should be done for EVERY case, rather the cases where clarity is replaced with something that is ambiguous but meets another need. Performance hacks are notorious for being "ugly" and "magical" and having a readable companion piece would make sense.

To clarify I don't think it replaces "prose" but should exist along side it, and be mixed into it.
I can speak to their success, but I have an ArcaOS Personal Edition and am a big fan. It definite seems positioned as a maintenance/upgrade path for existing OS/2 users more than anything else.
Speaking as someone whose job is primarily building high level APIs, this is unachievable. Those high level APIs satisfy the work the vast majority of people want or need to achieve, but some tasks require greater control over the details those APIs achieve, and all tasks require those details to otherwise be right.

POSIX might not be the right lower level API, and maybe it can be replaced with something that achieves those details better. But "done bang just do it" is simply not how computers work. Software is how you achieve that, and generally by building simpler abstractions on top of more brittle ones.

"How hard can this be?" is the right question. It's very damn hard.
Some Thoughts After Reading John Carreyrou's Bad Blood
4K is 2160p, exactly double 1080p in the vertical. In the horizontal, it’s 1920 for 1080p vs 3840 for 2160p (colloquially known as 4K). The industry naming convention is not consistent.
(author here)

I agree a lot of this stuff hasn't been documented well in existing shell resources. I should write more about it, but I'm still busy working on the Oil shell implementation nearly 3 years later :) I should have written a post about xargs 2 years ago, which has nontrivial compositional patterns. Hopefully next year!

I still recommend The Art of Unix Programming (mentioned in this post), which is more generally about Unix design, not about shell in particular.

I also got a lot of ideas by reading DJB's shell and C code, and his papers (e.g. Ten Years of qmail Security). I probably learned about DJB 10 years ago from Hacker News.

I would say there's a lot of "tribal knowledge" in people's heads, and online forums are where it gets disseminated. For me those forums were Usenet, the old JOS forum, and Hacker News and lobste.rs these days.

----

Neil Stephenson has a good quote about this "oral history"

Unix, by contrast, is not so much a product as it is a painstakingly compiled oral history of the hacker subculture. It is our Gilgamesh epic.

https://en.wikipedia.org/wiki/In_the_Beginning..._Was_the_Co...

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

The next post has the "point-free" pipline pattern which is both useful and hard to find out about!

hist() { sort | uniq -c | sort -n -r; }

Pipelines Support Vectorized, Point-Free, and Imperative Style

http://www.oilshell.org/blog/2017/01/15.html
When I type "block google analytics hosts file" into Google, the first three results are guides on how to do that.
New Zealand begins genetic program to produce low methane-emitting sheep
The Impact of a Coin Toss on Major Life Decisions and Subsequent Happiness [pdf]
I don't want to sound like a Negative Nelly but you all in this thread are swooning over a dictatorship with pretty awful human rights abuses.
It seems to me like everything already comes with a license agreement and/or other mandated disclosures that are at least as bad as that, and it's too much text to put in large print in a prominent place.
It's eight characters longer?
The best way to describe it is to tell us why we would want to use it. Also, don't say "it's a computer". It's not. A computer is what I'm typing this on - a piece of hardware.

So - why would I want to use Urbit? Which problems does it solve? How will it make my life easier? Does it have any features that will make me say "wow, this is so cool!"
Is this some kind of over-the-top joke that I'm not in on? I've browsed and read but honestly still can't understand what Urbit is. When I saw the picture of the stone with the thing on top I thought I was finally "in" on the joke, but they seem to continue on.
They're listening to a doppler shifted version of the hydrogen alpha spectral line (~450 THz doppler shifted down to ~30 MHz) down to about the VHF television band (hence the almost "rabbit ears" style antennas). Being on the other side of the Moon shields them from powerful terrestrial transmitters. The massive doppler shift means they're listening (observing) to bubbling atoms of hydrogen closer in time to the Big Bang than what was observed by COBE or WMAP.

https://lambda.gsfc.nasa.gov/product/cobe
https://map.gsfc.nasa.gov
Finally. Google should be broken up, they have WAYYY too much power
Who cares what their "role" is? Isn't it whatever they can enforce and get away with?
I heard of Urbit a while back and still cannot for the life of me figure out what it does or what it's for.

The comments here are helping me figure out how it works, but it still leaves me with the question of what can I do with it that I can't accomplish with my good ol' OS or internet or (whatever the closest conventional analogue for Urbit is).
why is this downvoted?

gnunet is an application. the fact that the development is hosted on a .org is entirely irrelevant. gnunet's function doesn't depend on it.
Eating breakfast was historically seen as a sign of weakness; a meal for children and the elderly. This changed in the 1700s and the modern concept of three meals appears.
Better things don't pay, at all. The most betterest things you can do as a developer - make infrastructure that makes other developers more efficient, or invent protocols or fundamentals to build ecosystems and industries on - often you get nothing for it. Because you made it open source, because you wanted it to be useful. But to try to make it proprietary would have been to make it useless.

Theres a reason probably 95% of software developers are employed to write redundant repetitive corporate business software over and over and over again. Everything else is being done philanthropically because anyone outside the perview of a budget department at a big co recognizes the value in reaching a consensus solution everyone uses because its a lot of work to make and is good enough. Even corporate-adjacent software like databases, game engines, etc are trending this way - Unreal, Unity, and Godot are all varying degrees of open now in ways engines weren't even a half decade ago. The world is coalescing around Postgres in a way unexpectable a decade ago under the tyranny of SQL Server and Oracle SQL alongside a half dozen "competing" open source databases.

Do you think those who contribute the most to Postgres get anything close to "reasonable" compensation for having architected the database engine that is now running likely trillions in business infrastructure and data management?

Their software is maximally useful - "the betterest things" - but you can't survive being maximally useful. You have to sacrifice how useful what you make is to not be homeless in 99.99% of cases. You have to make worse, often redundant things, wasting your time and the time of others in the process, because thats the only (feasible and/or reliable) way corporations will pay you to write software.
amp is so annoying. Just link to the sites no need to track (can't they just do it with js) and then the number of people who then post them to Reddit or Facebook because they copy the results link the whole thing is infuriating.
Or, at least, a hoon.
I'm considering submitting a project that would fit well under this category. Have any ideas around what could be done to mitigate the involved risks?
I appreciate the photos of the antennae. It’s not a critical mission element, but photos do speak louder than words.
https://i.imgur.com/4KZe4UO.png

Your comment is the worst kind of comment.

EDIT: Yea, the comment which basically boils down to "eh, by commenting on this post you showed that telecom companies provide you with the minimal amount of service they promise so you can't complain about the state of the industry". Because that's totally an argument that's worth debating.
Here you go - a local beach - its always sunny, all..the..time https://www.coastalwatch.com/surf-cams-surf-reports/qld/cool...
> This is also true of "its in the repo" and that doesn't get hit by "find and replace".

It's very much not! The thing "in the repo" is of exactly the same vintage as the thing in the next commit. The thing "in the comments" is preserved in amber next to a growing thing that no longer matches it. Inevitably to understand the thing "in the comments" you have to go back to commits of the same age.
Nothing refreshing about it. Soviet technology being stuck in a state of “reasonable” was why, before the fall of the Soviet Union, America was several times more energy efficient per unit of production.
Break them up
I have a feeling the “bundler” lib you mentioned is mine - we discussed it a bit on lobste.rs a few years ago? Good to see you’re still plugging away on oil!
I'd argue that UNIX-type file systems should offer several types of files:

* Unit files. When you create a file and write it, it's not visible for other opens until you close it. If you open a file with O_CREAT|O_WRONLY|O_TRUNC, you create a new file, which replaces the old one on close. In the event of a program or system crash, or exiting via "abort" without closing first, the old file remains. So there's always one completely written file. Creating a unit file is an atomic operation. Most files are unit files. (This isn't original with me; it comes from a distributed UNIX variant developed at UCLA in the 1980s.)

Replacing an existing file currently requires elaborate renaming gyrations which vary from OS to OS and file system to file system. At least for Linux, this should Just Work in the normal case.

* Log files. If you open a file with O_APPEND, you can only write at the end. The file system should guarantee that, even after a crash, you get the file as written out to some previous write. If you call "fsync", the recovery guarantee should include everything written up to the "fsync" point. No seeking backwards and overwriting on a log file.

* Temporary files. You can do all the file operations, and the file disappears on a reboot.

* Managed files. These are for databases and such. They have some extra API functions, for async reads and writes and commits. Async I/O should have two callbacks - "the data has been taken and you can now reuse the buffer", and "this write is definitely committed and will survive a system crash" That's what databases really need, and try to fake with "fsync".
Only a few programs will use this, but those are important programs.
Definition of a hobbyist?
Yeah, I almost ended up doing the same thing.

Another thing I haven't tried yet is the network/USB booting support in the beta firmware. It doesn't help you with the initial upgrade of course, but once you've done that it gives you two more alternatives to the second microSD card.
It would be a great opportunity for them to explain what it is, at least.
If you’re looking for some technically brilliant music that actually has some emotion in it check out Knower (Genevieve Artadi+Louis Cole). They both have the technical chops and education of Collier but their music is interesting, satisfying, and fun instead of being an intolerable mind numbing dirge.
Slightly OT: is there any new emerging tech for Linux file systems that aren’t ext4/xfs/zfs? I was surprised the other day by those being the options for / on centos.
Why I left my jobs in gaming
Parsing structured data within PDF documents with Apache PDFBox
Nice! I gotta check it out sometimes
Was the racism on Popehat or elsewhere?

The departure announcement post[1] seems at least somewhat amicable, since it contains an advertisement for Clark's new website.

[1] https://www.popehat.com/2015/12/30/i-cant-see-what-my-future...
To add to my earlier response: if I needed to achieve the performance critical cleverness required solution and felt it needed a human readable code sidekick, I would include both as real running code alongside each other, both of which running the same set of tests, and both of which required to be run by whatever CI/automated tests are used by the project. Comments are for humans to read, not machines.
Yeah this is an important question. A big reason why the internet is the way it is today is because creating and updating quality content takes time and a certain amount of skill, which most people want to be compensated for.
iPrivacy
> How do you square being authentic...

What do you value for your own well-being? That's where you will find the answer.
Agreed. At this point I can't run a private email server because Google simply will not deliver the emails anymore.

Being able to simply dictate who can do what on the internet solely because they can undercut everybody's price (aka give away email free in return for mining your data) is far too much power.
I am not carving out equity. I think everything should be wealth taxed. I also think there should be a large deductible.
It’s time to get real about Islamist terror
Beauty the New Business Tool
How about sandboxed files? Ie can be assigned to a process - full acl per process/application binary. Maybe even checksum the binary before loading to ram and granting access.
I got a GE washer/dryer pair recently that seem to be pretty "dumb" - no wifi, no electronic display, washer is top loading and has an agitator, you can set it to use a reasonable amount of water...

And despite GE becoming a Chinese brand, they seem to have regained a reputation for reliability somewhat, based on the reviews I read.
Why would they have to? That is not how this works — if your company offers a service somehere, it needs to stay within grace of the antitrust regulations that happen to exist there. That is why we have antitrusts.
Btrfs was included as experimental in CentOS 6 and 7, but removed for CentOS 8.
We could also boost wind energy by just building more turbines. It's quite simple.
I wonder if ZFS had these issues in the same timeframe?

These strike me more as "Linux doesn't believe in actual testing" rather than inherent bugs because its a filesystem.
I was forever frustrated with my iPhone and safari when I would search something and a reddit link would come up with the result I wanted to see. Click it and would get the amp link open and at the bottom of the screen I would get a pop asking me to download the reddit app but it is impossible to close it without actually going to the reddit site which is what I want in the first place. The end result after being frustrated for long enough, I finally went into settings and set safari search to use Duckduckgo. I hope amp dies.
> Why would people accept apologies they think are insincere?

Societal engine lubricant. There is too little time for every squabble to matter.
You moved the goalposts. Corporate officers may indeed be motivated to maximize profits by the threat of being thrown out by shareholders. But they are not legally required to do so, or at least they have no meaningful risk of losing a lawsuit over it; the business judgment rule creates a presumption that they are acting in the corporation’s best interests, a presumption which is hard to overcome. The main exception is if they sacrifice the corporation’s interests for personal financial gain (self-dealing), but that’s not what’s being discussed here.
I feel like Linus is basically just arguing in favor of the principle of least surprise.

There are definitely some serious pitfalls when it comes to unix file io, just look at for how long we lived with postgres and its broken assumptions surrounding fsync behavior on linux.
from the FAQ:
"In early 2019, Curtis left the Urbit project and gave all of his voting interest (both as address space and voting shares in the company) back to Tlon. He retains a non-voting, minority interest in both the address space and the company — but is not involved in the day-to-day development or operations."
I agree with you. These blogs seem to be full of resentment and insecurity, leading to whining and finger pointing. It seems they’re always interested in other people’s money and their success. It’s tiresome. Let’s maybe focus on how we can do good to the world, instead plotting how we can bring other people down.
What need would there be for such anti trust regulations if they only allowed for organizations that were completely within their purview from the get go and designated To Big To Be Anti-Trusted?
The xbox and Wii apps both also let you do this by pressing a specific controller key on any video content (I've accidentally turned it on a few times)
Counterpoints:

* Stack Exchange Sites

* Wikipedia
I would. I know that because I spent a lot of time on the internet in 1992 and 1993, when the vast majority of internet content was produced by people not expecting any monetary reward.

Today we have the concept of "user-contributed content", which means content produced without expectation of monetary reward, then uploaded to a site operated by an organization with an expectation of monetary reward. In 1992 these for-profit organizations did not exist: the services through which people accessed the content were created and operated without expectation of monetary reward, too.

It was glorious. There are some valuable content and valuable services that weren't produced in 1992 and would not be produced in the future if it became impossible to profit from producing it, so I don't want to remove the profit motive from the internet. But search results from Google (and its competitors) are now almost completely dominated by for-profit actors, and I agree with grandparent that we need a new search engine that essentially specializes in content produced without expectation of monetary reward.