Friday, November 25, 2016

Long-lasting designs

This is a reply to a post on YouTube discussing the longevity of Miranda-class ships in the fictional Star Trek universe.

Long-lasting old designs in various complex technology branches is really nothing new.

wrt this and the car industry, then off the top of my head, I can cite as examples the Volkswagen Beetle (1938–2003, 65y), the VW microbus (1949–2013, 64y), and Citroën 2CV (1948–1990, 42y).

Fiat 124 (1966) was transmogrified into Soviet Zhiguli/Lada cars, production of which design ended in 2012 in Russia, but continued well into 2014 in Egypt. With 2014 in mind, that's 48 years of mostly continuous production, though in that same year of 2014, the plant in Egypt had a fire

With trams, it's the PCC Streetcar (1936), numerous modifications of which are still in service. I don't know, whether any new PCC-spec trams are still built.

The Boeing B-52 Stratofortress had its first flight in 1952, and these planes are still in service.

Saturday, November 12, 2016

Most supernovae are misclassified as nebulae...

...Because the calculations reflecting the speed of light en route to Earth are off, since they don't take into account the effects caused by the confluence of time dilation and dark matter across the long trip that the photons take.

The title refers to numerous photos of nebulae, which I think are really supernovas in progress. I attribute this misclassification the the sheer distance involved and what I think are inaccurate speed-of-light calculations, because the distance between an event and Earth is so great. So, even a quick event in a galaxy far, far away just appears to happen very, very slowly when viewed from here. — So slowly for that matter, that the event looks to be in a standstill.

Dark matter, black holes, and other crazy theories

What I think dark matter is

Dark matter, in turn, is gravity from black holes (aka singularities) not (yet) manifest in this realm. These black holes are singularities, but not black holes, because they haven't opened up yet, but are close enough to the 'wall' separating them and this universe to cause gravimetric emissions. Alternately, I can describe dark matter as just a gravimetric echo of a black hole not yet manifest.

Imagine putting small magnet pieces on paper and then moving them around using a big magnet on the other side of that sheet of paper. The sheet of paper is that wall.

The black holes themselves don't open up just like that. A typical process in the lifetime of a manifest black hole is first to collect enough matter. And well, if there's no matter, then the singularity won't bother either.

But — if there's enough matter, the gravity of the non-manifest black hole (the 'dark matter') will collect the matter together. The right elements that are easier to attract will congregate into one or more masses, of which one such mass is large enough to be solar-forming.

The catch is, that black holes rotate, and the solar material basically chafes at the fabric of the 'wall' separating ths realm from what is probably another one. One possibility is, that a certain small amount of solar material moves from this realm through an inner back hole (inside a sun) to the other side. Well, enter pulsars. Some pulsars are long-lasting and stable, but emit solar material from the other side transmogrified into very powerful pulsar emissions.

Now, the stars and the suns are just pimples of the universe, which are mostly stable. In some cases, a star runs out of fuel (collected matter) and becomes a dwarf.

In other cases, there is some kind of an imbalance that causes a supernova to happen.

An open black hole sucks everything in; imagine a drain, and water going through it is just space. But in space, it's totally 3-dimensional. |There might be more dimensions.|

For a supernova, one option is, that as the amount of solar material increases, a black hole within the stellar object gets more powerful (and maybe sucks more in). Or that it is sustained, along with the star around it. Once the stellar object runs out of fuel, the opening of the singularity inner to the stellar object cannot be sustained, and as that singularity leaves its 'nest' and closes within the stellar object, the remaining solar material that has so far made up that stellar object — unable to be to be sucked in anywhere — disperses. Often violently.

Imagine a rubber balloon and then applying pressure from its hind end. Apply too much pressure, and the ballooon pops. The rubber pieces of the balloon fly around quickly and sometimes violently, as they hit stuff in their way.

13.11.2016 update.

I later thought about actual open black holes that don't have any light around them. As I'd described stars as pimples of the universe, then I could think of not just one type of supernova, but more than one.

So, one type of supernova is likely to be caused by dispersing solar (and other) matter once a singularity has closed up, but the collected matter around the closing doesn't have anywhere to move. That's described above. To add to that, such a nova happens, if the closing is not safe, or if there's surplus material and gravity, and maybe an imbalance involved, but the hole itself closes.

The other type of supernova is caused by a tear in the continuum. The magnets and paper description might come into play here, as rotating black holes are covered by stars (note, that manifest singularities are circular, but instead of forming a mass, they are 3D drains when open), which avoid, prevent or delay the tear from happening.

So it could be, that a certain star runs out of fuel, but a greater imbalance causes the black hole to manifest.
What may be causes to the imbalance, are unknown. Perhaps lack of sufficent matter to close the hole, if the singularity is too powerful. In that case, it's not so much solar matter exploding outwards, but a violent opening, whereby normal gravity is pushed away, in the process also pushing outwards, but not destroying/extinguishing all extant matter that is in the way. That is disperesed before the hole opens.

At this point, I'm too tired, and the previous paragraph is too illogical even to me. I'd rather read up on Wikipedia about actual discoveries and proofs, but later.

All this from the crazy theories dept. I felt so giddy this hour, that I wanted to put out something off the wall with lots of non-sensical technobabble.

Added minor wording and idea updates a few days later.

Saturday, November 5, 2016

Postimees ja vana Android

See on (algselt kiirena kirjutatud) täiendus varasemale postitusele, mis kritiseeris Postimees Online (edaspidi PMO) uue mobiiliversiooni kasutatavust, kus peamiseid kriitikanooli sai sisu liigtihe automaatne uuestilaadimine.
Üldse, kui sinu hallata on suure levikuga veebileht, siis üks suuremaid vigu on [kogu] lehekülje sisu automaatne uuestilaadimine, sest kasutaja pole seda ise soovinud, ning mobiiliseadmetes kulutab see akut.
Antud blogipostitus on mõeldud kõigile neile inimestele, kelle mobiiliseade (telefon või tahvelarvuti) on varustatud Android 2.3 "Gingerbread" opsüsteemiga, mida pole võimalik uuendada, ning mille vaikimisi lehitseja on liiga vana ja aegunud, et oleks võimalik Postimehe veebilehelt mugavalt uudiseid lugeda. Või üldse.

Ehkki seesinase fookus on Postimehe koduleht, võimaldavad allpool pakutud lahendused laiemalt külastada teisigi kaasaegseid Interneti-lehekülgi, mis Androidi (2.3 ja vanemate) vaikimisi lehitsejas ei näita või pole enam toetatud.

Juhised nõuavad mõnetist tehnika-alast oskust, kuid leian, et instruktsioonides ei tohiks midagi väga keerulist olla.


Probleemid:
* Android 2.3 on vana ja Postimehe enda äpp võib-olla näitab, võib-olla mitte, aga tegemist on äpiümbrisega (wrapperiga), mis põhimõtteliselt näitab Postimehe kodulehte sisseehitatud vaikimisi veebimootoriga. Postimehe äppi pole tegelikult vaja.
* Android 2.3-s vaikimisi lehitseja on liiga vana, et kogu seda sisu adekvaatselt näidata, sest selle lehitseja umbes viis aastat vana veebimootor on lootusetult aegunud.

Mida teha:
* Tõmmata peale Firefox Androidile.
ARMv7l protsessoriarhitektuuril käiatava Android 2.3 jaoks on kõige uuem Firefoxi versioon 47.0; selle eestikeelse variandi saab tõmmata Mozilla FTP lehelt või Google Play Poest.

Mozilla enam ei arenda Android 2.3 jaoks Firefox-i, nii et Google Play Poes võib Firefox olla vabalt märgitud kui ühildumatu. Siis tuleb tõmmata Firefoxi APK-installer eraldi Mozilla FTP-lehelt ja enne selle installimist lubada ajutiseks Androidi seadetes kolmandatest allikatest installimise võimalus ehk mitte-Marketist/Play Poest.

Asja parem külg on see, et vanale mobiili-opsüsteemile siiski on saadaval modernne lehitseja, millega saab vaadata kaasaegseid veebilehti.
* Et PMO mobiiliversiooni sisu laeb liiga tihti, tuleb kasutada PMO töölaua-versiooni. Viimases töötab siis ka artiklite kommentaaride hindamise funktsioon. Ehkki Firefoxi äpi-menüüst on võimalik valida "Töölaua-versioon", tekib ikkagi kaks probleemi:
** PMO lehtede jaoks tuleb Firefoxi töölaua-vaadet valida menüüst iga kord peale Firefoxi käivitamist või peale lehitsejas uue vahekaardi avamist.
** Teiseks on PMO töölaua-versiooni küljendus mõeldud töölauale, aga kunagi töötas see väga ilusti mobiiliversioonina. Vaadet on võimalik näppudega suurendada. Need liigutused on tüütud ja ajakulukad.

Lahendused:
1. Oletades, et sinu Firefoxi versioon on 47.0 (nagu üleval kirjas, Android 2.3-le kõige hiljutisem), jäta allolev vahele ja mine edasi järgmisele punktile.
Kui sa oma Firefoxi versiooni ei tea, otsi see üles: Lähed Firefoxis about: lehele, kus see kribukirjas näha on. Jäta see versioon meelde; tähtis on see kujul 47.0 (täisarv-punkt-null).

Ise kasutan Firefoxil põhinevat IseCat lehitsejat; Android 2.3-le on IceCat-i uusim versioon 38.8.0.
2. Edasi tuleb minna aadressiriba kaudu lehele about:config — seal on kõik Firefoxi tähtsamad seaded, mis on käsitsi seatavad;
1.1 puutuda seal suurt pluss-märki ja kirjutada nimelahtrisse

general.useragent.override.postimees.ee

1.2 Puutuda nuppu "tõeväärtus", vali "string"
1.3 "Sisesta string" lahtris lisa järgmine user-agent string (lehitseja versioon, mille lehitseja saadab seatud leheküljele, antud juhul postimees.ee) —

Mozilla/5.0 (X11; Linux armv7l; rv:47.0) Gecko/47.0 Firefox 47.0

Kui telefonis on Android 2.2, või kui telefonis ka on Android 2.3, aga protsessoriarhitektuur ARMv6, siis nende jaoks on uusim Firefox hoopis versioon 31.3.0esr. Siis peaks kasutajastring olema selline:

Mozilla/5.0 (X11; Linux armv6; rv:31.0) Gecko/31.0 Firefox 31.0

1.4 Olles sobiva kasutajastringi sisestanud, vajuta nupule "Loo".
Antud string kehtib ainult Firefox 47.0 kohta. Kui sinu Firefoxi versioon on erinev, peaksid lisama selle, mis sul on.

Kogu see tegevus seab postimees.ee domeenile töölaua-põhise lehitsejastringi (i.k. user-agent string) nii, et Postimehe koduleht saadab Firefoxi-mobiililehitsejale töölaua-versiooni.

Ülal väljatoodud kasutajastringis tähendab näiteks X11 Unix-põhiste opsüsteemide graafilist keskkonda, Linux tähistab opsüsteemi nime (sh samanimelist kernelit, mis on Androidis sees), armv7l mobiiliseadme keskprotsessori tüüpi, rv: ja Gecko tähistavad Gecko veebimootori (mida kasutavad Firefox, IceCat jt lehitsejad) versiooni, selle järel lehitseja enda nimi (siin vastavalt Firefox) ja versioon.
3. Aga see pole veel kõik, sest Postimehe töölaua-versioon mobiilis ju päris korralikult ei näita, sest pisikesel ekraanil on töölauaversioon liiga lai, tekst liiga väike, ning tuleks liiga palju suurendada.

Et vähemalt enda jaoks probleemi kiiresti lahendada, tegin järgmist:

Installisin Firefoxile laienduse nimega Stylish. Sellega on võimalik muuta lehitsejas näidatavate lehekülgede välimust läbi mobiiliseadmesse tõmmatud kasutajastiilide (i.k. userstyles).
Stylish laiendus töötab nii, et lehitseja tõmbab mõne lehekülje kasutaja seadmesse ja seejärel rakendab Stylish leheküljele seatud kasutajastiilis oleva küljenduse. Lehekülje originaalvälimus jääb lähtekohas ikka samaks, st. kogu see välimuse muutmise protsess toimub ainult kasutaja seadmes, kui kasutaja on mõnele lehekülje mugavama kasutamise tarvis tõmmanud kasutajastiili.
Edasi veetsin selle aasta kevadel mitu ööd ja päeva uurides töölaua-Firefoxi arendajatööriistade abil Postimehe lähtekoodi ja kirjutasin oma stiililehe, et nö tagasi saada mobiilide jaoks mõeldud klassikaline välimus.

Et kõik teisedki inimesed saaksid seda stiililehte kasutada, panin kasutajastiili üles GitHubi:

https://github.com/juneyourtech/GM_PM/raw/master/PM_mobile_classic.css

1. Kopeerida ülalolev aadress.
2. Firefoxis minna läbi Lisade lehekülje Stylish alamlehele: Menüü [> Veel >] Lisad > Stylish;
3. Vajuta "Halda stiile" nupule;
4. Vajuta nupule "Install from URLs", aseta tekstiväljale ülalolev kopeeritud aadress. Vajuta Sobib/OK, kirjuta lisaks stiili nimi.
5. Postimehe töölaua-versioon peaks sestpeale olema nähtav mobiilidele sobilikul kujul.
6. Edaspidi tuleks eelistada Postimehe www-aadressi kujul www.postimees.ee

Ei garanteeri, et see kasutajastiil töötab kõigi peamiste Postimehe alamlehtedega (eriti Ilmajaam).

Reklaame see kasutajastiil otseselt ei blokeeri, kuid üldiselt olen lähtunud sellest, et Firefoxile Androidil on peale installitud skripte blokeeriv NoScript Anywhere laiendus, milles on antud postituse teemat silmas pidades lubatud peamiselt postimees.ee ja pmo.ee domeenid.
Tavalisest reklaamiblokeerijast, nagu Adblock Plus vms., on NoScript mitu korda efektiivsem ja vähem ressursinõudlik; leheküljed laevad kiiremini, ning selles oleva valge nimekirja abil on lubatud ainult need domeenid/võrgulehed, mida vaja.

Inimestele läheb korda telefoni või tahvelarvuti akutarve. Skriptide blokeerimine lehitsejas säästab nii aega, akut, ning mobiil-Interneti kasutajatel ka raha.
Läbides kõik need sammud ongi võimalik Android 2.3 opsüsteemis saada endale võimalus normaalselt lugeda Postimehe uudiseid ja hinnata artiklite kommentaare.


Veidi ajaloost:

Valmistehtud stiililehe esialgne tulemus oli rahuldav, kuid alguses ei olnud mul veel õiget lahendust, mille abil olnuks võimalik PMO töölauaversiooni probleemivabalt kätte saada, isegi kui teatud olukordades paistis disain töötavat.

Hiliskevadel või suvel tõmbasin eksperimenteerimise käigus peale Firefoxil põhineva GNU IceCat lehitseja, millel pooljuhuslikult avastasin kasutajastringi muutmise võimaluse, ning ka selle, et erinevat kasutajastringi on võimalik seadistada erinevatele saitidele.

Sügisel avastasin lõpuks, et ka Firefox toetab sama funktsionaalsust; lihtsalt on see about:config lehel iseenesest mitteeksisteeriv ja user-agent string tuleb ise lisada.

Tuesday, November 1, 2016

CSS3: Match parameter contents with the :not pseudoclass

It's possible to match parameter contents in the :not (negation) pseudoclass used in Cascading Style Sheets Level 3 —

A:not([href*="subdomain.domain.tld"]) {color:blue;}

All links are colored blue except those targeting anything that contains subdomain.domain.tld .

The asterisk * before the equals sign = means, that the match is any parameter value inside double quotes (quotes may be optional or pursuant to syntax) — in this case, links (A) that contain subdomain.domain.tld — to which a particular CSS rule is not applied using :not([]). Here, link contents can be a variation of
https://subdomain.domain.tld/directory/folder/file.html

More complex use of the :not pseudoclass:

A[TARGET="_blank"]:not([href*="subdomain.domain.tld"]) SPAN {color:yellow}

All SPAN elements inside links (A) with TARGET="_blank" (these typically open new windows) are colored yellow; except those, where link address contents match subdomain.domain.tld

Approximation in HTML:
<A HREF="https://domain.tld" TARGET="_blank"><SPAN>Text in this link's SPAN element is colored yellow.</SPAN></A>

<A HREF="https://subdomain.domain.tld/folder/file.html" TARGET="_blank"><SPAN>
Text in this link's SPAN element is not colored yellow, because it matches subdomain.domain.tld .</SPAN></A>
The W3C CSS3 spec itself is rather fuzzy about all this, but after some experimenting, I got a satisfactory result with a userstyle.

And if it works in a modern version of Firefox, it should work in other browsers, too.

Additional notes

If you want to match by the existence of a parameter inside an element, such as ENABLED inside <BUTTON>, or use a simple selector, such as a .classSelector or #idSelector — then you have to do without square brackets []:
A:not(TITLE) {}
   /* all links that do not contain TITLE
      (without tooltips on link hover) */

BUTTON:not(DISABLED) {}
   /* all buttons that are enabled */

DIV:not(.frontpage) {}
   /* all DIV elements not with class="frontpage" */

DIV:not(#articleContents) {}
   /* all DIV elements not with id="articleContents" */
...and so on.

Other selector matching rules apply, too.

Errata

Strangely enough, I found it impossible to insert or nest a negation pseudoclass into a series of combining selectors (with Firefox 39.0.3):

DIV A:not([href*="subdomain.domain"]) SPAN {parameter:value;}

— where a multi-selector involving SPAN elements inside links without subdomain.domain and inside DIV elements would not work.

So, in a ruleset, the negation pseudoclass must be listed first, and can include child selectors, but cannot be a child selector itself.

Rationale

As it was, this post was borne out of a need in a userstyle (made to improve the functionality of one website) to give all links that open in new windows using TARGET="_blank" a certain visible background, which was a yellow gradient, so that the reader could decide how they should open those links.

The exception to that rule was to avoid setting that background to weather content, as it was based on elements for which the website applied its own background images. Incidentally, these backgrounds were dynamically applied to child elements inside links with TARGET="_blank", and setting one's custom background replaced the background images, and weather information was thus lost.

As the links resolved to the website's weather subsite, then excluding those required matching the weather-themed subdomain, as in weather.website.tld and the links' SPAN, B, and other child elements that already contained backgrounds.

Of course, I could have specifically targeted several large and content-heavy parent DIV elements that did not contain weather content, but this would certainly have required involving way more than one such DIV element.

I could have also tried using a negation pseudoclass with a simple selector, as in:

DIV:not(.thisclass) A[TARGET="_blank"] {background:gradient(to left, yellow 0px...)}

... and maybe this would have worked, too. — But then I would have risked missing several non-weather links that did open in new windows, and as such, these would in turn have remained potentially invisible.

Therefore I found it more prudent to use link-based selectors.

Article Errata:
Corrected terminology of :not being a pseudoclass instead of a pseudoelement.

Finding the classic Netscape/Mozilla hand cursor

If there is anyone who remembers using Netscape (oh, the good times), they will also remeber the business-like hand cursor that appeared on hovering over links. This cursor is a classic.

Now, originally, the cursor was available at this address:
http://lxr.mozilla.org/mozilla/source/widget/src/build/res/select.cur?raw=1

Alas, that resource is not available anymore.

And whilst
https://dxr.mozilla.org/mozilla1.8/source/widget/src/build/res/select.cur
also exists, I'd found no way to download it.

So, as I was googling (yes, I still..sometimes do that) this classic hand cursor with the
/mozilla/source/widget/src/build/res/select.cur
search string —

I found this awesome resource on GitHub:
https://github.com/krad-radio/mozilla-krad/blob/master/widget/src/build/res/select.cur
Apparently and for reasons unknown, a software developer took the classic Mozilla source and wanted to improve it.
The download link was there all right, so I got my favourite cursor.

License information

As the original Mozilla Application Suite was licensed under the Mozilla MPL/NPL/LGPL tri-license, then this should apply to the subject image shown at the top of this post.

Thursday, October 27, 2016

YouTube video stuttering in Firefox

This post concerns a relatively specific hardware and software setup.

I have a nine-year-old computer that has just 1 Gb of RAM (yes, one gigabyte), a one-core CPU and an integrated Intel video adapter. The operating system is Windows XP SP3.

In that computer, the default browser is Firefox because of its much lower memory footprint compared to other major browsers; and the version of Firefox is 39.0.3, as it's the last one with which Flash videos (off YouTube) are played back without stuttering much. That older version of Firefox also supports cookie prompts, which were removed in Firefox 44 or 45.

For that non-stutter to happen, I must set the process priority Above Normal for Firefox's plugin-container.exe program in Process Explorer (the latter is a fancy task manager; I usually have it on all the time).

So far, all this has worked nicely with Flash extended support releases (ESRs, currently at 18.x.x.x branch) up until version 18.0.0.266; I haven't tested with newer Flash versions yet.

Caveat: This setup didn't seem to work properly on a newer computer with the same OS and more RAM (wherein Flash stuttering in Firefox was much lesser, btw), apparently causing slowdowns with heavy CPU usage and other issues. I never quite found out what the exact cause was, but upping plugin-container priority might have been it.

IIRC, Linux seems to have that stuttering issue solved with Firefox and HTML5 video playback and a fresh profile. At least I don't remember any stuttering issues in Linux.
Strangely enough, resource usage scenarios are different between Windows and Flash vis-a-vis Linux an HTML5: In Linux, HTML5 video playback does not seem to consume a lot of resources on its own; whereas HTML5 video playback with the aforementioned Windows configuration is very resource-intensive, while Flash playback is reasonable in terms of CPU usage.
Other settings of note that decrease Firefox memory/CPU consumption:
(There's an older blogpost that I've considered updating. Might as well put all this into a completely new post to reflect the times, since many long years have passed in-between.)
In about:config

browser.sessionstore.interval is set to 600000. This interval changes the frequency of session saves.
browser.sessionhistory.max_entries (current browsing history per tab) is set to 25 instead of 50.
browser.sessionhistory.max_total_viewers is set to 0.
nglayout.initialpaint.delay is set to 0. The default non-zero value allows the Gecko layout engine to wait a while until a major part of a page is loaded. The setting of 0 can be more CPU-intensive, but I sometimes prefer seeing a complex page load early.
For very long and complex pages that might choke a graphical browser, there's Lynx.
Most of the plugins (not browser add-ons, but actual plugins) are switched off or set to Ask to Activate.

NoScript, Flashblock and Adblock Plus (ABP) are the must-have extensions for Firefox, without which normal web browsing would be impossible.

For many years, I didn't even use an adblocker, and entirely relied on NoScript and Flashblock, but video ads on YouTube had finally caused me to install ABP.
I recall this was gradual, and I used to use only Flashblock, but then having to use older Internet-connected computers (around 2010/2011 or even a couple years earlier), I finally resorted to using NoScript, too.
Since Firefox and SeaMonkey share the same rendering engine, these settings and add-ons apply to both.

On my currently-primary Firefox profile, I also keep the same session for many months, with lots of tabs that could instead be saved into bookmarks, but Firefox is set only to open the tabs that I select at startup.

The PlacesCleaner add-on can occasionally be used clean up the session database that's become a bit messy over all those months. In time, I'll transition to a new profile, so that I'd be able to do some work and stuff and keep the bookmarks. And it's likely, that with this Firefox profile, I won't be saving the session, and will use bookmarks instead for all the stuff I want to read later on.

Sunday, October 23, 2016

Galaxy Note 7 and possible causes of fires

When thinking about the possible reasons why Samsung Galaxy Note 7 became flammable, I asked myself several questions: Can a magnet affect a phone battery? Are there magnets in the S Pen — the stylus that comes with the phone and that stays inside the phone case when not in use? Were users with phones that burned, using leather holsters with magnets (as many people do with other phones do)?

As a disclaimer: This blogpost is pure speculation rife with theories and hypotheses unconfirmed by hard facts (scientific or otherwise), much of which is original research. Neither do I know very much about how smartphone screens are made, and my knowledge of chemistry and physics is lacking. Many of the claims are qualified with terms, such as "likely", "possible", "probable", and so on. The intention of the post is to ruminate over what caused the fires, since finding the cause would be in the best interests of Samsung, other smartphone makers, and the public at large. In addition, I'm a user of two Samsung phones, one of which is a smartphone.


I began looking for news articles about Samsung Galaxy Note 7 and magnets, and came across this one from August 22, 2016 published by Korea Joongang Daily:
"Samsung’s Galaxy Note 7 is marvel of waterproofing".

The article explains, that:
The Note 7 and its S-Pen can work under water, because the phone's LCD and the S-pen respond to one another through a magnetic field in much the same way pieces of iron move in the direction of a magnet, when said magnet and iron pieces are separated by paper.
Further:
Even with water between the display and the S-Pen, the device "recognizes and responds to the S-Pen’s magnetic field."

My conclusion is,

that the phone battery was susceptible to magnetism, because it wasn't sufficiently protected from magnetism inside the phone, where the S-Pen was housed. The additional reason could be, that the internal phone battery, apart from some plastic, seemed (according to teardown photos) to lack any other protective material to shield it from magnetism.

All this suggests, that the Note 7's LCD is a magnet, and the S-Pen is, too, and the battery in the phone is still about the same in terms of its own housing as used in earlier models.

This is based on the assumption, that the housing of this kind of internal battery has not changed much from earlier internal Galaxy Note and Galaxy S batteries. The fact, that batteries with similar housing didn't combust in earlier Galaxy models, was because magnets (or magnetism) were not used in the screen and the new S-Pen.

The possible design mistake in the Note 7 is, that the engineers probably forgot to account for the fact, that the battery, with its usual housing, was susceptible to magnetism that emanated from the phone's screen and the S-Pen, either during use or when idle.

Samsung won't refurbish the recalled devices, and won't reuse its components.

Whether the magnetic screen and the magnetic S-Pen are the reasons for fires in the batteries, is unknown. Whether Samsung is currently aware of these as the underlying issue(s), is also unknown. And if it is, the public should know when the company first realised this.

If I were a mobile phone manufacturer, and realised, that the magnetic screen and stylus were affecting the batteries, then as a matter of business, I would halt production of this model of device, and choose not to refurbish or reuse the magnetic screen and pen that would adversely affect any normal battery that's close by.

The most widespread photos of exploded Note 7 models show, that it was the screens that burned through the most, but not the backsides of the poor phones. Investigating the burned phones for the direction of the burns and fires should confirm this. Granted, the backsides of the phones were made of metal and other materials that were stronger than the screens, and explosions and fires would move towards the area that would first give way.

Another interesting thing that the photos of burned Note 7 phones show, is that the screens burned through completely at the location of the batteries. Part of this burn-through could be attributed to extreme heat from the burning batteries, but I'd imagine, that the displays, made of mostly glass, would stay intact.

I do not know, whether it was the S-Pen, or the screen, or both that were ultimately culpable for affecting the batteries.

No issues were probably found in testing, because the effect of the magnets was not immediate.

I can imagine, that both the phone and the S-Pen were developed by separate teams, and I think it inconceivable, that the S-Pen was never inside the phone during testing, or that they were not tested in conjunction.

The U.S. Consumer Product Safety Commission would be very smart to subpoena the carriers and Samsung for lots of Note 7 devices (not just tens, but more) to find out independently what went wrong.

In addition, The Times of Malta reported, that "a team scientists at New York University led by Alexej Jerschow, developed a magnetic resonance imaging (MRI) technique to see inside the batteries as they are charging."

This new method could be used at the behest of the U.S. Consumer Product Safety Commission to investigate the extant Galaxy Note 7 devices—both original ones, and replacements. Care should be taken with the fact, that the screen and the S-Pen of Galaxy Note 7 phones are themselves magnetic.

Saturday, October 8, 2016

Windows: Creating a shortcut to select a file in a folder

I often need to find out which version of Skype installer was automatically downloaded into the local temp folder.

While the Windows UI makes it possible to create simple shortcuts, then there is no UI for more complex stuff.

After some searching, the correct Target line in the shortcut properties must be this:

C:\WINDOWS\explorer.exe ,/select="C:\Documents and Settings\A User's Account Name\Local Settings\temp\SkypeSetup.exe"

It is important to separate the executive and its options from each other with a space, after which the comma starts in that line.

This also works from the command prompt.

Applies to Windows XP, but should also work in other Windows versions. YMMV.

Saturday, September 24, 2016

Postimehe otseblogi ja NoScript

Firefoxis on NoScript laiendus kasulik selleks, et blokeerida skripte ning säästa arvutiressursse — et arvuti oleks kiirem. See sobib olukorras, kus masin pole kõige uuem, kuid ajab asja ära.

Probleem seisnes selles, et Postimehe otseblogi miskipärast ei näidanud, ehkki NoScriptis olid kõik Postimehe/PMO domeenid lubatud.

Tegemist oli konkreetselt töölaua-Firefoxiga, kuid sama asi kehtib teiste Firefoxi- ja Gecko-põhiste lehitsejatega, sh SeaMonkey, GNU IceCat, Debian Iceweasel jt.

Selgus, et otseblogi laaditav failitüüp ei olnud Firefoxile sobilik (failitüübi kontroll ei lasknud faili läbi), ning otseblogi ei laadinud enam. See paistis silma lehitsejakonsoolis (Tööriistad > Veebiarendajale > Browser Console).

Lahendus:
  • Minna about:config lehele, otsida parameeter nimega
    noscript.inclusionTypeChecking.exceptions
  • Väärtusele lisada järgmine tekstiosa koos tühikuga alguses:
    http://f.pmo.ee/s/failid/live/*.liv
Otseblogiga artikkel tuleb uuesti laadida, ning nüüd peaks otseblogi töötama.

Väike ääremärkus, et Androidi-Firefoxi ja IceCatMobile lehitsejatega, kus ka NoScript peal, selliseid probleeme pole, sest nendes on NoScripti mobiiliversioon vähemfunktsionaalne.

Lahendus oli NoScripti foorumis.

Wednesday, August 3, 2016

Temporary workaround for if your ThinkPad restarts due to overheating

Context

 (Jump to workaround
The lion's share of desktop computers, portables and notebooks are equipped with fans to cool the processors and other innards, and fan-less notebooks and PCs are in a minority. (Still as of mid-2016)

Every once in a while, the computers and their fans inside collect dust and other micro-materials that together form a certain mass that blocks airways. If the machines are not maintained by way of dust removal, then excess heat fails to exit airways blocked by dust, and this can cause the devices to overheat and become a serious fire hazard.

Notebooks, laptops, portables, and netbooks make up a majority in desktop-type PCs (this also includes Macs), and they are more susceptible to eventual overheating due to several reasons:
* Their compact design;
* Use and placement in and on comfort zones; these often include people's laps (clothes, hair), beds, and mattresses. Fire department officials wisely tell people to avoid placing their notebooks like that.

Most ThinkPad notebooks are no different in that regard, as they are also equipped with fans.

As with many notebooks from major producers, ThinkPads are equipped with factory-installed power management software.

As opposed to most factory-installed cruft, ThinkPads' utilities are actually useful. To keep those, a user should consider having at least 2 Gb of RAM memory with Windows xp, and at least 4 Gb of RAM memory when running Windows Vista or greater. The utilities do have to be kept up-to-date for security reasons.

The workaround

Recently, I came across one ThinkPad that had begun restarting because of excess heat and restarts during video playback, and since the owner did not have time to take it to maintenance, I discovered a temporary workaround that alleviates the problem.

ThinkPad Power Manager allows users to manually adjust CPU speed relative to which user-created power scheme is used. (This does not apply to factory-made power schemes, which are locked from editing.) Such advanced power management features are not present in Windows itself; in this case, Windows XP.

CPU speed and other power management settings can be set for all user-created power schemes, or just one. Because this particular ThinkPad kept overheating during video playback, I set CPU usage to low in all power schemes.

Instructions based on ThinkVantage Power Manager 5.20 in Windows xp sp3, running on ThinkPad R60e.
  1. Launch ThinkPad Power Manager. Either:
    • Right-click on the ThinkPad battery icon in the Windows taskbar, click on 'Launch Power Manager...', or
    • launch ThinkPad Power Manager from the Start menu:
      Start > All Programs > ThinkVantage > Power Manager
  2. Use the Advanced view (click on bigger button on the upper right to switch to it)
  3. In the list of tabs, choose the (usually default) 'Power Scheme' tab
  4. Create new power scheme, give it a memorable name
  5. In the main space (to the right),

    • Expand System setings, and at
    'Maximum CPU speed':
    Under:
    'Battery settings' 'AC settings'
    (when plugged into mains)
    Set 'max CPU speed' to Lowest Low

    'Adjust idle timers':
    Settings set by me:
    Battery AC
    Turn off display 5 min 15 min
    Stop hard drive 5 min 20 min
    System standby (sleep mode) 15 min 30 min
    System hibernation 20 min 45 min

Conclusion

This essentially resolves the issue, but the owner must still take their notebook to maintenance to have all the dust removed.

Friday, July 1, 2016

How package management in Linux is different from installing programs in Windows

This was written in reply to someone on Google+ who converted from Windows to Linux, and still claimed, that he needed to download software from the Internet, which I assumed meant 'from the web', and not a distro-native package repository.


Downloading software on Linux is different from Windows.

Now, each major Linux distribution (distro) relies on their own software repository; each distro uses one of the two major package management systems, and package management software built around them.

Ubuntu is based on Debian. In Debian, the very basic package management system is dpkg, but actual work is done by APT (A Package Tool). Some other distros use RPM as their package management system.

Package management software is usually component- and command line-based, and typically has a graphical front-end.

So, Debian and Debian-based distros use dpkg, and it is relied on by the more automated APT, which can be operated with Synaptic, which is a graphical front-end to APT. Individual packages each have the .apt extension appended to their filenames.

For comparison, dpkg is a basic installer component with a purpose similar to Windows Installer. dpkg may check for dependencies and report those to the user, if there's a software package that is missing.

APT still uses dpkg, but greatly automates package management. Missing packages are downloaded either in console (via command line), or with Aptitude (a text-based graphical program), or with the fully-graphical Synaptic (not to be confused with touchpad pointing device maker Synaptics).

Synaptic can be used with Ubuntu, too, but Ubuntu has its own primary app store-like program called Ubuntu Software Centre (_Software Center_ in U.S. spelling). This is what you should use to download software for Ubuntu.

There can be two or three major software packages, that can be downloaded separately from the package manager. One of these is LibreOffice, because each new LO release offers more and better features; and the other is Wine (their site is winehq), which can run applications made for Windows. Wine is not compatible with all Windows programs.

There is a possibility, that Ubuntu builds/backports versions of newer software to its LTS release, but I have not confirmed it, because I don't have experience with Ubuntu.

For most things, Linux already has a large number of functionally similar counterparts to Windows programs — with the exception of some specialized software with unique functionality that does not have a Linux-based alternative.

Tuesday, June 28, 2016

Recommending wearables based only on media exposure

This was inspired by a post in Google+ that was reshared by a person I follow.

The post was titled "Top reasons people stop using wearable technologies", and listed a bar chart with said reasons. At URL.


Most likely, the market for wearables is still starting out, and hasn't yet found its footing. There is also no standard or common/dominant design, such as Windows in PCs, and Android/iOS on mobile phones.

Since I don't have any wearables, then my knowledge is based on actual media exposure (=article titles) of practical benefits. This has boiled down to two very different brands.

Fitbit
• Much more affordable from the outset;
• Its charge can last a week;
• Works as advertised;
• Its health tracking functions can be used to determine better diagnoses related to heart disease and a number of other ailments, where health logging becomes important;
• Can save lives.

Conclusion: Fitbit doesn't do everything, but it does well the things it's meant to do.

Apple Watch &#mdash;
• Expensive (aka "Worth its price");
• Short battery life (requires recharging each forthnight);
• Creeping featuritis — not enough useful features vs. too many useless features, therefore no direction.
• Water-resistant, but not waterproof.
• Difficult and expensive to fix, if gets broken.

• The advantages are integration with iOS and Siri. Of course, health improvements, too.
• Apple Pay (if you forget your wallet home), but that's only in the U.S.
Can save lives.
Can run Windows 95. But that means other operating systems, too...?

Conclusion: Differing functions, no special use-case. Has app ecosystem.

Footnote: Given that wearables log information about a user, they can also be very useful in forensic investigations, such as evidence-gathering or coroner's reports in determining the exact time of death (that is, if the device clock is correct) or another potentially life-harming event that needs to be investigated.

But this also requires, that wearables data must per user reques be stored (encrypted, hashed, and salted) in such a way that it couldn't be tampered with. I speculate, that current implementations might not meet such strict storage regulations, and their data can thus be used on the basis of assuming good faith.

So, at this time, logs of wearables can be used as supporting material when building a case. Whether wearables data can be used in courts of law, is a matter to be resolved by the legal profession.

Sunday, May 15, 2016

Useful apps exclusive to Android


This is a copy of a comment I wrote in a YouTube discussion to someone who recommended that "[I] get an iPhone".

I've formatted and edited the comment with some additions into this blogpost. While it does harken back to a previous post I wrote about reducing one's Android's resource usage, then this one is more about some of the useful apps I use that are exclusive to Android.

An iPhone or any new smartphone is beyond my means, and I wouldn't be able to run some specific apps only available on Android, such as:
  • Adblock Plus for Android. Works only on Wi-Fi, but blocks in-app ads;
     
  • Firefox for Android. It's got Reader Mode, which saves an article, only keeps relevant article content, and allows white-on-black reading.

    Firefox extensions, which only run on Firefox-based mobile browsers:
    • NoScript Anywhere — blocks scripts and trackers run by scripts, and thus reduces browser resource usage. Its whitelist allows running scripts on sites I whitelist through the NoScript menu in Firefox;
    • Privacy Settings — allows users to switch off a number of default Firefox settings to make the browser less resource-hungry and more secure;
    • Stylish — allows users to locally change the appearance of webpages displayed in a browser (make them dark, etc. to save battery life). People can download or make their own userstyles.
    • Save Link Menus — allows saving links or webpages from Firefox to the local file system.

  • Vim Touch — a very advanced text editor. This adds to productivity (I can create and edit content);
  • Hacker's Keyboard — I need this to use VimTouch, to easily navigate in text, and to quickly switch between languages without going to settings every time. This keyboard app is very lightweight compared to most native virtual keyboards;
  • Unicode Map — to search for, view, and copy Unicode characters;
  • VLC Media Player. 'Nuff said;
  • Arity — a scientific calculator, but I sometimes use it to calculate expenses when shopping for multiple things with a limited budget.
There some other apps with functionality not particularly unique to any mobile ecosystem:
  • Sparse RSS — to subscribe to podcasts;
  • Units — a very nice unit converter;
  • MuPDF — a lightweight viewer for PDF, OpenXPS and CBZ files;
The above apps are all Free / Open Source Software (FOSS), and available at the F-Droid app repository.
    Stock app —
  • FM Radio. I can listen to plain FM radio and listen to great music for free and without ads. Estonia's public broadcaster ERR is just that awesome. They even provide small "what's playing" pages, so I can check out the artist and song.

    FM radio functionality is not on most iPhone models, and not on most Windows phones either. My phone even supports RDS.

  • Some proprietary apps:
  • TeamViewer — I sometimes do computer support for friends and relatives;
  • The local weather widget.

This post is licensed under CC-BY-SA-3.0.

Tuesday, March 29, 2016

Pisut kriitikat "Postimehe" uue "mobiilielamuse" aadressil ja paar lahendust aeglastele nutitelefonidele

Kiirelt kirjutet ja sõnakas postitus, nii et kes loeb, on hoiatatud.
    Tingimused:
  • Vanem nutitelefon, operatsioonisüsteemiks Android 2.3 Gingerbread.
    Igal Androidil on vaikimisi lehitseja, mille kokkuleppeline nimi on "Android Browser"; kasutajaliideses lihtsalt "Internet".

    Android 2.3-ga kaasas käiv lehitseja on tehnoloogiliselt ja moraalselt vananenud, ning ei esita modernseid lehekülgi enam õigesti.
  • Sellest johtuvalt on kaasaegsete mobiililehtede vaatamiseks peale pandud Firefox Androidile. Et see vanemal seadmel enam-vähem kasutatav oleks, on Firefoxi lehitsejas suurem osa ressursinõudlikke funktsioone välja lülitatud, samuti on peal laiendus NoScript Anywhere (edaspidi NoScript), mis blokeerib vaikimisi skriptid kõikidelt tundmatutelt saitidelt ja lubab käitada vaid kasutaja poolt hallatava valge nimekirja kaudu lubatud skripte. Väga mugav.
Kuni selle aasta märtsi mingi kuupäevani oli "Postimehe" (edaspidi PMO) mobiiliversioon enam-vähem kasutatav, ning selle ajani kehtinud PMO mobiili jaoks sobiva ja kasutatava disaini küljendajatele tuleb jagada ohtralt kiitust. Sest see Disain töötas hästi.

Kui anonüümne kommenteerimine oli võimalik, sai ka kommenteerida, ning artikleid sai samuti segamatult lugeda.

Siis tuli 2016.a. märtsi keskpaik ja natuke peale seda, kui PMO lugemiseks avaldati üks ressursimahukas äpp (õieti mobiiliversiooni uus wrapper), avaldati paar päeva hiljem ka sellele ekstra küljendatud spetsiaalne m.postimees.ee.

Lihtne oleks ju öelda, et juhe jooksis kokku.

Valesti läks see, et PMO uus versioon tehti automaatseks, mis uuendab sisu ise, mis omakorda on oma loomult päris ressursimahukas tegevus.

Tõepoolest — silmailu on, aga selle saavutamiseks on ohverdatud kasutatavust.

Tuleb nentida, et kasutatavuse huvides ei oleks mina m.postimees.ee varianti mobiilseadmete jaoks üldse käiku lasknud, sest u. 2016.a. märtsi teise pooleni üleval olnud ise-mitte-uuesti-laadiv lahendus töötas mobiili-Firefoxis hästi.

Niigi lülitati 2015. aastal välja Postimehe WAP/WML-versioon, mis oli ülikiire ja -mugav viis uudiste lugemiseks. Ma tõesti ei tea, mis WAP-versooni väljalülitamise põhjuseks võis olla, kuid kahtustan, et sellega oli võimalik lugeda ka selliseid artkleid, mis käisid tavapäraselt "Postimees Pluss" alla. Jaa, WAP (WML) eelised jõudsid kohale alles 10-15 aastat hiljem.

Lahendus

Erinevalt töölaua-Firefoxis olevast NoScriptist ei ole Androidi-Firefoxis võimalik NoScripti valget nimekirja detailselt toimetada. Samuti ei võimalda mobiilse NoScripti kasutajaliides konkreetselt alamdomeenide lubamist/mittelubamist.
26.04.2016: ^ Veidi täpsustatud sõnastust.
Niisiis: Firefoxis on about:config seadetest extensions.nsa.policy alt võimalik kopeerida JSON formaadis olevat valget/musta nimekirja, mida on küll võimalik teksti kujul toimetada, aga koodi iseärasuse tõttu saab seda teha ainult tekstiredaktoris.
(Firefoxile mõeldud NoScript-i ametlik nimetus on NoScript Anywhere, ehk NSA...)
Jama on selles, et see JSON-rida on pikk üherealine tekstijoru. (Õnneks on JSON formaat suhteliselt lihtsalt loetav.)

Selle toimetamiseks on niisiis vaja tekstiredaktorit; isiklikult soovitan kahte äppi:
  • VIM Touch-nimelist tekstiredaktorit, mis on väike, võimas, ja algajale suhteliselt keeruline selgeks saada. A kui selge on, on lihtsam.
  • Hacker's Keyboard, mis annab Samsung Keyboard vms asemel täieliku sõrmistiku kõigi vajalike nuppudega.


VIM-i tundjad tõenäoliselt teavad, mida selle JSON-joruga edasi teha; praegu pikemalt ei seleta kui vaid niipalju, et JSON rida tuli kopeerida ja asetada VIM-i, siis iga domeeen käsuga :s/\,/&^M/g eri reale, siis sorteerida, ning siis toimetada ja lisada domeeni järele 1 või 0; 1 vastavalt lubab, 0 keelab. Komad lõppu ka, v.a. kõigeviimane domeen. Ärge unustage tegemast varukoopiat.

Supp seisneb selles, et PMO uudiste normaalseks lugemiseks tuli mul blokeerida ära http://m.postimees.ee ja lubada http://www.postimees.ee .
Varem arvasin, et alamdomeene võis lubada ainult http:// prefiksiga ja et ilma polnud võimalik; kuid vähemalt alates NoScript versioonist 3.5a11 sai seegi lõpuks võimalikuks.

Siiski jäin endise praktika juurde, ning turvalised domeenid on vajadusel alati https:// prefiksiga: näiteks kõik Google'i domeenid.
m.postimees.ee tuli blokeerida selleks, et uudiseid vaid lugeda; www ja kõik teised alamdomeenid lubasin selleks, et uudiseid kommenteerida (teoreetiline võimalus on olemas ju), ning mis põhiline — et kommentaare saaks reitida (lisada + või – ).

pmo.ee teise taseme domen on vaikimisi lubatud, teised reklaami- ja muud domeenid mitte. Blokeeritud oli eraldi http://ads.postimees.ee . Sest akut peab säästma.

PMO temaatilised alamdomeenid on kontseptuaalselt iseenesest hea, kuid kuna neid on palju, siis NoScripti valge nimekirja toimetamisel on nende käsitsi lisamine ebamugav. Vähemalt pole edaspidi vaja neid lubada/blokeerida.

Reklaam ja reklaamiblokeerijad

Tõepoolest, "Postimees" elatub osaliselt ka reklaamirahast, kuid erinevalt kaasaegsetest PC-arvutitest on vanemate arvutite ja mobiilidega tihtipeale see lugu, et vähese võimsusega on ka sama vähe mõtet reklaame vaadata ja lugeda. Mobiil-interneti puhul tuleb arvestada ka sellega, et inimesed reklaamide tõmbamise eest tegelikult väga maksta ei taha.
Miks mitte lisada PMO tellimus telefoniarvele näiteks?
Võib ju väita, et vähevõimas nutitelefon on oma omaniku peegelpilt, aga niisuguseid inimesi on ka, ehk "üksteist peab hoidma," nagu ühes armsas laulus sõnat'.

Hästivarustatud tavakasutaja koos uusima nutimudeli ja põhimõtteliselt piiramatu mobiilsidega selliste asjade pärast eriti muretsema ei pea.

Kvaliteetväljaandena on Postimees Online on siiski üks väheseid, kus on huvitavaid ja informeerivaid reklaame, ning neile klikitakse/toksatakse vajadusel peale küll. Teadlik reklaamitarbija tõepoolest mõistab iga kliki/toksamise väärtust.

Tõsi küll, võimalik on kasutada ERR-i kui tasuta uudistekanalit.

Infoallikatena on PMO ja ERR mitmes mõttes asendamatud. Delfi kui uudisteallika väärtuse kohta 'ei kommentaari,' kuigi nene mobiilse veebi jaoks mõeldud lahendus paistab (pea) kõigist oma lugejaist hoolivat... või noh, oma lugejate mobiiltelefonidest... :>

Lõpuks töötasin välja parima lahenduse võimalikest. Aga sellest juba tulevases postituses.
Uuendatud 26.04.2016.

Sunday, March 27, 2016

Firefox for Android on slow phones. Some practical advice.

This one was supposed to be a quick post; I might update it later on. And then I got carried away, and spent about four to six hours writing the post's content and refining its wording.

* That Firefox for Android can render better than the aged native browser on Android 2.3, is great, but at the moment, I won't go into detail about that.
* This post is not about desktop Firefox. I might write about issues current in desktop Firefox in a future post.

Contents

* What happened
* My phone is slow now.
* What to do. Extensions to speed up Firefox

Until today, I have avoided that "What I Use" post, but every once in a while comes a time, when I am not afraid to write about what I use. Even if it's not the newest kit.

Why I downgraded

After Firefox 45.0 was released, one early and now resolved issue was connection misbehavior with Firefox 45.0 and NoScript 3.5a10. Very soon, NoScript 3.5a11 was released, which fixed the issue.

Then, after upgrading, I also discovered, that Firefox 45.0 turned to using the Firefox-native toolkit for its main menu, which is slower than the natively formatted main menu in Firefox 44.0.2 and earlier.

For this and then-the earlier issue, I decided to downgrade back to Firefox 44.0.2 from version 45.0. The slow and inefficient main menu became cause not to upgrade any further on my device—except for testing.
Note, that when upgrading or downgrading apps in Android, use the overwrite method when installing; Do not uninstall the existing app version to then install a different version, or this action will forever delete all your user data for the app.

Backround

Thus, it slowly dawned on me, that my phone is showing its age. It's a Samsung Galaxy Mini 2, which model was released four years ago,[as of March 2016] but I got it in late 2013 as a pass-me-down, after it had two nearly grave misadventures with its previous owner.

* The Galaxy Mini 2 has an 800 MHz Snapdragon S1 CPU (specifically, MSM7227A), which is on the lower end of processors built on the ARMv7-A architecture, and uses the ARM Cortex A5 processor core.
* The phone runs Android 2.3.6 "Gingerbread", and won't be upgraded to a newer offical Android version.
* The device has just enough minimum required RAM memory to run Firefox for Android.

This soup of specifications essentially shows what the minimum for running a very modern version of Firefox for Android can be.

That major apps — such as Facebook and games — are not present, is a given. I've also excised other apps that I did not deem necessary anymore: BBC, ERR, Postimees, and a local service provider's player app.

What to do

In Firefox settings, disable telemetry and plugins. The Privacy Settings extension will make it simple to turn off other stuff.

Extensions to speed up Firefox

The following details two extensions that I use in Firefox for Android to have a reasonably passable browsing experience.

NoScript Anywhere.
In my phone, NoScript Anywhere ("NSA") makes browsing with Firefox a usable experience:
NoScript blocks scripts and plugins from running, and users can use the NoScript menu item to create an internal domain-based whitelist of sites which won't work without scripts. With this, NoScript not only blocks scripts, but also advertisements generated by scripts.
Another thing that shows the phone's age, is that the local daily "Postimees" launched a redesign of their mobile experience this month, and now their site redirects to their brand-new mobile site, which, if JavaScript-enabled, updates every ten minutes with AJAX, and that slows down the experience and the phone, and presumably eats away at the battery, too.

The obvious solution was to forbid postimees.ee from running scripts, thus removing it from the allowed sites list. This mangled the design somewhat, but at least the site will display reasonably responsively. Yes, it's a simplistic workaround, but it makes it possible to read news there, even if the site is not functional. The functional part was the possibility to rate comments, but "Postimees" removed the ostensibly anonymous commenting functinality. Most people just don't care to create a burner account on social media, and neither do they care risking their primary social media/e-mail accounts.

Privacy Settings
Another Firefox extension that reduces resource usage, is Privacy Settings. It's available at the Mozilla Add-ons site. With Privacy Settings, it's possible to switch off components that I don't have any need for. There are some settings that I have kept on, as switching all things to 'secure' may break rendering or accessing places like Instagram. While Privacy Settings won't work on older Firefox versions that can still run on Android 2.2 or earlier, or on ARMv6 CPUs, the extension's website has a breakdown of some of the about:config settings that one can modify manually.

I'm also considering the Policy Control extension, as it would reduce resource usage even further, and introduce more fine-grained control over which website can use which resources.

Saturday, March 12, 2016

How to prevent gwx.exe from running

This affects Windows 7, Windows 8.x, and this post is only about the "Get Windows 10" nag message seen in the taskbar notification area.
04.04.2016 Update: Before even of this post, there have been more sophisticated efforts to keep Windows 10 from automatically installing itself on computers with Windows 7 and 8.x. Never10 is the latest effort. Computerworld article here.
  • This post assumes, that the user already knows how to change file permissions and attributes.
  • I wrote it from memory, because I used the below method on someone else's computer that had Windows 7 in it.
I won't vouch, that following the below steps will prevent drive-by installs of Windows 10, but in a computer I worked on, the nagging stopped.

There are also several updates that should be hidden, and which one would be smart not to install. Or, if they're there, to uninstall. Upon returning the computer, I instructed the user only to install critical updates from Windows Update, but not recommended updates.

* As Administrator or a user with admin rights, go to the location where gwx.exe is at;
* Go to its file properties and take ownership of the file. The default owner is TRUSTEDINSTALLER
* After that, change file permissions for all users so, that only you or the administrator can only read it.
* Repeat that with other executables in the same folder.


Writing to the file(s) should thus be forbidden, and also deleting it (them).

You or a designated administrator account should be the only ones who can change the file's attributes. I don't know, if prohibiting file attribute changes also affects changing whether rights to the file can be modified in the future.

In total, this should mean, that the file can't be executed and its attributes can't be changed by other users.

I also remember doing some changes at Windows Scheduler as to whether gwx.exe should run, and I remember disabling some of these items, too.

And then restart the computer. After that, the "Get Windows 10" notification did not appear anymore. #worksforme

Thursday, March 10, 2016

Before there were computers in Estonians' homes

This article concentrates on the availability of writing equipment in people's homes in Estonia before Estonia's reindependence.

Until Estonia regained independence in 1991 from the Soviet Union, after which computers gradually began taking a foothold, most people relied on pen and paper, even in organisations. Everyone (if not most people) didn't even have a typewriter.

During the Soviet era, Latin-lettered typewriters were harder to get than typewriters with Cyrillic characters, and students at universities had to submit their works in Russian (at least major works).

And all photocopiers (Xerox and like machines found only in organisations) had to be accounted for to avoid widespread dissemination of 'dangerous' information.

And then there was Samizdat (lit. 'self-publishing' or 'Self-publishing House'), wherein people would retype and carbon-copy banned literature.

One of my schoolteachers told our class, that when she studied at school/university in the 1970s, then ballpoint pens were very fancy; everyone wanted and had to have at least one, and there were even special ballpoint ink vending places, where people would queue up for refills.

Fountain pens and cheap ink pens were widespread, and these were mostly used in schools by students. Specialized simpler fountain pens were used at school to train penmanship.

Rotary-dial telephones were very widespread well into the 1990s.

Usage share of writing equipment in Soviet Estonia. This is a rough estimate with no numbers, and covers the time period of 1980s – early 1990s. (Estonia regained independence in 1991.) As it was, unauthorised copying of software was rampant.
  1. Pencils. — Well, these were everywhere. KOH-I-NOOR from Hungary was the definitive trademark for a plain "HB" (aka No2) pencil. No Soviet-/Eastern Bloc-manufactured pencil ever had an eraser on it.
  2. Fountain pens (primary school level);
  3. Ballpoint pens;
  4. Cyrillic typewriters (always cheaper);
  5. Latin typewriters — because these were harder to get and more expensive. Possibly because they were mostly manufactured in East Germany (DDR). "Erika" comes to mind.
  6. Electric typewriters. Organisations of certain importance and up. I remember at least two in a specialised cabinet of a children's hospital. Very few people had these at home.
  7. Photocopiers. Organisations only. All had to be accounted for.
  8. Home computers (often DYI, 8-bit). Not particularly cheap. Printers were not sold, AFAIK.
  9. General-purpose and school computers. Only 8-bit, and only in selected (favoured) schools. Prohibitively expensive for home use. The Soviet Agat and Estonian-made Juku come to mind. ELORG (a Soviet export organisation) put a $10,000 price sticker for just one "Agat" in 1984. (Oh wait, stickers were not widespread.)
  10. Even some higher institutions of education and research used 8-bit computers, such as Pravetz (Bulgaria) and Robotron (DDR), but not limited to just these. I remember typing in WordStar 3.2 on a Robotron computer at father's workplace. Dot matrix printers were certainly there.
  11. Anything above 8-bit was certainly found in universities and large organisations of importance, such as ministries.

Friday, January 22, 2016

File attachments in Android 2.3 and GMail


This post is about how to add attachments in GMail in Android 2.3.x from the file system.

Granted, many people are stuck with Android 2.3.x, so the post is specific to that branch of Android.

GMail app

This happened to me with the GMail app version 2.3.6 in Android 2.3.6 on a lower-end Samsung phone.

A few days ago (that was around 17.05.2015) I was trying to send two crash log files of a different app to its developer via Android's GMail app, and for some reason, sending the e-mail didn't work. I don't quite know why, and I lost the e-mail. One attachment was relatively small, and another was around 860 Kb (a bit large in some respects). I haven't investigated this issue online.

A day later, putting attachments in an e-mail in the Android GMail app and seeing that same letter as a draft in GMail on the web did work:
• If you insert attachments first in the GMail app, then do write some text into the message area, which unblocks the save-as-draft button; save the letter as draft and sync.

I haven't investigated how to do that in a browser in GMail, given that the GMail app method worked out for me.

Thursday, January 21, 2016

Can't see Instagram in Firefox?

Trouble was, that Instagram and embedded Instagram pictures recently stopped loading in Firefox.
This also affects other Gecko-based browsers.
> If you want to skip the story, jump to solution.

While I also use NoScript on desktop Firefox, and on Firefox for Android, all the necessary instagram domains were allowed.

On the desktop, I'm mostly using Firefox 39.0.3, because it plays well with Flash. (There were no issues like that with other browsers.) First I thought, that this was because I wasn't using the latest Firefox. As this Firefox version plays well with Flash, I didn't want to upgrade to the latest version, because with the latest Firefox, Flash playback on YouTube is jerky since Firefox 40.

But the Instagram issue repeated, when I was also using the latest Firefox for Android. Initially I thought, that this was the fault of Instagram, and since I don't use Instagram or Facebook, I didn't think much beyond that. And for a month or so, I couln't resolve it.

But when Instagram showed in a different computer in the latest desktop Firefox (43.0.4) with the same extensions installed, I began to investigate again.

When reloading a random Instagram page while also watching the Firefox Browser Console, I found an error, which, in pasted form, looks like this:
05:16:59.308 An error occurred during a connection to instagramstatic-a.akamaihd.net:443.

Peer attempted old style (potentially vulnerable) handshake.

(Error code: ssl_error_unsafe_negotiation)
1
After some searching, I found the solution in a game forum.

SSL safe negotiation setting

Turned out, that when perusing the Privacy Settings extension of Firefox, I had turned all the settings to most secure, and among them turned on security.ssl.require_safe_negotiation. After I turned that off, Instagram showed again.

If you don't have the Privacy Settings extension installed, go to about:config and type in or paste security.ssl.require_safe_negotiation . The boolean setting value for it should be false. If not (if it's true), then double-click the setting or press enter on it to set it to false. Or right-click for context menu to Toggle.


Otherwise, the Privacy Settings extension is awesome, and I recommend it to everyone.

Whereas people who manage instagramstatic-a.akamaihd.net, should implement new-style SSL/TLS handshakes to keep their corner of the web safe.

So this was the issue that affected me.

NoScript

If, on the other hand, the above is not an issue, then you might be having NoScript installed to defend your browser from malware, and among other things, it's blocking Instagram domains, which means they're not in the whitelist. Jump to domains.

NoScript has a blue "S" button that shows the status of whether a page is completely blocked, half-blocked (content from other domains has been blocked, which is most common), or completely allowed.

That button is usually visible in the location bar, or accessible through Firefox's hamburger menu. (If the blue 'S' is not there either, click the green Customize button in the hamburger menu to see if the NoScript button is listed in the 'Additional Tools and Features' section.)

One can change NoScript domain permissions thus:
* Hover the pointer over the blue "S" button, which launches a menu with a list of domains. If the NoScript menu is very long, it has small up and down arrows for scrolling.
* To whitelist a domain, click on "Allow domainname.tld". Alternately, domains can be blocked by clicking on "Block domainname.tld". This can be done in one go for several domains.
* Once the cursor hovers away from the menu, NoScript will automatically reload the affected page (or pages in other tabs). If a page or pages don't reload (per custom settings), they can be reloaded manually.

For Instagram, the following domain names must be allowed:
platform.instagram.com
instagramstatic-a.akamaihd.net
www.instagram.com
The above are all third-level domains, because they contain three name components separated by periods/dots.

By default, NoScript shows only base second-level domains, such as instagram.com without the www and a dot. For most common users with NoScript, allowing instagram.com and akamaihd.net is sufficient.

Monday, January 18, 2016

Independence Day: Resurgence website and Firefox

A quick post: www.warof1996.com might not display in Firefox and other Gecko-based browsers.

The reason is that the site is based on WebGL, and Firefox blocks WebGL, if the GPU (video card) driver is out of date or does not support WebGL.

The solution in Windows is to update GPU drivers either through the computer manufacturer's website or through the site of the GPU supplier — one of Intel, nVidia, or AMD/ATI, but not limited to only these.

Thorough care should be taken to match the driver to the correct display adapter model.

If that doesn't work, the GPU is too old, or EOL'd.
I strongly recommend not to force Firefox to use WebGL, because this move can damage hardware.
The alternative is to use Google Chrome or Chromium, which probably uses a CPU-based workaround; but if either the graphics adapter or the CPU or both are too old, then rendering is unlikely to work, or is too slow.

> Explanation — contains minimum driver versions that support WebGL.

In addition, visit about:support in Firefox and the Graphics section therein, which also recommends the minimum driver version for WebGL (Direct2D, etc). The posting contains the same warnings about possible damage to hardware if Firefox were forced to use WebGL.

System requirements

This table is incomplete. I've only gotten to test the website on three computers (with some reservations), and gotten an external report about another.
PCHardware/software specifications
CPUGPURAMOSFxChromeNotes
ASUS K53SC notebookIntel Core i3 2310M @ 2.1 GHz, dual-corei:Intel HD Graphics 3000
d:nVidia GeForce GT 520MX
4 Gb DDR3, 665.1 MHzWindows 7 SP1YesYesRequired driver updates: I had to upgrade both Intel and nVidia drivers through downloading them from their respective websites.
ASUS U46SVIntel Core i5 2410M @ 2.3 GHz, dual-corei: Intel HD Graphics 30008 GbWindows 10 (build unknown)SlowNot testedWebsite opens, but performance is slow and jerky, and the fan began working intensely.
d:nVidia GeForce GT 540M
ThinkPad R60e (0657-3WG)Intel Core Duo T2400 (Centrino)Mobile Intel 945GM Express2 Gb DDR2
(an upgrade from just 512 Mb)
Windows XP SP3NoSlow / okRendering was slow, but the site was usable.
Chrome: 48.0.2564.109 32-bit; Blink 537.36 JavaScript: V8 4.8.271.19, (This version already announced that it's to be retired on Windows xp.)
Instead of OpenGL, Chrome's default renderer in Windows is ANGLE, which translates OpenGL ES to Direct3D, as it has better driver support. Thus, results for Chrome can differ.
hp dv5204ea notebookIntel Celeron M 410 @ 1.46 GHzMobile Intel 945GM Express1 Gb DDR2, 266 MHzWindows XP SP3NoToo slowWhile I did upgrade the driver, its version is still less than required: The latest Windows XP driver for this GPU is 6.14.10.4926 (15.02.2008), but Firefox wants at least version "6.1400.1000.5218".
PCCPUGPURAMOSFxChrome
All this does not yet indicate much as to what the titular website's actual system requirements are. In notebook computers, the default video card used by any program in Windows is the integrated adapter, while nVidia software provides an option to launch programs using its own GPU.

The Asus notebook with greater specifications falls below the threshold, whereas the Asus notebook with slightly lesser specs, an older operating system and updated video drivers shows the website nicely.