Last time I heard, Python still used a lame reference-counting implementation of garbage-collection. Where each object, had a count of objects which referred to it, and when the count dropped to 0, the object was garbage collected.
The problem with this is the obvious circular-reference problem, where an entire network of objects is self-referring, but the network is cut loose and should be collected.
This is fine (and simple) when it's just a collection of scripts which run pretty quickly, but in the context of something like Zope where the program's more of a server and runs for days, this is going to present serious memory-management headaches.
It depends which corp -- the tech industry (if you hadn't noticed) has had a pretty severe dropoff in sales.
So if you're selling PC's, hard drives, home LAN's, Broadband Crap, etc., or even operating systems, the wins that the entertainment industry have been chalking up are coming out of your hide. You want people to be trading big files over the internet -- it's in your interest.
I spent a few years doing game programming (fairly low salary, high stress, long hours, not recommended) and the only relation to the artists is that the programmers worked with them.
If you're doing your job right, you're spending your time buried in MSDN CD's, doing the simplest thing which could work, and installing your software on as many different hardware/OS combinations as you can find... because DirectX can act differently.
The only thing expected of you is to get things done on time and competently. Don't crash, keep the framerate up, don't do anything weird. Reaching that level of transparent simplicity is actually quite hard, most progammers can't do it. But I wouldn't call it art. And -- oh yeah -- nobody cares about how well factored or designed your code is, because the bits are going to get burned on a CD, and that's the primary focus. Will it get done on time? That's the question.
The creative people (and it's not you, you don't have time) write a script which gets approved by a publisher. That's where all the cool ideas which people appreciate come from. And the Photoshop and 3DStudio jockeys -- the artist -- they make decisions about the look, usually the script'll have a bit of discression for them.
But in terms of creative interaction? Well -- if you're supporting 8-bit graphics, you'll spend a fair amount of time convincing the artists why they should use the same palette on all their bitmaps. And that you need to change it at the last minute.
In terms of creativity -- I've had a lot more satisfaction doing business and web programming. In those realms, a good O-O design is seen as an asset and not just "geek talk".
There should be more DNS implementations: if there were a rich collection of nameservers out there, with "redundant" TLD's running different implementations, it would be a lot less likely that one buffer-overflow puts the whole internet at risk.
As well as it might pay, most of the work done in Java and on the internet these days is a lot closer to COBOL programming (batch and transactional) than anything close to the complexity and ingenuity of an Eliza or GPS.
In Cincom VisualWorks or Squeak Smalltalk, there's probably the most mature base of object-oriented code in existence. And good browsing tools.
Totally beautiful -- in my case it took someone who understoon object-oriented principles and had done a bit of C++ in small 6-week to 3-month college projects into the culture of real O-O development.
Caveats -- after doing Smalltalk, C++ will get really painful and you'll keep snickering every time you read Java code.
I use ipchains w/ masquerading on my 2.2 linux box to implement NAT and allow the internal network to see the outside world -- allowing only packets with the SYN bit set back in.
This works fine for web and ssh and outgoing mail and dns and all -- but not when I need to use Win2k's VPN client to establish a tunnel -- my understanding is that the VPN server tries to establish a connection back (expecting to hit Win2k, but hitting to the linux box) which is refused.
How can I configure IPTables so I can tunnel and stay firewalled?
Especially if you incorporate -- there are a ton of rules in terms of how you can pay yourself. No company is doing withholding, it's all on you. So ask a contractor who seems to be doing OK for the name of their accountant. And it's a pain in the ass to do yourself -- I can debug two dozen EJB's at once, scrawl UML on a napkin, and solve a halting problem: but bookkeeping is a black art as far as I'm concerned. I'll leave it to an adult.
And buy QuickBooks. If you're contracting, you'll need to do invoicing and keep track of your expenses. Your accountant will appreciate its reporting abilities too: beats a shoebox of receipts. QB does a great job -- has anyone found an open-source alternative that compares?
I'll agree that this isn't really a compiler issue, it's one of judicious optimization. O-O is about modelling a system correctly, producing code which is relevant in a multi-year project when 20% of your staff is turning over every year.
Unless you're designing a system with pretty extreme realtime constraints *everywhere*, odds are that less than 10% will impact real performance. That's where you re-code in C or assembly or whatever works. And the remaining 90% involves control structures and network and database calls. Who cares -- speeding this up will have minimal impact on system performance, you'll just call NOP more often.
Data point: I worked a few years ago on a fairly large exotic finance application. In Smalltalk. There was a competing system which had been written in C++ (also object-oriented, but especially at the time wasn't used very well). Smalltalk runs between 2 and 10 times slower than C++, especially for floating point performance (because they're portable across architectures). And when you're pricing derivatives, you do a lot of floating point.
End result? Not only was out system written substantially quicker -- which is the norm for experienced smalltalkers, but it was **faster**. Because we had a more understandable system, we had better tools to identify the 10% which was slowing things down, and we were able to make it work smarter.
One really insidious piece of the legislation appears to be the part which exempts holders of MS or better degrees from the cap.
Now it's just a piece of paper.. but well, I've always wanted to learn about wavelets anyway.
What if people writing open-source software were able to write off the time at a reasonable rate: say [if they were self-employed] as a business development expense or [otherwise] as a donation?
I'd think that if this practice could fly, open-source would really flourish.
The incompatibilities even at the SQL-layer between SQLServer, Oracle, Informix, etc are just silly: it's not just Microsoft which is locking in their customers.
Scaling up mSQL or any of the others and keeping them standards-compliant would be a really good thing and hopefully provide a Reference Implementation of how these DB's ought to behave -- at least from the client perspective.
An IDE CD-ROM is a lot cheaper and easier to work with than a 2.5" hard disk. If the BIOS supports the El-Torito Bootable CDRom stuff, that's another way to get your favorite linux distro on it -- especially if you can get the 16M flash to work as well. Nifty!!!
Yamaha YMF715 Stereo Speakers Doesn't say anything about the sound chip, though? Is it any good [or upgradable?]. I don't think that PLIP could get the bandwidth, but with USB ethernet, I could also plug this into my home network to play MP3's stored on my server!!
If you recall Brock Meeks's Keys to the Kingdom , the list of sites is what makes one filtering product better different than the other. It really is Intellectual Property / a Trade Secret.
Here's a tie-in with the DVD case, though: How trivial could the encryption be to claim that it was "illegally" reverse-engineered under DMCA? If being XOR'd with "Hi mom" would qualify, how about being XOR'd with "". i.e. trivial (non-) encryption?
By that definition, any text is encrypted (most of it badly)
Given some of the creepy intel practices as seen on Face Intel I'd be really nervous about using it for much of anything -- they're already known to break into visitor cars and hire private investigators.
I've been thinking of this for some time, ever since it seems that every ISP out there broadcasts the region and state I'm in in the dialup IP address they give me. Seems to me that this creates a great opportunity to plant a few linux boxes in the West Indies (Anguila apparently, any place else) and sell IP tunneling and cleansing services to people with dialup and cable modem accounts.
The problem with this is the obvious circular-reference problem, where an entire network of objects is self-referring, but the network is cut loose and should be collected.
This is fine (and simple) when it's just a collection of scripts which run pretty quickly, but in the context of something like Zope where the program's more of a server and runs for days, this is going to present serious memory-management headaches.
So if you're selling PC's, hard drives, home LAN's, Broadband Crap, etc., or even operating systems, the wins that the entertainment industry have been chalking up are coming out of your hide. You want people to be trading big files over the internet -- it's in your interest.
Cool, filesharing actually works!
A few months ago I was at the Fry's in Anaheim and I saw a rep from Handspring in the PDA isle.
If you're doing your job right, you're spending your time buried in MSDN CD's, doing the simplest thing which could work, and installing your software on as many different hardware/OS combinations as you can find... because DirectX can act differently.
The only thing expected of you is to get things done on time and competently. Don't crash, keep the framerate up, don't do anything weird. Reaching that level of transparent simplicity is actually quite hard, most progammers can't do it. But I wouldn't call it art. And -- oh yeah -- nobody cares about how well factored or designed your code is, because the bits are going to get burned on a CD, and that's the primary focus. Will it get done on time? That's the question.
The creative people (and it's not you, you don't have time) write a script which gets approved by a publisher. That's where all the cool ideas which people appreciate come from. And the Photoshop and 3DStudio jockeys -- the artist -- they make decisions about the look, usually the script'll have a bit of discression for them.
But in terms of creative interaction? Well -- if you're supporting 8-bit graphics, you'll spend a fair amount of time convincing the artists why they should use the same palette on all their bitmaps. And that you need to change it at the last minute.
In terms of creativity -- I've had a lot more satisfaction doing business and web programming. In those realms, a good O-O design is seen as an asset and not just "geek talk".
There should be more DNS implementations: if there were a rich collection of nameservers out there, with "redundant" TLD's running different implementations, it would be a lot less likely that one buffer-overflow puts the whole internet at risk.
As well as it might pay, most of the work done in Java and on the internet these days is a lot closer to COBOL programming (batch and transactional) than anything close to the complexity and ingenuity of an Eliza or GPS.
Totally beautiful -- in my case it took someone who understoon object-oriented principles and had done a bit of C++ in small 6-week to 3-month college projects into the culture of real O-O development.
Caveats -- after doing Smalltalk, C++ will get really painful and you'll keep snickering every time you read Java code.
This works fine for web and ssh and outgoing mail and dns and all -- but not when I need to use Win2k's VPN client to establish a tunnel -- my understanding is that the VPN server tries to establish a connection back (expecting to hit Win2k, but hitting to the linux box) which is refused.
How can I configure IPTables so I can tunnel and stay firewalled?
And buy QuickBooks. If you're contracting, you'll need to do invoicing and keep track of your expenses. Your accountant will appreciate its reporting abilities too: beats a shoebox of receipts. QB does a great job -- has anyone found an open-source alternative that compares?
When I have down time, I do three things -- vacation, get some training, and find something interesting to hack on.
And -- with dot.coms going under, it's really nice if your contract is with the agency than directly with the company.
Benefits? There aren't any. Except the extra money and tax writeoffs when you incorporate!
Unless you're designing a system with pretty extreme realtime constraints *everywhere*, odds are that less than 10% will impact real performance. That's where you re-code in C or assembly or whatever works. And the remaining 90% involves control structures and network and database calls. Who cares -- speeding this up will have minimal impact on system performance, you'll just call NOP more often.
Data point: I worked a few years ago on a fairly large exotic finance application. In Smalltalk. There was a competing system which had been written in C++ (also object-oriented, but especially at the time wasn't used very well). Smalltalk runs between 2 and 10 times slower than C++, especially for floating point performance (because they're portable across architectures). And when you're pricing derivatives, you do a lot of floating point.
End result? Not only was out system written substantially quicker -- which is the norm for experienced smalltalkers, but it was **faster**. Because we had a more understandable system, we had better tools to identify the 10% which was slowing things down, and we were able to make it work smarter.
One really insidious piece of the legislation appears to be the part which exempts holders of MS or better degrees from the cap. Now it's just a piece of paper.. but well, I've always wanted to learn about wavelets anyway.
Goes like this -- "Can you spell 'C'?"
I'd think that if this practice could fly, open-source would really flourish.
The incompatibilities even at the SQL-layer between SQLServer, Oracle, Informix, etc are just silly: it's not just Microsoft which is locking in their customers.
Scaling up mSQL or any of the others and keeping them standards-compliant would be a really good thing and hopefully provide a Reference Implementation of how these DB's ought to behave -- at least from the client perspective.
Haven't even opened it: was waiting for the weekend to get the IDE device. I'll call them up and cancel service as soon as I get a chance though.
Moderate this up!!
:-)
I was going to suggest writing a script which habitually deletes cookies from doubleclick and others (while keeping my slashdot and yahoo cookies)...
But feeding doubleclick garbage? Cool..
I wonder if this can cause a buffer overflow on their end?
An IDE CD-ROM is a lot cheaper and easier to work with than a 2.5" hard disk. If the BIOS supports the El-Torito Bootable CDRom stuff, that's another way to get your favorite linux distro on it -- especially if you can get the 16M flash to work as well. Nifty!!!
Yamaha YMF715 Stereo Speakers Doesn't say anything about the sound chip, though? Is it any good [or upgradable?]. I don't think that PLIP could get the bandwidth, but with USB ethernet, I could also plug this into my home network to play MP3's stored on my server!!
Here's a tie-in with the DVD case, though: How trivial could the encryption be to claim that it was "illegally" reverse-engineered under DMCA? If being XOR'd with "Hi mom" would qualify, how about being XOR'd with "". i.e. trivial (non-) encryption?
By that definition, any text is encrypted (most of it badly)
A Reference Model of how to block sites with substantially lower error rates than our commercial cousins.
For those [ahem] interested, a better way to find web porn.
And who wouldn't enjoy destroying the revenue of the censorware companies while we're at it?
The obvious caveat: To actually deploy this we'd have to write a Win32 version for the home PC's.
Given some of the creepy intel practices as seen on Face Intel I'd be really nervous about using it for much of anything -- they're already known to break into visitor cars and hire private investigators.
I've been thinking of this for some time, ever since it seems that every ISP out there broadcasts the region and state I'm in in the dialup IP address they give me. Seems to me that this creates a great opportunity to plant a few linux boxes in the West Indies (Anguila apparently, any place else) and sell IP tunneling and cleansing services to people with dialup and cable modem accounts.