While playing with my /etc/hosts file for testing a new server setup I needed to flush my DNS cache. As ever, terminal came to my aid.
dscacheutil -flushcache
Now all is well in the world of DNS.
While playing with my /etc/hosts file for testing a new server setup I needed to flush my DNS cache. As ever, terminal came to my aid.
Now all is well in the world of DNS.
The last couple of days I’ve been thinking about setting up a local copy of my websites on my laptop so that I can develop them before I make them live.
Last night I enabled PHP on the apache server built into Mac OSX on my new laptop and installed MySQL on it. I also set up some bash aliases to rsync commands so that I could synchronise the websites from the server to the laptop and back again.
Now that I had local copies of the sites that are synchronised it was time to turn my attention to synchronising the databases between the server and my local machine. I could of configured the server’s MySQL installation to allow remote connections, however, I did not want to do this for security reasons. I decided that I would connect to the MySQL server over SSH by forwarding a port on my local machine to a remote port on the server.
First I needed to create an SSH tunnel using the following command
ssh -fNg -L 3307:127.0.0.1:3306 server.host.name Read the rest of this entry »
Recently I’ve had a bother with the Mac firewall asking me if I want it to accept incomming network connections every time I open a particular application.
The appropriate setting can be found under:
System Preferences : Personal > Security > Firewall
I have mine configured to “Set access for specific services and applications” which normally asks me if I want to allow an application to accept incoming connections the first time I run it and that’s normally the end of it. The trouble comes when you try and update certain applications using Software Update. I’m not exactly sure what causes the problem but for some reason with specific applications the firewall then proceeds to ask you, each time, if you would like it to accept incoming network connections. This you can imagine is superlatively tedious.
The answer though is to just delete the application from you applications folder and reinstall it. The first time you open the freshly installed application it will ask the question and then bug you no more. Then all you have to worry about is not updating it via software update again.
To Test POP3
telnet xxx.xxx.xxx.xxx 110 (xxx = mailserver)
+OK Hello there.
user USERNAME
+OK Password required.
pass PASSWORD
+OK logged in.
stat
+OK (Information about your mail)
quit
+OK Bye-bye.
I’ve been working on some sites locally on my Mac but by default the files are stored in a directory in the individuals user account called Sites and the address you’ve got to type into your browser is http://localhost/~username/etc… this annoyed me because I didn’t want to have to type the tilde character in the address and also that I had to have the files showing in a subdirectories of my user. I couldn’t be doing with it, I wanted to have addresses like ‘http://localhost/subdomain/’ and the solution of course is to use symbolic links.

I’ve been meaning to try Joomla for some time and a friend mentioning it last night was the impetus for me to give it a go. I downloaded the latest stable version just now and decided to give it a go.
I was very impressed by the installation script and how it guides you through the installation process with handy guidance, however, I feel it falls down in one area.
Read the rest of this entry »
I’ve been doing some work involving an application that needs to query databases on separate servers however one of the servers will only accept mysql connections locally so the way round it is to forward connections from a port on one system to a port on a remote system. That way the connection to the remote database will appear as though it originated locally and be accepted.
To set up a tunneled connection you issue the following command on any client:
ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com
The first command tells ssh to log in to remotehost.com as myuser, go into the background (-f) and not execute any remote command (-N), and set up port-forwarding (-L localport:localhost:remoteport ). In this case, we forward port 3307 on localhost to port 3306 on remotehost.com.
One of the ways I like love to combat spam is by using email aliases. Basically I have one real email address that I do not give out to people but that I use to check my email with my provider. Then what I do is create any number of virtual or alias email addresses in my provider’s admin interface. So the scenario is that everytime I need to provide an email address for membership or to interact with a company I create a new email address (alias) for them and then give them that address. The beauty is that I only have to check one address and all my mail from all of those alias addresses gets sent to it automatically.
So if I ever get spam then I know exactly where it’s come from because each company / person has their own email address alias. It’s easy to stop them too, just delete the alias and no more spam! Not only that but the company or person who either spammed or allowed you to be spammed has just lost some credibility with you. Read the rest of this entry »
Last night I was working on determining how long a user had been logged into a PHP application but was having a problem with subtracting timestamps and this is how I solved it.
I was storing two timestamps (as a UNIX timestamp) in the database. One designating the date-time the user logged into the application and the other the date-time of the last activity the user performed. Because I was using UNIX timestamps, which are just the number of seconds sine the UNIX epoch, I subtracted one from the other and used that difference as the input to the PHP function date().
I couldn’t for the life of me work out why the date function was saying that I was logged in for an hour longer than I should have been and it was driving me crazy. It turns out that the reason was that my timezone locale setting in PHP is ‘Europe/London’ and that this causes the date function to adjust for British Summer Time (GMT + 1) thus when I used my timestamp difference in the date() function it translated the difference into a readable format but also added an extra hour.
The solution is to use gmdate() which is identical to the date() function except that the time returned is in Grenwich Mean Time format.
Recent Comments