General > General Technical Chat
Investing in a DAB radio company
<< < (8/9) > >>
tooki:

--- Quote from: MK14 on May 11, 2020, 10:02:43 am ---Thanks, that is brilliant  :-+

It has explained WHY, and helped me understand the situation nicely.
Even now, different countries, choose (in some cases), different standards/measurement systems and stuff.
Those decisions, can carry on for many decades and even centuries.
It is why some stuff is so silly. Such as standard tyres, having one of its measurements in metric (millimetres), and the other in imperial (inches).
So, a 195/65R15 tyre, has a width of 195 millimetres and a diameter of 15 inches.

The reason why (tyres/tires), is long and complicated. But, a very quick summary, it is because the US and rest of the west, couldn't agree to sensible standards. The US went its own way, with certain laws (I think), (hence economically, as US is a huge market), somewhat forcing the weird, mixed metric/imperial standard, we see, today.

--- End quote ---
Glad you appreciated it!

I think it’s a good rule of thumb in most situations, when you’ve encountered a decision that doesn’t make sense, to consider what information was available when the decision was made. Because in most cases, the decisions were the right ones at the time.

A great example of this is the Microsoft Word file format. Even in its modern XML incarnation, the internal representation of the document appears insanely convoluted. It’s not the file format that’s complex, it’s the object model of the document that is complex. But why? Well, when Word was originally conceived and written, computers didn’t have anywhere near as much RAM as today. The typical (“naïve”) approach is to simply load a document into RAM. And that works fine for small documents. Ok, so what about big ones that are too big to fit in RAM? For unformatted text, you just page in the segment you’re working on and leave the rest on disk. But then there’s formatting. Tag-based formatting (like RTF or HTML) suddenly becomes a big problem, because to know the formatting of any given character, you have to parse all of the document that comes before it, because a formatting tag opened on page 1 could still be open and affecting page 183. This means you functionally cannot just page in segments of the document, you have to read it all, which again becomes impossible on highly RAM-constrained systems. Additionally, tag-based formatting means that making changes anywhere in a file on disk requires rewriting every single bit starting from the changed one, which was a big deal back when we were using slow hard drives (if you were lucky) and even slower floppy disks (if you weren't).

This is where the genius in Word’s approach comes in: it completely decouples formatting from the text, and completely decouples the order of text in the file from its order in the document! In essence, it’s a little file system, and every span of text is stored as an object, and that object in turn is assigned one, and only one, style. As such, text in Word cannot have no style assigned, which is why everything starts with the “Normal” style. Similarly, even an empty document has to have a style, so that it can format the insertion point.

Let me illustrate using pseudo-HTML for nesting.

Suppose you have this sentence:
This is some really important text.

The document object model will conceptually already be something like this:


--- Quote ---<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=1, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

<Paragraph Styles>
  <Style 1>
      Style name="Normal"
      Font=Times New Roman, style=plain, size=12pt, line spacing=1.25 , alignment=left, color=black, proofing language=US English, etc.
  </Style 1>
</Paragraph styles>

<Text Span 1>This is some really important text.</Text Span 1>

--- End quote ---

In the file on disk, this might look like this:

--- Quote ---=== Beginning of file ===
0.
Table of contents:
Page 1: Document structure
Page 2: Style 1
Page 3: Text Span 1

1.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=1, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

2.
  <Style 1>
      Style name="Normal"
      Font=Times New Roman, style=plain, size=12pt, line spacing=1.25 , alignment=left, color=black, proofing language=US English, etc.
  </Style 1>

3.
<Text Span 1>This is some really important text.</Text Span 1>

=== End of file ===

--- End quote ---

So far, so good. The chunk of text is in one place, the formatting in another, and the “glue” in another.

Suppose you now make the word “really” bold:
This is some really important text.

Now the behind the scenes starts to get interesting.

Remember how I said that a span of text must have one, and only one, style assigned to it? So how does it format just a part ofan existing span? By breaking it up, of course! So conceptually you end up with this:


--- Quote ---<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=2, style ID=1 />
      <Text span ID=3, style ID=2 />
      <Text span ID=4, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

<Paragraph Styles>
  <Style 1>
      Style name="Normal"
      Font=Times New Roman, style=plain, size=12pt, line spacing=1.25 , alignment=left, color=black, proofing language=US English, etc.
  </Style 1>
  <Style 2>
      Based on ID=1
      Style=bold
      Computed style name="Normal+bold"
  </Style 2>
</Paragraph styles>

<Text Span 2>This is some </Text Span 2>
<Text Span 3>really </Text Span 3>
<Text Span 4>important text.</Text Span 4>

--- End quote ---

See how it broke up the text into three spans with new IDs, created another style (namely, a style based on another style, so just adding the changes in formatting), and then assigned the bolded word that new style?

Now it's in a format where the program can determine the formatting of any word, on any page, without needing to know the formatting of the text that preceded it.

Remember how I said that back then, disk access was slow? Rewriting a long document from scratch could have taken a LONG time. So Word used something they called "fast save", and this is what it would have done to the file:


--- Quote ---=== Beginning of file ===
0.
Table of contents:
see new TOC on page 4



1.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=1, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

2.
<Style 1>
      Style name="Normal"
      Font=Times New Roman, style=plain, size=12pt, line spacing=1.25 , alignment=left, color=black, proofing language=US English, etc.
</Style 1>

3.
<Text Span 1>This is some really important text.</Text Span 1>

4.
Page 1: deleted
Page 2: Style 1
Page 3: deleted
Page 4: TOC
Page 5: Document structure
Page 6: Text Span 2
Page 7: Text Span 3
Page 8: Text Span 4
Page 9: Style 2

5.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=2, style ID=1 />
      <Text span ID=3, style ID=2 />
      <Text span ID=4, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

6.
<Text Span 2>This is some </Text Span 2>

7.
<Text Span 3>really </Text Span 3>

8.
<Text Span 4>important text.</Text Span 4>

9.
<Style 2>
      Based on ID=1
      Style=bold
      Computed style name="Normal+bold"
</Style 2>

=== End of file ===

--- End quote ---

Note that the only part of the file that was actually overwritten is the original table of contents; every other change has been accomplished by appending onto the end of the file, which is massively faster than rewriting the whole thing. The downside was that files grew ever larger, took slightly longer to open since they're fragmented, and as many a politician and businessperson learned the hard way, it contains a record of deleted text! (This is why people would sometimes do a "save as" on a document to save it to a fresh, efficient file. And you could disable Fast Save altogether, if you didn't mind the speed penalty.)

So imagine a final edit, where we insert another sentence before the first, and swap out the bolded word:
Writing is fun. This is some insanely important text.

Can you guess what the file will look like after another fast save?


--- Quote ---=== Beginning of file ===
0.
Table of contents:
see new TOC on page 10



1.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=1, style ID=1 />
      </Paragraph 1>
  </Section 1>
</Document structure>

2.
  <Style 1>
      Style name="Normal"
      Font=Times New Roman, style=plain, size=12pt, line spacing=1.25 , alignment=left, color=black, proofing language=US English, etc.
  </Style 1>

3.
<Text Span 1>This is some really important text.</Text Span 1>

4.
Page 1: deleted
Page 2: Style 1
Page 3: deleted
Page 4: TOC
Page 5: Document structure
Page 6: Text Span 2
Page 7: Text Span 3
Page 8: Text Span 4
Page 9: Style 2

5.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=2, style ID=1 />
      <Text span ID=3, style ID=2 />
      <Text span ID=4, style ID=1 />
      </Paragraph 1>
  </Section 1>
</Document structure>

6.
<Text Span 2>This is some </Text Span 2>

7.
<Text Span 3>really </Text Span 3>

8.
<Text Span 4>important text.</Text Span 4>

9.
<Style 2>
      Based on ID=1
      Style=bold
      Computed style name="Normal+bold"
</Style 2>

10.
Page 1: deleted
Page 2: Style 1
Page 3: deleted
Page 4: deleted
Page 5: deleted
Page 6: Text Span 2
Page 7: deleted
Page 8: Text Span 4
Page 9: Style 2
Page 10: TOC
Page 11: Document structure
Page 12: Text Span 5
Page 13: Text Span 6

11.
<Document structure>
  <Section 1: margins 3cm, 1 column, Arabic page numbers, etc >
    <Paragraph 1>
      <Text span ID=5, style ID=1 />
      <Text span ID=2, style ID=1 />
      <Text span ID=6, style ID=2 />
      <Text span ID=4, style ID=1 />
    </Paragraph 1>
  </Section 1>
</Document structure>

12.
<Text Span 5>Writing is fun. </Text Span 5>

13.
<Text Span 6>insanely </Text Span 6>

=== End of file ===

--- End quote ---

Seems crazy. But it solved a major problem at the time, allowing machines with just a few hundred KB of RAM and slow disks to efficiently edit formatted documents far larger than the available resources, something other early word processors could not do. Would we design it that way now? Of course not. Today, for the purposes of word processing, we have essentially unlimited RAM and instant disk access. So we wouldn't mess with Fast Save. (And indeed, Microsoft disabled the Fast Save option years ago to close that security gap.) The decoupling of text from formatting does, however, still have some advantages.

(And this is a simplified, incomplete, absolutely wrong-in-the-details account from memory. I don't remember how they dealt with pagination, and there are actually more types of styles than just paragraph styles, but for the sake of illustration, it's close enough!)
MK14:

--- Quote from: tooki on May 11, 2020, 06:18:49 pm ---Seems crazy. But it solved a major problem at the time, allowing machines with just a few hundred KB of RAM and slow disks to efficiently edit formatted documents far larger than the available resources, something other early word processors could not do. Would we design it that way now? Of course not. Today, for the purposes of word processing, we have essentially unlimited RAM and instant disk access. So we wouldn't mess with Fast Save. (And indeed, Microsoft disabled the Fast Save option years ago to close that security gap.) The decoupling of text from formatting does, however, still have some advantages.

--- End quote ---

Thanks again, that was also really interesting!
There are lots of amazing, optimisation techniques, developed over the years. Thanks for explaining, that particular one! I enjoyed reading it.
It's sad, but some of the great optimisations in the past, are gradually being lost to time. As people retire, things get forgotten etc. There were lots of rather clever techniques developed, over the years (a long time ago). To allow huge amounts of data to be stored on reels of tape. They had clever ways of sorting huge files, with multiple passes of the tape, which overcame the (relatively) extremely small ram (probably core memory, actually), and coping with a rather slow processor, by today's standards.
The amazingly fast speed, the tape could be played/written to, with the reels, spinning round at crazy, breakneck speeds, and using these amazingly complicated mechanisms, to cope, without breaking or damaging, the somewhat delicate tape, with (probably) very valuable data on it.
These days, you would probably use lots of microcontrollers, and modern sensors, to do it. yet, it was all done with none of that, just plain mechanical and transistorised circuitry (depending on the generation of the mainframe computer, it could be all valves/tubes, or even all relays).

By coincidence, I've recently been playing about and investigating early PCs, and their software. Specifically targeting, the first/original one, i.e. an IBM 4.77MHz Intel 8088, 8 bit (external), 16 bit internal (not everyone agrees, some consider it an 8 bit, because of only having an external, 8 bits).

I was writing some (rather small, for fun), assembly code, to see how fast it runs.
Emulation only. Because I don't have an 8088 PC as such, and they generally cost a small fortune on ebay.
Occasionally, an affordable 8088 PC, does pop up. So, I will have to see.
8088 based motherboards, can be affordably purchased, and because they are more recent (the ones I was looking at), they are less work in theory), to keep running.

There are so many amazing things about those 8088's. As slow as one might think/expect them to be, there were a number of partly extreme, optimisation techniques, to get the best horse power, out of them.
As well as writing the code in 8088 assembly, they took great care into which register they used, along with which instructions they would be using.
Because, a number of such combinations, are coding into only 8 bits (a sort of tiny, 8 bit thumb (arm thumb is bigger than 8 bits, anyway) like mode, always active).
So, by clever choice of what register and instruction combinations are used/needed, for the entire section of code. Most/all of the instructions can then be 8 bits in size. This gave a considerable/significant speed improvement.
As the 8088 had no program or data cache as such.
But it did have a 6 byte, pre-fetch buffer. This was significantly less effective on the 8088, as it was so much slower (especially bus wise, as it was only 8 bits wide, rather than the much faster 8086, which was 16 bits, external bus, which could make good use of the 6 byte pre-fetch).

What has partly blown my mind (and I don't properly understand it), is a method, of creating a genuine (simple), extra second processor, and using it. On a standard 8088 IBM PC (I assume it applies to clones as well).
It re-purposed, the Dynamic Ram Refresh controller, and arranged it so that it was acting as a kind of (DMA like), simple second processor. Allowing, significance, increases, in speed, in some use cases.
Possibly, by messing with a Motorola 6845 display/graphics controller chip, which is somewhat reprogrammable, to change its functionality. The PCjr had one (apparently), I'm not sure if the original 8088 had it as well, I would have to research it.

Three part article, starts here:
https://trixter.oldskool.org/2013/01/10/optimizing-for-the-8088-and-8086-cpu-part-1/
M0HZH:

--- Quote from: richard.cs on May 09, 2020, 01:08:44 pm ---Does anyone even use DAB in the UK? I personally don't know anyone who does. FM is likely to remain king here for a long time yet, any attempt to enforce a switchover will probably just lead to rise in the pirate stations.

--- End quote ---


--- Quote from: AndyC_772 on May 09, 2020, 01:48:23 pm ---DAB in the UK is dead. It always was.
...

--- End quote ---

Digital radio is prevalent in the UK with a 58% share at the end of 2019 (source) and virtually all new cars sold in the UK have a DAB receiver (source).

As most radio listening is done in the car, DAB radios are quite superior in terms of sound quality for the sole purpose that they don't fade / interfere; FM is only better at maximum strength signal and is extremely bad at mediocre levels. The chart below explains it quite well, even if it refers to a different (quite inferior) digital mode.

Fred27:

--- Quote from: tggzzz on May 11, 2020, 10:33:55 am ---
--- Quote from: treez on May 09, 2020, 09:14:16 am ---I have been offered the chance to invest in a company making reliable, small  DAB radios in UK…”British designed and built, with full warrantee”
How can I find out whether or not the company is simply middle-manning  them in from China?

--- End quote ---
I see you've found a way to introduce (yet again) one of your two topics.
Are you planning to bring SMPSs into this thread, or to create another?

--- End quote ---
What does anyone even reply to this obvious troll?  ::)
AndyC_772:

--- Quote from: M0HZH on May 12, 2020, 07:49:36 am ---Digital radio is prevalent in the UK with a 58% share at the end of 2019 (source) and virtually all new cars sold in the UK have a DAB receiver (source).

--- End quote ---

I have a DAB receiver in my car, but I rarely use it. Normally I play music from USB, or stream from my phone using 4G.

The source you've linked says 58% digital, which includes DTV, online and apps. I am admittedly surprised to see DAB accounting for 70% of that, so 41% of listening overall. Maybe it's OK just to have on in the background in the car, where it's competing against engine and road noise anyway, and the terrible bit rate doesn't matter.

I can't see any way in which that figure is likely to do anything but shrink in future, though. Improved 4G and 5G coverage is going to make streaming all the more popular, offering better quality, a far wider choice of stations, and no need for anyone to buy a separate radio receiver at all.

If every car already comes with DAB, and people can stream any station they like using the phone or laptop they already have, who exactly is going to go out and buy a DAB radio today? Where's the compelling use case? Why would anyone consider investing in DAB now?
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod