Been there, done that: At least on our email servers. In addition, I have blocked every country other than the US with an iptables deny rule ("they" can't even ping the mailserver). Before you start complaining, please be aware that I work for a small (approx 60 email accounts) US-based management company that only deals with other US companies. In the past 6-7 months that my iptables rules have been in place on the mail server, incoming spam has dropped 80-90%. In addition to blocking everything but the US IP space, we are running postfix/amavis/spamassassin/clamav/postgrey and have configured a few RBLs. Very little spam gets through these days.
How much legitimate mail is dropped and how do you plan on handling the case where one of the companies with which you do business outsources their email to a Canadian or European company?
This has nothing to do (really) with copyright law. These chaps are not being charged with copyright infringement. They are being charged with helpings others do it - which is an interesting pickle indeed. In effect, it's like going after a photocopier manufacturer when the users start to mainly photocopy books illegally... Oh.. wait.
Note however that the photocopier manufacturers don't advertise and sell based on the fact that you can copy books, they advertise the fact that your business will be more productive with a photocopier, whereas the pirate bay's website is titled "Download music, movies, games, software!"
I've heard that the difference between an Xbox game and a PC game, using DirectX in visual studio, is a checkbox at compile time.
It's not. The Xbox does not have the same API, although both are similar.
The day someone comes out with a competing cross platform, fast API that is supported in all major coding suites and is easy to develop for, will be the day that linux/mac gaming starts for real.
There already is such a thing. It's called middleware and it allows using the same game on various platforms with only minor changes.
they used java 1.6.0_10 on linux and 1.6.0_07 on windows. Hate to give the benefit of the doubt to ballmer & co but in spite of the minor version number, a lot of work in performance has been done on Java recently. The result is pretty meaningless.
Indeed, this is a fairly lame benchmark. Java 6 update 10 is when they switched to the "consumer JRE" (also known as update "N"), which included a lot of changes to lower the footprint of the JRE, improve startup time, etc.
Allegiance is an multiplayer online game providing a mix of real-time strategy and player piloted space combat gameplay. Initially developed by Microsoft Research, the game was later released under a shared source license in 2002 and is now maintained and developed by volunteers.
How, exactly, is D3D "better" than OGL? The language is obtuse (a COM interface versus a simple state machine), amongst other things.
It's not really obtuse, both APIs are functionally equivalent. The biggest difference between both is that D3D is object-oriented whereas OGL is just a C-style series of function calls(ie. the difference is direct3DDevice->Present() vs glSwap()).
Also, D3D does not have an immediate mode, which is why OGL "seems" easier when looking at simple programs(immediate mode allows passing a single vertex by a call to glVertex). However, immediate mode does not reasonably scale, because the overhead of function calls quickly becomes the bottleneck with larger geometries and so you have to move into using vertex arrays(called vertex buffers, in D3D-speak), thus making your program very similar to the D3D one.
As for which one is better, that's debatable. In the 90's, D3D was lagging behind with regards to newer functionality(there was a Carmack rant on how D3D didn't include some functionality and the OGL folks simply did an extension) but I believe the situation is reversed now. D3D does have the advantage of having PIX for free, which is a really nifty 3D debugging app(GarageGames wrote an article about it).
I have 64 GB of RAM and my swap partition is the same size at 64 GB. I thought 128 GB is a little excessive. What I would really like is if someone would make up an IDE interface to RAM modules and build a large amount of such RAM into the form factor of a hard disk drive. Then, you could populate this RAM-based "hard drive" with the necessary data during startup, and use it for swap and for all of your system's various "temp" folders. This would make swapping (and temp stuff) extremely fast to access, and more importantly, it would eliminate the need to encrypt your swap and/or temp partitions, as the data would simply disappear when power is removed. So when the agents (including Agent Smith) come to bust down your door, all you do is pull the plug and voila! Your secrets are safe.:-)
Or you could simply add more RAM to the system, use no swap and put the temporary folders in RAM(using tmpfs). Such a product exists, by the way.
in Japanese, the word "Japanese" is "Ni-hon-go"
3 'characters' (but I believe there's rules when joining these characters together) vs the English "J-a-p-a-n-e-s-e". I'm not sure how many Japanese characters there are though, since they get joined together to define a word (1 character can be 2 syllables).
There are 1945 jouyou kanji, which are required to be known to achieve a normal level of litteracy.
Why we haven't already developed input (we may have, but a Japanese co-worker used an English keyboard and through key tricks typed in her native language that way) that uses the syllables from eastern languages is beyond me. The speed and efficiency would be nice, although we sort of already do type in words "WTF" "LOL" "BRB".
The way it works is that you type each of the sounds that represent the word(ni, ho, n and go in your example), then you convert these sounds to kanji. Sometimes the conversion requires no choice from the user, and sometimes it does(such as ki, which could mean tree, spirit, etc.)
I believe a similar system is used for Chinese.
Remember though that predictive analysis can be used, in the same way that predictive text analysis can be used to enter words on cellphones. For example, when using handwritten input, potential characters can be filtered based on the type of strokes that have been written so far, as there is a certain stroke order for characters. There is also a potential for predictive analysis, as multiple-character words are fixed combinations. For example, if I write hana(flower), perhaps the next character will be ya(shop, thus turning the word into florist) or bi(fire, thus turning the word into fireworks).
But the real question is... which eastern language is the best suited for word input?
There are "slates", which are only the screen and a stylus, but text input is very annoying. Think of the amount of text you might enter in a single day, or just even in a single slashdot post. Would you rather write it with a stylus or type it?
Does Java uses finalizers? If so, how do they differ from C++ destructors?
Yes, it does. They differ from C++ destructors as they are not called explicitly(or implicitly when variables get out of scope, as in C++). Rather, finalizers are called when an object is garbage collected.
The usual advice is not to use finalizers, except to make sure that underlying native resources are released(ie. file handles, sockets, etc.). Even then, there should be a mechanism to release those resources without relying on the finalizer being called, such as a close() method or an equivalent. The finalizer is only guaranteed to be called when the object is GC'ed, which may happen much later than expected if there is not a lot of pressure on the memory system or if there is still a reference to the object.
There is no guarantees that finalizers will ever be called for an object, as the VM can be forcibly interrupted via Runtime.halt() and finalization of all objects on VM shutdown can be disabled.
That sounds like what 2D codes do currently. Microsoft research has been working on high capacity color barcodes, which store about 2000 bytes per square inch. Alternatively, QR code and DataMatrix do the same thing.
Software was free to begin with. The idea that software is a product is the notion that doesn't quite work.
So who should pay the programmers' wages? And what about the managers? The QA department? The localization staff? The analysts? The salesmen? Or do you assume that commercial software is the result of putting five guys in a basement, cranking up the heat while adding junk food and red bull?
Hardware makers follow industry standard specs for the most part and add benefits here and there and ultimately strive to lower costs. It's a classical capitalistic market. Supply and demand rules fit neatly here.
Software, on the other hand, does not. The supply is LIMITLESS and the demand is limited. Software-as-a-product people are attempting to create a market where none naturally exists. But this is generally the case of all products that have a limitless capacity for production.
There are a couple of small companies you should invest in while they're still "attempting to create a market", like MSFT and ADBE.
One fact is known by all players -- lower costs bring more buyers. Software people know this too. Unfortunately, they believe their "product" is worth more than is actually is. The "demand" side of the equation demonstrates that demand levels at the prices they set does not always yield the sale numbers that suppliers would like to see.
Designer goods are much more expensive than the cost of materials, yet still sell. Would lower cost bring more buyers? Yes, but it probably would lower their profits.
In some extreme cases, software people seem to believe that the use of software should determine its value. Ultimately, software people are intending to leverage their software to get a piece of your labor pie. Just look at the cost of CAD or other design and engineering software. The prices are utterly ridiculous! Their expectation is that people who use this software will probably make a lot of money and as such, they want a lot of the users' money. Could you imagine what would happen to the price of other tools simply because they might be used to create some very expensive product or end result? My god, those would be some expensive hammers and nails! It is unrealistic for software makers to demand such exorbitant prices.
Professional software costs more because their customers have shown that they are willing to pay that price to obtain the software. Also, engineering software has to be built to a higher standard of reliability than most commercially available software. A bug in your game? Restart it. A bug in the software you use to design products? Better recall those 50000 widgets then.
Meanwhile, real product makers will go on doing what they do -- give the consumer what they want for the lowest price they can so that consumers will buy more of it.
No. They'll go on making profit. If low prices happens to be the way they think maximizes their profit, so be it, but they're not here to serve you, only their shareholders.
You can use OpenGL from Java with JOGL. Or were you thinking of running a Java or J2EE stack on your GPU? (That would be a really bad idea, in case there were any doubts)
If you start blasting out resumes with the idea that someone will sponsor you for a J1, you're highly unlikely to get anywhere. If an employer is willing to do a J1 they will probably be working through a specific exchange program/agency.
I agree. Unless you have a contact within the company you're aiming for or they are actively looking for international interns, they're unlikely to accept.
Of course there are visas available, my point is his first step should be to get one. No company will want to spend any time looking at you if you don't already have work authorization.
Wrong. The J-1 visa requires already having a sponsor, so you cannot get the visa and then try to fish for an internship, you need to have the internship first, then get the visa(which is usually just a formality, although it can take a bit of time).
Because the visa is limited in duration and you have to return to your home country after the visa ends --- although you can travel in the US for 30 days after, IIRC --- the bar to getting one isn't as high as the other types of visas.
Not really. The J-1 visa is meant for this exact purpose. However, companies are unlikely to actively search for international interns, so having prior contacts within the company is usually a must.
Never attribute to malice that which can be adequately explained by stupidity.
The EE that had to write the ACPI code probably just copy-pasted the code from another motherboard, then changed the Windows parts until they worked, ignoring the Linux block of code. It does suck though that they won't fix it.
Re:Same problem with opening ANY large project
on
Open Sourcing MMOs
·
· Score: 2, Interesting
Indeed, a lot of games use third party libraries/middleware, such as Bink, Miles Sound System, Renderware, Gamebryo etc.
It wouldn't be very useful to have the game without those libraries. The middleware systems are usually quite extensive and producing an open source version of those would be quite hard, especially since a lot of games depend on very specific versions and configurations of the actual middleware --- or even modifications to the actual library code! Since the middleware handles pretty much all the graphics/sound/etc. and leaves only the game logic to the game developer, it is quite unlikely that the game would ever get to a playable state without a significant effort from the OSS community.
In Canada I believe every university has a higher number of women than men.
I know for a fact that at least some of the engineering schools in Canada don't have as many women as they have male students. According to Wikipedia, the Ecole Polytechnique de Montreal has 1198 female students and 4515 male students. The Ecole de technologie superieure also has a skewed male/female ratio.
Next, you optimize your bloaty software. Word Perfect 5.1 ran just fine on an 8MHz 286, and had a capaibility set not too different from the current word processors.
And it still runs fine. Software doesn't rot(although media does) so you can still use it if you want to, especially considering the x86 architecture is quite backwards compatible.
Obviously, if the average computer gets faster and has more memory, programs will trade some optimization in order to have better code maintainability, more features, etc.
Any piece of software can be optimized to the point when most operations are instantaneous
I think this is very dependent on the type of software. I'm sure some people in the movie industry would love if 3D rendering would become instantaneous.
Sometimes it's nice watching Apple "hold the line", saying "What?! These configurations REALLY aren't good enough for you? They're good enough for all the *real* applications we sell. They're good enough for Hollywood to edit movies on and create special f/x with. They're good enough for pro photographers and artists. They're even good enough for the people who DO bother to port the "best of breed" PC games over to our platform, here and there. If you'd rather play "musical video card swap" every few months, go get a regular Wintel PC instead!"
But those are 2D apps with only minimal usage of 3D hardware. I mean, you could run Photoshop on Windows 3.11, way before 3D graphics hardware became mainstream. Also, most special effect editing can be done with nothing else than a framebuffer, so there's little stress on the 3D hardware either.
Also, if you say that the hardware configurations are good enough for the people who bother to port games, then why are Mac ports almost universally panned for having poor performance, such as:
Even loaded, the current DOOM 3 Macintosh performance lags behind the PC world (IMG on Doom 3)
How much legitimate mail is dropped and how do you plan on handling the case where one of the companies with which you do business outsources their email to a Canadian or European company?
Note however that the photocopier manufacturers don't advertise and sell based on the fact that you can copy books, they advertise the fact that your business will be more productive with a photocopier, whereas the pirate bay's website is titled "Download music, movies, games, software!"
It's not. The Xbox does not have the same API, although both are similar.
There already is such a thing. It's called middleware and it allows using the same game on various platforms with only minor changes.
they used java 1.6.0_10 on linux and 1.6.0_07 on windows. Hate to give the benefit of the doubt to ballmer & co but in spite of the minor version number, a lot of work in performance has been done on Java recently. The result is pretty meaningless.
Indeed, this is a fairly lame benchmark. Java 6 update 10 is when they switched to the "consumer JRE" (also known as update "N"), which included a lot of changes to lower the footprint of the JRE, improve startup time, etc.
Another free game with good production values is Allegiance. It's a multiplayer space simulation with quite deep gameplay and focused on teamplay.
From Wikipedia:
How, exactly, is D3D "better" than OGL? The language is obtuse (a COM interface versus a simple state machine), amongst other things.
It's not really obtuse, both APIs are functionally equivalent. The biggest difference between both is that D3D is object-oriented whereas OGL is just a C-style series of function calls(ie. the difference is direct3DDevice->Present() vs glSwap()).
Also, D3D does not have an immediate mode, which is why OGL "seems" easier when looking at simple programs(immediate mode allows passing a single vertex by a call to glVertex). However, immediate mode does not reasonably scale, because the overhead of function calls quickly becomes the bottleneck with larger geometries and so you have to move into using vertex arrays(called vertex buffers, in D3D-speak), thus making your program very similar to the D3D one.
As for which one is better, that's debatable. In the 90's, D3D was lagging behind with regards to newer functionality(there was a Carmack rant on how D3D didn't include some functionality and the OGL folks simply did an extension) but I believe the situation is reversed now. D3D does have the advantage of having PIX for free, which is a really nifty 3D debugging app(GarageGames wrote an article about it).
Just so you know, there is a free Microsoft-provided addon to save documents as PDF files for Office 2007.
I have 64 GB of RAM and my swap partition is the same size at 64 GB. I thought 128 GB is a little excessive. What I would really like is if someone would make up an IDE interface to RAM modules and build a large amount of such RAM into the form factor of a hard disk drive. Then, you could populate this RAM-based "hard drive" with the necessary data during startup, and use it for swap and for all of your system's various "temp" folders. This would make swapping (and temp stuff) extremely fast to access, and more importantly, it would eliminate the need to encrypt your swap and/or temp partitions, as the data would simply disappear when power is removed. So when the agents (including Agent Smith) come to bust down your door, all you do is pull the plug and voila! Your secrets are safe. :-)
Or you could simply add more RAM to the system, use no swap and put the temporary folders in RAM(using tmpfs). Such a product exists, by the way.
in Japanese, the word "Japanese" is "Ni-hon-go" 3 'characters' (but I believe there's rules when joining these characters together) vs the English "J-a-p-a-n-e-s-e". I'm not sure how many Japanese characters there are though, since they get joined together to define a word (1 character can be 2 syllables).
There are 1945 jouyou kanji, which are required to be known to achieve a normal level of litteracy.
Why we haven't already developed input (we may have, but a Japanese co-worker used an English keyboard and through key tricks typed in her native language that way) that uses the syllables from eastern languages is beyond me. The speed and efficiency would be nice, although we sort of already do type in words "WTF" "LOL" "BRB".
The way it works is that you type each of the sounds that represent the word(ni, ho, n and go in your example), then you convert these sounds to kanji. Sometimes the conversion requires no choice from the user, and sometimes it does(such as ki, which could mean tree, spirit, etc.)
I believe a similar system is used for Chinese.
Remember though that predictive analysis can be used, in the same way that predictive text analysis can be used to enter words on cellphones. For example, when using handwritten input, potential characters can be filtered based on the type of strokes that have been written so far, as there is a certain stroke order for characters. There is also a potential for predictive analysis, as multiple-character words are fixed combinations. For example, if I write hana(flower), perhaps the next character will be ya(shop, thus turning the word into florist) or bi(fire, thus turning the word into fireworks).
But the real question is... which eastern language is the best suited for word input?
Good question. :P
There are "slates", which are only the screen and a stylus, but text input is very annoying. Think of the amount of text you might enter in a single day, or just even in a single slashdot post. Would you rather write it with a stylus or type it?
Does Java uses finalizers? If so, how do they differ from C++ destructors?
Yes, it does. They differ from C++ destructors as they are not called explicitly(or implicitly when variables get out of scope, as in C++). Rather, finalizers are called when an object is garbage collected.
The usual advice is not to use finalizers, except to make sure that underlying native resources are released(ie. file handles, sockets, etc.). Even then, there should be a mechanism to release those resources without relying on the finalizer being called, such as a close() method or an equivalent. The finalizer is only guaranteed to be called when the object is GC'ed, which may happen much later than expected if there is not a lot of pressure on the memory system or if there is still a reference to the object.
There is no guarantees that finalizers will ever be called for an object, as the VM can be forcibly interrupted via Runtime.halt() and finalization of all objects on VM shutdown can be disabled.
If someone is siphoning money out of my account for 15 months, I'd definitely notice and report it in the first month.
He actually did. From TFA:
"I kept complaining that the bank's records showed I was overdrawn when I shouldn't be"
That sounds like what 2D codes do currently. Microsoft research has been working on high capacity color barcodes, which store about 2000 bytes per square inch. Alternatively, QR code and DataMatrix do the same thing.
Software was free to begin with. The idea that software is a product is the notion that doesn't quite work.
So who should pay the programmers' wages? And what about the managers? The QA department? The localization staff? The analysts? The salesmen? Or do you assume that commercial software is the result of putting five guys in a basement, cranking up the heat while adding junk food and red bull?
Hardware makers follow industry standard specs for the most part and add benefits here and there and ultimately strive to lower costs. It's a classical capitalistic market. Supply and demand rules fit neatly here.
Software, on the other hand, does not. The supply is LIMITLESS and the demand is limited. Software-as-a-product people are attempting to create a market where none naturally exists. But this is generally the case of all products that have a limitless capacity for production.
There are a couple of small companies you should invest in while they're still "attempting to create a market", like MSFT and ADBE.
One fact is known by all players -- lower costs bring more buyers. Software people know this too. Unfortunately, they believe their "product" is worth more than is actually is. The "demand" side of the equation demonstrates that demand levels at the prices they set does not always yield the sale numbers that suppliers would like to see.
Designer goods are much more expensive than the cost of materials, yet still sell. Would lower cost bring more buyers? Yes, but it probably would lower their profits.
In some extreme cases, software people seem to believe that the use of software should determine its value. Ultimately, software people are intending to leverage their software to get a piece of your labor pie. Just look at the cost of CAD or other design and engineering software. The prices are utterly ridiculous! Their expectation is that people who use this software will probably make a lot of money and as such, they want a lot of the users' money. Could you imagine what would happen to the price of other tools simply because they might be used to create some very expensive product or end result? My god, those would be some expensive hammers and nails! It is unrealistic for software makers to demand such exorbitant prices.
Professional software costs more because their customers have shown that they are willing to pay that price to obtain the software. Also, engineering software has to be built to a higher standard of reliability than most commercially available software. A bug in your game? Restart it. A bug in the software you use to design products? Better recall those 50000 widgets then.
Meanwhile, real product makers will go on doing what they do -- give the consumer what they want for the lowest price they can so that consumers will buy more of it.
No. They'll go on making profit. If low prices happens to be the way they think maximizes their profit, so be it, but they're not here to serve you, only their shareholders.
Someone port java to opengl.
Seriously. That would rock.
You can use OpenGL from Java with JOGL. Or were you thinking of running a Java or J2EE stack on your GPU? (That would be a really bad idea, in case there were any doubts)
If you start blasting out resumes with the idea that someone will sponsor you for a J1, you're highly unlikely to get anywhere. If an employer is willing to do a J1 they will probably be working through a specific exchange program/agency.
I agree. Unless you have a contact within the company you're aiming for or they are actively looking for international interns, they're unlikely to accept.
Of course there are visas available, my point is his first step should be to get one. No company will want to spend any time looking at you if you don't already have work authorization.
Wrong. The J-1 visa requires already having a sponsor, so you cannot get the visa and then try to fish for an internship, you need to have the internship first, then get the visa(which is usually just a formality, although it can take a bit of time).
Because the visa is limited in duration and you have to return to your home country after the visa ends --- although you can travel in the US for 30 days after, IIRC --- the bar to getting one isn't as high as the other types of visas.
Not really. The J-1 visa is meant for this exact purpose. However, companies are unlikely to actively search for international interns, so having prior contacts within the company is usually a must.
Here are the websites for the top three competitors:
The AUVSI's website also mentions that media coverage will be available soon. In the meantime, you can always look at some videos from the SONIA team.
This is active sabotage.
Never attribute to malice that which can be adequately explained by stupidity.
The EE that had to write the ACPI code probably just copy-pasted the code from another motherboard, then changed the Windows parts until they worked, ignoring the Linux block of code. It does suck though that they won't fix it.
Indeed, a lot of games use third party libraries/middleware, such as Bink, Miles Sound System, Renderware, Gamebryo etc.
It wouldn't be very useful to have the game without those libraries. The middleware systems are usually quite extensive and producing an open source version of those would be quite hard, especially since a lot of games depend on very specific versions and configurations of the actual middleware --- or even modifications to the actual library code! Since the middleware handles pretty much all the graphics/sound/etc. and leaves only the game logic to the game developer, it is quite unlikely that the game would ever get to a playable state without a significant effort from the OSS community.
I know for a fact that at least some of the engineering schools in Canada don't have as many women as they have male students. According to Wikipedia, the Ecole Polytechnique de Montreal has 1198 female students and 4515 male students. The Ecole de technologie superieure also has a skewed male/female ratio.
Next, you optimize your bloaty software. Word Perfect 5.1 ran just fine on an 8MHz 286, and had a capaibility set not too different from the current word processors.
And it still runs fine. Software doesn't rot(although media does) so you can still use it if you want to, especially considering the x86 architecture is quite backwards compatible.
Obviously, if the average computer gets faster and has more memory, programs will trade some optimization in order to have better code maintainability, more features, etc.
Any piece of software can be optimized to the point when most operations are instantaneous
I think this is very dependent on the type of software. I'm sure some people in the movie industry would love if 3D rendering would become instantaneous.
But those are 2D apps with only minimal usage of 3D hardware. I mean, you could run Photoshop on Windows 3.11, way before 3D graphics hardware became mainstream. Also, most special effect editing can be done with nothing else than a framebuffer, so there's little stress on the 3D hardware either.
Also, if you say that the hardware configurations are good enough for the people who bother to port games, then why are Mac ports almost universally panned for having poor performance, such as: