text:
Local & Central Government
Emergency & Healthcare Services
Visitor Experience and Tourism
Retail & Property Development
Utrecht, NetherlandsDavid_jQVjVv2023-01-10T13:50:14+00:00
Funded by the city of Utrecht, RAUM is an arts and design programme which deployed Hello Lamp Post to engage with citizens about the future of their local area, through art and design installations. The deployment included a visualisation period, where the data gathered was shared publicly with the community for free. By giving the data back to the public, we empowered Utrecht citizens, policymakers, planners, designers and officials to use the data for the benefit of the people who provided it.
Gather citizen perceptions about Utrecht's ownership and what improvements could be made to local areas
Find out how citizens feel they can help to shape the city
Hello Lamp Post investigated what kinds of spaces, places, functions and programs citizens and artists would like to see around their future city
To find out more about the role of citizens, in shaping the future of Utrecht
Insights have been used by policymakers and urban planners to make improvements to areas in Utrecht
The majority of participants were optimistic about the urban development of Utrecht and were pleased to be consulted about future plans
Users felt like they held a strong connection to the city
Some people were concerned about commercial developments, particularly around central station and the success of the Leidsche Rijn area, and the future of social cohesion and the community
There were some citizens who were apathetic towards the changes, with a lack of engagement on any of the issues highlighted
"To imagine a future where there is no way to communicate with objects is, for me, now harder to imagine" – Daniëlle Arets, Curator – RAUM
City of Scottsdale
North Lanarkshire Council
In Colchester
Menter Mon
Drop us a message about what you're working on and one of our team will be in touch asap. Or, send us an email: contact@hlp.city
Full Name**
Legal | Privacy Policy | FAQ
© Hello Lamp Post


The firm serves as counsel to the official committee of unsecured creditors appointed in the Reddy Ice Corporation chapter 11 case pending in Dallas, Texas. Reddy Ice is the largest manufacturer and distributor of packaged ice in the US, with reported assets of $434 million of and $530 million of liabilities, approximately 1,500 employees, and operations in 34 states and the District of Columbia. 2013 M&A Advisor Turnarounds Awards: winner, consumer and retail products over $250m; finalist, restructuring deal of the year over $500m; finalist, retail manufacturing/distribution.


text:
Q: What do you mean by Memoryless property of Exponential distribution? I know memorylessness defines "the next state depends only on the current state and not on the sequence of events that preceded it". However, if some one could explain me how exponential distribution has this property.

A: THe Exponential distribution is called memoryless because the conditional distribution is the same as the unconditional distribution.
Consider the following example: The cdf of X is denoted by $f(x, \lambda) = \lambda e^{-\lambda x} & x \ge 0 $  ( I have not figured out how to write LaTex in Stackexchange, I think I wrote LaTex in Math Stackexchange in the same way I did here but it displays differently - maybe you can kindly edit it?)  You want to know the probability that an event happens after time t. The integral from t to infinity is: $ P(X > t) = e^(-\lambda t) $. Now, the conditional probability of the event happening after time t, given that it did not happen unit time k is again: $ P(Y > t | X > k)  =  e^(-\lambda t) $. Hence, the distribution is called memoryless.

A: Via http://www.statlect.com/ucdexp1.htm, a simple explanation with the exponential distribution framed as time to event (X):

X is the time we need to wait before a certain event occurs. The Memoryless property says that the probability that the event happens during a time interval of length  y is independent of how much time has already elapsed x without the event happening.

redpajama_set_name: RedPajamaStackExchange


text:
class LayersController < ApplicationController

layout 'layerdetail', :only => [:show,  :export, :metadata]
before_filter :login_or_oauth_required , :except => [:wms, :wms2, :show_kml, :show, :index, :metadata, :maps, :thumb, :geosearch, :tile]
before_filter :check_administrator_role, :only => [:publish, :toggle_visibility, :merge, :remove_map, :update_year, :update, :destroy, :create]
before_filter :find_layer, :only => [:show, :export, :metadata, :digitize, :toggle_visibility, :update_year, :publish, :remove_map, :merge, :maps, :thumb, :comments]

rescue_from ActiveRecord::RecordNotFound, :with => :bad_record
helper :sort
include SortHelper

 def comments
    @html_title = "comments"
    @selected_tab = 4
    @current_tab = "comments"
    @comments = @layer.comments
    choose_layout_if_ajax
    respond_to do | format |
      format.html {}
    end
  end

def thumb
  m_nypl_id =  @layer.maps.first ? @layer.maps.first.nypl_digital_id : 0
  thumb = "http://images.nypl.org/?t=t&id=#{m_nypl_id}"
  redirect_to thumb
end

require 'yahoo-geoplanet'
def geosearch
  sort_init 'updated_at'
  sort_update

  extents = [-74.1710,40.5883,-73.4809,40.8485] #NYC

  #TODO change to straight javascript call.
  if params[:place] && !params[:place].blank?
    place_query = params[:place]
    Yahoo::GeoPlanet.app_id = Yahoo_app_id
    geoplanet_result = Yahoo::GeoPlanet::Place.search(place_query, :count => 2)
    if geoplanet_result[0]
      g_bbox =  geoplanet_result[0].bounding_box.map!{|x| x.reverse}
      extents = g_bbox[1] + g_bbox[0]
      render :json => extents.to_json
      return
    else
      render :json => extents.to_json
      return
    end
  end

  if params[:bbox] && params[:bbox].split(',').size == 4
    begin
      extents = params[:bbox].split(',').collect {|i| Float(i)}
    rescue ArgumentError
      logger.debug "arg error with bbox, setting extent to defaults"
    end
  end
  @bbox = extents.join(',')
  if extents
    bbox_poly_ary = [
      [ extents[0], extents[1] ],
      [ extents[2], extents[1] ],
      [ extents[2], extents[3] ],
      [ extents[0], extents[3] ],
      [ extents[0], extents[1] ]
    ]

    bbox_polygon = Polygon.from_coordinates([bbox_poly_ary]).as_ewkt
    if params[:operation] == "within"
      conditions = ["ST_Within(bbox_geom, ST_GeomFromText('#{bbox_polygon}'))"]
    else
      conditions = ["ST_Intersects(bbox_geom, ST_GeomFromText('#{bbox_polygon}'))"]
    end

  else
    conditions = nil
  end

  if params[:sort_order] && params[:sort_order] == "desc"
    sort_nulls = " NULLS LAST"
  else
    sort_nulls = " NULLS FIRST"
  end
  @operation = params[:operation]

  if @operation == "intersect"
    sort_geo = "ABS(ST_Area(bbox_geom) - ST_Area(ST_GeomFromText('#{bbox_polygon}'))) ASC,  "
  else
    sort_geo ="ST_Area(bbox_geom) DESC ,"
  end

  paginate_params = {
    :select => "bbox, name, updated_at, id, mapscans_count, rectified_mapscans_count, depicts_year",
    :page => params[:page],
    :per_page => 20,
    :order => sort_geo + sort_clause + sort_nulls,
    :conditions => conditions
  }
  @layers = Layer.visible.with_maps.paginate(paginate_params)
  @jsonlayers = @layers.to_json
  respond_to do |format|
    format.html{ render :layout =>'application' }
    format.json { render :json => {:stat => "ok",
      :current_page => @layers.current_page,
      :per_page => @layers.per_page,
      :total_entries => @layers.total_entries,
      :total_pages => @layers.total_pages,
      :items => @layers.to_a}.to_json , :callback => params[:callback]}
  end
end

def index
  sort_init 'created_at'
  session[@sort_name] = nil  #remove the session sort as we have percent
  sort_update
  @query = params[:query]
  @field = %w(name description catnyp uuid).detect{|f| f== (params[:field])}
  @field = "name" if @field.nil?
  if @query && @query != "null" #null will be set by pagless js if theres no query
    conditions =   ["#{@field}  ~* ?", '(:punct:|^|)'+@query+'([^A-z]|$)']
  else
    conditions = nil
  end
  if params[:sort_key] == "percent"
    select = "*, round(rectified_mapscans_count::float / mapscans_count::float * 100) as percent"
    conditions.nil? ? conditions = ["mapscans_count > 0"] : conditions.add_condition('mapscans_count > 0')
  else
    select = nil
  end

  if params[:sort_order] && params[:sort_order] == "desc"
    sort_nulls = " NULLS LAST"
  else
    sort_nulls = " NULLS FIRST"
  end

    @per_page = params[:per_page] || 20
  paginate_params = {
    :page => params[:page],
    :per_page => @per_page,
    :select => select,
    :order => sort_clause + sort_nulls,
    :conditions => conditions
  }

  map = params[:map_id]
  if !map.nil?
    @map = Map.find(map)
    @layers = @map.layers.paginate(paginate_params)
    @html_title = "Layer List for Map #{@map.id}"
    @page = "for_map"
  else
    @layers = Layer.paginate(paginate_params)
    @html_title = "Browse Layer List"
  end

  if request.xhr?
    # for pageless :
    # #render :partial => 'layer', :collection => @layers
    render :action => 'index.rjs'
  else
    respond_to do |format|
      format.html {render :layout => "application"}

        format.xml { render :xml => @layers.to_xml(:root => "layers", :except => [:uuid, :parent_uuid, :description]) {|xml|
          xml.tag!'total-entries', @layers.total_entries
          xml.tag!'per-page', @layers.per_page
          xml.tag!'current-page',@layers.current_page}
        }
        format.json {render :json => {:stat => "ok", :items => @layers.to_a}.to_json(:except => [:uuid, :parent_uuid, :description]), :callback => params[:callback] }
    end
  end
end

#method returns json or xml representation of a layers maps
def maps
  paginate_params = {
    :page => params[:page],
    :per_page => 50,
    :order => :map_type
  }

  show_warped = params[:show_warped]
  unless show_warped == "0"
    lmaps = @layer.maps.warped.paginate(paginate_params)
  else
    lmaps = @layer.maps.paginate(paginate_params)
  end
  respond_to do |format|
    #format.json {render :json =>lmaps.to_json(:stat => "ok",:except => [:content_type, :size, :bbox_geom, :uuid, :parent_uuid, :filename, :parent_id,  :map, :thumbnail])}
    format.json {render :json =>{:stat => "ok",
      :current_page => lmaps.current_page,
      :per_page => lmaps.per_page,
      :total_entries => lmaps.total_entries,
      :total_pages => lmaps.total_pages,
      :items => lmaps.to_a}.to_json(:except => [:content_type, :size, :bbox_geom, :uuid, :parent_uuid, :filename, :parent_id,  :map, :thumbnail]), :callback => params[:callback] }

    format.xml {render :xml => lmaps.to_xml(:root => "maps",:except => [:content_type, :size, :bbox_geom, :uuid, :parent_uuid, :filename, :parent_id,  :map, :thumbnail])  {|xml|
      xml.tag!'total-entries', lmaps.total_entries
      xml.tag!'per-page', lmaps.per_page
      xml.tag!'current-page',lmaps.current_page} }
  end
end

def show
  @current_tab = "show"
  @selected_tab = 0
  #@disabled_tabs = ["digitize","metadata"]
  unless @layer.rectified_maps_count > 0 #i.e. if the layer has no maps, then dont let people digitizer or export
    @disabled_tabs = ["digitize","export"]
  end

  @maps = @layer.maps.paginate(:page => params[:page], :per_page => 30, :order => :map_type)
  @html_title = "Layer "+ @layer.id.to_s + ". " + @layer.name.to_s

  if request.xhr?
    unless params[:page]
      @xhr_flag = "xhr"
      render :action => "show", :layout => "layer_tab_container"
    else
      render :action =>  "show_maps.rjs"
    end
  else
    respond_to do |format|
      format.html {render :layout => "layerdetail"}# show.html.erb
      #format.json {render :json => @layer.to_json(:except => [:uuid, :parent_uuid, :description])}
      format.json {render :json => {:stat => "ok", :items => @layer.to_a}.to_json(:except => [:uuid, :parent_uuid, :description]), :callback => params[:callback] }
      format.xml {render :xml => @layer.to_xml(:except => [:uuid, :parent_uuid, :description])}
      format.kml {render :action => "show_kml", :layout => false}
    end
  end
end

def export
  @current_tab = "export"
  @selected_tab = 2

  @html_title = "Export Layer "+ @layer.id.to_s
   if request.xhr?
    @xhr_flag = "xhr"
    render :layout => "layer_tab_container"
  else
    respond_to do |format|
      format.html {render :layout => "layerdetail"}
    end
  end
end

def metadata
  @current_tab = "metadata"
  @selected_tab = 3

  @layer_properties = @layer.layer_properties

  choose_layout_if_ajax
end

def digitize
  @current_tab = "digitize"
  @selected_tab = 1
  @html_title = "Digitizing Layer "+ @layer.id.to_s

  if request.xhr?
    @xhr_flag = "xhr"
    render :action => "digitize", :layout => "tab_container"
  else
    if @layer.rectified_maps_count > 0
      respond_to do |format|
        format.html {render :layout => "layerdetail"}
      end
    else
      redirect_to :action => 'show'
    end
  end

end

#ajax method
def toggle_visibility
  @layer.is_visible = !@layer.is_visible
  @layer.save
  @layer.update_layer
  if @layer.is_visible
    update_text = "(Visible)"
  else
    update_text = "(Not Visible)"
  end
  render :text => update_text
end

def update_year
  @layer.update_attributes(params[:layer])
  spawn do
    @layer.update_digitizer_features
  end
  render :text => "Depicts : " + @layer.depicts_year.to_s
end

#merge this layer with another one
#moves all child object to new parent
def merge
  if request.get?
  #just show form
    render :layout => 'application'
  elsif request.put?
    @dest_layer = Layer.find(params[:dest_id])
    #TODO uncomment following line to enable this
    #@layer.merge(@dest_layer.id)
    render :text  => "Layer has been merged into new layer - all maps copied across! (functionality disabled at the moment)"
  end
end

def remove_map
  @map = Map.find(params[:map_id])
  if request.get?
     #shows the form
    render :layout => 'application'
  elsif request.put?
    #TODO uncomment following line to enable this
    #@layer.remove_map(@map.id)
    render :text =>  "Map has been removed from this layer (functionality disabled at the moment) "
  end
end

def publish
  if @layer.rectified_percent < 100
    render :text => "Layer has less than 100% of its maps rectified"
    #redirect_to :action => 'index'
  else
    @layer.publish
    render :text => "Layer will be published (this functionality is disabled at the moment)"
  end
end

   require 'mapscript'
   include Mapscript
   def wms()

      @layer = Layer.find(params[:id])
      ows = OWSRequest.new

      ok_params = Hash.new
      # params.each {|k,v| k.upcase! } frozen string error

      params.each {|k,v| ok_params[k.upcase] = v }

      [:request, :version, :transparency, :service, :srs, :width, :height, :bbox, :format, :srs].each do |key|

         ows.setParameter(key.to_s, ok_params[key.to_s.upcase]) unless ok_params[key.to_s.upcase].nil?
      end

      ows.setParameter("VeRsIoN","1.1.1")
      ows.setParameter("STYLES", "")
      ows.setParameter("LAYERS", "image")
      #ows.setParameter("COVERAGE", "image")

      map = MapObj.new(File.join(RAILS_ROOT, '/db/mapfiles/wms.map'))
      projfile = File.join(RAILS_ROOT, '/lib/proj')
      map.setConfigOption("PROJ_LIB", projfile)
      #map.setProjection("init=epsg:900913")
      map.applyConfigOptions

      # logger.info map.getProjection
      map.setMetaData("wms_onlineresource",
      "http://" + request.host_with_port + ActionController::Base.relative_url_root + "/layers/wms/#{@layer.id}")

      raster = LayerObj.new(map)
      raster.name = "image"
      raster.type =  MS_LAYER_RASTER
      raster.tileindex = @layer.tileindex_path
      raster.tileitem = "Location"

      raster.status = MS_ON
      #raster.setProjection( "+init=" + str(epsg).lower() )
      raster.dump = MS_TRUE

      #raster.setProjection('init=epsg:4326')
      raster.metadata.set('wcs_formats', 'GEOTIFF')
      raster.metadata.set('wms_title', @layer.name)
      raster.metadata.set('wms_srs', 'EPSG:4326 EPSG:4269 EPSG:900913')
      raster.debug= MS_TRUE

      msIO_installStdoutToBuffer
      result = map.OWSDispatch(ows)
      content_type = msIO_stripStdoutBufferContentType || "text/plain"
      result_data = msIO_getStdoutBufferBytes

      send_data result_data, :type => content_type, :disposition => "inline"
      msIO_resetHandlers
   end

   #TODO merge wms and wm2 into one...or use tilecache for serving layers
   #this action lists all visible layers that have maps in them, and thus should
   #have a tileindex and something to view.
   def wms2

     @layer_name = params[:LAYERS]

     ows = OWSRequest.new

      ok_params = Hash.new
      # params.each {|k,v| k.upcase! } frozen string error

      params.each {|k,v| ok_params[k.upcase] = v }

      [:request, :version, :transparency, :service, :srs, :width, :height, :bbox, :format, :srs, :layers].each do |key|

         ows.setParameter(key.to_s, ok_params[key.to_s.upcase]) unless ok_params[key.to_s.upcase].nil?
      end

      ows.setParameter("STYLES", "")
      #ows.setParameter("LAYERS", "image")

      map = MapObj.new(File.join(RAILS_ROOT, '/db/mapfiles/wms.map'))
      projfile = File.join(RAILS_ROOT, '/lib/proj')
      map.setConfigOption("PROJ_LIB", projfile)
      #map.setProjection("init=epsg:900913")
      map.applyConfigOptions

      # logger.info map.getProjection
      map.setMetaData("wms_onlineresource",
      "http://" + request.host_with_port + ActionController::Base.relative_url_root + "/layers/wms2")
      unless @layer_name

        Layer.visible.each do |layer|
          if layer.rectified_maps_count > 0
            raster = LayerObj.new(map)
            #raster.name = "layer_"+layer.id.to_s
            raster.name = "layer_"+layer.id.to_s
            raster.type =  MS_LAYER_RASTER
            raster.tileindex = layer.tileindex_path
            raster.tileitem = "Location"

            raster.status = MS_ON
            raster.dump = MS_TRUE

            raster.metadata.set('wcs_formats', 'GEOTIFF')
           # raster.metadata.set('wms_title', "layer "+layer.id.to_s)
            raster.metadata.set('wms_title', layer.id.to_s + ": "+snippet(layer.name, 15))

            raster.metadata.set('wms_abstract', layer.rectified_maps_count.to_s + "maps. "+
                               layer.rectified_percent.to_i.to_s + "% Complete"+
                               "[Depicts:"+layer.depicts_year.to_s+"]")

            raster.metadata.set('wms_keywordlist', 'depictsYear:'+layer.depicts_year.to_s +
                  ',totalMaps:' + layer.maps.count.to_s +
                  ',numberWarpedMaps:'+ layer.rectified_maps_count.to_s +
                  ',percentComplete:'+ layer.rectified_percent.to_i.to_s +
                  ',lastUpdated:' + layer.updated_at.to_s )
            raster.metadata.set('wms_srs', 'EPSG:4326 EPSG:4269 EPSG:900913')
            raster.debug= MS_TRUE
          end
        end

      else
      single_layer = Layer.find(@layer_name.to_s.delete("layer_"))
      raster = LayerObj.new(map)
      raster.name = "layer_"+single_layer.id.to_s
      raster.type =  MS_LAYER_RASTER
      raster.tileindex = single_layer.tileindex_path
      raster.tileitem = "Location"

      raster.status = MS_ON
      raster.dump = MS_TRUE

      raster.metadata.set('wcs_formats', 'GEOTIFF')
      raster.metadata.set('wms_title', single_layer.name)
      raster.metadata.set('wms_srs', 'EPSG:4326 EPSG:4269 EPSG:900913')
      raster.metadata.set('wms_keywordlist', 'depictsYear:'+layer.depicts_year.to_s +
            ',totalMaps:' + layer.maps.count.to_s +
            ',warpedMaps:'+ layer.rectified_maps_count.to_s +
            ',percentComplete:'+ layer.rectified_percent.to_i.to_s +
            ',lastUpdated:' + layer.updated_at.to_s )

      raster.debug= MS_TRUE
      end

      msIO_installStdoutToBuffer
      result = map.OWSDispatch(ows)
      content_type = msIO_stripStdoutBufferContentType || "text/plain"
      result_data = msIO_getStdoutBufferBytes

      send_data result_data, :type => content_type, :disposition => "inline"
      msIO_resetHandlers
   end

  def tile
     x = params[:x].to_i
     y = params[:y].to_i
     z = params[:z].to_i
     #for Google/OSM tile scheme we need to alter the y:
     y = ((2**z)-y-1)
     #calculate the bbox
     params[:bbox] = get_tile_bbox(x,y,z)
     #build up the other params
     params[:status] = "warped"
     params[:format] = "image/png"
     params[:service] = "WMS"
     params[:version] = "1.1.1"
     params[:request] = "GetMap"
     params[:srs] = "EPSG:900913"
     params[:width] = "256"
     params[:height] = "256"
     #call the wms thing
     wms

   end

private
#
# tile utility methods. calculates the bounding box for a given TMS tile.
# Based on http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
# GDAL2Tiles, Google Summer of Code 2007 & 2008
# by  Klokan Petr Pridal
#
def get_tile_bbox(x,y,z)
  min_x, min_y = get_merc_coords(x * 256, y * 256, z)
  max_x, max_y = get_merc_coords( (x + 1) * 256, (y + 1) * 256, z )
  return "#{min_x},#{min_y},#{max_x},#{max_y}"
end

def get_merc_coords(x,y,z)
  resolution = (2 * Math::PI * 6378137 / 256) / (2 ** z)
  merc_x = (x * resolution -2 * Math::PI  * 6378137 / 2.0)
  merc_y = (y * resolution - 2 * Math::PI  * 6378137 / 2.0)
  return merc_x, merc_y
end

#little helper method
def snippet(thought, wordcount)
  thought.split[0..(wordcount-1)].join(" ") +(thought.split.size > wordcount ? "..." : "")
end

def find_layer
  @layer = Layer.find(params[:id])
end

 def choose_layout_if_ajax
    if request.xhr?
      @xhr_flag = "xhr"
      render :layout => "layer_tab_container"
    end
 end

 def bad_record
   #logger.error("not found #{params[:id]}")
   respond_to do | format |
     format.html do
     flash[:notice] = "Layer not found"
     redirect_to :action => :index
     end
   format.json {render :json => {:stat => "not found", :items =>[]}.to_json, :status => 404}
   end
 end

 def store_location
   case request.parameters[:action]
   when "digitize"
     anchor = "Digitize_tab"
   when "metadata"
     anchor = "Metadata_tab"
   when "export"
     anchor = "Export_tab"
   else
     anchor = ""
   end
   if request.parameters[:action] &&  request.parameters[:id]
     session[:return_to] = layer_path(:id => request.parameters[:id], :anchor => anchor)
   else
     session[:return_to] = request.request_uri
   end
 end
end

redpajama_set_name: RedPajamaGithub


text:
Q: Unique identifier for phonegap on iOs I need to identify user in phonegap application.
In documentation I found device.uuid (http://docs.phonegap.com/en/2.0.0/cordova_device_device.md.html#device.uuid), but it works only on Android. On iOs it's deprecated: https://developer.apple.com/news/index.php?id=3212013a#top.
I saw some solutions in native iOs code, that gets MAC address of device, but I need phonegap solution.
Thanks!

A: Now device.uuid returns the identifierForVendor on iOS, so my plugin is not needed anymore.
Old Answer:
You can still use the device.uuid, but it isn't a real UUID
from phonegap doc

iOS Quirk
The uuid on iOS is not unique to a device, but varies for each
  application, for each installation. It changes if you delete and
  re-install the app, and possibly also when you upgrade iOS, or even
  upgrade your app per version (apparent in iOS 5.1). The uuid is not a
  reliable value.

I have a MAC address phonegap plugin, but I've heard you can't get the MAC address on iOS 7
My plugin no longer works, it's not possible to get the MAC address on iOS 7
EDIT:
BTW, I created an Identifier For Vendor Plugin
https://github.com/jcesarmobile/IDFVPlugin
With this plugin you can get the iOS identifier for vendor


text:
Tag Archive: YouthSpark
Microsoft's YouthSpark commits to help 300 million youth worldwide
Posted on September 25, 2012 by Grant Montgomery
Late last week, Microsoft announced the launch of YouthSpark, a new worldwide program that seeks to close the "opportunity gap" that is disenfranchising young people across the world. The program is an important first step in solving the rampant unemployment issues that have left young people jaded and discouraged in both the developed and developing world.
The lack of job opportunities are one reason the Arab Spring has flared up across the Middle East. Meanwhile, the dearth of job skills stifles business growth in Latin American nations. And the lack of jobs for high school and college grads in the U.S. has been one of the worst outcomes of the recent global financial crises.
To that end, Steve Ballmer, Microsoft's CEO, announced the company's most ambitious philanthropy initiative in its 37 years of existence. At a cost of $500 million spread over the next three years, the program's goal is to provide training, employment and entrepreneurship opportunities to as many 300 million youths in 100 nations. Children as young as six up to young adults in the mid-twenties, according to the company, will benefit from Microsoft's partnership with over hundreds of NGOs and non-profits across the globe.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Subsets of data frame I have a data frame with entries in R, and want to create all possible unique subsets from this data frame, when each subset should include a unique possible pairwise combination of two columns from the pool of columns in the original data frame. This means that if the number of columns in the original data frame is Y, the number of unique subsets I should get is Y*(Y-1)/2. I also want that the name of the columns in each subset would be the name that was used in the original data frame. How do I do it?

A: colpairs <- function(d) {
  apply(combn(ncol(d),2), 2, function(x) d[,x])
}

x <- colpairs(iris)
sapply(x, head, n=2)

## [[1]]
##   Sepal.Length Sepal.Width
## 1          5.1         3.5
## 2          4.9         3.0
##
## [[2]]
##   Sepal.Length Petal.Length
## 1          5.1          1.4
## 2          4.9          1.4
...

A: I'd use combn to make the indices of your columns, and lapply to take subsets of your data.frame and store them in a list structure. e.g.
#  Example data
set.seed(1)
df <- data.frame( a = sample(2,4,repl=T) ,
            b = runif(4) ,
            c = sample(letters ,4 ),
            d = sample( LETTERS , 4 ) )

# Use combn to get indices
ind <- combn( x = 1:ncol(df) , m = 2  , simplify = FALSE )

#  ind is the column indices. The indices returned by the example above are (pairs in columns):
#[,1] [,2] [,3] [,4] [,5] [,6]
#[1,]    1    1    1    2    2    3
#[2,]    2    3    4    3    4    4

#  Make subsets, combine in list
out <- lapply( ind , function(x) df[,x] )
[[1]]
#  a         b
#1 1 0.2016819
#2 1 0.8983897
#3 2 0.9446753
#4 2 0.6607978

[[2]]
#  a c
#1 1 q
#2 1 b
#3 2 e
#4 2 x

[[3]]
#  a d
#1 1 R
#2 1 J
#3 2 S
#4 2 L

[[4]]
#          b c
#1 0.2016819 q
#2 0.8983897 b
#3 0.9446753 e
#4 0.6607978 x

[[5]]
#          b d
#1 0.2016819 R
#2 0.8983897 J
#3 0.9446753 S
#4 0.6607978 L

[[6]]
#  c d
#1 q R
#2 b J
#3 e S
#4 x L


Need some new threads, get 25% off select Overwatch gear straight from Blizzard with this Razer promotion. Only available until October 10th!
Don't miss out on the opportunity to expand your @PlayOverwatch collection – Use promo code RAZERGEAR25 at check out and receive 25% off.


Weird issue, i have a huawei wireless charging pad. Works if connected by USB C to an apple adapter but does not work if connected by USB C to a samsung adapter. Can someone enlighten me? FYI, the Apple adapter is the small 5W charger while the samsung is a up to 15W fast charger.
Anyone with OnePlus 6T and Note 9?


text:
Don Rinaldi
Donnie was born on September 27, 1930 in Kellogg, Idaho to Mayo and Ann (Deluca) Rinaldi. He grew up in Kellogg graduating from Kellogg High School in 1948. During his high school career, Don was a 3 sport letterman in Football, Basketball and Track.
Upon high school graduation, Don attended North Idaho College of Education for 3 years. In college, Donnie was a member of the basketball team that played in the 1950 NAIB Regional Basketball tournament. On September 22, 1951, Donnie married Rose Mary Visintainer in Wallace, Idaho.
In 1954 Don joined the US Army and ended his time with the Army as a Gunnery Sergeant stationed at Hanford Nuclear Site. Donnie was honorably discharged in 1956 and returned to Kellogg where he and Rose settled to raise their family.
Donnie began refereeing high school football and basketball in 1952. Once he returned to refereeing after his stint with Uncle Sam, he realized he liked watching football too much to be an effective official. He stopped officiating football and focused on basketball at both high school and collegiate levels.
Donnie continued to referee through the 1976-1977 season. He worked 19 straight State Tournaments from A-1 through A-4. Donnie also refereed basketball games for North Idaho College and the Big Sky conference along with freshman games for the PAC-10. He was the commissioner of the North Idaho Officials for 3 years from 1974-1077. As commissioner he assigned officials for district sports programs.
Upon retirement from officiating, Donnie became a member of the Idaho High School Activities Association District 1 Board of Control from 1975 to 1977. In 1989 Donnie retired from Hoffman Mechanical Company where he had been employed as a Mechanical Superintendent for construction of fresh water and waste water treatment facilities throughout the northwest US & Alaska.
Upon retirement Don and Rose moved up the Coeur d'Alene River to their beloved home on Whitetail Loop near Prichard, Idaho.
Don and Rose are the proud parents of 5 children. They have 12 grandchildren and 2 great-grandchildren.


Reds right-hander Matt Harvey Eddie Murray Jersey , Milwaukee Brewers general manager David Stearns is still confident in his team's starting pitchers as the Brewers try to lock down their first playoff berth since 2011."This is a group that has pitched competitively throughout the vast majority of the season and we think they will continue to do so," said Stearns, who wouldn't directly confirm the many reports saying Milwaukee had claimed Harvey off waivers.Milwaukee's starters got off to a rough start this month, posting a 5.58 ERA through the first 15 games of August. They've turned it around of late, recording quality starts in four of the last five games — a streak that could reach five of six if right-hander Jhoulys Chacin stays true to his recent form Saturday when he starts game two of the Brewers' three-game set with the Pirates at Miller Park.Article continues below ...Chacin (13-4, 3.58 ERA) has been one of the Brewers' more reliable players this season, as well as one of the better pitchers in the National League — especially over the last month. Since getting knocked around early in a 21-5 rout at Los Angeles to open August, he is 3-0 with a 1.42 ERA over his last three starts, holding opposing batters to a .191 batting average. He has also cleared at least six innings in each of those three outings. The Brewers would benefit greatly from another deep outing by Chacin Saturday after playing 15 innings Friday night but also because their bullpen has yet to fully recover from a rash of injuries during the second half and the season-long struggles of Corey Knebel. An All-Star a year ago, Knebel has been unable to command his stuff consistently this season, especially his curveball, resulting in a 5.09 ERA. Brewers manager Craig Counsell tried serval options to get him back on track before finally moving him to lower-leverage situations. When that didn't work, the Brewers made a more drastic move, optioning Knebel to Triple-A Colorado Springs where he could work in a lower-pressure environment."He wants to pitch better, so we're trying to figure out a way to help him pitch better Kevin Gausman Jersey ," Counsell said. "This is the track he'll be on."Joakim Soria could see some of the ninth-inning work while Knebel gets straightened out. He threw a scoreless eighth inning Friday after coming off the disabled list and had 16 saves this season for the White Sox before he was acquired by the Brewers ahead of the deadline."He didn't miss a lot of time with the injury, so we feel like we can put him right back into some bigger spots for us," Counsell said.The Pirates will need some bullpen help, too, Saturday. Manager Clint Hurdle's relief corps covered 11 innings, with closer Felipe Vasquez tossing two scoreless frames and Stephen Brault adding four more before Clay Holmes gave up three runs in the 15th.Hurdle was already working somewhat shorthanded because Kyle Crick was unavailable."Crick's back flared up on him the last game he pitched at home," Hurdle said. "We talked to him earlier in the day and he felt it so we wanted to stay away from him."Like Chacin, Pittsburgh's Saturday starter, Jameson Tallion, has been working deep into games lately, getting through at least six innings in seven of his last eight starts.Taillon (9-9, 3.58 ERA) has faced Milwaukee three times this season, allowing five earned runs while striking out 18 over 16 innings and going 1-1 with a 2.81 ERA in those three games. Taillon is 2-4 with a 3.42 ERA in nine career starts against the Brewers.Chacin is 2-4 with a 4.03 ERA in nine career starts against the Pirates, and he is 0-1 with a 1.53 ERA in three starts against them this season. ATLANTA (AP) — Ronald Acuna Jr. is good for baseball.Jose Urena and his defenders are not.Jose, take the rest of the season off.And while you're at it http://www.oriolesfanproshop.com/authentic-jonathan-schoop-jersey , take Keith Hernandez with you.In a nod to the bad ol' days when it was apparently acceptable to plunk a guy who was playing too well, Urena unleashed a 97 mph fastball to Acuna's left forearm with his very first pitch of Wednesday night's game in Atlanta .Fortunately, it appears Acuna escaped serious injury. The Braves said X-rays on his elbow were negative and results of further tests would be announced on Thursday.Nevertheless, Major League Baseball should act swiftly to show that this sort of barbarism will not be tolerated in the national pastime.Urena deserves to be suspended for the rest of the season.Nothing less.Urena apparently thought it was perfectly acceptable to assault — hey, let's call it what it was — one of the game's shining young stars, a 20-year-old who plays the game with pure joy and great skill for the first-place Braves.Acuna's crime? Going deep four times in the previous three games against the woeful Miami Marlins (and homering in five straight games overall), a remarkable run that included one of baseball's rarest feats — a pair of leadoff homers in Monday's doubleheader sweep by Atlanta.Acuna started Tuesday's game with his third straight leadoff homer.Urena made sure the streak didn't reach four before the Marlins left town."This young man is just playing the game, doing what he loves to do," said Brian Snitker, the Braves' manager. "It's a damn shame."Urena was ejected. So was Snitker for leading his team onto the field to confront the Miami pitcher.After the game, won by the Braves 5-2 to complete a four-game sweep, the manager was still fuming."It's beyond … I don't know," Snitker said, struggling to find words in the non-profanity category. "I've had three hours to calm down and all of a sudden I'm not real good right now."Snitker's counterpart, Miami manager Don Mattingly Zach Britton Jersey , hardly came to his pitcher's defense ."This kid's swinging the bat good. We've got to figure out how to get him out," Mattingly said. "That's what we said to Jose. I don't want to see this kid get hit. He's a great player. He's going to be great for a long time. He's beat us up. But this is not the way we want to handle that situation."He wasn't the least bit surprised that Snitker and his players came storming out of the dugout."I understand," Mattingly said. "If we were on the other side and our guy was hitting homers all over the place and that happens, you're going to be fired up."Laughably, and with a completely straight face, Urena tried to make himself out as the real victim in all this ."It seems like people get upset and things like that," he said. "But I get upset, too. I've got to wait five days to just go out there, make one pitch and get kicked out of the game? That don't make sense."Actually, it makes perfect sense.Now, baseball must take it to the next level.Instead of a typical suspension that might cost Urena a start or two, the lords of discipline at MLB need to really bring the hammer down. Send a message, once and for all, that this sort of Neanderthal-like behavior will no longer be tolerated.Even if the players' union appeals, even if it succeeds in overturning a rest-of-the-season ban http://www.oriolesfanproshop.com/authentic-darren-o_day-jersey , baseball would be sending a much-needed message and, hopefully, sparking a long-overdue dialogue to stamp out this sort of brutality.It won't be easy.Hernandez, a former All-Star first baseman and NL MVP who now works as a New York Mets broadcaster, quickly threw his support to Urena based on that ridiculous code of ethics passed down through the ages , the one that supposedly allows a pitcher to take the law into his own hands when a guy keeps hitting the ball into the seats."You've lost three games. He's hit three homers. You've got to hit him," Hernandez said during the Mets-Orioles game, sounding like someone who needs to be led gently into a pasture and left there. "I'm sorry. People are not going to like that, but you've got to hit him. Knock him down (at least). I mean, seriously knock him down if you don't hit him."Then, stressing there's a proper way to carry out this painful but necessary justice, Hernandez offered a caveat."Never throw at anybody's head," he said, delivering a spot-on impression of that crazy uncle going on some nonsensical rant around the Thanksgiving table while everyone else stares at their food in uncomfortable silence. "Never throw at anybody's head or neck. Hit him in the back. Hit him in the fanny."Here's the thing:Maybe that's what Urena was trying to do — hit Acuna in the back or fanny, as was so eloquently stated in The World According To Keith. But sometimes Frank Robinson Jersey , a guy throwing a baseball almost 100 mph doesn't put it exactly where he wants. Or maybe the batter reacts in a way that the pitcher wasn't expecting, ducking into a pitch instead of leaping away. All of which points to the ludicrousness of anyone, even someone such as Hernandez who spent 17 years in the big leagues, trying to brush this off as just part of the game.Urena claimed he was merely trying to work inside against Acuna, apparently relying on the fact that he's hit 11 batters overall this season, tied for the most in the National League."I try to get something inside and move his feet," the right-hander insisted. "Then we can go back outside, because he's been hot."Once MLB dismisses that ludicrous defense — Urena's defiant reaction on the mound hardly indicated that the pitch got away and he was really, really sorry about it — there's another issue to consider.Baseball isn't exactly flourishing at the moment, especially with young people.A thrilling player such as Acuna could help to reverse that trend, but not if he has to step to the plate after every homer wondering if he's going to get plunked again. Not if he's laid up with a broken arm. Not if he's driven from the game by a fractured skull.Acuna is the future of baseball.Urena and Hernandez are best left in the past.


text:
ICYMI: Marsh misuse, historical heaps of misinformation, making tough decisions
Here's a look at some of the best stories you may have missed in the most recent edition of The Pulse.
1. Measuring the disappearing wetlands of the Mid-Atlantic
Wetlands, historically seen as the smelly armpit of American habitat types, have more recently been heralded for the flood protection and water filtration work they do. Today, after centuries of development that has severely decreased their size, they face a different threat: sea level rise.
Local ecologists are tracking the impact of sea level rise at sites in the Delaware Estuary and Barnegat Bay, in an effort to learn whether these fragile ecosystems will survive or be permanently flooded by rising seas.
Read the full story to find out what they learned.
2. Can coffee cause yellow fever?
Of course it can't! But funny what a little bit of misinformation can do in the midst of an outbreak.
The mosquito-borne illness shut down the federal government and caused 20,000 of the city's 50,000 residents to flee. But it wasn't insects that were catching the blame.
In the space of two months, approximately 5,000 Philadelphians died of yellow fever. The mosquito-borne illness shut down the federal government and caused 20,000 of the city's 50,000 residents to flee. But it wasn't insects that were catching the blame.
Find out more on this historical heap of misinformation.
3. Why shared decision making may not be that simple
When there's a big medical choice to be made, in recent years, there's lots of support for shared decision making between doctor and patient.
Experts are learning that individual patients have varying appetites for wading into the muck and detail of a complicated medical choice. Shared decision making between doctor and patient is the expectation. But sometimes, this is the reality: "I just want my doctor to tell me what to do, we heard that from a lot of patients."


The Six Nations returned with a bang! Wales and France got things underway on Friday evening with Wales continuing their impressive run of victories that extended to 10 games. The win also saw Wales notch up their 50th win over France and their seventh in their last eight meetings. Wales were down 16-0 at half time before France made numerous errors that handed George North a brace and secured a 19-24 win for the visitors.
The action continued on Saturday when Scotland claimed an impressive 33-20 win over Italy go top of the Six Nations table. Scotland looked in control from the start of the game and went into the break 12-3 ahead. Scotland scored three tries after the break to lead 33-3 before they rang the changes and Itlay hit back scoring three tries in the final 10 minutes when Scotland were down a man.
England ended Ireland's 12 game winning streak at Aviva Stadium on Saturday defeating the reigning Six Nations' champions 20-32. Henry Slade scored a second-half brace as ruthless England handed Ireland their first home defeat for over two years.
Far and away the best loosehead prop from this weekend's action. The likes of Cian Healy, Jefferson Poirot and Allan Dell all had strong games but were all beaten to the side by an outstanding performance by the England loosehead.
He was named man of the match in England's immensely physical and bruising encounter against Ireland and racked up a mammoth 27 tackles! He was also busy on attack making 11 carries and hardly took a step backwards in the scrum.
Vunipola led the charge from the England pack with Joe Schmidt conceding that his side was "physically bettered."
Another tackling machine from the English front row. George weighed in with 18 tackles, missing his first tackle for England since the second test in South Africa last year. George had a hiccup or two with his lineout throws but his performance still sees him claim a place in the side with Ken Owens and Stuart McInallly his closest competitors.
A close call with Kyle Sinckler just losing out to the Welsh tighthead prop. Both players got around the park in their respective games but Francis' gets the nod after a strong showing against a massive French pack. Francis dealt with an astute scrummager in Jefferson Poirot and threw his weight around in the rucks. Special mention to France youngster Demba Bamba who was fantastic off the bench for the losing the side in what was his Six Nations debut.
England's second row really stepped up against Ireland. Courtney Lawes was superb off the bench while Itoje and Kruis set the perfect platform to attack from. Itoje played a big part in England's defence in the first half and was lucky not to go to the win for a hit on Keith Earls but was excellent throughout the game before he hobbled off with an injury. France's Felix Lambey also had a strong display off the bench despite his side's inability to hang onto a 16 point lead while Ben Toolis was everywhere for Scotland. Finally David Sisi was impressive on his test debut for his adopted country.
Filling the void that Jonny Gray leaves in the Scotland starting line up is no easy task but Grant Gilchrist excelled albeit against Italy. His tackling tally of 17 against Italy was only bettered by Sebastian Negri while he also hit double digits with his carries. He was aggressive in all facets of the game and was a strong contender for the match of the match award.
Ireland's James Ryan had his usual strong game in his side's defeat to England while Alun-Wyn Jones maintained his high standards against France.
Numerous strong contenders for blindside flank this weekend. Sebastien Negri was nothing short of outstanding for Italy, Mark Wilson was busy against Ireland, Peter O'Mahony battled hard in defeat but in the end they all lose out on a place in the team to Wales' Josh Navidi.
The Welshman was a menace at the breakdown claiming two clean turnovers and crucial pilfers. He brilliantly ripped the ball off a French attacker and weighed in with a hefty total of 17 tackles.
As mentioned before Joe Shmidt said that his side was 'physically bullied' against England but Josh van der Flier was the exception. The 25-year-old flanker got stuck into the English pack and was extremely strong defensively.
He was aggressive at the breakdown and his efforts in defeat sees him edge Tom Curry and Justin Tipuric to a place in the side. Curry was excellent for England with the only blemish on his game being his early yellow card for his tackle on Keith Earls.
The most hotly contested position this weekend with just about every no.8 having a strong game for their side this weekend. CJ Stander was a bully at the breakdown and put in a huge shift making 18 tackles and 10 tackles before fracturing his cheekbone and going off in the 64th minute. Ross Moriarty topped the tackle count on Friday evening with 20 tackles and 8 carries while Sergio Parisse was excellent in his record-breaking game against Scotland. Billy Vunipola was also destructive against Ireland but in the end Picamoles gets the nod.
The Frenchman continued his impressive try-scoring run with a try against Wales and was all over the pitch for 70 minutes. He finished off a superb attacking move for the first try of the 2019 Six Nations and was superb in all facets of the game.
He made all of his attempted tackles, was strong at the breakdown and had a great conversion rate with his carries making 48 running metres from his 13 carries.
Starting in his first appearance in the Six Nations is no easy task but the Welsh halfback made it look that way. His kicks were pinpoint as too was passing. He ignited the Welsh attack and capped off his debut with a try. Greig Laidlaw was superb for Scotland and his leadership and control was missed when he left the field while Ben Youngs is extremely unlucky not to make the side after a strong performance against Ireland.
Russell brought his outstanding form for Racing 92 into the opening game of the Six Nations as he guided his side to victory over Italy. His perfectly weighted kick in the first half put Blair Kinghorn in for the first of his three tries before his link-up play led to the winger's second try of the game from the scrum. He put in another perfectly weighted kick in for Stuart Hogg's try and showed off his wide range of skills with some great passes and clearance kicks throughout the game.
Owen Farrell came closest to taking the jersey off of the Scotsman with his performance against Ireland. The England captain completed a stellar skip pass in the opening minutes of the game to get Jonny May over the try line and was consistently brilliant for the remainder of the game with the only blemish being a kick out on the full.
Kinghorn became the first Scottish player to score a hattrick since Italy was included in the Five Nations. The winger was in superb finishing form against Italy as he ran onto Finn Russell's cross-kick to score in the first half. He later went over in the corner from a scrum before completing his hattrick in the second half.
The speedster beat 6 defenders made 89 running metres and was sharp on defence. England's Jack Nowell also had a strong game while Josh Adams impressed for Wales.
Tuilagi announced his return to the England starting line up with a blockbuster display against Ireland. He was brutual with his ball carries, tackles and clean outs while still providing some clean service to Henry Slade on his outside.
His first carry that led to Jonny May's opening try of the game typified his performance while he also made a huge hit on James Ryan just after the break. His performance should see him retain his starting role against France.
Elsewhere, Sam Johnson impressed on his starting test debut while Romain Ntamack was solid on his debut.
Slade joins his centre partner in our team of the week after he grabbed a brace against Ireland. He was influential in defence while England were down a man in the opening stages of the game and continued in that fashion until the final whistle.
His work rate on attack and defence rewarded with a try in each department. He run great support lines throughout the game with Jonny May's chip over the top handing him his first try while his second came late in the match when he picked off a Jonathan Sexton pass to score.
A match-winning performance from George North sees him claim the #14 jersey with Jonny May hot on his heels for the jersey. North pounced on a Yoann Huget error to score his first try before he picked off a poor skip pass from Sebastien Vahaamhina to score the match winner.
North did benefit from France's errors but his work rate put him in the right place at the right time to punish those errors. Jonny May was excellent all facets of the game for England while Tommy Seymour also put in a fine shift for Scotland.
An outstanding performance from the Scottish fullback sees him claim the final place in our Team of the Week with Wales' Liam Williams the closest competitor.
Hogg was lethal on attack racking up a round high of 126 running metres beating 4 defenders and topped that off with a try and an assist.
He could have had a second in the second half when carved through the Italian defence before the try was ruled out for obstruction.
Liam Williams was superb against France and also had a try ruled out in the clash when he failed to dot the ball down in the first half after a great Welsh attack. Williams was safe in the air with the French kickers really putting the Welshman under pressure.


text:
Netflix exec sheds light on controversial show cancelations
By Tom Pritchard
Being in the Netflix top 10 isn't enough to guarantee a future.
Netflix produces a lot of fantastic original content, but its tendency to cancel seemingly-popular shows long before they're ready to end makes it a lot harder to get invested. But we have just got some explanation as to why shows that appear to be doing well are hit with the cancellation hammer so quickly.
This information comes courtesy of Peter Friedlander, Netflix's head of scripted series in the U.S. and Canada, while speaking with Variety (opens in new tab). Friedlander didn't go into great detail about the decision process for cancelling shows, only that there are a bunch of different factors involved and that those decisions are "the hardest part of the job."
One thing is clear: the kind of success viewers see when they load up Netflix isn't the full picture. That's why Netflix seems to cancel so many shows that spent several weeks in the top 10 chart. Shows like Resident Evil, The Midnight Club, Raising Dion and more.
Shows come in and out of the top 10 list based on how many viewing hours people are putting in. By that logic you'd assume shows spending multiple weeks in the chart are doing quite well. This isn't entirely the case, according to Friedlander.
"I think the Top 10 is a useful tool for people to find shows, discover shows, talk about shows and also helps you for viewing." Friedlander said. "The Top 10 really serves in that way, and I think that's something that speaks to the popularity in that moment."
However, he added then making decisions is all "about the long term and the longer term viewing."
"We always are looking at many variables, too. The Top 10 is just one variable in that," explained Friedlander.
So Netflix's measure of success is still as mysterious as ever, though the variables will no doubt consider things like cost and what Netflix has gained from its initial investment. In any case, Friedlander's words further emphasize that Netflix doesn't measure success in the same way as traditional broadcast media — where viewing figures have long reigned supreme.
Last October (opens in new tab) Netflix confirmed its metrics would be changing, with greater emphasis on the total number of hours viewed in the first 28 days of a show's release. But in the past it's also measured how many people who start but don't finish a show, how many complete it, and how many binge watch it.
Sandman creator Neil Gaiman recently confirmed that binge-watching is still important, which put his show in a precarious position. Gaiman claims people were watching the show in great numbers, but the fact they weren't watching every episode back-to-back is why it took so long to order a second season.
It's not clear how the launch of Netflix with ads will affect how the streamer weighs the pros and cons of cancelation. Friedlander claims that the decisions are not made lightly, but a show that has a lot of eyes on an ad-supported tier will invariably help to bring in more revenue.
This may not be a consideration just yet, though. A new report claims Netflix has had to return money to advertisers, after Netflix with ads fell short of its viewership targets. According to Digiday (opens in new tab) the streamer only managed to deliver 80% of the expected audience. But this is being blamed on the speed in which Netflix launched its advertising interests, rather than a long term problem. So the situation may improve in the future.
But as it stands, the fact that a Netflix show appears to be popular doesn't necessarily mean it's ticking all the right boxes. Unless your favorite show is picking up Stranger Things or Wednesday-level viewing figures, there's little guarantee that another instalment will actually happen. And knowing Netflix, there's a very good chance it won't be.
Today's best Streaming boxes deals
Tom Pritchard
Automotive Editor
Tom is the Tom's Guide's Automotive Editor, which means he can usually be found knee deep in stats the latest and best electric cars, or checking out some sort of driving gadget. It's long way from his days as editor of Gizmodo UK, when pretty much everything was on the table. He's usually found trying to squeeze another giant Lego set onto the shelf, draining very large cups of coffee, or complaining that Ikea won't let him buy the stuff he really needs online.
Android's Live Transcribe captions your life in real time — try it now
Pokémon Omega Ruby was a great fallback in a month with no new games
I write cleaning tips for a living — here's what you will find in my cleaning cupboard
I did weighted dead bugs for a week — here's what happened to my abs
I love the LG C2 OLED TV — but LG's gotta fix this one annoying feature


text:
Q: Is there any possible to enable this script? Disable the click event  if li has a class  "active"
HTML :

Terms of Services

Welcome

Applicant

Personal Data

Contact Info

Exam Date

Submit

JAVASCRIPT :

A: Use return false:
$(selector).on('click',function(){
    if($(this).hasClass('active')){
      return false;
    }
    // other stuffs
});

A: You can apply some CSS styling for the ".active" class and the in the callback function you can simply skips any tasks that are taking place if the target of the click event has a className that equals to 'active'
Look at his example
var prevItem;

var itemClicked = function(event){
    var target = event.target,
        className = target.className;

    if(className === 'active'){
       return;
    }

    if(prevItem) { prevItem.className = ''; }
    target.className = 'active';
    prevItem = target;

   // perform the rest tasks
}

$('#tabs1').on('click', itemClicked);

http://jsfiddle.net/uvrSg/9/


text:
At The Kit Kat Klub (Live New York 99)
Published: 17 March 2021 | Last updated: 22 November 2021
Recorded: 19 November 1999
Producer: David Bowie
Mixing: Mark Plati
Released: 2 April 2021
David Bowie: vocals, guitar
Mark Plati, Page Hamilton: guitar
Gail Ann Dorsey: bass guitar, vocals
Mike Garson: piano, keyboards, synthesisers
Sterling Campbell: drums
Emm Gryner, Holly Palmer: vocals
Press announcement
'Life On Mars?'
'Thursday's Child'
'Something In The Air'
'China Girl'
'Can't Help Thinking About Me'
'Always Crashing In The Same Car'
'Survive'
'Stay'
'Seven'
'Changes'
'The Pretty Things Are Going To Hell'
'I'm Afraid Of Americans'
The final instalment in the Brilliant Live Adventures (1995-1999) series of live albums was At The Kit Kat Klub (Live New York 99).
The album announced on 17 March 2021, and went on sale two days later, ahead of its 2 April release date.
The concert was recorded in New York on 19 November 1999 in front of an invite-only audience of fans and contest winners. It was recorded and filmed, and broadcast in December 1999 on liveonline.net.
The set was markedly similar to the previous album in the series, Something In The Air (Live Paris 99), which was recorded with the same musicians just one month earlier. The only songs unique to At The Kit Kat Klub were 'Stay' and 'I'm Afraid Of Americans', while Something In The Air contained versions of 'Word On A Wing', 'Drive-In Saturday', 'Repetition', 'I Can't Read', and 'Rebel Rebel'.
At The Kit Kat Klub was not the full concert, and contained just 12 of the 17 songs performed. The missing songs were 'Drive-In Saturday', 'Cracked Actor', 'Ashes To Ashes', 'Repetition', and 'Rebel Rebel'.
The 12-song set had been widely bootlegged previously, having been issued as a promotional CD by Virgin in 1999, meaning that many fans already owned the set.
Furthermore, the recordings of 'Seven', 'Something In The Air', and 'The Pretty Things Are Going To Hell' had been officially released in the UK in July 2000, on the third CD single of 'Seven'.
Despite these issues, At The Kit Kat Klub (Live New York 99) sold out faster than any of the other BLA releases, although server crashes on the Warner webstore Dig meant that many fans were left frustrated and disappointed with the process. Vinyl and CDs on Bowie's online store and Rhino's webstore sold out in minutes, as did the reissued vinyl slipcases for the complete set. The CD slipcases sold out in just over 30 minutes.
"By the time I got to New York…"
Using a process of elimination, it's possible that some of you saw this one coming. The news is that DAVID BOWIE AT THE KIT KAT KLUB (LIVE NEW YORK 99) will be available for pre-order this coming Friday, 19th March, on CD and double vinyl, with a release date of 2nd April.
Use this link on Friday to pre-order both BLA Part 6 and extra slipcases which will be available at the same time.
Keep reading for the full press release.
#BowieKitKatKlub #DBBLA #BrilliantLiveAdventures
+ – + – + – + – + – + – + – + – + – + – + – + – + – + – +
DAVID BOWIE AT THE KIT KAT KLUB (LIVE NEW YORK 99) TO BE RELEASED ON CD AND 2xLP 2nd APRIL
SIXTH & FINAL RELEASE IN 'BRILLIANT LIVE ADVENTURES' SERIES OF SINGLE PRESSING LIVE ALBUMS FROM THE 1990s
LIMITED EDITION BOXES TO HOUSE COMPLETE SETS AVAILABLE EXCLUSIVELY VIA THE DAVID BOWIE OFFICIAL STORE & WARNER MUSIC GROUP'S DIG! STORE
Parlophone Records is proud to announce DAVID BOWIE AT THE KIT KAT KLUB (LIVE NEW YORK 99), the sixth and final instalment of DAVID BOWIE 'BRILLIANT LIVE ADVENTURES', a series of 1990s era Bowie live albums released as limited one run only vinyl and CD pressings. The albums and limited-edition boxes to house the full vinyl or CD collections will be available only via the David Bowie official store and Warner Music Group's Dig! store.
Out 2nd April on CD and double vinyl, DAVID BOWIE AT THE KIT KAT KLUB (LIVE NEW YORK 99) is a 12-track live album, recorded on 19th November 1999 in front of an invite-only audience of fans and contest winners.
The show was recorded and filmed for webcast the following month via Liveonline.net. The audio from the show was previously only available as a 12-track promotional CD.
DAVID BOWIE AT THE KIT KAT KLUB (LIVE NEW YORK 99) was recorded live at the Kit Kat Klub, 19th November 1999, produced by David Bowie, mixed by Mark Plati, and features Bowie backed by Page Hamilton – guitar, Gail Ann Dorsey – bass, vocals, Mark Plati – guitar, Sterling Campbell – drums, Mike Garson – piano, keyboards, synthesisers and Emm Gryner and Holly Palmer – backing vocals.
davidbowie.com, 17 March 2021


KIEV, Ukraine -- On the night of December 8, 2013, demonstrators were gathered in Kiev's Bessarabska Square.
For two weeks there had been protests across Ukraine against President Viktor Yanukovych's pro-Russian government, and on that wintery Sunday, some dissenters found a symbolic target for their frustration.
Primarily aligned with the nationalist Svoboda party, the protestors tore down the 11-foot-tall statue of Vladimir Lenin that had loomed above the square since 1946, and battered it with sledgehammers.
The toppling of the Bessarabska Lenin led to a phenomenon that has become known as Leninopad, or "Leninfall"—the removal of Lenin statues from around Ukraine.
Of course, it wasn't the first time Soviet monuments had been brought low, as statues had been destroyed as early as 1990.
But in the following months the intensity increased—so much so that in February 2014 alone, a total of 376 statues were torn down.
Ukrainians had a lot of statues to work with, but their efforts were diligent and comprehensive.
In 1990, when Ukraine declared its independence from the Soviet Union, there were 5,500 Lenin statues around the country, more than in any other former Soviet republic.
With the country's 2015 decommunization laws, which outlawed communist symbols including statues, flags, and Soviet-era place names, there was a mandate to remove the last of the Lenin monuments.
Today, none still stand. But they haven't disappeared.
The afterlife of these statues is the subject of the new photobook from Fuel Publishing, Looking for Lenin.
Photographer Niels Ackermann and journalist Sébastien Gobert started the project by searching for the remains of the Bessarabska Square Lenin, and they ended up photographing toppled Lenins across the country.
Their goal was not just to see where the physical embodiments of the Soviet past had ended up, but also to discover how Ukrainians felt about the ongoing process of decommunization.
"We met scores of people who wanted to discuss the subject," writes Gobert in the book.
The Lenins that Ackermann and Gobert found—figures that had previously towered on plinths as a mark of Soviet authority—now fill car trunks, are hidden in the woods, or are stashed in cleaning rooms.


text:
Pakistan: The power of being informed
Armed with the right information about how their countries are run, people can expose and prevent corruption, and make fact-based decisions about their lives
(Image: Rawpixel.com / shutterstock.com)
Kashif Ali 28 September 2021
Program Manager, Transparency International Pakistan
When Zahida Bibi's oldest daughter, Sumera, asked if she could join a beautician's course at a state-run vocational training institute, Zahida didn't know how to respond. She wanted the best for her daughter and welcomed Sumera's wish to help support the family. But she knew nothing about the institute, whether it was safe for girls and how studying there might help Sumera.
The family lives in Pakistan's Punjab region, sharing a mud-brick house in a remote village in Tehsil Pir Mehal. To support her husband with disabilities and five children, Zahida carries out domestic work in several households. A daughter with vocational skills could provide an urgently needed boost to the family income, hit by the COVID-19 pandemic. But Zahida needed to know more before she could allow Sumera to take a big step and attend the college.
Information as an anti-corruption tool
Fortunately for the family, in May 2021, Transparency International Pakistan had organised a right to information (RTI) workshop in their village. The event was part of a campaign to raise awareness of Punjab's RTI law. It showed people how to submit requests to obtain information from public bodies. Women were encouraged to attend, so Zahida went along.
Laws like the Punjab RTI law enable civil society, the media, business and ordinary people to request and receive information on how their country is run in a wide range of areas, including public contracting, service delivery, expenditure and exercise of authority.
Access to such information is a human right, enabling people to make fact-based decisions about how they interact with authorities and who they vote for, and to seek remedies for wrongdoing. RTI laws are an essential tool to engage and empower citizens to demand accountability from governments, fight corruption and develop trust in their institutions.
Low awareness of the right to information
Globally, around 120 countries have RTI legislation. However, the quality of these laws varies. A strong RTI law prevails over all other legislation, prioritises the public interest, provides for proactive disclosure of information and requires refusal of information to be justified. Most importantly, the law must be usable by ordinary people through a simple procedure.
But even a well-formulated law doesn't necessarily mean that the right to information is widely known and upheld. How successfully laws are implemented also varies across countries, as does compliance with the regulations.
According to the Global Corruption Barometer (GCB) – Asia 2020, which surveyed more than 20,000 people in 17 nations about their day-to-day experiences of corruption, less than half of citizens (46 per cent) are aware of their right to request information from government agencies and institutions. Only 11 per cent of citizens had used this right to request official documents from their government in the previous 12 months.
That's why Transparency International is working worldwide to promote RTI laws that meet international standards, are fully applied in practice and are used by people to hold their governments accountable.
Promoting openness and transparency
Transparency International helps ensure that the detailed provisions of RTI laws are translated into meaningful tools for the public. Chapters inform people of their RTI rights, and train and support them to submit requests for information.
Chapters' Advocacy and Legal Advice Centres (ALACs) are key to encouraging people to take action on RTI. ALACs give legal advice and support people's use of information to expose corruption. Transparency International experts advise people how to use RTI laws to gather information for corruption cases and provide assistance in legal proceedings. They also analyse the RTI cases they receive, to assess whether a country's RTI regulations are working.
Since 2016, Transparency International Pakistan has trained and helped almost 1,350 people in submitting RTI requests – over 30 per cent of them women. These cover subjects from development plans and support for people with disabilities, to budget allocation and expenditure. Thanks to the workshop Zahida attended, she knew how to find out more when Sumera asked to enrol in the institute.
Armed with knowledge about her right to information, she filed an RTI application with the Vocational Training Institute Punjab. Despite their legal obligations, public institutions are often reluctant to provide information under the RTI law. But to Zahida's surprise, the training institute was transparent, sharing the information she needed to decide on Sumera's future.
Holding officials to account
Zahida learned that the institute teaches women the skills to start home-based businesses, offering free courses and providing students with a monthly stipend of 500 Pakistani Rupees (US$3). With this newly obtained information, she agreed to Sumera training as a beautician. Having such knowledge means she can hold the institute to account to ensure that it provides a full service in support of her daughter's education.
Zahida's story shows that as well as being a key accountability tool, the open provision of information can develop people's trust in their public bodies. By building confidence in Punjab's institutions, it provided a lifechanging opportunity to Zahida's family as they struggle to emerge from the impact of COVID-19. Sumera now hopes to open a beauty salon at home to help support her family.
The GCB shows that more than three out of five people in Asia think ordinary citizens can help stop corruption. RTI is an essential tool to help them do so. By empowering people to use information to hold officials to account, Transparency International chapters around the world are supporting them to access their rights and ensure their voices are heard.
Transparency International's Advocacy and Legal Advice Centres (ALACs) provide free and confidential legal advice to witnesses and victims of corruption, and support citizens to exercise their right to information. With more than 100 offices in more than 60 countries, ALACs provide an accessible, effective way for people to report corrupt, access public information and demand action. Learn more: https://www.transparency.org/en/alacs


text:
March 14, 2018 by Robert Gravelle
When the Non-Essentials edition of Navicat Premium introduced the Code Snippets feature, writing queries against your preferred database type became easier than ever before. The Code Snippets feature allows you to insert reusable code into your SQL statements when working in the SQL Editor. Besides gaining access to a collection of built-in snippets, you can also define your own snippets. Today's blog will provide an overview of this exciting new feature.
The Code Snippet Pane
Located on the right-hand side of the SQL Editor, the Code Snippets Pane provides an easy way to insert reusable code into SQL statements when working in the SQL Editor. If the editor window is docked to the Navicat main window, you can click the () icon in the Information pane (#1 in the image below) to view the snippets library.
The snippets library includes built-in and user-defined snippets. If you would like to reduce the number of entries in the list, you can enter a search string in the Search box to filter the list (#2 in the above image). You can also show the available snippets according to your database type or for all database types. Right-click anywhere on the library and select "Show Snippets For Other Database Type" from the popup menu to either show or hide snippets for other database types. A checkmark beside the item indicates that "Show Snippets For Other Database Type" is active.
Inserting a Snippet into a Query
There are two ways to insert a snippet into the editor:
Just start typing the name of a snippet in the editor. Smart Code Completion will present a list of suggestions for you to choose from. Select a snippet name from the list to insert it in the editor.
You can also drag and drop a snippet from the library into the editor. After inserting the snippet with placeholders in the editor, you can navigate between them by clicking on a placeholder and then using the TAB key to iterate over each. Typing while a placeholder is selected will overwrite it with the typed characters.
Adding a Snippet
You can create your own code snippets and add them to the library. To add a code snippet, select your desired code in the editor, then right-click and select "Create Snippet" from the popup menu.
Alternatively, you can click the Create Snippet in the Code Snippet pane (#3 in the Code Snippet pane image above) to open the New Snippet dialog directly. You may then assign a title and label type to your snippet. Type the code in the New Snippet window and then click the Save button to save your code snippet to the library.
Editing a Snippet
Double-clicking a snippet in the library opens the Edit dialog. Built-in snippets are read-only, as is indicated in the dialog title.
Moreover, you can hide the built-in snippets in the Snippets Pane by right-clicking anywhere on the library and disabling the "Show Preset Snippets" item in the popup menu.


That's how AI-powered app Amadeus Code works to spark creativity. Taking centuries of songs, it divides them into their smallest units, the atoms that make up a groove or lick.
Then it uses algorithms to generate new tunes and chords based on era, rhythm, and range. The approach that powers the algorithms sets AC apart, finding novel ways to understand melody and chord structure that have nothing to do with scores or audio file analysis.
The generation engine then flows seamlessly into an easy-to-use mobile interface for creative prompts on the go.
"We all have those moments when we're looking for a little push, that nudge that gets us to explore fresh territory when we're writing or working on a new track," explains Taishi Fukuyama, co-founder and COO of Amadeus Code.
CEO and founder Jun Inoue got the idea for Amadeus Code in a flash of insight in the shower, in a period of his professional career as an electronic music artist and producer when he had to come up with what felt like an endless series of melodies for clients.
"About seven or eight years ago during my busiest period as a music producer, I was having trouble coping with an increased demand for hit songs from my clients. Continually churning out songs that are not only better but also different to the previous ones is a really hard thing to do.
Amadeus Code built this system with methodical attention to what makes a good song. First, the researchers who joined Inoue established a lab that carefully laid out what songs could be considered hits, taking into consideration several centuries of composing.
They then determined the smallest possible unit of music that could still hold meaning--the phonemes of musical language--and that could combine to create larger melodic "sentences".
There are distinct challenges to generating melodies and chord sequences to make music. Though Inoue and his colleagues put themselves into composers' and musicians' shoes, AI isn't necessarily perfectly suited to the ultimate goal of Amadeus Code, to give songwriters viable ideas.
Once you hear something you like, you can save the entire song or pop out a section, asking the app to regenerate a new song based on that piece.
These nuggets may inspire a new twist or turn in a song when you're stuck. Or they may get you writing something in a whole new style.
"We see this as a way musicians, songwriters, and producers can seek inspiration from some of the best songs in history," says Fukuyama.
For more information, visit amadeuscode.com.. You can also follow Amadeus Code on Twitter.


Honoring one's ancestors is a common tradition among many cultures around the world. In Japan, honoring the ancestors has long been observed through a traditional service: Urabon.
The origin of Urabon is based on the story of one of ›Sakyamuni's Ten Great Disciples: Maudgalyayana. Maudgalyayana was famous for his supernatural powers, but there was a world where he could not use his power to save his mother.
Nichiren Shonin shares Maudgalyayana's story in his Urabon Gosho; however, this is not just a story revealing how Maudgalyayana saved his mother. We hope that you read this gosho and consider how service to others can become an important part of your own life and practice.


text:
Illinois Sports Betting Bill 'Not The Best'
Industry stakeholders and observers ok with tax rate, but little else
Chicago, Ill. skyline (Shutterstock)
If one thing is clear after a weekend of wheeling and dealing, Illinois lawmakers accomplished their main goal — to legalize sports betting. But as times wears on, the issue of how they legalized and how the industry will respond to a bill that is, in the words of one source, "not the best," will come to light.
A day after the Senate sent a giant capital bill with sports betting tacked on to Governor J.B. Pritzker, it's clear that industry stakeholders and onlookers feel that Illinois could have done better. But as the American Gaming Association's Senior Vice President of Public Affairs Sara Slane told Sports Handle, "It can get very ugly and it can very jumbled and it can get very complicated, and that's the nature of legislation, of politics. … Sometimes perfect can be the enemy of good.
"I don't think anyone would say this legislation is perfect. I think everybody walks away disappointed about something. I think a legislator would tell you that's a sign of good legislation."
Bill 'does not create the ideal market'
Looking at the bill from an industry perspective, Brendan Bussmann of Global Market Advisors, a consultancy firm in the gaming, entertainment, sports, and hospitality sector that has done extensive work on sports betting around the globe, may have better summed up the sentiment of operators.
"Illinois passed in overtime a large gaming package that could be equated to a sports betting version of the Affordable Care Act where you have to pass the 816-page amendment to know what's in it," he told Sports Handle. "While there are several parts of the bill that are good aspects for gaming in general, the sports betting portion of the bill does not create an ideal market between the license fee, tax rate, official league data, and other key aspects."
With barely 24 hours to digest Illinois' bill, we thought it wise to look at the key issues and get some feedback. The issue that took center stage in the weeks leading up to the vote, was the so-called "penalty box," which would have kept daily fantasy and online sports betting giants DraftKings and FanDuel out of the market for three years. The "compromise" is an 18-month waiting period for online-only operators, of which there will only be three, eventually.
That issue clouded others that on their own have been contentious and key drivers in other states. Here's a look at each of the critical issues of the Illinois sports betting bill, along with commentary from stakeholders.
15% tax rate
Illinois lawmakers initially proposed a 20 percent tax rate, so bumping it down to 15 percent was welcome by potential operators, though it's still on the high side of what operators view as acceptable. That said, there was little discussion about the tax rate in the waning weeks. Cory Fox of FanDuel said the number was acceptable enough that while company "always wants to see lower, we have no real objections."
Across the country, sports betting tax rates range from a low of 6.75 percent in Nevada to a high of 51 percent in lottery-run Rhode Island. On balance, 15 percent is palatable, and the rate is the same for physical and interactive sportsbooks.
Official league data mandate
A few weeks ago, sports betting bill sponsor Mike Zalewski (D-District 23) seemed to express music to the leagues' ears, when Tennessee passed a law that mandated the purchase of official league data, saying at the time that it set precedent for Illinois to do the same. State lawmakers did just that. Major League Baseball and the National Basketball League have been carrying the torch for the professional leagues, and both have been pushing for a data mandate and an "integrity fee." They got one of two in Illinois, however the legality of such a mandate, namely under antitrust law, and the scope of "commercially reasonable" remain open questions.
What happens now? After months of wrangling in Illinois, and nearly a year of dealing with this issue across the country, there has been enough name-calling and questionable dealings, that it's likely operators don't trust the pro leagues and vice versa. The AGA has advocated that the purchase of official league data be handled through contracts rather than legislation. But here we are.
"The overarching objective for the NBA and MLB is to have in-play betting, so their objective is to get that data out there," Slane said. "But there is mutual distrust, there's a little bit of a game of chicken going on here. Both parties want it and want it to happen, but you're not going to trip over dollars to pick up pennies."
No betting on Illinois college teams
College athletic directors across the country have made a the case for banning betting on the home team. In Illinois, lawmakers ultimately bought into the concern that college athletes are more vulnerable than their professional counterparts. Those around college sports believe that these younger athletes are more accessible and more likely to be swayed by buddies who have bet on a game than well-paid professional athletes. But disallowing betting on any local team leaves money on the table — both for operators and for the state.
.@AmerGamingAssn responds to NCAA President Mark Emmert raising concerns of the potential impact of sports betting on college sports. His comments were made at last week's NCAA annual convention in Orlando.
AGA response is via @SaraSlaneAGA, SVP of Public Affairs. pic.twitter.com/I4gAwLD2XY
— Mark J. Burns (@markjburns88) January 28, 2019
The AGA has long held the position that any kind of "carve out" merely sends more money to the black market, or out of state. In this case, Illinois bettors will soon be able to pop over the border to Indiana or Iowa, both of which legalized sports betting earlier this year, to place their bets on Illinois basketball or Northwestern football.
"We believe that the black market is the worst thing for athletes at all levels, so it doesn't make a lot of sense for states to take out certain college sports, but it's something we've seen in other states," said FanDuel's Fox.
Online-only launch delay
Sports betting bill sponsor Zalewski has been quoted as saying that this issue was sucking "all of the oxygen out of the room." By the time his sports betting bill was hitched to the capital bill that's waiting for Pritzker, it was clear that lawmakers decided to take matters into their own hands.
Briefly, Illinois-based Rush Street Interactive have proffered that DraftKings and FanDuel have been operating their daily fantasy businesses illegally in Illinois. As penance, the company asked for a three-year "penalty box," during which time neither would be allowed to operate. DraftKings and FanDuel thought this ridiculous, and lobbied against it, both on the ground in Springfield, behind closed doors and with a YouTube advertisement ripping Rush Street and its Rivers Casino.
Lawmakers chose to tune out the noise and make their own decision. According to the text of the bill, physical sportsbooks in Illinois (casinos, racetracks and sports venues) can launch bricks-and-mortar and interactive platforms as soon as they are licensed and regulations are in place. There are two caveats — in-person registration is required for the first 18 months and the mobile site must be branded the same as the physical site. For example, DraftKings partners with Caesars, but if DraftKings runs the mobile site, it must be branded as Caesars.
The bill ultimately allows for three online-only sports betting master licenses, at an initial cost of $20 mm, 18 months later. In essence, Illinois businesses will get an 18-month head start on online sports betting, and companies like DraftKings, FanDuel, theScore, PointsBet or you name it will have to sit on the sidelines before being able to launch under their own banner. That $20 mm license fee is good for four years. After that online-operators must pay a $1 mm/year to keep their license.
While it's not a three-year delay, online operators aren't happy.
While it is good to see sports betting bills passed, excluding DraftKings and FanDuel is like passing a ride sharing bill that excludes Uber and Lyft. Very disappointing that Illinois customers will not have the best options available to them for 18 months.
— Jason Robins (@JasonDRobins) June 2, 2019
When the three-year delay was on the table, DraftKings promised legal action should it pass. At this point, it's tough to know if a lawsuit would be worth it. Or if both DraftKings and FanDuel would be better off using their resources elsewhere. The only thing that is certain is that 24 hours out, no one has gotten through the 800-plus page bill, so it's unclear what will happen next.
"We're still reviewing all of our options," said FanDuel's Fox. "We're excited that there will be full mobile in Illinois at some point. It is a big deal, the status quo was that we could not offer sports wagering in Illinois at any point, and now we can at some point."
Measured words, for sure. But neither DraftKings nor FanDuel is likely to launch any sort of offensive until they're 100 percent clear on what's in the bill. That said, it's also questionable whether or not either would agree to run the mobile books for their Illinois partners (Caesars for DraftKings and Boyd Gaming for FanDuel). They may choose to hold out and launch under their own banners down the road, or perhaps more Illinois politics will spin things in another direction come the request-for-proposal process for those three licenses.
Rush Street Interactive essentially got what it wanted — a head start for the local vs. national companies.
"We are excited by the legalization of sports betting and the prospect of making history by bringing our innovative and award-winning mobile platform to Illinois." Richard Schwartz, president of Rush Street Interactive said in a statement Sunday. "Just this past week we made history in Pennsylvania for being the first to launch an online sportsbook. We look forward to bringing the same top quality, award-winning products and services to players in Illinois where we are headquartered."
The next step is for Pritzker to sign the bill, which seems a forgone conclusion as he tasked the general assembly with crafting both a capital bill and a sports betting bill earlier this year. Then the hard work begins, as operators begin to build out their sportsbooks, develop offerings and train staff, while the state gaming commission gets to work on developing regulations. Through this whole process, there has been little mention of when sports betting would launch, but it's a good bet that the goal is by the start of football season, which is the most lucrative of the year.
In the bigger picture, Illinois lawmakers view legalizing sports betting as a victory. But those in the industry seem to be viewing with a fair amount of disdain.
"While most observers thought this would pass when they went into overtime on Sunday Bloody Sunday, I think you can best summarize the sports betting aspects of this bill by the U2 song 'I still haven't found what I'm looking for,'" said GMA's Bussmann. "It should not be just about passing a bill to pass a bill, let's craft the market with the best possible legislation the first time."
Share107TweetShare
With Potential Hurdles Cleared, Legal Connecticut Sports Betting Should Happen In 2021
Changes Afoot For Oregon Sports Betting? Sports Betting Bill Filed In Oregon Names Racing Commission Regulator


A unique opportunity for teachers and students to augment environmental education curriculum with humor and song. Combining beautiful and insightful songwriting, great humor, and stories of environmental restoration from around the planet, Dana's performances are unforgettable and inspirational… a springboard for kids (and teachers) to get excited about nature and their community. Working with Dana, you can create a fun and fact-filled forum for students and teachers to learn more about our Earth home, and exchange ideas on how to design, implement and participate in community and environmental projects.
The fun and spontaneous energy of Dana's music is captured in this live, summer camp performance.
MEETS SCHOOLS' NEEDS: Dana designs assemblies and classes to specifically meet individual school's needs. Assemblies can range from thirty minutes to one hour, with or without a post-performance discussion. Teachers may arrange individual or group classroom performances. Dana welcomes the opportunity to work with special ability groups.
FLEXIBLE CURRICULUM: Dana can speak and sing about a school identified theme or a variety of environmental and community topics including recycling, stream and habitat restoration, rainforest ecology, marine mammals, and organic gardening.
EMPHASIS ON STUDENT INVOLVEMENT: The main focus of Dana's program is to encourage students to get involved in their community. Dana shares stories about young people all over the world taking part in community and environmental projects. He works with teachers to build enthusiasm among students to design, implement and participate in local programs.
Artist in Residence with the Washington State Arts Commission and also presenter with the Cultural Enrichment Program.


Description: I was in the Canadian North West 2 weeks ago, driving through Jasper, Banff and Yoho National Parks and I filmed a travel video, which became, in the end, a photography story!
Exploring new places... Feeding my curiosity.
I enjoy the uncertainty of the challenge of being able to capture the mood of new places, in images that are significant to me.
Photographs that will define my experience, my story. Ultimately…my way of seeing.
My photography is a hunt, a quest that never stops!
So coming back from a trip, I often sense that my most meaningful photograph... possibly will be… the next one!
Photography keeps me searching, in a journey that continues to change its destination.
And I find myself already scouting for the next adventure.


text:
The Intl. WeLoveU Foundation Honored with the Green Apple Award
|In Environmental Protection, Environmental Protection
Honored with the prestigious international environmental award for its contribution to environmental preservation through the Clean WORLD Movement
The Intl. WeLoveU Foundation received the Green Apple Award, one of the top four global environmental awards.
The Green Apple Awards, conducted by an international nonprofit environmental organization called The Green Organisation, are officially acknowledged by the European Commission and the U.K. Environment Agency as the best environmental award in Europe. They promote environmental protection practices by recognizing the environmental best practices among governments and public institutions.
At the Green Apple Awards ceremony of 2018, which was held in the House of Commons, Palace of Westminster, London, U.K., the Intl. WeLoveU Foundation was awarded the Silver Award in the International-Global field.
The Intl. WeLoveU Foundation has carried out the Clean WORLD Movement for the clean environment and well-being. Through creative environmental activities, it has raised environmental awareness and inspired global citizens to participate in protecting the environment. Such efforts have been recognized with the award.
OTHER ACTIVITIE
Worldwide Blood Drive in Salt Lake City, U.S.
Blood Donation ― A 36.5-Degree-Love Saving Lives
Save the World Global Forum 2019
Establishing global networks for sustainable life-saving efforts: Signing MOUs with overseas agencies and organizations
The 20th New Life Family Walkathon
Proclamation of 'Save the World' Vision—the first step towards saving the earth with love
Clean WORLD Movement in Charlotte, the U.S. (McAlpine Creek Park)
Cleaning up the environment is essential to a happy life
Intl. WeLoveU Foundation Dinner Conference 2019
Establishing Global Partnerships for the Implementation of UN SDGs
The Intl. WeLoveU Foundation has been acknowledged as an NGO associated with the UN DGC
The prestige of the global organization embracing the earth and mankind, has been established


text:
Post on Indev
Post a funding opportunity
Job & Funding Alert
Australia Awards Scholarships
Australia Awards Scholarships, formerly known as Australian Development Scholarships (ADS), provide opportunities for people from developing countries, particularly those countries located in the Indo-Pacific region, to undertake full time undergraduate or postgraduate study at participating Australian universities and Technical and Further Education (TAFE) institutions.
Host Institution(s): Any of the Participating Australian Institutions
Level/Field(s) of study:
Undergraduate or Postgraduate Programmes that are related to your country's priority areas for development which are listed on the participating country profiles.
Australia Awards are not available for training in areas related to flying aircraft, nuclear technology or military training.
Number of Scholarships: Not specified.
Target group: Citizens of one of the participating countries in Asia, Pacific, Africa, and the Middle East. See the complete list of participating countries.
Scholarship value/inclusions/duration:
The scholarship benefits generally include: full tuition fees, return air travel, establishment allowance, contribution to living expenses (CLE), Overseas Student Health Cover (OSHC), Introductory Academic Program (IAP), Pre-course English (PCE) fees, etc. See the complete list of benefits at the official website.
The scholarships are offered for the minimum period necessary for the individual to complete the academic program specified by the Australian higher education institution, including any preparatory training.
To be eligible to receive a Scholarship, applicants must:
be a minimum of 18 years of age on 1 February of the year of commencing the scholarship;
be a citizen of a participating country (as listed on the Australia Awards website) and be residing in and applying for the scholarship from their country of citizenship;
not be a citizen of Australia, hold permanent residency in Australia or be applying for a visa to live in Australia permanently;
not be married to, engaged to, or a de facto of a person who holds, or is eligible to hold, Australian or New Zealand citizenship or permanent residency, at any time during the application, selection or mobilisation phases (note: residents of Cook Islands, Niue and Tokelau with New Zealand citizenship are eligible but must apply for a Student visa [subclass 500]);
not be current serving military personnel;
not have previously received a long-term Australia Award unless they have resided outside of Australia for twice the length of the total time that they were in Australia (for example, a previous awardee who has been on an Australia Awards Scholarship in Australia for four years will not be eligible to apply for another Australia Awards Scholarship until they have resided outside Australia for eight years);
have satisfied any specific criteria established by the Program Area or the government of the applicant's country of citizenship (e.g. having worked a certain number of years in an appropriate sector);
be able to satisfy the admission requirements of the institution at which the award is to be undertaken (this may mean that Program Areas will need to withdraw an award offer if the recipient cannot satisfy the institution's admission requirements. This may not be known until Program Areas request a placement at selected institutions);
be able to satisfy all requirements of the Department of Home Affairs to hold a Student Visa. This may mean that the Program Area will need to withdraw an award offer if the recipient cannot satisfy the visa requirements;
Not be applying for a scholarship for a course of study at an academic level lesser than they have already achieved (eg be applying for a Master's scholarship when they already hold a PhD); and
Applicants must inform the Program Area of any connection or relationship to staff employed at Program Areas (including locally engaged staff at post) or with managing contractors so that the application may be properly and transparently managed.
Read the complete eligibility criteria in the Australia Awards Policy Handbook (PDF)
Application instructions:
Most applications will open on 1 February 2019 (Africa applications has already closed on 3 December 2018).
Check the open and close dates for your country, and select your country of citizenship/residency from the list of participating countries for specific information on eligibility, priority areas and how to apply. Deadline varies per country. The deadline for most countries is 30 April 2019 except for Cambodia (April 15) and Vanuatu (March 31).
It is important to read the how to apply page and visit the country specific pages, and the official website (link found below) for detailed and updated information on how to apply for this scholarship.
Official Scholarship Website:
http://www.dfat.gov.au/people-to-people/australia-awards/Pages/australia-awards-scholarships.aspx
Write for Indevjobs
Write for Indevjobs at USD 100
Get global outreach
editor@indevjobs.org
Job Seekers Signup
Thinking of a Career in Emergency Management?
BY Nicole Pelette
Interesting Career Options in Contemporary Times – Grassroots Experience
BY Barbara Elliot
5 Ways to Work from Home More Effectively
BY Garima Pachauri
A Definitive Guide on How to Boost your Data Science Career
BY Vivek Kumar
Nutrition as Career Option
BY Jedda
Invitation Of Tender For New Distillery Project
RFP for Plastic Waste Management Programme to be implemented in Delhi Cantonment
Tender Notification for Supply of 482 Talking Laptops for 2019-20
Notice Inviting Tender for Supply of Hardware for LT Shackle Insulator
. View more...
Add Funding Opportunity
Join LinkedIn Group
Copyrights 2017. All rights reserved | Technology Partner: Indev Consultancy Pvt. Ltd