Performance of Solaris' ZFS LZ4 Compression - <AUTHOR> http://jomasoftmarcel.blogspot.com/2017/04/is-there-performance-impact-when-using.html <comment><USER2> Please note: Oracle does not implement the same version of ZFS as everyone else does. Sun chose the OpenZFS project as the steward of ZFS, and Oracle chose to never integrate OpenZFS upstream into their version of Solaris (which it itself is also an incompatible fork of the actual Solaris steward project, Illumos née OpenSolaris).

Since OpenZFS already implements LZ4 compression (and has so for quite some time), this is yet another feature that, once enabled, will stop you from importing your incompatible pool into anything that actually implements ZFS.

<comment><USER3> I think its a bit much to pretend that oracle somehow doesn't have "real" ZFS and solaris, even if you dont like what they have done with them and they are incompatable.

<comment><USER4> Meh. Whatever one calls "real", "incompatible with everyone else" was the real point, and it's a strong one.

</comment></comment></comment><comment><USER5> This really is too brief a study (although it's obviously fine for someone to write a quick blog-post about whatever they want).

Most importantly, how fast is the disk? I suspect (but would benchmark if I really needed to know) that the effects of compressions will be greatly different on an older 7,200 rpm spinning disk, vs a modern SSD.

<comment><USER6> It's a very good question because his copies are stupidly slow. Only 15MB/s. You could probably compress that in real time on a raspberry Pi!

It's a very poor test.

</comment></comment><comment><USER7> Most people say lz4+ZFS is a net win and you should usually enable it by default.

The big "gap" is probably between lz4 and gzip. e.g., for compressing logs, where gzip compresses a _lot_ more but is terribly slow.

I hope zstd could be used for this case someday: [http://facebook.github.io/zstd/](http://facebook.github.io/zstd/)

<comment><USER8> I imagine zstd's license will hamper its corporate adoption, especially among the big players.

      The license granted hereunder will terminate,
      automatically and without notice, if you (or any
      of your subsidiaries, corporate affiliates or
      agents) initiate directly or indirectly, or take
      a direct financial interest in, any Patent
      Assertion: (i) against Facebook or any of its
      subsidiaries or corporate affiliates...

[https://github.com/facebook/zstd/blob/dev/PATENTS](https://github.com/facebook/zstd/blob/dev/PATENTS)

</comment></comment><comment><USER9> It must be fine on a small test system, with CPU idling, etc.

I've worked with a few "ZFS appliances" from Sun (256-512TB range, NFS/iSCSI shares, 1-2k clients) and would never enable any advanced features on those (compression, dedup, etc). They were awfully unstable when we did that.

Granted, that was 5 years ago but I don't see any indication this technology has evolved significantly with all the drama surrounding Oracle, licensing, forks, etc. Just not worth the trouble these days, IMHO.

<comment><USER10> Conpression is fine. Dedup has always been the problem because it was rushed.

<comment><USER11> I don't think it's dedup being "rushed" that's a problem - implementing dedup is often done "offline" (like with NTFS's implementation, or btrfs), so the data gets written as unique at first, and then eventually something runs through, finds duplicates, and rewrites history to point all the duplicate instances to one copy.

But ZFS deeply hardcodes assumptions which mean you don't get to rewrite history like that, so it gets to do it synchronously (and keep all the ever- growing data structures required for this in memory for all writing).

I don't think an arbitrarily larger amount of time or money behind it would have permitted a better implementation, short of a ZFS2 and an in-place migration tool.

<comment><USER12> Dedup can be done right if the system has enough ram.

<comment><USER13> I don't know much about ZFS' deduplication, just heard that it requires a lot of memory, in a "hard minimum amount" way, to do it. This suggests, to me, that at least one design element of their deduplication engine is poor.

Efficient deduplication is design-wise a rather difficult problem with many trade-offs and issues which can blow your lower torso clean off when done wrong.

I don't think there is a system (beyond sheer coincidence, which seems rather unlikely given the complexity of the problem space) that can support good deduplication in an "added on later" way.

E.g. ext4 and btrfs have extent sharing which _does work_ , but is completely inefficient (time). ZFS seems to be inefficient as well (space).

I'm off the cuff not aware of an open source deduplicating file system that does not have these issue. There are the deduplicating archivers (borg, restic, some others), but these are neither meant nor want to be general- purpose filesystems (although borg offers a ro FUSE FS with satisfactory performance).

<comment><USER14> Dragonflybsd's HAMMER filesystem seems to fit the bill nicely. There's even an option to limit the maximum amount of memory used for deduplication. Look up memlimit in the manual page: [https://leaf.dragonflybsd.org/cgi/web- man?command=hammer&sec...](https://leaf.dragonflybsd.org/cgi/web- man?command=hammer&section=8)</comment></comment></comment></comment></comment></comment>


Bpkg: package manager for bash - <AUTHOR> http://www.bpkg.io/ <comment><USER2> Jesus! Another package manager, I don't even want to look at that website before I can think of a single reason of why would anyone want to have a package manager for Bash, once I think of a legitimate use case I will go to that website to see what is their offer. But seriously, do we need a package manager for everything [1]? Some time ago I was thinking to create a package manager for package managers, then realized that it was already proposed [2] and that it has no purpose so I desisted on the idea.

[1] [https://en.wikipedia.org/wiki/List_of_software_package_manag...](https://en.wikipedia.org/wiki/List_of_software_package_management_systems)

[1] [https://news.ycombinator.com/item?id=8387137](https://news.ycombinator.com/item?id=8387137)

<comment><USER3> In fairness though, the "package manager for package managers" functionality is arguably included in your OS package manager.

Furthermore, as (e.g.) a node developer looking to share a package with the community, I'd much maintain one package in npm than one for each of Debian, Arch, Redhat, OSX, etc.

<comment><USER4> You are so right. Which exactly points at the problem:

Multiple OS package managers (choose one), and for each language/framework/... that you use, one extra. Which includes headaches for how to handle overlaps between the two. One ought to take into consideration how others are handling these issues, just to ensure you're not alone.

I do not have concrete answers, but I firmly believe that it is possible to reduce the mental and practical efforts required for package and dependency management by somehow abstracting and disciplining the current solutions.

In this context, Guile and NIX are often named. Their stated goals, however, are generally about reproducibility of builds. Could anyone point me to discussions/documentation that specifically addresses the wildfire of dependency- and package management?

</comment></comment></comment><comment><USER5> I genuinely don't understand the use case of this over the default OS pkg manager. Separation of concerns? Uniformity across *nixes?

Either way, it doesn't seem very compelling.

<comment><USER6> Per-language package management seems to be the way to go lately. I think this is mostly because some operating systems don't have a package manager, or have one that is difficult to create and distribute packages for.

<comment><USER7> If an OS has no software management subsystem, it is not enterprise deployment material, and therefore has no business being used to power production; it really is that simple.

<comment><USER6> There are uses of software outside enterprise.

<comment><USER7> There certainly are uses outside of enterprise, but then it's not enterprise, is it?

If however such software is used for generating money, then suddenly, the exact same criteria as within enterprise applies, because as soon as the flow of money is jeopardized, that's production.

<comment><USER6> I'm not sure what point you're trying to make here. I'm saying that my original comment had nothing to do with enterprise. It may well be that operating systems without package management are unsuitable for enterprise. I personally think operating system without package management are unsuitable anywhere; my comment, however, was descriptive rather than prescriptive.

</comment></comment></comment></comment></comment></comment><comment><USER8> ah, another curl|bash installation...

it amazes me that people still put them onto their sites. even vetting the code is futile if you pipe it afterwards[0].

[0] [https://www.idontplaydarts.com/2016/04/detecting-curl- pipe-b...](https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash- server-side/)

<comment><USER9> curl|bash is no less secure than any script you download and run as a regular user. When you add a third party apt repository and install a deb package do you always verify that the postinst script doesn't do anything malicious?

The only mistake I see in this case is doing this over plain HTTP. Let's Encrypt is free and there is no excuse for not enforcing HTTPS for this.

<comment><USER10> It's actually possible to detect the |bash part server side and send different content than if you were simply curling, wgeting or viewing in a browser.

Not only does this mean that you could end up with a compromised system, but it also means that there's no artefact of what caused it left on disk.

I agree with your point that running third party software is always a risk, the problem here being that you can think you've done your due diligence by reading the curl output first and then doing curl|bash, but in actuality this is not necessarily the case which is what makes curl|bash such an insidious bad habit.

[https://www.idontplaydarts.com/2016/04/detecting-curl- pipe-b...](https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash- server-side/)

<comment><USER11> Does anyone read install scripts/formulas when installing something from system package managers?

<comment><USER12> No, but I trust my OS distribution. I don't trust random third-party developer. I wouldn't add their APT repository willy nilly either.

</comment></comment></comment></comment></comment><comment><USER13> What is a bash package? A shell script?

The thing is at least about two years old (first posted here 650 days ago) and has no doc and merely about a dozen _packages_ listed. There seems to be nothing to show here.

</comment><comment><USER7> How many more private packaging formats bypassing the OS software management subsystem must people invent?

Bite the bullet and create native OS packages.

</comment><comment><USER6> I've started ignoring .io domains, because they seem to be a convenient shorthand for "I care more about being trendy than being correct." I doubt this project is based in the British Indian Ocean Territory.

<comment><USER14> Was this comment necessary? No one cares what you think about the domain.

<comment><USER15> The comment is on point. The io TLD does seem to be used more for software which is trendy rather than which is useful, thus it makes a reasonable litmus test.</comment></comment></comment>


Rails master is now 4.0.0.beta; Ruby 1.8.7 support dropped - <AUTHOR> http://weblog.rubyonrails.org/2011/12/20/rails-master-is-now-4-0-0-beta/

<comment><USER3> Rails needs to do a release solely focused on speed. Dropping 1.8.7 is a good step for a lot of people, but I feel Rails itself has gotten slower since 2.x and I know a lot of people would agree with me.

I do a lot of work in CodeIgniter as well as Rails (w/ Ruby 1.9.2 in production), and there's no doubt that my CodeIgniter apps _on slower servers_ with little-to-no deliberate optimization are faster than my Rails apps.

For just one particular example, I have found rendering partials in Rails are such a point of poor performance that I have often found myself avoiding it.

There's this red herring (and a pet peeve) that making the framework 'less bloated' by dropping components or making them optional equals performance. You'll even see a comment on this blog post asking which components to remove to improve performance! It doesn't work that way when the core components of Rails remain slow.

While the speed of Rails had Ruby 1.8.7 to blame for a long time, now that it's being dropped I think 4.0 has a unique opportunity to optimize for 1.9 and make a big difference to the overall speed of the framework.

<comment><USER4> > For just one particular example, I have found rendering partials in Rails > are such a point of poor performance that I have often found myself avoiding > it.

A good caching plan obviously helps with these kinds of issues.

> There's this red herring (and a pet peeve) that making the framework 'less > bloated' by dropping components or making them optional equals performance.

In the case of Controllers, inheriting from ActionController::Metal and not including unnecessary modules, speeds things up a lot.

In general Rails may be slow in comparison to other frameworks. But that doesn't mean it's too slow. I don't really care if my app only manages 5000 requests per second, versus framework x's 6000 or more on the same hardware.

<comment><USER5> _I don't really care if my app only manages 5000 requests per second, versus framework x's 6000 or more on the same hardware._

Nitpick: Your numbers are a little off. Rails/REE tops out at around ~300 reqs/sec on a current commodity box (16 cores/16G). This is of course application-dependent and optimization can squeeze it some, but it's a different ballpark.

When you look outside of ruby-land you can indeed find frameworks that will handle your 6000/sec on the same hardware (e.g. twisted, node, some of the evented java-frameworks).

So, depending on what you compare to rails, the difference can easily be an order of magnitude.

<comment><USER4> When you use Metal endpoints, as i mentioned in my comment, 6000 requests per second is actually very possible. Yes, you need a lot of resources, but I didn't suggest otherwise. And yes, on this hardware other frameworks will manage even more requests.

EDIT: My low budget netbook just gave me 327 req/s with an out of the box Rails config, and running the benchmarking tool on the same machine.

</comment></comment></comment></comment><comment><USER6> Thank goodness for RVM. Can't imagine what I would do without it...

<comment><USER7> There's also rbenv, which doesn't override your shell functions or require modifications to your deployment code. Patching basic shell functions like "cd". In 2011. I _seriously_ hope you guys don't do this.

Here's the rbenv project page: <https://github.com/sstephenson/rbenv#readme>

It's functionally equivalent to rvm minus the aforementioned negatives.

<comment><USER8> Except it does not handle neither installation (available via ruby-build), nor gemsets (has a plugin).

<comment><USER9> Who needs gemsets? Isn't that the point of Bundler?

<comment><USER10> Gemsets are still useful. see [http://tenderlovemaking.com/2011/11/30/psa-the- number-of-gem...](http://tenderlovemaking.com/2011/11/30/psa-the-number-of- gems-installed-on-your-system-can-impact-rails-boot-time/)

<comment><USER11> Thank you for this, I did not realize it was the case but it definitely makes sense. Back to using gemsets I suppose...

</comment></comment></comment></comment></comment></comment><comment><USER12> In case you guys missed it, there was a recent HN article on the speed improvements in jruby + jdk 1.7. I too lament the slowness of Rails - <USER2> before you throw the usual arguments at me about perf being relative and 'good enough' blah blah - the ruby/rails community should have seriously addressed this _long_ ago. I've only started with rails recently (this year) and am experimenting with jruby since my patience has worn thing with ruby's speed.</comment>


Generating Light from Darkness - <AUTHOR> https://www.cell.com/joule/fulltext/S2542-4351(19)30412-X <comment><AUTHOR> TL;DR: PoC for energy generation at night using a thermoelectric generator</comment>


All of Bach - <AUTHOR> http://allofbach.com/en/ <comment><USER2> Ha, this was one of the last sites I expected a link to the Netherlands Bach Society. They are a very nice group and doing great work!

</comment><comment><USER3> Given that Bach has just a bit over 1000 pieces of work, and they post usually one piece, and sometimes several short pieces every week, this project will take about 15 years to complete, which is quite impressive.

</comment><comment><USER4> Very, very cool. Thank you Netherlands Bach Society! See older comments here:

[https://news.ycombinator.com/item?id=7720708](https://news.ycombinator.com/item?id=7720708)

<comment><USER5> Was going to say, I posted this awhile ago. And now I see that date of almost 3 years.. time flies! Glad it's still going strong. I still make sure to check out the new postings each week.

A few of my favorites from the past couple years:

Concerto for 4 Harpsichords: [http://allofbach.com/en/bwv/bwv-1065/](http://allofbach.com/en/bwv/bwv-1065/)

Orchestral Suite #2: [http://allofbach.com/en/bwv/bwv-1067/](http://allofbach.com/en/bwv/bwv-1067/)

Passacaglia in Cm: [http://allofbach.com/en/bwv/bwv-582/](http://allofbach.com/en/bwv/bwv-582/)

Viola da Gamba Sonata #2: [http://allofbach.com/en/bwv/bwv-1028/](http://allofbach.com/en/bwv/bwv-1028/)

St Matthew Passion: [http://allofbach.com/en/bwv/bwv-244/](http://allofbach.com/en/bwv/bwv-244/)</comment></comment>


CIA Travel Advice to Operatives - <AUTHOR> https://wikileaks.org/cia-travel/

<comment><USER2> I skimmed through these and they are really fascinating documents with actual useful info for normal tourist and business travelers.

If you know what screeners might be looking for, you can avoid making yourself a target unnecessarily, even when your travel purposes are completely legitimate.

</comment><comment><USER3> These documents are boring; if you crowdsourced documentation on how to handle security checkpoints at airports to Metafilter, you could expect comparable insight and quality. They're practically brochures.

Presumably, every western intelligence agency in the entire world has comparable (or, hopefully, better) brochures. Make sure your passports are in order! Carry the right amount of luggage! Don't fidget! Keep your story straight!

<comment><USER4> This document isn't intended for field operatives. You do realize that the CIA employees people in 1000's of positions ranging from secretaries to architects and doctors? This is a simple guide for people who are not trained for wet work or intended to be deployed as field assets but rather just for office staff who travel to countries for official or non official CIA business. Many countries including US allies would like to pinch a CIA employee even if it's the guy who makes changes the toner.. So yeah if you are some low level analyst who worked for the US diplomatic mission in Egypt, Yemen and Pakistan traveling to Thailand for a vacation following some guidelines in the brochure might prevent you from being halted and be put into a bad situation. So yeah this isn't the instruction manual for an operative who just assassinated the vice president of kirgistan traveling with stolen Romanian passport trough a soviet era checkpoint... ;)

</comment></comment><comment><USER5> I am always amazed of the bad quality of these leaked documents. Not just the design but also the contents.

Both PDFs have a ton of unsorted, unordered information. It looks like just a bunch of random facts thrown together. Not sorted by country, not sorted by threat-level, no table of contents, no references.

CIA, step your game up.

<comment><USER6> Sir, did you just insinuate that the US intelligence community has room for improvement?

</comment></comment><comment><AUTHOR> A lot of this is common sense although this stood out "Hotel and car reservations are similarly examined for unusual discounts or government affiliation.". Is this based on providing it to them or the car and hotel chains providing it?

Side note: Why don't they just mark the entire document (S//OC/NF)?

<comment><USER4> That's just a fluff the document is ORCON, so although the company that probably charged way too much money to generate this classified it as secret it seems that this is an SBU(Sensitive But Unclassified )/FOUO document at best. ORCON gives the generator of the content full control over the dissemination and classification of the material regardless of the actual content.

As for your question probably both, you might be asked for multiple reasons to provide a proof that you have a hotel and that you have a return flight showing that you are indeed entering the country for a "limited" period of time. This is actually quite a common practice in many European countries especially when young people traveling alone or in small groups from out side the EU are involved. If you show them a hotel reservation and they see some odd discount because you booked a hotel trough the US diplomatic mission they might look deeper :)

</comment></comment><comment><USER7> The "Surviving Secondary" document is several years out of date, and notes that it isn't designed to provide tactical advice. However, there are a lot of tidbits about screening procedures at specific airports, and this gives me pause. There are several concerns:

1) Does leaking this document give bad people information and tools that they might otherwise not have, that might allow them to travel undetected.

2) Does leaking this document compromise the people or the tools that provided this information. Should we be concerned if countries are less willing to discuss the security of international travel with each other? Should we be concerned that there are sources within these countries that could be compromised?

On balance, it's difficult to see the benefit to the public of releasing this information, and easy to see the risks.

<comment><USER8> OK I bite.

The benefit is to know, that such organisations are present these days on european soil. Another benefit is to know, that certain biometric border checks do not only hassle regular travellers but also them.

<comment><USER7> Those are topics that could be discussed in a newspaper article without releasing the original documents, which contain all sorts of potentially problematic material.

Here's a sample from the report:

"In an operation to screen for Hizballah members traveling from Venezuela, the Mexican Center for Investigation and National Security (CISEN) planned to take into secondary screening Venezuelan passport holders without a mastery of Spanish."

Casually disclosing what airport security officials know about the travel patterns of terrorist groups, and how they intend to watch for those groups is very troubling.

<comment><USER9> Screening for people who do not have mastery of the primary language of their nationality seems like something so obvious that leaking it is of little consequence.

<comment><USER7> It identifies Hezbollah operatives as using a specific country's passport (Venezuela) to travel to a third country (Mexico). It also says that Mexican security officials are on the lookout for Hezbollah operatives. Maybe these are obvious facts. I'm not sure that people on the Internet are in a position to assess that.

<comment><USER10> If you don't think we're in a position to assess that, why did you start the discussion? This sure looks like you presented your amateur assessment, the when presented with disagreement you threw up your hands, did a 180, and declared it off limits.

<comment><USER7> Because of the precautionary principle. It's plausible that releasing information about what airport security knows about the movement of members of terrorist groups could cause significant problems in detecting members of these groups. Given that risk, the burden should be on Wikileaks to demonstrate that releasing this information will not cause harm before they release it.

<comment><USER10> It's also plausible that not releasing this information could cause problems, so the burden should be on the CIA to demonstrate that the info must be kept secret. How do you choose between your statement and mine?

<comment><USER7> Is it plausible that someone could be harmed by releasing the information (as opposed to not releasing it)? I don't see anything in this specific document where I could plausibly say that the public could be harmed if the information was NOT publicly available. I can see instances where its plausible that the public could be harmed if the information WAS available.

It's also worth considering that there is a legal process for determining what should or should not be classified and that there is oversight of this process by elected officials. It's a flawed process, but there is accountability and oversight. Who is Julian Assange accountable to? He seems to make decisions on an ad hoc basis and then disassociates himself with people who question him.

<comment><USER11> You can only make an amateur assessment because you can actually see the document. If this had not been released, you only have the word of the gov/three-letter-agency/etc that it really really does need to be secret. Since we've seen members of this group repeatedly caught lying (even to their overseers) how much can we trust the system?

This isn't an argument _for_ leaks but I'm trying to point out that the system doesn't work as advertised.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Are they paid by Putin to do this?

Snowden must have been...

I mean when you look at it from the time passing perspective: Putin had planned confrontation with the West since at least 2004. From 2004 he was planning to attack Ukraine. His RussiaTV, all the Alex Joneses and others, Snowden, far right in EU -- all of that seems to be KGB sponsored (whether they know about it or not is another matter entirely)</comment>


EBay just scrapped the wildcard search claiming high server load.  - <AUTHOR> http://www.ebaypartnernetworkblog.com/en/wildcardfaq/ <comment><USER2> The title is completely misleading, quoting from the link shared:

"Why is eBay no longer supporting wildcard searches?

Our research has shown that this type of search can sometimes include unexpected variations that clutter search results and the use of specific terms to expand one's search is a much more effective method. That may be why only a very small percentage of very sophisticated shoppers on eBay used this functionality. We have also recently implemented enhancements to search on eBay that enables us to take into account many variations in naming and spelling in search results. By removing the wildcard (*) advanced search functionality, we are now able to more efficiently deliver search results faster to users."

I am sure that the server load at eBay's scale is peanuts.

<comment><USER3> Well, the person is inferring server load as the reason based on this bit: "and because this change enables us to deliver search results faster."

Wildcard expansion can be very expensive and can have a significant impact on average query latency, both by skewing the numbers and by blocking other queries. That doesn't mean that disabling wildcard searches is the necessarily the best option, though. Typically you would just stop the search if there are too many results to consider.

</comment></comment><comment><USER4> Title is misleading. They are scrapping it because they already take into account variations in spelling and this will no longer be necessary.

This is the line from the site:

> Wildcard searches are no longer supported because recent changes to how > search works already take into account many variations of a query and > because this change enables us to deliver search results faster.

Nowhere in there does it say it's taking it out because it's causing a high server load.

</comment><comment><USER5> I posted a similar story a few days ago: <http://www.ecommercebytes.com/cab/abn/y12/m11/i05/s01>

Everything I have read about the move stated nothing about server load. Wildcards are an important piece of functionality, and it is somewhat surprising that they are dropping it after over a decade. Synonym expansion is simply not the same thing and is not consistent with the way (power) users work.</comment>


What's cool about 27-degree beer at the fair - <AUTHOR> https://www.dmjuice.com/story/entertainment/2015/08/07/cool-degree-beer-fair/31311547/ <comment><USER2> Asahi has been doing this for years with their Super Dry Extra Cold (-2°C≈27°F). Might not have caught on in the states, but I grabbed one of these as early as 2016 in an Asahi brewery in Japan.</comment>


Canada to launch new measures to entice skilled migrants - <AUTHOR> http://www.theglobeandmail.com/report-on-business/economy/ottawa-to-make-it-easier-for-some-businesses-to-import-foreign-talent/article32622768/ <comment><USER2> How does the process for American workers coming to Canada on NAFTA work permits compare to the opposite (TN status in US)? I've recently entered the US on a TN, but I've also experienced applying for a Tier-2 General visa to work in the UK, which took much longer than the TN.</comment>


Fravia - <AUTHOR> https://en.wikipedia.org/wiki/Fravia <comment><USER2> Dam...that's a blast from the past.. Sad he died so young :-/

The hack/phreak-zines were cool back then too... C.U.D, 2600, etc.</comment>


(2007) Moderation isn't rocket science - <AUTHOR> https://nielsenhayden.com/makinglight/archives/008856.html <comment><AUTHOR> Posted again here despite its great age because "Moderate by hand versus by statistical inference" debates go back to at least the invention of NNTP[0] but flare up here and on lobste.rs/reddit every September/December/January.

0: See Bellovin, et al, in Steve Bellovin's USENIX award acceptance materials. [https://www.usenix.org/about/awards/flame](https://www.usenix.org/about/awards/flame) and [https://www.usenix.org/system/files/login/articles/07_bellov...](https://www.usenix.org/system/files/login/articles/07_bellovin.pdf) for those who are not familiar with USENIX and USENIX's Security conferences.</comment>


How enthusiasts designed a powerful desktop PC with an ARM processor - <AUTHOR> http://www.pcworld.com/article/3184230/computers/the-anatomy-of-a-powerful-desktop-with-an-arm-chip.html <comment><USER2> Article is all about vaporware. Probably we were all hoping for more when we clicked. Maybe title should be something like "Enthusiasts Dream of a Powerful ARM Desktop PC".

ARM isn't a super awesome ISA though. (I've programmed directly in 6811, 68000, PPC, MIPS, ARM.) I'd be a little tempted to hope for skipping ARM and getting to RISC-V desktop class hardware. Latest RISC-V chips are more like mid range embedded ARM, but the dream of a clean new ISA that's open source and could become the Linux of CPUs is enticing.

<comment><USER3> Agreed, I can't believe that article existed with that title. I was rather annoyed when I got to the end.

Title should have been, "Summary of a audio recording about the type of ARM computer a bunch of nerds wish existed."

</comment></comment><comment> m-j-fox When I saw the picture at the top I thought someone besides me was using ThunderX as a PC. The single-thread performance is nothing to write home about, but if you can find something to engage all 48 cores (like pbzip2) then its bananas.

I don't know why they say Cavium is "not interested" in making a PC. It's not their main market, but they'll sell you chips and eval boards. You need a few daughter cards for SATA and PCIe so you can plug in a graphics card. What's really needed is someone to integrate that design, putting the normal IO on board.

It runs 98% of Ubuntu packages, thanks in part to Linaro's own hard work. So they should know, it's a perfectly viable project.

<comment><USER4> Able to point to a sales channel where one might be picked up? The last time I reached out to Cavium directly, they made it seem they weren't interested in a sale that wouldn't lead to volume later.

<comment> m-j-fox I'd talk to Gigabyte. They build systems to spec. If you want to go to Cavium directly then you're right that you have to convince them you have a solid business plan to move some thousands of units a month, in which case they will bend over backwards to help you do so.

</comment></comment></comment><comment><USER5> Actually, they did not design anything, or that's not described in the article.

Besides, no mention about the fact that there's a complete lack of graphics drivers for ARM under Linux, which is one of the most problematic issues for anyone who wants to build a desktop/laptop with it. No ARM SoC manufacturer has any open source effort for drivers, and reverse-engineering efforts have stalled for the most part.

<comment><USER6> Reverse engineering efforts have only stalled for ARM SoCs using PowerVR GPUs from Imagination Technologies. However for Qualcomm Adreno and Vivante GPUs, the freedreno and etnaviv projects are steadily and quietly moving forward; both have been integrated into mainline Mesa at this time.

For instance, I learned from HN last week that you can run android on i.MX6 with open source GPU drivers. This is a big deal. See: [https://www.collabora.com/news-and- blog/blog/2017/04/27/andr...](https://www.collabora.com/news-and- blog/blog/2017/04/27/android-getting-up-and-running-on-the-imx6/)

<comment><USER7> What about Nvidia's powerful K1/X1/P1 Tegra chips? Any hope there?

<comment><USER8> The Google Pixel C runs using the Nouveau open-source drivers.

</comment></comment></comment></comment><comment><USER9> Long time embedded Linux developer here.

This article exaggerates the undesirability of cross-compiling from x86 to ARM. It requires a bit of a conceptual shift, but once your toolchain is set up workflow is practically the same. Debugging is a bit trickier, but most issues can be sorted out on x86 before cross-compiling. It's definitely not like developing for Windows on a Mac.

There may be a compelling case for a PC that consumes less energy by using an ARM CPU, though peripherals like DDR RAM, SSD and video card will use the same energy regardless of CPU architecture.

<comment><USER10> Embedded Linux developer here as well.

As much as I grind my teeth with Yocto, it _does_ make the process of generating a usable toolchain much easier than it used to be. Which makes the rest of it easier.

Up until a couple of years ago it was pretty much "grab what you can from CodeSourcery and cross your fingers".

<comment><USER11> i've found that:

* if all you need is a toolchain, go with crosstool-ng.

* if you want a toolchain and a bootable kernel with busybox and dropbear for a popular chipset, go with buildroot.

* if you want buildroot plus flexibility in every direction (at the cost of configuration pain), go with yocto.

* if you've outgrown even yocto, you're back to crosstool-ng and rolling your own build/bundle system.

</comment></comment></comment><comment><USER12> It seems a shame that Nvidia don't make a NUC like product from the Jetson TX2. See: [http://www.nvidia.com/object/embedded-systems-dev-kits- modul...](http://www.nvidia.com/object/embedded-systems-dev-kits- modules.html).

They'd need to sell it for about $400 though, with case and PSU.

<comment><USER13> What size of case will fit that board?

<comment><USER14> Looks like the devkit should fit mITX cases

</comment></comment></comment><comment><USER13> There's a MIPS + PowerVR PC that can run Debian Linux, with support for hardware virtualization of the GPU. Does not seem to be available outside of Russia.

[http://www.pcworld.com/article/3040528/computers/this- russia...](http://www.pcworld.com/article/3040528/computers/this-russian-all- in-one-desktop-is-just-weird-enough-to-be-interesting.html)

[https://www.imgtec.com/blog/t-platforms-tavolga-terminal- des...](https://www.imgtec.com/blog/t-platforms-tavolga-terminal-desktop-pc- mips-linux/)

</comment><comment><USER15> Another great ARM-based, enthusiast-built system: the Open Pandora, and its follow-up, the Pyra:

[https://pyra-handheld.com/boards/pages/pyra/](https://pyra- handheld.com/boards/pages/pyra/)

Maybe not high-performance, but .. decent. And such a great, fully integrated, community-led project.

<comment><USER16> Yes, I'm one of the pre-orderers and it's moving closer to delivery. Nobody knows yet when it'll happen though.

Current status: [https://pyra-handheld.com/boards/threads/i-wish-you-could- fe...](https://pyra-handheld.com/boards/threads/i-wish-you-could-feel-things- through-the-internet.80200/)

Here is the cost break-out: [https://pyra-handheld.com/boards/threads/money- makes-the-wor...](https://pyra-handheld.com/boards/threads/money-makes-the- world-go-round.80207/)

The current setback is that a first batch of cases was either damaged on delivery or not sent: [https://pyra-handheld.com/boards/threads/the-following- is-ba...](https://pyra-handheld.com/boards/threads/the-following-is-based-on- a-true-story.80321/)

</comment></comment><comment><USER17> What about repurposing ARM-based Chromebooks?[1] Same result, less work.

[1] [https://www.chromium.org/chromium-os/developer- information-f...](https://www.chromium.org/chromium-os/developer-information- for-chrome-os-devices/samsung-arm-chromebook)

<comment><USER18> With Chromebooks that support android you can run linux via termux for console linux

<comment><USER19> This is how our school teaches AP CS 1 and CS 2. They use to use Crouton but required developer mode. Now with Google adding containers to ChromeOS you can use Termux inside a container without developer mode required.

ChromeOS is the only commercial OS that has the exact same environment used in the cloud on a laptop.

In someways ChromeOS is now an OS of OSs. My 2nd oldest son studying CS as University uses ChromeOS, Android and desktop Linux all on the same machine at the same time. With containers this is done with basically zero additional overhead.

Google has something really special here and would expect it to become a strong developer platform over the next couple of years.

It is just ideal in that you just pull down whatever containers you need and they will run unchanged on ChromeOS as it has the same Linux kernel as the cloud.

</comment></comment></comment><comment><USER20> All of the more recent ARM SBCs are capable of running as desktops for the most common tasks of browsing the web, watching movies, editing documents, etc... on less than 5W of electricity.

ARM's selling point is efficiency and cost, not raw power irrespective of cost.

edit: The real issue right now is not whether ARM can run as a desktop because it can. It lies in keeping the large number of devices and processors upstream with the linux kernel. Monitoring Kernelci.org shows that this is slowly becoming less of a problem as more enthusiasts become fans of ARM processors and the available chips and SBCs.

</comment><comment><USER21> I'm pretty sure this title is going to apply to Apple, in the not too distant future.

Unless they've changed their direction, again.

It's also one more way to explain the foot-dragging on the Mac Pro. Hard to launch a new high-end platform when you're focused to switching to a platform squarely focused on mobile (phones and laptops).

Now that they say a new Pro is coming, I wonder a bit more about whether they've switched directions and are going to stay with Intel in the near future.

P.S. Or have they continued development and are they going to be one of the first to introduce true high-end ARM power through up-design and an effective multi-processor/multi-package integration? (Aside from ARM server clusters, which can be powerful but are a different kind of thing.)

<comment><USER22> While it'd be neat to see, I think the hurdles that exist in moving from Intel to ARM are pretty high, and far higher than they were when they moved from the PowerPC range to Intel.

Just a few off the top of my head:

\- The Mac platform, today, is _much_ more widely used than it was in the PowerPC days. This is a double-edged sword. Apple can use their substantial weight to force ISVs to recompile[0]. These ISVs are unlikely to provide the next version for free. Some ISVs won't exist any longer, forcing one to run the application in whatever Rosetta-like compatibility later is produced. I can't speak to how well a translation application would work going from x86->ARM, but the only emulators I've seen that perform _well_ are ones where the target platform is dramatically more powerful than the emulated platform (Nintendo emulators, etc). The impact to users on upgrading is _very_ high and there are _many_ more of them, now, which will get noisy. Their competition has also gotten better at producing more desirable competition (Surface Book, Windows 10[1])

\- ARM's aims are performance-per-watt, not performance at all costs. I don't care if my desktop drinks electricity. I care if it does things quickly. I don't believe Apple will make this move until they can be assured that a processor can be developed for about the cost of an Intel equivalent and will perform as well[2].

\- I'm foggy on the details, but my understanding is that App Store submissions are required to be done in a way that provides LLVM or other IL/VM language code instead of machine code. This could land them in a spot where re-compiling to a new platform can be done by _Apple_ (assuming ToS have granted them that right), which is great ... for apps in the App Store. The mac platform app store isn't the only source of software.

\- Apple would almost certainly have to design the processor as they have with their phone. "They've done it before, they can do it here" is a somewhat fair and unfair argument. Desktops have different design goals than phones/iPads. Notebook designs would probably fall somewhere in-between the two. To do it _right_ , they probably have to support two new processor designs: one for "Pro Desktop" and one for a notebook that has more performance than their highest end mobile device, but sips power like their highest-end mobile device. The cost, all around, will be _high_ : low-power/high- performance/cheap, pick two. Intel gives them high-performance/cheap and moderate power.

There are other, less important reasons, but in weighing pros and cons, I can't come up with a lot of benefits to doing this. The funny thing is that even as I was writing this, I could come up with plenty of counter arguments and the reality is that "Apple could actually pull something like this off". I am having a difficult time figuring out, though, what the upside is for them. Apple owning the processor doesn't buy them a whole lot. And while having a single set of CPU instructions[3] sounds like it might benefit ISVs, it really only helps mac-only ISVs. Most of those ISVs are going to have to target Intel platforms if they're supporting Windows. There would have to be a few other _huge_ reasons to do this to offset the costs.

Personally speaking, I'd _love_ to see something like this ... I'd probably find myself buying an Apple product[4].

Part of me (that more cynical side) me wonders if these rumors don't originate out of Apple as a way to keep Intel on its toes. Apple is a _big_ customer and hints that Apple may jump ship to ARM keep Intel focused on improving the performance/watt ratio and likely helps them on price.

[0] And we all know it's not just a matter of changing the target platform for any moderately complex application

[1] Yeah, maybe not the best examples, but privacy elements aside, Windows 10 works, is pleasant to use and rarely crashes despite my running insider builds in the fast channel.

[2] I haven't looked too deeply into the server processors, but my sense is that they're desirable mainly because of the core numbers, almost as though the ARM processors are making up for single-threaded performance by throwing more cores at the problem. And that's probably a good deal for _many /most_ server use cases. Many server tasks are simple as far as an individual thread is concerned, but multiplied by the concurrent use.

[3] Well, no, not exactly.

[4] For all of the same reasons these "insiders have [not actually] designed an ARM desktop", but also because my inner geek would like to play with an ARM desktop.

<comment><USER23> > I'm foggy on the details, but my understanding is that App Store submissions > are required to be done in a way that provides LLVM or other IL/VM language > code instead of machine code. This could land them in a spot where re- > compiling to a new platform can be done by Apple (assuming ToS have granted > them that right), which is great ... for apps in the App Store. The mac > platform app store isn't the only source of software.

Apple calls this "Bitcode". It's not useful for portability between architectures, it's only good for adapting to smaller changes in instruction sets. (For example, maybe the current chip doesn't do integer division, but a future one does.)

Here's a discussion: [https://news.ycombinator.com/item?id=9727599](https://news.ycombinator.com/item?id=9727599)

</comment></comment></comment><comment><USER24> The article begins with looking back many years. In those days there were technical limitations and clever workarounds. One MB was enormous.

Today, what are the technical limitations?

PCWorld's summary of by the comments in the talk lacks much insight. The article itself is misleading because it seems to suggest the goal is a "consumer PC". As I understand it the goal is a build machine, a computer whose purpose is to run a compiler. This is not a computer primarily for _consumption_. Graphics are optional.

Here is how I understood the comments:

1\. Need _expandable_ memory. Not everyone will require the same amount of memory. For example, the kernels I compile only need about 200MB of RAM, max. But this might not be true for other users. Back in the PC days, users could add their own RAM. This concept has been lost on mobile phone manufacturers. Not everyone needs the same amount of RAM.

2\. Need better secondary storage. I would guess the reason is not to supplement RAM i.e., swap space, but because source trees have become so large. This is a pet peeve of mine. I keep writing half-baked tools to reduce the size of source trees to only what I will need. If the trees were smaller, perhaps more customized, then I could fit them in RAM (mfs or tmpfs). On my RPi I never use SD cards as writeable storage. They are just where I store a read-only copy of the kernel and userland which I can load into memory. I pull out the card after booting. I/O via secondary storage is just too slow.

Looking back at times past there was some incredible creativity to find ways to make due with limited memory. Today we have enormous amounts of RAM (and computing power) but I see little effort or creativity in getting systems to fit into these "constraints" (sheesh).

The systems of the past fit easily in today's "minimum" amounts of RAM. The systems of today are still used by a majority of users for many of the _same boring tasks_ as in times past but cannot fit into _GB_ of RAM?

Software is like a gas. It expands to fill space.

Forcing one to keep purchasing new hardware. I guess that is the point.

<comment> m-j-fox I think this will make a fine build machine for aarch64:

[http://b2b.gigabyte.com/Density- Optimized/H270-T70-rev-100#o...](http://b2b.gigabyte.com/Density- Optimized/H270-T70-rev-100#ov)

With 372 cores and 32 dimm slots you can put your whole Ubuntu source tree in tmpfs so you will not have to wait too long to recompile your distro.

</comment></comment><comment><USER25> Does anyone know any ARM SoCs which can run without binary blobs? I'm looking for something with a fast serial video interface, H.264 decoder and a SATA or PCIe controller. So far I'm looking at the Allwinner A20 and the i.MX6 - however the latter doesn't have enough bandwidth on the video interfaces to drive a high-resolution display.

The RK3399 mentioned in the article looks great, however it seems like at the very least, the Mali GPU requires a binary blob (not sure about some of the other peripherals).

</comment><comment><USER26> They are not going to use Linux as the OS are they?

This is the OS in which opening browser tabs cause music to go choppy. After more than 20 years of Linux this problem still exists. WTF?

Did that ever happen on the Archimedes?

</comment><comment><USER27> What's weird is Russia simultaneously has teams building CPU's so threatening that Intel will buy one in defense but the one making desktops is worse than what some academics built on RISC-V and OpenSPARC. Russia needs to pay their top people for a competitive design that can be cheaply licensed due to the subsidy. Then sponsor some SoC's. Then a desktop. Then get the process rolling.

<comment><USER28> Which Russian chip company did Intel buy?

<comment><USER29> Pretty sure he is thinking of Elbrus, but AFAIK nothing actually happened from that being announced back in 2004... Elbrus still exists and is making chips. They were basically the Russian Transmeta.

<comment><USER27> I saw the is buying article but not if they concluded the deal. It was a _huge_ amount of money. I also remember the tech description was like a better version of Itanium. I thought they were blocking an Itanium rival before it hit market.

Didnt follow it from there as I was doing a quick survey of Russian chips and fabs.

<comment><USER30> Intel hired people from Elbrus, to work in Moscow Intel's office

[https://www.extremetech.com/extreme/56406-intel-hires- elbrus...](https://www.extremetech.com/extreme/56406-intel-hires-elbrus- microprocessor-design-team)

<comment><USER27> That's exactly the one I read! Thanks Jenya! So, not only was I right they could make Intel-grade chips: they've been doing it at Intel since 2004. Haha. There should be some more in Russia, though, that could support a larger team of hardware people. They could also try to lure the best ones back or get some from IBM's POWER team.</comment></comment></comment></comment></comment></comment>


Georgia Must Block This Flawed Computer Crime Bill - <AUTHOR> https://www.eff.org/deeplinks/2018/02/georgia-must-block-flawed-computer-crime-bill <comment><USER2> Something I'm unclear about regarding U.S. jurisprudence in general, and perhaps this bill in particular:

Suppose this bill becomes law, and a regular citizen wishes to help legislators understand the folly of their ways.

So he creates a website designed to be an object lesson for the legislators who passed the bill. Through some combination of website design and social engineering, he creates a scenario where the politicians themselves, as well as their friends and families, are likely to violate the terms of service. And in fact, they do.

\- Are the politicians subject to criminal sanctions only if government prosector is interested in pursuing the charges? I.e., is "prosecutorial discretion" applicable regardless of the crime?

\- If the bill allows for civil penalties, are they still applicable in cases where the regular citizen had the agenda described above?

</comment><comment><USER3> This is akin to arresting a movie theater patron for bringing in outside food.

</comment><comment><USER4> Here's a link that lists all sorts of laws in Georgia that makes you wonder what they were thinking.

[http://www.dumblaws.com/laws/united- states/georgia](http://www.dumblaws.com/laws/united-states/georgia)

<comment><USER5> Most 'dumb laws' are not really on the books, they're just applying reductio ad absurdum to a judge's decision in one specific case.

<comment><USER6> Some of them are apparently just made up, or so distorted that they have no connection to reality.

For instance, it is not illegal to "view a moose from an airplane" in Alaska. I suspect this is a distortion of a law (which actually does exist) that makes it illegal to use an airplane to locate moose, _then land and shoot them_.

</comment></comment></comment><comment><USER7> Someone should please add some paragraph breaks in there if this is something intended to be shared or read by others.

Apologies for the meta-comment, but this is a particularly nasty wall-of-text obscuring an important point.

<comment><USER8> Fortunately, the main letter that's intended to be shared is nicely formatted:

[https://www.eff.org/document/eff-opposition-georgia- sb-315](https://www.eff.org/document/eff-opposition-georgia-sb-315)

</comment></comment><comment><USER9> I had to read the comments before realising that the headline referred to the US state, not the country. Perhaps it would be useful to add (US) after the name to avoid such confusion?</comment>


Why aren't digital calendars smarter? - <AUTHOR> http://www.macworld.com/article/2036158/why-aren-t-digital-calendars-smarter-.html <comment><USER2> Calendars could be better integrated with todo lists. An event on a calendar is just a todo item that has to occur at a certain time on a certain date, instead of by a certain date.</comment>


Margaret Thatcher - an inspirational life in pictures - <AUTHOR>

Margaret Thatcher today died - here are some of her most inspiring comments and her most famous pictures http://www.getinspired365.com/20130408. Rest in Peace. <comment><AUTHOR> Clicky <http://www.getinspired365.com/20130408>.

<comment><AUTHOR> Link has moved to <http://getinspired365.com/21501315></comment></comment>


Tips from Poland on Old-School Zero Waste (2019) - <AUTHOR> https://culture.pl/en/article/tips-from-poland-on-old-school-zero-waste <comment><USER3> This article is just one example of the things that the commies got correct. As flawed and abusive as the system was it did produce remarkable efficiencies in a few areas.

Stores that did not produce unnecessary waste were standard practice. Growing up in communist Poland I remember having to bring to the store empty milk glass bottles to swap them for filed ones. They even tried to implement that with preserve jars though that was short lived.

Another thing they got right was urban planning. Communist built residential areas had all amenities within walking distance. I was in not a particularly well regarded area yet I was within 500m of the grocery store, my school, soccer field, cinema, library, church, computer club, three bus stops and one tram stop.

Another thing they got right was public transit. By having cars and fuel expensive people were more likely to use it which means it was inexpensive and frequent if crowded at times.

I look at the new development in Warsaw in the last 30 years and just shake my head at how much they've managed to screw up since the central planning was done away with.

<comment><USER4> I 100% agree especially with the urban planning thing. As an American, I'm tired with the fact that I need a damn car for everything. Not only that, but the type of car and age can also be an indicator of wealth or status. So now I have to be conscious of a stupid means of transportation because it has an affect on my status. Also repairs are like 500% more than they are for a bike, which is so simple you could teach a 5 year old to fix.

Also Americans just love to tell you how much they love having a yard and doing yard work. I learned a few years ago that lawns used to be something only aristocrats could afford because it showed your wealth that you could afford to not have land for the use of food production. Now you get fined if your neighbor rats you out to the local government for letting it get to high.

I honestly think the government needs to stop with the homeownership BS. It's a stupid farce that low income types should not have. They can't afford to maintain it timewise and are being preyed upon by lenders who lead them to believe that property equity has value. The purpose of equity is to decrease your liability. People here treat it as a forced savings account and refinance the MOMENT they are strapped for cash.

<comment><USER5> Landlords come across more predatory to me. Take up all the land and make people send their money into a black hole their whole lives instead of getting to own.

<comment><USER6> Owning isn't free either. Instead of paying your landlord rent, you pay rent to the city (property taxes), the bank (mortgage), repairmen, and to opportunity cost (these x00,000$ would yield interest/dividends if invested and not tied up in your house)

In some places, it's also much cheaper to rent that own after factoring all this in.

<comment><USER7> I would like to see those mythical places one day.

<comment><USER8> Yeah in the sticks or areas nobody wants to live in.

Joking aside, Midwest tends to be cheaper. Chicagoland area is far cheaper than SF or NYC and yet has a lot of good paying jobs.

</comment></comment></comment></comment></comment></comment><comment><USER9> The situation the article describes is similar to present day Ukraine. You don't see that much recycling, but you don't see litter either, and forests in particular are trash free as opposed to Poland's. Also opposite to Poland, the Church in Ukraine promotes clean wilderness, going so far as to put signs "Enter forest as you would enter a temple". Polish Church on the other hand denounces ecology-friendly thinking as examples of "rotten West", leftism, atheism, "civilization of death" (After John Paul II), death of family and moral values, "ecologism" (a term they coined where they compare ecology to totalitarian regimes).

<comment><USER10> Yeah, I still find it hilarious that the Polish Church is anti-ecology :D

<comment><USER11> Theres two catholic churches in Poland. One consists of a minority of hardcore evangelicals and the other is just normal christian people who are quite reasonable. Unfortunately, unlike in the US, these two groups are forced to coexist as a single entity and are governed by the first kind of church. But this is changing with the second group simply leaving altogether, slowly but steadily.

edit: btw, John Paul II was from the first group.

</comment></comment></comment><comment><USER12> This article fails to mention how much waste got generated on the other end of the economy.

Poland generates much less green house gases now they It was back in the day ([https://www.worldometers.info/co2-emissions/poland- co2-emiss...](https://www.worldometers.info/co2-emissions/poland- co2-emissions/)).

Argument that we were too poor to generate waste somehow doesn't resonate with me. The amount of toxic pollution going to rivers and ground waters was much higher than developed countries.

Industrial sector got virtually no environmental oversight, all that mattered was to beat the west in the cold war.

</comment><comment><USER13> This worked better when Coca-Cola had a near-monopoly. They could get their bottles back and reuse them. Same for milk delivery, which tended to be a local monopoly or duopoly.

Imagine the screams if the liquor industry was forced to standardize on a common bottle for each size.

As a practical matter, automated sorting of different recyclable materials just isn't that hard. The big problem the recycling plant people have to deal with is food and liquids in the recycling stream.

<comment><USER14> Germany, Denmark, Sweden, several US states and others have bottle return and refill systems.

I pay a 1kr (€0.13) deposit on glass bottles and cans, up to 3kr on large plastic bottles, which is reclaimed by taking the bottles back to a shop.

Because the bottles are cleaner than the general household recycling, it's acceptable to use them to make new food packaging — general recycling isn't considered clean enough for that. Glass beer and soda bottles can be washed and refilled, plastic and aluminum is melted.

[https://www.danskretursystem.dk/en/all-about- deposits/](https://www.danskretursystem.dk/en/all-about-deposits/)

<comment><USER15> In Germany/Netherlands, this is called pfand. It's quite effecti e. Even if you don't bother to reclaim the pfand, someone else will.

<comment><USER14> "Pand" / "pant" in Danish, Norwegian, Swedish. The English cognate is "pawn".

Nowadays the English word is seen mostly in "pawn shop" — the place you go to sell your TV and jewellery so you can pay the electricity bill, and where you can buy back your stuff if you can afford it next month.

</comment></comment></comment></comment><comment><USER16> As a westerner who's lived and worked many years in Poland, the factor that seems to explain a lot of this is that wages in Poland remain extremely low compared to most of western Europe.

The result of this is that people can't afford to just replace things as soon as they break. For instance I had a pair of nice, but not crazy expensive headphones that broke while living there.

It was very easy to find a shop that helped me repair them, but this involved a decent amount of manual work. It very unlikely this would have been more cost effective than just picking up a new pair on most other countries I've lived.

If we put higher taxes on plastics and other materials so that the cost of labour vs. the cost of physical goods were similarly changed I bet we'd see a lot of improved behaviours like this also in the more affluent parts of the world.

</comment><comment><USER17> > But these plastic bags, which were often difficult to find or expensive to > purchase, were treated gently and used constantly (both back then and now, > it is common to find a matryoshka of plastic bags in a Polish person's > kitchen, with the largest one serving as the mother-bag)

We still do that in our household (Slovakia), it just feels wrong to throw a perfectly fine plastic bag which can be used again. I just grab it the next time I am going shopping. I don't do it for financial reasons (they have 0 value for me).

<comment><USER18> I thought everyone did that! We've been doing this in the UK since way before the tax, when they were free they were useful as bin bags.

<comment><USER19> using them as "bin bags" is not "reuse". "reuse" means "taking them back to the store next time to put your groceries in it again". You'd be better off buying bin bags that are made for that purpose.

</comment></comment></comment><comment><USER20> Some memories from the 70s and 80s in Poland: We did wash the plastic bags in order to reuse them, which is now unthinkable. I remember mom sticking them to the bathroom tiling in order to dry.

Also, no plastic garbage bags. Everybody just hauled buckets of trash to the big container to come back home with an empty bucket. This is also unthinkable now.

<comment><USER21> I remember the buckets yes! Another thing was to buy like a hundred kilos of potatoes and store them in the cellar (especially around the winter time), in wooden containers. Zero waste as potato bags were emptied and collected back by the seller. Again, you'd take another bucket and refill with potatoes when needed. Ah! And these were potatoes from local farms. Owners would bring them over in 25kg / 50kg bags on a horse carriage.

<comment><USER22> > And these were potatoes from local farms. Owners would bring them over in > 25kg / 50kg bags on a horse carriage.

Still happens today in my city in Poland. The only changes are that the farmers have a car now and, more importantly, that they use an annoying megaphone over which they loudly announce their arrival on every street - <USER2> usual case of advertising adopting technology to make the world a worse place...

</comment></comment></comment><comment><USER23> > There is a Polish saying: 'kto rachuje i oszczędza, nie zajrzy mu w oczy > nędza' ('he who works and saves, destitution doesn't threaten')

I don't think this is translated accurately. "Rachuje" is an old word for "calculate" and I think the saying should be translated like this:

"if you calculate your expenses and start saving, poverty/destitution will not threaten you"

<comment><USER24> ""old word""

</comment></comment><comment><USER25> Having less means using more.

In farmers cuisines you use every part of the product. Potatoes peals soup or using seeds for spicing. There's even stuff you can do with banana peals!

But in rich peoples cuisines you use the part of the vegetable easiest to cook with, and throw away the rest to the garbage.

<comment><USER26> As a city dweller I'm learning to cook like that now, and it is giving me great satisfaction. I also learnt to ignore most consumption dates on packaging, judging for myself whether the food is still edible. I hardly have any food waste to speak of.

</comment></comment><comment><USER27> Poland rocks! I left when I was ten during communist times, lived in Canada. I haven't been back since, until last year. Things I noticed, compared to Canada.

1) It's the whitest country I ever been to. Warsaw is a little more diverse. But otherwise, its 99.9% white people everywhere. It was a little weird. But also lots of Ukrainian immigrants.

2) Everyone dresses super nice. When I came back, I was little shocked how sloppy people look here.

3) Polish people walk almost everywhere. Unsurprisingly, almost no fat people. It felt almost like being transported back in time, to one of those pictures of NY I saw from the 1930. Streets filled with tall, slander and upright people, busy walking to places.

4) New roads/highways almost everywhere. Possibly designed by Germans...don't know. But Great.

5) Rail Transportation is awesome. Travelled around the country from city to city by train, and airplane once. Each city has its own distinct architecture and feeling. And only a few hours away. Closes thing I can compare it to is if Vancouver, Toronto, Montreal, Halifax, where all two to three hours away from each other. And you can hop on a train that will get you there in an hour. 200km/h trains. Very developed railway network. Probably inherited from Communist past.

6) Consistently, every coffee shop I went to, the coffee was excellent, and the pastries fresh. Puts Starbucks to shame. And Tim Hortons makes me want to cry. I only had better coffee in Hawaii. But for whatever reason at home there, people still drink folgers crystals.

7) Lots of students everywhere. I learned since coming back, something like 30% of Polish people have Masters degrees. Highest rate in the world.

8) Much better built and often larger housing. So many 50+ year old small wood shacks still left over here in Canada. You pretty much have to be a multi millionaire here in Canada to build a house in the same way as they build them there.

9) Still very affordable to Travel, and a pretty high standard of hotels/food/ accommodations ... you can get for about half price. If/when Poland switched to Euro, things will probably double or triple.

10) Very active restaurant / social life. Granted I've only been to Large cities.

<comment><USER9> Speaking of Ukraine, make sure to visit Lwów (Lviv), the city of coffee. I have especially fond memories of an Armenian coffee shop in the old city. They brew coffee using hot sand.

The higher education system is about quantity, not quality. There are no more good craft schools and there's a deficit of craftsmen like builders, electricians, metal workers etc especially since the good ones tend to leave the country. Case in point: you won't find a Polish university in the global top 300.

<comment><USER28> Except Warsaw and Wrocław university are usually top 10 in worldwide CS contests.

<comment><USER9> Name half a programming library that originated in Poland. Much less a programming language.

</comment></comment></comment></comment><comment><USER29> I have travelled extensively in Latin America and Africa.

The vast majority of developing and undeveloped countries don't recycle - which is the worst thing you should be doing - they reuse.

Beer and soda bottles have a deposit that is higher than the liquid in them, and everyone returns the bottles like clockwork. If you want to buy a 24 pack the first one is expensive, then you just bring back the empties and pick up a full one, so it's like a permanent rolling deposit.

Developed countries not doing this is shameful. We are supposed to be the world leaders, but we're just leading the world in using stuff up. We have so much to learn.

<comment><USER30> > Developed countries not doing this is shameful.

I'd like to establish a variant of Chesterton's fence - something like 'You don't get to get morally outraged about something without understanding "why".'

Why are developed countries not doing it? My guess would be cost, so why is a "wasteful" practice cheaper? Is it something else than externalities that aren't properly represented in the cost, or is the morally odious thing possibly more efficient, or is it something else?

Without that answer, it's hard to suggest meaningful action: If it's the externalities, we need to make them part of the cost. If it's actually more efficient this way, we need to stop demanding to make it worse. And if it's something else, then we need to figure out what it is and whether/how to address it.

But right now, it seems like random things are picked based on looks/feelings, pointed at, and demanded to change (usually to something that was done in the past and is no longer done).

<comment><USER31> Not cost. Profits!

Externalizing these is so much cheaper to the companies involved that they do it that way. Setting up a bottle recycling plant is expensive, and that cost is not passed on to the consumer but absorbed by the company. So the profits go down.

<comment><USER32> Here is an interesting and recent article which captures some of that motive: [https://theintercept.com/2019/10/18/coca-cola-recycling- plas...](https://theintercept.com/2019/10/18/coca-cola-recycling-plastics- pollution/). The truth is, that these businesses which externalize the costs are also huge interests in the areas where they are prevalent. Coke is synonymous with Georgia, so it is unlikely they will ever have a bottle deposit there. So is Waste Management (NYSE:WM) . Regarding externalities, many people believe that generating disposable things as a practice is fundamentally externalizing costs.

</comment></comment></comment></comment><comment><USER33> Can't help but feel heartbroken for the kids in the photo at the top of that article.

<comment> yoz-y Why?

<comment><USER23> Because the same year later (September 1939), Germans invaded Poland and II World War started.

</comment></comment></comment><comment><USER34> Am I the only one to whom the third and the fourth boys in the bottom row seem kind of weird? Like if they were much older than they're supposed to be. Is this normal for Polish kids or is this some malnutrition-induced sickness?

</comment><comment><USER35> Now imagine if all the countries would not produce unnecessary waste... We have some serious problems when it comes to consumerism and excessive waste. We need to become more self aware about the environment we live in and contribute more, in a positive way, in our communities.

</comment><comment><USER36> Other cultures with experience regarding [re|up]cycling:

\- Cuba

\- Damn I forgot :)</comment>


Show HN: Sukhoi – A flexible and extensible Webcrawler in Python - <AUTHOR> https://github.com/iogf/sukhoi <comment><USER2> Name seems to reference a prominent Russian aerospace engineer or maybe that's just wishful thinking. [https://en.wikipedia.org/wiki/Pavel_Sukhoi](https://en.wikipedia.org/wiki/Pavel_Sukhoi)

<comment><USER3> Also it literally means "dry".

</comment></comment><comment><USER4> Interesting timing! I just started using Scrapy today for a project, and I'm trying to figure out how to elegantly piece together information from different sources. I'm glad to see that that problem is the focus of your README example.

</comment><comment><USER5> How useful are scrapers that don't execute Javascript these days? I find Selenium + PhantomJS (now Chrome Headless I guess) is pretty easy to drive from Python, and it works everywhere because it's a real browser.

<comment><USER6> Phantom still gets blocked, as it reveals itself in the header.

I've had success with a headless Chrome instance in a virtual display (xvfb) driven with Selenium, backed by Postgres. It's as close you can get to scripting a real browser.

<comment><USER7> You can set the user-agent with Phantom

        var webPage = require('webpage');
        var page = webPage.create();
        page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36';

[http://phantomjs.org/api/webpage/property/settings.html](http://phantomjs.org/api/webpage/property/settings.html)

<comment><USER6> While that's true, user-agent isn't the only thing in the header that reveals PhantomJS[0].

You could take the time to build in spoofs for these issues. But for testing (and scraping), you're going to be better off if your headless browser is the same as your GUI browser.

0: [https://blog.shapesecurity.com/2015/01/22/detecting- phantomj...](https://blog.shapesecurity.com/2015/01/22/detecting-phantomjs- based-visitors/)

</comment></comment></comment></comment><comment><USER8> Pretty cool project. It looks more enjoyable to use than BeautifulSoup.

How does it approach throttling or rate limiting? I didn't see this mentioned in the readme examples. Would be nice if there were some simple config to kick requests back into a queue to be re-run once limits aren't exhausted.

Minimal support for caching / ETag / etc would be a nice addition.

<comment><AUTHOR> The throtting can be set directly from untwisted reactor(planning to implement soon once i get untwisted on py3). I think the support for caching is really good too, i plan to implement it this week.

<comment><USER8> Awesome. It looks like you're reusing your own dependencies which is cool. Can you explain how untwisted relates to twisted a little more? I read the repo readme, but not sure I'm following.

<comment><AUTHOR> Untwised is meant to solve all problems twisted solves but it does it in quite a different way. They are two different tools that would solve the same problems using different approaches. Untwisted doesnt share code nor architecture with twisted. In untwisted, sockets are abstracted as event machines, they are sort of "super sockets" that can dispatch events. You map handles to Spin instances, these handles are mapped upon events, when these events occurs then your handles get called. The handles can spawn events inside the Spin instances, in this way you can better abstract all kind of internet protocols consequently achieving a better level of modularity and extensibility. That is one of the reasons that sukhoi's code is sort of short, it is due to the underlying framework in which it was written on.

<comment><USER9> I'm not able to figure out dependencies.. is this pure python ? Or are you using one of gevent, libev, uvloop, etc.

Since it is py2, i suppose asyncio is out of the picture

<comment><AUTHOR> untwisted is pure python. it uses either select/epoll for scaling sockets.

<comment><USER9> This is very interesting. did you consider using libev/uvloop - which are generally consider battle tested async frameworks ?

Is there anything missing that prompted you to reimplement ?

<comment><AUTHOR> It seems a good thing to do, indeed. i'll consider that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Depending on your needs, sometimes it might be more interesting starting for there :

[https://about.commonsearch.org/](https://about.commonsearch.org/)

and then scrap whatever is missing or not fresh enough. The scrapping process can be quite intense on servers.

</comment><comment><USER11> Is this Python 3 compatible? Searched but the wiki is empty and the readme has examples in Python 2.

<comment><AUTHOR> It is py2 now, however, i'm gonna port it to py3 soon. I'm planning to write some better docs for it tomorrow.

<comment><USER11> That's great. Ill check it out. Thanks!

</comment></comment></comment><comment><USER12> How does this differ from Scrapy?

<comment><AUTHOR> Try to imagine how to solve the second example of the sukhoi README.md using scrapy, you'll notice you'll end up with some kind of obscure logic to achieve that json structure thats outputed by the second example in sukhoi's README.md.

<comment><USER13> FWIW I don't believe this would be overly convoluted in scrapy. I'd probably scrape the tags and quotes in one pass...

Also, generator expressions would make the examples more readable IMO.

      self.extend((tag, QuoteMiner(self.geturl(href))) for tag, href in self.acc)

<comment><AUTHOR> I would like to see that in scrapy. I think you may have a point about the generators, yea.</comment></comment></comment></comment>


Quaternions and Reflections (1946) [pdf] - <AUTHOR> http://www.math.utah.edu/~ptrapa/math-library/coxeter/Coxeter-Quaternions-and-reflections-AMM-1946.pdf <comment><USER2> Where is Adam Nemecek? ([https://news.ycombinator.com/user?id=adamnemecek](https://news.ycombinator.com/user?id=adamnemecek))

/press Quaternion Alert button

<comment><AUTHOR> > Location: Los Angeles, Prague

It's still a bit early if he's in LA, particularly as it's Sunday.

<comment><USER2> True dat. Alright, well, I'll help him out with his obligatory link:

[http://www.chinedufn.com/dual-quaternion-shader- explained/](http://www.chinedufn.com/dual-quaternion-shader-explained/)

<comment><AUTHOR> Interesting stuff. Maybe there is a connection with the use of quaternion pairs to represent rotations in 4-space (as in the Coxeter paper).

<comment><USER3> Using quaternion pairs for 4-space rotations relies on the simple fact that each quaternion represents a hyperplane in 4-space ([https://en.wikipedia.org/wiki/Transformation_geometry](https://en.wikipedia.org/wiki/Transformation_geometry)). Using single quaternions to represent rotations in 3-space is geometrically a different mechanism, which AFAIK doesn't have such a simple geometrical explanation.

</comment></comment></comment></comment></comment><comment><AUTHOR> I forgot to add (1945) to the title, apologies.</comment>


D3js Tree of Wittgenstein's Tractatus - <AUTHOR> https://pbellon.github.io/tractatus-tree/#/ <comment><AUTHOR> Reading all these other examples, feels like Tractatus would be a useful example tool for teaching graphs and RDF. This person's example on github was my favorite of the ones I found, as I was going to implement it like this myself, then had the sense to look it up and see if anyone else had.

Some time ago I posted about using these trees for expressing complex ontologies in a way that you can absorb them quickly, Tractatus is a great example of something impenetrable but consistent that could be used as a test for the quality and usability of a teaching ontology scheme.

His hierarchical format preceded modern software, but I wonder what his opinion might have been on tabs v. spaces. :)

Given it's a treegraph of axioms and rules, I'd wonder if there is an isomorphic or homomorphic graph that could form a syntax tree for a domain specific language or the basis of a reasoner or even a classifier. It's as if the Ted Chiang story writes itself.

</comment><comment><USER2> Another D3 visualization of the Tractatus and also includes the earlier Prototractatus as well.

[http://tractatus.lib.uiowa.edu/map/](http://tractatus.lib.uiowa.edu/map/)

<comment><USER3> Thanks, this is closer to what I was expecting. Maybe I can finally understand Wittgenstein by using this tree diagram as scaffolding...

</comment></comment><comment><USER4> Similar in old-school DHTML, German only:

[https://www.masswerk.at/WebTLP/pages/map1.html](https://www.masswerk.at/WebTLP/pages/map1.html)

Normal text view: [https://www.masswerk.at/WebTLP/](https://www.masswerk.at/WebTLP/)

</comment><comment><USER5> Another format that I find instructive:

[http://tractatus- online.appspot.com/Tractatus/jonathan/index...](http://tractatus- online.appspot.com/Tractatus/jonathan/index.html)

</comment><comment><USER6> Also check

[http://tractatus.gitlab.io/](http://tractatus.gitlab.io/)

[https://gitlab.com/tractatus/tractatus.gitlab.io](https://gitlab.com/tractatus/tractatus.gitlab.io)

[https://www.clarin-d.de/images/lt4dh/pdf/LT4DH10.pdf](https://www.clarin-d.de/images/lt4dh/pdf/LT4DH10.pdf)

</comment><comment><USER7> Great idea, but it would work much better as an educational tool if the text was also presented, with text highlighted to show the conceptual connections.

</comment><comment><USER8> Michele Pasin's PhiloSurfical web app did a visualization of the Tractatus in the early 2000s, using Common Lisp and Javascript. The app is revived here [1]. There is also code [2] and a writeup [3].

1\. [http://philosurfical.open.ac.uk/tractatus/tabs.html](http://philosurfical.open.ac.uk/tractatus/tabs.html)

2\. [https://github.com/lambdamusic/PhiloSurfical](https://github.com/lambdamusic/PhiloSurfical)

3\. [http://wittgensteinrepository.org/agora- ontos/article/view/2...](http://wittgensteinrepository.org/agora- ontos/article/view/2076)

I recall the original version could show the text in the original German or a choice of English translations, but I can't find that in this revived version.

</comment><comment><USER9> If you're just looking for the original text, then acabal did a high quality epub (with MathMLed equations) at [https://standardebooks.org/ebooks/ludwig- wittgenstein/tracta...](https://standardebooks.org/ebooks/ludwig- wittgenstein/tractatus-logico-philosophicus/c-k-ogden)

</comment><comment><USER10> [https://en.wikipedia.org/wiki/Outline_of_Roget%27s_Thesaurus](https://en.wikipedia.org/wiki/Outline_of_Roget%27s_Thesaurus) might be of interest

</comment><comment><USER8> "Analyzing the structure of the Tractatus, we found a style of outline with useful properties that is not supported by modern outliners." [1]

1\. [https://leahneukirchen.org/trivium/2008-12-06](https://leahneukirchen.org/trivium/2008-12-06)

</comment><comment><USER11> Useful for family trees!

<comment><USER12> * Unless consanguineal

</comment></comment><comment><USER13> That's cool. It'd be easier to use if in addition to the mouse enter and the arrow keys were handled. That tree gets kind of deep.</comment>


Libinput's bus factor is 1 (2019) - <AUTHOR> https://who-t.blogspot.com/2019/10/libinputs-bus-factor-is-1.html <comment><USER2> I said it before, will say it again:

this should be a problem of Red Hat management. I'm sure they are very much aware Hutterer is overwhelmed (what with blog posts, talks even, and all), but they won't hire anyone to work with him.

In that blog post, there's a call to share the load but do it as free labor:

"Anyway, I'm largely writing this blog post in the hope that someone gets motivated enough to dive into this. Right now, if you get 50 patches into libinput you get the coveted second-from-the-top spot, with all the fame and fortune that entails (i.e. little to none, but hey, underdogs are big in popular culture)."

I believe if that position came with a Red Hat paycheck, finding a #2 wouldn't be such a problem.

<comment><USER3> I work for Red Hat but not on that stuff and I'm not commenting as a RH employee (and have zero insight into how that area of the company works).

Red Hat doesn't make much if any money on desktop, yet as you mentioned RH does employ people to work on it. It's already largely a charitable service to the community. As much as I do wish they'd hire more people and make the touchpad amazing, it seems a little entitled to criticize them for not digging even deeper into the charity pockets.

<comment><USER4> First, I agree with you. Redhat has no obligations here, and if they did increase their "charity" contibutions there are several areas that could use help. That said, it's not charity. They have an interest in keeping the desktop useful for developers who also do some free work for them. I would also argue that making Linux a first-rate desktop operating system would be incredibly beneficial to Redhat/IBM. They also shouldn't be the only ones working toward that, so keeping it minimal might be a good way to get others to contribute - weather paid by someone or not.

<comment><USER3> You make some fair points. It's not pure charity since RH does receive indirect benefits from it, but I'd still say it's mostly charity. Maybe you have specifics in mind, but the "free work" I can think of (open source upstreams) is something that equally benefits RH competitors. It's more of a "rising tide lifts all boats" sort of thing. So while RH does receive some benefit from it, it still seems largely charitable to me.

<comment><USER4> RH doesnt really have competitors at the moment. None of comparable size anyway, and that's prior to IBM. Microsoft seems to be interested though.

Go big or go home?

</comment></comment></comment></comment></comment><comment><USER5> Related: The "linux touchpad like a macbook" discussions: [https://news.ycombinator.com/item?id=23235609](https://news.ycombinator.com/item?id=23235609)

[https://bill.harding.blog/2020/05/17/linux-touchpad- prelimin...](https://bill.harding.blog/2020/05/17/linux-touchpad-preliminary- project-funding-survey-results/)

[https://github.com/sponsors/gitclear](https://github.com/sponsors/gitclear)

<comment><USER6> I personally think it's the hardware. I've run Linux on a MacBook Air 11 Late 2012 from the day I purchased the machine and it feels identical to macOS.

Luckily, for those using desktops who still want to use a trackpad, the Magic Trackpad works really well out of the box too. And there are not many other options in the market.

I used to prefer trackballs from Logitech, but current models are nowhere as smooth as those from the 1990s and early 2000s.

<comment><USER7> I agree that's a very large part of it. I have booted Ubuntu on innumerable PCs and Macs while working in repairs, and touchpads vary hugely even when running the same software. The recentish "Precious Touchpad" standard Microsoft has for PCs tend to work better in my experience, even under Linux.

As a former Mac user, I can also recommend whatever is in the HP EliteBook I'm using now.

<comment><USER7> Clearly meant "Precision Touchpad" …

</comment></comment></comment></comment><comment><USER8> I guess the problem is that nobody is generating revenue in a meaningful way with desktop Linux.

Firms running Linux on servers can pay their employees to contribute to open source.

But a peripheral input driver? Ubuntu had a shot at being "Desktop Linux" but it didn't pan out.

Especially when remote desktop on Linux is not very good. (I've only used VNC and XRDP) not to mention a lot of extra packages.

<comment><USER9> > Especially when remote desktop on Linux is not very good. (I've only used > VNC and XRDP) not to mention a lot of extra packages.

You mean using linux to connect to remote PCs? What are the issues you are facing?

I've been happily using remmina (it does use something else for the actual RDP connection IIRC) on Ubuntu to connect to headless Windows box via RDP for CAD/ECAD work for the last year or so.

The windows box is in local gigabit network though.

<comment><USER8> Oh no the other way around.

Having a remote Linux box that I want to get a remote desktop into.

Remmina is really good, I agree.

<comment><USER10> Back then I simply used x forwarding from ssh. It felt snappy and native enough, assuming your bandwidth and latency is good enough.

</comment></comment></comment></comment><comment><USER11> I skimmed through the issues at [https://gitlab.freedesktop.org/libinput/libinput/-/issues](https://gitlab.freedesktop.org/libinput/libinput/-/issues)

I wondered how a single person can verify, fix and test issues related to touchpads on a number of different laptops. Either Hutterer has a room filled with hardware or the people opening the issues become testers of the fix.

I looked at the closed issues and it's probably the latter case. This means that there is an extra filter compared to the Linux projects I raised issues to: know about issue trackers, find the issue tracker, be able to test a fix.

On the software development side, this looks like a difficult project to keep running because the interactions with so many occasional testers.

<comment><USER12> Having worked with Peter, he indeed has a room full of laptops (Red Hat mails them to him every time they run into a customer issue!), but it's still a lot of work to test all of them and new laptop models get cranked out every day. It's a very difficult task for a single person.

</comment></comment><comment><USER13> It has happened twice during my career that a colleague got actually, literally hit by a bus.

Both of them were back at work after a week, one of them had problems with their arm for a while longer but this risk is way overblown.

<comment><USER14> It's a metaphor to illustrate than someone can suddenly disappear. It can be a bus, a plane crash, a murder, jail time. It happens once a while.

<comment><USER15> We have been instructed to use the phrase "lottery factor" during our cynical rants. Everyone feels much better. I guess it's because of the "if I won the $70 million jackpot I'd just come back to work" meme.

I'd buy a bus with my winnings and put the lottery factor into effect for my former coworkers.

<comment><USER16> The problem with the "lottery factor" is that if someone wins the lottery, you can still theoretically go to their new mansion with a wrench and beat the information out of them.

</comment></comment></comment></comment><comment><USER17> I've found that this article was really illuminating with respect to some of the issues around `libinput`: [https://lwn.net/Articles/801767/](https://lwn.net/Articles/801767/)

<comment><USER18> When I read about this stuff a part of me says "why does this stuff keep getting rewritten?" I was using Xorg years and years ago and never had any kind of input issues.

Example from the lwn article:

> The xf86-input-evdev driver is in maintenance mode at this point. The last > commit was in May 2018 and, since the 2.10.0 release four years ago, there > have been a total of 19 commits.

Maybe that's actually a sign that it's good enough and doesn't need major adjustments? But here it is presented as if it is a problem.

<comment><USER19> It's probably fine for keyboards and regular mice, but touchpads are... well... touchy. I've never had reliable palm rejection on a touchpad under Linux. The situation with kinetic scrolling is ridiculous (to be fair, Hutterer has decided that sort of thing doesn't go in libinput, because it doesn't have enough context to implement it properly, which I agree with). Drag-and-drop on a touchpad has poor UX, and god forbid you need to drag with multiple fingers. Even two-finger and three-finger click (right and middle click, respectively) are unreliable at times.

I say this not to criticize, but only to point out that the driver is not "done". I am _incredibly_ impressed with Peter Hutterer's skills that things work as well as they do, given that he's essentially the only person working on it. It could use more eyes and hands.

<comment><USER20> You seem to be in agreement that keyboards and mice driver is, indeed, done.

<comment><USER19> Yes, that's... what I said. But xf86-input-evdev also handles touchpads. xf86-input-synaptics, the other driver mentioned by TFA that is either unmaintained, or done, depending on your point of view, is definitely for touchpads. They're certainly not "done" when it comes to touchpads.

<comment><USER21> Perhaps the solution should have been to split the touchpad specific bits and focus on that and leave the keyboard and input code alone instead of wasting time to rewrite code that works? It sounds like they made their life harder for no reason.

</comment></comment></comment></comment></comment></comment><comment><USER22> Ok, now I see why there is so less (or basically none) progress on my feature request of having mouse wheel acceleration (since 2010, even with a patch, [https://bugs.freedesktop.org/show_bug.cgi?id=29905](https://bugs.freedesktop.org/show_bug.cgi?id=29905) and [https://gitlab.freedesktop.org/xorg/xserver/issues/405](https://gitlab.freedesktop.org/xorg/xserver/issues/405) and [https://gitlab.freedesktop.org/libinput/libinput/-/issues/7](https://gitlab.freedesktop.org/libinput/libinput/-/issues/7)).

</comment><comment><USER23> this fits my theory that the average bus factor is ~1:

[https://anarc.at/blog/2019-10-16-bus- factor/](https://anarc.at/blog/2019-10-16-bus-factor/)

Cynics have also suggested the average is closer to zero, but I still have hope that we at least need buses for a catastrophe to happen. ;)

<comment><USER24> > Lobby governments and research institutions to sponsor only free software > projects.

Good idea!

</comment></comment><comment><USER25> It's too bad that such important pieces of the Linux desktop are so underfunded and neglected, though I can understand there just isn't enough revenue for even Redhat, Suse, etc. to justify hiring more developers.

But with all these little issues that cause problems for individual users on all the different scrollpads and touchpads and other non-standard hardware, nobody knows the true harm it may cause and how many users decided to get a Mac or even Windows because some esoteric hardware they owned just wouldn't work, but could have been fixed with just a small patch had the developers been available. This will become even more true as WSL2 becomes a more viable alternative.

Personally, my 'jumpy' touchpad on a new Dell Latitude I'd purchased a few years ago was my final straw in using Linux for development work. It was nearly useless with several different distros without an external mouse, and after getting used to Macbook's touchpad, I just couldn't rationalize using Linux when the touchpad is something I use so much.

Fonts are another one of these issues that I think could be solved more easily than even a few years ago - several important patents have expired and Google and others donated very high quality fonts to the community. Unfortunately, there just isn't the amount of paid developers working to ensure that things look good out of the box on every monitor, and so fonts often look horrible, especially to new users who are coming from Mac and Windows, where the issue was solved by full time UI experts a decade ago.

<comment><USER26> If I may ask, why do you care about your touch pad? At least for me, it pains me to use a touchpad while knowing I could interface with the computer faster with a mouse.

BTW, the jumpiness is probably configurable, see [https://wiki.archlinux.org/index.php/Mouse_acceleration](https://wiki.archlinux.org/index.php/Mouse_acceleration)

For example (if you want to use X Windows), when I do

      xinput list

I get

      ...
      ⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]
      ...

and then I would do

      xinput list-props 15

and play with "Coordinate Transformation Matrix", or "libinput Accel Speed" for speed and acceleration.

</comment></comment><comment><USER27> Anyone know of a site that tracks bus factor for open source software projects? Would be useful in seeing where vulnerabilities are and where financial support is needed.

I suppose Github and other repositories would be an ideal place to do that since they already have visibility into commits.

</comment><comment><USER24> The bash shell is maintained by a single unpaid volunteer.

</comment><comment><USER28> That's good. So there is a high chance this project is high quality.

Also previous experience burned him, when he said yes way too often. What if Stroustrup would not have been that notorious yea sayer?

<comment><USER29> > What if Stroustrup would not have been that notorious yea sayer?

Perhaps we wouldn't have to deal with C++ in the first place? His tactics were part of what made the language popular.

<comment><USER28> Agreed. C# had for a short time higher momentum. C++ is okay, just the hodgepodge of weird and abnormal syntax decisions did long lasting harm. Got much better recently though.

<comment><USER29> Syntax isn't even the worst thing.

Eg they still import modules via (automated) copy-and-paste.

</comment></comment></comment></comment><comment><USER30> As I have asked a few coworkers, sometimes repeatedly, over the years:

Do you have a bus number of one because nobody cares, or because nobody cares enough to put up with the code (or worse, you).

You have to entice people in sometimes, and many of us are great at other things but terrible at this.

<comment><USER31> If nobody cared wouldn't it be zero?

<comment><USER30> I've gotten trapped taking over a project/tool that 'needed to be done' but nobody wanted to do it.

The worst one, my recommendation was to get rid of it and do something else. I worked on making it more approachable but it was slow going and thankless work, as the previous maintainer had tried to do (he swapped out a grammatically unsound DSL for a set of functions and macros in Python)

When I had succeeded in getting the bus number on my other responsibilities above 3, I left. And this is when one of my coworkers noticed that all but one former team member were associated with this code when they left, so maybe we should listen.

I think the takeaway from this is sometimes it's you, sometimes it's the situation, but unless _you_ change something, nothing will change. And even if you do change something, you can't always win. I strongly believe starting over is the last resort, but it _is_ a resort.</comment></comment></comment>


Ask HN: What are some of the most profitable open source companies? - <AUTHOR> <comment><USER2> Mozilla</comment>