Well, I would say they coverage was pretty limp, but it was covered. template <typename T> T square(T x) {
return x*x; }
The template function above isn't actually a function. It's a recipe for generating functions. It's a way of making the compiler write the function for you when you invoke square(myFloat).
Before I posted, I thought they'd said "generic" where they actually said "generative". So I searched on "generic" and didn't find it. Then I searched on "metaprogramming" and found it. But generic programming is definitely metaprogramming.
I didn't like the article-- it didn't say anything new or anything deep. But they did cover generic programming in their half-assed way.
That's impossible. C++ is essentially a superset of C++. Virtually every C program is also a C++ program.
Just because it's there doesn't mean you have to use it. One way of using C++ is simply as "a better C". Bjarne says "C++ was designed to support data abstraction, object-oriented programming and generic programming using templates. It was *not* meant to force one particular programming style upon all users[emphasis his]."
Sheesh, what a dull article. First, it goes over the history of programming languages yet again, and then lists a few methodologies and ideas that everyone's already heard of.
The article did indeed talk about generic programming: "If Fortran can be compiled into machine code, then why not transform some higher-level description or specification directly into a ready-to-run program? This is an old dream. It lives on under names such as generative programming, metaprogramming and intentional programming."
Generic programming is a form of metaprogramming; in fact, they've got a lot of stuff about template-based metaprogramming at the C/C++ Users' Journal these days.
But there is functionality to be gained from VM+SUID root. Sendmail needs root to use port 25. It would be useful to create a virtual machine that just ran Sendmail, POP and IMAP. Most email users would only have accounts on that VM. Or it would be useful to have a virtual machine that just ran BIND.
I suppose you can use packet-filtering to remap port 53 and 25 to high ports (say, 8053 and 8025), so you don't have to run Sendmail and Bind as root.
But the other a VM is that you don't have to worry about someone getting a local logon through non-root Sendmail and then using privilege escalation exploits to get root on your whole box. The most they'd get access to would be your mail system.
Anyhow, security isn't black-and-white, and defence-in-depth is a reasonable technique. VM+NOSUID+CHROOT would be a very secure config.
It's a tautology. Anything shown on TV is good enough to be shown on TV. Anything your socks are made of can be used for making socks. Anything used in a theater is theater-quality. Doesn't matter whether it's 320x240 at 10 bps or better.
No. The ones and zeros are produced by differences in magnetic fields, but magnetic fields are not caused by electron imbalances-- they're caused by electron motion. For hard disks, this is the orbit of the electron around the nucleus of its atom. The alignment of electron orbits is what produces a 1 or zero, but no matter what, the electrons stay where they belong.
Then use a better browser:-). Seriously, no matter how ill-formed a web site's HTML or CSS is, it should not crash a browser. IE and Mozilla render it just fine.
I just made it valid XHTML Transitional 1.0, but it probably still crashes Safari. Ah well. I'll have to snag Opera before I go live.
I'm working on converting my web site from straight HTML to PHP + XML, to ease the pain of future changes. My thinking is, as long as I preserve all the data I think is important in XML, I should be about to output it however I want. I'm going OO with this.
One object type I have is a "renderer". Its job is to output my data in whichever form I ask. Here are three different renderers operating on the same data:
I also have Parser object that uses the Expat PHP interface, objects for news items and links, etc. To me, this form of organization makes sense. It helps me centralize information, and prevents stupid mistakes like putting a news item inside a paragraph. It also supports "programming-by-difference"-- most of the methods in the "old" renderer are also part of the "new" renderer, but wherever I need to, I can change the "new" renderer freely. The RSS renderer, on the other hand, is based on the "blank" renderer, so it defaults to doing nothing. Of course, YMMV.
We can make our own source code repository. Yeah, that's it. We'll call it codesource.org, and we can use MySQL and PHP to run it. Anyone know where I can find some source code to get started?:-)
Open Source projects care about placing credit where it's due. Licenses like the BSD and GPL insist that copyright notices be preserved. Blackdown may not have been open source, but it was a volunteer project-- all they could hope for was credit. And after the outcry, Sun started giving them credit.
Sun's licensing scheme is called "community source", but you don't have much of a community if you start claiming you wrote everything the rest of the community wrote.
I'm converting my web site to XML these days.
so "news.html" is generated from "news.xml and "links.xml".
What do you think is easier to reuse: news.html or the source files?
You could combine this with those transparent transistors they just came out with to put the data decryption circuitry onto the surface of the pager. That would be pretty well impossible to bypass, since the decryption hardware would BE the message.
It would also be neat to have a piece of paper that was also a scanner!
Since "the hardware" is powerful 3d accelerators, it will probably be available for x86 *first*.
There's a case that can be made for converting something into OO, but it doesn't sound like the reasons or the approach you've seen were very good.
OO does promote code reuse and modularity, but the right way to make something OO is gradual change, not a rewrite.
Well, I would say they coverage was pretty limp, but it was covered.
template <typename T>
T square(T x)
{
return x*x;
}
The template function above isn't actually a function. It's a recipe for generating functions. It's a way of making the compiler write the function for you when you invoke square(myFloat).
Before I posted, I thought they'd said "generic" where they actually said "generative". So I searched on "generic" and didn't find it. Then I searched on "metaprogramming" and found it. But generic programming is definitely metaprogramming.
I didn't like the article-- it didn't say anything new or anything deep. But they did cover generic programming in their half-assed way.
That's impossible. C++ is essentially a superset of C++. Virtually every C program is also a C++ program.
Just because it's there doesn't mean you have to use it. One way of using C++ is simply as "a better C". Bjarne says "C++ was designed to support data abstraction, object-oriented programming and generic programming using templates. It was *not* meant to force one particular programming style upon all users[emphasis his]."
Sheesh, what a dull article. First, it goes over the history of programming languages yet again, and then lists a few methodologies and ideas that everyone's already heard of.
There's no revolution here, folks. Move along.
The article did indeed talk about generic programming:
"If Fortran can be compiled into machine code, then why not transform some higher-level description or specification directly into a ready-to-run program? This is an old dream. It lives on under names such as generative programming, metaprogramming and intentional programming."
Generic programming is a form of metaprogramming; in fact, they've got a lot of stuff about template-based metaprogramming at the C/C++ Users' Journal these days.
1. If you're sure that remote xwindows slows down local xwindows, what's your data?
2. This is not xwindows' job. Gui differences are at a higher level than X.
3. I agree with you here.
Yes, something does need to be secure.
But there is functionality to be gained from VM+SUID root. Sendmail needs root to use port 25. It would be useful to create a virtual machine that just ran Sendmail, POP and IMAP. Most email users would only have accounts on that VM. Or it would be useful to have a virtual machine that just ran BIND.
I suppose you can use packet-filtering to remap port 53 and 25 to high ports (say, 8053 and 8025), so you don't have to run Sendmail and Bind as root.
But the other a VM is that you don't have to worry about someone getting a local logon through non-root Sendmail and then using privilege escalation exploits to get root on your whole box. The most they'd get access to would be your mail system.
Anyhow, security isn't black-and-white, and defence-in-depth is a reasonable technique. VM+NOSUID+CHROOT would be a very secure config.
Right, but the point is with a VM, you don't need a secure kernel, and you CAN run Apache (or Sendmail, or Bind) as suid root.
It's a tautology. Anything shown on TV is good enough to be shown on TV. Anything your socks are made of can be used for making socks. Anything used in a theater is theater-quality. Doesn't matter whether it's 320x240 at 10 bps or better.
Your wish is granted: PHP4 has references. And I'm actually working with structures more complicated than associative arrays ATM.
I downloaded konq and opera, and both of them were stable, although the layout looked bad. Safari isn't really an option for me,
No. The ones and zeros are produced by differences in magnetic fields, but magnetic fields are not caused by electron imbalances-- they're caused by electron motion. For hard disks, this is the orbit of the electron around the nucleus of its atom. The alignment of electron orbits is what produces a 1 or zero, but no matter what, the electrons stay where they belong.
Yes, I know apt does
But are you remembering that apt does RPM? Quite well, I might add. We've been using it for months at work.
Hey, it's my wheel, and I'll reinvent it if I want to! (It's my project for learning PHP.)
Then use a better browser :-). Seriously, no matter how ill-formed a web site's HTML or CSS is, it should not crash a browser. IE and Mozilla render it just fine.
I just made it valid XHTML Transitional 1.0, but it probably still crashes Safari. Ah well. I'll have to snag Opera before I go live.
I'm working on converting my web site from straight HTML to PHP + XML, to ease the pain of future changes. My thinking is, as long as I preserve all the data I think is important in XML, I should be about to output it however I want. I'm going OO with this.
One object type I have is a "renderer". Its job is to output my data in whichever form I ask.
Here are three different renderers operating on the same data:
Old, new, RSS.
I also have Parser object that uses the Expat PHP interface, objects for news items and links, etc. To me, this form of organization makes sense. It helps me centralize information, and prevents stupid mistakes like putting a news item inside a paragraph. It also supports "programming-by-difference"-- most of the methods in the "old" renderer are also part of the "new" renderer, but wherever I need to, I can change the "new" renderer freely. The RSS renderer, on the other hand, is based on the "blank" renderer, so it defaults to doing nothing. Of course, YMMV.
We can make our own source code repository. Yeah, that's it. We'll call it codesource.org, and we can use MySQL and PHP to run it. Anyone know where I can find some source code to get started? :-)
You aren't allowed to redistribute code you get from planetsourcecode.com, which is a shame.
What kinda sicko lets Sun change his girlfriends? Wait a sec-- What kinda sicko has girlfriends who need to be changed?
Open Source projects care about placing credit where it's due. Licenses like the BSD and GPL insist that copyright notices be preserved. Blackdown may not have been open source, but it was a volunteer project-- all they could hope for was credit. And after the outcry, Sun started giving them credit.
Sun's licensing scheme is called "community source", but you don't have much of a community if you start claiming you wrote everything the rest of the community wrote.
Actually, there's some merit to the poster's Java statement. Sun once claimed to have written Blackdown's JDK 1.2.2 port.
I'm converting my web site to XML these days. so "news.html" is generated from "news.xml and "links.xml". What do you think is easier to reuse: news.html or the source files?
You could combine this with those transparent transistors they just came out with to put the data decryption circuitry onto the surface of the pager.
That would be pretty well impossible to bypass, since the decryption hardware would BE the message.
It would also be neat to have a piece of paper that was also a scanner!
I should also mention that iCal is a protocol (RFC2445) not just an Apple product.