but it will when covered in the liquid, I suppose because as liquid stiffens under impact it pulls the fibres together so the blade cannot slip between them.
Unfortunately, (I think) they're also the tools used to run debuggers. I think its best to restrict them to admins, and start running users with user-level security privileges.
"IE 7 will be delivered in the fourth quarter as a "high priority" update via Automatic Updates in Windows XP"
not a critical one at all. Also, apparently it will pop up a dialog instead telling the user how great IE7 is and asking if they want to install it. Of course people will, as we all blindly upgrade to the latest version all the time without thinking.
Again we see a kid working for spare cash, and businesses relying on him for their (no doubt) 'mission critical' web infrastructure instead of going to a proper business that supports the work they do. Such a business would cost more, but now is the time that you find out why that is.
If it takes 60 hours, then it takes 60 hours. This is what happens when you take on responsibility for something. If you agree to do it and got paid to do it, then you can't complain. Nobody forced you after all. Your inexperience with business shows that you didn't require them to pay for 'support' either on an as-needed basis, or with a regular payment to.
You get what you pay for. If the poster doesn't know how to manage his clients expectations properly, then he deserves to find out the hard way that working for someone requires more effort than just knocking up some website practically for fun.
Suggestion: contact clients, tell them IE7 is coming out and will be automatically updated. Suggest that some changes will be required to their websites to support the new browser and that these changes will be charged at £xx a hour, with estimated times for the sites. All the clients will be thankful you informed them before the changes occurred, all will pay for the changes. All will assume that upgrades are necessary because that's the way of the computer industry - we all upgrade to the latest version all the time, its ingrained as normal.
You then start work on upgrading the sites to support IE7 today, keep the changes stored away so that, in a few months time when the browser does come out, upgrading your client's sites is a simple matter of uploading the changes the day before. No stress, no weeny complaints about how 'fucking microsoft' ruined your life, no problems. This is how professionals do it. Learn.
any app? Not really - only apps that have "The handle must have the PROCESS_CREATE_THREAD, PROCESS_QUERY_INFORMATION, PROCESS_VM_OPERATION, PROCESS_VM_WRITE, and PROCESS_VM_READ access rights"
So you have to let it have that access. I don't think these flags are set by default, so you have to explicitly ask for them, and to change the ccess flags for the creating app, the user you run as needs to have the SeDebugPriviliege privilege. (ie admin)
As for dlls being loaded, it depends what he meant - all apps will share the memory that is used by a dll as they only map it into their address space on load (unless you have delay-loading speciifed when you built the app, whereupon it gets mapped in when it is first used). So generally for all apps, all dlls are loaded on startup. If the dll is already used by another app, then you'll get that one instead of the one on disk. Its not that much of a speed boost however, and I find that all apps that 'preload' are run so they can perform some work (eg lengthy initialisation) instead of simply loading dlls into their address space.
For memory use, there is a difference between what task manager shows you (the apps memory usage) against the memory used solely by an app for that app (Private Bytes).
I use plusnet, and they are great. I do get unlimited broadband - but as with everything in life, 'unlimited' just means a large limit I don't notice. There again, I don't download music and vids 24/7.
Plusnet do allow true unlimited downloads from midnight to 4pm though - they throttle it during peak time when mum and dad are downloading emails and surfing for their new vacuum cleaner, so its understandable the CEO wants to give them a good surfing experience (they pay lots for little usage after all) without the pirate kiddies using up all the capacity with bittorrent, IRC, and CS.
Plusnet are good, you should try some other providers if you think they are draconian! (and tell them bolstridge sent you - I want my 50p!!)
I have unlimited broadband, but that's probably because I don't download continuously all day long. I'm with PlusNet (who are great), and a while back they introduced a 'fair use' policy that caused quite a fuss.
The whole industry is based around buying X mb of bandwidth from BT, and then reselling it on to customers, expecting the customer to use a fair amount of it - not to use all the 2mb that they are given. This overselling is common as you'd be paying £100 a month for a 512Kb connection if they had to give everyone that much. So, they introduced the fair use that said you won't saturate your connection so other users wouldn't be disadvantaged (as the company wouldn't buy more capacity just for the few users who do abuse the service).
That said, they do give several options, and the expensive (£22) connection gives you a lot of bandwidth anyway - 20Gb during peak hours (4pm to midnight) and unlimited at other times. Even then, if you download more, they won't do anything about it until you d/l more than 60Gb. Its more of a reason to stop people who are literally downloading all the time. (hmm, that'll be you)
You might want to check out Adslguide.org which has a list of all UK BB providers, you may find a better one in there, or you may want to try the "business" offerings from places as they should be mouch more friendly to your large bandwidth needs. Alternatively, contact the ISP and ask!
To me, CSS is a very good idea but it will only succeed in its goals if all browser makers allow it to succeed.
Or if all web designers code to the standard that most people view, and force the makes of the broken browsers to implement it.
I do, of course, refer to IE CSS, as even if Firefox has 15% market share, that's still somewhat less that IEs. Religion aside, that's what matters - write your CSS so it looks broken in IE, your visitors will complain that *your* site is broken.
Zengarden has the right idea, use only those CSS features that are supported by all browsers and have done with it.
Or, if the company tanks with the new CEO, the board says, "We need to fire this CEO!
No, that only happens when the company has really tanked. First they say, "We need to motivate our CEO more, give him loads more options and bonuses!".
I think the CEOs that make the most money are adept only at self-promotion. Doing a decent job is left to the quiet CEOs who just get on with running their companies, and are thus never in the news.
if 1 developer can write it in a year, 2 developers could write it in 9 months, 3 developers in 7 months, and 10 developers could do it in 3 years and find time to include a mass of conflicting design issues, several project plans, bugs, security exploits, and out of date documentation.
It seemed to me the article was criticising C and trying to compare Java favourably. ie, C is a low level language that canot be optimised, Java is a high level language that can. roughly.
It didn;t say much at all otherwise, but it did have a nice collection of adverts.
Optimisation: You don't have to hack around, some compilers do it for you. The new MS compiler does a 'whole program optimisation' where it will link things together from separate object modules. Still cannot handle libraries, but then, that's just an issue that applies to all programs that are split into component parts. (except as the article implies, java that uses the bytecode in class libraries... except when compiled to native code as the first page of the article mentioned as a way to boost speed. Can't have it both ways:-) )
Like the procedures manual entitled "I want it right first time, every time". Version 12.
Its never right first time, even if you do it to the spec exactly and fulfill every feature, the customer's business will have moved on and they'll want further changes. Better to get it to them, and then do the changes that they will want anyway.
I suppose this is a difference between a technical view of the world where the software matters, and the business view where a product that assists the business today is better than a better one tomorrow - especially if you can have thew better one when its ready. I've seen a company go this close to bust because its new fancy product was written to be 'right', so no customer had bought it because it wasn't released and yet all those programmers still had to be paid.
If they'd made it simpler, released v1, then they'd have received licence fees, support fees, and could feedback on what they liked and didn't like and v2 could have been released with bugs removed and extra features (that i'm sure the initial product spec didn't think of), and sold for more licence fees. Everyone would have been happy.
I don't think it was his presentation. Its was the shouting at his senior department manager who then shouted at his development manager who shouted at his design analysts, and the development team leaders, who they told the staff to 'take ten minutes to put the feature in the next build'.:-)
Yeah, I've heard of 'new towns', they're places that no-one wants to live in.
So far I've not heard the problems with up-front planning, the issues where you forget things, where the customer doesn't fully know what they want, etc. The solutions to fixing these issues are that you spend so much time working out what you want the end product is nearly always not suitable for the initial problem. Take a look at all those government IT projects that generally fail, are delivered years late, they were all designed with up-front planning so the lawyers would know who to blame when it goes bad. In 80% (say) of projects, the "get on with it" approach is the correct one - flexibility in development, and requirements means that you can chuck things that do not fit. The trick is to make sure the customer knows this that if they tell you to make 'a thing that sort of does x' then they will later be in a position where the thing delivered doesn;t do exactly what they want, and that further development will be required - even if rewrites and redesign are part of that process.
Once they take that on board, the agile development methodology works remarkably well. doubly so if your customer is in a business that requires change all the time.
From an end-user POV, nothing to do with open-ness, I use Messenger as all the people at work use it, and I've grown accustomed to it. That's it. If it used Jabber protocol, I'd use it, but I'd still be using the Messenger application.
MS might possibly switch to using Jabber, but that'd cost them a lot to change things over, and then they'd want to enhance the protocol to handle some things that the MSN protocol allowed but Jabber doesn't, and then the open source community would start to shout how MS is embracing and extending and is trying to break existing apps and would still refuse to use it, and so really there'd be no point in changing the protocol over.
Nice idea though:-)
(oh, and I use Simplite to encrypt my MSN IMs at work, it works nicely).
Forking is cheaper than Windows, not cheap. (define cheap. lol).
If you have to fork to serve a new request, regardless of how efficient unix makes it, it will still require a fair amount of resources and start up some context switching. In addition you then have to set up the network connection and so on. Its a lot more expensive than a single process running and sharing work within itself. (you can see this in action by comparing cgi based webservers with modular ones. The cgi ones are a tenth of the performance of the internally managed ones).
The fastest systems are ones who startup a set of workers (whether forked processes or threads doesn't matter) and then pass work to them as needed. Note that you do no worker creation once the system is set up, and you generally block incoming requests once all your workers are busy. Creating a new worker each time is terribly inefficient, so even though unix may be fast at forking, its still a slow process and shouldn't be used as if its a cost-free solution.
That's good - Windows also does Copy-on-Write too. But, in the real world, how much memory that is used by a process will be written to? I'd say quite a lot of it. Executable code, and static data (strings etc) will be effectively read-only, as will startup initialisation, but past that and especially in a dynamic process that is a small engine that works with a lot of dynamic data (ie a web server), you'll see a lot of private memory used for each process.
On the other hand, with threads you'll still use a lot of that memory too, only in a single process instead of several.
The benefits of threads are mainly process startup time - a single process doesn't have to re-authenticate itself with the OS, but with a threaded program all threads run as the same user. Synchronisation objects are faster (much faster in some cases - a critical section is super fast compared to a cross-process mutex). Inter-thread communcation is faster than inter-process, and certainly easier to use (this is a bit of a genralisation - you can use shared memory between processes, but that's not nearly as easy as using a single variable shared between threads. Don't forget the cost of the sync object in there too)
That's it off the top of my head, I'm sure there are more reasons but even so, there's not as much between them as popular wisdom thinks.
quite right, thanks. I was thinking of UserMode Linux or one of the other ones - god knows there are so many of the damn virtualisation hosts out there nowadays!
I think VMware realise that there are a lot of free virtualisation products out there, and so they had a choice of entering the free market or slowly dying out - something like Novell, Corel, Netscape etc.
Once we all get used to virtualisation, then the big companies that will start using this and see the benefits will buy the big, expensive ESX Server product.. and the support, and the tools and add-ons. For the rest of us, we get free toys so everyone's happy.
Xen is a different product, its a virtualisation tool, but it allows you to split 1 OS into several running 'instances'. VMWare is a 'wrapper' that allows you to run several different OSes side by side. Which one you'd go for depends on your requirements.
apparently they do honour TTLs, so you needn't worry about changing IP lookups. The cache is 'more than just adding ram', apparently they have worked on better resolving algorithms as bind hasn't changed much in the last 20 years (sounds about right actually).
PS. DNS does currently allow you to return multiple A records already. You'd need to update your client apps to determine whether the IP you use is available or not though, the DNS server might like to return you different IPs, but you might require the same one for the remainder of a session (for example)
I refer the honourable poster to the answer someone else gave a few moments ago: http://linux.slashdot.org/comments.pl?sid=192771&c id=15824606
So basicly they're making military use custard
Yes, but its effectiveness will be limited once the enemy researches explosive hundreds-and-thousands.
but it will when covered in the liquid, I suppose because as liquid stiffens under impact it pulls the fibres together so the blade cannot slip between them.
or you could just go CentOS like everyoen else who isn't running it in a corporate environment (where the Policy is to have Supported Software only).
Unfortunately, (I think) they're also the tools used to run debuggers. I think its best to restrict them to admins, and start running users with user-level security privileges.
From the article:
"IE 7 will be delivered in the fourth quarter as a "high priority" update via Automatic Updates in Windows XP"
not a critical one at all. Also, apparently it will pop up a dialog instead telling the user how great IE7 is and asking if they want to install it. Of course people will, as we all blindly upgrade to the latest version all the time without thinking.
Again we see a kid working for spare cash, and businesses relying on him for their (no doubt) 'mission critical' web infrastructure instead of going to a proper business that supports the work they do. Such a business would cost more, but now is the time that you find out why that is.
If it takes 60 hours, then it takes 60 hours. This is what happens when you take on responsibility for something. If you agree to do it and got paid to do it, then you can't complain. Nobody forced you after all. Your inexperience with business shows that you didn't require them to pay for 'support' either on an as-needed basis, or with a regular payment to.
You get what you pay for. If the poster doesn't know how to manage his clients expectations properly, then he deserves to find out the hard way that working for someone requires more effort than just knocking up some website practically for fun.
Suggestion: contact clients, tell them IE7 is coming out and will be automatically updated. Suggest that some changes will be required to their websites to support the new browser and that these changes will be charged at £xx a hour, with estimated times for the sites. All the clients will be thankful you informed them before the changes occurred, all will pay for the changes. All will assume that upgrades are necessary because that's the way of the computer industry - we all upgrade to the latest version all the time, its ingrained as normal.
You then start work on upgrading the sites to support IE7 today, keep the changes stored away so that, in a few months time when the browser does come out, upgrading your client's sites is a simple matter of uploading the changes the day before. No stress, no weeny complaints about how 'fucking microsoft' ruined your life, no problems. This is how professionals do it. Learn.
any app? Not really - only apps that have "The handle must have the PROCESS_CREATE_THREAD, PROCESS_QUERY_INFORMATION, PROCESS_VM_OPERATION, PROCESS_VM_WRITE, and PROCESS_VM_READ access rights"
So you have to let it have that access. I don't think these flags are set by default, so you have to explicitly ask for them, and to change the ccess flags for the creating app, the user you run as needs to have the SeDebugPriviliege privilege. (ie admin)
As for dlls being loaded, it depends what he meant - all apps will share the memory that is used by a dll as they only map it into their address space on load (unless you have delay-loading speciifed when you built the app, whereupon it gets mapped in when it is first used). So generally for all apps, all dlls are loaded on startup. If the dll is already used by another app, then you'll get that one instead of the one on disk. Its not that much of a speed boost however, and I find that all apps that 'preload' are run so they can perform some work (eg lengthy initialisation) instead of simply loading dlls into their address space.
For memory use, there is a difference between what task manager shows you (the apps memory usage) against the memory used solely by an app for that app (Private Bytes).
I use plusnet, and they are great. I do get unlimited broadband - but as with everything in life, 'unlimited' just means a large limit I don't notice. There again, I don't download music and vids 24/7.
Plusnet do allow true unlimited downloads from midnight to 4pm though - they throttle it during peak time when mum and dad are downloading emails and surfing for their new vacuum cleaner, so its understandable the CEO wants to give them a good surfing experience (they pay lots for little usage after all) without the pirate kiddies using up all the capacity with bittorrent, IRC, and CS.
Plusnet are good, you should try some other providers if you think they are draconian! (and tell them bolstridge sent you - I want my 50p!!)
I have unlimited broadband, but that's probably because I don't download continuously all day long. I'm with PlusNet (who are great), and a while back they introduced a 'fair use' policy that caused quite a fuss.
t ainable_usage_guide.shtml
The whole industry is based around buying X mb of bandwidth from BT, and then reselling it on to customers, expecting the customer to use a fair amount of it - not to use all the 2mb that they are given. This overselling is common as you'd be paying £100 a month for a 512Kb connection if they had to give everyone that much. So, they introduced the fair use that said you won't saturate your connection so other users wouldn't be disadvantaged (as the company wouldn't buy more capacity just for the few users who do abuse the service).
That said, they do give several options, and the expensive (£22) connection gives you a lot of bandwidth anyway - 20Gb during peak hours (4pm to midnight) and unlimited at other times. Even then, if you download more, they won't do anything about it until you d/l more than 60Gb. Its more of a reason to stop people who are literally downloading all the time. (hmm, that'll be you)
The fai ruse policy is something every ISP has, to a greater or lesser extent simply because the economics of providing broadband don't allow it otherwise. http://www.plus.net/support/broadband/network/sus
You might want to check out Adslguide.org which has a list of all UK BB providers, you may find a better one in there, or you may want to try the "business" offerings from places as they should be mouch more friendly to your large bandwidth needs. Alternatively, contact the ISP and ask!
My guess is that by taking the most popular story of the previous day and rehashing it
:-)
Usually, they just take the most popular story of the day, and re-release it with a slightly different description. Sometimes twice!
To me, CSS is a very good idea but it will only succeed in its goals if all browser makers allow it to succeed.
Or if all web designers code to the standard that most people view, and force the makes of the broken browsers to implement it.
I do, of course, refer to IE CSS, as even if Firefox has 15% market share, that's still somewhat less that IEs. Religion aside, that's what matters - write your CSS so it looks broken in IE, your visitors will complain that *your* site is broken.
Zengarden has the right idea, use only those CSS features that are supported by all browsers and have done with it.
Or, if the company tanks with the new CEO, the board says, "We need to fire this CEO!
No, that only happens when the company has really tanked. First they say, "We need to motivate our CEO more, give him loads more options and bonuses!".
I think the CEOs that make the most money are adept only at self-promotion. Doing a decent job is left to the quiet CEOs who just get on with running their companies, and are thus never in the news.
if 1 developer can write it in a year, 2 developers could write it in 9 months, 3 developers in 7 months, and 10 developers could do it in 3 years and find time to include a mass of conflicting design issues, several project plans, bugs, security exploits, and out of date documentation.
It seemed to me the article was criticising C and trying to compare Java favourably. ie, C is a low level language that canot be optimised, Java is a high level language that can. roughly.
:-) )
It didn;t say much at all otherwise, but it did have a nice collection of adverts.
Optimisation:
You don't have to hack around, some compilers do it for you. The new MS compiler does a 'whole program optimisation' where it will link things together from separate object modules. Still cannot handle libraries, but then, that's just an issue that applies to all programs that are split into component parts. (except as the article implies, java that uses the bytecode in class libraries... except when compiled to native code as the first page of the article mentioned as a way to boost speed. Can't have it both ways
Like the procedures manual entitled "I want it right first time, every time". Version 12.
Its never right first time, even if you do it to the spec exactly and fulfill every feature, the customer's business will have moved on and they'll want further changes. Better to get it to them, and then do the changes that they will want anyway.
I suppose this is a difference between a technical view of the world where the software matters, and the business view where a product that assists the business today is better than a better one tomorrow - especially if you can have thew better one when its ready. I've seen a company go this close to bust because its new fancy product was written to be 'right', so no customer had bought it because it wasn't released and yet all those programmers still had to be paid.
If they'd made it simpler, released v1, then they'd have received licence fees, support fees, and could feedback on what they liked and didn't like and v2 could have been released with bugs removed and extra features (that i'm sure the initial product spec didn't think of), and sold for more licence fees. Everyone would have been happy.
I don't think it was his presentation. Its was the shouting at his senior department manager who then shouted at his development manager who shouted at his design analysts, and the development team leaders, who they told the staff to 'take ten minutes to put the feature in the next build'. :-)
Yeah, I've heard of 'new towns', they're places that no-one wants to live in.
So far I've not heard the problems with up-front planning, the issues where you forget things, where the customer doesn't fully know what they want, etc. The solutions to fixing these issues are that you spend so much time working out what you want the end product is nearly always not suitable for the initial problem. Take a look at all those government IT projects that generally fail, are delivered years late, they were all designed with up-front planning so the lawyers would know who to blame when it goes bad. In 80% (say) of projects, the "get on with it" approach is the correct one - flexibility in development, and requirements means that you can chuck things that do not fit. The trick is to make sure the customer knows this that if they tell you to make 'a thing that sort of does x' then they will later be in a position where the thing delivered doesn;t do exactly what they want, and that further development will be required - even if rewrites and redesign are part of that process.
Once they take that on board, the agile development methodology works remarkably well. doubly so if your customer is in a business that requires change all the time.
From an end-user POV, nothing to do with open-ness, I use Messenger as all the people at work use it, and I've grown accustomed to it. That's it. If it used Jabber protocol, I'd use it, but I'd still be using the Messenger application.
:-)
MS might possibly switch to using Jabber, but that'd cost them a lot to change things over, and then they'd want to enhance the protocol to handle some things that the MSN protocol allowed but Jabber doesn't, and then the open source community would start to shout how MS is embracing and extending and is trying to break existing apps and would still refuse to use it, and so really there'd be no point in changing the protocol over.
Nice idea though
(oh, and I use Simplite to encrypt my MSN IMs at work, it works nicely).
Forking is cheaper than Windows, not cheap. (define cheap. lol).
If you have to fork to serve a new request, regardless of how efficient unix makes it, it will still require a fair amount of resources and start up some context switching. In addition you then have to set up the network connection and so on. Its a lot more expensive than a single process running and sharing work within itself. (you can see this in action by comparing cgi based webservers with modular ones. The cgi ones are a tenth of the performance of the internally managed ones).
The fastest systems are ones who startup a set of workers (whether forked processes or threads doesn't matter) and then pass work to them as needed. Note that you do no worker creation once the system is set up, and you generally block incoming requests once all your workers are busy. Creating a new worker each time is terribly inefficient, so even though unix may be fast at forking, its still a slow process and shouldn't be used as if its a cost-free solution.
That's good - Windows also does Copy-on-Write too. But, in the real world, how much memory that is used by a process will be written to? I'd say quite a lot of it. Executable code, and static data (strings etc) will be effectively read-only, as will startup initialisation, but past that and especially in a dynamic process that is a small engine that works with a lot of dynamic data (ie a web server), you'll see a lot of private memory used for each process.
On the other hand, with threads you'll still use a lot of that memory too, only in a single process instead of several.
The benefits of threads are mainly process startup time - a single process doesn't have to re-authenticate itself with the OS, but with a threaded program all threads run as the same user. Synchronisation objects are faster (much faster in some cases - a critical section is super fast compared to a cross-process mutex).
Inter-thread communcation is faster than inter-process, and certainly easier to use (this is a bit of a genralisation - you can use shared memory between processes, but that's not nearly as easy as using a single variable shared between threads. Don't forget the cost of the sync object in there too)
That's it off the top of my head, I'm sure there are more reasons but even so, there's not as much between them as popular wisdom thinks.
quite right, thanks. I was thinking of UserMode Linux or one of the other ones - god knows there are so many of the damn virtualisation hosts out there nowadays!
I think VMware realise that there are a lot of free virtualisation products out there, and so they had a choice of entering the free market or slowly dying out - something like Novell, Corel, Netscape etc.
Once we all get used to virtualisation, then the big companies that will start using this and see the benefits will buy the big, expensive ESX Server product.. and the support, and the tools and add-ons. For the rest of us, we get free toys so everyone's happy.
Xen is a different product, its a virtualisation tool, but it allows you to split 1 OS into several running 'instances'. VMWare is a 'wrapper' that allows you to run several different OSes side by side. Which one you'd go for depends on your requirements.
apparently they do honour TTLs, so you needn't worry about changing IP lookups. The cache is 'more than just adding ram', apparently they have worked on better resolving algorithms as bind hasn't changed much in the last 20 years (sounds about right actually).
= 15691232
http://it.slashdot.org/comments.pl?sid=190745&cid
PS. DNS does currently allow you to return multiple A records already. You'd need to update your client apps to determine whether the IP you use is available or not though, the DNS server might like to return you different IPs, but you might require the same one for the remainder of a session (for example)
Hey, the guy's got a /. id of 18, so its got to be ok. :)