No AP is going to do that for you securely. You can use MAC filtering, perhaps, but that can be subverted.
Use some random AP. Hook it up to a firewall. Use IPSec. From your "secure" IP range, only allow IPSec. Only allow packets to the VPN from the secure IP range.
FreeBSD 5.0 is not -Current its -Release. There is a difference. Its not just a snapshot like the previous poster who has no clue mentioned. Its stable.
My 5.0 box has rebooted three times in the last month. That's not stable. If I tried to put that on a production server, my coworkers would have my sorry ass.
Like I pointed out before only FreeBSD 4.0 is officially -Stable.
How do you figure? -stable is also referred to as 4-stable, but what branch do you think that 4.8 came from?
If you do not believe me you can go to the FreeBSD website and look for yourself 4.1x-4.8 are -Release versions. Yet many servers use them without problems.
The general way things work is that the.0 release is considered unstable. Read the release notes. Or the responses that the FreeBSD release manager has been posting.
The majority of FreeBSD servers out on the web use -Release and not -Stable.
Documentation?
Simply put: 5.0 is not stable. Nobody says it is, except you, and you have nothing to back that up with. It's not -stable. I understand that you are willing to put buggy software on your servers. That's one reason I have absolutely no intention of hiring you.
I use FreeBSD all the time. Really. At home and at work, all I use is FreeBSD. I'm pretty much the guy making the call on when my departmental servers go to 5. I've done my homework. 5.0 is not stable.
When I was using PPPoE, I just had a hub between my computer and the modem. Just a hub, not a router or anything. Then I configured my software to use PPPoE. And it just worked.
I can only assume you're having problems with this configuration, but you didn't say what sort of problems.
Okay, here's the deal. This is more complicated than the other. Part of the complexity is to support multiple users on the same box, but this works in a single-user environment too.
The main code is needed in two files, so you'll want to do is write it in/etc/mail/ispsenders.m4. I'll get to this file's contents in a second.
You'll include this file in both your sendmail.mc and sendmail.submit.mc by using the following line at the end:
include(`/etc/mail/ispsenders.m4')
(Note that the first quote is a backtick!)
Next, create a file named/etc/mail/ispsenders. This should have one entry per line. It has the translations from the email addresses you normally use, to the email addresses that your ISP assigns. One per line, tab separated. For a two-user box, this may look like this:
Note that if your SMTP MAIL FROM address (what the 'Received:' header shows) is different from your From: header address, then you'll want to list both.
Rebuild ispsenders like you would any other map file. (See the makemap note in my original post.)
Finally, you create your mailertable as in my above post (and add support for it in your.mc), but replace "esmtp" in the mailertable file with "viaisp".
Now for the content of ispsenders.m4. This has several tabs, and I don't want/. to screw it up. So, I've posted it base64-encoded, as well as in plaintext. (I tried uuencoded, but/. screwed that up beyond repair.)
First, the plaintext version. I don't recommend using it, since I think/. may screw it up beyond what I noticed, but here's what I can tell you. On the lines starting with R, there are one or more tabs (the number doesn't matter) before the $( or $:. (Sendmail nuts, I've removed the line comments to prevent confusion.) There's also a tab after "Mviaisp," and at the beginning of the next two lines after it.
dnl The following sendmail config snippet allows sender rewriting. dnl Anything sent to the "viaisp" mailer will have its sender dnl rewritten, but otherwise be sent via ESMTP.
dnl First, we define the filename. We call it/etc/mail/ispsenders.db dnl here. To make this, create a file like such: dnl joelh@piqnet.org piquan@sbcglobal.net dnl joelh@gnu.org piquan@sbcglobal.net dnl The format is local name, tab, ISP-assigned name. dnl Put any email addresses you send mail from on the left side. Put dnl you ISP-assigned username on the right side. dnl Then, in/etc/mail, run: dnl makemap hash ispsenders.db < ispsenders dnl Anytime you update ispsenders, you'll need to run makemap again. dnl Under FreeBSD, you can put this line in/etc/make.conf: dnl SENDMAIL_MAP_SRC=ispsenders dnl That will tell 'make' in/etc/mail to rebuild this file if needed.
dnl This rewrites the envelope 'From ' address, in the SMTP FROM line. dnl This is what most MTAs will make routing decisions on, and is dnl probably what you need. SEnvViaIsp R$* $: $>EnvFromSMTP $1 R$* $: $>RewriteForIsp $1
dnl This rewrites the envelope 'From:' address, in the message envelope. dnl This is what most MUAs show, and they will probably reply to. You dnl may not need to rewrite this. If not, you can delete the line below dnl with the comment "rewrite for the ISP". SHdrViaIsp R$* $: $>HdrFromSMTP $1 R$* $: $>Rewrite
No, not pain and hate. Not something you're going to really fall in love with right off the bat, I'll be honest. But chosing the form of exercise can make it more enjoyable-- it need not be unpleasant. For me, it was a treadmill, since I could integrate it into my daily life, and stop for the day when I wasn't enjoying things anymore. (I started by walking, not running.)
I also realized I kind of skated around your question of why it is at all enjoyable. There is a concept called "runner's high". This is mostly from the release of endorphins. How long it takes before it kicks in depends a lot on the person, but when I first started walking, it was about 20 minutes. This (I suspect combined with the increased O2 consumption) produces a feeling of euphoria.
I talked about watching TV while you walk. The shows I watch tend to do more exposition in the first half, and more action in the last half. Have you ever heard somebody say, "Boy, this show would be so cool to watch if you were high!"? The way I do things, I get a euphoria for the second half of the show (where there's all the action). The increased O2 consumption can induce mild tunnel vision, so you now have a bigger TV screen. It's neat.
So. How do I configure my sendmail so that it uses my ISP's server as a relay (SMARTHOST definition) but feeds it the magic username and password first?...
Just an example. Not all fields are mandatory. Don't forget to rebuild your.mc file and your map. You'll need a crypto-enabled sendmail for this. Under FreeBSD, the cyrus-sasl2 port build the necessary libs and tells you how to build a crypto sendmail.
This is in the section, "SMTP AUTHENTICATION" in cf/README. You make it sound like it's arcane knowledge that isn't in the primary documentation.
Of course, this is assuming that your ISP requires SMTP AUTH. Last time I checked, mine didn't. I agree with SWroclawski: I don't think that requiring SMTP AUTH is a good idea. (Of course, now I hear that spammers are using random proxies instead of just open SMTP relays, I may change my tune.)
I wonder if you could (and would) try and explain why it is you are enjoying yourself?
I know myself well. I like to stay at home. I know these familiar walls. A lot of times, I have books I'm reading, code I'm writing, people I call, and TV that I watch to unwind. Whenever I went out running with my roommate, I ended up getting too tired, but still a mile from home. I just didn't have fun.
So I got a treadmill.
I put the treadmill just behind the couch, facing the TV. Every evening, I'd get on the treadmill and, usually, watch TV. I set up a program of appropriate length (an hour-long US TV program lasts 44 minutes if you delete commercials but not credits; 22 minutes for a half-hour program).
With the treadmill, I get to go about my normal business. I can wear sweatshorts and no shirt and not feel self-concious. I can get my exercise, with really a minimal impact on my lifestyle.
Usually I watch TV while on the treadmill-- Buffy the Vampire Slayer is my typical fare. It's amazing how much runner's high will improve American TV (particularly the third act of a quasihorror show). The treadmill I got (NordicTrack EXP2000, but I didn't do a lot of research) has a spot designed to hold a hand weight, but it also is perfectly sized for a TiVo remote.
The EXP2000 also has a shelf for a book. Need I elaborate on that one?
I hoped to use the shelf to support my notebook computer, but it's too skinny and unstable for my Dell Latitude. Besides, typing on a fixed keyboard while moving is not preferred. However, I have the TV out on my video card (Matrox G400) going to the TV. Add in a twiddler or somesuch and you can code. Use a remote mouse instead, and you can read/. or whatever.
Lots of advantages: I don't have to change my daily schedule, since I would already spend time watching TV, reading, browsing/., or other stuff I can do on the treadmill. I can wear whatever I want. I can control the temperature: if Sunnyvale's summer is too warm, I can turn on a box fan and point it at me. And-- a big deal for me-- when I feel I've had enough for the day, I can quit.
I'm not going to kid you. At first, it's not something that you feel is terribly fun (although whatever else I'm doing may be). But you start to like it. After a while-- a few weeks for starters-- you really start enjoying it more and more. I suppose it's less work as your body adapts, and you get the endorphins going. When I got sick and couldn't exercise, I really did miss it.
After a while, you'll feel like going out now and then to run. Then you can meet girls in the park-- which is what you really want, right?:-) Fresh air and nature are good combinations. You also have a better day when you're exercising regularly. My hypothesis is this: when you don't exercise, your body is out of balance. This is conveyed to your concious mind as a bad mood, or at least not a good one. When your body is in balance, then your body is no longer awash with bad chemical balances, and you feel better overall. That's a really big win.
My ISP has not shown that its servers are reliable. I like to be
able to use mailq to see what's backed up. I'd also like to be able
to use my own mailer's parameters for bounces. There's lots of
reasons to prefer to use your own mailer instead of your ISP's, even
if you technically could use your ISP's. But now, you'll want to
relay through your ISP for all the mail that AOL won't accept, while sticking to your own SMTP services for everything else. That's
what this document is for.
I encourage people to write corresponding documents for other
MTAs. Also, some people can only send mail through their ISP with
their ISP-assigned username. It's possible to configure sendmail to
adapt AOL-bound mail to have the ISP-assigned sender. That is not
discussed in this document; email me if you need it, and I'll write a
followup post.
HOWTO: Configuring Sendmail to use your ISP's relay for AOL
This uses the sendmail mailertable feature. The mailertable
feature allows you to specify the mailer and relay parameters for
individual domains. That's exactly what we need here.
First, you'll need mailertable support in your sendmail config.
Grep your sendmail.cf for the string "Id: mailertable.m4". If it's in
there, you've got it and can skip the next step.
Since you don't have mailertable support, you'll need to add the
following line to your.mc file:
Note that the first quote is a backquote! After you do this, you'll
need to rebuild your sendmail.cf file. (On FreeBSD, you can just run
'make' in/etc/mail to do this. You can also use the following
command (it's on one line):
Fill in relay.my-isp.net with your ISP's relay hostname.
Rebuild the mailertable file. On FreeBSD, you can just run 'make'
in/etc/mail to do this. You can also use the following command:
makemap hash mailertable.db < mailertable
Restart sendmail. On FreeBSD, you can just run 'make restart' in/etc/mail. Other OS's may vary.
Remember that some ISPs may require you to use your ISP-assigned
email address to relay through them. This won't help with that, but there's easy solutions for it. (This sort of thing is where Sendmail rocks.) Email
me if you need it, and I'll post a followup.
I watched the terrible Pacman cartoon on ABC. I think they also had a Q-bert cartoon as well.
Yup, they did... and about the same time, there was a "Supercade" cartoon that borrowed from a number of popular games.
I recently TiVoed a few eps of Pacman from one of the ABC-owned networks, which was doing a "cartoon flashback" type of thing. (They also showed Smurfs, Shirt Tales, and others. But still no Kidd Video.)
I've been programming for about 20 years now. I code for a living. I have a wide variety of modern toolkits at my disposal. If I need a new compiler or some such, I just mention it to my boss, and it shows up a little while later. The state of the art is at my fingertips.
You know what I keep questing for? Simple coding, like I had in the 80s! (I'm presently trying to fix the video board for the 1990-vintage box that I prototype my code on...)
So a salesman is selling tomatoes in different cities. He realizes that, by plotting his route, he can figure out how to grow any non-determinate tomato plant to a polynomial size.
If I'm outdoors, I'm not on my GBA. I'm
climbing something, or diving, or walking, or something more active.
If I'm playing my GBA, it's because I'm on
a flight (I generally fly at night), or waiting
for a meeting to start, or waiting for
a compile to complete.
When I can choose my location, I've got better
things to do than play a scrolly with bad art and
gaming ideas that haven't evolved since 1992.
People "wanting their money back" from stocks has no effect on a company's bottom line. Your suggestion otherwise is completely mistaken.
Theoretically this may be true, but a company usually has large holdings of their own stock. When people want their money back, they start selling it. The price falls, the company's equity drops, making the share price drop further.
It's not enough to bankrupt a company in and of itself, but it can start something nasty.
Oh, I'll add: For those looking for a free (beer and speech) alternative to Mathematica, take a look at Maxima. It's certainly not as polished as Mathematica, by any stretch of the imagination. I wouldn't recommend Maxima as a teaching language, but for somebody who just needs a symbolic integral now and then, or is toying with cryptosystems as a hobby, or whatever, it's good stuff.
Again, Mathematica has a lot more than Maxima these days. If you're a student or professional, I highly recommend Mathematica. It also can potentially make a good teaching language, particularly among groups with solid math backgrounds. I can't say enough good stuff about Mathematica. But if you want to do some quick amateur work, Maxima is a great thing.
By "interactivity", I meant the student can interact with the running interpreter. (Nearly all languages allow the program and user to interact during the program's runtime.) In interactive languages like Python, Lisp, Logo, or (to a lesser degree) BASIC, the student can have a dialogue with the processor. As the dialogue proceeds, the user can define new functions and test them one-by-one, with no harness. It really does make it much easier to get started programming, which is probably why BASIC was so popular.
Here's an example of a session with Python. (Unfortunately, I don't know how to make/. preserve the indentation, which is part of Python syntax. Just imagine indentation where you think it should be.)
Note how the student can start small and proceed with greater levels of abstration, all in the same session. This progressive development is very useful. I can have bought, found online, or written tutorials for Lisp, Logo, BASIC, Smalltalk, Prolog (not a good teaching language for first-timers, but I'm including it as interactive), and (as wispoftow pointed out) Mathematica-- all interactive languages. All of them follow a similar structure: start small, test, build bigger, in a single, progressively growing session.
"But", an objector might say, "I can run similar programs in JavaScript."
This is true, but it is not an interactive mode, ie, not interacting with the interpreter, at least. It is a code-execute-debug cycle. Any Lisp programmer will tell you, it makes a huge difference.
The debugging is a big part of this. You see the sample session above? When I was typing it into Python, it actually took 48 lines, over twice as long as what I pasted. The difference was debugging. For example, I accidentally typed "circle_volume" instead of "circle_area" into the definition of hollow_cylinder_volume one time. I can make lots of silly mistakes, and I'm a professional programmer. Imagine how many mistakes a student is going to make!
Using an interactive interpreter also encourages unit testing at every granularity. You see how I ran a quick test on circle_area as soon as I wrote it? Since it's so easy in interactive languages, it's encouraged. Small steps, that's what you want.
Now, Mozilla has the JavaScript Console, which provides some interactivity. But it's really a far cry from what the other languages offer.
Now, I don't know enough about JavaScript to meaningfully evaluate how appropriate it would be regarding the other categories. It certainly does get the "cool web page" factor. But, you were asking about interactivity-- and JavaScript just isn't.
I agree! Mathematica is certainly a good choice. (I used it quite a bit in my younger days, and once wrote a paper to teach programming in Mathematica.) I haven't used it in many years (about eight, I think), so I don't know where it's gone since I started.
In case it didn't show before, I'll say that I'm a Lisp fan. Mathematica is actually more or less descended from early Lisp, and it shows in several aspects of the language. (I seem to recall seeing Car and Cdr functions, which are trademarks of Lisp.)
From what I recall, Mathematica is principally a functional language with strong procedural capabilities. I don't remember any object-oriented stuff, but I was using Mathematica before OOP got popular. Could you fill me in a bit?
I'm not sure how applicable it would be to children, though. While the language is complete, it is weighed heavily towards the mathematics.
Note that your "ease of use" metric applies to many other interactive languages. In Scheme, for instance, (plot-function! cos -3.14 3.14) works fine.
I'd look at it from some criteria. The weights that you give these criteria would vary depending on your target audience. For most audiences, I've listed them in descending order.
I refer to the Lego Mindstorm's RCX here. There are two forms for this. One is the graphical program builder that comes with it. The other is traditional languages like NQC. Generally, NQC etc have all the disadvantages of C.
Interactivity. It is important for a student to be able to examine the state of the program. Being able to enter single commands, and later form them into subroutines, is very helpful. Good: Logo, Lisp, Python, Smalltalk. Bad: C, Perl, Java.
Feedback. The program should be able to easily effect things outside of the command processor. Turtles or robots are good vehicles for this. Graphical displays are okay. Very good: Logo, RCX. Kinda good: Smalltalk (under Squeak), Lisp (under something like Lispworks). Not too bad: Java, CGI Perl. Bad: C. (Note: Any language can give output, but there's an extra spark of interest when you can easily produce "cool" effects.)
Growth potential. As the student begins to learn about more advanced data structures and algorithms, the language should grow with the student. Good: Lisp, Python, Smalltalk. Bad: BASIC, Perl (it gets too bogged down in syntax).
Easy to use. The language should not require a lot of low-level work like memory allocation. It also should not have an overly cumbersome syntax. Good: Python, Logo, Lisp, Perl. Bad: C.
Flexibility. The language should allow you to teach different styles of programming, such as functional, imperative, and object-oriented. Good: Lisp. Bad: Almost anything else.
Real-world applicability. The language should be usable in the real world. Good: Python, Perl. Bad: Logo.
Overall, either Logo or Python would be a good choice, depending on your target audience. I'd say that Logo would be a good choice for 12 and under, and that Python would be good for after that. Note that Logo knowledge easily translates to Lisp, so one possible track would be to start with Logo, and later transitition to Lisp.
No AP is going to do that for you securely. You can use MAC filtering, perhaps, but that can be subverted.
Use some random AP. Hook it up to a firewall. Use IPSec. From your "secure" IP range, only allow IPSec. Only allow packets to the VPN from the secure IP range.
FreeBSD 5.0 is not -Current its -Release. There is a difference. Its not just a snapshot like the previous poster who has no clue mentioned. Its stable.
My 5.0 box has rebooted three times in the last month. That's not stable. If I tried to put that on a production server, my coworkers would have my sorry ass.
Like I pointed out before only FreeBSD 4.0 is officially -Stable.
How do you figure? -stable is also referred to as 4-stable, but what branch do you think that 4.8 came from?
If you do not believe me you can go to the FreeBSD website and look for yourself 4.1x-4.8 are -Release versions. Yet many servers use them without problems.
The general way things work is that the .0 release is considered unstable. Read the release notes. Or the responses that the FreeBSD release manager has been posting.
The majority of FreeBSD servers out on the web use -Release and not -Stable.
Documentation?
Simply put: 5.0 is not stable. Nobody says it is, except you, and you have nothing to back that up with. It's not -stable. I understand that you are willing to put buggy software on your servers. That's one reason I have absolutely no intention of hiring you.
I use FreeBSD all the time. Really. At home and at work, all I use is FreeBSD. I'm pretty much the guy making the call on when my departmental servers go to 5. I've done my homework. 5.0 is not stable.
I can only assume you're having problems with this configuration, but you didn't say what sort of problems.
How about the Logitech, and remap the thumb button?
AOL is not the same as TW in my mind. Sony Music is different than Sony Electronics, even though they both sit under the Sony logo.
Now they're the largest media conglomerate in the country
So? Why does that make them inherently evil?
a core member of both the MPAA and RIAA
TW/AOL is, but the AOL part probably cares nothing about that.
There are plenty of good reasons to hate AOL
Could you name some? I really don't understand this anti-AOL sentiment.
The main code is needed in two files, so you'll want to do is write it in
You'll include this file in both your sendmail.mc and sendmail.submit.mc by using the following line at the end:
(Note that the first quote is a backtick!)
/etc/mail/ispsenders. This should have one entry per line. It has the translations from the email addresses you normally use, to the email addresses that your ISP assigns. One per line, tab separated. For a two-user box, this may look like this:
Next, create a file named
Note that if your SMTP MAIL FROM address (what the 'Received:' header shows) is different from your From: header address, then you'll want to list both.
.mc), but replace "esmtp" in the mailertable
/. to screw it up. So, I've posted it base64-encoded, as well as in plaintext. (I tried uuencoded, but /. screwed that up beyond repair.)
/. may screw it up beyond what I noticed, but here's what I can tell you. On the lines starting with R, there are one or more tabs (the number doesn't matter) before the $( or $:. (Sendmail nuts, I've removed the line comments to prevent confusion.) There's also a tab after "Mviaisp," and at the beginning of the next two lines after it.
Rebuild ispsenders like you would any other map file. (See the makemap note in my original post.)
Finally, you create your mailertable as in my above post (and add
support for it in your
file with "viaisp".
Now for the content of ispsenders.m4. This has several tabs, and I don't want
First, the plaintext version. I don't recommend using it, since I think
No, not pain and hate. Not something you're going to really fall in love with right off the bat, I'll be honest. But chosing the form of exercise can make it more enjoyable-- it need not be unpleasant. For me, it was a treadmill, since I could integrate it into my daily life, and stop for the day when I wasn't enjoying things anymore. (I started by walking, not running.)
I also realized I kind of skated around your question of why it is at all enjoyable. There is a concept called "runner's high". This is mostly from the release of endorphins. How long it takes before it kicks in depends a lot on the person, but when I first started walking, it was about 20 minutes. This (I suspect combined with the increased O2 consumption) produces a feeling of euphoria.
I talked about watching TV while you walk. The shows I watch tend to do more exposition in the first half, and more action in the last half. Have you ever heard somebody say, "Boy, this show would be so cool to watch if you were high!"? The way I do things, I get a euphoria for the second half of the show (where there's all the action). The increased O2 consumption can induce mild tunnel vision, so you now have a bigger TV screen. It's neat.
Do you have any evidence you could give us to back this up? I'm not challenging you, I'm just interested.
If you didn't, then by all means start reherseaing excuses to tell your users (and some of them do get angry) regarding their bounced mail.
Oh, he didn't say he bounces them...
So. How do I configure my sendmail so that it uses my ISP's server as a relay (SMARTHOST definition) but feeds it the magic username and password first?...
In your .mc file:
In /etc/mail/authinfo:
Just an example. Not all fields are mandatory. Don't forget to rebuild your .mc file and your map. You'll need a crypto-enabled sendmail for this. Under FreeBSD, the cyrus-sasl2 port build the necessary libs and tells you how to build a crypto sendmail.
This is in the section, "SMTP AUTHENTICATION" in cf/README. You make it sound like it's arcane knowledge that isn't in the primary documentation.
Of course, this is assuming that your ISP requires SMTP AUTH. Last time I checked, mine didn't. I agree with SWroclawski: I don't think that requiring SMTP AUTH is a good idea. (Of course, now I hear that spammers are using random proxies instead of just open SMTP relays, I may change my tune.)
I wonder if you could (and would) try and explain why it is you are enjoying yourself?
I know myself well. I like to stay at home. I know these familiar walls. A lot of times, I have books I'm reading, code I'm writing, people I call, and TV that I watch to unwind. Whenever I went out running with my roommate, I ended up getting too tired, but still a mile from home. I just didn't have fun.
So I got a treadmill.
I put the treadmill just behind the couch, facing the TV. Every evening, I'd get on the treadmill and, usually, watch TV. I set up a program of appropriate length (an hour-long US TV program lasts 44 minutes if you delete commercials but not credits; 22 minutes for a half-hour program).
With the treadmill, I get to go about my normal business. I can wear sweatshorts and no shirt and not feel self-concious. I can get my exercise, with really a minimal impact on my lifestyle.
Usually I watch TV while on the treadmill-- Buffy the Vampire Slayer is my typical fare. It's amazing how much runner's high will improve American TV (particularly the third act of a quasihorror show). The treadmill I got (NordicTrack EXP2000, but I didn't do a lot of research) has a spot designed to hold a hand weight, but it also is perfectly sized for a TiVo remote.
The EXP2000 also has a shelf for a book. Need I elaborate on that one?
I hoped to use the shelf to support my notebook computer, but it's too skinny and unstable for my Dell Latitude. Besides, typing on a fixed keyboard while moving is not preferred. However, I have the TV out on my video card (Matrox G400) going to the TV. Add in a twiddler or somesuch and you can code. Use a remote mouse instead, and you can read /. or whatever.
Lots of advantages: I don't have to change my daily schedule, since I would already spend time watching TV, reading, browsing /., or other stuff I can do on the treadmill. I can wear whatever I want. I can control the temperature: if Sunnyvale's summer is too warm, I can turn on a box fan and point it at me. And-- a big deal for me-- when I feel I've had enough for the day, I can quit.
I'm not going to kid you. At first, it's not something that you feel is terribly fun (although whatever else I'm doing may be). But you start to like it. After a while-- a few weeks for starters-- you really start enjoying it more and more. I suppose it's less work as your body adapts, and you get the endorphins going. When I got sick and couldn't exercise, I really did miss it.
After a while, you'll feel like going out now and then to run. Then you can meet girls in the park-- which is what you really want, right? :-) Fresh air and nature are good combinations. You also have a better day when you're exercising regularly. My hypothesis is this: when you don't exercise, your body is out of balance. This is conveyed to your concious mind as a bad mood, or at least not a good one. When your body is in balance, then your body is no longer awash with bad chemical balances, and you feel better overall. That's a really big win.
My ISP has not shown that its servers are reliable. I like to be able to use mailq to see what's backed up. I'd also like to be able to use my own mailer's parameters for bounces. There's lots of reasons to prefer to use your own mailer instead of your ISP's, even if you technically could use your ISP's. But now, you'll want to relay through your ISP for all the mail that AOL won't accept, while sticking to your own SMTP services for everything else. That's what this document is for.
I encourage people to write corresponding documents for other MTAs. Also, some people can only send mail through their ISP with their ISP-assigned username. It's possible to configure sendmail to adapt AOL-bound mail to have the ISP-assigned sender. That is not discussed in this document; email me if you need it, and I'll write a followup post.
HOWTO: Configuring Sendmail to use your ISP's relay for AOL
This uses the sendmail mailertable feature. The mailertable feature allows you to specify the mailer and relay parameters for individual domains. That's exactly what we need here.
Remember that some ISPs may require you to use your ISP-assigned email address to relay through them. This won't help with that, but there's easy solutions for it. (This sort of thing is where Sendmail rocks.) Email me if you need it, and I'll post a followup.
I watched the terrible Pacman cartoon on ABC. I think they also had a Q-bert cartoon as well.
Yup, they did... and about the same time, there was a "Supercade" cartoon that borrowed from a number of popular games.
I recently TiVoed a few eps of Pacman from one of the ABC-owned networks, which was doing a "cartoon flashback" type of thing. (They also showed Smurfs, Shirt Tales, and others. But still no Kidd Video.)
Good call, thanks!
Hear, hear!
I've been programming for about 20 years now. I code for a living. I have a wide variety of modern toolkits at my disposal. If I need a new compiler or some such, I just mention it to my boss, and it shows up a little while later. The state of the art is at my fingertips.
You know what I keep questing for? Simple coding, like I had in the 80s! (I'm presently trying to fix the video board for the 1990-vintage box that I prototype my code on...)
Give in. I just made an NP-complete joke a few posts up.
So a salesman is selling tomatoes in different cities. He realizes that, by plotting his route, he can figure out how to grow any non-determinate tomato plant to a polynomial size.
If I'm outdoors, I'm not on my GBA. I'm climbing something, or diving, or walking, or something more active.
If I'm playing my GBA, it's because I'm on a flight (I generally fly at night), or waiting for a meeting to start, or waiting for a compile to complete.
When I can choose my location, I've got better things to do than play a scrolly with bad art and gaming ideas that haven't evolved since 1992.
Alas, no backlit LCD! That's the biggest flaw that the GBA has. I have a GBA, and have considered picking up the GBA SP just for the backlit LCD!
This is where stock options have an effect; directors giving themselves gobs of company stock in place of salary.
I was under the impression that stock options are typically for common stock, not preferred. Common stockholders don't get to vote.
People "wanting their money back" from stocks has no effect on a company's bottom line. Your suggestion otherwise is completely mistaken.
Theoretically this may be true, but a company usually has large holdings of their own stock. When people want their money back, they start selling it. The price falls, the company's equity drops, making the share price drop further.
It's not enough to bankrupt a company in and of itself, but it can start something nasty.
Note that cost was not one of the criteria.
Oh, I'll add: For those looking for a free (beer and speech) alternative to Mathematica, take a look at Maxima. It's certainly not as polished as Mathematica, by any stretch of the imagination. I wouldn't recommend Maxima as a teaching language, but for somebody who just needs a symbolic integral now and then, or is toying with cryptosystems as a hobby, or whatever, it's good stuff.
Again, Mathematica has a lot more than Maxima these days. If you're a student or professional, I highly recommend Mathematica. It also can potentially make a good teaching language, particularly among groups with solid math backgrounds. I can't say enough good stuff about Mathematica. But if you want to do some quick amateur work, Maxima is a great thing.
By "interactivity", I meant the student can interact with the running interpreter. (Nearly all languages allow the program and user to interact during the program's runtime.) In interactive languages like Python, Lisp, Logo, or (to a lesser degree) BASIC, the student can have a dialogue with the processor. As the dialogue proceeds, the user can define new functions and test them one-by-one, with no harness. It really does make it much easier to get started programming, which is probably why BASIC was so popular.
Here's an example of a session with Python. (Unfortunately, I don't know how to make /. preserve the indentation, which is part of Python syntax. Just imagine indentation where you think it should be.)
Note how the student can start small and proceed with greater levels of abstration, all in the same session. This progressive development is very useful. I can have bought, found online, or written tutorials for Lisp, Logo, BASIC, Smalltalk, Prolog (not a good teaching language for first-timers, but I'm including it as interactive), and (as wispoftow pointed out) Mathematica-- all interactive languages. All of them follow a similar structure: start small, test, build bigger, in a single, progressively growing session.
"But", an objector might say, "I can run similar programs in JavaScript."
This is true, but it is not an interactive mode, ie, not interacting with the interpreter, at least. It is a code-execute-debug cycle. Any Lisp programmer will tell you, it makes a huge difference.
The debugging is a big part of this. You see the sample session above? When I was typing it into Python, it actually took 48 lines, over twice as long as what I pasted. The difference was debugging. For example, I accidentally typed "circle_volume" instead of "circle_area" into the definition of hollow_cylinder_volume one time. I can make lots of silly mistakes, and I'm a professional programmer. Imagine how many mistakes a student is going to make!
Using an interactive interpreter also encourages unit testing at every granularity. You see how I ran a quick test on circle_area as soon as I wrote it? Since it's so easy in interactive languages, it's encouraged. Small steps, that's what you want.
Now, Mozilla has the JavaScript Console, which provides some interactivity. But it's really a far cry from what the other languages offer.
Now, I don't know enough about JavaScript to meaningfully evaluate how appropriate it would be regarding the other categories. It certainly does get the "cool web page" factor. But, you were asking about interactivity-- and JavaScript just isn't.
I agree! Mathematica is certainly a good choice. (I used it quite a bit in my younger days, and once wrote a paper to teach programming in Mathematica.) I haven't used it in many years (about eight, I think), so I don't know where it's gone since I started.
In case it didn't show before, I'll say that I'm a Lisp fan. Mathematica is actually more or less descended from early Lisp, and it shows in several aspects of the language. (I seem to recall seeing Car and Cdr functions, which are trademarks of Lisp.)
From what I recall, Mathematica is principally a functional language with strong procedural capabilities. I don't remember any object-oriented stuff, but I was using Mathematica before OOP got popular. Could you fill me in a bit?
I'm not sure how applicable it would be to children, though. While the language is complete, it is weighed heavily towards the mathematics.
Note that your "ease of use" metric applies to many other interactive languages. In Scheme, for instance, (plot-function! cos -3.14 3.14) works fine.
I'd look at it from some criteria. The weights that you give these criteria would vary depending on your target audience. For most audiences, I've listed them in descending order.
I refer to the Lego Mindstorm's RCX here. There are two forms for this. One is the graphical program builder that comes with it. The other is traditional languages like NQC. Generally, NQC etc have all the disadvantages of C.
Overall, either Logo or Python would be a good choice, depending on your target audience. I'd say that Logo would be a good choice for 12 and under, and that Python would be good for after that. Note that Logo knowledge easily translates to Lisp, so one possible track would be to start with Logo, and later transitition to Lisp.