1,160 karma · joined May 14, 2016
The question I have as a mere mortal user, who is not interested very much in theory and debates thereon, is what has the fastest performance?
If the proponents of post-snobol PEG/packrat were to publish a "parsing challenge" and let us replicate/create benchmarks of different parsers, including some written in snobol, I would find that very useful in determining whether these other parsers are worth a more serious look.
rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership (if it is running as root), and modification times. Finally, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted.
There is an elegant simplicity to rdiff, IMHO.
Strike that. Obviously computers were far more expensive in decades past and the prices have come down dramatically. What I meant is a first user with an older computer who is achieving better performance, e.g. lower latency, than a second user having the costs of acquiring the latest hardware and software (who discarded her older computers).
s/modern/recent/
"For example, an iMac G4 running macOS 9 or an Apple 2 both feel quicker than my 4.2 GHz Kaby Lake system."
Kaby Lake system running OSX? I have one of the last G4 that came with OS9. Based on intuition it would make audio applications "feel" slower, when OSX came out I did not "upgrade", despite the marketing at the time. I guess I am not the only one.
"It turns out the machines that feel quick are actually quick, much quicker than my modern computer - computers from the 70s and 80s commonly have keypress-to-screen-update latencies in the 30ms to 50ms range out of the box, whereas modern computers are usually in the 100ms to 200ms range."
"... where we are today, where can buy a system with the CPU that gives you the fastest single-threaded performance money can buy and get 6x the latency of a machine from the 70s."
Methinks when someone spends that kind of money on a system, they will never accept findings like these. They are not likely to respond "inquisitively" to someone who describes achieving better speeds with a "less powerful" system that costs a fraction of what they paid. More likely, they will try to discredit them.
"'The formation of the Mozilla Corporation gives the Mozilla Foundation new capabilities for becoming even more successful in delivering innovative open source end-user products," said Mitchell Baker, president of Mozilla Corporation. "The Mozilla Corporation is not a typical commercial entity. Rather, it is dedicated to the public benefit goal at the heart of the Mozilla project, which is to keep the Internet open and available to everyone.'
The broad adoption of Mozilla Firefox has created significant economic value both in Firefox itself and in a commercial ecosystem that is developing around Firefox."
http://www.mozilla.org/press/mozilla-2005-08-03.html
Is the delivery of "end-user products" not the source of revenues for the Corporation? What if all those products are delivered for free? Then where do the revenues come from?
Giving away free software while still producing significant revenues from commerce seems to resemble the other corporations that deliver web browsers and other free web software. Regarding those companies, it has been said that "Users are the product".
Note I am not implying anyone has done anything wrong. Each party is expected to pursue its own self-interest. Freedom of choice is a necessary component of an "Internet that is open and available to everyone".
These are just some facts that I believe could be relevant to users who are not interested in marketing user data or the advertising sales ecosystem.
Because it originates with the user, the user could refuse to grant it or revoke it.
The question for Mozilla is who are they accountable to?
These are not open source volunteers.
Mozilla can claim it is not a "for-profit" but its contributors are well-compensated, with salaries comparable to people working at the for-profit companies releasing web browsers. (Google Chrome was started by former Mozilla developers.)
"We are proudly non-profit, non-corporate and non-compromised."
Question: What makes Mozilla any more trustworthy to users than the other companies releasing web browsers?
Question: Why should they care about users any more than those companies?
Annual salaries from 2015 (reportable compensation from IRS Form 990):
Mitchell Baker, Chair $977,382 + $45,530
Bob Lisborne, Director $92,000
Mark Surman, Exec. Dir./President $170,699 + $40,602
Jim Cook, Treasurer $934,526 + $45,530
Angela Plohman, Secretary/VP Operations $121,322 + $30,342
Christopher Lawrence, VP Learning $153,492 + $62,538
An-Me Chung, Dir. Partnerships 154,946 + $72,672
Daniel Sinker, Dir. Partnerships 123,630 + $64,215
Hiram Paul Johnson, Marketing Lead 126,605 + 54, 903
Andrea Wood, Online Organizing/Fundraising Lead $135,048 + $46,322
Samuel Dyson, Director Hive Chicago $114,860 + $63,549
https://static.mozilla.com/moco/en-US/pdf/2015_Mozilla_Found...Question: How much of this comes from donations and how much comes (indirectly) from sale of advertising (by "partners")?
They get about half of their total revenue ($12,429,238) from licensing royalties ($6,466,566) according to the 2015 filing.
Question: Are there really any incentives to serve users in ways that the companies releasing web browsers do not? Users want the tracking to stop. Would Mozilla have disincentives to help users in this regard?
There is no "corruption" being implied by the above. It is legal to pay high salaries and not pay taxes.
"Not blindly loading elements works just fine
Posted Oct 12, 2017 17:18 UTC (Thu) by david.a.wheeler (subscriber, #72896) [Link]
> All of them. The way this generally works is that there's a unique, invisible, element in the email, like a 1x1 pixel image. When that image is requested, the server marks that the email has been read. Since most email clients blindly load all HTML elements this works. Even for the more careful clients that don't load elements from remote servers by default and ask the user to click a "load full message" (k-9 mail on android does this), most HTML mail is unreadable without those remote assets because the layout is completely broken.
I don't load elements from remote servers by default, and practically never have problems with desirable email. In my experience, email that's broken without remote loading is practically always spam.
> This is even harder for mail client's that have to rely on a third-party rendering engine for HTML mail, since they don't necessarily have the hooks into the renderer to tell it not to load remote content.
At least some third parties DO support this functionality."
I use a non-major, non-modern "web browser" that does not load elements from remote servers, and I practically never have problems with desirable content.
The "blind loading" problem extends to web browsers in addition to email.
In fact, email clients took the idea of tracking from web browsers and applied it to HTML email.
It may be possible to disable autoloading of images such as 1x1 pixels but unfortunately the "major" aka "modern" browsers do not allow users to disable all blind loading, e.g., malicious .js files.
For example, the recent Equifax incident involved blind loading of an undesirable .js file.
This "blind loading" is the foundation of tracking and web ads, not just spam.
It seems the more the more "major" a browser is considered, the more people refer to it as "modern", the better the browser works for tracking. Strange coincidence I guess.
I like that they allow FASM.
And that there is no "standard library".
"In practical terms, it is actually possible to take all of the images and data from every website the average person visits in a lifetime, compress them, and fit them onto a single 2-terabyte (TB) hard drive inside a computer."
These are among the many "unspoken truths" of the web, viz. that right now on your person or nearby you have enough storage space to hold every bit of information you will ever need in your lifetime.
I would like to see the statistics.
Obviously, companies like Google are not going to embrace truths like these.
When a user can search a database of downloaded data ("data dump") locally, even without a connection, how would a search engine track the user's queries?
Right now, public information, from academic research to user-generated content, is being hoarded by a few companies and used to collect information about those who wish to access it, which is then used to sell ads.
This is a relatively recent phenomenon and is not necessary.
This is supposed to be the Information Age. We can all access public information in large quantities at high speeds without constant monitoring in the name of pillaging advertising budgets.
While it may not be possible to save every piece of information one needs in advance, certainly much of the piecemeal access to static data that we do today could be averted. (Personally I have been doing this with DNS data for many years, but this is only the tip of the iceberg.)
Why is piecemeal access something anyone would want to avert? Matters of cost, reliablity and inefficiency aside, it is piecemeal access, one query at a time, each and every one traveling over a insecure network, logged and analyzed 24/7 by myriad third parties all desperate for cash, that gives rise to memes like "You are the product".
It is the gratuitous use of an insecure, invasively monitored network to query information which could be stored locally that is the root cause for many of the complaints that internet users have today. This type of use enables the practices by third parties that users complain about.
I think that is a reasonable decision.
What would be the most effective way to protect against this vulnerability?
1. Ask the authors of the major browser you use to please change their software to your benefit instead of the advertisers who pay millions every quarter and finance the authors' salary.
Right now, all major browsers load scripts automatically. No user input required.
What gets loaded is determined by the website, not the user.
2. Turn off Javascript.
3. Use a browser that does not load scripts automatically.
Or use one program to retrieve the stuff you want from the web, e.g., an http client, and another program or programs to read/view/play it, offline. Only the http client needs an internet conection.
4. Stop using the web. (Not meant to be flippant.) The web is but one part of the internet. Alas, it has been largely "taken over" by the lure of the sale of personal information about consumers and advertising.
Look for existing or new internet protocols that do not use the web but which can provide the same things that the web does.
The software to access these protocols does not have to be written by organizations with interests in data collection and advertising.
It may be possible to have a segment of the network that is noncommercial. Free from ad delivery.
while[1;`0:"yes\n"]"1. What is TC - this `trusted computing' business?
The Trusted Computing Group (TCG) is an alliance of Microsoft, Intel, IBM, HP and AMD which promotes a standard for a `more secure' PC. Their definition of `security' is controversial; machines built according to their specification will be more trustworthy from the point of view of software vendors and the content industry, but will be less trustworthy from the point of view of their owners. In effect, the TCG specification will transfer the ultimate control of your PC from you to whoever wrote the software it happens to be running. (Yes, even more so than at present.)"
I have not seen it mentioned on HN before.
Have I missed the discussion?
It is called ELI.
I find it very sad that bloggers and commenters who are presumably employed as software engineers are continuing to discount the value of these languages simply because someone finds them incomprehensible. Failure of someone to comprehend is not the fault of the language. Persons having no prior knowledge of programming do not make complaints about APL versus more verbose languages. It is all the same to them, all incomprehensible in the beginning. To learn, work is required. And generally, more volume means more to learn. More work.
Gratuitous complexity builds over time. (And there is no subject area where I have seen such gratuitous complexity as with computers.)
I have always thought this was because either authors assume knowledge of the earlier papers and/or they have become "too familiar" with the concepts, but I could be wrong. In the later case, perhaps an analogy would be a singer who has to perform the same song thousands of times. When an artist sings it for the 999th time it may sound different and maybe there is assumption everyone has heard it before.
Whatever the reason, it is common to see the fundamental concepts either glossed over or not even mentioned in recent papers.
The exception to this, for me, where subsequent papers are helpful, is when they succinctly summarise prior research or track a subject area over time, e.g., annual reviews.
Anyway, when I am searching for older papers, it often feels "counterintuitive" since I see many people studying an area for the first time who want only the latest research. Perhaps an analogy here could be software. There seems to be a fascination on HN with software that is "new" and being changed on a daily basis versus software that is finished and has been in use for a long time.
A related idea is university textbooks. Many students believe they must have the latest editions, for a variety of reasons. However the changes from one edition to the next may be relatively small and easily summarized. IME, sometimes a topic may be more clearly explained in earlier editions. Reading the earlier edition's treatment of a topic followed by the later edition's treatment is sometimes illuminating in ways that reading only the latest edition is not.
In summary, I find it easier to read the old, 1-3 page paper that lucidly discloses an original concept and then build understanding from there, reading subsequent research, than to read something written, e.g., this year and assume that old research, by virtue of it date, is just a minor detail and no longer important.
I do not believe the argument that these changes are undertaken out of concern to protect users, whether it is made with respect to "features" of Intel chips (including Intel SGX), corporate-controlled OS, advertising-supported browsers, etc.
It is difficult to prove such organizations are deliberately trying to make things more difficult for users to control, unless of course employees inside these organizations speak out. The organizations can always provide alternate reasons for doing what they are doing.
However I recall reading of a comment made by Gates in the 1990's, at a time when he wanted Windows installed on every PC sold, that he did not like the idea of users potentially changing BIOS settings. I can only guess as to why, but it is curious to me that we are left with certain strange historical artifacts such as Windows always needing to be installed in the first partition. Other OS do not have this requirement.
While that sort of deliberate subterfuge may be difficult to prove, I think it would be easier to argue these organizations believe (or pretend to believe) that users are "incapable" in ways that have no basis in fact.
You, dear user, are incapable of controlling your computer. We, benevolent organization, can help. Just sit back and we will take care of everything.
"A PushSubscription contains all the information we need to send a push emssage[sic] to that user. You can "kind of" think of this as an ID for that user's device."
"A push service receives a network request, validates it and delivers a push message to the appropriate browser. If the browser is offline, the message is queued until the the browser comes online."
"Each browser can use any push service they want, it's something developers have no control over. This isn't a problem because every push service expects the same API call. Meaning you don't have to care who the push service is. You just need to make sure that your API call is valid."
"The data you send with a push message must be encrypted. The reason for this is that it prevents push services, who could be anyone, from being able to view the data sent with the push message. This is important given that it's the browser [not the user] who decides which push service to use, which could open the door to browsers using a push service that isn't safe or secure."
"When you trigger a push message, the push service will receive the API call and queue the message. This message will remain queued until the user's device comes online and the push service can deliver the messages. The instructions you can give to the push service define how the push message is queued."
"When the push service does deliver a message, the browser will receive the message, decrypt any data and dispatch a push event in your service worker. A service worker is a "special" JavaScript file. The browser can execute this JavaScript without your page being open. It can even execute this JavaScript when the browser is closed. A service worker also has API's, like push, that aren't available in the web page (i.e. API's that aren't available out of a service worker script)."
Hard to imagine how anyone could forsee that such a "feature" could be abused.
If interested in reading about the aversion to web ads and concern over privacy in the 1990's and early 2000's, check out IJB's old website. It is loaded with information. The IJB code is still around in at least a few places. While I prefer local DNS and local SSL-enabled proxies to filter ads, believe it or not ijb, as old as it is, still compiles and runs.
To quickly get the list of urls from archive.org, something like:
curl -o ijb.urls https://web.archive.org/cdx/search/cdx?url=www.junkbuster.org\&fl=timestamp,original
exec sed '
/^[12][0-9]* h/!d;
/^[12][0-9]* h/{
s/^/http:\/\/web.archive.org\/web\//;
s/ /\//;
#^M is "\r"
s/^M//g;
}' ijb.urlsHow is he sure that they had no knowledge?
What if they knew but were just waiting for someone with a blog or a Twitter account to make the "discovery"?
In any event, none of this would have happened if email addresses had not been collected.
There is no need to collect email addresses in order to allow internet users to post comments. Requiring email addresses serves no benefit to the user. It is just more gratuitous data collection. Data which eventually becomes the subject of yet another "data breach blog" entry.
"You can be software 'secure' but firmware vulnerable."
"The release QA on the FirmwareUpdate bundles is concerning."
https://duo.com/assets/ebooks/Duo-Labs-The-Apple-of-Your-EFI...
"The advent of UEFI brought with it a far more 'modern' pre-boot environment and 'finally' put an end to the many years of legacy workarounds that had to be applied to the aging IBM BIOS 'standard', providing a common, uniform and higher-level platform to 'innovate' on."
"However, that uniformity and accessibility also opened the door to far more generic and useful pre-boot environment attack opportunities."
The simple question that I never see addressed in any of these discussions of the ad revenue model is whether the websites or the software could earn revenue without using this model.
If not, then what does that say about the inherent value of the websites or software? No one would pay for it? (Who believes that?)
It appears to me that in recent years the value has been in acquiring an "audience" which can be bought or sold as a "product" (or perhaps access to the audience as a "service"). This is the ad revenue model. As such, in an increasing number of cases, the product of web or software development, i.e. software itself, is not sold (but is made available for "free" or a nominal cost). Instead, audiences are sold.
The result is an overabundance of websites and software that (from a commercial perspective) serve no other purpose than to try to construct audiences. Including databases of personal information.
Other goals of website or software development are consequently neglected.
The thought I keep having is that developing websites and software solely to acquire audiences in some way presumes web and software development is "worthless" except for this limited purpose.
Some VC once said "Software is eating the world" and it became a meme. What if the media business is eating the world of software? When software developers are focused only on ad sales or publicity, the software industry begins to resemble the media business. (Has software been subsumed by media?) Ad sales becomes the lifeline. And like the media, software developers will do or say anything to sell ads. Anything.
(I am presuming there is a reason bitcoin was originally designed as peer-to-peer and not client-server i.e. it was not an arbitrary decision.)
The silver lining of the bitcoin movement, if there is one, could be that it provides internet users with reasons to want the network to reliably operate peer-to-peer. Not to mention reasons to want to understand and use asymmetric cryptography.
(Bias disclosure: For many years I've been compiling own kernels with embedded filesystem and minimal utilties and then running from removable media, even on the PC, so RPi was easy transition. Further I stopped using disk or swap years ago, even on PC, again making RPi transition painless. Finally, I am more interested in non-graphical tasks so I can live without the use of a GPU.)
The greatest value to me of the RPi is the ability to run a variety of OS. One can readily find other boards that are better than RPi in many ways, but in each case running the variety OS that using a RPi allows for is not as easy, if it is even possible. Despite the disadvantage of RPi's closed bootloader and GPU, the flexibility to run a variety of OS is great advantage over many alternatives, for me.
The way I think about it, user freedom in choosing an OS is actually constrained by "too much choice" in hardware. I reason that this is because it is difficult for OS projects other than Linux to timely add support for each and every different item of hardware coming off the assembly line in each new year. Whereas with the RPi, the "moving target" of hardware support moves less. This IMO opens up possibilities for more OS projects to add support for RPi hardware.
Whether this is the reason a variety of OS are suppported on the RPi I do not know. But I am glad that this variety exists.
Of course, any examples in Lua of different approaches to UNIX directory listing via HTTP are appreciated. Still a Lua noob.
# add to end
\
|exec tr '\15' '\12' \
|exec awk 'NR==1{a=$0}NR==3{b=$0}NR==5{print}NR>=6{print "\42"a"\42,"b","$0}'
# update CSV header line
\"sitetitle\",\"url\",\"pageID\",\"pagetitle1\",\"pagetitle2\",\"jsonurl\"/;};
Probably would be better to change "jsonurl" to "jsonfile" and just save the filename. The location (URL) of this file may be in several locations or it may change over time.