Question: I downloaded a .dmg file, now what do I do?
Answer: Click on it to open it. If it is an application, copy the application to the applications directory.
Question: What is the equivalent of an installer on the Mac?
Answer: The .pkg file.
Question: Why can't I log in as root?
Answer: Root is disabled. You can google as to how to disable root. You can however sudo su.
Nigerian Scammers/Spammers Go Western
- From "peec69investment@gmail.com" Richard Holmes
Dear Sir/Madam,
I write to you based on a request by an investor and his need for
investment/funding
in your country. My name is RICHARD HOLMES, a financial consultant with PLATINUM
ENTREPRENEURIAL EXPANSION COMMISSION, which is a reputable financial
services firm. My company most times represents the interests of very
wealthy investors. Due to the
sensitivity of the position they hold in their society and the
unstable investment
environment of their country, they evacuate majority of their funds
into more stable
economies and developed nations where they can get good yield for their money.
A Reserved Client, whom I had personally worked with a few years ago
with a proposal,
recently approached me.
What he request is an individual such as yourself, who will
be willing to receive money on his behalf abroad, and put it to good
use for a period
not exceeding 6 years for a start.
The client has offered these terms:
1. 5% commission paid to me and my foreign partner of the total funds
successfully
evacuated. The funds in question are over 250,000,000 USD (Two Hundred
And Fifty Million United States Dollars.)
2. The funds will be used by the foreign partner for six years as a
loan without any
interest. That is, you do not pay any interest on the money but you
give the client
50% of all profits after tax that accrued from the use of the funds.
If these terms are agreeable to you, kindly let me know and I will
provide you with
all necessary information and procedures involved.
All reply should be sent to this Email: peec69investment@yahoo.com for urgent
attendance.
Sincerely yours,
RICHARD HOLMES
Consultant Officer PEEC. Inc. London
Email: style="color: #2862c5; outline: 0px; text-decoration: underline;" ymailto="mailto:peec69investment@yahoo.com">peec69investment@yahoo.com
PS* The client is willing to make available the fund to your
possession and in your
country within 14days of confirmation of your capabilities.
I write to you based on a request by an investor and his need for
investment/funding
in your country. My name is RICHARD HOLMES, a financial consultant with PLATINUM
ENTREPRENEURIAL EXPANSION COMMISSION, which is a reputable financial
services firm. My company most times represents the interests of very
wealthy investors. Due to the
sensitivity of the position they hold in their society and the
unstable investment
environment of their country, they evacuate majority of their funds
into more stable
economies and developed nations where they can get good yield for their money.
A Reserved Client, whom I had personally worked with a few years ago
with a proposal,
recently approached me.
What he request is an individual such as yourself, who will
be willing to receive money on his behalf abroad, and put it to good
use for a period
not exceeding 6 years for a start.
The client has offered these terms:
1. 5% commission paid to me and my foreign partner of the total funds
successfully
evacuated. The funds in question are over 250,000,000 USD (Two Hundred
And Fifty Million United States Dollars.)
2. The funds will be used by the foreign partner for six years as a
loan without any
interest. That is, you do not pay any interest on the money but you
give the client
50% of all profits after tax that accrued from the use of the funds.
If these terms are agreeable to you, kindly let me know and I will
provide you with
all necessary information and procedures involved.
All reply should be sent to this Email: peec69investment@yahoo.com for urgent
attendance.
Sincerely yours,
RICHARD HOLMES
Consultant Officer PEEC. Inc. London
Email: style="color: #2862c5; outline: 0px; text-decoration: underline;" ymailto="mailto:peec69investment@yahoo.com">peec69investment@yahoo.com
PS* The client is willing to make available the fund to your
possession and in your
country within 14days of confirmation of your capabilities.
Facebook Privacy Slip-up - Randi Zuckerberg Family Photo
Now isn't this rich with irony. Randi Zuckerberg posts a private family photo to Facebook and the privacy policy doesn't protect it. They were poking each other with the new Facebook Picture Poke. The picture goes public and Randi is not pleased. Randi is the former marketing chief of Facebook and should know better.
Inquiring minds want to know though -- where is the lovely Mrs. Mark Zuckerberg in this photo? Maybe she and Mark are not into poking any more? Just saying ..
Looking to develop an Interest Engine
I exchanged emails with the founder of a startup, and we touched on the topic of linking internet content to personal interests. This is one of the last frontiers of searches and delivering content. A hell of a lot of money could be made if someone made a content delivery system from the web that was say, 80-90 percent right all of the time. I suppose that the Semantic Web with it Resource Description Framework and Web Ontology Language might help, but that is a bit of pie in the sky, because there are millions if not billions of html pages already out there that will never be reworked.
So the work will have to come from the server side. The search engines will have to get a hell of a lot better at context recognition. However, my specific concern is matching your interests to web content. For example, suppose you listed your interest as cats. There is the cat breeder who is interested in breeds of cats. There is the charity who rescues cats. Veterinarians need information on cat diseases and pharmacology. Just putting in the word cats will create a lot of junk to sift through for each specific case. This example is trivial because you could add another search term like "rescue" or "veterinary" etc. But what if my interest is "neat stuff". How would I create a machine language to search and deliver neat stuff content.
My research continues, but if you have any ideas, leave a comment. Thanks.
So the work will have to come from the server side. The search engines will have to get a hell of a lot better at context recognition. However, my specific concern is matching your interests to web content. For example, suppose you listed your interest as cats. There is the cat breeder who is interested in breeds of cats. There is the charity who rescues cats. Veterinarians need information on cat diseases and pharmacology. Just putting in the word cats will create a lot of junk to sift through for each specific case. This example is trivial because you could add another search term like "rescue" or "veterinary" etc. But what if my interest is "neat stuff". How would I create a machine language to search and deliver neat stuff content.
My research continues, but if you have any ideas, leave a comment. Thanks.
Strange MySQL Error
Had a strange MySQL error:
ERROR 1033 (HY000): Incorrect information in file (table_name)
We couldn't log into our app. It looked like the database connection wasn't happening. The logs were useless. All they said was that there was a null pointer exception for getting the data back from the database.
We have a Linux server, so I typed in the /etc/init.d/mysqld stop and then issued the start command:
/etc/init.d/mysqld start . It failed. I did it again (stop and start) and it said OK. I could log into the database. I could show tables. But when I went to select from the tables, I got the above error.
Nothing worked. Finally I rebooted the server and it was fixed. If anyone has an idea of what caused this, please leave a comment.
ERROR 1033 (HY000): Incorrect information in file (table_name)
We couldn't log into our app. It looked like the database connection wasn't happening. The logs were useless. All they said was that there was a null pointer exception for getting the data back from the database.
We have a Linux server, so I typed in the /etc/init.d/mysqld stop and then issued the start command:
/etc/init.d/mysqld start . It failed. I did it again (stop and start) and it said OK. I could log into the database. I could show tables. But when I went to select from the tables, I got the above error.
Nothing worked. Finally I rebooted the server and it was fixed. If anyone has an idea of what caused this, please leave a comment.
Data source rejected establishment of connection
It was frustrating. I set up a Java JDBC connection pool to MySQL, and the app ran for awhile, then it would not connect. Obviously I had leaking connections somewhere.
The message in the transcript log was:
Data source rejected establishment of connection, message from server: "Too many connections"
I went and tried closing all of the connections, but the app is a fairly large one. What to do? I Googled around and there was no obvious way of seeing where the connection leak was, so I opted for brute force. The pseudo code for establishing a connection with at connection pool looks like this:
DataSource ds=getDataSource();
Connection conn=ds.getConnection();
and to close the connection, it was:
conn.close();
So the way that I solved it and found the connection leak, was that I added a couple of lines to the above code.
In the open connection method, I added
System.out.println("Open Connection " + conn.toString();
and in the close method, before the close statement, I added:
System.out.println("Close Connection " + conn.toString();
It prints out stuff in the console like this:
Open Connection ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@e78c1b]]
Close Connection ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@e78c1b]]
I then match up the open and closes as I do stuff, and find my unclosed connections leaks.
Hope this helps.
The message in the transcript log was:
Data source rejected establishment of connection, message from server: "Too many connections"
I went and tried closing all of the connections, but the app is a fairly large one. What to do? I Googled around and there was no obvious way of seeing where the connection leak was, so I opted for brute force. The pseudo code for establishing a connection with at connection pool looks like this:
DataSource ds=getDataSource();
Connection conn=ds.getConnection();
and to close the connection, it was:
conn.close();
So the way that I solved it and found the connection leak, was that I added a couple of lines to the above code.
In the open connection method, I added
System.out.println("Open Connection " + conn.toString();
and in the close method, before the close statement, I added:
System.out.println("Close Connection " + conn.toString();
It prints out stuff in the console like this:
Open Connection ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@e78c1b]]
Close Connection ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@e78c1b]]
I then match up the open and closes as I do stuff, and find my unclosed connections leaks.
Hope this helps.
Javascript -- Round Number to nearest 100 -- Validate
I have this web page that is created by a jsp. The user has to input an amount of money to make a bid, but I don't want the users entering silly amounts like $1098.66. I want the amount to be in exact increments of $100. So I have an input tag "<input tabindex='1' type='text' name='amt' id='amt' value='00.00' size='10' />" and I want to validate and make sure that the number is an increment of $100. When the user presses the submit button, I call onclick="javascript:validateAndSubmit()".
My validate and submit function is something like this:
var bestPrice = document.(insert Form Name).amt.value;
//get rid of the dollar sign
var match= bestPrice.match(/[0-9,.]*/);
if (match!==null) {
//Make the number into a float
var amount= parseFloat( match[0].replace(/,/g, '') );
//find out if the number is not in multiples of 100 using modulus
var rem = amount % 100;
if ( rem > 0)
{
alert("Your offer must be in multiples of $100.")
}
Hope that this helps.
My validate and submit function is something like this:
var bestPrice = document.(insert Form Name).amt.value;
//get rid of the dollar sign
var match= bestPrice.match(/[0-9,.]*/);
if (match!==null) {
//Make the number into a float
var amount= parseFloat( match[0].replace(/,/g, '') );
//find out if the number is not in multiples of 100 using modulus
var rem = amount % 100;
if ( rem > 0)
{
alert("Your offer must be in multiples of $100.")
}
Hope that this helps.
The Fastest And Slowest Emails among the big free providers
I use all of the big free email account providers like Gmail, Yahoo, GXM, Mail.com, hotmail, etc etc. Regular readers know that I am a data privacy freak, so every time that I have to open an account and need an email address, I do not give out my gmail because it has my real name. I have a whole stable of free accounts. AND, when I am asked to give another account for password recovery (or mobile phone number for that matter), I never do.
So I conducted some latency tests to see who has the fastest and slowest email. I sent all of the tests from a linux server using the sendmail facility. The winner by far was Gmail. The sent messages arrived the fastest by gmail. The loser and slowest email account was Yahoo. I am not surprised.
The only discordant note about the speed of gmail, is that I bet Google reads my email The ads on my gmail folder prove it.
So I conducted some latency tests to see who has the fastest and slowest email. I sent all of the tests from a linux server using the sendmail facility. The winner by far was Gmail. The sent messages arrived the fastest by gmail. The loser and slowest email account was Yahoo. I am not surprised.
The only discordant note about the speed of gmail, is that I bet Google reads my email The ads on my gmail folder prove it.
Setting Up JNDI JDBC MySQL Connection Pool in Tomcat
So it was time to set up a connection pool for our high concurrency application. It seemed like an easy thing to do. I went to avajava.com followed one of their instruction tutorials, and burned a whole afternoon debugging. Tomcat 7 has connection pooling built in, so I figured it would be a walk in the park. Man, I got the following list of errors:
- org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to org.apache.tomcat.jdbc.pool.DataSource
- name is not bound in this context. unable to find
- java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool DataSourceFactor
- java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to org.apache.tomcat.jdbc.pool.DataSource
- java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool DataSourceFactory
After wasting a whole bunch of time, I finally got it to bind to the database resource, but I had an error with the login stored procedure. It was this one:
- mysql - java.sql.SQLException: Parameter number 3 is not an OUT parameter
I knew that I was getting some sort of binding but not a good connection. Not knowing what I didn't know, I decided to do a debug on my connection called conn:
System.out.println(conn.toString());
System.out.println(conn.getCatalog());
System.out.println(conn.getAutoCommit());
System.out.println(conn.getMetaData().allTablesAreSelectable());
System.out.println(conn.getMetaData().getDriverName());
System.out.println(conn.getMetaData().getMaxConnections());
System.out.println(conn.getMetaData().supportsStoredFunctionsUsingCallSyntax());
System.out.println(conn.getMetaData().supportsStoredProcedures());
System.out.println(conn.getMetaData().allProceduresAreCallable());
It was quite an interesting transcript. It told me that getMaxConnections() was zero, that allTablesAreSelectable was false, and allProceduresAreCallable() was false. I spent a lot of time chasing down this dead end rabbit hole.
Finally I went to the expert:
http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency
I followed the instructions implicitly and voila -- every thing works:
Simple Connection Pool for MySQL
<Resource type="javax.sql.DataSource"
name="jdbc/TestDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"
username="mysql_user"
password="mypassword123"
/>
The first thing we notice is the factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" attribute.
When Tomcat reads the type="javax.sql.DataSource" it will automatically configure its repackaged DBCP, unless you specify a different factory. The factory object is what creates and configures the connection pool itself.
When Tomcat reads the type="javax.sql.DataSource" it will automatically configure its repackaged DBCP, unless you specify a different factory. The factory object is what creates and configures the connection pool itself.
There are two ways to configure Resource elements in Apache Tomcat.
Configure a global connection pool
File: conf/server.xml
<GlobalNamingResources>
<Resource type="javax.sql.DataSource"
name="jdbc/TestDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"
username="mysql_user"
password="mypassword123"
/>
</GlobalNamingResources>
You then create a ResourceLink element to make the pool available to the web applications. If you want the pool available to all applications under the same name, the easiest way is to edit the File: conf/context.xml
<Context>
<ResourceLink type="javax.sql.DataSource"
name="jdbc/LocalTestDB"
global="jdbc/TestDB"
/>
<Context>
Note, that if you don't want a global pool, move the Resource element from server.xml into your context.xml file for the web application.
And to retrieve a connection from this configuration, the simple Java code looks like
Context initContext = new
InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalTestDB");
Connection con = datasource.getConnection();
Mister TomcatExpert is really an expert.
MySQL Connection Pooling with Java & Tomcat Tip
It is time we got serious with a webapp of my to quit setting up and tearing down connections to the mysql database. I decided to implement a connection pool. There are examples all over the web on how to do this. Luckily, I am using Apache Tomcat 7 and it has the connection pooling built in.
So I was implementing the java code:
So I was implementing the java code:
import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import org.apache.tomcat.jdbc.pool.DataSource; import org.apache.tomcat.jdbc.pool.PoolProperties;
and the import was throwing the class not found error. I thought "WTH -- I am using Apache 7". As it turns out, I had to go to the properties, and add the Apache Tomcat Library (not the jars but the libraries) in the Project Build Path. Problem solved. Hope this helps someone.
Giving a user an anonymous ID programatically
We have a web application written in Java whereby when the users sign in, we want them to be anonymous to each other. So what we do, is give them a number. I needed an algorithm to generate the number from their database user id, and I wanted the algorithm to vary such that it wasn't that easy to figure out.
So what I do, is on even days of the month, the user id is added to the day of the month, and on odd month days, I take the absolute value of the day of month - the user id.
//get day of month
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
//cast it to a double so that I can get a modulus 2 which indicates whether it is even or odd
double amem = (double) dayOfMonth;
if ((amem % 2) == 0) { // it's an even day with no remainder
dayOfMonth = dayOfMonth + userId;
} else {
//its an odd day
dayOfMonth = Math.abs(dayOfMonth - userId);
}
Hope this helps someone.
So what I do, is on even days of the month, the user id is added to the day of the month, and on odd month days, I take the absolute value of the day of month - the user id.
//get day of month
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
//cast it to a double so that I can get a modulus 2 which indicates whether it is even or odd
double amem = (double) dayOfMonth;
if ((amem % 2) == 0) { // it's an even day with no remainder
dayOfMonth = dayOfMonth + userId;
} else {
//its an odd day
dayOfMonth = Math.abs(dayOfMonth - userId);
}
Hope this helps someone.
Toshiba Laptop Mouse Won't Work
I was logged in via Remote Desktop to one of my Caribbean servers. The browser window was being blocked by the Remote Desktop banner or task bar on top of the screen. I couldn't close it. So I Googled how to close an application window. It said to press Alt + F4.
Well on this stupid Toshiba laptop with the weird keyboard, F4 also needs a function key press as well. The normal key for F4 is to switch display modes when you are connected to a projector.
So I pressed Fn + Alt + F4 and my browser closed. But I must have let go of the Fn key. The cursor froze. The mouse wouldn't work. I am talking about the mouse on the finger pad. It is a Synaptic pointing device. So I shut down the computer and re-started it. No dice. I restarted in Safe Mode. Still had a frozen cursor. Took out the battery, and re-started it with the last good configuration. Nada.
I figured that I had blown the drivers. I went to another machine and did some googling. It said that Toshiba had a mouse lock. It said to press Fn + F9. I did. Nothing happened. I tried Fn + F4. My cursor unlocked.
Hope this helps someone. It sure wasted a bit of my time.
Well on this stupid Toshiba laptop with the weird keyboard, F4 also needs a function key press as well. The normal key for F4 is to switch display modes when you are connected to a projector.
So I pressed Fn + Alt + F4 and my browser closed. But I must have let go of the Fn key. The cursor froze. The mouse wouldn't work. I am talking about the mouse on the finger pad. It is a Synaptic pointing device. So I shut down the computer and re-started it. No dice. I restarted in Safe Mode. Still had a frozen cursor. Took out the battery, and re-started it with the last good configuration. Nada.
I figured that I had blown the drivers. I went to another machine and did some googling. It said that Toshiba had a mouse lock. It said to press Fn + F9. I did. Nothing happened. I tried Fn + F4. My cursor unlocked.
Hope this helps someone. It sure wasted a bit of my time.
Virus Free For 5 Years -- Thanks Free Avira
Someone on a forum asked about trojans and viruses. I posted the following:
My 5 cents on anti-virus:
We needed a computer to act as a server in Nassau. We went to the Radio Shack. It was a Radio Shack in name only. The guy paid the franchise fee and sold whatever he wanted. He was selling a brand new Pentium knock-off complete with Microsoft Office, Adobe Photoshop, Macromedia Director -- everything, The machine was just over $300, and with those software packages, it should have been over $2000.
I brought it back to the office, plugged it in, and every single machine on the network alarmed about spyware, trojans and viruses trying to get in. It turns out the software was crack software from China, embedded with viruses.
The machine was so virus laden, that the browser was hijacked. You couldn't physically go to many anti-virus sites. I download a virus killer onto a USB stick, and ran it from there. That gave me my browser back. But every single machine in the network was still alarming. I used a router to create a subnet to isolate the machine, and I went to work.
We had a bought copy of Norton and MacAfee. That didn't do the trick. We downloaded everything, and still couldn't get a clean machine. I removed all of the software -- Microsoft Office, Adobe Photoshop, everything. Finally there was one free on that worked. It was the free version of Avira out of Germany. I have that on all of my machines today, and it performs wonderfully. It blocks even the most sophisticated attempts to get in.
And then on top of that, I started using Google Chrome exclusively. The infection rate went to zero.
Since I am a data privacy advocate (I quit Linked In and Facebook), I went to the free Google Chrome store and downloaded tracking cookie blockers. Some of them don't let me buy on Expedia, but when I have to use online shopping and it doesn't work, I temporarily turn them off from icons in the tool bar.
Since I have the free version of Avira, every day I get a huge pop-up with an ad from Avira. I can live with that because it lets me sleep nights. I earn my living with my computer, and I have to protect my digital assets. Speaking of which, you should go to the store, buy a cheap USB key and put your digital books on it. Then put the key in a safety deposit box or in another location other than your house.
I have been trojan and virus free for five years. Thanks Avira.
Linux Sendmail Not Working
It's real easy to send email using a linux server. We have an app where we need to send notification details to our users so we send it via the linux server that is already running Apache Tomcat.
Since the details and notifications go beyond the simple, we use java to write the details to a temp file, get the email address from the database, invoke a bash shell to send the mail and then delete the temp file.
Here is how its done.
String messbody = (new StringBuilder(String.valueOf(messbody)))
.append("Please log into www.mydomain.com to see the latest things on your account.").toString();
Then I generate a random file name by assembling a bunch of random characters:
int rancharacter = 65 + (int) (Math.random() * 90);
char ck = (char) rancharacter;
String fnum = String.valueOf(ck);
I did the rancharacter many times to generate a random string. I created a linux directory where this would be written to. It is in /home/messages.
String longfileName = "/home/messages/" + fnum;
File f = new File(longfileName);
try {
BufferedWriter bout = new BufferedWriter( new FileWriter(longfileName));
bout.write(messbody);
bout.close();
} catch (IOException e)
{ System.out
.println("Writing email file exception");
System.out.println("Exception " + e.getMessage()); }
Now that I have a file, I wrote a very little bash script called mailer, put it in the /bin directory and did a chmod so that it could be executed. The bash script looks like this:
#!/bin/bash
IFS=":-;"
#FILE= "/home/messages/$3"
#echo $(basename "$2")
mail -s $(basename "$2") $(basename "$1") < /home/messages/$(basename "$3")
Since the details and notifications go beyond the simple, we use java to write the details to a temp file, get the email address from the database, invoke a bash shell to send the mail and then delete the temp file.
Here is how its done.
String messbody = (new StringBuilder(String.valueOf(messbody)))
.append("Please log into www.mydomain.com to see the latest things on your account.").toString();
Then I generate a random file name by assembling a bunch of random characters:
int rancharacter = 65 + (int) (Math.random() * 90);
char ck = (char) rancharacter;
String fnum = String.valueOf(ck);
I did the rancharacter many times to generate a random string. I created a linux directory where this would be written to. It is in /home/messages.
String longfileName = "/home/messages/" + fnum;
File f = new File(longfileName);
try {
BufferedWriter bout = new BufferedWriter( new FileWriter(longfileName));
bout.write(messbody);
bout.close();
} catch (IOException e)
{ System.out
.println("Writing email file exception");
System.out.println("Exception " + e.getMessage()); }
Now that I have a file, I wrote a very little bash script called mailer, put it in the /bin directory and did a chmod so that it could be executed. The bash script looks like this:
#!/bin/bash
IFS=":-;"
#FILE= "/home/messages/$3"
#echo $(basename "$2")
mail -s $(basename "$2") $(basename "$1") < /home/messages/$(basename "$3")
The only thing life to do, is to create a subject, get the email, get the runtime so that one can execute a linux command, and send the email.
Here's some code:
String emailAddress = email; //previous declared variable that went to the database
String subject = "Account_Notification"; //I had to put the underscore to eliminate space problems
String messBody = fileName;
String cmd = "mailer" + " " + emailAddress
+ " " + subject + " " + longfileName;
// get the linux runtime to execute the command
try { Runtime run
= Runtime.getRuntime(); Process pr = run.exec(cmd);
pr.waitFor(); BufferedReader buf = new
BufferedReader( new InputStreamReader(
pr.getInputStream()));
} catch (Exception fu) {
System.out.print(fu.getMessage()); }
boolean success = f.delete();
OK - all of this was working. Then I changed the message body and it stopped working. What caused it to stop working. In the body of the message, I put java.util.Date.toString();
That would stop Centos linux from mailing. Weird. I hope that this helps someone.
Subscribe to:
Posts (Atom)






