A high tech solution for monitoring blood sugar sounds good especially for type 1 diabetics -- but for most people with type 2 it would be better to just reverse the disease entirely.
Mod parent insightful. Picking software based on the number of SO questions is a bit like picking a car based on the greatest number of consumer complaints about a car manufacturer to the Better Business Bureau.
http://www.pdfernhout.net/reco... "Military robots like drones are ironic because they are created essentially to force humans to work like robots in an industrialized social order. Why not just create industrial robots to do the work instead?
Nuclear weapons are ironic because they are about using space age systems to fight over oil and land. Why not just use advanced materials as found in nuclear missiles to make renewable energy sources (like windmills or solar panels) to replace oil, or why not use rocketry to move into space by building space habitats for more land?
Biological weapons like genetically-engineered plagues are ironic because they are about using advanced life-altering biotechnology to fight over which old-fashioned humans get to occupy the planet. Why not just use advanced biotech to let people pick their skin color, or to create living arkologies and agricultural abundance for everyone everywhere?
These militaristic socio-economic ironies would be hilarious if they were not so deadly serious.... Likewise, even United States three-letter agencies like the NSA and the CIA, as well as their foreign counterparts, are becoming ironic institutions in many ways. Despite probably having more computing power per square foot than any other place in the world, they seem not to have thought much about the implications of all that computer power and organized information to transform the world into a place of abundance for all. Cheap computing makes possible just about cheap everything else, as does the ability to make better designs through shared computing....
There is a fundamental mismatch between 21st century reality and 20th century security thinking. Those "security" agencies are using those tools of abundance, cooperation, and sharing mainly from a mindset of scarcity, competition, and secrecy. Given the power of 21st century technology as an amplifier (including as weapons of mass destruction), a scarcity-based approach to using such technology ultimately is just making us all insecure. Such powerful technologies of abundance, designed, organized, and used from a mindset of scarcity could well ironically doom us all whether through military robots, nukes, plagues, propaganda, or whatever else... Or alternatively, as Bucky Fuller and others have suggested, we could use such technologies to build a world that is abundant and secure for all...."
Melinda Varian wrote up the IBM VM community part of that history, with IBM mainframes going from available source for all IBM mainframe users to "object code only" in 1983: http://www.leeandmelindavarian... "On February 8, 1983, a few days after the announcement of VM/SP Release 3, IBM announced the Object Code Only (OCO) policy. Much of the heart went out of the VM community on that day. In the years that followed, IBM and its customers lost opportunity after opportunity because of that unfortunate decision."
I met IBMers still angry about the foolish management decision about fifteen years later when working at IBM Research. They were some of the people supportive of an increasing interest in FOSS at IBM.
It's usually a best practice in corporate settings to have a well-defined long-lived data model in a database and then create views on it as needed. Applications then work from the views and might use a short-lived application-specific data model. For JavaScript apps, you might create JSON APIs connecting to the views.
Somewhere in the social process of dividing up responsibility and labor is some negotiation between what issues are best solved by convenient views on the database versus best solved by specific applications using existing views and transforming data locally. Hard for anyone to comment precisely on such negotiations between client-side and server-side developers or how fair they are without knowing all the details.
Some related ideas in case they help:
I have never tried this (and unfortunately it is in PHP), but you might find restifydb of interest for some inspiration about bridging that gap: https://restifydb.com/
I've also never used this, but it or something similar might be of interest for generating JavaScript models from a JSON schema ( http://json-schema.org/ ) to help bridge that client-server gap: https://github.com/geraintluff...
By contrast, when I am writing independent stuff intended for individuals and small groups at the small scale (or alternatively maybe everybody on the planet at the large scale), I tend to focus on NoSQL-ish alternatives where the client-side is doing a lot more of the heavy lifting and the server-side data storage is mostly storing arbitrary JSON. That way I don't have to manage much of a server-side data model or worry about upgrades to table layout or indexes.
But I know that ad-hoc NoSQL approach usually might not be best for most corporate applications in a middle scale where a well-maintained corporate database can be central to success and there are full-time knowledgeable DBAs around to take care of it. PostgreSQL increasingly is the best of both worlds, with good support for random JSON when you want it and otherwise being a great SQL database.
The overall discussion here general reminds me of many health discussions on the internet about relative merits of different complex interventions and prescription drugs for various chronic diseases while avoiding discussing the root causes of so much chronic disease from poor nutrition, lack of sunlight, lack of exercise, and various other lifestyle issues (i.e. "Blue Zones" and a "Whole foods, mostly plants diet").
In the same way, people can write decent web apps, but you have to focus on the basics and then build from there. Learn JavaScript (with all its quirks and good parts), learn CSS, and learn HTML. Then use some tools at just the right level of abstraction over that base with some discipline after learning some basic design principles -- including emphasizing simplicity: https://www.infoq.com/presenta...
It is a tribute to Leo Horie's ( https://github.com/lhorie ) brilliance in using his (negative) experience with AngularJS to make something so much simpler as Mithril to address those sorts of root causes. And likewise for innovation by others with inventing HyperScript, Tachyons and Flux.
Complex frameworks (e.g. Angular) typically promise they will let people shortcut all of that learning and choosing -- and the end result is often overly complex systems maintained by developers with limited understanding of both the basics and the framework. And then when things go wrong with bugs in the framework or edge cases the framework does not cover, it can be a painful experience for everyone involved -- until eventually developers go back to the basics.
I went through that myself with Dojo/Dijit, which I though would save me time and ended up costing me more time. Although in the Dojo's toolkit's defense, it originated back when browsers were far less standard-compliant than now, and a lot of innovations in it later became integrated into standards and other libraries and best practices. So there were some good reasons to choose it a decade ago, even if those reasons are much less compelling now. New overly-complex frameworks have no such excuse.
I find thing to both agree and disagree with in this comment.
I agree that ideally the web should be mostly about serving static content. Unfortunately, with a web funded mostly by advertising revenue, much of the JavaScript on the web is about putting together feeds of multiple items to entice you to click on other documents to get the next ad impression served -- as well as to track those clicks. Why should, say, a news site have a sidebar with current articles to click on merged into content for each article? Should not each article stand alone like a pamphlet or book in a library, with at most an article-specific "see also" section at the end? There is something wrong in using JavaScript to mush together all sorts of unrelated content and also invading everyone's privacy about what they look at -- although that wrongness is more about socio-economics based on scarcity ideology than about technology.
Contrast with personal websites from the late 1990s which were mostly collections of static pages each on some topics, with at most a site navigation sidebar as extraneous content. In such a system, search engines, manual indexes, and feeds of new items play a big role in finding the specific content you want. And then your browser should be able to display the resource ideally without needing JavaScript from the website to help display it.
It's great to see some sites now offering text-only options as a retro nod to the value of simplicity: https://www.poynter.org/news/t...
I disagree about turning off JavaScript entirely everywhere because I see the potential of the web as a way to deliver applications like editors, analyzers, and simulations -- especially applications that are multi-user supporting fine-grained collaboration.
That's why I started learning JavaScript/HTML/CSS and various related libraries and design patterns (like Mithril and Tachyons and Flux etc) even though I already know how to make such tools for the desktop. I made that transition after seeing even Alan Kay and Dan Ingalls (of Smalltalk fame) move new work to JavaScript on the web (with the Lively Kernel) because they found it difficult to get people to install Squeak on the desktop to try it out (and Squeak generally has a very easy install).
Yes, it is true those editors, analyzers, and simulators could run as internet-enabled desktop applications which request data and send data from and to wherever needed in the internet. But such applications would have more problematical installs and upgrades from the user perspective (as Kay and Ingalls talked about). Mobile app stores for Android and iOS, desktop app stores for Mac and Windows, and package managers for Linux help with that install issue. But most of those app stores also create other problems including a bottleneck of a few companies controlling what billions of users can install. Also, desktop apps typically can access all sorts of data on your local storage and so are more of a security concern when trying them out.
The URL is the web's biggest feature, leading to my web-age adage: "If it does not have a URL, it is broken". So, if software does not have a URL that you can click to start it running in a specific configuration with specific data loaded, that is a problematical situation these days. We might be able to rethink how URL handling is done locally though for a typical desktop situation. But until then, for most people, the benefits of the URL are often exceeding the benefits of local applications.
Nonetheless, I will agree that running complex applications in the browser is not what the original web browsers or web protocols were designed to do. And that has created a lot of headaches for a lot of people for a long time -- and still does.
On a practical basis, I use uMatrix and NoScript as browser plugins to turn off most JavaScript (especially third-party JavaScript) on most sites -- for reasons of security, performance
But Mithril does one-way data binding naturally so you usually don't need much to be made explicit: https://github.com/MithrilJS/m...
But apps may still benefit from undoable commands or transactions being run against a data model, so sometimes a more formal flux/reflux/redux approach may be worth it -- or not. I feel it makes sens to keep things simple with POJOs and then see if a more formal data store model is needed. https://www.quora.com/Which-is...
Sure, there may be voter intimidation and vote buying and so on without a secret ballot. But will the consequences really be worse than widespread electronic election fraud?
And the fact is, you can find out who many people probably voted for by looking at campaign donation records anyway. http://classic.fec.gov/finance...
We expect elected representatives to generally vote in a recorded way and to defend their votes. Why do we think that can work but doing the same for individuals won't?
Otherwise, use paper ballots -- ideally counted by a group of humans from different political affiliations like is done in many other countries.
Some bigger issues than technology for the USA:
We could return to the original constitutional number of Representatives so that each vote for one counts 10X more -- which might reduce the role of money in such elections. https://economix.blogs.nytimes...
And also consider a Parliamentary system where Congress selects a Prime Minister instead of a direct election of the President (given what a money-driven circus such elections have become): https://www.minnpost.com/eric-...
Yes; thus Rich Hickey's talk on "Simple made Easy": https://www.infoq.com/presenta... "Rich Hickey emphasizes simplicity's virtues over easiness, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path."
I agree on Angular having a lot of "accidental complexity".
I've also run into the "leaky abstraction" issue you reference, like with the Dojo Toolkit and Dijit -- where I ended up spending large amount of time trying to understand why Dijits behaved unexpectedly and to make kludgy workarounds. People hope some frameworks will spare them from learning details of CSS and JavaScript, but in the end, edge cases and bugs mean you still need to learn all that -- as well as an arbitrary framework with its own quirks.
I much prefer the combination of using JavaScript/TypeScript with Mithril/HyperScript, Tachyons, and a Flux-like one-way-data-flow architecture. You need to know JavaScript and CSS somewhat well to use those libraries -- but they are simple enough that they rarely do unexpected things, require long debugging sessions, or get in the way of doing anything advanced that you want to do. Those libraries are not perfect -- just a lot better than something like Angular (which I have to deal with for my day job; see also my related comment below). And those libraries are simple enough that any reasonably good developer could maintain them on their own if absolutely required.
One of the reasons such libraries don't as much attention as they should is precisely because they are so reliable and simple to use. Unlike Angular, neither Mithril or Tachyons *requires* thousands of StackOverflow questions to learn how to use it, debug it, or upgrade it. In a way, picking libraries based on numbers of SO questions or blog posts on it is kind of like picking a car based on how many complaints are filed against the manufacturer with the Better Business Bureau. That's not a 100% valid comparison -- but there is more truth there than one might think at first.
As a once Delphi programmer, that is one reason I like the combination of JavaScript/TypeScript, the Mithril vdom https://mithril.js.org/ (which uses a "HyperScript"-like API to define HTML via code), and Tachyons http://tachyons.io/ for embedded CSS where each class defines the CSS effect (e.g. "underline") -- along with a simplified Flux-like one-way data flow architecture. Although people could swap out Mithril and Tachyons for similar systems to get a similar effect.
Sadly, for my day job I am stuck using Angular, which is a my-way-or-the-highway framework with a lot of questionable design choices leading to excessive complexity and difficult debugging.
I suggested something like that too in 2000 about mesh-networked communicators: https://www.dougengelbart.org/... "Consider millions of these devices airdropped into Iraq and Yugoslavia -- instead of more expensive cruise missiles! Anybody got $1 billion to spend on ensuring democracy with a true defense against tyranny in those places? (This is probably what the U.S. military's spends on gas/oil for a month cruising the area...) "
Although, as with Germans occupiers during WWII making it illegal to own radios in occupied lands, possibly local security forces could criminalize these devices (e.g. China now scanning people's mobile phones for forbidden software) -- so I'm not sure what the ultimate result would be. Probably the outcome would depend on a lot of factors.
Thanks. For myself, I just could not see handing over all my correspondence to Google -- although of course they probably have most of it considering how many people anyone corresponds with these days use gmail.
AC wrote: "overall, a spiritual market shift is needed first if we want to create the properly secured infrastructure and products to let millions of people depend on."
Sad, but true -- and in more areas of life than that. Thus my sig - - and the Albert Einstein quote that helped inspire it: "The release of atom power has changed everything except our way of thinking... the solution to this problem lies in the heart of mankind. If only I had known, I should have become a watchmaker."
Although, 70 years later, now that every smart watch has more computing power than was needed to design the first nuclear weapons, the choice of career is not so easy...
"It's simple: what is preventing companies from hiring security professionals is that the expected cost of a security compromise (or equivalently, the rate of security breach insurance) is less than the going rate of a security engineer."
Yet another fine example of a company privatizing gains but socializing risk and costs...
For another example: Equifax. What was the cost to the company of creating a huge negative externality regarding the privacy and secure identity of over 100 million people? And how much profits did they rake in while creating the risk that lead to the externality?
with big privacy and social implications: https://www.wired.com/story/ag... "Cash, Liu could see, had been largely replaced by two smartphone apps: Alipay and WeChat Pay. "
See also how two-income families have bid up the price of houses in "good" school districts: http://www.motherjones.com/pol... "Middle-class parents are stretched thin these days. Between health care costs, child care hassles, looking for a home in a good district, and paying for college, raising a child is becoming increasingly expensive. Little wonder, then, that married couples with children are more than twice as likely to file for bankruptcy as their childless counterparts, and 75 percent more likely to have their homes foreclosed. And the danger is growing worse by the year: In 2002 1.6 million people filed for bankruptcy, many of those middle-class parents. a record . As Elizabeth Warren and Amelia Tyagi note in their book, The Two-Income Trap: Why Middle-Class Mothers & Fathers Are Going Broke, having a child is now "the single best predictor" of bankruptcy. ""
Also, the increasing rich-poor divide makes life more difficult for almost everyone in the USA, since daily life gets more expensive as social trust breaks down because more and more income goes into security-related costs -- including sometimes things like private school or homeschooling. For example, a decade ago I talked with someone from CA who said, while California Proposition 13 had saved him some money in real estate taxes probably, he lost much more than he gained in paying for private school for his kids because he felt local schools were underfunded. (Of course, there are other reasons to avoid compulsory schooling kids in general, see John Taylor Gatto...)
And clearly much government spending (and related taxes) is questionable like for counter-productive military adventures abroad like Iraq and on bond interest from a refusal to just issue new money as needed by the economy instead of borrowing it.
All that said, there is lots of web content out there on "frugality" and wealth building; for example: http://www.mrmoneymustache.com...
https://web.archive.org/web/20... "More than a few people agree the best career would be one which provides challenge, intellectual stimulation, and rewards for quality work. Many however, would be surprised to discover they can have all of those benefits and more in some of the unlikeliest of careers.
Case in point: I'm a professional carpet cleaner. Some people think this is a second-rate career. I don't agree with them. Carpet cleaning gives me challenges, intellectual stimulation, and many other rewards. To prove this, permit me to walk you through one of my work days...."
Good luck and have fun with your physics and other explorations!
That approach doesn't work as an individual because the people you email with will use gmail, you will be on endless surveillance cameras as you move walk around or drive, and your family and friends will post pictures including you to anti-social media. We essentially either move forward as a community or we all sink together.
Alternatively, you can live as a self-sufficient hermit or in a small group like in "Captain Fantastic" but even that can break down as social reality intrudes through family relationships and medical needs, as in the film. https://en.wikipedia.org/wiki/...
Again, as with my sig, the central irony here is we are using the technologies of abundance and joy that could free us to enslave ourselves out of fear.
https://en.wikipedia.org/wiki/... "The Transparent Society (1998) is a non-fiction book by the science-fiction author David Brin in which he forecasts social transparency and some degree of erosion of privacy, as it is overtaken by low-cost surveillance, communication and database technology, and proposes new institutions and practices that he believes would provide benefits that would more than compensate for lost privacy. The work first appeared as a magazine article by Brin in Wired in late 1996.[1] In 2008, security expert Bruce Schneier called the transparent society concept a "myth"[2] (a characterization Brin later rejected),[3] claiming it ignores wide differences in the relative power of those who access information.[2]...
Brin argues that a core level of privacy--protecting our most intimate interactions--may be preserved, despite the rapid proliferation of cameras that become ever-smaller, cheaper and more numerous faster than Moore's law. He feels that this core privacy can be saved simply because that is what humans deeply need and want. Hence, Brin explains that "...the key question is whether citizens will be potent, sovereign and knowing enough to enforce this deeply human want."
This means they must not only have rights, but also the power to use them and the ability to detect when they are being abused. Ironically, that will only happen in a world that is mostly open, in which most citizens know most of what is going on, most of the time. It is the only condition under which citizens may have some chance of catching the violators of their freedom and privacy. Privacy is only possible if freedom (including the freedom to know) is protected first.
Brin thus maintains that privacy is a "contingent right," one that grows out of the more primary rights, e.g. to know and to speak. He admits that such a mostly-open world will seem more irksome and demanding; people will be expected to keep negotiating the tradeoffs between knowing and privacy. It will be tempting to pass laws that restrict the power of surveillance to authorities, entrusting them to protect our privacy -- or a comforting illusion of privacy. By contrast, a transparent society destroys that illusion by offering everyone access to the vast majority of information out there.
Brin argues that it will be good for society if the powers of surveillance are shared with the citizenry, allowing "sousveillance" or "viewing from below," enabling the public to watch the watchers. According to Brin, this only continues the same trend promoted by Adam Smith, John Locke, the US Constitutionalists and the western enlightenment, who held that any elite (whether commercial, governmental, or aristocratic) should experience constraints upon its power. And there is no power-equalizer greater than knowledge.[4]""
Not that this movie proves anything: https://en.wikipedia.org/wiki/... "Trading Places is a 1983 American comedy film directed by John Landis, starring Dan Aykroyd and Eddie Murphy. It tells the story of an upper-class commodities broker and a homeless street hustler whose lives cross paths when they are unknowingly made part of an elaborate bet."
But it is suggestive that when financial stress is added or removed from a life, some stress-related behavior may change.
Unfortunately, General Produce hulls are useless against strong gravitational tidal stress forces such as near a black hole's even horizon. No wonder they are gradually being replaces by quantum temporal-spatial displacement bubbles -- "be there then while being here now"!
See my post here: https://slashdot.org/comments....
tl;dr -- Eat (whole) food. Not too much. Mostly plants.
And even Type 1 diabetes can be greatly improved by diet so it is more easily manageable with less complications and less insulin.
Good luck!
A high tech solution for monitoring blood sugar sounds good especially for type 1 diabetics -- but for most people with type 2 it would be better to just reverse the disease entirely.
Example books on how to do this:
https://www.drfuhrman.com/shop...
http://media.wholefoodsmarket....
As Dr. Joel Fuhrman says, most prescriptions for drugs for chronic diseases are just permission slips keep doing unhealthy behavior.
tl;dr -- Eat (whole) food. Not too much. Mostly plants.
And even Type 1 diabetes can be greatly improved by diet so it is more easily manageable with less complications.
Easier said then done of course. A good social support network and supportive family makes a big difference. Good luck!
Mod parent insightful. Picking software based on the number of SO questions is a bit like picking a car based on the greatest number of consumer complaints about a car manufacturer to the Better Business Bureau.
http://www.pdfernhout.net/reco... "Military robots like drones are ironic because they are created essentially to force humans to work like robots in an industrialized social order. Why not just create industrial robots to do the work instead? ... Likewise, even United States three-letter agencies like the NSA and the CIA, as well as their foreign counterparts, are becoming ironic institutions in many ways. Despite probably having more computing power per square foot than any other place in the world, they seem not to have thought much about the implications of all that computer power and organized information to transform the world into a place of abundance for all. Cheap computing makes possible just about cheap everything else, as does the ability to make better designs through shared computing. ... ..."
Nuclear weapons are ironic because they are about using space age systems to fight over oil and land. Why not just use advanced materials as found in nuclear missiles to make renewable energy sources (like windmills or solar panels) to replace oil, or why not use rocketry to move into space by building space habitats for more land?
Biological weapons like genetically-engineered plagues are ironic because they are about using advanced life-altering biotechnology to fight over which old-fashioned humans get to occupy the planet. Why not just use advanced biotech to let people pick their skin color, or to create living arkologies and agricultural abundance for everyone everywhere?
These militaristic socio-economic ironies would be hilarious if they were not so deadly serious.
There is a fundamental mismatch between 21st century reality and 20th century security thinking. Those "security" agencies are using those tools of abundance, cooperation, and sharing mainly from a mindset of scarcity, competition, and secrecy. Given the power of 21st century technology as an amplifier (including as weapons of mass destruction), a scarcity-based approach to using such technology ultimately is just making us all insecure. Such powerful technologies of abundance, designed, organized, and used from a mindset of scarcity could well ironically doom us all whether through military robots, nukes, plagues, propaganda, or whatever else... Or alternatively, as Bucky Fuller and others have suggested, we could use such technologies to build a world that is abundant and secure for all.
Melinda Varian wrote up the IBM VM community part of that history, with IBM mainframes going from available source for all IBM mainframe users to "object code only" in 1983: http://www.leeandmelindavarian...
"On February 8, 1983, a few days after the announcement of VM/SP Release 3, IBM announced the Object Code Only (OCO) policy. Much of the heart went out of the VM community on that day. In the years that followed, IBM and its customers lost opportunity after opportunity because of that unfortunate decision."
I met IBMers still angry about the foolish management decision about fifteen years later when working at IBM Research. They were some of the people supportive of an increasing interest in FOSS at IBM.
It's usually a best practice in corporate settings to have a well-defined long-lived data model in a database and then create views on it as needed. Applications then work from the views and might use a short-lived application-specific data model. For JavaScript apps, you might create JSON APIs connecting to the views.
Somewhere in the social process of dividing up responsibility and labor is some negotiation between what issues are best solved by convenient views on the database versus best solved by specific applications using existing views and transforming data locally. Hard for anyone to comment precisely on such negotiations between client-side and server-side developers or how fair they are without knowing all the details.
Some related ideas in case they help:
I have never tried this (and unfortunately it is in PHP), but you might find restifydb of interest for some inspiration about bridging that gap: https://restifydb.com/
That sound like a more general solution than, say, the django REST framework:
https://github.com/django-json...
I've also never used this, but it or something similar might be of interest for generating JavaScript models from a JSON schema ( http://json-schema.org/ ) to help bridge that client-server gap:
https://github.com/geraintluff...
By contrast, when I am writing independent stuff intended for individuals and small groups at the small scale (or alternatively maybe everybody on the planet at the large scale), I tend to focus on NoSQL-ish alternatives where the client-side is doing a lot more of the heavy lifting and the server-side data storage is mostly storing arbitrary JSON. That way I don't have to manage much of a server-side data model or worry about upgrades to table layout or indexes.
But I know that ad-hoc NoSQL approach usually might not be best for most corporate applications in a middle scale where a well-maintained corporate database can be central to success and there are full-time knowledgeable DBAs around to take care of it. PostgreSQL increasingly is the best of both worlds, with good support for random JSON when you want it and otherwise being a great SQL database.
LOL. Here is an example I wrote of what I am talking about that uses those approaches:
https://github.com/pdfernhout/...
The overall discussion here general reminds me of many health discussions on the internet about relative merits of different complex interventions and prescription drugs for various chronic diseases while avoiding discussing the root causes of so much chronic disease from poor nutrition, lack of sunlight, lack of exercise, and various other lifestyle issues (i.e. "Blue Zones" and a "Whole foods, mostly plants diet").
In the same way, people can write decent web apps, but you have to focus on the basics and then build from there. Learn JavaScript (with all its quirks and good parts), learn CSS, and learn HTML. Then use some tools at just the right level of abstraction over that base with some discipline after learning some basic design principles -- including emphasizing simplicity: https://www.infoq.com/presenta...
It is a tribute to Leo Horie's ( https://github.com/lhorie ) brilliance in using his (negative) experience with AngularJS to make something so much simpler as Mithril to address those sorts of root causes. And likewise for innovation by others with inventing HyperScript, Tachyons and Flux.
Complex frameworks (e.g. Angular) typically promise they will let people shortcut all of that learning and choosing -- and the end result is often overly complex systems maintained by developers with limited understanding of both the basics and the framework. And then when things go wrong with bugs in the framework or edge cases the framework does not cover, it can be a painful experience for everyone involved -- until eventually developers go back to the basics.
I went through that myself with Dojo/Dijit, which I though would save me time and ended up costing me more time. Although in the Dojo's toolkit's defense, it originated back when browsers were far less standard-compliant than now, and a lot of innovations in it later became integrated into standards and other libraries and best practices. So there were some good reasons to choose it a decade ago, even if those reasons are much less compelling now. New overly-complex frameworks have no such excuse.
Here is an essay I wrote on my experience moving from Dojo to Mithril:
http://www.pdfernhout.net/on-m...
I find thing to both agree and disagree with in this comment.
I agree that ideally the web should be mostly about serving static content. Unfortunately, with a web funded mostly by advertising revenue, much of the JavaScript on the web is about putting together feeds of multiple items to entice you to click on other documents to get the next ad impression served -- as well as to track those clicks. Why should, say, a news site have a sidebar with current articles to click on merged into content for each article? Should not each article stand alone like a pamphlet or book in a library, with at most an article-specific "see also" section at the end? There is something wrong in using JavaScript to mush together all sorts of unrelated content and also invading everyone's privacy about what they look at -- although that wrongness is more about socio-economics based on scarcity ideology than about technology.
Contrast with personal websites from the late 1990s which were mostly collections of static pages each on some topics, with at most a site navigation sidebar as extraneous content. In such a system, search engines, manual indexes, and feeds of new items play a big role in finding the specific content you want. And then your browser should be able to display the resource ideally without needing JavaScript from the website to help display it.
It's great to see some sites now offering text-only options as a retro nod to the value of simplicity:
https://www.poynter.org/news/t...
I disagree about turning off JavaScript entirely everywhere because I see the potential of the web as a way to deliver applications like editors, analyzers, and simulations -- especially applications that are multi-user supporting fine-grained collaboration.
That's why I started learning JavaScript/HTML/CSS and various related libraries and design patterns (like Mithril and Tachyons and Flux etc) even though I already know how to make such tools for the desktop. I made that transition after seeing even Alan Kay and Dan Ingalls (of Smalltalk fame) move new work to JavaScript on the web (with the Lively Kernel) because they found it difficult to get people to install Squeak on the desktop to try it out (and Squeak generally has a very easy install).
Yes, it is true those editors, analyzers, and simulators could run as internet-enabled desktop applications which request data and send data from and to wherever needed in the internet. But such applications would have more problematical installs and upgrades from the user perspective (as Kay and Ingalls talked about). Mobile app stores for Android and iOS, desktop app stores for Mac and Windows, and package managers for Linux help with that install issue. But most of those app stores also create other problems including a bottleneck of a few companies controlling what billions of users can install. Also, desktop apps typically can access all sorts of data on your local storage and so are more of a security concern when trying them out.
The URL is the web's biggest feature, leading to my web-age adage: "If it does not have a URL, it is broken". So, if software does not have a URL that you can click to start it running in a specific configuration with specific data loaded, that is a problematical situation these days. We might be able to rethink how URL handling is done locally though for a typical desktop situation. But until then, for most people, the benefits of the URL are often exceeding the benefits of local applications.
Nonetheless, I will agree that running complex applications in the browser is not what the original web browsers or web protocols were designed to do. And that has created a lot of headaches for a lot of people for a long time -- and still does.
On a practical basis, I use uMatrix and NoScript as browser plugins to turn off most JavaScript (especially third-party JavaScript) on most sites -- for reasons of security, performance
On two-way (Angular default) vs. one-way (Flux) data binding: https://stackoverflow.com/ques...
But Mithril does one-way data binding naturally so you usually don't need much to be made explicit: https://github.com/MithrilJS/m...
But apps may still benefit from undoable commands or transactions being run against a data model, so sometimes a more formal flux/reflux/redux approach may be worth it -- or not. I feel it makes sens to keep things simple with POJOs and then see if a more formal data store model is needed.
https://www.quora.com/Which-is...
The USA did OK without a secret ballot for 100 years: https://en.wikipedia.org/wiki/...
Sure, there may be voter intimidation and vote buying and so on without a secret ballot. But will the consequences really be worse than widespread electronic election fraud?
And the fact is, you can find out who many people probably voted for by looking at campaign donation records anyway.
http://classic.fec.gov/finance...
We expect elected representatives to generally vote in a recorded way and to defend their votes. Why do we think that can work but doing the same for individuals won't?
Otherwise, use paper ballots -- ideally counted by a group of humans from different political affiliations like is done in many other countries.
Some bigger issues than technology for the USA:
We could return to the original constitutional number of Representatives so that each vote for one counts 10X more -- which might reduce the role of money in such elections.
https://economix.blogs.nytimes...
And maybe go back to having Senators appointed by State Legislatures.
https://www.senate.gov/artandh...
And also consider a Parliamentary system where Congress selects a Prime Minister instead of a direct election of the President (given what a money-driven circus such elections have become):
https://www.minnpost.com/eric-...
Yes; thus Rich Hickey's talk on "Simple made Easy": https://www.infoq.com/presenta...
"Rich Hickey emphasizes simplicity's virtues over easiness, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path."
I agree on Angular having a lot of "accidental complexity".
I've also run into the "leaky abstraction" issue you reference, like with the Dojo Toolkit and Dijit -- where I ended up spending large amount of time trying to understand why Dijits behaved unexpectedly and to make kludgy workarounds. People hope some frameworks will spare them from learning details of CSS and JavaScript, but in the end, edge cases and bugs mean you still need to learn all that -- as well as an arbitrary framework with its own quirks.
I much prefer the combination of using JavaScript/TypeScript with Mithril/HyperScript, Tachyons, and a Flux-like one-way-data-flow architecture. You need to know JavaScript and CSS somewhat well to use those libraries -- but they are simple enough that they rarely do unexpected things, require long debugging sessions, or get in the way of doing anything advanced that you want to do. Those libraries are not perfect -- just a lot better than something like Angular (which I have to deal with for my day job; see also my related comment below). And those libraries are simple enough that any reasonably good developer could maintain them on their own if absolutely required.
One of the reasons such libraries don't as much attention as they should is precisely because they are so reliable and simple to use. Unlike Angular, neither Mithril or Tachyons *requires* thousands of StackOverflow questions to learn how to use it, debug it, or upgrade it. In a way, picking libraries based on numbers of SO questions or blog posts on it is kind of like picking a car based on how many complaints are filed against the manufacturer with the Better Business Bureau. That's not a 100% valid comparison -- but there is more truth there than one might think at first.
As a once Delphi programmer, that is one reason I like the combination of JavaScript/TypeScript, the Mithril vdom https://mithril.js.org/ (which uses a "HyperScript"-like API to define HTML via code), and Tachyons http://tachyons.io/ for embedded CSS where each class defines the CSS effect (e.g. "underline") -- along with a simplified Flux-like one-way data flow architecture. Although people could swap out Mithril and Tachyons for similar systems to get a similar effect.
Sadly, for my day job I am stuck using Angular, which is a my-way-or-the-highway framework with a lot of questionable design choices leading to excessive complexity and difficult debugging.
I suggested something like that too in 2000 about mesh-networked communicators: https://www.dougengelbart.org/...
"Consider millions of these devices airdropped into Iraq and Yugoslavia -- instead of more expensive cruise missiles! Anybody got $1 billion to spend on ensuring democracy with a true defense against tyranny in those places? (This is probably what the U.S. military's spends on gas/oil for a month cruising the area...) "
Although, as with Germans occupiers during WWII making it illegal to own radios in occupied lands, possibly local security forces could criminalize these devices (e.g. China now scanning people's mobile phones for forbidden software) -- so I'm not sure what the ultimate result would be. Probably the outcome would depend on a lot of factors.
Thanks. For myself, I just could not see handing over all my correspondence to Google -- although of course they probably have most of it considering how many people anyone corresponds with these days use gmail.
AC wrote: "overall, a spiritual market shift is needed first if we want to create the properly secured infrastructure and products to let millions of people depend on."
Sad, but true -- and in more areas of life than that. Thus my sig - - and the Albert Einstein quote that helped inspire it: "The release of atom power has changed everything except our way of thinking... the solution to this problem lies in the heart of mankind. If only I had known, I should have become a watchmaker."
Although, 70 years later, now that every smart watch has more computing power than was needed to design the first nuclear weapons, the choice of career is not so easy...
"It's simple: what is preventing companies from hiring security professionals is that the expected cost of a security compromise (or equivalently, the rate of security breach insurance) is less than the going rate of a security engineer."
Yet another fine example of a company privatizing gains but socializing risk and costs...
For another example: Equifax. What was the cost to the company of creating a huge negative externality regarding the privacy and secure identity of over 100 million people? And how much profits did they rake in while creating the risk that lead to the externality?
with big privacy and social implications: https://www.wired.com/story/ag...
"Cash, Liu could see, had been largely replaced by two smartphone apps: Alipay and WeChat Pay. "
Just curious... I want to build better tools myself for that use case, but maybe something better is out there already?
BTW, you can also turn off some of the indexing functionality in TB -- I think I had to do that myself a few years ago for performance reasons.
See also how two-income families have bid up the price of houses in "good" school districts: http://www.motherjones.com/pol...
"Middle-class parents are stretched thin these days. Between health care costs, child care hassles, looking for a home in a good district, and paying for college, raising a child is becoming increasingly expensive. Little wonder, then, that married couples with children are more than twice as likely to file for bankruptcy as their childless counterparts, and 75 percent more likely to have their homes foreclosed. And the danger is growing worse by the year: In 2002 1.6 million people filed for bankruptcy, many of those middle-class parents. a record . As Elizabeth Warren and Amelia Tyagi note in their book, The Two-Income Trap: Why Middle-Class Mothers & Fathers Are Going Broke, having a child is now "the single best predictor" of bankruptcy. ""
Also, the increasing rich-poor divide makes life more difficult for almost everyone in the USA, since daily life gets more expensive as social trust breaks down because more and more income goes into security-related costs -- including sometimes things like private school or homeschooling. For example, a decade ago I talked with someone from CA who said, while California Proposition 13 had saved him some money in real estate taxes probably, he lost much more than he gained in paying for private school for his kids because he felt local schools were underfunded. (Of course, there are other reasons to avoid compulsory schooling kids in general, see John Taylor Gatto...)
And clearly much government spending (and related taxes) is questionable like for counter-productive military adventures abroad like Iraq and on bond interest from a refusal to just issue new money as needed by the economy instead of borrowing it.
All that said, there is lots of web content out there on "frugality" and wealth building; for example: http://www.mrmoneymustache.com...
https://web.archive.org/web/20... ..."
"More than a few people agree the best career would be one which provides challenge, intellectual stimulation, and rewards for quality work. Many however, would be surprised to discover they can have all of those benefits and more in some of the unlikeliest of careers.
Case in point: I'm a professional carpet cleaner. Some people think this is a second-rate career. I don't agree with them. Carpet cleaning gives me challenges, intellectual stimulation, and many other rewards. To prove this, permit me to walk you through one of my work days.
Good luck and have fun with your physics and other explorations!
That approach doesn't work as an individual because the people you email with will use gmail, you will be on endless surveillance cameras as you move walk around or drive, and your family and friends will post pictures including you to anti-social media. We essentially either move forward as a community or we all sink together.
Alternatively, you can live as a self-sufficient hermit or in a small group like in "Captain Fantastic" but even that can break down as social reality intrudes through family relationships and medical needs, as in the film.
https://en.wikipedia.org/wiki/...
Also, more (by me) on why encryption is mostly useless for social change agents:
http://pdfernhout.net/why-encr...
Again, as with my sig, the central irony here is we are using the technologies of abundance and joy that could free us to enslave ourselves out of fear.
More on what is going on in China: https://www.wired.com/story/ag...
https://en.wikipedia.org/wiki/... ...
"The Transparent Society (1998) is a non-fiction book by the science-fiction author David Brin in which he forecasts social transparency and some degree of erosion of privacy, as it is overtaken by low-cost surveillance, communication and database technology, and proposes new institutions and practices that he believes would provide benefits that would more than compensate for lost privacy. The work first appeared as a magazine article by Brin in Wired in late 1996.[1] In 2008, security expert Bruce Schneier called the transparent society concept a "myth"[2] (a characterization Brin later rejected),[3] claiming it ignores wide differences in the relative power of those who access information.[2]
Brin argues that a core level of privacy--protecting our most intimate interactions--may be preserved, despite the rapid proliferation of cameras that become ever-smaller, cheaper and more numerous faster than Moore's law. He feels that this core privacy can be saved simply because that is what humans deeply need and want. Hence, Brin explains that "...the key question is whether citizens will be potent, sovereign and knowing enough to enforce this deeply human want."
This means they must not only have rights, but also the power to use them and the ability to detect when they are being abused. Ironically, that will only happen in a world that is mostly open, in which most citizens know most of what is going on, most of the time. It is the only condition under which citizens may have some chance of catching the violators of their freedom and privacy. Privacy is only possible if freedom (including the freedom to know) is protected first.
Brin thus maintains that privacy is a "contingent right," one that grows out of the more primary rights, e.g. to know and to speak. He admits that such a mostly-open world will seem more irksome and demanding; people will be expected to keep negotiating the tradeoffs between knowing and privacy. It will be tempting to pass laws that restrict the power of surveillance to authorities, entrusting them to protect our privacy -- or a comforting illusion of privacy. By contrast, a transparent society destroys that illusion by offering everyone access to the vast majority of information out there.
Brin argues that it will be good for society if the powers of surveillance are shared with the citizenry, allowing "sousveillance" or "viewing from below," enabling the public to watch the watchers. According to Brin, this only continues the same trend promoted by Adam Smith, John Locke, the US Constitutionalists and the western enlightenment, who held that any elite (whether commercial, governmental, or aristocratic) should experience constraints upon its power. And there is no power-equalizer greater than knowledge.[4]""
Not that this movie proves anything: https://en.wikipedia.org/wiki/...
"Trading Places is a 1983 American comedy film directed by John Landis, starring Dan Aykroyd and Eddie Murphy. It tells the story of an upper-class commodities broker and a homeless street hustler whose lives cross paths when they are unknowingly made part of an elaborate bet."
But it is suggestive that when financial stress is added or removed from a life, some stress-related behavior may change.
Unfortunately, General Produce hulls are useless against strong gravitational tidal stress forces such as near a black hole's even horizon. No wonder they are gradually being replaces by quantum temporal-spatial displacement bubbles -- "be there then while being here now"!