Questions
patrickcollison.com
patrickcollison.com
Several reasons. First, you need to recognize that any Sweden-based startup will, when it gets to be known internationally, have a Stockholm-based office. So it's not about a city of 1 million inhabitants, it's a country of 10 million that's the true number here. As an example, I believe Spotify opened their original offices in both Stockholm and Göteborg more or less simultaneously.
With that said, a commonly stated reason for why Sweden in general has such a high prevalence of tech startups comes from a bunch of fortuitious decisions in the 90s and 00s. In 1998 Sweden's government started a program that allowed employers to sell their employees computers under a tax free scheme (the so called Hem-PC-reformen https://sv.wikipedia.org/wiki/Hem-PC-reformen). This was extremely popular, and led almost every Swedish home to get an often extremely overpowered personal computer. Thus, practically everyone who was a kid in 1998-2006 (the rebate was cancelled in 2006) grew up with a computer. This gave Sweden a huge advantage compared to other countries in the early Internet revolution.
Sweden has also invested heavily in building a fiber network, you have access to gigabit Internet even in some extremely rural areas.
Another thing is that Sweden doesn't have the tradition of dubbing movies. That means kids will be exposed to English from an early age. This leads to Swedish tech companies not being afraid of hiring talent globally and generally use English as their business language.
Finally, out of the 5 examples posted, one is Mojang, which is clearly an outlier. I'm not saying what Notch accomplished wasn't extremely impressive, but it was essentially a one-man operation, and probably shouldn't be held as an example of a trend.
I found this to be almost impossible to achieve when I moved from Norway to Australia. There I was outside hanging out with friends or just doing stuff on the beach or whatever. The deep focus was harder to achieve. Quality of life was insanely better there, yet somehow I missed the possibility to sit down and be productive in some narrow topic.
Wealth is one of the most important factors for someone to found a startup. You aren't going out and starting a company if you have to work 80 plus hours a week to live.
Just look at the clueless opinions of so many tech founders about how "you shouldn't pay yourself a salary at first after you take investment money". Oh really? So we should just buy groceries and pay rent from the trust fund mommy and daddy gave us?
Wonder if that's also a factor in the prevalence of tech/programmers/hackers in Russia. Don't think there's a startup scene there, but there definitely seems to be more technology experts coming from the area in general.
I’d say proficiency in English and quite wealthy populations is what matters.
I also recall Jared Diamond debunking this as a theory for why "the west" got ahead in his book Guns, Germs, and Steel.
(disclaimer: I am an American and don't know what I'm talking about. I have visited Norway but it was summer.)
So I daresay there's more to this than just the Arctic Circle.
Just because of sun? Did you try UV?
> yet somehow I missed the possibility to sit down and be productive in some narrow topic.
Do you mean that you preferred the life you led in Australia to the one in Norway? If not, how do you mean that quality of life was insanely better?
Purely anecdotally, I am not part of a startup, but do a lot of hobby work in coffee shops around Stockholm. I'm always seeing/hearing people in local cafes discussing some new startup or project they are getting off the ground. I've also seen first hand many people get maybe a year or two of funding and start up their own game studios, for example. Of course not all of them end up being successful, but many people feel secure/comfortable enough to try. I think the volume of these attempts and people trying to do something new also helps drive up the number of "hits" overall, to be added to these kinds of lists.
A relatively egalitarian society with a lot of trust between people and towards the government has made progress relatively effortless. When people don't feel the need to guard their own position because they might end up getting screwed there often isn't any good reason to be against development.
A relatively large amount of excess time, security and knowledge that enable people to something else. Startups are ultimately about harnessing excess potential. If all the value are capture by some other industry or the housing market there won't be much left over for startups.
Various cultural factors enabled by those things. Like being able to be independent (with the help of the government). Not being afraid to leave value on the table. An overall sort of generous, or at least non-petty, society.
If you look at factors like these, you can actually draw a lot of parallels to somewhere like SV compared to the rest of the world. SV is to at least some degree a recreation of academic life at its best. Which is the area of US society that would be most similar to Sweden.
I’m not sure this is too applicable to SV, lol, nor academic life in the US.
Sweden's social safety net is among the strongest in the world. If the floor on failure is that you still have access to food, housing and healthcare then quitting a full-time job to start a company becomes much more possible.
More people starting companies, more attempts at big targets, more outlier successes.
Initially it was just non-commercial Internet for academic institutions, but lots of students were exposed to the technology and the infrastructure early on.
[1]. https://en.wikipedia.org/wiki/History_of_the_Internet_in_Swe...
From what I understand, both Holland and Sweden are culturally similar enough that I can't immediately think of other factors that make 'us' more hostile to startups.
Also, compensation. The Netherlands has a lot of good people, but they’ll leave for greener pastures.
Obviously, there is the business side in addition to the computer science side. I don't know much about that with respect to Holland.
But one possibility is that Dutch computer scientists tend to leave Holland to work. That explains why I know of so many as an American? (e.g. I worked with Guido van Rossum and Werner Vogels advised my master's project)
Without disputing the technical correctness, Spotify's Göteborg office was literally a single desk at a shared office for the first three years of its existence.
The former hosts ABB and has tons of robotics related research, the latter has one of the major universities. The startup scene is smaller in Västerås than in Uppsala though.
Uppsala produced Klarna and Skype, Västerås produced Pingdom, to name some.
Here in Belgium, in the Flemish part of the country we don't dub movies but in the French part we do. The levels of English are massively different, not sure if this is the main reason.
When I tutored, I found students often had some misunderstanding, somewhere. So my task was to listen, to find that misunderstanding, so I could correct it. This "teaching" is listening, more than talking. The idea is they are lost, but to know what direction they need, I first must know where they are.
To correct misunderstanding without this guidance can be very difficult, and might only happen serendipitiously, years later... assuming they continue with study. Which an unidentified misunderstanding can prevent.
Recently, I'm seeing the other side, while self-learning some maths. I can see how much one-on-one tutoring would help clear up misunderstandings. Instead, I'm using the strategy of insisting on starting from the basics, chasing down each detail as much as I can, using online resources, and working out proofs for myself. Each step is a journey in itself...
Luckily, I have enough skill, confidence, motivation and time. By working it out myself, I think I'm also gaining a depth of understanding I could not get from a tutor's guidance.
But it sure would be a lot more efficient!
[ PS I haven't yet read the two pdf's in the question ]
With that in mind, one of the interesting findings in language acquisition studies is that when free reading (reading things for pleasure), it takes 95% comprehension of the text in order to acquire new grammar and vocabulary in context (quite a bit higher than most people imagine -- which is one of the reason people advance a lot more slowly than they might otherwise).
With that, just like your experience, the key to teaching is to ensure that the student comprehends at least 95% of what you are saying. The only way to ensure this is by constantly testing their comprehension with a two way dialog. Once a very high level of comprehension is reached, and once enough repetition happens to remember the thing, you will acquire the knowledge.
It is incredibly difficult to do this unless you are teaching 1:1. There is a special technique called "circling" that you can use to teach language to a larger number of students and it worked extremely well for me. I still can't effectively do it for more than about 10 or 15 though. If you think in a 45 minute class, if I have 15 students, then each student gets 3 minutes of my time. It's not actually surprising that classes of 30 or 40 basically impossible.
Quick note: I'm no longer teaching, in case it is unclear from the above.
I am not saying that their technique is the most efficient (e.g., adding hints would undoubtedly increase the efficiency, but also ruin the game experience), just that there are other methods of making sure a student understands a concept. You don't necessarily need the one-on-one conversations. Those conversations are mostly useful to round up incomplete teaching material (again, I am not saying that creating perfect teaching material is easy).
strongly disagree. learning chinese by youtube. I comprehend 15% but I pick up new patterns and words all the time.
That said I must to add, that I am referring to teaching humans who are 12 years and older (IMHO young kids require physical interaction if you want to avoid psychological conditions).
The commenter above made a good point about the value of removing barriers to learning as a primary asset of a good teacher. People tend to focus on content knowledge/curriculum as the mark of good teaching, but removing barriers is the real, difficult work. Tools that assist the instructor in understanding their students’, their students’ knowledge, and their learning behaviors would be valuable. Don’t focus on content delivery. Focus on making in-class assessment more frequent and trustable. Focus on tools that assist an instructor understand thirty students as they might understand five.
P.S: I was supposed launch a month back. But a lot of rewrites made it difficult. For now, I can say I will be launching soon.
I did this for a while and gave up the self-learning aspect and went to university to study math part-time. I have the utmost respect for anyone who has the patience to push through it on their own. Some things I can learn on my own but higher maths I couldn't--at least with any degree of efficiency.
I had that experience sometimes when preparing a question to ask on-line. Sometimes it becomes clear when trying to see it from the other direction of the listener, or researching the problem space to phrase the question properly yields unexpected results.
At least one reason is that we have substantially different safety regulations since we're not accepting of deaths on a project like that. 5 people died on that project. 11 died to build the Golden Gate. Original Bay Bridge? 24.
They actually had a rule of thumb at the time: 1 death for every $1M spent on a project[1]. Any metric like that would be absolutely unacceptable today.
[1] - https://www.npr.org/2012/05/27/153778083/75-years-later-buil...
80 Transcontinental Railroad
80 Suez Canal
50 Brooklyn Bridge
17.46 World Trade Center
6.4 Sydney Harbor Bridge
4.47 Hoover Dam
3.37 San Francisco Bay Bridge
3.33 Eiffel Tower
2.67 Titanic
2.5 Sears Tower
1.47 Empire State Building
1.17 Trans-Alaska Pipeline System
0.75 City Center Las Vegas
0 Chrysler Building
Topping all of those by a large amount are the Panama Canal and the Burma-Siam railway, which I did not include because I don't have numbers--they are literally off the chart. I mean that literally. On the bar chart I'm getting the numbers from [1] the bars for those are so big they are clipped and the number is not visible.[1] https://www.forconstructionpros.com/blogs/construction-toolb...
Looks like I zoomed in (cmd-+) a few times to make the numbers more readable, and went past what the page's CSS could handle.
In the mid 90s the bridge name was changed. It is now generally referred to as the “Ironworkers memorial bridge”. Anyone crossing that bridge since is constantly reminded of that engineering error.
“Better safe than sorry” is rising belief.
Once this truism became generally accepted, as it generally is, it has precedent over other considerations. Since “safe” means more than physical safety, practically any human action is subject to exponentially increasing levels of scrutiny. It takes time to come to an agreement that everything is safe. In big projects it takes a lot of time. On bigger projects it might never come.
I think this is a cowardly and inaccurate belief and agree it is what it driving changes across all areas.
It is the institutional flaw of democracies and free markets. People (demand) are capable of acting irrationally and emotionally leading to a reduction of individual and public good.
Throughout history you find the people who believe this are not the ones who's safety is sacrificed in pursuit of some grand project...
Another way to look at this is to ask why the United States seems incapable of even maintaining existing projects. For example, look at the current state of the New York City subway.
I suspect slowness in building new infrastructure, and poor maintenance of existing infrastructure, have the same root cause: lack of political will.
American voters don't expect their governments to be good at this kind of thing. European voters would vote politicians out of office if their transit systems got as bad as the NY subway has become. It would be seen as a failure to execute one of the basic duties of government.
Americans often vote those people out of office and their replacements are equally useless or worse.
We have created a system where results often don't matter as long as there is the correct capital letter next to your name on the ballot.
Compounding this further is that politicians know that they can count on your vote but they rely on the money of industry and lobbyists to campaign. Thus the very industry that is supposed to be fixing the problem under contract is able to overcharge and take longer than agreed becuase our politicians rely on them for funding.
Nowadays, big projects in the West are far more complex since have to meet more demands and more stakeholders are involved. In authoritarian countries, this is not so much a problem, the new airport in Istanbul is built very fast, but concerns from citizens are not respected etc.
Pure utilitarianism leads to outcomes that are clearly out of step with almost everyone's moral codes. For example you could kill someone and take their organs to save the lives of 4-5 people. Is it rational that we're not allowed to do that? Why do some people get to keep 2 kidneys when there are others with none?
This is solved at least somewhat by using 'rule utilitarianism' instead of 'act utilitarianism'. Society is better off as a whole if we adhere to rules such as protection of the human body or safety regulations when constructing buildings.
There was a pretty good short story, "Dibs" by Brian Plante, about that published in the April 2004 issue of Analog Science Fiction and Fact.
Everyone was required to be registered in the transplant matching system. Occasionally you'd receive a letter telling you that someone was going to die soon unless they got one of your organs. That person now had dibs on that organ, and if anything happened to you before they died they got it.
Usually you would get another letter a couple weeks or so later telling you that the person no longer had dibs, which generally meant that they had died.
Sometimes, though, you'd get a second dibs letter while you already had one organ under dibs.
And sometimes you'd get a dibs letter when you already had two organs under dibs...meaning if you died now it would save three lives. At that point you were required to report in and your organs were taken to save those three other lives.
The story concerned someone who worked for the transplant matching agency who got a second dibs letter and was quite worried. He illegally used his insider access to find out who the people were who had dibs on him, and started digging around to try to convince himself they were terrible people who didn't deserve to survive to justify illegally interfering, if I recall correctly (I only read the story once, when it was in the current issue).
I don't remember what happened after that. I just remember thinking that it was an interesting story and explored some interesting issues.
Killing someone to take their organs to save 5 lives is utilitarianism to only first order effects. We live in a world that does not terminate after one time step, so we have to consider Nth order effects to calculate utility.
For example, the second order effect is other humans' moral judgements. "How horrible, he murdered that man" is a valid moral reaction to have, and this is disutility that must be accounted for in a "pure utilitarian" world view. Third order effects may be the social disorder that results from allowing such ad hoc killings as means to an end, and so on.
The only thing preventing pure utilitarianism from being viable is a lack of compute power, and "rule utilitarianism" is a poor heuristic based approach for philosophers without patience ;)
No, but that should be the ideal which you should strive to move towards, when practicable. But you can't ever actually get there, and shouldn't try infinitely hard either.
The question, as always, is: "Where do we draw the line?".
Reliably the people absorbing the risks capture almost none of the added value.
Yes, it's a great idea. Killing one person will allow us to double speed. How exactly I wonder, but this seems like the kind of project where asking questions is strictly forbidden.
We built the first interstate highways pretty quickly too, and part of why is we just plotted a line and set the bulldozers to work. Nobody worried about habitat destruction, erosion, endangered species, etc.
# 10 are confirmed dead on the HK portion, the death toll on the Chinese portion is unknown.
There's little question that lax worker safety and weak labor laws can contribute to faster economic growth, but I'm not sure that's something we should be trying to replicate.
https://en.wikipedia.org/wiki/Hong_Kong%E2%80%93Zhuhai%E2%80...
http://www.ejinsight.com/20170413-how-many-more-people-have-...
Except for car deaths. Over one million a year seems to be acceptable.
Because we are lying about inflation. It's not a conspiracy, just a mutually agreed-to delusion. By pretending inflation is lower than it is, the poor feel like they are standing still instead of sinking ...though instinctively they know. And the people just keeping up get to feel richer. Since technology and efficiency improve, the people staying in the same place have cooler things.
If inflation were reported correctly, average would see their paychecks dropping as wealth and power consolidate elsewhere. There is no interest in creating alarm around this fact. Instead the public is distracted by social drama, and political discourse consumed by things that do not affect the real shift in power.
Unless you do, I think it those industries are getting more expensive due to Baumol’s Cost Disease:
To give you an example from construction, a company producing a complex part is "giving away" 3 day training in fancy locations, with all hotel & meals paid by the company. As a government employee who gets a fixed salary no matter the results, would you prefer using a product which gives you to these free trainings (free mini-holiday), or using a cheap part which does the same thing, minus the fancy training sessions?
I think the root cause is having some people in charge of other's people money, without clear responsibilities (vs. evaluations which happen in private companies, with the possibility to getting fired anytime if you have a poor performance on result-oriented KPIs), AND having a monopoly. You can't simply start another healthcare or education system, without complying to all existing complex regulations & processes.
You're right that macroeconomic indicators don't seem to tell the story, but I can't square my experience with your claim.
1. He has a Master of Physics, I don't have a degree.
I think all of the areas Patrick mentions are places the government has decided are “multipliers,” and has directed spending or subsidy. I vaguely recall a discussion in undergrad macro that it was always an advantage to be at the place inflation is injected into the system. We’ve had these input points for 60+ years.
Tech is a mixed bag, but housing, construction, medicine, and education are all prime places for social “investment.”
So as the efficiency of everything else goes up, the cost of those things is depressed. But teachers cost the same. So relatively under an inflated environment, they become more expensive.
Disposable income in France is vastly lower than that of the US. Is that inflation? Or tax policy?
Because we as an industry made a strategic decision in the late 20th century to value run-time efficiency over all other quality metrics, a decision which has manifested itself in the primacy of C and its derivatives. Everything else has been sacrificed in the name of run time efficiency, including, notably, security. Development convenience was also among the collateral damage.
> Why can't I debug a function without restarting my program?
Because you use C or one of its derivatives instead of Lisp or one of its derivatives. In Common Lisp you can not only debug a function without restarting your program, you can redefine classes without restarting your program. It is truly awesome. You should try it some time.
> Because you use C or one of its derivatives instead of Lisp or one of its derivatives. In Common Lisp you can not only debug a function without restarting your program, you can redefine classes without restarting your program. It is truly awesome. You should try it some time.
There is no technical reason why it shouldn't be possible in C, if you are willing to do without many optimizations. One approach is to make a function stub that simply jumps into the currently loaded implementation. A more efficient but more convoluted way is to patch the address of the currently loaded implementation at all call sites.
The problem is that in general you can't simply replace a function without either restarting the process or risking to crash it. In general functions have some implementation-dependent context that is accumulated in the running process, and a different implementation does the accumulation in a different way. I'm not a lisper, but there is no way this is different in LISP. (And it is not because in C you often use global data. "Global" vs "local" is only a syntactic distinction anyway).
If you're willing to risk crashing your process that's okay. It's often a fine choice. And you can do it in C. The easiest way to implement approach #1 is to load DLLs / shared objects.
A super generalized description of a C function might check if a register contains a positive value. If so, it will then jump to address 0x42, which is a memory offset, which is the beginning of another function. Its near impossible to "swap" out what lies at 0x42 since that was defined at compile time and is included in a monolithic executable.
Looking at more dynamic languages, like C#, Java or LISP, they run on a virtual or abstracted machine instead of raw registers. This means that a similarly defined function will instead jump to whatever matches the requirement. That means that we could have a lookup table that says we should jump to a symbol of S42, and based on what we have loaded in memory, S42 resides at 0x42. Essentially, all functions are function pointers, and we can change the value the resides in that memory address in order to swap out implementations of whatever function maintains the same signature as the intended function. This is why one can make trivial changes to C# in visual studio while stopped at a breakpoint and have those changes applied to the running program. Instead of jumping to 0x42, we jump to 0x84 by "hotswapping" the value of the pointer we're about to jump into.
Obviously this isn't entirely the truth, there are a lot more nuances and it's a fair bit more complicated than this, but the idea should hold water.
Furthermore, it doesn't matter whether you are running on a virtual machine or on bare metal. What matters is if you have turned on optimizations (such as hardcoding of function addresses, or even code inlining) that remove flexibility (such as hot swapping of code). Visual Studio can hot-edit C code as well.
And as I stated, it is pretty easy and common practice to hot swap object code through DLLs or shared objects even on less high-tech platforms. It's easily done with function pointers (as you described) and a simple API (GetProcAddress() on Windows, dlsym() on Linux). Why shouldn't it be possible in C?
Virtual Machines bring portable executables and nothing more, I think. Well, maybe a slightly nicer platform for co-existence and interoperability of multiple programming languages (but then again, there is considerable lock-in to the platform).
I don't know the true cause -- I wish I did. But I do do see a trend towards an ever more "hands-off" style of software development: large volumes of automated (especially unit) tests in preference to interactive approaches (or hybrids, like running subsets of tests via a REPL), and running test instances on remote servers (often via extra layers of indirection, such as CI servers) rather than running on your own machine. I'd love to see a resurgence of interactivity, but if anything it seems to be going against recent trends.
Edit: The subjective impression I've got is that doing things the indirect, hands-off way is being presented as somehow more "professional" while hands-on interactivity is the realm of the self-taught and hackers. Do others see this? What can be done to change these perceptions?
Don't you find that web & javascript are pretty much a straight denial of your argument ?
They're "secure" (meaning we let anyone's javascript code just run in our browsers, even embedded in other people's code, and seriously expect no ill effects)
They're extremely inconvenient to develop with. Especially compared to those "run-time above all else" environments you mention. For one, you need to know 5-6 languages to use the web.
> Because you use C or one of its derivatives instead of Lisp or one of its derivatives. In Common Lisp you can not only debug a function without restarting your program, you can redefine classes without restarting your program. It is truly awesome. You should try it some time.
I think you'll find that pretty much any environment allows this. Even without debug symbols you mostly can do this for C, C++, ... programs. On the web, you can't, because every call immediately gets you into overcomplicated minified libraries that you can't change anyway, assuming it doesn't go into a remote call entirely.
And there's environments that go further. .Net not only lets you debug any C function you run within it, you can even modify it's code from within the debugger and "replay" to the same point. I believe there's a few more proprietary compilers that support that functionality too.
You should probably direct that question at Patrick because his original question was kind of based on the premise that the answer to your question is "no".
My personal opinion? No. OMG no. Javascript and HTML are both poorly designed re-inventions of tiny little corners of Lisp. In that regard they are improvements over C. But no. OMG no.
> Even without debug symbols you mostly can do this for C, C++, ... programs
No, you can't. You can grovel around on the stack and muck with the data structures, but you can't redefine a function, or redefine a class, or change a class's inheritance structure without restarting your program. In Common Lisp you can do all of these things.
This is true if you go to a production website and try to start debugging. But it's untrue for any modern development environment. The minification comes later and even then, source maps are first class supported in browsers, mapping the minified code to the source.
It's funny. In my experience the web debug tools are some of the best of any language/environment I've experienced.
I'm not sure how this is a denial of lisper's argument. You've picked an environment which you admit has major flaws, but those flaws are independent of the issue at hand.
I've worked in runtime-perf-above-anything programming environments which required the use of many different languages even for the simplest program. It's terrible there, too. That has nothing to do with dynamic languages. In fact, due to the ease of creating DSLs, most of the dynamic languages I've used allow one to get by with using fewer languages.
> On the web, you can't [do this other thing you can do in Lisp], because ...
Indeed, you've picked the one modern dynamic environment which lacks most of the features lisper is talking about. That's not an argument against having those features. I think it's mostly an observation that this particular environment picked a different attribute (runtime security) to optimize for above all else. You'll note that JS-style security is fundamentally incompatible with many of the concepts in OP's original question.
> I think you'll find that pretty much any environment allows this. Even without debug symbols you mostly can do this for C, C++, ... programs.
Can you give an example? I've never heard of a C++ system that let you redefine classes at runtime without debug symbols. I can't imagine how it would work. How would you even inspect the classes at runtime to find out what you're redefining?
I don’t expect that. Use after free vuln + heap spray + shellcode = Ill effects
The rich powerful development environments you've described exist primarily in proprietary, integrated environments. If you want to integrate the editor, debugger, OS, and language, it helps to be able to coordinate the design of all those components.
On the other hand, languages that have gotten to huge popular scale have typically been more open in their specification and implementation process. Perhaps this is because the creators of breakthrough tools that drive language adoption (like web frameworks or data science kits) prefer these tools, or because the sorts of conditions that lead to creation of such tools are inherently marginalized ones. In other words, if you're a happy iOS developer using a lovely integrated world of xcode and swift, you're not going to spot a dramatically underserved development niche.
I did my masters thesis in 1986 on Coral Common Lisp on a Macintosh Plus with 800k floppies and 1 MB of RAM. It had an IDE that would still be competitive today, indeed is in some ways still superior to anything available today. All this was possible because it was Common Lisp and not C. The language design really is a huge factor.
(Coral has today evolved into Clozure Common Lisp, which is completely free and open (Apache license). You really should try it.)
Worth noting that Patrick Collison was/is a Lisp user. While in high school, he won a fairly prestigious Irish national science-fair-type contest (the “Young Scientist”) with an AI bot written in some Lisp dialect.
IIRC he also contributed some patches to one of the major Lisp projects.
The .net CLR has a lot of the features that he would want to enable the kind of interactive debugging (variable hovers, REPL) he talks about, and Visual Studio itself supports a lot of them.
Personally going from doing C# development in VS2k15 to doing golang development in VSCode feels like going back in time.
Except if that were the case, we wouldn't have so many bloated framework code and towers of abstractions, dragging runtime efficiency to the bottom.
So that's a common reason slowing every shift to a higher level language or library, to tools that automatically create stuff for you(GUI, optimized code from dsl), to using a platform controlled by another company(one important channel for newer tech, with some strong ux benefits over open-source), to trusting open source.
On modern machines, this excuse is even better. Full control can easily mean 100x difference in speed. Most importantly, how do contemporary lisps deal with arrays of unboxed structs or primitives?
Because you use C or one of its derivatives
It's doable in java which is, I think, a derivative of C.
> Books are great (unless you're Socrates). We now have magic ink. As an artifact for effecting the transmission of knowledge (rather than a source of entertainment), how can the book be improved? How can we help authors understand how well their work is doing in practice? (Which parts are readers confused by or stumbling over or skipping?) How can we follow shared annotations by the people we admire? Being limited in our years on the earth, how can we incentivize brevity? Is there any way to facilitate user-suggested improvements?
The great thing about books is that no matter how long they've been sitting around, it's easy to take one off the shelf and read it. The cultural infrastructure of written language has been around much longer (and been much more stable) than the computational infrastructure you'd need have your "magic ink" still work in 1000 years. At some point we need to start treating computers and software more seriously if we want to have things like this.
Similarly, anything writen about an implementation is short lived. The Idiots Guide to Windows 98 is less useful today than it was in 1998 and is getting less useful with time.
Lovelace, Babbage, Turing, McCarthy et al are still seminal. But these are academic papers that focus on what is possible to compute and how one might construct an implementation.
There are some interesting edge cases too. Is the Gang of Four Design Patterns still relevent? Its not embarassing, but its not as applicable as it used to be.
Now .. on topic ... I had a roomful of books collected from my youth. I cleaned out my room at my parents house some years ago ... and pretty much everything got chucked. The only books that I kept were seminal books like Knuth, Cormen, Gang of Four, TCP/IP series (v6 kinda makes them out-of-date too). All my MFC books ... java books .. pretty much all of it was out of date. I had an epiphany .. CS does not age well at all.
I no longer buy physical books ... I got a subscription to Safari and love it. Also consume tons of content on e-learning platforms. But .. I really miss real books.
However, rom files specifically (as opposed to executeables for retro computing platforms) seem to be distinctly less fickle in becoming reliably emulateable.
The reason is seemingly simple, the early rom files were essentially an operating system, having all the software required to boot the system included in what now looks like one file.
That said, I am not a particular fan of books. They take a lot of physical space, are heavy and age. So as long as we stick to reasonable formats (e.g., text-based, non-binary), it should not be too hard for future generations to use our books.
Using DRM, on the other hand, might make things complicated.
You might argue - and I would agree - that this is not necessarily a good thing as far as content goes.
But the point is that putting something into writing snd giving it a tangible form on paper gives it an inherent stability and authority missing from digital media.
We tend of think of digital media as temporary, disposable, relatively low value simulacra of a Real Thing.
Digital media can be hacked, edited, deleted, and lost when the power goes off.
A copy of a book from hundreds or thousands of years ago is just going to sit there for some indefinite period. (Which actually depends on the quality of the paper - but in theory could be centuries.)
This is not about practical reproduction and storage technologies, it's about persistence and tangibility.
A book is a tangible object which has some independence from its surroundings. After printing, it's going to exist unless you destroy it. If you print many copies the contents are geographically distributed and it becomes very hard to destroy them all.
A file depends on complex infrastructure. If the power goes down, it's gone. If the file format becomes obsolete, it's gone. (This has actually happened to many video and audio formats.) If there's an EMP event, it's gone.
And it's not just a tangible difference, but a cultural. We have a fundamentally different relationship with digital data than we do with tangible objects, and this influences the value we place on their cultural payload.
Any examples of video or audio files that are currently impossible to watch/listen to because knowledge of the file format, and all software capable of playing it was lost? If such a thing has happened, there are probably people interested in reverse engineering the format.
On the other hand, old books, with their high-quality paper, binding and letter-press print do seem have some kind of personality...
That's their loss. There are very few people who want to learn math too.
I wrote my own implementation of RSVP, which has eBook reader support, and now it is absolutely my preferred method of reading, and I read at 1000WPM. Though normal books are still enjoyable, they feel tedious and slow.
The project is here:
https://github.com/GlanceApps/Glance-Android
(It needs some help being updated for recent versions of Android, please let me know if you'd like to be involved! It has a new back-end API in place already and it just needs a few simple updates.)
I think it would be more readable to put it in an area big enough for the longest word, and then RSVP through the message repeatedly.
If anyone wants a simple way to play around with RSVP, here's a little quick and dirty command line reader I wrote a long time ago to play with this: https://pastebin.com/zfq2eW4n
Put it in reader.cpp and compile with:
$ c++ reader.cpp
To use: $ ./a.out N < text
where N is the number of milliseconds delay between words. It will then do the RSVP thing. It should compile with no problem on Mac or Linux.If a word (which is really just a string of non-whitespace surround by white space) ends with a period or comma, the delay is doubled for that word.
There's a commented out check that sets a minimum line length. If you compile that check it can put more than one word on a line to make the line at least a minimum length.
PS: this aligns the words on their centers. To change it to left aligning them change where it sets the variable "pad" to use a small integer instead of basing it on the length of the word. If it is the same for all words, it becomes an indent for left alignment instead of a pad for centering.
BTW - The Google Play link in the repo doesn't work for me, and I don't see Glance in F-Droid. What's the easiest way for non-developers to get the APK?
http://howicode.nateeag.com/data-preservation.html
As one of the more recent additions to that essay shows, I'm not the only one with that opinion:
https://partners.nytimes.com/library/magazine/millennium/m6/...
As I note in the essay, there are some technologies that work better than others for preservation, but digital's biggest weaknesses are inherent, I think.
First, what's the purpose of books ?
There's entertainment of course. But let's focus on books that teach. Their purpose is to let you access some knowledge, in a deep way.
On the other hand, computer systems are starting to fill that role, and the level of depth they can achieve is growing - on a good day, with the right query, Google may give you access to Amazing content, content that may help you connect different concepts - based on your past searches - just like your brain does.
Another option is if it was easy for a book author to package her knowledge in a smart chatbot or maybe an expert system, and we will have hundreds of such advisors advising us, or just interactively chatting with us,correcting our mistakes, that would be an interesting replacement to the book.
The second edition.
And how could books be improved?
Until a different unpowered human-readable medium is proven over a longer period of more careless storage conditions, looks like a third edition if appropriate.
If it hasn't been printed it hasn't really been published as thoroughly as it could be, and if it hasn't been bound then it's not yet a real book. Up until recent decades the survival of unique knowledge was largely dependent on the number of copies printed and distributed, so popularity has had undue importance.
But don't let earlier editions become lost or woe on you.
Fun fact: HN's been around for 10% of a century. That makes Arc one of the longer-lived programming languages.
Re: the ability to take books off the shelf and read it, Library Genesis has made a lot of progress in that area. http://libgen.io/
And then there is a trend to switch to onboard soldered flash in new devices which adds further problems.
Not saying this is impossible to overcome, but "PDF might still work" is at best solving a part of the problem, for only a part of all data (PDF is great - but only for some types of data) one might want to preserve.
I'm no historian so this is probably misguided, but I feel like this is an indicator for a society on the decline. Corruption is increasingly rampant in both the public and private sectors, and money is being siphoned off at every step. If we don't figure out how to fix it, mounting costs and inefficiencies could put and end to our era prosperity soon. We've allocated power to people interested in screwing others for short-term (e.g. their lifetime) gains. Rah rah doom and gloom.
>Could there be more good blogs?
>Are there incentive structure tweaks that yield more good blogging?
The missing validation mechanisms like Facebook likes the author mentioned are largely filled by link aggregators. Posts on HN and Reddit have a score which acts as a similar dopamine drip to likes. I feel validated and encouraged to write more when my blog generates discussion around the net (though often with an equal sum of embarassment when my flames make it to my colleague's desks).
>Why are programming environments still so primitive?
This guy should try working with plan9 and acme for a few months. Author, if you're reading these comments, you should install 9front, spend a weekend grokking it and becoming comfortable in a workflow there, then set up a Linux VM with vmx(3) and a 9P mount to your host system to get your Real Work done while continuing to learn about the plan9 model. Be prepared for your entire workflow to be turned on its head and to have to find creative ways out of your problems. Maybe today is one of those days where you change your life in a big way :)
This is utter bullshit when it comes to the sort of major public infrastructure projects hinted at in the original post. In fact, what slows things down significantly is the fact that there are so many controls in place to reduce and eliminate this corruption. Contracts that could have been settled with a fat envelope to the brother-in-law of the county commissioner are now handled in a much more open and transparent process. Corrupt profits that could be skimmed by using sub-standard materials are now prevented by layer upon layer of inspection and sourcing paperwork (which all increases cost.) Projects that could once move quickly because unions were weak and safety regulations were non-existent, to the point where contractors could simply throw human lives at the problem until it was solved, now move at a slower pace and with far fewer deaths as a result.
Infrastructure may take more time and cost more, but the cost in lives during construction and after the project is completed are much lower.
But, generally speaking, corruption can just indicate something that has deviated from its original use. A corrupted file on a computer does not meet its intended purpose, at least not fully. A corrupt organization, likewise, could be 100% honest in all its dealings (1) and fail to meet its intended purpose.
If government agencies partnering with private contractors cannot reasonably build the project all of them exist to build, then there is some sort of corruption going on. It's possible there is graft or underhandedness, but it's also possible that there is emergent dysfunction inhibiting their ability to execute. That is also corruption.
(1) That is, the organization is not morally or ethically corrupt.
A primary driver of the 'slowness' is a major focus upon safety in the workplace. Take a look back at the death rates per 1000 workers for some of the historical projects that people often like to point to and then look at a modern project.
The second element is that these safety elements are often enforced by regulation. For example, look at how much extra scaffolding is in use today during construction (which used to be ladders).
To directly look at corruption, this is an issue but not in a direct way. Corruption happens through the 'contractor ladder' where the primary contractor has a subcontractor who has a subcontractor who has a subcontractor. Repeat ad infinitum.
One of the primary reasons for this is the challenges in maintaining a large enough workflow to keep a standing workforce employed. It's difficult to justify paying expensive construction workers and engineers when they're not actually building anything.
Finally, tendering protocols are often quite naive and have been implemented to make something "least cost". This has led to a nightmare scenario of companies underquoting in order to win a tender, secure in the knowledge that a government will not leave a project half finished. To remedy this better contracts are required, for example, you can offer a recurring revenue stream (e.g. 20-30 years) to a company in return for a particular project. On the other hand, this can often lead to poorly build projects that last exactly 30 years.
Political will can be an important driving force for pushing through major projects, but the most impressive feats of engineering are seen when there is substantial pent-up demand in an economy that can suddenly be supplied, usually due to social or technological change.
I think major projects could still be completed quickly in developed economies if the incentives were to align in the right way, but we don't see it often because the low-hanging fruit has already been picked.
India and Africa are probably the places to look to for rapidly completed major projects over the next few decades, and perhaps we could see significant industrial development in space at some point if the economics works out.
Just install it and try to work normally, and when you find something hard you should research the specific thing you want to do.
I'll pick this one: end users back then (emacs/vba/smalltalk era) are the power users of today. Today's end users are a new kind of users.
Will voice recognition at home coupled with AI allow people to start "programming".
Currently home automation systems through something like Alexa are only listening to direct commands. Interesting follow-up functionality:
* The capability for introspection. Alexa, who is home? Alexa, why are the lights on? Alexa, why are the lights not on? Especially the latter means advanced reasoning capabilities.
* You preferably also want to adjust the behavior by voice. Alexa, when I enter the room I want the lights to go on. Alexa, the lights only need to turn on when it's dark outside.
I had one student working on this problem: https://crownstone.rocks/attachments/thesis/nannewielinga.pd...
Recently I got a request from a person who works a lot with blind people. A system that allows them to query the state of the environment is very valuable to them as well.
It's a different take on being "truly programmable", but I think the different modality makes it an interesting one.
Many of my younger employees have never owned a computer. Literally. They use mobile for everything and only used the computer labs to do word processing and the like in college, or had work computers. And they are incredibly inefficient and basically useless when they encounter these applications for the first time; it is a huge training cost that I didn't expect going into it.
But it makes sense, of course. My industry doesn't make applications for today's end users, it makes them for the people that suffered through the DOS/Windows 3.1/Novell Networking era, because most of their consumers are 30-50 years old in academia or large business.
This split is happening in more than just my industry; it's happening in a lot of others due to the fast pace of mobile adoption and abandonment of the traditional PC. The real fear is that my employees are no better at using mobile devices than I am; in theory they should be, but in reality they're just technologically far worse than anyone else who had to grow up using complex systems. I have long-term fears about what this will do to the population; many people have long assumed that generations continue to get smarter and more tech-savvy, but I have found this to be very, very false in my limited experience.
And today, many systems automatically personalize themselves for us, in very complex way. If the machine learning senses what i want to do(like in Google Search's personalization, which for most people it's probably better than advanced keywords), why do i need to bother with programming ?
In Canada (where this has not happened as badly), an undergrad in CS used to cost 3K annually a decade and a half ago, and costs 10K now. Other disciplines cost 6K I think .. CS degrees cost more since colleges decided that students earn a lot more and there is huge demand anyways. That doesn't seem unreasonable to me.
So .. Patrick's education costs question has an easy answer - govt funds got pulled in the US, and the wide availability of student loans acted like steroids. In places where got funds didn't get cut (e.g. Canada), things cost about the same (when adjusted for inflation and increases in salaries necessary due to things like rent/house price increases).
The question why we could get to the moon in just 9 years, or make the tallest building in 140 days? That is simple too. As a society, we are less desperate than our parents. We are more demanding when it comes to life (hence, wages and living conditions). This has spilled into the regulations we make as a society. I read it was near impossible to make some types of factories in the US anymore - due to our concern form environment, etc. I personally find a lot of red tape frustrating but then I remember .. we (as a society) put it there for some reason.
The idea that a university education is a requirement for anyone wanting a career that guarantees a comfortable lifestyle is relatively new - a post WWII development.
Demand for healthcare has also risen as western populations have aged and more conditions have become treatable. Sixty years ago there were many more health problems that you couldn't spend money on if you wanted to, because they were incurably fatal. Now a significant number of those conditions have become chronic complaints that patients can spend decades paying to treat.
I don't know how much of the cost increase in education and healthcare can be attributed to increased demand, but it seems like it must be part of the answer.
So it's relatively not so much to be within €8k per year for degree level study.
We do have 4 year MEng-s though (same length as many MPhys, MChem, MSc).
1GBP is about 1.1EUR currently (!).
A large contributing factor is that major projects today are much more complicated than they were in the past. The tools we have built are always advancing, but the size of the human brain is not. As projects become more and more complicated, they require a larger number of people to collaborate, and that comes with almost unavoidable slowdowns and inefficiencies. The Lockheed P-80 is nowhere near as complex as the F-35. The BART extension might take longer to build than the transcontinental railroad, but there was no networking equipment on that railroad.
It's also important to distinguish between projects that are deep vs. broad (i.e. those solved by new thinking vs. those solved by scaling up). To be fair, most of the examples in the original article are indeed "deep" projects, but, for example, the Empire State Building was constructed quickly partly because there were 3500 people working on it. As technology has advanced, deep projects just get deeper. Although each level of technology builds on the last, there is still complexity added at every level.
do they do environmental impact studies? was enough time given for the study to complete and people to challenge the results? possibly with another study? are there community meetings to discuss the impact? does everyone in the area have a chance to voice their opposition at an open hearing? do all workers on the construction team have strict safety regulations? require certified training for specific tools? the company selected must pass random workplace safety visits? are they allowed to impact existing traffic flows during construction?
we did this to ourselves
Interestingly, I think those complexities are not imposed by any monolithic person or organization, but is a the bulk result of lots of little regulations. I'm not sure any one specific person is saying "on the whole, this system of complexity is worth it" but rather each one by itself has a specific good (e.g. environmental study) without explicit accounting of the costs.
To be silly and meta, perhaps in addition to a mandatory environmental impact study of each large construction project, there should be a mandatory economic impact study on the environmental impact study.
Something is genuinely wrong when it comes to major projects in America.
There are other examples. I spent a lot of time around Boston, where road work takes ages, the roads are horrendously bad, and the most corrupt large-scale project in history took forever to finish (and then even a ceiling tile fell off and killed someone due to absurdly corrupt quality control). Of course, complex roads projects can be built extroardinarily quickly and safely[1].
1 - https://thelede.blogs.nytimes.com/2007/05/25/california-free...
My own experience bias suggests there is a scale problem related to skilled workers. That is to say there are fewer people with skills needed to achieve the work demanded (by the whole system).
There could be a number of factors here but I’d have to assert education and incentives have not kept pace with the demand. I think this holds true even if we say the projects are more complex than ever or if the technology has advanced rapidly. It still seems like an imbalance of skilled workers to the work.
When would it be good enough to have a simpler or less complex solution and why are we sometimes biased against that?
There’s also a weird sliding window that follows technological advancement and generations - what was complex for one often becomes more simple to the next. With such a rate of technological change and high levels of complexity, this is partly why some get left behind or can’t keep up. But it seems like sometimes we also ignore the simple solution in hand in deference to constant futurism.
We can also make something look very complicated if we try, by switching context, multitasking, improper coordination.
The natural world (think of coal mining, making bicyles, stream engines) always looks very challenging if you're starting out.
> It's also important to distinguish between projects that are deep vs. broad (i.e. those solved by new thinking vs. those solved by scaling up).
Agree.
> As technology has advanced, deep projects just get deeper. Although each level of technology builds on the last, there is still complexity added at every level.
But we see conceptually simple projects everywhere that aren't being done!
We literally use the same tech to construct roads as the Romans. That is trillions of dollars in maintenance.
We know that natural sunlight and biomes would improve people's health in buildings where we spend 99% of our time. We just don't do anything about it apart from a window and a potted rubber plant or two.
We clean our butts with paper! The Koreans and Japanese had this one solved years ago!
There is no great wealth of complexity in any of these - it's just that we've decided not to think about them for legacy reasons.
This is a great question, and I echo many of the sentiments here and elsewhere around general complacency, slowing rate of change (even as bits of technology get better faster), and so on.
But...
One of the reasons that big projects used to happen so fast, is that the interests of people negatively affected by those projects were quickly and efficiently ignored. Of course that's great being able to look back at the big projects is inevitably good, but it's not so great if you were one of the people whose interests were ignored. An advantage of the stasis we seem to be stuck in now, is that we as a society are not quite so willing to stomp all over the interests of whoever happens to be in the way of a great new idea. Is this a good trade-off overall? That's not so clear, but there are good intentions on both sides of the "how fast should be do big things?" question.
"Of course, of course slavery is the worst thing that ever happened. Of course it is, every time it’s happened. Black people in America, Jews in Egypt, every time a whole race of people has been enslaved, it’s a terrible, horrible thing, of course, but maybe. Maybe every incredible human achievement in history was done with slaves. Every single thing where you go, “how did they build those pyramids?” They just threw human death and suffering at them until they were finished."
And the centers of the empires were wealthy enough to developer what we call culture -- architecture, art, music, etc.
Because relative prices (e.g. the ratio of the price of a 42" TV to the price of a cinema ticket) are constantly changing due to changes in technology and competitive dynamics.
Some things have gotten (and continue to get) much cheaper due to technological progress and economies of scale. So, relative to those, anything that hasn't benefited from the same trends looks like it's getting expensive (in real terms). And if that thing (e.g. undergraduate degrees in the US) has weird competitive dynamics (e.g. willingness to pay is driven by the availability of credit, and availability of credit is driven by sticker price, and sticker price is driven by willingness to pay), then that effect is even more pronounced.
Does this fallacy have a name?
Therefore, any sufficiently late stage capitalist society has extremely high costs for all of those areas: it's just the stuff people will pay the most for.
Don't quote me on this.
Unfortunately, most of that effort is noisy but pointless zero-sum re-arranging of positions on the socio-economic ladder, the only beneficiaries being academics, textbook publishers, and campus property developers.
The solution: equality. Guarantee everybody a base level of economic security. From there, give people the freedom to pursue their real passions and interests, rather than waste their lives scrambling over the limited number of economically secure socio-economic positions our dysfunctional society currently offers.
http://vis.stanford.edu/papers/banking
Paradoxically (to me at times, perhaps to you) banking to 45 is supposed to make the chart more accurately read. It does so by more apparent to the viewer where the relevant inflection points are (in this case, the great depression really sticks out visually).
Theoretically, the great depression might not stick out as well if banking to 45 were not done (as I suspect may have been done here).
Whether or not it turns out to be the case here, I suppose lots of the other curious questions in the article have similar answers. When dealing with qualitative measures using qualitative measures, I think even ethical people can forge a system where emergent fudging arises.
I think we (the tech folk) need to sort of up our game in casual analysis from tools like excel (which in actuality relatively good) to something like www.anylogic.com. With systems dynamics https://en.wikipedia.org/wiki/System_dynamics software I think we have a tool that can better elucidate this curious phenomenon where we notice questions whose data "feels a little funny" but may turn out to actually have a demonstrable excuse/justifiable explanation for looking so.
You provide individual, one-on-one full time tutoring to each student, if that is the analytically best method. It's worth it, since educational spending is close to the most effective public spending imaginable - something in the $3-$5 return per dollar spent, which you'd be hard pressed to find any other available investment that can do that consistently.
This also does away with some substantial percent of the overhead of maintaining separate public schools, assuming that this tutoring occurs in either the tutor's home or the child's home.
So, at a modest 2 hours of instruction per day, and assuming people spend on average 12 years in education and 48 years in the workforce, you need at minimum for 1/16th of your adults to be teachers. Not 1/16th to be employed in education but just teachers and just for this education scheme. Today it's about 1/40th (in the us) and that includes post-secondary and administration, logistics etc. so you're scaling up the education sector by 3x or 4x AND you need to find something to do with the kids for the other 5-6 hours when their parents are working.
>It's worth it, since educational spending is close to the most effective public spending imaginable - something in the $3-$5 return per dollar spent
Marginal ROI does not work that way. Even assuming you get that return on what you're spending now, that doesn't mean the marginal dollar invested in education is getting that return nor that you can scale up the amount you spend and continue getting that return.
As for marginal ROI, if the effects are as dramatic as the stated research implies, it'd be more than worth it. It would be a larger increase than the entire implementation of formal secondary and tertiary education system combined, which cost a lot more than K-8. I don't think you can overstate how large the demonstrated effect size was. Think "industrial revolution" or "invention of the printing press".
Essentially you'd be spending an extra 3x the amount we currently spend to get... 5x? 10x? better outcomes. Results from those studies were equivalent to making the current best students in the country suddenly the very lowest tier of educational attainment - top 1% suddenly becomes the minimum standard. Think Rhodes scholars being "the new special ed kids", or the new "functionally illiterate must-pass graduates".
(This is all assuming that the research was accurate, and the magnitude of difference is really that large. I'd want to see a lot of follow up.)
Isn't this close to what students could/should be spending doing homework, reading or doing some projects together with their parents - effectively one-on-one tutoring for every single one of them?
I suspect that US education spending is so high compared to other developed countries because it has to compensate for lack of social support elsewhere in society. The #1 factor in student success is parental involvement. Instead of buying iPads for low-income schools, what's needed is stable 35-40/hr week jobs that you can live on for low-income parents so that they can spend evenings with their family.
Isn't this the promise of the various platforms? I'm talking about Canvas, Moodle, WebWork-type programs. In principle, they can have everyone in the room working at their own level, and only moving up when the system says they are ready.
Not that, as far as I know, those platforms are now being leveraged that way.
This is something I noticed too. And it can't be just blamed to "inflation" of the US GDP. Almost any other country I checked does have fluctuations. Goes through booms and bust. China has gone through an exponential rise but slowed down and seems like it broke the pattern recently.
The US is the only country so far that has been going decades through a constant rate of change. And you can't blame that on inflation since inflation is neither constant; or it would mean that the GDP is constant (and inflation is increasing it). The GDP being constant would be weird too.
So is the US the singularity? Is the US dollar affecting the US GDP; and does it being the reserve currency of the world changes the landscape of the US economy?
I presume every now and again econometrics people have to tweak the way they measure GDP.
Maybe if someone proposes a plausible tweak and it results in a surprisingly high or low figure their idea gets ignored, while it might be taken seriously if it ended up moving the figure towards the historical average.
And part of the trend is simply population growth. Per capita trends are slightly less nice: https://fred.stlouisfed.org/graph/fredgraph.png?g=lpcR
(Note that different scales are used for the real and nominal figures in the charts above.)
Over a slightly longer period: https://fred.stlouisfed.org/graph/fredgraph.png?g=lpdg
The rate of growth is clearly decelerating.
Less diversified economies show wider swings. Australia rode on the sheep's back for most of a century, these days the country's fortunes closely track the prices of coal and iron ore.
Still, from indicators like number of public companies, market capitalisation and so forth, the USA's economy is growing less diverse at the moment.
We are working on making programming environments less primitive. Here is our master plan: https://about.sourcegraph.com/plan/.
I'm still wondering why we are forcing people to write assembly with short and rubbish opcode mnemonics when we are going to compile it anyway.
Even if you look at C vs Rust/Go we have made huge improvements. People don't need to write Makefiles anymore. Packages are easily sharable and re-usable. Security is by default. Etc.
before the change, on those days when it seems like nothing is happening, those people are thinking around the change. constantly, subconsciously (or not) and internally weighing options and possibilities. then, one day, they say "Im done." they find the words needed to make the change, which until then were elusive and, like a key, finding them makes the action doable, and doable without opposition. like a analog-to-digital switch that activates only when the analog portion is in the last 10% of either direction, the pwrson has their finger on the switch for days weeks months before the pressure builds up and things change.
this hypothesis excludes changes made in reaction to other external or involuntary changes in a persons life.
I think all of these are possible already in VSCode/Atom, and especially true if you’re doing reactive UI programming for the web - time travelling, improved REPL, live debugging are all there. A very good spot to be in :)
Doesn't the Facebook editor / autocompleter do that? I guess it's not available to anyone outside Facebook?
> Why can't I connect my editor to a running program and hover over values to see what they last were? Why isn't time-traveling debugging widely deployed? Why can't I debug a function without restarting my program?
print debugging is extremely versatile and the market has spoken that, apparently, nothing else has the same expressive power to overhead trade-off. I have a few theories: tool usability sucks (looking at you gdb), debugging and writing code are two different disciplines so if you can stay in the same modality (writing code) to do debugging it's one less thing that changes from under you, print debugging is versatile and can apply to everything from embedded to mobile to cloud to HPC. print debugging gets a lot of scorn but (if you want an appeal to authority) if you read "Coders at Work" no "famous" programmers use debuggers, they all use(d) print debugging.
This was/is true in C# for 32 bit programs. Being able to code with live data is really productive. Live unit testing also would be a big win.
I do this in Erlang all the time. It's one of the most fun parts about the whole system.
Try JetBrains tools (IntelliJ,Pycharm and kin). I still use vim to edit from a shell, but the JetBrians suite is higher-order coding.
Editing a function while debugging it was available in VB in the 90s. Drag the execution arrow to code you have already run, rewrite it, and step-over.
"Why can't I copy a URL to my editor to enable real-time collaboration with someone else?"
That's one of the things we (Scrimba) are trying to enable dev teams to do seamlessly these days: https://www.youtube.com/watch?v=Rsorl3-TjdY
Instructions on how to try our beta can be found here: https://scrimba.com:9000/@welcome
I shall steal this quote. The humble spreadsheet is just about the only 'programmable' application left on the typical corporate endpoint/educational client PC.
Why pretend IDEs don't exist? For my C++ development I couldn't be happier with Qt Creator (which happily manages non-Qt projects too), which does a lot of nice things to speed up my coding and code understanding.
I only use text editors like the ones mentioned when I have to and IDEs whenever I can.
Why do billionaires so often love to muse about interesting things outside of their field, get attention and praise for their thoughts, and then publicly allocate only tiny portions of their wealth and time to these projects so ineffectually while passing down the majority of their wealth to disinterested heirs?
e.g. Walt Disney, Henry Ford, Edgar Prince, Steve Jobs, Richard DeVos, Bill Ackman, Mark Zuckerberg, Ken Griffin.
Just because they are asking questions does not automatically mean they have the passion to solve the other problems.
I dont know about others but isnt Zuckerberg donating majority of the wealth?
Andrew Carnegie, the richest person of his era, donated 90% of his wealth to philanthropic causes, most notably to local libraries, universities and scientific reasearch. He implored his fellow wealthy people to to the same, believing the only worthwhile purpose for accumulating wealth was to reinvest it in improving society. The Rockefellers seemed to do the same, as have many others since.
In Patrick’s case, his company is still in growth phase and his wealth is mostly on paper, so he’s not able to give much time or money. I’m sure he will when his company’s success becomes more assured and he can spare the time and money. His friend, YC President Sam Altman, has donated $10M of his own money to YC Research to help find answers to hard questions he cares about, which I think is a lot for him (I was surprised to learn he even had that amount to spare as his own company wasn’t a huge success).
Also, Sam founded YC Research and donated $10M of his own money into it to find answers to hard questions about AI, UBI, medicine/health and other big challenges. He also toured the country interviewing Trump voters to find answers to questions about what was underlying the political climate that led to the election result.
What makes you think YC’s leadership think they have all the answers? At least in Sam’s case, the evidence seems to point to the opposite.
For what it’s worth I think there are other questions that are more important and potentially valuable to society than Patrick’s or the ones YCR is currently working on, but that’s just from my own experience and contemplation, and I don’t criticise people whose own journeys have not pointed them to these issues/ideas yet. I commend anyone making serious efforts to understand and solve the biggest issues they can identify with their own experiences and best efforts.
To me, this is not a problem. People should not be rewarded with instant dopamine for low-effort actions. [0] The reward for publishing on a blog is in the responses you receive from readers and not from a counter incremented by a click or pageview.
I rarely see more than shallow insight on Twitter/Facebook, as posts have a short visibility lifetime and replies longer than a sentence are collapsed. By contrast, blogs (not like Medium or Stack Exchange) will often receive deep, thoughtful replies months or years after they are published. There's no "algorithm" to please when you're writing a blog; your post will stay there until your domain name expires.
If you are having issues finding worthwhile blogs to read, ask people around you for suggestions. Not everything needs to be indexed by software.
> And part of the problem is, of course, that writing a good post is much harder than writing a witty tweet.
Where is the problem here? Thermodynamics and information theory tell us that a valuable long-form post ought to be more difficult to write by several orders (of orders) of magnitude. Yes -- it would be wonderful if we could all spit out fascinating 17-page theses every week or two, but that just isn't compatible with our biology. On the other hand, publishing 17 pithy tweets in a week is pretty easy, and people will probably give you plenty of attention for it.
I'm working on writing a shell with autocompletion now [1], and something like crowdsourcing completions in the style of Google query completion has occurred to me.
But privacy seems to be a dealbreaker in this case, and probably with many of the applications that Collison is thinking of.
If anyone has any ideas, let me know :) I know (and have worked on) about differential privacy but I'm not sure it helps here.
Given the number of people here pointing out mature, powerful systems where this is totally, easily possible, I think a more to-the-point question might be "given the availability of debuggable systems, why are systems that do not value this capability so much more common/used?"
...however, I have yet to see a good answer (or even discussion--people love to feel superior and defend their choices) to that question, and it comes up a lot.
And that requires learning new things.
This is the worst combination available for a new tool to have.
> Will end-user applications ever be truly programmable? If so, how?
I think that most end-user applications now have APIs that allow you to manipulate the data. For example, Salesforce, Lever, Excel, etc. all have APIs for reading and writing data. Allowing end users to build custom UIs on top of those APIs seems like a simpler problem.
Retool (https://tryretool.com) is a fast way of building UIs on top of data. And so if there are APIs for reading and writing data from “end-user applications”, Retool lets you build custom UIs and workflows on top of them quickly.
I think this is an interesting problem, and I’m not sure what the right solution is. If anybody else has ideas, feel free to email me — I’d love to learn! I’m david@. :)
I recently read Graeber’s Bullshit Jobs, and suspect the answer lies in there. The examples Patrick lists are all service industries driven by labour costs. This probably influences the following two questions too (project delays and GDP).
However only 50% of the house price comes from the construction industry, I have another comment suggesting part of why here: https://news.ycombinator.com/item?id=18040633
I think the answer to both of these looks something like a text- and figure-heavy Jupyter notebook distributed with a Docker container and embedded datasets.
The point being that books and papers introduce people to certain datasets, then teach how to gain insight from them. This would add the ability to interact programmatically with the data and equations being presented. I’m talking about technical textbooks here specifically.
I don’t know what the successor is to the scientific journal. I’ve talked to a lot of people about this and every time I’m less convinced it can be disrupted. It will require a coordinated international effort.
Lisp was great and VBA was fun back in the days and I love it nostalgically but today VBA looks ridiculous because it actually is neither functional nor an object-oriented but a toy language and the fossil VBA IDE kept integrated in all the modern MS Office apps without an improvement for decades feels like a disaster. It ought to be replaced by either a modern dialect of Lisp (which is improbable as Lisp looks ugly and feels unintuitive to non-geeks and geeks are not the relevant target audience of Excel macros functionality) or something like Python (the best candidate that can probably satisfy everybody).
> Today, however, end-user software increasingly operates behind bulletproof glass. This is especially true in the growth areas: mobile
I believe the main reason here is the cost of supporting (and developing too) the apps and forcing users to do what you want. It's easier when you know all the possible use cases in detail and you are who designs them.
> and web apps.
Web apps don't operate behind bulletproof glass. Thanks g-d we still can view source, inspect, change and script almost everything in the web with the developer tools integrated in every major browser.
Scott Alexander has a great post with lots of data on this:
http://slatestarcodex.com/2017/02/09/considerations-on-cost-...
The numbers are pretty incredible. There is no single clear answer as to the cause of it all unfortunately. It looks like funds becoming available allow a whole bunch of areas to suck more and more money arguably without providing a lot of value. Universities compete to have the biggest stadiums and the most luxurious dorms. Hospitals pay more and more people to manage, oversee, verify, systematize and inefficiently computerize everything.
In a lot of areas, we seem to pay a lot to achieve marginally safer conditions. In the case of health care, if paying 5x the cost extends the life of an additional 0.1% of patients, it's hard for deciders to justify not doing that spending since saving 0.1% of people in hospitals is still saving a ton of people.
Construction projects are like that too, you might be able make construction safer, have 1% fewer injuries, if you are willing to pay 5X more for the project. These safer, but much slower methods often become mandatory.
How do you decide on these trade-offs though?
How does this stack up against US involvement in other"good" wars, where the foe is the unambiguously bad?
I.e not a Vietnam style ideologically motivated confrontation.
For example: the US was in World War I for 574 days (declared war on Germany on April 6 1917, and the war ended on November 11 1918), and entered the conflict with the Zimmerman telegram and German submarine attacks as its casus belli.
But the US had been aiding the Allied powers prior to that, and from the German perspective the resumption of unrestricted submarine warfare, and the resulting attempt to enlist Mexico to join the war against the US, was a defensive move to stem the flow of supplies from the neutral-but-obviously-biased US to Germany's existing opponents.
As is reading it when "a good post" implies a long post. Authors should better realize brevity is a merit and learn to organize the information they seek to share in more concise pieces easier to digest. If encounter a post that seems interesting and fits on one page I will surely read it. If it's about 1.5 screens-long I may read it. If it's more than 2-screens long I will only read it if I believe it is probably going to change my life. And my screen height is just 900 pixels.
> Why do there seem to be more examples of rapidly-completed major projects in the past than the present?
Observer bias. Mean construction time is decreasing at an exponential rate. In the limit: nano-tech, with construction times approaching physical limits.
> Why is US GDP growth so weirdly constant?
Introduce a replicator into a nearly-pristine environment and that's the growth curve.
> How do you ensure an adequate replacement rate in systems that have no natural way to die?
Apoptosis
> Is Bloom's "Two Sigma" phenomenon real? If so, what do we do about it?
Yes. Nothing. There is no working mass education system and no basis for thinking there ever could be.
> What's the right way to understand and model personality?
Neuro-linguistic Programming.
(The "Five Factor" model is no better than Astrology. NLP is based on hard science. It's one of the very few schools of psychology that has repeatable algorithms.)
> Will end-user applications ever be truly programmable? If so, how? Why are programming environments still so primitive?
People ignore Prolog and Dr. Margaret Hamilton's work. (She's the person who coined the term "software engineering".) The combination of Prolog and Hamilton's HOS provides an end-user-programmable error-free programming environment.
Why not just a kind of an article-centric social network where scientists would publish their articles and reference other articles, other scientists (and whoever who has found an article relevant to their practice or research) would write their comments, score the articles by various subjective parameters and mark experiments they have managed or failed to replicate? Of course, there is to be moderation to fight junk comments and a way to weight the things that affect the ratings by the reputation of who contributes these.
If I were a scientist I would rather publish my research on my own blog if this didn't mean almost nobody is going to find it and take it seriously. Back in the days, there were no blogs people all over the world could view and that's why we needed journals. I believe journals would not even emerge otherwise. If the Internet was somehow available since the earliest days scientists would probably just upload their works there and care no more (but to receive feedback perhaps).
I’m interested in this as a bald assertion. Have they improved the lives of millions of people? I wasn’t aware of that. Can someone give me a quick before and after?
I believe a cause of this is that Sweden market is pretty small, so companies tend to initially go to a global market and solve global problems.
Compare Stockholm to Berlin, Paris or Moscow for example. Domestic markets in these countries are huge, so people have no reasons to go global - they have lots of local problems to solve.
People have become better at capturing value for themselves.
> Why do there seem to be more examples of rapidly-completed major projects in the past than the present?
Culture, competition and selection bias. There are still a lot of successful projects being built, just less so in culture that don't do cooperation well at this point in time. See previous answer.
> How do you ensure an adequate replacement rate in systems that have no natural way to die?
Reform(s).
> How do we help more experimental cities get started?
It has become common to cite those cities as successes without actually having spent much time there and especially not on a "grassroots" level. Chances are that it is actually both better and easier to reform existing cities or areas.
> How do people decide to make major life changes?
Like most things people do things when they are easy. Best way to make a major life decision is to make it easy to do so. Very few people are e.g. moving to countries they know nothing about.
> Why are there so many successful startups in Stockholm?
Stockholm is less worse than many other places, especially so in the end of the 90s, early 00s. Most places in the world are really quite petty and idiotic.
> What's the successor to the book? And how could books be improved?
Multimedia like Microsoft Encarta and An Inconvenient Truth. (There is more to it of course, but that is the direction).
> Could there be more good blogs?
No, journalism has a low enough barrier to entry now that blogs as such are largely obsolete.
> Why are programming environments still so primitive?
Because the stakes are low and there is enough low hanging fruit elsewhere.
With data. Personality is a union of speech, writing, facial expression and body language. Until all of the nuances of these factors are measured across a diverse population in a unified dataset, our models will be primitive. The hardest part of collecting this data is that you want it in up-close and personal day-to-day interactions, from the vantage point of other humans. So the first requisite is discrete and high-res body cameras, but then the real challenge is how to make this type of study double-blind. (How to place the cameras without people knowing they’re wearing them). The models will flow from the data.
When he learns about Visual Studio his mind is going to be blown.
This requires a clear separation of functions and data. Linux pipes are a glimpse of what's possible, and there's been some work in translating English to Bash. I think we aren't far from AI-powered English-to-Code translation being feasible: "order me an uber an hour before my next meeting" -> check calendar, filter, add -1, call the uber function. Alexa must be working on something like this. If I had billion that's what I'd work on.
Incentive. Something costs X dollars because there are sufficient number of customers that are willing to pay X amount. Even if the cost of providing goods or services gets cheaper, businesses will charge more if they can.
Capitalism assumes things will get cheaper as a result of competition, but that does not take into account third party involvement. if the payment is made by a third party,the incentive to compete by lowering prices decreases dramatically. A third party could be a credit card backer,insurance,government subsidies,etc... The impact of reducing the price is either not felt or is delayed significantly. It plays a much smaller role in consumer decision making when a thirdparty is involved.
The problem cascades up and down supply chains,making trivial projects and services cost an insane amount. I blame this for many things including healthcare costs,car repair costs,public infrastructure costs,etc...
— Create better city simulation software
— Fund "future cities" labs and institutes
— Pool job creators together and negotiate collectively for new cities and districts
(like Amazon is doing for HQ2)
My long answer is on Medium: https://medium.com/@yurylifshits/neocity-aa102731911bI think adding all the features the author is requesting and have it work seamlessly is much much harder than be seems to realize.
People just want things to work. Extreme customization can be valuable, but it often devolves into subtle bugs and inconsistent behavior. People forget about their custom modifications. Developers end up debugging people's custom modifications for every bug report. Having 100% consistent reproducible behavior is usually more valuable.
I too would like to know the answer to this question. I suspect it may have to do with low interest rates and easily available credit. For example, if buyers are willing to get a 50 year mortgage instead of a 20 year mortgage (and banks are willing to lend it), prices will increase to match demand.
Uh what? That's not even close to true...
Total expenditure per pupil in average daily attendance in constant 2016 dollars:
1959-60: $3,890
2014-15: $14,013
$14,000 / $4,000 = 3.5x
https://nces.ed.gov/programs/digest/d17/tables/dt17_236.55.a...Separately, here's a link claiming a 3x increase for Nevada in particular: https://www.npri.org/issues/publication/nevada-has-nearly-tr...
And here's an article claiming a 2x increase since 1970: https://www.cato.org/blog/public-school-spending-theres-char...
What do you think the numbers are instead?
More meta, why do you post a harsh correction like this without offering any sourcing or evidence? If your goal was to provoke someone else into doing some research, I guess it worked, but this seems rude. What's your model for how others will react to your comment?
Google Calendar has a good API. The setup friction adds a notch of complexity relative to a VBA script, but I wouldn't call it "very laborious".
> Why are certain things getting so much more expensive? [...] How much of the cost growth is unmeasured improvement in quality and how much is growing inefficiency?
Are there other possible causes as well? If the cost growth were 100% due to improvements in quality, would it stop being a problem worth thinking about?
> How do we help more experimental cities get started? [...] Hong Kong, Singapore, Dubai, and others, have improved the lives of millions of people and appear much more contingent than inevitable.
To my knowledge (I have no citations though), the improvement meant that millions of people were lifted from far-below-western to only-sligtly-below-western living standards. Impressive yes, but how well is that even applicable to societies at our living standard. Also, are things like workplace security or environmental effects factored into the "living standard" here?
> What's the successor to the book? And how could books be improved? [...] How can we help authors understand how well their work is doing in practice? (Which parts are readers confused by or stumbling over or skipping?)
Is this a thing we want? Would the benefits of this outweigh the costs of setting up the necessary tracking infrastructure?
> Being limited in our years on the earth, how can we incentivize brevity?
Is brevity a thing we should universally incentivize?
As a side note, what's with the humblebragging? If I get Wikipedia correctly, this guy is co-founder and current CEO of Stripe and has a billion in personal net-worth. His personal opinions and descisions influence the rules for a significant part of money transfers around the world.
Yet the website and bio read as if he were just a particularly engaged intern at Stripe.
If this is the meritocracy in action, I can see why so many people have problems with it.
Hong Kong and Singapore are substantially above Western living standards. Singapore has a PPP-adjusted GDP per capita of $90K/year, which is more than double the UK. Compared to the US, SG has better education, better health outcomes, radically lower crime and imprisonment, lower unemployment, higher incomes, and incomparably better infrastructure, all while spending only about 17% of GDP on government. Similar statements are true for Hong Kong, though it is no longer such a radical outlier, since it is under the control of Beijing.
https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)...
https://www.hoover.org/research/hong-kong-experiment
https://en.wikipedia.org/wiki/List_of_countries_by_life_expe...
These two questions, IMHO, are inter-linked. Projects are slower because things are more expensive in general. I think there are some answers to be found as well in the populist uprisings we've seen in the US and in other parts of the world. Here are some random thoughts that are all-related to these questions:
- We are worse off today than our parents were in the 60's and 70s - in terms of purchasing power and quality of life. See the trend of 20 and 30-somethings staying or moving in with their parents today. How easy is it for someone in this age group to buy a house in the USA versus back then?
- Wage disparity has grown immensely: the rich get richer - the poor move sideways or get poorer. Capitalism, though massively positive for humanity, if unchecked leads to social unrest.
- The US government was "richer" back then - or at least had more power to engage in bold new projects. See the American New Deal (WPA). NASA. Today, space exploration seems relegated to the whims of the new gilded-age billionaires (Musk, Branson, Bezos).
- Current administration will continue this shift of power away from govt into the hands of elite. Its not the government's job to dole out food stamps - let communities or society decide how to help the poor.
- Author cites rise of healthcare costs... See unfettered Capitalism comment. No govt checks on what the price of a drug is leads to silly games with insurance. Example: family member was once medivacced on helicopter for 20 minute ride at cost of $65k - but insurance only paid $5k and we ended up paying $1k of that. They're fine now - but why even propose a $65k price tag if you're going to be OK with a 90% price cut? Gaming imbalances between people who have power and those who do not - and also propensity to pay. Needs strong regulation to fix.
- In a similar point made by Author: 2nd Avenue Subway line is most expensive cost per mile of any subway in the world to-date. Why? See good NYT article on answer. Labor Unions. Hiring 30 people for a task that only needs 10. Why? Bad allocation of resources since you can't hire anyone else. This is an attempt at thwarting unfettered capitalism. On the other hand you end up with cheap day laborers (slaves) like the poor migrants who built Dubai. There's gotta be a balance in between. Govt needs to step in.
As far as I can tell, it's 'why aren't things better?'
The answer is simple: because you don't want it to be better, really. If you simplify the question down to 'why are Americans fat?', it'll become much clearer. We all already know the answer, most just want it to be some other, more pleasant explanation - hence never-ending fad diets. We want to believe, more than we want to face reality oftentimes :)
i'm not sure about this but i get the impression that semilog plots of exponentially growing things often look deceptively linear, and hence that the best-fit exponential curve often looks like a better fit than it is.
The claim here is that the actual rate-of-growth has been constant over time. What is shown is a graph of GDP growth with an exponential curve overlayed whose rate-of-growth parameter has been fit to the data. But perhaps if you had stopped the analysis at different times in the past, you would have gotten similarly linear-looking graphs, but with very different best-fit rate-of-growth parameters. What i might like to see instead is a graph showing, for each year in the past, the value of the best-fit rate-of-growth parameter if you looked only at a fixed-sized moving window of data ending at that year. If the size of the moving window is '1 year', it is no surprise that GDP is all over the map. But even when the window is 10 years, charts of GDP growth per decade (from a google image search) show more substantial variation:
http://www.leftbusinessobserver.com/GDP-per-cap-by-dec.jpg http://www.massline.org/Dictionary/Photos/G/GDP-US-Cumulativ...
I expect that the variation would be even more pronounced if you made a chart that showed, for each year, the growth over the preceding 10-year window, instead of those bar charts which only have one bar every 10 years. Also, even 10 years is too short; what i'd really like to see is charts of average GDP growth over 30 years, but i don't have time to compute that.
In addition, there is some evidence that very high rates of GDP growth are only possible when a country is less wealthy/developed (see eg figure 4.4 from https://www.econ.nyu.edu/user/debraj/Courses/GrDev17Warwick/... ; note that it appears to be possible for less wealthy/developed countries to have either low or high GDP growth, whereas wealthy/developed countries appear to only be capable of low GDP growth; this could be explained by a 'diminishing returns' argument). If true, this would imply that over very long timescales, the rate of growth would decrease.
My "analysis" here is rather hacky -- what is the proper statistical way to analyze this? What is the proper statistical test to see if long-term growth rates are constant?
It's just a made up output with a wildly manipulated function. This is not unique to the USA.
That can’t possibly be correct.
1) work ethics: https://en.wikipedia.org/wiki/Religion_in_Sweden
2) 33 sunshine hours in December: https://en.wikipedia.org/wiki/Stockholm#Climate
> Why is US GDP growth so weirdly constant?
http://economistsview.typepad.com/economistsview/2011/05/doe...
Holy cow.
Great depression.
Hitler coming to power, WW2... Clearly observable.
https://slatestarcodex.com/2017/02/09/considerations-on-cost...
http://slatestarcodex.com/2017/02/17/highlights-from-the-com...
Maybe because the Fed's dual mandate of keeping employment low whilst keeping inflation under control has this side effect.
Growth is not related to the total utility value of the work that is produced by the country; it's a highly controlled metric; that's why the financial system is prone to booms and busts; the metrics we use are not in sync with reality and sometimes the discrepancy becomes so obvious that everything crashes.
>> Why are certain things getting so much more expensive?
Probably also related to the Fed's manipulation of the money supply. The way that inflation is calculated is by looking at the Consumer Price Index; this index only accounts for prices of products based on their general classifications; it doesn't take into account the fact that the quality of all products overall have been steadily declining over the years. If we were to factor in the decline of quality of products over time, we would find that inflation was actually much higher than reported.
>> Why do there seem to be more examples of rapidly-completed major projects in the past than the present?
Engineering practices are getting worse over time and increasingly focus on risk-mitigation rather than productivity. Big tech monopolies don't need to be efficient in order to keep increasing profits; they can afford to hire a ton of engineers who have nothing to do so they become focused on risk-mitigation instead of development efficiency.
Small companies mistakenly look up to corporations as role models for their own businesses and they start adopting the same inefficient and expensive tools and practices (e.g. serverless). Engineers who are efficient are shunned as being bad engineers because their front end code doesn't have 100% test coverage and they don't use the latest bulky over-engineered tools that came out of Facebook.
>> How do you ensure an adequate replacement rate in systems that have no natural way to die?
It's good to know that people in positions of power are thinking about these problems.
Blockchain?
>> Why are programming environments still so primitive?
This is related to the question "Why do there seem to be more examples of rapidly-completed major projects in the past than the present?" - The answer is probably similar.
Companies that succeed don't succeed because of good engineering practices and tooling; they succeed because of other completely unrelated reasons (business connections, funding, etc...) but they become role models in the developer community; a successful company's past technical decisions are treated as some kind of recipe to success even though many of those decisions were actually pretty terrible and developed in a rush to meet the challenges of hockey-stick growth curves.
Tooling and developer efficiency hasn't mattered because other factors like access to business connections and funding have been so much more important in terms of achieving successful outcomes.
Real technical innovation can't hold a candle to social networking.
Some possible answers:
> Spending on healthcare > cost of college > construction costs > childcare costs
There are many complex reasons why costs can rise in any area, but the common theme between them is something you already know - the propaganda machine told everybody that university degrees meant belonging to the middle class club with accompanying benefits aka house ownership, a high status mate, healthy income, respect.
Turns out this is a bad model. There are diminishing returns for not only college degrees but even that knowledge itself in relation to what other parts of society do. The fuzzier and understudied/underappreciated areas of construction skill, caring (including healthcare - recall Robin Hanson's contention that 50% of healthcare costs are just people wanting to feel supported) have been deprived of talent and that is what is driving up costs across the board - supply and demand.
> Why do there seem to be more examples of rapidly-completed major projects in the past than the present?
My opinion is the same as Thiels I think - it's that our ability to do complex coordination is dropping. The reasons why? Information is an ecology - Cal Newport will tell us distraction or context switching is a sin if you want complex coordination and that is right - but also I believe in The Ladybird Book Theory which is that our education - taken broadly - has given us a false impression of complexity instead of thinking from first principals (notice how the old ladybird books are written - the kind of thing kids used to read) - which is something Musk puts a lot of weight on. The Elon/Cal thesis might be that "leave out some stuff - focus on key principals intensely". It sounds trite but I think it is right.
From a ROI point of view - not very many people in society need to be very very good at driving projects - so if you focused on making super-coordinators aka a new form education for those selected for Big Tasks should pay off immediately.
> Why is US GDP growth so weirdly constant?
My guess is energy.
> How do you ensure an adequate replacement rate in systems that have no natural way to die?
Sunset clauses are one but I don't really know because the main way seems to be just forgetting. I think when our institutions screw up it can get bad enough that the fix was a thousand years later we forgot that was even a problem.
> How do we help more experimental cities get started?
An idea.
You need to build a machine that compacts garbage into a substrate that can be used to form new land offshore. Nearly all prosperous cities are near water and produce garbage. It should be possible to gradually build experimental islands while solving the garbage problem so it's all in the technical detail of designing a machine that makes blocks/substrate out of the garbage. It pays for itself and building pyramids starts with understanding how to make a single brick.
> Is Bloom's "Two Sigma" phenomenon real? If so, what do we do about it?
Maybe human to human communication is weirder than we think. In education you're conventionally thinking about transmitting information, understanding from A to B but maybe because our common ancestors have spent millions of years in forests and other environments instead of classrooms they transmit information to each other in ways which sound a bit odd to us. Think of pheromones, our sense of smell, hearing somebody's voice unmediated by electronics, seeing somebody's posture body language - these could all form metainformation about the information in language that is very helpful in the student/tutor relationship.
Think also of the 'sleeping dictionary' - a person in a couple who learns his or her spouse's native language learns it really fast. It can sound a bit woo-ish but I think it'll be objectively measurable.
> What's the successor to the book? And how could books be improved?
I don't know but I really like Neal Stephenson's The Diamond Age (subtitle: "A Young Lady's Illustrated Primer").
Wikiquote: "At the age of four, Nell receives a stolen copy of an interactive book, Young Lady's Illustrated Primer: a Propædeutic Enchiridion, in which is told the tale of Princess Nell and her various friends, kin, associates, &c., originally intended for the wealthy Neo-Victorian "Equity Lord" Alexander Chung-Sik Finkle-McGraw's granddaughter. The story follows Nell's development under the tutelage of the Primer, and to a lesser degree, the lives of Elizabeth and Fiona, girls who receive similar books. The Primer is intended to steer its reader intellectually toward a more interesting life, as defined by "Equity Lord" Alexander Chung-Sik Finkle-McGraw, and growing up to be an effective member of society. The most important quality to achieving an "interesting life" is deemed to be a subversive attitude towards the status quo. The Primer is designed to react to its owner's environment and teach them what they need to know to survive and develop."
> Could there be more good blogs?
I've been moping about this recently too. I hope this was not a passing trend. The main social networks seem sterile.
Its not hard to make something look consistent when you are constantly changing the algorithm you use, and substantial changes are made every few years. Comparing GDP from year to year when different formulas were used to calculate it (even if the underlying data was all accurate) is comparing apples and oranges. For example, a 2013 change in the GDP formula gave an instant 3% boost to GDP.
https://seekingalpha.com/article/1368001-u-s-governments-new...
> My guess is energy.
Your guess is correct. Energy is what drives the economy. We've been going from least concentrated to most concentrated energy sources: human/animal muscle to wind, river flow, to coal, oil, nuclear. Oil being the best tradeoff between ready-to-use and energy concentration. GDP is what people are paid, but the people have magical machines that run on energy.
Any bell curve looks exponential in the beginning, but when you run out of that concentrated energy you're left with less concentrated energy unable to sustain the same level of growth.
They're called "universities".
Inflation, regulation/globalism, corrupt system, wait, don’t, up to us all, good question, good question, remove politics, no, books, papers, don’t try, no, false laziness.
In fact inflation is necessary in our current economics. Imagine there was no inflation. Then very wealthy people could put all their money on a savings account, live of the interest rate and still accumulate more money. Thus the economy would eventually stagnate because of no investments. Inflation kind of stops that, also the central bank can control it by setting the interest rates for credits.
There are attempts to make inflation unnecessary like currency that loses value over time (and you need to frequently put stamps on it). But that's very far away from any widely used currency.