Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror

Comment Re:Victim of liberal error handling (Score 1) 89 89

Second, if the HTML pages were served under the more secure application/xhtml+xml media type, the compromised page wouldn't have been usable, because the malformed syntax would have produced a fatal error, instead of silently corrected (this is specified in HTML5, which IE supports now, woo).

I think this speaks clearly of how bad was the decision of creating HTML 5, and not making future web documents an XML application only. With XML, the rules clearly state that a document has to be well formed in order to be interpreted by the XML parser (then it can be invalid according to the XML application, say XHTML). But no, they kept the incredibly stupid tradition of making browsers try to recover according to unspecified ways. I wonder how many workarounds are in the parsers of todays web browsers that swallow utterly broken contents that IE6 displayed properly at that time. Workarounds and complicated code paths that will probably stick for a really long time, since old content will not be fixed ever. And complex code paths that will continue to produce security holes from time to time.

Comment Good ties into FOSS? Battle won (Score 2) 407 407

Yes, I know quite a few other languages, but I want to get into a widespread compiled language that has good ties into FOSS. Both Objective-C and C++ fit that bill.

I know plenty of open source applications, from GUIs in Qt and gtkmm to console applications and interpreters of programming languages in C++. The backbone of any Linux distribution is C and C++.

I know 0 packages in my Linux installation that are written in Objective-C. There are some, for sure, but are they widespread? I doubt it.

Comment Re:Unrelated to Github (Score 1) 148 148

This is a flaw in Windows and Mac OS X where they fail to differentiate between two similar but different file names.

Odd, I thought it was exactly the opposite. Linux doesn't interpret the names at all. Only '\0' and '/' (in C/C++ notation) are treated specially by Linux in what can be allowed as file name. The rest is just an array of bytes. Is Mac OS X or Windows the ones that try (and I said try, since I'm not sure they achieve it) to protect the user from security and confusion problems. Is not just case sensitivity, think of pre-composed characters, for example (distinguishing modified+character from character already modified). See the interesting conversation after a Git release, where several developers explain the problems on the normalization that Mac OS X does.

Comment Re:Ugh (Score 1) 125 125

And the source being distrowatch, a website for people looking for a distribution. Maybe it confirms that users of Ubuntu don't want to change distro? Or for people who don't even know what a distro is? Or who don't speak English?

Signed: a Debian user who complained a lot about Ubuntu on several levels.

Comment Re:C had no real successor (Score 1) 641 641

And too slow and a failure as an OO language. I mean, even the designers of C++ warn against complex class hierarchies. How stupid is that?

And the designers of Ruby also suggest that you don't create complex class hierarchies. And the designers of Java created interfaces to avoid complex class hierarchies. Maybe the problem are complex class hierarchies, or trying to solve everything with OOP when you should not?

Comment Re:What system d really is (Score 1) 928 928

Odd that of all possible choices, systemd developers chose almost always a way that is exactly the same or very similar to what Debian does. For example, I don't see stuff like /etc/sysconfig, while I do see things like /etc/hostname etc.

Everybody else has /etc/hostname too, sorry to pop your fanspiracy.

Let me quote from the biggest myths:

Now, as it turns out, more frequently than not we actually adopted schemes that where Debianisms, rather than Fedoraisms/Redhatisms as best supported scheme by systemd. For example, systems running systemd now generally store their hostname in /etc/hostname, something that used to be specific to Debian and now is used across distributions.

Maybe the example was too subtle, but for sure there are some things from /etc/sysconfig that are gone from Red Hat, and are substituted by Debian-style configuration.

Comment Re:What system d really is (Score 1) 928 928

Most distros are focusing on system d because they simply do not have the resources to do anything else. This is the sad reality. The Red Hat-isation of the linux world. It's either the Red Hat way or the highway. And most distros obviously are not chosing the highway.

Odd that of all possible choices, systemd developers chose almost always a way that is exactly the same or very similar to what Debian does. For example, I don't see stuff like /etc/sysconfig, while I do see things like /etc/hostname etc.

Comment Re:Article is stupid (Score 1) 265 265

Google does an excellent job of catching spam. The submitter's problem isn't that, it's that he's got other numpties giving out his email address and then he's not using the Google-supplied tool (that little "mark as spam" button) to mark unwanted email so that Gmail learns his preferences. Instead, he's Dunning-Krugered together his own solution that barely works.

Submitter's problem is PEBKAC.

Sorry, but I completely agree with the story explained. My previous employer gave me an email address managed by Google Apps. I subscribed and posted to about 3-4 different open source project mailing lists. Obviously that's enough to make your address well known to spammers.

The amount of email in the spam folder was surprisingly high, given that my very personal email address, which has appeared during a decade (not just two years) on online archives of about 20 times more lists, receives a little bit less. But that's not bad. What I found insulting is that they had plenty of false positives. That's the worse kind of error in email filtering: you check your inbox more often, and is not a big deal deleting one additional email a day. But I found email threads of those mailing lists broken when because parts of a thread (just parts of a freaking mailing list thread!) were marked as spam, and was autoexpired (yes, I don't need to check all mailing lists that often). It also marked as spam one reply to an email I sent. A shame.

And yes, I used the "this is not spam" feature, but I got bored. The best I could do was reviewing all the filters to completely skip the spam filtering, which is stupid anyway in many mailing lists that require a legitimate address to subscribe, which yields a very low spam rate (besides the "join me in my linkedin network" that some stupid sent to the whole address book).

Comment Re:Oh god so what? (Score 1) 193 193

You were implying that using a subset of C++ features is not practical because you could "write C++ that is not guaranteed to be maintainable by anybody short of a complete master", which is absurd, because only a complete master could write that kind of unmaintainable code. Well, according to your logic and your subjectivity, there are only a small amount of people capable of that feat. And the fact that there are lots of C++ programs and libraries out there that are maintainable proves it.

Comment Re:Oh god so what? (Score 1) 193 193

Err, the implication is that you can also write C++ that is not guaranteed to be maintainable by anybody short of a complete master, which even Bjarne says he is not. I think it is fair to estimate that the number of complete C++ masters in the world is in the single to double digits; no more. It may be you can identify another programming language for which that holds true. I don't think I can.

You can not even identify one without resorting to factual mistakes. I'm running every day lots of programs written in C++. A simple search on a linux distro reveal thousands of packages in C++. Is that maintained by those "single to double digits" amount of people in the world? Sure.

Comment Re:How do you feel about the haters? (Score 1) 427 427

Well, he has given that answer several times. On his FAQ, he says:

"There are only two kinds of languages: the ones people complain about and the ones nobody uses". Yes. Again, I very much doubt that the sentiment is original. Of course, all "there are only two" quotes have to be taken with a grain of salt.

Comment Re:Is the complexity of C++ a practical joke? (Score 1) 427 427

Any practical example to back it up? Probably there are some cases of that, but the contrary is IMHO more common. One of the most popular C++ library out there, Qt, doesn't make you learn exceptions, and templates are only used for containers, so you rarely see one of those scary compilation errors.

That means that in practice, you see large C++ codebases that are very easy to grasp. At my current workplace, all C++ developers barely understand C++ outside the C subset, and projects work fine from the customer perspective. Do they understand that each time they pass a value to a function they are copying it, and that it can be costly? No, but luckily they are doing that with QByteArray, which is implicitly shared. They don't have to understand the feature. Besides me they don't even know it exists, but it works, and saves the day.

Comment Re:I find it interesting (Score 4, Informative) 223 223

I like the idea how everything is a file etc. That is one reason why I originally became Linux user and now it feels Linux systems have become something totally different by new third/fourth generation "geeks" who don't care anymore about open file system and results are like systemd journalctl.

Funny that you mention that, because systemd exposes lots of features through cgroups and a nice filesystem on /sys. And to use systemd's journal's files, the documentaion already explains that you just open the files, memory map them, and use inotify, a classic notification API on files...

Comment Re:standard c++ (Score 1) 430 430

Is there anything it cannot do?

Garbage collection.

C++ does no garbage collection because C++ developers learn how not to produce garbage in the first place. Use proper mutex lockers, smart pointers or file handles, and you won't leak memory, won't miss freeing locks or file descriptors.

And is not that you need to be a genius to make use of them. Just use, for example, a QFile, or QMutexLocker, and at the end of the scope the resource is freed. Done.

How can you do 'New Math' problems with an 'Old Math' mind? -- Charles Schulz

Working...