We will be migrating trinity.uk.eu.seersirc.net on November 16th 11AM to 11:30AM GMT.
As well as IPv6, this new server will also bring even better performance for trinity and a bigger user capacity.
If you have any questions at all, please feel free to /join #Help and ask.
Posted on Wed Nov 14th, 2012 a	3:20pm UTC by Chris. (0) comments.
Recently we have made some major changes to our network infrastructure and all has gone smoothly.
Posted on Sun Feb 26th, 2012 a	6:28am UTC by Niphyr. (0) comments.
We have added TeamSpeak to the services we provide. We are providing both a social public channel as well as providing private channels for groups that would desire it.
Posted on Fri Mar 25th, 2011 a	11:40pm UTC by Chris. (0) comments.
We've added a new UK-based server to the network. Connect to trinity.uk.seersirc.net if you want to use it.
Posted on Sun Mar 20th, 2011 a	10:42am UTC by Jason. (0) comments.
*** Update #2 - This application period has now closed, please view the full article for more details.
*** Update - Just to clarify we are looking for IRC Operators not HelpOps. To apply as a helpop please see the Help forums.
We are looking to expand our staff team and to try and broaden our internal skills and create new opportunities for SeersIRC.
If you are a driven individual who wants to be a part of a close team working on building a better community please consider applying.
IRC knowledge isn't our highest priority as we can easily teach the required technical skills for the IRC moderation and support portions of your role.
Posted on Sun Oct 3rd, 2010 a	2:04pm UTC by Niphyr. (2) comments.
Lions and tigers and updates, oh my! There will be two short netsplits in the future (8:30am Feb 5th GMT) as we juggle hubs so that updates can be performed on our hub server.
Posted on Fri Feb 5th, 2010 a	7:34am UTC by Jason. (1) comments.
There will be some preventative maintenance on prophet.tx.us.seersirc.net on July 16th 11PM to 11:30PM CDT (July 17th, 4AM to 4:30AM GMT).
Posted on Wed Jul 8th, 2009 a	8:19am UTC by Jason. (0) comments.
SeersIRC is home to an active and friendly help team, we're looking for normal users like you to join us. As Long as you're friendly and active, you're almost there!
We need people who feel they can effectively help other users on IRC, may it be general questions about commands and effects, specific IRC commands, or how to find documents which could further help with IRC commands and knowledge. We're not asking that you know everything, only that you know and understand the basic commands and what they do, how to use the help docs (/*s HELP) and be able to work as part of a team.
Posted on Fri Jul 3rd, 2009 a	9:16pm UTC by Chris. (0) comments.
Posted on Mon Apr 20th, 2009 a	2:38am UTC by Jason. (2) comments.
RBL made Private and Moving things around.
Our RBL has now been taken offline. It is only availible to the SeersIRC network but upon request we'll happily add your network(s) to our allowed list if you're willing to contribute.
In 2007 we created an RBL for SeersIRC which for those that don't know, is a blacklist of malicious IPs, that we kept up to date from IPs that have flooded our network. We created it with the goal of providing it free to all who wish to contribute, to try and keep an accurate and useful little list for IRC administrators.
It has however been largely abused with only 24 IPs of around 15,000 active coming from external sources. We have however had millions of requests from thousands of sources which is completely against the ideals behind making it public.
Posted on Sat Apr 4th, 2009 a	11:31am UTC by Niphyr. (3) comments.
IRCd's, services, modules, and well, that's about it. We're going to be upgrading two of our servers soon, guardian and spirit. We ask that all users connect to irc.seersirc.net instead of specific servers, so that you're connected to servers that won't be affected.
Also, bs_fantasy_ext has been removed from services, so some of the !commands that used to work may not work any longer. If you have any questions on how to perform actions that you used to use one of these for, please join #help and we will answer any questions that arise.
Posted on Tue Mar 31st, 2009 a	5:47am UTC by Jason. (2) comments.
For some time the version of Services we use has had an exploit with the !unban command. We patched this update ourselves with a couple of temporary measures but we're now in a position to provide a permanent fix through upgrading services to a newer version.
The catch is this will change how !unban works and as it's something that is quite commonly used we feel it extremely important to get input from you all before we make any changes.
This is the first of a few 'new/modified' features we'll be discussing in the coming weeks so stay tuned as we value your input!
Posted on Fri Feb 27th, 2009 a	9:35am UTC by Niphyr. (12) comments.
The last 3 weeks have been the bearers of bad news and unfortunately we are announcing the departure of 3 of our team members. Leppy, Ryan and Cory have all been valuable addition to the SeersIRC community and will be sorely missed. For Ryan and Cory we wish you all the best getting things sorted out and hope to see you back in the not-to-distant future!
To Leppy, thank you for all your help, through the good times and the bad, it's been fun and won't be the same without you.
Posted on Sun Feb 22nd, 2009 a	2:22pm UTC by Niphyr. (13) comments.
Too often I see someone saying they have 'been hacked' or someone's IRC/Forum was 'hacked'. There are many measures you can all take to improve your security and to keep your personal information and personal access just that, personal!
The basics of most related topics are covered from Encryption to Salting and check out the end of the post for a handy check-list and password strength checker.
Posted on Wed Feb 4th, 2009 a	5:13am UTC by Niphyr. (5) comments.
Yes, it's true! It's hard to believe that SeersIRC's 3rd birthday is upon us. The last year has gone by in a blur. Looking back, there have been many changes, big and small. Some of which are visible, like dynamic signatures and a new look website yet others less noticeable such as those which have gone on behind the scenes helping to ensure the network run more smoothly.
The staff - Niphyr, Jason, Seraph, SAND, Leppy, witch, Tom, Ryan, SpaldoX and Chris - and all the SeersIRC team would like to say a huge thanks to all of you for choosing SeersIRC as your IRC home.
Posted on Tue Jan 27th, 2009 a	3:27am UTC by Niphyr. (11) comments.
Netsplits - Why and what we can do about them?
From time to time we experience netsplits as all IRC Networks do. This article attempts to explain todays split as well as other information regarding netsplits including What they are?, What we do about them?, What you can do if caught in one? and of course What causes them?
Due to the nature of the internet and the IRC protocol they are inevitable but this explains just what is and can be done to minimise the impact in the event such a thing happens.
Posted on Sun Jan 18th, 2009 a	2:38am UTC by Niphyr. (4) comments.
SeersIRC is now offering Dynamic Signatures in various shapes and sizes which have stats based on your current IRC status. Usage is free and they're easy to setup!
We currently have limited styles to choose from but we'll welcome anyone who wants to donate a background to us to add to our list.
Posted on Fri Sep 26th, 2008 a	11:37pm UTC by Jason. (18) comments.


text:
Q: How to show joomla 3 user group in front end In my component front end view layout I want to make a decision based on the group(s) that the user is a member.
My code:
    $user = JFactory::getUser();
    $userGroups = $user->getAuthorisedGroups();
          if (in_array('10', $userGroups)) {
                echo "Test Group!";
          }elseif{ ...........

The code above shows that if there is a group id value 10, an action will happen.
Joomla assigns a number of group ids like Public is 1, Registered is 2 etc.
Is there a system call that can provide the textual value for these IDs?  The only way I currently know that there is a value 10 in the example above is to access the back end and look at the User Manager::User Groups page and visually check the value.  These values can change depending on the site and the order the groups are created.  It would be great to have a system call for the values.

A: Why don't you just do with the User and Usergroups - it's quite easy.
All Users are connected to one or more Usergroup. And You can add Usergroups width names of your own choice. Both menu items and modules can be conditional on a specific user group is logged on to the displayed
If You want more spcecific information, your welcome to aks.

redpajama_set_name: RedPajamaStackExchange


This ETF is one of several products designed to offer exposure to a basket of dividend-paying equities, but one of few that combines this objective with a global scope. SDIV can be used in a variety of different ways within a portfolio; it may have appeal as a core holding as part of a long-term, buy-and-hold strategy that emphasizes current return, and could also be useful for establishing a shorter-term tactical tilt towards a group of equities that offer attractive distributions and a unique risk/return profile. SDIV is also unique in the weighting methodology employed. While many dividend ETFs use a dividend-weighted or cap-weighted methodology, SDIV is linked to an equal-weighted index. That approach has several potential benefits: it breaks the link between stock price and allocation (a common criticism of cap-weighted funds) and avoids concentration of holdings in a small number of holdings. The equal-weighting approach will also force a disciplined rebalancing of holdings, taking gains from stocks that have performed well recently and moving them into names that have lagged behind. For investors looking to establish exposure to a dividend-focused fund, SDIV is one of several good options. It makes sense to compare the yields of the potential options, as well as the geographic allocation and the balance of holdings (SDIV will be hard to beat on that front). Other funds with a global focus and emphasis on dividends include DEW and FGD.
The adjacent table gives investors an individual Realtime Rating for SDIV on several different metrics, including liquidity, expenses, performance, volatility, dividend, concentration of holdings in addition to an overall rating. The "A+ Metric Rated ETF" field, available to ETFdb Pro members, shows the ETF in the Small Cap Blend Equities with the highest Metric Realtime Rating for each individual field. To view all of this data, sign up for a free 14-day trial for ETFdb Pro. To view information on how the ETFdb Realtime Ratings work, click here.
The following chart also includes the option to compare the performance of SDIV relative to other ETFs and benchmarks or to include indicators such as Bollinger Bands, relative strength, and moving averages.


text:
ESO — Reaching New Heights in Astronomy
ESO for the Public > Outreach > Education
Venus Transit 2004
Brief InfoSheets
Extended InfoSheets
Observing Campaign Results
Safety!
Brandys Meeting
VT-2004 Network
Day of Transit
Now ...
Ten Days Before ...
Few Days Before ...
The Day ...
Central Display
Observers Locations
CD Archive
The Venus Transit 2004
... Extended InfoSheet D3
Printable Page: html PDF
Venus' orbit and visibility - day, night and seasons on Venus
With a mean distance of about 108 million kilometres or 0.72 AU, Venus is the second closest planet to the Sun and our nearest planetary neighbour. Its orbit about the Sun takes 225 days with its distance from the Sun being almost three-quarters of the Earth's.
Venus and its position in the solar system
The Earth's sister planet revolves around our central star in an elliptical orbit that is the most circular of any planet. The difference between its aphelion (the orbital point farthest from the Sun) and perihelion (the orbital point where a body is closest to the Sun) is only 1.5 million km, which gives its orbit an eccentricity - that is the ratio of the distance between the foci of an ellipse to the length of its major axis - of 0.007, the lowest of any planet. For comparison, the eccentricity of the Earth's orbit is 0.0167. The inclination of the Venusian orbit to the plane of the Ecliptic (the Ecliptic is the projection of the Earth's orbit onto the celestial sphere) is about 3° 24'.
The inclination of the planetary orbits to the plane of the Ecliptic
With an orbital speed of about 35 km/s (the Earth moves at 30 km/s), the siderial and synodic periods of Venus are about 225 and 584 days respectively. The term "siderial period" means the interval of time one body needs to complete one revolution around another body with reference to the stars and the "synodic period" is the interval of time until Venus is again in the same position relative to the Sun, as seen from the Earth. The orbit of Venus which lies inside the Earth's orbit takes it closer to Earth than any other planet. So Venus can be very easily seen from the Earth. It is often called the Morning or Evening Star and it is often the brightest object in the sky, with the exception of the Sun and Moon. At its brightest it reaches magnitude -4.7, far brighter than any other planet.
The phases of Venus
Like all other planets, including our own Moon, Venus shines by reflected sunlight. Moreover, as its orbit is inside the Earth's, Venus displays phases which are very similar to those of the Moon. Galileo Galilei was the first astronomer who discovered this phenomenon by using a telescope and it helped him to confirm that the planets are bodies like the Earth. The entire set of Venusian phases could not be explained with the Ptolemaic Earth-centred system. The main difference is that, because of the changing distance between Earth and Venus, its apparent size changes considerably more than does the Moon's.
Phases of Venus
Another difference between the phases of Venus and the Moon is that, seen from the Earth, it is not normally possible to observe Venus when it is "full" because it is then on the other side of the Sun (at superior conjunction, see below) and located very close to the Sun in the sky. Venus is brightest when it appears as a crescent. That is the case when Venus is in the evening sky and it appears to move from its maximum distance, called "greatest elongation", back towards the Sun. When it appears in the morning sky, it is brightest before greatest elongation.
Configurations of Venus
Venus is the closest planet to the Earth at inferior conjunction, a distance of 42 million km. The term "inferior conjunction" refers to the configuration when an inner planet passes between the Sun and the Earth. Venus appears in front of the Sun in the sky and it can sometimes happen that Venus transits the Sun's disk. But it is a rare phenomenon, because it occurs only when Venus is at inferior conjunction close to one of its nodes (See: What is the significance of the transit of Venus?)
At superior conjunction, Venus is on the opposite side of the Sun and nearly 257 million km from the Earth. This great difference in distance from the Earth produces a large variation in its apparent size. At superior conjunction, Venus' apparent diameter is about 10" and at inferior conjunction about 64".
The maximum elongation of Venus is about 47 degrees. Venus is a remarkable object in the night sky at its brightest, 35 days before or after inferior conjunction, when one third of the visible surface is illuminated. Under favourable conditions it is even possible to see the crescent shape of Venus with binoculars.
The rotation of Venus
The rotation period was unknown for a long time. Observers in the past saw faint hints of structure in the clouds, which seemed to indicate that these clouds might circle the planet in about four days, moving in the opposite sense to Venus' orbital revolution. Finally in 1962, radar waves penetrated the clouds and the measurements revealed that the rotation period is 243 days in a direction opposite to the other planets; this backwards motion is called retrograde motion, to distinguish it from prograde (forward) rotation.
The planet spins from east to west, rather than west to east, like the Earth; so on Venus, the Sun (though invisible through the clouds) rises in the west and sets in the east. This slow retrograde rotation results in a solar day on Venus lasting 117 terrestrial days. The slow rotation of the solid surface contrasts with the rapid rotation of the clouds. The clouds rotate in the same sense as the surface of Venus but more rapidly, once every four days (See: The clouds of Venus!). The axis of rotation is almost perpendicular to the orbital plane; the inclination being 177 degrees.
The fact that Venus is in retrograde rotation seems very strange to astronomers, since the planets orbit the Sun in one direction and almost all the planets and satellites spin in the same direction. So it is difficult to explain why Venus spins "the wrong way". One possibility depends on the idea that when Venus was in the process of forming, the planetesimals formed clumps of different sizes. Perhaps the second largest clump struck the largest clump at such an angle as to cause the resulting clump to rotate backwards. Another possibility is that sometime later in Venus' history a comet, asteroid or large heavenly body crashed into it causing it to flip. But these ideas are not supported by any good physical evidence, and it is strange that Venus ends up rotating slowly backwards instead of being tipped over at a random angle like Uranus.
So it is generally believed that for terrestrial planets with dense atmospheres like Venus one reason for developing a retrograde rotation from a prograde rotation (in the same direction as the other planets) could be the core-mantle friction inside the planet - together with atmospheric tides, and the "obliquity" angle between the planet's equator and the plane of its orbit around the Sun.
Seasons on Venus?
One of the important characteristics of the Earth is its seasonal cycle - Winter, Spring, Summer and Autumn. It causes changes of vegetation especially in the mid-latitudes of our planet. But every planet in the solar system has seasons, because seasons are caused by two factors: axial tilt and varying distance from the Sun due to orbital eccentricity. Since the Earth's orbit is nearly circular, it has little effect on the seasons. The main factor is our planet's axial tilt which causes almost all seasonal change. When the north pole is tilted toward the Sun, it is northern spring and summer. Six months later the north pole tilts away from the Sun and we experience northern autumn and winter.
Venus and Jupiter both have quite small axial tilts of about three degrees compared to the Earth's 23.5 degree tilt. Consequently seasonal changes on those planets are correspondingly small. Spring on Venus is not very different from autumn. The plane's dense, acidic atmosphere produces a runaway greenhouse effect (See: The clouds of Venus!) that keeps the surface at 500 degrees Centigrade the year round - that's hot enough to melt lead!
Seasons on Venus, Earth, Jupiter and Mars
Vernal equinox Summer solstice Autumnal equinox Winter solstice
PLANET e ( orbital eccentricty ) spin axis tilt (deg) Spring begins Summer begins Autumn begins Winter begins
Venus 0.01 3 Feb 24, '00
19.30 UT Apr. 1, '00
16.00 UT May 28, '00
0400 UT Jul 22, '00
1800 UT
Earth 0.02 23.5 Mar 20, '00
0735 UT Jun 21, '00
0148 UT Sep 22, '00
1727 UT Dec 21, '00
Mars 0.09 24 May 31, '00
Jun 12, '01 Nov 2, '01
Jupiter 0.05 3 August 1997 May 2000 March 2003
Go to the corresponding Brief InfoSheet
Back to the List of Extended InfoSheets.
Last Update: 03.04.07 © ESO
Send us your comments! | Subscribe to Newsletter | Privacy Statement

redpajama_set_name: RedPajamaCommonCrawl


text:
// Patterns: 0

using Castle.MicroKernel.Registration;
using Castle.MicroKernel.SubSystems.Configuration;
using Castle.Windsor;
using Ninject;

namespace TestApplication.Ninject
{
    // THIS FILE IS NOT BEING COMPILED, AND IS SET TO BE IGNORED BY RESHARPER
    // this file tests what happens if the plugin tries to analyze unresolved types
    public class BrokenReference
    {
        public BrokenReference()
        {
            var kernel = new StandardKernel();
            kernel.Bind<IDontExist>().To<DontExistImplementation>();
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
/* See LICENSE for licensing information */

/**
 * \file ntmain.c
 *
 * \brief Entry points for running/configuring Tor as a Windows Service.
 *
 * Windows Services expect to be registered with the operating system, and to
 * have entry points for starting, stopping, and monitoring them.  This module
 * implements those entry points so that a tor relay or client or hidden
 * service can run as a Windows service.  Therefore, this module
 * is only compiled when building for Windows.
 *
 * Warning: this module is not very well tested or very well maintained.
 */

#ifdef _WIN32

#include "or.h"
#include "config.h"
#include "main.h"
#include "ntmain.h"

#include <event2/event.h>

#include <windows.h>
#define GENSRV_SERVICENAME  "tor"
#define GENSRV_DISPLAYNAME  "Tor Win32 Service"
#define GENSRV_DESCRIPTION  \
  "Provides an anonymous Internet communication system"
#define GENSRV_USERACCT "NT AUTHORITY\\LocalService"

// Cheating: using the pre-defined error codes, tricks Windows into displaying
//           a semi-related human-readable error message if startup fails as
//           opposed to simply scaring people with Error: 0xffffffff
#define NT_SERVICE_ERROR_TORINIT_FAILED ERROR_EXCEPTION_IN_SERVICE

static SERVICE_STATUS service_status;
static SERVICE_STATUS_HANDLE hStatus;

/* XXXX This 'backup argv' and 'backup argc' business is an ugly hack. This
 * is a job for arguments, not globals.  Alas, some of the functions that
 * use them use them need to have fixed signatures, so they can be passed
 * to the NT service functions. */
static char **backup_argv;
static int backup_argc;

static void nt_service_control(DWORD request);
static void nt_service_body(int argc, char **argv);
static void nt_service_main(void);
static SC_HANDLE nt_service_open_scm(void);
static SC_HANDLE nt_service_open(SC_HANDLE hSCManager);
static int nt_service_start(SC_HANDLE hService);
static int nt_service_stop(SC_HANDLE hService);
static int nt_service_install(int argc, char **argv);
static int nt_service_remove(void);
static int nt_service_cmd_start(void);
static int nt_service_cmd_stop(void);

/** Struct to hold dynamically loaded NT-service related function pointers.
 */
struct service_fns {
  int loaded;

  /** @{ */
  /** Function pointers for Windows API functions related to service
   * management.  These are NULL, or they point to the .  They're set by
   * calling the LOAD macro below.  */

  BOOL (WINAPI *ChangeServiceConfig2A_fn)(
                             SC_HANDLE hService,
                             DWORD dwInfoLevel,
                             LPVOID lpInfo);

  BOOL (WINAPI *CloseServiceHandle_fn)(
                             SC_HANDLE hSCObject);

  BOOL (WINAPI *ControlService_fn)(
                             SC_HANDLE hService,
                             DWORD dwControl,
                             LPSERVICE_STATUS lpServiceStatus);

  SC_HANDLE (WINAPI *CreateServiceA_fn)(
                             SC_HANDLE hSCManager,
                             LPCSTR lpServiceName,
                             LPCSTR lpDisplayName,
                             DWORD dwDesiredAccess,
                             DWORD dwServiceType,
                             DWORD dwStartType,
                             DWORD dwErrorControl,
                             LPCSTR lpBinaryPathName,
                             LPCSTR lpLoadOrderGroup,
                             LPDWORD lpdwTagId,
                             LPCSTR lpDependencies,
                             LPCSTR lpServiceStartName,
                             LPCSTR lpPassword);

  BOOL (WINAPI *DeleteService_fn)(
                             SC_HANDLE hService);

  SC_HANDLE (WINAPI *OpenSCManagerA_fn)(
                             LPCSTR lpMachineName,
                             LPCSTR lpDatabaseName,
                             DWORD dwDesiredAccess);

  SC_HANDLE (WINAPI *OpenServiceA_fn)(
                             SC_HANDLE hSCManager,
                             LPCSTR lpServiceName,
                             DWORD dwDesiredAccess);

  BOOL (WINAPI *QueryServiceStatus_fn)(
                             SC_HANDLE hService,
                             LPSERVICE_STATUS lpServiceStatus);

  SERVICE_STATUS_HANDLE (WINAPI *RegisterServiceCtrlHandlerA_fn)(
                             LPCSTR lpServiceName,
                             LPHANDLER_FUNCTION lpHandlerProc);

  BOOL (WINAPI *SetServiceStatus_fn)(SERVICE_STATUS_HANDLE,
                             LPSERVICE_STATUS);

  BOOL (WINAPI *StartServiceCtrlDispatcherA_fn)(
                             const SERVICE_TABLE_ENTRYA* lpServiceTable);

  BOOL (WINAPI *StartServiceA_fn)(
                             SC_HANDLE hService,
                             DWORD dwNumServiceArgs,
                             LPCSTR* lpServiceArgVectors);

  BOOL (WINAPI *LookupAccountNameA_fn)(
                             LPCSTR lpSystemName,
                             LPCSTR lpAccountName,
                             PSID Sid,
                             LPDWORD cbSid,
                             LPTSTR ReferencedDomainName,
                             LPDWORD cchReferencedDomainName,
                             PSID_NAME_USE peUse);
  /** @} */
} service_fns = { 0,
                  NULL, NULL, NULL, NULL, NULL, NULL,
                  NULL, NULL, NULL, NULL, NULL, NULL,
                  NULL};

/** Loads functions used by NT services. Returns on success, or prints a
 * complaint to stdout and exits on error. */
static void
nt_service_loadlibrary(void)
{
  HMODULE library = 0;
  void *fn;

  if (service_fns.loaded)
    return;

  if (!(library = load_windows_system_library(TEXT("advapi32.dll")))) {
    log_err(LD_GENERAL, "Couldn't open advapi32.dll.  Are you trying to use "
            "NT services on Windows 98? That doesn't work.");
    goto err;
  }

/* Helper macro: try to load a function named f from "library" into
 * service_functions.f_fn.  On failure, log an error message, and goto
 * err.
 */
#define LOAD(f) STMT_BEGIN                                              \
    if (!(fn = GetProcAddress(library, #f))) {                          \
      log_err(LD_BUG,                                                   \
              "Couldn't find %s in advapi32.dll! We probably got the "  \
              "name wrong.", #f);                                       \
      goto err;                                                         \
    } else {                                                            \
      service_fns.f ## _fn = fn;                                        \
    }                                                                   \
  STMT_END

  LOAD(ChangeServiceConfig2A);
  LOAD(CloseServiceHandle);
  LOAD(ControlService);
  LOAD(CreateServiceA);
  LOAD(DeleteService);
  LOAD(OpenSCManagerA);
  LOAD(OpenServiceA);
  LOAD(QueryServiceStatus);
  LOAD(RegisterServiceCtrlHandlerA);
  LOAD(SetServiceStatus);
  LOAD(StartServiceCtrlDispatcherA);
  LOAD(StartServiceA);
  LOAD(LookupAccountNameA);

  service_fns.loaded = 1;

  return;
 err:
  printf("Unable to load library support for NT services: exiting.\n");
  exit(1);
}

/** If we're compiled to run as an NT service, and the service wants to
 * shut down, then change our current status and return 1.  Else
 * return 0.
 */
int
nt_service_is_stopping(void)
{
  /* If we haven't loaded the function pointers, we can't possibly be an NT
   * service trying to shut down. */
  if (!service_fns.loaded)
    return 0;

  if (service_status.dwCurrentState == SERVICE_STOP_PENDING) {
    service_status.dwWin32ExitCode = 0;
    service_status.dwCurrentState = SERVICE_STOPPED;
    service_fns.SetServiceStatus_fn(hStatus, &service_status);
    return 1;
  } else if (service_status.dwCurrentState == SERVICE_STOPPED) {
    return 1;
  }
  return 0;
}

/** Set the dwCurrentState field for our service to state. */
void
nt_service_set_state(DWORD state)
{
  service_status.dwCurrentState = state;
}

/** Handles service control requests, such as stopping or starting the
 * Tor service. */
static void
nt_service_control(DWORD request)
{
  static struct timeval exit_now;
  exit_now.tv_sec  = 0;
  exit_now.tv_usec = 0;

  nt_service_loadlibrary();

  switch (request) {
    case SERVICE_CONTROL_STOP:
        case SERVICE_CONTROL_SHUTDOWN:
          log_notice(LD_GENERAL,
                     "Got stop/shutdown request; shutting down cleanly.");
          service_status.dwCurrentState = SERVICE_STOP_PENDING;
          event_base_loopexit(tor_libevent_get_base(), &exit_now);
          return;
  }
  service_fns.SetServiceStatus_fn(hStatus, &service_status);
}

/** Called when the service is started via the system's service control
 * manager. This calls tor_init() and starts the main event loop. If
 * tor_init() fails, the service will be stopped and exit code set to
 * NT_SERVICE_ERROR_TORINIT_FAILED. */
static void
nt_service_body(int argc, char **argv)
{
  int r;
  (void) argc; /* unused */
  (void) argv; /* unused */
  nt_service_loadlibrary();
  service_status.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
  service_status.dwCurrentState = SERVICE_START_PENDING;
  service_status.dwControlsAccepted =
        SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;
  service_status.dwWin32ExitCode = 0;
  service_status.dwServiceSpecificExitCode = 0;
  service_status.dwCheckPoint = 0;
  service_status.dwWaitHint = 1000;
  hStatus = service_fns.RegisterServiceCtrlHandlerA_fn(GENSRV_SERVICENAME,
                                   (LPHANDLER_FUNCTION) nt_service_control);

  if (hStatus == 0) {
    /* Failed to register the service control handler function */
    return;
  }

  r = tor_init(backup_argc, backup_argv);
  if (r) {
    /* Failed to start the Tor service */
    r = NT_SERVICE_ERROR_TORINIT_FAILED;
    service_status.dwCurrentState = SERVICE_STOPPED;
    service_status.dwWin32ExitCode = r;
    service_status.dwServiceSpecificExitCode = r;
    service_fns.SetServiceStatus_fn(hStatus, &service_status);
    return;
  }

  /* Set the service's status to SERVICE_RUNNING and start the main
   * event loop */
  service_status.dwCurrentState = SERVICE_RUNNING;
  service_fns.SetServiceStatus_fn(hStatus, &service_status);
  set_main_thread();
  do_main_loop();
  tor_cleanup();
}

/** Main service entry point. Starts the service control dispatcher and waits
 * until the service status is set to SERVICE_STOPPED. */
static void
nt_service_main(void)
{
  SERVICE_TABLE_ENTRYA table[2];
  DWORD result = 0;
  char *errmsg;
  nt_service_loadlibrary();
  table[0].lpServiceName = (char*)GENSRV_SERVICENAME;
  table[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTIONA)nt_service_body;
  table[1].lpServiceName = NULL;
  table[1].lpServiceProc = NULL;

  if (!service_fns.StartServiceCtrlDispatcherA_fn(table)) {
    result = GetLastError();
    errmsg = format_win32_error(result);
    printf("Service error %d : %s\n", (int) result, errmsg);
    tor_free(errmsg);
    if (result == ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) {
      if (tor_init(backup_argc, backup_argv) < 0)
        return;
      switch (get_options()->command) {
      case CMD_RUN_TOR:
        do_main_loop();
        break;
      case CMD_LIST_FINGERPRINT:
      case CMD_HASH_PASSWORD:
      case CMD_VERIFY_CONFIG:
      case CMD_DUMP_CONFIG:
      case CMD_KEYGEN:
      case CMD_KEY_EXPIRATION:
        log_err(LD_CONFIG, "Unsupported command (--list-fingerprint, "
               "--hash-password, --keygen, --dump-config, --verify-config, "
               "or --key-expiration) in NT service.");
        break;
      case CMD_RUN_UNITTESTS:
      default:
        log_err(LD_CONFIG, "Illegal command number %d: internal error.",
                get_options()->command);
      }
      tor_cleanup();
    }
  }
}

/** Return a handle to the service control manager on success, or NULL on
 * failure. */
static SC_HANDLE
nt_service_open_scm(void)
{
  SC_HANDLE hSCManager;
  char *errmsg = NULL;

  nt_service_loadlibrary();
  if ((hSCManager = service_fns.OpenSCManagerA_fn(
                            NULL, NULL, SC_MANAGER_CREATE_SERVICE)) == NULL) {
    errmsg = format_win32_error(GetLastError());
    printf("OpenSCManager() failed : %s\n", errmsg);
    tor_free(errmsg);
  }
  return hSCManager;
}

/** Open a handle to the Tor service using hSCManager. Return NULL
 * on failure. */
static SC_HANDLE
nt_service_open(SC_HANDLE hSCManager)
{
  SC_HANDLE hService;
  char *errmsg = NULL;
  nt_service_loadlibrary();
  if ((hService = service_fns.OpenServiceA_fn(hSCManager, GENSRV_SERVICENAME,
                              SERVICE_ALL_ACCESS)) == NULL) {
    errmsg = format_win32_error(GetLastError());
    printf("OpenService() failed : %s\n", errmsg);
    tor_free(errmsg);
  }
  return hService;
}

/** Start the Tor service. Return 0 if the service is started or was
 * previously running. Return -1 on error. */
static int
nt_service_start(SC_HANDLE hService)
{
  char *errmsg = NULL;

  nt_service_loadlibrary();

  service_fns.QueryServiceStatus_fn(hService, &service_status);
  if (service_status.dwCurrentState == SERVICE_RUNNING) {
    printf("Service is already running\n");
    return 0;
  }

  if (service_fns.StartServiceA_fn(hService, 0, NULL)) {
    /* Loop until the service has finished attempting to start */
    while (service_fns.QueryServiceStatus_fn(hService, &service_status) &&
           (service_status.dwCurrentState == SERVICE_START_PENDING)) {
      Sleep(500);
    }

    /* Check if it started successfully or not */
    if (service_status.dwCurrentState == SERVICE_RUNNING) {
      printf("Service started successfully\n");
      return 0;
    } else {
      errmsg = format_win32_error(service_status.dwWin32ExitCode);
      printf("Service failed to start : %s\n", errmsg);
      tor_free(errmsg);
    }
  } else {
    errmsg = format_win32_error(GetLastError());
    printf("StartService() failed : %s\n", errmsg);
    tor_free(errmsg);
  }
  return -1;
}

/** Stop the Tor service. Return 0 if the service is stopped or was not
 * previously running. Return -1 on error. */
static int
nt_service_stop(SC_HANDLE hService)
{
/** Wait at most 10 seconds for the service to stop. */
#define MAX_SERVICE_WAIT_TIME 10
  int wait_time;
  char *errmsg = NULL;
  nt_service_loadlibrary();

  service_fns.QueryServiceStatus_fn(hService, &service_status);
  if (service_status.dwCurrentState == SERVICE_STOPPED) {
    printf("Service is already stopped\n");
    return 0;
  }

  if (service_fns.ControlService_fn(hService, SERVICE_CONTROL_STOP,
                                    &service_status)) {
    wait_time = 0;
    while (service_fns.QueryServiceStatus_fn(hService, &service_status) &&
           (service_status.dwCurrentState != SERVICE_STOPPED) &&
           (wait_time < MAX_SERVICE_WAIT_TIME)) {
      Sleep(1000);
      wait_time++;
    }
    if (service_status.dwCurrentState == SERVICE_STOPPED) {
      printf("Service stopped successfully\n");
      return 0;
    } else if (wait_time == MAX_SERVICE_WAIT_TIME) {
      printf("Service did not stop within %d seconds.\n", wait_time);
    } else {
      errmsg = format_win32_error(GetLastError());
      printf("QueryServiceStatus() failed : %s\n",errmsg);
      tor_free(errmsg);
    }
  } else {
    errmsg = format_win32_error(GetLastError());
    printf("ControlService() failed : %s\n", errmsg);
    tor_free(errmsg);
  }
  return -1;
}

/** Build a formatted command line used for the NT service. Return a
 * pointer to the formatted string on success, or NULL on failure.  Set
 * *using_default_torrc to true if we're going to use the default
 * location to torrc, or 1 if an option was specified on the command line.
 */
static char *
nt_service_command_line(int *using_default_torrc)
{
  TCHAR tor_exe[MAX_PATH+1];
  char tor_exe_ascii[MAX_PATH*2+1];
  char *command=NULL, *options=NULL;
  smartlist_t *sl;
  int i;
  *using_default_torrc = 1;

  /* Get the location of tor.exe */
  if (0 == GetModuleFileName(NULL, tor_exe, MAX_PATH))
    return NULL;

  /* Get the service arguments */
  sl = smartlist_new();
  for (i = 1; i < backup_argc; ++i) {
    if (!strcmp(backup_argv[i], "--options") ||
        !strcmp(backup_argv[i], "-options")) {
      while (++i < backup_argc) {
        if (!strcmp(backup_argv[i], "-f"))
          *using_default_torrc = 0;
        smartlist_add(sl, backup_argv[i]);
      }
    }
  }
  if (smartlist_len(sl))
    options = smartlist_join_strings(sl,"\" \"",0,NULL);
  smartlist_free(sl);

#ifdef UNICODE
  wcstombs(tor_exe_ascii, tor_exe, sizeof(tor_exe_ascii));
  tor_exe_ascii[sizeof(tor_exe_ascii)-1] = '\0';
#else
  strlcpy(tor_exe_ascii, tor_exe, sizeof(tor_exe_ascii));
#endif /* defined(UNICODE) */

  /* Allocate a string for the NT service command line and */
  /* Format the service command */
  if (options) {
    tor_asprintf(&command, "\"%s\" --nt-service \"%s\"",
                 tor_exe_ascii, options);
  } else { /* ! options */
    tor_asprintf(&command, "\"%s\" --nt-service", tor_exe_ascii);
  }

  tor_free(options);
  return command;
}

/** Creates a Tor NT service, set to start on boot. The service will be
 * started if installation succeeds. Returns 0 on success, or -1 on
 * failure. */
static int
nt_service_install(int argc, char **argv)
{
  /* Notes about developing NT services:
   *
   * 1. Don't count on your CWD. If an absolute path is not given, the
   *    fopen() function goes wrong.
   * 2. The parameters given to the nt_service_body() function differ
   *    from those given to main() function.
   */

  SC_HANDLE hSCManager = NULL;
  SC_HANDLE hService = NULL;
  SERVICE_DESCRIPTIONA sdBuff;
  char *command;
  char *errmsg;
  const char *user_acct = NULL;
  const char *password = "";
  int i;
  OSVERSIONINFOEX info;
  SID_NAME_USE sidUse;
  DWORD sidLen = 0, domainLen = 0;
  int is_win2k_or_worse = 0;
  int using_default_torrc = 0;

  nt_service_loadlibrary();

  /* Open the service control manager so we can create a new service */
  if ((hSCManager = nt_service_open_scm()) == NULL)
    return -1;
  /* Build the command line used for the service */
  if ((command = nt_service_command_line(&using_default_torrc)) == NULL) {
    printf("Unable to build service command line.\n");
    service_fns.CloseServiceHandle_fn(hSCManager);
    return -1;
  }

  for (i=1; i < argc; ++i) {
    if (!strcmp(argv[i], "--user") && i+1<argc) {
      user_acct = argv[i+1];
      ++i;
    }
    if (!strcmp(argv[i], "--password") && i+1<argc) {
      password = argv[i+1];
      ++i;
    }
  }

  /* Compute our version and see whether we're running win2k or earlier. */
  memset(&info, 0, sizeof(info));
  info.dwOSVersionInfoSize = sizeof(info);
  if (! GetVersionEx((LPOSVERSIONINFO)&info)) {
    printf("Call to GetVersionEx failed.\n");
    is_win2k_or_worse = 1;
  } else {
    if (info.dwMajorVersion < 5 ||
        (info.dwMajorVersion == 5 && info.dwMinorVersion == 0))
      is_win2k_or_worse = 1;
  }

  if (!user_acct) {
    if (is_win2k_or_worse) {
      /* On Win2k, there is no LocalService account, so we actually need to
       * fall back on NULL (the system account). */
      printf("Running on Win2K or earlier, so the LocalService account "
             "doesn't exist.  Falling back to SYSTEM account.\n");
    } else {
      /* Genericity is apparently _so_ last year in Redmond, where some
       * accounts are accounts that you can look up, and some accounts
       * are magic and undetectable via the security subsystem. See
       * http://msdn2.microsoft.com/en-us/library/ms684188.aspx
       */
      printf("Running on a Post-Win2K OS, so we'll assume that the "
             "LocalService account exists.\n");
      user_acct = GENSRV_USERACCT;
    }
  } else if (0 && service_fns.LookupAccountNameA_fn(NULL, // On this system
                            user_acct,
                            NULL, &sidLen, // Don't care about the SID
                            NULL, &domainLen, // Don't care about the domain
                            &sidUse) == 0) {
    /* XXXX For some reason, the above test segfaults. Fix that. */
    printf("User \"%s\" doesn't seem to exist.\n", user_acct);
    return -1;
  } else {
    printf("Will try to install service as user \"%s\".\n", user_acct);
  }
  /* XXXX This warning could be better about explaining how to resolve the
   * situation. */
  if (using_default_torrc)
    printf("IMPORTANT NOTE:\n"
        "    The Tor service will run under the account \"%s\".  This means\n"
        "    that Tor will look for its configuration file under that\n"
        "    account's Application Data directory, which is probably not\n"
        "    the same as yours.\n", user_acct?user_acct:"<local system>");

  /* Create the Tor service, set to auto-start on boot */
  if ((hService = service_fns.CreateServiceA_fn(hSCManager, GENSRV_SERVICENAME,
                                GENSRV_DISPLAYNAME,
                                SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
                                SERVICE_AUTO_START, SERVICE_ERROR_IGNORE,
                                command, NULL, NULL, NULL,
                                user_acct, password)) == NULL) {
    errmsg = format_win32_error(GetLastError());
    printf("CreateService() failed : %s\n", errmsg);
    service_fns.CloseServiceHandle_fn(hSCManager);
    tor_free(errmsg);
    tor_free(command);
    return -1;
  }
  printf("Done with CreateService.\n");

  /* Set the service's description */
  sdBuff.lpDescription = (char*)GENSRV_DESCRIPTION;
  service_fns.ChangeServiceConfig2A_fn(hService, SERVICE_CONFIG_DESCRIPTION,
                                       &sdBuff);
  printf("Service installed successfully\n");

  /* Start the service initially */
  nt_service_start(hService);

  service_fns.CloseServiceHandle_fn(hService);
  service_fns.CloseServiceHandle_fn(hSCManager);
  tor_free(command);

  return 0;
}

/** Removes the Tor NT service. Returns 0 if the service was successfully
 * removed, or -1 on error. */
static int
nt_service_remove(void)
{
  SC_HANDLE hSCManager = NULL;
  SC_HANDLE hService = NULL;
  char *errmsg;

  nt_service_loadlibrary();
  if ((hSCManager = nt_service_open_scm()) == NULL)
    return -1;
  if ((hService = nt_service_open(hSCManager)) == NULL) {
    service_fns.CloseServiceHandle_fn(hSCManager);
    return -1;
  }

  nt_service_stop(hService);
  if (service_fns.DeleteService_fn(hService) == FALSE) {
    errmsg = format_win32_error(GetLastError());
    printf("DeleteService() failed : %s\n", errmsg);
    tor_free(errmsg);
    service_fns.CloseServiceHandle_fn(hService);
    service_fns.CloseServiceHandle_fn(hSCManager);
    return -1;
  }

  service_fns.CloseServiceHandle_fn(hService);
  service_fns.CloseServiceHandle_fn(hSCManager);
  printf("Service removed successfully\n");

  return 0;
}

/** Starts the Tor service. Returns 0 on success, or -1 on error. */
static int
nt_service_cmd_start(void)
{
  SC_HANDLE hSCManager;
  SC_HANDLE hService;
  int start;

  if ((hSCManager = nt_service_open_scm()) == NULL)
    return -1;
  if ((hService = nt_service_open(hSCManager)) == NULL) {
    service_fns.CloseServiceHandle_fn(hSCManager);
    return -1;
  }

  start = nt_service_start(hService);
  service_fns.CloseServiceHandle_fn(hService);
  service_fns.CloseServiceHandle_fn(hSCManager);

  return start;
}

/** Stops the Tor service. Returns 0 on success, or -1 on error. */
static int
nt_service_cmd_stop(void)
{
  SC_HANDLE hSCManager;
  SC_HANDLE hService;
  int stop;

  if ((hSCManager = nt_service_open_scm()) == NULL)
    return -1;
  if ((hService = nt_service_open(hSCManager)) == NULL) {
    service_fns.CloseServiceHandle_fn(hSCManager);
    return -1;
  }

  stop = nt_service_stop(hService);
  service_fns.CloseServiceHandle_fn(hService);
  service_fns.CloseServiceHandle_fn(hSCManager);

  return stop;
}

int
nt_service_parse_options(int argc, char **argv, int *should_exit)
{
  backup_argv = argv;
  backup_argc = argc;
  *should_exit = 0;

  if ((argc >= 3) &&
      (!strcmp(argv[1], "-service") || !strcmp(argv[1], "--service"))) {
    nt_service_loadlibrary();
    *should_exit = 1;
    if (!strcmp(argv[2], "install"))
      return nt_service_install(argc, argv);
    if (!strcmp(argv[2], "remove"))
      return nt_service_remove();
    if (!strcmp(argv[2], "start"))
      return nt_service_cmd_start();
    if (!strcmp(argv[2], "stop"))
      return nt_service_cmd_stop();
    printf("Unrecognized service command '%s'\n", argv[2]);
    return 1;
  }
  if (argc >= 2) {
    if (!strcmp(argv[1], "-nt-service") || !strcmp(argv[1], "--nt-service")) {
      nt_service_loadlibrary();
      nt_service_main();
      *should_exit = 1;
      return 0;
    }
    // These values have been deprecated since 0.1.1.2-alpha; we've warned
    // about them since 0.1.2.7-alpha.
    if (!strcmp(argv[1], "-install") || !strcmp(argv[1], "--install")) {
      nt_service_loadlibrary();
      fprintf(stderr,
            "The %s option is deprecated; use \"--service install\" instead.",
            argv[1]);
      *should_exit = 1;
      return nt_service_install(argc, argv);
    }
    if (!strcmp(argv[1], "-remove") || !strcmp(argv[1], "--remove")) {
      nt_service_loadlibrary();
      fprintf(stderr,
            "The %s option is deprecated; use \"--service remove\" instead.",
            argv[1]);
      *should_exit = 1;
      return nt_service_remove();
    }
  }
  *should_exit = 0;
  return 0;
}

#endif /* defined(_WIN32) */


Harry Reid forces the hand of Senate Republicans on nominations. But he should not take the "nuclear option" off the table anytime soon.
Harry Reid threatened to employ the "nuclear option" to end filibuster abuses, and the world did not end.
In fact, despite all the absurd rhetoric that flew around as the Senate majority leader prepared to implement a majority-rule standard regarding presidential appointments, Reid's gambit yielded some positive results. Under an agreement reached Tuesday morning, Republicans would stop blocking votes on five key nominations, including those of Richard Cordray to head the new Consumer Financial Protection Bureau, Gina McCarthy to serve as EPA administrator, Fred Hochberg to serve as president of the Export-Import Bank and Thomas Perez to serve as secretary of labor.
By midday Tuesday, the Senate had already voted to allow formal consideration of Cordray, with seventy-one senators agreeing to schedule a confirmation vote.
But the path to making the Senate a fully functional legislative chamber is less clear than the inside-the-Beltway celebrants—some in the Senate, most in the media—would have Americans believe.
"There is not one intellectual argument…[for] why those nominations shouldn't go forward. It's just [that Republicans] want their pound of flesh from working people in this country, and this is where they're going to get it because they were able to convince four or five Democrats to go with them," griped Cohen.
The determination of McConnell to continue meddling with NLRB nominations should be cause for caution, and strategic common sense.
Reid should not back away from the "nuclear option"—using the Democratic majority to rewrite Senate rules to allow for majority-rule votes on confirmation of presidential nominees—anytime soon.
If the agreement on the NLRB nominees advances, the White House must nominate two new candidates immediately. The Senate Committee on Heath, Education, Labor and Pensions must hold hearings and a full Senate vote must be scheduled and completed before the Senate begins its August recess. A failure to complete the process in a timely manner threatens the functionality of the board, which would be a huge victory for McConnell and a huge defeat for the tens of millions of American workers who look to the agency not merely to make decisions regarding the role of unions in the workplace but also to decide whether corporations are using unfair labor practices to threaten the rights of workers.
It is that prospect that Reid must avert by keeping all options for Senate rules reform on the table.
Unfortunately, Reid has continually attempted to avert the reality of reform by cutting deals with McConnell and other Republican senators. The majority leader's compromises on the issue have—as Reid now acknowledges—frequently fumbled.
In an ideal circumstance, Reid and his Democratic colleagues—as well as some responsible Republicans—would understand the value of meaningful rules reforms, which would restore the traditional filibuster along lines that Americans know best from the film Mr. Smith Goes to Washington.
The point of filibuster reform is not partisan or ideological positioning. It is to restore functional processes for legislating and governing.
At this point, like it or not, Reid is holding to the view that he can cobble together agreements to achieve that goal. Savvy senators such as Vermont independent Bernie Sanders and Oregon Democrat Jeff Merkley are highly dubious, as they have indicated.
But one thing that Reid and every member of his caucus should be able to agree on is this: the option of a quick vote to reform Senate rules in order to advance nominations should not be taken off the table during the coming wrangle over the future of the NLRB.
John Nichols and Robert W. McChesney are the authors of the new book Dollarocracy: How the Money and Media Election Complex is Destroying America (The Nation). Author Thomas Frank says: "This is the black book of politics-as-industry, an encyclopedic account of money's crimes against democracy. The billionaires have hijacked our government, and anyone feeling complacent after the 2012 election should take sober note of Nichols' and McChesney's astonishing finding: It's only going to get worse. Dollarocracy is an impressive achievement.
How long can Mitch McConnell's "tyranny of the minority" last?


text:
Софія Баварська (), (нар. 28 жовтня 1967) — герцогиня Баварська, принцеса Ліхтенштейну, донька герцога Баварського Максиміліана Емануеля та шведської графині Дуглас Єлизавети Крістіни, дружина спадкоємця княжого престолу Ліхтенштейна Алоїза Філіпа.

Молоді роки
Софія Єлизавета Марія Габріела Баварська народилася 28 жовтня 1967 року у Мюнхені. Вона була первістком в родині баварського герцога Максиміліана Емануеля Віттельсбаха та його дружини, шведської графині Єлизавети Крістіни Дуглас.
У наступні вісім років у дівчинки з'явилися ще чотири сестри: Марія Кароліна, Єлена Євгенія, Єлизавета Марія та Марія Анна. Родина тоді мешкала у  поблизу озера Тегернзєє. Там Софія і закінчила перші класи початкової школи. З 1978 по 1980 рік вона навчалася у початковій англійській школі для дівчаток у Хайліґенштадті. Потім вона продовжила навчання у жіночій середній школі Ґоґенбург в Ленґрісі. Від 1984 року Софія навчалася в мюнхенській гімназії Адольфа Вебера, яку закінчила з атестатом зрілості у 1988-му. Потім вона переїхала до Лондона, де відвідувала школу дизайну інтер'єра. Також вивчала англійську мову та літературу в католицькому університеті в Айхштетті.

У 1991 вийшла заміж її молодша сестра Марія Кароліна. А через два роки її приклад наслідувала і Софія.

Шлюб та діти

3 липня 1993 року Софія побралася із старшим сином правлячого князя Ліхтенштейну і спадкоємцем престолу Алоїзом Філіпом. Церемонія вінчання проходила в католицькому соборі Св. Флорина у місті Вадуц. Нареченим було по 25 років. Від моменту заключення шлюбу Софія стала громадянкою Ліхтенштейну.

У подружжя народилося четверо дітей:
 Йозеф Венцель (*1995)
 Марія Кароліна (*1996)
 Георг Антоніус (*1999)
 Ніколаус Себастьян (*2000)

Всі вони мають титули принца (принцеси) фон унд цу Ліхтенштейн та графа (графині) Рітберг.

У 2006 році Софія відкрила в австрійському містечку Фельдкірх організацію допомоги вагітним жінкам («schwanger.li»), яка надає послуги, в першу чергу, тим жінкам, що знаходяться у важкому стані.

Відповідно до вимог етикету, звертанням до принцеси Ліхтенштейнської Софії є «Ваша Королівська високість», оскільки вона веде своє походження від в минулому царюючого в Баварії роду Віттельсбахів і, згідно з протоколом, має більш високий ранг, ніж її чоловік («Його Світлість»).

Як нащадок королівського роду Стюартів, принцеса Софія, у випадку смерті її батька Макса та дядька Франца, отримає право успадковувати титул королева Англії, Шотландії та Франції і буде розглядатися якобітами як спадкоємиця британської корони.

Родинне дерево

Посилання
 Кронпринцеса Софія
 Княгиня Софія
 Профіль на Geneall.net
 Профіль на Thepeerage.com

Уродженці Мюнхена
Віттельсбахи
Ліхтенштейни
Принцеси
Герцогині Баварії

redpajama_set_name: RedPajamaWikipedia


New England's Tom Brady is gunning for his 6th Super Bowl championship victory.
As Super Bowl Sunday approaches, everyone seems to have their own feeling as to which city the Lombardi Trophy will be headed to after the New England Patriots and Philadelphia Eagles settle things on the field — including some of our parish's own gridiron strategists.
Hahnville knows a little something about championship competition after earning four playoff wins to reach he Class 5A state championship game in December. And when Tigers offensive coordinator Mike Silva breaks down this Sunday's game, he believes the difference is clear: Brady, Brady, Brady.
Silva did add, however, that while he's backing Brady and the Patriots, he sees nothing coming easy to them.
Hahnville head coach Nick Saltaformaggio was quick to defer to Silva's outlook on the pro game, Saltaformaggio self-admittedly "not a pro football guy" in terms of where he directs his attention. But he does have a rooting interest, noting current Eagles head coach Doug Pederson was not all that long ago part of the Louisiana High School coaching fraternity. Pederson was the head coach of Calvary Baptist from 2005 to 2008 before accepting an assistant coaching position under then-Philadelphia head coach Andy Reid.
The Patriots, of course, are the last NFL team to record an unbeaten regular season, a feat New England achieved in 2007.
Destrehan knows a little something about that. The Wildcats stacked up four seasons in a row without tasting defeat in the regular season, from 2013 to 2016.
Destrehan offensive coordinator Greg Boyne echoed his Hahnville counterpart Silva, noting the experienced winners on the New England side will spell the difference.
"I'll go with the Patriots, 30-24, for two simple reasons: Belichick and Brady," Boyne said.


9 out of 10 based on 914 ratings. 3,115 user reviews.
Feel free to use any Chrysler 300 car stereo wiring diagram that is listed on Modified Life but keep in mind that all 2012 Chrysler 300 Car Audio Wireing Schematic.


Little girl opening giftbox with xmas present from her grandmother. Family exchanging gifts at Christmas. Christmas holiday and New Year.
happy little girl, at Christmas, in the new year festivities asleep wait a gift for the Christmas holiday. christmas in family and children happy and tradition for the Christmas holiday and New Year.
Happy mixed race family taking christmas selfie with smartphone. African american woman with huge afro haircut and little caucasian daughter with their labrador dog sitting in front of xmas tree.
Family at Christmas putting out presents for Santa.
Family at Christmas eating mince pies.


text:
Home/Graduate Programs/Executive Master of Nonprofit Administration (EMNA)
Ready to learn more? Tell us about yourself:
You don't have to put your career on hold to change the world.
The Executive Master of Nonprofit Administration (EMNA) degree was created to fulfill the needs of full-time nonprofit employees and experience professionals transitioning to the sector.
EMNA students have a minimum of two years work experience, the motivation to improve their business acumen and a desire to change the world. On average, students have 12 years of nonprofit work experience.
When you graduate from the EMNA program, you'll not only receive a degree from a legendary nonprofit university renowned for advancing the greater good, you will join a powerful alumni network that can help you affect even more change—no matter the challenges you'll address in the sector.
Notre Dame campus with Online courses
Improve your business acumen, improve the world.
As a student in the EMNA program, you will earn a degree from a nationally ranked school of business and acquire insights and strategies to expand the impact of any nonprofit organization with which you choose to work.
Nationally recognized faculty
Learn from nationally recognized faculty through the perennially ranked Mendoza College of Business.
Blend of online and in-person courses
With a blend of online and in-person courses, you'll have the best of both worlds: the flexibility to earn a degree on your own terms—and the opportunity to take classes on one of the country's most iconic campuses.
EMNA Field Project
Through the EMNA Field Project, you'll develop self-direction and leadership skills by implementing solutions in support of your current employer.
Number of countries represented in a typical MNA class
Number of nonprofit organizations represented in a typical MNA class
Number of years MNA program has existed
Take your career to the next level, serve a greater good.
According to The Economist, Mendoza's alumni network ranks No. 4 in the world in alumni effectiveness and No. 9 in potential to network.
Enhance your sphere of influence by connecting with experienced nonprofit classmates-all of whom share your desire to do meaningful work. Grow in and out of the classroom with faculty passionate about and dedicated to nonprofit management.
While more than 90% of students are employed full-time, individualized career services and alumni job-postings are available.
Any executive master's degree is a balancing act.
Between the demands of full-time employment and your coursework, you might assume you won't have time to reap the benefits of student life at Notre Dame. Nothing could be further from the truth.
With an average cohort size of 32, you'll form lifelong connections with your peers from a wide range of industries in the nonprofit sector.
Past and current students have come to us from the China Foundation Center, Salvation Army and the United States Army, to name a few.
In addition, while you're on campus during your summer trips to South Bend, be sure to visit the Basilica of the Sacred Heart, light a candle in the Grotto and rub Knute Rockne's nose for good luck (all vital Notre Dame traditions).
What You'll Learn
Academic rigor and flexibility aren't mutually exclusive.
As a student in the Executive Master of Nonprofit Administration program, you'll immerse yourself in a rigorous curriculum designed to deepen your knowledge of everything from economics to management to human resources—delivered in a way that you can manage.
You'll start as a cohort on Notre Dame's campus the first summer, then take fall and spring courses online. A total of 10 weeks of campus classes across 2-5 summers is required; Begin the first summer with two or four weeks of curriculum.
Through courses like Board Relations and Management, Financial Management and Fund Development, you'll acquire insights and strategies to expand the impact of the work you do every day.
Finally, through your capstone EMNA Field Project, you will apply the lessons you've learned in the program toward solving real business needs within your nonprofit organization.
View the full Master of Nonprofit Administration curriculum
The Executive Master of Nonprofit Administration program accepts applications on a rolling, ongoing basis. There is limited space in this program We encourage applying as soon as possible for admission to the summer cohort.
1 Nov. 15
2 Dec. 15
3 Feb. 15
4 Mar. 17 — Irish Express
5 Rolling, Accepting Applications
View Application Requirements
A Notre Dame graduate business education: A lesson in ROI.
The Notre Dame Executive Master of Nonprofit Administration affords one of the best graduate degree returns on investment in the country, aided by merit-based fellowships and the EMNA program's partnerships with nonprofit employers.
The Paul D. Coverdell Peace Corp Fellowship—a $10,500 award—honors those who have served in the Peace Corps and who seek to gain employment in the nonprofit sector after leaving the Corps.
The U.S. Hispanic Chamber of Commerce (USHCC) Fellowship is awarded each academic year to a Hispanic business owner selected by the USHCC to attend the EMNA program.
The Volunteers of America (VOA) Program Fellowship is a half-tuition scholarship offered to a VOA-selected employee.
2019-2020 tuition for the Executive Master of Nonprofit Administration program
of Executive Master of Nonprofit Administration students were awarded a fellowship in 2018
View full tuition and aid information


You must be 13 years of age or older to enter the Slush Puppie CONTEST "120 Days of Summer" 2019 promotion.
You must also be a legal resident of Quebec, Ontario, the Maritime Provinces (New Brunswick, Nova Scotia, and Prince Edward Island), and Newfoundland and Labrador).
The odds of winning a prize in the CONTEST "120 Days of Summer" Summer 2019 promotion will depend on how many people enter.
Should the selected entrant fail to meet any of the conditions herein or refuse to accept the prize, he or she will be disqualified.


WWE's Crown Jewel event is going to take place and as we previously reported it's going to take a huge amount of pressure, even more than they've already received to make WWE actually change their big-money plans.
But some people thought there was an issue before the controversies even popped up this time around because they had to change their venue in Saudi Arabia from a 60,000 plus arena to one that first nearly a third of that amount.
However, as Dave Meltzer noted on Wrestling Observer Radio, there was a very good an much interesting reason why this decision was made to switch venues inside the Kingdom Of Saudi Arabia.
It was also noted that there isn't even tickets on sale for the show yet because it won't matter. Because just like in the Greatest Royal Rumble where tickers were around $5, all of the tickets suddenly sold out overnight.


What a little cutie! She is pretty skinny for her height, but look at her dad and you'll see why!
Since it has been a little while this will be a combo Elliot update/what we've been up to post.
On April 26 we got to go to Heather's 26th birthday! Elliot loves her adopted Uncle Matt. Of course it was a great party...as always with this group!
This last weekend Elliot got to go on her first road trip! About a four hour drive to Santa Maria. She did great! Slept almost the whole time and did not fuss at all! That's our trooper!
The whole point of the trip was to meet Phil and Heather's new addition, sweet little Lillian! She was blessed on May 1, and we were so glad to be there!
Fun times for Heather and Melissa to share...cousin-best-friends are the best!
Poor baby! Shots are more traumitizing for: A. The Baby? or B. The Parents? Hard to say. The little scream she let out with every shot was like nothing she had ever done before. So sad! It would be great to never make her go through that again. Unfortunately four months will come up soon.
Despite anything Elliot is a sweety! We love our little girl so much!
I never went to the kids immunizations, and when I did, I hated them. Good thing Heather is a toughy. haha! Love the pics!


text:
<!doctype html>

		<meta charset="utf-8">

		<title>Scala > Java</title>

		<meta name="description" content="Introduction to Scala">
		<meta name="author" content="Frode Nerbråten">

		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.css">
		<link rel="stylesheet" href="css/theme/beige.css" id="theme">

        <link rel="stylesheet" href="lib/css/github.css">

Scala > Java

Introduction to Scala

                            Frode Nerbråten / @froden

                            Scala & JVM tech lead

Hei og Velkommen! Hyggelig at jeg fikk komme og snakke litt om Scala for dere.

Jeg håper det er greit at jeg snakker på norsk og at dere forstår hva jeg sier.

Stopp meg gjerne og still spørsmål underveis hvis noe er uklart.

Frode Nerbråten, jobbet i Bekk i snart 8 år

Fagleder for Scala og JVM, som er Bekks kompetansegruppe for alternative språk på JVM-en. (scala, groovy, clojure)

Holdt på med Scala i ca 3 år og synes det er et veldig spennende språk.

Lært utrolig mye om programmering og ikke minst funksjonell programmering gjennom Scala

Så la oss se litt nærmere på hva Scala er

SCALA

A modern, statically typed, object-functional programming language on the JVM

Ble oppfunnet i 2001 av Martin Odersky sammen med teamet hans på EPFL-universitet i Lausanne i Sveits

Martin Odersky er Professor i programmeringsspråk og er mannen bak Java-kompilatoren og Java generics

Han var lei av mange av de utfordingene som er med Java og ønsket å lage et helt nytt språk designet fra bunnen av

SCAlable LAnguage -> Og skal være et språk som skalerer godt fra små script til store enterprise-løsniger

Er også et hint om at Scala er god på concurrency (samtidighet), både innebygd og gjennom rammeverk som Akka.

Hybrid objektorientert og funksjonelt språk og påstår å forene det beste fra to verdener

Kompilerer til samme JVM bytekode som Java

Mer avansert typesystem enn Java med type inference => sjelden trenger å angi typer eksplisitt.

Why Scala?

Hvorfor bruke Scala

Hva er det som gjør Scala så bra?

Elegant concise syntax

  case class Person(name: String, age: Int)

  val person = new Person("Frode", 33)

  person.age
  //res0: Int = 33

  def sayHi(p: Person) = "Hi there " + p.name

  sayHi(person)
  //res1: String = Hi there Frode

Syntaxen i Scala gir samme uttrykkskraft som man ofte forbinder med dynamiske språk som Ruby

Men med type safety i tillegg!

====

La oss se på hvordan man definerer en klasse

Klassen, medlemsvariabler og default constructor kan man angi på samme linje

Slenger man på case foran får man også equals, hashcode, accessor metoder (men ikke setter)(immutable)

Typen kommer etter variabelnavn i Scala - fordi man ofte kan utelate den

====

Vi instansierer et objekt på samme måte som i Java

val betyr en immutable variabel. Samme som final i Java. Trenger ikke type, men kunne skrevet person: Person

Metoder uten parameter kan kalles uten parantes: person.age

====

Vi definerer metoder med keywordet def

Denne metoden har ett parameter, p av typen Person

Returtypen er String, men den kan utelates. Vis alternativ

Alt etter = er definisjonen og kan selvsagt gå over flere linjer

Resultatet av siste expression blir returverdien

High performance

Compiled

Runs on the JVM

Comparable to Java

... or even better

Siden Scala er kompilert og typesjekking skjer compile time => optimalisert bytekode => bra performance

Mye raskere enn de dynamiske JVM-språkene jruby, groovy, clojure, jython

Faktisk så vil scala som regel være omtrent like raskt som Java

Viktig poeng fordi Java er kjent for veldig bra ytelse

På noen områder er Scala raskere enn Java

Object Oriented

  trait Programming {
    def makeSoftware(spec: String): Software = ...
  }

  trait Consulting {
    def consult(problem: String): Advice = ...
  }

  abstract class Employee

  class Developer extends Employee with Consulting with Programming

Scala er et objektorientert språk

Alt er objekter i Scala og det skilles ikke mellom objekter og primitiver som i Java

Jeg vil likevel påstå at idealet i Scala er funksjonell programmering

Men med støtte for OO får man mulighet for bedre innkapsling og modularisering

Collections bibliotekene er gode eksempler på blandingen av objektorientering og funksjonelt

====

Traits er scalas svar på interface i java

Traits kan derimot også inneholde implementasjon

Kan extende så mange man vil uten problemene med multiple inheritance

Traits gjør det mulig med mixin composition som i eksemplet mitt her

Functional

first class functions

  val product = (num1: Int, num2: Int) => num1 * num2

  List(1, 2, 3, 4).fold(1)(product)

  //res0: Int = 24

partial application

  val timesTwo: Int => Int = product(2, _)

  List(1, 2, 3, 4).map(timesTwo)

  //res1: List[Int] = List(2, 4, 6, 8)

Scala er et fullblods funksjonelt programmeringsspråk

Strict by default, men støtter også non-strict eller lazy evaluering

====

Første bud er at Scala støtter funksjoner som first class citisens

Støtter både anonyme funksjoner og lexical closures

product funksjonen tar to int-parametre

fold tar inn en funksjon som tar 2 int som parametre

1 ganger første tallet, resultatet ganger neste tallet osv => svar 24

====

Hva om vi bare ønsker å gange alle tallene i listen med f.eks. 2

Ikke noe problem. Vi partially applyer 2 som første argument og får en funksjon som tar 1 int som parameter

Denn kan vi så mappe over listen

map er for øvrig det samme som fmap i Haskell

Functional II

pattern matching

  val people = List(Person("Frode", 33),
                    Person("Frode", 25),
                    Person("Alice", 27))

  for (person <- people) {
    person match {
      case Person("Frode", age) if (age > 30) => println("Found me")
      case Person("Frode", _) => println("Found some other Frode")
      case Person(name, age) => println(s"Found ${name} age ${age}")
    }
  }

Scala støtter pattern matching som dere kjenner fra Haskell

case classes som Person gjør det mulig å pattern matche på alle feltene i klassen

Jeg har en listen med 3 personer

Itererer over denne og pattern matcher på hvert element

Hvis en person som heter frode har alder over 30 antar jeg at det er meg

Hvis ikke er det nok en annen frode

Til slutt alle andre treff

underscore er wildcard

Syntaksen minner litt om switch case statements i Java, men er mye mer avansert

Functional III

monadic syntax

  val number1 = Some(1)
  val number2: Option[Int] = None

  val res = for {
    n1 <- number1
    n2 <- number2
  } yield n1 + n2

  //res: Option[Int] = None

Scala har noe som kalles for comprehensions som er en slags avansert for-loop (sammenlignet med java)

Den kan enten brukes til bare iterering uten yield til slutt

Eller som list comprehensions med yield

Eller for monadiske operasjoner

Dette er tilsvarende list comprehensions og do-notation i Haskell

Option er scalas svar på Maybe monaden

Med for-comprehensions kan vi jobbe med monadiske verdier på en imperativ og lesbar måte

Java interop

Use existing great Java frameworks

Write Java compatible APIs

Deploy on existing Java infrastructure

  val s = "Scala"

  //s: java.lang.String = Scala

En gangske kul ting med Scala er at det er kompatibelt med Java

Man kan bruke alle eksisterende Java-biblioteker og verktøy med Scala (Spring, Hibernate, Maven, osv..)

Man kan også skrive scalakode som kan brukes fra Javakode. Eksempler Akka og Play.

Men man må huske at ikke all Scalakode vil fungere fra Java.

For en Java virtual machine så er Scala-programmer bare vanlig bytekode

Man kan derfor deploye sine Scala-programmer på samme Java-infrastruktur som man allerede har (bra for kunder)

Scala bruker noen av de samme standardbibliotekene som Java, men ofte med litt ekstra funksjonalitet

Community

Scala har et stort community med mange engasjerte og meget dyktige folk

Det finnes mange bra rammeverk skrevet i og for Scala. Det blir stadig flere.

AKKA - actor framwork for concurrent systemer

Play2 - Scalas svar på Rails

Lift - Et view first basert web-rammeverk

Etter hvert meget god IDE-støtte både for IntelliJ og Eclipse

Man finner som regel svar på det man lurer på ved å google

LinkedIn use Scala

Men er det noen som bruker Scala i produksjon?

Jada, LinkedIn bruker det

BEKK use Scala

Bekk har for tiden ett rent Scala-prosjekt

Flere som bruker det til mindre ting

Flere vurderer å ta det i bruk

Twitter use Scala

Twitter fikk problemer med ytelse i sin Ruby-basete back-end

Begynte å skrive om kritiske deler til Scala i stedet

<q cite="http://twitter.com/al3x">Basically, it's the future</q>

@al3x

Basically its the future

Alex fra twitter er enig med meg at Scala er verdt å satse på

Jeg mener Scala er et meget attraktivt alternativ til Java

Og det er modent nok til å ta det i bruk på prosjekter i dag!

Source: Mike Rohde

Jeg skjønner at det kan bli litt kjedelig å høre på meg stå og prate

Så derfor tenkte jeg å kjøre en liten demo

Jeg skal vise et eksempel på to veldig vanlige problemstillinger som kan løses elegant i Scala

Nemlig feilhåndtering og Samtidighet (concurrency)

Vise bruken av to nyttige monads: Try til feilhåndtering og Future til concurrency

                        Takk for meg!

Spørsmål?

Takk for meg!


Good morning and good Friday, my cuisine hearts! It's time once more to serve up a steaming hot review as well as spend some time in the kitchen with the chef behind the meal. Today, we break bread with Lori Alden Holuta, author of The Flight to Brassbright, book 1 of The Brassbright Chronicles! Let's get down to it!
Hi! I'm the support system for a cast of characters who can't reach the keyboard without my help. The 'real world' insists I go by a name though, so I use the one on my driver's license. That's handy for reference in case I have an identity crises.
I spend my weekdays at a big-ten university helping students find jobs on campus, paying the bills, and eating all the jelly donuts in the staff kitchen.
When I'm not writing or hiding in the ivy-plastered halls of academia, I'm often… cooking! I'm addicted to sites like Yummly and the Food Network and I do a lot of experimental cooking. I host Kitchen Parties for myself and my cat named Chives. We set up the iPad, stream a movie and have a great time throwing food around.
I'm also a crafter, and I have the hot glue gun to prove it. Oh, and I socialize with other local Steampunks in the Mid-Michigan area and attend cons as I can, so I spend a lot of time assembling costumes and trying on hats.
I'd love it if people grabbed a copy of The Flight To Brassbright. It's my first novel. It sets the stage for just about everything else I'm writing. I have two more novels in rewrites that I hope to have published very soon – soon being a relative term meaning 'as life allows'. At this moment, I'm also participating in NaNoWriMo, writing two novellas that delve into the backstories behind two of the characters introduced in The Flight To Brassbright.
The voices in my head demand it. Besides that, I've loved writing since I was a young kid. I started with whimsical poetry that my teachers always seemed to think was good enough for the creative writing books my grade school produced. I wish I still had those. I've always dreamed of being published. I want something of me that's still on people's bookshelves long after I am gone.
Do you have a genre or specialty or do you dabble? Why?
Victorian era comedic steampunk. That's a genre, right? Lighthearted Young Adult books are what I enjoy writing. Books with heart and adventure and a lot of silly stuff, that's my style.
My puns! My sense of whimsy. My characters are usually happy, and their problems get solved by the end of the book. There's already plenty of dark-fiction in the Steampunk genre, and I don't feel inclined to do that sort of writing. I think there's room for fun and joy-of-life in Steampunk.
Even the best of us find inspiration in the dishes of others. Do you have any literary inspirations, heroes, and influences?
Absolutely. Pip Ballantine and Tee Morris have created the characters of Eliza Braun and Wellington Books in their Ministry of Peculiar Occurrence series. I can't get enough of them.
Then there's Gail Carriger's Parasol Protectorate and Finishing School series. I love Gail. Besides being my favorite role model, she's a very nice woman who I've been lucky enough to meet. She's shared meaningful, useful advice with me.
And I can't forget Shelley Adina and her Magnificent Devices series. What a hoot. Shelley's not afraid to go over the top, sometimes quite literally. I'm looking forward to meeting her at AnomalyCon in Denver next year.
There's many authors that truly amaze and inspire me, but I've chosen to highlight these, since I feel we're all writing in a similar sandbox, so their inspiration has a direct impact on me.
I write in either first person or third person. Second person is just creepy. First person is great for exploring a character experiencing a change in their life. Third person is great for action adventures, I think.
Put it this way: A friend once nicknamed me 'The Wall Of Words'. I like words. I love eye popping descriptions, I like fanciful wordplay. Words are amazingly fun toys to play with.
Internal conflict. I enjoy watching my characters find their way through life and grow in the process.
Characterization! If I'm not invested in a character, why should I care what happens to them?
That first taste is a challenge. I probably rewrite my opening paragraphs more than any other part of a story. I try to drop the reader into my protagonist's situation, and give them just enough information to get them wondering what will happen next.
Boston Cream Pie. That means I get BOTH. Nyah.
Stop plotting and dreaming in your mind and pour it out into a document. If your story only lives in your brain, how can I read it too? Don't be afraid to put yourself out there. The worst that can happen is you'll learn what doesn't work, and then you can improve. As long as your book is trapped in your head, you won't improve or grow.


Lets you search for shared files on file hosting sites like Rapidshare, Megaupload, 4shared, Mediafire, Hotfile.
Search engine and directory for files on RapidShare, torrents, eMule and Usenet.
File search engine for files shared on hotfile, rapidshare, uploading, etc.
Searches for shared files on the web.
Searches for files on RapidShare.
Searches files on RapidShare. Searching can be refined by file type, extension and size.
Provides search on popular file hosting sites.


I am delighted to be able to provide as many kind and effusive remarks as you can take following my Total Control Masterclass!
Both days were extremely enjoyable and highly educational, even if they did highlight how bad my driving was, and the advice and training you gave me has improved my overall vision and positioning on the road so much that driving has taken on a whole new perspective for me.
I continually find myself referring to your simple techniques to allow me to be so much more aware of my surroundings and the way I am driving and controlling the car.


text:
Panasonic and GS Solar Join Hands on PV Technology
Panasonic has announced that it has secured an alliance and procurement agreement with Chinese solar energy solutions provider GS-Solar Company Ltd. in the arena of photovoltaic technology.
Under the pact, GS-Solar will obtain Panasonic's solar manufacturing subsidiary, Panasonic Energy Malaysia, while founding a new company with Panasonic. With the Chinese firm holding a 90 percent share and Panasonic owning the remaining 10%, the two companies will jointly operate and invest in a new company in Japan, focused on the research and development of HIT technology.
GS will integrate Panasonic's cutting-edge innovations and manufacturing technologies in the field of HIT, combining these with its own competencies to drive progress and breakthrough developments in efficient heterojunction technology for the development of the energy industry. The collaboration also enables the company to help start the industrialisation and large-scale expansion of next-generation heterojunction technologies on a global scale.
GS-Solar has been specialising in solar cell technology research and development and product manufacturing for more than 10 years, with an aim towards playing a leading role in achieving grid parity. Through this collaboration, it will take a leading global position in the field of photovoltaic application with its heterojunction technology. The company's exceptional technological achievements have been highly commended by Panasonic.
The collaboration will also see Panasonic actively mobilize energy storage technologies, home energy management systems and emergency power storage systems, as well as other new energy resources, to help support the development of advanced heterojunction technologies and improve their product competitiveness.
In addition, the company will further integrate the HEMS, PV modules, storage batteries, ECO Cute heat pump systems, and electric vehicle charging solutions. Panasonic will also expand the scope of collaboration with GS, with areas of common development including zero energy consumption buildings (ZEH), the adaption of new energy management systems to the era of feed-in tariff subsidies, and the application of many solar energy-related products and technologies to emergency power energy storage systems for use during natural disasters.
Solar PV | News published on 10/05/2019 by Moulin


text:
 2015 în științifico-fantastic — 2016 în științifico-fantastic — 2017 în științifico-fantastic
2016 în științifico-fantastic implică o serie de evenimente:

Nașteri

Decese
 David Bowie -  actor englez (The Man Who Fell to Earth, The Prestige) și cântăreț rock, a compus numeroase cântece cu tematică științifico-fantastică inclusiv Space Oddity și tot albumul Ziggy Stardust.
 Alan Rickman -  actor britanic (Galaxy Quest, The Hitchhiker's Guide to the Galaxy).
 Anton Yelchin - actor rus-american (born 1989) - a interpretat Pavel Chekov în franciza Star Trek
 Robert Weinberg - scriitor de științifico-fantastic (n. 1946)
 Kenny Baker -  actor englez, a interpretat R2D2 în franciza Star Wars (n. 1934)
 Jerry Doyle - actor american, a interpretat Michael Garibaldi în Babylon 5
 Ron Glass - actor american (Firefly).
 Carrie Fisher - actriță americană, a interpretat Prințesa Leia în Star Wars
 13 ianuarie - Sorin Stănescu, nuvele publicate în colecția Povestiri științifico-fantastice (n. 1924)
 27 octombrie - Cornel Robu,  scriitor, editor și critic român (n. 1938)

Cărți

Romane
 Version Control, de Dexter Palmer
 Sleeping Giants, de Sylvain Neuvel
 The Everything Box, de Richard Kadrey
 Join, de Steve Toutonghi
 The Swarm de Orson Scott Card & Aaron Johnson
 Babylon's Ashes de James S.A. Corey
 Take Back the Sky de Greg Bear
 71 de David Brin
 2140 de Kim Stanley Robinson
 Raithe of the Boedecken de Matthew Stover
 Morning Star de Pierce Brown

 Filme
 10 Cloverfield Lane, de Dan Trachtenberg
 24, de Vikram Kumar
 The Divergent Series: Allegiant, de Robert Schwentke
 Arrival, de Denis Villeneuve & Eric Heisserer
 Assassin's Creed, de Justin Kurzel
 Equals, de Drake Doremus
 The 5th Wave, de J Blakeson
 The Girl with All the Gifts, de Colm McCarthy
 The Glass Fortress, de Alain Bourret
 Independence Day: Resurgence, de Roland Emmerich
 Midnight Special, de Jeff Nichols
 Morgan, de Luke Scott
 Passengers, de Morten Tyldum
 Rogue One: A Star Wars Story, de Gareth Edwards
 Shin Godzilla, de Hideaki Anno and Shinji Higuchi
 Star Trek: Beyond, de Justin Lin
Seriale TV
 11.22.63, de Bridget Carpenter
 3%, de Pedro Aguilera
 The Expanse de Mark Fergus, Hawk Ostby
 The OA, de Brit Marling & Zal Batmanglij
 Stranger Things, de Frații Duffer
 Timeless, de Eric Kripke și Shawn Ryan
 Travelers, de Brad Wright
  Trepalium, de Antarès Bassis, Sophie Hiet &  Vincent Lannoo
 Westworld, de Jonathan Nolan
 Dosarele X, de Chris Carter

 Jocuri video
 Star Citizen, de Cloud Imperium Games
 Stellaris, joc 4X Strategy creat de Paradox
 No Man's Sky, de Hello Games
 The Technomancer, de Spiders
 Destiny: Rise of Iron, de Bungie
 Overwatch, de Blizzard Entertainment
 Deus Ex: Mankind Divided, de Eidos Montréal
Premii
 Premiul Saturn
 Cel mai bun film SF: Rogue One: O poveste Star Wars
 Premiul Nebula pentru cel mai bun roman
 Uprooted de Naomi Novik
 Premiul Hugo pentru cel mai bun roman
 The Fifth Season'' de N.K. Jemisin

Note

Vezi și
 2016 în literatură
 2016 în film
 2016 în televiziune
 2016 în jocurile video

2016 în științifico-fantastic


The following forms can be downloaded and are in Adobe PDF format.
We wish to extend our sincerest gratitudeto these wonderful supporters for their continued generosity, support and dedication to the West Side Animal League.
Copyright © 2018 West Side Animal League.


text:
Strug () is a small settlement on the left bank of the Dravinja River in the Municipality of Makole in northeastern Slovenia. The area is part of the traditional region of Styria. It is now included with the rest of the municipality in the Drava Statistical Region.

A small chapel-shrine in the settlement dates to the 19th century.

References

External links
Strug at Geopedia

Populated places in the Municipality of Makole


text:
using Fuszenecker.GraphEngine.Graph.Interfaces;
using Fuszenecker.GraphEngine.StorageAdapters.Interfaces;

namespace Fuszenecker.GraphEngine.Graph.Implementations
{
    public abstract class EntityBase : IEntity
    {
        protected IStorageAdapter storageAdapter;

        public int Id { get; private set; }
        public string Name { get; private set; }

        protected EntityBase(IStorageAdapter storageAdapter, int id, string name)
        {
            this.storageAdapter = storageAdapter;
            this.Id = id;
            this.Name = name;
        }

        public abstract bool Has(string propertyName);
        public abstract string Get(string propertyName);
        public abstract void Set(string propertyName, string value);
        public abstract void Delete(string propertyName);

        public override bool Equals(object obj)
        {
            return Equals(obj as EntityBase);
        }

        public bool Equals(EntityBase other)
        {
            return !ReferenceEquals(other, null) && this.Id == other.Id;
        }

        public static bool operator ==(EntityBase first, EntityBase second)
        {
            if (ReferenceEquals(first, null) && ReferenceEquals(second, null))
            {
                return true;
            }

            if (ReferenceEquals(first, null) || ReferenceEquals(second, null))
            {
                return false;
            }

            return !ReferenceEquals(second, null) && first.Id.Equals(second.Id);
        }

        public static bool operator !=(EntityBase first, EntityBase second)
        {
            return !(first == second);
        }

        public override int GetHashCode()
        {
            return Id;
        }
    }
}


text:
MENTORSHIP RECIPIENT
NORTHEAST OHIO SPOTLIGHT
Mentor Commentary
Laura Maylene Walter
Recipient Reflection
Bonnie Brewer-Kraus
Keep a Light On
Fiction by Bonnie Brewer-Kraus
I didn't say anything to my husband about the light in Brett's window at first. I thought it was a reflection or my imagination. Why would Brett's lamp be lit when he'd been gone for two years? Just in case, when I returned from walking our old mutt Stanley that night, I walked upstairs to our son's bedroom on the empty second floor. Sure enough, it was dark and cold as a tomb. However, the next two nights when I took Stanley out to do his business, there was that damn light, taunting me through the cowboy curtains I picked out for Brett when he was five. But when I trekked upstairs to a chilly room smelling of stale Axe deodorant and weed, the lamp was off.
I confronted my husband in his easy chair in front of the eleven o'clock news, where he sat, night after night, after a long day of being retired. "Very funny, but that's enough. And it's kind of cruel."
"What are you on about, Lola?" Bud didn't look away from the screen, where the weather gal was getting excited about our first winter storm.
I stood in front of the television, blocking Bud's view. "I'm talking about turning on the light in Brett's room every night while I'm walking Stanley and then turning it off before I come in."
"That's a ridiculous accusation," he said. I didn't believe him. He denied it and denied it and we both went to bed angry. Bud grabbed his CPAP machine like a drowning man.
The electrician, a smart-aleck younger than Brett, was equally unsympathetic. He examined the fixture, a plain flush mount ceiling light with a glass dome. "There's no short, no loose wiring, Mrs. Mindo. Perfect working order. You turn the switch on, light comes on; you turn it off, light goes off." He demonstrated this several times, like I was an idiot, and charged me ninety dollars.
Bud agreed to walk with me and Stanley, to see for himself, if that would keep me quiet. Stanley and Bud don't get along, ever since Bud called him the world's ugliest dog after I brought him home from the shelter. Stanley does look like someone put him together from a kit of mismatched parts, but I'm on his side. We stick together.
The predicted storm had arrived on schedule, dumping three inches of wet snow, and coating the sidewalks with ice. Our brick Tudor-style house looked forlorn and gloomy, except for that warm glow in the upstairs window. I tried to conceal my triumph, but I felt vindicated, since I don't win too many arguments with Bud, who used to be an engineer and is good with facts and numbers.
We tramped up to Brett's room, Stanley bringing up the rear, where it was Bud's turn to gloat when the overhead light was still on.
"You sneaked upstairs to turn it on before we left, just to prove you were right, but you couldn't figure out a way to sneak back in ahead of me," he said.
"Bud, it was off when we left the house, we checked it together, and I swear I didn't turn it on."
"Then who did?" Bud looked around at the sad wreck of our son's room, as if searching for the culprit in the broken bed and sagging mattress, the gouges Brett had put in the wall in his knife-throwing phase, the strange symbols and diagrams he'd drawn on the pale blue paint with permanent markers, the burns in the carpet, the piles of mysterious junk in the corners. I kept meaning to clean up in here, maybe make it into a sewing room, but I couldn't seem to find the time. Only Brett's model rockets, so painstakingly assembled and placed on their shelves, sleek and white, had escaped destruction. Once we thought he might be an engineer, like his father.
"Some problems have no solution," Bud said and stomped down the stairs and back to his TV. When Bud comes up against something he can't explain, he just moves on. Life's too short, he says, I don't wallow.
I didn't mean to tell my hairdresser Louise about what I was going through, but it popped out in one of those relaxing, intimate moments when she had my hair all sudsed up and was rubbing my scalp with her hard fingers.
"I'll bet it's a message, these things usually are," she said. "Has anyone close to you died recently?"
I jerked and almost sat upright, but she held me down. "Let me get you rinsed, honey."
All I could think was Brett, Brett, Brett, what if Brett were dead? Would anyone call us from that alternative living community he'd gone to in Montana? I only knew he was there because his friend Petey, a sweet kid, took pity on us and told us against Brett's wishes.
I called Petey, begging him to tell me how to get in touch with Brett. He told me the community didn't believe in twentieth century technology, but he might be able to reach out in another way. He wouldn't tell me anything else, like I was the enemy. Meanwhile, here's Petey making his parents proud: a wife, a good job with State Farm, a nice house. It just makes me mad sometimes.
I talked to the light that night, standing out in the street, the snow falling softly, "Brett, if this is a message from you, tell me what you need, I'm listening."
Brett called a week later on the land line, while I was making spaghetti.
"Mom, I just wanted you to know I'm okay. More than okay."
I couldn't believe I was hearing his voice. The words clogged in my throat because there was so much I wanted to say. He sounded breathless, excited, like he had when he was a little boy, running in to show me some new discovery, a wiggling worm, or a blue feather.
"Brett is dead," he went on. "I spent four days alone, without food or water, and I had a vision of what I could be. We call it an illumination." He paused, and said, "I want you to know my new name is Pluto."
"Oh, Brett," I said. "Isn't that funny? That's the name of that cute little beagle puppy you had when you were four, the one that got run over by the mail truck. You named it yourself, you were so proud of knowing all the planets."
"Pluto is no longer a planet, Mom," he said. "Look it up." We were both silent then. I could hear him breathing and I just wanted to listen to that sound, over all those miles of stony ground and cold, dark woods.
"I've got to go. You'd better get that light fixed; it might cause a fire."
"Brett, don't go yet, I have so much to tell you…" But he'd already hung up.
The light's still on and I'll keep replacing that bulb until I have no breath left.
Bonnie Brewer-Kraus grew up in Ann Arbor, Michigan and attended an alternative college in Florida, before getting a Bachelor of Architecture at Kent State and moving to Cleveland Heights. As an architect, she worked on recreational and municipal projects, including a fire station, which gave her a behind-the-scenes peek at the secret lives of firemen and women. Although an avid reader and closet writer since childhood, it is only in the last few years that she has tackled the discipline and craft of writing through classes at Lit Cleveland. She loves taking a journey with a story and never knowing where she'll end up.
GORDON SQUARE REVIEW


This is not true. The Peoples Court of the Development Zone handed down a verdict on a case of intentional injury and incidental civil action caused by emotional disputes. The defendant, Liu Mou, bought a bill for his impulse.
When KTV collided with him outside, he rushed up and slapped him.
Liu Mou and Afang are boyfriends and girlfriends, but Liu Mou already has a family. After such an improper relationship lasted for some time, Ah Fang chose to give up and found a new boyfriend, Xu Mou. Although he could not give Ah Fang the future, Liu still refused to give up, still entangled with Ah Fang.
One night, Ah Fang and her boyfriend Xu Mou met to sing in a KTV. While parking in the parking lot, she was hit by Liu Mou.
She used to tell me she wanted to go home, but now shes out dating someone else. In order to test Ah Fang, Liu deliberately called her and asked where she was. As a result, Ah Fang answered that she would be home. Watching Ah Fang lie, Liu immediately rushed out of the dark, slapped her severely, shouted at her for cheating, and robbed Ah Fang of her mobile phone.
After seeing the story with Ah Fangs sister, she immediately told her friend Zhao Mou about Ah Fangs bullying, and then Zhao Mou told Xu Mou about it. Hearing that his girlfriend had been bullied, Xu put a kitchen knife on his back and went with Zhao to find Ah Fang to help her find out.
One man took out a screwdriver and stabbed the other man with a kitchen knife.
When Xu Mou and Zhao Mou found Afang, Liu Mou had left. They immediately dialed Ah Fangs stolen mobile phone and asked Liu to talk at the entrance of the community.
Liu Mou arrived at the scene, and without saying a word, he abused Ah Fang and started to slap Ah Fang. Seeing the situation, Xu and Zhao on the other side immediately came forward to dissuade, but Liu suddenly pulled out a screwdriver from his arms, facing them is a mess.
Looking at his friend Zhao Mou injured and fell to the ground, Xu Mou immediately took out his kitchen knife and hit back, cutting Liu Mous left shoulder with the knife. After the hospital diagnosis, Zhao Mou was stabbed in the heart, and was admitted to the intensive care unit, which eventually identified as the second grade of serious injury.
Because Xu Mou also started, was sentenced by the public security organs to administrative detention for 10 days and a fine of 500 yuan. Liu Mou was sentenced to three yearsimprisonment by the court of the development zone for the crime of intentional injury, and compensated Zhao Mou for 300,000 yuan.
Judge reminds: As the saying goes, Speak well when you have something to say and Impulse is the devil, when contradictions arise, we should forgive and compromise each other. We must not succeed in fighting for a moment, causing irreparable consequences, and regret is too late.
Impulsive people always start when they encounter unpleasant things, often without considering the consequences. Nevertheless, the police have already settled this account: losing in hospital, winning in prison. Although Xiasha police have posted campaign posters about the cost of fighting everywhere, they still cant persuade some people.