text:
from smart.transaction import INSTALL, REMOVE, UPGRADE, REINSTALL, KEEP, FIX
from smart.transaction import Transaction, ChangeSet, checkPackagesSimple
from smart.transaction import PolicyInstall, PolicyRemove, PolicyUpgrade
from smart.interfaces.qt5.channels import QtChannels, QtChannelSelector
from smart.interfaces.qt5.mirrors import QtMirrors
from smart.interfaces.qt5.flags import QtFlags
from smart.interfaces.qt5.priorities import QtPriorities, QtSinglePriority
from smart.interfaces.qt5.packageview import QtPackageView
from smart.interfaces.qt5.packageinfo import QtPackageInfo
from smart.interfaces.qt5.legend import QtLegend
from smart.interfaces.qt5.interface import QtInterface, app
from smart.interfaces.qt5 import getPixmap, centerWindow
from smart.const import NEVER, VERSION
from smart.searcher import Searcher
from smart.cache import Package
from smart import *
import shlex, re
import fnmatch
from PyQt5 import QtGui as QtGui, QtWidgets

from PyQt5 import QtCore as QtCore, QtWidgets

MENUBAR = [
    ( "file", [
        "update-selected-channels",
        "update-channels",
        None,
        "rebuild-cache",
        None,
        "exec-changes",
        None,
        "quit"
    ] ),
    ( "edit", [
        "undo",
        "redo",
        "clear-changes",
        None,
        "upgrade-all",
        "fix-all-problems",
        None,
        "check-installed-packages",
        "check-uninstalled-packages",
        "check-all-packages",
        None,
        "find",
        None,
        "edit-channels",
        "edit-mirrors",
        "edit-flags",
        "edit-priorities"
    ] ),
    ( "view", [
        "hide-non-upgrades",
        "hide-installed",
        "hide-uninstalled",
        "hide-unmarked",
        "hide-unlocked",
        "hide-requested",
        "hide-old",
        None,
        "expand-all",
        "collapse-all",
        None,
        ( "tree-style", [
            "tree-style-groups",
            "tree-style-channels",
            "tree-style-channels-groups",
            "tree-style-none",
        ] ),
        None,
        "summary-window",
        "log-window"
    ] ),
   ( "help", [
        "legend-window",
        "about",
    ] )
]
TOOLBAR = [
    "update-channels",
    None,
    "exec-changes",
    None,
    "undo",
    "redo",
    "clear-changes",
    None,
    "upgrade-all",
    None,
    "find"
]
TOOLBARICONS = {
    "update-channels": "crystal-reload",
    "upgrade-all": "crystal-upgrade",
    "exec-changes": "crystal-apply",
    "clear-changes": "crystal-trash",
    "undo": "crystal-undo",
    "redo": "crystal-redo",
    "find": "crystal-search",
}

ACTIONS = [
    ("file", None, _("_File")),
    ("update-selected-channels", "gtk-refresh", _("Update _Selected Channels..."), None,
     _("Update given channels"), "self.updateChannels(True)"),
    ("update-channels", "gtk-refresh", _("_Update Channels"), None,
     _("Update channels"), "self.updateChannels()"),
    ("rebuild-cache", None, _("_Rebuild Cache"), None,
     _("Reload package information"), "self.rebuildCache()"),
    ("exec-changes", "gtk-execute", _("_Execute Changes..."), "<control>c",
     _("Apply marked changes"), "self.applyChanges()"),
    ("quit", "gtk-quit", _("_Quit"), "<control>q",
     _("Quit application"), "gtk.main_quit()"),

    ("edit", None, _("_Edit")),
    ("undo", "gtk-undo", _("_Undo"), "<control>z",
     _("Undo last change"), "self.undo()"),
    ("redo", "gtk-redo", _("_Redo"), "<control><shift>z",
     _("Redo last undone change"), "self.redo()"),
    ("clear-changes", "gtk-clear", _("Clear Marked Changes"), None,
     _("Clear all changes"), "self.clearChanges()"),
    ("check-installed-packages", None, _("Check Installed Packages..."), None,
     _("Check installed packages"), "self.checkPackages()"),
    ("check-uninstalled-packages", None, _("Check Uninstalled Packages..."), None,
     _("Check uninstalled packages"), "self.checkPackages(uninstalled=True)"),
    ("check-all-packages", None, _("Check All Packages..."), None,
     _("Check all packages"), "self.checkPackages(all=True)"),
    ("upgrade-all", "gtk-go-up", _("Upgrade _All..."), None,
     _("Upgrade all packages"), "self.upgradeAll()"),
    ("fix-all-problems", None, _("Fix All _Problems..."), None,
     _("Fix all problems"), "self.fixAllProblems()"),
    ("find", "gtk-find", _("_Find..."), "<control>f",
     _("Find packages"), "self.toggleSearch()"),
    ("edit-channels", None, _("_Channels"), None,
     _("Edit channels"), "self.editChannels()"),
    ("edit-mirrors", None, _("_Mirrors"), None,
     _("Edit mirrors"), "self.editMirrors()"),
    ("edit-flags", None, _("_Flags"), None,
     _("Edit package flags"), "self.editFlags()"),
    ("edit-priorities", None, _("_Priorities"), None,
     _("Edit package priorities"), "self.editPriorities()"),

    ("view", None, _("_View")),
    ("tree-style", None, _("_Tree Style")),
    ("expand-all", "gtk-open", _("_Expand All"), None,
     _("Expand all items in the tree"), "self._pv.getTreeView().expand_all()"),
    ("collapse-all", "gtk-close", _("_Collapse All"), None,
     _("Collapse all items in the tree"), "self._pv.getTreeView().collapse_all()"),
    ("summary-window", None, _("_Summary Window"), "<control>s",
     _("Show summary window"), "self.showChanges()"),
    ("log-window", None, _("_Log Window"), None,
     _("Show log window"), "self._log.show()"),

    ("help", None, _("_Help")),
    ("legend-window", None, _("_Icon Legend"), None,
     _("Show icon legend"), "self._legend.show()"),
    ("about", None, _("_About"), None,
     _("Show about window"), "self.showAbout()"),
]

def compileActions(group, actions, globals):
    newactions = {}
    for action in actions:
        #if len(action) > 5:
        #    action = list(action)
        #    code = compile(action[5], "<callback>", "exec")
        #    def callback(action, code=code, globals=globals):
        #        globals["action"] = action
        #        exec code in globals
        #    action[5] = callback
        #act = QtGui.QAction(group, action[0])
        act = QtWidgets.QAction(group)
        #act.setText(action[0])
        #act.setMenuText(action[2].replace("_","&"))
        act.setText(action[2].replace("_","&"))
        if len(action) > 4:
            act.setToolTip(action[4])
        if len(action) > 5 and type(action[5]) is not str:
            # FIXME Ambiguous syntax for this signal connection, can't refactor it.
            QtCore.QObject.connect(act, QtCore.SIGNAL("activated()") , action[5])
        if action[0] == "find": #HACK
            self = globals["self"]
            act.activated.connect(self.toggleSearch)
        if action[0] == "update-selected-channels": #HACK
            self = globals["self"]
            act.activated.connect(self.selectedChannels)
        if action[0] == "update-channels": #HACK
            self = globals["self"]
            act.activated.connect(self.allChannels)
        if action[0] == "rebuild-cache": #HACK
            self = globals["self"]
            act.activated.connect(self.rebuildCache)
        if action[0] == "upgrade-all": #HACK
            self = globals["self"]
            act.activated.connect(self.upgradeAll)
        if action[0] == "exec-changes": #HACK
            self = globals["self"]
            act.activated.connect(self.applyChanges)
        if action[0] == "clear-changes": #HACK
            self = globals["self"]
            act.activated.connect(self.clearChanges)
        if action[0] == "expand-all": #HACK
            self = globals["self"]
            act.activated.connect(self.expandPackages)
        if action[0] == "collapse-all": #HACK
            self = globals["self"]
            act.activated.connect(self.collapsePackages)
        if action[0] == "edit-channels": #HACK
            self = globals["self"]
            act.activated.connect(self.editChannels)
        if action[0] == "edit-mirrors": #HACK
            self = globals["self"]
            act.activated.connect(self.editMirrors)
        if action[0] == "edit-flags": #HACK
            self = globals["self"]
            act.activated.connect(self.editFlags)
        if action[0] == "edit-priorities": #HACK
            self = globals["self"]
            act.activated.connect(self.editPriorities)
        if action[0] == "summary-window": #HACK
            self = globals["self"]
            act.activated.connect(self.showChanges)
        if action[0] == "log-window": #HACK
            self = globals["self"]
            act.activated.connect(self.showLog)
        if action[0] == "legend-window": #HACK
            self = globals["self"]
            act.activated.connect(self.showLegend)
        if action[0] == "about": #HACK
            self = globals["self"]
            act.activated.connect(self.showAbout)
        if action[0] == "quit": #HACK
            self = globals["self"]
            act.activated.connect(app.quit)
        group.addAction(act)
        #newactions[action[0]] = tuple(action)
        newactions[action[0]] = act
    return newactions

class QtInteractiveInterface(QtInterface):

    def __init__(self, ctrl, argv=None):
        QtInterface.__init__(self, ctrl, argv)

        self._changeset = None

        self._window = QtWidgets.QMainWindow()
        self._window.setWindowTitle("Smart Package Manager %s" % VERSION)
        centerWindow(self._window)
        self._window.setMinimumSize(640, 480)
        app.lastWindowClosed.connect(app.quit)

        self._undo = []
        self._redo = []

        # FIXME Ambiguous syntax, can't refactor it
        # FIXME Ambiguous syntax, can't refactor it
        globals = {"self": self, "QtGui": QtGui, "QtCore": QtCore}

        group = QtGui.QActionGroup(self._window)
        self._actions = compileActions(group, ACTIONS, globals)

        class ToggleAction(QtWidgets.QAction):

            def __init__(self, group, name, label):
                QtWidgets.QAction.__init__(self, name, group)
                #self.setToggleAction(True)
                self.setCheckable(True)
                self.setText(label.replace("&","&&"))
                self._name = name

            def connect(self, signal, callback, userdata):
                self._callback = callback
                self._userdata = userdata
                # FIXME Ambiguous syntax for this signal connection, can't refactor it.
                QtCore.QObject.connect(self, QtCore.SIGNAL(signal), self.slot)

            def slot(self):
                self._callback(self._userdata)

        self._filters = {}
        for name, label in [("hide-non-upgrades", _("Hide Non-upgrades")),
                            ("hide-installed", _("Hide Installed")),
                            ("hide-uninstalled", _("Hide Uninstalled")),
                            ("hide-unmarked", _("Hide Unmarked")),
                            ("hide-unlocked", _("Hide Unlocked")),
                            ("hide-requested", _("Hide Requested")),
                            ("hide-old", _("Hide Old"))]:
            act = ToggleAction(None, name, label)
            act.connect("activated()", self.toggleFilter, name)
            self._actions[name] = act

        treestyle = sysconf.get("package-tree")
        for name, label in [("groups", _("Groups")),
                            ("channels", _("Channels")),
                            ("channels-groups", _("Channels & Groups")),
                            ("none", _("None"))]:
            act = ToggleAction(group, "tree-style-"+name, label)
            if name == treestyle:
                act.setChecked(True)
            act.connect("activated()", self.setTreeStyle, name)
            self._actions["tree-style-"+name] = act

        self._menubar = self._window.menuBar()
        for MENU in MENUBAR:
             def insertmenu(menubar, menu):
                item = menu[0]
                action = self._actions[item]
                m = QtWidgets.QMenu(menubar)
                m.setTitle(action.text())
                menubar.addMenu(m)
                for item in menu[1]:
                    if isinstance(item, tuple):
                        insertmenu(m, item)
                    elif item:
                        action = self._actions[item]
                        #i = QtGui.QPopupMenu(m)
                        i = QtWidgets.QMenu(m)
                        #text = action.menuText()
                        i.setTitle(action.text())
                        #m.insertItem(text, i)
                        #action.addTo(m)
                        m.addAction(action)
                    else:
                        m.addSeparator()
             insertmenu(self._menubar, MENU)

        self._toolbar = QtWidgets.QToolBar(self._window)
        for TOOL in TOOLBAR:
            def inserttool(toolbar, tool):
                if tool:
                    action = self._actions[tool]
                    pixmap = getPixmap(TOOLBARICONS[tool])
                    action.setIcon(QtGui.QIcon(pixmap))
                    toolbar.addAction(action)
                else:
                    toolbar.addSeparator()
            inserttool(self._toolbar, TOOL)
            self._window.addToolBar( self._toolbar)

        #self._window.add_accel_group(self._ui.get_accel_group())

        self._actions["exec-changes"].setShortcut(QtGui.QKeySequence("Ctrl+C"))
        self._actions["find"].setShortcut(QtGui.QKeySequence("Ctrl+F"))
        self._actions["expand-all"].setShortcut(QtGui.QKeySequence("Ctrl+O"))
        self._actions["collapse-all"].setShortcut(QtGui.QKeySequence("Ctrl+W"))
        self._actions["summary-window"].setShortcut(QtGui.QKeySequence("Ctrl+S"))

        self._actions["exec-changes"].setEnabled(False)
        self._actions["clear-changes"].setEnabled(False)
        self._actions["undo"].setEnabled(False)
        self._actions["redo"].setEnabled(False)

        # Search bar

        self._searchbar = QtWidgets.QToolBar(self._window)
        self._searchbar.hide()
        self._window.addToolBar(self._searchbar)

        label = QtWidgets.QLabel(_("Search:"), self._searchbar)
        label.show()
        self._searchbar.addWidget(label)

        self._searchentry = QtWidgets.QLineEdit(self._searchbar)
        self._searchentry.returnPressed.connect(self.refreshPackages)
        self._searchentry.show()
        self._searchbar.addWidget(self._searchentry)

        button = QtWidgets.QPushButton(self._searchbar)
        button.clicked[()].connect(self.refreshPackages)
        pixmap = getPixmap("crystal-search")
        button.setIcon(QtGui.QIcon(pixmap))
        button.show()
        self._searchbar.addWidget(button)

        buttongroup = QtWidgets.QButtonGroup(self._searchbar)
        #buttongroup.hide()

        self._searchname = QtWidgets.QRadioButton(_("Automatic"), self._searchbar)
        self._searchname.setChecked(True)
        self._searchname.clicked[()].connect(self.refreshPackages)
        buttongroup.addButton(self._searchname)
        self._searchbar.addWidget(self._searchname)
        self._searchname.show()
        self._searchdesc = QtWidgets.QRadioButton(_("Description"), self._searchbar)
        self._searchdesc.setChecked(False)
        self._searchdesc.clicked[()].connect(self.refreshPackages)
        self._searchdesc.show()
        buttongroup.addButton(self._searchdesc)
        self._searchbar.addWidget(self._searchdesc)

        # Packages and information

        self._splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical, self._window)
        self._window.setCentralWidget(self._splitter)

        self._pv = QtPackageView(self._splitter)
        self._pv.show()

        self._pi = QtPackageInfo(self._splitter)
        self._pi.show()
        self._pv.packageSelected.connect(self._pi.setPackage)
        self._pv.packageActivated.connect(self.actOnPackages)
        self._pv.packagePopup.connect(self.packagePopup)

        self._status = self._window.statusBar()
        self._status.show()

        self._legend = QtLegend(self._window)

    def showStatus(self, msg):
        self._status.showMessage(msg)

    def hideStatus(self):
        self._status.clearMessage()

    def run(self, command=None, argv=None):
        self.setCatchExceptions(True)
        self.loadState()
        self._window.setWindowIcon(QtGui.QIcon(getPixmap("smart")))
        self._window.show()
        self._ctrl.reloadChannels()
        self._changeset = ChangeSet(self._ctrl.getCache())
        self._pi.setChangeSet(self._changeset)
        self._progress.hide()
        self.refreshPackages()
        app.exec_()
        self.saveState()
        self.setCatchExceptions(False)

    # Non-standard interface methods:

    def saveState(self):
        # Note: QtCore.QSize and QtCore.QPoint are not pickleable, unfortunately
        sysconf.set("qt-size", (self._window.width(),self._window.height()))
        sysconf.set("qt-position", (self._window.x(),self._window.y()))
        sysconf.set("qt-splitter-sizes", self._splitter.sizes())

    def loadState(self):
        var = sysconf.get("qt-size")
        if var is not None:
            self._window.resize(*var)
        var = sysconf.get("qt-position")
        if var is not None:
            self._window.move(*var)
        var = sysconf.get("qt-splitter-sizes")
        if var is not None:
            self._splitter.setSizes(var)

    def getChangeSet(self):
        return self._changeset

    def selectedChannels(self):
        self.updateChannels(selected=True)

    def allChannels(self):
        self.updateChannels(selected=False)

    # Update selected channels
    def updateChannels(self, selected=False, channels=None):
	print "Run: Update selected channels"
        if selected:
	    print "Run: IF"
            aliases = QtChannelSelector().show()
            channels = [channel for channel in self._ctrl.getChannels()
                        if channel.getAlias() in aliases]
            if not channels:
        	print "vector NO Channels"
                return
        state = self._changeset.getPersistentState()
        self._ctrl.reloadChannels(channels, caching=NEVER)
        self._changeset.setPersistentState(state)
        self.refreshPackages()

    def rebuildCache(self):
        state = self._changeset.getPersistentState()
        self._ctrl.reloadChannels()
        self._changeset.setPersistentState(state)
        self.refreshPackages()

    def applyChanges(self, confirm=True):
        transaction = Transaction(self._ctrl.getCache(),
                                  changeset=self._changeset)
        if self._ctrl.commitTransaction(transaction, confirm=confirm):
            del self._undo[:]
            del self._redo[:]
            self._actions["redo"].setEnabled(False)
            self._actions["undo"].setEnabled(False)
            self._changeset.clear()
            self._ctrl.reloadChannels()
            self.refreshPackages()
            self.changedMarks()
        self._progress.hide()

    def clearChanges(self):
        self.saveUndo()
        self._changeset.clear()
        self.changedMarks()

    def showChanges(self):
        return self._changes.showChangeSet(self._changeset)

    def showLog(self):
        return self._log.show()

    def showLegend(self):
        return self._legend.show()

    def expandPackages(self):
        self._pv.expandAll()

    def collapsePackages(self):
        self._pv.collapseAll()

    def toggleFilter(self, filter):
        if filter in self._filters:
            del self._filters[filter]
        else:
            self._filters[filter] = True
        self.refreshPackages()

    def upgradeAll(self):
        transaction = Transaction(self._ctrl.getCache())
        transaction.setState(self._changeset)
        for pkg in self._ctrl.getCache().getPackages():
            if pkg.installed:
                transaction.enqueue(pkg, UPGRADE)
        transaction.setPolicy(PolicyUpgrade)
        transaction.run()
        changeset = transaction.getChangeSet()
        if changeset != self._changeset:
            if self.confirmChange(self._changeset, changeset):
                self.saveUndo()
                emptychangeset = not self._changeset
                self._changeset.setState(changeset)
                self.changedMarks()
                if self.askYesNo(_("Apply marked changes now?"), True):
                    self.applyChanges(confirm=not emptychangeset)
        else:
            self.showStatus(_("No interesting upgrades available!"))

    def actOnPackages(self, pkgs, op=None):
        cache = self._ctrl.getCache()
        transaction = Transaction(cache, policy=PolicyInstall)
        transaction.setState(self._changeset)
        changeset = transaction.getChangeSet()
        if op is None:
            if not [pkg for pkg in pkgs if pkg not in changeset]:
                op = KEEP
            else:
                for pkg in pkgs:
                    if not pkg.installed:
                        op = INSTALL
                        break
                else:
                    op = REMOVE
        if op is REMOVE:
            transaction.setPolicy(PolicyRemove)
        policy = transaction.getPolicy()
        for pkg in pkgs:
            if op is KEEP:
                transaction.enqueue(pkg, op)
            elif op in (REMOVE, REINSTALL, FIX):
                if pkg.installed:
                    transaction.enqueue(pkg, op)
                    if op is REMOVE:
                        for _pkg in cache.getPackages(pkg.name):
                            if not _pkg.installed:
                                policy.setLocked(_pkg, True)
            elif op is INSTALL:
                if not pkg.installed:
                    transaction.enqueue(pkg, op)
        transaction.run()
        if op is FIX:
            expected = 0
        else:
            expected = 1
        if self.confirmChange(self._changeset, changeset, expected):
            self.saveUndo()
            self._changeset.setState(changeset)
            self.changedMarks(pkgs)

    def lockPackages(self, pkgs, lock):
        if not lock:
             for pkg in pkgs:
                  pkgconf.clearFlag("lock", pkg.name, "=", pkg.version)
             self._pv.update()
             self._pi.setPackage(pkgs[0])
        else:
             for pkg in pkgs:
                  pkgconf.setFlag("lock", pkg.name, "=", pkg.version)
             self._pv.update()
             self._pi.setPackage(pkgs[0])

    def lockAllPackages(self, pkgs, lock):
        if not lock:
             for pkg in pkgs:
                  pkgconf.clearFlag("lock", pkg.name)
             self._pv.update()
             self._pi.setPackage(pkgs[0])
        else:
             for pkg in pkgs:
                  pkgconf.setFlag("lock", pkg.name)
             self._pv.update()
             self._pi.setPackage(pkgs[0])

    def priorityPackages(self, pkgs, none):
        QtSinglePriority(self._window).show(pkgs[0])
        self._pi.setPackage(pkgs[0])

    def packagePopup(self, packageview, pkgs, pnt):

        menu = QtWidgets.QMenu(packageview)
        menu.move(pnt)

        hasinstalled = bool([pkg for pkg in pkgs if pkg.installed
                             and self._changeset.get(pkg) is not REMOVE])
        hasnoninstalled = bool([pkg for pkg in pkgs if not pkg.installed
                                and self._changeset.get(pkg) is not INSTALL])

        class PackagesAction(object):

            def __init__(self, pkgs):
                self._pkgs = pkgs
                self._callback = None
                self._userdata = None

            def connect(self, item, callback, userdata=None):
                self._callback = callback
                self._userdata = userdata

            def slot(self):
                self._callback(self._pkgs, self._userdata)

        installaction = PackagesAction(pkgs)

        iconset = QtGui.QIcon(getPixmap("package-install"))
        item = menu.addAction(iconset, _("Install"), installaction.slot)
        installaction.connect(item, self.actOnPackages, INSTALL)
        if not hasnoninstalled:
            item.setEnabled(False)

        reinstallaction = PackagesAction(pkgs)

        iconset = QtGui.QIcon(getPixmap("package-reinstall"))
        item = menu.addAction(iconset, _("Reinstall"), reinstallaction.slot)
        reinstallaction.connect(item, self.actOnPackages, REINSTALL)
        if not hasinstalled:
            item.setEnabled(False)

        removeaction = PackagesAction(pkgs)

        iconset = QtGui.QIcon(getPixmap("package-remove"))
        item = menu.addAction(iconset, _("Remove"), removeaction.slot)
        removeaction.connect(item, self.actOnPackages, REMOVE)
        if not hasinstalled:
            item.setEnabled(False)

        keepaction = PackagesAction(pkgs)

        if not hasinstalled:
            iconset = QtGui.QIcon(getPixmap("package-available"))
        else:
            iconset = QtGui.QIcon(getPixmap("package-installed"))
        item = menu.addAction(iconset, _("Keep"), keepaction.slot)
        keepaction.connect(item, self.actOnPackages, KEEP)
        if not [pkg for pkg in pkgs if pkg in self._changeset]:
            item.setEnabled(False)

        fixaction = PackagesAction(pkgs)

        iconset = QtGui.QIcon(getPixmap("package-broken"))
        item = menu.addAction(iconset, _("Fix problems"), fixaction.slot)
        fixaction.connect(item, self.actOnPackages, FIX)
        if not hasinstalled:
            item.setEnabled(False)

        inconsistent = False
        thislocked = None
        alllocked = None
        names = pkgconf.getFlagTargets("lock")
        if [pkg for pkg in pkgs if pkg in self._changeset]:
            inconsistent = True
        else:
            for pkg in pkgs:
                if (names and pkg.name in names and
                    ("=", pkg.version) in names[pkg.name]):
                    newthislocked = True
                    newalllocked = len(names[pkg.name]) > 1
                else:
                    newthislocked = False
                    newalllocked = pkgconf.testFlag("lock", pkg)
                if (thislocked is not None and thislocked != newthislocked or
                    alllocked is not None and alllocked != newalllocked):
                    inconsistent = True
                    break
                thislocked = newthislocked
                alllocked = newalllocked

        lockaction = PackagesAction(pkgs)

        if thislocked:
            if not hasnoninstalled:
                iconset = QtGui.QIcon(getPixmap("package-installed"))
            else:
                iconset = QtGui.QIcon(getPixmap("package-available"))
            item = menu.addAction(iconset, _("Unlock this version"), lockaction.slot)
            lockaction.connect(item, self.lockPackages, False)
        else:
            if not hasnoninstalled:
                iconset = QtGui.QIcon(getPixmap("package-installed-locked"))
            else:
                iconset = QtGui.QIcon(getPixmap("package-available-locked"))
            item = menu.addAction(iconset, _("Lock this version"), lockaction.slot)
            lockaction.connect(item, self.lockPackages, True)
        if inconsistent:
            item.setEnabled(False)

        lockallaction = PackagesAction(pkgs)

        if alllocked:
            if not hasnoninstalled:
                iconset = QtGui.QIcon(getPixmap("package-installed"))
            else:
                iconset = QtGui.QIcon(getPixmap("package-available"))
            item = menu.addAction(iconset, _("Unlock all versions"), lockallaction.slot)
            lockallaction.connect(item, self.lockAllPackages, False)
        else:
            if not hasnoninstalled:
                iconset = QtGui.QIcon(getPixmap("package-installed-locked"))
            else:
                iconset = QtGui.QIcon(getPixmap("package-available-locked"))
            item = menu.addAction(iconset, _("Lock all versions"), lockallaction.slot)
            lockallaction.connect(item, self.lockAllPackages, True)
        if inconsistent:
            item.setEnabled(False)

        priorityaction = PackagesAction(pkgs)

        item = menu.addAction(_("Priority"), priorityaction.slot)
        priorityaction.connect(item, self.priorityPackages)
        if len(pkgs) != 1:
            item.setEnabled(False)

        menu.show()
        menu.exec_(packageview.mapToGlobal(pnt))

    def checkPackages(self, all=False, uninstalled=False):
        installed = not uninstalled
        available = all or uninstalled
        self.info(_("Checking relations..."))
        if checkPackagesSimple(self._ctrl.getCache(), report=True,
                               installed=installed, available=available):
            self.info(_("All checked packages have correct relations."))

    def fixAllProblems(self):
        self.actOnPackages([pkg for pkg in self._ctrl.getCache().getPackages()
                            if pkg.installed], FIX)

    def undo(self):
        if self._undo:
            state = self._undo.pop(0)
            if not self._undo:
                self._actions["undo"].setEnabled(False)
            self._redo.insert(0, self._changeset.getPersistentState())
            self._actions["redo"].setEnabled(True)
            self._changeset.setPersistentState(state)
            self.changedMarks()

    def redo(self):
        if self._redo:
            state = self._redo.pop(0)
            if not self._redo:
                self._actions["redo"].setEnabled(False)
            self._undo.insert(0, self._changeset.getPersistentState())
            self._actions["undo"].setEnabled(True)
            self._changeset.setPersistentState(state)
            self.changedMarks()

    def saveUndo(self):
        self._undo.insert(0, self._changeset.getPersistentState())
        del self._redo[:]
        del self._undo[20:]
        self._actions["undo"].setEnabled(True)
        self._actions["redo"].setEnabled(False)

    def setTreeStyle(self, mode):
        if mode != sysconf.get("package-tree"):
            sysconf.set("package-tree", mode)
            self.refreshPackages()

    def editChannels(self):
	print "vector Run: Edit channels"
        if QtChannels(self._window).show():
            self.rebuildCache()

    def editMirrors(self):
        QtMirrors(self._window).show()

    def editFlags(self):
        QtFlags(self._window).show()

    def editPriorities(self):
        QtPriorities(self._window).show()

    def setBusy(self, flag):
        if flag:
            QtWidgets.QApplication.setOverrideCursor( QtGui.QCursor(QtCore.Qt.WaitCursor) )
            #while QtGui.QCoreApplication.eventLoop().hasPendingEvents():
            #    QtGui.QApplication.eventLoop().processEvents(QtGui.QEventLoop.AllEvents)
        else:
            QtWidgets.QApplication.restoreOverrideCursor()

    def changedMarks(self, pkgs=[]):
        if "hide-unmarked" in self._filters:
            self.refreshPackages()
        else:
            self._pv.updatePackages(pkgs, self._changeset)
            self._pv.update()
        self._actions["exec-changes"].setEnabled(bool(self._changeset))
        self._actions["clear-changes"].setEnabled(bool(self._changeset))

    def toggleSearch(self):
        visible = not self._searchentry.isVisible()
        if visible:
            self._searchbar.show()
        else:
            self._searchbar.hide()
        self.refreshPackages()
        if visible:
            self._searchentry.setFocus()

    def refreshPackages(self):
        if not self._ctrl:
            return

        self.setBusy(True)

        tree = sysconf.get("package-tree", "groups")
        ctrl = self._ctrl
        changeset = self._changeset

        if self._searchbar.isVisible() and \
            self._searchentry.text(): # temporary

            searcher = Searcher()
            dosearch = False
            if self._searchdesc.isChecked():
                text = self._searchentry.text()
                if text:
                    text = str(text).strip()
                    dosearch = True
                    searcher.addDescription(text)
                    searcher.addSummary(text)
            else:
                try:
                    text = self._searchentry.text()
                    tokens = shlex.split(str(text))
                except ValueError:
                    pass
                else:
                    if tokens:
                        dosearch = True
                        for tok in tokens:
                            if searcher.hasAutoMeaning(tok):
                                searcher.addAuto(tok)
                            else:
                                searcher.addNameVersion("*%s*" % tok)

            packages = []
            if dosearch:
                self._ctrl.getCache().search(searcher)
                for ratio, obj in searcher.getResults():
                    if isinstance(obj, Package):
                        packages.append(obj)
                    else:
                        packages.extend(obj.packages)
        else:
            packages = ctrl.getCache().getPackages()

        filters = self._filters
        if filters:
            if "hide-non-upgrades" in filters:
                newpackages = {}
                for pkg in packages:
                    if pkg.installed:
                        upgpkgs = {}
                        try:
                            for prv in pkg.provides:
                                for upg in prv.upgradedby:
                                    for upgpkg in upg.packages:
                                        if upgpkg.installed:
                                            raise StopIteration
                                        upgpkgs[upgpkg] = True
                        except StopIteration:
                            pass
                        else:
                            newpackages.update(upgpkgs)
                packages = newpackages.keys()
            if "hide-uninstalled" in filters:
                packages = [x for x in packages if x.installed]
            if "hide-unmarked" in filters:
                packages = [x for x in packages if x in changeset]
            if "hide-installed" in filters:
                packages = [x for x in packages if not x.installed]
            if "hide-unlocked" in filters:
                packages = pkgconf.filterByFlag("lock", packages)
            if "hide-requested" in filters:
                packages = pkgconf.filterByFlag("auto", packages)
            if "hide-old" in filters:
                packages = pkgconf.filterByFlag("new", packages)

        if tree == "groups":
            groups = {}
            done = {}
            for pkg in packages:
                lastgroup = None
                for loader in pkg.loaders:
                    info = loader.getInfo(pkg)
                    group = info.getGroup()
                    donetuple = (group, pkg)
                    if donetuple not in done:
                        done[donetuple] = True
                        if group in groups:
                            groups[group].append(pkg)
                        else:
                            groups[group] = [pkg]

        elif tree == "channels":
            groups = {}
            done = {}
            for pkg in packages:
                for loader in pkg.loaders:
                    channel = loader.getChannel()
                    group = channel.getName() or channel.getAlias()
                    donetuple = (group, pkg)
                    if donetuple not in done:
                        done[donetuple] = True
                        if group in groups:
                            groups[group].append(pkg)
                        else:
                            groups[group] = [pkg]

        elif tree == "channels-groups":
            groups = {}
            done = {}
            for pkg in packages:
                for loader in pkg.loaders:
                    channel = loader.getChannel()
                    group = channel.getName() or channel.getAlias()
                    subgroup = loader.getInfo(pkg).getGroup()
                    donetuple = (group, subgroup, pkg)
                    if donetuple not in done:
                        done[donetuple] = True
                        if group in groups:
                            if subgroup in groups[group]:
                                groups[group][subgroup].append(pkg)
                            else:
                                groups[group][subgroup] = [pkg]
                        else:
                            groups[group] = {subgroup: [pkg]}

        else:
            groups = packages

        self._pv.setPackages(groups, changeset, keepstate=True)

        self.setBusy(False)

    def showAbout(self):
        copyright = "2010 Smart Team, 2006 Canonical Ltd., 2004 Conectiva, Inc."
        license = """
            This program is free software; you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation; either version 2 of the License, or
            (at your option) any later version.

            This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.

            You should have received a copy of the GNU General Public License
            along with this program; if not, write to the Free Software
            Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
            """
        credits=["""Gustavo Niemeyer - Original author and lead developer.""",
           u"""Anders F Bj\u00f6rklund - Current maintainer and developer.""",
            """Conectiva Inc. - Original project funder up to August 2005.""",
            """Canonical Ltd. - Funded Smart up to November of 2009.""",
            """Unity Linux - Smart development and deployment support.""",
            """And many others - Check our website for the complete list.""",
            ]
        website = "http://smartpm.org/"

        QtWidgets.QMessageBox.about(self._window, "About " + "Smart Package Manager",
            "<h2>" + "Smart Package Manager" + " " + VERSION + "</h2>" + \
            "<p>Copyright © " + copyright + \
            "<p><small>" + license + "</small>" + \
            "<p><h3>Credits</h3>" + "<br>".join(credits) + \
            "<p><a href=\""+website+"\">"+website+"</a>")


text:
Q: Show that the step function is linearly independent Consider the set V consisting of all functions $f : \mathbb R \to \mathbb R$, considered as a vector space
over $\mathbb R$ with the usual definitions of addition and scalar multiplication. Consider
the step functions $f_n : \mathbb R \to \mathbb  R$ defined, for each positive integer $n$, by
$$f_n(x) = \begin{cases}
1  \quad\mathrm{if}\quad  -n<x<n \\
0  \quad\mathrm{if}\quad |x|\geq n
\end{cases}$$
How would I show that the set $B = \{f_n \mid n\in N \}$ is linearly independent?
I am even sure how to start.

A: You want to show that for any $n$, $$\sum_{k=1}^n c_kf_k=0 $$ implies that $$c_1=c_2=\cdots=c_n=0.$$
For $n=1$, the statement is evident, as $c_1f_1=0$ if and only if $c_1=0$. Now suppose the claim is true for some $n\geqslant 1$. Then if $$\sum_{k=1}^{n+1}c_kf_k=0, $$ we have $$c_{n+1}f_{n+1} + \sum_{k=1}^nc_kf_k=0. $$
If $c_{n+1}\ne0$, then $c_{n+1}f_{n+1}(n)=c_{n+1}\ne0$, and $$\sum_{k=1}^nc_kf_k(n)=0,$$ a contradiction. Hence $c_{n+1}=0$. From the inductive hypothesis, then, $$c_1=c_2=\cdots=c_n=0,$$ and so the statement is true for any $n$.

redpajama_set_name: RedPajamaStackExchange


text:
Top Dividend Stocks to Buy and Forget in 2022
Top Dividend Stocks to Buy and Forget in 2022's Profile
If you're a fan of dividends, then finding the right mix of income-producing stocks is important. Now that the end of the year is just two weeks away, there's no time like the present to find those investments. Fortunately, the market provides plenty of options to consider, and there are some top dividend stocks to buy and forget for 2022.
Will you buy these top dividend stocks?
When it comes to earning dividends, there are certain areas of the market that are natural candidates. Telecoms and utilities are perfect examples.
That's precisely why investors should take a close look at both Telus (TSX:T)(NYSE:TU) and Canadian Utilities (TSX:CU).
Telus is one of the largest telecoms in the country. Telecoms have always been well regarded as defensive stocks. Since the pandemic started, that view has shifted. If anything, the appeal of telecoms such as Telus has only increased.
The need for steady internet and wireless connections has grown. This is due to more office workers and students working and studying from home. If anything, both have become a necessity. It's not just for work and study either — the entertainment industry relies on telecoms too. Streaming services that provide audio and video content for homebound subscribers have pushed data use (and by extension, Telus' revenue) up considerably.
In terms of a dividend, Telus offers an appetizing 4.46% yield.
Canadian Utilities currently holds the title for the longest consecutive annual dividend increases. The company stands at 49 consecutive years at present. When (not if) Canadian Utilities hits that half-century mark, it will be Canada's first Dividend King.
The company boasts an impressive portfolio of regulated assets that continue to generate a handsome and recurring revenue stream. Prospective investors should keep in mind that regulated contracts typically span decades or longer.
Canadian Utilities also has a keen eye towards acquisitions, which provides an avenue of growth. Both efforts help feed the impressive and stable dividend, which works out to a juicy 4.91% yield.
What about some clean energy?
Renewable energy is growing in importance with each passing year. The science is largely accepted. More importantly, the need for that change is now trickling down to utilities and consumers. This has created a whole new market opportunity for renewable energy investors.
One such option to consider is TransAlta Renewables (TSX:RNW). TransAlta operates a growing portfolio of facilities that are located in Canada, the U.S., and Australia. Those assets are also diversified across different technologies, including solar, wind, hydro, and gas.
As impressive as that sounds, there's still much more to consider. TransAlta and other renewable energy companies boast a competitive advantage over their traditional fossil-fuel peers. In short, traditional utilities are straddled with huge transition costs to get off fossil fuels. Those efforts will take years and cost billions.
By comparison, TransAlta's facilities are already renewable. This means the company can invest in growth and continue to provide a juicy dividend.
That dividend, which is paid out on a monthly cadence, carries an impressive 5.16% yield. This handily makes TransAlta one of the top dividend stocks for your 2022 portfolio.
PrevPreviousSaskatoon man's 300-km snowshoe trip supports calls to recognize Timber Bay as residential school

redpajama_set_name: RedPajamaCommonCrawl


The AMA was released around 11:49am and then closed at around 1:30pm, and in less than two hours there were over 250 responses and potential questions for this month's AMA. This may be a new record! Are there more agents active of late? Changes in OPR and #FS attendance is up quite a bit because of the recent upgrades in OPR and badge additions to the #IngressFS events.
We will wait and see what questions get answered and there seem to be quite a few asking about G+ shutting down, of course OPR queries and then I noticed an interesting one about win-trading being removed from the tos. This one may have been missed from a different part of the agent protocols or various other places that "rules" get defined for Ingress, but an answer to it will be interesting none the less. I can't really believe they would take that piece out of Ingress as it could cause some immediate issues, but would for sure speed up the leveling for some agents. Let us know what you think?


text:
Making the Impossible Possible
Jason Hardrath
Story by Lee Juillerat
Jason Hardrath spends his summers doing seemingly impossible things, like climbing Washington's 100 tallest peaks in 51 days and summiting California's fifteen 14,000-foot-plus mountains in less than a week.
The rest of the year he uses those push-himself-to-the-limits experiences to create a sense of can-do, a belief that seemingly impossible things can be achieved, for students in his physical education classes at Klamath County's Bonanza Elementary School. "I want them to know we can do things when we're scared. That you can experience fear and learn to work through it," he explains. In his classes, youngsters gain confidence by doing things like riding a bicycle or a skateboard, working their way up the school's climbing wall, walking and jogging, playing ball and, most of all, having fun. "I need them to walk away with a variety of indoor and outdoor experiences so that they can say, 'That's cool. I can do that.'"
Hardrath, 33, has an "I-can-do-that" attitude because he's overcome a series of challenges, including ADHD (Attention Deficit/Hyperactivity Disorder). He's used running, triathlons, and other endurance sports as outlets. As he explains, "As I kid, I couldn't sit still. I found athletics as this realm where I could be successful."
While in high school in Baker City, he pushed himself in track hard enough to earn a scholarship to Corban University in Salem, where he earned a degree and teaching certificate in physical education. His self-confidence increased in 2011 when he bicycled across the U.S. "That's when I learned these things can be done." He followed that up by competing in Iron Man competitions, which combine bicycling, swimming and running, along with other outdoor activities.
His endeavors nearly ended in 2015. He almost died and suffered crippling injuries in an accident when, weary from a hard day at school, he lost focus while driving and his car went off the road. Because he wasn't wearing a seatbelt, he flew out an open car window. He tore a knee, broke his shoulder, had broken ribs along with a collapsed lung, and damaged internal organs. He aggressively worked his way back into shape, but the injuries ended his running. "I was told I'd have to give up that part of my life. I knew I couldn't do that. Moving my body is paramount to my ability to function."
Hardrath refocused on climbing. Before he had moved to Klamath Falls, a short commute to Bonanza, he had already climbed local mountains, including 14,180-foot Mount Shasta, which he's summited more than 25 times. He also learned and honed technical rock climbing skills in Utah slot canyons, Northern California's Castle Crags, Smith Rock State Park, and numerous Sierra-Nevada mountains, always increasingly focused on complex, technical routes.
Another near miss happened last May. Racing his mountain bike down a dirt road on Mount Shasta, he collided with a deer that ran into his path. While hospitalized with serious injuries, he learned he had COVID-19. "That," he remembers of the physical and mental injuries, "rattled my confidence. I asked myself if I could really trust my body out there." But he regained that trust and confidence last summer by completing a 41-mile ridge traverse in Yosemite National Park in three days and 12 hours. He considered it a "test piece" for the challenge that followed, Norman's 13, which involves climbing the thirteen 14,000-plus peaks in California's Sierra Nevada Range. Despite struggling from lingering injuries from the collision and effects of long-COVID, "I still managed to make it happen."
Norman's 13 involved 107 miles of hiking, with nearly half the distance off-trail, along with more than 40,000-feet of vertical elevation gain and 5th class rock climbing. He finished in a Fastest Known Time (FKT) record three days, 22 minutes and 19 seconds. Then, without a pause he bicycled to another 14er, White Mountain near the California-Nevada border. After summiting White, he was back on his bike, pedaling 400-plus miles in 90-plus degrees heat to far Northern California's to climb Mount Shasta.
In all, he summited California's 15 tallest peaks in a FKT record six days and 22 hours. During the nearly non-stop journey he overcame his fatigue and lingering injuries by repeating two mantras, "I'm not gonna die out here," and "Keep the dream alive."
Keeping the dream alive wasn't easy. "I had hallucinations the whole way up," he tells of climbing Mount Tyndall, one of those Sierra Nevada peaks, in the dark. While bicycling to Mount Shasta he remembers thinking, "I'm going to do it. I'm beat up, I'm exhausted, but I'm going to do it." It wasn't his first time doing the unthinkable. In 2021 he climbed Washington's 100 highest peaks – including Mount Rainier and dozens of lesser-known, often technical peaks – in 51 days. The previous FKT for what is known as The Bulger List, was 410 days. Hardrath's journey is told in a documentary, Journey to 100.
The challenges will continue this summer. He is looking at hiking the length of the Grand Canyon, a 277-mile distance that's mostly off trail, and lowering the current FKT of 24 days, and tackling the Rocky Mountain Slam, which includes hiking more than a thousand miles and summiting 205 peaks all over 12,000-feet in elevation, in Colorado, Wyoming, and Montana. The current FKT is 60 days.
He emphasizes the need for preplanning, for "being as efficient as possible," something he says is easier because of technology. But even more, "I want to do things in beautiful places," he says of tackling seemingly impossible challenges in beautiful but remote areas most people only see from a distance.
Hardrath is proud of his personal accomplishments, but he also wants to transfer the can-do mentality to others, especially his students. "Embracing challenges is subtly embedded in my PE programs. I want to let them participate, to have moments when they choose to do more, to know we can do things when we're scared. To experience fear and learn to work through it," he says "The end takeaway is that it's a positive experience, one that they and their friends have fun doing."


1.3 An email address is only allowed to use for a single account, this also applies to payment account emails. It means each Payeer, Perfectmoney account is only used for a single Ibtclix account and is not shared to other members.
1.4 Each internet line is only allowed to use for one account, you can refer a member of your family to Ibtclix if you make sure each account uses a separate network connection and a separate computer. Using Ibtclix accounts at public internet locations like cafes, schools, companies can lead to the suspension of your account.
1.5 Violation of terms 1.1, 1.2, 1.3, 1.4 will result in permanently suspension of your account, and there will be no refunds for the funds you have loaded into Ibtclix for upgrading,renting referrals or buying ads.
1.6 Your account will be reset in case you are not operating continuously for 60 days or more. For a reset account, all referrals including direct and rented referrals will be removed from your account. Moreover, Main Balance and Rental Balance will be reset to zero. All complaints in this case will not be resolved.
2.1 As a member of Ibtclix you can view, create or reply to other members' posts in areas where your account is allowed.
2.2 New topics must be posted in properly regulations place.
2.3 When writing posts on general forums, you are only allowed to use English. Topics and posts using languages other than English are only allowed in a forum dedicated to that language.
2.4 You have the right to express your opinion as long as it does not offend other members.
2.5 Any ideas intended to counter or depredit the Ibtclix (including admin, moderators, and support staff) on the Ibtclix forum or anywhere without providing concrete evidence. This will result in your account being suspended immediately.
2.6 We do not accept topics or posts related to politics, religion or race. The use of inappropriate words to defame any entity or individual on the Ibtclix forum is not allowed.
2.7 Violation of terms 2.2, 2.3, 2.4, 2.5, 2.6 will lead to suspension of forum usage, even disabled your account.
2.8 Posting topics or messages that may directly or indirectly be prejudicial to Ibtclix, its users, sponsors or service providers will be considered an offense and are strictly prohibited.
3.1 You only get commissions when your referrals view the following types of ads: Fixed Advertisement, Extended Advertisement, Standard Advertisement. To earn commissions you are required to view the number of Fixed Ad that your membership level requires.
3.2 You will have a commission when your referrals upgrade their account or buy ad packages if you are an upgraded member. Commissions will be credited directly to your account after 1 days if there is no dispute or charge back.
3.3 Ibtclix does not accept PTC Refback programs, you are not allowed to pay anyone to work for you, if not your referral will be removed, you will be punished by deduction of the Main Balance, even suspension of your account.
3.4 You must not send unsolicited email or force anyone in any other way into becoming your referral. You also cannot use any service that attempts to sell you referrals. We will verify such incidents and they will result in account termination.
4.1 Payments are made within 1 -> 7 business days through PerfectMoney and Payeer.
4.2 You may request payment when your main balance reaches a minimum amount of $2.
4.3 Any payment returned by a member for any reason will be ignored and we will not resend the payment.
5.1 Ibtclix's transactions like account upgrades, buying ads, recharge rental balance are only made through the payment gateways available on our website, we do not accept any other payment methods.
5.2 If we detect a payment has been made illegally (use hacked payment account), your account will be permanently suspended and we will work with the payment service provider to handle such unauthorized transaction.
6.1 All payments are non-refundable because they concern services provided at the time of the purchase. Should you have any issue with any of your purchases, you can contact our support by creating a support ticket.
7.1 Ibtclix do not accept sites that contain violence, adult content (18+), politics, religion, hacking techniques.
7.2 Your website will not be accepted if it breaks the frame and causes the timer to stop working.
7.3 We will refuse to advertise a site if we find that its content is inappropriate to display on our site.
8.1 All hacking behavior on the system will be logged and your account will be permanently suspended.
8.2 Using auto click softwares is not allowed and your account will be permanently suspended.
9.1 We have the right to adjust prices for upgrade packages, rented referral fees, and advertising package prices at any time to suit our development.


This category groups the different industries for which MeaningCloud offers solutions.
MeaningCloud and LaBDA research group were present at the TAC 2017 conference held on November 13th – 14th at NIST headquarters in Washington. In the Text Analysis Conferences, research groups from all over the world were invited to develop software systems to tackle text analytics-related problems. This year, one task was devoted to the automatic identification of adverse drug reactions (ADRs) appearing in drug labels, including features defining the ADR, such as its severity or if it is characteristic of a drug class instead of just a given drug. There has been a specific subtask to link the identified ADRs with their corresponding MedDRA codes and lexical terms. More than 10 research teams have taken part in the project, all of them applying some kind of deep learning approach to the problem. Results show that it is possible to reach 8 5% accuracy when identifying ADRs.
We were delighted to present our text analytics-based system for ADRs identification on drug labels, which combines natural language processing and machine learning algorithms. The system has been built as a joint effort between MeaningCloud and LaBDA research group at the Universidad Carlos III de Madrid. Identifying ADRs is a basic task for pharmacovigilance, and that is the reason why the Federal Drug Administration (FDA) is involved in the funding and definition of the ADRs identification tasks in the framework of the Text Analysis Conferences. We have learned a lot these days (e.g., a BiLSTM deep neural network is the best choice for the purpose), and shared pleasant moments with our colleagues at Washington. We hope to be able to attend next year's edition, which will focus on the extraction of drug-drug interactions (DDI), another interesting task aimed at detecting situations where the use of a combination of drugs may lead to an adverse effect.
Adverse Drug Reactions (ADRs) are the biggest safety concern in the health field.
Artificial Intelligence can decisively contribute to promote patient safety, proactively monitor adverse events and understand their impact in every phase of development.
Health and pharma companies have a good opportunity to leverage unstructured information. Text-based sources can be used to identify the costs of medical treatments, their efficiency (cost, benefits, and risks), references to drugs, side effects, patient experience, and more.


text:
Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo)
Rafael Mateo, Càrol Gil, Montserrat Badia-Vila, Raimon Guitart, Antonio Hernández-Matías, Carola Sanpera, Xavier Ruiz
We have studied the breeding parameters, organochlorine compounds (OCs) concentrations, and fatty acid (FA) composition of egg yolks (n = 47) and plasma (n = 90) of common terns (Sterna hirundo) from two colonies (Banya and Fangar) in the Ebro delta, NE Spain. Terns from Banya tend to have smaller clutch size and lower hatching success than terns from Fangar. p,p'-DDE and polychlorinated biphenyls (PCBs) concentrations were almost 2-fold higher in yolks from Banya in 1998 than from Fangar in 1999, and the percentage of n-6 PUFA was positively correlated with these contaminants. Differences between samplings in OCs concentrations in plasma were less evident, and were affected by breeding chronology. The highest OCs concentrations in yolks from Banya may be explained by two processes involving the increased deposition of n-6 PUFA: (1) higher mobilization of endogenous fat due to lower food resources, or (2) differences in the diet between colonies. Birds from Banya may have been feeding at a higher degree on discards of trawling fisheries composed of demersal and benthic fish species that are more exposed to contaminants from sediment and have lower n-3/n-6 ratio, whereas birds from Fangar would feed mostly on pelagic species of small clupeiformes that are less polluted and have higher n-3/n-6 ratios.
https://doi.org/10.1023/B:ECTX.0000037191.98464.44
Published - 1 Aug 2004
10.1023/B:ECTX.0000037191.98464.44
Fingerprint Dive into the research topics of 'Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo)'. Together they form a unique fingerprint.
Charadriiformes Medicine & Life Sciences
Chlorinated Hydrocarbons Medicine & Life Sciences
organochlorine compound Earth & Environmental Sciences
Sternum Medicine & Life Sciences
organochlorine Earth & Environmental Sciences
Eggs Medicine & Life Sciences
egg Earth & Environmental Sciences
Mateo, R., Gil, C., Badia-Vila, M., Guitart, R., Hernández-Matías, A., Sanpera, C., & Ruiz, X. (2004). Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo). Ecotoxicology, 13(6), 545-554. https://doi.org/10.1023/B:ECTX.0000037191.98464.44
Mateo, Rafael ; Gil, Càrol ; Badia-Vila, Montserrat ; Guitart, Raimon ; Hernández-Matías, Antonio ; Sanpera, Carola ; Ruiz, Xavier. / Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo). In: Ecotoxicology. 2004 ; Vol. 13, No. 6. pp. 545-554.
@article{63100c12f1924772a3ba23c98129bbd7,
title = "Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo)",
abstract = "We have studied the breeding parameters, organochlorine compounds (OCs) concentrations, and fatty acid (FA) composition of egg yolks (n = 47) and plasma (n = 90) of common terns (Sterna hirundo) from two colonies (Banya and Fangar) in the Ebro delta, NE Spain. Terns from Banya tend to have smaller clutch size and lower hatching success than terns from Fangar. p,p'-DDE and polychlorinated biphenyls (PCBs) concentrations were almost 2-fold higher in yolks from Banya in 1998 than from Fangar in 1999, and the percentage of n-6 PUFA was positively correlated with these contaminants. Differences between samplings in OCs concentrations in plasma were less evident, and were affected by breeding chronology. The highest OCs concentrations in yolks from Banya may be explained by two processes involving the increased deposition of n-6 PUFA: (1) higher mobilization of endogenous fat due to lower food resources, or (2) differences in the diet between colonies. Birds from Banya may have been feeding at a higher degree on discards of trawling fisheries composed of demersal and benthic fish species that are more exposed to contaminants from sediment and have lower n-3/n-6 ratio, whereas birds from Fangar would feed mostly on pelagic species of small clupeiformes that are less polluted and have higher n-3/n-6 ratios.",
keywords = "egg, fatty acids, Organochlorine, plasma, tern",
author = "Rafael Mateo and C{\`a}rol Gil and Montserrat Badia-Vila and Raimon Guitart and Antonio Hern{\'a}ndez-Mat{\'i}as and Carola Sanpera and Xavier Ruiz",
doi = "10.1023/B:ECTX.0000037191.98464.44",
journal = "Ecotoxicology",
Mateo, R, Gil, C, Badia-Vila, M, Guitart, R, Hernández-Matías, A, Sanpera, C & Ruiz, X 2004, 'Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo)', Ecotoxicology, vol. 13, no. 6, pp. 545-554. https://doi.org/10.1023/B:ECTX.0000037191.98464.44
Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo). / Mateo, Rafael; Gil, Càrol; Badia-Vila, Montserrat; Guitart, Raimon; Hernández-Matías, Antonio; Sanpera, Carola; Ruiz, Xavier.
In: Ecotoxicology, Vol. 13, No. 6, 01.08.2004, p. 545-554.
T1 - Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo)
AU - Mateo, Rafael
AU - Gil, Càrol
AU - Badia-Vila, Montserrat
AU - Guitart, Raimon
AU - Hernández-Matías, Antonio
AU - Sanpera, Carola
AU - Ruiz, Xavier
N2 - We have studied the breeding parameters, organochlorine compounds (OCs) concentrations, and fatty acid (FA) composition of egg yolks (n = 47) and plasma (n = 90) of common terns (Sterna hirundo) from two colonies (Banya and Fangar) in the Ebro delta, NE Spain. Terns from Banya tend to have smaller clutch size and lower hatching success than terns from Fangar. p,p'-DDE and polychlorinated biphenyls (PCBs) concentrations were almost 2-fold higher in yolks from Banya in 1998 than from Fangar in 1999, and the percentage of n-6 PUFA was positively correlated with these contaminants. Differences between samplings in OCs concentrations in plasma were less evident, and were affected by breeding chronology. The highest OCs concentrations in yolks from Banya may be explained by two processes involving the increased deposition of n-6 PUFA: (1) higher mobilization of endogenous fat due to lower food resources, or (2) differences in the diet between colonies. Birds from Banya may have been feeding at a higher degree on discards of trawling fisheries composed of demersal and benthic fish species that are more exposed to contaminants from sediment and have lower n-3/n-6 ratio, whereas birds from Fangar would feed mostly on pelagic species of small clupeiformes that are less polluted and have higher n-3/n-6 ratios.
AB - We have studied the breeding parameters, organochlorine compounds (OCs) concentrations, and fatty acid (FA) composition of egg yolks (n = 47) and plasma (n = 90) of common terns (Sterna hirundo) from two colonies (Banya and Fangar) in the Ebro delta, NE Spain. Terns from Banya tend to have smaller clutch size and lower hatching success than terns from Fangar. p,p'-DDE and polychlorinated biphenyls (PCBs) concentrations were almost 2-fold higher in yolks from Banya in 1998 than from Fangar in 1999, and the percentage of n-6 PUFA was positively correlated with these contaminants. Differences between samplings in OCs concentrations in plasma were less evident, and were affected by breeding chronology. The highest OCs concentrations in yolks from Banya may be explained by two processes involving the increased deposition of n-6 PUFA: (1) higher mobilization of endogenous fat due to lower food resources, or (2) differences in the diet between colonies. Birds from Banya may have been feeding at a higher degree on discards of trawling fisheries composed of demersal and benthic fish species that are more exposed to contaminants from sediment and have lower n-3/n-6 ratio, whereas birds from Fangar would feed mostly on pelagic species of small clupeiformes that are less polluted and have higher n-3/n-6 ratios.
KW - egg
KW - fatty acids
KW - Organochlorine
KW - plasma
KW - tern
U2 - 10.1023/B:ECTX.0000037191.98464.44
DO - 10.1023/B:ECTX.0000037191.98464.44
JO - Ecotoxicology
JF - Ecotoxicology
Mateo R, Gil C, Badia-Vila M, Guitart R, Hernández-Matías A, Sanpera C et al. Use of fatty acids to explain variability of organochlorine concentrations in eggs and plasma of common terns (Sterna hirundo). Ecotoxicology. 2004 Aug 1;13(6):545-554. https://doi.org/10.1023/B:ECTX.0000037191.98464.44


US stock exchange Nasdaq has won a patent in which it describes a blockchain platform for sharing time-sensitive information.
The patent mentions that there are legacy systems in place that work well to spread information. Over time, wire services and news distribution services have been modified to meet the needs of individuals and companies that use them. However, the introduction of "encryption features, advanced access control functionality…and/or workflow functionality that allows for the editing, review, and approval of information before it is disseminated" has caused "audit trail gaps." In other words, it's sometimes impossible to see who wrote or edited a specific piece of information.
"Additional transactions that are generated based on the edits may effectively provide a proof of custody or audit trail for the document. After completion of the editing process (or if no editing is needed), the document may be finalized and then approved for release by one or more designated approvers. The approvers may cryptographically 'approve' the document for release by providing their cryptographic signature to a blockchain transaction."
Like what you read? Follow us on Twitter @ETHNews_ to receive the latest Nasdaq, blockchain or other Ethereum application news.


Sorry, there are no bed & breakfasts listed in Joostenberg Vlakte at the moment.
Bed and breakfast (B&B) accommodation in Joostenberg Vlakte. Live as a local, enjoy interacting with, and the advice of, your host, and save money by selecting a Joostenberg Vlakte bed and breakfast as an alternative to a local hotel.
Our owner-managed Joostenberg Vlakte B&Bs provide en-suite or shared bathrooms, and breakfast, which is included in the daily rate or available on request.


The best way to get around Nice is on foot, especially if you plan on sticking close to the city's center. Like many other French cities, Nice is equipped with a reliable and convenient public transportation system. Buses serve all major tourist attractions as well as the Nice-Ville train station and the Nice Côte d'Azur International Airport (NCE). Ride-hailing services, such as Uber, are also a popular option now because they are much cheaper and convenient than the traditional taxis. If you decide to take a taxi from the airport to the center of Nice, expect to pay a flat rate of 32 euros (around $39). Driving is not recommended as traffic can be frustrating and parking limited.
The buses serve all major tourist attractions as well as the train station and airport, but tramway construction often disrupts the routes. You'll probably find it quicker to walk if you'll be exploring the city's center. Tickets can be purchased as you board the bus for 1.50 euros (around $2).
The Tramway de Nice serves 22 stations between the northern and eastern suburbs and also passes through the city center. Tickets are an affordable 1.50 euros (around $2) and available at ticket machines in all tram stations.
We recommend not renting a car because downtown traffic can be frustrating and parking is limited. Rental agencies are located throughout the city, though U.S. citizens will have to obtain an International Driver's License prior to arriving in France to drive in the country. Applications are available online.
A moped's smaller size alleviates the limited parking and traffic problems, but unfortunately there's also a high accident rate, so we recommend them for experienced drivers only. If you're feeling adventurous, you can rent a moped off the Promenade des Anglais for 15 euros to 25 euros (about $20 to $30) a day. There's no special license required, but there is a security deposit of at least 55 euros (around $68), depending on the vehicle model.
Unless you're planning to visit remote areas like Cimiez, Mont-Boron or Mont-Alban, your best option is to navigate Nice on foot. The beach and most of the major tourist attractions are located within walking distance of one another and the city center.
The taxi drivers in Nice are notorious for taking advantage of tourists. If you must take a taxi, negotiate the fare before getting inside and make sure the driver has his or her fare rates displayed (a requirement).
Uber and other rideshare services have become popular alternatives to taxis because their fares are set before you ride and they are often cheaper than the traditional taxis. Visitors can schedule an Uber through the same app they use in the U.S.


The 7th and final game of the 19th Ryuoh-sen started. This is the biggest shogi game of this year. The winner of this game will be the next Ryuoh title holder and earn 32 million yen as prize money. The game will end around the evening on December 21(Japan time). You may watch and replay the game on the virtual board. The further information of doing so can be found here in shogi-l archives.


text:
Home > Properties > Whabouchi Lithium Project
All information pertaining to mineral resources herewith presented are historical in nature and while relevant, the information was obtained before the implementation of National Instrument 43-101 reporting standards. No historical estimate should be relied upon until it can be confirmed by the Company.
The Company has entered into an agreement to acquire the Whabouchi Lithium Project ("The Property") located in the James Bay region of Quebec. The Property lies approximately 45 kilometres southeast of the village of Nemaska which is linked by a network of all-season roads to the mining centre of Chibougamau, 300 kilometers to the south. The area is also serviced by an airport and a network of high-voltage hydroelectric transmission lines.
Paul Ogilvie, CEO, commented: "We are pleased to add a lithium property with excellent discovery potential to our electric metals portfolio. Graphite is a significant material for energy storage, and lithium is the other side of the demand curve for energy storage. Both materials need to work together as a balanced chemistry; through the charge and discharge cycles as the lithium intercalates with the graphite. The lithium that we hope to find on the property may allow us to test our own materials and further our goal to be a future supplier of minerals to the growing lithium ion battery business".
The Property is comprised of one large block of 109 mineral claims covering 5758 hectares (57.0 km2) located on the southern margin of the volcano-sedimentary Mountain Lake belt. The Property has neighbours Hinterland Metals Inc. (C:HMI news, June 22, 2016) to the north and Durango Resources to the south. The Property is located approximately 15 kilometres southeast of Nemaska Lithium Inc.'s Whabouchi hard-rock (spodumene) lithium project. Nemaska's Whabouchi property contains measured plus indicated resources of 27,991,000 tonnes of 1.57 per cent lithium dioxide (V:NMX news, Jan 15, 2014). Nemaska recently released a positive feasibility study that includes the construction of a mine and concentrator at Whabouchi and a hydrometallurgical plant in Shawinigan, Quebec (V:NMX news, June 9, 2016).


We worked toward securing institutional support for the iCCB mission in continuing to advance the research in trait-based approaches to conservation. We also started planning towards an Africa-specific program concentrating on conservation paleobiology under the IUBS.
iCCB's goals for 2017 were to publish collaborative high impact research papers, to organize a research and training workshop, and hold at least one steering committee meeting. We published 16 papers, including in Science, PNAS, Nature Ecology & Evolution, and Current Biology.
We organized a training workshop in March 6th-8th 2017 in Nairobi, Kenya and we had a steering committee meeting for planning our activities for 2018 and for creating a new vision for an inclusive programme in conservation paleobiology in Africa.
Toivanen, T, Lummaa, K, Majava, A, Järvensivu, P, Lähde, V, Vadén, T, Eronen, JT (2017): The Many Anthropocenes: A Challenge for the Disciplines. The Anthropocene Review 4, 183-198.
Eronen JT, Zohdy S, Evans AR, Tecot SR, Wright PC, Jernvall J (2017): The Culm Before the Storm: Global Climate Change Driving the Extinction of a Bamboo Specialist. Current Biology 27, 3384-3389.
The Workshop of the integrated Climate Change Biology (iCCB) programme gathered 22 scientists from countries including Kenya, Uganda, Ethiopia, Swaziland, Cameroon, Chile, Germany, France, Finland, United Kingdom, and United States, as well as 20 students from the university in Nairobi. The group "Climatic changing dynamics in ecosystems of Rwenzori Mts and Mt Elgon" led by Raymond Katebaka and colleagues took part in the workshop, with the aim of fostering future research collaboration and development of possible IUBS program. We also had a representative from "The Evolution of Terrestrial Ecosystems" program from USA (Smithsonian Institute, NHM, Washington DC) to foster future collaboration. It took place in Nairobi, Kenya from 6th-8th March 2017.
Steering committee meeting in December in Berlin 2017.


text:
Archive for the 'Frank Sinatra' Category
The Secret Service Code Names
Posted in Barack and Michelle Obama, Frank Sinatra, Jackie Kennedy, Jimmy Carter, John F. Kennedy, John F. Kennedy, Jr., Kennedys, the, PEOPLE, POLITICS & GOV'T, Prince Charles of Wales and Camilla, Duchess of Cornwall, Queen Elizabeth II, RELIGION, Ronald Reagan (& Nancy), ROYALTY/NOBILITY, tagged Barack Obama, Bill Clinton, biographies of politicians, Frank Sinatra, George H. Bush, George W. Bush, Gerald Ford, Hillary Clinton, Jackie Kennedy, Jimmy Carter, John F. Kennedy, John McCain, Laura Bush, Lyndon Johnson, Michelle Obama, pictures of Kennedy assassination, pictures of Reagan assassination attempt, Pope John Paul II, Prince Charles, Queen Elizabeth, richard nixon, Ronald Reagan, Sarah Palin, Secret Service agent Clint Hill, the White House, U.S. Presidents, U.S. Secret Service code names on February 9, 2011| 8 Comments »
The U.S. Secret Service provided security for Pope Benedict XVI at the Papal Mass in Washington, D.C., on April 17, 2008. Although the agents have no official uniform and can be seen wearing anything from tuxedos to blue jeans, they are often identified by their dark sunglasses, listening devices, and lapel pins bearing the agency's gold star logo.
The United States Secret Service uses code names to refer to the President of the United States, his family, other officials, and places. Originally, these code names were designed to protect sensitive communications, back in the day before restricted communications were routinely encrypted. Nowadays, there is no need to keep these names secret. Nevertheless, The Secret Service who guards the First Family and other U.S. officials continues to use the code names for clarity, brevity, and tradition. (1)
The U.S. Secret Service Star Logo. The U.S. Secret Service protects the President and First Family, other officials of the U.S. government, and visiting dignitaries.
General Code Names
President of the United States: POTUS
First Lady of the United States: FLOTUS
Vice President of the United States: VPOTUS
Barack: Renegade
Michelle: Renaissance
Malia: Radiance
Sasha: Rosebud
The Bushes
George W.: Tumbler
Laura: Tempo
Barbara: Turquoise
Jenna: Twinkle
Bill: Eagle
Hillary: Evergreen
Chelsea: Energy
George H.: Timberwolf
Barbara: Tranquility
The Carters
Jimmy: Deacon
Rosalynn: Dancer
Amy: Dynamo
Secret Service agents respond to the assassination attempt on President Ronald Reagan by John Hinckley Jr. on March 30, 1981. President Reagan took a bullet in the abdomen but made a full recovery.
The Reagans
Ronald: Rawhide
Nancy: Rainbow
The Fords
Gerald: Passkey
Betty: Pinafore
The Nixons
Richard: Searchlight
Pat: Starlight
The Johnsons
Lyndon: Volunteer
Lady Bird: Victoria
Lynda Bird: Velvet
Luci Baines: Venus
A motorcade carries President John F. Kennedy and First Lady Jackie Kennedy through the streets of Dallas, Texas, on November 22, 1963. Texas Governor John Connally and wife Nellie ride in front of the Kennedys.
Secret Service agent Clint Hill stood on the running board of the car behind the Kennedy's limo.
Agent Hill heard the first shot that hit President Kennedy. Mr Hill is the figure in the famous Zapruder film of the killing which shows him climbing onto the back of the president's limousine. "I heard the first shot, saw the president grab his throat, lurch left, and I knew something was wrong," recalled Hill in the book, The Kennedy Detail. Jackie Kennedy can be seen crawling out the back of the car onto the trunk to get help for her slain husband, slumped in the seat.
Agent Hill got in the back seat with Mrs. Kennedy and the president and shielded them with his body on the way to Parkland Hospital.
John F.: Lancer
Jackie: Lace
Caroline: Lyric
John Jr.: Lark
Other Individuals
Queen Elizabeth II: Kittyhawk, Redfern
Prince Charles: Unicorn
Frank Sinatra: Napoleon
Pope John Paul II: Halo
Sarah Palin: Denali
John McCain: Phoenix
The White House: Castle
The Capitol: Punchbowl
(1) Source: Wiki "Secret Service Codename"
Sinatra: Pants on Fire!
Posted in Frank Sinatra, John F. Kennedy, Kennedys, the, Pat and Peter Lawford, PEOPLE, tagged Beverly Hills, biographies of singers, Frank Sinatra's temper, Gary Cooper, Hollywood history, John F. Kennedy, Natalie Wood, Palm Springs, Pat Kennedy Lawford, Peter Lawford, Robert Wagner, Romanoff's, Santa Monica, sinatra by al hirschfeld, Sinatra's Rancho Mirage Compound on December 2, 2009| 3 Comments »
L-R: Actor Robert Wagner, his wife Natalie Wood (1938 - 1981) and host Frank Sinatra (in eyepatch) pose together during a surprise 21st birthday party held for Wood at Romanoff's, Hollywood, California, July 20, 1959. (Photo by Murray Garrett/Getty Images)
It was New Year's Eve, 1958, and Peter and Pat Kennedy Lawford were celebrating at a private party at Romanoff's in Beverly Hills, a popular spot with Hollywood stars. The Lawfords sat at the most prestigious table in the room with Frank Sinatra, Natalie Wood, and Robert Wagner. Pat was dazzled by Sinatra's charm and basked in his attention. Sinatra was thrilled to be in the presence of the sister of the fast-rising Senator John F. Kennedy of Massachusetts.
Host Frank Sinatra (L) wears an eyepatch, laughing with actor Peter Lawford and his wife Patricia Kennedy (1924 - 2006) during a surprise 21st birthday party held for actor Natalie Wood at Romanoff's, Hollywood, California, July 20, 1959. (Photo by Murray Garrett/Getty Images)
Pat had only known Sinatra since August, when she met him at a dinner party at the home of Gary and Rocky Cooper. Since then, Sinatra had swept the Lawfords up into his orbit.
"Sinatra suddenly stood at the center of Pat's and Peter's lives." [1]
Sinatra had become such a fixture in Pat's world that, by the time she gave birth on November 4, she decided to give new baby Victoria the middle name of Francis, in honor of her newest and dearest friend, Francis Albert Sinatra.
The Lawfords not only saw Frank at least twice during the week, but, on many weekends – at Frank's insistence – they made the 120-mile drive from their Santa Monica home to his Palm Springs estate. The Lawfords always kept the same bedroom at Sinatra's Rancho Mirage compound. Frank made the Lawfords so at ease that they left some of their casual clothing in the bedroom closet.
Back at Romanoff's, the new year was blowing in chilly and Pat was wearing a low-cut gown. As the night worn on, she and Natalie grew weary. But Sinatra didn't want the night to end. He suggested they move the party to his place – two-and-half hours away at Rancho Mirage! Pat gasped at the dread thought. It was only a fifteen minute drive from Romanoff's to her home!
Peter Lawford recalls the evening:
Teen idol Frank Sinatra, caricature by Al Hirschfeld
When [Sinatra] went to the gents' room, the girls said that it was too chilly to go that night. They preferred driving in the morning, but then we said, 'Who's going to tell him?' Knowing his temper, Pat out and out refused to say anything, and Natalie didn't even want to be in the same room when he was told. Finally, R.J. [Robert Wagner] insisted that I be the one to do it, so when Frank got back to the table, I explained as gracefully as I could that we'd prefer joining him in the morning.
Well, he went absolutely nuts. 'If that's the way you want it, fine,' he said, slamming his drink on the floor and storming out of the restaurant.
I rang him up the next morning and his valet…answered and whispered hello. He said that Frank was still asleep because he hadn't gotten to bed until five a.m. Then he said, 'Oh, Mr. Lawford. What happened last night? I better tell you that he's pissed. Really pissed off. He went to your closet and took out all the clothes that you and your wife keep here and ripped them into shreds and then threw them into the swimming pool.' That gives you an idea of Frank's temper…." (2)
Evidently, Frank first tried to make a bonfire of the Lawford's clothes. But the fire wouldn't get going, so, frustrated, he tossed everything in the pool. (1)
Peter was distraught at the loss of his favorite aged blue jeans. Pat consoled him. "We'll age another pair. Just make sure you don't take them down to Frank's." (1)
(1) Leamer, Laurence. The Kennedy Women: The Saga of an American Family. New York: Random House Publishing Group, 1994.
(2) Kelley, Kitty. His Way: The Unauthorized Biography of Frank Sinatra. New York: Bantam Books, 1986.
Readers, for more on Frank Sinatra on Lisa's History Room, check out: "Sinatra: From Donkey to Elephant"
Readers, for more on Natalie Wood on Lisa's History room, click here.
Sinatra: From Donkey to Elephant
Posted in Frank Sinatra, John F. Kennedy, Marilyn Monroe, Pat and Peter Lawford, PEOPLE, tagged Bing Crosby and Kennedy, biographies of singers, Bobby Kennedy, Frank Sinatra and Kennedy, Frank Sinatra Democrat, Frank Sinatra Republican, Marilyn Monroe and Kennedy, Palm Springs, Pat Lawford, Peter Lawford, Sinatra and the Mafia, Sinatra tears up helipad, Sinatra with sledgehammer, Sinatra's mob connections, Sinatra's temper on November 23, 2009| 10 Comments »
President John F. Kennedy and singer Frank Sinatra at the 1961 Inaugural Gala
Singer and film star Frank Sinatra (1915-1998) grew up poor and lower class in Hoboken, New Jersey. Once he made it big in showbiz (thanks to help from his Mafia cronies), he obsessed about fitting in with the upper class. He wormed his way into politics, using his Hollywood star power to campaign and fundraise for Democratic heavyweights such as Franklin Roosevelt and John F. Kennedy. In attaching himself to men of honor, Sinatra hoped to achieve the respectability he craved.
Sinatra had cultivated a relationship with President Kennedy through movie star Peter Lawford, who was married to the president's sister, Pat.
Pat Kennedy Lawford and British actor Peter Lawford
In March 1962, the president was scheduled to fly to Southern California. Peter Lawford asked Sinatra to be the president's host at his Palm Springs estate. Sinatra was thrilled. He went straight to work. At his own expense, Sinatra installed a helicopter pad, cottages for the Secret Service, and even a flagpole for the presidential flag.
But the president's brother Bobby Kennedy wasn't having it. He was the Attorney General of the United States at the time. When he heard about his brother Jack's proposed stay at Sinatra's, he went ballistic. Bobby was making the "most single-minded attack on organized crime in American history" and could not abide Jack associating with someone with mob connections. (1) Peter was the one chosen to tell Sinatra that the president would not be staying with him.
Sinatra did not take the news well. He had a notoriously explosive temper:
"Sinatra vented his spleen by destroying the concrete landing pad with a sledgehammer. He applied a different kind of sledgehammer to his friendship with Peter and Pat [Lawford], banning them from his company….Jack ended up staying at the home of Bing Crosby. Marilyn Monroe flew down to be with the president, spending the night in his bedroom…."
(l. to r.) Peter Lawford, Frank Sinatra, Marilyn Monroe, ca. 1961-62
…and Frank Sinatra became a Republican.
(1) Leamer, Laurence. The Kennedy Women: The Saga of an American Family. New York: Fawcett Books, 1994.
For more on Sinatra, check out "Sinatra: Pants on Fire!"


text:
Q: Where is the binary file, "Eclipse C/C++ Stand-alone Debugger" on fedora 29 Linux System:  fedora 29 workstation.
I want to learn C language , I installed Eclipse on fedora $ sudo dnf install eclipse eclipse-cdt , when I ran the first time Eclipse, it showed those windows.

And always when I run "Eclipse" it shows those windows first.
What does this mean?, where is the binary file?

A: Ona fedora 29 workstation, after run the followings commands:
$ sudo dnf install eclipse eclipse-cdt

You will have 2 application's icon of Eclipse.

For both  java language and C/C++ language, select the icon that says "Eclipse" .


Did you guess where our bunny friend was hiding using yesterday's clues? If you guessed the Beauvoir pool, you were right!
See if you can guess the second hiding place using the clues below!
This room moves up and down during the day.
In this space, there are several buttons that you can push with numbers on them.
Children must always be with an adult when visiting this room.


text:
NHS to trial life-saving blood test which can detect 50 different types of cancer
The new blood test, which first began in the US, is now being trailed in the UK. The new life-saving blood test is said to detect 50 different types of cancers before an individual experiences symptoms.
Sophie BuchanTrainee Trends Writer
Trials began yesterday (September 13) in the UK. (Image: 2020 Getty Images)
The NHS is set to trial a blood test that will be able to detect more than 50 types of cancers before symptoms first appear.
The test, named Galleri, aims to detect cancers that are not routinely screened for and will also be able to pinpoint where in the body the disease is coming from.
The reason this test works is that some cancerous tumours are known to shed DNA - known as cell-free DNA (cfDNA) - into an individual's bloodstream a while before an individual would start experiencing any symptoms such as lumps or blood in your pee.
Galleri therefore can detect cancer at the earliest opportunity and thus the potential to save thousands of lives.
READ MORE -Glasgow woman suffering with PCOS told everything was 'normal' prior to diagnosis
Unfortunately the test does not detect all cancers and will therefore not replace NHS screening programmes, such as those for breast, cervical and bowel cancer - it may also be recommended that the test will be prioritised for those at a higher risk of cancer, including the over 50s - just as it is in the US currently.
Sign up to Glasgow Live's newsletter
Get all the latest Glasgow news and headlines sent straight to your inbox twice a day by signing up to our free newsletter.
From breaking news to the latest on the coronavirus crisis in Scotland, we''ll have you covered.
The morning newsletter arrives every day before 9am and the evening newsletter, manually curated by the team, is sent between 4pm and 5pm, giving you a round up of the most important stories we've covered that day.
To sign up, simply enter your email address into this link here.
"The NHS has a successful track record of leading the way on innovations in cancer diagnosis and treatment, from CAR-T therapy to Covid-friendly drugs.
"The Galleri blood test, if successful, could play a major part in achieving our NHS Long Term Plan ambition to catch three-quarters of cancers at an early stage, when they are easier to treat."
The NHS trial is being led by Cancer Research UK and King's College London Cancer Prevention Trials Unit together with Grail who developed the test.
If successful, it will be available to around a million people in the UK in 2024/25.
Experts have stressed that anyone with symptoms of cancer should always seek help from their GP.
To find information and support on cancer, please visit the Cancer Research UK website here.
AstraZeneca boss says booster vaccines may not be necessary for everyone amid 'NHS crisis'
East Renfrewshire councillors blast 'nonsense' plans for National Care Service


text:
John Ellis may refer to:

Academics
John Ellis (scrivener) (1698–1791), English political writer
John Ellis (naturalist) (1710–1776), English botanical illustrator
John Ellis (physicist, born 1946), British theoretical physicist at CERN
John Millott Ellis (1831–1894), abolitionist and President of Oberlin College
R. John Ellis (born 1935), British biochemist
Sir John Ellis (physician) (1916–1998), Dean London Hospital Medical College 1968–1980 medical educationalist
John Ellis (media academic) (born 1952), British media theorist and TV producer
John Ellis (physicist, born 1963), British physicist at the University of Cambridge

Business
Alfred John Ellis (1915–2020), Canadian banker
John Ellis (businessman) (1789–1862), Director of the Midland Railway in the UK and MP for Leicester 1848–1852
John Devonshire Ellis (1824–1906), English steelmaker
John Prescott Ellis (born 1953), media consultant and first cousin of U.S. President George W. Bush
Dr. John Ellis (Valvoline founder) (1815–1896), founder of the motor oil company, Valvoline

Music
John Ellis (guitarist) (born 1952), founding member of the 1970s punk band The Vibrators
John Ellis (saxophonist) (born 1974), New Orleans jazz musician
John Ellis, member of the South African band Tree63

Politics
John Ellis (MP for New Romney)
John Ellis (Harwich MP) (1643–1738), English administrator and MP for Harwich 1702–08
John Ellis (Newry MP) (1812–?), Irish Member of UK Parliament for Newry
Sir John Whittaker Ellis (1829–1912), British Member of Parliament for Mid Surrey 1884–1885, Kingston 1885–1892
John Ellis (Fianna Fáil politician) (born 1952), Irish Fianna Fáil politician
John Ellis (Liberal politician) (1841–1910), British Liberal politician, MP for Rushcliffe 1885–1910
John Ellis (pastoralist) (1803–1873), "Captain Ellis" South Australian grazier and MLC
John Ellis (Australian politician) (1872–1945), Victorian state politician
John Ellis (Labour politician) (1930–2019), British Labour Party politician, MP for Bristol North West and for Brigg and Scunthorpe
John Valentine Ellis (1835–1913), Canadian MP and Senator
John William Ellis (1853–1918), New Zealand businessman and mayor of Hamilton
John Willis Ellis (1820–1861), North Carolina governor
E. John Ellis (1840–1889), U.S. Representative from Louisiana
John Ellis Martineau (1873–1937), governor of Arkansas then United States District Court judge
Johnny Ellis (1960–2022), Democratic member of the Alaska Senate

Religion
John Ellis (theologian) (1606?–1681), English priest
John Ellis (antiquarian) (1634–1735), Welsh priest, rector of Llanbedr-y-Cennin
John Ellis (religious writer) (1598/99–1665), Welsh priest
John Tracy Ellis (1905–1992), Catholic Church historian
John Ellis (chaplain) (born 1963), Chaplain in Chief of the Royal Air Force

Sports

Cricket
John Ellis (English cricketer) (1864–1927), English cricketer
John Ellis (Victoria cricketer) (1890–1974), Australian cricketer
John Ellis (Queensland cricketer) (1914–1994), Australian cricketer

Other sports
John Ellis (baseball) (1948–2022), American baseball player
John Ellis (footballer) (born 1948), Australian rules footballer
John Ellis (golfer) (born 1979), American golfer
Jonathan Ellis (wrestler) (born 1982), British professional wrestler

Others
John Ellis (executioner) (1874–1932), British executioner
John Ellis (trade unionist) (1939–2011), British trade union leader
John G. Ellis, English architect
John R. Ellis, American visual effects artist
J. Breckenridge Ellis (1870–1956), American writer

See also
John Allis (born 1942), American cyclist
Jack Ellis (disambiguation)
John Ellys (1701–1757), English portrait-painter
John Ellys (Caius) (1634?–1716), English academic, Master of Gonville and Caius College, Cambridge from 1703
John Scott-Ellis, 9th Baron Howard de Walden (1912–1999), British peer, landowner, and thoroughbred racehorse owner and breeder

redpajama_set_name: RedPajamaWikipedia