text:
module MerbBabel
  LANGUAGE_CODE_KEY = 'mloc_language_code'.freeze
  COUNTRY_CODE_KEY = 'mloc_country_code'.freeze
  DEFAULT_DATE_FORMAT = {
    "less than %d second" => [
      "less than %d second", "less than %d seconds"],
    "%d minute" => ["%d minute", "%d minutes"],
    "about %d hour" => ["about %d hour", "about %d hours"],
    "%d day" => ["%d day", "%d days"],
    "about %d month" => ["about %d month", "about %d months"],
    "%d month" => ["%d month", "%d months"],
    "about %d year" => ["about %d year", "about %d years"],
    "over %d year" => ["over %d year", "over %d years"]
  }.freeze

  # TODO add a mutex for when we load the localizations, in case people want
  # to load the localizations at runtime

  # all localizations are saved in this class variable
  # localizations are namespaced using the language or locale they belong to
  #
  # for instance:
  #   localizations['en'][:right] => 'right'
  #   localizations['en'][:left] => 'left'
  #   localizations['en']['US'][:greeting] => 'Howdie'
  #   localizations['en']['AU'][:greeting] => "Good'ay"
  #
  # locales, including languages and countries use string keys while
  # localization keys themselves are symbols
  module Storage
  module_function
    def localizations
      @@localizations ||= reset_localizations!
    end

    # files containing localizations
    def localization_files
      @@localization_files ||= find_localization_files
    end

    # locations to look for localization files
    def localization_dirs
      @@localization_dirs ||=
        Merb::Plugins.config[:merb_babel][:localization_dirs].dup
    end

    # add a dir to look for localizations
    def add_localization_dir(dir_path)
      return localization_dirs if dir_path.empty?
      unless localization_dirs.include?(dir_path)
        localization_dirs << dir_path
        reload_localization_files!
      end
      return localization_dirs
    end

    def load_localization!
      # look for localization files directly just in case new files were added
      reset_localization_files!
      find_localization_files.each do |l_file|
        begin
          l_hash = YAML.load_file(l_file)
        rescue Exception => e
          # might raise a real error here in the future
          p e.inspect
        else
          tag = Locale::Tag.parse(File.basename(l_file).split('.')[0])
          if !l_hash.has_key?(LANGUAGE_CODE_KEY) && tag.language
            l_hash[LANGUAGE_CODE_KEY] = tag.language
          end
          if !l_hash.has_key?(COUNTRY_CODE_KEY) && tag.country
            l_hash[COUNTRY_CODE_KEY] = tag.country
          end
          load_localization_hash(l_hash)
        end
      end
    end

    # go through the localization dirs and find the localization files
    def find_localization_files
      l_files = []
      localization_dirs.map do |l_dir|
        Dir["#{l_dir}/*"].each do |file|
          l_files << file unless l_files.include?(file)
        end
      end
      return l_files
    end

    # reset the localization dirs and files to the plugin config
    # careful when using this method since it will remove any localization files
    # you loaded after the plugin started
    #
    # note that it won't clear the localization already loaded in memory
    def reset_localization_files_and_dirs!
      reset_localization_dirs!
      reset_localization_files!
    end

    def reset_localization_dirs!
      @@localization_dirs = nil
    end

    def reset_localization_files!
      @@localization_files = nil
      find_localization_files
    end

    def reset_localizations!
      language = Merb::Plugins.config[:merb_babel][:default_language].to_s
      @@localizations = {language => {"DateFormat" => DEFAULT_DATE_FORMAT.dup}}
    end

    def reload_localization_files!
      reset_localization_files!
      find_localization_files
    end

    class << self
    private
      def load_localization_hash(l_hash)
        if l_hash.has_key?(LANGUAGE_CODE_KEY)
          language = l_hash[LANGUAGE_CODE_KEY]
          if l_hash.has_key?(COUNTRY_CODE_KEY)
            country = l_hash[COUNTRY_CODE_KEY]
            # load localization under the full locale namespace
            localizations[language] ||= {}
            merge_localization_hash(
              localizations[language][country] ||= {}, l_hash)
          else
            # load generic language localization
            merge_localization_hash(localizations[language] ||= {}, l_hash)
          end
        end
      end

      def merge_localization_hash(hash, l_hash)
        l_hash.keys.each do |key|
          case value = hash[key]
          when Hash
            case l_value = l_hash[key]
            when Hash
              merge_localization_hash(hash[key], l_value)
            else hash[key] = l_value
            end
          else hash[key] = l_hash[key]
          end
        end
        hash
      end
    end
  end

module_function
  def exist?(*keys)
    keys.inject(Storage::localizations) do |result, key|
      return false unless result.has_key?(key)
      result.is_a?(Hash) ? result[key] : true
    end
  end

  def lookup(*keys)
    keys.inject(Storage::localizations) do |result, key|
      result[key]
    end
  end
end


text:
Great Music Variety playing Kc & The Sunshine Band: Give It Up
Car smashes into Oldham graves in 'reckless' incident
More from Revolution News
Monday, June 24th, 2019 7:00am
By Jon Chubb
PIctures courtesy of Raz Gul
Oldham Council have slammed the driver of a car who burst into a cemetery in the town on Friday afternoon before driving into several gravestones, smashing a number of them, and then fleeing the scene along with their passenger.
It was just after midday when reports first came into us here at Revolution News of the car, an Audi, entering Greenacres Cemetery, off Greenacres Road, and colliding with a number of graves before being abandoned and the two people inside fleeing the scene.
An investigation has now been launched by Greater Manchester Police to try and find those responsible for it which has been described as 'reckless, shocking and appalling' by Councillors in Oldham.
They've promised to repair any of the broken gravestone as soon as possible but it's believed to have left the community devastated.
In a statement released on Friday evening, Councillor Ateeque Ur-Rehman, cabinet member for Neighbourhoods Services, said: "This is a reckless, shocking and appalling incident and show a complete lack of respect for our community, the deceased and their loved ones."
"I know our dedicated team of officers who look after the area will be devastated as I'm sure many residents will be."
"We'll be working hard to repair the damage as quickly as possible and ensure the cemetery is put back to the calm and peaceful place of rest it has always been."
Do you have a story for us? Want to tell us about something going on in Tameside, Oldham or Rochdale? Let us know by emailing news@revolution962.com , calling us on 0161 621 6515 , tweeting us @rev962 or messaging us through our Facebook page. All contact will be treated in confidence.
Man remanded in custody after Hollinwood fight
A man has been remanded in custody after an incident at Hollinwood tram stop on Thursday evening (11th July).
Oldham Libraries to create three 'Libraries of Sanctuary'
Oldham, Manchester and Bolton Library Services have been awarded funding to create nine 'Libraries of Sanctuary'.
Contactless payments launch on Metrolink
Today (Monday 15th July) Metrolink passengers across Greater Manchester will benefit from a new and easy-to-use contactless payment system – transforming the way people pay for public transport.
Tameside woman punched in the face as man steals her car
A woman has been left 'shaken' after she was assaulted by a man in Tameside last Wednesday afternoon (10th July) who would then steal her car before crashing it a short time later.
Woman left in serious condition after crash in Rochdale
A woman remains in hospital having suffered serious injuries during a crash in Rochdale during the early hours of Saturday morning (13th July) which saw five other people injured.
Oldham man charged after fight at Hollinwood tram stop
Detectives investigating an incident at Hollinwood tram stop on Thursday evening (11th July) have charged a 38-year old man in connection with it.
Bad Moon Rising
Lil Nas X / Billy Ray Cyrus
Beyonce / Jay Z

redpajama_set_name: RedPajamaCommonCrawl


text:
Corso Receives The Order of the Long Leaf Pine Award
by Partners in Progress | Mar 31, 2021 | Current News, Resources / News
The Order of the Long Leaf Pine, one of the most prestigious awards conferred by the Governor of North Carolina, was presented on March 30th to Patrick A. Corso, Executive Director of Moore County Partners in Progress, to recognize his exemplary service and exceptional accomplishments to the State and for the Sandhills community for the last 35 years. The surprise award presentation followed Partners in Progress' annual Progress Cup golf tournament and was presented by Christopher Chung, CEO of the state's Economic Development Partnership of North Carolina. He appeared on behalf of Governor Roy Cooper.
Corso arrived in the Pinehurst community in 1986 and served as the General Manager of the Holly Inn. For 17 years, he guided the renaissance of the Pinehurst Resort to its return to glory, including the world and state rankings of Pinehurst's "crown jewel" No. 2 as the top-rated golf course in North Carolina. He respected the "creed of amateur golf" born in Pinehurst and pinned by Richard Tufts, but was also the leading advocate of the return of professional golf tournaments and championships to the fairways of Pinehurst. His well-respected relationships with international golf industry leaders led to Pinehurst's hosting more individual golf championships than any golf course in the world, and he was clearly a leading catalyst behind the unprecedented affiliation with New Jersey-based United States Golf Association. This budding relationship resulted in millions of dollars in economic impact for the community and the state of North Carolina.
"Pat was dedicated to preserving the history and traditions that make Pinehurst so special," said Tom Pashley, President of Pinehurst Resort. "He used the term 'historicity' often when he would speak about the Resort and community, living our history each and every day. His passion, determination and drive were, and still to this day are, second to none."
Corso has embodied everything a community would want as a leader. He served on numerous committees and boards locally and throughout the state for travel and tourism and economic development. He, along with the late Robert Dedman Sr., was responsible for the creation of the Boys & Girls Club of the Sandhills, benefitting thousands of area kids since its inception. He was responsible, in partnership with the Moore County Commissioners, for the organization of the area Convention & Visitors Bureau and has also been a champion for Moore County Schools for many years.
In 2011, Corso was named Executive Director for Moore County Partners in Progress, extending his passion for the community at large. His focus was to drive new business to Moore County and to North Carolina, which has included the location of the world headquarters for Golf Pride and the U.S. Kids Golf Foundation and their thriving World Championships. Along with the newly-announced satellite headquarters for the USGA, many local economic success stories can be credited to Corso because of his determined efforts on behalf of the community he has grown to love. Earlier this year, Corso announced that he would be retiring at the end of May.
"Pat is well-known throughout the State of North Carolina and is highly respected for his vision and the vigor with which he pursues his vision," said John May, Attorney and Chairman of the Board for Partners in Progress. "His professional accomplishments are significant, and I know of no other person residing in Moore County that has done more for the community, the Sandhills and the State than Pat."
Upon being named to The Order of the Long Leaf Pine, the honoree receives a certificate signed by the Governor. Corso now carries the rank of Ambassador Extraordinary, privileged to enjoy fully all rights granted to members of this exalted order.
"I am truly humbled and honored to receive the Order of the Long Leaf Pine award from Governor Cooper," remarked Corso. "It has been a privilege to be part of this wonderful community in North Carolina and I take great pride in calling Pinehurst my home. Moments like these remind me why it is and always will be a beautiful day in Pinehurst."


Regina Hoenes is preaching this month!
Women's Breakfast is an extension of FEARLESS, our women's ministry. Stay updated for other events or things going on with our FEARLESS Women's Ministry as Christie takes it to the next level this year. Women's Breakfast is still a monthly event, but it is part of the bigger picture, not the end itself.
Still a potluck, so remember to bring a friend for yummy food and challenging testimonies and words brought ever 2nd Saturday morning of every month.
We are the FEARLESS women of Living Water.!
Does "Fearless" mean none of us face fears? No, we all face fears but how do we confront them? Here at Living Water, we desire to be led by Holy Spirit, not by our emotions! He is the Spirit of truth and we desire to walk according to His will and His ways allowing His perfect love to cast out all fear! We do this together, as family, supporting one another, walking side by side, holding up each other in very practical ways. We come together once a month at our pot-luck breakfast which is held the second saturday of every month. Here, we provide training, equipping, encouragement, and prayer. We also have a facebook group where we keep the edification going. Yearly, we have a very powerful women's conference called "no limits" where we come together with women from all over our region and beyond. God truly wants us to walk together fearlessly with our eyes fixed on him! Come join us in this beautiful journey of faith and freedom!


Mike founded London-based three-piece freelance horn section The Killer Horns in 2007. Since then, the section have worked together for many years gigging, recording and touring with some of the UK's top artists. All three are extremely experienced performers, composers and arrangers. Together, they are able to work quickly and efficiently to produce high quality, powerful and catchy horn lines, and deliver professional, high-energy performances – whatever the context or style of music.
Collective session and live credits include Muse, Sam Smith, Pete Tong and the Heritage Orchestra, Bonobo, Chronixx, Dizzee Rascal, Tim Minchin, The Who, Roni Size, Kim Wilde, The Cinematic Orchestra, Jamie Cullum, Jamie Woon, The Royal Philharmonic Orchestra, Bat For Lashes and many many more!
The Killer Horns are always available for new projects (studio, live or touring), so feel free to get in touch!
All Rights Reserved. © Mike Lesirge.


text:
In-depth Coal, oil & gas Energy & environment
Super store: the early stages of CCS deployment
By George Coupe	 13th July 2015 12:00 am 16th December 2015 3:09 pm
As the economic consequences of climate change begin to bite, the oil and gas sector is taking carbon capture and storage technology increasingly seriously.
As the world struggles to gain control of greenhouse gas emissions, it is slowly becoming clear that failure will be guaranteed without the large-scale use of carbon capture and storage (CCS).
Last month, the G7 set the year 2100 as the target for total decarbonisation of the global energy system. Despite strong campaigns for divestment from fossil fuels, and the growth of renewable energy, it is realistic to expect that oil, gas and coal will continue to be extracted and burnt and the emissions released into the atmosphere for the remainder of the century. This perhaps is why researchers, policy makers and even the oil bosses themselves have recently started to talk up the need for a global effort at "mitigation".
Mitigation means CCS: trapping the CO2 produced by power generation and other industrial processes and storing it for all time beneath the surface of the Earth in exhausted oil and gas reservoirs.
The technique of injecting liquid CO2 has been used by the oil industry for more than 40 years to assist in extraction
The technique of injecting liquid CO2 has been used by the oil industry for more than 40 years to assist in extraction. But over the last 18 months, CCS has been invoked again and again for its potential role in the fight against climate change; it has even been referred to as the only means left by which humanity might limit future rises in temperature to within 2ºC, the level beyond which governments agree the effects of global warming would be unacceptable. Last month, Ben van Beurden, Shell chief executive, called on policy makers to support the large-scale implementation of CCS. He was echoing a view put forward by the International Energy Agency and the Intergovernmental Panel on Climate Change, which said in its last assessment report that, without CCS, the cost of mitigation would double, making the 2ºC boundary unaffordable.
The question is: can CCS live up to hopes and expectations? First, there is the developing headwind to take into consideration. Public understanding of CCS is still quite weak, but there is the potential for it to firm up into significant opposition. Anything championed by the oil industry is viewed in some quarters with outright suspicion. In particular, the movement for divestment from fossil fuels would see CCS as an industry-sponsored ruse to keep itself in business. Also, questions have been raised about cost and the long-term safety of transporting liquid CO2 and re-pressurising extinct oil and gas reservoirs. The anxieties over fracking might easily grow to encompass CCS as well.
The next problem is that progress is slow. According to the latest survey by the Global Carbon Capture and Storage Institute, there are 22 large-scale projects around the world, but these are primarily demonstration and development ventures. A report published last year by Carbon Tracker and the Grantham Research Institute on Climate Change at the London School of Economics said that 3,000 large-scale CCS plants would be required by 2050 to limit warming to acceptable levels.
So there is an urgent need for investment and government support to get the ball rolling. This must be followed by the implementation of an effective carbon trading scheme to sustain CCS long term, according to the oil industry.
In Shell's CCS demonstration projects portfolio we have several roles
"In the absence of a well-working emissions trading scheme, CCS will need capital grants to support construction and Opex support to ensure the plant with CCS operates," a spokesman for Shell said earlier this month. "In the long term, we expect that effective carbon pricing will drive sufficient CCS deployment. What will furthermore be valuable is a long-term signal that the technology has a role to play in achieving countries' decarbonisation targets."
But what is the fossil fuel sector doing to progress CCS? Shell, for example, is involved in a range of projects. "In Shell's CCS demonstration projects portfolio we have several roles. Sometimes we are the operator of a project; sometimes the joint venture partner. Our aim is to advance a range of different CCS technologies and so reduce costs and optimise efficiency, over time."
Shell and ExxonMobil are partnering with Chevron in the world's largest CO2 storage project, associated with the Gorgon LNG field off the coast of Western Australia. The project is expected to capture three to four million tonnes of naturally occurring CO2 each year and store it in a sandstone formation around 2.5km below the ground.
Meanwhile, construction is nearing completion on Shell's Quest CCS project in Alberta, Canada. The company said that Quest will capture one million tonnes of Quest will capture one million tonnes of CO2 per year from the Scotford Upgrader, a plant that turns bitumen into synthetic crude oil using hydrogen per year from the Scotford Upgrader, a plant that turns bitumen into synthetic crude oil using hydrogen; in total 35 per cent of the plant's current CO2 emissions will be stored underground.
Quest, in Alberta, will capture one million tonnes of CO2 per year from the Scotford Upgrader, a plant that turns bitumen into synthetic crude oil using hydrogen
Shell Cansolv, the CCS technology provider, is also involved in the Boundary Dam CCS project in Saskatchewan, Canada. A retrofitted plant is expected to capture one million tonnes of CO2 per year from one of Boundary Dam's refurbished combustion units. The captured CO2 will be used for enhanced oil recovery.
In May 2012, Gassnova SF (a Norwegian CCS developer), Statoil ASA (a Norwegian oil and gas company), Sasol and Shell opened the Technology Centre Mongstad, which has been testing two different carbon capture technologies on a large scale, up to 100,000 tonnes per year.
Technology Centre Mongstad has been testing two different carbon capture technologies on a large scale, up to 100,000 tonnes per year
"Testing CO2 capture technologies at scale is a critical step in scaling up CCS, supporting cost reduction through learning over time, providing the opportunity to assess the relative merits of different capture technologies and obtaining valuable learning for the design and execution of large-scale commercial integrated CCS projects," said the spokesman.
"Shell Cansolv SO2 [sulphur dioxide] and CO2 capture technologies can be used across a wide variety of industries including oil and gas, power generation and chemicals. It can be added to an existing plant or incorporated into a new installation. There are more than 20 units licensed worldwide."
Last week, Aberdeenshire council gave Shell planning permission to build the onshore facilities for what would be the world's first commercial-scale, full-chain project to demonstrate the feasibility of CCS at a gas-fired power station. The proposal is to fit CO2 capture to one of the existing gas turbines at Scottish Southern Energy's Peterhead power station, which would trap 10–15 million tonnes over the lifetime of the project. The gas will be transported offshore by a new pipeline to Shell's Goldeneye platform and then injected into the gas reservoir 2.5km down.
Goldeneye ceased production in 2011. As the natural gas was drawn from the reservoir, it was naturally replaced by saltwater. Shell said the injected CO2 will drive the saltwater back into the adjacent rock formations from where it came.
Peterhead is one of two projects that have progressed to the next stage of the government's CCS commercialisation competition, an initiative that provides funding for commercial-scale CCS projects in the UK. The project is now coming to the end the front-end engineering and design (FEED) stage. Construction would depend on a "positive investment decision" from Shell and the government, said Bill Spence, Shell's project lead for Peterhead. "If the project goes ahead… it would be the first project to capture CO2 from a gas-fired power station, transport it and store it permanently underground.
"In Canada exists the world's first project at a coal-fired power station. It uses the same Shell Cansolv capture technology we propose using at Peterhead. Elsewhere in the world, there are projects that capture CO2 from heavy industry but this would be the world's first from gas."
The works at Peterhead to retrofit CCS would include a range of new facilities and modifications to the existing site, said Spence. "These [are] the construction of flue gas infrastructure, a new carbon capture and compression and conditioning plant and infrastructure including a control room, power supply and substations, an access road, storage tanks, a workshop, drainage and a wastewater treatment plant."
A chemical absorbent is used to bond with the CO2 post combustion, which Shell said would cut emissions by 90 per cent. Once captured, the CO2 would be compressed to a liquid prior to transportation and storage.
Reservoirs such as Goldeneye, which ceased production in 2011, could hold many millions of tons of CO2
The availability and access to suitable storage capacity is an obvious barrier to the wider implementation of CCS. However, Spence said lengthy analysis had shown that reservoirs such as Goldeneye could hold many millions of tons of CO2. Indeed, there was an earlier proposal for a CCS project at the Longannet power station on the Firth of Forth to store 20 million tons in the same reservoir, nearly double that of Peterhead.
"Reservoirs like the one at Goldeneye have stored gas for about 50 million years. We assess the reservoir to have the capacity to store 34 million tonnes of CO2. We are aiming to store 10–15 million tonnes of CO2 over the 10- to 15-year period of the project."
Spence said that Shell now has a mass of data to support the belief that Goldeneye was "an excellent storage site". He said the company's efforts to understand the reservoir started before the field came on stream in 2004. "We spent 70,000 man hours on CO2 transport and storage issues within a project-wide FEED study."
When Shell decided not to go ahead with Longannet, it continued to study the reservoir for Peterhead, taking into consideration the integrity of the formations that lie above it, the caprock and the overburden, which provide the seal to keep the CO2 in place.
"We also looked at what happens when you re-pressurise the reservoir and sought to determine the best conditions for injecting CO2," said Spence. "To make sure that our study conclusions are valid, we will monitor the reservoir throughout the injection period – and for a time afterwards. One of the existing wells will be equipped with electronic and fibre-optic instruments for this purpose."
While Spence and his team wait for the go-ahead to begin construction, a key objective of the project will have already been achieved: knowledge sharing. As part of the CCS commercialisation programme, a total of 90 reports will be published during the course of this year and 2016.
His own view is that while the pace of development of CCS has been slow, projects such as Peterhead would push the technology forward in terms of efficiency and affordability. He said the UK's infrastructure and experience meant it was ideally placed to take a lead, particularly in enabling the development of CCS hubs. This would make it more affordable for new and smaller CCS projects to come online, by plumbing into an existing pipeline network and reservoir infrastructure.
"When mobiles first came out, they were big and expensive. But they were the starting point for a revolution, a transformational technology, and, over time, they have become smaller, cheaper and highly efficient. The same will happen to CCS. The more we do it the cheaper it will get.
"The UK is in a great position to take a lead – and this project [Peterhead] can help. We have an existing power station, an existing pipeline [network] and an empty gas reservoir perfect for storing CO2.
"In fact, with the right support, the North Sea could store CO2 from many more projects. As fields come to the end of their life, like Goldeneye, there's potential to put them, as well as the associated infrastructure, and all the knowledge and skills built up over time, to new use for CCS. But one step at a time. We know a lot about the Goldeneye reservoir, so it's a great place to start.""
News The Student Engineer
Dutch team wins world's largest student motorsport event
15th July 2015 2:48 pm 16th December 2015 3:08 pm
News Aerospace
Productivity plan aims to make Britain the wealthiest major economy by 2030
Tuneable graphene nano sensor has host of applications claim researchers
13th July 2015 11:52 am 16th December 2015 3:09 pm
News Automotive The Student Engineer
Fund strategy: how one student found extra financial support to pursue a career inspired by Apollo 13
Word of the month: Engine
14th July 2015 12:22 pm 16th December 2015 3:09 pm
Latest ArticlesComments (9)
29th January 2020 9:55 am 29th January 2020 3:03 pm
Dave Smart 15th July 2015 at 3:02 pm
What if you were to inject ALL the flue gases? How long would it take to fill the Goldeneye reservoir to capacity? Thereafter, it could be used to pressurise hundreds of hydro accumulators.
Reply	Link
Bryan Leyland 3rd August 2015 at 10:01 pm
In the world that is not warming and where many credible commentators are predicting an imminent Little ice age, carbon capture and storage is raving nonsense.
The main effect of increased carbon dioxide levels is to increase plant growth and agricultural production. This has benefited agriculture worldwide by trillions of dollars.
Global warming scaremongering has made an industry out of lobbying governments to squander more and more taxpayers money on expensive and ineffective solutions to a problem that does not exist.
It has led to poor people subsidising those rich enough to buy solar cells and has put many of them into energy poverty and dying of cold in the winter because they cannot afford to heat their homes.
Dave Smart 4th August 2015 at 9:42 am
"The oil and gas sector is taking carbon capture and storage technology increasingly seriously", but NOT because of any "economic consequences of climate change". Do they really give a toss? They'll only take an interest in "mitigation", if the money's right.
CCS is 100% a 'high expenditure/zero return' proposition. Hard to see any incentive there, other than an opportunity to prop up a dying oil and gas industry with more government handouts and consumer subsidies, through higher electricity bills.
"store it permanently underground" – which contributes zero to economic prosperity, directly. (analogous to a nuclear waste store.) What if that huge accumulator were to become an asset? The last thing society needs is for such monopoly assets to be privately owned.
The premise of this hydroelectricity innovation is that a high pressure air pocket (accumulator) facilitates a more rapid start-up of the generator turbine:- (on most occasions; what's the hurry?!)
http://www.theecologist.org/News/news_round_up/2964979/norways_green_battery_hydro_plan_for_europe.html
"Norway currently has more kilometres of pipes carrying water to its hydroelectricity plants than it has miles of road." I look forward to the day when The Engineer can report – "The North Sea has more kilometres of pipes carrying water to its hydroelectricity plants than it has HV cables." This is the renewable power infrastructure of the future, that we should be building now. We just need the means to pressurise that water; i.e. "reservoirs such as Goldeneye".
As any engineer with an ounce of common sense knows – "a world powered 100% by renewable energy is no fantasy". . .
Roger B 4th August 2015 at 11:36 am
What seems to be missing from these discussions on CSS is the amount of energy required to extract and compress the CO2. I have seen figures for CSS attached to a power station of 40% of the stations output is required to remove and store the CO2. This means that 40% more fossil fuel is consumed and 40% more of all the other pollutants are emitted.
Good figures are difficult to find for many aspects of CO2 reduction. Does anyone have reliable sources?
I am also interested in figures for the complete CO2 balance for wind and solar power (I understand that this is very dependent on where they are installed). The supporters groups tend to say that they are good but don't give many numbers, the antis have lot of numbers to show how bad they are but these are often not referenced.
Roger B 5th August 2015 at 7:49 am
What assumptions or compromises are you making here? David Mackay could not make the numbers work in "Sustainable Energy-Without the Hot Air"
http://www.withouthotair.com/
The actual energy balances for wind and solar are difficult to find. Solar PV in Northern climates probably gives no return on the energy invested in its construction and installation. Wind appears to give some return, but as you go further offshore the energy required for the supports and interconnects starts to offset the improved capacity factor over onshore wind. Most of the figures I can find tend to stop at the terminals where the grid is connected and ignore the financial and energy costs of interconnection, backup and storage.
If you have better figures could you please share them with us.
DaveSmart 7th August 2015 at 9:23 am
Sorry Roger, I can't offer you the figures you want, because the government refuses to take any responsibility for researching the problem. If they'd calculate the comparative costs of new design v old design they'd come up with very different figures from those in 'withouthotair'. To give a small example, the advent of shallow draft floating windpower (the French are working on it), would eliminate any need for special installation vessels, which MacKay costed at £3bn. But the essential BIG idea – an holistic system based on energy storage – remains un-costed.
The potential of existing 'not-fit-for-purpose' technology is adequate:-
http://www.gwec.net/global-figures/global-offshore/
The potential for disruptive innovation to cut both capex and running costs, through integrated energy storage, is massive, so MacKay's figures should be superseded by a new study. The trouble is, the best solutions are non-market. We can be sure the money men won't allow that progress.
A storage-enabled Bristol Channel Barrage would generate electricity (more valuable dispatchable electricity) cheaper than three nuclear plants, over 3x the lifespan; i.e. A like for like comparison would be nine nuclear power stations!! But nobody thinks that far ahead. (Aside from the RAEng.)
It is a matter of fact that there's more than enough renewable energy available out there to power our needs. It is simply a question of finding more efficient ways to harvest it for ever and a day. An ideology that puts individual freedom/corporate rights – to own and exploit the Earth's resources – above the interests of the people is an immoral, bankrupt idea.
http://www.economist.com/news/leaders/21660522-ideas-fuel-economy-todays-patent-systems-are-rotten-way-rewarding-them-time-fix
"Yet no property rights are absolute. When the benefits are large enough, governments routinely override them. Striking the balance between the claim of the individual and the interests of society is hard. But with ideas, the argument that the government should force the owners of intellectual property to share is especially strong."
Yet, when I, as an owner of IPR, offer to give said property to the government, for the good of all, I am told that that's contrary to their perception of the 'law'. Can one imagine a greater benefit than getting the world economy off it's catastrophic addiction to fossil hydrocarbons? Can one imagine a greater benefit to the UK economy than (a state-owned manufacturing industry) making some of the kit needed to reach that goal?
Dylan 28th August 2015 at 1:21 pm
If we can store for all time compressed CO2, why not use the same systems for storing for slightly less time nuclear waste? Nuclear is a much more efficient and less intrusive energy generator anyway, and is part of the renewable / non-carbon portfolio.
But given the history of the earth is one of ice-ages and warming cycles with or without human input, we could all be just delaying the inevitable.
Bill Church 28th August 2015 at 3:50 pm
The only economic consequence is the impact of over-priced energy on our global competitiveness.
Drive production overseas and the CO2 still goes up the chimney but British jobs go down the pan!
Dave Smart 2nd September 2015 at 10:37 am
Anyone with half a brain knows that there's no 'market' solution to the issue of rising sea levels. Diktat by a political elite, that doesn't have an ounce of common sense between them, is a liability that Britain and the EU simply cannot afford.
http://apps.environment-agency.gov.uk/flood/34678.aspx?term=Wales&type=Region
Marine energy infrastructure, built by the private sector, which fails to include flood defences (and energy storage) at the design stage, is a disaster in the making. Publicly owned infrastructure, at least in part funded by QE, is the only viable way forward. There's no alternative – nuclear power is only a short term solution and it may be at risk from a once-in-a-century storm surge.


text:
Are Robots Coming for Your Job?
Here are five fields that are already turning to them for help
By Sarah BrowneFrom AOL Jobs September 2, 2014
By Sarah Browne
(This article previously appeared on AOLJobs.com.)
The new generation of robots have something in common. They don't look like The Terminator. They don't act like a weapon. They have friendly faces, cute names, R2D2 beeps, and one (Budgee) even claims to love you.
Nevertheless, they're still coming to steal your jobs. Way sooner than you think.
A recent Pew study asked 1,186 experts: Will networked, automated, artificial intelligence (AI) applications and robotic devices have displaced more jobs than they have created by 2025?
The results were fairly evenly divided, with 48 percent envisioning a future in which robots and digital agents have displaced "significant numbers" of blue- and white-collar workers. The rest had faith that while robots will likely displace workers in performing some duties, "human ingenuity" will create new industries, jobs and ways of making a living.
(MORE: The State of the 50+ Job Market)
More Than Manual Jobs
Most of us accept the idea that the machines will take over low-tech labor; all those menial tasks we don't want anyway. Everything that can be automated will be automated. But what about our white-collar, high-skilled, knowledge-based professions? The jobs that need distinctly human qualities such as decision-making or even creativity?
AP reporters recently analyzed employment data from 20 countries and interviewed experts, software developers and CEOs. They learned that almost all the jobs that had disappeared in the past four years were not low-skilled, low-paid roles, but rather positions in traditionally middle-class careers. Lost to technology already are the travel agents, bookkeepers, secretaries and administrators.
(MORE: What Older Workers Want)
Are you next? Here are five fields already turning to robots for help:
1. Lawyers and Paralegals
You may have gone to law school to master the courtroom like the feisty lawyers in The Good Wife or Law and Order But the Jack McCoy and Will Gardner traditional law careers may soon vanish, giving way to an entirely different set of roles. Many will be mash-ups of the law and technology.
One of the innovations already altering the profession is an emerging technology called "predictive coding." This process promises to cut through mounds of data in record time — and importantly, with impressive accuracy.
Attorneys mark up documents with relevant information, feed it into a software program and voila, out comes an analysis for review. A recent study found the software was more effective than human reviewers. Since 90 percent of the world's data has been produced in the past two years, this type of automation may be welcomed by law firms. But perhaps not by paralegals or new graduates.
(MORE: Will There Be a Robot Helper In Your Future?)
2. Writers
Say hello to Quill, your technological replacement. It automatically applies language to the most relevant insights and produces a story that's allegedly indistinguishable from a human-written one. Critical features such as grammatical rules, synonyms and spellcheck are automatically combined with formatting and document generation. The result is a ready-to-read report. No word on how Quill feels about the Oxford comma.
3. Healthcare Professionals
The Robo-Doctor will see you now is no longer a storyline on Grey's Anatomy. While medical robots are still an emerging technology, forces such as health care reform, the growing shortage of doctors and nurses and the skyrocketing costs of hospital care are rapidly triggering advances. Robotic surgery, such as the daVinci surgical robot, continues to achieve better outcomes that radiation or traditional surgery in prostate cancer procedures.
4. Musicians
A team of engineers in Spain built a computer called Iamus that's able to compose its own beautiful music. Since its album was released in 2012, the music has been performed by some of the world's top orchestras, including the London Symphony Orchestra. Next year, Iamus and composer Gustavo Diaz Jerez will unveil a new opera.
5. Rescue Workers
This is one area where the use of robots may be enthusiastically welcomed. Those injured in hurricanes, mudslides, earthquakes or terror attacks can be very hard to reach for search and rescue teams. Small robots help because they can wedge into confined spaces or fly above areas that are cut off, allowing rescuers to find those in most urgent need of attention. Robot-Assisted Search and Rescue has already been used in the 911 attacks and during the Fukushima tsunami.
Another task where robots should replace us: TRU-D is a portable disease-fighting robot that is about to be used to fight Ebola in Liberia. The machine has special technology that allows hospital staff to easily disinfect virtually any environment.
Meet Budgee
Before you despair about your jobless future, know that you'll have help during that extra leisure time. Five Element, creator of Budgee Bot, explains in its video: Budgee does the jobs you don't want to do. Budgee does not complain or get angry.
This Sherpa robot has a basket and a motorized platform and will follow you anywhere, carrying your shopping, luggage, and pets behind you. Budgee holds up to 50 pounds of stuff (that's a lot of shoes) and you can close it up into a small five-pound bundle. It can sense bumps and cliffs and has an auto-follow system that will look for and maintain a safe distance from you and your phone.
Even better? The company says: "He also loves you. Budgee Bot cares about you and wants to be your friend. Each day he greets you and does his best to cheer you up! His favorite place is to be with YOU!"
If Only It Made a Decent Latte
And the robot wizards at Willow Garage in Menlo Park, Calif. programmed their mechanical marvel, PR2, to grab drinks from the fridge, play pool and plug itself in for recharging.
Other researchers have taught PR2 to bake cookies, prepare breakfast and even run out for sandwiches.
Sarah Browne is a consumer insights strategist, writer, and expert advisor on trends, innovation and emerging cultural change, especially in the workplace. A serial entrepreneur and specialist in angel investing, she loves to be in-the-trenches, taking seed stage products from concept to commercialization.
Will There Be a Robot Helper in Your Future?
Age Against the Machine: Frank Langella Rocks 'Robot & Frank'
Am I Being Targeted For Layoff Due To My Age?
This article is reprinted with permission from AOL.com. © 2013 AOL.com. All Rights Reserved.
Taking Classes With Your Grandchild at Grandparents University
A cool summer program where two generations learn and have fun together
How People Who Love Helping Kids Can Create Meaningful Retirements
3 retirees finding joy assisting children in very different ways
OPINION: How to Fix Racial Disparities in Entrepreneurship Over 50
New research shows that aspiration is egalitarian, but fulfilling aspirations isn't
Quitting Corporate Life to Play the Blues
The Second Act Stories podcast episode about Tom 'The Suit' Forst
The 5 Smartest Things I Did My First Year as an Entrepreneur
Advice for people who want to start their own businesses
How a Crafts Entrepreneur Weaves Business and Life
She's been growing the business organically and having a blast
Why You're Worth More Than You Think
An entrepreneur offers a wise way to view your value
AOLJobs: How to Handle Tough Conversations At Work
AOLJobs: Could You Get Discovered on Social Media? These People Did


text:
RSpec.describe 'Repository with multi-adapters configuration' do
  let(:configuration) {
    ROM::Configuration.new(default: [:sql, DB_URI], memory: [:memory])
  }

  let(:sql_conn) { configuration.gateways[:default].connection }

  let(:rom) { ROM.container(configuration) }

  let(:users) { rom.relation(:sql_users) }
  let(:tasks) { rom.relation(:memory_tasks) }

  let(:repo) { Test::Repository.new(rom) }

  before do
    [:tags, :tasks, :posts, :books, :users, :posts_labels, :labels,
     :reactions, :messages].each { |table| sql_conn.drop_table?(table) }

    sql_conn.create_table :users do
      primary_key :id
      column :name, String
    end

    module Test
      class Users < ROM::Relation[:sql]
        schema(:users, as: :sql_users, infer: true)
      end

      class Tasks < ROM::Relation[:memory]
        schema(:tasks, as: :memory_tasks) do
          attribute :user_id, ROM::Types::Int
          attribute :title, ROM::Types::String
        end

        gateway :memory

        use :key_inference

        view(:base, [:user_id, :title]) do
          self
        end

        def for_users(users)
          restrict(user_id: users.pluck(:id))
        end
      end

      class Repository < ROM::Repository[:sql_users]
        relations :memory_tasks

        def users_with_tasks(id)
          aggregate(many: { tasks: memory_tasks }).where(id: id)
        end
      end
    end

    configuration.register_relation(Test::Users)
    configuration.register_relation(Test::Tasks)

    user_id = configuration.gateways[:default].dataset(:users).insert(name: 'Jane')
    configuration.gateways[:memory].dataset(:tasks).insert(user_id: user_id, title: 'Jane Task')
  end

  specify 'ᕕ⁞ ᵒ̌ 〜 ᵒ̌ ⁞ᕗ' do
    user = repo.users_with_tasks(users.last[:id]).first

    expect(user.name).to eql('Jane')

    expect(user.tasks[0].user_id).to eql(user.id)
    expect(user.tasks[0].title).to eql('Jane Task')
  end
end

redpajama_set_name: RedPajamaGithub


text:
Poll Roundup: Recovery, Or Just Turbulence?
2PP Aggregate: 52.4 to ALP (-1.1 since last week)
Closest reading of 2017 so far
Labor would win election "held now" with a moderate seat margin
Five weeks since the previous edition, it's time for another roundup of the state of federal polling. After some really bad readings from Newspoll in February and Essential in March, things seem to have settled down a little for the Turnbull government. This week the government gained a 2PP point on both Newspoll (47 to 48) and Essential (46 to 47). I aggregated the Newspoll at 47.8% and the Essential at 47.1%. With a bit of help from the March Ipsos and (temporarily) last week's Essential falling out of the sample, these polls have improved the government's position on my aggregate by 1.1 points in a week, to 47.6% 2PP.
I normally show just the smoothed tracking graph of rolling averages, but here's the "spiky" graph of one-week end-of-week figures, because it has a story to tell.
The one-week aggregate readings in 2017 so far have been much more turbulent than in the second half of 2016. Perhaps this week's shift is just another case of this turbulence. (Incidentally, BludgerTrack has been running somewhat lower for Labor than my aggregate lately after disregarding Ipsos, and is bound to hence show a smaller correction based on this week's polls.) Here's the smoothed tracking graph:
Labor started the year in very strong shape, but haven't built on it since. However, we shouldn't take that much notice of moves back towards the Coalition until we start to see sustained close or even polling (if that happens.)
Leaderships
The commentariat had decided that this week was all about Prime Minister Turnbull's announcement of changes to citizenship tests and working visa laws, and with articles probably half-written before Newspoll even came out, they weren't going to let such minor changes as a single Newspoll point on 2PP and four points on the Prime Minister's net satisfaction rating put them off. These changes could have easily been about voters not wanting Tony Abbott back, or the military posturings of North Korea, or a lack of obviously bad news cycle items, or good old statistical random noise.
Anyway, Malcolm Turnbull is up four points on net satisfaction to -25 (32-57), but that change is actually below the average net poll-to-poll change in PM netsats in Newspoll history, which stands at 5.5 points. So nothing special is needed to explain the shift, since such shifts in PM ratings happen mundanely all the time. Indeed the PM's netsat changes have now reversed direction six times in a row (up-down-up-down-up-down-up) but he still needs another two reversals to tie the all time record for such things (set by John Howard in early 2000).
The bad news for the PM is that this his his eleventh Newspoll in a row with a netsat of -20 or worse (Howard, Hawke and even Tony Abbott maxed out at a streak of only seven such, though Paul Keating had 17 in a row and Julia Gillard at one stage 29). Not coincidentally, it's also the eleventh Newspoll in a row in which the Coalition has lost the 2PP. As Malcolm Turnbull used the loss of thirty consecutive Newspolls as an argument for rolling Tony Abbott, this ticking timebomb is watched with interest by political tragics. If the clock strikes thirty, the expectation is that Turnbull will be ridiculed out of office, so one can well imagine that for all his denials the PM hopes desperately for a rogue 50:50 to reset the clock.
Or maybe people just generally focus too much on Newspoll! George Megalogenis has a long-standing theory that the shift to fortnightly Newspolls kickstarted our revolving door of leaders, and apparently this theory popped up again recently. But I don't think it's actually true. If we take the ten years either side of the start of fortnightly Newspolls in 1992, the ten years prior had seen the PM change twice (Fraser-Hawke-Keating) and the Opposition Leader change five times (Hayden-Hawke-Peacock-Howard-Peacock-Hewson). The next ten years saw the PM change once (Keating-Howard) and the Opposition Leader four times (Hewson-Downer-Howard-Beazley-Crean). Even if we stretch the comparison to the longest possible, 25 years, we get six PM changes and 11 Opposition Leader changes apiece before and after - excluding caretakers. (The "before" did cheat by one of their number being lost at sea, but Holt may well have been rolled soon anyway.)
The Hewson-Downer-Howard rollercoaster had nothing to do with fortnightly Newspolls and everything to do with Hewson being cooked as leader by defeat in the "unloseable" 1993 election, and Downer being just a dud. At the time it was also seen as having something to do with Andrew Peacock's effective veto on Howard resuming the leadership, which ended when Peacock retired.
Anyway, that's a pleasant historical diversion from the extremely boring task of writing about Bill Shorten's net rating of -20 (33-53. Actually, feeble as it is, it's his best of the year), or the preferred prime minister score (42-33 to Turnbull, the same lead as before.)
Essential a few weeks ago had Turnbull up from -17 to -12 in a month, Shorten up from -19 to -13 and the better PM lead to the incumbent at 39-28.
Other polling
I'm pleased to say that I've seen less obviously dodgy polling in the last few weeks than I was seeing in the average day at the time of the previous episode.
Essential polled approval ratings of crossbench Senators, finding that Senators Xenophon, Hinch and Lambie are all reasonably well regarded, Senator Hanson polarises opinion but is more disliked than liked, and Senators Leyonhjelm and Bernardi don't have massive fan clubs.
Essential also polled a voting mobility exercise, which showed that voters who report voting for the major parties (and to a lesser degree the Greens) tend to have voted more stably than those who vote for the smaller parties. The table takes quite a lot of unpacking - each vertical column gives a party a respondent has said they have voted for in the last ten years, and then lists the chance that they had also voted for each of the other listed parties. The average voter who has voted Liberal-National reports voting for 1.69 of the listed parties in the past ten years at state and federal elections combined, compared to 1.83 parties for Labor, 2.34 for the Greens, 2.53 for One Nation, 2.95 for NXT, 3.15 for Family First, 2.82 for independents. The ultimate party-hoppers were those who had voted for PUP (3.57) but that makes sense since no-one could have voted exclusively for that party over a decade. I suspect voters are over-reporting the extent to which they have voted for One Nation, given that the party's share of the vote in state and federal elections was very poor from 2007 until the 2016 election at which they managed over 4% in the Senate.
Essential voters overall narrowly approved of the recent US bombing of Syria (41-36), but don't think we should get involved (31-50). There are plenty more issues polls over at Essential for anyone who finds the opinions of a panel of 100,000 grumps interesting, but I thought this one on breaking the law was especially odd. 47% of Greens voters think it is never justified to break the law? Do these people not even know who Bob Brown is?
A JWS survey taken in March found that 50% of voters wanted longer parliamentary terms (of some sort) while only 13% wanted more elections.
2016 Warringah entrails
The most interesting poll-shaped object of the last few weeks has been the supposedly "leaked" poll purporting to show that Tony Abbott had been in danger of losing Warringah to Labor or an independent until Malcolm Turnbull saved his embattled mate with a robocall.
As appealingly undignified in a classically Abbott way as this story is, the most likely explanation for all of this is simply that the poll results were wrong. It had a sample size of only 400, and the poll was reportedly conducted by Sexton, rather than Textor, at Abbott's request. The preferencing seems to have been screwy too, since the reported 57-43 to Labor "aided vote" sample (with Abbott named) off primaries of 34-19 would have required an 81% flow of all preferences to Labor (in reality Labor would have got about a 2PP of about 52-53%, rather than 57%, off the stated primaries.)
The robocalls were real as attested by some (but not very many) sources at the time. But if a robocall from the boss and the other named interventions were really worth seventeen (or even seven) points in Warringah, it would be likely that the same sort of thing would have been worth quite a lot in other electorates where the Prime Minister was then still regarded well. And while naming or not naming a candidate sometimes does make a difference, I'd be surprised to see it matter as much as ten points and for that effect to then be repeated at a ballot box.
If the story about Abbott requesting a different pollster is true then that shows a lack of judgement that Turnbull was only too happy to take advantage of. In reality Abbott's opponents were a rabble and Abbott's vote was never likely to be anything other than, as Antony Green put it, "a whale surrounded by minnows". If there really was such a savage primary vote slide against the former PM then a ReachTEL conducted by the Australia Institute six months earlier, while suggesting voters wanted Abbott to retire, had shown no signs of it.
Anyway, on we go to the next prism through which every slightest poll move can be misconstrued, the Budget! Budget polls always need to be put in their historical place, so another roundup is probably not too far away.
Labels: 2PP, Abbott, aggregation, crossbenchers, Essential, federal, federal leaderships, Hanson, JWS Research, Newspoll, pseph, revolving door, Shorten, Turnbull, Warringah
Wonk Central: Why We Don't Use The Hare Quota In H...
Legislative Council 2017: Launceston
Legislative Council 2017: Murchison
Legislative Council 2017: Rumney
Postal Plebiscite: Australia's Biggest Bad Elector...


We Exist to empower inspired leaders in business and ministry through strategic support that advances Kingdom work.
Many experienced, Christ-following leaders in the professional world desire their talents and skills to benefit the Kingdom, but they don't have the time to research organizations or uncover unique opportunities that could benefit from their expertise. Meanwhile, up-and-coming nonprofits with strong visions and valuable work often face hurdles in their businesses they struggle to overcome, which holds them back in their ministry.
The Barnabas Group brings together these two groups of people not only to open up a new world of service opportunities to business leaders but remove the obstacles standing in the way of the impact these ministries can have for the Kingdom.
Do I need to bring my checkbook to meetings?
What does TBG do in a year?


text:
ECHO --- Downloading fixtures/embedded/folder/hitchcock.jpg
MKDIR d1
CALL buildkite-agent artifact download "fixtures/embedded/folder/hitchcock.jpg" "d1"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures/embedded/folder/*
MKDIR d2
CALL buildkite-agent artifact download "fixtures/embedded/folder/*" "d2"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures/embedded/**/*
MKDIR d3
CALL buildkite-agent artifact download "fixtures/embedded/**/*" "d3"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures/**/*
MKDIR d4
CALL buildkite-agent artifact download "fixtures/**/*" "d4"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading **/*
MKDIR d5
CALL buildkite-agent artifact download "**/*" "d5"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures\embedded\folder\hitchcock.jpg
MKDIR d6
CALL buildkite-agent artifact download "fixtures\embedded\folder\hitchcock.jpg" "d6"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures\embedded\folder\*
MKDIR d7
CALL buildkite-agent artifact download "fixtures\embedded\folder\*" "d7"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures\embedded\**\*
MKDIR d8
CALL buildkite-agent artifact download "fixtures\embedded\**\*" "d8"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading fixtures\**\*
MKDIR d9
CALL buildkite-agent artifact download "fixtures\**\*" "d9"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

ECHO --- Downloading **\*
MKDIR d10
CALL buildkite-agent artifact download "**\*" "d10"
IF %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%


When it works, PIM data synchronization is like magic: neat effects, apparently effortless… and the magician performing the act doesn't reveal his secret. One unspoken "secret" of the industry specializing in this particular kind of computer magic is that there are situations where it all breaks down and the user's data gets mangled or lost.
The first person was right: John Doe has 12345. 67890 is an old, now invalid number.
The second person was right: John Doe currently has 67890.
John really has two different home phone numbers.
There are two persons called "John Doe" (a popular name…), so two different address book entries are needed.
This is the same situation sometimes faced by SyncML servers, and just like humans, they cannot decide what the right solution is without more information. A human might ask the person he got the information from how old the information is. A SyncML server cannot do that because the protocol neither includes this option nor time stamps. A human might have additional information ("John now lives in town ABC, the town has area code XYZ, so the second number is right.") but this is highly specific to the data being handled and therefore won't solve the problem in general. A SyncML server also cannot ask his user (who might be able to decide the issue) because again, the protocol and clients don't support such an interaction.
A client is synchronized with the server for the first time and both client and server already contain data. An example is when a user manually added contacts on his phone and on his computer. Then he starts using a SyncML server for data synchronization and first synchronizes the computer (no data on the server yet, so all is fine), then the phone (server contains data from the computer, now needs to merge with data on the phone).
A synchronization fails, perhaps because the connection got lost. Client and server both don't know in which state their peer is, so usually they recover from this by falling back to a slow synchronization, as if the client never had connected to the server.
In both cases the server has to merge potentially different items: either they are really different (e.g., old vs. new phone number) or they might have been stored differently (e.g., +49-228-12345 vs. +4922812345; "John Doe" vs. "Doe, John"). Because of this different storing of items, a slow sync can be problematic even when client and server have the same data.
After the initial slow synchronization clients are in sync with the server and from then on, only modified items are exchanged. A conflict can still occur if the user modifies the same item on two different clients and then synchronizes them with the server. Synchronize before modifying an item that was modified elsewhere, otherwise the conflict results in the same problems as a conflict during slow synchronization.
Many mobile devices only have limited amounts of memory or (more likely nowadays, with hardware becoming cheaper) limited software. Therefore they often only store a subset of the information that full-blown desktop applications store. For example, pictures for a contact might not be stored. Suppose a contact with many different attributes is sent to the server, from there to such a limited device, modified on the device and from there sent back to the server.
What the server gets is a contact were certain attributes were removed. The server is not told whether it was the user who removed them (for example, removing an obsolete phone number) or whether the device was incapable of storing them. What is the poor server supposed to do?
Therefore more intelligent servers merge their own data with the data sent by clients. With such a server it might not be possible to remove certain attributes even if that is desired, because the attribute will be preserved by the server.
The most intelligent servers know (= hard-coded) or detect (= by analyzing information sent by clients about themselves) which attributes a device can store. In this case the server can distinguish between attributes that were intentionally removed and those which were lost. Removing attributes becomes possible.
All of the operations mentioned so far for servers rely on some understanding of the data which is to be synchronized. In contrast to file synchronization which can treat files as opaque blobs of data, PIM data needs to be parsed by clients and server. It is the server's responsibility to transform data between different formats; in some cases one format might be less capable than the other (older vCalendar 1.0 compared to its successor iCalendar 2.0; rich text notes vs. plain text).
It is hard to tell from product descriptions how complete the support for a certain data format really is. "Supports vCard 2.1″ can mean anything from "name + one phone number" to "all attributes which are defined by vCard 2.1 + several common extensions". Some servers are known to not support certain attributes. These attributes then cannot be synchronized, even if all clients support them. In practice only experiments with all clients and the server will show how well the combination really works.
Don't assume that everything will just work! Make backups of all data that you cannot afford to loose.
When getting started with synchronization, gather all data on the most capable client, usually your computer. Clean up duplicate entries. Do a "refresh from client" synchronization with that client. In this mode any data on the server is wiped out and replaced by the one on the client. SyncEvolution does this when invoked with --sync refresh-from-client. Then do a "refresh from server" sync on each additional device. This replaces the (hopefully old!) data on those devices with the data on the server, which is the same as on the main device. If your SyncML client doesn't let you choose these synchronization modes, then wipe out the old data on device respectively server manually before synchronizing for the first time.
Be careful when deleting data on either client and server if it has already been synchronized! An ensuing normal sync will also remove the data elsewhere.
Clearly this manual merging can be a lot of work, but at least it is safe; describing how it can be done with the various clients is beyond the scope of this article.
Once all clients are in sync with the server, avoid synchronization failures at all costs. If you are on an unreliable mobile phone network, then better don't synchronize. Don't interrupt a synchronization manually.
Create a new directory "/home/myname/foo".
Now SyncEvolution will create a new directory inside the log dir for each sync and store database dumps before and after each synchronization there; maxlogdirs can be set to the maximum number of directories which are to be kept around before deleting the oldest one.
After a failed synchronization it is possible to wipe out the local data and reimport it from one of the older database dumps. Evolution can read these .vcf and .ics files directly. The synccompare command line utility can be used to compare two database dumps.
Keeping these log dirs around is also useful for debugging a problem. Finally, it allows comparing the data currently stored locally with the data sent to the server in the last sync (syncevolution --status <server name>).
When copying configurations, always remember to update the deviceId property. This ID is used by the server to identify which device it is talking to; if two different configuration or clients use the same ID, they confuse the server and will run into unexpected slow synchronizations. Usually it should not be necessary to copy configurations. When creating them from scratch with --configure a unique deviceId is created automatically.
Evolution uses the full iCalendar 2.0 and vCard 3.0 internally. SyncEvolution usually just passes this data through to servers, so hardly any data is lost due to conversions. iCalendar 2.0 items are not modified at all, which implies that servers must support this format. Contacts can be converted to and from vCard 2.1 by SyncEvolution, which is mostly a lossless conversion. Evolution and SyncEvolution store some attributes not defined by the vCard standards as extensions; currently these extensions are marked as X-EVOLUTION- which is not supported by all servers. It is planned to switch over to the more common X- prefix as soon as the Funambol server also uses them (planned for 7.1/Q1 '09). ScheduleWorld already understands the X-EVOLUTION- attributes.
Another known limitation of SyncEvolution is the missing support for file attachments in events/todos. For a long time it didn't seem like servers would support these either, but then I learned that ScheduleWorld does – time for SyncEvolution to catch up!
Contact lists are not synchronized, which is a limitation of both SyncEvolution and servers.
SyncEvolution for the Mac OS X and iPhone address book generates and parses vCard 2.1. When I wrote that code, I documented all known limitations on the compatibility page. This is not the code used by the Funambol iPhone and Mac OS X plug-in! Those two projects each use different code and may have different limitations.
ScheduleWorld is a very capable server which (like Evolution) uses vCard 3.0 and iCalendar 2.0 internally. There are no attributes which are known to be unsupported.
If you are using the syncSW Thunderbird add-on you can use the 'merge contact duplicates' feature. This feature finds duplicates and merges their attributes into a single contact and deletes the other one.
The new ScheduleWorld web app also provides this functionality. The web app is in beta but the merge code is the same well tested code found in the Thunderbird syncSW add-on.
When receiving updates, ScheduleWorld merges its existing item with the update sent by a client. With some clients, ScheduleWorld parses the information about supported attributes and in addition, it knows that all SyncEvolution backends store all data. This means that it is possible to remove attributes.
Update 2008-12-03: when receiving an update for an item that was also in the "modified" state on the server because it was updated by another client, ScheduleWorld resolves the conflict by replacing data of the item on the server with data of the item it just received from the client. This means that changes made by the first client will be lost. For example, if the first client adds a cell phone number to a contact and the second client a work phone number, then the cell phone number will be lost when the second client sends its update of the contact.
Synchronize all existing clients with ScheduleWorld.
Synchronize all clients again, in case that one of them modified data on the server.
Synchronize the new client. If possible (= it has no valuable data), choose a "refresh from server" to avoid merging of data on the server.
Synchronize all old clients, if possible using "refresh from server".
The last step is important! If data was modified on one of the old clients without getting it into sync with the server first, then during the ensuing "slow" sync conflicts between new data on the client and old data on the server would lead to duplicates.
This section refers to the default data storage of PIM data. There are connectors for Funambol which store the data differently.
Funambol stores PIM data in a database schema that is modelled after the capabilities of vCard 2.1 and vCalendar 1.0. There are attributes which are not supported yet; I had a closer look at that in a previous blog post. In particular calendar support with iCalendar 2.0 has several limitations. Improvements are expected for Funambol 7.1 and 8.0.
Overwrite old information with a space instead of removing it. This ensures that the server is sent the property, which causes it to overwrite the obsolete value in its own copy of the item instead of preserving the value.
Update 2008-12-03: when receiving an update for an item that was also in the "modified" state on the server, Funambol resolves the conflict by merging the server's data with the client data. In the example given for ScheduleWorld above that means that both the new cell phone and the work phone number are preserved.
To avoid data loss with the Funambol server, always synchronize the client with the oldest data first, then clients with more recent data.
This may not be possible in all cases. Suppose a user owns two devices which he has not synchronized automatically yet. He manually entered two contacts on each device.
Now he synchronizes device A with the server, then device B. In both cases a slow sync is done. He synchronizes device A and B again, doing a two-way sync in both cases.
Alice's new phone number is lost. If the order of syncing the two devices had been swapped, then John's number would have been lost (exercise left to the reader…). I intentionally used two contacts to demonstrate that no matter how the user syncs, he'll lose data in both cases.
The only way around that is to merge the two devices manually, as suggested in the "general advice" section above.
I hope this article was not too long and scary. Always remember that this was about the corner cases; most of the time the magic really works. All sync solutions have to deal with these issues in one way or another. If they don't document how it is done, then most likely the pitfalls also exist but aren't talked about… When you are just getting started with syncing, then simply avoid the pitfalls and enjoy the magic!
I believe that "forewarned is forearmed". Now no-one can claim that I haven't warned him and armed with that knowledge I can peacefully wait for whatever user feedback the future might bring If there are factual errors or omissions, then please let me know and I'll update this blog post.
Posted by Patrick Ohly on Tuesday, November 4, 2008, at 11:24 pm. Filed under SyncEvolution. Follow any responses to this post with its comments RSS feed. You can post a comment or trackback from your blog.
Which is that in theory, the client would provide accurate device information about what fields it can actually support, how many bytes fit in each, and so on.
However, there is a bit of a chicken vs. egg problem with that – many clients don't do a good job describing themselves, so servers end up hard coding their own guesses about client capabilities, so new clients don't generate accurate information because servers don't use it….
Darryl, I hinted at the possibility of sending device information in the "The most intelligent servers know (= hard-coded) or detect (= by analyzing information sent by clients about themselves) which attributes a device can store." sentence above.
This is indeed the right way to solve the problem, but it also isn't perfect. Strictly speaking, SyncEvolution itself doesn't know which fields Evolution supports. This might even change depending on which Evolution is running, without SyncEvolution being able to determine it (short of trying). But it's better that SyncEvolution takes a shot at providing the information instead of the server – I really should add this.
However, when the file backend is active, how can SyncEvolution specify that all properties (including unknown X- extensions) can be stored? Isn't the device information based on listing all supported properties, which is not possible here?
In the context of the remainder of this article it is worth pointing out that currently the Funambol server doesn't use the information. ScheduleWorld has a special case for SyncEvolution which tells the server that SyncEvolution supports all properties; I think it uses the device information in other cases, but I'm not sure.
Until I used this command it didn't work.
Thanks for the interesting item. I'm just coming to SyncML on my N900 and finding out all the wrinkles.


Faith schools account for almost half of the top 500 state primary schools in the UK, latest league tables show.
Out of the top 100 state primaries, 48 are faith schools – 19 of them Church of England.
The good performance comes in the face of pressure from humanists to end the Government funding of faith schools.
Faith schools account for 37 per cent of all primary schools in the UK.
Professor Alan Smithers, Director of the Centre for Education and Employment Research, said faith schools were doing so well because they shared a set of religious values, based around a moral work ethic.
John Denning, Education Officer of The Christian Institute said: "Christian beliefs about the dignity of every child, made in God's image, and the value of learning about God's Word and God's world led to the founding of our education system.
Humanists UK are campaigning to end the state funding of faith schools in England.
The campaign is fronted by BBC presenter Alice Roberts, whose mother, a retired teacher, said she was upset by her daughter's decision.


MP3 : Grammy Gold - Esarn Muan Chuen ..Hit Bor Lerk. แกรมมี่ โกลด์ อีสานม่วนซื่น...ฮิตบ่เลิก. 50 morlum hits.
Karaoke VCD : Buapun Tungsoe - Tee Ded Jao Mae Lumsing. บัวผัน ทังโส. Greatest hits. 12 tracks.
Buapun Tungsoe : Tee Ded Jao Mae Lumsing. บัวผัน ทังโส. Greatest hits. 12 tracks.
MP3 : Grammy Gold - Muer Yarm Barn...Mun Kuk Kuk - Vol.2. 50 Loog thung dance hits.
Buapun Tungsoe & Srijun Wesri : Koo Eak Lum Sing. Duo album. 10 tracks.
Grammy Gold : Mun Muan Zabb 2. Special album. Yinglee Srijoomphol, Dok-Or Toongtong, Karnthong, Lumyong Nonghinhaw and Someboon Parkfai. 12 new tracks.
Concert VCD : Ruam Hit - Monruk Song Fung Khong Vol.4 - คอนเสิร์ตรวมฮิต มนต์รักสองฝั่งโขง ชุดที่ 4. Duenpenh, Somjit Borthong, Monrudee Promjuk, Chiang Sawun, Juntho Sopha and Watcharaporn Somsook.
Concert VCD : Ruam Hit - Monruk Song Fung Khong Vol.3 - คอนเสิร์ตรวมฮิต มนต์รักสองฝั่งโขง ชุดที่ 3. Duenpenh, Somjit Borthong, Monrudee Promjuk, Chiang Sawun, Lookprae MaiLaos and Watcharaporn Somsook.
Concert VCD : Ruam Hit - Monruk Song Fung Khong Vol.2 - คอนเสิร์ตรวมฮิต มนต์รักสองฝั่งโขง ชุดที่ 2. Duenpenh, Somjit Borthong, Monrudee Promjuk, Chiang Sawun and Watcharaporn Somsook.
MP3 : Chalermpol Malakum - Ruam Pleng Hit. 10 albums - 100 tracks.


Zachar Law Blog - Car crashes cost $871 billion a year in U.S.
Car crashes cost $871 billion a year in U.S.
Highway crashes create an enormous economic toll on the lives of Americans, the National Highway Traffic Safety Administration says in a new study. The annual price tag for those crashes: $871 billion in economic loss and societal harm in 2010.
Highway crashes create an enormous economic toll on the lives of Americans, the National Highway Traffic Safety Administration says in a new study. The annual price tag for those crashes: $871 billion in economic loss and societal harm in 2010. The total includes $277 billion in economic costs "" nearly $900 for each person living in the USA "" and $594 billion in societal harm from the loss of life and the pain and decreased quality of life because of injuries.
"No amount of money can replace the life of a loved one, or stem the suffering associated with motor vehicle crashes," U.S. Transportation Secretary Anthony Foxx said. "While the economic and societal costs of crashes are staggering, today's report clearly demonstrates that investments in safety are worth every penny used to reduce the frequency and severity of these tragic events."
A similar study in 2011 by auto club AAA found that each fatal crash in 99 urban areas arries an economic toll of about $6 million. That estimate was based on Federal Highway Administration data that place dollar values on 11 components: property damage; lost earnings; loss of household activities; medical costs; emergency services; travel delays; vocational rehabilitation; lost time at work; administrative costs; legal costs; and pain and lost quality of life.
NHTSA's study, "The Economic and Society Impact of Motor Vehicle Crashes, 2010," focuses on some of the behavioral factors that contributed to that year's 32,999 highway fatalities, 3.9 million injuries and 24 million damaged vehicles. It found that just three driver behaviors, speeding, drunken driving and distracted driving, accounted for 56 percent of the economic loss to the nation and 62 percent of the societal harm.
"Speeding. Crashes involving vehicles exceeding the speed limit or going too fast for conditions accounted for 21 percent of the total economic loss and cost $59 billion. These crashes were responsible for $210 billion - or 24 percent -- of the overall societal harm.
"Drunken driving. Crashes caused by drivers under the influence of alcohol accounted for 18 percent of the total economic loss from automobile wrecks and cost the nation $49 billion. These crashes were responsible for $199 billion - or 23 percent -- of the overall societal harm.
"Distraction. Crashes involving a distracted driver accounted for 17 percent of the total economic loss and cost $46 billion. These crashes were responsible for $129 billion "" or 15 percent -- of the overall societal harm.
"We want Americans to live long and productive lives, but vehicle crashes all too often make that impossible," said NHTSA's acting administrator, David Friedman. "This new report underscores the importance of our safety mission and why our efforts and those of our partners to tackle these important behavioral issues and make vehicles safer are essential to our quality of life and our economy."
Many people believe that car accident victims are just "trying to get rich" off car accident claims. I promise you, the people who think this do not understand the real effect and toll that car accident injuries have on people and their families. This study sheds some light on the " economic cost", but does not even begin to explain the effect of the physical, mental and emotional injuries on the real people involved in car crashes.
If you or a loved one has been through this, you have a much better understanding. There are few people to "want to get rich". That is not what they are thinking about. They are thinking about getting their car fixed, their medical bills paid and their lost wages reimbursed. Then, perhaps, some in addition for their pain, stress, anxiety and trouble? Not too much to ask, and you know that if you have been through it.
We'll keep blogging, and keep trying to educate you, one at a time if need be.


text:
Q: Use ray for parallelization of nearest neighbor search Suppose I have a big sparse matrix. I want to take each row vector of that matrix and compute the cosine distance to its nearest neighbor among the previous window_size rows of the matrix.
Since sklearn.neighbors does not improve run time when using parallelization (see this issue on github ), I tried to parallelize the process using ray. My code does better than sklearn with multiprocessing, but it's still slower than just serial distance computation.
My code is below. Is there something I have done wrong and should improve?
import scipy.sparse
from sklearn.metrics.pairwise import cosine_distances
from sklearn.neighbors import NearestNeighbors
import numpy as np
import timeit
import ray
import math

n = 4000
m = 100
big_matrix = scipy.sparse.random(n, m).tocsr()
window_size = 1000
retry = 1
n_jobs = 4
ray.init(num_cpus=n_jobs)

def simple_cosine_distance():
    distances = np.zeros(n)
    for i in range(1, n):
        past = big_matrix[max(0, i - window_size):i]
        query = big_matrix[i]
        distances[i] = cosine_distances(query, past).min(axis=1)

def sklearn_nneighbor():
    distances = np.zeros(n)
    for i in range(1, n):
        past = big_matrix[max(0, i - window_size):i]
        nn = NearestNeighbors(metric="cosine", n_neighbors=1, n_jobs=1)
        nn.fit(X=past)
        query = big_matrix[i]
        distance, _ = nn.kneighbors(query)
        distances[i] = distance[0]

def sklearn_nneighbor_parallel():
    distances = np.zeros(n)
    for i in range(1, n):
        past = big_matrix[max(0, i - window_size):i]
        nn = NearestNeighbors(metric="cosine", n_neighbors=1, n_jobs=n_jobs)
        nn.fit(X=past)
        query = big_matrix[i]
        distance, _ = nn.kneighbors(query)
        distances[i] = distance[0]

@ray.remote
def get_chunk_min(data, indices, indptr, shape, slice_i, slice_j, query):
    matrix = scipy.sparse.csr_matrix((data, indices, indptr), shape=shape)
    past = matrix[slice_i:slice_j]
    query = matrix[query]
    chunk_min = cosine_distances(query, past).min(axis=1)
    return chunk_min

def ray_parallel():
    distances = np.zeros(n)
    data = ray.put(big_matrix.data)
    indices = ray.put(big_matrix.indices)
    indptr = ray.put(big_matrix.indptr)
    shape = ray.put(big_matrix.shape)
    for i in range(1, n):
        chunk_size = math.ceil((i - max(0, i - window_size)) / n_jobs)
        chunk_mins = ray.get([
            get_chunk_min.remote(
                data,
                indices,
                indptr,
                shape,
                enum,
                enum + chunk_size,
                i
            ) for enum in range(max(0, i - window_size), i, chunk_size)])
        distances[i] = min(chunk_mins)

for method in ["simple_cosine_distance", "sklearn_nneighbor", "sklearn_nneighbor_parallel", "ray_parallel"]:
    print(method)
    print(timeit.timeit(method + "()", setup="from __main__ import " + method, number=retry))
    print("*"*50)

Output:

simple_cosine_distance
  3.978868665999471

sklearn_nneighbor
  4.265772191996803

sklearn_nneighbor_parallel
  28.664759318002325

ray_parallel
  17.89882287799992

A: https://docs.python.org/3/library/concurrent.futures.html
This documentation is a good resource to understand some mistakes you can do while are parallelizing workload using Ray.
Also note that, if your remote function is simple enough, the overhead of distributed computing (e.g. scheduling time, serialization time, etc.) can be bigger than function itself's computing time.

redpajama_set_name: RedPajamaStackExchange


text:
Freiwilligentätigkeiten
Statistical tools for measuring volunteering
verabschiedet on 10/12/2013
ECO/343-EESC-2013-1979
Krzysztof PATER (Diversity Europe - GR III / Poland)
Plenartagung:
Dez 10, 2013 Dez 11, 2013
Comparable data on volunteering in the individual EU Member States has never been available. Such activities, however, represent real economic value and this data could provide a very useful tool for facilitating implementation of many social and economic policies. Therefore the Committee calls on the European Commission to work on a standardised methodology for research into volunteer work and to ensure its adoption by the Member States via an appropriate EU Regulation. In so doing, use should be made of the ILO Manual on the Measurement of Volunteer Work. The Commission should also introduce binding legal measures to enable the non-profit sector to co-finance public grants with the economic value of volunteer work.
EU Aid Volunteers activities
REX/388-EESC-2013-4394
Mr Giuseppe Iuliano (Workers - GR II / Italy)
The EESC endorses views expressed in the European Consensus on Humanitarian Aid regarding the objectives and assets of humanitarian action and expresses its conviction that humanitarian aid includes protecting people affected by humanitarian crises, maintaining their dignity and respecting their rights. The Committee stresses the genuine nature of voluntary action which should not be confused with other types of action involving work Volunteer involvement must always be needs-based, following an analysis and assessment of the situation and the needs of populations affected by disasters or complex crises.
EU Policies and Volunteering
SOC/431-EESC-2012-824
Trantina (Diversity Europe - GR III / Czech Republic)
Stellungnahme des Ausschusses: EU Policies and Volunteering
European Year of Volunteering 2011
SOC/366-EESC-2009-1716
COM(2009) 254 final (2009/0072 (CNS)
EESC study reveals mismatch between volunteer energy and volunteering opportunities
Support needed for volunteer organisations and individual volunteering initiatives
Celebrate and empower volunteering for a sustainable future
To promote volunteering, the EU should create a European Year of Volunteers in 2025, reach out to older volunteers and collect data on this activity which is of precious value for Europe's future, says the EESC
Volunteering empowers society as a whole and each one of us as individuals
Volunteers do not just deliver services that benefit communities, they also play an essential role in promoting European values and creating a better future for the EU
Volunteers – citizens building the future of Europe
Rue Belliard 99, 1040
In the context of the own-initiative opinion on Volunteers – Citizens building the future of Europe, the European Economic and Social Committee (EESC) is organising a remote public hearing on Monday 20 September 2021. The aim of the hearing is to gather the points of view of social partners and other civil society organisations, experts and coordinators of projects related to volunteering, on the topic, and to hold a discussion on the impact of civil society trends for volunteering and the current state of play of volunteering at European level.
Civil Society Days 2021
A Sustainable Recovery for the Future of Europe's Citizens
Following the outbreak of the COVID-19 pandemic, 2020 has proved to be an endurance test for human and social rights, democratic values, the rule of law and economic resilience in the EU. While navigating stormy waters, organised civil society is playing a key role in coping with the countless pandemic-related challenges at European, national, regional and local level.
POSTPONED DUE TO COVID-19 / The role of volunteering in the implementation of the UN Sustainable Development Goals
Ten years on from the European Year of Volunteering
Al. Ujazdowskie 1/3 (Chancellery of the Prime Minister)
The conference was originally planned for 12 March 2020, but it has been postponed due to the sanitary situation resulting from the COVID-19 pandemic.
Fachgruppe Beschäftigung, Sozialfragen, Unionsbürgerschaft (SOC)


text:
Strangalia acuminata is een keversoort uit de familie van de boktorren (Cerambycidae). De wetenschappelijke naam van de soort werd voor het eerst geldig gepubliceerd in 1795 door Olivier.

acuminata

redpajama_set_name: RedPajamaWikipedia


Many thanks to all the Dads and other family members who were able to join us today for Father's Day lunch! We hope you all enjoyed your pizza or fish fingers, playing on the field and of course spending some quality time with your children. Please take a look at the photographs below of this special event!


The month of April is famous for number of events and observances. For those who are fond of singing, April 23 is observed as International Sing Out Day. Hence, if you have some passion for singing and want your talented to be spotted then do not hold yourself back. Try singing the song you like and let the others know that you can be one among the future's rock star. The International Sing Out Day has a lot for those who are crazy about singing. Nevertheless, it is good to have some information about this unique day.
There is not much information available about the origin of International Sing Out Day. However, it is believed that April is the peak of Spring season and the weather in most parts of the world remains quite pleasant. Considering that, many birds are observed chirping and singing throughout the spring season. Therefore, for this reason this one day in April is named as International Sing Out Day. Besides, there are no Presidential records supporting the official existence of this day.
You might be thinking, if there is nothing to support the existence of this day then what is the point to observe the International Sing Out Day. Very simple is the answer, as this day is celebrated to encourage those amateur singers who have the ability to make an impact on the world through singing but are holding themselves behind for some reasons.
The International Sing Out Day is celebrated around the globe with an aim to discover the hidden talents in the field of singing. If you have passion for singing or perhaps you know someone who wants to test the talent for singing, then this amazing day has a lot to offer. Get ready to celebrate the International Sing Out Day in order to make it a memorable day for the singers.


Labarde L size: Large pictured in large size features: -Urn. -Interior is velvet lined. -Comes packaged in a velvet bag. -Temporary urn fits comfortably inside. Large size holds 235 cubic inches (225 lbs.). Options: -Available in small or large sizes. Color/finish: -Finish: Maple burl with walnut side inlays. -High lacquer finish. Large dimensions: 9. 1'' h x 5. 2'' w x 7. 4'' d.
If you have any questions about this product by Chateau Urns, contact us by completing and submitting the form below. If you are looking for a specif part number, please include it with your message.


text:
A mom's fairytale draft spoiled by employer _ the 76ers
Originally published June 21, 2018 at 11:29 pm Updated June 22, 2018 at 8:55 am
NEW YORK (AP) — Tyneeha Rivers walked into Barclays Center for the NBA draft with her son, Mikal Bridges.
Like any parent, she was full of emotions: pride, excitement — just a bundle of nerves.
But Rivers had somewhat of a parental advantage, she works for an NBA team, the Philadelphia 76ers. So when her son — who starred at Villanova — was taken by the 76ers with the 10th overall pick, she couldn't believe it.
"It's amazing" Rivers, vice president of human relations for the 76ers, said in an ESPN interview with her son sitting in front of her wearing a 76ers baseball cap after he was drafted. "It's an experience I'll never forget. I'm so excited he's coming home to be part of our Sixers family. It's amazing.
"Go Sixers!"
Unfortunately, it was a fleeting moment, thanks to the sometimes cruel business side of basketball.
The 76ers put a quick end to the fairy tale — hometown hero who led the local school to national championships and now about to join the surging hometown NBA team — by promptly trading Bridges, who they took with the 10th overall pick, to the Suns in a deal they felt was too good to pass up. Philadelphia got Zhaire Smith (the 16th overall pick) and a 2021 first-round pick for the rights to Bridges.
And though the storybook ending lasted only a few minutes for Rivers, she and her son didn't walk away empty handed.
After all, being a top-10 pick in the NBA draft is something to celebrate — in Philadelphia or Phoenix.
More AP NBA: https://apnews.com/tag/NBAbasketball


Access to monthly audio posts of the new projects in the CCS production queue. Don't be left hanging! Learn more about new videos, audio podcasts, webcomics, and even possibly get hints at bigger projects that we are actively working on!
Exclusive Art and Screenshots. Receive access to our posts where you can see screenshots of upcoming content and even exclusive art and sketches from the CCS artist, The Fuboo! Includes access to everything in the $2 tier.
Participate in the monthly Wild Cards recording. Choose a topic and join us in a live chat in our Wild Cards monthly Google Hangouts livestream. The best monthly conversations will be uploaded as Wild Cards episodes on our YouTube channel. Additionally, get access to our Discordapp.com server chatroom and mingle with CCS members and other Contributors! Includes access to everything in the $2 and $5 tiers.
Receive a custom avatar of yourself created by CCS artist, The Fuboo! AND as a bonus, receive exclusive sneak peeks and preview videos for the new content coming to CCS. Includes access to everything in the $2, $5, and $10 tiers.


Is there a way to reverse engineer the password from this code?
EDIT: The factors for that number are: 2237 and 476911. This is the problem since they are not found in the first 26 primes.
It just multiplies together numbers matching characters in the password, the order doesn't matter, so all you need is to factor the number. This is complicated by the fact that val is a 32-bit value so multiplications can overflow. In this case that happens 16527 times for the simplest matching password. To solve the puzzle you need to use 64-bit integers to brute-force the number of overflows and try factoring each option. Simply trying all lowercase strings would also work, the password has only 9 letters.
What this code seems to do is match a password regardless of the order in which it appears. For example, if my password was "BugsBunny" it will accept "BBgnsuuy". You can obtain this, but not the original order.
The method will always return false, since the variable "val" will never have the value 1066849907 because 2237 and 476911 (the primes which multiplied give this value) are not in the primes array.
So either there is no valid password either there is a mistake in the code and there should've been a different number than 1066849907.
Anyway, a highly ineffective and insecure way to verify a password. It ignores all uppercase letters from "password", all digits and special chars and does not take into account the position of a character within the password string.
Basically as long as the number which is compared against "val" can be divided as a product of prime numbers from the primes array there's an infinite number of strings which would pass as valid passwords.
which way is effective to store images into database using JSP through html?
c++ - Can a std::string be assigned within a constructor?


When will my product ship out?
We shoot to have our umbrella's shipped out within one to three business days.
Standard Shipping to anywhere in Canada is $10.00, if you purchase 3 or more umbrella's, shipping is on us. Standard Shipping to the United States is $15.00. We currently do not ship internationally.
We accept all major credit cards: MasterCard, Visa, American Express and PayPal. We currently do not accept payment by check or money order.


Benefits: This WOD will be focusing on slow eccentric movements while performing 10 different pushup movements. This will help increase stability and muscle recruitment.
Equipment: None, mat suggested for those who need to modify from their knees.
1. Normal Push-up: Hands shoulder width apart and perform 10 repetitions with the eccentric (negative) movement taking 4-5 seconds and then press up. That's one repetition. Perform 10.
2. Narrow: Hands are much closer together to focus on triceps. Perform 10 reps.
3. Wide: Hands are much wider than normal position. This focuses on the chest muscles. Perform 10 reps.
4. Stagger: Place one hand above the other and normal width. Perform 10 reps.
5. Stagger opposite: Switch hand position and perform 10 reps.
6. One hand normal and wide: Place right hand in the normal position and left hand in wide position. Perform 10 reps.
7. One hand normal and wide: Switch hand placement and perform 10 reps.
8. Right leg up: Normal push-up position and raise right leg off ground. Perform 10 reps.
9. Left leg up: Normal push-up position and raise left leg off ground. Perform 10 reps.
10. Normal or Decline: Advanced can place legs on an ab ball, bench or box. Perform 10 reps.
*Note: Modified can be done on knees. Limit breaks in between movements and don't sacrifice form for speed.
Copyright 2018. Fire Team Whiskey, LLC, All Rights Reserved.
Perform a time saving muscular endurance WOD with both upper and lower body movements.
Can be done with any form of resistance. Can be done in a variety of places and environments.
Light dumbbells, or bands or bodyweight.
Pick a lightweight form or resistance.
Perform 12 reps of an upper body movement (bicep curl). Perform 12 reps of a squat with the weight at your side. No rest.
Perform 11 reps of the biceps curl, then 11 squats. No rest.
Perform 10 reps of the biceps curl, then 10 squats. No rest.
Repeat method of waterfall until you reach 1 rep and you're finished.
Pick a weight that will allow you to perform high volume reps with no breaks.
Progress up in weight after you have completed this style of WOD a few times.
Never sacrifice form for weight.