1,647 karma · joined April 30, 2018
I've always felt that C is unfairly maligned. Yes, it's very low level, it's meant to be. Yes, it lets you shoot yourself in the foot, but what language doesn't?
Most of the problems with C are really issues with the standard library, the Unix (now Posix) interfaces, and the string type.
None of these are actually part of C, but are part of how C is normally used. So those problems can be avoided, and use C for what it's good at.
I think you're going down the wrong path re "uncomputable". BB(n) is easily computable, just write a little program that enumerates (generates) and runs all n-state BB machines. BB(n) is the largest lifetime of any those n-state machines. BB(n) is known and easily computable for small n.
The problem is that the number of machines increases very quickly with n, and the time taken to evaluate each machine often increases quickly with n. So for even moderate n, it is completely impractical to brute-force compute BB(n). But impractical is not uncomputable.
Just because you don't wait to wait past the heat-death of the universe, doesn't mean that you wouldn't have got an answer eventually. And eventually = computable.
Now if "programmers" (analysts, designers, managers, etc) were more considerate, less rushed, more thoughtful, more experienced, considered their assumptions, and leapt to fewer conclusions, then our systems would run rather more smoothly.
I'm inclined to agree - they took a big problem and made it into a big & complex problem.
I propose a fix - immediately depreciate all multi-codepoint graphemes and provide single codepoint alternatives. That we should need to normalise something a basic as our text leaves soooo much room for problems. And the idea that some graphemes encode magically colour (emojis) ... :rolling_eyes_emoji:
"A couple" is exactly 2, excepting very specific downward exaggeration ("I'll only have a couple of beers.")
"Several" is always more than 2 but always a small number - say 3, 4, or 5.
"A few" is always more than 2 and probably more than several.
"Many" would normally exceed several, probably by quite a bit.
And of course "one" is always 1, excepting downwards exaggeration similar to a couple.
There are plenty of people here who have their eyes open and maintain a broad view of tech and the world. But these people seem overwhelmed by those that have completely swallowed the industry koolaid.
It's sad. I remember the fundamental optimism of the early days of IT . That's largely been replaced by smallest-feasible-product and monification.
And a physical keyboard does not require you to be looking at it, just to use it.
But for those who have a personal mobile device and poor mobile data, an actual email client would likely be a good choice.
An actual email client uses much less data than webmail. For example the gmail webpage loads around 10MB just to show the web page, before any actual email content.
Also an email client functions with an intermittent network, only actual sending/receiving requires a data connection. Existing emails are accessed using the local mailbox, and outgoing emails are queued until the network becomes available. A webmail system provides no functionality in the absence of network data.
But now mobile data is normal. Your phone/tablet's email is a almost certainly a dedicated app - an actual email client.
Time to drop webmail, and gmail.
I see the other way around. Additional features are people's special cases and hobby-horses, and unlikely to be used by other people. BUT each new feature/interface/etc adds the potential for (and really of) more bugs.
Perhaps it should be "features are where the security holes are"? :)
Agile and Scrum are for managers who don't know what they want, but they'll "know it when they see it". (Or more likely, they'll declare that they wanted is what they've got when the money runs out.)
Just stay away from it, if at all possible.
Hard to disagree with that.
When "support" is hoping that HN or Twitter attracts helpful attention, we're going down the wrong path.
Apparently the ancient Greeks didn't have much, if anything, in the way of symbolic algebra or calculus - what we mostly think of as "maths".
Instead their normal tool for mathematical logic was geometry. An educated Greek would have used geometry much like we use algebra.
For most of us, given a non-maths problem (eg physics, chemistry, almost anything in real life...) the first thing we do is express it as an algebra problem, and solve that. The ancient Greeks used geometry in a similar way.
For practical purposes, we treat the sun as being an infinite distance away, and the error caused by it being ONLY 93,000,000 miles away is much smaller than Eratosthenes could measure :)
It's similar to drawing perspectives, you draw perspective lines to join at the distant horizon. You don't care how far to the distance horizon.
(Those ancient Greeks had amazing understanding of geometry. Much better than most of us.)
I despise every time I open an MS Doc or gmail. Just now gmail loaded almost 13MB of "app" - just to show an almost empty inbox, what a waste! And (behind the scenes) it's still loading stuff after almost 30 secs.
Cloud apps are the IT version of supersizing. Morgan Spurlock showed what happens when you use capacity just because it's available - obesity.
I recall with considerable fondness those ISAs that could be understood in ultimate detail by a simple human - the monolithic supercomputers like the Cray 1.
See https://www.ed-thelen.org/comp-hist/CRAY-1-HardRefMan/CRAY-1...
So really, it's tradition that division (which is needed relatively rarely) is not performed quickly in hardware. The old time versus silicon tradeoff strikes again - you can have it quick but it will be expensive, how much do you want it?
Re the original question - (almost) anything can be done in enough silicon. Both multiplication and division could be done as very fast "ROM" lookups, but that would use an enormous amount of silicon.
The width and detail of streets is adjusted such that it is not obvious if I'm looking at things a few hundred metres apart, or a few kilometers! And there is no scale indication on the screen! I guess they want a "clean" look but it's not so helpful.
Take a look at Garmin aviation maps. You're offered only a specific set of scales (not an infinitely adjustable range), there is always an indication of scale, and the detail appropriately hints at the scale.
Seriously? Would you give the kiddies sharp knives and loaded guns, and then be shocked when someone is injured?
If we let this become available, we will all have to live with the consequences. We can see clearly what those consequences will be. Let's not be stupid.
Upside: You can do almost anything.
Downside: You have to manage (almost) everything yourself.
Downside: It lets other people do real dumb/annoying/inconvenient/stupid things, and you get to deal with the result.
If you think the John Deer tractor maintenance thing is terrible and disgusting ...
But the manifesto is good enough to deserve 2 downloads :)