So I've been vaguely following QC for quite a while. It also sound really cool, but I have one persistent nagging question.
How do you control which way a quantum phenomenon resolves itself?
Under understand the idea that something can be in an indeterminate state and that observing it causes it to become determinate. It also makes sense that you could hook up a collection of indeterminate things to represent a problem and that the solution to that problem is one of the possible states of the entire system. What I don't get is how you can force the system to that state. Metaphorically it seems like all you can do is open the box and either the cat is dead or it isn't. What am I missing?
My understanding is that the color space used by digital cameras (256 values of red x 256 value of green x 256 values of blue) is both smaller and has less resolution than the color space of analog film. The color space for prints is more similar to that of digital cameras. This is one of the reasons that people doing digital film production generally use things like a 10bit log format (cineon) and 16bit per channel formats for final images.
Personally, I switched to using a digital camera over a year ago and I'm not looking back. I am very excited about the new wavy lens technology. However, I do wish computer technology would get to dealing with the color space issue. In my experience, blacks and greens in particular suck. I understand that some of the higher end digital camera can output images with more than 8bits per channel, but I don't know of any consumer grade cameras that do this or of any standard software packages that really take advantage of the extra bits.
Unfortunately it's a bit of a chicken and egg problem since there's no point in changing the cameras since most display and print technology can't display the extra bits and there's no point in changing the display and print technology since no one is producing higher bit depth images.
The way I see it the DMCA is just making copyleft and other open licenses that much more desirable. It's just speeding up the inevitable. When the restrictions created by DMCA start getting forced down everyone's throat, copylefted material looks better and better. The best response to the DMCA is to stop using content that is protected by it. It worked with shrink wrapped software. How many people out there remember the baroque (broke) copy protection schemes that were popular in the early '80s?
Even better, create and promote content that isn't created by the large corporations. Download MP3's that were made by people you *don't* hear on the radio and can't find in the local store. Create your own indexes of fame rather than letting the people who are addicted to owning content control that too.
S.R. Russell working with McCarthy noticed that an interpreter for the new programming language they were working on, Lisp, could be created by simply hand coding the function eval. He did that and poof an interpreter was born.
Now where's that calculation for an infinite improbability drive?
See http://www-formal.stanford.edu/jmc/history/lisp/no de3.html
The real issue is that it isn't only a translator it is also a regular emacs command. If you want a terse one-liner try:
(defun a-t(i)(concat""(mapcar#'(lambda(x)(let((n 0)(c 1))(while(> x 0)(incf n(if(oddp x)c 0))(setq c(* c 2)x(/ x 10)))n))i)))
This works under xemacs 20.4, but regular emacs 20.4.1 chokes on incf and oddp. They are however standard common lisp goodies. This code makes all kinds of assumptions about the format of the input, but then so do all the other solutions. Anyway to get it to run evaluate the above s-exp and then evaluate
What the heck, here's an elisp version. I'm sure this could be cleaner, but you get the idea.
Enjoy!
;; Convert a list of binary digits to a number. Lowest order bit ;; is the first element. E.g. (binlist-to-num '(0 0 1)) => 4 (defun binlist-to-num (bin) (if bin (+ (* 2 (binlist-to-num (cdr bin))) (car bin)) 0))
;; Switch to the *translation* buffer and interst the given text. (defun show-translation (translation) (switch-to-buffer "*translation*") (insert translation))
;; Go to the beginning of the current buffer and search for ;; sequences of 0's and 1's. Take at most 8 at a time. ;; Convert the resulting lists into numbers and then smash them ;; into a string. (defun translate-alien-binary () (interactive) (save-excursion (goto-char (point-min));; Go to the beginning of the buffer (let ((chars '()));; List of lists of 0's and 1's (while (re-search-forward "[01]" nil t);; Find the start of a sequence (backward-char 1);; Go back to the start (let ((count 0) (char '()));; List of 0's and 1's (while (looking-at "[01]");; Make sure we are still in the sequence (push (if (looking-at "1") 1 0) char) (incf count) (when (> count 8);; Reset if we get 8 (push char chars) (setq char '()) (setq count 0)) (forward-char 1));; Move along (unless (zerop count);; Keep last list (push char chars)))) (show-translation (concat "" (reverse (mapcar #'binlist-to-num chars)))))))
So I've been vaguely following QC for quite a while. It also sound really cool, but I have one persistent nagging question.
How do you control which way a quantum phenomenon resolves itself?
Under understand the idea that something can be in an indeterminate state and that observing it causes it to become determinate. It also makes sense that you could hook up a collection of indeterminate things to represent a problem and that the solution to that problem is one of the possible states of the entire system. What I don't get is how you can force the system to that state. Metaphorically it seems like all you can do is open the box and either the cat is dead or it isn't. What am I missing?
My understanding is that the color space used by digital cameras (256 values of red x 256 value of green x 256 values of blue) is both smaller and has less resolution than the color space of analog film. The color space for prints is more similar to that of digital cameras. This is one of the reasons that people doing digital film production generally use things like a 10bit log format (cineon) and 16bit per channel formats for final images.
Personally, I switched to using a digital camera over a year ago and I'm not looking back. I am very excited about the new wavy lens technology. However, I do wish computer technology would get to dealing with the color space issue. In my experience, blacks and greens in particular suck. I understand that some of the higher end digital camera can output images with more than 8bits per channel, but I don't know of any consumer grade cameras that do this or of any standard software packages that really take advantage of the extra bits.
Unfortunately it's a bit of a chicken and egg problem since there's no point in changing the cameras since most display and print technology can't display the extra bits and there's no point in changing the display and print technology since no one is producing higher bit depth images.
The way I see it the DMCA is just making copyleft and other open licenses that much more desirable. It's just speeding up the inevitable. When the restrictions created by DMCA start getting forced down everyone's throat, copylefted material looks better and better. The best response to the DMCA is to stop using content that is protected by it. It worked with shrink wrapped software. How many people out there remember the baroque (broke) copy protection schemes that were popular in the early '80s?
Even better, create and promote content that isn't created by the large corporations. Download MP3's that were made by people you *don't* hear on the radio and can't find in the local store. Create your own indexes of fame rather than letting the people who are addicted to owning content control that too.
S.R. Russell working with McCarthy noticed that an interpreter for the new programming language they were working on, Lisp, could be created by simply hand coding the function eval. He did that and poof an interpreter was born.
o de3.html
Now where's that calculation for an infinite improbability drive?
See
http://www-formal.stanford.edu/jmc/history/lisp/n
for more details.
Enjoy!
-Nathan
The real issue is that it isn't only a translator it is also a regular emacs command. If you want a terse one-liner try:
(defun a-t(i)(concat""(mapcar#'(lambda(x)(let((n 0)(c 1))(while(> x 0)(incf n(if(oddp x)c 0))(setq c(* c 2)x(/ x 10)))n))i)))
This works under xemacs 20.4, but regular emacs 20.4.1 chokes on incf and oddp. They are however standard common lisp goodies. This code makes all kinds of assumptions about the format of the input, but then so do all the other solutions. Anyway to get it to run evaluate the above s-exp and then evaluate
(translate '(
01001001 00100111 01110110 01100101 00100000 01100001 01101100
01110111 01100001 01111001 01110011 00100000 01101000 01100001
01100100 00100000 01110100 01101000 01100101 00100000 01100110
01100101 01100101 01101100 01101001 01101110 01100111 00100000
01110011 01101111 01101101 01100101 01101111 01101110 01100101
00100111 01110011 00100000 01110111 01100001 01110100 01100011
01101000 01101001 01101110 00101110 00101110 00101110
))
Enjoy!
What the heck, here's an elisp version. I'm sure
;; Go to the beginning of the buffer ;; List of lists of 0's and 1's ;; Find the start of a sequence ;; Go back to the start ;; List of 0's and 1's ;; Make sure we are still in the sequence ;; Reset if we get 8 ;; Move along ;; Keep last list
this could be cleaner, but you get the idea.
Enjoy!
;; Convert a list of binary digits to a number. Lowest order bit
;; is the first element. E.g. (binlist-to-num '(0 0 1)) => 4
(defun binlist-to-num (bin)
(if bin
(+ (* 2 (binlist-to-num (cdr bin)))
(car bin))
0))
;; Switch to the *translation* buffer and interst the given text.
(defun show-translation (translation)
(switch-to-buffer "*translation*")
(insert translation))
;; Go to the beginning of the current buffer and search for
;; sequences of 0's and 1's. Take at most 8 at a time.
;; Convert the resulting lists into numbers and then smash them
;; into a string.
(defun translate-alien-binary ()
(interactive)
(save-excursion
(goto-char (point-min))
(let ((chars '()))
(while (re-search-forward "[01]" nil t)
(backward-char 1)
(let ((count 0)
(char '()))
(while (looking-at "[01]")
(push (if (looking-at "1") 1 0) char)
(incf count)
(when (> count 8)
(push char chars)
(setq char '())
(setq count 0))
(forward-char 1))
(unless (zerop count)
(push char chars))))
(show-translation
(concat ""
(reverse (mapcar #'binlist-to-num chars)))))))