Friday, July 10, 2020


It seems the older I get, the less tolerance I have for what user experience (UX) professionals call "Friction".

Friction, is simply anything that reduces the efficiency, effectiveness, or pleasantness of the user experience, as compared to the optimal possible, or intended experience.

When I was in my teens and twenties, I had seemingly infinite tolerance for things that were inconvenient, or difficult, or fiddly, or unpleasant; if doing so got me some kind of performance gain, or even an extra "cool factor"... Or just because I wanted something interesting or different.

I would put up with machines and systems that broke down frequently, only worked if you played with them just right, or took MANY hours of work to set up properly... In fact not just put up with them, but enthusiastically extolled their virtues and recommended them to others... Sometimes even passionately defending them when others complained about the inconvenience and irritation. 

...Frankly, I just don't have the time, energy, and patience for that anymore, unless theres some HUGE advantage to doing so, that makes the pain in the ass worth it...

...Some examples...

I haven't bought a pre-built desktop for use as my personal primary machine in... Literally decades. The last time was while I was in college, and my computer broke, and I had a project I absolutely needed to finish that weekend, and it was my only option.... I could fail that critical project and have to repeat the class, or I could buy a system from Sears (a packaged hell no less... but I was smart and bought the extended warranty, so they fixed it for free for 3 years... in fact they actually replaced it completely... twice... upgrading it to a higher model each time). 

I always build my own PCs, because even if someone else can build something for me to the standard I want, they charge a lot more for it than if I built it myself... Because of course they do. Skilled labor costs money. Integration costs money. Support costs money. Testing costs money. Warranties cost money. 

...But right now... I'm looking at some of the very high end prebuilt systems from specialty vendors, and thinking "Damn... that's really good. It's exactly what I would do"... and some of them have specialized cooling systems and cases that I literally could not buy and build with myself. In terms of system integration and industrial design, they're actually just plain better than what I can build myself. They're a few hundred dollars more than what I could build myself with the same basic specs... and they may be worth it... For the first time ever. I'm seriously considering just buying off the shelf, and thinking it may actually be better, not just more convenient or easier (though I'd still put more RAM and a bigger SSD in the machine after the fact... Because NO-ONE ever includes as much ram or storage as I want). 

Using Macs for work is another example... They're just very well integrated, well tested, polished solutions that significantly reduce friction. They give me the power of a real UNIX, while giving me great UI/UX, and physically excellent hardware and industrial design.

I'm still not at the point where a Bose or Bang and Olufsen stereo appeals to me... Or any kind of "home theater in a box" for that matter.  The performance you can get assembling your own properly matched components, for MUCH less money, is so much higher, and the inconvenience and friction of doing so is so relatively low, that the minimalist hyperintegrated hyperdesigned systems hold little appeal to me... But I can understand why someone might feelthe other way.... they just don't want to bother with it, and they want good sound, and don't care shout getting great sound. 

...And... dirty little secret? Just for watching TV, I am actually a fan of the better soundbars, which have satelite speakers and subwoofers (some even have wireless connections tot he tv, subwoofer, and surround speakers). They're simple, they're cheaper than a full stereo, and they actually sound pretty good, for most movies and tv shows. I still prefer to have a full home theater for my main TV, and for the best music experience... but I recommend soundbars to other people all the time, and for a secondary tv, I TOTALLY go for the soundbar.

Even with guns... and I'm an experienced gunsmith who builds long range precision rifles for fun... Some of the out of the box solutions available today for long range precision rifles from Ruger, Sako/Tikka, Savage, AI, and others, have real appeal to me. Well integrated, well tested, well designed systems that give better than 90% of the performance of a full custom solution, often for a lot less money.

That doesn't mean I don't still want to build the full custom rifles, to get the most possible performance and have the features and configuration EXACTLY as I want... But I also want to buy one of the standard offerings, to get back into things faster, and for practice, and to help get others into the pursuit of long range precision shooting etc...

This applies to almost every area of my life... I love building and modifying cars, and motorcycles... but buying a well designed, well tested, well integrated car, now has as much appeal to me as building my own hyper customized optimized car. 

I really wish I could find good commercial desks and workbenches that would actually work for me. I still build my own desks and workbenches and beds, and toolstands, because I just can't find what I want commercially... I want specific sizes and specific strength, and rigidity and features... But I wish I COULD just buy them off the shelf. 

...I still want to do the custom builds... but I find great appeal in buying the well integrated commercial solutions  first, just to have something that is 80% or 90% as good, so I can take my time and so the rest absolutely perfectly the way I want.

A digital bubble floating on an analog ocean

If you ever want to know about the best cabling for analog data transmission... remember it may be digital data to your router, your computer, and your monitor, but once it's on copper it's an analog signal... ask an amateur radio operator.

Believe me... there is no-one more particular about the characteristics of their analog cabling, than a ham. We use it ... generally multishielded coax these days... for antenna feed lines. The strength of some of the signals we use it to receive, are measured in femotwatts, at frequencies in the multighz ranges. The higher the frequency, the higher the attenuation of the signal per foot of feedline, and the more subject to spurious interference... so low attenuation and spurious signal rejection are kinda important to us.

Whether you're transmitting radio frequency analog transmissions, or internet data, or high resolution high framerate high def video... it's all analog once it's on copper, because the real physical world is analog. It's all high and low voltage values in a sine wave (or at least you hope it's a sine wave), and is subject to all the vagaries of the analog world.

For example, HDMI... 1080p at 60hz SDR color (HDMI-1.1) is a two channel analog signal at about 165mhz, transmitted over 4 shielded twisted pair... 8 signal wires wide effectively, plus clock sync, control channel, power, and ground pins (including one ground pin for each shielded twisted pair), for a total of 19 pins. For 1080p@ 120hz it's about 340mhz, as is 4k@30hz. 4k@120hz HDR color is about 1.2ghz, however as transmitted over HDMI including audio, and various overheads, the actual maximum data rate ends up being appx. 1.485ghz... and 1.485gigabits per second per channel. Again, that's all over HDMI, which is a bonded multi channel serial digital interface (not actually a parallel interface, though the difference between the two is somewhat esoteric at this point)... the total aggregate data rate is between appx. 4gps for HDMI-1.0 (3.96gbps technically the same as DVI by the way), and appx. 48gbps for HDMI-2.1 (actually its 47.52gbps, effectively the same as 12x DVI channels, or 32x 1.485gbit serial data channels bonded together)

The higher the frequency of an analog signal, the higher the signal loss over distance, and the more subject to electromagnetic and radio frequency interference it is... which is why when we make digital interfaces out of analog wires, we tend to limit them to about 1.2-1.5ghz, and when we need more bandwidth, we aggregate or bond more 1.2-1.5ghz channels together.

...Which is why high bandwidth stuff like 4k video, is always transmitted as digital signals if it has to go long distances. It has extremely high signal attenuation, and sensitivity to interference, in analog form (about 6db per 100feet at 1000mhz, over conventional rg6 coax for example... the stuff your cable company uses to get signal to your cable box and cable modem. 30db signal attenuation is generally considered the maximum, so 500 feet would be the maximum at 1ghz. The actual data rate for a 1080p60hz signal as actually transmitted over coax as SDI [serial digital interface] is 1.485ghz x2 channels, for a maximum run of about 140 feet at 30db attenuation, though SDI interface boxes generally extend that out to between 200 and 300 feet through higher power, and some tricks with frequency modulation and error correction. As a purely analog signal, including audio and overhead, it's almost 3ghz if it's a single channel, which would attenuate out at about 90 feet on RG6, which is why we never do that). Breaking it up into high bandwidth IP data is much easier, with much lower losses and greater error tolerance and error correction.

In analog data transmission, using a waveform structure... as most electrical and optical data transmission and cabling standards, and most radio standards do... there's basically two factors which can be used to transmit information. Frequency, and amplitude. We can modulate the frequency at which we transmit... the number of times per second the wave hits a peak... and the amplitude... how strong the signal is, which translates into how high the peak gets.

...(note: theres actually a third, called "phase", and it IS used in many data transmission systems... most of them actually... but it's a much more difficult and complicated thing to decode with precision, or to explain without further background, so I'm MOSTLY ignoring it for most of this explanation)...

The most basic way of doing that is with binary amplitude modulation... off and on, dot and dash. That's the easiest thing to detect.... and consequently those were our earliest forms of optical and electrical communications... the heliograph and the telegraph... and our earliest form of radio communications as well, using spark gap transmitters and cat whisker coherer receivers. We then converted those "off" and "on" states into useful information with thing like Morse code or Baudot code (where we get the word "baud" from).

You'll find that for... ease of explanation let's call it... most examples and illustrations of most communication methods simplify it to this binary representation.

A binary amplitude modulation system, is limited by how fast you can turn the signal off and on... or really, how fast you can precisely and reliably detect it being turned off an on. It can only encode 1 bit of data per time division, because it is always on or off referenced to off.

However, even without frequency modulation, amplitude modulation can be more complicated... and cary more data... than just off and on. In fact, it's actually a lot easier to create more precise signals by NOT using a binary "off" and a binary "on", but instead to use a "high" value, where every signal above a certain "high" amplitude threshold is a 1 and everything below a "low" value is a 0... Every computer logic circuit on the planet does this, but we pretend that "high" and "low" are really "on" and "off" to simplify it for logical explanation purposes.

Further, because we are talking about waveform transitions between high and low states, we can actually have FOUR states represented with basic amplitude modulation... "high", "low", "rising", and "falling" (this is called Quad Amplitude Modulation or QAM, which itself can be detected either by precise time reference, or by phase shifting an amplitude modulated signal wave in reference to a baseline carrier wave... I said I would MOSTLY ignore phase, not entirely).

So, before we even get into frequency modulation, we have the ability to represent 4 states of data. In reference to itself, that can mean 2 or 3 bits (depending on how you encode and how you detect the state), or in reference to a precise clock or a known baseline state such as an unmodulated carrier wave, it can mean 4 bits of data.. a useful increment.

...An important note... 2 different states of data, only in reference to that state change itself... a binary 0 or only ONE bit of data. 2 different states in reference to something else, like a high or low state in reference to a neutral carrier, or a precise time clock, can be just one bit, OR it can be used to represent TWO bits of data with proper encoding. Four states in reference only to themselves can be 3 bits, but in reference to an outside value can be 4 bits etc... This is because some state must always be null or neutral, representing no data, while all other states can encode data in reference to null or neutral. One can even do this with purely binary data with bitwise time encoding or bytewise sequence encoding, across multiple bits or bytes... Each bit is in reference to a time, or sequence of previous bits, or sequence within a byte, and therefore 0 or 1 are both information states. Without bitwise or bytewise encoding, 0 is the null reference and 1 is the only state with data, with it both states contain or transmit data.... This logical structure is generally ignored when this subject is explained, because it hurts peoples heads.

Now... we have figured out that over most transmission media... be it copper wire, optical fiber, or radio frequency transmissions through a vacuum... we can transmit additional data through two other means.

The first, is by modulating the frequency of a signal wave slightly, compared to either a very precise time clock, or to a reference carrier wave. This again can give us four discernable states of information in any given time division for a wave... any given discrete small frequency band... a peak state, a trough state, a rising state, and a falling state.

The second, is by combining multiple signals in different frequency bands, over the same medium.... Of which there could potentially be infinite divisions in theory... though in practice its difficult to generate and detect a lot of different bands simultaneously with any precision.

However, even before we reach that point, you should be able to see that for any given time division, using a combination of both amplitude modulation, and frequency modulation, we can actually represent.. and transmit and receive... 4 discrete states per frequency, and as many frequency states per time division as we can detect, with 4 states for each as well... 16 total states per discrete division... 16 bits... using purely analog signaling.

In fact, for any given division of time and any given frequency banding, we can use frequency modulation (4 states), amplitude modulation (4 states), and in theory both frequency phase modulation (2, 3, or 4 states, but the 3rd and 4th state are hard to deal with, so really 2 states), and amplitude phase modulation (again theoretically 4 states but really 2) within each discrete frequency band, to represent 64 bits of data.... though using both amplitude phase modulation and frequency phase modulation, is extraordinarily difficult to do with precision, so up until recently generally only one or the other has been used. And of course, it is technically possible to detect and use all four phase states for both amplitude and modulation, meaning you could theoretically represent 256 discrete states, or bits, within one discrete frequency band, in one discrete time division (or you can do it on the rising and falling of a clock cycle.. but it's not practical to do both clock and phase at the same time, because one is detected in reference to the other).

Then, by modulating within a small discrete frequency band, we can multiply those states by the smallest divisions we can discern within that band, times the total number of divisions, or width of that band.

That's where the term bandwidth comes from by the way. It's a measure of the number of discrete bits of data we can discern within a single time division, in a single frequency band, or an aggregate of channelized bands.... and it applies whether were talking about copper hardline, fiber optics, or radio waves.

Right now our highest frequency, and highest bandwidth, commonly used wireless systems are using the 5ghz RF band, and modulating across 80mhz channels within the band. Our highest bandwidth commonly used hardline video systems (HDMI 2.1 or CoaXpress CXP-X standards) use 1.485ghz frequency (anything higher causes severe attenuation of signal over distance... the higher the frequency the higher the attenuation), with HDMI 2.1 using 4 different states per conductor, and 8 conductors, to get 32bits times 1.485ghz, or just under 48 gigabits per second.... a similar standard is also used for our fastest common data networking over copper wire (currently 40gig ethernet), achieving a similar data rate.

The fastest data transmission over copper wire commercially available for mainstream computing applications, is currently 100gigabit ethernet. It uses four pairs of conductors moving 25gigbit each pair, but the frequency is so high that the signal attenuated to un-usability within just a couple meters, so almost all 100gbe is over fiber optics.

When you combine that with heterodyning, or multiplexing of different frequency banded signals over the same media (or as noted near the top, in phase or out of phase signals... the last time I'll mention it in this piece), for channelization within the same larger band, it should be clear that analog data signaling can do a hell of a lot more than just off and on, one and zero.

The most basic means we have used these properties for... for well over a century now... are audio transmissions over the telephone, and audio transmission over the radio.

Audio inherently transmits both frequency and amplitude modulated signals, in 1hz and 1db increments, across about 20khz of frequency spectrum, and 120db of dynamic range... Or at least human audible audio does (ultrasound goes much higher of course). Though to simplify transmission, and to multiply the maximum number of transmissions over a single medium, we have often "narrowbanded" audio to as little as 3khz and as little as 30db dynamic range.

Taditional telephone signals for example, drop everything below 300-400hz or above 3300-3400hz (depending on the region and standards of the particular telephone system) and compand -compress and expand- dynamic range down to 42db or less (+- 18db). We can then take those limited bandwidth "narrowband" signals, and combine them over a single wire, by shifting their frequency up and down in discrete bands, and then shifting them back to their original frequency at the other end... even with basic analog equipment (this is called frequency shifting or tone shifting).

That's how some long distance phone calls and trunk line calls worked for decades, before we switched to digital telephony systems... a process which took decades (and if you still have a land line, your home phone may still be connected directly to the neighborhood switching node over a single analog channel, or even to a local central switching office, depending how overdue your local infrastructure upgrades are... But in the U.S. most landline service is now digital to the neighborhood node, or even digital to the home, and is only analog from that switching box to the analog handset)

It's also how radio stations work. FM stands for "frequency modulation" and AM stands for "amplitude modulation" but in reality both types of radio do both things, its just a question of how each creates and recreates the signal at either end of the transmission. An FM radio station can modulate frequency and amplitude across a small defined band, to transmit appx 15khz and 48db dynamic range worth of audio signal. An AM radio station can do the same but with only a 10khz and 30db range. Thus we can theoretically fit about 200 local FM and about 120 local AM radio stations into a given area, in the FM and AM broadcast bands... But to avoid interference and crosstalk, it's actually more like about 100 fm and 60 am stations.

When we first started sending digital transmissions over analog phone lines, we did it in the simplest way possible... Essentially back to the days of the telegraph, only a little bit faster... We eventually got to about 300 bits per second, before we had to switch from purely binary amplitude modulation, to add the rising and falling signal states, and the frequency banding and heterodyning or multiplexing of signals. Within the limited 3khz and 42db dynamic range allocated to each analog telephone line, we managed to go from pushing just 300 bits per second, up to about 56,000 bits per second.

Now, we're using wideband 5ghz band wireless with QAM, to get bandwidth exceeding a gigabit per second per channel, and bonding multiple channels to get multi gigabit wireless.

...But still... digital data, becomes an analog signal, the second it hits a wire or a radio, and is subject to the capabilities and limitations of its transmission medium. We may live in a digital bubble, but that digital bubble floats on an analog ocean, in an analog universe.

Monday, July 06, 2020

That's EASY... It's basically his Specialty

A friend asked for a list of the "delightfully trashy" movies of Nick Cage...

...Oh that's easy... He pretty much specialized in it...
  1. The Rock
  2. Gone in 60 Seconds
  3. Face Off
  4. Con Air
  5. National Treasure 1 and 2
  6. Lord of War
  7. Kick Ass
  8. Raising Arizona
  9. Wild At Heart
  10. Bringing Out the Dead
  11. Matchstick Men
  12. Ghost Rider
  13. Valley Girl
  14. Fast Time at Ridgemont High
  15. Red Rock West
  16. Bad Lieutenant Port of Call New Orleans
  17. Snake Eyes
  18. Drive Angry
  19. Vampires Kiss
  20. Peggy Sue Got Married
  21. Fire Birds
  22. Honeymoon in Vegas
  23. Guarding Tess
  24. Bangkok Dangerous
  25. The Sorcerers Apprentice
  26. Mandy
  27. Running with the Devil
That's just off the top of my head. I haven't seen the last two but have been told they're great delightfully trashy movies.

Now, my friend specifically asked for delightfully trashy... that's the delightfully trashy part of his filmography... This includes both good and bad movies... Roughly the first 15 are actually GOOD movies, and the last 12 or so are not actually good, but they're all at least fun, or interesting, or entertaining, or amazing to watch because of the Cageness.

There's also just BAD trashy like the wicker man remake, which some consider so bad its good... I am not one of those people.

And there's the good, but depressing part of his filmography like "Leaving Las Vegas", or trashy but very much NOT delightful like "8mm"... Both categories of which I left off... And of course there's the great but not trashy bits of his filmography I also left off.

There's a surprising number of oscar winners involved in the movies in that list.

Honestly... Nobody has ever done "Delightfully Trashy" as well as Nic Cage... as an actor.
I just wish he had done something great with John Waters, who is the ultimate "Delightfully Trashy" director.

Friday, July 03, 2020

A very happy holiday weekend for me indeed

I'm happy to announce that I will be starting a new job, Monday July 13th. I'll be security architect and engineer for a global web/video/teleconferencing company, on a 100% work from home basis. I really like the company, and the people I'll be working with, and I'm very excited about this. Wish me luck.