Software: Difference between revisions
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Software design = | |||
[https://www.r-bloggers.com/2023/10/reading-notes-on-a-philosophy-of-software-design-by-john-ousterhout/ Reading notes on A Philosophy of Software Design by John Ousterhout] | |||
= Data structure and algorithms = | |||
[https://www.makeuseof.com/websites-data-structure-algorithm-coding-challenges/ 7 Websites to Practice Data Structure & Algorithm Coding Challenges] | |||
* LeetCode | |||
* HackerRank | |||
* Codewars | |||
* Codility | |||
* HackerEarth | |||
* Techie Delight | |||
* InterviewBit | |||
= GUI testing tools = | = GUI testing tools = | ||
https://en.wikipedia.org/wiki/List_of_GUI_testing_tools | https://en.wikipedia.org/wiki/List_of_GUI_testing_tools | ||
= Testing = | |||
[https://en.wikipedia.org/wiki/Smoke_testing_%28software%29 Smoke testing (software)] | |||
= Developing Usable Software = | |||
* [https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005265 Ten Simple Rules for Developing Usable Software in Computational Biology] | |||
* [https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1008390 Ten simple rules for writing a paper about scientific software] | |||
* [https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1012410 Ten simple rules for training scientists to make better software] | |||
= UI design = | |||
* [https://www.makeuseof.com/top-tools-ux-ui-designers-should-master/ The Top 11 Tools You Should Master as a UI/UX Designer] | |||
* [https://www.makeuseof.com/grayscale-ui-ux-design-benefits/ 10 Reasons Why Designing in Grayscale Will Improve Your UX/UI Designs] | |||
= VLC keyboard shortcut = | = VLC keyboard shortcut = | ||
Line 10: | Line 35: | ||
= FreeMind = | = FreeMind = | ||
[https://linuxg.net/how-to-install-freemind-1-0-1-on-ubuntu-18-10-ubuntu-18-04-and-derivative-systems/ How To Install FreeMind 1.0.1 on Ubuntu 18.10, Ubuntu 18.04] | Java based program | ||
<pre> | |||
$ sudo apt install snapd | Install: | ||
<ul> | |||
<li> [http://macappstore.org/freemind/ Install FreeMind on Mac OSX]. This essentially download FreeMind_1.0.1.dmg. I can just download the general binary file and launch it directly '''bash ~/Downloads/freemind-bin-max-1.0.1/freemind.sh''' . But remember don't try to launch the program twice. </li> | |||
<li> [https://linuxg.net/how-to-install-freemind-1-0-1-on-ubuntu-18-10-ubuntu-18-04-and-derivative-systems/ How To Install FreeMind 1.0.1 on Ubuntu 18.10, Ubuntu 18.04] </li> | |||
<pre>$ sudo apt install snapd | |||
$ sudo snap install freemind | $ sudo snap install freemind | ||
Line 18: | Line 47: | ||
$ sudo apt remove freemind | $ sudo apt remove freemind | ||
</pre> | </pre> | ||
</ul> | |||
[http:// | Tips: | ||
* [http://freemind.sourceforge.net/docs/HTML%20User%20Guide/tips.htm Create graphical links between two nodes]. To do so, mark a node and drag to another node holding both shift and control keys, and releasing the mouse button first. You can edit some properties of this link by right-clicking on the line between them. | |||
* [http://freemind.sourceforge.net/wiki/index.php/Asked_Questions FAQ] | |||
* [http://freemind.sourceforge.net/wiki/index.php/Asked_Questions#To_move_a_node_to_the_other_side_of_root_or_re-arrange_nodes Move node around?] | |||
* [https://www.mediawiki.org/wiki/Extension:GraphViz GraphViz] mediawiki extension. | |||
** [https://newstudyclub.blogspot.com/2017/02/how-to-install-and-use-graphviz-on.html How To Install And Use Graphviz On Ubuntu]. After installing graphviz, new binaries like '''dot''' are under /usr/bin. | |||
[http:// | Examples: [http://toncar.cz/MindMaps/index.html Mind Maps by Vladimir Toncar] | ||
== Freeplane == | |||
* https://en.wikipedia.org/wiki/Freeplane | |||
* https://docs.freeplane.org/, | |||
** https://github.com/freeplane/freeplane | |||
** https://sourceforge.net/projects/freeplane/files/ | |||
== coggle.it == | |||
https://coggle.it/ | |||
= unison = | = unison = | ||
Line 36: | Line 74: | ||
* http://lifehacker.com/5989980/ive-been-using-evernote-all-wrong-heres-why-its-actually-amazing | * http://lifehacker.com/5989980/ive-been-using-evernote-all-wrong-heres-why-its-actually-amazing | ||
* http://lifehacker.com/paperwork-is-an-evernote-alternative-you-can-host-yours-1693856130 [https://github.com/twostairs/paperwork Paperwork] Is an Evernote Alternative You Can Host Yourself | * http://lifehacker.com/paperwork-is-an-evernote-alternative-you-can-host-yours-1693856130 [https://github.com/twostairs/paperwork Paperwork] Is an Evernote Alternative You Can Host Yourself | ||
* [https://itsfoss.com/joplin/ Joplin: The True Open Source Evernote Alternative] | |||
To find out the source of a web clip, click the Note Info icon at the top. | To find out the source of a web clip, click the Note Info icon at the top. | ||
== Tusk == | |||
[https://github.com/klaussinani/tusk Refined Evernote desktop app] | |||
= Dropbox = | = Dropbox = | ||
Line 52: | Line 94: | ||
* Backup your web site - [https://mybackupbox.com/ Backup Box] | * Backup your web site - [https://mybackupbox.com/ Backup Box] | ||
* Host web page - [http://droppages.com/ DropPages] or [http://pancake.io/ Pancake.io] | * Host web page - [http://droppages.com/ DropPages] or [http://pancake.io/ Pancake.io] | ||
== Ubuntu == | |||
* From the official website: | |||
** [https://www.dropbox.com/install-linux Dropbox Headless Install via command line] | |||
** [https://help.dropbox.com/installs-integrations/desktop/uninstall-dropbox How to uninstall Dropbox on your computer] | |||
** [https://help.dropbox.com/installs-integrations/desktop/advanced-reinstall How to run an advanced reinstall of Dropbox] | |||
* [https://www.linuxbabe.com/ubuntu/install-dropbox-headless-ubuntu-server How to Install Dropbox on a Headless Ubuntu Server] 2020 | |||
<ul> | |||
<li>[https://www.how2shout.com/linux/install-dropbox-gui-or-headless-on-ubuntu-20-04-lts/ How to install Dropbox GUI or Headless on Ubuntu 20.04 LTS] (works) | |||
{{Pre}} | |||
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - | |||
~/.dropbox-dist/dropboxd | |||
sudo wget -O /etc/systemd/system/[email protected] \ | |||
https://raw.githubusercontent.com/joeroback/dropbox/master/dropbox%40.service | |||
sudo systemctl enable dropbox@$(whoami) | |||
sudo systemctl start dropbox@$(whoami) | |||
sudo systemctl status dropbox@$(whoami) | |||
curl -LO https://www.dropbox.com/download?dl=packages/dropbox.py | |||
sudo mv dropbox.py /opt/ | |||
sudo ln -s /opt/dropbox.py /usr/bin/dropbox | |||
sudo dropbox update | |||
</pre> | |||
Question: how to know there is a new update? | |||
</li> | |||
</ul> | |||
* [https://linoxide.com/install-dropbox-ubuntu/ Some command-line examples] | |||
* [https://askubuntu.com/a/653846 Dropbox very high CPU usage without any actual data transfer], [https://askubuntu.com/a/504014 Dropbox is taking too much CPU time. How can I fix it?] | |||
On my Ubuntu machine (20.04), I found the machine's HDD led is very busy. When I used grafana to monitor, it can be seen the disk I/O dropped to 0 after I disable dropbox daemon. | |||
[[File:DisableDropbox4pm.png|250px]] | |||
= Photos = | = Photos = | ||
* [http://lifehacker.com/lifehacker-faceoff-google-photos-vs-flickr-1712446747 Google Photos vs. Flickr] | * [http://lifehacker.com/lifehacker-faceoff-google-photos-vs-flickr-1712446747 Google Photos vs. Flickr] | ||
* [http://lifehacker.com/how-aperture-shutter-speed-and-iso-affect-pictures-sh-1699204484 How Aperture, Shutter Speed, and ISO Affect Your Photos] | * [http://lifehacker.com/how-aperture-shutter-speed-and-iso-affect-pictures-sh-1699204484 How Aperture, Shutter Speed, and ISO Affect Your Photos] | ||
= License = | |||
* [https://www.makeuseof.com/tag/creative-commons-use/ What Is Creative Commons and Non-Commercial Use?] | |||
* [[R_packages#license|R packages -> License]] | |||
= Open source = | |||
* [https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1009481 Ten simple rules on writing clean and reliable open-source scientific software] | |||
* [https://opensource.com/article/20/5/write-about-open-source-software How to write about open source software] | |||
* [https://wiki.opensourceisawesome.com/books/what-i-use-day-to-day/page/the-software-i-use-in-2023 The Software I use in 2023] from opensourceisawesome | |||
** 2024 [https://www.youtube.com/watch?v=6t5BQRQJIVY Part 1] | |||
* [https://www.howtogeek.com/897598/misconceptions-about-open-source-software/ 7 Misconceptions About Open Source Software] | |||
= Difference Between Development, Stage, And Production = | |||
[https://dev.to/flippedcoding/difference-between-development-stage-and-production-d0p Difference Between Development, Stage, And Production] 4 tiers | |||
* development is what you have on your local machine | |||
* stage: not stable, built with the last contributions from git | |||
* QA: same data as production (optional) | |||
* production | |||
On NIH, it is Dev -> QA -> Stage -> Prod. | |||
There are different definitions. On [https://docs.microsoft.com/en-us/biztalk/technical-guides/planning-the-development-testing-staging-and-production-environments microsoft], it follows this process: | |||
* Development | |||
* Testing | |||
* Staging | |||
* Production |
Latest revision as of 21:30, 14 September 2024
Software design
Reading notes on A Philosophy of Software Design by John Ousterhout
Data structure and algorithms
7 Websites to Practice Data Structure & Algorithm Coding Challenges
- LeetCode
- HackerRank
- Codewars
- Codility
- HackerEarth
- Techie Delight
- InterviewBit
GUI testing tools
https://en.wikipedia.org/wiki/List_of_GUI_testing_tools
Testing
Developing Usable Software
- Ten Simple Rules for Developing Usable Software in Computational Biology
- Ten simple rules for writing a paper about scientific software
- Ten simple rules for training scientists to make better software
UI design
- The Top 11 Tools You Should Master as a UI/UX Designer
- 10 Reasons Why Designing in Grayscale Will Improve Your UX/UI Designs
VLC keyboard shortcut
- Alt + arrows => skip 10 seoncds
- +, - (no shift needed) => play faster, slower
- M => toggle mute
FreeMind
Java based program
Install:
- Install FreeMind on Mac OSX. This essentially download FreeMind_1.0.1.dmg. I can just download the general binary file and launch it directly bash ~/Downloads/freemind-bin-max-1.0.1/freemind.sh . But remember don't try to launch the program twice.
- How To Install FreeMind 1.0.1 on Ubuntu 18.10, Ubuntu 18.04
$ sudo apt install snapd $ sudo snap install freemind # Optional, to remove freemind, do: $ sudo apt remove freemind
Tips:
- Create graphical links between two nodes. To do so, mark a node and drag to another node holding both shift and control keys, and releasing the mouse button first. You can edit some properties of this link by right-clicking on the line between them.
- FAQ
- Move node around?
- GraphViz mediawiki extension.
- How To Install And Use Graphviz On Ubuntu. After installing graphviz, new binaries like dot are under /usr/bin.
Examples: Mind Maps by Vladimir Toncar
Freeplane
coggle.it
unison
http://code.google.com/p/winison/
Evernote
- http://lifehacker.com/5964285/whats-all-the-fuss-about-evernote-why-do-people-use-it
- http://lifehacker.com/5989980/ive-been-using-evernote-all-wrong-heres-why-its-actually-amazing
- http://lifehacker.com/paperwork-is-an-evernote-alternative-you-can-host-yours-1693856130 Paperwork Is an Evernote Alternative You Can Host Yourself
- Joplin: The True Open Source Evernote Alternative
To find out the source of a web clip, click the Note Info icon at the top.
Tusk
Dropbox
- Favorite files for offline reading on mobile devices
- Use Dropbox as your default Document folder
- Email files to dropbox as attachment
- Get more stoage for free
- Maintain firefox settings across different computers
- Upload files to Dropbox via URL - URL droplet
- Download torrents remotely
- Maintain two dropbox accounts - Dropbox wiki
- Backup your web site - Backup Box
- Host web page - DropPages or Pancake.io
Ubuntu
- From the official website:
- How to Install Dropbox on a Headless Ubuntu Server 2020
- How to install Dropbox GUI or Headless on Ubuntu 20.04 LTS (works)
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - ~/.dropbox-dist/dropboxd sudo wget -O /etc/systemd/system/[email protected] \ https://raw.githubusercontent.com/joeroback/dropbox/master/dropbox%40.service sudo systemctl enable dropbox@$(whoami) sudo systemctl start dropbox@$(whoami) sudo systemctl status dropbox@$(whoami) curl -LO https://www.dropbox.com/download?dl=packages/dropbox.py sudo mv dropbox.py /opt/ sudo ln -s /opt/dropbox.py /usr/bin/dropbox sudo dropbox update
Question: how to know there is a new update?
- Some command-line examples
- Dropbox very high CPU usage without any actual data transfer, Dropbox is taking too much CPU time. How can I fix it?
On my Ubuntu machine (20.04), I found the machine's HDD led is very busy. When I used grafana to monitor, it can be seen the disk I/O dropped to 0 after I disable dropbox daemon.
Photos
License
Open source
- Ten simple rules on writing clean and reliable open-source scientific software
- How to write about open source software
- The Software I use in 2023 from opensourceisawesome
- 2024 Part 1
- 7 Misconceptions About Open Source Software
Difference Between Development, Stage, And Production
Difference Between Development, Stage, And Production 4 tiers
- development is what you have on your local machine
- stage: not stable, built with the last contributions from git
- QA: same data as production (optional)
- production
On NIH, it is Dev -> QA -> Stage -> Prod.
There are different definitions. On microsoft, it follows this process:
- Development
- Testing
- Staging
- Production