One thing that people often don't pay attention to is that fastmail.fm does a lot of Open Source work. One of the fastmail.fm crew, Bron Gondwana, has made extremely important contributions to the world's best, most scalable libre-software mail spool, Cyrus IMAP. He has commit rights upstream, and he has been a very active contributor and member of the community for a few years, now. fastmail.fm is a Cyrus IMAP shop, but they help other Cyrus IMAP users all the time in Cyrus the mailing lists, they have given us details about how to set up highly scalable and redundant multi-million-user setups many times now... And it is not rare to see Bron on the LKML (Linux Kernel ML) engaging the kernel developers to fix a kernel bug or two.
This is no publicity stunt, these guys are it: the email shop anyone who likes to tout around about the importance of FLOSS should vote for with their wallets.
Many thanks for these kind words - and thanks too for pointing out Bron's great work.
We're at a point now where every single piece of software we use, bar one, is open source. (The one exception is the RAID-monitoring tool that IBM requires for monitoring their RAID hardware.) Everything else, from programming languages, to operating systems, to system monitoring, email servers, web servers, anti-virus, anti-spam, and so on and so on, is all open source.
The reason we use open source for everything is that we can (and do) hack at the source to add features and fix bugs, we get direct access to the actual developers when we need help, we never have to rely on a third party to fix problems, and we get all the security benefits too.
I feel safe in speculating that if *you* will not pony up the emails to a US judge, the people who maintain the server farm *here in the US* will.
They can't - they have no access to the emails, because they can't login to the machines and they can't access the encryption keys for the data. All maintenance of the OS/software is done from Australia.
We've had a number of US-based law enforcement bodies over the year try to get hold of our data without going via the appropriate Australian bodies, and it doesn't work out for them. In the end, they have always ended up submitting a request for cooperation via the Australian Federal Police, as they are required to do, and we respond to that request in line with Australian law.
The web interface was written from scratch and has been continually developed over the last 10 years. It's not drag-n-drop because in our experience that's not the most powerful and efficient way to manage email. It's designed to be lean, yet powerful - but folks who want something simple and full of eye candy would be best off looking elsewhere, frankly.
It does use asynchronous requests (I hope you don't mind if I don't say "AJAX" - for many reasons, I can't stand that acronym) when it provides a real advantage. For instance, many parts of the interface appear/disappear without doing full page refreshes (for speed), to addressing fields in the Compose screen have a really powerful autocomplete system, and message composition is extended in a number of ways (such as inline spell-check and automated auto-formatting of plain-text emails).
Fastmail.fm apply a series of SMTP and content-level filters that cannot be disabled.
FastMail.FM has fewer global filters than any email provider I can think of. However, all large email providers need some - the first time a service gets hit by an SMTP-based DDOS they discover this!
Imagine you have a botnet of 100,000 computers all trying to open SMTP connections to your server and blast through email at the same time - that's not something you want to allow. So, we have a database of IPs which have attempted to DOS us in the last few hours, and block them at an IP level. That's why there's no ability to allow users to turn off this global filtering - since it happens at IP level, we don't even know which address they're attacking.
Because most IPs are dynamic, we expire them from the blocklist very quickly (unless they keep reappearing again and again), so that innocent bystanders don't get impacted.
You have no proof that you account wouldn't get frozen at fastmail. If the law says freeze the account then the company has no other choice.
FastMail.FM operates under Australian law, not US law (although the servers are in the US, they are owned by an Australian company). Australian privacy law offers more protection than almost anywhere else in the world. For instance, an Australian company that receives a request for information about an account under the Telecommuncations Act is legally required to not provide any actual email contents to the requesting law enforcement agency.
To have an account closed, law enforcement would have to jump through plenty of hoops first, and we'd check really carefully to be sure that the request was legally enforceable before we complied.
You can tell it's a slashvertisement when the URL is casually dropped four times in the title and summary
To the best of my knowledge, 'Siker' (the submitter of the article) is not affiliated with FastMail.FM in any way. And since I'm the Jeremy Howard in the interview, and I very rarely nowadays post whilst unconscious, I'm also fairly sure it wasn't posted by the interviewee.
Have you actually read the article? I did try hard in the interview to provide some actually useful info, regardless of whether you are an FM user or not. For example, I provided examples of how IMAP has been extended in recent times, and pointed to some interesting proposals which show where it's going in the future.
It looks like the standard account for fastmail.fm limits you to only 7 aliases.
You effectively have unlimited email addresses by using subdomain addressing. This lets you use [anything]@username.domain as an email address. Also, if you have a folder name called [anything] (i.e. with a matching name) then messages to that address are autofiled to that folder.
Personally, every time I give my address to a company (e.g. when subscribing to a service) I put the company's name in the [anything] slot, so I know who gave out my address if I get unsolicited mail (or to block over-zealous marketing from the company in question).
Disclaimer: I am the Jeremy Howard interviewed in the article.
Until this fall, our university was maintaining one of, if not the largest, Cyrus mail system in the world. Over 50,000 mailboxes generating an average of 4,000,000 transactions a day (peaking at 5,000,000), hosted on a cluster of SunFire servers and StorEdge/StorageTek SAN.
You were nowhere near to being the largest Cyrus installation. I would guess that my company, FastMail, is the largest. And I'll give you a hint - your university missed the whole point of how to run a successful Cyrus installation. Maybe next time they should hire some sysadmins who know what they're doing...
Until you've seen in real life a compiler error telling you that you accidentally tried to add a variable holding a distance in meters to one with a distance in feet, you don't know what you're talking about. Although people can find a way to break any language, some programming languages indeed are much more resistant to bugs than others.
In fact, the latest version of F# not only gives a compiler error, but Visual Studio shows the error in real time when units of measure don't match up. And it comes with a full set of SI units.
Best you can do is sign up to something like FastMail, jack up the spam filtering to aggressive or whitelist-only (bit nazi, but if you really want control...).
Actually, FastMail can help more than that - there's a new family email package which lets the parents configure their kids' accounts, and also lets them look at their mailboxes, so they can supervise their usage.
The webmail is the old-school bit -- no AJAX, but you can edit Sieve scripts and do lots of other fun stuff from the Options screen. I recommend them.
And apparently the owners read Slashdot. Oh wait, that's me!;) OK, so that makes me a little biased...
But I should add to your comments above that a new interface full of Javascripty goodness is on the way - it should be in beta in the next couple of weeks. You can see a mockup here: http://mockups.neilj.fastmail.fm/revision30/inbox.html (some things like the images on buttons aren't working in the mockup). There's lots of keyboard shortcuts, like '/' to search, and '.' to bring up an action menu. And of course, being FastMail, it downgrades gracefully - so if you don't have Javascript you can still use every feature.
To find out what other folks are saying, see this thread on the (independently run) FastMail forum: http://www.emaildiscussions.com/showthread.php?t=1560. It has over 300 comments about the service, written over the last seven years.
A properly-configured endpoint server should check addressee validity during the SMTP exchange, and reject the transfer before it even gets into the system, so the spammer's attempt goes nowhere and "Joe" doesn't get an unwarranted NDR.
...Except that this doesn't work if there is more than one recipient specified, and some of those recipients are valid users. SMTP has no way to "selectively bounce" - you either reject for all recipients, or you accept for all recipients and then send NDRs for the subset which are undeliverable.
This isn't filtering at the ISP level
The ISP is just being forced to provide filtering software at your request.
It's censorship... if you want it.
What's the big deal?
That's true - although I'm not sure that it's a great use of government funds.
If you're interested in the "mainstream" reaction to this when it happened, I was interviewed on Sunrise (Australia's highest-rating morning show) about it. You can see it here on Youtube.
BTW, mailblocks.com isn't free; it's $10/yr. However, that's still only half what fastmail.fm charges annually for their spam filtering service (with SpamAssasin).
Well, mailblocks.com is $24.95 for 50MB, whereas FastMail.FM is $19.95 for the same size. mailblocks.com say in their TOS that they give your details to 3rd parties and send you ads, whereas FastMail.FM says they won't give your details to anyone.
...I have realized that there is no email provider that offers the proper services:...
Oh yes there is! It's FastMail.FM. It's my service, so I oughta know!;-) I'll tackle each of your requests individually:
SSL for POP, IMAP, Web, and SMTP: Yes
SMTP auth so you can send from anywhere: Yes
Forward to and from other accounts: Yes
Fetch from other accounts: Yes
Disk storage: 10MB free, $25 for 100MB one-time upgrade fee
Download for archiving: Yes, there is a function on the web interface to have the server zip all messages before date x in folder y and download them to you, optionally deleting them after sending
On his web-site Mr Gilmore suggests contacting his provider (Verio) to let them know what you think. Sounds like a splendid idea to me. Here's the message that I sent (I don't believe in republishing other people's addresses, so I've anonymised them. The correct addresses are available from the toad.com URL linked below): ----
From: "Jeremy Howard" INVALID@fastmail.fm.INVALID To: "Darren Grabowski" INVALID@verio.net.INVALID Cc: "John Gilmore" INVALID@toad.com.INVALID,
"NOC Security" INVALID@noc.verio.net.INVALID,
" Vantive Updates" INVALID@vanwebserv.verio.net.INVALID Subject: Comments on open relay at toad.com
I am a director of FastMail.FM, a popular email provider. I would like to applaud you for trying to help rid the Internet of open relays. We have recently completed an analysis that suggested that for each 10,000 messages that arrives at our system from open relays, only one (on average) is valid email, while the remainder are unsolicated commercial email (UCE, or 'spam').
There is no valid reason to run an open relay SMTP server. There are many effective authentication mechanisms. For instance, at FastMail.FM we use SMTP AUTH, which our users have found to be a convenient and robust method for authenticating with our SMTP server. We also provide a web interface for sending email, which allows users without access to a client supporting SMTP AUTH (although most do) to compose messages, format text, spell check, maintain an address book, and so forth.
We block all messages from open relays, and we scan frequently used sending IP addresses for open relays automatically and send positive results to some DNSBLs such as ORDB.org. We would encourage you to do the same.
We have a very active user community that receives over a thousand posts a month by enthusiastic users. Every time open relay blocking has been discussed here by our users it has been overwhelmingly supported, as has the support of DNSBLs that list open relays.
We encourage you to maintain your stance on closing open relays. Furthermore, I hope that Verio will consider taking a more pro-active stance against "spammers" in the future--there are still numerous known spammers operating through Verio's network despite repeated emails to your abuse desk informing of the problem.
Thanks for you time,
Jeremy Howard
Director
FastMail.FM
Incidentally, you can buy domain-based E-mail redirection [dnscentral.com] for about $20 per year. So you can buy your own domain (maybe in.nom) just for forwarding purposes.
This is a good idea. But you can do it cheaper, with extremely reliable providers. You can get MX records or full forwarding for free from ZoneEdit. And you can get a domain for just $9 from GoDaddy. And you can forward it to account which you can access using IMAP with any mail client, or using the web, by using FastMail.FM.
This setup is that currently recommended by most of the community at http://www.emaildiscussions.com, which is the best place to find out about effective use of email.
When the site wants to get some data from the user, say the user's age or address, they don't query passport directly. What they do is redirect back to passport, passport generates a form with the values prefilled in. Then the user can edit those values, or just click submit, and the values are posted back to the original site.
Or you can just use the very cool (and free) RoboForm which sits in your toolbar and auto-fills forms that pop up in your browser (there are other form-fillers around but I haven't tried them).
This kind of software doesn't require you to submit your personal information to a centralised authority (it's stored on your PC), and you can keep multiple 'identities' and choose which to use to fill in a form. I keep 'complete', 'partial', and 'anonymous' identities which I use to decide how much (and how truthful) information I want to give to a site.
With an academic background in moral philosophy and today working as a developer of data mining systems, I can empathise with the author's frustration at trying to understand how (if at all) morality and AI intersect.
The main problem really is that the term 'AI' is applied to any algorithm for classification, prediction, or optimisation which operates using anything beyond a simple set of heuristics. Such algorithms seem magical to the lay-person, resulting in the over-enthusiastic application of the 'intelligence' moniker.
Summary 'AI' is a term used inappropriately for a range of algorithms that attempt to learn without having to specify an exact set of rules for every case. Although these algorithms are currently incapable of displaying real intelligence, it is possible that one day they may. This point is however debatable, and the interested reader should read for themselves the differing points of view of experts in the field, including Daniel Dennett, Roger Penrose, Steven Pinker, Richard Dawkins, and Douglas Hofstadter. If they do ever get to the point that they can act intelligently and flexibly, it will be important that they are trained with appropriate moral premises to ensure that there actions are appropriate in our society.
To understand these so-called 'AI' tools it is useful to develop a little structure...
Output AI tools are used for classification, prediction, or optimisation. Classification works by showing a computer a set of cases which have a number of properties (sex, age, smoker status, presence of cancer...), and 'training' the algorithm to understand the patterns of how properties tend to occur together. Prediction can then be used to show the algorithm new cases in which one or more of the properties are blank--the algorithm can use its classification training to guess the most likely values of the missing properties. For instance, given sex, age, and smoker status, guess the probability of presence of cancer. is a generalisation of classification--rather than training to minimise classification error, train to maximise or minimise the value of any modelled outcome. For instance, whereas an insurer could use classification algorithms to find the likelihood of someone dying by age x, an optimisation approach could be trained to find the price at which modelled profitability of an applicant is maximised.
Functional form AI tools create a mathematical function from their training. For instance for a classification algorithm this function returns the probability of a particular category for a particular case. The form of this function is an important factor in classifying AI tools. The most popular forms are 'neural networks' and 'decision trees'. Neural networks are interesting because certain types (networks with 2 hidden layers) can approximate any given multi-dimensional surface. Decision trees are interesting because given a large enough tree any surface can be approximated, and in addition a tree can be easily understood by a human, which is very useful in many applications. Other functional forms include linear (as used in linear regression which many will remember from school) and rule-based (as used in expert systems, and similar to a decision tree). One interesting functional form is the network of networks which combines multiple neural networks, feeding the output of one into the input of others. This forms allows the training of network modules that learn to recognise specific features, which is closer to how our brains work than the single network approach.
The most flexible functional form is that used by practitioners of genetic programming (which also defines a specific training function). Genetic programming creates a function which is any arbitrary piece of computer code. The code is often Lisp, although lower level outputs such as assembly language and even FPGA configurations have been used successfully.
Training function The training algorithm looks at the past cases and tries to find the parameters of the functional form that meet the classification or optimisation objective. This is where the real smarts come in. One naive approach is to try lots of randomly chosen parameters and pick the best. Genetic algorithms are a variant of this approach that pick a bunch of random sets of parameters, find the best sets and combine features from them, introduce a bit of additional randomness, and repeat until a good answer is found. Local/global search works by picking one set of parameters and varying each property a tiny bit to see whether the result is improved or gets worse. By doing this it locates a 'good direction' which it uses to find a new candidate set of parameters, and repeats the process from there. Hybrid algorithms are currently popular since they combine the flexibility of genetic algorithms with the speed of local search. Most neural networks today are trained with local search, although more recent research has examined more robust approaches such as genetic algorithms, Bayesian learning, and various hybrids.
Learning type Supervised learning approaches take a set of cases for training and are told "here is the property we will trying to predict/optimise, and here is it's value in previous observed cases". The algorithm then uses this context to find a set of parameters for the functional form using this context that the analyst provides. Unsupervised learning on the other hand does not specify prediction of any particular property as being the training goal. Instead the algorithm looks for 'interesting' patterns, where 'interesting' is defined by the research. For instance, cluster analysis is an unsupervised learning approach that groups cases that are similar across all properties, normally using simple measurements of Euclidian distance (that's just a fancy word for how far away something is when you've got more than one dimension).
Contextual learning is a far more interactive approach where the analyst interacts with an algorithm during training constantly providing information about what patterns are interesting, and where the algorithm should investigate next. Systems like Cyc use contextual learning to try to capture the rich understanding of context that humans can feed in.
AI and moral philosophy We are still a long way from seeing an algorithm that can interact in a flexible enough way that we could mistake it for human in a completely general setting (the Turing Test for intelligence). However, given the ability of flexible training functions such as genetic algorithms, we may find that one day an algorithm is given enough inputs, processing power, and flexibility of functional form that it passes this test. The 'morals' that it shows will depend entirely on the inputs provided during training. This is not like humans, who have some generally consistent set of moral rules encoded through evolutionary outcomes (for instance, tendency to care for the young and related). Our moral premises are the underlying 'givens' that form the foundation of what we consider 'right' and 'wrong'. Ensuring that an AI algorithm does not act in ways we consider inappropriate relies on our ability to include these moral premises in the input that we train it with. This is why Lenat talks about teaching Cyc that killing is worse than lying--this is potentially a moral premise. Finding the underlying shared moral premises of a society is a complex task, since for any given premise you can say 'why?' But repeatedly asking 'why?' you eventually get to a point where the answer is 'just because'--this is the point at which you have found a basic premise.
Summary 'AI' is a term used inappropriately for a range of algorithms that attempt to learn without having to specify an exact set of rules for every case. Although these algorithms are currently incapable of displaying real intelligence, it is possible that one day they may. This point is however debatable, and the interested reader should read for themselves the differing points of view of experts in the field, including Daniel Dennett, Roger Penrose, Steven Pinker, Richard Dawkins, and Douglas Hofstadter. If they do ever get to the point that they can act intelligently and flexibly, it will be important that they are trained with appropriate moral premises to ensure that there actions are appropriate in our society.
I hope that some of you find this useful. Feel free to email if you're interested in knowing more. I currently work in applying these types of techniques to helping insurers set prices and financial institutions make credit and marketing decisions.
Jeremy Howard
The Optimal Decisions Group
Many thanks for these kind words - and thanks too for pointing out Bron's great work.
We're at a point now where every single piece of software we use, bar one, is open source. (The one exception is the RAID-monitoring tool that IBM requires for monitoring their RAID hardware.) Everything else, from programming languages, to operating systems, to system monitoring, email servers, web servers, anti-virus, anti-spam, and so on and so on, is all open source.
The reason we use open source for everything is that we can (and do) hack at the source to add features and fix bugs, we get direct access to the actual developers when we need help, we never have to rely on a third party to fix problems, and we get all the security benefits too.
For those who are interested, we have some more details on FastMail.FM's software (and hardware) infrastructure on our site.
Jeremy Howard
FastMail.FM
They can't - they have no access to the emails, because they can't login to the machines and they can't access the encryption keys for the data. All maintenance of the OS/software is done from Australia.
We've had a number of US-based law enforcement bodies over the year try to get hold of our data without going via the appropriate Australian bodies, and it doesn't work out for them. In the end, they have always ended up submitting a request for cooperation via the Australian Federal Police, as they are required to do, and we respond to that request in line with Australian law.
Sorry - I forgot to add a disclaimer to my post: I am the Jeremy Howard of FastMail.FM who was interviewed in the article.
The web interface was written from scratch and has been continually developed over the last 10 years. It's not drag-n-drop because in our experience that's not the most powerful and efficient way to manage email. It's designed to be lean, yet powerful - but folks who want something simple and full of eye candy would be best off looking elsewhere, frankly.
It does use asynchronous requests (I hope you don't mind if I don't say "AJAX" - for many reasons, I can't stand that acronym) when it provides a real advantage. For instance, many parts of the interface appear/disappear without doing full page refreshes (for speed), to addressing fields in the Compose screen have a really powerful autocomplete system, and message composition is extended in a number of ways (such as inline spell-check and automated auto-formatting of plain-text emails).
FastMail.FM has fewer global filters than any email provider I can think of. However, all large email providers need some - the first time a service gets hit by an SMTP-based DDOS they discover this!
Imagine you have a botnet of 100,000 computers all trying to open SMTP connections to your server and blast through email at the same time - that's not something you want to allow. So, we have a database of IPs which have attempted to DOS us in the last few hours, and block them at an IP level. That's why there's no ability to allow users to turn off this global filtering - since it happens at IP level, we don't even know which address they're attacking.
Because most IPs are dynamic, we expire them from the blocklist very quickly (unless they keep reappearing again and again), so that innocent bystanders don't get impacted.
FastMail.FM operates under Australian law, not US law (although the servers are in the US, they are owned by an Australian company). Australian privacy law offers more protection than almost anywhere else in the world. For instance, an Australian company that receives a request for information about an account under the Telecommuncations Act is legally required to not provide any actual email contents to the requesting law enforcement agency.
To have an account closed, law enforcement would have to jump through plenty of hoops first, and we'd check really carefully to be sure that the request was legally enforceable before we complied.
Jeremy Howard
FastMail.FM
To the best of my knowledge, 'Siker' (the submitter of the article) is not affiliated with FastMail.FM in any way. And since I'm the Jeremy Howard in the interview, and I very rarely nowadays post whilst unconscious, I'm also fairly sure it wasn't posted by the interviewee.
Have you actually read the article? I did try hard in the interview to provide some actually useful info, regardless of whether you are an FM user or not. For example, I provided examples of how IMAP has been extended in recent times, and pointed to some interesting proposals which show where it's going in the future.
Jeremy Howard
You effectively have unlimited email addresses by using subdomain addressing. This lets you use [anything]@username.domain as an email address. Also, if you have a folder name called [anything] (i.e. with a matching name) then messages to that address are autofiled to that folder.
Personally, every time I give my address to a company (e.g. when subscribing to a service) I put the company's name in the [anything] slot, so I know who gave out my address if I get unsolicited mail (or to block over-zealous marketing from the company in question).
Disclaimer: I am the Jeremy Howard interviewed in the article.
Until this fall, our university was maintaining one of, if not the largest, Cyrus mail system in the world. Over 50,000 mailboxes generating an average of 4,000,000 transactions a day (peaking at 5,000,000), hosted on a cluster of SunFire servers and StorEdge/StorageTek SAN.
You were nowhere near to being the largest Cyrus installation. I would guess that my company, FastMail, is the largest. And I'll give you a hint - your university missed the whole point of how to run a successful Cyrus installation. Maybe next time they should hire some sysadmins who know what they're doing...
Until you've seen in real life a compiler error telling you that you accidentally tried to add a variable holding a distance in meters to one with a distance in feet, you don't know what you're talking about. Although people can find a way to break any language, some programming languages indeed are much more resistant to bugs than others.
In fact, the latest version of F# not only gives a compiler error, but Visual Studio shows the error in real time when units of measure don't match up. And it comes with a full set of SI units.
Best you can do is sign up to something like FastMail, jack up the spam filtering to aggressive or whitelist-only (bit nazi, but if you really want control...).
Actually, FastMail can help more than that - there's a new family email package which lets the parents configure their kids' accounts, and also lets them look at their mailboxes, so they can supervise their usage.
Disclaimer: I'm an owner of FastMail.
The webmail is the old-school bit -- no AJAX, but you can edit Sieve scripts and do lots of other fun stuff from the Options screen. I recommend them.
And apparently the owners read Slashdot. Oh wait, that's me! ;) OK, so that makes me a little biased...
But I should add to your comments above that a new interface full of Javascripty goodness is on the way - it should be in beta in the next couple of weeks. You can see a mockup here: http://mockups.neilj.fastmail.fm/revision30/inbox.html (some things like the images on buttons aren't working in the mockup). There's lots of keyboard shortcuts, like '/' to search, and '.' to bring up an action menu. And of course, being FastMail, it downgrades gracefully - so if you don't have Javascript you can still use every feature.
To find out what other folks are saying, see this thread on the (independently run) FastMail forum: http://www.emaildiscussions.com/showthread.php?t=1560. It has over 300 comments about the service, written over the last seven years.
That's true - although I'm not sure that it's a great use of government funds.
If you're interested in the "mainstream" reaction to this when it happened, I was interviewed on Sunrise (Australia's highest-rating morning show) about it. You can see it here on Youtube.BTW, mailblocks.com isn't free; it's $10/yr. However, that's still only half what fastmail.fm charges annually for their spam filtering service (with SpamAssasin).
Well, mailblocks.com is $24.95 for 50MB, whereas FastMail.FM is $19.95 for the same size. mailblocks.com say in their TOS that they give your details to 3rd parties and send you ads, whereas FastMail.FM says they won't give your details to anyone.
(Disclaimer: I'm a director of FastMail.FM)
Oh yes there is! It's FastMail.FM. It's my service, so I oughta know!
On his web-site Mr Gilmore suggests contacting his provider (Verio) to let them know what you think. Sounds like a splendid idea to me. Here's the message that I sent (I don't believe in republishing other people's addresses, so I've anonymised them. The correct addresses are available from the toad.com URL linked below):
----
From: "Jeremy Howard" INVALID@fastmail.fm.INVALID
To: "Darren Grabowski" INVALID@verio.net.INVALID
Cc: "John Gilmore" INVALID@toad.com.INVALID,
"NOC Security" INVALID@noc.verio.net.INVALID,
" Vantive Updates" INVALID@vanwebserv.verio.net.INVALID
Subject: Comments on open relay at toad.com
Dear Darren,
John Gilmore suggests that people should contact you regarding the treatment of his open relay at toad.com:
http://www.toad.com/gnu/verio-censorship.html
I am a director of FastMail.FM, a popular email provider. I would like to applaud you for trying to help rid the Internet of open relays. We have
recently completed an analysis that suggested that for each 10,000 messages that arrives at our system from open relays, only one (on average) is valid email, while the remainder are unsolicated commercial email (UCE, or 'spam').
There is no valid reason to run an open relay SMTP server. There are many effective authentication mechanisms. For instance, at FastMail.FM we use SMTP AUTH, which our users have found to be a convenient and robust method for authenticating with our SMTP server. We also provide a web interface for sending email, which allows users without access to a client supporting SMTP AUTH (although most do) to compose messages, format text, spell check, maintain an address book, and so forth.
We block all messages from open relays, and we scan frequently used sending IP addresses for open relays automatically and send positive results to some DNSBLs such as ORDB.org. We would encourage you to do the same.
We have a very active user community that receives over a thousand posts a month by enthusiastic users. Every time open relay blocking has been discussed here by our users it has been overwhelmingly supported, as has the support of DNSBLs that list open relays.
We encourage you to maintain your stance on closing open relays. Furthermore, I hope that Verio will consider taking a more pro-active stance against "spammers" in the future--there are still numerous known spammers operating through Verio's network despite repeated emails to your abuse desk informing of the problem.
Thanks for you time,
Jeremy Howard
Director
FastMail.FM
Incidentally, you can buy domain-based E-mail redirection [dnscentral.com] for about $20 per year. So you can buy your own domain (maybe in .nom) just for forwarding purposes.
This is a good idea. But you can do it cheaper, with extremely reliable providers. You can get MX records or full forwarding for free from ZoneEdit. And you can get a domain for just $9 from GoDaddy. And you can forward it to account which you can access using IMAP with any mail client, or using the web, by using FastMail.FM.
This setup is that currently recommended by most of the community at http://www.emaildiscussions.com, which is the best place to find out about effective use of email.
If more ISPs offered IMAP and people knew the advantages they wouldn't touch POP with a 100ft pole
You don't need your ISP to support IMAP. You can sign up with an IMAP provider, such as one listed here.
When the site wants to get some data from the user, say the user's age or address, they don't query passport directly. What they do is redirect back to passport, passport generates a form with the values prefilled in. Then the user can edit those values, or just click submit, and the values are posted back to the original site.
Or you can just use the very cool (and free) RoboForm which sits in your toolbar and auto-fills forms that pop up in your browser (there are other form-fillers around but I haven't tried them).
This kind of software doesn't require you to submit your personal information to a centralised authority (it's stored on your PC), and you can keep multiple 'identities' and choose which to use to fill in a form. I keep 'complete', 'partial', and 'anonymous' identities which I use to decide how much (and how truthful) information I want to give to a site.
With an academic background in moral philosophy and today working as a developer of data mining systems, I can empathise with the author's frustration at trying to understand how (if at all) morality and AI intersect.
The main problem really is that the term 'AI' is applied to any algorithm for classification, prediction, or optimisation which operates using anything beyond a simple set of heuristics. Such algorithms seem magical to the lay-person, resulting in the over-enthusiastic application of the 'intelligence' moniker.
Summary
'AI' is a term used inappropriately for a range of algorithms that attempt to learn without having to specify an exact set of rules for every case. Although these algorithms are currently incapable of displaying real intelligence, it is possible that one day they may. This point is however debatable, and the interested reader should read for themselves the differing points of view of experts in the field, including Daniel Dennett, Roger Penrose, Steven Pinker, Richard Dawkins, and Douglas Hofstadter. If they do ever get to the point that they can act intelligently and flexibly, it will be important that they are trained with appropriate moral premises to ensure that there actions are appropriate in our society.
To understand these so-called 'AI' tools it is useful to develop a little structure...
Output
AI tools are used for classification, prediction, or optimisation. Classification works by showing a computer a set of cases which have a number of properties (sex, age, smoker status, presence of cancer...), and 'training' the algorithm to understand the patterns of how properties tend to occur together. Prediction can then be used to show the algorithm new cases in which one or more of the properties are blank--the algorithm can use its classification training to guess the most likely values of the missing properties. For instance, given sex, age, and smoker status, guess the probability of presence of cancer. is a generalisation of classification--rather than training to minimise classification error, train to maximise or minimise the value of any modelled outcome. For instance, whereas an insurer could use classification algorithms to find the likelihood of someone dying by age x, an optimisation approach could be trained to find the price at which modelled profitability of an applicant is maximised.
Functional form
AI tools create a mathematical function from their training. For instance for a classification algorithm this function returns the probability of a particular category for a particular case. The form of this function is an important factor in classifying AI tools. The most popular forms are 'neural networks' and 'decision trees'. Neural networks are interesting because certain types (networks with 2 hidden layers) can approximate any given multi-dimensional surface. Decision trees are interesting because given a large enough tree any surface can be approximated, and in addition a tree can be easily understood by a human, which is very useful in many applications. Other functional forms include linear (as used in linear regression which many will remember from school) and rule-based (as used in expert systems, and similar to a decision tree). One interesting functional form is the network of networks which combines multiple neural networks, feeding the output of one into the input of others. This forms allows the training of network modules that learn to recognise specific features, which is closer to how our brains work than the single network approach.
The most flexible functional form is that used by practitioners of genetic programming (which also defines a specific training function). Genetic programming creates a function which is any arbitrary piece of computer code. The code is often Lisp, although lower level outputs such as assembly language and even FPGA configurations have been used successfully.
Training function
The training algorithm looks at the past cases and tries to find the parameters of the functional form that meet the classification or optimisation objective. This is where the real smarts come in. One naive approach is to try lots of randomly chosen parameters and pick the best. Genetic algorithms are a variant of this approach that pick a bunch of random sets of parameters, find the best sets and combine features from them, introduce a bit of additional randomness, and repeat until a good answer is found. Local/global search works by picking one set of parameters and varying each property a tiny bit to see whether the result is improved or gets worse. By doing this it locates a 'good direction' which it uses to find a new candidate set of parameters, and repeats the process from there. Hybrid algorithms are currently popular since they combine the flexibility of genetic algorithms with the speed of local search. Most neural networks today are trained with local search, although more recent research has examined more robust approaches such as genetic algorithms, Bayesian learning, and various hybrids.
Learning type
Supervised learning approaches take a set of cases for training and are told "here is the property we will trying to predict/optimise, and here is it's value in previous observed cases". The algorithm then uses this context to find a set of parameters for the functional form using this context that the analyst provides. Unsupervised learning on the other hand does not specify prediction of any particular property as being the training goal. Instead the algorithm looks for 'interesting' patterns, where 'interesting' is defined by the research. For instance, cluster analysis is an unsupervised learning approach that groups cases that are similar across all properties, normally using simple measurements of Euclidian distance (that's just a fancy word for how far away something is when you've got more than one dimension).
Contextual learning is a far more interactive approach where the analyst interacts with an algorithm during training constantly providing information about what patterns are interesting, and where the algorithm should investigate next. Systems like Cyc use contextual learning to try to capture the rich understanding of context that humans can feed in.
AI and moral philosophy
We are still a long way from seeing an algorithm that can interact in a flexible enough way that we could mistake it for human in a completely general setting (the Turing Test for intelligence). However, given the ability of flexible training functions such as genetic algorithms, we may find that one day an algorithm is given enough inputs, processing power, and flexibility of functional form that it passes this test. The 'morals' that it shows will depend entirely on the inputs provided during training. This is not like humans, who have some generally consistent set of moral rules encoded through evolutionary outcomes (for instance, tendency to care for the young and related). Our moral premises are the underlying 'givens' that form the foundation of what we consider 'right' and 'wrong'. Ensuring that an AI algorithm does not act in ways we consider inappropriate relies on our ability to include these moral premises in the input that we train it with. This is why Lenat talks about teaching Cyc that killing is worse than lying--this is potentially a moral premise. Finding the underlying shared moral premises of a society is a complex task, since for any given premise you can say 'why?' But repeatedly asking 'why?' you eventually get to a point where the answer is 'just because'--this is the point at which you have found a basic premise.
Summary
'AI' is a term used inappropriately for a range of algorithms that attempt to learn without having to specify an exact set of rules for every case. Although these algorithms are currently incapable of displaying real intelligence, it is possible that one day they may. This point is however debatable, and the interested reader should read for themselves the differing points of view of experts in the field, including Daniel Dennett, Roger Penrose, Steven Pinker, Richard Dawkins, and Douglas Hofstadter. If they do ever get to the point that they can act intelligently and flexibly, it will be important that they are trained with appropriate moral premises to ensure that there actions are appropriate in our society.
I hope that some of you find this useful. Feel free to email if you're interested in knowing more. I currently work in applying these types of techniques to helping insurers set prices and financial institutions make credit and marketing decisions.
Jeremy Howard
The Optimal Decisions Group