Thursday, March 13, 2014

Designing content for mobile phones

This one is a short one.

Now, every once in a while a developer has to test their content with a device that is not very widespread, but which form factor is. These are typically mobile phones that are older or just basic. No, not everyone has a smatphone; This may be because of circumstance, or necessity, or for just being a holdover who wants to avoid planned obsolescence on their device. There are millions of these devices in use and there's always a chance someone uses them.

Content in this case is not just a web page or a wap page, but also a background image, which has to fit the screen; or an image in a mobile web page which shouldn't be too large for a screen. So, a background image, which I'd want to fit right across the screen of a phone.

Yes, there are many web pages listing resolutions for numerous device models, and I've even seen several sites that attempt real-life representations of how a mobile phone would appear and look like without necessarily having to buy it, but that's not quite it, because the data is represented in the most convoluted manner, no matter how basic or fancy.

So the solution is this very nice collection of screen resolutions at
— with corresponding phone models writ inside. These start progressively from the smallest ones at the top to the biggest near the bottom. Each screen resolution is formatted in its own block to the pixel size of what a corresponding device would have, and colour coded progressively from gray to red to indicate how many models each resolution is represented by. Most of all, its very, very simple and intuitive.

This is what I or a developer/content creator really would like to know, because this helps to determine either exact or, as required, the most approximate size of generated content. Often-times browser/user agent statistics don't always reflect the size of a customer's screen, so it's important to know what they are using and how they are seeing the resource that the customers are visiting.

Wednesday, July 10, 2013

Windows Update not working, error 0x8DDD0018

This can happen with Windows XP (Service Pack 3), but may not be ruled out for Vista and 7.

Windows Update error 0x8DDD0018, by which the Microsoft Update website now very helpfully explains that one or more of these services are not running:
* Automatic Updates
* Background Intelligent Transfer Service (BITS);
* Event Log

Even if all these services are running, and Windows Update refuses to run, then the culprit is the Windows Installer service not being active.

Run services.msc and then start Windows Installer. Refresh the Windows Update website. #worksforme

Sunday, July 7, 2013

ID-kaardi tarkvara seadistamine modernses SeaMonkey lehitsejas

Modernse SeaMonkey lehitseja (näiteks versioon 2.6 ja uuemad) ning ID-kaardi tarkvara töölesaamine on omaette teema, mille kohta ma leidsin, et see vajaks eraldi käsitlust, sest kõik kohe tööle ei hakka. (Nimelt ID-kaardi tarkvara installer end SeaMonkey jaoks õieti ei seadistagi, seega osa asju tuleb käsitsi teha.)

Üldised tingimused, millega kogu krempel tööle õnnestus saada:
* Windows XP (SP2 või uuem; näiteks). Opsüsteemide suhtes tuleks olla siiski suhteliselt agnostiline;
* SeaMonkey 2.6 (ingliskeelne) — on tõepoolest vanem versioon, aga mitte nii vana kui 1.1.xx), seega SeaMonkey 2.xx;
* Oletame, et NoScript ei ole Firefoxis või SeaMonkey-s peal. (ID-kaardi ja NoScriptiga on veel täiendavalt igast jama.)

Nüüd.. eeltingimused peaksid olema sellised:

* ID-kaardi lugeja draiver peab olema installitud; soovitatavalt kõige uuem, mis vastavale opsüsteemile valmis tehtud;
* ID-kaardi tarkvara peab olema kõige uuem, juba peale installitud ning peaks näiteks Firefoxil töötama. Firefoxist veidi allpool, isegi kui tegemist ei ole kasutaja vaikimisi lehitsejaga.

Kuigi ametlikult on toetatud Mozilla Firefox, siis oletatavasti installib ID-kaardi tarkvara kaasaegne versioon EstEID Firefoxi plugina sellegipoolest Windowsi opsüsteemis pluginate üldisesse kataloogi. Sealtsamast kataloogist leiavad Gecko-põhised lehitsejad kõik pluginad automaatselt üles.

Tulemuseks peaks SeaMonkey' pluginate nimekirjas olema
EstEID Firefox Plug-in
Kui see on olemas, siis on pool tööd juba tehtud.

Kui EstEID pluginat SeaMonkey pluginate nimekirjas pole, aga Firefoxis on, siis SeaMonkey-s peaks minema aadressiribal asukohale about:plugins — See peaks panema SeaMonkey ning teised Gecko-põhised lehitsejad otsima üles kõik olemasolevad ja võimalikud pluginad, mis opsüsteem pakub.

Siit edasi tulevad toimingud, mida Firefoxile tehakse automaatselt, aga mis SeaMonkey-s tuleb "käsitsi" teha:
  • Laadida PIN-koodi küsimise moodul turvaseadete hulka:
    Edit > Preferences > Privacy & Security > Certificates > Manage Security Devices nupp:
    Device Manager akna vasakpoolses Security Modules and Devices nimekirjas peaks olema
    Estonian ID Card
     Virtual hotplug slot
     OMNIKEY CardMan 1021

    antud kaardilugeja mudel ^ on Eestis üks levinumaid, aga võib olla ka mõni teine.
    Kui seda pole (milles võib SeaMonkey puhul suhtkoht kindel olla), siis
    * vajutada vasakult nupule Load ja
    * uues aknakeses pealkirjaga Load PKCS#11 Device sisestada
    * Module Name: väljale
    Estonian ID Card
    * Module filename puhul ma annan praegu ette mooduli asukoha, mille leidsin Firefoxist:
    Selle rea võib sinna nii asetada või kasutada Browse nuppu ja leida moodul failikorjajaga niimoodi üles ja sisestada. Vajutada OK. Device Manager aknas peaks uus moodul nähtav olema ning vajutada OK. Preferences aknas vajutada OK. Teha SeaMonkey-le restart.
  • Edasi tuleb panna SeaMonkey-le kõik Sertifitseerimiskeskuse sertifikaadid. Need on saadavad siit:
    Põhimõtteliselt tuleks näiteks tirida sertifikaatide PEM-lingid uuele vahekaardile ja lubada igaühele autentimine vähemalt veebisaitidele [teine ja kolmas linnuke on vastavalt e-postile (e-mail) ja arendajatele (developers)]. Iga sertifikaadi puhul vajutada OK. Mõnedel juhtudel on osad sertifikaadid juba installitud ja SeaMonkey annab sellest lühikese teatega väikeses aknakeses teada. Teha lehitsejale restart.
Põhimõtteliselt peaks asi nüüd töötama.
Et järele vaadata, kas seadistus töötab, minna aadressile
ja siseneda ID-kaardiga.

Täiendavad seaded:
Preferences > Privacy & Security > Validation
Aktiivsed peaksid olema järgmised seaded:
[\/] Use the Online Certificate Status Protocol (OCSP) to confirm the current validity of certificates;
(*) Validate a certificate if it specifies an OCSP server.
Need seaded ^ peaksid olema vaikimisi sees, aga igaks juhuks tuleks üle kontrollida.

Sunday, June 2, 2013

DataStore.edb and Windows Vista

This here is not so much an instruction, but a use case.

So I got me to look at a Windows Vista system that has been running for quite a long time. With just 1 (one) gigabyte of RAM.

At every operating system start, it would search for updates and the hard disk would thrash alot.

With Resource Monitor I discovered that the oft-accessed file was DataStore.edb, located at

DataStore.edb had ballooned to the was size of 325 MB.

The file is a log file in database format listing the history of all updates installed to the system, and also includes the current status of updates waiting to install.

Now, the typical solution[Yes, Citation needed] to this that I had been looking at on the interwebs has been to create a backup of this file and then delete it. After that, Windows Update won't list the history of all updates installed to the system, and that would be that. < Well, there's more than that :>

Before manipulating DataStore.edb, turn off the Windows Update service, because when that service is active, the DataStore file is in use.


For a short while I thought that defagmenting this one file with a command-line tool called esentutl would be the solution, so I wanted to go on with it. The catch was that the tool would not be able to copy the defragmented file to its original location and yielding an error about it, saying that the defragmented TEMP file could still manually be taken to its original location, with the original file replaced. I didn't do it and left it at that.

By the way, the esentutl tool does not list where the .TMP file is located. I eventually found out that it was at the main user data folder of a logged-in user:

For a long time I couldn't put my finger on what it was that was not working, and then a month or two later it turned out that I had not been running the esentutl command in Administrator mode.

The full command for defragmenting the file went on like this:
esentutl /d %windir%\SoftwareDistribution\DataStore\DataStore.edb

So I launched Command Prompt as Administrator and the tool did its job as expected. So that was that.

But checking for updates in Windows Update took a lot of time anyway, and the hard disk still kept thrashing when checking for updates.

What happens when removing datastore.edb

Note that you will still have to back up the file, just in case...

Well, Windows Update then knows no history of previous updates and takes a lot of time to check for them. Maybe an hour. Or so, because I assume it will check updates file-by-file for nearly all present Microsoft software. Before, when the still-large datastore.edb file was there, it seemed that the check for updates actually took much, much less time. Since I didn't measure the actual minutes and did not compare, then I can't tell with any reliable numbers as to what the effect was with regards to differences in update checking times.

Anyways, after installing the updates, DataStore.edb was recreated and sported about the same size as before (over 315 MB). So, there is really no point in deleting the file.

Worse is, that there doesn't seem to be any built-in way to merge two separate DataStore.edb files into one cohesive database, if the older database were absent for a short while and another one created anew.

Then I just moved the recently backed-up datastore.edb back, and checking for updates in Windows Update took about ten minutes, including a reasonably minor database refresh on account of the May updates installed in the interim, which was not reflected there.

To avoid Windows Update thrashing the hard drive anyway, it's then best not to have the Windows Update service run with such a low RAM count at all; perhaps with the exception of every second Tuesday each month.

So much for now.

Monday, April 22, 2013

List of Canadian carriers that offer Nokia mobile phones (April 2013)


Rogers Wireless
* Nokia E5
· Nokia Lumia 920
Business: Small Business & Enterprise
· Nokia Lumia 920

Fido (subsidiary of Rogers): No Nokia phones

Bell Mobility - No Nokia phones

Telus Mobility
* Personal - Nokia Lumia 620
Prepaid - Nokia Lumia 610
Pre-Owned - Nokia Lumia 610 (web-exclusive)
* Business - Nokia Lumia 620

SaskTel Mobility (Saskatchewan) - Website is "temporarily down for maintenance.
23.04.2013 update: No Nokia phones anyway.

Wind Mobile (Southern Ontario and elsewhere; website does not work properly with Firefox 20.0.1) - Nokia not listed and no Nokia phones available

MTS Mobility (Manitoba) -
* Personal
* Nokia 6350
* Nokia Surge
· Nokia Lumia 710
* Small and Medium Business
* Nokia 6350
* Nokia Surge
· Nokia Lumia 710

Videotron Mobile (Québec and Ottawa) -
* Residential
· Nokia Lumia 710
* Business
* Nokia C7-00
* Nokia E73
* Nokia 500
· Nokia Lumia 710

Mobilicity (urban: Greater Toronto area, Calgary, Edmonton, Ottawa, and Vancouver) - No Nokia phones

Public Mobile (urban: Greater Toronto area, Greater Montreal and most of the Niagara region) - No Nokia phones


7-Eleven Speak Out Wireless (uses Rogers) —
* Contract phones via, which defaults to the U.S. territory
Accounts: New, renewal/upgrade, more lines, replacement device
· Nokia Lumia 810 (T-Mobile)
· Nokia Lumia 822 (Verizon)
Prepaid devices/no contract:
* Nokia X2 (T-Mobile)
· Nokia Lumia 710

Brightroam (uses the Rogers network, offers 'inernational cell phones') —
* Nokia 1280
* Nokia C2-01

Chatr Wireless (Rogers) —
* Nokia 1616
* Nokia C2-02
* Nokia C3 + free Bluetooth headset
(and one Sony Ericsson)

Cityfone (Rogers) — No Nokia phones

CityWest (Bell) — Does not visibly offer phones on its website.

Clearnet (subsidiary of Telus) — phone offer links direct to Telus' own website.

DCI Wireless (Rogers) —
* Nokia 1100
Other European-brand phones:
* Siemens CF62 (refurb)
* Siemens S66 (refurb)
* Siemens SL56 (refurb)
Other interesting brands:
* Panasonic A100
* NEC e132
* Palm Treo 650 (part of specials, while quantities last, no rainchecks)

KMTS Mobility (Bell)
* Personal
* KMTS Mobility (CDMA, a division of Bell Aliant) — No Nokia phones
* NorthernTel (HSPA, a division of Bell Aliant) —
* Home: No Nokia phones
* Business: Phone offers take to original NorthernTel catalog
* Business — Takes to KMTS/NorthernTel choice page, so defaults to above information

KooDoo Mobile (Telus) — Wants location, chose BC
* Prepaid phones
* Certified Pre-Owned — Nokia Lumia 610
* Certified Pre-Owned — Nokia Lumia 610

Northerntel Mobility (Bell) — see above

NorthwesTel (Bell) — No Nokia phones

PC Mobile (Bell) —
* Nokia 7230

Petro-Canada Mobility (Rogers) — mainly sold in-store
* Nokia 1616
* Nokia 2220 (limited quantity, but hey :)
* Nokia 2720 (in limited quantities)
* Nokia C3

Primus Canada (Rogers) —
* Residential — No Nokia phones

Roam Mobility (T-Mobile USA) — No Nokia phones

SearsConnect Wireless (Rogers) > Cityfone — No Nokia phones
SimplyConnect (Rogers) > Cityfone — see above

Solo Mobile (Bell) — Not taking on new customers, directing those to Bell Mobility — No Nokia phones

Talk & Earn (Rogers) > Cityfone — See above for cityfone
Talk & Save (Rogers) > Cityfone — See above for Cityfone

Télébec Mobilité (Bell/Quebec, division of Bell Aliant) — No Nokia phones

Virgin Mobile Canada — No Nokia phones

Eastlink (Rogers) — Website not available

Fleetcom — No Nokia phones

ICE Wireless (Rogers) — Does not offer any phones

Keewaytinook Mobile (Rogers) —
* Nokia C2
* Nokia Asha 311

Lynx Mobility (Bell/Telus) — No Nokia phones

Sogetel Mobilité (Bell/Quebec) — No Nokia phones, but one Sony Ericsson W508

TBayTel Mobility (Rogers) — only 4G HSPA+ (smartphones, but apparently no featurephones)
Residential —
* Nokia Lumia 920
Business —
* Nokia Lumia 920

Good2Go Mobile Canada (Rogers)
* Nokia 1616
* Nokia 2720
* Nokia 2220

KORE Wireless (Rogers) — non-residential service

Friday, April 5, 2013

Overview of Nokia phones offered by U.S. carriers (April 2013)

US web offers for new Nokia phones as of 05.04.2013.

The list is somewhat incomplete, and emphasis is added to phones that don't have Windows Phone in them (all Windows Phone versions, including 7.5, 7.8, and 8). So this essentially means that while Windows Phone items (all Lumia phones) don't really count, they are still listed.

This list may also reflect which carriers' websites first ask for location without offering their phones first. The carriers whose sites do that, are more likely to offer locked phones and with a fixed contract instead of selling them to someone who would want to use their phone with a different carrier.

MVNO-s featured in the respective Wikipedia navbox also included.

Near the end of the compilation it turned out that most carriers and MVNO-s did not carry Nokias, so if I will ever make a future compilation of who carries Nokias, these will get further emphasis beyound colour.

* "Nokia not listed" means that the website is offering phones by brand name
* "No Nokia phones" means that the website either does not offer phones by brand name, or that Nokia phones were not available.


  • T-Mobile:
    Nokia X2 (refurb)
    Nokia Lumia 810
  • AT&T:
    Nokia Lumia 900 (new & refurb)
    Nokia Lumia 820
    Nokia Lumia 920 (new & refurb)

    (While Nokia is not in the list of first four (primary) offered manufacturers in the filter, the brands are listed in alphabetical order.)
  • Sprint Nextel (Wants zip code, but includes coverage maps) — Personal/Business: Nokia not listed


* C Spire (Memphis Metropolitan area, Mississippi, Alabama, Florida Panhandle, Rome, Georgia) — No Nokia phones
* Cricket Wireless — Wants zip code, Nokia not in bundles. But, is accessible (when going directly to the URL) — No Nokia phones.
* MetroPCS — Nokia not listed
* nTelos — Nokia not listed; Sony Ericsson listed by brand, but no phones featured.
* Revol Wireless — No Nokia phones
* SouthernLINC Wireless (Alabama, Georgia, Southeast Mississippi, the Florida Panhandle) — No Nokia phones
* U.S. Cellular — Nokia not listed


  • Cellular One
    • Montana, Northwestern Wyoming, Texas (TX-10, TX-11), and Oklahoma — — Wants zip code — domain is for sale
    • East Central Illinois (, availability varies by location) —
      Feature Phones:
      Nokia Asha 303
      Nokia Asha 311
    • Northeastern Arizona and northwestern New Mexico ( —
      Hearing aid compatible:
      Nokia 2720
      Nokia 6085
      Nokia 7020
      Nokia E5 (Aspect)

      (also includes two Sony Ericsson phones)
    • Wayne and Pike counties, Pennsylvania (South Canaan Cellular, — No Nokia phones
    • Texas and Oklahoma (Choice Wireless, — No Nokia phones
    • Bermuda (Bermuda Digital Communications,, aka CellOne) — No Nokia Phones, but features one Sony Ericsson phone.
  • West Central Wireless (Central and West Texas) —
    Nokia 1661
    Nokia 2720
    Nokia 2760
    Nokia 3610
    Nokia 6061
    Nokia 6085
    Nokia 6126
    Nokia 7020
    Nokia C1-01
    Nokia C3-00
    Nokia C6
  • Alaska Communications — Nokia not listed
  • Alltel Wireless — Wants zip code
  • Cellcom — Nokia listed, but no Nokia phones on offer. Also lists Sony Ericsson with no devices.
  • Cincinnati Bell — Residential/Business: Nokia not listed
  • Element Mobile — No Nokia phones
  • i Wireless (Iowa, Western Illinois, Eastern Nebraska) — Nokia listed, but no phones available. (Sony Ericsson listed in the same fashion)
  • Immix Wireless — No Nokia phones
  • Open Mobile (Puerto Rico) — No Nokia phones


  • Boost Mobile (subsidiary of Sprint Nextel) -- Nokia not listed
  • Consumer Cellular -- No Nokia phones
  • GosSmart Mobile (T-Mobile subsidiary) -- No Nokia phones
  • GreatCall -- No Nokia phones
  • Hawaiian Telcom -- No Nokia phones
  • i-wireless (uses Sprint CDMA) -- No Nokia phones
  • Kajeet (CDMA, Sprint-based) -- Nokia listed, but no phones on offer
  • KDDI Mobile (KDDI America, uses the Sprint network) -- No Nokia phones
  • Liberty Wireless (operates on Sprint Nextel CDMA) -- No Nokia phones
  • NTT Docomo USA (subsidiary of NTT DoCoMo Group) --
    Nokia 500
  • Page Plus Cellular (uses Verizon Wireless) -- No Nokia phones
  • Ting (Verizon and MetroPCS) -- No Nokia phones
  • TracFone Wireless -- (No Nokia phones)
    via -- wants zip code, takes to -- No Nokia phones
    • Net10 Wireless -- No Nokia phones in the main lineup, No Nokia phones in the main Partner Phones lineup, more partner phones at an independent distributor, which is —
      • Basic phones:
        Nokia Asha 303
        Nokia Asha 311
      • Smartphones: Nokia Lumia 710
    • Straight Talk - Wants zip code, but offers 'gift' option for zip code -- No Nokia phones
    • Telcel América - Wants zip code, but offers 'gift' option -- No Nokia phones
    • Simple Mobile (subsidiary of America Móvil (parent of TracFone Wireless)) -- "Smart phones" available at --
      • Phones
        Nokia Asha 303
        Nokia Asha 311
      • Smartphones: Nokia Lumia 710
  • Virgin Mobile USA (subsidiary of Spring Nextel) -- Nokia not listed
The post is not yet complete, but the basic listing based on the Wikipedia infobox should be.

Wednesday, April 3, 2013

Mozillale NoScripti installimine Windows Vistas

Seesinane on siis eestikeelne kokkuvõte oma varasemast ingliskeelsest blogipostitusest. Alguses kirjutasin selle kohta ühele sõbrale, ning kuna tekst osutus siiski pikemaks, leidsin ma seejärel, et jutt vajab avaldamist.

Hiljuti ühes Windows Vistaga masinas avastasin Mozilla 1.7.13. Tegemist on siis tarkvarapaketiga, mille lehitsejamoodul on sama vana kui Firefox 1.0.8 (Aprill 2006; esitlusmootor pärineb 2004. aastast ja Mozilla enda arhitektuur 2001.-st aastast).

Et Mozilla mõnede lehekülgede JavaScripti pärast kokku ei jookseks, läks alguses palju aega, et kuidas sellele NoScript nii peale panna, et töötaks, sest umbes sama vanale Firefoxile Knoppix 4.0.2-s (2005) sai küll. Lõpuks jätsin asja katki...

Mõni kuu hiljem leidsin lahenduse (Mozilla tuli käima panna administraatori õigustega) ja siis panin peale NoScripti, aga nii, et see tuli kindlasti installida Mozilla kasutajaprofiili kataloogi.

SeaMonkey 1.1-ga sellist probleemi ei tohiks olla, sest SeaMonkey 1.1 ja Windows Vista arendus/väljalase langes umbes samale ajale, et põhimõtteliselt sai seda Vista jaoks siis veel kohendada nii, et oleks parem ühilduvus.

SeaMonkey 1.1.19 on üks viimastest vabatarkvaralistest graafilistest lehitsejatest, mis töötab Windows 98/Me peal.