HN user

willtim

2,890 karma
Posts0
Comments1,228
View on HN
No posts found.

Any statically typed language allows one to use dynamic types when it is necessary. I don't see the problem. If you need a map of string keys to variants, this can be done. At least one can still put some static constraints on the types when necessary.

The attraction of "functional programming" to academics and many others, is that the paradigm is underpinned by established and well studied mathematical logics. For example, the lambda calculus or more recently linear logic. You can view this as "fashion" if you like, but by making programming more formalized and less adhoc, it's probably better recognised as progress.

one of the places where computer science has gone backward, preferring more clunky systems and less elegant paradigms

I respectfully disagree. Smalltalk has had its time. OOP has had plenty of investment and exploration, but it's fundamentally non-compositional and is a poor fit for modern hardware. Other paradigms, for example statically typed functional languages, are just as expressive (the expressive parts of Smalltalk were functional features anyway) and have much more to offer in terms of building reliable software that does not crash and is secure.

Programming is hard, there is no silver bullet, but computer science is moving forward.

When BASIC e.g. redefined what "variables" are and what the equals operator means, it did cause a generation of programmers to drift away from the long established mathematical definitions. This persists to this day in languages like Python. I have had to explain to my daughter that Python variables and equals are not like those in her maths lessons. Dijkstra was right to call out the bad decisions that were made, although I do concede his methods of doing so were not ideal.

the phrase "avoid success at all cost" in a certain context which may have had some role in making Haskell seem Ivory Towerish.

This phrase is often misunderstood, it's "avoid, success at all costs", not "avoid success, at all costs". In other words, don't optimise for mass market adoption at the expense of everything else. Languages that have arguably done so, have ended up as extremely complex and ridden with corner cases.

Specifically, I have a problem with any operating system that will update itself in arbitrary ways without our consent and at a time we have not chosen.

I was sitting in a keynote talk at a conference once and mid-presentation Windows decided it was time to update. Very embarrassing for the speaker and for Microsoft.

Or maybe it's because people want to build software that is more secure and reliable (something which C does not have a great track record for)? Google are not the main instigator of this initiative, they are adding their support for it.

I have lots of hybrid SACDs and I cannot extract the high-res content for playback on computer/phone without my clunky Sony Blu-ray player. This is of course by design, but I do wonder if it also helped to kill the format before it even properly landed.

I agree that the reason does not matter and is irrelevant to the end-user. I was just speculating as to why they have not "just fixed it". However, I disagree that Windows is more polished. Windows is made up of a mixture of UI frameworks/controls/apps, some going back decades. Much of this legacy is poorly integrated and even basic things like drag-and-drop doesn't work consistently. At least Gnome is consistent and they have a vision.

In case you are unaware, tax is needed to pay for schools, universities, research, health care, social care, police, civil infrastructure, environmental agencies, regulators, defence, bank bailouts, pandemic bailouts, etc.

The Big tech firms benefit from all of the above, but are not contributing anything back. The system is broken and needs to be fixed, so let's not pretend there is no problem.

Agree with everything you say, but I would also add that the interactions with compression and other lossy signal processing that is frequently performed is not well studied. For example, when using Bluetooth headphones, it is likely that the music will be equalised/normalised, resampled to 48Khz (for mixing) and then re-encoded to a bluetooth codec e.g. LDAC. It is much safer to start with FLAC, if you cannot avoid such a signal chain.

I would never buy anything expensive from Amazon, the customer service is not adequate when things go wrong. I even stopped buying CD's from them as they would almost always arrived with cracked/broken cases. Specialist sellers, e.g. Prestomusic, actually wrap and pack them properly (and often have much better websites for buying music).

If it improves the security of the device and means that Google will keep updating it, then that will be good. However, personally I have given up buying Google-branded devices. They only gave me security updates for my Pixel C for three years (2016-2019).

Magit 3.0 5 years ago

Magit on windows needs something like libgit2, spawning processes is too slow on windows. Emacs runs fine.

Magit 3.0 5 years ago

"git at the speed of thought" describes magit quite well.

Not under Windows, unfortunately.

I've used Linux since it was first available in the mid 90s. I use it at work and on machines at home. It is almost certainly more reliable than Windows and MacOS as a server. However, the context here is desktop UI and laptops.

Linux does exceptionally well considering there is almost no money at all going into this use case. But there are many bugs, sometimes due to hardware (e.g ACPI inconsistencies, even Thinkpads have issues) and because of software churn (few fix bugs in their spare time, it's more fun to create something new).

If you wish to pretend that everything is perfect and there are no problems, then you aren't helping Linux either.