Re:You're right, I don't see it.
on
Giant Sucking Noise
·
· Score: 3, Interesting
You forgot something
American companies don't need high-cost burger-flippers with a PC, they need effective, efficient IT professionals that can justify their salary with corresponding efficiency... and who are willing to work for $7.01 an hour, or less!
The main problem with XP of course is that not all the apps use the new theming APIs, meaning you end up with a mix of cruddy old icons and grey UIs.
Mainly because they're rather crappily documented, hard to use, and require that you either use function pointers for *everything* (which makes it more difficult than it should be), or use delay-loaded dlls (not too great if you want to manage DLL loading, bind to them, or want to avoid having to put exception handling around things).
Add in the fact that.NET 1.0 doesn't support the theming APIs, and you've got a whole load of non-supportage.
It looks fairly obvious that this is a simple blur algorithm with a static mask. Strange that the iteration limit and array sizes are hard coded though. Bad code... Bad bad code.;)
Well, it's not like this was production code - it's an example for Slashdot.
Anyway, yes, it's a simple blur algorithm with a static mask. Or alternatively, it's a water simulator for a game (except in a game, you'd take the results after each iteration and use them). Or (and this is what it actually is), it's a finite element simulator of 2D electrostatic potentials, using the Laplacian to calculate the field potential at each point on the grid. In the static grid, you put the fixed-potentials (eg. plate at ground, plate at 100V, etc), and anywhere that's 'empty', you set to -1E20V (or lower). Then, just run it for a while, let it slosh around, and eventually it approximates an integral over the area of the grid for each point, using P(x,y,z)/r^2 as the element in dx,dy and dz.
I have no idea. You didn't give me any context, and your variable names suck. With the Xft code, however, there is a whole lot of context. You know you're applying a certain filter to the pixels of the bitmap. Applying filters is a well known technique.
Okay; how about we call pstatic "static_potential_grid", p becomes "potential_grid" and p2 becomes "scratch_grid"... -1.0E20 becomes "NO_STATIC_POTENTIAL". How about then?
Let's face it, good documentation is much better than the code. That's why RFCs aren't just cut & pasted C sockets code. I could give you the source code to a newsreader, but without the relevant RFCs to references, you're left wondering why on earth they made the decisions they did. Like lines with a fixed length - why? Or are the headers listed the only valid ones? Or just the ones used in this implementation?
I don't know how small you consider "small." By default, the Windows TrueType renderer ignores hints at sizes lower than 8 points. It's sort of pointless to try to gridfit pixels at that level.
Perhaps you meant 8 pixels? Either way, that's absolutely the domain where hinting is most useful.
http://research.microsoft.com/~jplatt/ClearType/ si d2000.ps.gz
I mean, I can check out the ClearType algorithm for myself, and it's very sound and rigorously defined. What's the new one? Which journals has it been published in? Or is it just a hack?
An error occured while loading http://www.popcornfilms.com/: Timeout on server Timed out while waiting to connect to www.popcornfilms.com Oh dear, looks like that it might have happened
BTW: A DOS attack != rooting the box.
Go ahead -- post a link to a file you put on that webserver.
An error occured while loading http://www.popcornfilms.com/: Timeout on server Timed out while waiting to connect to www.popcornfilms.com Oh dear, looks like that it might have happened
Windows has only the most vague concept of a "root" user, and rooting a Windows box takes about 40 lines of code (basically, the problem comes from the GUI - any program running with administrator privelage, such as a virus scanner, can spawn additional processes also running as the administrator. Making them do so requires nothing more than getting a handle to a text edit control, pasting in the desired malicious code, and using the address of the edit's buffer as a start-of-execution point. All of which *any* user can do.
Go ahead - root my box.
Oh dear, you can't. What a shame.
BTW: The Shatter attack is easily preventable. Start the antivirus UI process as part of an isolated job with limited UI privs. It'll be in a separate windowing namespace, and the shatter attack will no longer work.
So, let me get this straight. There's a space on the TiVO they sell ads for, but they are watched only voluntarily? Seems like some genius must've come up with that idea.
What, do you suppose, is the value of an ad that no one watches? Zero. Eventually, their advertisers will figure out that those star ads work as well as banners, and TiVO's revenue will take another nose dive.
Actually, they work a hell of a lot better than banner ads.
You see, people actually click on them. Especially the Two Towers trailers which came out early, and the BMW Films shorts.
Sorry, please explain exactly what the heck you're talking about.
You cannot accelerate any object up to the speed of light. Its velocity in any direction, as measured by any observer at any stationary point, cannot be equal to that of the speed of light.
"Theoretical travel at faster than light is possible" -- only if you're only ever travelling faster than light (you have to start off that way, and that makes you either a tachyon or an antiparticle - take your pick). Or alternatively, I guess you could be astrally projecting.
So... if the Sun's gravity is pulling on Earth from where the Sun was (i.e. where we see it in the sky, not its actual position, which is about 8 minutes behind where the Sun actually is...), doesn't that kinda mess up the elliptical orbit somewhat? Shouldn't the Earth spiral into the Sun if gravity is pulling on the Earth at some eight minutes behind where the Sun really is?
As far as the Earth's concerned, the Sun is stationary, and as such was always in the same place 8 minutes ago.
At least, so far as it matters to the Earth it is, anyway.
Note that there's nothing out of the ordinary here. No false attempts -- that's all of the traffic to the site.
Also, don't forget that if an app doesn't use the correct TCP initiate/shutdown procedure, it won't get through a NAT firewall. And I've not seen any complaints about that being a problem with IE to date.
Atleast from IE's point of view. It sounds as though the way pipelining is done is by simply trying a request first and they are using some low level api to the network stack. So if the connection happens to be open they get a speed up, if not they get a slow down. Seeing as the connection is going to be open more than it is closed it's a general plus.
This is more than just a persistant connections. What IE is doing is sending the request for the page *before* any sending SYN or ACK packets that every TCP/IP application is supposed to send.
I think you'll find that the request is sent with the connection request, and is perfectly legal TCP/IP.
The thing is, BSD sockets doesn't let you easily do this.
Most Unix apps do this:
SOCKET s = socket(...); s.connect(...);.. note: the connect request does not return until it has been acknowledged. s.send(...);
What IE is doing is this: SOCKET s = socket(...); WSAConnect(...);... where the WSAConnect call has data it will send with the connect packet inside it.
This is ALL perfectly valid TCP. Remember; the flags in the packet are what determine how to handle the incoming packets; the data is handled separately. You can quite happily send data with your connect request, as long as you're willing to accept that the request may well fail.
As far as Excel being a "great" spreadsheet, it gets that by basically being the ONLY spreadsheet in wide use. In comparison to Lotus 1-2-3, it probably is great. Compared to what a spreadsheet COULD aspire to? It isn't so clear. Some weaknesses of Excel
1) sheet size is woefully limited. 65536 rows, 256 columns IIRC. Makes it hard to process data files with more than 65536 lines in them
I don't recall anyone selling Excel as a generic data processing app. So far as I was aware, it's a spreadsheet.
Surely what you're describing is the job of custom crafted data processing tools?
Maybe we shouldn't let your type (read: obviously easily angered) into the country to begin with. Not born on American soil? Guess what - you're not going to be a citizen.
Go back to France, you whimpering fsck.
Maybe we shouldn't let people who obviously aren't fit to be citizens become them by accident of birth.
Come back and tell me I'm not going to be a citizen when you personally have to fight for that right.
I have to fight for that right. You get it handed to you on a silver platter. Get on the clue train -- I deserve to be a citizen more than you, because being American means a hell of a lot more to me than it does to you.
To stay in the US, get used to it. All American citizens have been for the last few years now. Where have you been?
Get used to what? Having my body violated for so-called security reasons? Are you just mixing this up with 'alien abductions' or have you been watching too much XFiles?
I have already had my fingerprints taken and put on file -- more than most Americans have -- in the name of 'security'.
I reiterate: unless all Americans have to be microchipped, you're not embedding one in my body unless I get to do the same to you with my dick. Try it, and you'll lose body parts. Understand?
You forgot something
... and who are willing to work for $7.01 an hour, or less!
American companies don't need high-cost burger-flippers with a PC, they need effective, efficient IT professionals that can justify their salary with corresponding efficiency
Simon
The main problem with XP of course is that not all the apps use the new theming APIs, meaning you end up with a mix of cruddy old icons and grey UIs.
.NET 1.0 doesn't support the theming APIs, and you've got a whole load of non-supportage.
Mainly because they're rather crappily documented, hard to use, and require that you either use function pointers for *everything* (which makes it more difficult than it should be), or use delay-loaded dlls (not too great if you want to manage DLL loading, bind to them, or want to avoid having to put exception handling around things).
Add in the fact that
Simon
It looks fairly obvious that this is a simple blur algorithm with a static mask. Strange that the iteration limit and array sizes are hard coded though. Bad code... Bad bad code. ;)
Well, it's not like this was production code - it's an example for Slashdot.
Anyway, yes, it's a simple blur algorithm with a static mask. Or alternatively, it's a water simulator for a game (except in a game, you'd take the results after each iteration and use them). Or (and this is what it actually is), it's a finite element simulator of 2D electrostatic potentials, using the Laplacian to calculate the field potential at each point on the grid. In the static grid, you put the fixed-potentials (eg. plate at ground, plate at 100V, etc), and anywhere that's 'empty', you set to -1E20V (or lower). Then, just run it for a while, let it slosh around, and eventually it approximates an integral over the area of the grid for each point, using P(x,y,z)/r^2 as the element in dx,dy and dz.
Simon
I have no idea. You didn't give me any context, and your variable names suck. With the Xft code, however, there is a whole lot of context. You know you're applying a certain filter to the pixels of the bitmap. Applying filters is a well known technique.
Okay; how about we call pstatic "static_potential_grid", p becomes "potential_grid" and p2 becomes "scratch_grid"... -1.0E20 becomes "NO_STATIC_POTENTIAL". How about then?
Let's face it, good documentation is much better than the code. That's why RFCs aren't just cut & pasted C sockets code. I could give you the source code to a newsreader, but without the relevant RFCs to references, you're left wondering why on earth they made the decisions they did. Like lines with a fixed length - why? Or are the headers listed the only valid ones? Or just the ones used in this implementation?
Simon
Frickken slashdot.... gahh...
OK; so what does *this* code do? What algorithm is it performing? Surely you can work it out. After all; you have the code!
double p[2000][2000];
double p2[2000][2000];
double pstatic[2000][2000];
void PerformCalculation() {
InitPStatic();
for (int iters = 0; iters < 200; iters++) {
for (int i = 1; i < 1999; i++) {
for (int j = 1; j < 1999; j++) {
if (pstatic[i][j] > -1.0E20) {
p2[i][j] = pstatic[i][j];
} else {
p2[i][j] = (p[i+1][j] + p[i-1][j] + p[i][j+1] + p[i][j-1]) / 4.0
}
}
}
Swap(p,p2);
}
}
Um, unlike ClearType, you can just go read the code for Xft's algorithm.
... I mean, after all, what does this code above do? Surely you can work it out, after all, it's the code!
Yes, because after all, reading the code is much easier than reading the algorithm.
double p[2000][2000];
double p2[2000][2000];
double pstatic[2000][2000];
InitPStatic();
for (int iters = 0; iters -1.0E20) p2[i][j] = pstatic[i][j];
}
}
Swap(p,p2);
}
I don't know how small you consider "small." By default, the Windows TrueType renderer ignores hints at sizes lower than 8 points. It's sort of pointless to try to gridfit pixels at that level.
Perhaps you meant 8 pixels? Either way, that's absolutely the domain where hinting is most useful.
Simon
However, since then, Xft2 has come out, which offers even better sub-pixel antialiasing support than Microsoft Cleartype.
a sp ?path=http://research.microsoft.com/users/jplatt/c learType/optFilt.ps.gz&pub=IEEE
/ si d2000.ps.gz
Really? And what's the theoretical basis for this new, better sub-pixel antialiasing?
http://research.microsoft.com/copyright/accept.
http://research.microsoft.com/~jplatt/ClearType
I mean, I can check out the ClearType algorithm for myself, and it's very sound and rigorously defined. What's the new one? Which journals has it been published in? Or is it just a hack?
Simon
MFC is ugly, and is even more apparent when compared to Qt and GTK.
That's why real windows developers use WTL/ATL for applications development.
Simon
An error occured while loading http://www.popcornfilms.com/: Timeout on server Timed out while waiting to connect to www.popcornfilms.com Oh dear, looks like that it might have happened
BTW: A DOS attack != rooting the box.
Go ahead -- post a link to a file you put on that webserver.
Simon
An error occured while loading http://www.popcornfilms.com/: Timeout on server Timed out while waiting to connect to www.popcornfilms.com Oh dear, looks like that it might have happened
Not a clue - it's not my server.
Don't say stuff like that on slashdot.
:)
I'd like to see them get through the firewall
Even if they knew my IP address...
Windows has only the most vague concept of a "root" user, and rooting a Windows box takes about 40 lines of code (basically, the problem comes from the GUI - any program running with administrator privelage, such as a virus scanner, can spawn additional processes also running as the administrator. Making them do so requires nothing more than getting a handle to a text edit control, pasting in the desired malicious code, and using the address of the edit's buffer as a start-of-execution point. All of which *any* user can do.
Go ahead - root my box.
Oh dear, you can't. What a shame.
BTW: The Shatter attack is easily preventable. Start the antivirus UI process as part of an isolated job with limited UI privs. It'll be in a separate windowing namespace, and the shatter attack will no longer work.
Simon
So, let me get this straight. There's a space on the TiVO they sell ads for, but they are watched only voluntarily? Seems like some genius must've come up with that idea.
What, do you suppose, is the value of an ad that no one watches? Zero. Eventually, their advertisers will figure out that those star ads work as well as banners, and TiVO's revenue will take another nose dive.
Actually, they work a hell of a lot better than banner ads.
You see, people actually click on them. Especially the Two Towers trailers which came out early, and the BMW Films shorts.
Sorry, please explain exactly what the heck you're talking about.
You cannot accelerate any object up to the speed of light. Its velocity in any direction, as measured by any observer at any stationary point, cannot be equal to that of the speed of light.
"Theoretical travel at faster than light is possible" -- only if you're only ever travelling faster than light (you have to start off that way, and that makes you either a tachyon or an antiparticle - take your pick). Or alternatively, I guess you could be astrally projecting.
So... if the Sun's gravity is pulling on Earth from where the Sun was (i.e. where we see it in the sky, not its actual position, which is about 8 minutes behind where the Sun actually is...), doesn't that kinda mess up the elliptical orbit somewhat? Shouldn't the Earth spiral into the Sun if gravity is pulling on the Earth at some eight minutes behind where the Sun really is?
As far as the Earth's concerned, the Sun is stationary, and as such was always in the same place 8 minutes ago.
At least, so far as it matters to the Earth it is, anyway.
Simon
The King County library system in Washington State (that's Redmond, Seattle, Bellevue, etc) has had this for ages.
In my case I'm using TCPViewPro from www.winternals.com (or there's the freeware version from www.sysinternals.com)
Others may be logging them on their firewall/routers.
Simon
Oh, and here's a dump of what the Winsock stack is doing on a GET from Slashdot:
Seq Time Process:PID Action Protocol Local Address Remote Address Status Bytes
2 6:45:28 PM iexplore.exe:3228 CONNECT TCP Entropy:1166 slashdot.org:http SUCCESS
5 6:45:29 PM iexplore.exe:3228 SEND TCP Entropy:1166 slashdot.org:http SUCCESS 590
6 6:45:30 PM iexplore.exe:3228 RECEIVE TCP Entropy:1166 slashdot.org:http SUCCESS 1400
7 6:45:30 PM iexplore.exe:3228 RECEIVE TCP Entropy:1166 slashdot.org:http SUCCESS 1400
16 6:45:30 PM iexplore.exe:3228 RECEIVE TCP Entropy:1166 slashdot.org:http SUCCESS 0
17 6:45:30 PM iexplore.exe:3228 RECEIVE TCP Entropy:1166 slashdot.org:http SUCCESS 1624
18 6:45:30 PM iexplore.exe:3228 DISCONNECT TCP Entropy:1166 slashdot.org:http SUCCESS
Note that there's nothing out of the ordinary here. No false attempts -- that's all of the traffic to the site.
Also, don't forget that if an app doesn't use the correct TCP initiate/shutdown procedure, it won't get through a NAT firewall. And I've not seen any complaints about that being a problem with IE to date.
Simon
And how do you know this?
Because I'm a software developer, and I know my way around Winsock. The rest is just purely educated assumption, based on the behavior of WSAConnect.
Simon
Atleast from IE's point of view. It sounds as though the way pipelining is done is by simply trying a request first and they are using some low level api to the network stack. So if the connection happens to be open they get a speed up, if not they get a slow down. Seeing as the connection is going to be open more than it is closed it's a general plus.
No, they're just calling
WSAConnect (MSDN Library documentation).
But hey, who am I to get in the way of a good conspiracy theory with real data?
Simon
This is more than just a persistant connections. What IE is doing is sending the request for the page *before* any sending SYN or ACK packets that every TCP/IP application is supposed to send.
.. note: the connect request does not return until it has been acknowledged.
... where the WSAConnect call has data it will send with the connect packet inside it.
I think you'll find that the request is sent with the connection request, and is perfectly legal TCP/IP.
The thing is, BSD sockets doesn't let you easily do this.
Most Unix apps do this:
SOCKET s = socket(...);
s.connect(...);
s.send(...);
What IE is doing is this:
SOCKET s = socket(...);
WSAConnect(...);
This is ALL perfectly valid TCP. Remember; the flags in the packet are what determine how to handle the incoming packets; the data is handled separately. You can quite happily send data with your connect request, as long as you're willing to accept that the request may well fail.
Simon
As far as Excel being a "great" spreadsheet, it gets that by basically being the ONLY spreadsheet in wide use. In comparison to Lotus 1-2-3, it probably is great. Compared to what a spreadsheet COULD aspire to? It isn't so clear. Some weaknesses of Excel
1) sheet size is woefully limited. 65536 rows, 256 columns IIRC. Makes it hard to process data files with more than 65536 lines in them
I don't recall anyone selling Excel as a generic data processing app. So far as I was aware, it's a spreadsheet.
Surely what you're describing is the job of custom crafted data processing tools?
Simon
Maybe we shouldn't let your type (read: obviously easily angered) into the country to begin with. Not born on American soil? Guess what - you're not going to be a citizen.
Go back to France, you whimpering fsck.
Maybe we shouldn't let people who obviously aren't fit to be citizens become them by accident of birth.
Come back and tell me I'm not going to be a citizen when you personally have to fight for that right.
I have to fight for that right. You get it handed to you on a silver platter. Get on the clue train -- I deserve to be a citizen more than you, because being American means a hell of a lot more to me than it does to you.
To stay in the US, get used to it. All American citizens have been for the last few years now. Where have you been?
Get used to what? Having my body violated for so-called security reasons? Are you just mixing this up with 'alien abductions' or have you been watching too much XFiles?
I have already had my fingerprints taken and put on file -- more than most Americans have -- in the name of 'security'.
I reiterate: unless all Americans have to be microchipped, you're not embedding one in my body unless I get to do the same to you with my dick. Try it, and you'll lose body parts. Understand?
Simon