How to assign TAB to indentation and to yasnippet expand key

Question: i'm trying to have the key TAB to:

Indent my code (like in any other text editor)
Trigger Yasnippet

I have theses lines in my config:
<code>(global-set-key (kbd "TAB") 'yas-expand)
(global-set-key (kbd "TAB") 'self-insert-command);
</code>
When i comment one, the other work perfectly, but when i uncomment both, only the last one work. Is it possible to have two functions assign to the same key and emacs know when it should use one instead of the other ?
Note: If i comment both lines, neither indent or yas-expand work :(
When i comment both line, writing a snippet and pressing TAB doesn't expand it. If i press TAB anywhere in my code, it doesn't add a tabulation.
With only one line uncommented, the function work perfectly.
With two lines uncommented, only the last line work (i guess it override the other as i use the same key).
When i press C-h k TAB, i have this with both lines commented:

tab runs the command widget-forward (found in spacemacs-buffer-mode-map),
  which is an interactive compiled Lisp function in 'wid-edit.el'.
It is bound to TAB, J, ,  TAB.
(widget-forward ARG)
Move point to the next field or button.
  With optional ARG, move across that many fields.

My config file (note that i use Spacemacs, a special version of Emacs):
<code>;; -*- mode: emacs-lisp -*-
;; This file is loaded by Spacemacs at startup.
;; It must be stored in your home directory.

(defun dotspacemacs/layers ()
  "Configuration Layers declaration.
You should not put any user code in this function besides modifying the variable
values."
  (setq-default
   ;; Base distribution to use. This is a layer contained in the directory
   ;; `+distribution'. For now available distributions are `spacemacs-base'
   ;; or `spacemacs'. (default 'spacemacs)
   dotspacemacs-distribution 'spacemacs
   ;; Lazy installation of layers (i.e. layers are installed only when a file
   ;; with a supported type is opened). Possible values are `all', `unused'
   ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers
   ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will
   ;; lazy install any layer that support lazy installation even the layers
   ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy
   ;; installation feature and you have to explicitly list a layer in the
   ;; variable `dotspacemacs-configuration-layers' to install it.
   ;; (default 'unused)
   dotspacemacs-enable-lazy-installation 'unused
   ;; If non-nil then Spacemacs will ask for confirmation before installing
   ;; a layer lazily. (default t)
   dotspacemacs-ask-for-lazy-installation t
   ;; If non-nil layers with lazy install support are lazy installed.
   ;; List of additional paths where to look for configuration layers.
   ;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
   dotspacemacs-configuration-layer-path '()
   ;; List of configuration layers to load.
   dotspacemacs-configuration-layers
   '(
     python
     c-c++
     ;; ----------------------------------------------------------------
     ;; Example of useful layers you may want to use right away.
     ;; Uncomment some layer names and press <SPC f e R> (Vim style) or
     ;; <M-m f e R> (Emacs style) to install them.
     ;; ----------------------------------------------------------------
     helm
     auto-completion
     ;; better-defaults
     emacs-lisp
     ;; git
     ;; markdown
     ;; org
     ;; (shell :variables
     ;;        shell-default-height 30
     ;;        shell-default-position 'bottom)
     ;; spell-checking
     syntax-checking
     ;; version-control
     latex
     themes-megapack
     )
   ;; List of additional packages that will be installed without being
   ;; wrapped in a layer. If you need some configuration for these
   ;; packages, then consider creating a layer. You can also put the
   ;; configuration in `dotspacemacs/user-config'.
   dotspacemacs-additional-packages '()
   ;; A list of packages that cannot be updated.
   dotspacemacs-frozen-packages '()
   ;; A list of packages that will not be installed and loaded.
   dotspacemacs-excluded-packages '()
   ;; Defines the behaviour of Spacemacs when installing packages.
   ;; Possible values are `used-only', `used-but-keep-unused' and `all'.
   ;; `used-only' installs only explicitly used packages and uninstall any
   ;; unused packages as well as their unused dependencies.
   ;; `used-but-keep-unused' installs only the used packages but won't uninstall
   ;; them if they become unused. `all' installs *all* packages supported by
   ;; Spacemacs and never uninstall them. (default is `used-only')
   dotspacemacs-install-packages 'used-only))

(defun dotspacemacs/init ()
  "Initialization function.
This function is called at the very startup of Spacemacs initialization
before layers configuration.
You should not put any user code in there besides modifying the variable
values."
  ;; This setq-default sexp is an exhaustive list of all the supported
  ;; spacemacs settings.
  (setq-default
   ;; If non nil ELPA repositories are contacted via HTTPS whenever it's
   ;; possible. Set it to nil if you have no way to use HTTPS in your
   ;; environment, otherwise it is strongly recommended to let it set to t.
   ;; This variable has no effect if Emacs is launched with the parameter
   ;; `--insecure' which forces the value of this variable to nil.
   ;; (default t)
   dotspacemacs-elpa-https t
   ;; Maximum allowed time in seconds to contact an ELPA repository.
   dotspacemacs-elpa-timeout 5
   ;; If non nil then spacemacs will check for updates at startup
   ;; when the current branch is not `develop'. Note that checking for
   ;; new versions works via git commands, thus it calls GitHub services
   ;; whenever you start Emacs. (default nil)
   dotspacemacs-check-for-update nil
   ;; If non-nil, a form that evaluates to a package directory. For example, to
   ;; use different package directories for different Emacs versions, set this
   ;; to `emacs-version'.
   dotspacemacs-elpa-subdirectory nil
   ;; One of `vim', `emacs' or `hybrid'.
   ;; `hybrid' is like `vim' except that `insert state' is replaced by the
   ;; `hybrid state' with `emacs' key bindings. The value can also be a list
   ;; with `:variables' keyword (similar to layers). Check the editing styles
   ;; section of the documentation for details on available variables.
   ;; (default 'vim)
   dotspacemacs-editing-style 'nil
   ;; If non nil output loading progress in `*Messages*' buffer. (default nil)
   dotspacemacs-verbose-loading nil
   ;; Specify the startup banner. Default value is `official', it displays
   ;; the official spacemacs logo. An integer value is the index of text
   ;; banner, `random' chooses a random text banner in `core/banners'
   ;; directory. A string value must be a path to an image format supported
   ;; by your Emacs build.
   ;; If the value is nil then no banner is displayed. (default 'official)
   dotspacemacs-startup-banner 'official
   ;; List of items to show in startup buffer or an association list of
   ;; the form `(list-type . list-size)`. If nil then it is disabled.
   ;; Possible values for list-type are:
   ;; `recents' `bookmarks' `projects' `agenda' `todos'."
   ;; List sizes may be nil, in which case
   ;; `spacemacs-buffer-startup-lists-length' takes effect.
   dotspacemacs-startup-lists '((recents . 5)
                                (projects . 7))
   ;; True if the home buffer should respond to resize events.
   dotspacemacs-startup-buffer-responsive t
   ;; Default major mode of the scratch buffer (default `text-mode')
   dotspacemacs-scratch-mode 'text-mode
   ;; List of themes, the first of the list is loaded when spacemacs starts.
   ;; Press <SPC> T n to cycle to the next theme in the list (works great
   ;; with 2 themes variants, one dark and one light)
   dotspacemacs-themes '(spacemacs-dark
                         spacemacs-light)
   ;; If non nil the cursor color matches the state color in GUI Emacs.
   dotspacemacs-colorize-cursor-according-to-state t
   ;; Default font, or prioritized list of fonts. `powerline-scale' allows to
   ;; quickly tweak the mode-line size to make separators look not too crappy.
   dotspacemacs-default-font '("Source Code Pro"
                               :size 13
                               :weight normal
                               :width normal
                               :powerline-scale 1.1)
   ;; The leader key
   dotspacemacs-leader-key "SPC"
   ;; The key used for Emacs commands (M-x) (after pressing on the leader key).
   ;; (default "SPC")
   dotspacemacs-emacs-command-key "SPC"
   ;; The key used for Vim Ex commands (default ":")
   dotspacemacs-ex-command-key ":"
   ;; The leader key accessible in `emacs state' and `insert state'
   ;; (default "M-m")
   dotspacemacs-emacs-leader-key "M-m"
   ;; Major mode leader key is a shortcut key which is the equivalent of
   ;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",")
   dotspacemacs-major-mode-leader-key ","
   ;; Major mode leader key accessible in `emacs state' and `insert state'.
   ;; (default "C-M-m")
   dotspacemacs-major-mode-emacs-leader-key "C-M-m"
   ;; These variables control whether separate commands are bound in the GUI to
   ;; the key pairs C-i, TAB and C-m, RET.
   ;; Setting it to a non-nil value, allows for separate commands under <C-i>
   ;; and TAB or <C-m> and RET.
   ;; In the terminal, these pairs are generally indistinguishable, so this only
   ;; works in the GUI. (default nil)
   dotspacemacs-distinguish-gui-tab nil
   ;; If non nil `Y' is remapped to `y$' in Evil states. (default nil)
   dotspacemacs-remap-Y-to-y$ nil
   ;; If non-nil, the shift mappings `<' and `>' retain visual state if used
   ;; there. (default t)
   dotspacemacs-retain-visual-state-on-shift t
   ;; If non-nil, J and K move lines up and down when in visual mode.
   ;; (default nil)
   dotspacemacs-visual-line-move-text nil
   ;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command.
   ;; (default nil)
   dotspacemacs-ex-substitute-global nil
   ;; Name of the default layout (default "Default")
   dotspacemacs-default-layout-name "Default"
   ;; If non nil the default layout name is displayed in the mode-line.
   ;; (default nil)
   dotspacemacs-display-default-layout nil
   ;; If non nil then the last auto saved layouts are resume automatically upon
   ;; start. (default nil)
   dotspacemacs-auto-resume-layouts nil
   ;; Size (in MB) above which spacemacs will prompt to open the large file
   ;; literally to avoid performance issues. Opening a file literally means that
   ;; no major mode or minor modes are active. (default is 1)
   dotspacemacs-large-file-size 1
   ;; Location where to auto-save files. Possible values are `original' to
   ;; auto-save the file in-place, `cache' to auto-save the file to another
   ;; file stored in the cache directory and `nil' to disable auto-saving.
   ;; (default 'cache)
   dotspacemacs-auto-save-file-location 'cache
   ;; Maximum number of rollback slots to keep in the cache. (default 5)
   dotspacemacs-max-rollback-slots 5
   ;; If non nil, `helm' will try to minimize the space it uses. (default nil)
   dotspacemacs-helm-resize nil
   ;; if non nil, the helm header is hidden when there is only one source.
   ;; (default nil)
   dotspacemacs-helm-no-header nil
   ;; define the position to display `helm', options are `bottom', `top',
   ;; `left', or `right'. (default 'bottom)
   dotspacemacs-helm-position 'bottom
   ;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching
   ;; in all non-asynchronous sources. If set to `source', preserve individual
   ;; source settings. Else, disable fuzzy matching in all sources.
   ;; (default 'always)
   dotspacemacs-helm-use-fuzzy 'always
   ;; If non nil the paste micro-state is enabled. When enabled pressing `p`
   ;; several times cycle between the kill ring content. (default nil)
   dotspacemacs-enable-paste-transient-state nil
   ;; Which-key delay in seconds. The which-key buffer is the popup listing
   ;; the commands bound to the current keystroke sequence. (default 0.4)
   dotspacemacs-which-key-delay 0.4
   ;; Which-key frame position. Possible values are `right', `bottom' and
   ;; `right-then-bottom'. right-then-bottom tries to display the frame to the
   ;; right; if there is insufficient space it displays it at the bottom.
   ;; (default 'bottom)
   dotspacemacs-which-key-position 'bottom
   ;; If non nil a progress bar is displayed when spacemacs is loading. This
   ;; may increase the boot time on some systems and emacs builds, set it to
   ;; nil to boost the loading time. (default t)
   dotspacemacs-loading-progress-bar t
   ;; If non nil the frame is fullscreen when Emacs starts up. (default nil)
   ;; (Emacs 24.4+ only)
   dotspacemacs-fullscreen-at-startup nil
   ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
   ;; Use to disable fullscreen animations in OSX. (default nil)
   dotspacemacs-fullscreen-use-non-native nil
   ;; If non nil the frame is maximized when Emacs starts up.
   ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
   ;; (default nil) (Emacs 24.4+ only)
   dotspacemacs-maximized-at-startup nil
   ;; A value from the range (0..100), in increasing opacity, which describes
   ;; the transparency level of a frame when it's active or selected.
   ;; Transparency can be toggled through `toggle-transparency'. (default 90)
   dotspacemacs-active-transparency 90
   ;; A value from the range (0..100), in increasing opacity, which describes
   ;; the transparency level of a frame when it's inactive or deselected.
   ;; Transparency can be toggled through `toggle-transparency'. (default 90)
   dotspacemacs-inactive-transparency 90
   ;; If non nil show the titles of transient states. (default t)
   dotspacemacs-show-transient-state-title t
   ;; If non nil show the color guide hint for transient state keys. (default t)
   dotspacemacs-show-transient-state-color-guide t
   ;; If non nil unicode symbols are displayed in the mode line. (default t)
   dotspacemacs-mode-line-unicode-symbols t
   ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth
   ;; scrolling overrides the default behavior of Emacs which recenters point
   ;; when it reaches the top or bottom of the screen. (default t)
   dotspacemacs-smooth-scrolling t
   ;; If non nil line numbers are turned on in all `prog-mode' and `text-mode'
   ;; derivatives. If set to `relative', also turns on relative line numbers.
   ;; (default nil)
   dotspacemacs-line-numbers nil
   ;; Code folding method. Possible values are `evil' and `origami'.
   ;; (default 'evil)
   dotspacemacs-folding-method 'evil
   ;; If non-nil smartparens-strict-mode will be enabled in programming modes.
   ;; (default nil)
   dotspacemacs-smartparens-strict-mode nil
   ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
   ;; over any automatically added closing parenthesis, bracket, quote, etc…
   ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
   dotspacemacs-smart-closing-parenthesis nil
   ;; Select a scope to highlight delimiters. Possible values are `any',
   ;; `current', `all' or `nil'. Default is `all' (highlight any scope and
   ;; emphasis the current one). (default 'all)
   dotspacemacs-highlight-delimiters 'all
   ;; If non nil, advise quit functions to keep server open when quitting.
   ;; (default nil)
   dotspacemacs-persistent-server nil
   ;; List of search tool executable names. Spacemacs uses the first installed
   ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
   ;; (default '("ag" "pt" "ack" "grep"))
   dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
   ;; The default package repository used if no explicit repository has been
   ;; specified with an installed package.
   ;; Not used for now. (default nil)
   dotspacemacs-default-package-repository nil
   ;; Delete whitespace while saving buffer. Possible values are `all'
   ;; to aggressively delete empty line and long sequences of whitespace,
   ;; `trailing' to delete only the whitespace at end of lines, `changed'to
   ;; delete only whitespace for changed lines or `nil' to disable cleanup.
   ;; (default nil)
   dotspacemacs-whitespace-cleanup nil

   ))

(defun dotspacemacs/user-init ()
  "Initialization function for user code.
It is called immediately after `dotspacemacs/init', before layer configuration
executes.
 This function is mostly useful for variables that need to be set
before packages are loaded. If you are unsure, you should try in setting them in
`dotspacemacs/user-config' first."
  )

(defun dotspacemacs/user-config ()
  "Configuration function for user code.
This function is called at the very end of Spacemacs initialization after
layers configuration.
This is the place where most of your configurations should be done. Unless it is
explicitly specified that a variable should be set before a package is loaded,
you should place your code here."
  ;;(global-set-key (kbd "TAB") 'yas-expand)
  (global-set-key (kbd "M-/") (kbd "\\"))
  ;;(global-set-key (kbd "TAB") 'self-insert-command);
  (setq-default mac-right-option-modifier nil)
  )

;; Do not write anything past this comment. This is where Emacs will
;; auto-generate custom variable definitions.
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages
   (quote
    (disaster company-c-headers cmake-mode clang-format zonokai-theme zenburn-theme zen-and-art-theme underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme tronesque-theme toxi-theme tao-theme tangotango-theme tango-plus-theme tango-2-theme sunny-day-theme sublime-themes subatomic256-theme subatomic-theme spacegray-theme soothe-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme seti-theme reverse-theme railscasts-theme purple-haze-theme professional-theme planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme pastels-on-dark-theme organic-green-theme omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme niflheim-theme naquadah-theme mustang-theme monokai-theme monochrome-theme molokai-theme moe-theme minimal-theme material-theme majapahit-theme lush-theme light-soap-theme jbeans-theme jazz-theme ir-black-theme inkpot-theme heroku-theme hemisu-theme hc-zenburn-theme gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme gandalf-theme flatui-theme flatland-theme firebelly-theme farmhouse-theme espresso-theme dracula-theme django-theme darktooth-theme darkokai-theme darkmine-theme darkburn-theme dakrone-theme cyberpunk-theme color-theme-sanityinc-tomorrow color-theme-sanityinc-solarized clues-theme cherry-blossom-theme busybee-theme bubbleberry-theme birds-of-paradise-plus-theme badwolf-theme apropospriate-theme anti-zenburn-theme ample-zen-theme ample-theme alect-themes afternoon-theme flycheck-pos-tip pos-tip flycheck yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode helm-pydoc cython-mode company-anaconda anaconda-mode pythonic helm-company helm-c-yasnippet company-statistics company-auctex company auto-yasnippet yasnippet auctex ac-ispell auto-complete ws-butler window-numbering which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint info+ indent-guide ido-vertical-mode hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation hide-comnt help-fns+ helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed dash aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async quelpa package-build spacemacs-theme)))
 '(send-mail-function (quote sendmail-send-it)))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )
</code>
Comment: Does it work if you comment both? I think it should, i.e., yasnippet already configures TAB like this by default.
Comment: Can you give an example those things "not working" with both settings commented? Note that by default, `yas-expand` does not expand any snippets when point is not after a snippet abbrev key, and indentation may do nothing if the indentation function determines that the current indentation is correct.
Answer: I realize this is old, but try
set <code>auto-completion-tab-key-behavior</code> nil in the autocompletion layer.
put <code>(global-set-key (kbd "TAB") 'hippie-expand)</code> in your <code>spacemacs/user-config</code>
From https://github.com/syl20bnr/spacemacs/issues/4245
Comment: hippie-expand is a different beast to ya-snippets and this would remove any indent and ya-snippet functionality.
Comment: +1 because, although RichieHH might be right (don't know much about the details), `hippie-expand` is the function Spacemacs (develop) uses for snippet-expansion (the `M-/` keybinding described [here](https://develop.spacemacs.org/layers/+completion/auto-completion/README.html#yasnippet). If that is wrong usage, then Spacemacs is wrong, but the advice here seems valid to me.


Flight operator says sold out, codeshare says not sold out

Question: I'm looking to book a trans-Atlantic flight. My options are basically United and Lufthansa; each operates some flights, and each sells tickets on the other's flights. For one leg operated by United, Lufthansa has a premium economy ticket available on their site, but only if I book as a round-trip (if I try multi-city it says premium economy is sold out). United, on the other hand, says the premium economy is sold out on their site, and as the operator I assume they'd have the most up-to-date info. Is this just a website glitch, or is it possible that the premium fare is in fact still available?
Comment: When is the flight?  Specifically, before or after March 30?
Comment: @Doc Before. Why?
Answer: Apparently Lufthansa is a little confused in some way or another.
United Airlines has only recently started rolling out Premium Economy to it's aircraft, and will only launch this class on March 30, 2019, and even then only on a few select routes. Whilst it IS possible to purchase tickets in Premium Economy (and has been since early December), they are only for sale on flights on/after March 30.
As your flight is before March 30, United is not selling ANY tickets for Premium Economy, and nor are such sales available to their partner airlines, including Lufthansa.
Comment: Thanks. How does economy plus fit into this? Is that considered a standard economy ticket with an upgrade, or is it a different fare class?
Comment: Economy plus is a standard Economy ticket, yes, not a separate cabin/ticket class.  You can then pay more to select a seat in the Economy Plus section (or get it for free if you have status with United)
Answer: Always, always trust the operating carrier over a codeshare partner in this regard.  They know best what inventory they have.
Comment: Not necessarily.  Sometimes a codeshare partner will have an allocation of seats that they "own", at least until a certain period of time before the flight.  So it's actually possible that the operating carrier can be sold out, whilst the marketing carrier does have seats available.  UA/LH don't work this way, and it's not the case here, but in a generic case it's possible.
Comment: @Doc How likely is it?  Seems to me that all but the savviest ticket buyers should assume the worst if the operating carrier isn't selling inventory.  After all, most airlines will overbook, so even being sold out doesn't mean that an airline wouldn't sell a ticket.
Comment: @JimMacKenzie often the codeshare partner will have locked down the seat until a set period before departure. If this is a week (for example) the seat would show as unavailable on the carrier's booking system until a week before departure, then become open there if not yet booked via the codeshare partner. If not sold, it becomes available for filling a double booking through either.


Windows 7: Creating shortcuts to folders and pinning them

Question: I need a system for having instant access to particular directories while not taking up too much screen space (ie: IMO, object dock is too obtrusive). At this point I am making short cuts to various "most used" folders onto my desktop... I need a better system.
Answer: A few ideas from lifehacker:
medalfolders puts all your favorite locations two clicks away in the system tray.
folder-guide adds user-defined folders to your right-click menu for quick, easy access to any number of favorite folders.
direct-folders jumps quickly to any folder on your filesystem .
folder-menu adds quick access to your favorite applications and folders through a popup navigation menu—and it even works in those irritating File Open dialogs.
Answer: If you are using Windows 7, it's really easy to quickly access your folders without installing any applications. First of all, make sure that you have Windows Explorer pinned to the taskbar (it is there by default).
If it is there, open it and navigate to the folder you want to access with ease. Select the folder and simply drag-and-drop it's icon onto the Windows Explorer icon in the taskbar.
After you pinned all the folders you need, you can quickly access them by right-clicking on the icon of Windows Explorer on the taskbar. You will see the folders under the 'Pinned' section on the top. You can rearrange these by drag-and-drop.
See images here: IMAGES
Comment: Now that I think about it, this is the best solution. +1
Answer: Have a look at Anvir Task Manager Free. Among tons of other useful features, you can access your favorite (Add Folder To This List) and most recent locations from the system tray:

A portable version is also available.
Answer: Here is a nice trick to pin individual folders to the taskbar in Windows 7.
Basically you create an empty .txt file, the rename it to .exe. Right click it and select "Pin to taskbar".
Once it's done right click the new "pin" and change the shortcut to the folder that you wish.


Was this considered a stalemate?

Question: I'm new at chess and still learning the rules. The other day I was playing a friend of mine, and it got to the point where I had only my king and queen and he had only his king and bishop. I forgot the exactly how we got to this point, but when we did, he said it would be stalemate and result in a draw. I argued that we keep playing and I wound up putting him in checkmate. He didn't make any fatal or illegal moves; I just beat him. My question is, why would this be a draw if I could win? Everything I find says that when either side has only a king and bishop/knight it results in a draw. Of course I may have misunderstood, but it seems like one side can get punished for simply taking out the other sides pieces.
Comment: Your friend was wrong. You have every right to play on in this situation.
Comment: You can win by force, but you have 50 moves in which to do it, unless a piece is captured or a (non-existent) pawn is moved, which resets to counter.
Comment: Queen + king vs King + bishop is won endgame for the side with the queen. You have every right to play for a win.
Comment: It's a draw when one side has only a king and bishop _and the other side has only a king_. Then checkmate isn't possible. In your case it obviously was.
Comment: Although the question might have been worded a bit more clearly, the questioner indicated that he's new to the game. I noticed that it had 2 down-votes, so I've up-voted it in order to at least partly balance them. The question shows research on his part, is reasonable and useful for beginners, and is fairly clear.
Answer: If I understand well you had a king and a queen, and your opponent a king and a bishop.
It is not a stalemate nor a draw, unless you reach a position like this one, for example:
<code>[fen "8/8/8/8/8/6K1/8/5Qbk b - - 0 1"]
</code>
A stalemate occurs whenever the player having the turn has no legal moves and he's not under check.
A draw happens when there's no sequence of legal moves (even if they are absurd ones) than can lead to a checkmate, when the same position is repeated at least three times, or when at least 50 moves have been done without a pawn move or a capture.
Comment: [This](http://meta.chess.stackexchange.com/questions/279/tool-used-to-create-chess-analysis-interactive-diagrams-in-many-chess-stack-exch/280#280) should help...
Comment: @AlwaysLearningNewStuff thanks for the edit! I was looking the site for help about inserting FEN and PGN diagrams and I could not find it
Comment: That's a mate in 1, but perhaps you meant with black to move.
Comment: it's black to move, FEN has this information but the diagram doesn't show it
Comment: It might be better to set up the diagram with White to move, in a situation where Black's bishop has just forked white's king and queen, and where white's capture of the bishop would result in stalemate.  To be sure, capturing the bishop at that point wouldn't really be better or worse than anything else White could do, since alternatives that drop the queen would yield a draw anyway, but setting up a plausible move before a stalemate could improve the explanation.

Was this considered a stalemate?


How to compute Gabor feature vector?

Question:
I'm working on semi automatic texture segmentation using level set and gabor feature vector described by Manjunath und Ma [1]. I consider their feature representation is better than others since I can get good result on several images but somehow performs really bad on other images data. So I guess there's something wrong with my understanding.
They describe that the feature vectors consist of $\mu_{mn}$ (mean) and $\sigma_{mn}$ (standard deviation). I use scale $S = 4$ and orientation $K = 6$, thus my feature vector will be 48 dimension (4 * 6 * 2 = 48):
$f = \{  \mu_{00}, \sigma_{00}, \mu_{01}, \sigma_{01}, \mu_{02}...\mu_{35}, \sigma_{35}  \} \tag1$
I am confused with their equation:
$W(x, y) = \int I(x_1,y_1)g_{mn} * (x - x_1, y - y_1) dx_1 dy_1 \tag2$
$\mu_{mn} = \int \int |W_{mn}(x,y)|dxdy \tag3$
$\sigma_{mn} = \sqrt{ \int \int (|W_{mn}(x,y) - \mu_{mn}|)^2 dxdy } \tag4$
So my first question is: are $\mu$ and $\sigma$ simply mean and average? So far, I just average every pixel value of the magnitude to obtain $\mu$ and compute the standard deviation to obtain $\sigma$.
After I compute the feature vector, I need to do distance measure between two vectors $f_i$ and $f_j$
$d(i, j) = \sum_{}^{m}\sum_{}^{n} d_{mn}(i, j) \tag5$
$d_{mn}(i, j) = |\frac{\mu_{mn}^i - \mu_{mn}^j}{\alpha(\mu_{mn})}|  + |\frac{\sigma_{mn}^i - \sigma_{mn}^j}{\alpha(\sigma_{mn})}| \tag6$
I'm really puzzled with $\alpha(\mu_{mn})$ and $\alpha(\sigma_{mn})$ ? What are they? I have tried to calculate 48 standard deviations from $ (1)$
$\alpha = \{ \alpha(\mu_{00}), \alpha(\sigma_{00}), \alpha(\mu_{01}), \alpha(\sigma_{01}), \alpha(\mu_{02})...\alpha(\mu_{35}), \alpha(\sigma_{35}) )\} \tag7$
and use it to calculate the distance function but I'm not convinced with my calculation since it seems not better than simple euclidean distance.

Texture Features for Browsing and Retrieval of Image Data by B.S. Manjunath and W.Y. Ma (1996)
Answer: $\mu$ and $\sigma$ are simply mean and standard deviation. I assume there is also a normalizing coefficient out there. Or the normalization as you mentioned comes from $\alpha$, since it $\alpha$s are vectors composed of the standard deviation and mean.
Comment: Is there any statistical concept using those stds as normalization factors?

How to compute Gabor feature vector?


Easiest way to update all components after schema update

Question: Can someone tell me the easiest way to automatically update all components after some field in schema is updated?
I am thinking of something like event system instead of Core Service tool.
Answer: What have you tried? If you're just starting your search then the docs references below are a great start.
Both the TOM.NET and Core Service APIs are available but it shouldn't be about what's easiest. It would be interesting to understand if there some technical or business reason you want to consider using the Event System?
If you have Alchemy installed, there's an app for that, https://www.alchemywebstore.com/plugins/Component-Synchronizer
The risk I see with an Event-driven approach would be

whether or not the process be followed to ensure content is checked/confirmed - since the synch was now done 'under-the-hood'
what error catching mechanisms will you have - will the team making schema updates 'v' the person running the synch task have the same knowledge/debug level
would 'just testing' a schema update now trigger off potential data loss resulting content updates
Answer: Solution - 1 for your issue:
We have a small command line application we modify as needed to update schema.
We use core services to call GetListXML on the folder containing the components we want to update:
public XElement GetAllComponents(string folderUri)
{
    var filter = new OrganizationalItemItemsFilterData()
    {
        ItemTypes = new[] { ItemType.Component },
        Recursive = true
    }
    return CORE_SERVICE.GetListXml(folderUri, filter);
}

We then have a simple loop that iterates through each component, checks to see if it uses the schema we want to update, and if so, we call a simple method to update the schema used by the component (both the starting folder and schema we're updating come from the app's config file, but could as easily come from a command line argument.)
We change the code of this method slightly based on what we're trying to update. For instance if we just want to pickup a new field added to the schema we just do a checkout and checkin of the component like so (note we do conduct a simple check to make sure we're only updating 'parent' level components):
public bool UpdateComponentSchema(string componentId)
{
    try
    {
        // get parent level from componentId: tcm:12-234
        var parentLevel = componentId.Split(':')[1].Split('-')[0];
        var parentLocLevel = string.Format("-{0}-", parentLevel);
        var com = CORE_SERVICE.Read(componentId, new ReadOptions()) as ComponentData;
        var parentLocation = com.BluePrintInfo.OwningRepository.IdRef;
        // check parent location
        if (!parentLocation.Contains(parentLocLevel))
            return true;

        var component = CORE_SERVICE.TryCheckOut(componentId, null) as ComponentData;
        if (component != null)
        {
            try
            {
               CORE_SERVICE.CheckIn(componentId, null);
            }
            catch (FaultException fEx)
           {
              if (!fEx.Message.ToLower().Equals("the item is not checked-out.")) throw fEx;
           }
       }
     }
    catch (Exception ex)
    {
       throw ex;
    }
    return true;
}

Interestingly, if you update a schema this way the last modified date of the components don't even change.
If we want to update new fields with a specific value we can easily add code to do that after the code that does the component check-out.
We use the same general concept if we need to perform some sort of bulk update/modification of values in components that cannot be handled from within the CME.
We also perform extensive logging around the calls to UpdateComponentSchema so that we have a good record of the successes and failures. If needed we can have someone go back after the fact and touch the failures by hand but in general as long as we've made sure all components are checked in prior to running the app this runs pretty smoothly.
Solution - 2
SDL Content Porter's Synchronization Option


VOIP testing with IPERF tool

Question: Does iperf support VOIP?
If yes! then please tell me what are the commands for testing voip and video streaming.
Comment: Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
Answer: I think you're confused about what Iperf is, and what purpose it serves.
From the Iperf Man Page:

iperf is a tool for performing network throughput measurements.  It
  can test either TCP or UDP throughput.  To perform an iperf test the
  user must
         establish both a server (to discard traffic) and a client (to generate traffic).

Iperf simply tests throughput by sending a stream TCP/UDP packets of a set size, over a set time, and then calculating the throughput.
Therefore, Iperf could certainly be utilized to simulate the underlying UDP flow of an RTP stream from a voice/video call.  However, there would be nothing in the test that makes it any different from any other UDP flow or makes it VoIP specific.
Answer: iperf can be used to test transportation protocols like TCP and UDP. VOIP is an application protocol. This is another layer of the Internet Procol Suite.
So the answer is: no, you cannot test VOIP, but you can test the transportation protocols (typically UDP) used for VOIP calls.
Answer: Like user27884 said, you could configure Iperf server in this way:
iperf -s -u -p 5061 -S 0xC0 -l 200

..and the iperf client like this:
iperf -c 127.0.0.1 -u -p 5061 -S 0xC0 -l 200 -t 200 -b 200k -i 10

this will show parcial results every 10 seconds and the entire test with 200 seconds.
Answer: If you are talking about measurement of QOS specific parameters (analyze VOIP protocols in depth), than no, iperf does not support those features. But you can use DSCP/TOS-field in packets (with iperf v3):
You can now set the DSCP/TOS bit vector using the -S <hexadecimal/decimal/octal number> client option. The option is exchanged with the server, so there is no need to set -S for the server. code.google.com
and jitter
PS the network devices are can have built-in QOS measurment, for example Cisco mediatrace
Answer: To somewhat "emulate" a VoIP stream, set the -S to 0xC0 the udp payload (-l) to 200 bytes, the offered load (-b) to 200K, and with iperf 2+ set the protocol to UDP via -u on both the client and the server.
Answer: The program iperf is better used for testing data. The best tool to test VOIP is a program called sipp : http://sipp.sourceforge.net/.
Comment: Product or resource recommendations are explicitly off-topic for SE sites, except [softwarerecs.se] and [hardwarerecs.se].

VOIP testing with IPERF tool


What is the fate of SLA fairings jettisoned from lunar mission spacecrafts?

Question: After TLI burn, just before Transposition, Docking and Extraction, the later design crafts jettisoned 4 pieces of the SLA fairing/shroud. These 4 pieces supposedly would follow similar path as the CSM/LM assembly, with the difference that they wouldn't reduce their speed for Lunar Orbit Insertion.
What happened to them?
Are they still in Earth orbit somewhere out there (they wouldn't leave Earth gravity influence since the spacecrafts after TLI burn didn't quite reach Earth escape velocity) or did they collide with something during all these years?
Answer: This paper by Dan Adamo states that their fate is unknown.

Other Apollo Program hardware certainly accompanied some of the
  components cited here into interplanetary space.  Unfortunately, there
  are no empirical data relating to these objects' trajectories.  Likely
  the largest such undocumented disposed components are four
  spacecraft/LM adapter (SLA) panels explosively jettisoned from each
  S-IVB at Command-Service Module (CSM) separation during trans-lunar
  coast.  Although these jettisons were performed on missions Apollo 8
  and Apollo 10 through Apollo 17, missions Apollo 13 through Apollo 17
  targeted S-IVB disposal via lunar impact.  In any of these cases, zero
  to four SLAs may have entered interplanetary space.

(emphasis mine)
Comment: Interesting paper. Thanks for the link. Apparently they put the earlier S-IVB's to have the slingshot around the moon. That might give required delta-v to leave the earth orbit.
Comment: Since apollo 11 was sent on free-return trajectory, theoretically the fairings should follow this path and come back to earth rather than be slingshotted to heliocentric orbit. However the summary is conclusive: unknown is unknown :), therefore I'm accepting this as the answer.
Comment: @SergiyLenzion, on the trajectories Apollo used, the margin between "lunar impact', "free return", and "heliocentric orbit" is very narrow.  The upper stage was able to transition from "free return" to "lunar impact" through non-combustion venting of leftover propellant; it's quite possible that the ejection mechanism of the fairings was energetic enough to put them on one of the other trajectories.
Answer: The four pieces of the SLA fairing would follow a similar path as the third stage S-IVB of the Saturn V. The SLA pieces were separated by explosive devices only, so their additional acceleration was very, very small. See apollomaniacs.
After Wikipedia, the S-IVB stages of the missions 8 to 12 are in heliocentric orbits now and of the missions 13 to 17 were crashed on the lunar surface as seismic tests.
In my opinion, the SLA pieces shared the fate of the S-IVB stages.
Comment: I'm not sure about other flights, but Apollo 11's S-IVB was definitely maneuvered after TDE. "This is Apollo Control at 5 hours, 11 minutes into the mission. The S-IVB slingshot maneuver was completed about 5 minutes ago. Designed to put the third stage of the launch vehicle into a trajectory that will take it behind the trailing edge of the Moon and then into a solar orbit. " See https://history.nasa.gov/afj/ap11fj/03tde.html#0050319. It doesn't say exactly what maneuver involved, but I assume firing the engine, as without additional delta v it would not reach heliocentric orbit.
Comment: Velocity after TLI for Apollo 11 was 10844.5 m/s, which is less than Earth escape velocity: "002:51:21 Aldrin: Roger, Houston. Apollo 11. We're reading a VI of 35579 and the EMS was plus 3.3. Over." Quote from here https://history.nasa.gov/afj/ap11fj/02earth-orbit-tli.html#0024416 Aldrin is reading their velocity in feet per second. Fairings would be having this velocity as they were jettisoned before the S-IVB maneuver.


Is shellfish aquaculture considered a wrong livelihood?

Question: I am currently employed on an aquaculture farm that specializes in clams and oysters. According to our modern system of taxonomy, both of these organisms are considered animals. I also know that a profession in which one trades animals is not right livelihood. However, according to this site, clams and oysters don't really have brains. Furthermore, according to wikipedia, it would seem that the nervous system of the mollusk doesn't really function to sense pleasure or pain. So, I am wondering- does trade in shellfish count as wrong livelihood? If so, how does one determine what is an animal and what is not according to Buddhism? If one is meant to go by whatever their respective society defines as an animal, surely this definition will change and therefore make this aspect of right livelihood unreliable, right?
Thankya
Answer: The Vanijja Sutta is the standard definition of "wrong livelihood" and is, as you saw, not specific. It says, in its entirety (at least in this translation),

"Monks, a lay follower should not engage in five types of business. Which five? Business in weapons, business in human beings, business in meat, business in intoxicants, and business in poison.
"These are the five types of business that a lay follower should not engage in."

FYI in this commentary on the Vinaya, on page 308, it says,

Raw flesh and blood are allowed at Mv.VI.10.2 only when one is possessed
by non-human beings. Thus, in more ordinary circumstances, one may not eat
raw fish or meat even if of an allowable kind. This would include such things as
steak tartare, sashimi, oysters on the half-shell, raw eggs, and caviar.
Furthermore, even cooked fish or meat of an allowable kind is unallowable if the
bhikkhu sees, hears, or suspects that the animal was killed specifically for the
purpose of feeding bhikkhus (Mv.VI.31.14)

So, apparently, according to this, oysters (and eggs and caviar too) are considered flesh or meat.
Whether you're vegetarian is slightly up to you. This article too (of unknown authority) says not to "steam live clams or eat live oysters" but explains why it's seen as relatively OK to buy meat under certain circumstances.
There was an argument between the Buddha and Devadata apparently, with the Buddha's not mandating vegetarianism because he didn't want the Sangha to be difficult for lay people to support.
FYI one of the criteria for the "no killing" precept is whether you're conscious that the being is alive and that you intend to kill them: killing someone by accident if you thought they were already dead, for example, wouldn't be breaking the precept. So, who knows, maybe it's partly up to you decide or to be aware of whether they count as "animals" or "meat" or "sentient".
I found this modern paper which claims that they're not especially sentient, but I doubt that's canonical.
And some people would have you know that even being a vegetable farmer or crop farmer presumably wouldn't prevent the deaths of worms and possibly field mice and so on.
Anyway, good luck with finding a solution.
And don't know any context to the Vanijja Sutta (it's in the Anguttara Nikaya as a list of five things). You'd think that if "Right Livelihood" were important enough to be in the Eightfold path then it would be better defined; but maybe it's better defined for monks than it is for laypeople; or maybe it's tangential to the main message, i.e. the Buddha's messages wasn't especially about right livelihood.
The book The Buddha's Teachings on Prosperity which is a bit of compendium of rules for lay people doesn't talk about "right livelihood" exactly but does say "don't destroy life". It claims that the Gihi Sutta (although I don't see this there) says that you should avoid trapping animals unless you're too sick or weak to farm.
Answer: Mr/Mrs Ian

"A lay follower should not engage in five types of business. Which
  five? Business in weapons, business in living beings, business in
  meat, business in intoxicants, and business in poison." AN 5.177
Pañcimā bhikkhave, vaṇijjā upāsakena akaraṇīyā. Katamā pañca:
  Satthavaṇijjā, sattavaṇijjā, maṃsavaṇijjā, majjavaṇijjā,
  visavaṇijjā. Imā kho bhikkhave, pañca vaṇijjā upāsakena akaraṇīyāti.

Manussa would be human. An older translation of it had beings. It is unknown and unreasonable why it has been changed to "human". Atma assumes that it might be an commentary comment, developed in times when the Monks became to be more domestics and in deeper relation with those trading with animals.
One may consider this in this relation:

"There is the case where the disciple of the noble ones — using the
  wealth earned through his efforts & enterprise, amassed through the
  strength of his arm, and piled up through the sweat of his brow,
  righteous wealth righteously gained... Adiya Sutta: Benefits to be Obtained (from Wealth)

How could one enjoy his wealth knowing that it is an the cost of others?
And never ever start to think in this unwohlesome deeds justifying Mohayana development of "sentient beings". Such was never said by the Buddha. Living being, what breaths, what ever has 1, 4, 5 Aggregates. 100 Years ago people still said that animals have no feelings... or this or that being is lower, because of this and that. Even to destroy a live of a being, as (and incl.) small as the egg of a bedbug, is mentioned to be a cause of being a fault. So what ever one perceives as being a living being, one does good not to cause harm or even takes its live, acknowledge such, or move others to do so.
Actually if somebody begins to have doubt and feels his/her conscience, its a great sign and one should follow this Governing Principles
Consider that a yogi or contemplative (not to speak for a Bhikkhu/Bhikkhuni, who are even not allowed) not even keep animals or accept them.
And to ask your self in regard of livelihood, do I harm, do I use other beings, even against their will, is it dishonest livelihood, am I honest in reflecting this?
The Buddha did not talk much on the topic knowing that people are not easy able to change their ways of life, but since one has open all doors, knowing the problems before choosing a job, one does good in considering a lot and give certain possible wealth and "security" for a good sleep and the possibility to develop the path.
(Note: this answer has not been given with the agreement to be means of trade or the purpose of/for trade and/or keep people trapped and bound. How you handle it lies in your sphere, but does not excuse the deed here either.)
Answer: I asked myself the same thing once so wanted to know what makes a plant and what makes an animal.
http://www.mcwdn.org/Plants/PlantsDiffer.html
.. if in doubt ask yourself, could I be reborn as this? In your examples I would say yes.
Answer: It seems that there is a wide opinion of what is allowable on the Buddhist diet. Some are strict vegans who will only take the fruits of plants, not the roots. Some practice practice pescatarianism, eating only fish. Personally, I follow the bodhisattva vows of the Brahmanet Sutra which says you shall not eat the meat of "sentient" creatures. I do not count oysters as sentient. Therefore, depending on which moral code you wish to follow, I think your profession is safe.


How much damage does a conjured weapon do?

Question: As the title, how can you determine how much damage a conjured weapon is doing? Is there anyway to view this stat?
Answer: With the conjured weapon equipped, go into the item menu and select the weapons tab. (Note: you can only see this tab if you actually have some real weapon in your inventory.)
On the bottom of the screen it will show you the damage of your conjured weapon.
It's kind of a roundabout way, but I haven't found another method of seeing the damage of a conjured weapon.
Answer: Uh on my character, with 100 conjuring, and 100 archery, and with all the damage boosting perks for bound wepons, my bound bow only does slightly better than an un-upgraded daedric bow. Bound weapons do the same damage as their daedric counterparts (with the necessary perks) except for the war axe (for whatever reason, its equivilant is ebony)


Why was dissection taboo in Greek antiquity?

Question: Looking at the development of medicine in Greek antiquity, in particular at the time of Hippocrates, you see references made to the poor understanding Greek medicine shows of anatomy, and chalks this up to a taboo against dissecting the human body.  Is there any source that establishes or explains this prohibition?
Comment: Good question + answer. I hope that you ask the (now edited out) followup question as a separate question -- I too would like to know the answer to the question. (Also, disregard my now-deleted comment, I just read the question with a fresh pair of eyes and it makes sense now.)
Comment: @Hamlet - The follow-up question is reposted now: [What changed in Greek culture to allow Herophilos to perform human dissections](http://mythology.stackexchange.com/questions/1706/what-changed-in-greek-culture-to-allow-herophilos-to-perform-human-dissections).  Since it can actually be answered with the same source as this one, wanted to wait until I had the time to write an answer, as well.
Answer: Found a paper on the topic:
"The discovery of the body: human dissection and its cultural contexts in ancient Greece.", by H. van Staden, Yale Journal of Biology and Medicine.  1992 May-Jun; 65(3): 223–241
I'll provide my poor summary of a few salient bits here, but if you are interested, it's a very interesting read.  The paper presents three reasons that dissection would have been unacceptable to ancient Greek culture.
First, a human corpse is seen as a significant polluting influence:

In many ancient Greek sacred laws, every human corpse is considered a significant source of pollution for all who, in any fashion whatsoever, come into contact with it or stand in a relation of kinship to it.

A number of surviving laws are cited, attesting to the contamination visited on the house and people around the corpse, and including cleansing rituals for the house of the deceased, those who have come into contact with the corpse, and the burial site, as a well as a waiting period before a contaminated person in allowed to enter shrines again.
Second, the "cultural valorization of the skin":

With few exceptions, complex religious, social, and political Greek traditions assert the inviolability of the skin, dead of alive, human or animal, except as a means of gaining control of a crisis.
  ...
  Skin is a magical symbol of wholeness and oneness, of the integrity of individual or collective organisms that might become susceptible to disintegration or fragmentation.

Again, examples are given, citing the importance of skin (or hides) in mythology, foundation stories and religious observances.
The third reason presented analyzes the Greek word temnein (to cut), and its primarily being associated with violent or sacrificial acts.  The author admits this to be speculative, and I'm not sure I can effectively summarize the point here, as I'm not sure I quite understand the point, myself.


How to cluster histograms or density distributions?

Question: I have no idea where to start when it come to cluster distribution and finding out similar the similar one.
Is there a package in R that does the job?
Answer: There are quite a few ways to measure the difference between two distributions. Take a look at this overview article on wikipedia.
One very common way that is used often in Machine and Deep Learning is the Kullback-Leibler (KL) Divergence. It is most commonly used in minimising the cross-entropy between the distribution of your training data and the expected (generalised) distribution of the problem you are analysing. In general, a value close to 0 indicates that two distributions are expected to show similar behaviour, while a large value indicates the distributions behave very differently - so knowing the first distribution doesn't help you know anything about the second.
A more general class of measures of dissimilarity between distributions is the so called $f$-divergence, "an average, weighted by the function $f$ of the odds ratio given by [probability measures] $P$ and $Q$". The Wikipedia article contains a formal definition and a table with functions $f$ that give some popular dissimilarities/distances, including the KL-divergence.

The following table lists many of the common divergences between probability distributions and the $f$ function to which they correspond (cf. Liese & Vajda (2006))

KL-Divergence is combined with the entropy itself, to define the cross-entropy. Take a look here, under the Information Theory View, for a bit more info.
Answer: Use the popular K-means clustering algorithm combined with Hellinger distance as a metric of distance.
Hellinger distance quantifies the similarity between two distributions / histograms, thus it can be very easily merged with K-means for your purpose :)
Comment: Can you say anything more about why you recommend the Hellinger distance (as opposed to any other distance metric)?
Comment: to be honest I am more biased towards it because of some publications I have been recently reading that explicitly used it, such as this one https://link.springer.com/article/10.1007/s10618-017-0538-6. I don't recommend it over other metrics, I suggested it as a starting point because OP said he has no idea where to start and it is actually a concrete starting point when combined with K-means for his problem :)
Comment: actually, from the publication I cited above: "It is a proper metric, it is quick to compute and it has no problem with empty bins". Hope it helps !
Answer: Install the broom package, and read the vignettes, especially "kmeans with dplyr and broom". This vignette contains a long, concise, worked example that might give you a head-start.
The broom package summarizes key information about statistical objects in tidy dataframes. This makes it easy to report results, create plots and consistently work with large numbers of models at once.


Writing ARM Assembly code

Question: After getting my Raspberry Pi, I decided that I wanted to learn how to write ARM assembly code. My question is, what do I need to get started? I assume that there is already a compiler installed but I don't know what it is (gcc maybe?). Any help is appreciated!
Comment: Here is another (free) book about ARM assembly: http://yurichev.com/writings/RE_for_beginners-en.pdf
Answer: Depends on how much assembler you want to write. If you want to write only small snippets embedded in C code, than gcc is indeed what you are looking for. Examples of how to use the asm directive in C see inline asm reference at: ARM GCC Inline Assembler Cookbook
If on the other hand you want to write more than just small snippets than you'll be better of using a full assembler. This will be available as either as, gas or both (aliased).
And finally you'll need to learn a bit about the ARM instruction set. There is a handy reference at: ARM1176JZF-S Technical Reference Manual.
N.B. Please remember what RPi only support armv6 instructions - so don't try to use anything from armv7
Good luck!! :)
Comment: I would just like to update this in place for current (February 2020) readers:  the Raspberry Pi 4 Model B uses the ARMv8 instruction set.
Answer: I started my adventure with ARM assembly code not too long ago myself and here are my resources:

Cambridge University published a very decent set of tutorials here:
Baking Pi. It includes a template for your own OS, complete code examples for every tutorial and all instructions on how to build and run your code.
Additionally, this hefty book should cover all the bases:
ARM System Developer's Guide.
Answer: Although I am quite comfortable with command line interface, I could not resist the convenience of GUI. A while ago, I discovered that I could use CodeBlocks IDE to develop ARM assembly language programs in a Raspberry Pi. So I wrote a tutorial and appended it to the Raspberry Pi assembly programming tutorial I wrote for the Mazidi ARM Assembly book website:
http://www.microdigitaled.com/ARM/ARM_ASM_books.htm
At the website, click on the link "ARM Assembly Programming Using Raspberry Pi GUI."
Hope this helps.
Answer: GCC is installed by default.  If you're this new to Raspberry Pi I recommend you look at an easier programming language than ARM assembly.  There aren't any IDEs for assembly so you'll have to use a text editor and assemble it through terminal. I recommend Gedit for ease of use.  Though to get syntax highlighting for assembly I had to go to github, specifically shinyquagsire23's page.  It's very pretty.
As for help The best resource I've found is "Raspberry Pi Assembly Language: Raspbian Beginners" by Bruce Smith.  You can find it on Amazon.  He explains assembly in one of the clearest and simplest ways I have found.
Answer: Learn with runnable examples
I am working on: https://github.com/cirosantilli/arm-assembly-cheat
Features:

the exact same assembly can be run on a Linux host with QEMU user mode, so you can try stuff out faster on your host before going native on the Pi
covers both ARMv7 and ARMv8
good GDB setup out of the box, both on host and native
has asserts that show the assembly line number where things failed
uses the C standard library for IO, which makes it OS portable in theory, and allows to easily reuse goodies like printf and memcpy

Writing ARM Assembly code


How do I politely communicate "your edit sucks" without getting into a war of edits?

Question: I recently noticed that a question I asked was edited in an attempt to remove ambiguity, and I'm not a fan of the title at all (for one, it's redundant). If anyone has the power to edit, how do I avoid getting in a petty back-and-forth if I don't agree with the edit?
Answer: If it's your post, just roll the edit back.  If the edit is applied again, flag for moderator attention; edits wars are something that fundamentally require a moderator to resolve (typically by locking the post temporarily).
Comment: Just make sure the new version really isn't an improvement. Self-vandalising is a serious offence.
Comment: That's pretty much what I figured, but it's annoying that I even have to go there.
Comment: @moarboilerplate: Go where? To roll back the edit? Read the [help]. Everyone here can edit everyone's posts; it's part of the design of the site. It's senseless to get annoyed because the site is working as it is supposed to work. If it's not working the way you want, you can always post to Meta asking for it to change (although I'm absolutely certain that a request to stop allowing edits would be resoundingly and instantly declined).
Comment: @KenWhite it might prove useful to keep from engaging in dialogue with yourself so that I have a chance to address your statements as you make them. "Going there" refers to taking an action that is as much a shot over the bow as it is an effort to maintain the quality of a question/post. The fact that the only course of action available to me was one that may easily result in a conflict that, as stated by other posters, generally is only resolved by escalating to mods, was unsavory to me.
Comment: @moarboilerplate while I agree edit wars are annoying as feth.... how else would you want it to work? As Ken pointed out, edits are a big part of the site.... seems like there's no easy solution
Comment: @moarboilerplate: What *conversation with myself* are you so rudely referring to? I made a single comment addressed to you. There's no reason for your attitude or insults. If you don't want feedback or answers, simply don't post here. Otherwise, be polite. I wasn't rude to you or insulting in any way, and I'd appreciate the same in return.
Comment: @KenWhite fair point, I apologize for coming off so harshly. I got bent out of shape over the fact that I couldn't respond in time to say that even though I find it annoying that I can only roll back the edit and risk starting a war, I'm certainly not trying to start a cause for changing existing site behavior. I was simply asking the question to make sure I understood what my options are.
Comment: Which, as @Patrice points out and I agree, there is no easy solution.
Comment: @moarboilerplate: Apology accepted. :-) I could understand your being annoyed if you didn't have the ability to roll the edit back, but you've been given an opportunity to object by doing so. Moderators are here to resolve disputes, including disagreements over edits. What more would you like to see? Anything further would involve a feature request (for a change), which is the other alternative, and I provided that info. There was no offense intended, and if it came across that way I offer an apology as well.
Comment: @KenWhite well, this touches on the whole dynamic that surrounds the "come to me with solutions, not problems" concept. On one hand, I understand it's not constructive to be an armchair quarterback, but on the other hand I don't think it's necessarily wrong to call out something that seems less-than-ideal without having a solution for it. In this case I don't have one, but I do find it annoying that my only option is to do something that can touch off a conflict. Expressing my annoyance is not really me saying "hey, the site is broken," but "I feel this is a candidate for improvement."
Comment: @moarboilerplate: If it's a candidate for improvement, *suggest an improvement that could be made*. You're given a notification that the edit was made, the ability to reject it, and the ability to dispute when someone disagrees with your rejecting the edit. The only possibilities I see to give you more control would be a) stop allowing others to edit (no go), b) allow you to block a specific question from being edited (same thing), or c) the ability for you to refuse to allow your rejection of edits to be disputed (again, same thing). What's left? You want the ability to suspend the editor? :)
Comment: This is not wise advice. directed at an old alt account of mine, 5-6 teamed together and attacked me (they had previously attacked me, but in a different way), one (name withheld) edited something, I rolled back, he repeated, and so on... And when I kindly requested that they not change, guess what they attacked me! But I've never attempted the mod stuff. (Now that I'm brilliant and eternal, I'm enjoying the gangster life.)


How does grounding the circuit provide safety?

Question: I don't understand the concept of grounding a circuit for safety reasons, in this circuit that I simulated, imagine my hand touching the circuit as the closed switch. I am creating a closed loop between my body and the circuit letting current to pass through me. If the circuit was isolated or floating however, it would be impossible for me to get zapped because there would be no closed path for the current to flow in and out. So what is the point of connecting the circuit to the earth ground? And secondly, does connecting any point in a circuit to the earth ground pull the voltage in that point to the ground level?
Comment: [See if this answers your questions.](http://electronics.stackexchange.com/questions/211010/why-dont-we-use-neutral-wire-for-to-ground-devices-and-earth-wire-for-closing-t/211020#211020)
Answer: You cannot rely on an AC mains or high voltage DC feed being isolated. For this reason, any exposed metal (conductive) parts should be earthed because, if an internal wiring fault developed that connected "live" to those exposed metal parts, the fuse (yes a fuse or breaker is required for electrocution prevention) will blow and the live is disconnected upstream.
The fuse is much "weaker" than the ground wire so, after a short period of a few milli seconds the fuse blows and the device becomes safe. In that short period of time you can receive a small shock but probability suggests that this is an unlikely event.
A floating AC supply isn't that safe even to the touch due to capacitance to ground - a decent "tingle" can usually be felt.
Answer: Ground used for safety is a completely separate concept from the ground in low-voltage circuits. While the latter is just a reference point with low impedance to power supply terminals, the safety ground is a completely separate circuit which normally carries no current.
In modern installations (with diff current protection) any current in the ground wire above a certain threshold leads to immediate circuit breaker tripping. This protects the person who somehow managed to touch a live wire, like in your example. The only way to get shocked without tripping the protection would be to touch both hot and neutral wires, while NOT touching the ground.
In older installations, ground wire is simply connected to conductive parts which could be touched, like metal cases (most often TN-S earthing, but other earthing systems exist). This guarantees that metal cases can't go live without provoking a prompt short circuit. Of course, if you open the case and manage to touch a live wire inside, there will be nothing to protect you.
Answer: If the device is powered by mains it is always somehow related to the ground. No absolute floating potential is possible unless is battery powered, even then there is always a finite isolation strenght capability. At some voltage the isolation breaks, always. The grounding is connected to the metal case, you should make a new sim, and if a faulty component touches the case, the current is sinked into a ground, your body would be just a parallel circuit with much higheer impedance than a wire.

And secondly does connecting any point in a circuit to the earth
  ground pull the voltage in that point to the ground level ?

Yes.
Answer: The safety earth provides protection against faults where a component in the equipment is not acting as it was originally designed. Some fault conditions may be made more dangerous by the presence of the safety earth, but in general a safety earth will be designed to detect latent failures before a dangerous situation occurs.
It is true that a human body needs to be exposed to two parts of a circuit before electrocution can occur. The intention of a safety earth is to prevent even one past of the external (touchable) equipment bridging to the live circuit - stopping the problem before it becomes fatal. These practices are designed by analyzing hundreds and thousands of real-life failure conditions.


Should I ask my question on Ask Ubuntu, on Unix & Linux or on both?

Question: Let's say I have a question which concerns all Ubuntu users, but not only them. (e.g. about apt and aptitude). On which Stack Exchange site should I ask it, depending on if my distribution is Ubuntu or if it is ascending (Debian) or descending (e.g. Mint) from Ubuntu? Here, on Unix & Linux or on both?
Answer: If you are using Ubuntu or one of the other official flavors, you can ask your question on Ask Ubuntu, although you can also ask it on Unix & Linux - your choice. I would suggest looking for questions similar to the one you want to ask on both sites to reach a decision as to where you're most likely to get the kind of answers you want.
If you are using a different Linux distribution, whether it's Debian, Linux Mint or anything else, you should ask on U&L (or even on Superuser)
Posting the same question on multiple Stack Exchange sites (cross-posting) is discouraged. But if you ask a question on one site and it stays unanswered for a while, you'll probably get away with asking it again on another one, especially if you delete the original.
Comment: @Camion  [linux.se] might not be specialized on Debian derivatives, but there is very, very deep knowledge of Debian in the U&L community. We have at least one Debian developer who's a site regular and many of the site's users know Debian very well.  And AU does not get "much more visibility". AU is [the 3rd site by traffic](https://stackexchange.com/sites#traffic) on the SE network and U&L is the 5th, that isn't a huge difference.
Comment: @Camion see https://meta.askubuntu.com/questions/5877/why-are-questions-about-specifically-ubuntu-based-distros-off-limits and various others
Comment: the problem with that, is that as confirmed in the post linked by Muru, Ask Ubuntu gets much more visibility than Unix & Linux, which is not even specialized in debian derivatives. In addition, in my example, i'm quite sure, that the fact that my distribution is debian or mint, would have no impact on the answer.


Should a "fun" question be posted on Meta instead of SO?

Question: So the meta stuffs should goes to meta... like this very question.
But now that we have meta.stackoverflow, what about those occasionally humorous/fun question? should it be posted/moved to meta.so as well?
Answer: Many of the "fun" questions simply shouldn't be...
But there is a grey area...
If the "fun" is about the sites, then MSO may be appropriate. But it shouldn't be MSO just because it is "fun". If it is about programming the clearly SO, etc.
Answer: Even if this seems to be the way of doing things here with some fun questions having been moved to meta, I would not do that. Many people will never be on meta that are on SO, and rightly so. Meta is to drive SO forward, while SO is to drive programmers forward.
Moving every fun question here would either push people on meta that do not want to contribute to the meta discussion, or make the SO experience very dry.
Then should SU or SF fun questions be on meta too? I guess the audience they are targeted to, as with SO, are quite different, and therefore should be targeted specifically.
I already find it confusing to have SF specific FAQ in meta and would have kept that in the corresponding page, but can see the value of reducing redundance with the overlapping part and therefore have it all in meta.
But again, my main reason: meta has a small community with one purpose: to drive SO forward. Let's keep it that way.
Comment: Well, Meta is to drive all 3 sibling sites forward without prejudice ;-p But I think we know what you mean... SO the *platform* rather than SO the site...
Answer: No. "Fun" server questions go on ServerFault. "Fun" programming questions go on SO (albeit reluctantly) and "Fun" random computer related crap goes on SuperUser.
Meta is for site improvements and discussing how to get rid of "fun" questions.
Answer: From here: The first rule of StackOverflow is you do not talk about StackOverflow (you talk about Stack Overflow on Meta StackOverflow)
That said, it depends on how your "fun" question is perceived. They may migrate your "fun" question based on some criteria shared by two or more hi-reps, but hey, so long as your question isn't closed let them stick it in whichever overflow they want. Just have fun wherever.


What type of testing is it when I am testing after bug fixes?

Question: The definition of regression testing makes it seem that any testing after bug-fixing is supposed to be called regression testing. But in the case that after bug-changes I just want to make sure the app works fine, would it be more appropriate to label the test case as functional or regression?
Answer: It is not true that

any testing after bug-fixing is supposed to be called regression
  testing

Testing whether a bug-fix was successful:

You run one or more tests which failed.
You analyse this failure and could identify a bug/defect.
You correct this bug/defect
You run the test or tests from step 1 again to test whether your corrections fixed the bug/defect. This is called re-testing or confirmation testing

Testing a previously tested software to find out whether changes did introduce or uncover new defects in unchanged areas of the software is called regression testing.
So, these tests have different goals.
By the way, it is possible that a test case which once failed could later be tagged as a regression test. In this case, the test case was once used for re-testing, and later for regression testing.
Comment: To be fair, the definition of the term "regression testing" has changed over time. The older definition was specifically adding tests to make sure a bug found in production code stayed fixed. For example, from "The Software Project Manager's Handbook," 2nd ed., p 309: "Regression testing begins when the user or testers find an error. The error is corrected and leads to a new test case that ensures the error is gone."
Answer: Functional Tests are a type of test (taking user perspective, more gray-black box, more focussed on the the expectations of the users) whereas I see Regression Tests as a phase of tests. Like you mentioned you will launch some automated tests after a bug was fixed, to check all the features are still working. But you will also launch those tests after a new feature is added, to check that the existing features are not broken. In that situation I call that "regression tests", but those tests are not made only of functional tests. Launching your unit tests portfolio or your performance tests is also a good idea.
Answer: Functional testing is where the functionality of the product is tested. Whether the right product has been developed. Where as regression testing is done around the bug fixes to ensure that there are no injected issues. So in your case if you just to confirm that the fix is correct and check all the area which might be impacted by the fix, it will be regression testing. And if you want to check the overall functionality of the application just to see if it's not breaking, then smoke testing can be done.
Answer: Regression Testing: Regression testing is one of the most important types of testing, which checks whether a small change in any component of the application affects the unchanged components or not. This is done by re-executing the previous versions of the application.
Functional Testing: The software is tested for the functional requirements. This checks whether the application is behaving according to the specification.
Mutation Testing: In mutation testing, the application is tested for the code that was modified after fixing a particular bug/defect.
Answer: You are not completely right actually. Test engineer just need to verify bugfix after state of issue changed to resolved, just be sure that expected and actual result are same. Test engineer does not need to execute regression testing after each bugfix.
Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. Regression testing is usually performed after verification of changes or new functionality.


Could I have deformed the wheel of my new bike by being too heavy?

Question: I bought a new hybrid bike (Saracen urban X2) and after two days, the rim of rear wheels got trouble. The shape of the wheel slightly changed from circle to earth like shape. A very little but I can see the bump. I ride with the bike only on road not that bad condition. (Some part of the road is not very smooth but cannot say rough road). Now my question is how this can happen? Is my weight (220 pounds) too heavy for riding this bike? I am not an expert about bicycles. Please help.
Comment: I edited your question title and contents to make it more appropriate for this site. You want to ask questions that are more generalizable.
Answer: 220 pounds (100kg) is not that heavy.
At £459 or about US$600 retail, the Saracen is also not an inexpensive bike. It should be more than able to handle your weight unless you're doing very aggressive biking (such as hopping on and off curbs or doing wild jumps without the proper technique). Riding on rough roads is well within the design parameters of this "hybrid" bike.
If your wheels are deforming**, it is likely either a manufacturing defect in the rim or your spokes were not properly adjusted/checked by the dealer. As @Orb notes, you should have also gotten a request from the dealer to come in after the first week to tighten things up as part of the new bike service. I would immediately go back and demand that it be fixed or replaced. I would myself insist on new wheels and insist that the spoke tension and hubs be properly checked before they are reinstalled.
** Note that I'm assuming your wheel (the metal bits) are deforming. Your description is vague. If your tire (the rubber bits) is bulging, then that could be caused by a local weakness in the tire wall. In either case, take it back to the shop to get it replaced.
The UK has good retail trade laws so you should be well within your rights to demand resolution.
ps. I do hope you bought it from a local bike shop rather than online. It's much harder to yell at people online, I've found.
Comment: Hello, I did go to the shop and they replaced that wheel with a new one. They also thought it was manufacturing defect. Thank you for your answer :)
Answer: Its not unusual for wheels to go out of true within the first few miles or so of riding a new bike.. Especially if they're not built up strongly by a trained wheel builder... Most cheap to mid range bikes have wheels that are assembled by machine these days and the machines build them quite loose in a lot of cases.. Then when you put weight and lateral loads on the wheels during riding,  they flex and end  up out of true.
The bike should be checked after a while by the place you bought It from, a sort of first service (normally free) And as well as checking the bike over.. They should also re-true the wheels for you and tension all the spokes again properly. This takes out the initial slack & flex in the wheels meaning that the wheel will stay straighter for far longer in future.
Comment: Working to rehab bikes for Christmas Anonymous I true up several wheels a week, wheels that have been abused many ways.  A wheel that is noticeably out-of-round is quite rare.
Comment: What the OP seems to be describing is not the wheel deflecting side-to-side but rather going "out of round".  This is a very unusual failure mode that shouldn't happen (at least not within several months) on even a cheap bike, without any post-sale service.
Comment: Hi.. A wheel out of true laterally or radially is due to its build configuration and spoke tension. Unequal forces acting upon the rim from a poorly setup wheel will result in a misshapen rim. A true up in this situation is required preferably by a proven qualified wheel builder.


Sound muted when headphones are connected in hp dv4

Question: I'm using a hp dv4 running Ubuntu 11.10. The sound is fine when the speaker is on and the volume control works fine too. But when I plug in the headphones, the sound gets muted. Even if I change the volume to max, the indicator LED show's that its muted. Is this a bug?
Answer: I have the same issue (also on hp dv4 running 11.10, worked fine on 11.04). I just tried the following and it worked for me.
Go to 'sound settings' and click on 'output'. There you will see 'analog headphones' for the connector (at the bottom). Change that to 'analog speakers' and you will get sound on your headphones.
Strange, but it works.
Comment: I had another weird problem the other day: with headphones plugged in, sound played thru them, and also the **speakers**.  I fixed it by changing the output in sound settings. :)
Comment: Its just the ooposite for me... Analog Speakers send the sound from laptop speakers, but as analog headphone... no sound at the line-out speakers/headphone
Answer: In Kubuntu 12.04 after upgrading to Firefox 15 requiring an Adobe Flash upgrade I noticed several of my sound drivers replaced and removed without my authorization. I could use my speakers but when plugging in the headphones the sound muted.
I found the answer here after an hour of searching. Lots of Linux people just don't want to give a direct and simple answer about anything which really hurts the Linux promotion effort.
Go to the menu Settings -->
sub-menu System Settings -->
tab Audio Hardware Setup -->
select speakers in the connector pull-down -->
click button lower right Apply.
Your headphone plug ins will no longer mute the sound.
Answer: Go to 'sound settings' click on 'Input' and unchecked mute at the tail end of 'Input Volume' and change the 'Connector' to Analogue Microphone  to see if it was still doing the same things as before.
Answer: Installing the "crack of the day" alsa-driver code solved the problem for me.
I don't know if my problem was exactly the same as yours, but my headphone sound was very quiet, even when I cranked the volume to maximum.
Martin's workaround of going to the sound settings and switching output from analog headphones to analog speakers worked for me, but it was irritating to have to switch every time I plugged in headphones.
I reported a bug, and then found a similar bug with a workaround of installing the "crack of the day" alsa-driver code.
Answer: Change your audio settings in Sound Settings: change your main output from speakers to headphones.


Abuse cases and misuse cases

Question: Are abuse cases and misuse cases for security the same?
From what I have read in various sites, they appear to be same, but no where is it mentioned that they are same.
Please clarify my doubt.
Answer:
Is abuse cases and misuse cases for security the same?

Yes, pretty much.
I think "abuse" suggests more malice than "misuse", but they both amount to people doing things with your software that they shouldn't be allowed to.
Answer: While I agree in the main with Tom77's answer. From a security perspective abuse/misuse lead to the same consequences.
However I would also suggest that misuse cases should be used as inputs to ongoing design and implementation reviews. Try to reduce the possibility of misuse. If the user can accidentally misuse the system then they will also have a lowered user satisfaction experience.
Answer: There is still ambiguity between the words.  A quick Google search for "abuse case testing" brings up this which states:

An Abuse cases can describe the possible misuse of an application

I agree that abuse cases are a subset of misuse cases.  I also agree that abuse cases contain more malice as Tom77 suggested.
But if a line has to be drawn and a definition given:

A misuse case will test the application disregarding the requirements.  These cases are useful to ensure that fields are properly sanitized and that errors are handled gracefully.  The word 'misuse' in and of itself keys us into a few things to remember:

It should be the opposite of a use case.
It should fill in the gaps/holes left between the use cases.
It should not only contain functional tests, but usability tests (hence mis use).
From the testing perspective: we are exploring, going places we weren't told about, following our intuition, trying to improve the quality of the application.

An abuse case will also test gaps between the use cases, but in a fashion that will try to cause the most harm to the application and environment as possible.  The goal is to cause errors, damage data, undermine stability, and call forth crashes.

From the testing perspective: we try to cause as much havok as we can, using any tools possible.  We hate the application and want to see both it and its users/users' data destroyed.
If we've got a website that ranks things according to number of "likes," if we are able to edit the javascript on the page to allow us to like multiple times, the data no longer has integrity.
If we're testing a mobile application with a phone that has a sliding keyboard, and when the orientation of the application changes if it is open or closed, we should repeatedly open and close the keyboard to see how the application handles that abuse.

Abuse cases are destructive, and only an extremely small percentage of users will have that mentality, so a lot of times I've found that managers decide to fix them last, if at all.
Misuse cases, on the other hand, actually go about and help improve the quality of the system, and I've found that issues found during this process are fixed relatively quickly, or marked as change requests / enhancements to be fixed in the near future (which goes in addition to what Steve mentioned earlier).
Answer: A misuse case will test the application disregarding the requirements. These cases are useful to ensure that fields are properly sanitized and that errors are handled gracefully. The word 'misuse' in and of itself keys us into a few things to remember:
It should be the opposite of a use case.
It should fill in the gaps/holes left between the use cases.
It should not only contain functional tests but usability tests (hence mis use).
From the testing perspective: we are exploring, going places we weren't told about, following our intuition, trying to improve the quality of the application.
An abuse case will also test gaps between the use cases, but in a fashion that will try to cause the most harm to the application and environment as possible. The goal is to cause errors, damage data, undermine stability, and call forth crashes.
From the testing perspective: we try to cause as much havoc as we can, using any tools possible. We hate the application and want to see both it and its users/users' data destroyed.
If we've got a website that ranks things according to a number of "likes," if we are able to edit the javascript on the page to allow us to like it multiple times, the data no longer has integrity.
If we're testing a mobile application with a phone that has a sliding keyboard, and when the orientation of the application changes if it is open or closed, we should repeatedly open and close the keyboard to see how the application handles that abuse.
Abuse cases are destructive, and only an extremely small percentage of users will have that mentality, so a lot of times I've found that managers decide to fix them last, if at all.
Misuse cases, on the other hand, actually go about and help improve the quality of the system, and I've found that issues found during this process are fixed relatively quickly, or marked as change requests/enhancements to be fixed in the near future (which goes in addition to what Steve mentioned earlier).

Abuse cases and misuse cases


Could an Encrypted VG/Image compromised?

Question: I mean if I encrypt my ""full system"" so that everything (besides the /boot) is in an encrypted VolumeGroup (Linux).
So I store my /boot on a flash drive, thats always next to me.

Q: can the encrypted VolumeGroup (or in any similar solution an encrypted Image) compromised in a way that If I want to "mount" it it steals my password? (I keep my /boot on a flash drive next to me because it's not encrypted and the kernel/crypt drivers could be modified in a way, so that it can stole my password when typing the password to gain access to the encrypted VG.). So.. could this be done? Or is my method secure?

Thanks.
Answer: If someone can play with your encrypted volume group, it sounds like they have physical access to most of your hardware.  If that is true, all bets are off - your system is insecure.  They can attack the BIOS, the keyboard, etc.  It isn't clear what threats you would deter by carrying /boot around with you on USB.  See

What are the good use cases for disk encryption?
How can I keep a roommate from seeing my web activity?
Answer: You mean with the attacker having physical access right?
So the question is, if someone can compromise your machine under the conditions described below:

your usb (/boot, keys and everything) is not mounted/present
the system is shut down
the whole hard disk is encrypted
you are far away
the attacker has complete physical access

My answer is yes. One way to go in this attack would be this:

He can reset the bios (to disable possible password protection)
Get his own hard disk in there (or usb drive or something)
Enable boot from the usb drive or his hard disk
set up a minimal operating system there which upon boot finds your mounted usb (with your keys), copies it over and sends him the details

Something like that should work, it could be finetuned of course, but it's certainly possible.
Answer: With malicious physical access, someone could put a hardware keylogger inline with your keyboard, and a USB data sniffer to capture the contents of the flashdrive when it is plugged in.
For practical purposes, however, that is safe enough to use for security applications. However, to be more secure, you would need to ensure physical safeguards, not just electronic.
To be more specific to your question; in order to modify the encrypted partition to add arbitrary data, your partition would already be compromised. Encryption is designed just as much to prevent the modification of its contents as it is designed to protect them
Comment: Correction, encryption is *not* designed to prevent modification, it provides **confidentiality only**. For integrity protection, you'd need a hash-based mechanism, such as HMAC, or digital signatures.


Airport guest network when the network gets extended

Question: I'm looking to extend both the main SSID and the separate guest network from an airport extreme base station for more range. What apple networking hardware is needed? I presume two express would do the trick, one joining each SSID - but wonder if I can do it with less hardware. Advice or tips appreciated.
Answer: Apple express would be your best/cheaper option than getting another extreme. You could use third party hardware, but the results are inconsistent as Apples bridging is slightly different to the standard.
You could use power line networking if you wanted to extended it further than the current wireless network provides. This assumes you're on the same phase of power and wanted to pony up the extra cash.
Comment: Thanks for the answer - I was looking for an apple only solution so I answered this with the answer that's it's not possible without three expresses.
Answer: I jumped in and got two airport express - one to extend the 2.4 GHz network and another to extend the 5 GHz network. The setup is working for more than one day so i'm calling it a success.
It appears a second extreme cannot simply extend all three potential networks (the guest Vlan on the 2.4 channel and the two normal channels.)
I ended up not extending the guest and instead ran an Ethernet cable to move the base station where the guest network was needed and extended the main net back to where the extreme was and Internet access remains.


Which Tachanun should I say when davening in a minyan with a different Nusach?

Question: I daven Nusach Ashkenaz but I often daven mincha in minyanim with a different nuasach.
Should I say my ashekanzi tachanun or is there a minhag ha'mokom?
Moreover I have noticed sefardim davening their own tachanun in my ashekanzi minyan.
If I can get Halachic sources that would be great!
Comment: If you are already davening with a different nusach than the minyan why should tachanun specifically be like the minyan and not just your nusach?
Comment: Are you asking about the text you should recite or the posture you should assume?
Comment: Welcome to Mi Yodeya, user4526, and thanks for bringing your question here. You may wish to [change your username](http://judaism.stackexchange.com/users/edit/4526) (unless you're attached to the number 4526). I hope you stick around and enjoy the site!
Comment: related http://judaism.stackexchange.com/q/1755/759
Comment: Related: http://judaism.stackexchange.com/q/30344
Comment: would this also apply to differences even within Ashkenazi nusach or is your question specifically about differences between Ashkenazi and Sephardi nuscha'ot?
Comment: Sorry for the late response.
I heard from someone that I should say the same Tachunun as the Minyan. If I'm a Sephradi in an Ashkenazi minyan, I should say the ashkenazi Tachunun (not sure if that means posture, the text that I'm reciting or both) or if I'm a Ashkenazi in a Sephardi minyan vise versa.
Is this correct? Once again, any Halachic sources would be great!
Answer: Igros Moshe Orach Chaim 3:89 - last paragraph says that if ones Nusach is not to say Vidui & 13 Midos, and is in a Shul that does say Vidui & 13 Midos, he should definitely say the Vidui & 13 Midos. He says one has to follow the Minhag of the Shul he is Davening in, in any situation where it is noticeable.
Rabbi David Lau says that one who Daven's Ashkenaz, and finds himself in a Sefard Minyan should say his Ashkenaz Tachanun, however when the Chazzan says Vayavor you should say the 13 Midos with the congregation.

אתה אומר את הנוסח שלך, אבל כשהחזן מכריז ויעבור, אתה אומר עם הציבור
  את י``ג מידות
Comment: What if one's nusach is to say 13 middos and the minyan doesn't? Does he say them as davening or must he say them in the niggun (the way one is allowed to say them as an individual) -- this would not be noticeable and calls up the question of davening IN a minyan vs. WITH a minyan.
Comment: @rosends This question was regarding a person who Davens Nusach Ashkenaz and is in A Shul that Davens Nusach Sefard. You can [ask the question](https://judaism.stackexchange.com/questions/ask) you have as  a separate question.
Comment: I started writing the question but hoped, after reading this that there was a generalizable rule.  I will try to formulate a question -- thanks.
Answer: You must daven the tachnun according to the nusach you normally daven. The kitzur shulchan oruch says that one cannot chop and change nuschaos as they are all weighted and each word is counted. If you would like to add vidui before tachnun then that's okay, but you should try not say sephardic tachnun when davening in ashkenaz l'moshol. Rav Moshe Feinstein was very strict on staying with one's nusach.
Answer: Rav Moshe Feinstein's rule of thumb is that for quiet portions of the davening, you have your choice of using your nusach or the minyan's. (Though the chazan's own quiet shmoneh esrei should follow what he'll say for the minyan five minutes later.) For parts that are public/out-loud, you should use theirs.
I haven't seen him address tachanun, so I would assume that you have your choice of what to say quietly; however if they're all standing when you're sitting or vice versa (e.g. nusach sefard starts with nefilas apayim on Mondays and Thursdays), I don't know what Rav Moshe would say.
Comment: can you please bring the reference to Rav Moshe Feinstein's rule?