Archive

Archive for March, 2009

10 tips to avoid spam

March 1st, 2009
Comments Off

I set up email on my phone and even though I did not receive that many spams it was more annoying than on a computer. Over the past few months I changed one of my main email addresses and took some radical steps to fight against spam.

Here are my few tips for a spamless life:

  1. Do not publish your email address anywhere.
  2. Do not register your email address anywhere.
  3. If you need to register to a website then create a new account. Use this account just for the purpose of registering and enable mail forwarding to your main account. As soon as you start receiving spam from that account (or legitimate but annoying commercial content), disable email forwarding but leave the account alive (so that spammers waste resources).
  4. Never click on “unregister” links from emails.
  5. Disable HTML viewing especially the viewing of images. You may set up a whitelist from known senders.
  6. Use state of the art antispam. I really love google gmail antispam. I forward it to my final email provider that does use good spam-assassin rules.
  7. Try to have a core of 2 or 3 different email addresses shared among the people you know (no websites!). When you need to change your email, you will be upsetting fewer people. An idea is to set up groups like: family, friends from university, other friends, colleagues or former colleagues… groups of people you are unlikely to email simultaneously.
  8. Update your core email addresses when they are compromised. Do it gradually over an entire year by keeping email forwarding on and adding an auto reply rule informing your contacts they should stop using the old email. Do not write your new email in clear inside the automated message because it could be harvested by bots.
  9. If your address is publicly available and spammed in huge amounts, make it mandatory for people to add some text in the title in order to contact you. Filter out everything not complying to the rule.
  10. If your address is publicly available and the previous tip does not work (someone is deliberately targeting you) remove the contact email address from public space and replace it with a contact form using captcha.

Uncategorized

Use the iPhone SDK on old Mac PPC machines

March 1st, 2009

Apple states that the iPhone SDK should only be used on Intel Macs. However the compiler, emulator and code signing tools work perfectly on older PPC Macs provided you work around the arbitrary limitations of the installer.

My iMac broke down so I had to revert to using my old and venerable PowerBook using Mac OS X 10.5.6 (9G55). I used the first public SDK (md5 96849e4a17674d55d5af75b2d1d6579f). The following tricks might not work with the latest versions.

The installation steps are simple:

  1. Install the iPhone SDK. The installer will install XCode but it will not let you select the iPhone components.
  2. Install the missing iPhone packages manually.
    • Those packages are located inside the “Packages” subdirectory of the SDK installation disk image.
    • You can simply double click on them to start installing.
    • You need to select the “/Developer” directory as the install location for each of them.
    • The packages to install manually are: “DeveloperDiskImage.pkg” and all the packages starting by “iPhone”.
  3. Change “iPhone Simulator Architectures.xcspec”.
    • This allows to compile iPhone apps and to use the simulator on PPC machines.
    • The file is located into “/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications/”.
  4. Change “/usr/bin/codesign”.
    • This allows to upload signed executable to the iPhone. 
    • For some mysterious reasons codesign requires a universal binary, so the trick is to make it believe it got one.
    • You need to rename codesign “sudo mv /usr/bin/codesign /usr/bin/codesign.orig”.
    • Then replace it by the perl script attached below. Don’t forget to give it executable rights: “sudo chmod +x /usr/bin/codesign”.

That’s it. It should work. 

Files to replace:

Links to original authors:

Update: it works perfectly with the latest version of the SDK ie iphone_sdk_for_iphone_os_2.2.19m2621afinal.dmg, md5=9d0a818f41be507537495920cd0ef9bc

Programming, iPhone , ,