> Looking back, I see much of the promise of modular software as addressing goals related to project management, not technical excellence.
I couldn't find this point discussed elsewhere in the comments. I think this is one of the most important sentences in the whole article. I know this is essentially just another perspective on Conway's law, but I think it is important to identify factors like this early in a project if at all possible so that human factors around development can be factored out of engineering decisions.
I think that this is especially critical for open projects that want to achieve long term sustainability. Open communities don't have the resources to maintain all the packages, even if they use the same build system and follow the same pattern, even if most of the maintenance can be automated, some human being still has to deal each of those systems separately because they are part of the environment surrounding that individual part of the project.
After watching this I went to go check in on my last fort that I played which was about two years ago. Turns out the countless hours I spent herding dorfs in college have left me with an instinctive memory of the key bindings over a decade later. DF has such incredible depth and nearly infinite replayability. It struck me today that despite all that time playing I have never actually made it to a fort that was able to produce adamantine weapons, and you know what? Loosing really IS fun! DF is one of those works of art that truly elevates our sense of the possible. Now, if only we could convince Toady to work on multithreading ....
World peace achieved in such a way might only work when anyone showing the first signs of violence is immediately and collectively targeted for punishment by everyone else. That would suggests that sanctions _do_ work, but only in some strange kind of Stalinist way, or worse, sanctions don't work, and you have to wipe out the whole country and move in. I'm guessing these interpretations don't translate all that well to collective societies like those formed by human beings.
As JCharante mentions, this statement was offered as a modernization of historical reaction to similar events, not a commentary on the parent comment. In that context the interpretation my statement basically turns on whether you believe the McCarthy was right or not and whether a similar person would be right or not today.
The author of this piece lacks an understanding of how Machiavelli uses the term `virtu` (admittedly a common mistake). This failure to understand `virtu` is why countless political factions all the way up to the modern US Democratic party have failed their subjects and failed to protect their states -- they were unwilling to sacrifice the appearance of being good, of keeping their hands clean, for the things that really matter -- for example legislation on climate change, and the preservation of the US ability to respond to global pandemics to name only two. One of Machiavelli's key messages is that there are some things that are more important than playing by the spirit of the law. Those in the modern west who reject Machiavelli and this message doom themselves and their constituents to live in states cursed with bad rulers.
Discrimination against Asians during the admissions process has been a well known fact inside the academy for over a decade. The fact that this had to go to court is somewhat laughable. The other thread here about the Jews at Harvard is a similar story that comes up in this context and many academics simply nod knowingly and shake their head, probably because no one wants to deal with the nightmare of admissions.
I would not have even considered trying to make use of the existing Sanger sequencing machines. This opens up a whole extra set of hardware to increase testing bandwidth. Thank you.
You don't have to culture anything (if we did we might as well just give up). We use PCR to amplify a known section of the viral genome. With the oligo production capacity in this country alone we could synthesize enough primers test everyone in the country 10 times in a couple of days. That is not the limiting reagent. The limit is either sample prep or sample collection. Actually running the amplification shouldn't be a bottleneck, there are hundreds of thousands of thermal cyclers across the country. In my more cynical moments I might say the bottleneck is that some companies might want to make money from all the tests ....
Your logic is off. In the absence of data there is more fear because you have no idea who might possibly be sick. Once you start testing you can bring epidemiological tools online and alert people to possible exposures. If you don't do that the only sure thing is to quarantine everyone because you have no data, that will tank the economy for sure.
Get IDT or (other nucleotide synthesis company) to start mass producing the detection primers, and ship them to their whole active customer catalog, they all have thermal cyclers. Then figure out the other reagents needed to locally produce tests that trade off false positive rate for the lowest false negative rate you can get. How to get swabs to the closest lab with a thermal cycler, no idea, but we have phones with gps. Rate limiting step here is probably the step from swab to sample ready for amplification. I kind of wonder if it makes sense to tell people to start swabbing now and keep the swabs in the freezer until testing comes online so that we can start filling in the missing data.
As others have said in other threads, pandemics are emphatically NOT black swan events. Making this assumption reveals a fundamentally flawed mental model which is broken for the same reason global supply chains are -- its time constant is far too short to account for major disruptive events that have extremely high probably of occurring and have well known effects on societies, and often well known methods for prevention and management. Earthquakes, and pandemics are not black swan events, and for civil engineers and state level actors neither are volcanic eruptions.
This probably should have gone on the thread about flattening the curve not being enough. But.
Where is the core team of 12 people plus 108 collaborators that should have been assembled a month and a half ago to figure out how to retune US manufacturing to start producing stripped down ICU beds and the supplies needed to keep them operational?
This game is easy. The parameters are well understood. You could assign the basic problem to a middle schooler. Getting realistic numbers? Well it doesn't matter, no matter what those number are, every single fully functional ICU bed that can be brought online in the next 2 weeks is probably going to save 2 lives. According to some of the other economic analysis that has been posted here today suggesting that we let people die, that is 18 million dollars in human lives.
How many fully stocked ICU beds can you make for 18 million dollars? There's your startup idea for the next 2 weeks.
Not ignoring the fact that you need a team to staff it and work it, but guess what, you ALSO have two weeks to train as many people as you can to run these things.
The same reason why not testing for the virus doesn't stop its spread. Markets can spread psychological panic very quickly, but a lot of the short term behavior here is based on very short term bets about what other people are going to do on average. Give the market a month to integrate some information that is relevant over slightly longer timescales and we'll see where it thinks we are.
I love how many people in this thread think that Google's location tracking is the issue here. If you have a phone at all you are tracked. If you drive many newer cars you are tracked. If you go out in public where there are cameras you are tracked. The difference is that the individual will never be able to get access to the cell tower tracking information, cctv footage, etc. The problem if there is one, is that it is too easy for law enforcement to get access to Google's information and use it in ways that are probably a violation of the constitution. While turning your tracking off may seem like a good idea, and for some threat models it certainly is, for many users this actively disempowers them relative to corporations and states. Someone already has your data, you might want to get a copy of it too.
This was pretty much the logic that I used. I was sick of having to worry about data integrity and backups, the amount of arcane knowledge required to do it correctly and safely is immense. FreeNAS has good defaults and good documentation so I got myself a FreeNAS Mini (eventually upgraded to the MiniXL because it is able to take better advantage of zfs).
Anecdote from yesterday. Me staring at merge-pathnames and wondering why everything was backwards from the physical layout of the paths. Ah, it is because the default is optional because of the direction in which the function is usually used. If I didn't take the 5 minutes to wonder about what I was missing I would have implemented a macro to do it the way I thought was most sensible. In the context of the op, I can only imagine that the impulse to pause and reflect on the question of why, or what motivates the desired for a new option has fallen victim to the fact that there are thousands of people for whom the flag solves a real and tangible problem immediately.
I think I need to unpack what I mean by 'really fails' to capture what I was trying to convey. I deal with Python programs running in a number of different environments, and there are some where literally all you have on hand are the libs you brought with you. Maybe that is an oversight on my part, but the reality is that in many cases this means that I am just going to restart the daemon and hope the problem goes away, I don't have the time to manually instrument the system to see what was going on. I shudder to imagine having to debug a failure from some insane pip freeze running on a Windows system with the runtime packaged along with it.
Worst case for CL means that at the very least I don't have to wonder if gdb is installed on the system. It provides a level of assurance and certainty that vastly simplifies the decision making around what to do when something goes wrong.
To be entirely fair, the introduction of breakpoint in 3.7 has simplified my life immensely -- unless I run into a system still on 3.6. Oops! I use pudb with that, and the number of uncovered, insane, and broken edge cases when using it on random systems running in different contexts is one of the reasons I am starting no new projects in Python. When I want to debug a problem that occurred in a subprocess (because the gil actually is a good thing) there is a certain perverse absurdity of watching your keyboard inputs go to a random stdin so that you cant even C-d out of your situation. Should I ever be in this situation? Well the analogy is trying to use a hammer to pound in nailgun nails and discovering that doing such a thing opens a portal to the realm of eternal screaming -- a + b = pick you favorite extremely nonlinear unexpected process that is most definitely not addition. You can do lots of amazing things in Python, but you do them at your own peril. (Disclosure: see some of my old posts for similar rants.)
Sort of. I have a bad habit of forgetting Smalltalk in these kinds of conversations, but that is possibly because Smalltalk images exist in their own happy little worlds. I love working in Smalltalk environments, it is always a mind blowing experience, the system is completely homogeneous, accessible, introspectable, modifiable, etc. -- until you hit the hard boundary between the image and the host system, be it hardware or software. That boundary leaves quite a gap that smalltalks tend to be unable to fill by themselves (mostly due to a relative lack of resources). I can imagine a smalltalk system that could go all the way down to modern assembly, but unfortunately no such system exists today (that I'm aware of). If you can live inside the image then yes, Smalltalk is possibly even better.
The only language that I have worked with that realizes that in the real world simple is _always_ a lie, is common lisp. It is the only language that has actually embraced the fact that its designers/committee were not geniuses and provided the tools for dealing with the complexity of the system. When unix tools fail, hope that you are on a system where it is possible to get the symbols and/or the source code, and even then good luck fixing things in situ. Most existing systems do not empower the consumer of code to do anything if it breaks. CL remains almost completely alone in this, because the debugger is part of the standard. Most of my code is written in python, and I can tell you for a fact that when python code really fails, e.g. in a context with threading, you might as well burn the whole thing to the ground, it will take days to resolve the issue, roll back the code and start over. The fact that people accept this as a matter of course is pure insanity, or a sign that most programmers are in an abusive relationship with their runtime environment.
I have had my doubts about COS's technical foundations and strategic abilities and this and a number of the comments here do nothing to reassure me, especially in light of the glowing stories about dedication to long term sustainability that I have been told by some of their representatives.
Lest Darkness Fall by L. Sprague de Camp which appears to recently have received a reprinting, my copy is from the 40s.
Deathworld by Harry Harrison. I've been waiting for some screenplay writer to stumble across this one, and if I had to guess James Cameron probably did, but just didn't tell anyone.
SLAN by A. E. van Vogt.
The Witches of Karres by James H. Schmitz.
Lord Kalvan of Otherwhen, and Paratime by H. Beam Piper.
However the best of all, is maybe only slightly less know, since the author is certainly extremely well known: Tuf Voyaging by George R. R. Martin. An absolutely fantastic collection of stories about an ecological engineer.
I have so many things to say here, but I think that the kernel of it is as follows.
The Children of Húrin, Beren and Lúthien, and The Fall of Gondolin are a gift, unlooked for and unexpected. They are the best founding mythology one could ask for, three Silmarils in the crown of a lifetime sorting through the mind of his father. We can wish that JRR had lived another lifetime, we are blessed to have gotten Christopher in his stead. If you have not read the forward to The Fall of Gondolin it is a timely and poignant reflection. All I can say is thank you.
Or the groups or that did the wrong thing simply died, and what we are left with are the accidental randomly distributed beliefs that came about for no reason at all, but happened to be ones that weren't slightly more correlated with dying.
The example I like to use here is that it is often assumed that cannibalism taboos arise because people don't want to/don't like to eat other humans, or that doing so increases risk of disease. But 1. Meat is meat, especially once cooked 2. Have you _seen_ some of the stuff we eat? and 3. Instances of humans eating other humans still happen routinely in the modern world when people are hungry enough, though in some well documented instances they don't actively kill anyone for food.
I find a plausible alternative hypothesis to be that the innate (pre-cultural) disposition toward eating conspecifics is essentially random, and that cannibalism is actively selected against because human beings hate nothing more than the feeling of being prey. We kill everything and anything that is even remotely threatening to us. Groups _without_ the cannibalism taboo are thus much more likely to be wiped out as a result of virtually universal hatred and fear by any other group around.
"Why don't we eat the people we kill mommy?" -> "Because eating people is bad and you are more likely to get sick." vs "Because if we did everyone else would hunt us down and kill us and anyone who believed like us. Better to leave them be or bury them to show we are not predators."
There is probably an answer out there waiting to be found in a pile case studies and social science polls.
Yes, but you really have to make sure that it is indeed just and accident of history with no other side effects. I can imagine a case where some of the BART tunnels are too short for some trains that run on standard gauge rails, and you don't want someone to accidentally run a standard train over those tracks and get stuck. There is no way to know this without looking. We cannot imagine all contingencies, but we should probably at least look for the ones that we can imagine.
Another point that seems related is the difficulty of call/cc semantics when dealing with changes in state that are outside the semantics of the virtual machine. It seems to me that there is no easy way to avoid cases like described in the article without forcing explicit accounting of a massive amount of implicit state. Depending on your use case the tradeoff might not be worth it.
On the other hand, I would argue that the idea of a build is an entirely valid and useful construct, it merely represents a point in state space against which test cases (and production) must run. It is impossible to get away from that state. Some tools can make managing it easier, and some make it virtually impossible to manage. Imagine that we discovered a magical halting oracle and that we could compile everything instantaneously, we would still have to figure out what combination of states were valid, and we would call that the 'build'.