From Wikipedia, the free encyclopedia
Jump to: navigation, search
1. Tooth 2. Enamel 3. Dentin 4. Dental pulp ::5. cameral pulp ::6. root pulp :7. Cementum :8. Crown ::9. Cusp ::10. Sulcus :11. Neck :12. Root ::13. Furcation ::14. Root apex :::15. Apical foramen 16. Gingival sulcus
17. Periodontium :18. Gingiva: ::19. free or interdental ::20. marginal ::21. alveolar :22. Periodontal ligament :23. Alveolar bone
24. Vessels and nerves: :25. dental :26. periodontal :27. alveolar through alveolar canals
Attribute Matrix for Officers by Field Marshal Helmuth Karl Bernhard von Moltke for Military science / Management science. The bottom line: leave the stupid & lazy alone, DO NOT turn them under any circumstance into stupid & industrious!!!

Stuff 💡[edit]

  • UTF (Unicode): × ™ ® ☐ ☑ ✓ ✔ ☒ ✗ ✘ ⇒ ⇐ → ← ≠ ≤ ≥ ≫  
  • predetermined breaking point / rated break point
  • "These people are so stupid, they don't even know how stupid they are."

sudo yum localinstall --nogpgcheck$(rpm -E %fedora).noarch.rpm$(rpm -E %fedora).noarch.rpm

sudo dnf install audacious-plugins-freeworld audacious-plugins-freeworld-* vlc

Software development[edit]

  •  »Sounds good ... when can we start using it?«  – anybody
  •  »A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.«  – Antoine de Saint-Exupéry
  •  »Good designs arise only from evolutionary, exploratory interaction between one (or at most a small handful of) exceptionally able designer(s) and an active user population.« – unknown
  •  »Nine women can't make a baby in one month.« or »Adding man-power to a late project makes it later« – Brooks's law
  • most FOSS projects are do-o-cracies, the person who does decides
    • Upstream should always be the driving force forwards thus carrying the most modern code as well as being the decisive factor when it's time to obsolete things from their code base
    • Downstream should carry the burden of maintaining legacy code, if they choose to stick with it
  • We fix things where they are broken, never tape over them!
  •  »Mozilla Corporation isn't a company that's trying to win the market. It's a community that's trying to change the world.« – Richard Newman, here ... by holding a certain market share, because if people don't actively use Firefox, they obviously do not care about the world changing stuff
  • From 2014 onward, "we" can push for more FOSS for proprietary walled gardens (cf. e.g. Category:Windows-only free software) or "we" rather push for an FOSS and open platform operating system, i.e. Linux API, OpenGL, Simple DirectMedia Layer, Wayland + XWayland, KDE Plasma 5 / GNOME Shell / Cinnamon.
    • Having some key software running on the walled gardens as well, is of course good, e.g. VLC media player, Firefox, Subsurface, etc. But is there a point in porting every software?
    • Looking at the history of Microsoft involving themselves in avoiding the growing of market share/installed base of competing products (operating systems, office suites), maybe it is about time to concentrate more on developing and establishing "Linux", as a free and open-source AND open platform for FOSS and for proprietary software. Looking at Apple's successful digital distribution software and how they forbid GPL'ed software in it...
    • Programming Linux-only would create unique selling propositions for this platform, and while such may be regarded as "rude" and "impolite" towards other free and open-source operating systems, it should be decided on the technical merits. Comparing the Linux kernel–user space API with other such APIs, does it offer advantages to the programmer? For example netsniff-ng, Weston and systemd are Linux-only software, because their authors preferred the "Linux kernel–user space API" over POSIX/UNIX because of the technical advantages.

Linux kernel-based family of operating systems[edit]

While Linux distributos may not have a big interest in a long-term stabel Linux ABI across distributions, any end-user that wishes to purchase proprietary software has.
Linux start-up process, cf. article Linux startup process.




Android – market share[edit]

Android market share on smartphones

Layers of crap in KDE?[edit]

How many abstraction layers make sense? Its article calls Phonon a "multimedia API" to make KDE "independent of any single multimedia framework such as GStreamer or xine"... Do I understand this right, that Phonon is yet another abstraction layer? Even the provided scheme File:Phonon-audiodeviceconfig.png "abstracts away" the Linux kernel and the ALSA device driver or PulseAudio:

  • Soundcard Hardware → Linux kernel & ALSA driver → Audio player
  • Soundcard Hardware → Linux kernel & ALSA driver → PulseAudio → Audio player
  • Soundcard Hardware → Linux kernel & ALSA driver → PulseAudioGStreamer → Audio player
  • Soundcard Hardware → Linux kernel & ALSA driver → PulseAudioGStreamerPhonon → Audio player

It's not mandatory to use of Phonon, yet somebody added it. Why? So KDE SC could be ported to Windows, OS X easier? Well, that is good for Microsoft and Apple. The still GTK-based Audacious (software) allows me to choose output between: PulseAudio, ALSA, SDL, file writer and JACK. Why would I possibly want Phonon? It took me some time to comprehend why I do want PulseAudio on my operating system, but Phonon? What software actually uses Phonon, or can make use of it as an option?

KDE Frameworks Maybe I should bother to read their documentation, which is supposed to be good, the relase notes state: "Solid offers hardware detection and can inform an application about storage devices and volumes, CPU, battery status, power management, network status and interfaces, and Bluetooth. For encrypted partitions, power and networking, running daemons are required." Does hits augment "hardware detection" that is already done by e.g. the Linux kernel and udev, or is Solid yet again another "layer of abstraction"? E.g. udev, which is pretty low-level, is about to DROP the ability to load firmware, because it is regarded a kernel task. of course, the anti-change people™ are squawking about this, as they try to hide in Slackware, Gentoo and Co. Maybe it is good that KDE abstracts everything away, and do their thing, maybe they should be more involved in the other low-level software for Linux, that does these kind of things...


{{YouTube}}, {{Clade}}, {{ubl}}, nice effect

GUI design, software architecture and artistic design[edit]

  • Peer review is superior for finding scientific facts, but peer review does not create a masterpiece painting nor a masterpiece graphical user interface! Design by committee is a fail.
  • The maintainer of any software package, has to learn very early to say "no, we do not need this features implemented" (regardless whether I feel flattered that you have taken an interest in my software)!
  1. GUI design: For a masterpiece graphical user interface a very few exceptionally talented people need to invest exceptionally many man-hours into cognitive ergonomics and workflow to then create a coherent and consistent GUI. 95% of the time they will spend internalizing "cognitive ergonomics" and than, 5% of the time, they will spend creating that masterpiece GUI.
  2. Software architecture: somebody needs to design structure and define some sane APIs, then do some programming; then let programmers do the rest of the programming
  3. artistic design: then people from deviantArt will paper over it for aesthetic pleasure.

Graphical user interfaces[edit]

Linux kernel development succumbs to the one principle of evolution, that dictates that it can not break at any (release) point in time. The goal is to avoid releasing crippleware at any point in time. This evolutionary principle is not adhered to by most of the developers of the desktop environments. They release crippleware all the time. I am not talking about Bugs, but about inconsistencies and missing features, that are not mere paper cut bugs, but huge chunks missing. This missing of stuff is almost always due to missing manpower per se and adhering to the evolutionary principle of not breaking at any (release) point, would add additional constraints on that, since just breaking and obsoleting stuff, and then re-adding it again, in a clean(er) rewritten form, is simpler, at the cost, that until the remove functionality is re-added, the software can safely be considered crippleware.

Putting AMD TrueAudio to good use[edit]

Programmable audio effects: The task is to do "ray-tracing" for "sound" instead of light, i.e. to calculate what the sound stage should sound like based on the physical makeup of the scene and the direction the player is currently looking to in REAL-TIME!:

  1. position of the sources of sound (analogue to light!)
  2. direction and angle of the surfaces that the sound bounces of
  3. materials of these surfaces (impacts how sound reverberates off that surface)

That's a complex problem to solve in algorithms and results in computationally very expensive code! Besides ray-tracing for sound, appropriate algorithms have to be added to figure out how the listener (with two ears) would perceive the sound and ship that to the speakers.

Is this what Aureal Semiconductor did 15 years ago with theirs Aureal Vortex 2 ASICs?

  • Player's alter ego is in a room closer to one wall and e.g. reloads his weapon. The player should hear the "click" echo from the closer wall sooner and louder, while from the other side it comes later and more fuzzy. With accuratelly modeled audio effects calculated in real-time, the player would be able to tell where is the wall which is closer and where is the one far from you, even if there is pitch dark, i.e. he gets no visual feedback.

Or imagine you ride on train through the tunnel and echo of the wheels bumping the rails is literally pressing on you, and suddenly the tunnel expands to the large room and the echo is suddenly much more delayed and attenuated.

People claim such accurate audio model was available in Half-Life 1, when played on a PC with Aureal Vortex 2 hardware and headphones.

GNOME Shell and Plasma 5[edit]

VLC media player[edit]

VLC media player's handling via keyboard:

  • Cycle through audio tracks: b, Cycle through subtitle tracks: v, Next frame: e
  • Jump 3 seconds: Shift+ and Shift+
  • Jump 10 seconds: Alt+ and Alt+
  • Jump 60 seconds: Ctrl+ and Ctrl+
  • Jump 120 seconds: Alt+ Shift+ and Alt+ Shift+
  • Jump 600 seconds: Ctrl+Alt+ and Ctrl+Alt+

What useful key-bindings does GNOME Videos offer? Maybe prefer Snappy over it.

GTK+ versus Mono[edit]

For File:Linux API and Linux ABI.svg I needed some hex-code to copypaste, so I installed Ghex, and it could not do the job...! Regardless whether I marked the hex-code or the ANSI-code, it would alsoways copypaste ANSI-code into Inkscape. So I had to install Bless which did the job, since it can only mark hex-code. AFAIK, under Windows XP, the hex-editor I used back then, could do both. Mark hex-code = copypaste hex-code, mark ANSI-code = copypaste ANSI-code. It's not something you need very often of course, yet still, Ghex didn't just work. Is it GTK+, or is it the App?


GtkInspector GtkInspector: Ctrl+ Shift+I Ctrl+ Shift+D


History of the Linux graphics stack
early 2D drivers inside of the X server 
posterior indirect rendering over GLX, using Utah GLX-drivers 
Access only through Direct Rendering Manager 
In Linux kernel 3.12 render nodes were merged and the KMS was split off. Wayland implements direct rendering over EGL 
The Linux graphics stack in 2013 around Mesa 3D 
classic- vs. Gallium3D-style drivers in Mesa 3D 
Gallium3D example matrix 
① The evdev module of the Linux kernel gets an event and sends it to the Wayland compositor.
② The Wayland compositor looks through its scenegraph to determine which window should receive the event. The scenegraph corresponds to what's on screen and the Wayland compositor understands the transformations that it may have applied to the elements in the scenegraph. Thus, the Wayland compositor can pick the right window and transform the screen coordinates to window local coordinates, by applying the inverse transformations. The types of transformation that can be applied to a window is only restricted to what the compositor can do, as long as it can compute the inverse transformation for the input events.
③ As in the X case, when the client receives the event, it updates the UI in response. But in the Wayland case, the rendering happens in the client, and the client just sends a request to the compositor to indicate the region that was updated.
④ The en:Wayland compositor collects damage requests from its clients and then re-composites the screen. The compositor can then directly issue an ioctl to schedule a pageflip with KMS.


ACPI must die[edit]

"In 2001, other senior Linux software developers like Alan Cox expressed concerns about the requirements that bytecode from an external source must be run by the kernel with full privileges, as well as the overall complexity of the ACPI specification:

Sadly the NSA invested too much into ACPI, so it can't die. Noo, it shall be adapted by ARM as well:

UEFI must die[edit]

Gparted with GPT-partitioned hard disc.
  • UEFI does not really solve problems with the BIOS and UEFI introduces stuff we do not need besides GPT
    • GPT can be created with GParted and used with old BIOSes and with GNU GRUB
  • and actually, even the BIOS is superfluous: so instead of extending the BIOS with UEFI, just let it die
  • Coreboot (with or without payload) is the solution, Chromebooks rely on it (yes, with some binary blobs, but Google probably want's a short time-to-market like with Android, so the blobs can be removed)

Trusted Computing-implementations must die[edit]

Computer IC[edit]

x86 / x86-64 ARM MIPS Power Alpha
BIOS, EFI, coreboot, uboot
(System Management Mode)
coreboot, uboot uboot uboot