Wikipedia:Reference desk/Archives/Computing/2018 August 31

From Wikipedia, the free encyclopedia
Computing desk
< August 30 << Jul | August | Sep >> Current desk >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


August 31[edit]

Help repairing text of the website.[edit]

Hello, request help to repair text on this website. If you can click "English List" on the right side of the website, and then click - Authonomy 1920-36 and - Regions of KazSSR, you would see a website full of question marks. There are also a picture of the Emblem of the Kazakh Soviet Socialist Republic. The website provides a very precious and valuable information about the article, if the error can be repaired.--Jeromi Mikhael (talk) 16:13, 31 August 2018 (UTC)[reply]

It's an encoding error. Not something we can fix from here.
The pages are being served as:

Content-Type: text/html; charset=UTF-8

because the web server is (not unreasonably) serving a HTTP response header of UTF-8. However the pages also have an embedded

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

in them.
At a rough guess, you had a website built in 2004 using the (now rather quaintly obsolescent) windows-1251 (Cyrillic) encoding. Recently you changed the server hosting and they switched to a modern and internationalised UTF-8 encoding (this is broadly a good thing). However the web page content should also have been converted in its encoding to match. Now the content and the descriptor don't match and so it's broken.
There are two ways to fix this. One quick, one better.
Quickly, reconfigure the web server to serve the content as Windows-1251. Some hosting companies don't permit this.
Better, load each content file (from the file system behind the web server) and convert them to a UTF-8 encoding.
You shoudl do the second, but it needs access to the server. We can't do it from outside. Maybe it would be possible to load these pages (as broken documents) and fix the encoding, then send them back. But that's an awkward process (I used to do it a lot, haven't needed to do it for a while). Andy Dingley (talk) 20:02, 31 August 2018 (UTC)[reply]
@Andy Dingley: Can you extract the text from the website?--Jeromi Mikhael (talk) 00:29, 1 September 2018 (UTC)[reply]
Not offhand, no. When I retrieve the text it is mis-encoded. Andy Dingley (talk) 11:11, 1 September 2018 (UTC)[reply]
I get the correct display if I just set the page encoding to "Cyrillic (Windows)" in the browser. I'd say the pages are served intact, it's the browser's trying to auto-detect the encoding (or going by the info in the HTTP header instead of the meta http-equiv line, as Andy said) that's messing things up. I also downloaded the index page with wget and fed it to iconv -f cp1251 -t utf-8 and could read the Russian in the terminal as well. Asmrulz (talk) 14:25, 1 September 2018 (UTC)[reply]
I've trouble understanding the issue. Are you the site's admin? Change the HTTP header to say Windows-1251 OR convert your files to UTF-8 AND change the META http-equiv line to say UTF-8. Are you a user trying to view the site? Change the encoding to WIndows-1251 manually in your browser and if you need to show the site to someone instruct them to do this, too. Asmrulz (talk) 14:44, 1 September 2018 (UTC)[reply]

Raspberry Pi computing power[edit]

I am writing up a document that contains the following claim:

"A Raspberry Pi is a low cost (from $5 to $35 USD, depending on the model) computer. Depending on the model, it ranges from roughly the size of a credit card (87.0mm x 58.5mm x 18.0mm / 3.4" x 2.3" x 0.7", 49.7g / 1.8oz) to roughly the size of a stick of gum (65.0mm x 31.0mm x 5.0mm / 2.6" x 1.2" x 0.2", 9.0g / 0.3oz) and runs on half a watt to three watts (up to six watts when you give it a lot if work to do).
"But don't be fooled: this is a real computer, While it can't compete with gaming machines that costs thousands of dollars and uses hundreds of watts, a Raspberry Pi 3 Model B plus is more powerful than the PCs many people use at work and more powerful than the average destop PC available in [when? 1995? 2000? 2005? 2010?]

So, how far back in time do I really have to go before today's top of the line Raspberry Pi is more powerful than that year's average desktop PC?

I could change it to make the comparison be with a laptop PC if someone has the answer for that. --Guy Macon (talk) 22:11, 31 August 2018 (UTC)[reply]

You can read here. The original model was comparable to 300MHz PII from 1997. Ruslik_Zero 11:38, 1 September 2018 (UTC)[reply]
They're about a tenth the speed of a reasonable modern laptop. I'd say definitely after 2000, maybe 2005. Dmcq (talk) 15:36, 1 September 2018 (UTC)[reply]
Are we talking about the original Pi Model A (ARM11 @700Mhz, 256MB RAM) or the latest Pi model 3B+ (quad core 64-bit ARM Cortex A53 @1.4GHz, 1GB RAM)?
--Guy Macon (talk) 22:31, 2 September 2018 (UTC)[reply]
How do you plan to define an "average" desktop computer from this, or any other, era? The detail-oriented part of me is really curious about how you define this parameter.
For example, the 2001 United States Census indicated that most people used a computer for email and web search. In those applications, what difference does the "power" of the computer make? The average computer user, using the average computer-terminal, doesn't use compute-power: they use application software and network capabilities. It's kind of useless to compare "average performance" if your use-case is uncommon. Average users do not run SPECint nor anything remotely like it. Today, an "average" computer might be less performant at certain computational tasks than an average desktop from 1985 - but it probably has better battery life (a metric that didn't matter to average users several decades ago).
Perhaps you ought to rephrase your statement to say that the Raspberry Pi performs as well on a particular benchmark as a mid-market computer from (... some specific year) - and you might surprisingly find that the year in question is probably 2018. But that shouldn't really surprise you; single-thread CPU performance has been flat-lining or even regressing lately, because computer designers are focused at enhancing different kinds of performance metrics that focus on modern usability needs - things like getting more battery life, using lower power, dissipating heat effectively, and optimizing application-specific tasks like video playback, network utilization, and camera control. Benchmarks that measure pure CPU performance have probably actually gotten slower since the mid 1990s. For example, here's a 2011-vintage slideshow from Los Alamos, home of the original supercomputer, presented by Chuck Moore, a computer architect who designed several important historical CPUs.
If you're computing the Fibonacci sequence, the Raspberry Pi's ARM processor probably delivers equally-fast performance as a 2018-vintage high-end desktop workstation or a server-class high-performance scientific computing CPU. The Fibonacci sequence is, conventionally, computed using a very simple kind of pure numerical method. Using recursion, it can be calculated - quite far into its sequence - without ever loading or storing anything in main memory. The advantages that large high-performance computers might offer are irrelevant to this metric; and the performance tradeoffs they have to make might even give the small ARM core a speed-advantage on this particular metric. But this is not a metric that matters!
If you are writing a document about computer performance, you should not use the comparative phrase "more powerful" unless you are very careful when you define and qualify it! It is for this reason that the greatest book on computer architecture - A Quantitative Approach - spends an entire chapter on why the computer designer must first define the important attributes for the machine, and then quantify them, an art that takes over a thousand pages to introduce!
Nimur (talk) 01:30, 3 September 2018 (UTC)[reply]
Hiding since this is largely personal experience rather than sourced info, although I do think it illustrates why you should be careful about overselling the Pi Nil Einne (talk) 07:26, 3 September 2018 (UTC)[reply]

Remember though that it's not 2001 and in the smart phone and social media age people's habits have probably changed a bit. I have recently tried to use a Raspberry Pi 3 model B v1.2 and I can say the experience was painful such that I basically gave up and don't want to try it again. While I would not consider my general usage patterns, I wouldn't say what I was trying to do is that atypical.

Even basics like watching videos on Youtube can be quite painful although this is in part a software problem. Unlike most 10 year old computers I have used, the Raspberry Pi 3 doesn't seem to be capable of software decoding most typical 1080P30 let alone P60 H.264 videos. Even 720P60, and possibly P30 but I'm not so sure, seems to be a problem. I think VP9 and VP8 are similar since using H264ify is recommended and generally (I'm not sure about the specifics on ARM) they are less demanding. I don't personally feel the need for P60 but Youtube and other sites often doesn't give the choice. Likewise, while I'm not sure I notice the difference between 720P and 1080P on my 46" TV from my distance, I can notice the difference between 480P and 720P/1080P, and the options with user live streaming videos can be even more limited. You may think this is fine since the Pi has hardware decoding and this is after all how phones, tablets, Chromecasts, smart TVs etc have got around the problem and also kept decent battery lives.

Except that hardware decoding still seems a bit of a hit and miss on Chromium and with Pis. I mean AFAICT, it was supposed to work for me with Chromium on Raspbian 9.4 [1] but it didn't. As a work around, I ended up using an alternative browser which would find the video and output it to a media player which did perform hardware decoding although I had to get the right one, the first one I tried worked fine when testing but then I realised it didn't work with live videos. (In the early days of Android, a lack of hardware decoding support was also a common problem with certain third party apps but things seem to have greatly improved since then. Although of course many phones are getting to the level where they can do software decoding albeit at the expense of battery life. I think even HEVC is getting doable.)

Largely an aside but of course the FLOSS requirements can mean other software issues. Notably I wanted to use my local TV's video catchup site. Except that it refused to work because of Widevine DRM issues. Since this also occurs with Netflix etc I found various guides e.g. [2] but I gave up and never tried them. I know someone trying to get Twitch to work tried Kodi but that didn't work either. To be fair, this isn't unique to Raspberry Pi [3], although in those cases it's generally either the device works or doesn't. Android is now significant enough that most have Android apps and while there's still the possibility of problems given the myriad of devices, most likely the problem is the app won't work on your device. General browsing also seemed a bit of a hit and miss. I mean sure wikipedia is fine. But social media and news sites etc can get slow. Even some forums when you're trying to work out how to fix your Raspberry Pi. (FLOSS ones are generally fine but more commercial ones maybe not so much.) I'm not sure how much of this is the CPU and how much is the RAM. 1GB is a little low especially since everything isn't designed to care as even many phones that developers care about i.e. mid range or higher in the developed world have more. Personally I wouldn't have recommended it even in 2005 although I suspect it was most common or even lower.

I think ads and other pieces of not that useful Javascript etc were probably part of the problem so I probably would have improved things by installing noscript. And of course there are moves against ads being too demanding on the browser side, which maybe are going to help things. But I'd definitely say at the moment, it's still a painful experience. Note that although I commonly use a lot of tabs, I was keeping it down to maybe 2 or 3 at most here. I mean heck I even started closing my Gmail tab I wanted to keep open for Google Hangouts. To be fair, most people do that stuff on their phone now, but it does illustrate the limits. People like to blame Microsoft for bloat, but it's clearly not just Microsoft. In fact I would say where people are most likely to notice it nowadays is in the browser itself and especially the websites.

Nil Einne (talk) 07:26, 3 September 2018 (UTC)[reply]

Thanks, everybody!

I will be changing

"But don't be fooled: this is a real computer, While it can't compete with gaming machines that costs thousands of dollars and uses hundreds of watts, a Raspberry Pi 3 Model B plus is more powerful than the PCs many people use at work and more powerful than the average desktop PC available in [when? 1995? 2000? 2005? 2010?]"

to

"But don't be fooled: this is a real computer, While it can't compete with gaming machines that costs thousands of dollars and uses hundreds of watts, a Raspberry Pi 3 Model B plus has more than enough capability to write programs and compile them for the ARM Cortex M3 microcontroller". (Which is what the document I am writing is about).

Again, thanks for the input. --Guy Macon (talk) 16:37, 3 September 2018 (UTC)[reply]