Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


My Ideal Laptop

Posted by cafebabe on Tuesday October 31 2017, @02:18PM (#2724)
0 Comments
Hardware

(This is the 42nd of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)

My ideal laptop is something similar to an old Apple PowerBook or IBM ThinkPad and possibly with a similar level of processing power. It would be an off-white color, clamshell design with a 19 column, full travel, straight run keyboard, a centered track-pad with three buttons which use micro-switches which are easy to replace.

The laptop would have six bays which may be either battery or harddisk. (Sorry, no SSD yet due to concern about long-term storage - or even medium-term storage in hot conditions.)

It is very important to have a power connector which can be inserted in any orientation, unlike many of the numerous, incompatible Apple power connectors. Actually, it may be worthwhile to use Dell or IBM Thinkpad power connectors and power supplies. I presume Apple's clamshell case magnetic catch patent expires soon on the basis that it is deprecated from Apple products. My ideal laptop should have four USB connectors on the *side* of the laptop - not the rear. Should have one genuine serial port not tunneled over USB. No radio interfaces.

For my ideal laptop, I'd strongly consider my own vaporware processor and operating system. However, it must have ECC RAM. For a halfway practical implementation, there is enough space between bays for a Raspberry Pi. The is the least hateful option because motherboards would be available via retailers and motherboards would be completely replaceable in the field. To make field servicing as easy as possible, case should use screws of one length, one width, accessible with flat screwdriver and Philips screwdriver.

Ideal laptop should be off-white to match ideal tablet, phone and watch. Screen aspect ratio should be 1:1 or possibly 5:4 if VGA compatibility is required.

My Ideal Graphical User Interface

Posted by cafebabe on Tuesday October 31 2017, @02:16PM (#2723)
0 Comments
Software

(This is the 41st of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)

This is not a troll to tell people to use the command line. When my focus was making better implementations of digital paper, my ideal GUI was a data-centric system where digital lined paper was for writing, digital plain paper was for drawing and digital graph paper was for diagrams and calculations. Sheets could be freely pasted and collated. However, this arrangement is completely incompatible with structured databases, streaming video and process control.

So, as a matter of practicality, my ideal GUI is a mix of twm and Windows95 with extensive tweaks. The most significant change is that all window widgets are at the bottom of a window. This makes the interface agnostic to pointer devices and touch-screens. The typical arrangement of window titles makes explanation of a GUI easier when enumerating from top to bottom. However, for daily use, window captions are more practical than window titles. Likewise, menu lists should spring from the bottom of a window. I am particularly annoyed by the inconsistency of tabs in user interfaces. For example, mIRC has tabs along the bottom whereas Firefox has tabs along the top. And if you use the spyware masquerading as the Chrome web browser, it puts the tabs in the window title.

Next, the clipboard should be a stack rather than a singleton. Some versions of Microsoft Word have nine separate clipboards but this doesn't work outside of the application. A stack of clippings potential allows unlimited items while legacy applications see the top item of the stack. This allows a user to copy multiple items, switch application and then paste in the reverse order. Clipboard functionality may include a firewall. A firewall generally indicates a design failure around a trust boundary. However, a clipboard firewall should prevent accidental pasting between corporate and personal applications.

HDR video and sychronized sound is the default window type. Remoting to other hosts is shown by differing decoration. For example, corporate colors for one window and pink for personal stuff. Restrictions may prevent clipboard pasting to and from corporate applications.

Multiple video planes allow QNX Photon functionality like tint, blur, fog, ripple and displace without leaking data between applications or event latency over network. Furthermore, this abstraction allows one window to appear on multiple desktops. It is possible to share a window among multiple users, possibly with time limits and possibly with read-only access. With device pairing, it is possible for a flick gesture to move or copy a window reference from phone to wall-mounted screen.

I've previously mentioned that it is possible to implement a text console within HDR video; possible to get HDR video through UDP; possible to get UDP through 24 byte cell networking; possible to get 24 byte cells through network nodes with 2KB RAM; and possible for network nodes with 96KB RAM or less to work with USB and/or VGA. Although data passing through micro-controllers at kilobit speed may be agonizingly slow, it is possible to have a fancy full-screen video system which is compatible with a trustworthy section which may provide industrial control, hydroponics, wine brewing or beer brewing (with alcohol yeast and/or opiate yeast). Between writing letters to grandma and watching films on the home entertainment system, it is possible to check the garden, wine and beer. Potentially, this could be one or more menu items in Kodi's menu hierarchy. However, this arrangement would compromise security.

My Ideal Plushie

Posted by cafebabe on Tuesday October 31 2017, @02:05PM (#2722)
0 Comments
Hardware

(This is tangentially related to other topics and is here for completeness.)

A wise man said to always know the location of your towel. It is next most important to know the location of your plushie. Mant people fail in this regard. In addition to being a source of extra warmth, a fluffy pillow with a face is an extra pillow. Regardless, there is something about staring into a little face which oddly effective for certain stretching exercises. (This is relatively safe and sane compared to people who incorporate a baby into their exercise routine.)

Anyhow, my ideal plushie is about 12 inches tall (30cm) with stubby, chibi arms and legs. It is possible to design material templates of a common base plushie and then mae variants for bear, rabbit, cat, dog, fox, raccoon, badger, lion and suchlike. For example, bear and rabbit have a common short tail. Ears would either be long rabbit ears, short pointy ears or short round ears. All have a common body and paws and a white under-belly. Given common head size, Build-A-Bear headgear may fit but clothing may not fit.

My Ideal House, Part 1

Posted by cafebabe on Tuesday October 31 2017, @01:57PM (#2721)
0 Comments
Hardware

(This is tangentially related to other topics and is here for completeness.)

Two Storey, Large, Conventional Design

              Downstairs                                     Upstairs
+-----------------------   ---+---------+     +-----------------------------+---------+
|                             |         |     |               |             |         |
|                             |         |     |               |             |         |
|           Kitchen           | Heating |     |               |   Bedroom   |         |
|             and             |   and   |     |    Bedroom    |             | Bedroom |
|           Dining              Storage |     |               |             |         |
|                             |         |     |               +-------   ---+         |
|                             |         |     |                                       |
+-------------   ---+------   +---------+     +---------------+   +         +---------+
|                   |         |         |     |                   |         |         |
|                   |                   |     |                   |                   |
|                   |         |         |     |                   |         |  Bath   |
|                   |         | Office  |     |                   |         |   and   |
|                   |  Hall   |         |     |                   |  Hall   | Shower  |
|    Living Room    |   and   |         |     |      Bedroom      |   and   |         |
|                   | Stairs  |         |     |                   | Stairs  |         |
|                   |         +---------+     |                   |         +---------+
|                   |         |         |     |                   |         |         |
|                               Toilet  |     |                   |           Toilet  |
|                   |         |         |     |                   |         |         |
+-------------------+---   ---+---------+     +-------------------+---------+---------+

Two Storey, Medium, Conventional Design

         Downstairs                           Upstairs
+---------+---------+---   ---+     +---------+---------+---------+
|         |         |         |     |         |         |         |
|         |         |         |     |         | Heating |         |
|         | Toilet  |         |     |         |   and   |  Bath   |
| Office  |         | Kitchen |     | Bedroom | Storage |   and   |
|         |         |         |     |         |         | Toilet  |
|         +---   ---+         |     |     +---+---   ---+         |
|                             |     |                             |
+---------+         +---   ---+     +-----+   +         +---------+
|         |         |         |     |         |         |         |
|         |  Hall   |         |     |         |  Hall   |         |
| Living  |   and   |         |     |         |   and   |         |
|  Room   | Stairs  | Dining  |     | Bedroom | Stairs  | Bedroom |
|         |         |         |     |         |         |         |
|                             |     |         |                   |
|         |         |         |     |         |         |         |
+---------+---   ---+---------+     +---------+---------+---------+

Other designs pending.

My Ideal Car

Posted by cafebabe on Tuesday October 31 2017, @01:54PM (#2720)
2 Comments
Hardware

(This is the 40th of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)

Richard Buckminster Fuller was an inspiring crack-pot who often got details wrong but had a grand vision. One aspect was the Dymaxion car which had space for eight people, travelled at the speed of an airplane and had the fuel economy of a motorbike. While he was not present in the prototype, a fatal crash occurred. This restrained development. However, I wonder if something more like his buildings would be suitable for a vehicle. Specifically, the general plan was to keep heavy stuff at the bottom (generators, air conditioning units) and have a geometric structure above it for strength and safety.

So, perhaps it would be possible to make a pyramid car from tubular steel. It would be very much like a section of a crane but on wheels. There would be three versions: small, medium and large. The small version would just be a pyramid on wheels. The engine would be under the rear seats. The medium version would have a dedicated section at the front for an engine. The large version would have a hood and truck. Steering would be left, right or center. Center drive (like a McLaren F1) provides extra legroom for rear passengers.

Indicators and suchlike would use the cell network protocol and there would be no CANBus DRM. And there would be no iPhone dock or suchlike. Instead, the dashboard has 4U of racking on the left and right. 2U or more may be reserved statutory indicators, such as speedometer. However, 4U or more is available for customization. Perhaps you'd like a 1500W amplifier (and an auxillary alternator to power it)? Perhaps you'd like a dedicated war-driving unit and a more moderate jukebox? Unfortunately, there is no space for an 11U beer fridge.

Safety comes first. All seats have five point safety belts. Racking provides additional heat protection from engine fire. And in a collision with another vehicle, the tubular steel ensures that the other vehicle is the crumple zone. It may look ugly, it isn't particularly aerodynamic, but it is difficult to steal, difficult to roll and harder to injure or kill yourself.

My Ideal Keyboard

Posted by cafebabe on Tuesday October 31 2017, @01:48PM (#2719)
0 Comments
Hardware

(This is the 39th of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)

I doubt my ideal keyboard would ever be produced in significant quantities. However, with slowly advancing skill with micro-controllers and circuit design, I could make one or two for myself.

Cost is not the primary consideration. Therefore, it is possible to make a keyboard extra keys, full travel keys and possibly multiple interfaces. For example, USB, PS/2 serial and line serial. The keyboard would be a straight run keyboard to simplify layout. Staggered keys are a remnant of typewriter hammers. As is QWERTY layout. Given a free choice, I'd have dedicated upper case keys and lower case keys in alphabetical order. This would be of benefit to people who don't primarily use Roman script. It would also help people with dyslexia. Some people type in capitals because the text on the screen matches the letters on the keys. However, if the keys are labeled in lower case, the opposite problem occurs: Some people find it problematic to ever use upper case. Having dedicated upper case keys and lower case keys resolves this problem. For legacy reasons and convenience, shift keys and shift lock remains. In this scenario, cases are flipped.

The first row is 16 hot keys and macro keys. These provide functions such as volume control and application launching. The second row of keys is 16 function keys. These are specific to applications, although F1 typically raises documentation. The third row of keys has the escape key and 15 symbols. The fourth row of keys is digits and punctuation. The fifth and sixth row is upper case letters and punctuation. The seventh and eighth row is lower case letters, punctuation and the delete key. If this sounds like seven bit ASCII then that's entirely the idea. As described so far, keyboard decode is trivial unless legacy, raw codes are required.

We have six meta keys: [shift], [control], [alternate], [Greek], [Cyrillic] and [top]. These are at the bottom of the keyboard and mirrored on both sides with the exception that right [alternate] typically allows code-points to be dialled directly. One column of keys on the left provides [shift lock], [Greek lock], [Cyrillic lock], [top lock] and [tab]. What happens if [Greek] and [Cyrillic] are both used? Probably nothing but we have sufficient options for Amharic chording, Kanji and phonetic symbols. The keyboard controller may require a large ROM unless fnctionality is offloaded to a more capable host.

On a QWERTY keyboard, [undo], [cut], [copy] and [paste] are assigned to [control] + Z, [control] + X, [control] + C and [control] + V. If these keys are re-arranged then this cluster is broken. So, between the two clusters of meta keys, we have dedicated keys for [undo], [redo], [cut], [copy], [paste], [pop] and possibly other functions. [paste] and [pop] perform the same function in legacy applications. However, in applications where the clipboard is a stack rather than a singleton, [paste] applies the top of stack without side-effect and [pop] applies the top of stack before discarding it. This potentially allows an unlimited number of items to be cut or copied and then pasted in reverse order.

Remaining keys fill an additional two columns on the right and are described from the bottom. There is carriage return and backspace. Arrow keys and paging keys are not in a triangle, diamond or suchlike. They are in a 2×2 blocks:-

[page up] [page right]
[page left] [page down]
[up] [right]
[left] [down]

Also have [home] and [end]. The remaining space in the top left and right is filled with the crufty keys such as [print screen] and [scroll lock]. So, we have a 19 column, 12 row keyboard which has a passing resemblance to a Chinese typewriter. It is more suited to writing APL than gaming but it would be an absolute joy for me.

Micro-Controllers, NTSC, PAL, SCART, VGA And HDMI

Posted by cafebabe on Tuesday October 31 2017, @01:46PM (#2718)
0 Comments
Hardware

(This is the 38th of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)

It is possible for a micro-controller to drive a VGA display. I was aware that there is a competitive graphics demo category for such systems. However, I hadn't considered a system in detail.

Simple eight bit computers, such as early Sinclair Spectrum models or a Galaksija use a memory-mapped 4021 logic chip shift register or suchlike for screen output. A 4MHz Z80 or suchlike spends about 80% of its processing power loading data into the shift register. This is horrendously inefficient but it significantly reduced the cost of early home computers. To maximize functionality in Spectrum designs, all Z80 alternate registers were reserved for rastering. Whereas, in Galaksija designs, the unrolled loop in ROM used timing-compatible Z80 opcodes which also provided QWERTY keyboard decode.

With an 84MHz Atmel SAM ARM processor in an Arduino Due, every pixel can be set directly from software without shift registers. For maximum resolution, especially at VGA resolution rather than NTSC or PAL, an unrolled loop remains beneficial. However, rather than being hand-rolled assembly, possibly with ancillary functions, it merely requires a C compiler and a tweaked Makefile to ensure display.o or suchlike contains a long, unrolled loop. With an 84MHz processor and 31kHz HSync, there are approximately 2700 processor cycles per line. Allowing for border and HSync, 640×480 display can be implemented with three instructions per pixel.

Furthermore, with a 32 bit micro-controller, it is possible to set 32 I/O lines simultaneously. These could represent HSync, VSync and 10 bits per channel for RGB color. Or it is possible to have two screen with five bits per channel per screen. Or five screens with two bits per channel per screen. Or 10 screens with one bit per channel per screen. Or 30 screens with one bit per pixel output. Unfortunately, driving VGA quickly exhausts RAM. An Atmel SAM has a minimum of three 32KB banks RAM. However, 640×480 is 307200 pixels. Per pixel-plane per screen, this is 38400 bytes RAM (37.5KB). So, two bits per pixel is the baseline functionality unless some form of compression or indirection is used. The most obvious technique is tiling such as a character mode where some or all of the available characters are user defined. For example, seven bit ASCII from 32 to 127 could be fixed and the remaining 160 code-points could be programmable. With a 16 bit character field, it may be possible to have eight bit Latin1 symbols plus 768 programmable code-points. Or maybe more.

It is particularly annoying for such arrangements to become practical after NTSC, PAL, SCART and VGA are considered deprecated. However, it you want to implement trustworthy computing, do not discard any of this equipment. After my recent experience of HDMI replacing SCART, I certainly won't be discarding anything with a SCART or VGA connector.

I have a friend who closely follows one soap opera, The Apprentice, business pitch shows and political news. He has anything in background when he writes Java Swing applications. He has a CRT television with a SCART connector which receives from a terrestrial digital decoder. The latter stopped working without warning and no obvious cause of failure. He hurridly replaced one digital decoder with another. However, the old decoder has two SCART connectors and the new decoder has one SCART connector and one HDMI connector. He only uses one SCART connector but he wasn't happy to lose the potential redundancy of a second SCART socket.

Many devices have multiple SCART sockets and this allows N devices to be daisy-chained with N-1 cables. Any device can take a lead and devices up and down the chain will follow. I presume that a device with one SCART socket and one HDMI socket implements similar functionality while also bridging between analog and digital. Unfortunately, I'm hugely unimpressed with HDMI functionality. With the exception of VCR recording, most SCART devices worked with NTSC and PAL. Such interoperability doesn't apply with the new-fangled digital equivalent.

I thought that he gained the potential to use his new decoder with his LCD computer display. Unfortnately, this completely fails because the minimum resolution of the digital decoder is 1920×1080 pixels and the maximum resolution of the LCD screen is 1280×1024 pixels. They have completely incompatible horizontal and vertical resolution! I know that the vertical resolution of SCART is poor but this type of incompatibility rarely occurred.

I'm most unimpressed that HDMI 4.0 provides full, unfiltered InterNet Protocol tunneling between devices. A shockingly typical configuration would be a subset of NewsCorp digital satellite decoder connected to a Samsung voice and/or gesture recognition television connected to a Windows 10 keylogger and/or game console with camera and NSA key connected to an ADSL router with a hidden route. What could possibly go wrong?

Whereas, you've got eight processor registers and three instruction cycles on a Harvard bus to assemble an arbitrary bit pattern for VGA display. And there's no data-path for any funny business.

Status Report For Oct 2017

Posted by cafebabe on Tuesday October 31 2017, @01:18PM (#2717)
0 Comments
/dev/random

I expected to be off-line for two or three weeks. Unfortunately, with medical problems, legal problems, accommodation problems and financial problems, at least one month of my time has been consumed with matters unrelated to work. However, for five days per week, I'm in an environment with no television, no radio, no phone and no InterNet connection. Even with a flaky laptop which has led me to draft all text on paper, it is common for me to write more than 3000 words per day. For example, the specification for the cell networking protocol is more than 19000 words. I also have seven draft articles pending with two publications. Around this, I have:-

From this, I have made scattered progress. Specifically:-

  • It is possible to make a 6502 cell network switch with 1KB RAM but this only works if the cell size is very small and/or it has four ports or less. 2KB RAM allows 24 byte cells and eight ports. Either configuration may require 32KB ROM or more.
  • I found an easy method to optimize bit matrix transpose operations simultaneously on AVR, ARM and Thumb. However, it compiles very slowly.
  • I've applied the technique of defensive programming to electronics. In particular, how to make all circuitry resiliant to unexpected mains electricity without incurring significant component cost or power loss. This is helped by programming and electronics having idioms for common tasks.
  • I found a reference to Dimension 404, which appears to be the SyFy Channel's counterpart to Black Mirror on NetFlix and Electric Dreams on Channel4/Amazon.
  • I found that it is possible to make a Communicator Badge which transmits Ambisonic A-Format audio.
  • I found that it is possible to make a Communicator Badge which works in a conference bridge and places each participant in a different position on a sound-stage.
  • Atmel SAM interrupts are all bottom priority by default and therefore all interrupts are processed sequentially unless specifically configured.
  • Atmel SAM privileges are present by default unless running inside an interrupt or specifically relinquished. (Obvious with hindsight but worthwhile to check.)
  • Don't buy the cheapest Arduino Nano clones because they don't ship with the Arduino firmware installed. Installation requires cursory understanding of SPI, a working Arduino and use of the hateful Arduino GUI. Come back PIC. All is forgiven.
  • I got 4094 logic chip output shift registers working on the first attempt.
  • I have completely failed to get 4021 logic chip input shift registers working. I have also completely failed to get MCP4921 DACs working. I presume the problem is Voltage level incompatibility between 3.3V circuitry and 5V circuitry.
  • An LM317 Voltage Regulator consists of a Zener diode, an operational amplifier and power transistors. An LM317 is slightly less integrated than the trusty 7805 Voltage Regulator but provides significantly more flexibility. An LM317 is typically used in an output feedback arrangement to obtain a Voltage which is a multiple of the 1.25V Zener. For example, a potential divider with 10kΩ and 27kΩ to ground provides approximately 5V. (1+3ish units of the 1.25V.) However, an LM317 also works perfectly fine with no feedback. A potential divider from the input supply provides any ratio plus 1.25 Volts. Although each device handles a maximum of 28 Volts or suchlike, a sufficiently long cascade of regulators allows any input from car battery to European mains to regulated down to 5 Volts or similar.
  • Mains electricity can be rectified with a MOSFET rectifier bridge. If you're crazy enough to connect MOSFET control gates directly to mains then rectification can be acheived with two NPN MOSFETs, two PNP MOSFETs and nothing else. If you want to reduce the gate Voltage to something sane, use the potential divider idiom of resistor, Zener, Zener in reverse, resistor. This can provide something around 5 Volt relative to ground.
  • I sorta understand the difference between live, neutral and ground. That's sufficient for me to stay away from it until I understand it better.
  • A MOSFET with 2 Ohm resistance is problematic when V = I × R, P = I × V and P = I2 × R where R = 2 Ohm and I = 6.6 Ampère. That's a lot of friction.

Random findings:-

How about the HR tag?

Posted by fyngyrz on Monday October 30 2017, @06:36PM (#2715)
9 Comments
Soylent

Tried to use this today in a message which had two distinct sections in it... no go.

Any particular intentional reason <hr> is not available to us?

Seems pretty harmless, no?

Trump adviser pleaded guilty to lying about Russian contacts

Posted by DeathMonkey on Monday October 30 2017, @03:55PM (#2714)
7 Comments
Security

Lot of Trump news this morning! Presumably the Mueller indictments will get their own story so don't miss this additional development in the noise:

George Papadopoulos, a former campaign adviser to President Trump, pleaded guilty earlier this month to lying to federal officials about his contacts with Russian nationals he believed had ties to the Russian government during Trump’s presidential campaign.

Papadopoulos, who was named by Trump in March 2016 as a foreign policy adviser to the campaign, pleaded guilty to lying about his contacts with the Russians when he was interviewed in January by federal agents who were investigating Russian interference in the presidential campaign.

Trump campaign adviser pleaded guilty to lying about Russian contacts