Saturday, December 3, 2011

Eriotstarbeline vaba tarkvara

Kommentaar artiklile Delfis hakkas väikselt pihta ja siis kulus selle peale jälle mitu-mitu tundi, peale mida tundus kompositsioon juba nii kokkulitsutud, et vääris juba oma postitust (ilma lingita sealtsamusest). Alguses oli umbes 40-45 rida, alles jäi 34 rida ilusat teksti. Ennast meeldib ikka kiita :-).
Lõpuks tuli iga siinne lõik tõmmata kokku paariks lauseks, et kommentaar Delfis ei tunduks nii väljapeetud ja keerukas.


Umbes 10 (ja veidi rohkem) aastat tagasi samal teemal Delfis:
• Windows/Office on kallis, ei jõua osta, litsentsi hind maksab *kuue kuu palga!*
Nüüd:
• Windows/Office (karbi)litsents maksab ühe kuu palga!
^ Pange nüüd tähele, kuidas elatustase on vahepeal tõusnud :-)

Ühest kommentaarist jääb ehk liiga väheks, et kõiki teemasid põhjalikult puudutada.

Tehnilistel argumentidel põhinev võrdlus näitab Linuxi ja vaba tarkavara¹ kasuks olulist arengut, mispuhul isegi suured tootjad pakuvad Linuxiga eelinstalleeritud masinaid, küll kitsamas sortimendis, aga siiski. Samuti pole Windowsi ökosüsteem enam kõige-kõige olulisem, eriti mis puudutab laiatarbeprogramme, mõnesid mänge (põhjuseks Wine ja mängukonsoolid) ja internetiseadmeid (Android, MeeGo).

Iseasi on eriotstarbelise tarkvaraga, mis mujal ei jookse kui Windowsil/Macil ning kus spetsiifilised tööülesanded sõltuvadki ainult niisugustest programmidest. Et kõik kasutavad
suletud omanduslikke failiformaate, on monopoliseisus karanteeritud [sic] ja selliseid ökosüsteeme on raske murda. Säärane omanduslik eriotstarbeline tarkvara on kallis.

Kahjuks ei olda niskses olukorras vabatarkvaralistest alternatiividest väga teadlikud; ometi on niisugune teave kõigile ühest kohast kättesaadav, parimal juhul inglise keeles: en.wikipedia.org/wiki/Category%3AFree_computer-aided_design_software (näiteks)

Ehkki kahtlusteks palju ruumi pole, on kahju eeldada, kui koolitustasemel puudub omanduslikuga vähemalt samaväärse eriotstarbelise vaba tarkvara väljaõpe ja et vabade programmide juurutamise vajadust reaalelus justkui polekski. Võib väita, et õppematerjalid puuduvad või veel pole neid koos praktiliste näidetega süstematiseeritud, sest praegune omanduslikul tarkvaral põhinev olukord rahuldab. Seega nokk kinni, saba lahti ja vastupidi.

Või nähakse erialase tarkvara vabades alternatiivides vajakajäämisi, kus omanduslik variant on asendamatu. Sarnane oli olukord kontoritarkvaraga, mil edasiviiv vabatarkvaraline jõud alguses puudus ja peale tulemist oli mitu aastat kaasajooksiku rollis.

¹ Paluks vaba tarkvara mitte segi ajada vabavaraga, sest viimast terminit kasutatakse tihti tasuta ja omandusliku tarkvara kohta.

Thursday, November 24, 2011

Why Iceweasel versions before 2.0 are not Debian-based

One nice day I found a screenshot of Iceweasel that looked like a version prior to Iceweasel 2.0 and added in its description that it was Debian Iceweasel, as browsers named Iceweasel with a lower-case w are usually Debian-based. (As opposed to GNU IceWeasel, which in 2007 was renamed to IceCat to avoid confusion.)

It then turned out for me, this particular screenshot, and other screenshots in the database that it was not so for the reasons that follow.

The uploader of the screenshot had the unintentionally good sense of including the taskbar of the operating environment, which happened to feature a program window with the title of package iceweasel-1.5.0.4-g1-i386. While this got me to get the version number right, the package name was just enough information to start looking further, results of which only pointed to Gnuzilla servers and mirrors. This put me into some doubt as to whether the browser in the screenshot was Debian Iceweasel, and looking even further, my doubts were confirmed.

Locations for iceweasel-1.5.0.4-g1-i386 available here:

From a selective search of most GNU mirrors, I found only one mirror still actually hosting some original files:

ftp://aeneas.mit.edu/pub/gnu/gnuzilla/
http://www.ftpdir.hu/aeneas.mit.edu/pub/gnu/gnuzilla/

The relevant binary files there were last modified on 06.09.2006 00:00.

From the Internet Archive I found another mirror which has hosted iceweasel-1.5.0.4-g1-i386:

web.archive.org/web/20070507153807/http://ftp.download-by.net/gnu/gnu/gnuzilla/
(also features a later capture)

The binaries were last modified on 05.09.2006 23:59, so a minute earlier than those at aeneas.mit.edu.

Note that researching this kind of history through the Internet Archive has three or so limits:
* I tested to see if only an HTTP mirror had an archive page. Although I did not try to see if the WayBack Machine archives FTP pages, too, I didn't find any necessity for it either; Assuming also that the WayBack Machine does not archive FTP folder listings in the first place;
* The Archive has its own exclusion list of servers that it won't crawl (limited in relation to the GNU mirror list);
* Many mirrors had blocked crawling through robots.txt, as mirrors anyway host large files, which can be taxing to the Internet Archive. It's still useful for the WayBack Machine to archive programs — especially device drivers and obscure program packages, because the Internet Archive can sometimes be the only place where these can be found.

Through my searching whether an HTTP mirror has an archive page, then in the process a substantial number of those ftp-as-http mirrors that allowed crawling had their /gnuzilla folders captured by the Internet Archive. This should serve useful at tracing browser history with a similar method in any possible future research.

No other mirror services in the list of GNU mirrors that I searched at contained the original packages of iceweasel-1.5.0.4-g1-i386.

Left out from the search:
- South America: Brazil /only country in the list;
- Africa: South Africa;
- Asia: Bangladesh, China, Japan, Malaysia, Oman, Pakistan;
- Europe: Greece, Portugal, Spain.

(Funny, Israel was in Asia, too :-)

There were two reasons for leaving these countries out of my search: Either a non-sensical URL (which I couldn't recognize as something resembling legitimacy), or the country is not trustworthy enough to visit its websites, no matter how harmless on appearance. The amount of servers not checked was approximately 10-15%, based on guesswork.

A user-published package of 1.5.0.8pre2 available at safeweb.sitesled.com/iceweasel

Now, Debian started including Iceweasel as a rebranded replacement of Mozilla Firefox only since version 2.0, after which GNU slightly renamed their package to IceWeasel (note capitalisation of W), then a year later renamed their package to IceCat to finally avoid confusion with Debian's own package.

In conclusion, all Iceweasel versions prior to 2.0 are Gnuzilla-based.

I had to add to that screenshot file's notes that this was a screenshot of a Gnuzilla-based Iceweasel and not one of a Debian-based Iceweasel. The GNU IceCat Wikipedia page was also of great help in determining the right source.

Tuesday, November 22, 2011

Comparing text lists with conditional formatting in OOo/LO Calc

· Given that I hadn't found enough completely satisfying information myself, I had to make a separate blog post about it, as an acquaintance asked me for how to solve list issues.
· I deem my explanation better than others', as I think this one explains the relationships much better (:smug:).
· Applies to both OpenOffice.org Calc and LibreOffice Calc.


This post actually assumes the following:
• That you already have two lists of textual information that you want to compare;
• That you've already created your own custom styles for formatting the necessary cells, but that it's hard to get one's head around about how to do all that comparing.

So, then:
  • Select the column range that you want to format (for example A1:A15);
  • From the menu bar choose Format > Conditional Formatting;
  • In its window, "Condition 1" is selected by default; below choose "Formula is", and in the next field it gets important,
    where inside COUNTIF brackets you specify the target column (range array) you want to compare the selected column against:
    So, you have A1:A15 selected (which eventually gets formatted) and you want to compare it against B1:B15;
    the latter you have to write in array format, with a dollar $ sign before every column letter and row number in the range ($B$1:$B$15;  );
    After the semicolon, specify the last cell of the selected range (the one you want to format, not the target range), which is A15. The whole formula line goes almost exactly like this:

    COUNTIF($B$1:$B$15;A15)=1

    =1 means that you apply the format only if there is a match;
    =0 is inverse: most cells are formatted, those that match are not.
  • Don't forget to specify your custom formatting style for cells, then click OK.
All this should work in older OO.o versions, too.

Source: Conditional Formatting: Comparing two Lists (has screenshots), archived from www.openofficetips.com/2006/02/01/conditional-formatting-comparing-two-lists/

Friday, November 11, 2011

Smith-Corona Personal Word Processor

For some odd reason I rather vividly remember an early 1990's ad for the Personal Word Processor in the "Smithsonian" magazine I got my hands on when alone at home; the item in that ad looked nice enough to my not quite yet post-Soviet eyes... I also remember a very nice looking businessman pretending to work on a file there.

The fun part of it nowadays is getting to enjoy the sardonic read of almost completely failed attempts to recover all that data saved to obscure Mitsumi diskettes from those machines.

A similar comment was posted here first.

Tuesday, October 25, 2011

Tablet history reflecting early personal computer history

The situation with tablets that I currently observe somehow resembles the personal computer history throughout 1980's and early 1990's, when there were many often mutually incompatible solutions, of which only a few really survived into the current era (I know the word 'survive' can be inaccurate and maybe even corny). Here what I had in mind were the IBM PC & compatibles, the Apple and Mac series, Power-based computers with OS/2, Amigas, Ataris, BeOS and a few others, even Next. Each tried with their own ecosystem and I see the same happening with iOS, Android, WinMo, WebOS, and MeeGo (other ecosystem names for tablets escape me right now).

The 1980's species that did not survive or only got a niche footing, were Amigas and Ataris, and OS/2 to some extent, as these computer ecosystems either failed to have enough popular application software to garner widespread appreciation and acceptance going forward or their development was stopped. NeXT was downright expensive, but it became the first-ever web server (working at CERN must have its perks :-).

I have been trying draw the same parallels with today's tablet platforms, whereby:
  • From the developer standpoint, the iOS is a bit like OS/2, as software development APIs for OS/2 were not free of charge, if memory serves me right (this was SOP for some other manufacturers' developer kits, too. Most ironically, OS/2 outlived Windows 9x in terms of available free software), and so iOS also has restrictions on developing for it;
  • Android, therefore, offers more latitude, like Windows did at the time, and is just as well plagued by viruses.

    Furthermore, Android, being half-open, sees itself right now in waters similar to BSDi.
  • WebOS... The most similarities with an older system that strike me wrt WebOS are with Atari ST, because Atari released their ST series computers to much acclaim and then suddenly stopped developing them.

Saturday, October 15, 2011

Vanemad Skype versioonid

Üldiselt on nii, et Skype puhul tuleks pigem kasutada kõige uuemat versiooni ning ka suhteliselt head riistvara, sest Skype'i kõige uuema versiooni puhul on parandatud ka kõik turvavead.

Vanemate Skype (ja teiste tarkvara-) versioonide kasutamise põhiargument on näiteks see, kui arvuti ei ole piisavalt võimas ning selle näitajad jäävad alla Skype'i kõige uuema ja/või põhiversiooni (X.x) miinimumnõuetele.

Siin on inglise keeles täiendavalt kirjas, et mis põhjustel ja tingimustel oleks vanema Skype versiooni kasutamine põhjendatud. Samuti on kirjas ka, kuidas see vanem versioon endale peale tirida.

Muidu on nii, et Skype enda saidi kaudu vanemaid suurversioone kui 4 enam kätte ei saa (veebilehekülgede kaudu vist enam mõnda aega juba).

Väga tähtis: Uutelt Skype versioonidelt üleminek vanadele võib väga tõenäoliselt põhjustada kontaktide kadumise, mistõttu on kõik selline tegevus ainult oma riisikol. Kontaktide kadumine toimub näiteks järgmistes stsenaariumites:
• Kui arvutis on olnud näiteks mistahes modernne Skype versioon (5.x), kasutaja võtab selle maha ja paneb asemele väga vana Skype'i suurversiooni (2.5.0.154).
• Tagasiminek Skype 3.0 peale versioonilt 4.1. Arendajad teatavad, et tagasiminek uusimatelt versioonidelt 3.0 peale ei ole toetatud.
• Tagasiminek Skype 3.8 peale uuemalt Skype versioonilt kui 4.x (see on siis 5.x) kustutab reeglina kontaktinimistu ära...

Alati enne tagasiminekut tuleb teha kõikidest oma kontaktidest varukoopia: programmimenüü
Kontaktid > Veel > Salvesta kontaktid faili...
Samast alammenüüst saab kontakti failist ka taastada.

Ja üldse, kui on vaja kasutada vähem ressursinõudlikut otsesuhtlusprogrammi, siis on olemas Pidgin IM ja Miranda IM (viimane mõeldud eriti vanadele arvutitele :).

Skype 2.5.0.154
Üks sisselogimiskogemus näitas, et 2.5.0.154 versiooniga enam sisse logida ei saa, teine kogemus (vt. allpool) näitas, et saab. Seega mis täpselt selle Skype versiooniga serverite poolt enam toetatud pole, ei ole selge.
T., 24.02.2012.
Selleks päevaks selgus, et antud versiooniga on siiski võimalik sisse logida. Operatsioonisüsteemiks oli siis sel korral Windows XP, nii et selline kombinatsioon töötab. Küll ei ole teada, kas antud Skype'i versiooniga on näiteks vanemas opsüsteemis (eriti just Windows 9x/Me) võimalik sisse logida või mitte.

Tähtis hoiatus: Kui arvutis on olnud juba uuem Skype'i versioon, siis sellelt antud arvutis vanemale versioonile (ntx. 2.5.0.154) üleminek võib kontaktide nimekirja ära kustutada, seega sellist käiku ei soovita üldse. Kui installida vanem Skype'i versioon, võib nii juhtuda küll.

Kui arvutis/opsüsteemis varem Skype'i ei ole olnud, siis on vist ehk teine asi. Mingeid garantiisid ma muidugi ei anna.


Seesinases on esile toodud mõnede suurversioonide vaid kõige uuemad variandid. Igasuguse vana tarkvaraga tuleb arvestada, et seda edasi rohkem ei arendata ning see tähendab, et sellel võivad olla lappimata turvavead.

Windows 98/Me jaoks on järgmine variant Skype 3.8.0.188, mille saab oldversion.com saidilt (versioonide nimekiri on pikk, seega tuleb õige versiooni valikul olla tähelepanelik). Nagu ikka, kehtib hoiatus, et alla võib tirida omal riisikol, kuigi oldversion.com paistab ise suhteliselt usaldusväärne. Kas selle versiooniga on veel võimalik sisse logida, ei ole teada.

Windows 98/Me pole Skype 3.x versioonide puhul ametlikult toetatud, kuigi need versioonid nende opsüsteemide peal on veel käitatavad.

Minimaalsed süsteeminõuded (vähemalt kõike järgmist):
  • 800 MHz keskprotsessor;
  • 128Mb RAM mälu
  • 600 Mb vaba kõvakettamälu
• Audio- ja videokõnede jaoks on tarvilik vähemalt 1GHz keskprotsessor, 256 Mb RAM mälu ja veebikaamera (kui videokõnesid pole vaja, siis viimane pole kohustuslik).[allikas]

Täiendav info Skype'i Win98SE/ME-s kasutamisel on siin.


Windows 2000
Suurversiooni järgmine variant, mis töötab vähemalt Windows 2000-s või uuemas, on Skype 4.2.0.187. Tõmmata saab antud versiooni sellelt aadressilt:

download.skype.com/msi/SkypeSetup_4.2.0.187.msi
2011.a. novembrist aadress ei tööta, nii et järgmine peatuspaik on oldversion.com

Skype'i MSI installeritega on lood sellised, et erinevalt SkypeSetup.exe-st ta nii automaatne pole ja seega tuleb kõigepealt vana Skype'i versioon Windowsis Add/Remove Programs appleti kaudu nö. käsitsi maha installida.

Süsteeminõuded arvutile Skype 4.2 jaoks (allikas):
  • Windows 2000 puhul vaja videokõnede jaoks tõmmata ja installida DirectX 9.0 lisakomponent
  • Vähemalt 1 GHz keskprotsessor;
  • vähemalt 256 megabaiti RAM-mälu;
  • Kõige muu juures soovitan vähemalt 600 megabaiti vaba kõvakettaruumi (gigabait oleks parem).
  • Kõrgekvaliteetsete videokõnede jaoks on tarvis vähemalt kahetuumalist keskprotsessorit, 512 Mb või rohkem RAM-mälu ning eraldi videokaarti (mis pole integreeritud videoadapter).
Muu Skype 4.2 abiinfo on Skype'i kodulehel saadaval siin.


Skype 5.5
See põhiversioon toetab Windows xp-d või uuemat.

Vanemate suurversioonide seadistustes tuleb välja lülitada automaatne uuendamine, mis on sellistes ka võimalik. Skype 5/5.5 jne versioonides automaatset uuendamist välja lülitada ei saa :/.

Wednesday, September 14, 2011

Lynx: Associating filetypes with a program in Windows

After a few hours of trying and failing in lynx.cfg and searching the Internet, I found a reasonably good collection of ideas (kudos to Kenneth Kwok), which served me with inspiration for a working solution.

• The version of Lynx is 2.8.7rel1, unfortunately it doesn't support SSL (gonna work on getting Lynx with that some day...).
N., 15.09.2011. update: A fully functional and SSL-enabled, albeit an older, 2.8.5rel1, version of the browser is available at Claudio Santambrogio's (csant) website (beware that export and other restrictions may still apply to the downloader's country).

As I needed an SSL-based browser, then out of curiosity I started comparing both Lynx browsers' config files and to my great delight found that csant's external app configuration was more elegant than my previous discovery. Jump to a description of how to implement the better solution.

And yes, the options inspired by Kenneth Kwok are still valid, but there are now less scenarios to use them.
• The operating system is Windows xp SP3, other Windows operating systems may also apply, but exact instructions on how to change environment variables were gleaned from this version of Windows.

Unlike in the linked article, it turned out that I didn't need to use a .mailcap file to associate a helper app.

The interesting part is that Windows Lynx (still) requires batch files to send requests for an external application and a path to them must be set as a global or user environment variable.
  • Create a folder that will hold batch files. I created one in
    C:\Program Files\Lynx\Batches
  • Create an environment variable pointing to that path:

    In My Computer/System Properties > go to Advanced tab > click "Environment Variables" button > in the relevant window's "System variables" section > scroll down to Path, select it, click the Edit button;

    In the path editing window, the Path string is long, but you can add a semicolon to the end of the string (if it's missing), then right after the semicolon add

    C:\Program Files\Lynx\Batches

    and that's it. (No additional semicolon required.)

    Click OK to close the window, click OK in Environment Variables window — This will save and update the path in Windows xp (maybe 2000, too) or newer; click OK for System Properties window.

    You won't need to restart unless it's a Windows 9x OS, for which you'd need to edit autoexec.bat, enter a short-form path à la C:\PROGRA~1\Lynx\Batches and restart the system for changes to take effect.
  • Now, in the C:\Program Files\Lynx\Batches folder itself, assuming you only want an image viewer program to be associated, create paint.bat, edit it as follows:
    @ECHO OFF
    C:\WINDOWS\SYSTEM32\Mspaint.exe %1
    ^ In addition, you may wish to add %2 %3 %n — if you know that there may be more arguments passed from Lynx, but there's usually one.
    Save the batch file.
  • In lynx.cfg (opened either via WordPad or Notepad2 or something that supports both CR & LF newlines), go to a certain place in the file by searching for the image/png pattern. There, you will see which MIME types you must activate for each filetype suffix.

    I uncommented (deleted a hash # from the start of the line) all that were web images, such as those concerning .png, .gif, .jpg and .jpeg.
  • Then in lynx.cfg, go to part of the file using the VIEWER: search pattern. There, you will see a list of program commands associated with a particular MIME-type (they are short by default, because they're typically UNIX-specific).
    N., 15.09.2011.:
    Uncomment, or rather, copy, paste, and uncomment those for image formats, and modify the commands to look like this:
    VIEWER:image/gif:start mspaint %s
    VIEWER:image/png:start mspaint %s
    VIEWER:image/jpeg:start mspaint %s
    VIEWER:image/tiff:start gimp-2.6.exe %s #special case
    • The superb catch ^ is where one must use the start command to invoke a program that's located in the Windows Path environment variable.
    mspaint is the command-line name of the Windows Paint program, which is located in C:\WINDOWS\SYSTEM32 and that address is typically set as one of the locations in the Path environment variable.
    gimp-2.6.exe is a different case, where I separately had to include C:\Program Files\GIMP-2.0\bin in the Path environment variable to make it launch, as for some reason it was impossible to use the full program path in the Lynx config file.
    Uncomment, or rather, copy, paste, and uncomment those for image formats, and modify the commands to look like this:
    VIEWER:image/gif:paint.bat %s&:NON_XWINDOWS
    VIEWER:image/png:paint.bat %s&:NON_XWINDOWS
    VIEWER:image/tiff:gimp.bat %s&:NON_XWINDOWS
    VIEWER:image/jpeg:paint.bat %s&:NON_XWINDOWS
    • Up here ^, add paint.bat right after a colon that follows the mimetype;
    %s is the wildcard for the filename to be entered;
    • The ampersand & is there to leave the program in the background. It can be there in Windows, but it's useful in Unix-like systems.
    :NON_XWINDOWS [sic] basically specifies that the targetted application is not an X Window System program and this option can be there, too. In Windows it may mean that the batch program is not exactly a graphical program either.
  • Save the configuration file and I think you should be done.
    Launch Lynx, go to a page with an image file, then on it, press Enter/Return or the left key to activate.
Similar steps can be made for other filetypes and MIME-types (which can be added, btw, since the list in lynx.cfg is non-exhaustive) and you can add programs different than Paint for other filetypes. Above, I have setup a batch file to run The GIMP for the TIFF filetype.

Saturday, September 10, 2011

Absolute positioning of content in a containing block

A less formal alternative title would be "Placing content from the middle of a box into a sidebar to the edge of a containing block"

Context

The problem first occurred when I tried to create a user style for a login page to accomodate small screens (Yes, there are people who use small screens).

The main problem was that I could not change the structure of the not-so-well designed page, so I had to resort to some unorthodox uses of formatting in CSS. Later it turned out ot have some interesting uses in a sister blog.

The basic [formatting] concept behind this is taking content out of normal flow, placing it as a sidebar into the top right edge of the container block, and then making sure that other content (mostly visible text) will then flow around the sidebar box.

While it may sound simple just like that, then implementing a working solution for the first time proved more difficult. The solution that I found out does work, but still contains some caveats. More about it later and below.

In-depth

What does not work

First off, just floating the box to the right is pointless, because the box is positioned according to normal flow and is floated where it's structurally positioned in the page (or text). It is then adjacent to that content which only follows the box in the page structure.

Adding a negative top margin is just as impractical, because it will never be accurate relative to the sidebar's position, as the position of the sidebar still depends on how much space is taken up by preceding objects or text, since relative renderings are always different, depending on fonts, rendering engines and zoom levels.

If you're modifying your own content, then putting the box before the content that initially preceded it defeats the purpose of normal text flow (as seen in Lynx).

The solution

Mostly assuming that the containing block and inner blocks are <DIV> elements, which I so dislike, because they are severely overused.

The points are here in a hierarchically continuous order, so as to present the logic and reasons behind it.
  • The containing block,
    which is to enclose the sidebar and content that should surround it:
    Set its position to relative — This will keep absolutely positioned blocks inside the containing block; otherwise all absolutely positioned blocks will be taken out of all flow and will be (absolutely) positioned relative either to any preceding relatively positioned block in the page hierarchy, or the viewport, which is the topmost block.
  • The sidebar's position must be set to absolute, with most important parametres set like this:

    <DIV STYLE="position:absolute; top:0px; right:0px; width:234px">Textual content<DIV>
    ^ top:0px and right:0px will place the sidebar box to the top right (to right of main content), where position is calculated from the containing block's top and right edges; width:234px — Here you can specify your own width for the absolutely positioned box.
  • And finally, the tricky part — How to make sure that content or text surrounding the sidebar will show next to the sidebar without all of parts of it staying hidden under the sidebar?

    Well, my solution was to place the that content (which precedes the sidebar and is innards) into a relatively positioned DIV& box, with its right margin approximately the amount of the sidebar's width. This ensures that text or content inside that DIV won't stay under the sidebar.

    If the sidebar is long enough to encompass much of the content that follows, then that content should also be encased in a DIV with similar parametres: relative positioning and same margins.

    Caveats:
    • If much of the content left of the sidebar is text, then its flow is limited to the squares of DIV boxes (there must be at least two of them). Normally flowing text could then start well after the sidebar and DIV boxes end.

      Mitigating effects
      One way to mitigate this without creating separate DIVs and their left (or right) margins is to create a ghost DIV with same size properties as the sidebar floated right just under the absolutely positioned sidebar. This has better chances of taking effect if the sidebar's height and width are fixed and that the content is controlled server-side.

      Yes, the "ghost" DIV can contain about the same text, if there's a desire for that ghost DIV to follow the size of the primary DIV (think differences in fonts and zoom levels), but this then may defeat the purpose of having that text in the ghost sidebar, because it would be duplicating. Oh well, solutions can be made both with JavaScript and CSS to make sure this text doesn't appear twice in a text-only or very plain browser (think Lynx).

      Otherwise I was thinking of :before and :after pseudoelements, or of a way to insert a client-side Greasemonkey script.

      This is now the point where one can play around with various options.
    • I found another problem when editing text here in Blogger, where the sidebar height was greater than text next to it, so the sidebar, given that it was absolutely positioned, overlapped past the post tools area. In that sense it's a good thing to try out the size of the sidebar in the DOM Inspector, which allows client-side visual editing of webpage elements under inspection.

      One way to mitigate this would be wrapping all of the affected content, including some preceding the sidebar (where it visually starts) in a DIV and specifying a height greater than the height of the sidebar. The height of the DIV should then allow for some hypothetical differences in size.

This out-of-order sidebar solution works in Firefox 1.0 (Mozilla 1.7.xx, preferably SeaMonkey 1.1.19 or K-Meleon 1.5.4) and newer. It does not work in Internet Explorer 7 (or older), so a workaround must be in place, if there's a large IE-based audience in mind. It should probably work in Internet Explorer 8 or newer.

Saturday, September 3, 2011

Microsoft Security Essentials teeb arvuti aeglaseks?

Kommentaar PM/Tarbija24 artiklile ja selle kommentaaridele

Microsoft Security Essentials[:w:en] programmiga on see jama, et see uuendab väga mahukat moodi ja uuendamise ajal võtab liialt palju arvutiressurssi.

Teine jama on see, et kui arvuti töötab, kuid kui seda ei kasutata, siis hakkab MSE skannima — kujuta ette näiteks ETV-d veebist vaadates ja arvutit otseselt samal ajal mitte kasutades, kui pilt ka väärikal arvutil hakkima ja arvuti aeglaseks läheb.

Lahendus (ingliskeelses Windows XP-s) on järgmine:
Start > Programs > Accessories > System Tools > Scheduled Tasks — seal lülitasin mina välja MPIdleTask eseme.

Soovitan seda teha kogenud kasutajatel näiteks juhtudel, kui nad on sunnitud MSE-ga olema, kuid programmi sellist käitumist ei salli.

K., 15.02.2012. täiendus:
Microsoft Security Essentials programmi uuendamine toimub automaatselt ja sedasi poolenisti eraldi Windows Update teenusest. (Tingimus on, et Windows Update automaatsed uuendused on sisse lülitatud.)

Uuenduste kontrollimine ja automaatne uuendamine toimub iga kord kui Windowsisse sisse logida, sh. peale arvuti sisse lülitamist, peale arvuti "talveunest" sisse lülitamist, peale arvuti unerežiimist sisse lülitamist.

Absoluutselt iga kord. Uuenduste kontroll ja uuendamine võtab endale kogu arvuti tähelepanu ja midagi produktiivset sellel ajal teha ei saa.

Võimalik, et toode oligi mõeldud kodukasutajatele lisaks ka väikeettevõtetes kuni kümnele arvutile (aga ainult seda tüüpi organisatsioonides), seega näiteks väikeettevõtte tööarvutites ei peaks selline uuendamistuhin väga problemaatiline olema, sest väikeettevõtted on tavaliselt väga kitsaste eelarvevõimalustega ja sellises olukorras jääb MSE ainsaks legaalseks tasuta valikuks residentse skanneriga antiviiruste seas.

Tavalisele kodukasutajale, kes arvutit äriks ei kasuta, on olemas ka teistsuguseid variante, nii et MSE-d väga soovitada ei oska.

Saturday, July 30, 2011

ClamWin Antivirus Glue for Firefox

If anyone is still using Firefox 1.5–2.0 and ClamWin, too, then they'd be interested in the subject extension. Unfortunately, this addon has been delisted from addons.mozilla.org and very hard to find from FTP sites (which I tend to trust more).

So I found what turns out to be only one source:
http://pub.vse.cz/pub/Mozilla/addons/771
http://cache.vse.cz/pub/Mozilla/addons/771
The license for the extension is MPL 1.1/GPL 2.0/LGPL 2.1.

Caveat

Version 0.2.4 officially works in Firefox 1.5, but here are instructions in a 18.01.2007 comment to a blog post on similar matters. (The original text was here.)
Instructions in my own words: Download the XPI file (the lowermost is the newest version; if you are not sure, then check the statusbar when mousing over the 0.2.4 file link), extract it into a folder, open install.rdf with an editor that supports CR & LF linebraks (NotePad2 is ok); there, edit the em:maxVersion parameter value from 1.4-something to 2.0.0, compress the decompressed files, then rename the file's .zip (I assume) extension to .xpi, then move the file into an open Firefox window to install. When recompressing, make sure that you're only compressing the selected files and folders within the extracted folder and not the folder itself.

Modern stuff

For people using newer browsers, see the Fireclam extension for both Mozilla Firefox 3 and newer, and SeaMonkey 2 and newer.

Saturday, July 16, 2011

DOM Inspector XPI for older Firefox/IceWeasel browsers

Knoppix is the kind of distro that by default does not include the DOM Inspector, it's only on a CD, and I think I had even spent a month searching for a way to install it from a .deb file to a version of firefox in Knoppix. All in vain, even if I had the supposedly right package, because it would still prove incompatible and thus unusable (would crasshh).

Then, by chance, I found the right way to install the DOM Inspector XPI separately for Linux in those distros, where a package might be missing (such as a relevant .deb package in Knoppix 4.0.2, because it's a snapshot from Debian's testing branch of the time) or not included at all... — By downloading a specific DOM Inspector XPI from the old mozilla.org FTP site, which is archived at mozilla.org's own ftp site:

ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.6/linux-i686/xpi

Caveat in Knoppix and other Live CD-s: You can only install it as superuser, it won't install into the user directory and thus it won't save, but rest assured, you can install it again every time you need it, although it may be tedious for daily use, if that might be the case for some users.

Here's what you have to follow, if you're stuck using a LiveCD, a version of Firefox without DOM Inspector built-in, no package repository to rely on and no package to be found for your particular distro (Knoppix):
  1. Find out what your version of Firefox is in your Live CD (launch Firefox; Help>About). For some Knoppix Live CD's I sometimes use, mine is 1.0.6 for Knoppix 4.0.2 and something else in newer versions of Knoppix. Keep in mind that newer versions of Knoppix include Debian IceWeasel (Knoppix is based on Debian), which is a source-compatible rebranded copy of Firefox.
  2. Exit Firefox, relaunch it as superuser, best with sudo firefox
  3. Go to
    ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
  4. From there, choose the version of Firefox/IceWeasel/GNU IceCat you are stuck using (if using a browser click the relevant version folder link);
  5. Once there, browse to a folder called linux or linux-i686 and there browse to the xpi folder. Note down the address in a separate editor.
  6. (Make sure that ftp.mozilla.org is the allowed domain to install XPI's)
  7. Click on adt.xpi (the XPI for DOM Inspector), which should be at the very top of the directory listing, go through the extension installation procedure. If after installation you don't see the extension listed, don't worry. Restart Firefox again as superuser, via sudo (you should now know how to use it). Verify that DOM Inspector is installed by checking the Tools menu. Exit the sudo'd Firefox.
  8. Start user-mode Firefox and you should see the DOM Inspector appear there.
  9. To maintain that you still have the XPI for future use, save it to local storage (a memory stick, for example) by downloading it in a normal-user firefox session from the same FTP address.
Now, I haven't been able to find out an XPI of the DOM inspector for older versions of Firefox that would actually work as an extension installed into the user profile, so until then, it's more of a case for frequent users of DOM Inspector in older Firefox browsers on a Live-CD of reinstalling the XPI after every restart.

Settings for DOM Inspector can be changed through about:config, then search using the inspector string.

Monday, May 23, 2011

Putting stuff before a counter with CSS and associated caveats

I thought this too important to be passed up, so here's only a very rough draft of what I discovered. And because I was only revisiting this subject right about now, I have yet to get my own head around all this, with more detailed explanations.
(Blogger had nasty issues with updating their software, so a number of blogs were in read-only mode and so instead of writing this up I was occupied with other things. The good thing is that Blogger have been very responsive in addressing the posting outage.)


When tallying personal data and opinions for what was ostensibly a list of items in a text file, I wanted to find out how in an ordered HTML list (a numbered list with <OL> tags) I'd be able to use Cascading Style Sheets (CSS) to place some special items before counters (usually numbers, but CSS 2 standard has expanded counters to be much more) as markers of some sort.

The main point was to make a more informative and interesting list... Well, yes, but this turned out to be a far more difficult exercise than I first thought.

For an intro, the following describes the differences in rendering between Mozilla Firefox 2 and Mozilla Firefox 3+. Because these browsers use the Gecko rendering engine, which is used by other browsers, then here's also a quick browser side-by-side of the rendering engine's branches:
Gecko 1.7Gecko 1.8.1Gecko 1.9 and newer
Mozilla Firefox 1.0Mozilla Firefox/IceWeasel 2Mozilla Firefox/IceWeasel 3+

Mozilla Application Suite 1.7
SeaMonkey 1.1SeaMonkey 2+
K-Meleon 1.5K-Meleon 1.6+

What follows is example CSS code with some comments. I haven't yet had all the time to describe everything, but bear in mind the lede.
OL.Eurovisioon {counter-reset:item; list-style-position:outside}

OL.Eurovisioon LI {display:block;}


/*display:block ^ loses the browser's automatic numbering;
• The items must be displayed as block, so as to make sure that the later width attribute applies. */

OL.Eurovisioon LI:before {float:left; content:'miskitekst\ ' counter(item) '.'; counter-increment:item; border:solid 1px gray; padding-right:5px; width:82px; text-align:right; line-height:1.1em; color:navy; white-space:nowrap} /* these work... */

/* ^ • Floating them left makes sure that the items are displayed like in a standard ordered list;
item must be inside counter(), item is also specified for counter-increment;
text-align:right aligns numbered counters right and so makes it more list-like again;
white-space:nowrap makes sure that when increasing text size, text inside blocks wouldn't wrap and add in height and take away from the structure.

Caveats:
Once the items are all displayed as text-block or inline, the width attribute does not apply anymore. Displaying as block and floating to right works in Firefox 4 (I'm also assuming 3.0+), but not in SeaMonkey 1.1 and anything with the Gecko 1.8.1 engine (see the above table) and the caveat applies to all older browsers.). Setting the display to text-block or inline fixes the issues in SeaMonkey 1.1, only that setting width attributes does not work then. */

OL.Eurovisioon > LI.plus:before {width:82px; content:'\ sisu\ ' counter(item) '.\ '; text-align:right; color:blue} /* somehow works */

OL.Eurovisioon > LI.plus {list-style-position:outside}
^ Is this really necessary?
Moreover, the list already contains tabular data; including informative content with :before or :after pseudo-classes means that this data won't be indexed and may be lost to search engines. Non-graphical and older browsers won't be able to see such content.

I, of course, thought that I'd never see the day when my own fancy CSS implementation would not be visible with something like SeaMonkey 1.1.19.

The correct rendering is supported by Mozilla Firefox and IceWeasel 3 (probably since 3.0), SeaMonkey 2, Google Chrome (Version 11 does, so I'm assuming a host of earlier versions do, too), and the latest Konqueror, Apple, and Opera fare. Internet Explorer 7 does not support this. Bleh.

So here's the example list:
  1. tekst
  2. teine tekst
  3. kolmas tekst
  4. neljas tekst
with corresponding code in HTML:
<OL CLASS=Eurovisioon>
<LI>tekst</LI>
<LI CLASS=plus>teine tekst</LI>
<LI>kolmas tekst</LI>
<LI>neljas tekst</LI>
</OL>
So long I still have to use Mozilla Firefox 1.0, I must still use a simple HTML table. At least the advantage is that most browsers will be able to see the content. The table in question is here.

As the information was laid out in a text file, it nevertheless turned out to be tabular data, which was actually much simpler to organise into a table, rather than implement complex CSS for the same.

Tuesday, May 10, 2011

Collapsing elements in Firefox 1.0

As I was perusing Yahoo Mail Classic in Mozilla Firefox 1.0, it turned out that there was a linked block element half-blocking the sign-out link at the top of the page and in May this year, those links stopped being underlined when hovered over — this made targeting the pointer too difficult to click on the sign-out link. If I click on that block element, it will jump to a position on the page, then, somehow the block element probably moves and probably frees up the space above the sign-out link... Or whatever.

Turned out that the culprit was an invisible non-collapsed block that contained a "Skip to conent" link, which was meant for browsers like Lynx, Links, Elinks, Netscape 4.x, and other older fare (Lynx is still maintained :). This is really the fault of site coders, who instead of specifying display:none in the element's style, only specified visibility:none. The former would have collapsed the whole element, the latter only makes it invisible, but still usable and visually existent in the document structure.

If positioning is important, then one design solution is to specify a low z-index for the invisible DIV element and a correspondingly higher z-index for code that contains links (an unordered list). In CSS, z-index specifies how elements are layered with respect to each other: a higher value means that an element is above (or in front of) all other elements and a lower value (if somewhere is a higher value specified) means that the element is below, or behind higher-valued elements.

First I tried the Adblock Plus (ABP) extension, but that didn't work: ABP 0.7.0.2 is the last version for Firefox 1.0, but lacks functionality to collapse/hide elements by their id. Only the next version, 0.7.1, starts supporting this. I've written about it previously.

As I was looking for a solution, the Greasemonkey extension caught my fancy. The last to support Firefox 1.0 is 0.5.3.
Version 0.5.3 is also the last one of Greasemonkey to install on SeaMonkey 1.1, but it doesn't work.

The solution is to first install xSidebar (If the current stable versions won't want to install, then version 1.0.1 or 1.0.2 might install properly). Then on the back of xSidebar a modified Greasemonkey extension can be installed. So for SeaMonkey 1.1, Greasemonkey 0.8.2 mod is the order of the day. Note that if you have Adblock Plus 1.0.2 installed, its toolbar button will vanish. But no worries: You can turn on the Adblock Plus status bar icon from Tools > Adblock Plus Preferences...
Greasemonkey is a powerful tool to change the look and functionality of online sites and web pages client-side, but alas, it is not very easy and requires knowledge of HTML, JavaScript and CSS.

There are many instructions online on how to incorporate custom JavaScript and CSS snippets into your browser equippped with Greasemonkey and how to specify server whitelists and blacklists. I might introduce the same instructions here or put them up somewhere else.

While I thought I just had the solution, it then turned out that the block element was only equipped with a class parameter and no ID. I had also learned that only recent and modern versions of Greasemonkey now support the JavaScript getElementbyClass functionality, but I only have an outdated version.

Well, no matter: Greasemonkey 0.5.3 supports getElementbyId, but that really is not the most important thing, because Greasemonkey also allows injecting snippets of Cascading Style Sheets with JavaScript. And CSS is power.

Yes, while the DIV element did not have the ID parameter in it, it still had the CLASS parameter specified and the solution looks like this:
document.styleSheets[0].insertRule('A[class~=yucs-skipto-search] {display:none}', 0);
/* ^A is the linked element;
• Square brackets in the selector are used for conditional matching in the form of ELEMENT[attribute=value] — In this case, the {display:none} CSS block applies when yucs-skipto-search is found anywhere in an A tag's class attribute value (which the next point is about);
~= means that the pattern for the element attribute may be any matching part inside class, because when I looked at the source, the class parameter contained more than just yucs-skipto-search.
display:none collapses the element. */

document.styleSheets[0].insertRule('A[target=_top]:hover {text-decoration:underline !important;}', 0);
/* ^ In this line, Any hovered link tag A where the target parameter exactly contains _top must be underlined when hovered over. Note that instead of ~= for any matching part inside A[TARGET ]there is a single equals sign = for an exact match. !important overrides anything provided previously and makes sure that the these links are underlined when hovered over. */
So much for now.

Sunday, May 8, 2011

Adblock Plus and Why Mozilla Firefox 1.5 Matters

Yes, Mozilla Firefox 1.5 is old and outdated, yet it's a notch newer than Mozilla Firefox 1.0. Some people may be stuck with it (when stuck using a Live CD or an older computer with an older operating system). When comparing Firefox 1.5 with 1.0, then it, of course, renders slightly better and with less caveats. For computers with sparse resources, Firefox must still be configured to run efficiently.

And not just: It can handle newer extensions, the greatest of which in order of importance are NoScript and Flashblock, and now add Adblock Plus (ABP). The reason? Some modern (as of 2011) websites now harobur designs that do require collapsing some elements in order to view their pages with some attempted modicum of properness (anything on wikia.com). And Firefox 1.5 is the earliest browser to support a version of ABP that collapses CSS elements by id.

Here's how: Adblock Plus 0.7.0.2 (08.06.2006) is the last to run (to be properly supported) in Firefox 1.0, but most unfortunately, lacks the necessary feature.

The next version (0.7.1), which incidentally first includes the functionality of collapsing CSS elements by their ID, only supports Firefox 1.5 or newer. (But this is not the version of ABP you'll need, if you're somehow stuck using Firefox 1.5.)

The last version of Adblock Plus to support Firefox 1.5 is 0.7.5.5 (01.12.2008).

Thursday, May 5, 2011

Adding formatting to CSS generated content

This solution (or workaround, if you like) came out of a need to write text visible only for modern browsers.

I have a case, where such text would point out a formatting feature containing further information in <ACRONYM> tags, only that severely out-of-date and text-only browsers do not support the dotted underline and border properties, so help text for these browsers was not necessary. I wouldn't use JavaScript (which uses document.write) and there are websites like WordPress (IINM) that only allow editing CSS files and may forbid JavaScript.

The CSS 2.1 specification has it that it's possible to create generated content before or after an element, using :before and :after pseudo-elements, respectively.

The best explanation about how it works is in the CSS2 technical recommendation at W3.

The difficult part is in how to format text within the content: property.

Well, there are two ways that work and a third way that is a workaround. The two ways are well-documented in the W3 technical recommendation (see above link), where it's possible to specify attributes with first-letter and first-line (for longer texts within content) pseudo-elements.

The Third Way

Specifying formatting for bits of text within the content: property is impossible, so the solution is to create one or more rulesets of :before or :after pseudo-elements with similar declaration blocks, wherein some rulesets' declarations are different.

In HTML, write the following snippets of code:
<SPAN CLASS=text></SPAN><SPAN CLASS=dotted></SPAN><SPAN CLASS=bits></SPAN> and so on...
In CSS, example code shows the following:
.text:after {content:'^ Mouse over text with\ ';}
.dotted:after {content:'dotted underlines'; border-bottom:dotted 1px; border-bottom-color:inherit;}
.bits:after {content:'\ for more infobits'}

/* ^ Use the backslash \ to escape special characters, including a space (or it won't be shown). */
The result:
Browsers, which don't support CSS :before and :after pseudo-elements, won't see this. ^

The result is used here in a previous blog post. The example text snipped was put in place of a paragraph break, but since the Lynx browser wouldn't create a paragraph break inside a list with <P></P> or <BR><BR>, or instead there was more space added in modern browsers with variants that included a non-breaking space &nbsp;, then the best solution was to wrap above HTML code within <DIV> tags and add a non-breaking space —
<DIV>&nbsp;<SPAN CLASS=text></SPAN></DIV>
Characteristics
The most interesting and equally obscure characteristic with CSS generated content is, that generated text cannot be directly copied — even when selecting a normal area that wraps around generated content, then only the wraparound selection is pasted.

While this may be useful to wonks interested about protecting original content, then it's still a chore to implement, and advanced users would still be adept at copying text from near the source (unless obfuscated). The technique is similar to mechanisms that disable direct text copying in advanced document files, like PDF, but with the difference in sophistication: PDF files have encryption and other features.

The (dubious) advantage is, that direct copying is disabled; and the disadvantage is, that a number of browsers don't support these pseudo-classes. And not just older (Netscape 4) and niche browsers (Lynx, Links, Elinks), but even Internet Explorer 7 doesn't.

16.12.2015. Update:

I recently wanted to add newlines to generated content, but after several turns of trial-and-error with \A in content:, I turned to a search engine and found about the best blog post by Chee Aun that describes the issue in detail.

The solution with Firefox is to specify white-space:pre-wrap — This preserves both wrapping and newlines.

Monday, April 25, 2011

Somehow installing, configuring, and using NoScript in K-Meleon 1.5 via Wine

I am assuming that you probably already know how to use Wine and know your way around the computer.

The conditions: Knoppix 4.0.2, because it runs passably with 128 Mb of RAM, in a situation where no swap space is available. This version of Knoppix has a really outdated version of Wine, which makes it difficult to use Windows programs there. There may be people stuck with either that version of Knoppix or that old version of Wine. At least this post provides a case study, which I hope could be of some interest.

The only reasonable place I could find NoScript for K-Meleon 1.5.4 is from extensions.geckozone.org/KMES-NoScriptEn. The version is 1.7.8.0 and it's from 17.06.2008 (that's 2 and 3/4 years old as of April 2011).

First off, change installer's .exe file rights for it to be an executable. Like this from the command line:
chmod u+x "K-Ext(1.1-1.5-1.6)_NoScript(1.7.8.0).exe"
u = for current user; + = add/enable; x = executing;
The filename is wrapped in double quotes, because it contains parentheses "()".
In my case, the first round of installation didn't work. Later I specified this target install directory:
z:\mnt\hda1\Program Files\K-Meleon
^ can't remember if I specified an upper- or lowercase letter z
and installation worked after that.

K-Meleon should not be running during installation, so run it after installation.

27.04.2011.–: After a relatively quick-and-dirty article which turned out to be far more specific than originally anticipated and still quick-and-dirty, I've updated the following with information which will make K-Meleon slightly easier to use as it is, with what the setup is and all...
When running K-Meleon through Wine in Knoppix 4.0.2 (remember that it's from 2005 and very outdated) and when you're stuck with such a set-up:
  • The NoScript button menu can be used with a mouse by right-clicking on the NoScript button and holding the pointer device button down and dragging the cursor to the necessary command (shortcut menus will otherwise turn off after right-clicking on an item and hovering a mouse cursor over its menu; I've seen this in TWM, don't know how it works in other window managers).

    Other ways:
    • Click on the NoScript button, then use menu hotkeys (underlined) to perform a function;
    • or consider dragging the pointer through the NoScript menu via the main Tools menu.
  • Saving configuration changes in the NoScript Options window does not work, because it's impossible to save settings by clicking the OK button, but you can otherwise close the window (saving options may work with newer versions of Wine; haven't tried this myself).

    Workarounds:
    • Configuring NoScript is possible only at about:config for settings (use the noscript text pattern in the about:config search bar to get NoScript-specific settings);
    • ^ Consider removing some default domains there from the noscript.default string;
  • Worse, the NoScript menu in K-Meleon (at least in the given configuration and set-up) won't show domain names in its menu (Shock! Horror!).
    • Now, the whitelist, which is not shown in about:blank, is only configurable in prefs.js at the local K-Meleon profile folder on the hard drive (from where K-Meleon is run). If you don't know what the prefs.js location of the current profile is, open Preferences, go to "Privacy & Security" preference category, click on the Cache tab and see the "Cache Folder:" entry, which shows the location of the current profile folder.

      An example location is here:
      "/mnt/hda1/Program Files/K-Meleon/Profiles/g1bb3r1sh.default"
      So, edit the prefs.js file with a text editor at this line:
       
      user_pref("capability.policy.maonoscript.sites","place.doma.in nam.es here.com in.alphabetic.al ord.er.com ea.ch doma.in na.me separated.wi.th a.space.com and.do not.break.the.li.ne");
       
      Make sure just in case that K-Meleon is not running when editing the file, because if you've saved the file and then exit K-Meleon, then K-Meleon is highly likely to overwrite your changes.

      13.09.2011.
      Given that I had been using K-Meleon like that for a longer while, I created a menu item in the TWM window manager, where I could directly open the prefs.js file from the menu.
    • Alternately, adding sites to whitelists works from the menu (see above), but since the above configuration does not make it possible for the K-Meleon URL bar to function and display addresses, then a user is limited to knowing the site domain and web page address in the following ways:
    • In K-Meleon, the tab bar is typically shown by default, so it should be enough to hover the mouse cursor over a page's tab button: This displays the tool tip, which then shows the site/page title and its partial address.
    • A user might know the site's domain name, if they've entered it themselves (because of limitations, entering a URL goes through editing bookmarks and accessing a bookmark set up for just that).

      A user can specify that only top-level domain names are added, by setting this in NoScript preferences through about:config, only that the whole point of NoScript to me is the fine-grained way in which some subdomains can be whitelisted, so that disruptive ones are duly excluded. Unfortunately, not directly seeing a site's domain name in the URL bar has security implications, including the fact that the non-functioning URL bar doesn't change color when visiting a secure site, though a bottom-right status bar indicator should work. Preferably, only safe sites should be visited. (Avoid clicking e-mail links, if you know they're dubious, but this requires at least some user education and this is where NoScript is useful. There is nevertheless a greater amount of security in running K-Meleon equipped with NoScript, no matter how limited it is, through Wine in Linux than in Windows 9x);
    • Some necessary domain names pulled by a page from (a) differently-named domain/s to fetch scripts and/or stylesheets across sites and subdomains are not displayed anyway (not even in the NoScript menu), so there is no direct way of learning which other domains must be allowed for scripting.
    • Consider disabling NoScript for the duration of the session, if you're using a service which requires logging in and if it's been impossible to learn what are the exact outside domains with necessary scripts.
    • The third option is to import domain names from other NoScript settings in other prefs.js files. This actually works. But what if using a new service that users a non-primary domain name for scripting? Or what if an existing service sometimes changes its subdomains?

Kasutaja valikud seoses saidiväliste linkide ja hüpikakendega

On olemas vähemalt kaks arvamusringi selles osas, et kuidas kohelda oma kodulehel saidiväliseid linke: üks toetab välislinkide avanemist samas aknas/vahelehes, teine uues aknas, sest tegemist on teise saidiga.

Näiteks Vikipeedias avanevad välislingid omas aknas; mõnedes teistes (kommerts?-) saitides olevad välislingid on seatud avanema uues aknas.

Üks mu sõber kirjutas mulle, et olla kunagi ühest kohalikust arvutiajakirjast lugenud arvamust (mis kirjutati enne Wikipedia loomist), et välislingid peaksid avanema uues aknas, sest nii olevat korrektsem.

Minu vastuväited on, et linkimisel on tegemist põhimõtete erinevusega. Kui Wikipedia ja wiki-laadsed saidid lingivad teistele saitidele ilma, et avaneks uus aken (või vastavalt lehitseja seadetele vaheleht), siis lingi juures on pildiga märge, et tegemist on välislingiga.

Hüpikakna (või -vahelehe) avamine ei ole õige lahendus, kuna see kasutab sellisel juhul rohkem arvutiressursse, nii et kasutajale peab jääma valik selle kohta, et kas ta tahab uut akent, vahekaarti või lehitseda edasi samas aknas/vahelehes. Kui link on seatud avanema tavakliki korral uues aknas/vahelehes, on kodulehe tegijad võtnud oma külastajatelt selle valikuvõimaluse nii või teisiti ära.

Thursday, April 7, 2011

Free Software alternatives to Trajan Pro

With the image and font table well below I have tried to find out free small caps and fallback font alternatives to Trajan Pro, a very popular Roman-style font known for its style and legibility. With free, I have in mind the context of free software, so free as in freedom.

The reason for this was that I was fixing the design of a simple website and its original designer had specified Trajan Pro as the font for the site's menu text, only that Trajan Pro is proprietary and non-free, which means that not everyone has it and I had to find out the necessary fallback fonts.
A fallback font means that I specify multiple fonts in the font-family CSS property: If a web browser can't find the first font, it shows text in the next specified font or uses the browser default.

I recently discovered that a similar trick can be used in OpenOffice.org documents, where I'd specify two or more fonts and separate them with a comma. OO.o also has the means to set fallback and replacement fonts in its options.

Requirements for matching fonts:

• Roman typeface.
• Must have small caps, just as Trajan Pro does /capital letters should then be bigger;
• Must look good and legible in bold weight (this was the site requirement) at default size (12pt/16px) and I only chose ones that looked good enough;
• Must contain the ü character /implies that other Latin-extended characters are also contained.
N., 06.09.2012 update:

A large number of primary fonts are already 'Roman' or like by their looks, and nowadays' CSS conventions should allow transforming text into uppercase with a favoured font. Alas, there are sites that are likely to use Trajan Pro, and so there need to be fallback fonts that are similar.

Process:

I found most of the interesting fonts from fonts.debian.net (one large page contains several hundred images of font examples, so beware), an otherwise fabulous resource for all who want to seek free software fonts.

As I was seeking only small caps fonts, I only downloaded these.
In the process it occurred that that some of those fonts wouldn't show properly, because space marks were visible. Since fonts.debian.net shows fonts with all their subsets, I made a half-educated guess that some of the small caps fonts I downloaded were also subsets, which therefore didn't require to have spacemarks in them, because any rendering software would fall back to the main/primary font for symbols that were not used in the subset. Another reason for visible spacemarks might be that the fonts that I got from the above site were not compiled for Windows, but Linux and Unix in a wider sense, so this could also be the reason.

As it turned out some of those fonts displayed on fonts.debian.net were indeed subsets of TeX fonts, which are listed here (if not with the same extensions, like ttf, then still with the same filenames), so skimming over that list should help in distinguishing the fonts that should not be downloaded in the first place, unless you know exactly what you want. The fallback system in TeX is called Metafont, so spaces are probably there, too.
Furthermore, when creating the table, it turned out that the text had to look good both in high contrast (black on white) and in lighter incarnations. I haven't put that yet as a requirement.

Result:

The following is a quick-and-dirty preliminary report, as I have yet to do more research on small caps fonts on the subject.

The fonts I included in the table are only those that passed the requirements, well, somehow:
• Whether any example resembles the cut-into-stone effect of Trajan, is debatable, at least they're Roman;
• They must be reasonably light even when in boldface;
• The winners' most common denominator is that their small caps really are what they say they are, unlike with Trajan, where actual capitals are only slightly larger, which makes the alternatives metric-wise imperfect.

Fonts in the results image and table are in medium size, which defers to the browser and operating system default (typically 12pt). Since even small caps are small, then any smaller-sized text with some of these fonts is very likely to be less legible.

In the image, I've avoided using the actual Trajan Pro font, which is non-free, and resorted to using contours of the text that use it. In a table below the image, the Trajan Pro row text is formatted in that font, but the font is displayed only when a client computer actually has it (otherwise the browser will defer to the blog's default body text font). To fully comply, I've formatted the heading row with the Liberation Sans font (with fallbacks to Helvetica, Helv, sans-serif).
Trajan Pro FOSS alternatives
Results table
Font name
Test wordNotesOverall mark
Trajan ProKülalisteraamatReference
Romande ADF Style StdKülalisteraamat++++
LMRoman10-CapsKülalisteraamatSlightly fatter+++
Berenis ADF No2 StyleKülalisteraamatLegible, but small caps are small...++
The below fonts are fallback fonts with small caps. Conga might be a non-free font, although it's been included in a version of Knoppix.
CongaKülalisteraamatKnoppix 4.0.2, fallback
Copperplate Gothic LightKülalisteraamatWindows, fallback
CastellarKülaliste­raamatWindows, 2nd choice fallback /note that "lower-case" capitals are level with "upper-case" capitals
Felix TitlingKülalisteraamat
Perpetua Titling MTKülalisteraamat
The below fonts, while having "small" caps, were found in Windows, but they don't qualify because of various visual aberrations.
Copperplate Gothic BoldKülalisteraamatWindows, fallback /Ugly when bold, but small caps are smaller
Engravers MTKülaliste­raamatWindows /Too large
AlgerianKülalisteraamatWindows /Too ugly
I intend this post to be a work in progress of sorts, so I hope to make further updates.

N., 06.09.2012. update:

Fonts with small caps that didn't make the cut:

Aegean /incomplete
Akkadian /incomplete
Analecta

Computer Modern Roman Regular Small Caps / CM Roman /ugly
TeX Palladio L Small Caps & Old Style Figures / TeX Palladio L

Irianis ADF Style Standard Regular / Irianis ADF Style Std
Linux Libertine O Capitals / Linux Libertine O C

Text about Free software alternatives to Segoe UI was moved to a separate post.

Monday, March 21, 2011

What's left of sidebars for Netscape

Ed Mullen has a great page on Netscape and Mozilla tips and even a page that includes installable links to sidebars that can still be added to SeaMonkey 1.1.xx, a successor to Netscape 7/8 and Mozilla Application Suite.

Unfortunately, some of the sidebars are now outdated, half-work, redirect, cannot be found anymore or are completely offline.

Below is a selection of sidebars I found to be interesting to check them out.

Sidebars that still work:

  • The Google sidebar works! Yay!
  • The Real.com Guide sidebar only offers search for audio, video, and radio stations (no actual Guide to speak of).

...That are outdated:

The CNN Expanded Sidebar is still live, but stopped having updates since two years ago on March 2, 2009: The Dow Jones index dropped below 7000 on that day, because AIG had a record loss, tech gadgets had become a luxury, and "Twilight" stars were huge.

The links to news sites don't work, because they use a redirect via info.netscape.com (which now redirects to netscape.aol.com ).

In terms of context, the "Last updated" text in the sidebar is inaccurate, because it's most likely a script. That sidebar page is now a virtual time capsule of World news.

Netscape Sidebars

...that redirect:

  • Netscape WebCenter Travel (webcenter.travel.netscape.com) — Ah, well, this at least redirects to travel.aol.com, but that's it. At least it's topical.
  • Netscape Celebrities (celebrities.netscape.com) — redirects within the sidebar to netscape.aol.com.
  • Netscape TV Listings (tv.netscape.com) — redirects in-sidebar to netscape.aol.com.

...that don't work anymore:

(in descending order of importance)
  • Netscape Time Zone Converter (cgi.netscape.com) — "Not found" — Ed Mullen's screenshot of it is now a historical artifact;
  • Netscape Netbusiness — because netbusiness.netscape.com is completely offline (no 404 page, even);
  • Netscape Netbusiness Industry Headlines (netbusiness.netscape.com) — domain is offline;
  • Netscape Netbusiness Search (netbusiness.netscape.com) — offline;
  • Netscape DevEdge (developer.netscape.com): "This tab is not available right now." — Taken offline since about 11.10.2004 and then moved to devedge-temp.mozilla.org/index_en.html
     
  • Netscape Home Improvement (homeimprovement.netscape.com) — "Not Found";
  • Netscape Home Improvement House and Home (homeimprovement.netscape.com) — "Not Found";
  • Netscape Lifestyles Pet tools (lifestyles.netscape.com) — "Not Found".
     
  • American Greetings (lifestyles.netscape.com) — "Not Found"
• The OS/2 sidebar does not work either, because os2.org cannot be reached.

Speaking of which — OS/2 has officially outlived Windows 9x, because according to screenshots, Mozilla Firefox 3.5.4 works in it. OS/2 can also run OpenOffice.org 3.1.1 and OS/2 now lives on as eComStation, where Firefox 3.6 and 4.0 (beta) can also be run.

eComStation is capable of running OpenOffice.org 3.2, VLC Media Player 1.1.4, and CUPS, a free software printer framework (modern printer support).

While Windows 9x only supports Mozilla Firefox 2.0, OpenOffice.org 2.4, and has ageing support for printers (I admit as much that some printers useless with CUPS are supported in Windows 9x)...

Tuesday, January 25, 2011

Older Flashblock and NoScript for older Firefox and SeaMonkey versions

If you're ever stuck with an older computer and a Live CD (an older version of Knoppix) or an older computer with Windows 95/98/Me and an older version of Firefox or Mozilla or SeaMonkey, then useful extensions (add-ons, but not plugins) for these still exist and can be installed.

(If installing them from a website won't work, download an .xpi separately and install from local storage.)

The most recent version of NoScript to support —

• Mozilla Firefox 1.0.x (in my case): 1.1.4.7 (XPI)
01.02.2011.
Noscript caveat:
Version 1.1.4.7 does not block META redirects within <NOSCRIPT> elements in HTML. — I saw this with one Russian social networking site.

The noscript.forbidMetaRefresh boolean (set to true) in about:config only applies to refresh elements outside <NOSCRIPT> tags.

Turned out that the functionality blocking META-refresh-in-<NOSCRIPT>-tags was first introduced with version 1.1.4.8RC1 of NoScript, which only supports Mozilla Firefox 1.5 or newer.
02.02.2011.
Multiple Mozilla Firefox 1.0 caveats with the modern Internet:
  • Firefox 1.0 is so outdated that only "Basic", "Classic" and "Lite" versions of various popular services work. Remember to place these services' old versions' addresses in the Bookmarks menu or toolbar.
  • Windows Live sign-in doesn't work at all.
  • Nowadays' popular Websites use scripts and AJAX so intensively that NoScript is invaluable in suppressing unnecessary scripts that may hog system resources (also applies to Firefox 2 and SeaMonkey 1.x).
Windows 95 Firefox 1.5–1.5.0.3: NoScript 1.5.2 (XPI)
Firefox 1.5.0.4:NoScript 1.8.1.3
Firefox 1.5–NoScript 1.10SeaMonkey 1.1.17
–1.1.19
Windows 98/MeFirefox 2.0.0.20
28.01.2016.
Windows 2000Firefox 12.0NoScript 2.9.0.1rc1SeaMonkey 2.9.1
NoScript versions page

I know I haven't posted much about Flashblock, but it can be had from flashblock.mozdev.org

The legacy options presented in this post pertain to situations where it's impossible to upgrade to SeaMonkey 1.1.19, such as an out of date Live CD (and what if someone has only that?).

Yet when it comes to a Windows 9x operating system, then it's best to install or upgrade to SeaMonkey 1.1.19. Reasons for this in one of my previous posts.

Wednesday, January 5, 2011

GIMP 2.6 UI text too small?

I had the happy occasion to download, install and use GIMP 2.6.11. Overall it's a very nice image manipulation program, so kudos to developers. One trouble was that its user interface's default text size was too small for my liking. While it may be good on small monitors, it's not good in large monitors and neither is it good for the eyes like that.

So I surfed the web and first found out one solution (forgot the source, of course), and then another one, which is easier (with attribution to the initial suggestion).

R., 05.10.2012. update:

Right, well, this has been brewing for a longer time, but I've now gotten up to describing a more elegant solution that has been available for well more than a year or so. If not more even...

So, anyways, I got the solution for Windows from the help page of the Pidgin instant messenger, and the page is on its own quite straight-forward:
  • Download the GTK2 preferences program, also known as the GTK+ Theme Switcher package (version 0.4.1 and Win32) from Sourceforge;
  • out of which compressed package you should extract gtk2_prefs.exe into the GIMP program folder, such as this —

    C:\Program Files\GIMP-2.0\bin\

  • Then create a shortcut to the program, and then move the shortcut to the desktop or copy it into the GIMP folder in the Start Menu;
  • Then make sure GIMP is not running when you change settings with the below program, because upon quitting it might overwrite the settings you've changed.
  • Launch the program, which is officially named The Gtk2 Theme Selector. There you should be able to change the look of GIMP, including themes. Of the two default themes I chose Raleigh, because it's nicer-looking, but you can download your own via instructions at the Pidgin help page.
Caveat: If you uninstall or upgrade GIMP, the Gtk2 Theme Switcher program (and any additional installed themes) will be deleted. Not sure about whether settings will also be retained, but after upgrading, you'll need to re-extract the Gtk2 Theme Switcher in order to set the settings right (if need be, again). The program's user interface is quite straight-forward. Save settings/quit the theme switcher, start GIMP.

But the above is a much simpler solution than advice below, which has worked for me, too.

And if that doesn't work, then the following should definitely help.

First of all, GIMP uses themes and keeps its configuration data in configuration files of those themes; the files are easily editable. Before you do any changes, make a copy of the original first, just in case.
  • Locations for themes can be found at Edit > Preferences > in the left-side section, click on Themes [since I use the Estonian-language UI, the word is Kujundus; located between User Interface (Liides) and Help System (Abisüsteem)].
  • In the right-side main section, you will then see the list of themes and their locations. Theme names correspond to their relevant folder names. By default, there are two: Default and Small.
  • Go to the themes folder, and make a copy of the Default folder, rename it. I've renamed it to Default-bigger. Making a copy of the theme folder will keep the original theme.
  • Go into the copied theme folder, Default-bigger in my case, and open the gtkrc file. This is the gtk configuration file for GIMP and contains settings directly affecting font size in the user interface. Make a copy of the file first, then open it with a text editor (if you use Windows, I suggest WordPad, because it supports UNIX-style carriage returns, or Notepad2; if resources permit, a local office productivity word processor is good, so long you save the file in the original format).
  • The file's settings are similar to formatting rules in a CSS file. Scroll down in the file and look for font-scale and label-scale items. The default size for these are given as 0.8333. Change them to 1.0, as in
    GimpRuler::font-scale          = 1.0
    Save the file, (re)start GIMP. If something goes wrong, you can overwrite the modified file either from its own original copy or the original in the original Defaults theme.