
Science vs. Faith flowchart
simple journal of mine as a UNIX engineer
1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
2. Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don’t hesitate to throw away the clumsy parts and rebuild them.
4. Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you’ve finished using them.
- Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition.
Learn new skills,
Unlearn old ones.
Adapt to the changes of your organization,join a different department,climb the ladder etc.
Avoid,avoid Outsourcing companies,avoid IT in a specific industry which are highly expose to global market trends etc.
Virtual machines can be used to
consolidate the workloads of several under-utilized servers to fewer
machines, perhaps a single machine (server consolidation). Related
benefits (perceived or real, but often cited by vendors) are savings
on hardware, environmental costs, management, and administration of
the server infrastructure.
The need to run legacy
applications is served well by virtual machines. A legacy
application might simply not run on newer hardware and/or operating
systems. Even if it does, if may under-utilize the server, so as
above, it makes sense to consolidate several applications. This may
be difficult without virtualization as such applications are usually
not written to co-exist within a single execution environment
(consider applications with hard-coded System V IPC keys, as a
trivial example).
Virtual machines can be used to
provide secure, isolated sandboxes for running untrusted
applications. You could even create such an execution environment
dynamically - on the fly - as you download something from the
Internet and run it. You can think of creative schemes, such as
those involving address obfuscation. Virtualization is an important
concept in building secure computing platforms.
Virtual machines can be used to
create operating systems, or execution environments with resource
limits, and given the right schedulers, resource guarantees.
Partitioning usually goes hand-in-hand with quality of service in
the creation of QoS-enabled operating systems.
Virtual machines can provide the
illusion of hardware, or hardware configuration that you do not have
(such as SCSI devices, multiple processors, ...) Virtualization can
also be used to simulate networks of independent computers.
Virtual machines can be used to
run multiple operating systems simultaneously: different versions,
or even entirely different systems, which can be on hot standby.
Some such systems may be hard or impossible to run on newer real
hardware.
Virtual machines allow for
powerful debugging and performance monitoring. You can put such
tools in the virtual machine monitor, for example. Operating systems
can be debugged without losing productivity, or setting up more
complicated debugging scenarios.
Virtual machines can isolate what
they run, so they provide fault and error containment. You can
inject faults proactively into software to study its subsequent
behavior.
Virtual machines make software
easier to migrate, thus aiding application and system mobility.
You can treat application suites
as appliances by "packaging" and running each in a virtual
machine.
Virtual machines are great tools
for research and academic experiments. Since they provide isolation,
they are safer to work with. They encapsulate the entire state of a
running system: you can save the state, examine it, modify it,
reload it, and so on. The state also provides an abstraction of the
workload being run.
Virtualization can enable existing
operating systems to run on shared memory multiprocessors.
Virtual machines can be used to
create arbitrary test scenarios, and can lead to some very
imaginative, effective quality assurance.
Virtualization can be used to
retrofit new features in existing operating systems without "too
much" work.
Virtualization can make tasks such
as system migration, backup, and recovery easier and more
manageable.
Virtualization can be an effective
means of providing binary compatibility.
Virtualization on commodity
hardware has been popular in co-located hosting. Many of the above
benefits make such hosting secure, cost-effective, and appealing in
general.
Virtualization is fun.
Keystroke | Function |
C (pressed during startup) | Start from a CD that has a system folder |
N (pressed during startup) | Start from a compatible network server |
T (pressed during startup) | Start in FireWire Target Disk mode |
X (pressed during startup) | Force Mac OS X startup |
Option (pressed during startup) | Open the Startup Manager |
Shift (pressed during startup) | Start in Safe Boot mode (Mac OC X 10.2 or later) |
Command + ' | Move through the current application's windows |
Command + , | Open current application's Preferences dialog box (won't work for all applications) |
Command + [ | Back |
Command + ] | Forward |
Command + ? | Open Mac Help |
Command + 1 | View the active window as Icons |
Command + 2 | View the active window as List |
Command + 3 | View the active window as Columns |
Command + A | Select All |
Command + B | Hide Toolbar |
Command + C | Copy |
Command + D | Duplicate Open the Desktop folder |
Command + E | Eject |
Command + F | Find |
Command + H | Hide the current application |
Command + I | Get Info on the selected items |
Command + J | Open the View Option dialog box |
Command + K | Open the Connect to Server dialog box |
Command + L | Make alias(es) for the selected item(s) |
Command + M | Minimize the active window to the Dock |
Command + N | Open a new Finder window |
Command + O | Open |
Command + P | Print |
Command + R | Show Original of the selected alias |
| 70+ Keyboard shortcuts to move faster in Apple Mac OS X |
Command + S | Save Start in Single-User mode (when pressed during startup) |
Command + T | Add to Favorites Open the active application's Font palette |
Command + V | Paste Start in Verbose mode (when pressed during startup) |
Command + W | Close the active window |
Command + X | Cut |
Command + Z | Undo |
Command + Delete | Move the selected item(s) to Trash |
Command + Space | Open the Spotlight (Mac OS X 10.4 or later) |
Command + Tab | Move forward through the running applications |
Command + Control + Eject | Close all applications and restart (prompts to save open documents) |
Command + Option + D | Show/Hide the Dock |
Command + Option + H | Hide all but the active application |
Command + Option + I | Open Attributes Inspector |
Command + Option + M | Minimize all windows to the Dock |
Command + Option + W | Close all windows |
Command + Option + Esc | Open the Force Quit window |
Command + Option + Eject | Sleep |
Command + Shift + 3 | Take a screenshot of the current screen |
Command + Shift + 4 | Take a screenshot of the selection |
Command + Shift + A | Open the Applications folder |
Command + Shift + C | Open the Computer folder Open the active application's Colors palette |
Command + Shift + F | Open the Favorites folder |
Command + Shift + G | Open the GoTo Folder dialog box |
Command + Shift + H | Open the Home folder |
Command + Shift + I | Open the iDisk |
Command + Shift + N | Open a new Folder on the Desktop or active Finder window |
Command + Shift + S | Save As |
Command + Shift + Q | Log out (displays confirmation dialog box) |
Command + Shift + Delete | Empty Trash (display confirmation dialog box) |
Command + Shift + Tab | Move backwards through the running applications |
Command + Shift + Option + Q | Log out immediately (no confirmation dialog box) |
Command + Shift + Option + Delete | Empty Trash (no confirmation dialog box) Bypass primary startup volume and look for a different startup volume (pressed during startup) |
Control + Eject | Open the Restart, Sleep, Shutdown dialog box |
Control + F1 | Activate Full Keyboard Access |
Control + F2 (Full Keyboard Access mode) | Select Menu |
Control + F3 (Full Keyboard Access mode) | Select Dock |
Control + F4 (Full Keyboard Access mode) | Select the active or the |
Control + F5 (Full Keyboard Access mode) | Select Toolbar |
Control + F6 (Full Keyboard Access mode) | Select Utility window |
Option + Volume Up | Open the Sound preferences window |
Option + Volume Down | Open the Sound preferences window |
Option + Mute | Open the Sound preferences window |
Option + Brightness Up | Open the Display preferences window |
Option + Brightness Down | Open the Display preferences window |
A Parody of the Apple Switch commercials an idiot whom wanna tell the world that Apple Mac is suck |