the reason its easy to put the quote into a webpage SQL form is because its easy to slap code into a webpage and have it execute. Turns out that letting programmers have "easy to use" languages that "allow them to be so much more productive" makes for insecure applications. Who'd have thought!
The only good way to secure your sites is not to use a webserver at all. Well ok, you *have* to use one for your websites, but use as little of it as possble. Write all your code in a server-side application/service/daemon and run commands from the webserver to it via some RPC methods. Your webserver should be used for serving up browser pages only, possibly with some xml->html translation if you want your app to be decoupled from html completely.
Well, ok that's not a panacea, but its sure as hell a good start. It also means you can forget all the crap like application domains and the other pretend security cruft MS built into IIS.
the C++ language is tiny, not "enormous". As for add-on libraries, look at all the other languages, you may not notice the libraries as they come bundled but languages like Java and C# have deprecated more library features than ever existed in C++
I think he had to use 1 add-on library, and may have been better off writing it using the stl instead.
You don't *need* a garbage collector if you have a reference counted smart pointer to manage memory within scopes. The point here is that you can choose whichever memory management scheme you like if it is part of a library. If you want a special allocator, write (or select) one.
We needed this once, several highly-preallocated memory heaps, it made a tremendous impact on performance at the expense of memory consumed. It fitted our needs, something you'd never see in a general-purpose allocator.
it's often much better to focus on improving actual functionality rather than poring over the details of memory management.
unfortunately, with a managed language you only shift the burden of poring over the details of memory management to poring over resource management and memory overusage. You still have to have control over what your program is doing and how its doing it, if you abrogate that responsibility you end up with poor code no matter what language its written in.
This is the biggest problem with managed code - people have been told (and believe) that it does all the hard work for you. This used to be the case with VB.classic - people believed you just clicked some code together in a.cls module and it would work fine. We all know how well that turned out for the industry.
Don't forget that all languages do relatively little, and all of them have huge libraries that provide the features (like, for example, memory management). The benefit of having the language with the fine-grained control is that you get to choose the best or most appropriate library for your needs. Languages that give you a one-size-fits-all library end up splitting into several flavours of that language (eg a simple example: Java, Enterprise Java, Mobile Java, Real-Time Java)
As for your assertion that most people want to write business logic, I'm not sure that's true. Most code I've seen is full of re-invented stuff, whether its another caching, threading, comms, DB wrapper or GUI feature.
VB not a programming language? You can claim that about a lot of others to. The simple fact is that, just like guns, its not the tool that is at fault, its the person who wields it badly.
Geeks insist that the new units of measurement are inherently more "rational." This penetrating insight, of course, is what leads them to not getting laid.:-)
Also note that both hard drive manufacturers and digital telecommunications, in a computing context, use 1000 for kilo. Also note that both hard drive manufacturers and digital telecommunications, in a marketing context, use 1000 for kilo.
ah but its true. I already have this at work - only there the RAID card (a crappy adaptec sata raid card on a Dell powervault 745n) is bottlenecking the transfers of my virtual machine backups.
at some point we'll stick a scsi enclosure on the back of it and see if we can't get better than the 20MB/s (bytes) we see currently.
FYI PCI-e 1.1 supports 250 MB/s (250 million bytes per second), so x16 gives you 4GB/s. Most network speeds are given in bits per second, so thats roughly enough for 32Gbps transfer.
PCI-e 2.0 is double speed compared to PCI-e 1.1, you'll have it in newer mobos.
Your HDD (if its a sata-2) will support 3 gbps (3 gigabits per second) transfer, though that's burst rate so you'll only get half that on average - 150MB/s, but you could put your drives in a RAID0 array to increase that.
If you don't believe me, look it up on wikipedia. I promise I've not just gone there and changed the numbers.
Are CS majors from non-tech school considered inferior? What would an HR department think? What would you think if you were hiring?" you're almost right.
Are CS majors considered inferior? Yes.
Once you've joined a company, worked there for a while, you too will have the same low opinion of graduates. That will be doubly true of the graduates who think they know everything and should be hired as principal engineers immediately.
A good attitude is the best thing to have, as an inexperienced job-seeker (to be), you only need 2 things: enthusiasm and a willingness to learn, and good communication ability.
Umm.. The 3 things you need are enthusiasm, willingness to learn, good communication ability and some technical skills of any sort.
Bu**er. The 4 things you need are... I'll start again. Fortunately you no longer need a fanatical devotion to Bill Gates.
liberal art school... full of, well, girls. All of which have their heads filled with romance, poetry, and a total lack of understanding about anything real world. Go there:-)
Re:Skill and not language used?
on
The Return of Ada
·
· Score: 2, Insightful
Actually, I think its the reason you get uber-coders in the first place.
If you want cowboy coders, then choose the latest, coolest anguage there is. You'll soon see the muppets who couldn't hack it with an established language who had to do real work with real systems using it. By saying they work with the latest, they get to blame the language "its a learning process", or just by following where the money is.
Coders who insist on the latest stuff are always worse than the people who are content to work in the old stuff. They are the people who are more interested in getting the system implemented well, and not playing with the new toys.
So, choose ADA. If you can find them, experienced ADA devs will be far better for your business than some C# kids.
Well, everything is fine when you look at historic trends, but like condo speculators imagining that prices will always go up, looking behind you won't prevent you from falling over the cliff.
The future of internet has nothing to do with the capacity of the big pipes behind the ISPs, but the cost of it to the ISP. I don't mean that as capacity increases cost reduces, but that as users demand more the ISP must offer more capacity at the same price - users wont accept less (especially if they're promised unlimited bandwidth), and considering that all ISPs have oversold their bandwidth expecting user's usage to remain at historical levels (ie web, email, a little streaming video, a little downloading) if they suddenly find that users think nothing of downloading a few hour's fullscreen video daily, their business model will be in tatters.
There may be plenty of capacity in the big pipes, but if ISPs have to buy 10 times their current cap to satisfy their current users, there will be trouble. And the trouble will be of download caps, traffic shaping and peak hours usage - which is pretty much what the article says will not happen.
yeah. but back then they didn;t have 6 teenagers in a Polo screeching along at 120mph.
I don't know where you live, but I've never seen a cameras hidden behind anything. They are all in the clear, not behind a tree or a wall or anything. I know of 3 cameras that are well placed - one in Nettlebed in oxfordshire (in the middle of the long straight, turn the bend and there's a primary school one side of the road), and Henley (at the end of the Fairmile). The 3rds along the Fosse Way near a country pub. Those all make sense.
You can scaremonger all you like, but the facts are that excessive speed (note my words) does kill. Excessive speed round a bend at 40 can take you off the road if the bend is sharp enough, 100 mph along the straight can do the same, especially at the bottom of a hill where change in direction (ie upwards) makes momentum does unexpected things to your vehicle.
actually, that's the bets place to put it - how many kiddies are going to speed down that straight, lose control at the bottom of the hill and crash and burn. Speed doesn't just kill on corners.
Now, I hate cameras as much as he next phsycopathic driver, and most of them really are placed in stupid places, but occasioanlly they are placed correctly. Besides, on a long straight you can see them in plenty of time to slow down.
Let's get back to some meaningful discussions, like how the RIAA sucks and Linux is cool. you must be new. This is a discussion about how Microsoft sucks. How more meaningful can you get:-)
If you're trying to say that Microsoft could write a new, more simple, GUI for the "Vista kernel" and make it run on lower-end hardware? You're probably right, but not without also modifying the kernel to pull out ALL that backward compatibility stuff. actually they did do this - the Aero Glass interface can be run without the 'glass' bit. It looks a bit manky, but it works. And, of course, you can go straight for classic mode which works just fine too.
WRT legacy stuff, scrapping it is a nice-to-have but not practical in the real world. Not unless you like upgrading all your apps to new versions. It was difficult enough when Vista came out and there was a genertal lack of driver support. Imagine how much worse it would be if you had to wait for all your apps to be ported. And then that'd mean suppliers would have to maintain multiple versions for people who hadn't upgraded yet. I'm sure they'd be happy to support Firefox 2 for Windows 2000, Xp, Vista, as well as for Mac, Linux, etc etc etc.
Windows 7 may have a better approach to legacy code than MS has so far attempted. I think the problem is that as time goes by, the amount of legacy grows, and now we're into Windows v6 its gotten a little too much to be maintainable. However, I think they'll still do pretty much the same kind of thing they've always done.
Incidentally, the kind of 'legacy in a box' approach is being worked on at the moment - have a look at 'Thinstall' from VMware. Its new and in beta but its a form of VM app in a window, rather than an entire virtual machine in a window.
oops
the reason its easy to put the quote into a webpage SQL form is because its easy to slap code into a webpage and have it execute. Turns out that letting programmers have "easy to use" languages that "allow them to be so much more productive" makes for insecure applications. Who'd have thought!
The only good way to secure your sites is not to use a webserver at all. Well ok, you *have* to use one for your websites, but use as little of it as possble. Write all your code in a server-side application/service/daemon and run commands from the webserver to it via some RPC methods. Your webserver should be used for serving up browser pages only, possibly with some xml->html translation if you want your app to be decoupled from html completely.
Well, ok that's not a panacea, but its sure as hell a good start. It also means you can forget all the crap like application domains and the other pretend security cruft MS built into IIS.
I find your analogy remarkably true.
Java/C#/etc do remind me of a huge, slow, bulky battle tank that requires a huge amount of support and resources to keep in the field.
They're not much use against a light infantry squad too, against another tank they perform relatively well though.
the C++ language is tiny, not "enormous". As for add-on libraries, look at all the other languages, you may not notice the libraries as they come bundled but languages like Java and C# have deprecated more library features than ever existed in C++
I think he had to use 1 add-on library, and may have been better off writing it using the stl instead.
Does he need to? Boost has support for various smart pointer classes that should handle everything you need:
http://www.boost.org/doc/libs/1_35_0/libs/smart_ptr/smart_ptr.htm
You don't *need* a garbage collector if you have a reference counted smart pointer to manage memory within scopes. The point here is that you can choose whichever memory management scheme you like if it is part of a library. If you want a special allocator, write (or select) one.
We needed this once, several highly-preallocated memory heaps, it made a tremendous impact on performance at the expense of memory consumed. It fitted our needs, something you'd never see in a general-purpose allocator.
So they think C# is the ultimate? I suppose they have a point, 3% today.. 4% tomorrow. Global domination by Sunday teatime.
it's often much better to focus on improving actual functionality rather than poring over the details of memory management.
.cls module and it would work fine. We all know how well that turned out for the industry.
unfortunately, with a managed language you only shift the burden of poring over the details of memory management to poring over resource management and memory overusage. You still have to have control over what your program is doing and how its doing it, if you abrogate that responsibility you end up with poor code no matter what language its written in.
This is the biggest problem with managed code - people have been told (and believe) that it does all the hard work for you. This used to be the case with VB.classic - people believed you just clicked some code together in a
joke -----> .
you ------> o
-|-
/ \
:-)
s/invent/use pre-written libraries/.
Don't forget that all languages do relatively little, and all of them have huge libraries that provide the features (like, for example, memory management). The benefit of having the language with the fine-grained control is that you get to choose the best or most appropriate library for your needs. Languages that give you a one-size-fits-all library end up splitting into several flavours of that language (eg a simple example: Java, Enterprise Java, Mobile Java, Real-Time Java)
As for your assertion that most people want to write business logic, I'm not sure that's true. Most code I've seen is full of re-invented stuff, whether its another caching, threading, comms, DB wrapper or GUI feature.
VB not a programming language? You can claim that about a lot of others to. The simple fact is that, just like guns, its not the tool that is at fault, its the person who wields it badly.
I believe they do have all-natural growing breasts. You need some special material to make them though:
:)
1. beer, lots of it.
2. kebabs, lots of them
3. pizza. yup, lots.
you get the idea
I've no idea who Bronski is, but I'm guessing you're not referring to Bronski Beat.
Geeks insist that the new units of measurement are inherently more "rational." This penetrating insight, of course, is what leads them to not getting laid. :-)
There, fixed that for you.
ah but its true. I already have this at work - only there the RAID card (a crappy adaptec sata raid card on a Dell powervault 745n) is bottlenecking the transfers of my virtual machine backups.
at some point we'll stick a scsi enclosure on the back of it and see if we can't get better than the 20MB/s (bytes) we see currently.
FYI PCI-e 1.1 supports 250 MB/s (250 million bytes per second), so x16 gives you 4GB/s. Most network speeds are given in bits per second, so thats roughly enough for 32Gbps transfer.
PCI-e 2.0 is double speed compared to PCI-e 1.1, you'll have it in newer mobos.
Your HDD (if its a sata-2) will support 3 gbps (3 gigabits per second) transfer, though that's burst rate so you'll only get half that on average - 150MB/s, but you could put your drives in a RAID0 array to increase that.
If you don't believe me, look it up on wikipedia. I promise I've not just gone there and changed the numbers.
Are CS majors considered inferior? Yes.
Once you've joined a company, worked there for a while, you too will have the same low opinion of graduates. That will be doubly true of the graduates who think they know everything and should be hired as principal engineers immediately.
A good attitude is the best thing to have, as an inexperienced job-seeker (to be), you only need 2 things: enthusiasm and a willingness to learn, and good communication ability.
Umm.. The 3 things you need are enthusiasm, willingness to learn, good communication ability and some technical skills of any sort.
Bu**er. The 4 things you need are... I'll start again. Fortunately you no longer need a fanatical devotion to Bill Gates.
liberal art school... full of, well, girls. All of which have their heads filled with romance, poetry, and a total lack of understanding about anything real world. Go there :-)
Actually, I think its the reason you get uber-coders in the first place.
If you want cowboy coders, then choose the latest, coolest anguage there is. You'll soon see the muppets who couldn't hack it with an established language who had to do real work with real systems using it. By saying they work with the latest, they get to blame the language "its a learning process", or just by following where the money is.
Coders who insist on the latest stuff are always worse than the people who are content to work in the old stuff. They are the people who are more interested in getting the system implemented well, and not playing with the new toys.
So, choose ADA. If you can find them, experienced ADA devs will be far better for your business than some C# kids.
It's usually more efficient for the project to do the work up-front, rather than to hack together something and debug it.
I think that applies a thousandfold in mission-critical software that stops airplanes from "sharing the same airspace".
Well, everything is fine when you look at historic trends, but like condo speculators imagining that prices will always go up, looking behind you won't prevent you from falling over the cliff.
The future of internet has nothing to do with the capacity of the big pipes behind the ISPs, but the cost of it to the ISP. I don't mean that as capacity increases cost reduces, but that as users demand more the ISP must offer more capacity at the same price - users wont accept less (especially if they're promised unlimited bandwidth), and considering that all ISPs have oversold their bandwidth expecting user's usage to remain at historical levels (ie web, email, a little streaming video, a little downloading) if they suddenly find that users think nothing of downloading a few hour's fullscreen video daily, their business model will be in tatters.
This is why the iPlayer is such a big thing for the UK (at least) - suddenly, we have users expecting to stream their TV over the internet, and the internet has not been designed to cope with it.
There may be plenty of capacity in the big pipes, but if ISPs have to buy 10 times their current cap to satisfy their current users, there will be trouble. And the trouble will be of download caps, traffic shaping and peak hours usage - which is pretty much what the article says will not happen.
yeah. but back then they didn;t have 6 teenagers in a Polo screeching along at 120mph.
I don't know where you live, but I've never seen a cameras hidden behind anything. They are all in the clear, not behind a tree or a wall or anything. I know of 3 cameras that are well placed - one in Nettlebed in oxfordshire (in the middle of the long straight, turn the bend and there's a primary school one side of the road), and Henley (at the end of the Fairmile). The 3rds along the Fosse Way near a country pub. Those all make sense.
You can scaremonger all you like, but the facts are that excessive speed (note my words) does kill. Excessive speed round a bend at 40 can take you off the road if the bend is sharp enough, 100 mph along the straight can do the same, especially at the bottom of a hill where change in direction (ie upwards) makes momentum does unexpected things to your vehicle.
I am colourblind you insensitive clod!
you mean drivers speed through as the light at the top turns grey whilst all the others have to wait at the grey light?
actually, that's the bets place to put it - how many kiddies are going to speed down that straight, lose control at the bottom of the hill and crash and burn. Speed doesn't just kill on corners.
Now, I hate cameras as much as he next phsycopathic driver, and most of them really are placed in stupid places, but occasioanlly they are placed correctly. Besides, on a long straight you can see them in plenty of time to slow down.
WRT legacy stuff, scrapping it is a nice-to-have but not practical in the real world. Not unless you like upgrading all your apps to new versions. It was difficult enough when Vista came out and there was a genertal lack of driver support. Imagine how much worse it would be if you had to wait for all your apps to be ported. And then that'd mean suppliers would have to maintain multiple versions for people who hadn't upgraded yet. I'm sure they'd be happy to support Firefox 2 for Windows 2000, Xp, Vista, as well as for Mac, Linux, etc etc etc.
Windows 7 may have a better approach to legacy code than MS has so far attempted. I think the problem is that as time goes by, the amount of legacy grows, and now we're into Windows v6 its gotten a little too much to be maintainable. However, I think they'll still do pretty much the same kind of thing they've always done.
Incidentally, the kind of 'legacy in a box' approach is being worked on at the moment - have a look at 'Thinstall' from VMware. Its new and in beta but its a form of VM app in a window, rather than an entire virtual machine in a window.
However a $500 computer is *another* computer. I have enough already, I don't want to buy more if I can happily get by with my existing setup.