Software: Difference between revisions
Line 1: | Line 1: | ||
= Software design = | = 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] | [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 = |
Revision as of 20:38, 29 October 2023
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
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
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
- 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