Live data from Hacker News

Questions

patrickcollison.com

251–260 of 493 posts

Re: Questions

#251
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…

Shocked he mentions Visual Studio Code but not Visual Studio itself. 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.

Visual studio has a lot of power, especially if we consider Intellitrace, but damn is it hard to use that power. I really think the main problem here is UX and not technology.

Re: Questions

#252
post #191

> The Empire State Building was built in 410 days 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 unaccept…

Vancouver’s “Second Narrows” bridge was built in the late 50s and completed in 3 years. Midway through the project a major accident killed 19 people. It was the result of an engineering error. 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 r…

> “Better safe than sorry” is rising belief.

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.

Re: Questions

#253
post #31

> Will end-user applications ever be truly programmable? Emacs, Smalltalk, Genera, and VBA embody a vision of malleable end-user computing: if the application doesn't do what you want, it's easy to tweak or augment it to suit your purposes. Today, however, end-user software increasingly operates behind bulletproof glass. This is especially true in the growth areas: mobile and web apps. I'll pick this one: end users b…

This is an interesting one to me. 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 reason…

Huh this is an interesting thought. I've been reading On Lisp off and on lately and perhaps similar ideas of building both top down and bottom up apply to voice tools like Alexa where we create chainable series of commands to do a wider variety of tasks.

Re: Questions

#254
post #248
post #242

Earlier quoted context omitted.

Do you believe we should make the national speed limit 25? If not, you're accepting that people will die needlessly, and that the value of a human life is not, in fact, infinite.

Is this the argument you want to plant your stake in the ground on as absurd? Because the modern debate in the tech community is "should people be allowed to operate motor vehicles at all?"

Even autonomous vehicles will always have nonzero fatality rates. Letting them go 50mph will lead to more human deaths than capping them at 25.

Re: Questions

#255
post #35

> Why are there so many successful startups in Stockholm? 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…

Good observations! You forgot one major thing. This goes for all of Finland, Sweden, Norway and Denmark. The winter is horribly dark and boring. (Unless you're super rich). Therefore most turn inwards, staying indoors, thinking deeply at problems, spending endless afternoons and nights on things. Be it software development, game development, car tuning, car engine work, engineering, knitting or just reading loads of…

But then if that's true, you wouldn't get lots of devs in the Bay Area California. Lots of great weather here.

Re: Questions

#256
post #248
post #242

Earlier quoted context omitted.

Do you believe we should make the national speed limit 25? If not, you're accepting that people will die needlessly, and that the value of a human life is not, in fact, infinite.

Is this the argument you want to plant your stake in the ground on as absurd? Because the modern debate in the tech community is "should people be allowed to operate motor vehicles at all?"

lol, I hear people frame the self driving car discussion that way regularly, but it is just wrong. Noone is going to be making human driven vehicles illegal.

They may be more like classic cars than regular vehicles at some point, though.

Re: Questions

#257
post #64

> Is Bloom's "Two Sigma" phenomenon real? ... one-on-one tutoring using mastery learning led to a two sigma(!) improvement in student performance. 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…

I think the One-on-One Tutoring things is something the AI current movement could make a difference. Everybody seems to be obsessed with building really cool stuff, but our teaching system is quite obsolete and could get better by adding smart systems. 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 psycholog…

As a teacher -- yes! More of a life coach, someone who rewards you for good decisions, eating well, homework, being kind etc

Re: Questions

#258
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…

>> 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. There is no technical reason why it shouldn't be possible in C, if you are wil…

There is no technical limitation why it is impossible in C, however the raw details of how C is implemented make it entirely impractical.

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.

Re: Questions

#259
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…

Um, why is everyone forgetting Java?

Re: Questions

#260
post #214

Earlier quoted context omitted.

The GIL is not there because C. It's there because of refcounting and Python guaranteeing that many nontrivial operations are thread safe.

Yes, but refcounting is there because it is impossible to build a proper GC in portable C.

Can you elaborate on this?
Post reply on HN