Domain: milk.com
Stories and comments across the archive that link to milk.com.
Comments · 60
-
Re:PGP/GnuPG secure. Yea right!
And according to this guy, the NSA is about 200 years ahead of academia in maths.
-
Heavy boots!!An informal poll, about gravity..
Also interesting, from a different perspective, is the first part of this Alan Kay essay. -
Re:Jason??
No -- the people who interface between the NSA and the Grays
-
Re:Get McDonalds to Accept CASH (2 dollar bills)fi
You wouldn't be related to this guy, by any chance.
-
Re:Picture of bills with US bill
Or, for something more amusing, this.
http://www.milk.com/wall-o-shame/two_dollars.html. -
Re:Precedence and Associativity cause Unreadable CThe ScriptX programming language from Kaleida was like what you describe: essentially a multimedia object oriented cross platform lexically scoped Lisp, Scheme or more specifically Dylan, but with a simple, more traditional surface syntax.
The ScriptX parser allowed you to type in a straightforward javascript-like syntax, with traditional infix notation, precedence rules and other additional syntactic sugar.
The parser transformed text into a parse tree, that was like Lisp s-expressions. ScriptX macros operated in terms of those parse trees, not the surface syntax. So internally it even had "downward passing" continuations (that you couldn't pass outside of the scope they were created), but the parse trees were compiled into a byte code, not unlike the Java virtual machine (which explains why it didn't support fully general continuations).
So you could implement any number of different surface syntaxes for ScriptX, by writing different parsers. My trusty Kaleida colleague DanFuzz wrote a traditional Scheme parser for ScriptX.
ScriptX was a lot like Dylan with a cross platform multimedia class library. It was essentially a Lisp-like language, designed around an object system and class library, more dynamic like CLOS than static like Java. Unlike Java, all data types including integers and arrays are first class objects.
ScriptX had a rich set of polymorphic container classes, much more dynamic than STL, that made heavy use of multiple inheritance.
The container classes (like arrays and maps) were supported by the language sytax, and mixed into many system classes, so you could easily treat windows as arrays, looping over their subwindows, filtering collections of objects through functions and type conversions with "pipes", mix collections into your own classes so they're easy to use through well supported interfaces, etc.
ScriptX had built-in high level time synchronization and graphics classes, including QuickTime movies, sprite graphics like Director, and vector graphics similar to Flash.
One of the great things about ScriptX, which also applies to CLOS and Dylan which inspired it, is its wonderful dynamic objects system. Programming in C++ and STL is totally miserable after having been exposed to ScriptX and CLOS.
For example, I subclassed ScriptX container classes like Array to implement ScriptX Classes for automatically generating HTML, that macros can plug together like legos and dynamically expand into complex web pages.
The ScriptX Tracking Service is a good example of using multiple inheritance with the container and presentation classes.
There's an abstract class called Tracker (that inherits only from RootObject): "This mixin class gives an object the ability to track the mouse, by participating in the tracking service protocol. You can mix Tracker in with presentation and model objects to implement all kinds of direct manipulation interfaces.".
The abstract Tracker class is subclassed by the concrete leaf class TrackerCachedPresenter, and also by another abstract class, TrackerMulti, which implement the recursive tracking protocol. TrackerMulti is then mixed down into concrete with the various container presentation classes TrackerMultiPresenter, TrackerGroupPresenter and TrackerTwoDSpace.
ScriptX was great fun to think and program in. It was an ideal language for developing an open ended platform for plugging together dynamically loaded interactive multimedia objects like Legos.
At the time (1995), Java was no nowhere near capable of doing anything like that on the Mac, Windows and OS/2. With regard to more modern languages, Python is most exciting dynamic and practical programming language around.
The best thing about Python, is that it's completely open source.
It's not tightly controled by a short sighted company that only intends to use it in their religious Jihad against Microsoft, like Java.
And it's not proprietary, jointly developed by strange bedfellows Apple and IBM, and swept under the rug, like Kaleida's ScriptX was.
So Python will be around forever, while quickly and naturally evolving, because it has earnestly learned so many lessons from Lisp and other languages.
Q: What do you get when you cross Apple and IBM?
A: IBM.
-Don
-
Re:Don't watch television.
Don't watch TV; just drink Milk.
-
Snake Oil
To quote a friend at Motorola, "If a cheap add-in would help your signal, don't you think we'd ship phones with it installed?"
But if you buy one, you might also be interested in this product for your TV.
-
Re:Grocery cards?
It all depends on the supermarket in question (I work for one so my views might be a little biased, bet hey, here they are). From what I've read, Safeway is the worst-case senario when it comes to supermarkets. There aren't any in my area so I don't have any first-hand experience with it.
The supermarket I work for has a "shopper card" program (I believe it was the first supermarket to have one). On the application (which just asks for name and address) you have the choice not to receive any mailings or have your purchases tracked for marketing purposes. Yes, the store does track your purchases but that data isn't collected with your personal info. Any mailings are send out by the store; personal information and shopping records don't leave the company.
For example, let's say Brand "K" wants to increase sales of their cereals. They'll have the store send out coupons to customers who have been regularly purchasing Brand "G" or Brand "P" cereals as an incentive to get them to switch.
As I said, it all depends on the supermarket, so YMMV.
But, if you're so inclined to be anonymous, fill out the application to get the card and then (like you said) generate your own barcode for it. Go to this site http://www.milk.com/barcode and enter a fake number. This will work for most stores that use a standard UPC barcode (12 digit) and most do, especially if they have IBM registers (which most do). The first digit is a 4, the next 10 can be your random choosing, the the 12th is the check digit that will be calculated by the CGI script.
But, IMHO, the real problem right now is companies that store your personal information in internet-accessable databases that are full of security holes that almost any script kiddie could break into. THAT is the real privacy danger and that's probablly why Microsoft, Sun, and AOL say that its "too expensive" to protect privacy. Any legislation passes to protect provacy could make them liable for security holes in their software. -
Re:In more detail
Certain experiences have come close. I direct you to the story What Not To Write On Your Security Clearance Form.
--