Remember, you can always take an existing patent, and patent all obvious variants, and probably cover a few pre-existing ones.
Although I doubt it'd be enforceable, I'm sure a company could come along, extend the existing chair patents, slap some businesses with lawsuits, and make some money.
Like it or not, with the patent office in the sorry state that it's in, and the DMCA becoming the law of the land, this sort of ridiculous tripe is becoming a viable business model.
I hope we can still laugh about this sort of thing in a few years, instead of having to buy 20-seat licenses for our chairs... --- pb Reply or e-mail; don't vaguely moderate.
I found the site to be clean, legible, and a pleasure to read, things that I've never accused Slashcode of being. It's like comparing the layout of Google to Yahoo: it's so much cleaner that you wonder why you go to that other site in the first place.
If it's a Slashcode rip-off, then I hope they eventually provide source, but that might be asking too much... I bet Slashdot *still* looks like a black page in older browsers, too... --- pb Reply or e-mail; don't vaguely moderate.
Hey now, I wouldn't say that just yet. It's probably harder than installing RedHat 7 on a 486, (boot disk doesn't support it by default) but if this guy thinks it's doable, then I might have to get a TI-92+.:) --- pb Reply or e-mail; don't vaguely moderate.
But the crazy part is, they actually did this for (price/)performance reasons! If you compare the die size to the functionality, it's quite impressive. Apple spent a lot of time rewriting 68k code into native code instead of just tuning their 68k emulator to do it for them.;)
In a sense, they are moving the microcode into software, similar to how RISC architectures simplified hardware instruction decoding already.
You're right, FX!32 did sound like an similar (brilliant) idea as well, but I didn't hear nearly enough about that, even at the time. (and Microsoft still dropped NT on Alpha, and Linux is native on the Alpha...)
I'm sure Intel does have some good engineers, too; and many of them are probably pissed off, or working for someone else... Intel doesn't have the best track record for working with their employees--in fact, I have yet to hear something good about them in this respect.....
I am a big fan of x86 assembler, though. Intel was in the right place at the right time, they made something cheap that the market adopted, and they implemented all the real functionality starting with the 386. It's really another Microsoft success story. But I like programming in CISC-style assembler better, even though x86 doesn't have (pre/post) increment/decrement built-in as a memory addressing mode... --- pb Reply or e-mail; don't vaguely moderate.
IMHO, Transmeta has come up with one of the coolest ideas in computer history: they're making a platform designed for dynamic recompilation. If it gets buried, I'll be sad. --- pb Reply or e-mail; don't vaguely moderate.
Hey, this was just an example; I didn't intend for it to be a *serious* example. The memory I wanted to test was allocated by no one, or possibly malloc(); I just wanted to see how it worked, and hope that I'll never have to use a trick like that, because it is dangerous... which was my point.
So, of course you can have a pointer handed to you that wasn't directly from malloc(); I'm sure the function in question would have to have that in huge letters on the documentation, somewhat like fgets().;)
I'll have to lurk in trolltalk some more; I haven't posted there in a while. How time flies; I started the one on kuro5hin, and that's already dead...
And yes, I've obviously been karma capped for way too long; it's at 252 now, from 350 originally... But who cares, right? --- pb Reply or e-mail; don't vaguely moderate.
I like realloc() a lot; I wrote a replacement for fgets() that uses it, and allocates memory dynamically.
But what if you want to know how large a memory structure is, and don't want to truncate it? It can happen. --- pb Reply or e-mail; don't vaguely moderate.
Hey, I'm not advocating this approach. You'll never see code like this in a portable program. I'm just explaining the dangers of tinkering under the hood; maybe I wasn't really clear on that.
This stuff *does* change from one version of libc to the next, and I've *seen* demons get created from code like this! (didn't I say it was unspecified?) That's why I wish there was a function call that did this for me, in the C library. (there's sizeof(), but that doesn't work!:)
And yes, as many have pointed out, what you can also do is pass a region of memory, and the size that you think it is. That's all fine and dandy until (a) someone lies to you or (b) all you have is a pointer to some unknown amount of memory. It's easy to do, and it will happen to you someday.
Also, I stopped posting on USENET once it started getting spammed to hell and back, although I'm sure those groups are still moderated. I used to post to comp.lang.pascal.misc, until about when they reorganized the whole thing and created all the stupid delphi groups. But maybe I'll check it all out again sometime, since Slashdot sucks so much.:) --- pb Reply or e-mail; don't vaguely moderate.
First, I wasn't really trying for a troll, but I appreciate the sentiment. Second, I'm sorry you got modded down; moderators aren't very clueful when it comes to rating anonymous posts. Or maybe informational content is considered Trolling on Slashdot, these days.
Third, I thought I was clear on this: I wasn't talking about the kernel. I was talking about the dangers of breaking an implementation by working around the interface, something that can easily happen when the programmer in question knows too much about implementation-specific details. This is a trap that yospelld not standardized. This is an example of something that I would have liked to see standardized, and something that a programmer might end up having to work around.
I do like your malloc() wrappers; those could potentially be pretty handy. But I can't necessarily expect all memory allocated in a program and passed to a function to use those.
Oh, and I wouldn't call your moderator "an cueless asshole", just in case they still have some mod points, and happen to be a spelling nazi as well.;)
Well, first, this is just an example; I've tested this out before to see if I could do it, and to see how it would be implemented. I also wish this was standardized into the language already, because I can see how useful it would be. (it would make implementing something like vectors in C trivial)
But yes, the best theoretical use for something like this would be for memory coming from outside your program, or into your function when you do not already have knowledge about it. I know that C can do it, because functions like realloc() make use of this information; I just wish I could as a programmer. --- pb Reply or e-mail; don't vaguely moderate.
Once you start tinkering under the hood, there's no turning back. There are a few things that I'd love to be able to do in C, but the way to do it isn't standard across platforms or compilers. I can figure it out, but I'd have to test it on *everything*, or only support a few platforms where I know enough about the internals.
For example: let's say you have a function that gets passed a region of malloc()'ed memory. You want to know exactly how much memory you have to play with. That number is stored somewhere before the beginning of that pointer. malloc() allocates a little extra memory, writes some status info at the beginning, sticks the pointer in front of that, and returns the address to you. However, exactly where and what it writes are somewhat unspecified.
I'd love to have a function in C that did this for me, but alas, there isn't one. So what I have to do is seek back through before the pointer, hope everything is allocated, and look for something like status info. I've done this on Solaris and Linux, and they don't do it the same way.:)
I think stuff like this is fascinating, but using internal knowledge to write your programs can be dangerous; it must be done carefully to avoid breakage. --- pb Reply or e-mail; don't vaguely moderate.
I think that's a valid gripe; unfortunately, it seems that moderators never read anything below +2 these days... *hint* *hint*
I don't understand why they don't make sure that teachers can teach before they let them loose on a real class. I've got a teacher right now who told us all that he's taking speech therapy classes right now--and he is impossible to understand. Fortunately, this is an online course, but forget about going to the Q&A sessions... --- pb Reply or e-mail; don't vaguely moderate.
My best teachers always challenged me, and made the challenges either fun, or interesting.
I had a teacher for Assembler who, for the last project, told us that he was going to grade it only on (a) if it works correctly (80 points) and (b) our count of instructions executed relative to the rest of the class (20 points). Also, there was a 25-point bonus (or really an automatic 125) for writing a program faster than his program.
I managed to beat him by an instruction or two, but it wasn't easy! I ended up working far harder than I should have for that extra 25 points, but it was definitely worth it.
The challenge was this: given four numeric characters of input that are not all the same, (1122 is valid; 1111 isn't)
1. Sort the number from greatest to least
2. Print the result
3. Subtract from this the same number sorted from least to greatest.
4. Loop; terminate when two successive results are equal.
It was well worth the time spent. Hint: the final program was well under 100 x86 instructions to implement; the early implementations were well over 500, though!:) --- pb Reply or e-mail; don't vaguely moderate.
Since we're talking about an actual debt here, and not just a "debt to society", the people in question should make a good-faith effort to pay that debt. Then they can start building credit.
I mean, really, what happens when you steal money normally? Of course we're not going to give you more money to steal if we can absolutely help it! --- pb Reply or e-mail; don't vaguely moderate.
So you're describing a dysfunctional organization of disconnected entities that claim no responsibility for the system as a whole, and make no sense together...
...much like the latest Katz article. Is this deconstructionism? Katz, are you getting literate on us?:)
Seriously, though, I'm not surprised; this is the logical extension of bureaucracy and outsourcing, two horrible recent trends. Not only does everyone give you the runaround, but since they're all independent companies, they all claim no responsibility for their actions, and give you no customer service.
In fact, it sounds like there should be a niche market for people who know what the procedure is here, and help you cut through red tape for a fee. That would help a lot more than, say, home equity loans... --- pb Reply or e-mail; don't vaguely moderate.
No way, I'm busy reading Dilbert! I can't talk to my boss, I have work to get done first... Besides, it's better to ask for forgiveness later than to ask for permission now, right?
And, to round it all off, some quotes from my favorite movie; just think "manager" instead of "guidance counselor". Apologies in advance to any clueful managers out there; you're an incredibly tiny, underappreciated minority.
"my true pure refined hatred is reserved for guidance counselors."
"Guidance councelors! If they knew anything about career moves would they have ended up as guidance counselors?"
"I say down with all guidance counselors, make them work for a living."
-- Pump Up The Volume --- pb Reply or e-mail; don't vaguely moderate.
No it doesn't; that's why you have the compiler insert back doors in code. I believe Ken Thompson wrote a paper on it, and some aspiring Karma Whore with more enthusiasm than I will surely dredge it up and point to it.:)
Yes, this is a good thing; backdoors should be eliminated from commercial products. I don't want anyone sneaking into my database. Although Borland might not be too happy about this...:) --- pb Reply or e-mail; don't vaguely moderate.
So your argument is that they just don't care about their customers?
I believe that; that's why I stopped using their stuff whenever possible, somewhere between DOS 6.0 and Windows '95. (I hated Win 3.1, but at least I understood it, and could tweak all the config files; Win '95 was when they really started trying to bolt the hood down)
So I guess if they keep up with that attitude, they won't win on merit...:) --- pb Reply or e-mail; don't vaguely moderate.
Well, if it gets the job done faster, then it's better, right?:)
Seriously, I'll tell you after I finish either my Realtime course or my Project course; both of them might do something with APM on Linux.
But usually I'd only really worry about power management on laptops, not on servers. Also, Linux generally blanks the screen after 15 min or so, which does a lot more for a laptop than most other power-saving means. You can also have it spin down your hard drive, and even use the APM features in your BIOS...
And remember, screensavers eat cycles like nobody's business; disable them on either platform, and just blank your screen. Or use a more efficient platform, like the ARM. Or shut your computer down when you aren't using it... --- pb Reply or e-mail; don't vaguely moderate.
First they Ignore you.
Then they laugh at you.
Then they fight you.
Then you get bought by AOL.
Then they laugh at you. --- pb Reply or e-mail; don't vaguely moderate.
In theory, you're correct, but in practice, it happens all the time, and not just in Software. That's what frightens me.
(Yeah, right, "Entertaining a Cat with a Laser Pointer" is a novel idea... need I say more?)
---
pb Reply or e-mail; don't vaguely moderate.
Remember, you can always take an existing patent, and patent all obvious variants, and probably cover a few pre-existing ones.
Although I doubt it'd be enforceable, I'm sure a company could come along, extend the existing chair patents, slap some businesses with lawsuits, and make some money.
Like it or not, with the patent office in the sorry state that it's in, and the DMCA becoming the law of the land, this sort of ridiculous tripe is becoming a viable business model.
I hope we can still laugh about this sort of thing in a few years, instead of having to buy 20-seat licenses for our chairs...
---
pb Reply or e-mail; don't vaguely moderate.
I found the site to be clean, legible, and a pleasure to read, things that I've never accused Slashcode of being. It's like comparing the layout of Google to Yahoo: it's so much cleaner that you wonder why you go to that other site in the first place.
If it's a Slashcode rip-off, then I hope they eventually provide source, but that might be asking too much... I bet Slashdot *still* looks like a black page in older browsers, too...
---
pb Reply or e-mail; don't vaguely moderate.
Hey now, I wouldn't say that just yet. It's probably harder than installing RedHat 7 on a 486, (boot disk doesn't support it by default) but if this guy thinks it's doable, then I might have to get a TI-92+. :)
---
pb Reply or e-mail; don't vaguely moderate.
Yeah! Kung-fu ninjas with hot syrupy pancakes rule!!!
It's night-time, when the trolls lurk, so I say let them eat grits!
---
pb Reply or e-mail; don't vaguely moderate.
Clones are people, two!
---
pb Reply or e-mail; don't vaguely moderate.
But the crazy part is, they actually did this for (price/)performance reasons! If you compare the die size to the functionality, it's quite impressive. Apple spent a lot of time rewriting 68k code into native code instead of just tuning their 68k emulator to do it for them. ;)
In a sense, they are moving the microcode into software, similar to how RISC architectures simplified hardware instruction decoding already.
You're right, FX!32 did sound like an similar (brilliant) idea as well, but I didn't hear nearly enough about that, even at the time. (and Microsoft still dropped NT on Alpha, and Linux is native on the Alpha...)
I'm sure Intel does have some good engineers, too; and many of them are probably pissed off, or working for someone else... Intel doesn't have the best track record for working with their employees--in fact, I have yet to hear something good about them in this respect.....
I am a big fan of x86 assembler, though. Intel was in the right place at the right time, they made something cheap that the market adopted, and they implemented all the real functionality starting with the 386. It's really another Microsoft success story. But I like programming in CISC-style assembler better, even though x86 doesn't have (pre/post) increment/decrement built-in as a memory addressing mode...
---
pb Reply or e-mail; don't vaguely moderate.
I don't care as long as the technology gets used.
IMHO, Transmeta has come up with one of the coolest ideas in computer history: they're making a platform designed for dynamic recompilation. If it gets buried, I'll be sad.
---
pb Reply or e-mail; don't vaguely moderate.
Hey, this was just an example; I didn't intend for it to be a *serious* example. The memory I wanted to test was allocated by no one, or possibly malloc(); I just wanted to see how it worked, and hope that I'll never have to use a trick like that, because it is dangerous... which was my point.
;)
So, of course you can have a pointer handed to you that wasn't directly from malloc(); I'm sure the function in question would have to have that in huge letters on the documentation, somewhat like fgets().
I'll have to lurk in trolltalk some more; I haven't posted there in a while. How time flies; I started the one on kuro5hin, and that's already dead...
And yes, I've obviously been karma capped for way too long; it's at 252 now, from 350 originally... But who cares, right?
---
pb Reply or e-mail; don't vaguely moderate.
Hey, thanks; that's really cool!
:)
If I ever need it, I'll try implementing it for different C libraries on different platforms.
---
pb Reply or e-mail; don't vaguely moderate.
I like realloc() a lot; I wrote a replacement for fgets() that uses it, and allocates memory dynamically.
But what if you want to know how large a memory structure is, and don't want to truncate it? It can happen.
---
pb Reply or e-mail; don't vaguely moderate.
Hey, I'm not advocating this approach. You'll never see code like this in a portable program. I'm just explaining the dangers of tinkering under the hood; maybe I wasn't really clear on that.
:)
:)
This stuff *does* change from one version of libc to the next, and I've *seen* demons get created from code like this! (didn't I say it was unspecified?) That's why I wish there was a function call that did this for me, in the C library. (there's sizeof(), but that doesn't work!
And yes, as many have pointed out, what you can also do is pass a region of memory, and the size that you think it is. That's all fine and dandy until (a) someone lies to you or (b) all you have is a pointer to some unknown amount of memory. It's easy to do, and it will happen to you someday.
Also, I stopped posting on USENET once it started getting spammed to hell and back, although I'm sure those groups are still moderated. I used to post to comp.lang.pascal.misc, until about when they reorganized the whole thing and created all the stupid delphi groups. But maybe I'll check it all out again sometime, since Slashdot sucks so much.
---
pb Reply or e-mail; don't vaguely moderate.
First, I wasn't really trying for a troll, but I appreciate the sentiment. Second, I'm sorry you got modded down; moderators aren't very clueful when it comes to rating anonymous posts. Or maybe informational content is considered Trolling on Slashdot, these days.
;)
Third, I thought I was clear on this: I wasn't talking about the kernel. I was talking about the dangers of breaking an implementation by working around the interface, something that can easily happen when the programmer in question knows too much about implementation-specific details. This is a trap that yospelld not standardized. This is an example of something that I would have liked to see standardized, and something that a programmer might end up having to work around.
I do like your malloc() wrappers; those could potentially be pretty handy. But I can't necessarily expect all memory allocated in a program and passed to a function to use those.
Oh, and I wouldn't call your moderator "an cueless asshole", just in case they still have some mod points, and happen to be a spelling nazi as well.
Cheers,
Peter
---
pb Reply or e-mail; don't vaguely moderate.
Well, first, this is just an example; I've tested this out before to see if I could do it, and to see how it would be implemented. I also wish this was standardized into the language already, because I can see how useful it would be. (it would make implementing something like vectors in C trivial)
But yes, the best theoretical use for something like this would be for memory coming from outside your program, or into your function when you do not already have knowledge about it. I know that C can do it, because functions like realloc() make use of this information; I just wish I could as a programmer.
---
pb Reply or e-mail; don't vaguely moderate.
Once you start tinkering under the hood, there's no turning back. There are a few things that I'd love to be able to do in C, but the way to do it isn't standard across platforms or compilers. I can figure it out, but I'd have to test it on *everything*, or only support a few platforms where I know enough about the internals.
:)
For example: let's say you have a function that gets passed a region of malloc()'ed memory. You want to know exactly how much memory you have to play with. That number is stored somewhere before the beginning of that pointer. malloc() allocates a little extra memory, writes some status info at the beginning, sticks the pointer in front of that, and returns the address to you. However, exactly where and what it writes are somewhat unspecified.
I'd love to have a function in C that did this for me, but alas, there isn't one. So what I have to do is seek back through before the pointer, hope everything is allocated, and look for something like status info. I've done this on Solaris and Linux, and they don't do it the same way.
I think stuff like this is fascinating, but using internal knowledge to write your programs can be dangerous; it must be done carefully to avoid breakage.
---
pb Reply or e-mail; don't vaguely moderate.
I think that's a valid gripe; unfortunately, it seems that moderators never read anything below +2 these days... *hint* *hint*
I don't understand why they don't make sure that teachers can teach before they let them loose on a real class. I've got a teacher right now who told us all that he's taking speech therapy classes right now--and he is impossible to understand. Fortunately, this is an online course, but forget about going to the Q&A sessions...
---
pb Reply or e-mail; don't vaguely moderate.
My best teachers always challenged me, and made the challenges either fun, or interesting.
:)
I had a teacher for Assembler who, for the last project, told us that he was going to grade it only on (a) if it works correctly (80 points) and (b) our count of instructions executed relative to the rest of the class (20 points). Also, there was a 25-point bonus (or really an automatic 125) for writing a program faster than his program.
I managed to beat him by an instruction or two, but it wasn't easy! I ended up working far harder than I should have for that extra 25 points, but it was definitely worth it.
The challenge was this: given four numeric characters of input that are not all the same, (1122 is valid; 1111 isn't)
1. Sort the number from greatest to least
2. Print the result
3. Subtract from this the same number sorted from least to greatest.
4. Loop; terminate when two successive results are equal.
Example: 4377
Sort,Print:7743
Subtract:7743-3477=4266
Loop:Sort,Print:6642
...etc.
It was well worth the time spent. Hint: the final program was well under 100 x86 instructions to implement; the early implementations were well over 500, though!
---
pb Reply or e-mail; don't vaguely moderate.
USENET is flooded with lusers and spam.
;)
Now, anyone want to wager a guess as to what the problem with Slashdot is?
---
pb Reply or e-mail; don't vaguely moderate.
It's called filing for bankruptcy.
Since we're talking about an actual debt here, and not just a "debt to society", the people in question should make a good-faith effort to pay that debt. Then they can start building credit.
I mean, really, what happens when you steal money normally? Of course we're not going to give you more money to steal if we can absolutely help it!
---
pb Reply or e-mail; don't vaguely moderate.
So you're describing a dysfunctional organization of disconnected entities that claim no responsibility for the system as a whole, and make no sense together...
:)
...much like the latest Katz article. Is this deconstructionism? Katz, are you getting literate on us?
Seriously, though, I'm not surprised; this is the logical extension of bureaucracy and outsourcing, two horrible recent trends. Not only does everyone give you the runaround, but since they're all independent companies, they all claim no responsibility for their actions, and give you no customer service.
In fact, it sounds like there should be a niche market for people who know what the procedure is here, and help you cut through red tape for a fee. That would help a lot more than, say, home equity loans...
---
pb Reply or e-mail; don't vaguely moderate.
No way, I'm busy reading Dilbert! I can't talk to my boss, I have work to get done first... Besides, it's better to ask for forgiveness later than to ask for permission now, right?
And, to round it all off, some quotes from my favorite movie; just think "manager" instead of "guidance counselor". Apologies in advance to any clueful managers out there; you're an incredibly tiny, underappreciated minority.
"my true pure refined hatred is reserved for guidance counselors."
"Guidance councelors! If they knew anything about career moves would they have ended up as guidance counselors?"
"I say down with all guidance counselors, make them work for a living."
-- Pump Up The Volume
---
pb Reply or e-mail; don't vaguely moderate.
No it doesn't; that's why you have the compiler insert back doors in code. I believe Ken Thompson wrote a paper on it, and some aspiring Karma Whore with more enthusiasm than I will surely dredge it up and point to it. :)
:)
Yes, this is a good thing; backdoors should be eliminated from commercial products. I don't want anyone sneaking into my database. Although Borland might not be too happy about this...
---
pb Reply or e-mail; don't vaguely moderate.
So your argument is that they just don't care about their customers?
:)
I believe that; that's why I stopped using their stuff whenever possible, somewhere between DOS 6.0 and Windows '95. (I hated Win 3.1, but at least I understood it, and could tweak all the config files; Win '95 was when they really started trying to bolt the hood down)
So I guess if they keep up with that attitude, they won't win on merit...
---
pb Reply or e-mail; don't vaguely moderate.
Well, if it gets the job done faster, then it's better, right? :)
Seriously, I'll tell you after I finish either my Realtime course or my Project course; both of them might do something with APM on Linux.
But usually I'd only really worry about power management on laptops, not on servers. Also, Linux generally blanks the screen after 15 min or so, which does a lot more for a laptop than most other power-saving means. You can also have it spin down your hard drive, and even use the APM features in your BIOS...
And remember, screensavers eat cycles like nobody's business; disable them on either platform, and just blank your screen. Or use a more efficient platform, like the ARM. Or shut your computer down when you aren't using it...
---
pb Reply or e-mail; don't vaguely moderate.
Um.
First they Ignore you.
Then they laugh at you.
Then they fight you.
Then you get bought by AOL.
Then they laugh at you.
---
pb Reply or e-mail; don't vaguely moderate.