Live data from Hacker News

Questions

patrickcollison.com

101–110 of 493 posts

Re: Questions

#101
post #17

> 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? Why in the name of the good lord are REPLs still textual? Why can't I copy a URL to my editor to enable real-time collaboration with someone else? Why isn't my editor integrated with the terminal? Why does…

> Why can't I debug a function without restarting my program? 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.

This is also true for VB6, add lines of code in real time and resume stepping through. Also you can hover your mouse on variables during debugging to see their contents.

Re: Questions

#102
> Why do there seem to be more examples of rapidly-completed major projects in the past than the present?

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.

Re: Questions

#103

>Why do there seem to be more examples of rapidly-completed major projects in the past than the present? 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…

RE rapidly completed projects

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.

Re: Questions

#104
post #36

Not to be critical, but I pose this question in response: 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, Stev…

How did Jobs do this? He dedicated his life to Apple until the day he died.

[deleted]

Re: Questions

#105
post #57

Earlier quoted context omitted.

There are very few people who want to read many books that are 1000 years old. The few books that interest more people can be converted to newer formats, the few people that want to read all old books will have to use extra tools to do so. 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…

The Bible and the Koran would easily be on the world's best seller lists if they weren't excluded by default. 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 temp…

>If the file format becomes obsolete, it's gone. (This has actually happened to many video and audio formats.)

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.

Re: Questions

#106
> Why are programming environments still so primitive?

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.

Re: Questions

#107
post #53

Earlier quoted context omitted.

On a more cynical perspective, capitalism is effective at extracting the most money from consumers. People will pay almost anything for the really essential things: health, housing, air, food and water. Education is essentially the only reproducible way to pay for all of the above. Therefore, any sufficiently late stage capitalist society has extremely high costs for all of those areas: it's just the stuff people wil…

It’s called price elasticity. It basically means that you’re much more willing to pay a large price for a product you need and which has no substitute than for a commodity product. Which is why stunts like multiplying the price of a drug by 1000 regularly make the news. Note that this is purely about price (ie the value you assign to the product) and has very little to do with its actual cost. Furthermore, since you…

> multiplying the price of a drug by 1000

Did you mean by 11 (1000% increase)? One of my pet peeves with using percentages.

Re: Questions

#108

> Why do there seem to be more examples of rapidly-completed major projects in the past than the present? 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 th…

Louis C.K. has a joke exactly about this called "Of Course, But Maybe":

"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."

Link: https://youtu.be/0O5h4enjrHw

Re: Questions

#109

"End-user computing is becoming less a bicycle and more a monorail for the mind." I shall steal this quote. The humble spreadsheet is just about the only 'programmable' application left on the typical corporate endpoint/educational client PC.

And more companies are banning macros on work environments due to security reasons. Then everything is moved to Alteryx or some bespoke app that the end user has no control over it.

Re: Questions

#110
post #106

> Why are programming environments still so primitive? 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 co…

> Development convenience was also among the collateral damage.

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.

Post reply on HN