text:
Q: npm run build > not creating dist folder in NestJs project I tried to start my project with npm run start:prod command but got
Error: Cannot find module {path to my project}\dist\main.js'.
I have tried to rename the path to all my files in the project from src/myController to ../myController .
My package.json (scripts)
"scripts": {
    "build": "tsc -p tsconfig.build.json",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "ts-node -r tsconfig-paths/register src/main.ts",
    "start:dev": "concurrently \"wait-on dist/main.js && nodemon\" \"tsc -w -p tsconfig.json\" ",
    "start:debug": "nodemon --config nodemon-debug.json",
    "prestart:prod": "rimraf dist && npm run build",
    "start:prod": "node dist/main.js"

My tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "rootDir": ".",
    "outDir": "../dist",
    "baseUrl": "./src"
  },
  "include": [ "./src/**/*.ts", ],
  "exclude": ["node_modules", "dist", "src/**/*.spec.ts", "src/**/__test__/*"]
}

The actual output:

nest-typescript-starter@1.0.0 prestart:prod
  {path to my project}
  rimraf dist && npm run build
nest-typescript-starter@1.0.0 build
  {path to my project}
  tsc -p tsconfig.build.json
nest-typescript-starter@1.0.0 start:prod
  {path to my project}
  node dist/main.js

internal/modules/cjs/loader.js:584
    throw err;
    ^

Error: Cannot find module
  {path to my project}\dist\main.js'

A: Okeey, I was a little dumb. The answer is very easy. In package.json you need change line from "start:prod": "node dist/main.js" to "start:prod": "node dist/src/main.js". In  tsconfig.json you need change "outDir": "../dist" to "outDir": "./dist"

A: you can just add a new command:
under the scripts in package.json :
"start:live": "rimraf dist && nest build && node dist/src/main",

then you can run:
npm run start:live


text:
class BrowserWindow;
class DebuggerWindow;
class ExtensionShelfModel;
class FindBarController;
class GoButton;
class LocationBar;
class PrefService;
class Profile;
class SkBitmap;
class StatusBubble;
class TabNavigation;
namespace gfx {
class Point;
}

class Browser : public TabStripModelDelegate,
                public TabStripModelObserver,
                public TabContentsDelegate,
                public PageNavigator,
                public CommandUpdater::CommandUpdaterDelegate,
                public NotificationObserver,
                public SelectFileDialog::Listener {
 public:
  // If you change the values in this enum you'll need to update browser_proxy.
  // TODO(sky): move into a common place that is referenced by both ui_tests
  // and chrome.
  enum Type {
    TYPE_NORMAL = 1,
    TYPE_POPUP = 2,
    TYPE_APP = 4,
    TYPE_APP_POPUP = TYPE_APP | TYPE_POPUP,
    TYPE_DEVTOOLS = TYPE_APP | 8,
    TYPE_ANY = TYPE_NORMAL | TYPE_POPUP | TYPE_APP | TYPE_DEVTOOLS
  };

  // Possible elements of the Browser window.
  enum WindowFeature {
    FEATURE_TITLEBAR = 1,
    FEATURE_TABSTRIP = 2,
    FEATURE_TOOLBAR = 4,
    FEATURE_LOCATIONBAR = 8,
    FEATURE_BOOKMARKBAR = 16,
    FEATURE_INFOBAR = 32,
    FEATURE_DOWNLOADSHELF = 64,
    FEATURE_EXTENSIONSHELF = 128
  };

  // Maximized state on creation.
  enum MaximizedState {
    // The maximized state is set to the default, which varies depending upon
    // what the user has done.
    MAXIMIZED_STATE_DEFAULT,

    // Maximized state is explicitly maximized.
    MAXIMIZED_STATE_MAXIMIZED,

    // Maximized state is explicitly not maximized (normal).
    MAXIMIZED_STATE_UNMAXIMIZED
  };

  // Constructors, Creation, Showing //////////////////////////////////////////

  // Creates a new browser of the given |type| and for the given |profile|. The
  // Browser has a NULL window after its construction, CreateBrowserWindow must
  // be called after configuration for window() to be valid.
  Browser(Type type, Profile* profile);
  virtual ~Browser();

  // Creates a normal tabbed browser with the specified profile. The Browser's
  // window is created by this function call.
  static Browser* Create(Profile* profile);

  // Like Create, but creates a tabstrip-less popup window.
  static Browser* CreateForPopup(Profile* profile);

  // Like Create, but creates a tabstrip-less and toolbar-less "app" window for
  // the specified app. Passing popup=true will create a TYPE_APP_POPUP browser
  static Browser* CreateForApp(const std::wstring& app_name, Profile* profile,
                               bool is_popup);

  // Like Create, but creates a tabstrip-less and toolbar-less
  // DevTools "app" window.
  static Browser* CreateForDevTools(Profile* profile);

  // Set overrides for the initial window bounds and maximized state.
  void set_override_bounds(const gfx::Rect& bounds) {
    override_bounds_ = bounds;
  }
  void set_maximized_state(MaximizedState state) {
    maximized_state_ = state;
  }
  // Return true if the initial window bounds have been overridden.
  bool bounds_overridden() const {
    return !override_bounds_.IsEmpty();
  }

  // Creates the Browser Window. Prefer to use the static helpers above where
  // possible. This does not show the window. You need to call window()->Show()
  // to show it.
  void CreateBrowserWindow();

  // Accessors ////////////////////////////////////////////////////////////////

  Type type() const { return type_; }
  Profile* profile() const { return profile_; }
  const std::vector<std::wstring>& user_data_dir_profiles() const;

#if defined(UNIT_TEST)
  // Sets the BrowserWindow. This is intended for testing and generally not
  // useful outside of testing. Use CreateBrowserWindow outside of testing, or
  // the static convenience methods that create a BrowserWindow for you.
  void set_window(BrowserWindow* window) {
    DCHECK(!window_);
    window_ = window;
  }
#endif

  BrowserWindow* window() const { return window_; }
  ToolbarModel* toolbar_model() { return &toolbar_model_; }
  const SessionID& session_id() const { return session_id_; }
  CommandUpdater* command_updater() { return &command_updater_; }
  ExtensionShelfModel* extension_shelf_model() {
    return extension_shelf_model_.get();
  }

  // Get the FindBarController for this browser, creating it if it does not
  // yet exist.
  FindBarController* GetFindBarController();

  // Returns true if a FindBarController exists for this browser.
  bool HasFindBarController() const;

  // Setters /////////////////////////////////////////////////////////////////

  void set_user_data_dir_profiles(const std::vector<std::wstring>& profiles);

  // Browser Creation Helpers /////////////////////////////////////////////////

  // Opens a new window with the default blank tab.
  static void OpenEmptyWindow(Profile* profile);

  // Opens a new window with the tabs from |profile|'s TabRestoreService.
  static void OpenWindowWithRestoredTabs(Profile* profile);

  // Opens the specified URL in a new browser window in an incognito session.
  // If there is already an existing active incognito session for the specified
  // |profile|, that session is re-used.
  static void OpenURLOffTheRecord(Profile* profile, const GURL& url);

  // Opens a new application ("thin frame") window for the specified url.
  static void OpenApplicationWindow(Profile* profile, const GURL& url);

#if defined(OS_MACOSX)
  // Open a new window with history/downloads/help (needed on Mac when there are
  // no windows).
  static void OpenHistoryWindow(Profile* profile);
  static void OpenDownloadsWindow(Profile* profile);
  static void OpenExtensionsWindow(Profile* profile);
  static void OpenHelpWindow(Profile* profile);
#endif

  // State Storage and Retrieval for UI ///////////////////////////////////////

  // Save and restore the window position.
  std::wstring GetWindowPlacementKey() const;
  bool ShouldSaveWindowPlacement() const;
  void SaveWindowPlacement(const gfx::Rect& bounds, bool maximized);
  gfx::Rect GetSavedWindowBounds() const;
  bool GetSavedMaximizedState() const;

  // Gets the FavIcon of the page in the selected tab.
  SkBitmap GetCurrentPageIcon() const;

  // Gets the title of the window based on the selected tab's title.
  string16 GetWindowTitleForCurrentTab() const;

  // Prepares a title string for display (removes embedded newlines, etc).
  static void FormatTitleForDisplay(string16* title);

  // Returns true if the frame should show a distributor logo for this Browser.
  bool ShouldShowDistributorLogo() const;

  // OnBeforeUnload handling //////////////////////////////////////////////////

  // Gives beforeunload handlers the chance to cancel the close.
  bool ShouldCloseWindow();

  // Invoked when the window containing us is closing. Performs the necessary
  // cleanup.
  void OnWindowClosing();

  // In-progress download termination handling /////////////////////////////////

  // Called when the user has decided whether to proceed or not with the browser
  // closure.  |cancel_downloads| is true if the downloads should be canceled
  // and the browser closed, false if the browser should stay open and the
  // downloads running.
  void InProgressDownloadResponse(bool cancel_downloads);

  // TabStripModel pass-thrus /////////////////////////////////////////////////

  TabStripModel* tabstrip_model() const {
    return const_cast<TabStripModel*>(&tabstrip_model_);
  }

  int tab_count() const { return tabstrip_model_.count(); }
  int selected_index() const { return tabstrip_model_.selected_index(); }
  int GetIndexOfController(const NavigationController* controller) const {
    return tabstrip_model_.GetIndexOfController(controller);
  }
  TabContents* GetTabContentsAt(int index) const {
    return tabstrip_model_.GetTabContentsAt(index);
  }
  TabContents* GetSelectedTabContents() const {
    return tabstrip_model_.GetSelectedTabContents();
  }
  void SelectTabContentsAt(int index, bool user_gesture) {
    tabstrip_model_.SelectTabContentsAt(index, user_gesture);
  }
  void CloseAllTabs() {
    tabstrip_model_.CloseAllTabs();
  }

  // Tab adding/showing functions /////////////////////////////////////////////

  // Add a new tab with the specified URL. If instance is not null, its process
  // will be used to render the tab. |force_index| is passed through to
  // TabStripModel::AddTabContents and its meaning is documented with its
  // declaration.
  TabContents* AddTabWithURL(const GURL& url,
                             const GURL& referrer,
                             PageTransition::Type transition,
                             bool foreground,
                             int index,
                             bool force_index,
                             SiteInstance* instance);

  // Add a new tab, given a TabContents. A TabContents appropriate to
  // display the last committed entry is created and returned.
  TabContents* AddTab(TabContents* tab_contents, PageTransition::Type type);

  // Add a tab with its session history restored from the SessionRestore
  // system. If select is true, the tab is selected. |tab_index| gives the index
  // to insert the tab at. |selected_navigation| is the index of the
  // TabNavigation in |navigations| to select. If |pin| is true and |tab_index|
  // is the last pinned tab, then the newly created tab is pinned. If
  // |from_last_session| is true, |navigations| are from the previous session.
  TabContents* AddRestoredTab(const std::vector<TabNavigation>& navigations,
                              int tab_index,
                              int selected_navigation,
                              bool select,
                              bool pin,
                              bool from_last_session);
  // Creates a new tab with the already-created TabContents 'new_contents'.
  // The window for the added contents will be reparented correctly when this
  // method returns.  If |disposition| is NEW_POPUP, |pos| should hold the
  // initial position.
  void AddTabContents(TabContents* new_contents,
                      WindowOpenDisposition disposition,
                      const gfx::Rect& initial_pos,
                      bool user_gesture);
  void CloseTabContents(TabContents* contents);

  // Show a dialog with HTML content. |delegate| contains a pointer to the
  // delegate who knows how to display the dialog (which file URL and JSON
  // string input to use during initialization). |parent_window| is the window
  // that should be parent of the dialog, or NULL for the default.
  void BrowserShowHtmlDialog(HtmlDialogUIDelegate* delegate,
                             gfx::NativeWindow parent_window);

  // Called when a popup select is about to be displayed.
  void BrowserRenderWidgetShowing();

  // Notification that some of our content has changed size as
  // part of an animation.
  void ToolbarSizeChanged(bool is_animating);

  // Notification that the extension shelf has changed size (as a result of
  // becoming detached or attached).
  void ExtensionShelfSizeChanged();

  // Replaces the state of the currently selected tab with the session
  // history restored from the SessionRestore system.
  void ReplaceRestoredTab(
      const std::vector<TabNavigation>& navigations,
      int selected_navigation,
      bool from_last_session);

  // Returns true if a tab can be restored.
  virtual bool CanRestoreTab();

  // Show a DOMUI tab given a URL. If a tab with the same URL is already
  // visible in this browser, it becomes selected. Otherwise a new tab is
  // created.
  void ShowSingleDOMUITab(const GURL& url);

  // Update commands whose state depends on whether the window is in fullscreen
  // mode. This is a public function because on Linux, fullscreen mode is an
  // async call to X. Once we get the fullscreen callback, the browser window
  // will call this method.
  void UpdateCommandsForFullscreenMode(bool is_fullscreen);

  // Assorted browser commands ////////////////////////////////////////////////

  // NOTE: Within each of the following sections, the IDs are ordered roughly by
  // how they appear in the GUI/menus (left to right, top to bottom, etc.).

  // Navigation commands
  void GoBack(WindowOpenDisposition disposition);
  void GoForward(WindowOpenDisposition disposition);
  void Reload();
  void Home(WindowOpenDisposition disposition);
  void OpenCurrentURL();
  void Go(WindowOpenDisposition disposition);
  void Stop();
  // Window management commands
  void NewWindow();
  void NewIncognitoWindow();
  void NewProfileWindowByIndex(int index);
  void CloseWindow();
  void NewTab();
  void CloseTab();
  void SelectNextTab();
  void SelectPreviousTab();
  void MoveTabNext();
  void MoveTabPrevious();
  void SelectNumberedTab(int index);
  void SelectLastTab();
  void DuplicateTab();
  void RestoreTab();
  void WriteCurrentURLToClipboard();
  void ConvertPopupToTabbedBrowser();
  // In kiosk mode, the first toggle is valid, the rest is discarded.
  void ToggleFullscreenMode();
  void Exit();
#if defined(TOOLKIT_VIEWS)
  void ToggleCompactNavigationBar();
#endif

  // Page-related commands
  void BookmarkCurrentPage();
  void SavePage();
  void ViewSource();
  void ShowFindBar();

  // Returns true if the Browser supports the specified feature.
  virtual bool SupportsWindowFeature(WindowFeature feature) const;

// TODO(port): port these, and re-merge the two function declaration lists.
#if defined(OS_WIN)
  // Page-related commands.
  void ClosePopups();
#endif
  void Print();
  void EmailPageLocation();
  void ToggleEncodingAutoDetect();
  void OverrideEncoding(int encoding_id);

#if defined(OS_WIN) || defined(OS_CHROMEOS)
  // Clipboard commands
  void Cut();
  void Copy();
  void Paste();
#endif

  // Find-in-page
  void Find();
  void FindNext();
  void FindPrevious();

  // Zoom
  void Zoom(PageZoom::Function zoom_function);

  // Focus various bits of UI
  void FocusToolbar();
  void FocusLocationBar();
  void FocusSearch();

  // Show various bits of UI
  void OpenFile();
  void OpenCreateShortcutsDialog();
  void ToggleDevToolsWindow(bool open_console);
  void OpenTaskManager();
  void OpenSelectProfileDialog();
  void OpenNewProfileDialog();
  void OpenBugReportDialog();

  void ToggleBookmarkBar();
  void ToggleExtensionShelf();

  void OpenBookmarkManager();
  void ShowAppMenu();
  void ShowPageMenu();
  void ShowHistoryTab();
  void ShowDownloadsTab();
  void ShowExtensionsTab();
  void OpenClearBrowsingDataDialog();
  void OpenOptionsDialog();
  void OpenKeywordEditor();
  void OpenPasswordManager();
  void OpenSyncMyBookmarksDialog();
  void OpenImportSettingsDialog();
  void OpenAboutChromeDialog();
  void OpenHelpTab();
  // Used by the "Get themes" link in the options dialog.
  void OpenThemeGalleryTabAndActivate();
#if defined(OS_CHROMEOS)
  void ShowControlPanel();
#endif

  virtual void UpdateDownloadShelfVisibility(bool visible);

  /////////////////////////////////////////////////////////////////////////////

  // Sets the value of homepage related prefs to new values. Since we do not
  // want to change these values for existing users, we can not change the
  // default values under RegisterUserPrefs. Also if user already has an
  // existing profile we do not want to override those preferences so we only
  // set new values if they have not been set already. This method gets called
  // during First Run.
  static void SetNewHomePagePrefs(PrefService* prefs);

  static void RegisterPrefs(PrefService* prefs);
  static void RegisterUserPrefs(PrefService* prefs);

  // Returns the Browser which contains the tab with the given
  // NavigationController, also filling in |index| (if valid) with the tab's
  // index in the tab strip.
  // Returns NULL if not found.
  // This call is O(N) in the number of tabs.
  static Browser* GetBrowserForController(
      const NavigationController* controller, int* index);

  // Retrieve the last active tabbed browser with a profile matching |profile|.
  // Creates a new Browser if none are available.
  static Browser* GetOrCreateTabbedBrowser(Profile* profile);

  // Helper function to create a new popup window.
  static void BuildPopupWindowHelper(TabContents* source,
                                     TabContents* new_contents,
                                     const gfx::Rect& initial_pos,
                                     Browser::Type browser_type,
                                     Profile* profile,
                                     bool honor_saved_maximized_state);

  // Calls ExecuteCommandWithDisposition with the given disposition.
  void ExecuteCommandWithDisposition(int id, WindowOpenDisposition);

  // Returns whether the |id| is a reserved command, whose keyboard shortcuts
  // should not be sent to the renderer.
  bool IsReservedCommand(int id);

  // Sets if command execution shall be blocked. If |block| is true then
  // following calls to ExecuteCommand() or ExecuteCommandWithDisposition()
  // method will not execute the command, and the last blocked command will be
  // recorded for retrieval.
  void SetBlockCommandExecution(bool block);

  // Gets the last blocked command after calling SetBlockCommandExecution(true).
  // Returns the command id or -1 if there is no command blocked. The
  // disposition type of the command will be stored in |*disposition| if it's
  // not null.
  int GetLastBlockedCommand(WindowOpenDisposition* disposition);

  // Interface implementations ////////////////////////////////////////////////

  // Overridden from PageNavigator
  virtual void OpenURL(const GURL& url, const GURL& referrer,
                       WindowOpenDisposition disposition,
                       PageTransition::Type transition);

  // Overridden from CommandUpdater::CommandUpdaterDelegate:
  virtual void ExecuteCommand(int id);

 private:
  // Overridden from TabStripModelDelegate:
  virtual TabContents* AddBlankTab(bool foreground);
  virtual TabContents* AddBlankTabAt(int index, bool foreground);
  virtual Browser* CreateNewStripWithContents(TabContents* detached_contents,
                                              const gfx::Rect& window_bounds,
                                              const DockInfo& dock_info);
  virtual void ContinueDraggingDetachedTab(TabContents* contents,
                                           const gfx::Rect& window_bounds,
                                           const gfx::Rect& tab_bounds);
  virtual int GetDragActions() const;
  // Construct a TabContents for a given URL, profile and transition type.
  // If instance is not null, its process will be used to render the tab.
  virtual TabContents* CreateTabContentsForURL(const GURL& url,
                                               const GURL& referrer,
                                               Profile* profile,
                                               PageTransition::Type transition,
                                               bool defer_load,
                                               SiteInstance* instance) const;
  virtual bool CanDuplicateContentsAt(int index);
  virtual void DuplicateContentsAt(int index);
  virtual void CloseFrameAfterDragSession();
  virtual void CreateHistoricalTab(TabContents* contents);
  virtual bool RunUnloadListenerBeforeClosing(TabContents* contents);
  virtual bool CanCloseContentsAt(int index);
  virtual bool CanBookmarkAllTabs() const;
  virtual void BookmarkAllTabs();

  // Overridden from TabStripModelObserver:
  virtual void TabInsertedAt(TabContents* contents,
                             int index,
                             bool foreground);
  virtual void TabClosingAt(TabContents* contents, int index);
  virtual void TabDetachedAt(TabContents* contents, int index);
  virtual void TabDeselectedAt(TabContents* contents, int index);
  virtual void TabSelectedAt(TabContents* old_contents,
                             TabContents* new_contents,
                             int index,
                             bool user_gesture);
  virtual void TabMoved(TabContents* contents,
                        int from_index,
                        int to_index,
                        bool pinned_state_changed);
  virtual void TabPinnedStateChanged(TabContents* contents, int index);
  virtual void TabStripEmpty();

  // Overridden from TabContentsDelegate:
  virtual void OpenURLFromTab(TabContents* source,
                              const GURL& url,
                              const GURL& referrer,
                              WindowOpenDisposition disposition,
                              PageTransition::Type transition);
  virtual void NavigationStateChanged(const TabContents* source,
                                      unsigned changed_flags);
  virtual void AddNewContents(TabContents* source,
                              TabContents* new_contents,
                              WindowOpenDisposition disposition,
                              const gfx::Rect& initial_pos,
                              bool user_gesture);
  virtual void ActivateContents(TabContents* contents);
  virtual void LoadingStateChanged(TabContents* source);
  virtual void CloseContents(TabContents* source);
  virtual void MoveContents(TabContents* source, const gfx::Rect& pos);
  virtual void DetachContents(TabContents* source);
  virtual bool IsPopup(TabContents* source);
  virtual bool CanReloadContents(TabContents* source) const;
  virtual void ToolbarSizeChanged(TabContents* source, bool is_animating);
  virtual void URLStarredChanged(TabContents* source, bool starred);
  virtual void UpdateTargetURL(TabContents* source, const GURL& url);
  virtual void ContentsMouseEvent(
      TabContents* source, const gfx::Point& location, bool motion);
  virtual void ContentsZoomChange(bool zoom_in);
  virtual void TabContentsFocused(TabContents* tab_content);
  virtual bool TakeFocus(bool reverse);
  virtual bool IsApplication() const;
  virtual void ConvertContentsToApplication(TabContents* source);
  virtual bool ShouldDisplayURLField();
  virtual gfx::Rect GetRootWindowResizerRect() const;
  virtual void ShowHtmlDialog(HtmlDialogUIDelegate* delegate,
                              gfx::NativeWindow parent_window);
  virtual void BeforeUnloadFired(TabContents* source,
                                 bool proceed,
                                 bool* proceed_to_fire_unload);
  virtual void SetFocusToLocationBar();
  virtual void RenderWidgetShowing();
  virtual int GetExtraRenderViewHeight() const;
  virtual void OnStartDownload(DownloadItem* download);
  virtual void ConfirmAddSearchProvider(const TemplateURL* template_url,
                                        Profile* profile);
  virtual void ShowPageInfo(Profile* profile,
                            const GURL& url,
                            const NavigationEntry::SSLStatus& ssl,
                            bool show_history);
  virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
                                        bool* is_keyboard_shortcut);
  virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event);
  virtual void ShowRepostFormWarningDialog(TabContents* tab_contents);
  virtual bool ShouldAddNavigationsToHistory() const;
  virtual void OnDidGetApplicationInfo(TabContents* tab_contents,
                                       int32 page_id);
  virtual Browser* GetBrowser() { return this; }

  // Overridden from SelectFileDialog::Listener:
  virtual void FileSelected(const FilePath& path, int index, void* params);

  // Overridden from NotificationObserver:
  virtual void Observe(NotificationType type,
                       const NotificationSource& source,
                       const NotificationDetails& details);

  // Command and state updating ///////////////////////////////////////////////

  // Initialize state for all browser commands.
  void InitCommandState();

  // Update commands whose state depends on the tab's state.
  void UpdateCommandsForTabState();

  // Ask the Stop/Go button to change its icon, and update the Go and Stop
  // command states.  |is_loading| is true if the current TabContents is
  // loading.  |force| is true if the button should change its icon immediately.
  void UpdateStopGoState(bool is_loading, bool force);

  // UI update coalescing and handling ////////////////////////////////////////

  // Asks the toolbar (and as such the location bar) to update its state to
  // reflect the current tab's current URL, security state, etc.
  // If |should_restore_state| is true, we're switching (back?) to this tab and
  // should restore any previous location bar state (such as user editing) as
  // well.
  void UpdateToolbar(bool should_restore_state);

  // Does one or both of the following for each bit in |changed_flags|:
  // . If the update should be processed immediately, it is.
  // . If the update should processed asynchronously (to avoid lots of ui
  //   updates), then scheduled_updates_ is updated for the |source| and update
  //   pair and a task is scheduled (assuming it isn't running already)
  //   that invokes ProcessPendingUIUpdates.
  void ScheduleUIUpdate(const TabContents* source, unsigned changed_flags);

  // Processes all pending updates to the UI that have been scheduled by
  // ScheduleUIUpdate in scheduled_updates_.
  void ProcessPendingUIUpdates();

  // Removes all entries from scheduled_updates_ whose source is contents.
  void RemoveScheduledUpdatesFor(TabContents* contents);

  // Getters for UI ///////////////////////////////////////////////////////////

  // TODO(beng): remove, and provide AutomationProvider a better way to access
  //             the LocationBarView's edit.
  friend class AutomationProvider;

  // Returns the StatusBubble from the current toolbar. It is possible for
  // this to return NULL if called before the toolbar has initialized.
  // TODO(beng): remove this.
  StatusBubble* GetStatusBubble();

  // Session restore functions ////////////////////////////////////////////////

  // Notifies the history database of the index for all tabs whose index is
  // >= index.
  void SyncHistoryWithTabs(int index);

  // OnBeforeUnload handling //////////////////////////////////////////////////

  typedef std::set<TabContents*> UnloadListenerSet;

  // Processes the next tab that needs it's beforeunload/unload event fired.
  void ProcessPendingTabs();

  // Whether we've completed firing all the tabs' beforeunload/unload events.
  bool HasCompletedUnloadProcessing() const;

  // Clears all the state associated with processing tabs' beforeunload/unload
  // events since the user cancelled closing the window.
  void CancelWindowClose();

  // Removes |tab| from the passed |set|.
  // Returns whether the tab was in the set in the first place.
  // TODO(beng): this method needs a better name!
  bool RemoveFromSet(UnloadListenerSet* set, TabContents* tab);

  // Cleans up state appropriately when we are trying to close the browser and
  // the tab has finished firing its unload handler. We also use this in the
  // cases where a tab crashes or hangs even if the beforeunload/unload haven't
  // successfully fired.
  void ClearUnloadState(TabContents* tab);

  // In-progress download termination handling /////////////////////////////////

  // Called when the window is closing to check if potential in-progress
  // downloads should prevent it from closing.
  // Returns true if the window can close, false otherwise.
  bool CanCloseWithInProgressDownloads();

  // Assorted utility functions ///////////////////////////////////////////////

  // The low-level function that other OpenURL...() functions call.  This
  // determines the appropriate SiteInstance to pass to AddTabWithURL(), focuses
  // the newly created tab as needed, and does other miscellaneous housekeeping.
  void OpenURLAtIndex(TabContents* source,
                      const GURL& url,
                      const GURL& referrer,
                      WindowOpenDisposition disposition,
                      PageTransition::Type transition,
                      int index,
                      bool force_index);

  // Creates a new popup window with its own Browser object with the
  // incoming sizing information. |initial_pos|'s origin() is the
  // window origin, and its size() is the size of the content area.
  void BuildPopupWindow(TabContents* source,
                        TabContents* new_contents,
                        const gfx::Rect& initial_pos);

  // Returns what the user's home page is, or the new tab page if the home page
  // has not been set.
  GURL GetHomePage() const;

  // Shows the Find Bar, optionally selecting the next entry that matches the
  // existing search string for that Tab. |forward_direction| controls the
  // search direction.
  void FindInPage(bool find_next, bool forward_direction);

  // Closes the frame.
  // TODO(beng): figure out if we need this now that the frame itself closes
  //             after a return to the message loop.
  void CloseFrame();

  FRIEND_TEST(BrowserTest, NoTabsInPopups);

  // Create a preference dictionary for the provided application name. This is
  // done only once per application name / per session.
  static void RegisterAppPrefs(const std::wstring& app_name);

  // Data members /////////////////////////////////////////////////////////////

  NotificationRegistrar registrar_;

  // This Browser's type.
  const Type type_;

  // This Browser's profile.
  Profile* const profile_;

  // This Browser's window.
  BrowserWindow* window_;

  // This Browser's TabStripModel.
  TabStripModel tabstrip_model_;

  // The CommandUpdater that manages the browser window commands.
  CommandUpdater command_updater_;

  // An optional application name which is used to retrieve and save window
  // positions.
  std::wstring app_name_;

  // Unique identifier of this browser for session restore. This id is only
  // unique within the current session, and is not guaranteed to be unique
  // across sessions.
  const SessionID session_id_;

  // TODO(beng): should be combined with ToolbarModel now that this is the only
  //             implementation.
  class BrowserToolbarModel : public ToolbarModel {
  public:
    explicit BrowserToolbarModel(Browser* browser) : browser_(browser) { }
    virtual ~BrowserToolbarModel() { }

    // ToolbarModel implementation.
    virtual NavigationController* GetNavigationController();

  private:
    Browser* browser_;

    DISALLOW_COPY_AND_ASSIGN(BrowserToolbarModel);
  };

  // The model for the toolbar view.
  BrowserToolbarModel toolbar_model_;

  // The model for the extension shelf.
  scoped_ptr<ExtensionShelfModel> extension_shelf_model_;

  // UI update coalescing and handling ////////////////////////////////////////

  typedef std::map<const TabContents*,int> UpdateMap;

  // Maps from TabContents to pending UI updates that need to be processed.
  // We don't update things like the URL or tab title right away to avoid
  // flickering and extra painting.
  // See ScheduleUIUpdate and ProcessPendingUIUpdates.
  UpdateMap scheduled_updates_;

  // The following factory is used for chrome update coalescing.
  ScopedRunnableMethodFactory<Browser> chrome_updater_factory_;

  // OnBeforeUnload handling //////////////////////////////////////////////////

  // Tracks tabs that need there beforeunload event fired before we can
  // close the browser. Only gets populated when we try to close the browser.
  UnloadListenerSet tabs_needing_before_unload_fired_;

  // Tracks tabs that need there unload event fired before we can
  // close the browser. Only gets populated when we try to close the browser.
  UnloadListenerSet tabs_needing_unload_fired_;

  // Whether we are processing the beforeunload and unload events of each tab
  // in preparation for closing the browser.
  bool is_attempting_to_close_browser_;

  // In-progress download termination handling /////////////////////////////////

  enum CancelDownloadConfirmationState {
    NOT_PROMPTED,          // We have not asked the user.
    WAITING_FOR_RESPONSE,  // We have asked the user and have not received a
                           // reponse yet.
    RESPONSE_RECEIVED      // The user was prompted and made a decision already.
  };

  // State used to figure-out whether we should prompt the user for confirmation
  // when the browser is closed with in-progress downloads.
  CancelDownloadConfirmationState cancel_download_confirmation_state_;

  /////////////////////////////////////////////////////////////////////////////

  // Override values for the bounds of the window and its maximized state.
  // These are supplied by callers that don't want to use the default values.
  // The default values are typically loaded from local state (last session),
  // obtained from the last window of the same type, or obtained from the
  // shell shortcut's startup info.
  gfx::Rect override_bounds_;
  MaximizedState maximized_state_;

  // The following factory is used to close the frame at a later time.
  ScopedRunnableMethodFactory<Browser> method_factory_;

  // The Find Bar. This may be NULL if there is no Find Bar, and if it is
  // non-NULL, it may or may not be visible.
  scoped_ptr<FindBarController> find_bar_controller_;

  // Dialog box used for opening and saving files.
  scoped_refptr<SelectFileDialog> select_file_dialog_;

  // Keep track of the encoding auto detect pref.
  BooleanPrefMember encoding_auto_detect_;

  // Indicates if command execution is blocked.
  bool block_command_execution_;

  // Stores the last blocked command id when |block_command_execution_| is true.
  int last_blocked_command_id_;

  // Stores the disposition type of the last blocked command.
  WindowOpenDisposition last_blocked_command_disposition_;

  // Different types of action when web app info is available.
  // OnDidGetApplicationInfo uses this to dispatch calls.
  enum WebAppAction {
    NONE,             // No action at all.
    CREATE_SHORTCUT,  // Bring up create application shortcut dialog.
    UPDATE_SHORTCUT   // Update icon for app shortcut.
  };

  // Which deferred action to perform when OnDidGetApplicationInfo is notified
  // from a TabContents. Currently, only one pending action is allowed.
  WebAppAction pending_web_app_action_;

  DISALLOW_COPY_AND_ASSIGN(Browser);
};

#endif  // CHROME_BROWSER_BROWSER_H_

redpajama_set_name: RedPajamaGithub


text:
The uncertain future of journalism and why it matters
Whether it's radio, television, print or online, anyone who works in journalism can feel the ground shifting under their feet. The business model of news has been radically disrupted by the Internet age, and yet, the mandate of journalism remains the same: to uncover and report the truth and hold power to account.
CBC News · Posted: Nov 14, 2016 11:33 AM ET | Last Updated: November 14, 2016
Ideas53:58The Enright Files on the uncertain future of journalism and why it matters
Whether it's radio, television, print or online, anyone who works in journalism can feel the ground shifting under their feet. The business model of news has been radically disrupted by the Internet age, and yet, the mandate of journalism remains the same: to uncover and report the truth and hold power to account. In this month's edition of The Enright Files, Michael Enright explores the mandate of journalism and how to maintain the integrity and craft even while it faces an uncertain future.
Guests in this episode:
Walter Robinson, former head of the investigative unit at the Boston Globe, which became the subject of the Academy Award-winning film, Spotlight.
James Compton, associate professor in the Faculty of Information and Media Studies at Western University in London, Ontario.
David Carr, the late media columnist for The New York Times.
** The Enright Files is produced by Chris Wodskou

redpajama_set_name: RedPajamaCommonCrawl


text:
Tendeka acquired by TAQA
At the inaugural day of the International Petroleum Technology Conference in Riyadh, the Industrialization and Energy Services Company "TAQA" announced it has signed an agreement to acquire TENDEKA, a UK-based engineering and manufacturing company with offices in Houston, Stavanger, Aberdeen, Dubai and Kuala Lumpur.
Tendeka specializes in offering reservoir monitoring and control, advanced lower completions, and production optimization technologies, delivering innovative, stand-alone completion products which can be combined and tailored to specific customer requirements across the full spectrum of conventional and unconventional reservoirs.
Ahmed Mousa Al- Zahrani, TAQA Chairman of the Board, said: "We continue to realize TAQA 2021 strategy to expand well services offering and become a leading international services and equipment provider. The acquisition of Tendeka will complete our portfolio and fill the well completions gap we had. Tendeka has an excellent technology base with strong IP, skilled workforce and global international presence, complementing our current and future offering"
Brad Baker, Tendeka Chief Executive Officer, said: "We are delighted to join the TAQA Group. Tendeka has a rich history of providing innovative technologies for reservoir recovery and production optimization. TAQA will not only immediately strengthen our capabilities in the key Middle East Region, but also bring investment for our future growth. "
About TAQA
TAQA is a leader in Middle East Oil Field Services and Equipment ("OFSE") and is adding new capabilities to cover a wide spectrum within the market. TAQA continues to innovate by developing and deploying technologies, products and service and by building long-term relationships with customers.
About Tendeka
Tendeka is a global specialist in advanced completions and production solutions for the oil and gas industry. From simple to complex well designs, the company has an extensive track record in enhancing productivity for clients' reservoirs offshore and onshore. Tendeka invests in research and development, bringing to market disruptive technologies and offering solutions targeted to operators' specific production challenges.
Established in 2009 and headquartered in Aberdeen, UK, Tendeka operates in strategically positioned bases, located at global energy hubs including the North Sea, Asia-Pacific, Middle East and USA.


text:
Northvolt is building a battery factory in Borlänge
The company Northvolt will build another battery factory – in Borlänge, Sweden. Northvolt has signed a letter of intent with Stora Enso to acquire the previously closed facility Kvarnsveden.
It was in April 2021 that Stora Enso announced that Kvarnsveden's paper mill would be closed. Now, almost a year later, it is clear that Northvolt is establishing one of its factories on the site. Northvolt, which manufactures lithium-ion batteries for electric cars, among other things, will produce cathode material for batteries and battery cells in the Borlänge-located factory. As early as 2024, Northvolt wants to start production and expects to have to employ up to 1,000 people.
– This is extremely important for Borlänge and Dalarna. It really strengthens our position as a city and a region where the modern, green industry is the basis for our continued development and growth. In many ways, it can be said that it will now be a new Borlänge and we warmly welcome Northvolt to us, says Jan Bohman (S), chairman of the municipal board.
Part of Borlänge's development
Northvolt, which is in a very expansive phase, will now build a factory in Borlänge.
– Since the start, Northvolt has focused on circular production, but this is the first time we will reuse an existing industrial property. The access to energy, industrial water and the region's broad industrial competence make Kvarnsveden an optimal place for a gig factory. We look forward to participating in creating this new chapter in Borlänge's history as a global industrial hub, says Peter Carlsson, CEO and co-founder of Northvolt.
See new opportunities
Shortly after the announcement that the paper mill would be closed down, Stora Enso began work to find a replacement business.
– Since our decision to close the facility, we have focused on finding a new owner who can take over Stora Enso's long and sustainability-oriented heritage at Kvarnsveden and in the local community. Northvolt delivers, just like Stora Enso, modern and innovative solutions that contribute to a climate-friendly future. Through the agreement, Kvarnsveden will continue to contribute with growth, both for Northvolt and Borlänge, says PerLyrvall, Sweden manager at Stora Enso.
Since the announcement, the municipality has expressed its desire for a solution that benefits Borlänge's development.
– We would like to thank Stora Enso for protecting Borlänge in this deal. We believe and hope that Borlänge residents and many of those who previously worked in the paper mill see new opportunities, says Jan Bohman, chairman of the municipal board.
Expansive, comprehensive and forward-looking
Borlänge's future looks very bright with new jobs and an already strong business community that is now growing further.
– It is highly probable that more companies, both within and outside the industrial industry, will be attracted here, it is a natural effect of an establishment that is so expansive, extensive and future-oriented, says Per Sjölander, business manager in Borlänge municipality.
Grateful for the will and commitment
Borlänge municipality, together with many other actors, has assisted with knowledge and expertise during the ongoing negotiations, not least in matters concerning, for example, housing, infrastructure, educational opportunities and business contacts.
– An establishment like this gives us the opportunity to work at an even faster pace with housing, roads, railways and education in the region. It is fantastic what support there has been, both nationally, regionally and locally. I am both impressed and grateful for the will and commitment that becomes so clear in a sharp situation, says Åsa Granat, municipal director in Borlänge municipality.
Enjoy the news
The municipality will now continue with the work and planning that needs a little extra attention in such a large establishment.
– We allow ourselves to enjoy the news today, then of course a lot of work awaits us. But I have a hard time imagining any better inspiration than this one, says Åsa Granat, municipal director in Borlänge municipality.
Read more on Northvolt's website.
Image: Northvolt.com
Smart City Sweden Central


text:
British Waterways charity to merge with the Waterways Trust
24 June 2011 by Ben Cook
Agreement has been reached 'in principle' to combine when British Waterways becomes a charity next year
A canal in Rochdale
The Waterways Trust has announced it will merge with the new charity that will be formed from British Waterways.
The Waterways Trust, which has about 80 staff and a turnover of £4m a year, said an "agreement has been reached in principle" to merge when British Waterways becomes a charity in April 2012.
The trust said the two were merging because there would be considerable overlap between its work and that of the new charity, and this could create confusion for stakeholders, funders and supporters. British Waterways cares for 2,200 miles of the country's canals and rivers, while the Waterways Trust works to increase public use and enjoyment of inland waterways.
British Waterways, which had a revenue of £187.1m in 2009/10, announced in February last year that it planned to become a charity. In February this year, the organisation announced it would make 60 of its 1,700 staff redundant and instigate a company-wide pay freeze in the financial year to March 2012.
A spokeswoman for the Waterways Trust said none of its staff would lose their jobs as a result of the merger with the new charity. The name of the new charity was yet to be announced, she said, but confirmation of the new charity's identity was expected within the next month.
The trust said in a statement that full details of the merger would be "developed over the coming months", during which the Waterways Trust would continue with its programme of work. The Waterways Trust will continue to operate as a separate entity in Scotland, where it has eight staff.
Tony Hales, chair-designate of the new waterways charity, said: "This is tremendous news and will ensure that a very large part of the country's precious waterways heritage will be held in trust for the nation.
"The joining together of the new waterways charity and the Waterways Trust will give the new charity an enormous boost, not just by combining the physical structures and artefacts that make the waterways so unique, but through the collective knowledge and passion that each organisation's staff and volunteers bring with them."
Frances Done, chair of the Waterways Trust, who will retire from her role on completion of the merger, said: "Over the past 12 years we have learnt many lessons that will be important for the new charity.
"We have also seen success in a number of key areas, including fundraising, building partnerships and attracting and working with volunteers, and look forward to building on these as part of the new waterways charity."
Communications Policy and Politics Environment & conservation
Waterways Trust merger ,
Environment & conservation ,
Policy and Politics ,
Communications ,
British Waterways
Brand Report: British Waterways
British Waterways announces 60 job losses and pay freeze
From quangos to charities, the government decides
'Confirmation' for British Waterways plans to become a charity
Architectural Heritage Fund offers £15m to rejuvenate high streets
Greenpeace condemns MP for manhandling climate activist during peaceful protest
WaterAid begins menstrual hygiene product subscription service
Friends of the Earth and Greenpeace back Extinction Rebellion protests
Wildlife Trusts' Wind in the Willows film to hit 500 cinemas
Latest Communications Jobs
Head of Communications and Fundraising
Quakers Euston, London (or elsewhere, subject to discussion)
Head of Internal Communications
The Prince's Trust London


text:
Record number of job vacancies in S'pore last year as economic recovery picked up
Compared with 2020, employers took longer to fill open positions amid the tight labour market in 2021, according to Ministry of Manpower (MOM) data released on Friday (April 1).
April 01, 2022, 11:11 IST
This came as the number of job vacancies in Singapore reached a record high of 117,100 last December as economic recovery picked up.
Amid Singapore's tight labour market, employers took longer to fill open positions last year, compared with the year before, according to Ministry of Manpower (MOM) data released on Friday (April 1).
The proportion of vacancies unfilled for at least six months grew to 35 per cent, up from 27 per cent in 2020. Before this, the proportion had been on a broad downtrend from 2014, said the ministry in its annual report on job vacancies.
The trend was similar for both professionals, managers, executives and technician (PMET) roles and non-PMET roles, though the share of non-PMET roles that were unfilled for extended periods was much higher, at 49 per cent, compared with 24 per cent for PMET roles.
The ministry's survey of 14,340 private and public sector organisations, with a total of 1,809,900 employees, found that the top three PMET jobs in demand by employers were commercial and marketing sales executives; software, web and multimedia developers; and operations officers who were not involved in transport operations.
As for non-PMET roles, the top jobs in demand were construction labourers, shop sales assistants and cleaners.
Manpower Minister Tan See Leng said the labour shortage should ease in the coming months, firstly as border restrictions ease and more foreign workers in non-PMET jobs are able to enter Singapore, and also as training and career conversion programmes are ramped up to prepare local PMETs for new jobs.
"These are early days, but we are doing everything we can by supporting industries and companies with the upskilling, upgrading, innovation and transformation," he told reporters at a media briefing about the data.
"We are hopeful that many employers can still successfully fill vacancies by expanding their resident workforce," he said, encouraging employers to look at hiring women and older workers who are not in the labour force.
A smaller proportion of vacancies last year involved work that can be done remotely. The figure was 31 per cent, down from 35 per cent in 2020.
MOM said this was due in part to the resumption of workplace activities, which meant fewer employers offered remote work options for roles that usually require face-to-face interactions or on-site presence, such as operations officers in food and beverage services, and commercial and marketing sales executives. There was also a higher proportion of vacancies coming from industries and occupations where remote work was not prevalent.
Source: The Strait Times
pmet
tan see leng
ministry of manpower


why is it necessary to have leopard for the sdk?
Discussion in 'iPhone' started by heyp, Jun 17, 2008.
this may be a dumb question, but can someone please explain?
I think Apple didnt want to spend additional resources and funds to develop XCode for both Windoze and Mac. The IDE was already available for Mac so perhaps they went that route.
Also maybe to get people over to Mac from Windoze. If you want to develop for iPhone, you need to go BUY a Mac.
I think the question was why does it require Leopard (10.5.3 in fact) versus Tiger or older versions of OS X.
The answer is simply that there are certain technologies in Leopard that the iPhone SDK requires.
The iPhone 3G version of OS X uses a mini version of Leopard with many of the newest OS X features. The simulator would crash if Leopard weren't available to support all those new APIs. Plus a copy of Leopard means you've already been granted a license for some of the Leopard frameworks required to compile a iPhone 2.0 app.
That is true. My guess is that it would take like a year to port XCode (usually when you have a project like porting, you don't send the entire Apple team to do it...maybe like one or two people). By that time, serious developers would have enough money to get a Mac Mini.


Oscillators are designed to indicate a possible change in the trend of a specific trading instrument by showing whether the instrument is either overbought or oversold, therefore allowing traders to determine when a change in the current overall trend will occur and in turn, an entry point into the market.
The RSI indicator is used to determine the state of the market – whether it is overbought, oversold, or stable. If the RSI tops out in the upper zone [overbought (sell signal), > 70] and then returns to the middle zone, the price would move in the same direction.
If the RSI bottoms out in the lower zone [oversold (buy signal), < 30] and then returns to the middle zone, the price would move in the same direction. In other words, the price and the RSI movement correlate.
The Stochastic oscillator is used on the trending markets. If both lines top out in the upper zone [above 80% mark (sell signal)] and then the indicator returns to the middle zone, the rate would move in the same direction. If both lines bottom out in the lower zone [below 20% mark (buy signal)] and then the indicator returns to the middle zone, the rate would move in the same direction.


text:
'Sesame Place Sallie' filmed cursing at Muslim woman she allegedly told to 'go back to where you came from'
Erin Donnelly
Yahoo Lifestyle 6 August 2019
The offending woman, at Sesame Place. (Photo: Instagram)
A trip to the Sesame Place water park in Langhorne, Penn. got violent, with one swimsuit-clad woman caught on camera cursing at other guests before grabbing the phone of the woman filming her tirade. She is also accused of telling that guest, who is a Muslim woman, "go back to where you came from."
The heated exchange was shared on social media by the woman, named Zafirah, who filmed the incident. According to accounts posted by her cousin and another family member, the woman in the black swimsuit — whom they've dubbed "Sesame Place Sallie," in a nod to the nicknames, including "Peppermint Patty," that have cropped up in response to white people calling the police on minorities — was arguing with another guest and using "very foul language." When Zafirah asked her to quiet down in front of the kids, the woman allegedly fired back, "B**** f*** you and go back to where you came from."
While that exchange was not filmed, the woman can be seen angrily swearing and flipping the bird on camera shortly afterwards, by which time Zafirah had pulled out her phone to record the exchange. Though Zafirah shared on her Instagram Stories that the woman didn't actually physically assault her, the family claims she did try to knock the phone out of her hand. The woman can be seen lunging at Zafirah, causing people to rush in and break up the scuffle as children cry in the background.
(Photo: Instagram Stories)
The woman was asked to leave the park, but both of Zafirah's cousins insist that Sesame Place staffers treated them "as the aggressors." One lamented the amusement park's reputation as the world's first theme park to be designated a certified autism center, writing, "Why would you even want someone that holds this kind of negativity and hate around children? Especially those with disabilities ... "
In a statement to Yahoo Lifestyle, Sesame Place decried the guest's behavior and confirmed that she was asked to leave the park. The statement refuted the family's claim that the woman was given tickets to return to the park on another date and noted that she has been banned.
"Sesame Place only welcomes respect for others and does not tolerate this type of behavior," the statement read. "The guest depicted in that video was promptly removed from the park and will not be permitted to return. Creating safe and enjoyable experiences for all guests is our top priority. Furthermore, the guest in the video did not receive tickets to return."
Read more from Yahoo Lifestyle:
Florida man charged with felony for threatening hotel manager through email: 'Made my girl cry now I must make him die'
El Paso boy, 11, challenges community to do '20 good deeds' to honor shooting victims
El Paso hospital was prepared for a mass shooting, and experts say training is crucial: 'It's not a question of if, but when'
Follow us on Instagram, Facebook, Twitter, and Pinterest for nonstop inspiration delivered fresh to your feed, every day.
#profanity
#sesame-place
#amusement-park
Singer AKON Builds His Own City Powered by His Cryptocurrency!
Issa Rae says academy must 'do better' after Oscars diversity row left her 'tired'
The Masked Singer: Fans stunned after Justin Hawkins unveiled as chameleon
PICS: PM Modi Visits Belur Math; Pays Tribute to Swami Vivekananda
Justin Bieber confirms Lyme disease diagnosis: 'It's been a rough couple years'


text:
Home Alone Director Calls Disney+'s Reboot a "Waste of Time"
Home Alone director Chris Columbus is what the French call, "pas impressionné" by the upcoming Disney+ reboot.
The 62-year-old filmmaker, who directed the first two movies starring Macaulay Culkin, told Insider in an interview posted on Thursday, Nov. 12, "Nobody got in touch with me about it," adding, "It's a waste of time as far as I'm concerned."
"What's the point?" he asked. "I'm a firm believer that you don't remake films that have had the longevity of Home Alone. You're not going to create lightning in a bottle again. It's just not going to happen. So why do it? It's like doing a paint-by-numbers version of a Disney animated film—a live-action version of that. What's the point? It's been done. Do your own thing. Even if you fail miserably, at least you have come up with something original."
Columbus noted that he could also be "accused" of doing the same thing with Home Alone 2. "That movie is basically a remake of the first Home Alone," he admitted. "Does it need to exist? Yes, because some of those stunts make me laugh really hard, but I just don't believe it should be done."
In August 2019, Walt Disney Company's CEO told investors the company was planning a "reimagining" of Home Alone, which celebrates its 30th anniversary this year, for Disney+, its streaming service. In December, E! News confirmed that Jojo Rabbit actor Archie Yates was cast in the project.
20 Reasons Home Alone Is the Ultimate Movie From Our Childhood
Variety reported that the child star will not be playing the iconic Kevin McCallister, the role Culkin originated, but rather "a new character in a similar premise to the original franchise." The outlet also said The Unbreakable Kimmy Schmidt star Ellie Kemper and comedian Rob Delaney will star alongside Yates.
Macaulay Culkin, Home Alone, GIF
As for Culkin himself, there are no reports of any involvement of the 40-year-old actor in the reboot. However, he did offer his personal comedic take on it.
"This is what an updated Home Alone would actually look like," he quipped on social media, alongside a photo with his belly sticking out, leftovers in his hand and a laptop place in front of him.
In 2018, Deadline reported that Deadpool actor Ryan Reynolds was developing an R-rated comedy movie titled Stoned Alone, based on Home Alone. There have been no updates on the project since then.
"There's going to be a Stoned Alone with Ryan Reynolds," Columbus told Insider. "God only knows what that will be—a stoner version of Home Alone?"
He added, "Listen, have fun. I just feel, do something new. Life is short."
Previous PostChicago Mayor Issues a Stay-at-Home Advisory and Says to 'Cancel the Normal Thanksgiving Plans'
Next PostMandeville area interior designer faces additional fraud accusations | Crime/Police


text:
UK news home
World news home
Royals home
Duchess of Cornwall
Signals Network
Global Health Security home
Climate & People
Science & Disease
Terror & Security
Red tape rows leave 1,000 women a year to die from breast cancer
Just 20 per cent of CCGs are routinely funding the pills Credit: PA
Laura Donnelly, Health Editor
29 September 2017 • 12:01am
A life-saving breast cancer pill which costs just 43 pence a day is being denied to around four in five women in need of it, with the NHS accused of a "dereliction of duty," new figures show.
The cheap drugs can cut the risk of disease spreading by more than one quarter, preventing one in ten breast cancer deaths.
But NHS Freedom of Information (FOI) disclosures show the pills - which could benefit more than 35,000 women a year - are being funded in just one in five areas.
Cancer specialists accused health officials of "shameful irresponsibility" in allowing more than 1,000 women a year to die needlessly as a result.
Charity Breast Cancer Now said the failure to ensure the drugs are funded was "inexcusable" and urged ministers and NHS leaders to intervene with urgency.
The drugs, called bisphosphonates, were originally designed to treat osteoporosis.
About | Breast cancer
But they are also prescribed for men with advanced prostate cancer, after research found that they alter bone tissue, making it harder for cancer cells to survive.
Two years ago, a major study in The Lancet established that they have a powerful effect fighting breast cancer, which is the most common cancer in the UK. The chance of disease spreading to the bone - where it becomes incurable - fell by 28 per cent among postmenopausal patients given the daily drugs.
The charity accused health officials and ministers of a "lack of leadership" in failing to ensure that the cheap drugs are funded, amid a fog of "red tape".
Because the drug has yet to be assessed by NHS rationing bodies, and is not licensed for breast cancer, NHS clinical commissioning groups (CCGs) have not been instructed to fund it.
As a result, just 42 of 208 of CCGs have done so, the FOI disclosures reveal.
Professor Rob Coleman, Professor of Medical Oncology at the University of Sheffield, urged NHS England to issue clear guidance with "immediate effect".
"That over 1,000 women a year are being allowed to die unnecessarily from breast cancer is a shameful irresponsibility – particularly when the solution is a safe and inexpensive treatment that within five years would not only save lives but save the NHS precious funds to invest elsewhere."
"The inability of NHS England to action this treatment across the country is totally unacceptable," he added, pointing out that the drugs are widely recommended across Europe and the US.
The report by Breast Cancer Now also shows a sharp rise in the numbers facing long waits for treatment.
In the last year, 1,177 women waited more than two months to start treatment, despite being urgently referred to hospital with suspected breast cancer.
Bisphosphonates cost just 43 pence a day, including the time of doctors monitoring them
Baroness Delyth Morgan, chief executive at Breast Cancer Now, said "red tape" was standing in the way of progress, while funding pressures and staff shortages were fuelling ever long waiting times.
"This continued lack of leadership across UK nations will cost thousands more lives if simple opportunities to make further improvements continue to be inexcusably ignored," she said.
"In bisphosphonates, we have a simple and cost-effective chance to cut 10 per cent of all breast cancer deaths in the UK, using drugs already at the NHS' disposal. Two years since the evidence of their benefit, that the Government and NHS England have not ensured all eligible patients can access these drugs is nothing short of a 'dereliction of duty'.
Prescribing bisphosphonates could save the NHS £5 million a year across the UK, the report said.
"We now call on NHS England to take immediate action to ensure all CCGs are able to prescribe bisphosphonates to all eligible patients," she said.
The National Institute of Health and Care Excellence has been asked to consider the use of the drugs in future guidance for the NHS on breast cancer, but this is not due to be published until next summer.
Breast Cancer Screening Credit: Rex
An NHS England spokesman said: "Breast cancer survival is now at its highest ever.
"As well as upgrading modern radiotherapy equipment and ensuring faster access to the most promising new cancer drugs, the NHS is investing £200m over the next two years in faster diagnosis and modern treatment."
Trump's lawyers call impeachment charges 'brazen and unlawful'
Comment: On the Radar: New brooms at the Royal Academy, a French farce and a big flop for the Barbican
'There are not many white spaces left on the world map': British adventurer on mission to find fabled source of Afghanistan's Oxus River
Comment: We vain and graceless babyboomers are still bewitched by the cult of youth
Comment: It's time for Boris to tackle the tyrannical silencing of free speech on our campuses
Iain Mansfield
Gallery: Pictures of the Day: 19 January 2020
Comment: I've learned the hard way that bad police reform just breeds more pen pushers
'Royal history was made': How the papers reacted to 'Megxit'
With the Firm in crisis, who are the courtiers steering the Good Ship Windsor?


text:
Re-/Launch
2020/2021 edition
Startup Sourcing
Startup Database
Add a startup
Mission / Team
EU-Startups
Home Know-How How can we di...
Startups in general
How can we discuss racial diversity and inclusion at work? (interviews with founders)
Maricel Sanchez
Diversity and inclusion have always been a slightly controversial topic, just brewing under the surface, waiting for a trigger. One of those recent triggers was the killing of George Floyd, which has prompted nationwide protests in the US and globally since it happened in May this year. It has continued to spark conversations about race, justice, policing, and politics in the workplace and at home, not just in the US but globally. Discussions on race, diversity and inclusion have since taken center-stage worldwide, AND rightfully so.
In Europe, the 2019 State of European Tech Report, commissioned by global investment firm Atomico in collaboration with 20 European companies and over 70 European tech stakeholders, paints a stark picture of the state of European tech diversity and inclusion. In 2019, 92% of funding went to all male teams, a similar level to the figures which shocked readers last year. A break down the data by race, age, education, and socioeconomic background, uncovers more problems: 43% of Black/African/Caribbean founders have experienced discrimination – of which 80% link it to their ethnicity. Black founders made up only 1% (0.9%) of the more than 1,200 founder respondents, which is a story of its own. People from a less privileged socioeconomic background are less likely to become entrepreneurs: 81% of founders surveyed said they were living comfortably before they founded their company, against a European norm of 39%. Clearly the state of diversity and inclusion in European tech is not good enough.
There is a lot that needs to be done. A good place to start is to talk about race, diversity, and inclusion, in our everyday lives – at home and at the workplace, and not make it a topic to avoid. Productive conversations, especially at the workplace, will facilitate discussions about "what's wrong" and produce a more comprehensive "what to do" framework.
We reached out to founders and CEOs from different European startups and asked for their thoughts on discussing race at work. We spoke with Paul Kupfer and Marian Gutscher, co-founders of social enterprise soulbottles (Berlin, 2011); Deborah Choi, founder of consumer platform for plant care, horticure.com (Berlin, 2018); Nicolas Dessaigne, co-founder of search-as-a-service platform Algolia (Paris, 2012); Alex Stephany, founder of crowdfunding for homeless people platform Beam (London, 2017); Wendy Oke, founder of edtech management and compliance platform TeachKloud (Cork, 2017); Ismail Jeilani, founder of teacher brand-building platform Scoodle (London, 2017); and Naren Shaam, founder of leading global travel platform Omio (Berlin, 2012).
What advice can you give to first-time founders or new entrepreneurs on how to approach racial diversity and inclusion at work?
Deborah (horticure): Founders should approach thinking about diversity when building their companies, as a critical asset to growth, and not just "something nice to do". We've seen this over the last several years with much larger companies; embarrassingly tone-deaf product launches, marketing campaigns and strategic decisions that are then quickly culled back with inauthentic sounding apologies after the consumer fallout. Forgetting about diversity carried a high brand and monetary cost in all those cases, one that smaller and younger companies may simply not be able to afford. Build a team and build a board that reflects the reality of 2020; Europe is a highly diverse continent with informed customers that hold high purchase power, while covering the full racial spectrum. When new companies and startups launch products or marketing campaigns that do not reflect this reality, your customers see that, and they have options.
Naren (Omio): Start early, This is the best way to create a diverse work base and inclusive environment. The first hires are crucial. – create a diverse group, and discuss these issues. And, although it is easier to start early, it's never too late to have a voice. If leaders are vocal in their support of diversity, it becomes easier for managers to enact D&I policies throughout the organisation. Finally, find ways to ensure your teams fairly represent your customer base, this is the best way to build customer centric products.
Marian/Paul (soulbottles): Do an anti-racism training with Tupoka Ogette; read her books, read other books on the topic (e.g. Alice Hasters); educate yourself. And if you are white it will probably feel "weird" or uncomfortable in the beginning but that is no excuse to not approach these issues.
Nicolas (Algolia): Educate yourself: Now more than ever, there are plenty of resources, and there is no excuse to ignore the issue. If you are among the predominant white male founders, read this great article about white privilege. As you will most likely hire people from many different backgrounds, I highly recommend the book Culture Map. Also prioritize diversity from the start – No one wants to be the first female in a large team of males or the first black person in a team of whites. The more diverse your team is, the more diverse candidates it will attract.
Wendy (TeachKloud): I would start off by quoting Martin Luther King Junior who said that "an individual has not started living until he can rise above the narrow confines of his individualistic concerns to the broader concerns of all humanity." CEO's and boards need to engage in a mind-set shift regarding the importance of diversity and inclusion; confronting one's own bias first and challenging previously held assumptions is the first step. Once we engage in continuous self-reflection, we can then begin to engage in meaningful conversations in the workplace. Then we can begin planning and implementing intentional training on diversity and inclusion. I also believe that when we see in-justice within the workplace, we need to speak up and challenge it immediately. Importantly, actually having diverse workplaces would automatically bring change because workplaces would be representative of the world. Research indicates that "ethnically diverse companies are 35% more likely to outperform their peers." Ethnically and gender diverse companies also have incredible benefits for work culture and productivity. Lastly, I would echo Jesse Jackson who stated that "inclusion is not a matter of political correctness. It is the key to growth."
Ismail (Scoodle): It can be very easy to 'believe' you've got this diversity thing figured out when, in reality, you could be way off. Understand what unconscious bias is, and how it can potentially affect the way you make decisions. A good way to do this is to speak to founders from different backgrounds.
Alex (Beam): It's easy, especially in the early days, to hire people who are just like you. My advice to first-time founders would be to actively hire people who are different from you. Whether that's someone who has come from a different background, race, or with different life experiences. Not only will this help you forge a more inclusive culture from the beginning, but it will also ensure a greater diversity of perspective, which is critical when building a company. Everyone has blind spots and it's important to hire people who will challenge you on a daily basis.
How do you handle questions or opportunities to talk about racial diversity and inclusion at work?
Ismail (Scoodle): A company's culture is an extension of the founders. The easy answer is to say 'open communication is key'. The problem is, sometimes it isn't easy to communicate openly. You have to feel comfortable. I'm fortunate to be a founder. That's why, where possible, I try my best to be open pro-actively both in 1 to 1 meetings and group meetings.
Nicolas (Algolia): Each and every opportunity to address questions regarding race, diversity and inclusion should be leveraged. For example, each time our Inclusion & Diversity squad presents at a company 'all hands' meeting, this is an opportunity to reinforce how important diversity and inclusion are for the founders and the leadership. A few genuine words coming from you can go a long way.
How you consider racial diversity and inclusion in crafting your company policies, company culture and goals/targets?
Deborah (horticure): I like to think more broadly about 'diversity'; personally I am a black woman, an American citizen, and also a mother. I think about race, gender, age, economic and ableness diversity in building my team at horticure. The ROI is huge: my biases and in general, the way I view the world is frequently and positively expanded, by nature of working closely with others who do not necessarily look or think like me.
Marian/Paul (soulbottles): We do, but still have quite a way to go. We are in the process of defining diversity goals, as for the composition of our staff. We have communication guidelines that educate people on how speech reproduces racism. I think we have become more aware of not falling into the trap of tokenism. When people invest time and energy into diversity/inclusion/anti-racism projects, when people propose specific goals, propose to spend money on it, there is a supportive atmosphere for that. Quite simply: Having BIPoC in the company started the process – it was them who raised the issue and then others joined in and supported.
As founders/CEOs, how do you manage diversity and inclusion in your companies, and has this changed over the course of being an entrepreneur, from the time you started up until now?
Nicolas (Algolia): At first, it was simply implied by our values and our behaviour, but as the company scaled, we wanted to be more proactive. In early 2018, we created our Inclusion & Diversity squad (we chose to start with Inclusion instead of the typical D&I terminology as we think that an inclusive culture is a requisite to succeed at diversity). This squad is composed of diverse team members of the company who are empowered to make changes on several fronts: awareness, inclusion, diversity, partnerships, and employee resource groups. Listening circles to provide the space for employees to share their own personal experiences and perspectives with one another, as well as bringing in expert speakers to discuss how we can each make a positive impact to end racial injustice, have been received very positively. Externally to the company, diversity and inclusion is one of the 4 key pillars of our social impact.
Alex (Beam): Beam supports some of the most disadvantaged people in society and we actively encourage and promote diversity on our platform. We do this by ensuring the people we support are representative of the community of people experiencing homelessness. For example, 43% of the homeless people we serve are single mums and 65% come from BAME backgrounds. We also try to reflect this level of diversity in our own hiring too. We proactively seek out employees from BAME backgrounds and/ or those who have experienced social disadvantage, so we can identify better with the communities we serve. We've also recently launched a Community Champion initiative, where we create paid-for opportunities for our beneficiaries to act as Beam Ambassadors. This could involve speaking opportunities, events, generating referrals, testing new products or content creation.
Do you think there are enough measures or programmes across Europe to tackle racial diversity and inclusion in the workplace?
Wendy (TeachKloud): I think measures and programmes are important but we need to focus on our foundation. If we as a society believe in the importance of inclusion and diversity, it would be automatic that we would want to do our best to include everyone, while hiring the best person for the job. My team consists of amazing people from all walks of life – I don't hire based on who I know or who looks like me, I focus on the person as an individual and their characteristics. Unconscious bias can hinder the hiring process and it is something we need to talk about more in order for change to occur and for measure/programmes to be impactful.
Deborah (horticure): I'm a Nigerian-American, now living in Europe for the last 5 years. The discourse and programmes focused on racial diversity in workplaces are several years behind what I see happening in the US; we're only now having the important discussions and actionable support on the topic of gender diversity here in Europe.
Thank you to all of the founders that contributed to this discussion. For further reading, check out our article The 360° benefits of building an inclusive startup team from day one.
Deborah Choi
Ismail Jeilani
Marian Gutscher
Naren Shaam
Nicolas Dessaigne
Paul Kupfer
TeachKloud
Wendy Oke
Previous articleSwedish startup Heart Aerospace unveils electric aircraft tech to make fossil fuel-free flying a reality
Next articleJoin EIT Health InnoStars Awards and meet Europe's 15 most promising healthcare startups in 2020 (Sponsored)
Maricel Sanchez has over 10 years of experience in various fields including trading, supply chain management, logistics and manufacturing. As well as helping startups to raise funds, she is an award-winning public speaker and the current President of Toastmasters Nice, a bilingual club that promotes public speaking and leadership.
5 engaging Europe-based founders to follow on LinkedIn
"Being a successful founder is having an unshakeable resilience and relentlessness"...
5 European Google competitors to watch
10 key players shaping the path for BAME founders in Europe
10 Black startup founders in Europe to watch in 2020 and beyond
"We will begin to see a true AI search evolution": Interview with Algolia's C...
Startup News – sorted by country
Receive our weekly Newsletter
This Week's Popular Posts
10 of the most promising Malta-based startups to watch in 2021
10 promising Lithuania-based startups to watch in 2021
10 French startups to look out for in 2021 and beyond
10 exceptionally promising German startups to watch in 2021
10 Netflix documentaries every entrepreneur should see
Data Insights Team Lead
BackEnd Developer (Symfony)
C# Developer
Saint-Romain-de-Colbosc, France
DevOps Junior
EU-Startups.com is the leading online magazine about startups in Europe. Learn more about us and our advertising options.
© Menlo Media S.L. - All rights reserved.


text:
Q: SAMPLE clause on GROUP BY I have an oracle db where there are multiple rows with matching names. Now I need to sample on this db but don't want to alter the distribution by including rows with the same names multiple times.
What I tried is this.
SELECT *
FROM (
    SELECT names, min(a), min(b)
    FROM table GROUP BY names) SAMPLE(5);

That only gives

ORA-00933 SQL command not properly ended

The inner SELECT by itself works just fine, just the outer SAMPLE clauce seems to be a problem. Is there a different way to put it?
Thank you

A: I don't have your tables so I'm using Scott's emp.
This is what you have now:
SQL> select *
  2  from (select job, min(sal), max(sal)
  3        from emp
  4        group by job
  5       )
  6  sample (8);
sample (8)
       *
ERROR at line 6:
ORA-00933: SQL command not properly ended

OK, so - let's use a CTE instead:
SQL> with temp as
  2    (select job, min(sal) minsal, max(sal) maxsal
  3     from emp
  4     group by job
  5    )
  6  select *
  7  from temp
  8  sample (8);
with temp as
*
ERROR at line 1:
ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY,
etc.

Aha.
There's no easy way out (I mean, writing a standalone query). But, if you materialize the source (by creating a table based on a subquery), then it works:
SQL> create table test as
  2    select job, min(sal) minsal, max(sal) maxsal
  3    from emp
  4    group by job;

Table created.

SQL> select * from test;

JOB           MINSAL     MAXSAL
--------- ---------- ----------
CLERK            800       1300
SALESMAN        1250       1600
PRESIDENT       5000       5000
MANAGER         2450       2975
ANALYST         3000       3000

SQL> select *
  2  from test
  3  sample (8);

JOB           MINSAL     MAXSAL
--------- ---------- ----------
PRESIDENT       5000       5000
MANAGER         2450       2975

SQL>

A: If you check the documentation, SAMPLE is only valid for branch with physical object underneath ([schema.]...).
To achieve similar result with a subquery you may use:

*

*For all versions: calculate row_number() over(order by null) as rn, count(*) over() as cnt in the subquery and then filter by rn <= ceil(cnt*N/100).

*For 12c and above: fetch first N percent rows only, which will do all the calculations under the hood. Note, that it does exactly the same as above for you without extra typing.

create table t (names, a, b) as
select
  lpad(mod(level, 100), 3, '0')
  , level
  , level
from dual
connect by level < 300

select /*+gather_plan_statistics*/ *
from (
  select names, min(a), min(b)
  from t
  group by names
)
fetch first 8 percent rows only

NAMES | MIN(A) | MIN(B)
:---- | -----: | -----:
003   |      3 |      3
020   |     20 |     20
026   |     26 |     26
029   |     29 |     29
035   |     35 |     35
049   |     49 |     49
061   |     61 |     61
063   |     63 |     63

db<>fiddle here
But keep in mind, that SAMPLE is physical operation, that's why it throws

ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY,
etc.

for view and it is the reason I wrote similar, not the same. In the plan:
|   1 |  TABLE ACCESS SAMPLE| T    |

redpajama_set_name: RedPajamaStackExchange


It is a Crushers ASPHALT-CONCRETE-COMPACTION and is for sale at $87,500. AZ onEquipmentTrader.com. MR110ZS Crushers Call for price. Louisville, KY.
price for kleemann mr110 [ 4.6 - 4652 Ratings ] The zenith product line, consisting mr110zs crusher dimensions - mapguide. mr110zs crusher dimensions. .
for sale used stone jaw crusher Crushers may be used to reduce the size, Used 2012Kleemann MR110ZS EVO Mobile Impact Crusher.
Get more information. For further information about purchasing this 2011 Kleemann MR110ZSEvo Impactor, please fill in the form below and we will send you more details.
Kleemann MR110ZS in recycle concrete application. This concrete has significant amountsof rebar in it. Product output size is approximately 1" minus.
The mobile impact crushers of the EVO line impress with technical highlights, KleemannMR110ZS EVO Mobile Impact Crusher with Independent Pre-screen and .


text:
Q: How to know command is installed in shell In xxx.sh, I need to execute a command. But if this command is not found, I want to throw an error.
if [[ xxxxxxx ]]; then
    echo "sorry xx command not found"
    exit 1
fi

A: From this answer:
In summary:
Where bash is your shell/hashbang, consistently use hash (for commands) or type (to consider built-ins & keywords).
When writing a POSIX script, use command -v.


text:
Lessons on Emergency Guardians from Gavin v. Loeffelbein
At the end of March 2019, the Pennsylvania Supreme Court heard the case of Gavin v. Loeffelbein, which concerns the appointment of emergency guardians. In the case, the Superior Court held that an emergency guardianship order automatically expired after a period of thirty days.
In addressing this case, the Superior Court found that a person who is subject to an emergency guardianship is not prohibited from making decisions about his property even if a court ordered guardian has been ordered to decide these matters. As a result, the Pennsylvania Supreme Court vacated a decision by the state's Superior Court, which had erred when it considered the validity of an emergency order.
While this case arose outside of New York, it still serves as a good reminder about the importance role played by emergency guardians, which will be examined in this article.
The Role of an Emergency Guardian
Emergency guardians are a type of guardian that is created in the event an emergency occurs. In many situations, an emergency guardian is appointed to take care of someone who has become debilitated or incapacitated s a result of injury. Emergency guardians are temporary, however, while other types of guardianships are more permanent.
The Creation of Emergency Guardianships
Emergency guardianships are created with the approval of a court. Many times, a judge will issue an order appointing an emergency guardian for an individual. In addition to appointing the guardian, a court might also list the guardian's duties in taking care of the incapacitated individual.
A person is often able to create legal documents including advance directives and living wills in which another individual is appointed to case of emergency situations.
The Requirements of a Valid Emergency Guardianship
Laws in New York state that certain requirements must be met before a person can act as a guardian.
One of these requirements is that the person who is represented must be incapacitated by either disease, mental disability, or any other factor.
As a result, a person is not able to merely declare themselves an emergency guardian for a loved one. Instead, the person must be named as an emergency guardian in a court document or a court must appoint the individual.
The role of an emergency guardian includes responsibilities related to either a person ro the person's property. An emergency guardian is also sometimes appointed for both of these roles. Duties related to a person include issues associated with the person being represented's health or medical well being.
Tasks related to a person's property can include making rent payments for a person. Emergency guardianships are temporary in nature because it is assumed that the person being represented will at some time regain their ability to make legal decisions and the guardianship will end. At this time, the guardian will no longer able to act on behalf of the other individual.
Speak with an Experienced Accident Attorney
If you are interested in creating an emergency guardianship, it can be very helpful to speak with a knowledgeable attorney. Contact Ettinger Estate Planning today to schedule a free initial consultation.
Updated: May 8, 2019 7:22 pm


14" x 17.5" x 2" MERV 8 Air Filters - $11.16 Each!
14" x 17-1/2" x 2"
This is a non-standard size filter. The actual dimensions of the filter are 14" x 17.5" x 1.75". Please measure your existing filter before ordering to make sure it will be compatible.


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
    <type>org.netbeans.modules.web.project</type>
    <configuration>
        <data xmlns="http://www.netbeans.org/ns/web-project/3">
            <name>CONNECTGatewayDocumentSubmission10</name>
            <minimum-ant-version>1.6.5</minimum-ant-version>
            <web-module-libraries>
                <library>
                    <file>${reference.CONNECTCommonTypesLib.jar}</file>
                    <path-in-war>WEB-INF/lib</path-in-war>
                </library>
                <library>
                    <file>${reference.CONNECTCoreLib.jar}</file>
                    <path-in-war>WEB-INF/lib</path-in-war>
                </library>
                <library>
                    <file>${file.reference.commons-logging-1.1.1.jar}</file>
                    <path-in-war>WEB-INF/lib</path-in-war>
                </library>
                <library>
                    <file>${file.reference.log4j-1.2.15.jar}</file>
                    <path-in-war>WEB-INF/lib</path-in-war>
                </library>
            </web-module-libraries>
            <web-module-additional-libraries/>
            <source-roots>
                <root id="src.java.dir" name="Source Packages"/>
            </source-roots>
            <test-roots>
                <root id="test.src.dir"/>
            </test-roots>
        </data>
        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
            <reference>
                <foreign-project>CONNECTCommonTypesLib</foreign-project>
                <artifact-type>jar</artifact-type>
                <script>build.xml</script>
                <target>jar</target>
                <clean-target>clean</clean-target>
                <id>jar</id>
            </reference>
            <reference>
                <foreign-project>CONNECTCoreLib</foreign-project>
                <artifact-type>jar</artifact-type>
                <script>build.xml</script>
                <target>jar</target>
                <clean-target>clean</clean-target>
                <id>jar</id>
            </reference>
        </references>
    </configuration>
</project>


text:
Off-Island Gazette
West Island Gazette
Aislin and other editorial cartoons
Hockey Inside Out
All Hockey Inside Out
Boone's Live Blog
HI/O Show
Where To Watch The Habs
All Local Business
Montreal movies
Montreal theatre
History Through Our Eyes
Hockey Inside/Out
Brownstein: Take a human lesson from TV doc on animal aging process
'What is the point of prolonging our lives if we don't remain active? We could really learn from the animal kingdom.'
Bill Brownstein, Montreal Gazette
The Aging in the Wild documentary studies the aging patterns of baboons and elephants in Kenya's Amboseli National Park.	Matthew Hood / Aging in the Wild
A host of animal critters, from marmots to elephants to orcas, live relatively long lives and age gracefully — if predatory humans don't get in their way, that is. It's really not much of a mystery, either.
The key is that these animals not only remain active well into their senior years, but are also viewed as vital and are much respected by younger members of their species.
And there is definitely a message here for humanoids.
Montreal director/producer Ari Cohen has taken his cameras around the planet to study the aging process of the aforementioned species, among others, in their wildly diverging habitats in his fascinating, hour-long documentary Aging in the Wild, airing Sunday at 8 p.m. on CBC's The Nature of Things and available for streaming on CBC Gem from 5 p.m. on Friday.
"What we all have in common, humans and animals, is that we age, but it's how we do it that sets us apart," Cohen says. "Humans can learn much from animals about the importance of passing knowledge down to the next generations, about paying heed to their elders."
This is often in stark contrast to humans who don't show the same respect for seniors, who literally seek to put them out to pasture in the hope they simply fade away.
"We are so focused on youth and technology, which tends to separate us even more," Cohen notes. "Social media often takes us away from our families. But, really, it's our playful connections that make us live longer, healthier lives and cope with stress — which is a killer. There's so much to learn from looking at the patterns of animals and then looking at the patterns in us.
"In the wild, the older animals are not the weaker animals. They're the ones who lead the pack and who often don't show any signs of weakness. Essentially, there is no ageism in the wilds or the seas."
Cohen focuses on one orca, lovingly called Granny by researchers, who, prior to dying at perhaps 100, was a leader of her pod. Adds Cohen: "In her final years, she had a boyfriend who was just 18." Evidently, this practise doesn't only occur among cougars.
"The orca matriarchs are much valued in their world, and there is a consequence to losing these vital members, these holders of knowledge. They know where the food is. They know how to protect themselves. Unfortunately in our human society, we don't look at those values enough. We're so focused on the future, on turnover."
Similarly, a few 50-year-old male elephants in Kenya show the way to their juniors in everything from romping around in search of sustenance to romance. It seems that female elephants opt for experience over age.
Interestingly, however, what invariably brings senior elephants down is their teeth, and, no, it's not because they don't floss (as my dentist would likely suggest), but rather because they consume about 170 kilograms of food a day, much of it hard matter from trees, and just wear their molars out before succumbing to hunger.
Marmots make it into their senior years, thanks to a nurturing social environment in which their offspring play an active role in foraging and finding shelter. A good, long winter nap also helps.
And keeping the animals away from social media wouldn't hurt, either.
"Actually, in a sort of fashion, they all have their twitter feeds these days," Cohen muses. "They're all being studied so much in so many different projects. But they're not staying home and watching TV all day. They strive to be active and to be connected, which is something we should be striving for. We really should be looking at one another through their lens if we are to evolve."
Although Cohen has concentrated on wildlife lately, he has, over his 20 years in the field, also done documentaries on once-active seniors like fabled Montreal poet Irving Layton, legendary Canadian blues musician Jackie Washington and British-born actor John Neville prior to their deaths.
"These were people who managed to stay productive in their senior years by remaining so active," Cohen says. "Interestingly, many of the scientists studying the aging patterns of wildlife have been doing so well into their senior years, and they're passing their knowledge on to younger scientists.
"The point is that humans are living much longer, but what is the point of prolonging our lives if we don't remain active? We could really learn from the animal kingdom."
Aging in the Wild airs Sunday at 8 p.m. on CBC's The Nature of Things and is also available for streaming on CBC Gem from 5 p.m. on Friday.
bbrownstein@postmedia.com
Twitter.com/billbrownstein
Kramberger: West Island conference aims to empower seniors
Aging well: Montreal seniors are living longer — and better
Brownstein: Does the world really need another TV-streaming service? Some binge-TV cures for whatever is ailing you
By clicking "Submit", I consent to receiving the above communication from Postmedia Network Inc. I understand that I may unsubscribe from these communications at any time.
Allison Hanes: Montreal's Real Madrid fans are patient and persistent
Corbella: Rodeo animals love what they do and wouldn't exist otherwise
Coyne: There's no such thing as a 'ballot box' question, but parties still try to ...


An exceptionally attractive example of the date. INTERNATIONAL BUYERS MAY BE REQUIRED TO WIRE FUNDS. International customers, please review our INTERNATIONAL TERMS below.
And we do our best to provide fair and accurate grading. The 14-day period begins the day you receive your item. See additional details and terms below. WE HAVE (2) E-BAY STORES. PLEASE VISIT OUR OTHER E-BAY STORE, WHERE WE OFFER MANY INTERESTING ITEMS AND GROUP LOTS AT FIXED PRICES. I HOPE YOU WILL VISIT THE STORE (user id: estatecompanystore) AND TAKE A LOOK. YOU MAY USE THE LINK THAT IS PROVIDED JUST ABOVE THIS PARAGRAPH. The item "ITALY 1933-R YR. XI 50 LIRE UNCIRCULATED GOLD COIN, PCGS CERTIFIED MS63" is in sale since Wednesday, August 17, 2016. This item is in the category "Coins & Paper Money\Coins\ World\Europe\Italy, San Marino, Vatican\Italy (1861-Now)". The seller is "estatecompany" and is located in Palm Springs, California. This item can be shipped to United States.


Welcome to La Trobe Co. Ltd, the official distributor of renowned quality brands in Mauritius. Browse through our website and discover our values and the exciting range of products we offer.
La Trobe has launched its own line of UHT milk and 100% Fruit Juice – Snowy UHT and Nature's Juice.
La Trobe on Social Media!


text:
Q: Using pandas in python to pull a specific string from a column I have a CSV file which contains the columns as follows:
"Date","Time","TimeZone","Name","Type","Status","Currency","Gross","Fee","Net","From Email Address","To Email Address","Transaction ID","Shipping Address","Address Status","Item Title","Item ID","Shipping and Handling Amount","Insurance Amount","Sales Tax","Option 1 Name","Option 1 Value","Option 2 Name","Option 2 Value","Reference Txn ID","Invoice Number","Custom Number","Quantity","Receipt ID","Balance","Address Line 1","Address Line 2/District/Neighborhood","Town/City","State/Province/Region/County/Territory/Prefecture/Republic","Zip/Postal Code","Country","Contact Phone Number","Subject","Note","Country Code","Balance Impact"
I am trying to just grab the rows of data that contain the string Chain × Jewelry × Necklace in the Item Title column.
The name under each item title is different. For example. One might be Chain × Jewelry × Necklace Popcorn Necklace others are BLANK VALUES but I just want all of them that contain Chain × Jewelry × Necklace
How can I use pandas to pull these specific rows containing this string? I am having trouble. Any help is greatly appreciated thank you.

A: Try this:
df = pd.read_csv('path/to/your/file.csv')
df = df[df['Item Title'].fillna('').str.contains('Chain × Jewelry × Necklace') & df['Name'].fillna('').str.len().gt(0)]

A: You can use regex:
df[df["Item Title"].str.contains(r"^(?=.*\bChain\b)(?=.*\bJewelry\b)(?=.*\bNecklace\b).+", regex=True)]


We recommend linking your Facebook account to save your profile and progress. Guest accounts are deleted after the session is over and progress cannot be saved.
If there is space available at the table, you and your friends can play at the same table. There is no wait to save your seat but you'll need to unlock our premium features.