...called barbie@home and doing Mattel's accounting. With no security and multiple-checking, so I can make a rigged client and redirect their CEO's salary to ACLU and EFF.
You probably can't delay sending data by more then a minute or so, some firewall proxies may time out.
Firewalls can't time out in the middle of the response -- if the header (and possible some segments of multipart response) is already sent, proxy can't just drop everything. NAT however can, and this is why either server should send something small as a "hearbeat", or client should try to reconnect if server appeared to drop it.
I don't believe you need to do multipart/mime for this, since the proxies should _NOT_ know about the internals of HTTP beyond how to get it through the firewall. You're probably fine returning XML snippets for each update 'datagram' you want to send the client.
Proxy will just know that it is in the middle of some response -- it can't parse the internals when it doesn't know the type of data used, so unless it's badly misconfigured, it will work. XML can be used for data inside the segments, however HTML (for clients that support server push directly) or comma-separated lists (for custom applets/plugins) will be as good, and will take less bandwidth. OF course, inside segments gzip compression can be used, just like in any other response.
There is no way to avoid keeping idle connections open if the data can arrive at any moment. However with proper design (that means, not Apache -- callback-based model won't work well there) you don't have to waste any resources on them except a file descriptor and small amount of memory for some internal structures. Having large number of mostly-idle tcp connections is not something unheard of -- any large IRC server does that for thousands of idle users -- however the design of most HTTP servers is not optimized for this.
One of the goals of my fhttpd server design was to separate the model of request processing in the backend from internals of HTTP server itself, and the examples in my previous messages are running on custom backends written for fhttpd -- webcams are always six processes without any additional threads (three processes per camera -- one process talks to http server, one talks to the camera, one compresses jpegs -- the program is released as qcwebcam), and X-10 is handled by a single process (also with no threads involved) that handles everything and talks to X-10 "modem" through a serial port.
Netscape implements "the original" server push using MIME multipart (see http://www1.netscape.com/as sist/net_sites/pushpull.html, section about server push). Even though no other client understands it, plugins or applets can just use the same protocol for this purpose, and it's possible to make server use internal support for it when the client understands it.
I use this in my webcam and X-10 devices control form -- compare form without server push (you have to press "Send" to get the updated status) and the same form with server push -- if you use Netscape (or recent builds of Mozilla), every change in the state of devices causes form to be updated at the time when it happened, and if some command is sent, first response represents the status after command is received (but not executed yet -- X-10 is slow), then after some time (can be half a second for simple on/off or few seconds for brightness change) when command is sent and confirmed, status updates using the server push. If someone else (or the same user from another browser, or me using "physical" control panel) sends some commands, status updates by itself without any interaction with the user or requests sent by a browser.
...that low-pass filters (exactly the same ones that are used in traditional antialiasing) work better on LCDs if sampling is done separately for three channels with taking phase shift between grids of red, green and blue pixels into account. While explanation of the reasons, measurement of difference between "most perfect" filtering and low-pass filters, and demonstration may be interesting, the idea itself is rather obvious and hardly can be considered a great triumph of human thought.
What if I like throwing stones in the water? I can stand near some lake and throw stones into it. It requires time. It requires nice flat stones, and some skill to throw them properly, so they will bounce. I think, its nice, and maybe I will want to do some investment into it by making a stone-polishing machine. I also can spend a lot of time developing better ways of throwing stones, it also takes time, requires expensive materials (I want to use stones of different density and textures for my research -- meteorites probably will allow me to understand and improve stones-throwing), I will need to study physics to understand the process better. In the end throwing stones into water can become a very expensive and hard work. People will look at me and comment on my stone-throwing. Some would say that I am a weirdo. Some will take photographs of me. Some will record trajectories of my stones. Some will dive into the lake, pick stones that I have thrown, engrave then "This stone was thrown into the lake by the greatest stone-thrower in the world Alex" and give them to their kids. Some students will make their graduation work based on their observations of my stone-throwing.
Will they have to compensate me for all my stone-throwing-related "investment"?
Yes, and so did Natalie Portman naked and petrified, hot grits down someone pants, calling various people "karma whores", registering usernames similar to someone famous here and especially "first post". Some people just have bad taste.
If you use StarOffice with files, produced by anything from Microsoft, get TrueType fonts that Microsoft uses (btw, most of them aren't from Microsoft -- they are licensed from Monotype). I was always surprised by poor formatting that StarOffice produced until I have realized that Word and PowerPoint files depend on precise size of the characters to be displayed correctly, and StarOffice will demand X to scale the unscaleable instead of re-formatting the text for available fonts. Most likely it's not StarOffice's fault but a design flaw in the formatting procedures.
Does it really matter if it's a change to the language spec or just the simple addition of a new "malloc" procedure? It's still retrofitting.
Of course, it does. The beauty of C (and at some extent C++) is that the lanugage design is not tied to some [crackpot] idea (or fad) of how resources (of whatever kind) must be managed, and libraries can implement whatever they please as long as the language can implement some basic interface to allocators and support structures (as in C) or the same interface plus the idea of objects and methods (as in C++).
Any language in which a programmer has to manage the memory rather than a garbage collector is doomed to have memory leaks, _no matter how good the programmer thinks he is_.
And no language -- with or without GC -- can prevent leaks if programmer is not careful about the lifespan of objects. The fact that physical deallocation is done by GC does not mean that progammer automagically becomes capable of removing all references to the object at the right time (or ever).
Nobody can catch everything, and to assume a "good" programmer won't write code which leaks memory is very naive.
I can -- as long as I am working on my own program.
Why do you think people are trying to retrofit C and C++ with rudimentary GCs now?
They don't. All garbage colloection mechanisms that I have seen for C and C++ are libraries -- they don't affect the language design.
A universities job is not to learn students how to fix memory leaks (an activity that cannot be avoided by newby c programmers) but to learn them the basic concepts of programming.
The fact that "leaks" of objects, "forgotten" by sloppy programmer yet referenced by program are harder to detect does not make them go away.
Whatever you use remotely, if it's less than 10Mbps Ethernet, you have to use some compression -- LBX or ssh X forwarding with compression. XDMCP won't be of much use over a slow line -- use ssh X11 forwarding, and it will initialize your cookies correctly.
...and there is no way to make it faster because it's in java? I mean, it may be fine for windows users who believe that Unix boxes must have user interface as slow as Microsoft telnet makes them look, but for any real use X server must be fast and be capable of using graphics card's acceleration for everything that card allows to accelerate.
and how slowly they are being developed? I don't mean that it's a bad thing -- it's good that Shuttle program allows them to do it at reasonable pace and with reasonable requirements, but if everyone else wasn't under constant pressure, and if everyone's else software wasn't a victim of feature bloat, dealing with poorly documented and even worse implemented protocols, and never-ending stream of bullshit coming from the management, everyone else would write robust software, too. Well, not really everyone -- some "programmers" wouldn't be able to do anything because they have no skill, no education or are plain dumb, but reasonably geeky and educated programmer can pull something like that in ideal conditions -- and those guys _are_ working in ideal conditions.
Can I reproduce the entire novel as an appendix to my book? Of course not. Whether or not you're discussing the entirety of a work, fair use only allows for limited reproduction.
If the novel is freely distributed, and adding it as an appendix to the book does not interfere with author's ability to profit from its sales, and the book is a work of literary criticism that is supposed to be used for education and research, you can. In the case of Microsoft document it will be that, plus if the novel was reproduced to demonstrate that it describes author's plans to throw stones into every window on the second floor of the local mall while playing guitar and yelling "Bald people are inferior!".
Saying that XML is a solution is similar to saying that binary files, or coma-separated lists, or lisp are solutions -- there is nothing actually defined in the standard except some data formatting and possible means of verification that data indeed is formatted as specified. "Tools" can either verify that formatting is valid, or convert between XML and internal representation with no semantics attached, so software should still implement semantics in its code with no "automation" or standards whatsoever provided by the tools.
One of the reasons console manufacturers are hesitant to use Linux (or any other open OS, for that matter) is because of what happened with the I-Opener fiasco. The business plan for console manufacturers enables them to license developers kits, compilers, and other software to developers--benefiting greatly from a proprietary, closed system.
Are you on crack? Game consoles are cheap precisely because it's easy to maintain profitability with huge number of users, and rudimentary technical support (what support? for consoles that were thrown from the fifth floor? for people who don't know the voltage in their outlets?). Console manufacturers want to have as large development for their platform as possible. It's game development companies who care about closeness of their environment, copy-protection, region codes, etc., however currently all of them are mostly a minimal annoyance for the user by now.
What? So he's supposed to spend thousands of dollars in legal fees until it gets straightened out?
He won't -- all BofA said is that they may try to sue him -- what BofA most likely won't even try if it will meet anything that resembles resistance, as they know that they will lose and will be sued for frivolous lawsuit. Banks hate bad publicity more than anything else.
...called barbie@home and doing Mattel's accounting. With no security and multiple-checking, so I can make a rigged client and redirect their CEO's salary to ACLU and EFF.
You probably can't delay sending data by more then a minute or so, some firewall proxies may time out.
Firewalls can't time out in the middle of the response -- if the header (and possible some segments of multipart response) is already sent, proxy can't just drop everything. NAT however can, and this is why either server should send something small as a "hearbeat", or client should try to reconnect if server appeared to drop it.
I don't believe you need to do multipart/mime for this, since the proxies should _NOT_ know about the internals of HTTP beyond how to get it through the firewall. You're probably fine returning XML snippets for each update 'datagram' you want to send the client.
Proxy will just know that it is in the middle of some response -- it can't parse the internals when it doesn't know the type of data used, so unless it's badly misconfigured, it will work. XML can be used for data inside the segments, however HTML (for clients that support server push directly) or comma-separated lists (for custom applets/plugins) will be as good, and will take less bandwidth. OF course, inside segments gzip compression can be used, just like in any other response.
One of the goals of my fhttpd server design was to separate the model of request processing in the backend from internals of HTTP server itself, and the examples in my previous messages are running on custom backends written for fhttpd -- webcams are always six processes without any additional threads (three processes per camera -- one process talks to http server, one talks to the camera, one compresses jpegs -- the program is released as qcwebcam), and X-10 is handled by a single process (also with no threads involved) that handles everything and talks to X-10 "modem" through a serial port.
Netscape implements "the original" server push using MIME multipart (see http://www1.netscape.com/as sist/net_sites/pushpull.html, section about server push). Even though no other client understands it, plugins or applets can just use the same protocol for this purpose, and it's possible to make server use internal support for it when the client understands it.
I use this in my webcam and X-10 devices control form -- compare form without server push (you have to press "Send" to get the updated status) and the same form with server push -- if you use Netscape (or recent builds of Mozilla), every change in the state of devices causes form to be updated at the time when it happened, and if some command is sent, first response represents the status after command is received (but not executed yet -- X-10 is slow), then after some time (can be half a second for simple on/off or few seconds for brightness change) when command is sent and confirmed, status updates using the server push. If someone else (or the same user from another browser, or me using "physical" control panel) sends some commands, status updates by itself without any interaction with the user or requests sent by a browser.
...that low-pass filters (exactly the same ones that are used in traditional antialiasing) work better on LCDs if sampling is done separately for three channels with taking phase shift between grids of red, green and blue pixels into account. While explanation of the reasons, measurement of difference between "most perfect" filtering and low-pass filters, and demonstration may be interesting, the idea itself is rather obvious and hardly can be considered a great triumph of human thought.
What if I like throwing stones in the water? I can stand near some lake and throw stones into it. It requires time. It requires nice flat stones, and some skill to throw them properly, so they will bounce. I think, its nice, and maybe I will want to do some investment into it by making a stone-polishing machine. I also can spend a lot of time developing better ways of throwing stones, it also takes time, requires expensive materials (I want to use stones of different density and textures for my research -- meteorites probably will allow me to understand and improve stones-throwing), I will need to study physics to understand the process better. In the end throwing stones into water can become a very expensive and hard work. People will look at me and comment on my stone-throwing. Some would say that I am a weirdo. Some will take photographs of me. Some will record trajectories of my stones. Some will dive into the lake, pick stones that I have thrown, engrave then "This stone was thrown into the lake by the greatest stone-thrower in the world Alex" and give them to their kids. Some students will make their graduation work based on their observations of my stone-throwing.
Will they have to compensate me for all my stone-throwing-related "investment"?
to get a better lawyer? This is absolutely ridiculous, lawyer that represents defendants has absolutely no understanding of technology.
s/Advant-Go/Proxiweb/
We thought, you are moving your company to Canada, not UK...
Yes, and so did Natalie Portman naked and petrified, hot grits down someone pants, calling various people "karma whores", registering usernames similar to someone famous here and especially "first post". Some people just have bad taste.
Your only hope is to vote for Ralph Nader. Go ahead and do it. Along with the rest of your ten percent.
You wouldn't try to insult us if you thought that our opinion doesn't matter in politics.
If you use StarOffice with files, produced by anything from Microsoft, get TrueType fonts that Microsoft uses (btw, most of them aren't from Microsoft -- they are licensed from Monotype). I was always surprised by poor formatting that StarOffice produced until I have realized that Word and PowerPoint files depend on precise size of the characters to be displayed correctly, and StarOffice will demand X to scale the unscaleable instead of re-formatting the text for available fonts. Most likely it's not StarOffice's fault but a design flaw in the formatting procedures.
You must not write large programs.
They are very large -- just modularized well.
Does it really matter if it's a change to the language spec or just the simple addition of a new "malloc" procedure? It's still retrofitting.
Of course, it does. The beauty of C (and at some extent C++) is that the lanugage design is not tied to some [crackpot] idea (or fad) of how resources (of whatever kind) must be managed, and libraries can implement whatever they please as long as the language can implement some basic interface to allocators and support structures (as in C) or the same interface plus the idea of objects and methods (as in C++).
Any language in which a programmer has to manage the memory rather than a garbage collector is doomed to have memory leaks, _no matter how good the programmer thinks he is_.
And no language -- with or without GC -- can prevent leaks if programmer is not careful about the lifespan of objects. The fact that physical deallocation is done by GC does not mean that progammer automagically becomes capable of removing all references to the object at the right time (or ever).
Nobody can catch everything, and to assume a "good" programmer won't write code which leaks memory is very naive.
I can -- as long as I am working on my own program.
Why do you think people are trying to retrofit C and C++ with rudimentary GCs now?
They don't. All garbage colloection mechanisms that I have seen for C and C++ are libraries -- they don't affect the language design.
A universities job is not to learn students how to fix memory leaks (an activity that cannot be avoided by newby c programmers) but to learn them the basic concepts of programming.
The fact that "leaks" of objects, "forgotten" by sloppy programmer yet referenced by program are harder to detect does not make them go away.
Most of people don't install scalable fonts, and keep screen resolution set to 75 dpi, so all they get is smaller fonts.
Whatever you use remotely, if it's less than 10Mbps Ethernet, you have to use some compression -- LBX or ssh X forwarding with compression. XDMCP won't be of much use over a slow line -- use ssh X11 forwarding, and it will initialize your cookies correctly.
...and there is no way to make it faster because it's in java? I mean, it may be fine for windows users who believe that Unix boxes must have user interface as slow as Microsoft telnet makes them look, but for any real use X server must be fast and be capable of using graphics card's acceleration for everything that card allows to accelerate.
and how slowly they are being developed? I don't mean that it's a bad thing -- it's good that Shuttle program allows them to do it at reasonable pace and with reasonable requirements, but if everyone else wasn't under constant pressure, and if everyone's else software wasn't a victim of feature bloat, dealing with poorly documented and even worse implemented protocols, and never-ending stream of bullshit coming from the management, everyone else would write robust software, too. Well, not really everyone -- some "programmers" wouldn't be able to do anything because they have no skill, no education or are plain dumb, but reasonably geeky and educated programmer can pull something like that in ideal conditions -- and those guys _are_ working in ideal conditions.
Can I reproduce the entire novel as an appendix to my book? Of course not. Whether or not you're discussing the entirety of a work, fair use only allows for limited reproduction.
If the novel is freely distributed, and adding it as an appendix to the book does not interfere with author's ability to profit from its sales, and the book is a work of literary criticism that is supposed to be used for education and research, you can. In the case of Microsoft document it will be that, plus if the novel was reproduced to demonstrate that it describes author's plans to throw stones into every window on the second floor of the local mall while playing guitar and yelling "Bald people are inferior!".
Saying that XML is a solution is similar to saying that binary files, or coma-separated lists, or lisp are solutions -- there is nothing actually defined in the standard except some data formatting and possible means of verification that data indeed is formatted as specified. "Tools" can either verify that formatting is valid, or convert between XML and internal representation with no semantics attached, so software should still implement semantics in its code with no "automation" or standards whatsoever provided by the tools.
PalmIII works with Ricochet modem -- I use it with proxiweb and TG ssh. Ricochet also can work as a poor man's GPS -- the procedure is described at http://phobos.illtel.denver.co. us/~abelits/map.php3
One of the reasons console manufacturers are hesitant to use Linux (or any other open OS, for that matter) is because of what happened with the I-Opener fiasco. The business plan for console manufacturers enables them to license developers kits, compilers, and other software to developers--benefiting greatly from a proprietary, closed system.
Are you on crack? Game consoles are cheap precisely because it's easy to maintain profitability with huge number of users, and rudimentary technical support (what support? for consoles that were thrown from the fifth floor? for people who don't know the voltage in their outlets?). Console manufacturers want to have as large development for their platform as possible. It's game development companies who care about closeness of their environment, copy-protection, region codes, etc., however currently all of them are mostly a minimal annoyance for the user by now.
If it's so bad, why haven't the Brits descended into pre-Neanderthal chaos?
Because crooks either moved to US or are too busy exploiting anti-free-speech uses of local laws (ex: "defamation" lawsuits against ISPs)?
What? So he's supposed to spend thousands of dollars in legal fees until it gets straightened out?
He won't -- all BofA said is that they may try to sue him -- what BofA most likely won't even try if it will meet anything that resembles resistance, as they know that they will lose and will be sued for frivolous lawsuit. Banks hate bad publicity more than anything else.