pgtan
pgtan on Hacker News
Here are two checks using joins, one with sqlite, one with the join builtin of ksh93:
check_empty_vhosts () {
# Check which vhost adapter doesn't have any VTD mapped
start_sqlite
tosql "SELECT l.vios_name,l.vadapter_name FROM vios_vadapter AS l
LEFT OUTER JOIN vios_wwn_disk_vadapter_vtd AS r
USING (vadapter_name,vios_name)
WHERE r.vadapter_name IS NULL AND
r.vios_name IS NULL AND
l.vadapter_name LIKE 'vhost%';"
endsql
getsql
stop_sqlite
}
check_empty_vhosts_sh () {
# same as above, but on the shell
join -v 1 -t , -1 1 -2 1 \
<(while IFS=, read vio host slot; do
if [[ $host == vhost* ]]; then
print ${vio}_$host,$slot
fi
done < $VIO_ADAPTER_SLOT | sort -t , -k 1)\
<(while IFS=, read vio vhost vtd disk; do
if [[ $vhost == vhost* ]]; then
print ${vio}_$vhost
fi
done < $VIO_VHOST_VTD_DISK | sort -t , -k 1)
}
Actually pdftex or luatex, but you are completely right, it can load a pdf file and do a lot of things with it.
Posted by
pgtan on Saturday September 13, 2025 @12:19PM
from the pmc.ncbi.nlm.nih.gov dept.
socialism's new excuse to grab other people's money
Does someone have stock portfolio of superconductor manufacturer to share? I watch Furukawa, Sumitomo, and AMSC and they are performing not bad.
Posted by
pgtan on Wednesday February 14, 2024 @12:45PM
from the time.com dept.
OK, for starter the while loop. Main rule of writing shell scripts is, Use The Shell, Luke. Don't start external programs, if your shell (which is already running) can do it. "while /usr/bin/true" is nonsense, every time an external program gets executed for nothing. There are plenty of bash (since this shell is used in the example) internals, which evaluate to true, like ":", "test 1", "(( 1 ))", maybe others too. So "while :" should be better. But why even use dummy true statement, since the loop terminates with read? You can put the read as argument to while directly: "while read -r line; do" ... Same with echo and date. Just use one single printf builtin.
while read -r line ; do printf '%(%FT%T%z)T %-9s %s' -1 "$(/usr/bin/id --user --name --real)" "$line" ; done
This bash code is a parade example how NOT to write scripts.
Well, Kornshell (ksh93) has some nice programming features, much better than bash.
Posted by
pgtan on Wednesday March 09, 2022 @02:22AM
from the twitter.com dept.
I for myself get annoyed every time I see this misspell. The name is X Window. Even microserfs can learn it.
This has nothing to do with Logo, the programming language. It's Python all the way down.
Yes, you are right. Bash 5 on AIX 7.2 works with process substitution. Thanks for the advise!
No, process substitution must be provided by the kernel/syslibs, it is not feature of bash. For example there is bash on AIX, but process substitution is not possible because the OS do not support it.
No idea how old this command is. Most of the AIX/Linux admins I knew were very bad shell programmers, skills end with awfull for-loops, useless use of cat, and awk '{print $3}'.
I'm disturbed by this awful loop, every time I see `setq' gives me the heretic though, that most of the eslip code is just Perl with parentheses.
(cl-loop
for sum = 0 then (+ sum (* total 0.1))
for total = 100 then (* total 0.9)
repeat 10
finally (return (list sum total)))
Thanks for sharing! Those must be exciting times. I remember tweaking the fonts only once for printing my diploma thesis back in the 90s; but contrary to the most opinions, I made the fonts even lighter, because of the ultra white paper, we were obliged to print to. It was a very big file due to the 1200dpi rasterized fonts, but the result was better than any print shop could produce at that time.
If you have a certain printer to use, you can tweak the Metafont mode for the fonts and create your preferred look. The definitions for various printers are in the file modes.mf
For example:
% From {\tt [email protected]}, 10 May 93.
% With |fillin=0|, the diagonal of {\tt cmtt10}'s `z' is too thin.
% |blacker=.8| too thin, 2 too thick.
mode_def docutech = %\[ Xerox 8790 or 4045 (600dpi)
mode_param (pixels_per_inch, 600);
mode_param (blacker, 1);
mode_param (fillin, .1);
mode_param (o_correction, 0.9);
mode_common_setup_;
enddef;
Ha! I saw a very big multinational F500 company completely reorganize its AD, because users were unable to login to Office 365 with their standard accounts user@<location>.company.com. After weeks of complete disasters the company decided to switch to
[email protected] just for O365.
It's a hard life as microserf.
> remember to cut down your kernel.
yes, my Linux kernel is 3.4M, bz2 compressed. Unfortunately, some things are no more possible to get removed from the kernel, like the xattr in ext4.
Go, learn some (scientific) typography, then try Word, then come again.
It is you. CM is based on the Modern fonts used in scientific typesetting decades before Knuth made a MF version of it. I had often chance to give non-TeX (coming from humanities) proofreaders and copy-editors the choice between Times and CM. Almost all of them choosed CM.