I convert webpages to pdf in Firefox, by going to Print --> Destination --> then save/print as a PDF file.wkhtmltopdf converts any website to a pdf file.
I often use this for saving payment confirmations and order statuses.
I convert webpages to pdf in Firefox, by going to Print --> Destination --> then save/print as a PDF file.wkhtmltopdf converts any website to a pdf file.
Yeah, but wkhtmltopdf is easier to work into a shell/perl/python script. It's a headless system, all it does is sit there and collect data all night, all day, every day. It only uses about 1 watt of electricity and just collects data. It serves it with ftpd. I want to turn it into a control system for animal watering, feeding, waste removal; but I haven't gone that far yet.I convert webpages to pdf in Firefox, by going to Print --> Destination --> then save/print as a PDF file.
#!/usr/local/bin/perl -w
#---------------------#
# PROGRAM: weather.pl #
#---------------------#
$var = "wkhtmltopdf -q \"https://forecast.weather.gov/MapClick.php?lat=42.3517&lon=-71.152&unit=0&lg=english&FcstType=text&TextType=2\"";
$dt = `date`;
chomp($dt);
$var = "$var \"weather-$dt.pdf\"";
$DIR = "/srv/forecast/";
chdir( $DIR ) or die "Couldn't go inside $DIR directory, $!";
system($var);
Exactly the same happens with documents that are not stored in the cloud. I still remember with horror what happens when someone e-mails a draft of a document to 20 people, and then gets 20-marked up copies back, and has to integrate them. Even worse: Each of those 20 people now thinks that they have a copy of the document, and don't know that much newer versions exist.I always hate it when I'm forced to use Google Docs at work. Let me regale you with what I immodestly call "Jose'
s conjecture": There's always another version of this Google doc.
I've noticed that whatever version I have access to of the Google doc I need is old & bogus. There's always a new & improved version somewhere and I don't have the right permissions to have it even show up in search for me. There may be more than one newer version. That is a subject for further study.
but these solutions all take enormous discipline. For documents, the same amount of discipline is required.
Don't forget to suffix things with _new and _latest. Those suffixes age well.Easy, just add _Final on the end when you think you won't make any more changes. Chuck in some arbitrary _V1, _V2 and then fall back on _V2a, _V3b. Finally suffix your initials at the end _KP.
![]()
X-Plane? If it's confirmed to work on FreeBSD through Steam.M$ Flight Simulator. Is there a better one available (for home enthusiasts)?
Nonsense. "Desktops" and other GUI stuff are available. Does Linux "ship its own desktop"?
Because it's one of the most widespread Linux dists built on a solid package management (Debian's APT) and includes LTS releases.Ask yourself why Ubuntu is a first class citizen to Valve
It has changed, yes, and evolving. BTW, this is not my personal usage. Also, I do not know any OS alternatives. One of the few commercial alternatives is perhaps https://www.nomagic.com/products/magicdraw.Argentum Either EA has changed A LOT in recent years or you would need to pay me also a lot to use it...
Elder Scrolls: Oblivion is the only video game I play off PS2 console. When I bought Skyrim and couldn't load and play it without Steam standing between me and the game starting like I expected it to in Oblivion, my desire to play it oblivious.X-Plane? If it's confirmed to work on FreeBSD through Steam.
root@bakemono:/ # initiate machine war --global
initiate: Command not found.
root@bakemono:/ # deus ex machina
deus: Command not found.
root@bakemono:/ # launch nuclear strike --hud --dc
launch: Command not found.
root@bakemono:/ #
So apparently there's a mathematical scripting language called R that does this for free.Some really good optimization software would be useful also [deterministic optimization/linear programming, probabilistic optimization]. MIT? has something called LP solve, which works, but something more user-friendly and general would be very nice (optimize financial portfolios, scheduling, etc).
library(lpSolve)
f.obj <- c(8, 12)
f.con <- matrix(c(10, 20, 6, 8), nrow = 2, byrow = TRUE)
f.dir <- c("<=","<=")
f.rhs <- c(140, 72)
lp("max", f.obj, f.con, f.dir, f.rhs)
lp("max", f.obj, f.con, f.dir, f.rhs)$solution
lp("max", f.obj, f.con, f.dir, f.rhs)$objval
R -f lp2.r
> library(lpSolve)
> f.obj <- c(8, 12)
> f.con <- matrix(c(10, 20, 6, 8), nrow = 2, byrow = TRUE)
> f.dir <- c("<=","<=")
> f.rhs <- c(140, 72)
> lp("max", f.obj, f.con, f.dir, f.rhs)
Success: the objective function is 100
> lp("max", f.obj, f.con, f.dir, f.rhs)$solution
[1] 8 3
> lp("max", f.obj, f.con, f.dir, f.rhs)$objval
[1] 100
>
$ maxima
;;; Loading #P"/usr/local/lib/ecl-20.4.24/sb-bsd-sockets.fas"
;;; Loading #P"/usr/local/lib/ecl-20.4.24/sockets.fas"
Maxima 5.44.0 http://maxima.sourceforge.net
using Lisp ECL 20.4.24
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(simplex)$
(%i2) volume: 8*x+12*y;
(%o2) 12 y + 8 x
(%i3) cost: 10*x+20*y<=140;
(%o3) 20 y + 10 x <= 140
(%i4) space: 6*x+8*y<=72;
(%o4) 8 y + 6 x <= 72
(%i5) maximize_lp(volume,[cost,space]);
(%o5) [100, [y = 3, x = 8]]
That looks pretty neat too, and actually more readable.You can do this in in the symbolic math package "maxima" too!
Code:$ maxima ;;; Loading #P"/usr/local/lib/ecl-20.4.24/sb-bsd-sockets.fas" ;;; Loading #P"/usr/local/lib/ecl-20.4.24/sockets.fas" Maxima 5.44.0 http://maxima.sourceforge.net using Lisp ECL 20.4.24 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) load(simplex)$ (%i2) volume: 8*x+12*y; (%o2) 12 y + 8 x (%i3) cost: 10*x+20*y<=140; (%o3) 20 y + 10 x <= 140 (%i4) space: 6*x+8*y<=72; (%o4) 8 y + 6 x <= 72 (%i5) maximize_lp(volume,[cost,space]); (%o5) [100, [y = 3, x = 8]]
What you did there.. I see it.I had almost completely lost the ability to write before coming back and starting to post again. Please excuse my use of it if enjoyment experienced excessively expressed, everything eventually evaporating entirely entropy established
load(simplex)$
volume: 8*x+12*y;
cost: 10*x+20*y<=140;
space: 6*x+8*y<=72;
maximize_lp(volume,[cost,space]);
maxima -b file.mac
;;; Loading #P"/usr/local/lib/ecl-20.4.24/sb-bsd-sockets.fas"
;;; Loading #P"/usr/local/lib/ecl-20.4.24/sockets.fas"
Maxima 5.44.0 http://maxima.sourceforge.net
using Lisp ECL 20.4.24
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) batch("file.mac")
read and interpret /usr/home/myname/workspace/file.mac
(%i2) load(simplex)
(%i3) volume:8*x+12*y
(%o3) 12 y + 8 x
(%i4) cost:10*x+20*y <= 140
(%o4) 20 y + 10 x <= 140
(%i5) space:6*x+8*y <= 72
(%o5) 8 y + 6 x <= 72
(%i6) maximize_lp(volume,[cost,space])
(%o6) [100, [y = 3, x = 8]]
It is pretty powerful as it can do symbolic math. Worth getting familiar with. There are some youtube videos that may interest you. Run wxmaxima and try this:That looks pretty neat too, and actually more readable.
f(x,y):=sin(x)+cos(y);
plot3d(f(x,y),[x,-5,5],[y,-5,5]);