Personal advice on academia and free software
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
Hi. I signed up to ask for support on a very particular matter. I sent this to other fora (Parabola assist, Emacs users help, Org-mode help, Electronic Frontier Foundation--info [at] acronym.org, Free Software Foundation--info [at] acronym.org). In a couple of days, I received a lot of feedback, and I realised that I cannot really cope with answering (moderating) everything. I think that I have what I needed from this discussion by now, and I still want to share it with whomever stumbles with the same issue. Read below (I cannot change this first post, I think).
Original message (edited one word: waved→waived):
Hello,
_I_ need help. I am in graduate school, and I keep having issues with my advisor for my strong inclination to use free software. I am obviously not in position to refuse, but she dislikes to have discussions about it. She pays a stipend to me every month, and my tuition is waived.
Is anyone here aware of a place where they do computational human biomechanics, mechanics, materials, finite elements or programming in general where I could interact with free software? (having github, LaTeX, Python, etc., possibly Emacs and Org-mode; avoid Micro$oft products, Matlab, Mathematica, etc.). Is there no place where one can simply use free software on a daily basis?
It seems from her comments that I am, otherwise, a good researcher. She is a nice person, but I fear that this may become an issue in the future for me (whether with her or other people).
As a student or junior faculty, how do you go about this? Do you just nod and wave your freedom good bye?
Thank you! (I will post this in other fora as well; don't let that to discourage you from answering, please).
The threads can be found here (I leave the thread on Parabola assist at the end, because it shows my poorly formatted answers.):
https://lists.gnu.org/archive/html/emacs-orgmode/2018-05/msg00387.html
https://lists.gnu.org/archive/html/help-gnu-emacs/2018-05/msg00112.html
https://lists.parabola.nu/pipermail/assist/2018-May/001095.html
https://lists.parabola.nu/pipermail/assist/2018-May/001104.html
Nona, I'm not sure I can offer anything practically helpful. I just wanted to say I feel your pain.
The university I studied at would refuse to give tech support of any kind to students not using MS Windows. A number of the courses I took made using proprietary applications effectively compulsory, which reinforced the Windows bias.
For example, the programming courses were structured around learning C# (a patent-encumbered, proprietary language controlled by MS), using MS Visual Studio, which is a bloated, opinionated mess. Programming in VS is like trying to tie your shoelaces with over gloves on. Also, the statistics papers required students to purchase a license for a proprietary stats app, for each semester they studied stats, and taking at least one stats paper was compulsory for all science students.
Maybe it's time to try to reboot a network of Students for Free Culture style groups across campuses around the world? One that focuses on software freedom as much as (or more than) free culture, and is named in a way that indicates that?
That would be great. It could campaign for free textbooks too (the same four freedoms we insist on for software).
Agreed. There's already significant support for "open source textbook" in some US states:
https://qz.com/962487/states-are-moving-to-cut-college-costs-by-introducing-open-source-textbooks/
"Free textbooks" is potentially as confusing as "free hardware". Maybe we could call them "peer-produced textbooks", or the more common phrase for CC-licensed textbooks, which is OER or "Open Educational Resources"?
> "Free textbooks" is potentially as confusing as "free hardware".
I agree, especially since you article you link to frames the issue as one of price. Affordability of education is important, but so is freedom.
> "peer-produced textbooks"
This might be construed as being in contrast to "expert-produced" textbooks, implying that they are of lower quality.
> "Open Educational Resources"
I would prefer something like "Unrestricted Educational Resources" to avoid openwashing.
Me:
> "peer-produced textbooks"
Mason:
> "This might be construed as being in contrast to "expert-produced" textbooks, implying that they are of lower quality."
Not impossible, I guess, just extremely unlikely. I mean, this is a conclusion people tend to just to in regard to peer-produced materials anyway (see the discourse on Wikipedia), I just don't think the term "peer produced" makes that any more or less likely, especially given that "peer production" is already well established as a term in the open access debate. See also:
http://peerproduction.net/
> I would prefer something like "Unrestricted Educational Resources" to avoid openwashing.
Fair enough, but a) they're not "unrestricted", so much as "less restricted", as some rights are reserved by the CC license (or whatever license is used), and b), OER is the well-established and widely used term. The onus is on you to convince the OER community they ought to switch to a new term. Here's one well-connected point of contact:
https://oeru.org
> to avoid openwashing.
In what way is OER "openwashing"?
I recently translated the Bash Reference Manual into Spanish, which will be sold soon. I guess I should approach professors and students to let them know about this book and other free culture books they can use for they courses or as reference material. As someone who has not attended university, I may need some tips on how to propose talks, promote books to universities, etc.
One of my Ph.D. students managed to finish her dissertation using free/libre software including LibreOffice, Inkscape, GNU Octave, SciDAVis, etc..
So can you.
I have done my PhD almost entirely on libre software. The 'almost' was enforced by the need of CAQDAS (computer-assisted qualitative data analysis software). The only one open-sourced CAQDAS with the functionality I needed (multiple simultaneous video and audio analysis) was Transana - which does not run on GNU/linux. I had to run it in a Windows 7 WM VirtualBox WITH Guest Additions installed.
This can be a perfect example that "open source" is way inferior to "free as in freedom".
BTW, I tried to present my dissertation using LibreOffice, and I created automatically-updated fields such as page numbers and tables of contents. But the examiner was laughably ignorant of documents, so I had to re-create my dissertation in the stupidest possible way.
Just an update to let you know that I decided to migrate from Org-mode+LaTeX to ODF-and-related, particularly because of LPPL+GPL incompatibility, caused by LaTeX and related projects and because ODF-and-related are easier for the other people to participate and see the changes (no need to compile a .pdf nor to download 4 GiB of software).
ODF 1.2 (which is used by default at least in LibreOffice 5) is good and offers many features similar to Org-mode, including adding files to each other, interacting with spreadsheets (look for "relative DDE link"), and also offers bibliography/reference manageemnt, along many other things.
Although I do want to point out that you might want to go to View -> Disable "Show figures", so that LibreOffice Writer .odt documents are more editable and less slow.
Also, note that you must recommend people to use LibreOffice to open the files. Microsoft says to have support, but it's not excellent.
You may also want to import other .odt/.rtf/.doc/.docx files inside the main one. The tricks are that if you do so using "Insert" -> "Section" and tick "Link", the inserted section will use the main document's styles, not their own. Besides, for these files, since they *do* have notion of what is a "page break", then they will inevitably start in the next page. Also, inserting them this way may replace or add document metadata/properties (look in "File" -> "Properties"). at the same time, some files that you want to add are actually drawings made in LibreOffice Draw. In all the cases you might want to keep their own styling. To do this export them to .pdf.
I use this:
------------------------------------------------------------------------
# Please close any running LibreOffice, or `soffice' silently fails.
# No need to specify target file name.
while read each_file
do
soffice --headless \
-convert-to pdf \
"${each_file}"
done < "Figure"/"image", tick the box that has "Link" and select the image that you want to insert. Do this for each .png image.
The "link" options are important so that the main document picks any change made to the .png image, otherwise LibreOffice will insert the entire image in the .odt, which will also make it more heavier to attach in e-mails (but requires the other person to also have the linked file in the same place).
A caveat of the manual .png insertion is that if a .pdf happens to have more or less pages than the last conversion to .png, then you will need to add or delete the related links and their corresponding figures in the main .odt file. If someone has better solution please share.
Additionally, one can't do "Insert" -> "OLE Object" to insert .odg or .ods files because these *cannot* break across pages, and don't look good when printing. This OLE feature wasn't made for printing purpose, but to facilitate editing without leaving the same program. If I recall correctly, it's a Microsoft kludge.
As for tabular/table results produced by R, use and abuse of `write.csv'. Besides, make R output graphics to a .png image (use the `png' command/device). For all of this, write an .R/.r file and use Rscript to run it.
The R-produced .png files can be inserted in the main .odt document I described earlier, no need to repeat the explanation. What you need to tweak in the `png' R command/device is the `pointsize' and `res' arguments. Something like this would do:
------------------------------------------------------------------------
## The variables are here just for explanation.
## The standard DPI/`res' of the `png' command/device.
R_img_dpi <- 72
## The standard pointsize of the `png' command/device.
R_pointsize <- 12
## The new DPI/`res' of our image, to make things sharp.
## Just changing `width' or `height' isn't enough.
sharp_img_dpi <- 90
png(file="Plot.png",
height = 768,
pointsize = R_pointsize * sharp_img_dpi / R_img_dpi,
res = sharp_img_dpi,
width = 1024)
plot(something)
## ... or output some graphic.
## Close/save the .png image.
dev.off()
------------------------------------------------------------------------
Now you ask, how to insert the .csv files in the main .odt document as tables in a dynamic way (such that if the .csv contents are changed by a external application, LibreOffice picks the modifocation)?
To partially answer that question, I suggest you to make a new .ods spreadsheet set/document, and for each .csv, use "Spreadsheet" -> "Insert spreadsheet from file", select the .csv, enable/tick "Link", save the .ods. With that done, go to the spreadsheet/tab in LibreOffice Calc that you want to insert in your main .odt, click on the square between the column name A and which is above row name 1 (this will select the entire spreadsheet), copy (Ctrl + C), and Ctrl + Shift + V in the .odt, select "DDE link".
To style the table, do it in the .odt document, not in the .ods spreadsheet. Particularly, if you want to make tables with consistent formating, make the first example table according to your needs then use the "Table" -> "Style and formating" -> "Add" option to make that formatting into a new table style. Note however that applying this to other tables doesn't establish a "style" relationship as is done in the case of other elements in LibreOffice, so I cannot expect every "Black 1"-styled table to change if I ever update/remake the "Black 1" table style, so my advice is that these styles deal with display of tables/cells/rows/columns themselves, not their contents/text. For these you are better off changing the "Table content" and "Table title/heading" paragraph styles.
Another caveat of this method is that the DDE column/row references are absolute ("take from 1 to 3") and as far as I know there is no way to say "take the entire spreadsheet even if new columns/rows are added".
Again, if someone has a better method that addresses both caveats, please share.
Finally, there is a known bug[1] in LibreOffice Writer in which DDE links from Calc .ods files are inserted referring to the absolute path of the file. So after doing the "Ctrl + Shift + V, select 'DDE link'", go to "Edit" -> "Links", double-click in the corresponding "soffice" link to the .ods file, and in "File" field, and change that to relative path, inserting "file:./" at the start, like so:
Old path: /home/adfeno/Docs/Work/Spreadsheets in the same directory.ods
New path: file:./Spreadsheets in the same directory.ods
Or if the spreadsheets are in some parent directory, use "file:../", like so:
Old path: /home/adfeno/Docs/Spreadsheets in parent directory.ods
New path: file:../Spreadsheets in parent directory.ods
And so on for traversing to outer directories:
Old path: /home/adfeno/Docs/Contract/Spreadsheets in contract.ods
New path: file:../Contract/Spreadsheets in contract.ods
Similarly:
Old path: /home/adfeno/Spreadsheets at home.ods
New path: file:../../Spreadsheets at home.ods
All in all, the command-line steps are great because you can append these in the main .odt itself (to be printed verbatim) using "Insert" -> "Section", and since they are plain text files, it won't make the text start in new page (so you can write a section title before them).
Happy hacking! :D
[1] https://bugs.documentfoundation.org/show_bug.cgi?id=47223
- Vous devez vous identifier ou créer un compte pour écrire des commentaires