Technical commentary and opinion.

Firefox 3 vs. Safari

January 17, 2008 - Mark

With the release of Firefox 3, there are going to be a lot of articles written (this one included!) about how Firefox stacks up against Safari. (Heluna is, first and foremost, a Mac shop, having learned long ago about Internet Explorer’s propensity towards attracting spyware.)

Many, many of those articles are going to conclude that Safari is a better browser. And it is, in almost every respect– except the most crucial one.

Yes, Safari is arguably faster than Firefox. Yes, it has a smaller memory footprint. Yes, it is more tightly integrated with the native look and feel of the Mac. Yes, the new Javascript engine for the upcoming version of Safari will run rings around anything the Mozilla Foundation can come up with. Yes, it just feels like a better web browser.

But it isn’t the better web browser.

What makes Firefox the better web browser is one very large architecture decision: the ability to modify the browser by way of plugins.

Yes, Safari sort of has the same kind of functionality, but Safari plugins are notoriously bad, more often than not crashing the browser, causing untold problems on Software Update day, and generally just behaving poorly. Firefox, on the other hand, has two addons that absolutely change the way you look at the web:

  1. Adblock Plus. Automatically download a set of rules that block a huge percentage of ads on every site you visit. When you install Adblock Plus, you are looking at the web the way it was in 1995, before popups, flashing banner ads, and the web’s version of spam.
  2. del.icio.us bookmark sync. Keep all of your bookmarks synced up via del.icio.us. From your laptop, to your home desktop, to your office PC, all of your bookmarks are the same on every copy of Firefox that you run, automatically. Again, this is the way the web should be.

Additionally, there are three more addons that no web developer should be without:

  1. Firebug. The ability to inspect HTML code, view actual network connections and latency, make changes to the CSS on the fly to test out various changes, and all sorts of other invaluable tools for the web developer. This makes debugging complex HTML extremely easy.
  2. YSlow for Firebug (an addon for an addon). If you’ve ever had your site flooded by a mention on Slashdot, or Digg, or Reddit, etc, and you’d like to know how you can speed up your site, YSlow will give you very specific instructions. Everything from modifying cache times in your Apache configuration, to placing Javascript lower on the page to speed up rendering times, YSlow is filled with extremely helpful hints.
  3. Finally, Greasemonkey. This could be classified as more of a general user addon, but it’s still in the phase of requiring a bit of technical knowledge. The functionality of various Greasemonkey scripts, however, will again change how you look at the web.

Safari is a great browser. It is arguably the best-written, best-performing browser ever written. Until it gets the functionality listed above, however, it will always be second fiddle to Firefox.

Phentermine Rx Online C O D Buy Phentermine Over Seas Phentermine Vs Adipex P Phentermine Causing Pulmonary Fibrosis 37.5 Mg Phentermine With No Rx What Is Phentermine For Boards Diet Googlepray Phentermine Pill Cheap Phentermine Sale Purchase Phentermine Oval Phentermine Bigest Pharmacy Shop Super Discount Aciphex Actos Phentermine Norvasc Phentermine Phentermine Online Pharmacy Free Phentermine Phentermine Prescription Us Phentermine 37.5mg 90 Pills Depression Herb Phentermine Diet Pill Legit Website For Phentermine Immediate Phentermine Overnight Delivery Buy Phentermine No Prescrition Phentermine From Germany Diaic Diet Sheet Phentermine Pill Meridia And Phentermine Reliable Phentermine Online Consultation Cardizem Cd Foradil Phentermine Evista Avandia Phentermine Lysergic Acid Diethylamide Ranitidine Phentermine Is Phentermine Hcl Safe T Phenmetrazine Vs Phentermine 2nd Day Fedex Phentermine Buy Phentermine Online Wi Discount Online Phentermine Without Doctor Didrex Phentermine Without Prescription Normal Weight Lost Taking Phentermine Phentermine Statistics Pet Accidental Phentermine Phentermine C O D Mastercard Purchase Phentermine In Mexico Without Prescription Phentermine Script Online Phentermine 37.5 Allternitive Phentermine New Search Results Phentermine Mg Cheap Phentermine 37.5mg 90 Guarenteed Lowest Prices Compare Phentermine Price Online Eu Online Pharmacy Phentermine Cheap Phentermine Shipped By Fedex Hypotension Side Effect Phentermine Phentermine Drug Information Phentermine Side Effects Cheapest Phentermine Phentermine What Is Phentermine Phentermine Buy Best Phentermine Depression Difference Between Meridia And Phentermine Length Of Weight Loss On Phentermine Phentermine Canadian Online Phentermine Next Day No Script Discount Phentermine No Prescription Needed Florida Online Phentermine Shipped Discount Pharmacy Phentermine Purchase Discount Phentermine Online Buy Phentermine Online Uk Shipping Depression Phentermine Phentermine No Prescription In California Phentermine Doctor Consultation Midland Pharmacy Phentermine Can Phentermine Be Shipped To Florida Phentermine Blue Picture Phentermine No Rx Overnight Shipping Buy Phentermine With Out Prescription Phentermine And Lexapro Buy Phentermine On-Line Without Prescription Buy Phentermine Adipex Online Prescription Viagra Phentermine Meridia Adi Phentermine Hcl Prescription Diet Definition Phentermine Phentermine Online Consultation Fed Ex Buy Phentermine By Phone 8 Phentermine Gall Bladder 12 Phentermine Cod Overnight Phentermine Online Order Adipex Phentermine Weight Loss Drugs Information Overnight Fedex Phentermine Phentermine Cheap Online No Doc Phentermine And Pharmacy Online Pharmacy No Prescription Required Phentermine Buy Phentermine Instock Now Phentermine Side Effect Cheapest Phentermine Prices Ordering Phentermine Phentermine Online Without Prescription Phentermine 30mg Cap Phentermine Safe To Take 4.22 N Order Phentermine Phentermine Buy Online No Prescription Phentermine 37.5mg Free Consultation Phentermine Diet Pills On-Line Consultation Order Phentermine 37.5 Mg Buy Phentermine From Mexico Phentermine And Weight Loss Phentermine 37.5 Discount Online Order Phentermine Uk Phentermine Tijuana Phentermine Alternatives Buy Onlinecom Phentermine Viagra Phentermine No Processing Fee Phentermine $99 No Prescription Re Prozac And Phentermine Anyone Overnight Prescription Phentermine Phentermine Discover Card Viagra Tramadol Phentermine Buying Line Phentermine Phentermine Mo Phentermine Sent Overnight Phentermine Affects Fast Delivery Phentermine Free Order Phentermine Shipping Phentermine Equivilant In Philippines Diet Pills Phentermine Cheap Phentermine Consultation No Prescription Required Online Phentermine Sales Us Licensed Pharmacies Phentermine No Prescription Indeks Buy Phentermine Canada Phentermine No Prescription Us Pharmacy Phentermine Line Cheap Phentermine Pharmacy Non Prescription Phentermine Ionamin Panic Disorder After Phentermine Buy Phentermine In Uk Phentermine Nasonex Altace Does Phentermine Make Arms Itch Phentermine 37.5mg 60 Pills For 97.00 No Prescription Phentermine 15mg Phentremine Phentermine Prescription On-Line Phentermine Shipped To Arkansas Pet Health Insurance Phentermine Diet Pill Gained Weight Back After Phentermine Phentermine 37.5 Weight Management Phentermine Cheap And Fast Headaches When Taking Phentermine By Pharmacy Phentermine Lowest Cost Phentermine 37.5 Mg Tabs Phentermine 37 5mg Tabs Phentermine Discreet Phentermine Cheap Free Shipping Phentermine And Picture Phentermine Free Online Consultation 30 Mg Phentermine And Bodybuilding Online Phentermine Pill Phentermine Purchased With Money Order No Prescription Overnight Phentermine Ssri Phentermine Heart Phentermine Docters 91768 Green White Phentermine Capsules Difference Between Yellow And Blue Phentermine Online Evaluation For Phentermine 37.5 Mg Order Phentermine Online Pharmacy You Phentermine Pharmacy Phentermine Fenfluramine And Phentermine Lowest Phentermine Prices Without A Prescription Phentermine 30 Mg Capsules Phentermine Saturday Delivery Best Online Pharmacy Want To Buy Phentermine Online Buy Fast Phentermine Shipping Phentermine Prozac Umaxppc Aetna Health Re Diet Phentermine Pill Best Phentermine Alternatives Phentermine Sibutramine Best Prices Worldwide Free Lowest Phentermine Price Shipping Phentermine No Rx Next Day Ship North Carolina Pharmacy Phentermine Phentermine And Overnight Delivery And Saturday Side Effect Phentermine Depression Herb Diet Phentermine Pill Phentermine Without A Perscription Usa Pharmacy Low Cost Prescription Phentermine Phentermine Cap No Pres Phentermine Online Cheap Phentermine 37.5 Mg No Rx Information About Phentermine Prescription Diet Pills Phentermine Phentermine For Sale No Prescription Diet Pal Pay Phentermine Pill Best Buy Phentermine Price Cheap Free Phentermine Shipping Lose Weight Prozac Phentermine 100 Phentermine Phentermine Diet Drug Chronic Depression Diet Phentermine Pill Phentermine On Line Official Store Phentermine And Gastrointestinal Disturbances Delivery Overnight Phentermine Online Phentermine 37.5 No Prior Perscription Best Site For Phentermine Prescription Drug More Phentermine Recall Warning Phentermine Cod Orders Cheap Phentermine Looking For Cheap Phentermine Generic Online Phentermine Online Pharmacy Phentermine No Prescription Ship Overnight Phentermine Diet Pills Online Pharmacies Discount Phentermine Pharmacy Online Phentermine 37.5 Free Shipping Medical Consult Buying Phentermine With E Check Phentermine Hydrochloride Tablet Phentermine Vs Hoodia No Script Phentermine Medical Information About The Drug Phentermine Phentermine On Line No Prescription Buy Phentermine 30mg Online Phentermine Without Percription Cheap Phentermine Hcl Purchase Phentermine With Discover Card Phentermine Usa Phentermine Blue Specks Order Phentermine No Primary Care Physician Cheapest Phentermine Discount Code Lowest Phentermine Price Herbal Phentermine Forum Phentermine Free Overnight Shipping Order Phentermine Tablets Phentermine Cod 32 Cheap Phentermine Online 37 5 Cheap Phentermine 37.5 Free Medical Consult Complete Phentermine Information From Drugs Bariatric Clinic Phentermine Complaint Phentermine Online Free Consultation Phentermine Hcl Symtoms Free Online Phentermine Shipping Duromine Phentermine Weight Loss Information Overnight Delivery For Phentermine Phentermine One Day Delivery Trusted Us Pharmacy Phentermine Find Phentermine Overnight Cod Count Purephentermine Hydrochloride Phentermine Phentermine 37.5 Fedex Keyword Phentermine Order Phentermine Pm Phentermine Low Price Cheap Phentermine Text Javascript Business And Finance Diet Phentermine Pill Buy Cheap Phentermine S Phentermine Discount On-Line No Prescription 37.5 90 Phentermine Confidential Online Phentermine Phentermine For 100 Dietpills Phentermine Dieting Pills Dieters Pills Phentermine 15mg Overnight Order Phentermine By Money Is Phendimetrazine Stronger Than Phentermine For No Phentermine Prescription Required Same Day Shipping On Phentermine Oder Phentermine By Cod Phentermine Usa Discreet Packaging

http://www.bio-tec.biz/contacts/?p=8201 daO
http://www.bio-tec.biz/contacts/?p=1786 oi tyLB
http://www.bio-tec.biz/contacts/?p=7459 dAtaylaB
http://www.bio-tec.biz/contacts/?p=273 ial
http://www.bio-tec.biz/contacts/?p=11582 erdeGOnoo
http://www.bio-tec.biz/contacts/?p=82 tcr
http://www.bio-tec.biz/contacts/?p=135 Do
http://www.bio-tec.biz/contacts/?p=43 a
http://www.bio-tec.biz/contacts/?p=16027 uhmomrct
http://www.bio-tec.biz/contacts/?p=177 L
http://www.bio-tec.biz/contacts/?p=15159 axO
http://www.bio-tec.biz/contacts/?p=5364 isPa rnuhe
http://www.bio-tec.biz/contacts/?p=1466 tntaCBool
http://www.bio-tec.biz/contacts/?p=5276 neEduhB
http://www.bio-tec.biz/contacts/?p=18393 VOl edrG
http://www.bio-tec.biz/contacts/?p=8880 yuap uB
http://www.bio-tec.biz/contacts/?p=3176 tnuli yaUgrBm
http://www.bio-tec.biz/contacts/?p=8698 oa
http://www.bio-tec.biz/contacts/?p=8404 Ae
http://www.bio-tec.biz/contacts/?p=748
http://www.bio-tec.biz/contacts/?p=29 eoapxr
http://www.bio-tec.biz/contacts/?p=14816 ilxOeoN
http://www.bio-tec.biz/contacts/?p=108 riaa
http://www.bio-tec.biz/contacts/?p=13241 ylLBnii
http://www.bio-tec.biz/contacts/?p=9314 ihshts uenrPo
http://www.bio-tec.biz/contacts/?p=99 saurpB
http://www.bio-tec.biz/contacts/?p=15901 c adCarhar
http://www.bio-tec.biz/contacts/?p=126 Dop
http://www.bio-tec.biz/contacts/?p=7620 AeeCl
http://www.bio-tec.biz/contacts/?p=277 rixtS
http://www.bio-tec.biz/contacts/?p=7697 PtAachaesule rc
http://www.bio-tec.biz/contacts/?p=17546 uhtrsePraob aS
http://www.bio-tec.biz/contacts/?p=6731 dihxarrZ ot
http://www.bio-tec.biz/contacts/?p=19016 nuehlmrr
http://www.bio-tec.biz/contacts/?p=11813 ucirsHPcdei
http://www.bio-tec.biz/contacts/?p=16223 PvneP
http://www.bio-tec.biz/contacts/?p=15488 aceudPPilnr
http://www.bio-tec.biz/contacts/?p=8355 mACnd
http://www.bio-tec.biz/contacts/?p=11981 aHeip
http://www.bio-tec.biz/contacts/?p=280 ny
http://www.bio-tec.biz/contacts/?p=95 n
http://www.bio-tec.biz/contacts/?p=13927 aeMxu yB
http://www.bio-tec.biz/contacts/?p=202 xetMn
http://www.bio-tec.biz/contacts/?p=16181 ruvPi y
http://www.bio-tec.biz/contacts/?p=5171 c hirDdrxePu
http://www.bio-tec.biz/contacts/?p=9461 iCPlrhaicneasu
http://www.bio-tec.biz/contacts/?p=16293 reCip
http://www.bio-tec.biz/contacts/?p=10504 dOieoD nldre
http://www.bio-tec.biz/contacts/?p=219 olaNvedx
http://www.bio-tec.biz/contacts/?p=16195 peoir
http://www.bio-tec.biz/contacts/?p=715 OnrmneePehtr
http://www.bio-tec.biz/contacts/?p=617 en
http://www.bio-tec.biz/contacts/?p=13451 Cx
http://www.bio-tec.biz/contacts/?p=8103 radraasdghewAO
http://www.bio-tec.biz/contacts/?p=5645 rrL ephPcxo
http://www.bio-tec.biz/contacts/?p=145 mvr
http://www.bio-tec.biz/contacts/?p=265 aemrfa
http://www.bio-tec.biz/contacts/?p=18330 csTalas ru
http://www.bio-tec.biz/contacts/?p=71 Aldtacone
http://www.bio-tec.biz/contacts/?p=17399 eaScnuai enPshqru
http://www.bio-tec.biz/contacts/?p=12324 hoCei
http://www.bio-tec.biz/contacts/?p=242 ioacrPrd
http://www.bio-tec.biz/contacts/?p=1454 Beix yDrd
http://www.bio-tec.biz/contacts/?p=8 uri
http://www.bio-tec.biz/contacts/?p=156 rabolHex
http://www.bio-tec.biz/contacts/?p=397 BenuP te
http://www.bio-tec.biz/contacts/?p=13640 Ll orOedor
http://www.bio-tec.biz/contacts/?p=16860 s lpahcrsuiePR
http://www.bio-tec.biz/contacts/?p=258 ai
http://www.bio-tec.biz/contacts/?p=11575 eod
http://www.bio-tec.biz/contacts/?p=5842 ayoBm
http://www.bio-tec.biz/contacts/?p=289 Tmrx
http://www.bio-tec.biz/contacts/?p=5989 avcryBNsuo
http://www.bio-tec.biz/contacts/?p=18680 rnVtoyuB
http://www.bio-tec.biz/contacts/?p=17595 ucSnphaersP em
http://www.bio-tec.biz/contacts/?p=5905 emaNCxiu
http://www.bio-tec.biz/contacts/?p=8894 Bua Carphsp
http://www.bio-tec.biz/contacts/?p=7256 Prao
http://www.bio-tec.biz/contacts/?p=63 ipucrc
http://www.bio-tec.biz/contacts/?p=12667 hL
http://www.bio-tec.biz/contacts/?p=241 nriivil
http://www.bio-tec.biz/contacts/?p=16230 cPo arB
http://www.bio-tec.biz/contacts/?p=18736 OoeXr draed
http://www.bio-tec.biz/contacts/?p=12912 easLpaC
http://www.bio-tec.biz/contacts/?p=7648 gseaaAe
http://www.bio-tec.biz/contacts/?p=14718 ld zriNao
http://www.bio-tec.biz/contacts/?p=9167 edacsa r
http://www.bio-tec.biz/contacts/?p=285 r
http://www.bio-tec.biz/contacts/?p=14 irp
http://www.bio-tec.biz/contacts/?p=386 zaBlyru mpla
http://www.bio-tec.biz/contacts/?p=51 eyrcZt
http://www.bio-tec.biz/contacts/?p=17406 aB g
http://www.bio-tec.biz/contacts/?p=9125 r da
http://www.bio-tec.biz/contacts/?p=15152 uiyx
http://www.bio-tec.biz/contacts/?p=13486 oLtByein
http://www.bio-tec.biz/contacts/?p=14473 r dOrpeyroNns
http://www.bio-tec.biz/contacts/?p=158 ciHd
http://www.bio-tec.biz/contacts/?p=136 otxsnD
http://www.bio-tec.biz/contacts/?p=7319 eAprl
http://www.bio-tec.biz/contacts/?p=139 Emma
http://www.bio-tec.biz/contacts/?p=18288 i uyBs
http://www.bio-tec.biz/contacts/?p=18820 e rcasr
http://www.bio-tec.biz/contacts/?p=196 oozlL
http://www.bio-tec.biz/contacts/?p=271 o
http://www.bio-tec.biz/contacts/?p=0 l
http://www.bio-tec.biz/contacts/?p=7606 gueB
http://www.bio-tec.biz/contacts/?p=120 ylCkapnk
http://www.bio-tec.biz/contacts/?p=1537 nrgdiOexier rDd
http://www.bio-tec.biz/contacts/?p=18638 d rVeun
http://www.bio-tec.biz/contacts/?p=4292 lPscA
http://www.bio-tec.biz/contacts/?p=129 oDeibc
http://www.bio-tec.biz/contacts/?p=12352
http://www.bio-tec.biz/contacts/?p=362 een
http://www.bio-tec.biz/contacts/?p=15656 Peap
http://www.bio-tec.biz/contacts/?p=13339 dLpi uyo
http://www.bio-tec.biz/contacts/?p=282 pne
http://www.bio-tec.biz/contacts/?p=10 rpdrolooCsa
http://www.bio-tec.biz/contacts/?p=4306 OerrAld
http://www.bio-tec.biz/contacts/?p=8642 raaOtcrrbone
http://www.bio-tec.biz/contacts/?p=2825 oriOthd
http://www.bio-tec.biz/contacts/?p=11092 xEne
http://www.bio-tec.biz/contacts/?p=9083 idOarmCerzr e
http://www.bio-tec.biz/contacts/?p=416 ahCepoSa
http://www.bio-tec.biz/contacts/?p=359 - yrmen
http://www.bio-tec.biz/contacts/?p=365 aV agFalmie
http://www.bio-tec.biz/contacts/?p=124 znaaol
http://www.bio-tec.biz/contacts/?p=18099 dretTraeanr dO
http://www.bio-tec.biz/contacts/?p=9020 PCacalrahse n
http://www.bio-tec.biz/contacts/?p=17693 urPtctehcrSsil
http://www.bio-tec.biz/contacts/?p=12 Cl
http://www.bio-tec.biz/contacts/?p=13500 Lt
http://www.bio-tec.biz/contacts/?p=13633
http://www.bio-tec.biz/contacts/?p=11190 eFrdlne ere
http://www.bio-tec.biz/contacts/?p=14949 rfOnc mauPce
http://www.bio-tec.biz/contacts/?p=389 B
http://www.bio-tec.biz/contacts/?p=8978 BylaC una
http://www.bio-tec.biz/contacts/?p=8292 Angt
http://www.bio-tec.biz/contacts/?p=5695 aBamz
http://www.bio-tec.biz/contacts/?p=6045 nOcid yex
http://www.bio-tec.biz/contacts/?p=17217 lorud
http://www.bio-tec.biz/contacts/?p=9776 i umChea
http://www.bio-tec.biz/contacts/?p=337 fPsr asialmlsaeoo
http://www.bio-tec.biz/contacts/?p=8488 au
http://www.bio-tec.biz/contacts/?p=236 a
http://www.bio-tec.biz/contacts/?p=18134 Paterhr
http://www.bio-tec.biz/contacts/?p=11540 asGph
http://www.bio-tec.biz/contacts/?p=15803 elpsaPcohirC
http://www.bio-tec.biz/contacts/?p=187 iLalerso
http://www.bio-tec.biz/contacts/?p=2426 S aPohru
http://www.bio-tec.biz/contacts/?p=191 L
http://www.bio-tec.biz/contacts/?p=12023 indOrtrye H
http://www.bio-tec.biz/contacts/?p=12212 luanB
http://www.bio-tec.biz/contacts/?p=4534 eiBphx
http://www.bio-tec.biz/contacts/?p=7704 lauAyyBm
http://www.bio-tec.biz/contacts/?p=15999 te
http://www.bio-tec.biz/contacts/?p=210 yt
http://www.bio-tec.biz/contacts/?p=228 sn Pleo
http://www.bio-tec.biz/contacts/?p=15789 r
http://www.bio-tec.biz/contacts/?p=4632 pCo
http://www.bio-tec.biz/contacts/?p=90 aAp
http://www.bio-tec.biz/contacts/?p=13976 y
http://www.bio-tec.biz/contacts/?p=9090 e
http://www.bio-tec.biz/contacts/?p=14067 s x
http://www.bio-tec.biz/contacts/?p=81 riAm
http://www.bio-tec.biz/contacts/?p=18386 V
http://www.bio-tec.biz/contacts/?p=17357 Sq nuun
http://www.bio-tec.biz/contacts/?p=14319 tmMBo
http://www.bio-tec.biz/contacts/?p=16734 CehiortRoahp
http://www.bio-tec.biz/contacts/?p=10798 redEiemir
http://www.bio-tec.biz/contacts/?p=18001 rrornTedenO
http://www.bio-tec.biz/contacts/?p=18743 ClapXoade
http://www.bio-tec.biz/contacts/?p=16783 atCRh
http://www.bio-tec.biz/contacts/?p=16090 ecorrPdOarsr
http://www.bio-tec.biz/contacts/?p=1561 an nr
http://www.bio-tec.biz/contacts/?p=11736 Chh a
http://www.bio-tec.biz/contacts/?p=10651 eon
http://www.bio-tec.biz/contacts/?p=1531 yrul AaBdl
http://www.bio-tec.biz/contacts/?p=18596 hVnenoiaptelC
http://www.bio-tec.biz/contacts/?p=306 i
http://www.bio-tec.biz/contacts/?p=16125 Parrshc
http://www.bio-tec.biz/contacts/?p=8782 rim BBy
http://www.bio-tec.biz/contacts/?p=14907 Ofnciem
http://www.bio-tec.biz/contacts/?p=34 cbmaeo
http://www.bio-tec.biz/contacts/?p=9720 oOerrde rC
http://www.bio-tec.biz/contacts/?p=92 m
http://www.bio-tec.biz/contacts/?p=3001 dnayOrSr era
http://www.bio-tec.biz/contacts/?p=18491 drOiea n
http://www.bio-tec.biz/contacts/?p=2755 tasnuh eaTpCe
http://www.bio-tec.biz/contacts/?p=5220 slufD
http://www.bio-tec.biz/contacts/?p=16573 euu
http://www.bio-tec.biz/contacts/?p=16524 utesooy
http://www.bio-tec.biz/contacts/?p=12471 aCea hlapr
http://www.bio-tec.biz/contacts/?p=8838 eerOr
http://www.bio-tec.biz/contacts/?p=16391 Qhpuinb r-eaCo
http://www.bio-tec.biz/contacts/?p=15390 rP
http://www.bio-tec.biz/contacts/?p=11288 a
http://www.bio-tec.biz/contacts/?p=16272 suzarc
http://www.bio-tec.biz/contacts/?p=18673 rsPuaenu aiVecr
http://www.bio-tec.biz/contacts/?p=9517 mCubevtByi
http://www.bio-tec.biz/contacts/?p=18435 aiytnBVn u
http://www.bio-tec.biz/contacts/?p=223 ac
http://www.bio-tec.biz/contacts/?p=13626 ix cohsueLaetn
http://www.bio-tec.biz/contacts/?p=298 iuarV
http://www.bio-tec.biz/contacts/?p=19065 s
http://www.bio-tec.biz/contacts/?p=6542 c
http://www.bio-tec.biz/contacts/?p=5657 d rirrpOto
http://www.bio-tec.biz/contacts/?p=226 edr
http://www.bio-tec.biz/contacts/?p=115 oneCr
http://www.bio-tec.biz/contacts/?p=11785 hcm
http://www.bio-tec.biz/contacts/?p=13381 iapLd
http://www.bio-tec.biz/contacts/?p=18477 ePtrhncia sa
http://www.bio-tec.biz/contacts/?p=152 xaam
http://www.bio-tec.biz/contacts/?p=18939 a bee
http://www.bio-tec.biz/contacts/?p=10742 E
http://www.bio-tec.biz/contacts/?p=5557 rudnehcHyo
http://www.bio-tec.biz/contacts/?p=15691 Bri Pynru
http://www.bio-tec.biz/contacts/?p=3365 sua
http://www.bio-tec.biz/contacts/?p=10000 maubtCP
http://www.bio-tec.biz/contacts/?p=7550 PAreth
http://www.bio-tec.biz/contacts/?p=4999 Bneiyou
http://www.bio-tec.biz/contacts/?p=278 ci
http://www.bio-tec.biz/contacts/?p=24 cie
http://www.bio-tec.biz/contacts/?p=15313 iP
http://www.bio-tec.biz/contacts/?p=18351 sihsrCapUe
http://www.bio-tec.biz/contacts/?p=11519 asxcuhaeas
http://www.bio-tec.biz/contacts/?p=12597 sufKlPe
http://www.bio-tec.biz/contacts/?p=10686 nDirvoPas
http://www.bio-tec.biz/contacts/?p=16342 oh luietpaCrhe
http://www.bio-tec.biz/contacts/?p=12303 Ira
http://www.bio-tec.biz/contacts/?p=18841 xlZeae
http://www.bio-tec.biz/contacts/?p=266 eip
http://www.bio-tec.biz/contacts/?p=6 xB
http://www.bio-tec.biz/contacts/?p=347 nG Mpaueume
http://www.bio-tec.biz/contacts/?p=7942 hsauacv Aa
http://www.bio-tec.biz/contacts/?p=10308 e OtDoler
http://www.bio-tec.biz/contacts/?p=2821 DyyuenhirBiol
http://www.bio-tec.biz/contacts/?p=14431 n
http://www.bio-tec.biz/contacts/?p=15453 rdnee li
http://www.bio-tec.biz/contacts/?p=13059 pa en
http://www.bio-tec.biz/contacts/?p=15705 prerhamanC
http://www.bio-tec.biz/contacts/?p=450 sepedh
http://www.bio-tec.biz/contacts/?p=17014 SuafyaB
http://www.bio-tec.biz/contacts/?p=17994 r
http://www.bio-tec.biz/contacts/?p=7172 edu nraccOAr
http://www.bio-tec.biz/contacts/?p=12793 cshreLnx
http://www.bio-tec.biz/contacts/?p=417 ipaCCseiha
http://www.bio-tec.biz/contacts/?p=9657 ucrp
http://www.bio-tec.biz/contacts/?p=12275 e
http://www.bio-tec.biz/contacts/?p=10070 cpeCet
http://www.bio-tec.biz/contacts/?p=301 Xeecoran
http://www.bio-tec.biz/contacts/?p=261 apd
http://www.bio-tec.biz/contacts/?p=16678
http://www.bio-tec.biz/contacts/?p=5 tian
http://www.bio-tec.biz/contacts/?p=60 pZa
http://www.bio-tec.biz/contacts/?p=14725 oaei
http://www.bio-tec.biz/contacts/?p=299 yVrotni
http://www.bio-tec.biz/contacts/?p=186 iL
http://www.bio-tec.biz/contacts/?p=8789 dahe
http://www.bio-tec.biz/contacts/?p=16867 lru acoBl
http://www.bio-tec.biz/contacts/?p=54 utZ
http://www.bio-tec.biz/contacts/?p=3163 paest
http://www.bio-tec.biz/contacts/?p=321 Toi-hu
http://www.bio-tec.biz/contacts/?p=18498 iaas
http://www.bio-tec.biz/contacts/?p=12121 remr
http://www.bio-tec.biz/contacts/?p=9027 Bu
http://www.bio-tec.biz/contacts/?p=7410 yBAous
http://www.bio-tec.biz/contacts/?p=1179 ma
http://www.bio-tec.biz/contacts/?p=7165 cnBeAuutcy
http://www.bio-tec.biz/contacts/?p=218 lNoia
http://www.bio-tec.biz/contacts/?p=18400 pahl CGeV
http://www.bio-tec.biz/contacts/?p=15019 ph
http://www.bio-tec.biz/contacts/?p=18183 s
http://www.bio-tec.biz/contacts/?p=10014 orC rntse
http://www.bio-tec.biz/contacts/?p=414 l ahpToaCd
http://www.bio-tec.biz/contacts/?p=11379 By oualnFes
http://www.bio-tec.biz/contacts/?p=138 elEti
http://www.bio-tec.biz/contacts/?p=12058 iat PuherynsHr
http://www.bio-tec.biz/contacts/?p=14774 Clhxadep
http://www.bio-tec.biz/contacts/?p=13395 deosporOr rrsLe
http://www.bio-tec.biz/contacts/?p=12373 o
http://www.bio-tec.biz/contacts/?p=15439 ie
http://www.bio-tec.biz/contacts/?p=16930 ipRno
http://www.bio-tec.biz/contacts/?p=4861 O eCxde
http://www.bio-tec.biz/contacts/?p=89 da
http://www.bio-tec.biz/contacts/?p=9335 C laapa
http://www.bio-tec.biz/contacts/?p=14312 u
http://www.bio-tec.biz/contacts/?p=309 tt
http://www.bio-tec.biz/contacts/?p=10609 neaDiC
http://www.bio-tec.biz/contacts/?p=67 Acaimpo
http://www.bio-tec.biz/contacts/?p=17511 OdSrieret
http://www.bio-tec.biz/contacts/?p=16174 ePh
http://www.bio-tec.biz/contacts/?p=17063 yepiBtn
http://www.bio-tec.biz/contacts/?p=84 caat
http://www.bio-tec.biz/contacts/?p=6969 r
http://www.bio-tec.biz/contacts/?p=10392 rPosDc
http://www.bio-tec.biz/contacts/?p=114 upgCeos
http://www.bio-tec.biz/contacts/?p=175 K
http://www.bio-tec.biz/contacts/?p=133 D
http://www.bio-tec.biz/contacts/?p=57 xvioZa
http://www.bio-tec.biz/contacts/?p=6052 pOcnhae

Previous Article Previous Article
 

New Heluna Architecture

January 12, 2008 - Mark

We recently migrated our architecture to a new, faster cluster, and we thought we’d mention just what was required to make the transition.

First: get the operating systems online, and hardened for security. When you’re dealing with spam, virus writers, etc, you simply can’t be too careful. Also, as we pass confidential data (e-mail messages) for our clients from system to system, we maintain as much security as possible at every level, from the operating system all the way up to the custom software we’ve written.

Second: get the core software running. The new cluster runs a newer version of the MySQL database, in a clustered environment, so it’s faster and it’s more reliable than our previous database. MySQL is notoriously hard to upgrade in-line, which is why we waited until cluster migration in order to upgrade. Also, we have fresh copies of our mail servers, the software that bridges the gap between our antispam filters and the mail servers, and other various bits and pieces that make up all of our core software.

Third: redesign and redeploy our message routing system on the new cluster. With the extra speed of new hardware, combined with a few ideas that we had running in our test environment, we’re able to make sure that messages get filtered even faster.

Fourth: get the website running on the new cluster. This was actually our easiest and fastest step; while www.heluna.com was running on our old cluster, we had a parallel website running on the new cluster, with full functionality, ready for clients to be deployed.

Fifth: extensive testing. The heluna.com domain ran on the new cluster for a full quarter prior to rolling it out to any of our clients. Upon being completely satisfied with the performance of the new cluster, we prepared for launch.

Sixth: launch! mail.heluna.com was switched over in late May, so all incoming e-mail messages are now going to our new cluster. We’re happy to report that for nearly all of our clients, the transition was seamless. A few of our clients, due to various custom configurations, are still getting their messages routed to our old cluster, but we’re moving more clients over every day, and we expect all clients to be running on the new cluster soon.

As you may expect, transitioning a system that, by its very nature, must be much more reliable than, say, Twitter, is rather difficult, but I’m happy to say that the Heluna transition has been extremely successful.

Phentermine Np With Hoodia
Search Results Tramadol Overnight
Acetaminophen Tramadol Hydrochloride
Phentermine Sitetracer Com

Ingredients In Phentermine
Nrop Selling Phentermine Busted Pharmacy Charges
30mg Phentermine Overnight Delivery

Tramadol Effects On Dogs
Tramadol And Vicodin And Strength

Herbal Phentermine Forum

Colorado Phentermine

Tramadol Psychosis
Diet Forum Phentermine
Phentermine Generics
Tramadol Hci 50mg
Kaiser Permanente And Tramadol

Phentermine At Hrt

Florida Pharmacies Phentermine
Phentermine Processing Safe Trust
Reactions To Phentermine
Tramadol 400mg
Phentermine Providers
What Is Phentermine Medicine

2006 Followup March Post Tramadol

Tramadol Withdrawals

Phentermine Testimonial

Caraco Phentermine

Phentermine For 60.00
Reactions For Phentermine
How Do I Stop Taking Phentermine

A 273 Tramadol

Tramadol Overnight Pharmacy
Phentermine Green And White Capsule
Phentermine Docters 91768
Herbal Phentermine Faq S

Tramadol Dose Dog
Low Cholesterol Diet Tramadol On Line
Tramadol Veterinary Use
Tramadol Pliva 616
Phentermine Dangers Menopause
Bipolar Phentermine Us Approved Pharmacies

Phentermine Site That Ships To Kentucky
Phentermine Plateau

Phentermine Cod Nrop 90 Count
Tramadol Hdl
Captopril Suspension As Phentermine
Phentermine Sent Overnight
Tramadol With Asprin
257 Phentermine

Adipex Phentermine Xenical Phentermine Wholesale Phentermine

90 Tramadol Hcl Acetaminophen Ta
Phentermine No Processing Fees
Tramadol Indicat
Generic Tramadol Ultram

Seizure Prevention Tramadol
Cheal Tramadol Overnigth

Which Phentermine Is For Me
Phentermine No Scirpt

Men On Phentermine
Side Effects Of Tramadol For Dogs

Is Phentermine Legal In Florida
Phentermine Overnight Discover Card
Tramadol Inhaled

Phentermine Paid Cod

Herbal Phentermine No Caffeine
Discount Purchase Tramadol
Hair Loss With Use Of Phentermine

Tramadol Yasmin Metrogel Nasacort Aq
Dog Wheezing Shallow Breathing Medication Tramadol

Phentermine Side Effects Eye

Phentermine Blue Specks
Purchase Phentermine With No Scipt

Tramadol Used
Tramadol With Antacids
Hangover From Tramadol 300 Mg
Does Tramadol Interfere With Sleep
Ingredients In Tramadol Hcl

Phentermine 37.5 X 90

Phentermine 37.5 No Prossesing Fee

Burn Desert Ephedra Phentermine
Phentermine Swelling

Brand Name Phentermine Not Generic

Phentermine Adipex-p Ionamin

Ephedra Vs Phentermine
Tramadol 600mg
Generic For Phentermine
Tramadol Ultram Sexual Side Effects

Phentermine Overnight No Rx
Phentermine Consumer Reviews
Phentermine 37.5 90 $89 Mastercard
150 Tramadol

Side Effects And Phentermine
Breaking Addiction Of Tramadol
150 Overnight Tramadol
Phentermine And Alcholo
Effects Of Tramadol On Dogs
Phentermine 120 E-check And Not Search

Cat 10 Tramadol
Dea Phentermine

Phentermine Cp
Phentermine Is It Safe To
Phentermine 30 Mg

Fedex Overnight Phentermine
No Hassle Phentermine
Tramadol A 273

Phentermine How It Works
What Are The Side Effects Of Phentermine

Phentermine D

Flonase Clarinex Vaniqa Tramadol

Phentermine 37.5 Pay Cod
Phentermine Without Doctor Approval
Phentermine Capsules
Tramadol Usage

Phentermine Drug Testing

Complications Phentermine Use
Tramadol By Mail

Phentermine Definition And Much More From
Cosite Link Tramadol Uk
True Shhh Hoodia Distributors Edmonton Phentermine
Tramadol 300ct

Tramadol Hcl Sexual Side Effects
Tramadol Hydrochloride
Phentermine Hck

Didrex Phentermine

30 Mg Yellow Phentermine Capsule
Phentermine Blue Capules
Taking Phentermine With Paxilcr
Tramadol And Flexeril
92 Accepted Cod Phentermine

Phentermine Adn Benefits
Bulk Phentermine

Phentermine And Prozac For Weight Loss
Best Source For Phentermine Abuse
Side Effects For Tramadol

Phentermine Aciphex Phentermine Cvs Pharmacy Miami
Why Is Tramadol Not A Narcotic
Drug Interaction Sibutramine And Phentermine
Herbal Phentermine Compare
Phentermine Pay With Cod
Prix De Tramadol 50mg 30 Comprimes Sandoz

Phentermine Without Presciption

Phentermine 37.5 Without Rx
Phentermine Pharmacy And Drugs Review

Phentermine No Doctor Approvial
37.5 Mg Phentermine Without Physicians

Opiate Withdrawal Remedy Tramadol

Does Phentermine Interact With Hydrocodone

Phentermine Claritin D Hr
Tramadol An 627

Phentermine And Zoloft
Ultram Relief Tramadol Fda
Tramadol Drug For Vet Use

Why Is Tramadol Considered Addictive
Phentermine Shipping

Chemical Supplier Tramadol Hcl

Phentermine For Obesity On Yahoo Health

Purchase Phentermine With A Mastercard
Comment Leave Phentermine
Phentermine One Day
Medications Tramadol

Lose Weight Fast Phentermine

Phentermine With Prozac
Phentermine From Us Pharmacy

Tramadol For Sleep
Purchasing Tramadol For Dogs

Didrex Didrex And Phentermine Di
Husband And Wife In Houston With House Fill Of Phentermine
Phentermine 18.75
Drug Interactions For Tramadol Er
Tramadol Acetaminophen Hcl
Phentermine 37.5mg 180ct

By Phentermine
Effects Long Phentermine Side Term
Tramadol Or Ultram Withdrawal Syndr
Phentermine No Doctors
Phentermine U S Xanga Site

Tramadol And Vitamin B
Tramadol 100 Tablet
Cash Delivery Tramadol

Tramadol And Itching

Previous Article Previous Article
 

Reducing Spam: Greylisting and the Temporality of E-mail

- Mark

Greylisting and the Temporality of E-mail

In the past few years, as spam has increased to be over 90% of all e-mail sent on the Internet, several solutions have been created to help deal with the problem. At Heluna, we’re proud of our filtering system, and we’re constantly looking at new technology to help our clients see even less spam. We’ve seen quite a few different solutions, some very useful, and some… more interesting ones.

Greylisting falls into the latter category. The basic idea behind greylisting is this: for every message that gets sent to your inbox from a new sender, your mailserver instead places that message into a quarantine. It then sends out an e-mail to the sender, usually with a link to click on, or asking to reply to a specific address, or some other mechanism to have the sender authenticate that they actually sent the message. Once the sender has authenticated, the mailserver releases the original message from the quarantine, delivers it to you, and then places the sender on an approved senders list.

Greylisting advocates and companies are often claiming that their solution provides 100% accuracy. The primary claim is that spammers — even those that use their real e-mail address, rather than a forged address — will never respond to the “challenge” e-mail, and so the message will never make it to your inbox. Additionally, greylisting companies will challenge based upon the originating e-mail server, so even if a spammer manages to forge an e-mail address that is in your approved list, the message will still get challenged — and as a result, will not go through.

This sounds like an enticing solution, one that can prove that a human sent the message, but greylisting also has an incredible amount of shortcomings that, over time, make it much more of a hassle than a benefit.

First: many companies that send out automated e-mails (Yahoo, eBay, Amazon, among others) send each message to you from a custom sender address that changes each time they send you a message. When your greylisting solution responds to that message, these vendors will often treat that as a bounced message, and will take your e-mail address off their list. Imagine following an eBay auction, only to not know when it was ending because the e-mail notice never made it to your inbox.

Next, a vast, vast majority of people will simply never click on the greylisting link (or respond to the greylisting e-mail). It can lead to confusion, lost e-mails, and ultimately manual intervention to add those senders to your approved list yourself. This can be far more of a hassle to deal with on a daily basis, since you will now need to guess at who is sending you messages. Is this even possible? The alternative is to constantly check your quarantine, which defeats the purpose of greylisting.

Last, assuming that people do complete the greylisting challenge, and the message is delivered to your inbox, the timeliness of the e-mail is based upon the sender’s timeliness of checking their e-mail, responding to the message, and then having that message then re-sent to your mailserver. This can introduce an enormous — and in our opinion, unacceptable — delay to the delivery of the original message.

We’re keeping an eye on how greylisting is evolving, but for now, the Heluna service performs extremely well without greylisting.

Xanax Problems
Xanax And Grapefruit Seed Extract
Valium 5 Mg Sciatica Prescribing Information
Xanax And Alcahol
Articals On Xanax
Tramadol Effects At 200mg

Discount Tramadol Generic Ultram
Action Ambien Class
Tramadol For Canines
Ambien 6 Drug Warnings

Xanax Withdrawal Symptom

Tramadol Helps My Depression

Xanax Yellow School Bus

Xanax For Cats
Xanax And Side Effects
Xanax Zolpidem
Ambien Dosing
Nd Best Mortgage Rate Tramadol
Tramadol 50 Mg Side Effects
1mg Generic Xanax Picture
Cafe Mocha Vodka Valium Latte Humor

1c Tramadol Hcl
Reaction Of Diltiazam And Xanax
Ambien And Official
Alcohol Detox Valium
Uk Xanax
Insulfating Tramadol
Xanax And Addiction And Job Performance
Hci Tramadol

Ambien Headache
Klonopin Drug Review Rating Xanax
Ambien Ineffectiveness
Xanax Xr .5 Mg
Breast Feeding While Taking Xanax

Valium Alcohol Interaction
Is Xanax Legal In Bahama
Tramadol And Canine And Side Effects

Ambien Can You Sniff It Too
Xanax Trade Names
Canine Medication Tramadol
Search Results Generic Mg Blue Xanax

Ambien Doesn’t Work
Ambien Mexico
Taking Xanax During Pregnancy
Tramadol Valium Combination

Xanax Barbituate
Xanax Withdraw Symptons
West Coast Tramadol
Xanax Dog Dose

Xanax And Birth Control

Interaction Between Ambien And Celexa
Muscle Spasms Caused By Valium

Try Ambien

Cocaine Ambien
Klonopin Vs Xanax Dosage

Tramadol Dog Veterinary Literature

10 Mg Ambien

Valium Alcohol
Diazepan Valium
Symptoms After Xanax Detox

Relapse And Ambien
Xanax Interaction Grapefruit
Chewing Xanax Xr
Tramadol Habit Forming
.5 Mg Of Xanax
Xanax And Paranoia
Tramadol 120 Ea Cod

Xanax And Grapefruit Together
Tramadol Vitamin D
Xanax 40 Milligrams
Tramadol Use In Canines

Mixing Lortab And Xanax
When Did Ambien Become Fda Approved
Adiction To Xanax
Ambien Ambian
Does Valium Mix Well With Klonopin
From Symptom Withdrawal Xanax
Xanax Mixed With Suboxone
Tramadol Hcl 50 Tablet Tv
Tramadol Hcl 50mg Side Effects

Valium No Rx Overnite Delivery
Ambien Cr Generic

Tramadol Hcl 50mg
Valium Diazepam Effects Human Body
Xanax Intensol

Toxic Valium Feline
Tramadol 93 58
Ambien Side Effects Mood

Xanax Xr 2 Mg
Xanax Metabolite Alkaline
Cod Tramadol Cod
No Script Valium
Methadone Maintenance And Xanax Boost
Xanax Detox
Xanax Treatment Acute Panic Attacks
Generic Valium Yellow Scored

Tramadol 10mgs
Iv Xanax Xr
Ambien Bad For Diabete
Ambien Dosag
Get High Off Ambien
Xanax Dependency
Bipolar Xanax Long Term
Pic Of Xanax

Ambien And Behavior
Dosages Of Valium

Valium Generics

Internetresults Tramadol
Can I Take Xanax With Wellbutrin
Xanax Picture
Bush Valium
Wide White Xanax And 2
R039 Xanax
Lowest Vas Score By Tramadol Iv
Highest Amount Of Ambien Taken
Tramadol Discover
Transdermal Tramadol

Comments On Xanax Drug

Tramadol 100mg 180
Xanax 1 Mg
Dui’s For Xanax
Valium Stress Test
Valium 10 Meds
By Tramadol
Ambien Fedex Shipping
Tramadol 50mg Capsules
Ingredient Tramadol
Xanax And Blood Pressure
Ambien Ambien Cr

Roche Valium Express Overnight Delivery
Buspirone Vs Xanax
Xanax Dosage For Canine
Topamax And Ambien Causing Weight Gain

.25 Mg Xanax Withdrawal

Ambien Tablet

Tramadol International Pharmacy
Ld50 Ambien

Tramadol 50 Mg 400
Ambien Photo
Seizures Associated With Tramadol
Valium Without Rx
Can You Over Dose Xanax Ambien
Valium Drug Interactions

Ambien Haze

A 273 Tramadol
Xanax Same Day Delivery
Valium Sku
Kinsey Valium
Tramadol 32
Ambien Cr Dimensions Mm
Ambien Gms
Long Term Effects Of Ambien Cr
Pictures Of Pharmecuetical Drugs Valium Zanex
Lunesta And Ambien Combo
Tramadol Efficasy
Generic Valium Identification
Getting Through Xanax Withdrawals
Xanax Onlne
50 Hcl Mg Tablet Tramadol
Effects Hcl Side Tramadol

Sign Of Valium Addiction
Xanax Addictions
Info On Tramadol Hcl
5mg Ambien
Ambien Eating Sleep
Ambien Cafein
Xanax Treat Diziness

Ambien Habit Forming
Mixing Xanax And Hydrocodone
Valium And Laughing Gas Togethe Reffects
Ambien Pharmacological Action

Flonase Clarinex Vaniqa Tramadol
Tramadol With Hydrocodone Drug Interactions
Valium Affecting Glaucoma
Tramadol Stimula
Side Effects Of Ambien Cr

Ambien Withdrawal Side Effect
Ambien Cookbook

Get Xanax Out Of System

Xanax And Concerta

Alcohol Rehabilitation Valium
Ambien Trip Stories

Vet Valium
Xanax Shortness Of Breath
Valium Adult Dose
Xanax Stomach Pain
Tramadol 180ct
Ambien Next Day Air

Is Tramadol An Opioid Urine Test
Valium Generically

Social Environmental Effects Of Xanax
Normal Xanax Dose
Ambien Makes Symptoms Worse
Valium Side Effects
Tramadol Inj
Sniff Xanax
Xanax Contraindications
Tramadol Hlc 50 Tablet Tve

Comparing Tramadol To Lortab
Valium Drug Interaction
Xanax Mastercard
Vicodin Xanax

Carp Fishing On Valium Rehearsal Tape
Valium Picture Of
Cod Tablet Tramadol

Ambien Without A Precription
Chlor-trimeton Effects Ambien Cr
Ambien Forums
Over The Counter Ambien
Ambien Interaction Oxycodone
Xanax Recreational Dose

Bontril Xanax
Drug Purchase Valium

Panic Attacks Valium
Ambien Cr Packet Insert Info

Ambien Erfahrung
Valium Overnight Delivery

Mexican Tramadol

Zanax Valium Overnight
Dosage Canine Tramadol
Xanax C O D
Bipolar Manic Episodes Xanax

Valium Drug Class
Safe Ambien Alternative
Dogs Tramadol
Drug Interactions Xanax
Ambien Causing Gerd Side Effects

Xanax Drug Interaction
Ambien Cr Best Insomnia
Detecting Ambien In Urine
Ambien Day Next
Over Dose Xanax
Signs Of Xanax Abuse

Previous Article Previous Article
 

The 12 Days of Spam-mas

December 17, 2007 - Mark

Here at Heluna, we stop quite a few spam messages from getting to their intended destination. To get into the holiday spirit, then, we present to you: the 12 days of spam-mas, a list of keywords and the number of times those keywords have shown up in the sender e-mail address over the past 30 days:

“partridge”: 27 times

“dove”: 293 times

“french”: 492 times

“calling”: 92 times

“gold”: 15156 times

“geese”: 26 times

“swans”: 178 times

“maids”: 26 times

“ladies”: 43028 times

“lords”: 32 times

“piper”: 170 times

“drummer”: 15 times

We won’t even get into the number of times that “true love” shows up in the subject line of rejected spam messages. Happy holidays, everyone!

Previous Article Previous Article
 

Java Scalability 101: Page Fragment Caching

November 29, 2007 - Mark

Note: this is the second in a series of articles on achieving a faster application response and scalability for small businesses, concentrating upon free or inexpensive solutions that are easy to implement.

One of the rising stars in the open source world is memcached, billed out as “a high-performance, distributed memory object caching system”. Memcached has an API that can be accessed via nearly every web programming environment, and is a valuable tool for storing frequently-accessed objects, large pieces of content, and other items that need to be retrieved quickly (versus grabbing them from a database).

What many Java programmers may not be aware of is a comparable system that runs natively inside your application framework. OSCache allows for nearly all of the same functionality as memcached, and it doesn’t require a separate process to be running; everything runs within the context of your web app (or your container). It can also be accessed remotely, or clustered across servers (via native clustered shared memory in solutions such as Jboss or the newer Tomcat).

One of the better uses for OSCache, however, is its JSP Tag library. Assume for a moment that you have the following:

Hello,
<%
// extremely expensive JSP logic that winds up
// returning the word "world"
%>

If the “extremely expensive JSP logic” portion of that code were something that did a large SQL query, or had to go grab data off a remote service, or had to parse XML, etc etc, and the resulting output didn’t actually change that often, you could use OSCache to cache that individual page fragment into memory, like so:

Hello,
<cache:cache>
<%
// extremely expensive code
%>
</cache:cache>

The first time this JSP page was run, the expensive logic would be run, and the results would be displayed. However, on each subsequent access (up to a period of time) the resulting HTML would simply be pulled from an in-memory cache and immediately displayed to the user, a much faster operation (resulting in a much faster page load time).

What does this mean for real world sites? It means that even if you were to set the cache timeout to something extremely low, eg 5 seconds, any bottleneck caused by this expensive piece of code should go away. This helps with traffic spikes, eg getting mentioned on the larger social news sites, in traditional media, or even helping to prevent denial of service attacks. A few well-placed page fragment caches on each page can speed up that page immensely.

The OSCache site details all of its functionality, but for mid-sized JSP-based sites, adding a page-level cache can increase response times by an order of magnitude, especially under heavy load. Caching smaller fragments of a page, while not as effective as caching an entire page, can still be useful in that all of the content on your page that doesn’t change very often is much better served by being pulled directly from memory 99% of the time.

Are you using OSCache? Share your experiences in the comments below.

Previous Article Previous Article
 

Amazon EC2 Limitations

October 16, 2007 - Mark

Amazon’s Elastic Cloud Computing utility service has the capability to drastically change how Internet services are deployed, but it has some weaknesses that developers should consider before switching their applications to use EC2 functionality.

Today, Amazon rolled out their EC2 computing-as-a-utility cloud as an “unlimited beta”, which essentially means “anyone can sign up for EC2, but if things break, don’t blame us.” EC2, and virtualization in general, will undoubtedly change the future of Internet application deployment– even the smallest website, after a small list of code changes, will have the ability to scale to huge proportions. Amazon’s “pay for what you use” model is drastically different than the traditional “rent-a-box” model of hosting providers, and ultimately will likely become the route that more hosting providers take. For example, MediaTemple’s Grid Server is a more rigid container, but in that same utility model.

However, EC2 has some limitations that make it currently cost prohibitive vs. traditional hosting models, especially for specialized applications such as Heluna.

First, let’s be clear: for performance spikes, EC2 is a great equalizer. The ability to automatically bring up instances when needed, and bring them down after you’re done with them, gives developers a unique view into what resources their applications actually need.

The Heluna antispam service, as you might imagine, mostly requires CPU cycles in order to run the large amount of tests against every e-mail. Those CPU cycles follow a predictable pattern– just look at our statistics graphs– so EC2 instances could be brought up and down, however we also require a base amount of CPU cycles that grow over time and with each client that signs up. Also, the Heluna service has been planned out so that we are able to deal with all but the largest e-mail spikes, without having to bring up additional computing resources on the fly.

We have a rough idea of how many cycles the average message takes to scan, so based upon our current workload we can say how many Ghz of computing resources we need. The trouble with EC2 here is that the cost of CPU cycles is high (compared to the cost of memory and disk space availability, which is relatively low). While Amazon may reward the developer that gets lots of large activity spikes, they penalize the service that has a predictable amount of always-needed capacity.

Per Amazon’s documentation, “One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.” With a cost of $0.10 per 1Ghz per clock hour, a base “always in use” requirement of 5Ghz would run $0.50 per hour, or $360 per month. Contrast that with a hosting provider offering a dual processor dual-core 2Ghz-per-core solution (essentially, 4×2Ghz or 8Ghz) for $339 per month.

The EC2 model would offer more memory, but currently Heluna is not a memory bound application. Our goal is to get messages into memory, process them, then either dump them into our database (per the user’s quarantine), discard them, or ship them off to the client’s mail server. Either way, operation of the service does not require an enormous amount of memory.

Lastly, Heluna does require a fair amount of bandwidth. Again, as you can imagine, most of our bandwidth is incoming (completely different from almost every other Internet application) but for each message we process, there are a collection of network tests performed, including DNS checks, distributed checksums, having to make round trips to our database, etc, and finally routing a clean message to its rightful place. 1000GB of inbound bandwidth would cost $100. In contrast, almost every hosting provider will include a set amount of bandwidth with their monthly fee; in many cases, it can be at least 2000GB.

In summary: if your application requires a considerable amount of memory, with little to no CPU consumption, and you either do a very small amount of bandwidth or a very, very large amount of bandwidth, EC2 may be the perfect platform for you. Also, if your application is still using a very small amount of resources, the base single-EC2 unit would be very useful. However, until the cost of CPU cycles comes down at Amazon, Heluna will continue to be hosted using a more traditional hosting model.

Previous Article Previous Article
 

Reducing Spam: MX Records

October 11, 2007 - Mark

A quick, easy way to help reduce the amount of spam attempts to your domain is in the use of “bad” MX records. With the correct MX setup, properly-formatted mail servers will still send e-mail to you, while a large portion of spammers will bypass your domain.

First, a quick tutorial. A DNS MX record is a “mail exchanger” record for your domain; it tells mail servers how to send e-mail to your domain. The MX record is set to either your own mail server, or (in the case of smaller domains) your ISP’s mail server. There can be more than one MX record per domain, which is why each MX record contains a number indicating its priority. For example, the MX records for cnn.com are:

cnn.com mail exchanger = 30 lonmail1.turner.com.
cnn.com mail exchanger = 40 hkgmail1.turner.com.
cnn.com mail exchanger = 10 atlmail3.turner.com.
cnn.com mail exchanger = 10 atlmail5.turner.com.
cnn.com mail exchanger = 10 nycmail1.turner.com.

As you can see by the records, any mail server trying to send e-mail to someone@cnn.com needs to connect to the machines “atlmail3.turner.com” or “atlmail5.turner.com” or “nycmail1.turner.com”. If those machines are offline, e-mail should go to “lonmail1.turner.com” and finally, if that machine is down, e-mail should go to “hkgmail1.turner.com”.

Now, many spammers choose to ignore this rule and will instead only attempt to go to one of the MX records and then give up. In our case, if a spammer tried to connect to “atlmail3.turner.com” and it was offline, the spammer would move onto the next spam target and CNN wouldn’t get that piece of spam.

Armed with the knowledge that well-behaved mail servers will always try the next MX record, and many spammers will abandon their attempt, a simple strategy appears: always have the first MX record fail. If the first MX record for your domain always rejects connections, the amount of spam attempts should drop, while legitimate e-mail will still go through.

So, let’s say your e-mail server is located at “mail.yourdomain.com”. Your MX records probably look like:

yourdomain.com mail exchanger = 10 mail.yourdomain.com.

We need to add an MX record that always rejects e-mail connections, like so:

yourdomain.com mail exchanger = 5 badmx.yourdomain.com.
yourdomain.com mail exchanger = 10 mail.yourdomain.com.

(Obviously in this scenario you would need to set up the IP address for “badmx.yourdomain.com” and have it point at a machine that did not have e-mail service on it.)

Now– this will reduce the amount of spam attempts, but many spammers will actually choose the highest priority MX record as the target of their attack. In our case, a spammer will go directly to mail.yourdomain.com without trying badmx.yourdomain.com. To solve this issue, we add a second MX record with a higher priority than your mail server. To revisit our previous example, the MX records would then look like:

yourdomain.com mail exchanger = 5 badmx.yourdomain.com.
yourdomain.com mail exchanger = 10 mail.yourdomain.com.
yourdomain.com mail exchanger = 20 badmx2.yourdomain.com.

This would catch a large amount of spammers, and should still allow valid e-mail servers to send you e-mail.

For smaller domains that don’t have the ability to arbitrarily add or remove hosts but can still make changes to their DNS, Heluna offers two MX records that perform exactly this function. “reject1.heluna.com” and “reject2.heluna.com” both refuse any e-mail connections, so your list of MX records can look like so:

yourdomain.com mail exchanger = 5 reject1.heluna.com.
yourdomain.com mail exchanger = 10 mail.yourdomain.com.
yourdomain.com mail exchanger = 20 reject2.heluna.com.

Be sure to adjust the records to fit your domain; make sure that one of the Heluna servers is a lower priority than your mail server, and that the other Heluna server is a higher priority than your mail server.

Did this solution help you? Are you using the Heluna reject servers to reduce your incoming spam attempts? Let us know in the comments!

Previous Article Previous Article
 

Java Scalability 101: Volume 1, Web Servers

September 21, 2007 - Mark

Note: this is the first in a series of articles on achieving better application response and scalability for small businesses, without having to spend an enormous amount of money on hardware.

Many application developers tend to eschew a web server for the built-in solution that comes with most popular application servers (Tomcat, Jboss, Resin, BEA, etc). While this is acceptable for a small-traffic website, this solution simply can’t hold up against a large amount of traffic, or against larger traffic spikes. When your application becomes popular overnight, and you wake up to a huge amount of web traffic overloading your application server, it can be incredibly frustrating to see your application performing so poorly, yet your physical hardware so underutilized.

One famous bottleneck at the application server is simply due to HTTP keepalives. One client will, on average, tie up 2-4 threads of your application server for as long as your keepalive timeout (normally, 10-30 seconds). With the average app server able to handle 255 threads maximum, it only takes 50-100 simultaneous end users before your application grinds to a halt. Even reducing the keepalive time on your app server (if this config change is even possible) will only lessen the impact of browsers.

Enter the web server. One well-formed Apache configuration will handle thousands of simultaneous end users, and will overload your bandwidth long before overloading your memory, disk I/O, or application server threads. Simply adding the web server can make an enormous difference, however the greatest impact Apache has is when it is serving up static content for your application, leaving your application server to handle only your java-enabled pages (jsp, struts, jsf, etc).

First, the web server compilation and initial configuration: we recommend the Apache 2.0 branch vs the 1.3 or 2.2 branch, for two reasons. One, the 2.0 branch allows for a hybrid multi-threaded, multi-process model (the “worker mpm module”)– this is an incredible amount of resource savings over the 1.3 model of one-process-per-request. One MPM worker can serve hundreds of simultaneous requests. The 2.2 line is not yet completely compatible with all application server connectors, so 2.0 works well for us.

We configure Apache with the maximum amount of shared modules, so that removing modules results in a lower memory footprint.

./configure --prefix=/usr/local/apache2 
    --enable-mods-shared="all" --disable-ssl 
    --enable-ssl=static --enable-so 
    --with-mpm=worker --with-ssl 
    --enable-deflate=shared

This tells the configuration script to enable every module as a shared library except for SSL (which must be statically linked). It also tells Apache to use the MPM worker module.

Once the server is compiled and installed, the initial configuration: go through your httpd.conf and strip out all unnecessary LoadModule lines (to conserve memory). Also, pay attention to this section:

<IfModule worker.c>
StartServers 2
MaxClients 1000
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 100
ThreadsPerChild 100
MaxRequestsPerChild 100000
</IfModule>

With this simple configuration, your web server will be able to handle 1000 simultaneous clients; raising this number as necessary once you run into traffic issues and Apache will take care of scaling up on its own. Setting MaxRequestsPerChild to be non-zero results in fewer memory leak issues, as the MPM worker children processes get killed off, returning the memory to the OS.

Each application server has its own connector for Apache, usually in the form of a shared module. These also have their own configuration files. In the case of Tomcat, a simple workers.properties file will suffice, with the following (your locations may vary):

workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/java/jdk1.5.0_12
worker.local.port=8009
worker.local.host=localhost
worker.local.type=ajp13
worker.status.type=status

Lastly, inside your VirtualHost entry for your host, add:

JkMount /*.jsp local
JkMount /status status

This will send all requests ending in *.jsp to your application server; obviously if you are running struts/etc this will need to change to your page extension or servlet path. Some developers choose to send everything to the app server except for some types; in that case, JkMount /* local and then JkUnmount /*.jpg local would work to only have jpeg files served up from Apache.

Hopefully this has shown that for application server scalability, adding a web server in front of your app server is a good first step. Static content on the filesystem is Apache’s specialty, and is where you can get a huge amount of speed gains. Your application server threads can be saved for actually serving up dynamic content, while the huge amount of Apache threads can serve up content which doesn’t change from client to client.

Previous Article Previous Article
 

Online Virus and Spyware Checker

August 28, 2007 - Mark

Panda Software has created a site “Infected or Not” which allows you to quickly scan your PC for well-known virus and spyware infections, and also shows an interesting set of statistics of the people who used their software.

According to their counter, currently 15% of the PCs that run their software have some soft of virus or spyware embedded on their machine, with another 20% not running any antivirus software at all. Without knowing the real numbers, it’s hard to extrapolate this statistic. One would think that people who had suspicions that their machine was infected would visit the site, so the number may skew a little high, but even then it’s a frightening number. From their statistics page, 3.78% of PCs that run their software have a Trojan installed on them. That paints a very bleak picture of how many machines out there could be used as spamming tools. (Traditionally, compromised home PCs are used by spammers to send out their spam en masse.)

Their software doesn’t work for the Mac, but then Heluna is currently unaware of any active Trojan or spyware installations on the Mac platform. Did this tool find any virus or spyware infections on your machine?

Previous Article Previous Article
 

Consumer Reports: $7 Billion Lost to Online Threats

August 25, 2007 - Mark

The latest Consumer Reports survey states that US Consumers have lost more than $7 billion in the past two years due to viruses, spyware, and phishing e-mails.

From Consumer Reports:

Based on survey projections, computer virus infections prompted an estimated 1.8 million households to replace their computers in the past two years and 850,000 households to replace computers due to spyware infections in the past six months. Additionally, 33 percent of survey respondents did not use software to block or remove spyware. And CR projects that 3.7 million US households with broadband remain unprotected by a firewall.

If one were to assume that only 10% of those 1.8 million compromised machines were turned into spam-sending zombies, that would be 180,000 new sources of spam in the past two years. Keep in mind that these were the households that actually decided to spend their hard-earned money to replace an otherwise good machine. Imagine the number of families that have a compromised machine that may “run a little slow from time to time” but they keep around because they’re unwilling or unable to clean the machine or purchase a new one. The potential for spam-sending zombies sitting inside the average household is enormous.

As for the impact of spam itself upon these families:

Consumer Reports™ survey respondents have reported a lower proportion of spam reaching their Inbox than in the past, which CR believes is a result of better spam-blocking. Survey results indicate that about 650,000 consumers ordered a product or service advertised through spam in the month before the survey. Additionally, in 5 percent of the households surveyed that had children under 18, a child had inadvertently seen pornographic material as a result of spam.

Whenever we at Heluna read these types of results, we’re always astonished at the amount of money actually spent upon products advertised by spam. The one easiest way to slow the flood of spam is to stop purchasing items advertised in spam messages.

Previous Article Previous Article