Thanks. I was going to make that point. Now I'm redundant...
Actually, I'll take this opportunity to give props to sputnik. I think this is the first viable open source business model I've seen. They also have a semi-effective lock-in scheme:
(for those too lazy to read about it, sputnik give away their open-source wireless-reseller-in-a-box to anyone who wants to make a few bucks from their wireless bandwidth. They also give away the authenticating client software. So to use your bandwidth I need their snazzed up DHCP client on my laptop. The payment aspect comes in because I have to buy airtime credits from Sputnik, who then tell the reseller that it's ok to let me use their bandwidth.)
You get a bit of lock-in, because both the bandwidth provider and the client need to use the same billing agent. I can of course potentially have several clients (or redesign the client to talk to several billing agents). This gets really interesting when you mix the ability to do real-time bidding when I have overlapping bandwidth providers. Also interesting is the mobile aspect of it: transparently jumping networks.
Does anyone have a link to a non-WM specific FvwmIconBox replacement? I have sawfish at home, and Merlins hacks are... well, hacks. I'd like something a little prettier, w/o having to use the panel. I try to avoid gnome as far as possible.
Just to make sure everyone reads that the same way: I'd like a list of windows, up in the corner of the screen (growing down), of all windows on the current desktop -- iconized and not -- from which I can (de)iconize them. Kinda like the panel, but using much less real estate -- in total, and per window.
There was/is a framework out on sourceforge for writing those panel/iconbox stype apps, but google searches found exactly zero programs that claimed to use it. what was it called? Plip? Plop? Flack? Something like that.
tihi! A link from the doom9 thread lead to this wonderful quote:
"I'm extremely surprised that an intellect like Lawrence Lessig would be sucked in by the morons on Slashdot and its ilk," writes Len Kawell, director of e-book development for Adobe Systems (ADBE), in an e-mail.
When you choose a language it shouldn't be for the operational properties of a language. How many people do you think need the speed benefits of C enough to pay the price for using it? About one in a gazzilion.
The wise programmer chooses a language for it's denotational properties. Such as: how straight forward is it to solve my problem in this language? Does the language provide me with early predicitions as to where the problems with my code are going to be? Does the language have constructs that directly capture the ideas you want to work with?
So you see, having several languages implemented for one back end, so that I can write my lexing routines in PERL, write my AST construction routines in Java, and my compiler in Scheme, ammounts basically to choosing the right tool for the job.
But on the other hand, IIRC, the NSA also "requested" that the key length be reduced from 64 to 56 bits.
The reason being that their budget could allow them to bruteforce such a key if they really wanted to, while it took until just a few years ago for that to be feasible for a well funded public entity, and until last year for this to be affordable to Joe Public (affordable = ~ US$2K for a machine to do it in about a day)
Interesting. I would have thought the smaller the drive the more able it was to withstand acceleration (what with the mass shrinking as the cube, but torsional strenght as the square, of the feature size).
1) the lifetime of objects is a GC issue. Generational collectors deal very well with short lived objects. Which GC scheme a VM uses is an [important] impl issue, not language design.
2) The tailcall is critical for pretty much all functional languages. However, the stack inspection used by Java's security model interacts poorly with tailcail optimization. NET apparently uses a similar scheme. There are ways around it, but they are system wide.
They (microsoft research) have Simon peyton jones. Trust him to know how to handle this. BTW: if you are interested in program transformation, read this paper. It is truly one of the 10 eye-opening papers of my academic carreer.
Author: Simon L Peyton Jones and John Launchbury
Title: "Unboxed values as first class citizens in a non-strict functional language"
Pubn: Proc. 1991 Conf. on Functional Programming Languages and Computer Architecture, Cambridge Mass., Sept 1991.
The build I use (1.0.2) hates https connections, so I have to fire up an [ancient] communicator to talk to my bank, but appart from that one caveat, galeon is fast, lean, tabbed (love it, thought I would hate it), and pretty.
Credit where due, galeon uses the mozilla rendering engine, so any working install of galeon gets you mozilla for free, but w/o all that outlookalike stuff.
when is it worthwhile to trade off cpu for storage? In your case, I suspect that the website has a degree of redundancy in its 7 gigs of data; there is likely much duplication. Both at the page level (duplicated ccs info), and at the snippet level (duplicated copyright disclaimers).
It is quite straight forward to discover this sharing (IIRC exactly how lzw compression works, but w/ a smaller window) and significantly cut down your storage costs. Of course, now you have a CPU hit, where storing new data becomes expensive, and just reading the data requires some pointer chasing.
The interesting issue is that the CPU hit isn't guaranteed to be a Bad Thing: your higher cache hit rate (indeed, your data may fit in ram entirely now) will possibly (likely?) result in significant speedups.
raytracing (which I think is what maya does) is one of those trivially parallelizable tasks -- the data set is so much smaller than the computation, and the inter-cpu communication is trivial. You don't need a cluster for these, and in fact many raytracers do ship with renderfarm software to use spare cycles. This sort of thing is trival enough that I wrote a java version for a 3 credit graphics course over a weekend, just so I could play with my renderer faster.
Photoshop filters are less obvious, both because schlepping bitmaps is expensive, and the ammount of communication needed is hard to predict in general (although the com. patterns may be easier, I suspect). I wonder if many such filters wouldn't be at the other end of the spectrum, requiring too much communication per computation to be feasible even over a fast network.
I saw these guys DALEK open for Lovage a couple 'a days ago. The DJ was making some mad super low frequency noise by basically pressing the needle to the disc, and vibrating it with his hand from side to side. They must have upshifted it in the sound processor or something, because it was more like 30 hz than 3, and _I_ can't make my hand vibrate much faster than that.
It matters alot which OS the system uses. There are three important factors in scratching: latency, latency, and... (wait for it)... latency.
Older Macs may have been good at this because they weren't preemtively scheduled, so the scratching app could grab control and never let go. Not the best way to make friends, but it does keep latency down.
On the "real" OS side (no, a non preemptively scheduled, non protected OS is not a real OS, which apple understood, and which is why they spent so much time and effort to finally get one) BeOS was the only OS with any decent latency. Understandable; it was designed from the ground up to do this sort of thing w/o breaking a sweat. NB: QNX is realtime, which doesn't guarantee low latency, but rather "merely" guarantees that bounds exist, not that the bounds are low.
You gotta figure, when you're mixing 180 bpm songs, that's ~300ms per beat, so a 150ms latency is the difference between perfect and couldn't-be-worse. Also, you need to take the whole input chain into account -- not just one context switch, but rather: sampling input => timecode conversion => cueing of mp3 track => decode => output. Each one of these will involve several context switches if you are unlucky. Each context switch adds unknown potential latency. It can pretty quickly add up to +/- 150 ms. Worst of all, you don't know how much (can't read the clock -- that's a syscall == latency).
So in summarium: BeOS is a natural. Older macs may be ok, by virtue of being too stupid to be in the way. Neither Mac OS X and Linux stand the proverbial snowball's chance of pulling this off.
Of course, now you throw low latency patches into the mix... round and round it goes, where it will stop nobody knows.
Alternately, a kernel module may be able to do something decent, but that basically a hack to acheive the level of sophistication of old Macs.
I believe that M$ have several fundamental patents in the area of automatic hinting (which I seem to recall involves global minimazation).
So don't hold your breath waiting for Linux to get it.
I graded an introductory scheme course once. You have no idea how easy it is to pick out cheating in an introductory programming course. You can actually pick out pretty much the whole solution history, much like a genetecist can track speciation through differences in DNA.
Beginning programmers make such a wide range of mistakes that it's obvious which people discussed the problem before hand, which people programmed their solutions sitting next to each other on different computers, and which people just made a copy of someone else's solution (while they were away from the computer, it is often claimed).
I'd say that all but the last of these scenarios is fine. What IS galling - nay insulting - is that they students think that the TA won't notice that two programs have exactly the same error epidology. I could understand if they thought they could get away with copying and modifying a working solution, but when the solution doesn't produce the required result, the TA HAS to grok the code. And you quickly notice when solutions are "similarly stupid". Strangely enogugh, the right solutions tended not to be copied. I'll spare you my specualtions on the social dynamic that results in that scenario.
So no program necessary, IMHO. Of course, I had a fairly small class. I would hope that bigger classes get a couple of TAs.
I saw this spam for the first time, today. I figure they are just selling a program to copy the DVD data onto CD-R media (perhaps DivX encoded), but I tried to read all the fine print and couldn't find any reference at all to the fact the result wouldn't be a DVD.
Ifso, then near as I can tell, the ad is fradulent.
That's actually not true. The problem is phase. Imagine a sine wave f of frequency 1, so that f(0)=0, f(0.25)=1, f(0.5)=0, f(0.75)=-1, f(1)=0.
now if you sample it at frequency 2, you will get a great reconstruction if you sample at time 0.25 and 0.75. However, you will get a much worse reconstruction if you sample at time 0 and 0.5. The phase interaction between the samples and the signal become more noticiable the closer the signal is to the nyquist frequency.
Now I think you owe the previous poster an apology. A little humilty wouldn't be out of place.
The amiga had 8 Mhz (and a lot of support hardware, but likely not much more than you'd get from DMA + your average video card these days) and was fully competent to play a mean game of tetris while copying discs in the background.
ah!
I love the great signtures -- of course at the bottom of emails -- which claim that if I am not the intended recipient of the email, I am legally obliged not to read it.
It just seems that such information should come a bit sooner...
Thanks. I was going to make that point. Now I'm redundant...
Actually, I'll take this opportunity to give props to sputnik. I think this is the first viable open source business model I've seen. They also have a semi-effective lock-in scheme:
(for those too lazy to read about it, sputnik give away their open-source wireless-reseller-in-a-box to anyone who wants to make a few bucks from their wireless bandwidth. They also give away the authenticating client software. So to use your bandwidth I need their snazzed up DHCP client on my laptop. The payment aspect comes in because I have to buy airtime credits from Sputnik, who then tell the reseller that it's ok to let me use their bandwidth.)
You get a bit of lock-in, because both the bandwidth provider and the client need to use the same billing agent. I can of course potentially have several clients (or redesign the client to talk to several billing agents).
This gets really interesting when you mix the ability to do real-time bidding when I have overlapping bandwidth providers.
Also interesting is the mobile aspect of it: transparently jumping networks.
Fun stuff!
Put them on your home page. Put the homepage in the current file system, customized for the nameing system of the file system.
If you don't want to maintain double copies of the pages, use sed to generate your windows versions from the linux ones (or vice-versa)
Does anyone have a link to a non-WM specific FvwmIconBox replacement? I have sawfish at home, and Merlins hacks are... well, hacks. I'd like something a little prettier, w/o having to use the panel. I try to avoid gnome as far as possible.
Just to make sure everyone reads that the same way: I'd like a list of windows, up in the corner of the screen (growing down), of all windows on the current desktop -- iconized and not -- from which I can (de)iconize them. Kinda like the panel, but using much less real estate -- in total, and per window.
There was/is a framework out on sourceforge for writing those panel/iconbox stype apps, but google searches found exactly zero programs that claimed to use it. what was it called? Plip? Plop? Flack? Something like that.
especially not belgians nicked after a pink elephant.
On a 20 year old movie?
I mean isn't that a weee bit of an oxymoron?
Yer all morons!
When you choose a language it shouldn't be for the operational properties of a language. How many people do you think need the speed benefits of C enough to pay the price for using it? About one in a gazzilion.
The wise programmer chooses a language for it's denotational properties. Such as: how straight forward is it to solve my problem in this language? Does the language provide me with early predicitions as to where the problems with my code are going to be? Does the language have constructs that directly capture the ideas you want to work with?
So you see, having several languages implemented for one back end, so that I can write my lexing routines in PERL, write my AST construction routines in Java, and my compiler in Scheme, ammounts basically to choosing the right tool for the job.
How isn't this appealing?
But on the other hand, IIRC, the NSA also "requested" that the key length be reduced from 64 to 56 bits.
The reason being that their budget could allow them to bruteforce such a key if they really wanted to, while it took until just a few years ago for that to be feasible for a well funded public entity, and until last year for this to be affordable to Joe Public (affordable = ~ US$2K for a machine to do it in about a day)
Interesting. I would have thought the smaller the drive the more able it was to withstand acceleration (what with the mass shrinking as the cube, but torsional strenght as the square, of the feature size).
Any experience with the toshibas that Apple uses?
1) the lifetime of objects is a GC issue. Generational collectors deal very well with short lived objects. Which GC scheme a VM uses is an [important] impl issue, not language design.
2) The tailcall is critical for pretty much all functional languages. However, the stack inspection used by Java's security model interacts poorly with tailcail optimization. NET apparently uses a similar scheme. There are ways around it, but they are system wide.
They (microsoft research) have Simon peyton jones. Trust him to know how to handle this. BTW: if you are interested in program transformation, read this paper. It is truly one of the 10 eye-opening papers of my academic carreer.
r s/ unboxed-values.ps.Z
Author: Simon L Peyton Jones and John Launchbury
Title: "Unboxed values as first class citizens in a non-strict functional language"
Pubn: Proc. 1991 Conf. on Functional Programming Languages and Computer Architecture, Cambridge Mass., Sept 1991.
ftp://ftp.dcs.glasgow.ac.uk/pub/glasgow-fp/pape
The one caveat is that you need to be able to pass unboxed values around at the vm level. I seem to recall CLI does this.
well, that does explain the motivation behind the ILX website design...
Had me grinning for a bit. Are you sure this isn't going via babelfish?
galeon.
The build I use (1.0.2) hates https connections, so I have to fire up an [ancient] communicator to talk to my bank, but appart from that one caveat, galeon is fast, lean, tabbed (love it, thought I would hate it), and pretty.
Credit where due, galeon uses the mozilla rendering engine, so any working install of galeon gets you mozilla for free, but w/o all that outlookalike stuff.
And pretty themes!
Just a thought:
when is it worthwhile to trade off cpu for storage? In your case, I suspect that the website has a degree of redundancy in its 7 gigs of data; there is likely much duplication. Both at the page level (duplicated ccs info), and at the snippet level (duplicated copyright disclaimers).
It is quite straight forward to discover this sharing (IIRC exactly how lzw compression works, but w/ a smaller window) and significantly cut down your storage costs. Of course, now you have a CPU hit, where storing new data becomes expensive, and just reading the data requires some pointer chasing.
The interesting issue is that the CPU hit isn't guaranteed to be a Bad Thing: your higher cache hit rate (indeed, your data may fit in ram entirely now) will possibly (likely?) result in significant speedups.
raytracing (which I think is what maya does) is one of those trivially parallelizable tasks -- the data set is so much smaller than the computation, and the inter-cpu communication is trivial. You don't need a cluster for these, and in fact many raytracers do ship with renderfarm software to use spare cycles. This sort of thing is trival enough that I wrote a java version for a 3 credit graphics course over a weekend, just so I could play with my renderer faster.
Photoshop filters are less obvious, both because schlepping bitmaps is expensive, and the ammount of communication needed is hard to predict in general (although the com. patterns may be easier, I suspect). I wonder if many such filters wouldn't be at the other end of the spectrum, requiring too much communication per computation to be feasible even over a fast network.
I stand duly corrected.
I saw these guys DALEK open for Lovage a couple 'a days ago. The DJ was making some mad super low frequency noise by basically pressing the needle to the disc, and vibrating it with his hand from side to side. They must have upshifted it in the sound processor or something, because it was more like 30 hz than 3, and _I_ can't make my hand vibrate much faster than that.
but still. Cool shit.
Actually...
... (wait for it) ... latency.
It matters alot which OS the system uses. There are three important factors in scratching: latency, latency, and
Older Macs may have been good at this because they weren't preemtively scheduled, so the scratching app could grab control and never let go. Not the best way to make friends, but it does keep latency down.
On the "real" OS side (no, a non preemptively scheduled, non protected OS is not a real OS, which apple understood, and which is why they spent so much time and effort to finally get one) BeOS was the only OS with any decent latency. Understandable; it was designed from the ground up to do this sort of thing w/o breaking a sweat. NB: QNX is realtime, which doesn't guarantee low latency, but rather "merely" guarantees that bounds exist, not that the bounds are low.
You gotta figure, when you're mixing 180 bpm songs, that's ~300ms per beat, so a 150ms latency is the difference between perfect and couldn't-be-worse. Also, you need to take the whole input chain into account -- not just one context switch, but rather: sampling input => timecode conversion => cueing of mp3 track => decode => output. Each one of these will involve several context switches if you are unlucky. Each context switch adds unknown potential latency. It can pretty quickly add up to +/- 150 ms. Worst of all, you don't know how much (can't read the clock -- that's a syscall == latency).
So in summarium: BeOS is a natural. Older macs may be ok, by virtue of being too stupid to be in the way. Neither Mac OS X and Linux stand the proverbial snowball's chance of pulling this off.
Of course, now you throw low latency patches into the mix... round and round it goes, where it will stop nobody knows.
Alternately, a kernel module may be able to do something decent, but that basically a hack to acheive the level of sophistication of old Macs.
Good hinting is key. And is really hard.
I believe that M$ have several fundamental patents in the area of automatic hinting (which I seem to recall involves global minimazation).
So don't hold your breath waiting for Linux to get it.
I graded an introductory scheme course once. You have no idea how easy it is to pick out cheating in an introductory programming course. You can actually pick out pretty much the whole solution history, much like a genetecist can track speciation through differences in DNA.
Beginning programmers make such a wide range of mistakes that it's obvious which people discussed the problem before hand, which people programmed their solutions sitting next to each other on different computers, and which people just made a copy of someone else's solution (while they were away from the computer, it is often claimed).
I'd say that all but the last of these scenarios is fine. What IS galling - nay insulting - is that they students think that the TA won't notice that two programs have exactly the same error epidology. I could understand if they thought they could get away with copying and modifying a working solution, but when the solution doesn't produce the required result, the TA HAS to grok the code. And you quickly notice when solutions are "similarly stupid". Strangely enogugh, the right solutions tended not to be copied. I'll spare you my specualtions on the social dynamic that results in that scenario.
So no program necessary, IMHO. Of course, I had a fairly small class. I would hope that bigger classes get a couple of TAs.
Hah!
I saw this spam for the first time, today. I figure they are just selling a program to copy the DVD data onto CD-R media (perhaps DivX encoded), but I tried to read all the fine print and couldn't find any reference at all to the fact the result wouldn't be a DVD.
Ifso, then near as I can tell, the ad is fradulent.
That's actually not true. The problem is phase. Imagine a sine wave f of frequency 1, so that f(0)=0, f(0.25)=1, f(0.5)=0, f(0.75)=-1, f(1)=0.
now if you sample it at frequency 2, you will get a great reconstruction if you sample at time 0.25 and 0.75. However, you will get a much worse reconstruction if you sample at time 0 and 0.5. The phase interaction between the samples and the signal become more noticiable the closer the signal is to the nyquist frequency.
Now I think you owe the previous poster an apology. A little humilty wouldn't be out of place.
heck,
The amiga had 8 Mhz (and a lot of support hardware, but likely not much more than you'd get from DMA + your average video card these days) and was fully competent to play a mean game of tetris while copying discs in the background.
R-Type kicked full-screen ass as well!
ah!
I love the great signtures -- of course at the bottom of emails -- which claim that if I am not the intended recipient of the email, I am legally obliged not to read it.
It just seems that such information should come a bit sooner...