Personally I think 2006-2008 version had the best overall usability. That's also the last version that was compatible with pretty much any web browser.
Are you familiar with Inline::C? It lets you write Perl functions in C. The C code lives in the same file as the Perl code and is transparently compiled on an as-needed basis. Best of both worlds kind of thing. BTW, I write my image processing code the same as you: C for heavy lifting and Perl for all the rest.
We have, they're called multi-level cells. They improve memory density but at a cost of increased complexity, lower speed, higher susceptibility to noise, higher power consumption, and decreased lifetime. Decimal arithmetic was used on at least one early computer (ENIAC) but binary circuits were found to be much simpler to design and implement. The only modern non-binary digital computer that I'm aware of is the Soviet Setun that used ternary (tri-state) logic.
That looks a lot like Nedit (for X11). Mouse handling seems pretty similar. Sounds like SV predates Nedit though. Cut my teeth programming on the ST, don't know how I missed SV (mind you, GFA Basic had a pretty nice IDE for the day).
A good defense against this kind of attack is to 1) use a per-page nonce, 2) use an HTTP POST for all page loads, and 3) use HTTPS for all traffic. On every page load the nonce present in the POSTed form is compared to the nonce stored on the server. If the nonces match then the page along with a new nonce is generated and returned to the client; the new nonce also replaces the old one on the server side. If the nonces do not match then an error is returned. Simply knowing the page's URL does not allow one to retrieve the page even if one is seen as being logged in (e.g. via a cookie). In addition, this technique provides a good deal of defense against replay attacks and session hijacking. Note, however, that this technique can be partially defeated if the attacker has some other way of retrieving the source of the actual page displayed in the user's browser. A full security analysis is left as an exercise for the reader;^)
Looks like Earthstorm. One of those rare movies that's so bad that it's actually pretty fun.
Re:That's what you get for running Ubuntu
on
Ubuntuforums.org Hacked
·
· Score: 4, Informative
Um, what? For the base server install you get no network services installed whatsoever (not even SSHd). As for size, a base install of the current server version of Ubuntu is ~64MB of disk space IIRC. That's hardly what I'd call bloated.
If only they had labeled, with the arrow, the words "up", and put another arrow down, with the letters "dn" for "down", then none of this would have happened.
Except that "dn" upside-down is indistinguishable from "up". Murphy strikes again?
IINAScientist but here's how I understand it. Three-dimensional crystals form a regular, repeating lattice in the three spacial dimensions. These lattices are stable and need no energy input to retain their structure. Hypothetically, time crystals extend that lattice into a fourth dimension (time), treating time more-or-less as a spacial dimension. Given that the structure is crystalline, no energy is needed to maintain it even though its 3-dimensional structure, dimensions, etc. may appear to vary over time. Such structures are so far only hypothetical; the goal of this experiment is to attempt to create one.
IANAA but as I understand it a Dyson Sphere should have a pretty big infrared signature and (probably) not much in the way of other emissions. This is because if all of the contained star's energy output is being captured and used then the waste product (i.e. heat) has to be dumped somewhere (namely outside the sphere). Not sure how one would detect a ringworld though...
AFAIK commits are identified with a 160-bit SHA-1 hash of the commit. One property of hashes is that they turn a variable-length input string into a constant-length string of bits. Since there are an infinite number of strings greater than 160 bits in length there must be collisions in the hashes of some of those strings. Thanks to the birthday paradox the probability of collisions in a given set is a lot higher than one would think.
An toy example of hashing might be useful. Let's define a hashing algorithm that takes an arbitrary-length number as input and returns a single digit hash value:
Hash(string) = SumOfAllDigits(string) MOD 10
Using this hashing function Hash(123) = 6, Hash(12391) = 6, Hash(88) = 6, Hash(6) = 6, etc. As you can see there are an infinite number of input strings that hash to the same (fixed-size) output value (this property is common to all hashing algorithms). Something else to notice is that input strings can appear quite different but hash to the same value (e.g. 12391 and 88 both hash to 6 even though they are different lengths and have no common digits).
Apart from the straw man at the end all your examples involved opposing violence or hatred in some form. I think what the previous poster was alluding to was hating people who are causing no harm to anyone simply because their existence reminds you of something that you hate about yourself. Some better examples:
Hating asians because you have three black grandparents and one asian one and you think that fact goes against your black identity.
Hating muslims because one of your grandparents was muslim and the other three jewish and you feel this goes against your jewish identity.
Hating women because you are a man who is secretly transgendered and feel your culture won't let you express your identity.
And, of course, hating all queer folk because you are secretly a lesbian and your church won't let you express your identity.
It all boils down to hating oneself. Some people face the fact that they are a certain way and choose to love themselves for who they are. Others try to externalize their self-hatred by attacking others like themselves.
There's no need to transmit or store a password in the clear at an time. For example:
When choosing a password:
1) User chooses a password which is then hashed on the client side. 2) The hashed password is then transmitted over a secure channel to the server. 3) The server stores the hashed password in its user database.
To authenticate a user one can do the following:
1) The server chooses a random value (a nonce). A nonce is used to prevent replay attacks. 2) The plaintext nonce is transmitted to the client. 3) The client hashes the nonce using the user's hashed password. (This can be done e.g. by appending the nonce to the hashed password and taking the SHA-1 hash of the resulting string.) 4) The hashed nonce is then transmitted back to the server. 5) The server uses the user's hashed password (retrieved from its database) to hash the nonce that it sent to the client. 6) If the both hashed nonces are the same then the user is authenticated.
Additional layers of security can be added such as adding a salt to the initial password hash to defend against brute force and rainbow table attacks if the server's database is compromised.
I got into computing in the early '80s. Back then desktop computer hardware had a lot fewer abstractions. You really could tinker with things at a low level (both hardware and software). I'd say on the hardware side that ended with the advent of the PCI bus. All it took to add homebrew hardware with earlier buses (e.g. ISA) was to interface directly with the address and data lines; once PCI came on the scene you needed an interface layer between the bus and your hardware. On the software side of things I'd say the move away from a small number of standard and well-defined hardware platforms made it harder to write code for the bare metal. These days I still write a lot of code and do a bit of hardware hacking but these days it's either high-level PERL/C on top of Linux or low-level hardware hacking with microcontrollers and ICs. PC hardware long ago reached a "good enough" point for me; like you said 12-core Opterons just aren't that exciting.
That site has to be a parody.
Mind you, the 2006 version _was_ the apex of usability.
And I thought it was impossible to do worse than the /. beta site.
FYI, both pages are 404s because of the trailing slash. These links work:
http://www.eros-os.org/~shap/NT-EAL4.html
http://www.cygnacom.com/labs/cc_assurance_index/CCinHTML/PART3/PART36.HTM
1997-1998: Main page and story
1998-2006: Main page and story
2006-2008: Main page and story
2008-2010: Main page and story
2011-present: Main page and story
Personally I think 2006-2008 version had the best overall usability. That's also the last version that was compatible with pretty much any web browser.
Are you familiar with Inline::C? It lets you write Perl functions in C. The C code lives in the same file as the Perl code and is transparently compiled on an as-needed basis. Best of both worlds kind of thing. BTW, I write my image processing code the same as you: C for heavy lifting and Perl for all the rest.
We have, they're called multi-level cells. They improve memory density but at a cost of increased complexity, lower speed, higher susceptibility to noise, higher power consumption, and decreased lifetime. Decimal arithmetic was used on at least one early computer (ENIAC) but binary circuits were found to be much simpler to design and implement. The only modern non-binary digital computer that I'm aware of is the Soviet Setun that used ternary (tri-state) logic.
That looks a lot like Nedit (for X11). Mouse handling seems pretty similar. Sounds like SV predates Nedit though. Cut my teeth programming on the ST, don't know how I missed SV (mind you, GFA Basic had a pretty nice IDE for the day).
A good defense against this kind of attack is to 1) use a per-page nonce, 2) use an HTTP POST for all page loads, and 3) use HTTPS for all traffic. On every page load the nonce present in the POSTed form is compared to the nonce stored on the server. If the nonces match then the page along with a new nonce is generated and returned to the client; the new nonce also replaces the old one on the server side. If the nonces do not match then an error is returned. Simply knowing the page's URL does not allow one to retrieve the page even if one is seen as being logged in (e.g. via a cookie). In addition, this technique provides a good deal of defense against replay attacks and session hijacking. Note, however, that this technique can be partially defeated if the attacker has some other way of retrieving the source of the actual page displayed in the user's browser. A full security analysis is left as an exercise for the reader ;^)
Looks like Earthstorm. One of those rare movies that's so bad that it's actually pretty fun.
Um, what? For the base server install you get no network services installed whatsoever (not even SSHd). As for size, a base install of the current server version of Ubuntu is ~64MB of disk space IIRC. That's hardly what I'd call bloated.
If only they had labeled, with the arrow, the words "up", and put another arrow down, with the letters "dn" for "down", then none of this would have happened.
Except that "dn" upside-down is indistinguishable from "up". Murphy strikes again?
Looks like it's back to using the alternative.
IINAScientist but here's how I understand it. Three-dimensional crystals form a regular, repeating lattice in the three spacial dimensions. These lattices are stable and need no energy input to retain their structure. Hypothetically, time crystals extend that lattice into a fourth dimension (time), treating time more-or-less as a spacial dimension. Given that the structure is crystalline, no energy is needed to maintain it even though its 3-dimensional structure, dimensions, etc. may appear to vary over time. Such structures are so far only hypothetical; the goal of this experiment is to attempt to create one.
Ditto. 64mm > 6cm :^(
IANAA but as I understand it a Dyson Sphere should have a pretty big infrared signature and (probably) not much in the way of other emissions. This is because if all of the contained star's energy output is being captured and used then the waste product (i.e. heat) has to be dumped somewhere (namely outside the sphere). Not sure how one would detect a ringworld though...
And consumes ~10x the power (yes, I've measured it).
AFAIK commits are identified with a 160-bit SHA-1 hash of the commit. One property of hashes is that they turn a variable-length input string into a constant-length string of bits. Since there are an infinite number of strings greater than 160 bits in length there must be collisions in the hashes of some of those strings. Thanks to the birthday paradox the probability of collisions in a given set is a lot higher than one would think.
An toy example of hashing might be useful. Let's define a hashing algorithm that takes an arbitrary-length number as input and returns a single digit hash value:
Hash(string) = SumOfAllDigits(string) MOD 10
Using this hashing function Hash(123) = 6, Hash(12391) = 6, Hash(88) = 6, Hash(6) = 6, etc. As you can see there are an infinite number of input strings that hash to the same (fixed-size) output value (this property is common to all hashing algorithms). Something else to notice is that input strings can appear quite different but hash to the same value (e.g. 12391 and 88 both hash to 6 even though they are different lengths and have no common digits).
Sounds like the birthday paradox.
Apart from the straw man at the end all your examples involved opposing violence or hatred in some form. I think what the previous poster was alluding to was hating people who are causing no harm to anyone simply because their existence reminds you of something that you hate about yourself. Some better examples:
Hating asians because you have three black grandparents and one asian one and you think that fact goes against your black identity.
Hating muslims because one of your grandparents was muslim and the other three jewish and you feel this goes against your jewish identity.
Hating women because you are a man who is secretly transgendered and feel your culture won't let you express your identity.
And, of course, hating all queer folk because you are secretly a lesbian and your church won't let you express your identity.
It all boils down to hating oneself. Some people face the fact that they are a certain way and choose to love themselves for who they are. Others try to externalize their self-hatred by attacking others like themselves.
Or memory metal.
And that is why remote syslog* was invented...
* You can enable this in bash 4.2 by defining SYSLOG_HISTORY in config-top.h You'll also need to set up syslogd appropriately.
There's no need to transmit or store a password in the clear at an time. For example:
When choosing a password:
1) User chooses a password which is then hashed on the client side.
2) The hashed password is then transmitted over a secure channel to the server.
3) The server stores the hashed password in its user database.
To authenticate a user one can do the following:
1) The server chooses a random value (a nonce). A nonce is used to prevent replay attacks.
2) The plaintext nonce is transmitted to the client.
3) The client hashes the nonce using the user's hashed password. (This can be done e.g. by appending the nonce to the hashed password and taking the SHA-1 hash of the resulting string.)
4) The hashed nonce is then transmitted back to the server.
5) The server uses the user's hashed password (retrieved from its database) to hash the nonce that it sent to the client.
6) If the both hashed nonces are the same then the user is authenticated.
Additional layers of security can be added such as adding a salt to the initial password hash to defend against brute force and rainbow table attacks if the server's database is compromised.
3 kittens were harmed in making this post?
I got into computing in the early '80s. Back then desktop computer hardware had a lot fewer abstractions. You really could tinker with things at a low level (both hardware and software). I'd say on the hardware side that ended with the advent of the PCI bus. All it took to add homebrew hardware with earlier buses (e.g. ISA) was to interface directly with the address and data lines; once PCI came on the scene you needed an interface layer between the bus and your hardware. On the software side of things I'd say the move away from a small number of standard and well-defined hardware platforms made it harder to write code for the bare metal. These days I still write a lot of code and do a bit of hardware hacking but these days it's either high-level PERL/C on top of Linux or low-level hardware hacking with microcontrollers and ICs. PC hardware long ago reached a "good enough" point for me; like you said 12-core Opterons just aren't that exciting.