This was not the EULA that came with my Sony. There were two separate EULAs. One for the Sony software, and one for the Yahoo Widgets. A quick internet search did not turn up either of the exact EULAs presented by the TV.
I returned a Sony TV partly because the EULA said I had to indemnify Sony if I violated the EULA or was even alleged to have violated the EULA. I didn't want to deal with possibly being on the hook for million dollar lawyer fees. I know that the chances of Sony getting sued because of my actions would probably be nil, and two it would be thrown out of court as unconscionable, but still, I thought the indemnify clause was crazy. This indemnify clause also said Sony would have to approve of any lawyers involved. Additionally the TV came with Yahoo widgets, and the EULA for Yahoo widgets said the license was non-transferable. I assumed this to mean that selling the TV would violate the EULA. The EULA required arbitration for any disputes. The entirety of the EULA gave Sony all the rights and the user none. Well, the TV that I exchanged it for looked better anyway, so it was a win win for me.
The article states: "The blacker the material, the more heat it radiates away."
I always thought that since black materials don't reflect light that they absorb heat. I have always heard that black clothes and black cars are hotter. However, I once read that the Blackbird SR-71 was painted black for the cooling effect.
Could someone make sense of this for me?
I want to be able to set the permissions, and make it the apps responsibility to test for what it is allowed to do and then run in a diminished capacity.
I finally got an Android phone and I took an immediate disliking to the way applications and their permissions are handled. Before you install an application from the Android Market you are told what permissions the application wants. If you don't like it, all you can do is not install the application. For example, if I want TV Guide listings, but the TV Guide application wants access to my contacts, and I don't want to give up access to my contacts then I am stuck. There is no method for me to deny the TV Guide application access to my contacts, other than not installing it. With social media taking off, many applications now want access to my contacts. I just find this unacceptable. I also don't know of any means to currently filter the Android applications by their permission requests.
I also notice that applications seem to just start up by themselves. I have an application called Advanced Task Killer that stops applications. However, before long a bunch of applications are running that I did not specifically start.
I don't know if Linux is any better about this. Is there any means I have to protect against an application finding my email contacts and phoning home with them?
Allowing javascript to run is simply not safe. Websites get hacked all the time to serve up javascript code that takes advantage of all sorts of vulnerabilities in your browser and operating system. It is really sad the more sites don't degrade to being useful without javascript.
One thing I have wondered about with so many patents like this is that ideas are not supposed to be patentable. Forgetting for a moment the actual incomprehensible wording of this patent. Lets assume it simply said, the image changes when a mouse rolls over it. This is an idea. How you actually make the image change when the mouse rolls over it is the invention. However, the implementation is trivial.
In reality, the ideas are valuable, but should not be patentable. However, once you have the idea, the implementation is often trivial.
Now if you take an idea like wouldn't it be great to get the frequencies in this audio segment. Now this would be a hard problem(pre FFT discovery). However, what is hard is the math and math is not patentable. Once the math is known, the implementation is trivial. I suppose an FFT taking optimal advantage of specific hardware is not exactly trivial, but I don't think it is an invention either.
When I said ideas are valuable, I simply mean that since a great many sites use image rollovers they have value. Not that the idea should receive any monetary compensation.
What I have been wondering about lately is how long we will have sufficient oil to meet our needs.
I have seen estimates for current world wide oil consumption at 88 million barrels a day.
It is harder to figure out world reserves. Wikipedia (http://en.wikipedia.org/wiki/Oil_reserves) shows 1.2 trillion barrels from the top seventeen oil reserves.
That is 37 years.
At our current rate of progress, I think it is fair to assume our daily usage is headed upwards.
I don't know what our current daily production capacity is capable of. I assume that is not much more than 88 million barrels a day or there wouldn't be so much talk about peak-oil. If we are at peak-oil, then it appears that in the very near future we will not be able to produce 88 million barrels a day anymore.
Thus, we will start running into problems due to lack of sufficient oil. If oil production falls to say 60 million barrels a day, then 1.2 trillion barrels lasts 54 years. So oil will be around a little longer, but not in sufficient quantities.
I realize there is more oil to be found in the deep oceans, but this oil will be hard to get.
Is the human race totally screwed in the next 30 to 50 years do to lack of oil?
Or am I missing something big here?
I used to assume that as oil started to run low that its price would go up, perhaps dramatically. However, the last time gas hit $160 a barrel the economy crashed and consumed less oil, and oil fell to $30. It is therefore possible to imagine that oil prices will not actually increase as oil runs out, because the economy will be ruined.
Another example of this is helium. I hear we are running out of helium. Helium is necessary for science and research and yet, it is still cheap enough to be used to fill birthday balloons. Will we run out of helium, while all the while the price is dirt cheap?
IANAL. From what I have read here in the past, it seems courts don't throw out patents. Courts don't make decisions about their validity. They only determine if you are infringing. The courts assume that since the PTO approved it that it is valid. It is up to you to get the patent office to overturn a bad patent. This can take years and may very well not be successful.
If using 'C' IO does fclose() alone guarantee that your data is written to disk or must one do fsync() and then fclose().
fsync is not defined for 'C' IO, it is a UNIX system call. I think most code does fopen() fwrite() fclose()
If this is buggy code, then this must affect about every 'C' program ever written. If this is about cases where fclose() does not get called because of a crash, then it is definitely an application bug.
Since I have seen no mention of J, K or APL I thought I would throw these into the mix.
These are great for array processing and in general anything mathematics related.
It is like having an executable mathematics language.
I have been reading some image processing papers as of late, and I am often thinking that
the papers would have been better with some J code thrown in.
English is often vague, and the math notation used is sometimes incorrect.
With J, I know the math could have been tested for correctness.
I think if everybody knew J, and technical papers used it, then these papers would be much better.
These languages try to use special symbols to their fullest ability to create a powerful language.
They are kind of the anti-LISP. LISP uses as few symbols as possible and then provides macros.
J, K, and APL are all quite similar. I don't yet know any of them well enough to recommend one over the other.
It is like patenting a specific function composition.
f.g
Why not just create a list of all known functions and then patent all function compositions of these.
One could do all sequences from say 2 to 1000.
This should effectively prevent any further software from every being written that doesn't violate a patent.
Out of curiosity I had to see how Windows defines it. The following is in windef.h #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif
I was looking at mini-itx boards the other day and all the power supply information was on DC to DC conversion. I could find nothing on AC to DC conversion. I found this strange. Do you need to buy an AC/DC converter and then a DC/DC converter? Seems to me that you would want one device to do the full conversion, but I can't find one. I know some people might want this in their car, but I just want a small computer for an entertainment appliance like a PVR.
Excuse my ignorance on this issue, but where did this belief spring from. I know that it is written in the bible, but I am after the real source. Is this supposedly told by God to Moses? If so, how did the information get from Moses into the bible. That is, did Moses write the entry down himself or was it spread by word of mouth through a few generations before being written down in the bible.
The only way this statement could have any weight is if it came from God himself. Anything else would simply be a guess.
I just bought a new DVD burner and installed the Roxio DVD burning software that came with it. Roxio installs a program called Drag To Disk to allow treating a CD/RW or DVD/RW as a regular drive. This is kind of cool, but it runs at startup. I wanted to disable it from running at startup. It is not in the Startup folder. It is not in the registry in any of the following locations:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunOnce\Setup
It is not in the Services.
I have no idea what is starting it up. So I decided to rename the executable.
When I used File Explorer to add a new folder, Roxio's installation program runs, and copies Drag To Disk back onto my drive. wtf.
Drag To Disk cannot be uninstalled either. I would need to uninstall the entire Roxio product.
I also cannot terminate the process from Task Manager as it states that I don't have the proper permission. Even though I am the admistrator. F**ing windows.
Fortunately there is a task bar icon that lets me terminate the program.
I skimmed the patent. It does not patent the concept of a wheel. It patents a particular implementation of a bicycle wheel, designed to produce less wind drag from the spokes. Previous attempts at this have resulted in wheels that suffered ill effects from cross-winds or were expensive to manufacture. This design apparently doesn't have those two problems. Whether the design would be obvious to a mechanical engineer, I cannot say. It is a non-obvious solution to me. It may also have prior art, but I have not studied bicyle wheels.
I am also somewhat in agreement with abolishing the patent system. I don't worry about developing a product and then having to possibly compete with the big boys. However, I do worry about creating a product that I can't sell because it violates a patent. All new inventions are built upon the entire history of discovery by man. Any research done in one person's lifetime is trivial compared to this knowledge. So when somebody creates an invention, they have done maybe.0000001% of the work compared to starting without the knowledge already in books. Also consider the invention process. We always look at what has come before, and we set out to improve upon it. For any given invention there may well be thousands of people at any instant trying to improve upon the same ideas.
Many of these people will come up with the same solutions. The first one to the patent office shouldn't be the only one that gets to profit. Basically, I don't think most inventions come about by years of hard work. I think they are all micro-improvements over what has come before. I don't think micro-improvements deserve patents.
Could there be exceptions to this. Possibly. The Pharmaceutical industry comes to mind. It takes years to develop a new drug, and once developed they are easily knocked off by competitors.
There is also the issue of manufacturing and distribution. If I have an idea, I'll probably never be able to get it manufactured and distributed as cheaply as an established big company.
Software is different than mechanical devices though. The manfacturing/distribution problem is not as great. Software could violate hundreds or thousands of patents. Researching possible patent violations is not cost effective. It is not trivial to knock off the work of others. A company will have to work hard to build a similar product. Copying others software ideas is generally a good thing. If every user interface were completley different, nobody would be able to use software.
I have problems with both IE and Mozilla with respect to font sizes. I am running Win2k in 1600x1200. Mozilla appears to ignore the logical dpi setting, and all fonts by default are too small to read. I have perfect vision. The zoom feature in Mozilla is very nice, but does not always work. Some sites don't zoom, and others don't layout correctly. It generally works though. IE seems to use the logical dpi setting. Some sites layout perfectly. Others suffer from micro-sized fonts though. IE allows you to turn off the font sizes specified by the web page, which then results in fonts that are readable, but a page that is layed out incorrectly. Thus I am forced to use both Mozilla and IE in order to read all web pages. What do people do that run in even higher resolutions? Doesn't anybody test applications in high resolution modes? I have used to IE to look at the web pages for the 3 major graphic card manufacturers (NVIDIA, ATI, and MATROX). Their web pages are all unreadable. wtf.
Yes, but C++ doesn't really have support for closures. If the function needed some state information, then you would have to create a class,
a constructor, destructor and an overlaoded function call operator(). You would have to write 20 lines of code to use "transform". In the end, everybody just winds up writing a for loop, that is much smaller and simpler to understand.
To me, the productivity of a language is largely a factor of the libraries available to a language, how well that language plays with the libraries, how well those libraries help with your particular problem, and how well documented those libraries are.
Every language other than C and C++ have difficulty calling C and C++ code. Every language provides a method to call C and C++, and many people will claim this method to be easy, but it is not really that easy. For every function that you want to call a binding must usually be written. This binding is written in C and translates between the type systems of the two languages. For simple calls with one or two parameters the task is not too bad. For calls with deeply nested structures, it is a total pain. There is a tool named SWIG which can autogenerate these bindings for a number of languages. However, C header files are ambiguous. You never know if a pointer points to one item or an array of items. Thus SWIG usually requires an interface definition file.
If you want to use the Win32 library there are some 80,000 function calls to write bindings for or to write interface definition files for. Many languages provide partially complete bindings to Win32.
Today, people would often like cross-platform solutions. So it is nice to have a library of functions that handle, sockets, threads, file I/O and GUIs across platforms. Some of the cross platform tools like wxWindows are written in C++. It is even harder to interface to C++ than to C.
Thus there are great languages like Ruby with no binding to wxWindows. Or there are partial bindings with little to no documentation. Ruby, for example has a fairly complete binding to Tk. In order to use Tk from Ruby though, you have to read either the Tcl/Tk documentation, the Perl/Tk documentation or the Ruby source code. None of these provide good knowledge of how to use Ruby to write Tk GUIs. Info of which bindings were not done is non-existent.
Given the above it is clear why C and C++ are so widely used. However, C has no built in support for dynamic arrays, lists, hash tables, trees, etc. C++ has these things, but using the STL is far more difficult than using the equivalent containers in dynamically typed languages. Even using strings in C++ is difficult. The "string" class is virtually useless, because none of the other standard library routines accept a "string". sprintf() for example wants a char*.
Dynamically typed languages like Perl, Python and Ruby are very useful and easy to use for text processing, database access, and many server side functions not requiring a GUI. Dynamically typed languages can execute up to 100 times slower than C.
Thus we are all waiting for the language that executes as fast as C, is as easy to use as Perl, Python, Ruby, has full access to O/S APIs, has access to a huge array of third party libraries, has libraries that provide cross-platform threads, IO, sockets, and GUI. It simply doesn't exist.
GUIs are a big problem for many languages. You either need native bindings or a good cross-platform windowing toolkit. I have already mentioned the binding problem. Cross-platform GUIs are another issue. Swing sucks. If you think it doesn't you haven't used it enough. There is the religious war of native widget wrappers, versus custom widgets. On the native toolkit side there is Tk, wxWindows, and SWT. On the custom widget side, there is Qt, FOX, FLTK, Swing. I lean towards the native side. Tk has a small set of widgets. I haven't tried SWT, and it is a fairly new entrant. wxWindows holds promise, but there is no Ruby binding. The Python binding is partial and not well documented. You must rely on the C++ documentation and the demo program.
Functional languages have additional issues. You have to think in a completely different way. Most all programs are solved recursively. The proponents of this approach think this is the most natural way to think. It is not the most natural for many problems t
This was not the EULA that came with my Sony. There were two separate EULAs. One for the Sony software, and one for the Yahoo Widgets. A quick internet search did not turn up either of the exact EULAs presented by the TV.
Well, I did not set out to read EULAs. I ended up with a Samsung. It also has a EULA, but it was short and acceptable to me.
I returned a Sony TV partly because the EULA said I had to indemnify Sony if I violated the EULA or was even alleged to have violated the EULA. I didn't want to deal with possibly being on the hook for million dollar lawyer fees. I know that the chances of Sony getting sued because of my actions would probably be nil, and two it would be thrown out of court as unconscionable, but still, I thought the indemnify clause was crazy. This indemnify clause also said Sony would have to approve of any lawyers involved. Additionally the TV came with Yahoo widgets, and the EULA for Yahoo widgets said the license was non-transferable. I assumed this to mean that selling the TV would violate the EULA. The EULA required arbitration for any disputes. The entirety of the EULA gave Sony all the rights and the user none. Well, the TV that I exchanged it for looked better anyway, so it was a win win for me.
The article states: "The blacker the material, the more heat it radiates away." I always thought that since black materials don't reflect light that they absorb heat. I have always heard that black clothes and black cars are hotter. However, I once read that the Blackbird SR-71 was painted black for the cooling effect. Could someone make sense of this for me?
Why does the software permit repeated rapid login attempts? Why isn't there some sort of exponential back off time between retries?
I want to be able to set the permissions, and make it the apps responsibility to test for what it is allowed to do and then run in a diminished capacity.
I finally got an Android phone and I took an immediate disliking to the way applications and their permissions are handled. Before you install an application from the Android Market you are told what permissions the application wants. If you don't like it, all you can do is not install the application. For example, if I want TV Guide listings, but the TV Guide application wants access to my contacts, and I don't want to give up access to my contacts then I am stuck. There is no method for me to deny the TV Guide application access to my contacts, other than not installing it. With social media taking off, many applications now want access to my contacts. I just find this unacceptable. I also don't know of any means to currently filter the Android applications by their permission requests. I also notice that applications seem to just start up by themselves. I have an application called Advanced Task Killer that stops applications. However, before long a bunch of applications are running that I did not specifically start. I don't know if Linux is any better about this. Is there any means I have to protect against an application finding my email contacts and phoning home with them?
Allowing javascript to run is simply not safe. Websites get hacked all the time to serve up javascript code that takes advantage of all sorts of vulnerabilities in your browser and operating system. It is really sad the more sites don't degrade to being useful without javascript.
One thing I have wondered about with so many patents like this is that ideas are not supposed to be patentable. Forgetting for a moment the actual incomprehensible wording of this patent. Lets assume it simply said, the image changes when a mouse rolls over it. This is an idea. How you actually make the image change when the mouse rolls over it is the invention. However, the implementation is trivial.
In reality, the ideas are valuable, but should not be patentable. However, once you have the idea, the implementation is often trivial.
Now if you take an idea like wouldn't it be great to get the frequencies in this audio segment. Now this would be a hard problem(pre FFT discovery). However, what is hard is the math and math is not patentable. Once the math is known, the implementation is trivial. I suppose an FFT taking optimal advantage of specific hardware is not exactly trivial, but I don't think it is an invention either.
When I said ideas are valuable, I simply mean that since a great many sites use image rollovers they have value. Not that the idea should receive any monetary compensation.
What I have been wondering about lately is how long we will have sufficient oil to meet our needs. I have seen estimates for current world wide oil consumption at 88 million barrels a day. It is harder to figure out world reserves. Wikipedia (http://en.wikipedia.org/wiki/Oil_reserves) shows 1.2 trillion barrels from the top seventeen oil reserves. That is 37 years. At our current rate of progress, I think it is fair to assume our daily usage is headed upwards. I don't know what our current daily production capacity is capable of. I assume that is not much more than 88 million barrels a day or there wouldn't be so much talk about peak-oil. If we are at peak-oil, then it appears that in the very near future we will not be able to produce 88 million barrels a day anymore. Thus, we will start running into problems due to lack of sufficient oil. If oil production falls to say 60 million barrels a day, then 1.2 trillion barrels lasts 54 years. So oil will be around a little longer, but not in sufficient quantities. I realize there is more oil to be found in the deep oceans, but this oil will be hard to get. Is the human race totally screwed in the next 30 to 50 years do to lack of oil? Or am I missing something big here? I used to assume that as oil started to run low that its price would go up, perhaps dramatically. However, the last time gas hit $160 a barrel the economy crashed and consumed less oil, and oil fell to $30. It is therefore possible to imagine that oil prices will not actually increase as oil runs out, because the economy will be ruined. Another example of this is helium. I hear we are running out of helium. Helium is necessary for science and research and yet, it is still cheap enough to be used to fill birthday balloons. Will we run out of helium, while all the while the price is dirt cheap?
IANAL. From what I have read here in the past, it seems courts don't throw out patents. Courts don't make decisions about their validity. They only determine if you are infringing. The courts assume that since the PTO approved it that it is valid. It is up to you to get the patent office to overturn a bad patent. This can take years and may very well not be successful.
If using 'C' IO does
fclose() alone guarantee that your data is written to disk or must one do
fsync() and then fclose().
fsync is not defined for 'C' IO, it is a UNIX system call.
I think most code does
fopen()
fwrite()
fclose()
If this is buggy code, then this must affect about every 'C' program ever written.
If this is about cases where fclose() does not get called because of a crash, then it is definitely an application bug.
Since I have seen no mention of J, K or APL I thought I would throw these into the mix. These are great for array processing and in general anything mathematics related. It is like having an executable mathematics language. I have been reading some image processing papers as of late, and I am often thinking that the papers would have been better with some J code thrown in. English is often vague, and the math notation used is sometimes incorrect. With J, I know the math could have been tested for correctness. I think if everybody knew J, and technical papers used it, then these papers would be much better. These languages try to use special symbols to their fullest ability to create a powerful language. They are kind of the anti-LISP. LISP uses as few symbols as possible and then provides macros. J, K, and APL are all quite similar. I don't yet know any of them well enough to recommend one over the other.
It is like patenting a specific function composition. f.g Why not just create a list of all known functions and then patent all function compositions of these. One could do all sequences from say 2 to 1000. This should effectively prevent any further software from every being written that doesn't violate a patent.
Out of curiosity I had to see how Windows defines it.
The following is in windef.h
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
I was looking at mini-itx boards the other day and all the power supply information was on DC to DC conversion. I could find nothing on AC to DC conversion. I found this strange. Do you need to buy an AC/DC converter and then a DC/DC converter? Seems to me that you would want one device to do the full conversion, but I can't find one. I know some people might want this in their car, but I just want a small computer for an entertainment appliance like a PVR.
Excuse my ignorance on this issue, but where did this belief spring from. I know that it is written in the bible, but I am after the real source. Is this supposedly told by God to Moses? If so, how did the information get from Moses into the bible. That is, did Moses write the entry down himself or was it spread by word of mouth through a few generations before being written down in the bible. The only way this statement could have any weight is if it came from God himself. Anything else would simply be a guess.
I just bought a new DVD burner and installed the Roxio DVD burning software that came with it. Roxio installs a program called Drag To Disk to allow treating a CD/RW or DVD/RW as a regular drive. This is kind of cool, but it runs at startup. I wanted to disable it from running at startup. It is not in the Startup folder. It is not in the registry in any of the following locations: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\ RunOnce\Setup
It is not in the Services.
I have no idea what is starting it up. So I decided to rename the executable.
When I used File Explorer to add a new folder, Roxio's installation program runs, and copies Drag To Disk back onto my drive. wtf.
Drag To Disk cannot be uninstalled either. I would need to uninstall the entire Roxio product.
I also cannot terminate the process from Task Manager as it states that I don't have the proper permission. Even though I am the admistrator. F**ing windows.
Fortunately there is a task bar icon that lets me terminate the program.
How is a tracking pixel able to send back information?
I skimmed the patent. It does not patent the concept of a wheel. It patents a particular implementation of a bicycle wheel, designed to produce less wind drag from the spokes. Previous attempts at this have resulted in wheels that suffered ill effects from cross-winds or were expensive to manufacture. This design apparently doesn't have those two problems. Whether the design would be obvious to a mechanical engineer, I cannot say. It is a non-obvious solution to me. It may also have prior art, but I have not studied bicyle wheels.
I am also somewhat in agreement with abolishing the patent system. I don't worry about developing a product and then having to possibly compete with the big boys. However, I do worry about creating a product that I can't sell because it violates a patent. All new inventions are built upon the entire history of discovery by man. Any research done in one person's lifetime is trivial compared to this knowledge. So when somebody creates an invention, they have done maybe .0000001% of the work compared to starting without the knowledge already in books. Also consider the invention process. We always look at what has come before, and we set out to improve upon it. For any given invention there may well be thousands of people at any instant trying to improve upon the same ideas.
Many of these people will come up with the same solutions. The first one to the patent office shouldn't be the only one that gets to profit. Basically, I don't think most inventions come about by years of hard work. I think they are all micro-improvements over what has come before. I don't think micro-improvements deserve patents.
Could there be exceptions to this. Possibly. The Pharmaceutical industry comes to mind. It takes years to develop a new drug, and once developed they are easily knocked off by competitors.
There is also the issue of manufacturing and distribution. If I have an idea, I'll probably never be able to get it manufactured and distributed as cheaply as an established big company.
Software is different than mechanical devices though. The manfacturing/distribution problem is not as great. Software could violate hundreds or thousands of patents. Researching possible patent violations is not cost effective. It is not trivial to knock off the work of others. A company will have to work hard to build a similar product. Copying others software ideas is generally a good thing. If every user interface were completley different, nobody would be able to use software.
I have problems with both IE and Mozilla with respect to font sizes. I am running Win2k in 1600x1200. Mozilla appears to ignore the logical dpi setting, and all fonts by default are too small to read. I have perfect vision. The zoom feature in Mozilla is very nice, but does not always work. Some sites don't zoom, and others don't layout correctly. It generally works though. IE seems to use the logical dpi setting. Some sites layout perfectly. Others suffer from micro-sized fonts though. IE allows you to turn off the font sizes specified by the web page, which then results in fonts that are readable, but a page that is layed out incorrectly. Thus I am forced to use both Mozilla and IE in order to read all web pages. What do people do that run in even higher resolutions? Doesn't anybody test applications in high resolution modes? I have used to IE to look at the web pages for the 3 major graphic card manufacturers (NVIDIA, ATI, and MATROX). Their web pages are all unreadable. wtf.
Wow, thanks. This looks like a language that I have been looking for. I will have to check it out.
Yes, but C++ doesn't really have support for closures. If the function needed some state information, then you would have to create a class, a constructor, destructor and an overlaoded function call operator(). You would have to write 20 lines of code to use "transform". In the end, everybody just winds up writing a for loop, that is much smaller and simpler to understand.
To me, the productivity of a language is largely a factor of the libraries available to a language, how well that language plays with the libraries, how well those libraries help with your particular problem, and how well documented those libraries are.
Every language other than C and C++ have difficulty calling C and C++ code. Every language provides a method to call C and C++, and many people will claim this method to be easy, but it is not really that easy. For every function that you want to call a binding must usually be written. This binding is written in C and translates between the type systems of the two languages. For simple calls with one or two parameters the task is not too bad. For calls with deeply nested structures, it is a total pain. There is a tool named SWIG which can autogenerate these bindings for a number of languages. However, C header files are ambiguous. You never know if a pointer points to one item or an array of items. Thus SWIG usually requires an interface definition file.
If you want to use the Win32 library there are some 80,000 function calls to write bindings for or to write interface definition files for. Many languages provide partially complete bindings to Win32.
Today, people would often like cross-platform solutions. So it is nice to have a library of functions that handle, sockets, threads, file I/O and GUIs across platforms. Some of the cross platform tools like wxWindows are written in C++. It is even harder to interface to C++ than to C.
Thus there are great languages like Ruby with no binding to wxWindows. Or there are partial bindings with little to no documentation. Ruby, for example has a fairly complete binding to Tk. In order to use Tk from Ruby though, you have to read either the Tcl/Tk documentation, the Perl/Tk documentation or the Ruby source code. None of these provide good knowledge of how to use Ruby to write Tk GUIs. Info of which bindings were not done is non-existent.
Given the above it is clear why C and C++ are so widely used. However, C has no built in support for dynamic arrays, lists, hash tables, trees, etc. C++ has these things, but using the STL is far more difficult than using the equivalent containers in dynamically typed languages. Even using strings in C++ is difficult. The "string" class is virtually useless, because none of the other standard library routines accept a "string".
sprintf() for example wants a char*.
Dynamically typed languages like Perl, Python and Ruby are very useful and easy to use for text processing, database access, and many server side functions not requiring a GUI. Dynamically typed languages can execute up to 100 times slower than C.
Thus we are all waiting for the language that executes as fast as C, is as easy to use as Perl, Python, Ruby, has full access to O/S APIs, has access to a huge array of third party libraries, has libraries that provide cross-platform threads, IO, sockets, and GUI. It simply doesn't exist.
GUIs are a big problem for many languages. You either need native bindings or a good cross-platform windowing toolkit. I have already mentioned the binding problem. Cross-platform GUIs are another issue. Swing sucks. If you think it doesn't you haven't used it enough. There is the religious war of native widget wrappers, versus custom widgets. On the native toolkit side there is Tk, wxWindows, and SWT. On the custom widget side, there is Qt, FOX, FLTK, Swing. I lean towards the native side. Tk has a small set of widgets. I haven't tried SWT, and it is a fairly new entrant. wxWindows holds promise, but there is no Ruby binding. The Python binding is partial and not well documented. You must rely on the C++ documentation and the demo program.
Functional languages have additional issues. You have to think in a completely different way. Most all programs are solved recursively. The proponents of this approach think this is the most natural way to think. It is not the most natural for many problems t