The post was about Android support. Why do you care how much the ICO did or didn't make?
Let's say it made money/ETH--and even if a program in the language can print out a message saying it did. What does this have to do with your assessment of the technology, or its completeness or incompleteness?
I don't feel like looking up why you think that's a real comment. Just sounds like "Paid for by the council of American Samoans who don't bother actually reading or watching anything because they're probably illiterate".
I think he's probably smart enough to have thought of this aspect...!
But you are of course absolutely right. And it's not a bad idea to add PWM sounds, and would be an absolutely interesting thing to see someone do for a project.
Point is it's more about a method or a way of thinking than a "practical" proposal. It's about learning how to think. If you don't like that line of thinking, you might also critique the Long Now Clock for its pointlessness. Maybe valid.
But I've used this even as a programming puzzle; to get people to write encoders and decoders for it. It's kind of more in that spirit than anything.
The article struck me as such because the important point is not how glibc layers things, it's the conceptual detail that stdio buffers first and then flushes with write(). [You happened to pick a really bad libc to pick apart because a much simpler implementation is possible.] If someone saw your post having no idea they would have to parse it out of what you are saying, and probably get lost, because you did not say it plainly.
red looks awesome, and has come a lot further than I expected! (i peeked at it a few years ago and there didn't seem to be much). I love that small executable sizes are an explicit design goal.
The next release will be able to directly build and sign .APK files, with no JDK or JarSigner required to be installed. Still under 1MB for that same compiler executable on all platforms...that can also build PE (Windows), Mach-O (OS/X), and ELF (Linux etc.)
It's moving slower than we'd like, but definitely moving.
But I'll patch the alt-left thing if it makes you happy. :-/ Still, if you want to give feedback, write an email and make it friendly. It doesn't make people feel good with "ugh". There's so much "ugh"-worthy stuff out there and I don't think I deserve that.
I appreciate you taking the time to fix the alt-left problem. I've run into too many sites doing similar things lately, including Google Blogger-based sites; this was just the most recent one I've run into. I was attempting to express a very mild annoyance; sorry if it came across as excessively snarky.
It's all right, I just try kind of hard to be the least ad-having, most license friendly, site I can host... so it gets my goat a bit given what I think are better "ugh" targets by far.
I'm traveling and it's not convenient to fix it tonight, but I will do it as soon as I can.
Indeed, not my generation, not my thing. Back in my day, if you wanted to say something to someone you said it to their face. Gloves were thrown on the ground. Duels were had. It doesn't end until someone gets shot in the face.
Well maybe these modernizations are good. You shoot people in the face virtually.
So for the record, I wrote this four years ago. No idea why this is being linked to from here now.
Let the record show, also, that I in no way stand by this as being a sane approach. I just walked through it, trying to answer the question. I wanted to show the path to syscall and it was way wackier than I thought it would be. That's why it ended up a blog entry.
(Though when my blog went down one day, someone copied the content into the answer:
...and they did so ignoring the license clause difference that my blog is CC-BY-NC-SA instead of CC-BY-SA. There's been a bit of a tussle over that distinction lately, with people selling StackOverflow books:
...and I'll leave it to those with more interest in the issue to decide if that is worth worrying about, because I don't actually care.)
Anyway, I'm sure the people involved in writing this had their reasons for doing it this way, and it had to do with code legacy and evolution. I don't want anyone to mistake my trace through it as endorsement. It's just what it is.
You did miss one fun rabbit hole with printf in glibc:
Search for register_printf_function, and realize that printf is now a function that can have whatever side-effects you like (which really sucks for optimization around logging code)
Glibc may have register_printf_function, but GCC does not have register_printf_attribute, so this is not as practical as it could be. That is:
__attribute__ ((format (printf, 1, 2)))
attaches to a function declaration to indicate that the function works like printf, so GCC can warn if a (compile time) format string does not match the variadic arguments. But there seems to be no way to extend this attribute, nor to make entirely new attributes in the same spirit.
So you can register new format specifiers for printf, but it seems you'll then have to disable warnings about bad format specifiers during compilation. Those warnings have very few false positives and catch real bugs in real code.
"But there seems to be no way to extend this attribute, nor to make entirely new attributes in the same spirit."
Yes, GCC knows, and we're good with that :)
The glibc extension here serves no earthly purpose (and on the gcc side, we've considered pretending it doesn't exist before so we can actually optimize better).
It sounds like it may be a good idea, except
1. It modifies functions that have a standard purpose, standard set of format specifiers, and are, as you point out, often error checked to make sure they match those :)
2. Unless you see the printf handler registration, which may be in a library, linked to your program, or whatever, you'll have no idea that the code is wrong.
Of all the things, of all the sites on the Internet, loading all the plugins and advertising weighing down your browser that you can handle... you complain that left and right cursor keys let you navigate entries? Your compass is set so straight, buddy. Thanks for making my day. I hate it when stuff I write gets picked up by sites like this where people like you offer your genius unto the world.
Well I was in an irritated mood (it happens, often). And someone texted me as "you're on hackernews"...which is another one of these "we don't deign to comment on your blog but in invisible space you can't moderate and wouldn't even know about if someone didn't tell you" sites.
It irritates me that a low-tech site run by loudmouth self-important non-philosopher startup "We're Big Business" people is worshipped so mindlessly by the madding JavaScript crowds. I guess they don't know any better. They're kids.
And the logo... it's a Y. Must have taken a long time to make that! Can I trade my "points" here for anything besides meaningless points on something that is only slightly lower tech than Reddit?
It's not your fault that these people--this rep system--this fraud exists. But sadness for me and my heart, because I care about right answers and beautiful things. "Startups" and "entrepreneurs" who don't have a soul or an original idea in their head aren't part of my world. Show me something amazing, or come to me with a question. Not the junk from these clowns.
So I'm back to answering homework questions for poor kids in India who don't know that Turbo C is long discontinued. I want to improve the world.
I wish computers hadn't gotten cool enough to get on the radar of MBA wannabe mental lightweights.
Let's say it made money/ETH--and even if a program in the language can print out a message saying it did. What does this have to do with your assessment of the technology, or its completeness or incompleteness?