Dumping a node field as an array in Drupal 6

There are times in Drupal 6 when you need to see what’s actually sitting inside a node’s field – the raw structure, the keys, the values. The UI won’t show you that, and dpm() from Devel can be overkill if you just want a quick dump. The content_fields() function returns the field data as an array, and wrapping it in var_export() gives you a readable output you can paste into a debugger or log file. ...

11 September 2013 · 1 min · 128 words · Shafiq Alibhai

Drupal 7 Mobile Boilerplate Theme

Mobile web development in 2013 is a mess of browser quirks, viewport headaches, and CSS bugs that multiply with every platform you touch. I built the Mobile Boilerplate theme for Drupal 7 to stop reinventing the wheel every time I needed a mobile-ready starting point. It’s a collection of fixes, polyfills, and sensible defaults that handle the boring stuff so you can focus on building something that works. What’s in it The theme ships with a bunch of things you’d otherwise spend an afternoon Googling: ...

5 September 2013 · 2 min · 335 words · Shafiq Alibhai

Building an Online Temperature Monitoring System

I built this as a final year project — an embedded system that reads temperature from sensors, stores the data, and makes it available over a serial connection. Nothing fancy, but it was a useful exercise in getting hardware and software to talk to each other. You can download the project report. What it does The system reads temperature from external sensors, converts the analog signal to digital, logs the readings with timestamps, and exposes the data over a serial link so a PC can pull it. A 16x2 LCD shows the current state locally. ...

7 June 2013 · 4 min · 741 words · Shafiq Alibhai

Hiding a DataTables column without removing it from the DOM

Sometimes you want to hide a column in a DataTable but keep its data in the DOM – maybe you need it for export, for a tooltip, or for some other operation that happens after the table renders. Removing the column entirely means losing that data, which isn’t always an option. The fix is embarrassingly simple: CSS. The setup Add a class to the column you want to hide using the sClass option in your DataTables initialisation: ...

23 April 2013 · 1 min · 194 words · Shafiq Alibhai

eBay UK shipping services — a complete list from the API

<?xml version="1.0&#8243; encoding="UTF-8&#8243;?> <GeteBayDetailsResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2013-04-13T07:54:20.770Z</Timestamp> <Ack>Success</Ack> <Version>813</Version> <Build>E813\_INTL\_BUNDLED\_15816370\_R1</Build> <ShippingServiceDetails> <Description>Standard Int'l Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_SellersStandardInternationalRate</ShippingService> <ShippingServiceID>50301</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collect+ Tracked: drop at store-delivery to door</Description> <ShippingService>UK_CollectPlusTrakedDeliveryToDoor</ShippingService> <ShippingServiceID>330</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Airmail (Small Packets)</Description> <InternationalService>true</InternationalService> <ShippingService>UK_RoyalMailAirmailInternational</ShippingService> <ShippingServiceID>50302</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Hermes Tracked</Description> <ShippingService>UK_myHermesDoorToDoorService</ShippingService> <ShippingServiceID>322</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 1st Class</Description> <ShippingService>UK_RoyalMailFirstClassStandard</ShippingService> <ShippingServiceID>301</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 1st Class Standard Medium Parcel</Description> <ShippingService>UK_RoyalMailFirstClassStandardMediumParcel</ShippingService> <ShippingServiceID>332</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Airsure</Description> <InternationalService>true</InternationalService> <ShippingService>UK_RoyalMailAirsureInternational</ShippingService> <ShippingServiceID>50303</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 2nd Class</Description> <ShippingService>UK_RoyalMailSecondClassStandard</ShippingService> <ShippingServiceID>302</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Surface Mail</Description> <InternationalService>true</InternationalService> <ShippingService>UK_RoyalMailSurfaceMailInternational</ShippingService> <ShippingServiceID>50304</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 1st Class Signed For</Description> <ShippingService>UK_RoyalMailFirstClassRecorded</ShippingService> <ShippingServiceID>303</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 1st Class Recorded Medium Parcel</Description> <ShippingService>UK_RoyalMailFirstClassRecordedMediumParcel</ShippingService> <ShippingServiceID>333</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail 2nd Class Signed For</Description> <ShippingService>UK_RoyalMailSecondClassRecorded</ShippingService> <ShippingServiceID>304</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail International Signed-for</Description> <InternationalService>true</InternationalService> <ShippingService>UK_RoyalMailInternationalSignedFor</ShippingService> <ShippingServiceID>50305</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail HM Forces Mail</Description> <InternationalService>true</InternationalService> <ShippingService>UK_RoyalMailHMForcesMailInternational</ShippingService> <ShippingServiceID>50306</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Special Delivery</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_RoyalMailSpecialDelivery</ShippingService> <ShippingServiceID>305</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>0</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Tracked 48</Description> <ShippingService>UK_RoyalMailTracked</ShippingService> <ShippingServiceID>327</ShippingServiceID> <ShippingTimeMax>3</ShippingTimeMax> <ShippingTimeMin>2</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Special Delivery (TM) 1:00 pm</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_RoyalMailSpecialDeliveryNextDay</ShippingService> <ShippingServiceID>312</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Special Delivery (TM) 9:00 am</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_RoyalMailSpecialDelivery9am</ShippingService> <ShippingServiceID>313</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Tracked 24</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_RoyalMailNextDay</ShippingService> <ShippingServiceID>328</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce International Datapost</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceInternationalDatapost</ShippingService> <ShippingServiceID>50307</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Royal Mail Standard Parcels</Description> <ShippingService>UK_RoyalMailStandardParcel</ShippingService> <ShippingServiceID>306</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce 24</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_Parcelforce24</ShippingService> <ShippingServiceID>307</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Ireland 24</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceIreland24International</ShippingService> <ShippingServiceID>50308</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collect+ Tracked (Jiffy Bag up to 2Kg): drop at store – deliver to door</Description> <ShippingService>UK_CollectPlusTrackJiffyBag</ShippingService> <ShippingServiceID>324</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collect+ : drop at store-delivery to door</Description> <ShippingService>UK_CollectDropAtStoreDeliveryToDoor</ShippingService> <ShippingServiceID>323</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collect+ Tracked (Standard up to 5kg): drop at store – deliver to door</Description> <ShippingService>UK_CollectPlusTrackStandard</ShippingService> <ShippingServiceID>325</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collect+ Tracked (Heavy up to 10kg): drop at store – deliver to door</Description> <ShippingService>UK_CollectPlusTrackHeavy</ShippingService> <ShippingServiceID>326</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce 48</Description> <ShippingService>UK_Parcelforce48</ShippingService> <ShippingServiceID>308</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Euro 48</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceEuro48International</ShippingService> <ShippingServiceID>50309</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Global Express</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceIntlExpress</ShippingService> <ShippingServiceID>50316</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other 24 Hour Courier</Description> <ExpeditedService>true</ExpeditedService> <ShippingService>UK_OtherCourier24</ShippingService> <ShippingServiceID>314</ShippingServiceID> <ShippingTimeMax>1</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ONE_DAY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Global Priority</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceInternationalScheduled</ShippingService> <ShippingServiceID>50310</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Global Value</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceIntlValue</ShippingService> <ShippingServiceID>50317</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Parcelforce Global Economy (Not available for destinations in Europe)</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ParcelForceIntlEconomy</ShippingService> <ShippingServiceID>50318</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Economy Int'l Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_OtherCourierOrDeliveryInternational</ShippingService> <ShippingServiceID>50311</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other 48 Hour Courier</Description> <ShippingService>UK_OtherCourier48</ShippingService> <ShippingServiceID>315</ShippingServiceID> <ShippingTimeMax>2</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other Courier 3 days</Description> <ShippingService>UK_OtherCourier3Days</ShippingService> <ShippingServiceID>317</ShippingServiceID> <ShippingTimeMax>3</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DimensionsRequired>true</DimensionsRequired> <ValidForSellingFlow>true</ValidForSellingFlow> <ShippingCarrier>Other</ShippingCarrier> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other Courier 5 days</Description> <ShippingService>UK_OtherCourier5Days</ShippingService> <ShippingServiceID>318</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>0</ShippingTimeMin> <ServiceType>Flat</ServiceType> <DimensionsRequired>true</DimensionsRequired> <ValidForSellingFlow>true</ValidForSellingFlow> <ShippingCarrier>Other</ShippingCarrier> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other Courier</Description> <ShippingService>UK_OtherCourier</ShippingService> <ShippingServiceID>309</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Express Int'l Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_CollectInPersonInternational</ShippingService> <ShippingServiceID>50312</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>EXPEDITED</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other Courier 3-5 days</Description> <ShippingService>UK_SellersStandardRate</ShippingService> <ShippingServiceID>310</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>ECONOMY</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Collection in Person</Description> <ShippingService>UK_CollectInPerson</ShippingService> <ShippingServiceID>311</ShippingServiceID> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>PICKUP</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>International Tracked Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_IntlTrackedPostage</ShippingService> <ShippingServiceID>50319</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>2</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>EXPEDITED</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Economy Delivery from outside UK</Description> <ShippingService>UK_EconomyShippingFromOutside</ShippingService> <ShippingServiceID>319</ShippingServiceID> <ShippingTimeMax>22</ShippingTimeMax> <ShippingTimeMin>10</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Standard Delivery from outside UK with Royal Mail</Description> <ShippingService>StandardDeliveryfromOutsideUKwithRoyalMail</ShippingService> <ShippingServiceID>329</ShippingServiceID> <ShippingTimeMax>13</ShippingTimeMax> <ShippingTimeMin>7</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Standard Delivery from outside UK</Description> <ShippingService>UK_StandardShippingFromOutside</ShippingService> <ShippingServiceID>320</ShippingServiceID> <ShippingTimeMax>10</ShippingTimeMax> <ShippingTimeMin>4</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Express Delivery from outside UK</Description> <ShippingService>UK_ExpeditedShippingFromOutside</ShippingService> <ShippingServiceID>321</ShippingServiceID> <ShippingTimeMax>3</ShippingTimeMax> <ShippingTimeMin>1</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>FedEx International Economy</Description> <ShippingService>UK_FedExIntlEconomy</ShippingService> <ShippingServiceID>168</ShippingServiceID> <ShippingTimeMax>4</ShippingTimeMax> <ShippingTimeMin>3</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <SurchargeApplicable>true</SurchargeApplicable> <ShippingCarrier>FedEx</ShippingCarrier> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>TNT International Express</Description> <ShippingService>UK_TntIntlExp</ShippingService> <ShippingServiceID>170</ShippingServiceID> <ShippingTimeMax>3</ShippingTimeMax> <ShippingTimeMin>2</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <ShippingCarrier>Other</ShippingCarrier> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Tracked delivery from outside UK</Description> <ShippingService>UK_TrackedDeliveryFromAbroad</ShippingService> <ShippingServiceID>331</ShippingServiceID> <ShippingTimeMax>5</ShippingTimeMax> <ShippingTimeMin>2</ShippingTimeMin> <ServiceType>Flat</ServiceType> <ValidForSellingFlow>true</ValidForSellingFlow> <ShippingCarrier>Other</ShippingCarrier> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Promotional Postage Service</Description> <ShippingService>PromotionalShippingMethod</ShippingService> <ShippingServiceID>399</ShippingServiceID> <ServiceType>Flat</ServiceType> <ServiceType>Calculated</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>PROMOTIONAL</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Freight</Description> <ShippingService>Courier</ShippingService> <ShippingServiceID>316</ShippingServiceID> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>NONE</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Other Int'l Postage (see description)</Description> <InternationalService>true</InternationalService> <ShippingService>UK_OtherInternationalPostage</ShippingService> <ShippingServiceID>50315</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>OTHER</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Standard Int'l Flat Rate Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_StandardInternationalFlatRatePostage</ShippingService> <ShippingServiceID>50313</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>STANDARD</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Expedited Int'l Flat Rate Postage</Description> <InternationalService>true</InternationalService> <ShippingService>UK_ExpeditedInternationalFlatRatePostage</ShippingService> <ShippingServiceID>50314</ShippingServiceID> <ServiceType>Flat</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>EXPEDITED</ShippingCategory> </ShippingServiceDetails> <ShippingServiceDetails> <Description>Promotional Postage Service</Description> <InternationalService>true</InternationalService> <ShippingService>PromotionalShippingMethod</ShippingService> <ShippingServiceID>50399</ShippingServiceID> <ServiceType>Flat</ServiceType> <ServiceType>Calculated</ServiceType> <DetailVersion>74</DetailVersion> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> <ShippingCategory>PROMOTIONAL</ShippingCategory> </ShippingServiceDetails> <UpdateTime>2013-04-08T14:42:28.000Z</UpdateTime> </GeteBayDetailsResponse>

14 April 2013 · 5 min · 866 words · Shafiq Alibhai

BottomToolBar - a scrolling ticker for your website

I’ve been working on something called BottomToolBar. It’s a small piece of JavaScript that drops a scrolling bar into the bottom of your browser window – the kind you see on news channels, the one that runs along the bottom of the screen with headlines and images. I thought it might be useful for websites. How it works The bar sits at the bottom of the viewport, fixed in place, always on top of everything else. Content scrolls through it from right to left (or left to right, your call), separated by images – usually a logo or icon. It pulls text and images from a server, so you can update what it shows without touching the page itself. ...

6 April 2013 · 2 min · 323 words · Shafiq Alibhai

Generic Hardening - A Reference Guide

I put together this document as a reference for system hardening. It covers the basics – what hardening actually means, the formula for building a hardened system, and how virtualisation changes the picture. You can download the full guide as a Word document. What is System Hardening? Hardening is just the practice of making a system more resistant to attack. The guiding idea is least privilege: only what’s needed runs, only what’s needed is exposed. ...

12 January 2013 · 2 min · 379 words · Shafiq Alibhai

Goa's FRRO got OCI powers in October 2012

On October 12, 2012, the Ministry of Home Affairs delegated powers to the Foreigners Regional Registration Office in Goa to accept and process Overseas Citizen of India card applications. A day later, in a follow-up letter, the same ministry qualified the delegation by noting that the Goa FRRO lacked adequate infrastructure and manpower, and that OCI applications would continue to be dealt with by FRRO Mumbai “till further orders.” That contradiction has defined the situation ever since. ...

26 December 2012 · 3 min · 479 words · Shafiq Alibhai

'A Passage to Goa: A Generation and More Later'

This is a translation of an article “Passagem para a Índia” published in the magazine section of O Expresso on December 8, 2001. Translated by Gabriel Figueiredo, reproduced here with his permission. It tells the story of the 1961 Indian annexation of Goa from a Portuguese perspective, through the eyes of Carlos Azaredo. At 0:00 hours on December 18, 1961, the invasion of Goa, Damão and Diu began. It lasted 36 hours. The disproportion was obscene: Indian forces were 13 times larger than the Portuguese garrison. The “total sacrifice” Salazar demanded would have been a tragedy. General Vassalo e Silva, the last governor of 451 years of Portuguese India, understood this when he surrendered. ...

5 December 2012 · 39 min · 8136 words · Shafiq Alibhai

Juniper Hardening Procedure

DOWNLOAD - Juniper device hardening Introduction Rationale An out-of-box firewall implementation is not fully secure and needs to be hardened. This document details the various aspects of Juniper firewall security and standards implemented for securing Juniper firewalls. Purpose This document is to define a baseline security standard for the Juniper Firewall implementations by firewall administrators. Scope These security standards cover the Juniper Firewall Screen OS implementation. However, for some setups, this minimum requirement and some features of these standards may not be practical for implementation. For exceptions, the system administrators must document the reasons for not complying fully with these standards and request an exemption from the Security department. ...

3 December 2012 · 22 min · 4466 words · Shafiq Alibhai