Have you tried getting a passport lately? The wait is on the order of six months. It's an enormous pain in the neck for something that in no way improves security at border crossings.
According to Passport Canada, the processing time for a Canadian passport is currently 5 weeks. And that's only if you mail in your application. If you bring it into a passport office in person, the processing time is 2 weeks. If you ask them to rush it because you're going on holidays, they'll do it even faster. (http://www.ppt.gc.ca/cdn/service.aspx?lang=eng)
They even recently changed the rules for finding a Guarantor -- previously you had to find someone who was part of a professional association for 5 years, but now, you just have to find someone who has had a passport for 5 years. (http://www.ppt.gc.ca/cdn/section2.aspx?lang=eng)
Doesn't seem that hard to me, especially for something you only have to do if you're traveling to another country, and then only once every few years.
Well, I think you're looking at it a little backwards. I would say that the robot is going to work 24 hours a day, 7 days a week, constantly replacing at least one employee.
24 hrs / day * 365 days / year * $5 / hr = $43,800 / yr saved. In addition, at the end of 2.511 years, when the robot has worked off its capital cost, the owner still has a robot worth a considerable amount (say, $45,000, assuming ~30% depreciation annually).
Is $110,000 the cost for one robotic pump, or is it the cost of a robotic station? A few of these could reduce the labor costs of a gas station to a single attendant.
Of course, it seems cheaper to just provide pre-pay-only pumps and zero or one attendant at the station. The labor of pumping gas is done by the driver, and you save $110,000 per pump (I assume?) on a robot.
The downside to that approach is that emergency vehicles encounter cars stopped at a red light at every intersection. Where I live, drivers panic when an emergency vehicle approaches, move their car six inches towards the side of the road, and don't realize they should go through a red light to clear the roadway.
Silverlight 2 will be as you describe. You'll be able to program in any.NET language, or any other type of tool that generates MSIL.
Silverlight 1 is just XAML and Javascript. It could easily be generated by a script. It's more similar to SVG than to Flash.
Yes, this is clearly not a "memory leak". It is a software bug.
From the tone of this article, it seems clear that the developers knew that memory usage was growing and objects were not being reclaimed as they should have been. Given the GC environment they were working in, they should have just sat down and thought: what could cause that? Assuming that the runtime is working properly (a pretty good assumption, given its widespread use), there is only one possibility: objects aren't being reclaimed because they are still being referenced.
A quick Google search would have come up with a list of reasons why this can happen, including the objects being subscribed to an event handler. It is a common cause of memory leaks in managed environments (eg. Java &.NET). This team should have spend some time thinking about the problem, rather than trying to fix it with a terrible hack like rebooting the machine at given intervals.
To add in my personal opinion, I *really* don't like the GPL. What it does is FORCE other developers that use your work (whether dynamically linked to or not) to use the GPL as well. My personal opinion is that as a developer, I don't have the right to choose the license of someone else's work.
I like to think of it in terms of slavery. Let's imagine you're the supreme leader of your own country. The people of the country are asking you, "Is Slavery allowed in this country?" You have a couple of choices.
You can be pro-slavery, or anti-slavery. A slavery supporter would state that everyone has complete freedom in your country, including the freedom to enslave others. An anti-slavery supporter would say that personal freedom must stop when it violates the personal freedom of another being -- you can do whatever you want, except deprive another of their freedom.
The "complete freedom" is akin to a BSD-type license -- I grant you the right to do anything you want, including take my software, distribute it, and deprive other people of the freedom and rights that I originally granted to you. The only thing the BSD license really prevents is a lawsuit against the original author, by claiming that he is not liable for the software. (That's why the BSD license is better than releasing software into the public domain, by the way)
The "restricted freedom" (ie. no slavery) is akin to the GPL -- I grant you the right to do a lot of things, but you cannot take my software, redistribute it, and not give other people the same rights that I gave you. All people have the same access to source code that the first distributer had.
Personally? I like them both. It depends on what you want to do with your software. If I want something to be widely used, I'd go with a BSD license. If I believe that it could be a huge benefit to a big company, I'd say that a GPL license would prevent them from taking it, making money off it, and not giving back to the community. They could take it and make money off it, but everyone would benefit from their changes if they're redistributing the software.
The real issue is the server getting hammered every morning, slowing these boottimes as more machines get added to the network.
It seems that some simple caching would fix this up real nice. When a user logs out, upload a binary diff of the VM to the server. When a user logs in, if they already have the most up-to-date VM, they don't download anything. Otherwise, they download the entire image.
In this scenario, network usage just went down by a huge factor. Especially since most employees only use their own desktop machine.
I can write you a scalable, reliable website using MS-Access. It will be slower and require a lot more code, but it will scale and remain up.
You're absolutely correct. However, the easiest way to build a scalable website with MS-Access would be to start caching the entire contents of the database in the application layer. At this point, you might as well be using a flat text file for a database, since the database engine is not solving any problems for you. It's not contributing to developing your application. It's not useful.
Any good discussion of building scalable websites should start with discussing tools. You can make do with a heavy rock, but when you have the choice to use a hammer instead...
Just as an example, let's take your educational web application. Kudos for getting it working well. Would you like to port it to Access, with the same availability requirements? If there was an ideal DatabaseDbSQLServer software that could meet the same requirements with half the hardware, would you consider using it?
The point I'm trying to make is that the underlying architecture does matter. It won't matter to the user when the application is done, but it does matter to people who are Building Scalable Web Sites, the title of this book.
As a software developer in the petroleum industry, I find that all of our clients use Oracle for their database needs. The release of this product will allow us to test and tweak applications to work against Oracle without purchasing the database. This works out great for us. I don't want to use Oracle in any way, but now I have the capability to use it in the most minimal way that will allow me to sell and support software.
My prefered database system is PostgreSQL. It would seem that no level of marketing skill can convince anyone in this industry that Free Software has value. Funny...
The company I work for decided to call our primary software product "PDA", as an acronym for "Production Data Analysis". As I am currently working on this software right this second, the title of this article surprised me. What, huh, our software sales are slipping? Why would slashdot care?
TLAs are far too overloaded already, but bad marketing decisions keep pushing more meanings on them.
But the reviewer is also right. America will be a better place when racism is gone. Talking to the Americans, I say, "Racism is morally wrong. It is harmful both to recipient and to the racist. Knock that *%^&* off!"
I got together with all Americans and gave them your message. They made some gestures, and then tried to insist that they're not racists. They just hate terrorists, no matter what kind of Arab they are.
I'm currently building a variety of petroleum engineering tools in Java. Here are the libraries I've found most useful:
JFreeChart - for all your plotting needs. Robust, quick, and fairly bug free. Not perfect, but hackable.
iText - a free Java PDF library. My preferred method for creating reports, especially since a lot of my output needs to be e-mailed or submitted to the government, not printed out.
JAMA - a Java Matrix package. The fact that this library has a working singular value decomposition has saved me bunches of time programming a boring and tricky algorithm. I guess it has other stuff, too.
Yeah, I'd like to claim my prize for being a real man, please. I left my keys inside my apartment, and it has a lock that doesn't require using the keys on the outside. Got home, figured out where my keys were, and kicked in the door to get them.
Try explaining it to your landlord. "Uh... see... I was carrying this heavy box... and I unlocked the door, then backed into it. By golly, somehow it had closed, and I went crashing right through it expecting it to be open. Damn man, you need to get me a stronger door."
I don't think he believed me, but it's the only bad incident I've had with him after years of paying rent, so he didn't question me. I never figured the door would be so easy to break.
Re:Yep, this guy's an idiot
on
Joel On Software
·
· Score: 4, Insightful
Yeah, I used to work for a company that believed that. No specifications, since deciding how things will work would take too long. So we did iterative software development, instead - build it once, present it to the users, and then start over because it wasn't what they wanted.
I quit.
Oh man, am I ever happier now.
Joel is no idiot. He realizes that specifications take time and effort to develop, and to keep up-to-date. He argues quite convincingly for specifications as a wise investment of time, not a waste. A large section of this book is devoted to "painless" specifications, and it is insightful and useful. This book is the only book I've ever felt a need to keep next to my keyboard - and it's not even a technical manual.
Isn't that "it went bad, so I cut it off at the wrist"? Which makes more sense, since he didn't cut off any "rest" and he did cut his hand off at the wrist.
... though for some reason I was unable to copy/paste it to this textbox.
I've got an educated guess as to why you can't copy and paste it into the textbox - Windows ME. You probably didn't notice, but your computer had three BSODs when you tried. I realize you can get used to the computer crashing all the time, but I'd recommend using just about any other operating system... you'll find a remarkable increase in usability.;)
You know, freedom goes both ways - you have the right to see these images, but Google has the right to censor their own content.
"It's good to know that I should use Google's competitors to search for this type of thing, in case Google is holding back relevant results." - That statement makes this seem like a bad business decision.
... got any job openings?
What does copyright have to do with this?
At least crack doesn't have vendor lock-in.
According to Passport Canada, the processing time for a Canadian passport is currently 5 weeks. And that's only if you mail in your application. If you bring it into a passport office in person, the processing time is 2 weeks. If you ask them to rush it because you're going on holidays, they'll do it even faster. (http://www.ppt.gc.ca/cdn/service.aspx?lang=eng)
They even recently changed the rules for finding a Guarantor -- previously you had to find someone who was part of a professional association for 5 years, but now, you just have to find someone who has had a passport for 5 years. (http://www.ppt.gc.ca/cdn/section2.aspx?lang=eng)
Doesn't seem that hard to me, especially for something you only have to do if you're traveling to another country, and then only once every few years.
Well, I think you're looking at it a little backwards. I would say that the robot is going to work 24 hours a day, 7 days a week, constantly replacing at least one employee.
24 hrs / day * 365 days / year * $5 / hr = $43,800 / yr saved. In addition, at the end of 2.511 years, when the robot has worked off its capital cost, the owner still has a robot worth a considerable amount (say, $45,000, assuming ~30% depreciation annually).
Is $110,000 the cost for one robotic pump, or is it the cost of a robotic station? A few of these could reduce the labor costs of a gas station to a single attendant.
Of course, it seems cheaper to just provide pre-pay-only pumps and zero or one attendant at the station. The labor of pumping gas is done by the driver, and you save $110,000 per pump (I assume?) on a robot.
I'm sure the law is somewhat different everywhere. Where I live, in Calgary, Alberta, Canada, the local police department says:
... ]
What to do if you are approached from any direction by an emergency vehicle with its siren on:
[
* At a red light, drivers should slowly and cautiously pull into the intersection in the direction of traffic.
Source: http://www.calgarypolice.ca/sections/traffic/room_to_work.html
The downside to that approach is that emergency vehicles encounter cars stopped at a red light at every intersection. Where I live, drivers panic when an emergency vehicle approaches, move their car six inches towards the side of the road, and don't realize they should go through a red light to clear the roadway.
Silverlight 2 will be as you describe. You'll be able to program in any .NET language, or any other type of tool that generates MSIL.
Silverlight 1 is just XAML and Javascript. It could easily be generated by a script. It's more similar to SVG than to Flash.
Yes, this is clearly not a "memory leak". It is a software bug.
.NET). This team should have spend some time thinking about the problem, rather than trying to fix it with a terrible hack like rebooting the machine at given intervals.
From the tone of this article, it seems clear that the developers knew that memory usage was growing and objects were not being reclaimed as they should have been. Given the GC environment they were working in, they should have just sat down and thought: what could cause that? Assuming that the runtime is working properly (a pretty good assumption, given its widespread use), there is only one possibility: objects aren't being reclaimed because they are still being referenced.
A quick Google search would have come up with a list of reasons why this can happen, including the objects being subscribed to an event handler. It is a common cause of memory leaks in managed environments (eg. Java &
I like to think of it in terms of slavery. Let's imagine you're the supreme leader of your own country. The people of the country are asking you, "Is Slavery allowed in this country?" You have a couple of choices.
You can be pro-slavery, or anti-slavery. A slavery supporter would state that everyone has complete freedom in your country, including the freedom to enslave others. An anti-slavery supporter would say that personal freedom must stop when it violates the personal freedom of another being -- you can do whatever you want, except deprive another of their freedom.
The "complete freedom" is akin to a BSD-type license -- I grant you the right to do anything you want, including take my software, distribute it, and deprive other people of the freedom and rights that I originally granted to you. The only thing the BSD license really prevents is a lawsuit against the original author, by claiming that he is not liable for the software. (That's why the BSD license is better than releasing software into the public domain, by the way)
The "restricted freedom" (ie. no slavery) is akin to the GPL -- I grant you the right to do a lot of things, but you cannot take my software, redistribute it, and not give other people the same rights that I gave you. All people have the same access to source code that the first distributer had.
Personally? I like them both. It depends on what you want to do with your software. If I want something to be widely used, I'd go with a BSD license. If I believe that it could be a huge benefit to a big company, I'd say that a GPL license would prevent them from taking it, making money off it, and not giving back to the community. They could take it and make money off it, but everyone would benefit from their changes if they're redistributing the software.
You can see this being announced on http://code.google.com/ as well, at this time.
It seems that some simple caching would fix this up real nice. When a user logs out, upload a binary diff of the VM to the server. When a user logs in, if they already have the most up-to-date VM, they don't download anything. Otherwise, they download the entire image.
In this scenario, network usage just went down by a huge factor. Especially since most employees only use their own desktop machine.
You're absolutely correct. However, the easiest way to build a scalable website with MS-Access would be to start caching the entire contents of the database in the application layer. At this point, you might as well be using a flat text file for a database, since the database engine is not solving any problems for you. It's not contributing to developing your application. It's not useful.
Any good discussion of building scalable websites should start with discussing tools. You can make do with a heavy rock, but when you have the choice to use a hammer instead...
Just as an example, let's take your educational web application. Kudos for getting it working well. Would you like to port it to Access, with the same availability requirements? If there was an ideal DatabaseDbSQLServer software that could meet the same requirements with half the hardware, would you consider using it?
The point I'm trying to make is that the underlying architecture does matter. It won't matter to the user when the application is done, but it does matter to people who are Building Scalable Web Sites, the title of this book.
Thanks for the heads up. I wasn't aware of that.
As a software developer in the petroleum industry, I find that all of our clients use Oracle for their database needs. The release of this product will allow us to test and tweak applications to work against Oracle without purchasing the database. This works out great for us. I don't want to use Oracle in any way, but now I have the capability to use it in the most minimal way that will allow me to sell and support software.
My prefered database system is PostgreSQL. It would seem that no level of marketing skill can convince anyone in this industry that Free Software has value. Funny...
The company I work for decided to call our primary software product "PDA", as an acronym for "Production Data Analysis". As I am currently working on this software right this second, the title of this article surprised me. What, huh, our software sales are slipping? Why would slashdot care?
TLAs are far too overloaded already, but bad marketing decisions keep pushing more meanings on them.
I got together with all Americans and gave them your message. They made some gestures, and then tried to insist that they're not racists. They just hate terrorists, no matter what kind of Arab they are.
So close. Maybe next time. :)
I'm currently building a variety of petroleum engineering tools in Java. Here are the libraries I've found most useful:
JFreeChart - for all your plotting needs. Robust, quick, and fairly bug free. Not perfect, but hackable.
iText - a free Java PDF library. My preferred method for creating reports, especially since a lot of my output needs to be e-mailed or submitted to the government, not printed out.
JAMA - a Java Matrix package. The fact that this library has a working singular value decomposition has saved me bunches of time programming a boring and tricky algorithm. I guess it has other stuff, too.
Yeah, I'd like to claim my prize for being a real man, please. I left my keys inside my apartment, and it has a lock that doesn't require using the keys on the outside. Got home, figured out where my keys were, and kicked in the door to get them.
Try explaining it to your landlord. "Uh... see... I was carrying this heavy box... and I unlocked the door, then backed into it. By golly, somehow it had closed, and I went crashing right through it expecting it to be open. Damn man, you need to get me a stronger door."
I don't think he believed me, but it's the only bad incident I've had with him after years of paying rent, so he didn't question me. I never figured the door would be so easy to break.
+1, relatively subtle sarcasm.
Yeah, I used to work for a company that believed that. No specifications, since deciding how things will work would take too long. So we did iterative software development, instead - build it once, present it to the users, and then start over because it wasn't what they wanted.
I quit.
Oh man, am I ever happier now.
Joel is no idiot. He realizes that specifications take time and effort to develop, and to keep up-to-date. He argues quite convincingly for specifications as a wise investment of time, not a waste. A large section of this book is devoted to "painless" specifications, and it is insightful and useful. This book is the only book I've ever felt a need to keep next to my keyboard - and it's not even a technical manual.
Isn't that "it went bad, so I cut it off at the wrist"? Which makes more sense, since he didn't cut off any "rest" and he did cut his hand off at the wrist.
I've got one, it works great.
I've got an educated guess as to why you can't copy and paste it into the textbox - Windows ME. You probably didn't notice, but your computer had three BSODs when you tried. I realize you can get used to the computer crashing all the time, but I'd recommend using just about any other operating system... you'll find a remarkable increase in usability. ;)
You know, freedom goes both ways - you have the right to see these images, but Google has the right to censor their own content.
"It's good to know that I should use Google's competitors to search for this type of thing, in case Google is holding back relevant results." - That statement makes this seem like a bad business decision.