Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


Rectangular Tuit, Part 3

Posted by cafebabe on Saturday July 22 2017, @10:30AM (#2523)
0 Comments
Software

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

I'm working on a 3D surround sound speaker array as part of a larger project. I am also expecting a delivery of 13 Watt quadraphonic audio amplifiers for a tenuously related project. I have immediate tasks to complete:-

  1. Get the micro-controller equivalent of Hello World working. The purpose of Hello World is a tracer which demonstrates a working development environment. For a micro-controller, this is typically a blinking light. This task has eluded me for more than three years and has become increasingly annoying.
  2. Write software to process WAV files:-
  3. Write software to send Ambisonic WAV files to tuit with suitable formatting.
  4. Write software for tuit to drive speakers.

This is very likely to take more than three weeks. I may be off-line for the majority of this period.

Rectangular Tuit, Part 2

Posted by cafebabe on Saturday July 22 2017, @09:01AM (#2522)
0 Comments
Hardware

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

In the book: Waldo by Robert Anson Heinlein, a 1950s style workshop (lathe, hammer, saw) is used to make a 1/4 scale matching pair of three finger mechanical hands. This requires the tedious work of drawing wire, winding motors, constructing capacitors and suchlike. A 1/4 scale set of tools is also constructed. Using the hands and the appropriate size tools, 1/16 scale hands can then be constructed. Likewise for 1/16 scale tools. Then, 1/64 scale hands and tools can be constructed. (Incidentally, this process requires very little material. For example, 1/64 scale hammer handle requires very little wood.)

A stable work environment for an Arduino is an analogous problem. While it is possible to install Arduino development software on any system, this is a haphazard approach which can fail at inopportune times. There are also the problems of security and reproducibility. My solution to this problem is pragmatic but far from ideal. Ultimately, chips used in all Arduino designs are proprietary. Deployment of code onto these chips uses avrdude for AVR architecture or bossac for ARM architecture. These handle architectual quirks, such as EEPROM partitioning, EEPROM privileges as seen from the running code and recovery from failed programming cycles. I also assume conversion of ELF blobs to raw binary occurs at this stage but I have seen no mention of this process. Regardless, all of this occurs over a virtual serial port over USB which itself is poorly defined. The implementation may involve an FTDI serial adapter or functional equialent and therefore safe and continued use is mutually exclusive with Microsoft Windows drivers.

For development of a speaker array, the solution to this mess is as follows:-

  • An arbitrary computer with wired Ethernet. I'm using a donated laptop without any storage except 4GB USB storage containing TailsOS. This computer is only used as a screen, keyboard and SSH client which is thankful because it has a dodgy power connector, systemd and a GUI which is worse than Ubuntu's hateful default.
  • A Raspberry Pi with 8GB MicroSD storage. Variant is unimportant. Primary instance was an old model donated by a children's coding academy. The hot spare belongs to an ex-colleague who is avoiding me. This runs the Jul 2017 release of Raspbian. For my sanity, systemd has been replaced with fully patched simple-init which runs unchanged on all versions of Raspbian released over the last three years. I also note that simple-init correctly handles CVE-2017-9445, unlike systemd.
  • A clone Arduino Due. Also known as a rectangular tuit due to its mind-focussing ability.
  • SPI DACs to arrive within two weeks. These are slightly more expensive than I2S DACs but do not require a continuous bit rate. Therefore, SPI DACs are more suitable for bit-banging techniques which match or exceed the 25Mb/s required for 32 channel audio. For testing, Microchip MCP4921 12 bit SPI DACs will be used with PAM8403 amplifiers. For deployment, Analog Devices AD1952 24 bit SPI DACs will be used with LM741 amplifiers.
  • For testing, cheap speakers will be purchased from retailers. These will be replaced with cube speakers despite their known limitations.

The advantages of this arrangement are numerous:-

  • System is portable and can be demonstrated at any location.
  • System is fairly well air-gapped and can be used off-line.
  • No software updates are required during the development cycle.
  • Can use any choice of text editor.
  • One step build with make.
  • Hedged against most hardware failures with the exception of the Arduino Due development board.
  • Backup of work requires an incremental tar. Total size of one backup will never exceed 8GB.
  • Deliverable is source code which runs on hardware available from multiple manufacturers and multiple vendors.

Prosthetic Penis Sex Attacker Jailed + Other Stories

Posted by takyon on Friday July 21 2017, @05:38PM (#2521)
8 Comments
/dev/random

No, it's not Ethanol-Fueled. But it is relevant to Ethanol-Fueled.

Prosthetic penis sex attacker Gayle Newland jailed

I understand Gayle Newland’s impulse to catfish – I posed as a man online for sex

Continuation of Doctor Who freakout:

Two former Doctors clash over Jodie Whittaker casting

Bad Western cultural influence excised from China:

Justin Bieber banned from China for 'bad behaviour'

Japan's First Lady trolls God Emperor Trumpu-jiichan?

BBC, LA Times, Newsweek, and The Guardian.

How OJ Simpson paved the way for Donald Trump

Rectangular Tuit, Part 1

Posted by cafebabe on Friday July 21 2017, @02:42AM (#2518)
2 Comments
Hardware

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

I'm working on a 3D surround sound speaker array. I received a clone Arduino Due about a week earlier than expected. This has put me in a moderate panic in which I have a depreciating asset which is not working. I've been jolted into resolving loose ends, such as Voltage levels, API and object code deployment. From personal experience and with sincerity, I recommended acquisition of a vintage round tuit. Well, I'm going to consider an Arduino Due as an even more effective Rectangular Tuit.

This tuit is about the size, power and price of a Nokia 3210. Unlike many credit card computers, it does not require a storage card during operation. Instead of screen, keys and radio, there are about 50 I/O lines. Operating system overhead is optional. Therefore, it is expected that timer interrupts at 48kHz will be the highest priority interrupt (or second highest if USB communication takes precedence.) 84MHz divided by 48kHz is exactly 1750 processor ticks per sound sample. Within this period, a processor must:-

  • Context switch.
  • Maintain a large circular buffer of sound samples received from host.
  • Maintain a small circular buffer of sound samples taken from the large buffer for the purpose of compensating for differing speaker distance.
  • For each speaker, obtain a historical sample from the small buffer where time delay compensates for speaker distance.
  • For each speaker, for each channel, multiply and add each historical sample against values which are pre-computed to cover speaker angle, speaker distance and master volume.
  • Bit-bang values to 12 bit, 16 bit, 18 bit or 24 bit DACs. It may be worthwhile to interleave multiplication and bit-banging so that signals appear on outputs for maximum duration.
  • Bit-banging of cell networking may also occur.

It may be useful to vary this process for 192kHz monophonic sound or suchlike. Regardless, with available processing power and I/O, it may be possible to drive 64 speakers and/or multiple sets of headphones. Each set of headphones may have accelerometers and/or Hall effect devices for the purpose of maintaining Ambisonic sound-stage position.

Unfortunately, timing is complicated by the Arduino API which only permits timers to be specified to the nearest microsecond (rather than nanosecond). Therefore, it may be easier to play sound in multiples of 50kHz. The alternative is patch the Arduino libraries or implement a system which plays samples slightly too fast. The pitch shift would be approximately 0.2% but I find it less tacky to omit or repeat 1:600 samples or so rather than endure a pitch shift.

There are further limitations. The tuit uses a different instruction set to other Arduino boards. Support is greatly restricted. The Jul 2017 release of Raspbian doesn't work with the tuit. Nor is it available from an Ubuntu Linux desktop which was configured to install everything. However, it appears that using a hateful IDE is definitely optional.

Typically, micro-controller development uses an IDE. This may be Eclipse, Atmel Studio, Arduino's IDE or something else. I vastly prefer to be unconstrained by text editor. This should be the norm when using serial line programming (or virtual serial port programming tunnelled over USB). However, it is now custommary to have configuration within an IDE to specify virtual serial port name and invoke an external chip programming utility from a menu item.

For Atmel AVR chips, avrdude appears to be the default choice. For Atmel ARM chips, bossac performs the same function - or not if distributions don't have the configuration. Either way, I'd prefer to perform these steps via a Makefile. In addition to simplifying deployment, it fixes problems with deployment speed.

O.J. Simpson Granted Parole

Posted by takyon on Thursday July 20 2017, @07:59PM (#2517)
1 Comment
News

Parole board votes to release O.J. Simpson from prison in October

Also at BBC, Bloomberg, Reuters, Vice, and CNN. Wikipedia.

The OJ Simpson trials: Where are they now?

One thing to note is that despite a $33.5 million civil judgment against O.J., retirement income is protected under federal law.

Don't forget O.J.'s greatest gift to mankind. One national treasure begets another.

The End Of "Piracy"

Posted by cafebabe on Thursday July 20 2017, @01:27PM (#2516)
10 Comments
Techonomics

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

I'm promoting a set of ideas which rely upon multi-media and gain maximum value from ease of access to third-party multi-media. I would like to see people fairly rewarded for producing high quality, factually accurate content. Unfortunately, by mentioning "fair", "quality" and "factual", I'm already in a quagmire. Without resolving these issues, I'll extrapolate content distribution which is likely to occur with or without the legal permission of content producers.

Although patents and copyright should be considered separately, I have one patent pending with a failing nation state. Also, I believe that it is pertinent to mention that my beliefs differ from law. I believe that privacy should have more emphasis than free speech. I believe that rights should be extended to animals. This includes privacy. I believe that copyright, work-for-hire and privacy can be aligned towards maximum collective benefit rather than historical levels of effort. I assume that I'm a pragmatist who can overcome some bias to understand people who don't follow law or social norms.

I hope that people understand the distinction between theft of physical property and the "theft" of information. The former may include physical violence or may otherwise incur permanent injury or risk to life. The latter leaves people (mostly) with the same bit patterns but may incur loss of privacy and/or loss of expected future revenue. Physical loss and data "loss" can both be devastating but people affected by "theft" are very likely to be content rich, physically secure and unaffected by an illusory social safety net.

It should be obvious that large-scale audio copying preceded video copying because audio generally requires less resources. However, a friend and I were quite curious about a potential rise in book copying. Historically, the easiest method to copy a book was photocopying and this was generally more expensive than buying another, legitimate copy of a book. Therefore, photocopying was generally restricted to sections of a book, rare books or matters of urgency. However, technology has changed and it is now possible to copy thousands of books per minute.

My friend, an author, was concerned that discs with 20000 books were openly advertised on EBay and elsewhere. I assumed it was only books that were freely available. My friend was less certain. I was asked to investigate. So, I sent about US$5 to a relatively reputable party and recieved a disc. Indeed, it had about 20000 books and, indeed, it was a smattering of text files with Gutenberg legal notices. However, some of it was certainly violating copyright. I gave the disc to my friend without taking a copy. (What am I going to do with 20000 fiction books? Read them all?)

My friend has now come to the conclusion that it is a sign of merit to be included in a general corpus of literature. Indeed:-

You do anything in the world to gain a reputation. As soon as you have one, you seem to want to throw it away. It is silly of you, for there is only one thing in the world worse than being talked about, and that is not being talked about. -- The Picture Of Dorian Gray by Oscar Wilde.

However, a major question remains. Why did book copying gain popularity after music and film copying? It is large *sets* of books and therefore the volume of data exceeds the average film. From minor extrapolation, there will be a subsequent round of music and film copying but each will be a set of media. So, expect stuff like 1960s-Motown.zip followed by French_Noir_(Subtitled).7z and finally Terran-Culture-(1650-2050).tar.xz

However, what happens when those fine pioneers of the digital frontier run out of third-party content? Will they live-stream themselves at increasingly detailed resolution? Or will they find other stuff to distribute? We've already seen US-Diplomatic-Cables-(1966-2010) (and the resulting chaos). Will we see US-Tax-Records-(2010-2022).zip? Maybe Medical-Records-UK-NHS-2035.zip? DNA-From-Iceland-2042.7z? What havoc will this cause? Will we see the Helvetican War where lawyers, bankers and sociopaths are hung from lamp-posts? Will this be followed by bio-engineered genocide? I don't know. However, I know that:-

  • Bad things happen when the bread and circuses stop.
  • Models are useless if they assume that everyone is rational.

Homage To Space Westerns

Posted by cafebabe on Thursday July 20 2017, @06:44AM (#2515)
0 Comments
Software

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

We've come to the end of computing as originally envisioned by Xerox, a photocopier company and, to quote one end-user, our tech is shit. Furthermore, it is directionless with the exception that we use science fiction as our template to a greater or lesser amount. Firefly and The Expanse is a more pragmatic outlook than StarWars or the utopia of StarTrek. But what gives us best bang-for-buck? How do we get from here to there while avoiding a deluge of foreseen consequences? I see a way which is broadly consistent to the point that I encourge over-use to improve portability. However, it infuriates that similar solutions aren't being widely sought.

The approach is pretend that almost every technical development from Eternal September to present didn't occur. That would be an era without top-posting, PDFs or web browser DRM. It is an alternate path where Windows didn't dominate. If that scenario actually occurred, I doubt that vertically integrated companies, such as Commodore, Apple or Sun, would have been a better outcome than the Microsoft monopoly. Regardless, we have the hindsight to pick and choose from a rich history (while being very careful about recent developments) and then apply it to the current scale of integration - or anything simpler.

Currently, consumer and small business computing is meeting in the middle of Windows and Linux. Computing has become laughably insecure and it is getting worse. A chancer like John McAfee can suggest a "Privacy Phone" with physical switches to I/O. This is intended to be a stop-gap solution to improve security. However, look at the placement of the switches. They've never made anything close to a mock-up but none of the established interests dismiss it because they have no better solutions (and nothing to gain from highlighting the current situation).

Privacy looks like an illusion; a temporary aberration in a narrative from tribes to cyborgs. That's how major corporations and nation states like to portray the situation, especially when they have unwarranted access to servers, desktops, laptops, tablets and phones. The official recommendations of the 1988 Internet Worm were never heeded. (Hey, what happened to the author of the first Internet Worm? Did they put him in jail for 60 years? No, the Ivy League son of a spook became a venture capitalist.)

At a minimum, we should have five of everything in common use: processors, compilers, operating systems, databases, application suites. We are failing miserably. Rock's law may impinge on hardware but we have no excuse in any other category. And if we believe that North Korea attacked UK government infrastructure then we are in a theater of war where it is advantageous to have the low ground.

We have barely enough infrastructure to co-ordinate and disseminate sustainable solutions. This would be solutions which don't empower a nation state and don't enrich a Silicon Valley oligarch. This is difficult but I'll try.

I envision components which are mostly software or can be implemented as software rather than hardware. Components can be used in quadcopters, robots, hi-fi, sensors and actuators. This is technology which should be Christmas light divisible: it should do something sensible or it should be open to modification. Do you remember when Spock re-wired his flip-phone to get extra range? Or when Geordi LaForge gets rescued because Federation technology inter-operates so well? That's Christmas light divisible - and we should aspire to this because there are no silver bullets which cover every case.

Consider an environment of isolinear relays and LCARS terminals. (I'd love a system which is functionally equivalent to LCARS. By happenstance, I found that oversize text is an emergent property of one fairly efficient implementation.)

It may be in a mundane environment which waters your plants, feeds your fishes or brews you beer. You wouldn't object if surplus bandwidth provided perimeter security. However, you would object if each device cost US$50. So, how do we make this secure and cost effective? Cut the RAM and processing power to minimum. This also makes it economically viable. We compete on our terms by getting closer to the theoretical optimal solution. The pay-off for halving RAM, I/O hardware or processing power is huge. The goal is to have one or more implementations which are good enough to maintain a network effect of inter-operability. If we consider ITRON, there is the outside possibility that billions of devices may be manufactured over decades. (ITRON is for micro-controllers and is a portable interface like POSIX but is concerned with timers and event buffers rather than files and messages.)

I've tried really hard to not be a greenfield techie. I tried to graft more innovation onto the ediface of contemporary computing. However, it is becoming increasingly difficult and may be doing all of us a dis-service.

I spent about eight months attempting to compile software securely and efficiently. It is a lost cause. It is possible to re-compile one component if every other component remains stable. However, coupling between components is far too tight. This has two practical consequences. Firstly, it is not possible within one lifetime to solder a trustworthy CPU and I/O devices, run an audited kernel, run audited applications and access the majority of the contemporary Internet. NAND To Tetris is a rigged academic exercise which should be best practice but is wishful thinking. Secondly, there is no meaningful software provenance. When software components directly rely upon dozens of other components, a succession of re-compiled components may create hundreds of additional references to software versions. A global re-compilation of an open source operating system may extend the chain of provenance by hundreds of thousands of references. We cannot trust our processors, our kernels, our compilers, our text editors, our web browsers or anything else - and our collective chain of trust is hopelessly lost in the mist of time.

It is tempting to discard everything and follow NAND To Tetris rigidly. But what does that achieve? You'll have something which is slower than a Commodore 64 and you'll be the only user. Instead, apply Christmas light divisibility. What was the most worthwhile development from Eternal September to present? 23 years of popular culture: film, music and literature. Forget about Solaris, ICQ, Flash animation, Kazaa and Windows Vista. Instead, remember Bourne, Bond and Batman. Oh, and people built up a huge pile of proprietary documents and hyperlinks.

Rather than treat legacy content as a first-class case, treat everything which is secure and verifiable as the first-class case and treat all of the whiz-bang, high bandwidth multi-media as a second-class case. It would be great to provide 100% downward compatibility but cases such as Flash are unviable. You'll be glad to know that I've considered a large number of other cases and the vast majority can be salvaged. It requires one or more user interfaces which provide:-

  • High bandwidth video.
  • High quality audio.
  • Legacy application bridge.
  • Document processing.
  • Internet access.
  • Home automation.
  • Home security.
  • User functionality.

This may be based around an interface like Kodi - or Kodi itself. We can also run a subset of this functionality on a secure console.

Trump says anyone would collude, but in 2000, I called FBI

Posted by DeathMonkey on Wednesday July 19 2017, @07:07PM (#2514)
11 Comments
Career & Education

Trump says anyone would collude, but in the 2000 election, I called the FBI

In September of 2000, when Al Gore and George W. Bush were tied in the polls in their race for the White House, I was preparing to play Bush as Gore’s debate prep sparring partner. What happened next ended my role in that campaign, but serves as a contrasting precursor to events in a presidential campaign 16 years later.

The day before our first practice, I received a package of materials from an anonymous source that contained several VHS tapes and “debate materials” and a letter indicating that more documents where on the way. Naturally, I popped in one of the VHS tapes.

The minute I saw George Bush dressed in shorts practicing for a Tim Russert style interview, I knew my role in the Gore campaign was over. The hundreds of hours of preparation studying public tapes of Bush, reading volumes of briefing books, practicing speech patterns and phraseology even at the dinner table, much to the chagrin of my family, was utterly wasted. I stopped the tape after about 15 seconds, picked up the phone and notified the Federal Bureau of Investigation and immediately recused myself from the campaign.

Woman Arrested for Wearing Skirt + Crop Top in Saudi Arabia

Posted by takyon on Wednesday July 19 2017, @02:29AM (#2512)
9 Comments
News

Woman In Saudi Arabia Arrested For Wearing Skirt, Crop Top In Video

5 Injured In Series Of Acid Attacks In London

The Evening Standard newspaper reports that nearly 1,500 acid attacks were reported in London in the past six years.

Hong Kong's High Court Expels Pro-Democracy Lawmakers

Man-Repelling Flamethrowers Are Being Marketed to Women in China

Although it's unclear if women in China are actually using these mini flamethrowers, they're not the most bizarre product aimed at keeping aggressive men away. That honor goes to the "anti-pervert" leggings that apparently give women's legs a hairier look and made the rounds on Chinese blogs in 2013.

That could attract a worse variety of pervert.

Video Codec: Text Console

Posted by cafebabe on Tuesday July 18 2017, @06:16AM (#2511)
0 Comments
Software

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

XWindows has a lovely feature. Actually, it has more than one lovely feature but I wish to concentrate on one feature in particular. XWindows has multiple types of windows. The most common is a rectangular bitmap which is maintained in response to application re-draw requests. There is a stereoscopic mode for windows. There is also an irregular bitmap. However, I wish to concentrate on text window mode.

I fear that text window mode, used by xterm, is being deprecated by gterm which uses an arbitrary bitmap for the purpose of implementing tabs. Text used to label each tab is drawn at a size specified by Gnome preferences and this rendering of tabs is sufficiently messy to cast a window from text to bitmap.

This led me to the consideration that if a video codec is used to implement a windowing system and the video codec is a collection of disparate tile types within quadtrees then it may be possible to unify text and bitmap windows - with the exception that it may be preferable to resize a text window in larger increments than arbitrary pixels. It might also be worthwhile to fix ANSI color and make foreground and background colors contrasting in the case that a user has a light or dark background color. It is also possible to implement eight bit color, 16 bit color or 24 bit color without the legacy of ncurses5.

With a quadtree, it is also possible to define characters which are 2×2 default size or 4×4 default size. This may be excessive and therefore it may be preferable to define double width cells (akin to Epson double width escape code) or double height cells (akin to Teletext double height escape code). However, I am definitely not implementing blink because this is not conducive to low-power display.

A quick method to bootstrap display of extended symbols is to allow multiple glyphs to be sent within one cell. In the case of diacritical marks, such as umlaut, this is fairly easy to implement. In the the absurd reduction, it should be possible to send left ascender and right ascender so that b and d can be rendered as glyphs.

I already mentioned that it is possible to route quadtree packets over intermediate nodes with 1KB RAM and perform screen remoting to micro-controllers with 64KB RAM. It should now be apparent that such a system is going to be blocky and colorful in the manner of a Commodore 64.