Um, not really. That won't even compile the way it's written. main is a static method, which means that it can't access the myName member. There's no instance of the Hello class. If you made myName static as well, it would run but would be closer to the following python:
myName="Monty" print "Hello " + myName
And the whole Hello class would only exist as a result of Java not allowing you write pure procedural code outside of a class.
There is a primary drawback though. The memory management strategy is different between the desktop and server editions of Windows.
The first step to fixing that is in the System Propties (right-click on 'My Computer'). Under the Advanced tab, go to Performance Settings, then the Advanced tab in that. Change both Processor scheduling and Memory usage to "Programs".
There are some other more subtle things as well, but these can be tweaked in the registry if you know where to look. IIRC the default quantum length is longer on Server than Pro (at least it was for 2000). The articles over at Sysinternals can be helpful here, especially the one about the differences between Server and Workstation.
Are you kidding? 2k3 server makes for a far better desktop than XP. All the annoying crap is off by default.
No bubbly playskool theme. No MSN Messenger popups. No product activation. No "take the tour!". No windows media player intruding into everything. IE is crippled by default -- ripe for Firefox installation.
It feels a lot more like if you took 2000 Pro and added the few GOOD things about XP.
(Postgres wouldn't fly with the customer at the time because of vague issues with not knowing the product, not wanting to gamble on another OSS project, etc)
Gaaaaah! The tragedy of your story is that Postgres quite likely would have worked well for the project your describe. MSSQL still uses row locking, so Postgresql > MSSQL for loads with high insert/transaction rates and many concurrent queries.
MySQL is great for simple stuff but absolutely bogs down when you throw anything complex at it. PostgreSQL isn't quite a match for Oracle yet, but it's getting damn close for mid-level stuff that doesn't need replication.
i think your problem boils down to the fact you want the DB to do everything when really it doesn't matter. the application is there and the DB NEEDS IT cause no user sits down and writes SQL statements. if you were a competent programmer, doing "DB" things in your "application" wouldn't be stupid, it'd be easy, cause you'd know your data structures and your sorting algorithms like any CS grad.
It's not that simple in the real world. Think about things like concurrency. If you have 200 clients running your app at the same time and 10 of them are trying to update a complex set of related tables, how do they avoid stepping on each others toes? Are you going to have your client apps communicate with each other and coordinate the inserts? Or just lock all the tables and kill performance? How do you ensure that everyone who is reading those tables sees a consistent data set?
Or you could let the DB server do it, since it knows both the data model and the state of all the clients. Things like transactions keep clients from seeing unfinished inserts (and PostgreSQL and Oracle have MVCC to make this very efficient).
Sure, for websites and blogs it doesn't really make a difference. Every once in a while you'll see some odd data appearing on the page but if you refresh it will be gone. MySQL has historically been very good at running simple things like this.
Anything more important than that needs real data integrity at the database level. Application level checks can't *guarantee* the state of the database when more than 1 user is connected, no matter how careful they are.
Ummm, or you could just use Orca and edit the MSI yourself. If you're (re)packaging software for enterprise deployment, do yourself a favor and learn the MSI table schema. You won't regret it.
As a side note, I think Installshield's perversion of the MSI format is far worse than most malware installs: custom action DLLs for EVERYTHING, and affected software won't even be able to uninstall if they get hosed.
These cutesy patronizing names for legislation would embarrass me if I were American.
I am and they do. If I were a politician I think I would introduce a bill banning the use of acronyms in law names; and requiring that the name be representative of what the law is really about.
Of course if I were president I would have a policy to veto anything with pork attached, which probably means every single bill that came across my desk. Which is probably why I will never be president...
Except that CD-ROM drives have built-in CD players with analog audio output. So it's still possible to play on a computer without doing digital extraction. Some player software does use digital extraction all the time, and those not be able to play copy-protected CDs.
DVD-ROMs have no such hardware decoding capabilities. With the possible exception of the speed at which the data is read, a ripper and a software DVD player use identical methods to access the disc.
Another method would be to create certain patterns in the image that confuse divx encoders, since most movie rips are encoded in one mpeg-4 variant or another.
It wouldn't take long for the encoders to be fixed to deal with it, though.
Definitely FreeBSD. It has the largest user base, the most professional support options, the most ported software, and (IMO) is the easiest to administer.
OpenBSD may be crazy about security audits but their user base is fairly small and they tend to concentrate on a few niche areas (firewalls, routers, DNS server, etc). Plus FreeBSD has a tendency to port over the good stuff from Open after a while anyway.
NetBSD is really well written and is starting to rival Free in the benchmarks. However, where it tends to lack is in the ease-of-administration area. FreeBSD has lots of really slick scripts and tools that make life easier (e.g. portupgrade).
There's a lot of really cool development going on in Dragonfly right now, but at its heart it's still an experiment. Definitely worth a look if you're into programming but I wouldn't run a production server on it.
The issue with postgresql I can think of that could hit beginners is that you might have to recompile your kernel if you are using one of the *BSDs with too small shared mems and other stuff.
I don't know about Net and Open, but on FreeBSD these can all be set with boot-time tunables in loader.conf. No kernel recompile necessary. Unfortunately a lot of the postgresql howto docs are stuck back at FreeBSD 3.x and still show the kernel recompile as the only way.
A few of them can even be set hot with sysctl, but some do require a reboot.
No matter how fast a computer is, it will always read 1 bit (indicating true or false) faster than it reads 4 or 5 bytes representing the words true or false.
Hrm, not necessarily. Most machines have a 32-bit memory bus and some architectures (RISC) even enforce memory alignment for normal access. So reading 1 bit is often exactly the same speed as reading 4 bytes -- both operations pull 4 bytes over the memory bus.
5 on the other hand would be worse, since it would always take 2 memory accesses to get the whole thing (cache notwithstanding).
The "rubberhose" program does this, and you can create much more than 2 containers (as many as there is space for if you wish).
However, one disadvantage is that it's also impossible for you to prove that there is no more hidden data that you haven't yet revealed the password to. So they could just hold you indefinitely...
Swing-based GUIs do have a differing look and feel than native apps; IBM's SWT GUI toolkit resolves this issue by allowing Java GUIs to appear as native ones.
Yeah, but though SWT on any platform, and GTK+ on Win32 with a certain theme may _look_ like the native widgets, the problem is that they're not.
Besides not "feeling" the same, some things that affect native widgets won't work with those since they're basically just bitmaps. For example, themes (think windowblinds, or XP themes engine on Win32; custom theme engines on GTK or QT). Screen readers, unusual font sizes. All of these don't interact correctly.
I've even run into copy/paste problems with swing before -- some third part programs don't interact well.
card read/PIN entry on a separate box and the public key on the host system not the private key. Apart from that pretty much what you describe.
Yes, but you still have to trust the box at the store not to steal your PIN.
The cool thing about smart cards is that you enter the PIN on the card itself, which you carry with you, so it's much less likely to be compromised. The whole transaction is encrypted, so the hardware at the point of sale only sees a one-time key that will never work again.
It also conveniently solves the shop-at-home problem too (but does require that you have a smart card reader connected to your computer).
Um, not really. That won't even compile the way it's written. main is a static method, which means that it can't access the myName member. There's no instance of the Hello class. If you made myName static as well, it would run but would be closer to the following python:And the whole Hello class would only exist as a result of Java not allowing you write pure procedural code outside of a class.
There is a primary drawback though. The memory management strategy is different between the desktop and server editions of Windows.
The first step to fixing that is in the System Propties (right-click on 'My Computer'). Under the Advanced tab, go to Performance Settings, then the Advanced tab in that. Change both Processor scheduling and Memory usage to "Programs".
There are some other more subtle things as well, but these can be tweaked in the registry if you know where to look. IIRC the default quantum length is longer on Server than Pro (at least it was for 2000). The articles over at Sysinternals can be helpful here, especially the one about the differences between Server and Workstation.
Are you kidding? 2k3 server makes for a far better desktop than XP. All the annoying crap is off by default.
No bubbly playskool theme. No MSN Messenger popups. No product activation. No "take the tour!". No windows media player intruding into everything. IE is crippled by default -- ripe for Firefox installation.
It feels a lot more like if you took 2000 Pro and added the few GOOD things about XP.
(Postgres wouldn't fly with the customer at the time because of vague issues with not knowing the product, not wanting to gamble on another OSS project, etc)
Gaaaaah! The tragedy of your story is that Postgres quite likely would have worked well for the project your describe. MSSQL still uses row locking, so Postgresql > MSSQL for loads with high insert/transaction rates and many concurrent queries.
MySQL is great for simple stuff but absolutely bogs down when you throw anything complex at it. PostgreSQL isn't quite a match for Oracle yet, but it's getting damn close for mid-level stuff that doesn't need replication.
i think your problem boils down to the fact you want the DB to do everything when really it doesn't matter. the application is there and the DB NEEDS IT cause no user sits down and writes SQL statements. if you were a competent programmer, doing "DB" things in your "application" wouldn't be stupid, it'd be easy, cause you'd know your data structures and your sorting algorithms like any CS grad.
It's not that simple in the real world. Think about things like concurrency. If you have 200 clients running your app at the same time and 10 of them are trying to update a complex set of related tables, how do they avoid stepping on each others toes? Are you going to have your client apps communicate with each other and coordinate the inserts? Or just lock all the tables and kill performance? How do you ensure that everyone who is reading those tables sees a consistent data set?
Or you could let the DB server do it, since it knows both the data model and the state of all the clients. Things like transactions keep clients from seeing unfinished inserts (and PostgreSQL and Oracle have MVCC to make this very efficient).
Sure, for websites and blogs it doesn't really make a difference. Every once in a while you'll see some odd data appearing on the page but if you refresh it will be gone. MySQL has historically been very good at running simple things like this.
Anything more important than that needs real data integrity at the database level. Application level checks can't *guarantee* the state of the database when more than 1 user is connected, no matter how careful they are.
* Easy replication on MySQL/ Not so easy on PostgreSQL
Check out Slony if you haven't recently. Not exactly what I'd call "easy", mind you, but certainly not unreasonably difficult to set up.
Besides, given the complexities inherent in the whole concept of database replication, I'd be somewhat suspicious of a solution that was *easy*.
Ummm, or you could just use Orca and edit the MSI yourself. If you're (re)packaging software for enterprise deployment, do yourself a favor and learn the MSI table schema. You won't regret it.
As a side note, I think Installshield's perversion of the MSI format is far worse than most malware installs: custom action DLLs for EVERYTHING, and affected software won't even be able to uninstall if they get hosed.
...or put it in a Romulan engine core...
That's why we're the good guys, and they're the bad guys.
These cutesy patronizing names for legislation would embarrass me if I were American.
I am and they do. If I were a politician I think I would introduce a bill banning the use of acronyms in law names; and requiring that the name be representative of what the law is really about.
Of course if I were president I would have a policy to veto anything with pork attached, which probably means every single bill that came across my desk. Which is probably why I will never be president...
Except that CD-ROM drives have built-in CD players with analog audio output. So it's still possible to play on a computer without doing digital extraction. Some player software does use digital extraction all the time, and those not be able to play copy-protected CDs.
DVD-ROMs have no such hardware decoding capabilities. With the possible exception of the speed at which the data is read, a ripper and a software DVD player use identical methods to access the disc.
Another method would be to create certain patterns in the image that confuse divx encoders, since most movie rips are encoded in one mpeg-4 variant or another.
It wouldn't take long for the encoders to be fixed to deal with it, though.
Definitely FreeBSD. It has the largest user base, the most professional support options, the most ported software, and (IMO) is the easiest to administer.
OpenBSD may be crazy about security audits but their user base is fairly small and they tend to concentrate on a few niche areas (firewalls, routers, DNS server, etc). Plus FreeBSD has a tendency to port over the good stuff from Open after a while anyway.
NetBSD is really well written and is starting to rival Free in the benchmarks. However, where it tends to lack is in the ease-of-administration area. FreeBSD has lots of really slick scripts and tools that make life easier (e.g. portupgrade).
There's a lot of really cool development going on in Dragonfly right now, but at its heart it's still an experiment. Definitely worth a look if you're into programming but I wouldn't run a production server on it.
Not a "linux" distro, but nothing screams "professional admin" more than BSD...
Yep, 99% of my music collection is in Vorbis format (q=6). I plan on eventually re-ripping everything in FLAC when I can afford the disk space.
The issue with postgresql I can think of that could hit beginners is that you might have to recompile your kernel if you are using one of the *BSDs with too small shared mems and other stuff.
I don't know about Net and Open, but on FreeBSD these can all be set with boot-time tunables in loader.conf. No kernel recompile necessary. Unfortunately a lot of the postgresql howto docs are stuck back at FreeBSD 3.x and still show the kernel recompile as the only way.
A few of them can even be set hot with sysctl, but some do require a reboot.
No matter how fast a computer is, it will always read 1 bit (indicating true or false) faster than it reads 4 or 5 bytes representing the words true or false.
Hrm, not necessarily. Most machines have a 32-bit memory bus and some architectures (RISC) even enforce memory alignment for normal access. So reading 1 bit is often exactly the same speed as reading 4 bytes -- both operations pull 4 bytes over the memory bus.
5 on the other hand would be worse, since it would always take 2 memory accesses to get the whole thing (cache notwithstanding).
And bzip2 is a memory hog.
What impact will the earth have if the object hits the moon?
Free tacos for everyone?
Fill a CD with this stuff, and you have a perfect one-time-pad good for sending up to 650MB of data
If you have a 100% secure way to transport the pad, why not just use that to transport the original message and destroy it when finished?
The "rubberhose" program does this, and you can create much more than 2 containers (as many as there is space for if you wish).
However, one disadvantage is that it's also impossible for you to prove that there is no more hidden data that you haven't yet revealed the password to. So they could just hold you indefinitely...
Swing-based GUIs do have a differing look and feel than native apps; IBM's SWT GUI toolkit resolves this issue by allowing Java GUIs to appear as native ones.
.
Yeah, but though SWT on any platform, and GTK+ on Win32 with a certain theme may _look_ like the native widgets, the problem is that they're not
Besides not "feeling" the same, some things that affect native widgets won't work with those since they're basically just bitmaps. For example, themes (think windowblinds, or XP themes engine on Win32; custom theme engines on GTK or QT). Screen readers, unusual font sizes. All of these don't interact correctly.
I've even run into copy/paste problems with swing before -- some third part programs don't interact well.
Actually, I take back the sarcasm. It just plain sucks.
If you see "null pointer exceptions" often, you must be unfortunate enough to have to be running some pretty amateurish programs though (no offence).
Um, yes, like the Oracle Financials client. Very amatuerish.</sarcasm>
card read/PIN entry on a separate box and the public key on the host system not the private key. Apart from that pretty much what you describe.
Yes, but you still have to trust the box at the store not to steal your PIN.
The cool thing about smart cards is that you enter the PIN on the card itself, which you carry with you, so it's much less likely to be compromised. The whole transaction is encrypted, so the hardware at the point of sale only sees a one-time key that will never work again.
It also conveniently solves the shop-at-home problem too (but does require that you have a smart card reader connected to your computer).