Forum › Forums › New users › Welcome to antiX › What are you “here” with today?
- This topic has 1,420 replies, 37 voices, and was last updated May 12-4:56 am by Trashthrasher.
-
AuthorPosts
-
March 30, 2023 at 9:08 pm #103689Moderator
Brian Masinick
::By the way, I first started researching some of this in the late 1980s, not quite ten years after I got my Bachelor of Science degree in Computer Science.
I took one class in Computer Operating Systems Theory to get my initial start in graduate studies, and I wrote a term paper about Operating Systems History and specifically wrote primarily about MULTICS, a fascinating operating system that was extremely powerful, yet had to run on computers costing millions of dollars in those days.UNIX was originally invented at AT&T Bell Systems Laboratories by some guys who had an incredible degree of freedom to experiment, develop, and eventually implement ideas, only a few of which actually made it into volume products. In those days, only HUGE companies like AT&T, Xerox (mostly cameras and copiers in those days), General Electric, RCA, and IBM had a lot of research taking place in electronics and computers. UNIX was a sharply scaled down rewrite of MULTICS into “Eunuchs”, a.k.a. UNIX, as only geek punsters can envision.
It took literally a couple of decades before inexpensive computers were able to run the likes of what MULTICS did expensively on a very limited scale, but that effort became known as Linux. The early Linux didn’t have the machines with the power to equal MULTICS, but within 10-15 years it certainly did and now it arguably greatly exceeds what mainframe computers were doing when I got out of the university, and it isn’t even close.
I hope you and others enjoy this diversion into history. I remember some of it accurately, but I’ve checked various sources as I go to make sure that it’s reasonably accurate.
We have some GREAT software in antiX. The one thing that disappoints me a bit in our industry is that we haven’t made very many NEW huge strides; by now I thought we’d have at least the beginnings of the next generation of stuff. Oh, sure, Google and Facebook keep thinking that they’ve invented something, but it’s like combining mustard, ketchup, and pickles, put it all together and say you have another invention. To me, the only actual inventions are things I was imminently expecting around 2000 and it was 2009 when I bought my first Android device that I had expected would start becoming prevalent around 2000. Now in 2023 we do have a lot of mobile computers, mobile phones and Artificial Intelligence and they are improving, but the guy who first wrote “Moore’s Law” about technology doubling in capabilities would be disappointed with what has been accomplished, in spite of the progress.
Maybe the most interesting progress has been harnessing that technology so that our friends in Brazil, Portugal, France, Germany, Greece, Japan, Ireland, Russia, China, and other lands can communicate. I’m grateful, for instance, in the ability to communicate with Marcelo, though without language translation tools, we’d be fortunate to open a language translation book and spend hours attempting to communicate; with ONLINE language translation tools, we communicate all the time and THAT I think IS awesome!
--
Brian MasinickMarch 30, 2023 at 9:16 pm #103690Moderator
Brian Masinick
::One of my .bashrc files, this one has been modified from previous .profile, .kshrc, and .bashrc files. By keeping the syntax as close as possible to the original Bourne Shell syntax, I’ve been able to adapt, change, yet keep a large portion of this shell configuration code intact since the mid 1990s when I worked at Digital Equipment Corporation in the Digital UNIX Development Environment (DUDE) group! Some of it I had in place even before that, dating to the late 1980s!
Here’s something close to what I use now; I cut OUT a few things no longer used and I may have added 1 or 2 aliases not shown; feel free to use what you want but if you take a function written by someone that I cited, please do the same if you share it with anyone. Thank you!
#!/bin/bash # File: .bashrc # # Author: # Brian W. Masinick # Purpose: # Defines variables, aliases, and functions for shortening typing # and tasks. Used with the Bourne Again Shell, bash, from the GNU # project of the Free Software Foundation. # # NOTE: This file is an adaptation of my .kshrc file, removing things # that are peculiar to the Korn Shell, ksh. # # Conventions: # I define every procedure and function using UpperCase Words Like # this and prepend each name with TheMas to reduce the likelihood of # a naming collision with a command, script, or program. # The procedures are invoked at the bottom of the file. The # functions or procedures can be called at any time by any # procedure, which is why breaking the procedures and functions into # similar groupings makes sense. The organization of the procedures # may need to be adjusted periodically to keep in step with my # current work. if [ -f .bash_aliases ] then source .bash_aliases fi TheMasPrinters() # define printer aliases { # # Printing aliases... # alias lpi='lpr -K2 -N1' } TheMasMisc() # miscellaneous aliases I like to use { alias bye='clear; kill -1 0' alias c="clear;pwd" alias cls=clear sd=cd alias lo='clear; kill -1 0' alias m='more' alias help=apropos alias ga='sudo ping -c2 google.com' alias ya='sudo ping -c2 yahoo.com' # history aliases... alias h='fc -l' alias re='fc -e -' alias zaphist="rm -f /home/masinick/.bwm_history" # host aliases... alias host=hostname alias rw="rwho | sort +1" # desktop office tool aliases... alias e=emacs alias kh='exec /usr/bin/ksh' alias R='repl -cc all -filter ~/.mhfilter' alias inst='sudo apt-get update; sudo apt-get install $@' alias ugb='sudo apt-get update; sudo apt-get dist-upgrade; sudo update-grub' alias ug='sudo apt-get update; sudo apt-get dist-upgrade' alias ur='sudo apt-get autoremove' alias rb='sudo reboot' alias pow='sudo poweroff' alias n='$HOME/bin/null.bash $@' alias null='$HOME/bin/null.bash $@' } TheMasFileManagement() # commands I use to operate on files and dirs. { # directory movement aliases... alias b="cd ~/bin" alias cd='g' alias home=cd # file management aliases... alias del="rm -i" alias copy=cp alias del='rm -i' alias dir="ls -aqFC" alias type=cat alias l='ls -aqCF' alias ll='ls -l' alias lsd='ls -algFqd' alias lsf='ls -F' alias lsi='ls -algFqi' alias lsl="ls -algFq" alias lsr='ls -aqCFR' alias lst="ls -algsFqt" alias lst10="lst | head -10" alias lst20="lst | head -20" alias lst30="lst | head -30" alias lst40="lst | head -40" alias lst50="lst | head -50" alias lst60="lst | head -60" alias lst70="lst | head -70" alias pdw=pwd alias pd=pwd alias wpd=pwd } TheMasTerm() { alias vt100="TERM=vt100; export TERM" alias vt102="TERM=vt102; export TERM" alias vt200="TERM=vt200; export TERM" alias xrs='set noglob; eval $(resize -s \!\*) unset noglob' alias xs='set noglob; eval $(resize) unset noglob' } TheMasWorkon() { #################################################################### # # Tom Woodburn's stuff (adapted) below... # #################################################################### export HISTFILE=/home/masinick/.bwm_bash_history export HISTSIZE=1500 HOST=$(hostname) export HOST } ######################################################################## # # # Bill Gray's functions (adapted) below... # ######################################################################## # # directory stack functions declare -i DNUM=0 DLIST[DNUM]=<$(pwd) function g # go to a directory { if builtin cd "$@" >/dev/null && [ ${DLIST[DNUM]} != "$PWD" ] then DNUM=DNUM+1 DLIST[DNUM]=$PWD fi pwd } function gb # go back { if (( $DNUM > 0 )) then DNUM=DNUM-1 fi g ${DLIST[DNUM]} } function gn # go to selected (nth) dir { select DIR in $(echo ${DLIST[*]} | tr " " "\012"; | sort -u -y0) do if [ "$DIR" ] then g $DIR else g $REPLY fi break done } function up # go up n levels { declare -i levels levels=${1} if [ -z "${1}" ] && [ ${PWD} != "/" ] then g .. return $? fi while [ ${levels} -gt 0 ] && [ ${PWD} != "/" ] do g .. levels=levels-1 done } function lpit { for file in $* do pr -e8 -f $file | lpr -J $file -P doc1 done } function lpsrc { for file in $* do pr -e8 -f -n5 $file | lpr -J $file -P doc1 done } function lp_2sides { for file in $* do pr -e8 -f -n5 $file | lpr -J $file -P doc1 -K 2 done } function lp_2sides_2up { for file in $* do pr -e8 -f -n5 $file | lpr -J $file -P doc1 -K 2 -N 2 done } function t { export TERM=$1 xs } function addpath { PATH=$PATH:$1 echo $PATH } function log { echo $(date '+%D %H:%M') >> ~/.logfile echo "$*" >> ~/.logfile echo >> ~/.logfile date } function todo { echo $(date '+%D %H:%M'<) >> ~/todo echo "$*" >> ~/todo echo >> ~/todo } function rot13 { tr [a-z][A-Z] [n-z][a-m][N-Z][A-M] } function unrot13 { tr [a-m][n-z][A-M][N-Z] [n-z][a-m][N-Z][A-M] } # Remove files that are a symbolic link to some other file, (eg. UnLink) function UL { for i in $* do if [ -L $i ]; then f=$(ls -al $i | sed "s/^.*-> //";) rm -f $i cp $f $i fi done } function clock1 { while true; do clear echo "===========" date +"%r" echo "===========" sleep 1 done } ######################################################################## # # # Call the routines that I use each time that I login. # ######################################################################## # # Main # <--- Main # Set the default directory and file protection mask. By default, do # not mask any protection on my ownership, but remove default write # access for the group, and do not give "world" any default access. export SHELL=/bin/bash umask 022 OS=$(uname) echo "The current HOST is $HOST" echo "The terminal type is $TERM";echo "" # # Define the default editing mode # set -o emacs TheMasPrinters TheMasMisc TheMasFileManagement TheMasTerm TheMasWorkon date +"%b %d, %Y %r" echo "" vt200 PS1='[\h]$PWD: > ' return # get out of any functions I may be in # Finished .bashrc- This reply was modified 1 month, 1 week ago by Brian Masinick. Reason: if or " appear, replace them with $( and ) around code, " or '
--
Brian MasinickMarch 30, 2023 at 9:49 pm #103695Moderator
Brian Masinick
::When I first transferred my .bashrc, multiple special characters were replaced; if you happen to see any lines containing
, it's probably an argument with a dollar sign $ followed by a left paren (, and the ending codehas a right paren ).Quotations like ” and ‘ also were interpreted when first copied; if it happens again these can be replaced. I *think* I found ’em, but if the forum re-translates them again that is what is happening. The actual script works fine.
--
Brian MasinickMarch 30, 2023 at 10:05 pm #103702Moderator
Brian Masinick
::By the way with “modern day Emacs”, a lot of people may not even know all of the numerous key sequences and tools.
I’ve seen some of the very newest offshoots of Emacs and they’re barely recognizable, but most of the “old stuff”
is out there and can be accessed for those of us who have old habits and ways…
Stuff like Esc < goes to the beginning of the file, Esc > goes to the end of the file, and there are tons
of keys mapped to sequences, any of which can be altered (or reused for a different behavior) when you enter a
different “mode”, and revert to yet another behavior when the mode or “routine” is changed.--
Brian MasinickMarch 30, 2023 at 10:14 pm #103703Moderator
Brian Masinick
::Another little thing: on one of my old systems I have a few editors installed but NOT the full GNU Emacs.
On my Lenovo X201 at the moment, I do have the e3 editor, and emacs: symbolic link to /usr/bin/e3em
e3 is a VERY small editor, capable of emulating emacs, nedit, pico, vi, and wordstar!
[antix23]/usr/bin: > ls e3*
e3 e3em e3ne e3pi e3vi e3wsUnderstand that it’s not COMPLETE emulation, it simply mimics basic keystrokes and simple movement, but
it’s pretty cool for a SMALL editor like e3 to do that!--
Brian MasinickMarch 30, 2023 at 10:46 pm #103704Moderator
Brian Masinick
::pinxi -Fxxz System: Kernel: 6.2.9-1-liquorix-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0 Desktop: IceWM v: 3.3.2 dm: slimski Distro: antiX-23-beta1-runit_x64-full Grup Yorum 21 March 2023 base: Debian GNU/Linux 12 (bookworm) Machine: Type: Laptop System: HP product: HP Laptop 14-fq1xxx v: N/A serial: <superuser required> Chassis: type: 10 serial: <superuser required> Mobo: HP model: 887C v: 59.11 serial: <superuser required> UEFI: AMI v: F.18 date: 11/26/2021 Battery: ID-1: BAT0 charge: 40.6 Wh (99.8%) condition: 40.7/40.7 Wh (100.0%) volts: 12.9 min: 11.3 model: HP Primary serial: <filter> status: not charging CPU: Info: 6-core model: AMD Ryzen 5 5500U with Radeon Graphics bits: 64 type: MT MCP arch: Zen 2 rev: 1 cache: L1: 384 KiB L2: 3 MiB L3: 8 MiB Speed (MHz): avg: 2041 high: 2100 min/max: 1400/4056 boost: enabled cores: 1: 2100 2: 2100 3: 2100 4: 2100 5: 2100 6: 2100 7: 1397 8: 2100 9: 2100 10: 2100 11: 2100 12: 2100 bogomips: 50300 Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm Graphics: Device-1: AMD Lucienne vendor: Hewlett-Packard driver: amdgpu v: kernel arch: GCN-5 pcie: speed: 8 GT/s lanes: 16 ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 03:00.0 chip-ID: 1002:164c temp: 45.0 C Device-2: Chicony HP TrueVision HD Camera type: USB driver: uvcvideo bus-ID: 2-3:3 chip-ID: 04f2:b6f1 Display: server: X.Org v: 1.21.1.7 driver: X: loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: :0.0 screens: 1 Screen-1: 0 s-res: 1920x1080 s-dpi: 96 Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x1429 res: 1920x1080 dpi: 158 diag: 354mm (13.9") API: OpenGL v: 4.6 Mesa 22.3.6 renderer: AMD Radeon Graphics (renoir LLVM 15.0.6 DRM 3.49 6.2.9-1-liquorix-amd64) direct-render: Yes Audio: Device-1: AMD Renoir Radeon High Definition Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:1637 Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Hewlett-Packard Raven/Raven2/FireFlight/Renoir Processor driver: snd_rn_pci_acp3x v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 03:00.5 chip-ID: 1022:15e2 Device-3: AMD Family 17h/19h HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 03:00.6 chip-ID: 1022:15e3 API: ALSA v: k6.2.9-1-liquorix-amd64 status: kernel-api with: apulse type: pulse-emulator Network: Device-1: Realtek vendor: Hewlett-Packard driver: rtw89_8852ae v: kernel pcie: speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 01:00.0 chip-ID: 10ec:a85a IF: wlan0 state: up mac: <filter> Bluetooth: Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8 bus-ID: 2-4:4 chip-ID: 0bda:385a Report: hciconfig ID: hci0 rfk-id: 1 state: down bt-service: disabled rfk-block: hardware: no software: yes address: <filter> Drives: Local Storage: total: 238.47 GiB used: 19.78 GiB (8.3%) ID-1: /dev/nvme0n1 vendor: Toshiba model: KBG40ZNV256G KIOXIA size: 238.47 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 40.9 C Partition: ID-1: / size: 47.76 GiB used: 19.73 GiB (41.3%) fs: ext4 dev: /dev/nvme0n1p5 ID-2: /boot/efi size: 256 MiB used: 56.1 MiB (21.9%) fs: vfat dev: /dev/nvme0n1p1 Swap: ID-1: swap-1 type: partition size: 7.81 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p6 Sensors: System Temperatures: cpu: 49.0 C mobo: N/A gpu: amdgpu temp: 45.0 C Fan Speeds (RPM): fan-1: 0 fan-2: 0 Info: Processes: 223 Uptime: 5m Memory: 7.08 GiB used: 631.6 MiB (8.7%) Init: runit v: N/A runlevel: 2 Compilers: gcc: 12.2.0 alt: 12 Packages: pm: dpkg pkgs: 1684 Shell: Bash v: 5.2.15 running-in: roxterm pinxi: 3.3.26-3--
Brian MasinickMarch 30, 2023 at 10:57 pm #103705Moderator
Brian Masinick
::Regarding building Emacs, back when I had either a VAXstation or an AlphaStation I used to build my own copies of GNU Emacs. I do recall that it all began with the ./configure, but if there were particular parameters needed that were not automatically recognized at this stage, it was necessary to either edit an input configuration file OR pass arguments to the tool. I’d have to actually do it because it may have been close to 25 years since I’ve REGULARLY built my own instance of GNU Emacs, and I have built it on VAX/VMS and Digital UNIX in the distant past.
--
Brian MasinickMarch 31, 2023 at 1:48 am #103714Memberbci
::@bci I certainly do not take issue with any of your points, and these days, most systems, even 10-15 year old systems can easily handle Emacs
Yep, like mine. I find a noticeable performance boost (for Emacs) when I’m using a more lightweight windowing environment such as Fluxbox (as opposed to XFCE, which I also have installed in my current AntiX).
and you’re right, there are countless features that have been added over the years. Some people even kid about it as the “operating system that can also edit files!”
Unfortunately, we aren’t there yet. 🙂 Though, to be sure, I do most of my file management in Dired; I only touch Thunar when I have to do something strange involving other partitions on my drive, and even then it’d be nice to do literally all of it in Emacs. I’ve even though of writing an Elisp daemon that would function as a system Trash can, obviating the need for e.g. the XFCE one.
Did you happen to know any of those tidbits?
I knew of the existence of the TECO editor, and how it was supposed to have an eccentric-looking scripting language; and that “Emacs” stands for “Editor Macros”.
Funny, this topic has been coming up recently for me, since when editing Elisp I sometimes hit C-h g by accident (when I want to hit C-h f), and the former binding launches (in your browser) this page describing the GNU Project.
I came across this quote on Wikipedia:
Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix. UniPress never took legal action against Stallman or his nascent Free Software Foundation, believing “hobbyists and academics could never produce an Emacs that could compete” with their product.
Huh. The annals of history would tell a different tale.
- This reply was modified 1 month, 1 week ago by bci. Reason: punctuation
March 31, 2023 at 1:52 am #103716Moderator
Brian Masinick
::“Huh. The annals of history would tell a different tale.”
You’re so right 👍
--
Brian MasinickMarch 31, 2023 at 5:21 pm #103761Moderator
Brian Masinick
::I’ve been “Out and about” for most of the day so far and I’m sitting in a waiting room while my wife awaits her appointment. Half hour past the scheduled time already.
Hopefully we’ll get home before dusk!
--
Brian MasinickMarch 31, 2023 at 6:10 pm #103773Moderator
Brian Masinick
::It’s a nice day outside but this waiting room feels like I am sitting inside of a refrigerator!
--
Brian MasinickMarch 31, 2023 at 10:07 pm #103782Moderator
Brian Masinick
::I “finally” made it home, so I booted up antiX-23-beta1-runit_x64-full Grup Yorum 21 March 2023.
Here’s today’s info
pinxi -b System: Host: antixBeta-hp-14-fq-1025 Kernel: 6.1.18-antix.1-amd64-smp arch: x86_64 bits: 64 Desktop: IceWM v: 3.3.2 Distro: antiX-23-beta1-runit_x64-full Grup Yorum 21 March 2023 Machine: Type: Laptop System: HP product: HP Laptop 14-fq1xxx v: N/A serial: <superuser required> Mobo: HP model: 887C v: 59.11 serial: <superuser required> UEFI: AMI v: F.18 date: 11/26/2021 Battery: ID-1: BAT0 charge: 40.6 Wh (99.8%) condition: 40.7/40.7 Wh (100.0%) CPU: Info: 6-core AMD Ryzen 5 5500U with Radeon Graphics [MT MCP] speed (MHz): avg: 1413 min/max: 1400/4056 Graphics: Device-1: AMD Lucienne driver: amdgpu v: kernel Device-2: Chicony HP TrueVision HD Camera type: USB driver: uvcvideo Display: server: X.Org v: 1.21.1.7 driver: X: loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu resolution: 1920x1080~60Hz API: OpenGL v: 4.6 Mesa 22.3.6 renderer: AMD Radeon Graphics (renoir LLVM 15.0.6 DRM 3.49 6.1.18-antix.1-amd64-smp) Network: Device-1: Realtek driver: rtw89_8852ae Drives: Local Storage: total: 238.47 GiB used: 19.45 GiB (8.2%) Info: Processes: 247 Uptime: 24m Memory: 7.1 GiB used: 1.67 GiB (23.5%) Shell: Bash pinxi: 3.3.26-3--
Brian MasinickMarch 31, 2023 at 10:27 pm #103783Moderator
Brian Masinick
::Weather report: 29617
Overcast
.–. 71 °F
.-( ). ↑ 3 mph
(___.__)__) 9 mi
0.0 in--
Brian MasinickApril 1, 2023 at 3:13 am #103786Memberbci
::Regarding building Emacs, back when I had either a VAXstation or an AlphaStation I used to build my own copies of GNU Emacs. I do recall that it all began with the ./configure, but if there were particular parameters needed that were not automatically recognized at this stage, it was necessary to either edit an input configuration file OR pass arguments to the tool. I’d have to actually do it because it may have been close to 25 years since I’ve REGULARLY built my own instance of GNU Emacs, and I have built it on VAX/VMS and Digital UNIX in the distant past.
That sounds really cool. Thing is, certain Emacs packages can have unexpected dependencies on certain C libraries. For example, mastodon.el, which lets you view and post on Mastodon, works only if your Emacs was compiled with built-in libxml2 support, which I didn’t specify when I recently built Emacs 28 from source. And it took a long time to compile on my X201, probably because I specified native-compilation, so it was literally (from what I could tell) compiling a bunch of Elisp into native x86 assembly. All that for nothing! Oh well. So I fell back to using the packaged Debian version, which is currently 27. The Debian people seem to know “what to put in it”.
But if Emacs 29 looks too tempting (I was already loving 28), I may have to get better at compiling Emacs from source, maybe hit up a subreddit or Emacs Stack Exchange for some pointers. We’ll see.
- This reply was modified 1 month, 1 week ago by bci. Reason: Fix markup
April 1, 2023 at 3:45 pm #103834Moderator
Brian Masinick
::Back when I compiled GNU Emacs, the first release I remember building was GNU Emacs 18. I think the revision was a pretty late one, possibly 18.53 or something like that; in any case, Version 19 was probably in the works. In fact, I believe that Jamie Zawinski may have already been building his own XEmacs 19 with more graphical features because GNU Emacs did not yet include all of that in the standard version.
That DID mean that it was much easier to build in those days. I think I built Version 19 a few times, but I don’t remember after that.
I’m pretty sure that it’s very involved to build the entire environment today because it has so many more extensions and visual capabilities than it had twenty or more years ago.--
Brian Masinick -
AuthorPosts
- You must be logged in to reply to this topic.