I usually end up using perl for a calculator. Simple statements like "printf("%x", 0x43 + 0x3e)" usually get the job done.
Why? Well, I don't always carry a calculator with me, but I always have a computer handy when I'm programming. And perl uses mostly C/C++/Java like syntax -- 0x for hex constants, printf output formatting. Not only do I not have to relearn a new syntax, but I can actually cut and paste expressions straight from code, too.
Sure, its a little verbose, but I also run it in an emacs shell buffer, so I can cut and paste easily from one line to the next.
designed by ARM Ltd - NOT Intel (Intel now *sell* it)
Yes, Intel selling it is a positive, particularly for companies who want to base their product on it; after all, Intel isn't going anywhere for a while (or at least will survive longer than the average chipmaker...). The fact that ARM, and not Intel, designed the thing isn't a selling point, unless you are of the opinion anything that comes out of Intel is trash, which is a bit harsh, IMHO.
The Intel StrongARM chip is pretty popular in embedded devices, including the Zaurus, iPod and other PDAs and portable music players. While the chips have an excellent power consumption vs performance and price ratio, it lacks a hardware FPU.
I'm not sure companies choose the StrongARM because it's cheaper than chips with a FPU. More likely, they choose it because it is supported by GCC, Linux, Windows CE and hundreds of commercial tools. It is low power, widely deployed, and relatively powerful for a low power chip. And having Intel behind it doesn't hurt. In short, it is a very low risk platform with significant advantages and a few minor disadvantages (no FPU).
The format the guy used was.wma. It allows the music to be encrypted and require a special license to listen to it.
Your mp3 files are safe. mp3 files do not have any encryption built in and any mp3 player will still be able to play them. They will still be playable 20 years from now. Just avoid.wma, realplayer files, liquid audio, and other propietary music formats. Another safe format to use is.ogg, which is like mp3, but they are smaller and sound better.
Sort of like Starbucks, where they have Tall, Grande, and Venti (and the elusive Short). Not only is there no small, but the smallest size on the menu is called "tall", which has conotations of bigness. Grande also seems to indicate large, and I have no idea what Venti means. In my mind, that translates to "large", "large", and "something".
Seems like they are moving from meaningful labels that communicate information about what you are buying, to labels thought up by a marketing team aimed at appealling to our subconcious desire to get as much as possible for our money.
They removed jikes?? That sucks. Kaffe, I can understand, since it often confused users who installed Sun's JDK by having it's java/javac appear ahead of Sun's in the PATH. But jikes is a small package that conflicts with nothing, and provides a lot of value.
Incidentally, Kaffe 1.0.7 is out (first release in over a year) and jikes 1.16 should be out shortly.
I agree, but also read code. There are lots of large projects with source available out there; grab it and find out how their authors did it, and note whether the approach is understandable, consistent, scaled well, etc. You can only write so much code for the sake of learning; also some designs lend themselves to larger projects, beyond the scope of a learning exercise.
Case studies are widely used in other disciplines like engineering, and they can be useful in programming too.
The dire predictions that oil will run out, such as those by the USGS, are typically made based only on currently known supplies. The oil industry is constantly discovering new reserves that they don't accounted for. Furthermore, as technology improves, areas that weren't cost effective to explore become accessible.
The do indeed (at least for the uncustomized top page). Try this: $ telnet slashdot.org 80 GET / HTTP/1.1 Host: slashdot.org Accept-Encoding: gzip [blank line]
You'll get back a page with Content-Encoding: gzip.
Re:I've worked with these...
on
Netwinder is Back
·
· Score: 5, Informative
The web-based interface was nice, frankly, but the modified Redhat distro it comes loaded with is ridiculously sparse, and the omission of certain little things like, say, GCC makes adding any functionality a real pain in the ass. Unless, of course, you can find all the binaries you need for its StrongARM architecture.
Actually, they sold these with two software configurations, a dev box and an office server box. The office system had only enough to run all the Netwinder services plus the web administration app. The dev system had all that, plus all the development packages you'd get with Redhat -- it was basically a StrongARM port of Redhat 6.2 plus web based administration.
You could download the dev rpms from netwinder.org and upgrade the office server into a dev box. Additionally, they provided complete install images for reinstalling from scratch, and you could change the office server into a dev box by downloading the dev image and reinstalling.
I've had limited success running DOS under Bochs (http://bochs.sourceforge.net/). Bochs is a PC hardware emulator done completely in software, so it should work on non-x86 platforms too. Additionally, it has the added "feature" of running the game slow enough to play.
The argument of CIO is that cios will have more leverage over software companies with a subscription based payment model. Buggy software? Ok, cancel the subscription and go elsewhere.
The flaw here is that products like Oracle 11i (cited in the article) usual require a large amount of custom development work and intergration. It is also tightly coupled to Oracle's database. Since these products don't follow any standards (either they don't exist, or they are deliberately ignored to lock the customer), all that investment is lost by switching to a competitor.
All the software vendors have to do is to ensure the cost of switching to another product is higher than the subscription + the cost of living with the shortcomings of the product.
It is called proprietary lock-in, and it can take many forms -- business information in MS Word Documents throughout the enterprise, Oracle ERP that requires Oracle DB and custom development, and many many more.
First "Premium Content". Now this. I think Salon is desperately trying to make some money, but at the expense of alienating their readership. Oh well, the content has been going downhill anyway. I'll find something else to read -- its not like Salon has a monopoly on insightful, left leaning commentary.
Joy says "EMACS is a nice editor too, but because it costs hundreds of dollars, there will always be people who won't buy it."
Interesting that Emacs was too expensive. I think GNU Emacs came out in 1985, and the interview was in 1984, so he must have been talking about Gosling/Unipress Emacs.
For what its worth, the publisher of the Ultima series has officially released Ultima IV: Quest of the Avatar, as freeware. That means that it can be freely and legally downloaded off the net. A google search for Ultima IV will turn up a number of download sites.
In addition, there are graphics and sound patches that upgrade it from 80's style ugliness to early 90's style ugliness.
Yes, it's trivially simple to protect against buffer overflows.
It may seem trivial problem, but it is actually very hard to solve in practice. The C string API is simply poorly designed -- it is way too easy to mess up. It's not a matter negligence, people are human and make mistakes; thinking good programmers are exempt is pure hubris.
The real solution is to expect, and learn to live with buggy code.
Remotely accessible programs should run in chroot jails with the bare minimum of capabilities.
Languages should make it harder to screw up. Less error prone string handling in languages such as perl, Java and even C++, are helping. Java has even more potential with its untrusted code security model.
And yes, there are probably some Unix programs running around with buffer overrun exploits in them.
Undoubtably. Many more than you'd think. And the vast majority won't every be found or fixed, because the program is not suid or remotely available.
Unix assumes that the user cannot be trusted
This assumption is broken by suid programs. They say a user is trusted to use me, but only to do something safe. It makes the implicit assumption that an suid program will only do what it was written to do. Secure systems must ensure that when these programs are inevitably comprimised, the damage is contained.
The idea that mozilla is slow and buggy is a myth. While it may have been true a six months ago, the most recent releases are extremely fast and stable. No surprise -- the basic functionality has been completed for a while, and most of the recent development has targeted speed and stability.
It now renders most content faster than IE. It is still a bit sluggish with some types of DHTML and Javascript, and the startup time is behind most other browsers.
It is extremely stable, mostly due to the talkback bug reporting system. Talkback automatically allows users to submit back bug reports complete with stack trace to the developers when a crash occurs. This system allowed the moz developers to target the bugs that make the most difference.
The browser may arguably be a failure, but not a technical failure.
True, but some high end stand alone CD players play CDs just like computer CD drivers. This means the CDs won't work in some stand alone players either. The publishers make a huge assumption about how each kind of equipment decodes the CD.
There are published standards as to how CDs work, and this particular CD don't follow them. Period.
The best thing to do is to make sure all decisions made regarding infrastructure recognize there is a cost. Specifically, there is a cost to going with any technology that locks in, and there is a risk going with a technology owned by and controlled by a single company.
By adding this into your decision-making process, you might not meet your personal goal of going linux, but you will make a better business decision.
The technique of forging the steel was secret: there was no published work that explained it. Thus, there is no prior art.
This is actually a perfect example of why patents were created in the first place: to reveal and create a public record of secret processes to prevent technologies from disappearing. Society gets the secret information in the end, but, the inventor gets a legally-protected monopoly for a reasonable period.
If the Ottoman empire had a patent system, perhaps the secret of Damascus steel would never have been lost!
Third world countries usually don't have the pollution problems that others do
Obviously, you've never been to a city in a third world country. They most definately do have pollution problems: pollution control on cars is far less, heating and light are often generated by burning kerosene, coal, or even animal dung, and forget about sewers and garbage collection. Pollution controls for industry are much less strict if enforced at all. Plus the density of people is usually higher.
Point 2./ If you are connected to the Internet in any way NEVER replace your firewall with a cross over cable.
...unless the risk of being comprimised within that short period is outweighed by the information you will gain by testing around your firewall. It is a simple trade-off.
While your point that this benchmark is somewhat flawed is correct, you also point out a large problem with Windows:
You are forced to use proprietary MS-only extentions rather than straight, standardized POSIX calls to achieve the best performance. That means you have to suffer proprietary lock-in if you want to code high performance network applications for Windows.
I think is deliberate: there is no reason why calls like malloc, creat, mmap, poll, whatever, couldn't have been tuned to get similar performance to the Windows specific VirtualAlloc, CreateFile, etc. Microsoft wants you to trade off portability for speed.
You missed the point. He says that the benefit you gain from using Qt/E or the Gtk framebuffer stuff over X with Qt or Gtk is small. Specifically, it is likely to be outweighed by advantages of network transparency and the ability to use stock Qt/Gtk/X programs.
I usually end up using perl for a calculator. Simple statements like "printf("%x", 0x43 + 0x3e)" usually get the job done.
Why? Well, I don't always carry a calculator with me, but I always have a computer handy when I'm programming. And perl uses mostly C/C++/Java like syntax -- 0x for hex constants, printf output formatting. Not only do I not have to relearn a new syntax, but I can actually cut and paste expressions straight from code, too.
Sure, its a little verbose, but I also run it in an emacs shell buffer, so I can cut and paste easily from one line to the next.
designed by ARM Ltd - NOT Intel (Intel now *sell* it)
Yes, Intel selling it is a positive, particularly for companies who want to base their product on it; after all, Intel isn't going anywhere for a while (or at least will survive longer than the average chipmaker...). The fact that ARM, and not Intel, designed the thing isn't a selling point, unless you are of the opinion anything that comes out of Intel is trash, which is a bit harsh, IMHO.
The Intel StrongARM chip is pretty popular in embedded devices, including the Zaurus, iPod and other PDAs and portable music players. While the chips have an excellent power consumption vs performance and price ratio, it lacks a hardware FPU.
I'm not sure companies choose the StrongARM because it's cheaper than chips with a FPU. More likely, they choose it because it is supported by GCC, Linux, Windows CE and hundreds of commercial tools. It is low power, widely deployed, and relatively powerful for a low power chip. And having Intel behind it doesn't hurt. In short, it is a very low risk platform with significant advantages and a few minor disadvantages (no FPU).
The format the guy used was .wma. It allows the music to be encrypted and require a special license to listen to it.
.wma, realplayer files, liquid audio, and other propietary music formats. Another safe format to use is .ogg, which is like mp3, but they are smaller and sound better.
Your mp3 files are safe. mp3 files do not have any encryption built in and any mp3 player will still be able to play them. They will still be playable 20 years from now. Just avoid
Sort of like Starbucks, where they have Tall, Grande, and Venti (and the elusive Short). Not only is there no small, but the smallest size on the menu is called "tall", which has conotations of bigness. Grande also seems to indicate large, and I have no idea what Venti means. In my mind, that translates to "large", "large", and "something".
Seems like they are moving from meaningful labels that communicate information about what you are buying, to labels thought up by a marketing team aimed at appealling to our subconcious desire to get as much as possible for our money.
They removed jikes?? That sucks. Kaffe, I can understand, since it often confused users who installed Sun's JDK by having it's java/javac appear ahead of Sun's in the PATH. But jikes is a small package that conflicts with nothing, and provides a lot of value.
Incidentally, Kaffe 1.0.7 is out (first release in over a year) and jikes 1.16 should be out shortly.
I agree, but also read code. There are lots of large projects with source available out there; grab it and find out how their authors did it, and note whether the approach is understandable, consistent, scaled well, etc. You can only write so much code for the sake of learning; also some designs lend themselves to larger projects, beyond the scope of a learning exercise.
Case studies are widely used in other disciplines like engineering, and they can be useful in programming too.
The dire predictions that oil will run out, such as those by the USGS, are typically made based only on currently known supplies. The oil industry is constantly discovering new reserves that they don't accounted for. Furthermore, as technology improves, areas that weren't cost effective to explore become accessible.
Check out Chimera, a native MacOS X frontend for gecko: http://chimera.mozdev.org/.
It IS Cocoa, and it looks like a Cocoa app should. It's not perfect, but it definately gives OmniWeb a run for its money.
The do indeed (at least for the uncustomized top page). Try this:
$ telnet slashdot.org 80
GET / HTTP/1.1
Host: slashdot.org
Accept-Encoding: gzip
[blank line]
You'll get back a page with Content-Encoding: gzip.
The web-based interface was nice, frankly, but the modified Redhat distro it comes loaded with is ridiculously sparse, and the omission of certain little things like, say, GCC makes adding any functionality a real pain in the ass. Unless, of course, you can find all the binaries you need for its StrongARM architecture.
Actually, they sold these with two software configurations, a dev box and an office server box. The office system had only enough to run all the Netwinder services plus the web administration app. The dev system had all that, plus all the development packages you'd get with Redhat -- it was basically a StrongARM port of Redhat 6.2 plus web based administration.
You could download the dev rpms from netwinder.org and upgrade the office server into a dev box. Additionally, they provided complete install images for reinstalling from scratch, and you could change the office server into a dev box by downloading the dev image and reinstalling.
I've had limited success running DOS under Bochs (http://bochs.sourceforge.net/). Bochs is a PC hardware emulator done completely in software, so it should work on non-x86 platforms too. Additionally, it has the added "feature" of running the game slow enough to play.
The argument of CIO is that cios will have more leverage over software companies with a subscription based payment model. Buggy software? Ok, cancel the subscription and go elsewhere.
The flaw here is that products like Oracle 11i (cited in the article) usual require a large amount of custom development work and intergration. It is also tightly coupled to Oracle's database. Since these products don't follow any standards (either they don't exist, or they are deliberately ignored to lock the customer), all that investment is lost by switching to a competitor.
All the software vendors have to do is to ensure the cost of switching to another product is higher than the subscription + the cost of living with the shortcomings of the product.
It is called proprietary lock-in, and it can take many forms -- business information in MS Word Documents throughout the enterprise, Oracle ERP that requires Oracle DB and custom development, and many many more.
First "Premium Content". Now this. I think Salon is desperately trying to make some money, but at the expense of alienating their readership. Oh well, the content has been going downhill anyway. I'll find something else to read -- its not like Salon has a monopoly on insightful, left leaning commentary.
Joy says "EMACS is a nice editor too, but because it costs hundreds of dollars, there will always be people who won't buy it."
Interesting that Emacs was too expensive. I think GNU Emacs came out in 1985, and the interview was in 1984, so he must have been talking about Gosling/Unipress Emacs.
For what its worth, the publisher of the Ultima series has officially released Ultima IV: Quest of the Avatar, as freeware. That means that it can be freely and legally downloaded off the net. A google search for Ultima IV will turn up a number of download sites.
In addition, there are graphics and sound patches that upgrade it from 80's style ugliness to early 90's style ugliness.
Yes, it's trivially simple to protect against buffer overflows.
It may seem trivial problem, but it is actually very hard to solve in practice. The C string API is simply poorly designed -- it is way too easy to mess up. It's not a matter negligence, people are human and make mistakes; thinking good programmers are exempt is pure hubris.
The real solution is to expect, and learn to live with buggy code.
Remotely accessible programs should run in chroot jails with the bare minimum of capabilities.
Languages should make it harder to screw up. Less error prone string handling in languages such as perl, Java and even C++, are helping. Java has even more potential with its untrusted code security model.
And yes, there are probably some Unix programs running around with buffer overrun exploits in them.
Undoubtably. Many more than you'd think. And the vast majority won't every be found or fixed, because the program is not suid or remotely available.
Unix assumes that the user cannot be trusted
This assumption is broken by suid programs. They say a user is trusted to use me, but only to do something safe. It makes the implicit assumption that an suid program will only do what it was written to do. Secure systems must ensure that when these programs are inevitably comprimised, the damage is contained.
The idea that mozilla is slow and buggy is a myth. While it may have been true a six months ago, the most recent releases are extremely fast and stable. No surprise -- the basic functionality has been completed for a while, and most of the recent development has targeted speed and stability.
It now renders most content faster than IE. It is still a bit sluggish with some types of DHTML and Javascript, and the startup time is behind most other browsers.
It is extremely stable, mostly due to the talkback bug reporting system. Talkback automatically allows users to submit back bug reports complete with stack trace to the developers when a crash occurs. This system allowed the moz developers to target the bugs that make the most difference.
The browser may arguably be a failure, but not a technical failure.
True, but some high end stand alone CD players play CDs just like computer CD drivers. This means the CDs won't work in some stand alone players either. The publishers make a huge assumption about how each kind of equipment decodes the CD.
There are published standards as to how CDs work, and this particular CD don't follow them. Period.
The best thing to do is to make sure all decisions made regarding infrastructure recognize there is a cost. Specifically, there is a cost to going with any technology that locks in, and there is a risk going with a technology owned by and controlled by a single company.
By adding this into your decision-making process, you might not meet your personal goal of going linux, but you will make a better business decision.
The technique of forging the steel was secret: there was no published work that explained it. Thus, there is no prior art.
This is actually a perfect example of why patents were created in the first place: to reveal and create a public record of secret processes to prevent technologies from disappearing. Society gets the secret information in the end, but, the inventor gets a legally-protected monopoly for a reasonable period.
If the Ottoman empire had a patent system, perhaps the secret of Damascus steel would never have been lost!
Third world countries usually don't have the pollution problems that others do
Obviously, you've never been to a city in a third world country. They most definately do have pollution problems: pollution control on cars is far less, heating and light are often generated by burning kerosene, coal, or even animal dung, and forget about sewers and garbage collection. Pollution controls for industry are much less strict if enforced at all. Plus the density of people is usually higher.
Point 2./ If you are connected to the Internet in any way NEVER replace your firewall with a cross over cable.
...unless the risk of being comprimised within that short period is outweighed by the information you will gain by testing around your firewall. It is a simple trade-off.
While your point that this benchmark is somewhat flawed is correct, you also point out a large problem with Windows:
You are forced to use proprietary MS-only extentions rather than straight, standardized POSIX calls to achieve the best performance. That means you have to suffer proprietary lock-in if you want to code high performance network applications for Windows.
I think is deliberate: there is no reason why calls like malloc, creat, mmap, poll, whatever, couldn't have been tuned to get similar performance to the Windows specific VirtualAlloc, CreateFile, etc. Microsoft wants you to trade off portability for speed.
You missed the point. He says that the benefit you gain from using Qt/E or the Gtk framebuffer stuff over X with Qt or Gtk is small. Specifically, it is likely to be outweighed by advantages of network transparency and the ability to use stock Qt/Gtk/X programs.