A lot of internal modems are winmodem-style or something like it these days. Just get a good old external modem on a serial port. As long as it supports AT commands you're gtg in any OS that supports modems and serial ports in general. Or if you wanna get all high-tech about it, get a USB modem that does serial-over-USB and acts like a plain external modem on a serial port.
There's really no such thing as a hardware firewall. All hardware firewalls are in fact software firewalls running on a peice of hardware, just like all software firewalls do. Perhaps a better re-statement of your point is to say that you should use a seperate non-windows-based firewall rather than one which is installed locally on the windows machine. Personally I use a Sparc/Linux box for this, but you can have good results just using a netgear nat box or something. NAT is the ultimate home firewall anyways, just dont start routing inbound ports through it to your PC and you're gtg.
Even if you do acces control by MAC address or VPN login as others have stated, students will just swap wireless cards or vpn logins with someone on a different schedule when they need to.
I have a great notes/todo app I use called mindcontrol. I wrote it myself in C using GTK, pthreads, and libxml2. I made it as a "thoughts/notes organizer" of sorts, it's got an explorer-like tree on the left pane, and the right pane is the contents of a node. You just create a heirarchy of nodes in whatever way suits your brain and type or paste text into the contents of the nodes on the right pane. Supports pruning and grafting nodes to rearrange your tree of stuff.
I mainly wrote it as an exercise in 3 concepts (one of which I never got around to), multithreaded programming, implicit autosaving with no filenames to worry about or find, and infite undo/redo saved between sessions (which I never got around to).
Your tree is always stored in ~/,mindcontrol.xml. It gets autosaved on the fly the whole time you're typing. You just exit, or even kill -9 it, at will whenever you want and it always shows the same stuff the next time you open it. There's a seperate thread for saving to disk which saves insanely frequently in the background while you type.
There are no menus, just 6 buttons across the top for Creating, Destroying, Pruning, and Grafting nodes, a Prefs button (there's two prefs, word wrapping and confirmation of node destruction), and a Quit button.
I originally wrote it some 2-3 years ago, and much to my surprise I compiled the old source on a recent gentoo box and still compiles and runs fine. I still never published it, but if anyone thinks it might be useful to anyone but me I could slap it on sourceforge or something.
In my case, I've been dying to get these split in TX for a long time. I don't *want* local phone service. All I want is DSL. I have a cellphone, and a VoIP service that also simul-rings my cellphone. All I need from a hardwired local provider is broadband. I'd much rather have DSL than cable, but SBC forces me to buy local voice phone service in order to buy their DSL.
Ok a couple minutes later here I did find a trace of it (pun intended). In '98 the guy made a crappy homepage, and one of the sections was on his "landscape raytracing". See web.archive.org url here (site is long dead): http://web.archive.org/web/20000420045611/www.leid ich.com/raytrace.htm
The program itself isn't there on that site, but web.archive.org captured some of the resultant artwork. You'll notice he claims he generated them with a raytracer he wrote in assembler in less than 4000 bytes, and the only image that archive.org managed to grab (http://web.archive.org/web/19991103074008/www.lei dich.com/kora0.jpg) has a dateline of "1994" on it. The version of this software I saw was probably a year or two before that time.
I still have some contact info for him if you wanna set up a junk hotmail account to receive it or something if you want more details for historical purposes.
Don't know if you're still reading this AC, but I'll go search around a bit if you bookmark this spot. The guy was a high school freind of mine, I doubt it was published in the demo scene, but I think he might still have a copy on a website of his.
I think that where driver education courses fail our youth is in not teaching them the true handling characteristics of cars and what the limits feel like. In addition to the education they give today, I really feel they should delve deeper into the physics of car handling and traction, the differences between FWD/RWD/AWD handling. Similarly, they should add an extra day to the end of the practical driving where they let the kids break the wheels loose in various ways on wet and dry pavement to give them a feel for what happens, how to feel it coming, and how to prevent or correct it.
My test was on a dual P4 (hyperthreading). Running a single instance of the code only locked a single cpu. I just played with it again, and running 4 instances locked the box. So RHEL3 is vulnerable, and a correct description of the problem is that the exploit locks up 1 cpu in an endless loop that cannot be stopped. For systems with multiple CPUs, you have to do this once for each cpu (twice for each physical cpu if hyperthreading) in order to lock the whole box up.
Tested their code on Redhat ES 3.0 with all current updates applied (2.4.21-15.ELsmp - they haven't released any new kernel updates specific to this problem). The process will suck up a cpu spinning in a tight loop, and is unkillable (even as root with kill -9), but it does not crash the system.
Redhat seems to have different code in signal.c around the area the signal.c patch mentions, but does not have the i387.h patch.
The problem is that your sentence "The probably that an arbitrary program halts is the random real number that Chaitin had been searching for" is not a valid expression in the arithmetical set of axioms that we're working in, and can't be translated into one. Godel worked around this by making his own system that assigned numbers to letter of the alphabet or some such mess I forget - but I don't think you can use this in this case without constructing such a system specifically for your problem...
At least in Redhat Enterprise Linux land, I haven't hit any problems of this sort. I have some production Oracle RAC clusters running auto-update for the past 6-8 months or so without a hitch.
Systems Administration is still a pretty complex and ill-understood skilled profession, at least in the *nix-world. It's a mistake to try to outsource this to the lowest bidder, and that mistake will be apparent. We might all have to get laid off first, but eventually things will be forced to turn around. Big unix environments simply can't be run without skilled administrators, and none of the tools available today change that. They might obviate the need for hoards of "operators", but you still need the skilled "administrators" who might be better called systems engineers and architects.
I think the "backdoor" is just a user/pass entry in some config file (like a.htaccess-like file), or at least that would be my guess, and wouldn't involved any source code changes. I don't own one, so no real idea.
A freind of mine wrote a real time raytracing engine as an assembly demo on an 80386 back in 1993 or so. Doing "real time raytracing" isn't that hard, it's doing it with complex objects, lots of light sources, and high resolution, that becomes a problem. IIRC, his was in 320x240, and was only rendering half the lines on the screen (effectively 160x240), and the scene was just moving through a dullish rocky martian landscape with a setting sun as the only lightsource.
My point being, it's not a great feat to do realtime raytracing, it's just a great feat to harness enough hardware power or come up with enough optimization tricks (without cheating and make it of lesser quality than a real raytrace) to do big nice-looking things with it.
Since I never learned to type properly like typists do, I ended up evolving into a slight variation of proper typing that I'm sure is common among programmers. I essentially do the same thing as standard typing, but I learned to only use three fingers of my left hand for characters, leaving the pinky free solely for Shift and Ctrl. Which means when I have to type SOME_LONG_UPPERCASE_CONSTANT_NAME_OR_SOMETHING, I just hold my pinky down on shift and keep typing int he same pattern I always do.
Some keyboards are PS/2+USB on the inside, and use a very simple passive PS2USB adapter. The adapter doesn't do any of the neccesary protocol conversion, it just let's the keyboard's internal dual-mode PS/2 and USB logic talk the right way to the PC.
If the keyboard is truly USB-only or PS/2-only, then you need a bulkier active adaptor which actually translates between the two protocols
It does compile out of the box on modern systems. I use it for 5 different domains that I administer. The latest time I set it up, it was on a Gentoo Linux box, I just had to emerge the package and was good to go. It is maintained, but the author doesn't see a pressing need for any changes to its functionality. It's simple, secure, and does everything an authoritative dns server should do correctly.
I don't know what third-party documentation you're referring to, but most people just read how to configure it from the djbdns official site at http://cr.yp.to, which suggests no bad configurations. If you'd like I could write a third party document for how to fuck up BINDs configuration too:)
Perhaps one of the most important aspects of djbdns is that it avoids lots of complexity and security problems by fulling seperate authoritative nameserving of data from caching resolver servers for clients - they're actually two seperate unrelated programs.
Oh yeah, and the next logical question would be, of course, *why* are the java apis worse at source code portability than the C ones? Because they try to completely abstract away any notion of what a machine might be like, where as the C library equivalents only abstract as much as neccesary. As we all have heard from Joel on Software, all abstractions are leaky, and the more abstracted you get, the leakier you get.
Both Pure C and Pure Java are in fact write once run anywhere. The only difference is the Compile phase. Pure C is write once, compile everywhere, run everywhere. Pure Java is write once, compile once, run everywhere.
The problem is that both Pure C and Pure Java offer very very little in terms of useful I/O capabilities to and from GUIs, Networks, etc. You build libraries for this stuff around the Pure language, which understand the differences between platforms and take them into account. Both C/C++ libraries and the various java apis/libraries do these things, in pretty much the same fashion.
My argument was that well-written multiplatform C/C++ libraries (like glib/gdk/gtk, or qt in the other poster's case) tend to do a better job of truly "write once run everywhere" than the Java environment does with its apis.
So the tradeoff, to me, is that I can acheive *better* source-code portability across platforms with a well-written peice of C software than I can with Java, at the expense of having to explicitly compile this multiplatform code once for each platform I wish to support.
"Truly write once, Compile everywhere, Run everywhere" vs "Fake marketing write once that's really write everywhere, Compile once, Run everywhere"
Big companies never catch the bug because something works, they catch the bug because it makes them money. The two are usually orthogonal. Calling someone a dumbass is a sure sign you're argument is going nowhere, so you might as well stop. I'm not a dumbass, neither is the parent, and I still wholeheartedly believe that software engineer and society in general would be better off if Java had never come to be.
1) In Texas, people are becoming aware of the pasing issues. They've had big signs up on the major interstates for years now that say "Slower traffic must keep right", and recently in Houston the local news covered some new more specific laws (don't know if they're state, county, or local) that made the left-lane passing-only on multi-lane roads.
2) A person going the speed limit in the left lane has no reason to believe that nobody has the right to pass him. Speed limit laws and passing laws are entirely seperate orthogonal issues. The guy doing 90 is violating a speeding law, and you are violating a passing law by sitting in the leftmost lane at 55 when he wants to pass you. You are each breaking a different law. However, the speeder is breaking his law for whatever reason (a no good reason usually, but for all you know maybe he's in an emergency of some sort) - whereas if you refuse to let him pass you're breaking the law vigilante style (I'll break the law to prevent him from breaking the law), which is clearly unacceptable.
The more I heard about genetic codes, the more they resemble certain thigns in the computer world to me. Probably convergent evolution of sorts. Sounds like they've been staring at an incomprehensible data-set they were examining byte by byte to understand where the data was stored in what format. They found isolated bits that matched up and identified their purpose, but large amounts of the code remained a mystery. Then with this discovery, they just realized that they're actually staring at a huge peice of mixed data and code (probably in some cases dual-purpose bits which are both data and code) - just like in the computer case. Well, not so much in a high level language's case, but remember when people used to write ultra-compact self-modifying code/data in asm? When you think about it, for any given computing problem that can be solved by some chunk of code and data, the most space-efficient hyper-optimal way to do it usually ends up being self-modifying assembler "code", which re-uses code for data and data for code where possible.
It is of course mind-bogglingly complex to write code in this fashion for any sufficiently complex software, which is why we only tend to have examples of this on very small scales (tiny little DOS programs and simple virii back then).
But.. if that's the most efficient way to pack the functionality into a small space - and if writing DNA is similar in nature to writing assembler code - then evolution would naturally gravitate towards this method of encoding, eventually becoming such a complex self-modifying code/data mess that it causes us all these problems trying to unravel it.
Re:He seems a dangerous driver (serious)
on
LA to Oregon at Mach 9
·
· Score: 2, Informative
Nope. His wording makes it sound funny because he's stating things a little differently than the law does, but he's essentially correct for how the TX traffic laws are. I think it's reasonable of me to assume that other states (at least some of them) would be similar.
"Slower traffic keep right" is a legal obligation - so if you're going slower than someone and you don't yield to the right to allow them to pass on the left, you can be ticketted for it. The "passing lane" is always the leftmost - it is never explicitly designated to be anywhere else. On multi-lane freeways (I don't know if this starts at 3 or 4 lanes), the leftmost lane is considered a true "passing-only lane", which is to say that not only do you have an obligation to yield out of it for faster traffic - you have a legal obligation to not be in the lane to begin with unless you're in the act of passing someone else, or you're in an emergency (or you're a cop/ambulance/firetruck with the lights running). This rule breaks down in heavier traffic, never seen it enforced at those times, but I'm not sure if they actually wrote in an exception to the law for heavy/slow traffic.
A lot of internal modems are winmodem-style or something like it these days. Just get a good old external modem on a serial port. As long as it supports AT commands you're gtg in any OS that supports modems and serial ports in general. Or if you wanna get all high-tech about it, get a USB modem that does serial-over-USB and acts like a plain external modem on a serial port.
There's really no such thing as a hardware firewall. All hardware firewalls are in fact software firewalls running on a peice of hardware, just like all software firewalls do. Perhaps a better re-statement of your point is to say that you should use a seperate non-windows-based firewall rather than one which is installed locally on the windows machine. Personally I use a Sparc/Linux box for this, but you can have good results just using a netgear nat box or something. NAT is the ultimate home firewall anyways, just dont start routing inbound ports through it to your PC and you're gtg.
Even if you do acces control by MAC address or VPN login as others have stated, students will just swap wireless cards or vpn logins with someone on a different schedule when they need to.
I have a great notes/todo app I use called mindcontrol. I wrote it myself in C using GTK, pthreads, and libxml2. I made it as a "thoughts/notes organizer" of sorts, it's got an explorer-like tree on the left pane, and the right pane is the contents of a node. You just create a heirarchy of nodes in whatever way suits your brain and type or paste text into the contents of the nodes on the right pane. Supports pruning and grafting nodes to rearrange your tree of stuff.
I mainly wrote it as an exercise in 3 concepts (one of which I never got around to), multithreaded programming, implicit autosaving with no filenames to worry about or find, and infite undo/redo saved between sessions (which I never got around to).
Your tree is always stored in ~/,mindcontrol.xml. It gets autosaved on the fly the whole time you're typing. You just exit, or even kill -9 it, at will whenever you want and it always shows the same stuff the next time you open it. There's a seperate thread for saving to disk which saves insanely frequently in the background while you type.
There are no menus, just 6 buttons across the top for Creating, Destroying, Pruning, and Grafting nodes, a Prefs button (there's two prefs, word wrapping and confirmation of node destruction), and a Quit button.
I originally wrote it some 2-3 years ago, and much to my surprise I compiled the old source on a recent gentoo box and still compiles and runs fine. I still never published it, but if anyone thinks it might be useful to anyone but me I could slap it on sourceforge or something.
In my case, I've been dying to get these split in TX for a long time. I don't *want* local phone service. All I want is DSL. I have a cellphone, and a VoIP service that also simul-rings my cellphone. All I need from a hardwired local provider is broadband. I'd much rather have DSL than cable, but SBC forces me to buy local voice phone service in order to buy their DSL.
Ok a couple minutes later here I did find a trace of it (pun intended). In '98 the guy made a crappy homepage, and one of the sections was on his "landscape raytracing". See web.archive.org url here (site is long dead): http://web.archive.org/web/20000420045611/www.lei
The program itself isn't there on that site, but web.archive.org captured some of the resultant artwork. You'll notice he claims he generated them with a raytracer he wrote in assembler in less than 4000 bytes, and the only image that archive.org managed to grab (http://web.archive.org/web/19991103074008/www.le
I still have some contact info for him if you wanna set up a junk hotmail account to receive it or something if you want more details for historical purposes.
Don't know if you're still reading this AC, but I'll go search around a bit if you bookmark this spot. The guy was a high school freind of mine, I doubt it was published in the demo scene, but I think he might still have a copy on a website of his.
I think that where driver education courses fail our youth is in not teaching them the true handling characteristics of cars and what the limits feel like. In addition to the education they give today, I really feel they should delve deeper into the physics of car handling and traction, the differences between FWD/RWD/AWD handling. Similarly, they should add an extra day to the end of the practical driving where they let the kids break the wheels loose in various ways on wet and dry pavement to give them a feel for what happens, how to feel it coming, and how to prevent or correct it.
My test was on a dual P4 (hyperthreading). Running a single instance of the code only locked a single cpu. I just played with it again, and running 4 instances locked the box. So RHEL3 is vulnerable, and a correct description of the problem is that the exploit locks up 1 cpu in an endless loop that cannot be stopped. For systems with multiple CPUs, you have to do this once for each cpu (twice for each physical cpu if hyperthreading) in order to lock the whole box up.
Tested their code on Redhat ES 3.0 with all current updates applied (2.4.21-15.ELsmp - they haven't released any new kernel updates specific to this problem). The process will suck up a cpu spinning in a tight loop, and is unkillable (even as root with kill -9), but it does not crash the system.
Redhat seems to have different code in signal.c around the area the signal.c patch mentions, but does not have the i387.h patch.
The problem is that your sentence "The probably that an arbitrary program halts is the random real number that Chaitin had been searching for" is not a valid expression in the arithmetical set of axioms that we're working in, and can't be translated into one. Godel worked around this by making his own system that assigned numbers to letter of the alphabet or some such mess I forget - but I don't think you can use this in this case without constructing such a system specifically for your problem...
At least in Redhat Enterprise Linux land, I haven't hit any problems of this sort. I have some production Oracle RAC clusters running auto-update for the past 6-8 months or so without a hitch.
Systems Administration is still a pretty complex and ill-understood skilled profession, at least in the *nix-world. It's a mistake to try to outsource this to the lowest bidder, and that mistake will be apparent. We might all have to get laid off first, but eventually things will be forced to turn around. Big unix environments simply can't be run without skilled administrators, and none of the tools available today change that. They might obviate the need for hoards of "operators", but you still need the skilled "administrators" who might be better called systems engineers and architects.
I think the "backdoor" is just a user/pass entry in some config file (like a
A freind of mine wrote a real time raytracing engine as an assembly demo on an 80386 back in 1993 or so. Doing "real time raytracing" isn't that hard, it's doing it with complex objects, lots of light sources, and high resolution, that becomes a problem. IIRC, his was in 320x240, and was only rendering half the lines on the screen (effectively 160x240), and the scene was just moving through a dullish rocky martian landscape with a setting sun as the only lightsource.
My point being, it's not a great feat to do realtime raytracing, it's just a great feat to harness enough hardware power or come up with enough optimization tricks (without cheating and make it of lesser quality than a real raytrace) to do big nice-looking things with it.
Since I never learned to type properly like typists do, I ended up evolving into a slight variation of proper typing that I'm sure is common among programmers. I essentially do the same thing as standard typing, but I learned to only use three fingers of my left hand for characters, leaving the pinky free solely for Shift and Ctrl. Which means when I have to type SOME_LONG_UPPERCASE_CONSTANT_NAME_OR_SOMETHING, I just hold my pinky down on shift and keep typing int he same pattern I always do.
Some keyboards are PS/2+USB on the inside, and use a very simple passive PS2USB adapter. The adapter doesn't do any of the neccesary protocol conversion, it just let's the keyboard's internal dual-mode PS/2 and USB logic talk the right way to the PC.
If the keyboard is truly USB-only or PS/2-only, then you need a bulkier active adaptor which actually translates between the two protocols
It does compile out of the box on modern systems. I use it for 5 different domains that I administer. The latest time I set it up, it was on a Gentoo Linux box, I just had to emerge the package and was good to go. It is maintained, but the author doesn't see a pressing need for any changes to its functionality. It's simple, secure, and does everything an authoritative dns server should do correctly.
I don't know what third-party documentation you're referring to, but most people just read how to configure it from the djbdns official site at http://cr.yp.to, which suggests no bad configurations. If you'd like I could write a third party document for how to fuck up BINDs configuration too
Perhaps one of the most important aspects of djbdns is that it avoids lots of complexity and security problems by fulling seperate authoritative nameserving of data from caching resolver servers for clients - they're actually two seperate unrelated programs.
Oh yeah, and the next logical question would be, of course, *why* are the java apis worse at source code portability than the C ones? Because they try to completely abstract away any notion of what a machine might be like, where as the C library equivalents only abstract as much as neccesary. As we all have heard from Joel on Software, all abstractions are leaky, and the more abstracted you get, the leakier you get.
Both Pure C and Pure Java are in fact write once run anywhere. The only difference is the Compile phase. Pure C is write once, compile everywhere, run everywhere. Pure Java is write once, compile once, run everywhere.
The problem is that both Pure C and Pure Java offer very very little in terms of useful I/O capabilities to and from GUIs, Networks, etc. You build libraries for this stuff around the Pure language, which understand the differences between platforms and take them into account. Both C/C++ libraries and the various java apis/libraries do these things, in pretty much the same fashion.
My argument was that well-written multiplatform C/C++ libraries (like glib/gdk/gtk, or qt in the other poster's case) tend to do a better job of truly "write once run everywhere" than the Java environment does with its apis.
So the tradeoff, to me, is that I can acheive *better* source-code portability across platforms with a well-written peice of C software than I can with Java, at the expense of having to explicitly compile this multiplatform code once for each platform I wish to support.
"Truly write once, Compile everywhere, Run everywhere" vs "Fake marketing write once that's really write everywhere, Compile once, Run everywhere"
Big companies never catch the bug because something works, they catch the bug because it makes them money. The two are usually orthogonal. Calling someone a dumbass is a sure sign you're argument is going nowhere, so you might as well stop. I'm not a dumbass, neither is the parent, and I still wholeheartedly believe that software engineer and society in general would be better off if Java had never come to be.
Two points here -
1) In Texas, people are becoming aware of the pasing issues. They've had big signs up on the major interstates for years now that say "Slower traffic must keep right", and recently in Houston the local news covered some new more specific laws (don't know if they're state, county, or local) that made the left-lane passing-only on multi-lane roads.
2) A person going the speed limit in the left lane has no reason to believe that nobody has the right to pass him. Speed limit laws and passing laws are entirely seperate orthogonal issues. The guy doing 90 is violating a speeding law, and you are violating a passing law by sitting in the leftmost lane at 55 when he wants to pass you. You are each breaking a different law. However, the speeder is breaking his law for whatever reason (a no good reason usually, but for all you know maybe he's in an emergency of some sort) - whereas if you refuse to let him pass you're breaking the law vigilante style (I'll break the law to prevent him from breaking the law), which is clearly unacceptable.
The more I heard about genetic codes, the more they resemble certain thigns in the computer world to me. Probably convergent evolution of sorts. Sounds like they've been staring at an incomprehensible data-set they were examining byte by byte to understand where the data was stored in what format. They found isolated bits that matched up and identified their purpose, but large amounts of the code remained a mystery. Then with this discovery, they just realized that they're actually staring at a huge peice of mixed data and code (probably in some cases dual-purpose bits which are both data and code) - just like in the computer case. Well, not so much in a high level language's case, but remember when people used to write ultra-compact self-modifying code/data in asm? When you think about it, for any given computing problem that can be solved by some chunk of code and data, the most space-efficient hyper-optimal way to do it usually ends up being self-modifying assembler "code", which re-uses code for data and data for code where possible.
It is of course mind-bogglingly complex to write code in this fashion for any sufficiently complex software, which is why we only tend to have examples of this on very small scales (tiny little DOS programs and simple virii back then).
But.. if that's the most efficient way to pack the functionality into a small space - and if writing DNA is similar in nature to writing assembler code - then evolution would naturally gravitate towards this method of encoding, eventually becoming such a complex self-modifying code/data mess that it causes us all these problems trying to unravel it.
http://slashdot.org/comments.pl?sid=109652&thresho ld=-1&commentsort=0&tid=133&mode=thread&pid=931323 0#9314345
Nope. His wording makes it sound funny because he's stating things a little differently than the law does, but he's essentially correct for how the TX traffic laws are. I think it's reasonable of me to assume that other states (at least some of them) would be similar.
"Slower traffic keep right" is a legal obligation - so if you're going slower than someone and you don't yield to the right to allow them to pass on the left, you can be ticketted for it. The "passing lane" is always the leftmost - it is never explicitly designated to be anywhere else. On multi-lane freeways (I don't know if this starts at 3 or 4 lanes), the leftmost lane is considered a true "passing-only lane", which is to say that not only do you have an obligation to yield out of it for faster traffic - you have a legal obligation to not be in the lane to begin with unless you're in the act of passing someone else, or you're in an emergency (or you're a cop/ambulance/firetruck with the lights running). This rule breaks down in heavier traffic, never seen it enforced at those times, but I'm not sure if they actually wrote in an exception to the law for heavy/slow traffic.