Essentially, certain markers which should be present aren't. This can cause the machine to get confused, and nasty thinks can happen -- the laser might move futher than it should, for example, and this can cause all sorts of confusion for the OS.
I know someone who doesn't bother buying new cartridges. He just picks up a new printer each time and sells the old one off second hand. He saves about GBP5 a shot doing it that way.
Epson are the worst for this. They have some device on the cartridges which stops you from refilling them (to 'improve quality' apparently). The catch? Take a cartridge out before moving a printer, put it back in again, the printer refuses it.
This reminds me of a certain piece of software which won't work if you change your computer... Except you can't ring up Epson and get them to re-'certify' the ink...
I use f2s, which costs me GBP40ish a year including domain name. Logs (raw and Webalizer), CGI, MySQL database and so on. Extremely cheap, extremely reliable. I'd recommend them.
I did it once on some software which was supplied with a PC I bought. Note that this is in the UK, so we can get away with a few things that you USians, erm, Americans probably can't.
Basically it went like this:
Me: How much would you take off for not installing Windows 98?
Sales Droid: We always install Windows 98.
Me: I don't want Windows 98
(five minutes of this, you know the story)
I gave up eventually. The machine was underpriced anyway, even including the 'tax'. They'd already installed the OS, so there was no way I'd be able to get that off -- they'd clicked 'I Agree' for me, I suppose.
What I did get a discount for was all the nonsense that came with the computer. Basically, Office, some virus scanner and so on. I had to take it to the store manager, who told me he'd never heard of anyone not accepting the license agreement before, but eventually he refunded me for everything except the OS.
Why they wouldn't sell me the computer without the software to begin with, I don't know... Probably to reduce all the idiot calls they get from people who thing Windows is a 'Word Processor' (I'm not making this up, I've heard that one a few times).
So, anyway, it's worth a try, so long as you don't value your sanity too much.
Disclaimer: I do a lot of work with both Perl and Ruby, and I've just finished converting 50,000 lines of hacked Perl into 6000 lines of maintainable Ruby. I'm prejudiced.
It's not that the language uses shortcuts really. Sure, there's a $_ in there to keep the Perl people happy, but it's not often used. No, the reason Ruby is so fast to code is because the libraries are so good.
See, Perl has some nice little tricks like map and grep. In Ruby these are methods of the Array class. However, they're implemented in a module. Want to grep a hash? No problem. Want to map (collect) on your own custom build data structure? Just import the module into your class and there you go. One short line of code. That's modularity for you.
Sure, there are a few problems. The I/O stuff isn't half as modular as it should be, but that will change soon.
Basically, though, there aren't any of those kludges associated with other languages. Everything is nice, clean, pure, unlike Perl's 'most of the time it does this, except when it does this' attitude. It's that that is the real time saver.
Those of you who've seen the freenet code will most likely agree with me, that many of the freenet developers couldn't code their way out of a wet paper bag.
Yes, I ran "eleganceCheck" on the Freenet code and got 3.2, oh, sorry, there is no such thing. While I am clearly biased, the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.
The development team has worked hard to make life easier for third-party developers by creating the Freenet Client Protocol (FCP), a simple protocol which anyone can use to allow third-party applications to talk to the Freenet node. The only protocol that is as-yet undocumented is the protocol used by nodes to talk to each-other. Such documentation is only of use to people hoping to develop their own Freenet node. So far, only one person has seriously attempted to do this, Adam Langley, and lack of protocol documentation didn't stand in his way (the core developers were very forthcoming with the information he needed).
In-case you are thinking how unreasonable it is for us to create a reference implementation before we document the protocol, note that the only reason everyone uses the BSD reference implementation of the TCP stack is that the TCP specification isn't worth the paper it is written on!
You say documentation is a priority. But the actions and words of the freenet teams scream in my face until they are blue, that if I want documentation, then I can go and fuck myself.
This is an Open Source project, people are working on their own time. If you want something done that badly, then the onus is on you to do it yourself. Why didn't you start work on documentation of the FNP protocol? I am sure the core developers would have given you all of the information you need. Criticising others who are already devoting huge amounts of time to a project for not doing the stuff that you want is like criticising someone for not giving enough to a charity while giving none yourself.
If one isn't happy that the general attitude of the freenet developers is that the people who are creating tools for the network, and content for the network don't fucking matter, then one should go fuck ones self.
You really need to take a reality check. The Freenet core development team spend hours of each and every day, their own spare time, working on Freenet, not for themselves, but for its users, yet all you can do is bitch about the fact that they aren't working on the things that you think they should work on first.
That works quite well, but only at higher saturations. At lower saturations involving too many greys, the rule quite often fails. Having one high and one low saturation is also pretty good. The advantage of this is that it almost totally avoids the colour blindness problem if you stick to one hue.
The HSL colour space isn't a very good mapping, though. Things like CIE are better representations of how we really see things.
Automated colour scheme generation. Let's face it, most people (myself included) can't generate a decent colour scheme to save themselves. Having a program create scheme suggestions automatically is extremely useful (blatant plug: check my sig for my own attempt at doing this) for non-artists.
There are a load of tricks for generating colours which usually work well together; however, the hue rotations trick sometimes generates totally unreadable combinations (mainly with bright colours). Having an additional check would be extremely useful.
Anyway, it could be that you're good at graphics, in which case good for you. Just give the rest of us time to catch up:)
Actually, it's only UK33 per month if you don't get your phone from TeleWest (the people who run BlueYonder) as well. If you get phone from them, it's UK25 per month, plus (IIRC) UK9 for the phone (which is less than BT charge). Considering that gets you a pretty much fixed IP (so long as you don't turn off the cable modem) and no quotas, I reckon that's a fairly good deal.
So that you can make your own crap, here's the source. Feel free to modify, repost, spam, etc.
# Script to screw over the Slashcode 2.x Compression filter
# Because random data doesn't compress well, the compression filter mistakes it
# for English text. We also use roughly English distributions to add to the
# confusion. Only giveaway is the lack of proper punctuation, but Taco isn't
# smart enough to catch that.
# Roughly right for English text, all lowercase but who cares?
chars = %q[aaaaaaaabbcccddddeeeeeeeeeeeeffgghhhhhhiiiiiiik llll] +
%q[mmnnnnnnnoooooooopprrrrrrsssssstttttttttuuuvwwy y] +
(%q[ ] * 35) +
%q[...,,;!?]
# Start with this...
text = 'Confusius say: '
# Add some text...
(5000 + (rand 5000)).times {
text << chars[(rand chars.length), 1]
}
Adobe do not, however, make various patents which PDF uses / may use / can use (most of which aren't owned by Adobe anyway) freely available. Take LZW, for example. At the moment IBM are letting anyone use it, but Unisys have already started going after people who write compressors (the whole GIF thing). How long until they start suing anyone who writes a decompressor as well?
PDF may well be a documented standard, but there are still problems implementing it. Remember the 'no restrictive patents' clause in the GPL?
Sure, PDF is better than Word, but it still isn't ideal.
You're thinking of RSA, maybe? Think again. RSA and variations are extremely vulnerable to chosen plaintext attacks. Unless you're sure no-one can get between you and Surepay, don't use any of the public key algorithms on their own. You can't really mix them with other systems (DES, IDEA, whatever), because you still have the same problem.
Check the references in/Applied Cryptography/, several explain how to do this.
Granted, it's still a several-million-dollar task, but how much is a credit card list worth?
Essentially, certain markers which should be present aren't. This can cause the machine to get confused, and nasty thinks can happen -- the laser might move futher than it should, for example, and this can cause all sorts of confusion for the OS.
If you want details, Google is your friend.
It won't help everywhere, but some places look upon work on decent open source projects as useful experience.
Jerk. Please watch me waste karma by telling you you're an asshole.
You're an asshole.
Thankyou. Now go back to class, your teacher is waiting.
I know someone who doesn't bother buying new cartridges. He just picks up a new printer each time and sells the old one off second hand. He saves about GBP5 a shot doing it that way.
Epson are the worst for this. They have some device on the cartridges which stops you from refilling them (to 'improve quality' apparently). The catch? Take a cartridge out before moving a printer, put it back in again, the printer refuses it.
This reminds me of a certain piece of software which won't work if you change your computer... Except you can't ring up Epson and get them to re-'certify' the ink...
I use f2s, which costs me GBP40ish a year including domain name. Logs (raw and Webalizer), CGI, MySQL database and so on. Extremely cheap, extremely reliable. I'd recommend them.
:)
Protect-my-ass-disclaimer: YMMV, of course
Go away. Your UID is too low to be allowed to make that kind of comment. Welcome to my foes list.
(Posting anonymously to preserve my precious karma)
I did it once on some software which was supplied with a PC I bought. Note that this is in the UK, so we can get away with a few things that you USians, erm, Americans probably can't.
Basically it went like this:
Me: How much would you take off for not installing Windows 98?
Sales Droid: We always install Windows 98.
Me: I don't want Windows 98
(five minutes of this, you know the story)
I gave up eventually. The machine was underpriced anyway, even including the 'tax'. They'd already installed the OS, so there was no way I'd be able to get that off -- they'd clicked 'I Agree' for me, I suppose.
What I did get a discount for was all the nonsense that came with the computer. Basically, Office, some virus scanner and so on. I had to take it to the store manager, who told me he'd never heard of anyone not accepting the license agreement before, but eventually he refunded me for everything except the OS.
Why they wouldn't sell me the computer without the software to begin with, I don't know... Probably to reduce all the idiot calls they get from people who thing Windows is a 'Word Processor' (I'm not making this up, I've heard that one a few times).
So, anyway, it's worth a try, so long as you don't value your sanity too much.
Documentation: the book (Ruby's answer to the Camel) is available online. That's all the documentation you need. It's all there.
Disclaimer: I do a lot of work with both Perl and Ruby, and I've just finished converting 50,000 lines of hacked Perl into 6000 lines of maintainable Ruby. I'm prejudiced.
It's not that the language uses shortcuts really. Sure, there's a $_ in there to keep the Perl people happy, but it's not often used. No, the reason Ruby is so fast to code is because the libraries are so good.
See, Perl has some nice little tricks like map and grep. In Ruby these are methods of the Array class. However, they're implemented in a module. Want to grep a hash? No problem. Want to map (collect) on your own custom build data structure? Just import the module into your class and there you go. One short line of code. That's modularity for you.
Sure, there are a few problems. The I/O stuff isn't half as modular as it should be, but that will change soon.
Basically, though, there aren't any of those kludges associated with other languages. Everything is nice, clean, pure, unlike Perl's 'most of the time it does this, except when it does this' attitude. It's that that is the real time saver.
- Disguise the length of a message
- Hide the fact that a message has been sent
Both are very important.Hey, now that I have broadband, it means my connection is fast enough to get FIRST POST!
Some of us have enough karma and spare accounts that the occasional hit doesn't matter.
Yes, I ran "eleganceCheck" on the Freenet code and got 3.2, oh, sorry, there is no such thing. While I am clearly biased, the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.
The development team has worked hard to make life easier for third-party developers by creating the Freenet Client Protocol (FCP), a simple protocol which anyone can use to allow third-party applications to talk to the Freenet node. The only protocol that is as-yet undocumented is the protocol used by nodes to talk to each-other. Such documentation is only of use to people hoping to develop their own Freenet node. So far, only one person has seriously attempted to do this, Adam Langley, and lack of protocol documentation didn't stand in his way (the core developers were very forthcoming with the information he needed).
In-case you are thinking how unreasonable it is for us to create a reference implementation before we document the protocol, note that the only reason everyone uses the BSD reference implementation of the TCP stack is that the TCP specification isn't worth the paper it is written on!
This is an Open Source project, people are working on their own time. If you want something done that badly, then the onus is on you to do it yourself. Why didn't you start work on documentation of the FNP protocol? I am sure the core developers would have given you all of the information you need. Criticising others who are already devoting huge amounts of time to a project for not doing the stuff that you want is like criticising someone for not giving enough to a charity while giving none yourself.
If one isn't happy that the general attitude of the freenet developers is that the people who are creating tools for the network, and content for the network don't fucking matter, then one should go fuck ones self.
You really need to take a reality check. The Freenet core development team spend hours of each and every day, their own spare time, working on Freenet, not for themselves, but for its users, yet all you can do is bitch about the fact that they aren't working on the things that you think they should work on first.
Whilst we're on the karma-whoring links...
This is an excellent introduction to colours on computers, complete with (working) algorithms for conversion.
Along the same lines, does anyone know where root@255.255.255.255 would go to?
That works quite well, but only at higher saturations. At lower saturations involving too many greys, the rule quite often fails. Having one high and one low saturation is also pretty good. The advantage of this is that it almost totally avoids the colour blindness problem if you stick to one hue.
The HSL colour space isn't a very good mapping, though. Things like CIE are better representations of how we really see things.
Automated colour scheme generation. Let's face it, most people (myself included) can't generate a decent colour scheme to save themselves. Having a program create scheme suggestions automatically is extremely useful (blatant plug: check my sig for my own attempt at doing this) for non-artists.
:)
There are a load of tricks for generating colours which usually work well together; however, the hue rotations trick sometimes generates totally unreadable combinations (mainly with bright colours). Having an additional check would be extremely useful.
Anyway, it could be that you're good at graphics, in which case good for you. Just give the rest of us time to catch up
I tend to go for postmaster@localhost, or, failing that, postmaster@127.0.0.1. You can also try other names -- root and webmaster are also good fun.
Bonus points for spotting the All Your Base sign :)
Actually, it's only UK33 per month if you don't get your phone from TeleWest (the people who run BlueYonder) as well. If you get phone from them, it's UK25 per month, plus (IIRC) UK9 for the phone (which is less than BT charge). Considering that gets you a pretty much fixed IP (so long as you don't turn off the cable modem) and no quotas, I reckon that's a fairly good deal.
So that you can make your own crap, here's the source. Feel free to modify, repost, spam, etc.
k llll] +
y y] +
# Script to screw over the Slashcode 2.x Compression filter
# Because random data doesn't compress well, the compression filter mistakes it
# for English text. We also use roughly English distributions to add to the
# confusion. Only giveaway is the lack of proper punctuation, but Taco isn't
# smart enough to catch that.
# Roughly right for English text, all lowercase but who cares?
chars = %q[aaaaaaaabbcccddddeeeeeeeeeeeeffgghhhhhhiiiiiii
%q[mmnnnnnnnoooooooopprrrrrrsssssstttttttttuuuvww
(%q[ ] * 35) +
%q[...,,;!?]
# Start with this...
text = 'Confusius say: '
# Add some text...
(5000 + (rand 5000)).times {
text << chars[(rand chars.length), 1]
}
# Print it out
print text
Adobe do not, however, make various patents which PDF uses / may use / can use (most of which aren't owned by Adobe anyway) freely available. Take LZW, for example. At the moment IBM are letting anyone use it, but Unisys have already started going after people who write compressors (the whole GIF thing). How long until they start suing anyone who writes a decompressor as well?
PDF may well be a documented standard, but there are still problems implementing it. Remember the 'no restrictive patents' clause in the GPL?
Sure, PDF is better than Word, but it still isn't ideal.
Check the references in /Applied Cryptography/, several explain how to do this.
Granted, it's still a several-million-dollar task, but how much is a credit card list worth?
Can it go the other way, as the dual headed arrows suggest?
Google also allows this. Go to http://www.google.com/advanced_search and look near the bottom of the page.