text:
Who won the Pac-12 in 2011?
Who was the college football champion in 2011?
Has Arizona State ever won the Pac-12?
What was auburns record in 2011?
The conference's first game was played on September 10 with Utah at USC, and the final game played was the Pac-12 Championship Game on Friday, December 2. Oregon defeated UCLA to claim their third straight conference title. This is the first season for the conference as a 12-team league.
Auburn beats Oregon 22-19 to win BCS national college football championship.
Who has won the most Pac-12 football championships?
Starting in 2022, the two teams with the highest conference winning percentage will face off in the championship game….Pac-12 Football Championship Game.
Pac-12 Conference Football Championship Game
Played 2011–present
Last contest 2021
Current champion Utah
Most championships Oregon (4)
Has Oregon ever won the national championship in football?
Oregon History They won the 2002 Fiesta Bowl and lost the 2010 Rose Bowl to Ohio State. They have never won a football national championship.
Halle Harger and her Arizona State Sun Devils teammates won the 2022 Pac-12 Championship outright with victories on May 13 and May 14 over the University of Washington. It is the first time since 2011 that the Sun Devils have won the PAC-12 Championship, and only the third time in program history.
2011 Auburn Tigers football team
2011 Auburn Tigers football
Western Division
Record 8–5 (4–4 SEC)
Head coach Gene Chizik (3rd season)
Offensive coordinator Gus Malzahn (3rd season)
Has the Pac-12 ever won a national championship in football?
In its history, Pac-12 teams have been recognized as consensus National Champions 10 different times, most recently with USC earning the distinction in back-to-back years in 2003 and 2004.
What year did Utah beat Alabama in the Sugar Bowl?
In the 2009 edition of this bowl game, the No. 6 Utes pulled off an upset of the heavily favored No. 4 Crimson Tide by a score of 31–17. Utah quarterback Brian Johnson was named Most Outstanding Player of the game….2009 Sugar Bowl.
AP Coaches BCS 7 7 6 AP Coaches BCS 4 T-4 4


Add your site in Telecommunication category.
Description: CEO at MTN Zambia - Mr. Abdul Ismail promises to provide quality and affordable communication solutions in Zambia.
Description: Sharaf Shipping Agency (SSA) offer complete range of Ship Supply Services in Dubai UAE.


Cite updated protocols and methods in scanning images that will improve outcomes.
Practice updated treatment methods for various conditions.
Use updated ultrasound imaging techniques in order to provide greater information.


Tatine's Peace Rose votive candle is named for a hybrid tea rose introduced in Europe during World War II. Its scent evokes verdant dark rose grenache and citrus bloom, with notes of evergreen, pine, and golden amber. The soy wax candle is poured into a deep green smoked votive glass with a cotton wick.
3.5 oz. soy wax candle. Approximately 18 hour burn time.


text:
This Chrome extension adds several useful features, such as Polyrating integration, to the class listings on PASS.

[Chome webstore link](https://chrome.google.com/webstore/detail/pass-the-plebs/mhglgbabaleaegjhdcmfffkaaklpmjog)

Features:
* Polyrating and number of evaluations appear next to the instructor's name (if they exist)
* Background behind the instructor's name changes color:
  * Green = Good
  * Yellow = Pretty good
  * Orange = Okay
  * Red = Bad
* Click on any teacher's name to see their full Polyratings page (if it exists)
* Search Polyratings for teachers and classes from the Chrome search bar (keyword is 'rating')
* Options to gray out or hide classes that are closed, cancelled, conflict with your schedule, or have STAFF listed as the instructor
* Checkbox at the top of each class list to select/unselect all classes at once
* Click on any section header to toggle the course description
* Errors list is now part of the sidebar instead of on top of the class listings

Modifying source
* Clone or download repo
* Run `npm install`, which will:
  * Install dependencies
  * (Optional) Install chrome-cli (used for reloading PASS in Chrome on save)
* Edit away! The code will be built and the extension refreshed every time you save.
  * Note: If you choose to install chrome-cli, you will need the ['Run on Save' extension for VS code](https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave) (or similar extension/add-on for whatever IDE/editor you use), otherwise you must run `npm run build` every time you want to build the extension.

Inspired by [this Chrome extension](https://github.com/RobertUrsua/BruinWalkChromeExtension)

redpajama_set_name: RedPajamaGithub


text:
David Porter » Articles at Suite 101 » USA and UK, Two Countries Divided by the Same Language
USA and UK, Two Countries Divided by the Same Language
May 19th, 2011 | Add a Comment
While American-English & British-English are similar but different in spellings and shades of meaning, text-speak could render all differences academic.
It seems that nobody agrees who first said that England and America are two countries separated by the same language. The 1951 Treasury of Humorous Quotations quotes Irish playwright, George Bernard Shaw, as saying it, but not necessarily originating it.
An earlier candidate is Oscar Wilde, who wrote in The Canterville Ghost (1887), 'We really have everything in common with America now except, of course, language". Although later, war time Prime Minister Sir Winston Churchill is sometimes also cited as the originator.
Philosopher Bertrand Russell, writing in Saturday Evening Post, June 1944, said: 'It is a misfortune for Anglo-American friendship that the two countries are supposed to have a common language'. In a radio talk prepared by Welsh poet Dylan Thomas published in The Listener, April 1954, he said: 'European writers and scholars in America are up against the barrier of a common language'.
Whoever coined it, it's probably always been true. During the War, American GIs stationed in Britain were puzzled and took time to adjust to English food, warm beer and strange local expressions. Both versions are living languages, absorbing words, inventing new ones constantly.
Translating American-English to British-English
Today, familiar movies, TV programmes and books mean people can translate as they go along, either side of the Atlantic, making allowances, needing no dictionaries. Spell-checks are a problem in England sometimes, as the majority use American spelling, even if programmed otherwise.
Both sides recognise the following terms, with English equivalents in brackets, if the talk is about motoring: a hood (bonnet) and trunk (boot) on a car with a license plate (number plate) needs gas (petrol) to travel on the overpass (flyover). In a restaurant, a customer may have had French fries (chips) or chips (crisps), wiped fingers on a napkin (serviette) and at the end called for the check (bill), and pays cash in dollar bills (pound notes).
An eraser is a rubber in Britain, while a rubber in the US becomes a condom in the UK. An American purse is an English handbag; a fanny Stateside is a British backside or bum, which becomes American bum (scrounger), while a fanny in English is female genitalia.
A cigarette in some parts of England can be called a fag, which in America means a homosexual, though both sides now use gay. A subway in a US city is the underground or tube in an English one; a pedestrian tunnel is a subway, a pavement is a road surface and a sidewalk is a pavement. The elevator is a lift, an apartment is a flat, pants are trousers.
Most People Know What They Mean
A lawyer is a solicitor, a solicitor is a door-to-door salesperson; an attorney a barrister and a realtor an estate agent. Pants are trousers, suspenders become braces, a garter belt is suspenders, a baby carriage is a pram and a diaper is a nappy.
An argument in America is also a row in Britain; band aid is a plaster, while the bathroom is the loo or WC (water closet, originally) and a bathroom is where the loo may be situated. A can is a tin, chopped beef is mince (which in England is also a sweet concoction of fruit and spices), a cookie is a biscuit and maize is corn. A flashlight is better known as a torch and a guy is usually a chap or bloke, though younger people of either sex nowadays answer to the word guy. In England a guy is also a stuffed dummy burned on a bonfire on 5th November to celebrate a failed coup by Guy Fawkes against King James 1 in 1605.
People stand in line in US, they queue in Britain; a motor home is a caravan and the mail is the post, a movie theater is a cinema, a pharmacist is a chemist, to rent is to hire, to play soccer is to play football (which is something else again in the States), a sweater is a jumper ; a vacation is a holiday and a zipcode is a postcode.
Even when the same word is used by both sides with broadly the same meaning, the spellings can be different for no obvious reasons. Just a few examples reveal some tiny but significant differences, American first, English second: enrollment/enrolment; catalog/catalogue; theater/theatre; recognize/recognise; color/colour; defense/defence; jewelry/jewellery; pajamas/pyjamas; tire/tyre; and program/programme.
There are differences in customs, following on from language. There's no Thanksgiving in the UK, and until the last decade or so, Trick Or Treat, cheerleading and high school proms were things seen only in American movies and fiction. Now they are everywhere.
Eventually, as text-speak and the brevity of emails/messaging evolve, they'll have a profound effect on written and spoken language, and the differences will be smoothed out. In the meantime, people can cherish the subtle variations.That's it, folks (people). Period. (full stop).
First published on Suite 101, 8 April 2010.
Photo: Burberry Purse in USA; Handbag in UK – Dan Smith
Plain Language Is the Holy Grail of Communication
Life's Aphorisms Are As Good for Comedy As For Living By
Acronyms Have Become a Language in Their Own 'Write'
Written by David Porter
Filed under: Articles at Suite 101 · Tags: English language

redpajama_set_name: RedPajamaCommonCrawl


text:
#ifndef __SYS_H__
#define __SYS_H__

#if !defined(__GNUC__)
#  define ERTS_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) 0
#elif !defined(__GNUC_MINOR__)
#  define ERTS_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
  ((__GNUC__ << 24) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
#elif !defined(__GNUC_PATCHLEVEL__)
#  define ERTS_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
  (((__GNUC__ << 24) | (__GNUC_MINOR__ << 12)) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
#else
#  define ERTS_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
  (((__GNUC__ << 24) | (__GNUC_MINOR__ << 12) | __GNUC_PATCHLEVEL__) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
#endif

#if defined(ERTS_DIRTY_SCHEDULERS) && !defined(ERTS_SMP)
# error "Dirty schedulers not supported without smp support"
#endif

#ifdef ERTS_INLINE
#  ifndef ERTS_CAN_INLINE
#    define ERTS_CAN_INLINE 1
#  endif
#else
#  if defined(__GNUC__)
#    define ERTS_CAN_INLINE 1
#    define ERTS_INLINE __inline__
#  elif defined(__WIN32__)
#    define ERTS_CAN_INLINE 1
#    define ERTS_INLINE __inline
#  else
#    define ERTS_CAN_INLINE 0
#    define ERTS_INLINE
#  endif
#endif

#ifndef ERTS_FORCE_INLINE
#  if ERTS_AT_LEAST_GCC_VSN__(3,1,1)
#    define ERTS_FORCE_INLINE __inline__ __attribute__((__always_inline__))
#  elif defined(__WIN32__)
#    define ERTS_FORCE_INLINE __forceinline
#  endif
#  ifndef ERTS_FORCE_INLINE
#    define ERTS_FORCE_INLINE ERTS_INLINE
#  endif
#endif

#if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK)
#  undef ERTS_CAN_INLINE
#  define ERTS_CAN_INLINE 0
#  undef ERTS_INLINE
#  define ERTS_INLINE
#endif

#if ERTS_CAN_INLINE
#define ERTS_GLB_FORCE_INLINE static ERTS_FORCE_INLINE
#define ERTS_GLB_INLINE static ERTS_INLINE
#else
#define ERTS_GLB_FORCE_INLINE
#define ERTS_GLB_INLINE
#endif

#if ERTS_CAN_INLINE || defined(ERTS_DO_INCL_GLB_INLINE_FUNC_DEF)
#  define ERTS_GLB_INLINE_INCL_FUNC_DEF 1
#else
#  define ERTS_GLB_INLINE_INCL_FUNC_DEF 0
#endif

#if defined(VALGRIND) && !defined(NO_FPE_SIGNALS)
#  define NO_FPE_SIGNALS
#endif

#define ERTS_I64_LITERAL(X) X##LL

#define ErtsInArea(ptr,start,nbytes) \
    ((UWord)((char*)(ptr) - (char*)(start)) < (nbytes))

#define ErtsContainerStruct(ptr, type, member) \
    ((type *)((char *)(1 ? (ptr) : &((type *)0)->member) - offsetof(type, member)))

/* Use this variant when the member is an array */
#define ErtsContainerStruct_(ptr, type, memberv) \
    ((type *)((char *)(1 ? (ptr) : ((type *)0)->memberv) - offsetof(type, memberv)))

#define ErtsSizeofMember(type, member) sizeof(((type *)0)->member)

#if defined (__WIN32__)
#  include "erl_win_sys.h"
#else
#  include "erl_unix_sys.h"
#ifndef UNIX
#  define UNIX 1
#endif
#endif

#include "erl_misc_utils.h"

/*
 * To allow building of Universal Binaries for Mac OS X,
 * we must not depend on the endian detected by the configure script.
 */
#if defined(__APPLE__)
#  if defined(__BIG_ENDIAN__) && !defined(WORDS_BIGENDIAN)
#    define WORDS_BIGENDIAN 1
#  elif !defined(__BIG_ENDIAN__) && defined(WORDS_BIGENDIAN)
#    undef WORDS_BIGENDIAN
#  endif
#endif

/*
 * Make sure we have a type for FD's (used by erl_check_io)
 */

#ifndef ERTS_SYS_FD_TYPE
#define ERTS_SYS_FD_INVALID ((ErtsSysFdType) -1)
typedef int ErtsSysFdType;
#else
#ifndef ERTS_SYS_FD_INVALID
# error missing ERTS_SYS_FD_INVALID
#endif
typedef ERTS_SYS_FD_TYPE ErtsSysFdType;
#endif

#if ERTS_AT_LEAST_GCC_VSN__(2, 96, 0)
#  define ERTS_LIKELY(BOOL)   __builtin_expect((BOOL), !0)
#  define ERTS_UNLIKELY(BOOL) __builtin_expect((BOOL), 0)
#else
#  define ERTS_LIKELY(BOOL)   (BOOL)
#  define ERTS_UNLIKELY(BOOL) (BOOL)
#endif

#if ERTS_AT_LEAST_GCC_VSN__(2, 96, 0)
#if (defined(__APPLE__) && defined(__MACH__)) || defined(__DARWIN__)
#  define ERTS_WRITE_UNLIKELY(X) X __attribute__ ((section ("__DATA,ERTS_LOW_WRITE") ))
#else
#  define ERTS_WRITE_UNLIKELY(X) X __attribute__ ((section ("ERTS_LOW_WRITE") ))
#endif
#else
#  define ERTS_WRITE_UNLIKELY(X) X
#endif

/* clang may have too low __GNUC__ versions but can handle it */
#ifdef __GNUC__
#  if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5) || defined(__clang__)
#    define ERTS_DECLARE_DUMMY(X) X __attribute__ ((unused))
#  else
#    define ERTS_DECLARE_DUMMY(X) X
#  endif
#else
#  define ERTS_DECLARE_DUMMY(X) X
#endif

#if !defined(__func__)
#  if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L
#    if !defined(__GNUC__) ||  __GNUC__ < 2
#      define __func__ "[unknown_function]"
#    else
#      define __func__ __FUNCTION__
#    endif
#  endif
#endif

#define ERTS_MK_VSN_INT(Major, Minor, Build) \
    ((((Major) & 0x3ff) << 20) | (((Minor) & 0x3ff) << 10) | ((Build) & 0x3ff))

#ifndef ERTS_EXIT_AFTER_DUMP
#  define ERTS_EXIT_AFTER_DUMP exit
#endif

/* In VC++, noreturn is a declspec that has to be before the types,
 * but in GNUC it is an att ribute to be placed between return type
 * and function name, hence __decl_noreturn <types> __noreturn <function name>
 *
 * at some platforms (e.g. Android) __noreturn is defined at sys/cdef.h
 */
#if __GNUC__
#  define __decl_noreturn
#  ifndef __noreturn
#     define __noreturn __attribute__((noreturn))
#  endif
#else
#  if defined(__WIN32__) && defined(_MSC_VER)
#    define __noreturn
#    define __decl_noreturn __declspec(noreturn)
#  else
#    define __noreturn
#    define __decl_noreturn
#  endif
#endif

#define ERTS_ASSERT(e) \
    ((void) ((e) ? 1 : (erl_assert_error(#e, __func__, __FILE__, __LINE__), 0)))

__decl_noreturn void __noreturn erl_assert_error(const char* expr, const char *func,
						 const char* file, int line);

#ifdef DEBUG
#  define ASSERT(e) ERTS_ASSERT(e)
#else
#  define ASSERT(e) ((void) 1)
#endif

#ifdef ERTS_SMP
#  define ERTS_SMP_ASSERT(e) ASSERT(e)
#else
#  define ERTS_SMP_ASSERT(e) ((void)1)
#endif

/* ERTS_UNDEF can be used to silence false warnings about
 * "variable may be used uninitialized" while keeping the variable
 * marked as undefined by valgrind.
 */
#ifdef VALGRIND
#  define ERTS_UNDEF(V,I)
#else
#  define ERTS_UNDEF(V,I) V = I
#endif

/*
 * Compile time assert
 * (the actual compiler error msg can be a bit confusing)
 */
#if ERTS_AT_LEAST_GCC_VSN__(3,1,1)
# define ERTS_CT_ASSERT(e) \
    do { \
	enum { compile_time_assert__ = __builtin_choose_expr((e),0,(void)0) }; \
    } while(0)
#else
# define ERTS_CT_ASSERT(e) \
    do { \
        enum { compile_time_assert__ = 1/(e) }; \
    } while (0)
#endif

/*
 * Microsoft C/C++: We certainly want to use stdarg.h and prototypes.
 * But MSC doesn't define __STDC__, unless we compile with the -Za
 * flag (strict ANSI C, no Microsoft extension).  Compiling with -Za
 * doesn't work: some Microsoft headers fail to compile...
 *
 * Solution: Test if __STDC__ or _MSC_VER is defined.
 *
 * Note: Simply defining __STDC__ doesn't work, as some Microsoft
 * headers will fail to compile!
 */

#include <stdarg.h>

/* This isn't sys-dependent, but putting it here benefits sys.c and drivers
   - allow use of 'const' regardless of compiler */

#if !defined(__STDC__) && !defined(_MSC_VER)
#  define const
#endif

#undef __deprecated
#if ERTS_AT_LEAST_GCC_VSN__(3, 0, 0)
#  define __deprecated __attribute__((deprecated))
#else
#  define __deprecated
#endif
#if ERTS_AT_LEAST_GCC_VSN__(3, 0, 4)
#  define erts_align_attribute(SZ) __attribute__ ((aligned (SZ)))
#else
#  define erts_align_attribute(SZ)
#endif

/*
** Data types:
**
** Eterm: A tagged erlang term (possibly 64 bits)
** BeamInstr: A beam code instruction unit, possibly larger than Eterm, not smaller.
** UInt:  An unsigned integer exactly as large as an Eterm.
** SInt:  A signed integer exactly as large as an eterm and therefor large
**        enough to hold the return value of the signed_val() macro.
** UWord: An unsigned integer at least as large as a void * and also as large
**          or larger than an Eterm
** SWord: A signed integer at least as large as a void * and also as large
**          or larger than an Eterm
** Uint32: An unsigned integer of 32 bits exactly
** Sint32: A signed integer of 32 bits exactly
** Uint16: An unsigned integer of 16 bits exactly
** Sint16: A signed integer of 16 bits exactly.
*/

#if !((SIZEOF_VOID_P >= 4) && (SIZEOF_VOID_P == SIZEOF_SIZE_T) \
      && ((SIZEOF_VOID_P == SIZEOF_INT) || (SIZEOF_VOID_P == SIZEOF_LONG) || \
          (SIZEOF_VOID_P == SIZEOF_LONG_LONG)))
#error Cannot handle this combination of int/long/void*/size_t sizes
#endif

#if SIZEOF_VOID_P == 8
#undef  ARCH_32
#define ARCH_64
#define ERTS_SIZEOF_TERM 8
#elif SIZEOF_VOID_P == 4
#define ARCH_32
#undef  ARCH_64
#define ERTS_SIZEOF_TERM 4
#else
#error Neither 32 nor 64 bit architecture
#endif

#if SIZEOF_VOID_P != SIZEOF_SIZE_T
#error sizeof(void*) != sizeof(size_t)
#endif

#if SIZEOF_VOID_P == SIZEOF_LONG
typedef unsigned long Eterm;
typedef unsigned long Uint;
typedef long          Sint;
#define SWORD_CONSTANT(Const) Const##L
#define UWORD_CONSTANT(Const) Const##UL
#define ERTS_UWORD_MAX ULONG_MAX
#define ERTS_SWORD_MAX LONG_MAX
#define ERTS_SIZEOF_ETERM SIZEOF_LONG
#define ErtsStrToSint strtol
#elif SIZEOF_VOID_P == SIZEOF_INT
typedef unsigned int Eterm;
typedef unsigned int Uint;
typedef int          Sint;
#define SWORD_CONSTANT(Const) Const
#define UWORD_CONSTANT(Const) Const##U
#define ERTS_UWORD_MAX UINT_MAX
#define ERTS_SWORD_MAX INT_MAX
#define ERTS_SIZEOF_ETERM SIZEOF_INT
#define ErtsStrToSint strtol
#elif SIZEOF_VOID_P == SIZEOF_LONG_LONG
typedef unsigned long long Eterm;
typedef unsigned long long Uint;
typedef long long          Sint;
#define SWORD_CONSTANT(Const) Const##LL
#define UWORD_CONSTANT(Const) Const##ULL
#define ERTS_UWORD_MAX ULLONG_MAX
#define ERTS_SWORD_MAX LLONG_MAX
#define ERTS_SIZEOF_ETERM SIZEOF_LONG_LONG
#if defined(__WIN32__)
#define ErtsStrToSint _strtoi64
#else
#define ErtsStrToSint strtoll
#endif
#else
#error Found no appropriate type to use for 'Eterm', 'Uint' and 'Sint'
#endif

typedef Uint UWord;
typedef Sint SWord;
#define ERTS_UINT_MAX ERTS_UWORD_MAX

typedef UWord BeamInstr;

#ifndef HAVE_INT64
#  if SIZEOF_LONG == 8
#    define HAVE_INT64 1
typedef unsigned long Uint64;
typedef long          Sint64;
#    ifdef ULONG_MAX
#      define ERTS_UINT64_MAX ULONG_MAX
#    endif
#    ifdef LONG_MAX
#      define ERTS_SINT64_MAX LONG_MAX
#    endif
#    ifdef LONG_MIN
#      define ERTS_SINT64_MIN LONG_MIN
#    endif
#    define ErtsStrToSint64 strtol
#  elif SIZEOF_LONG_LONG == 8
#    define HAVE_INT64 1
typedef unsigned long long Uint64;
typedef long long          Sint64;
#    ifdef ULLONG_MAX
#      define ERTS_UINT64_MAX ULLONG_MAX
#    endif
#    ifdef LLONG_MAX
#      define ERTS_SINT64_MAX LLONG_MAX
#    endif
#    ifdef LLONG_MIN
#      define ERTS_SINT64_MIN LLONG_MIN
#    endif
#    define ErtsStrToSint64 strtoll
#  else
#    error "No 64-bit integer type found"
#  endif
#endif

#ifndef ERTS_UINT64_MAX
#  define ERTS_UINT64_MAX (~((Uint64) 0))
#endif
#ifndef ERTS_SINT64_MAX
#  define ERTS_SINT64_MAX ((Sint64) ((((Uint64) 1) << 63)-1))
#endif
#ifndef ERTS_SINT64_MIN
#  define ERTS_SINT64_MIN (-1*(((Sint64) 1) << 63))
#endif

#if SIZEOF_LONG == 4
typedef unsigned long Uint32;
typedef long          Sint32;
#elif SIZEOF_INT == 4
typedef unsigned int Uint32;
typedef int          Sint32;
#else
#error Found no appropriate type to use for 'Uint32' and 'Sint32'
#endif

#if SIZEOF_INT == 2
typedef unsigned int Uint16;
typedef int          Sint16;
#elif SIZEOF_SHORT == 2
typedef unsigned short Uint16;
typedef short          Sint16;
#else
#error Found no appropriate type to use for 'Uint16' and 'Sint16'
#endif

#if CHAR_BIT == 8
typedef unsigned char byte;
#else
#error Found no appropriate type to use for 'byte'
#endif

#if defined(ARCH_64) && !HAVE_INT64
#error 64-bit architecture, but no appropriate type to use for Uint64 and Sint64 found
#endif

#ifdef WORDS_BIGENDIAN
#  define ERTS_HUINT_HVAL_HIGH 0
#  define ERTS_HUINT_HVAL_LOW 1
#else
#  define ERTS_HUINT_HVAL_HIGH 1
#  define ERTS_HUINT_HVAL_LOW 0
#endif
#if ERTS_SIZEOF_TERM == 8
typedef union {
    Uint val;
    Uint32 hval[2];
} HUint;
#elif ERTS_SIZEOF_TERM == 4
typedef union {
    Uint val;
    Uint16 hval[2];
} HUint;
#else
#error "Unsupported size of term"
#endif

#  define ERTS_EXTRA_DATA_ALIGN_SZ(X) \
    (((size_t) 8) - (((size_t) (X)) & ((size_t) 7)))

#include "erl_lock_check.h"

/* needed by erl_smp.h */
int erts_send_warning_to_logger_str_nogl(char *);

#include "erl_smp.h"

#ifdef ERTS_WANT_BREAK_HANDLING
#  ifdef ERTS_SMP
extern erts_smp_atomic32_t erts_break_requested;
#    define ERTS_BREAK_REQUESTED \
  ((int) erts_smp_atomic32_read_nob(&erts_break_requested))
#  else
extern volatile int erts_break_requested;
#    define ERTS_BREAK_REQUESTED erts_break_requested
#  endif
void erts_do_break_handling(void);
#endif

#if !defined(ERTS_SMP) && !defined(__WIN32__)
extern volatile Uint erts_signal_state;
#define ERTS_SIGNAL_STATE erts_signal_state
void erts_handle_signal_state(void);
#endif

#ifdef ERTS_SMP
extern erts_smp_atomic32_t erts_writing_erl_crash_dump;
extern erts_tsd_key_t erts_is_crash_dumping_key;
#define ERTS_SOMEONE_IS_CRASH_DUMPING \
  ((int) erts_smp_atomic32_read_mb(&erts_writing_erl_crash_dump))
#define ERTS_IS_CRASH_DUMPING \
  ((int) (SWord) erts_tsd_get(erts_is_crash_dumping_key))
#else
extern volatile int erts_writing_erl_crash_dump;
#define ERTS_SOMEONE_IS_CRASH_DUMPING erts_writing_erl_crash_dump
#define ERTS_IS_CRASH_DUMPING erts_writing_erl_crash_dump
#endif

/* Deal with memcpy() vs bcopy() etc. We want to use the mem*() functions,
   but be able to fall back on bcopy() etc on systems that don't have
   mem*(), but this doesn't work to well with memset()/bzero() - thus the
   memzero() macro.
*/

/* xxxP */
#if defined(USE_BCOPY)
#  define memcpy(a, b, c) bcopy((b), (a), (c))
#  define memcmp(a, b, c) bcmp((a), (b), (c))
#  define memzero(buf, len) bzero((buf), (len))
#else
#  define memzero(buf, len) memset((buf), '\0', (len))
#endif

/* Stuff that is useful for port programs, drivers, etc */

#ifdef ISC32			/* Too much for the Makefile... */
#  define signal	sigset
#  define NO_ASINH
#  define NO_ACOSH
#  define NO_ATANH
#  define NO_FTRUNCATE
#  define SIG_SIGHOLD
#  define _POSIX_SOURCE
#  define _XOPEN_SOURCE
#endif

#ifdef QNX			/* Too much for the Makefile... */
#  define SYS_SELECT_H
#  define NO_ERF
#  define NO_ERFC
/* This definition doesn't take NaN into account, but matherr() gets those */
#  define isfinite(x) (fabs(x) != HUGE_VAL)
#  define USE_MATHERR
#  define HAVE_FINITE
#endif

#ifdef WANT_NONBLOCKING	    /* must define this to pull in fcntl.h/ioctl.h */

/* This is really a mess... We used to use fcntl O_NDELAY, but that seems
   to only work on SunOS 4 - in particular, on SysV-based systems
   (including Solaris 2), it does set non-blocking mode, but causes
   read() to return 0!!  fcntl O_NONBLOCK is specified by POSIX, and
   seems to work on most systems, with the notable exception of AIX,
   where the old ioctl FIONBIO is the *only* one that will set a *socket*
   in non-blocking mode - and ioctl FIONBIO on AIX *doesn't* work for
   pipes or ttys (O_NONBLOCK does)!!! For now, we'll use FIONBIO for AIX. */

#  ifdef __WIN32__

static unsigned long zero_value = 0, one_value = 1;
#    define SET_BLOCKING(fd)	{ if (ioctlsocket((fd), FIONBIO, &zero_value) != 0) fprintf(stderr, "Error setting socket to non-blocking: %d\n", WSAGetLastError()); }
#    define SET_NONBLOCKING(fd)	ioctlsocket((fd), FIONBIO, &one_value)

#  else
#    ifdef NB_FIONBIO		/* Old BSD */
#      include <sys/ioctl.h>
  static const int zero_value = 0, one_value = 1;
#      define SET_BLOCKING(fd)         ioctl((fd), FIONBIO, &zero_value)
#      define SET_NONBLOCKING(fd)      ioctl((fd), FIONBIO, &one_value)
#      define ERRNO_BLOCK EWOULDBLOCK
#    else /* !NB_FIONBIO */
#      include <fcntl.h>
#      ifdef NB_O_NDELAY               /* Nothing needs this? */
#        define NB_FLAG O_NDELAY
#        ifndef ERRNO_BLOCK            /* allow override (e.g. EAGAIN) via Makefile */
#          define ERRNO_BLOCK EWOULDBLOCK
#        endif
#      else  /* !NB_O_NDELAY */	/* The True Way - POSIX!:-) */
#        define NB_FLAG O_NONBLOCK
#        define ERRNO_BLOCK EAGAIN
#      endif /* !NB_O_NDELAY */
#      define SET_BLOCKING(fd)         fcntl((fd), F_SETFL, \
                                           fcntl((fd), F_GETFL, 0) & ~NB_FLAG)
#      define SET_NONBLOCKING(fd)      fcntl((fd), F_SETFL, \
                                           fcntl((fd), F_GETFL, 0) | NB_FLAG)
#    endif /* !NB_FIONBIO */
#  endif /* !__WIN32__ */
#endif /* WANT_NONBLOCKING */

__decl_noreturn void __noreturn erts_exit(int n, char*, ...);

/* Some special erts_exit() codes: */
#define ERTS_INTR_EXIT	-1		/* called from signal handler */
#define ERTS_ABORT_EXIT	-2	        /* no crash dump; only abort() */
#define ERTS_DUMP_EXIT	-3              /* crash dump; then exit() */
#define ERTS_ERROR_EXIT	-4              /* crash dump; then abort() */

#define ERTS_INTERNAL_ERROR(What) \
    erts_exit(ERTS_ABORT_EXIT, "%s:%d:%s(): Internal error: %s\n", \
	     __FILE__, __LINE__, __func__, What)

Eterm erts_check_io_info(void *p);

UWord erts_sys_get_page_size(void);

/* Size of misc memory allocated from system dependent code */
Uint erts_sys_misc_mem_sz(void);

/* print stuff is declared here instead of in global.h, so sys stuff won't
   have to include global.h */
#include "erl_printf.h"

/* Io constants to erts_print and erts_putc */
#define ERTS_PRINT_STDERR	((fmtfn_t)0)
#define ERTS_PRINT_STDOUT	((fmtfn_t)1)
#define ERTS_PRINT_FILE		((fmtfn_t)2)
#define ERTS_PRINT_SBUF		((fmtfn_t)3)
#define ERTS_PRINT_SNBUF	((fmtfn_t)4)
#define ERTS_PRINT_DSBUF	((fmtfn_t)5)
#define ERTS_PRINT_FD           ((fmtfn_t)6)

typedef struct {
    char *buf;
    size_t size;
} erts_print_sn_buf;

int erts_print(fmtfn_t to, void *arg, char *format, ...);	/* in utils.c */
int erts_putc(fmtfn_t to, void *arg, char);			/* in utils.c */

/* logger stuff is declared here instead of in global.h, so sys files
   won't have to include global.h */

erts_dsprintf_buf_t *erts_create_logger_dsbuf(void);
int erts_send_info_to_logger(Eterm, erts_dsprintf_buf_t *);
int erts_send_warning_to_logger(Eterm, erts_dsprintf_buf_t *);
int erts_send_error_to_logger(Eterm, erts_dsprintf_buf_t *);
int erts_send_error_term_to_logger(Eterm, erts_dsprintf_buf_t *, Eterm);
int erts_send_info_to_logger_str(Eterm, char *);
int erts_send_warning_to_logger_str(Eterm, char *);
int erts_send_error_to_logger_str(Eterm, char *);
int erts_send_info_to_logger_nogl(erts_dsprintf_buf_t *);
int erts_send_warning_to_logger_nogl(erts_dsprintf_buf_t *);
int erts_send_error_to_logger_nogl(erts_dsprintf_buf_t *);
int erts_send_info_to_logger_str_nogl(char *);
/* needed by erl_smp.h (declared above)
   int erts_send_warning_to_logger_str_nogl(char *); */
int erts_send_error_to_logger_str_nogl(char *);

typedef struct preload {
    char *name;			/* Name of module */
    int  size;			/* Size of code */
    unsigned char* code;	/* Code pointer */
} Preload;

/*
 * ErtsTracer is either NIL, 'true' or [Mod | State]
 *
 * If set to NIL, it means no tracer.
 * If set to 'true' it means the current process' tracer.
 * If set to [Mod | State], there is a tracer.
 *  See erts_tracer_update for more details
 */
typedef Eterm ErtsTracer;

/*
 * This structure contains options to all built in drivers.
 * None of the drivers use all of the fields.
 */

typedef struct _SysDriverOpts {
    Uint ifd;			/* Input file descriptor (fd driver). */
    Uint ofd;			/* Outputfile descriptor (fd driver). */
    int packet_bytes;		/* Number of bytes in packet header. */
    int read_write;		/* Read and write bits. */
    int use_stdio;		/* Use standard I/O: TRUE or FALSE. */
    int redir_stderr;           /* Redirect stderr to stdout: TRUE/FALSE. */
    int hide_window;		/* Hide this windows (Windows). */
    int exit_status;		/* Report exit status of subprocess. */
    int overlapped_io;          /* Only has effect on windows NT et al */
    char *envir;		/* Environment of the port process, */
				/* in Windows format. */
    char **argv;                /* Argument vector in Unix'ish format. */
    char *wd;			/* Working directory. */
    unsigned spawn_type;        /* Bitfield of ERTS_SPAWN_DRIVER |
				   ERTS_SPAWN_EXTERNAL | both*/
    int parallelism;            /* Optimize for parallelism */
} SysDriverOpts;

extern char *erts_default_arg0;

extern char os_type[];

typedef struct {
    int have_os_monotonic_time;
    int have_corrected_os_monotonic_time;
    ErtsMonotonicTime os_monotonic_time_unit;
    ErtsMonotonicTime sys_clock_resolution;
    struct {
	Uint64 resolution;
	char *func;
	char *clock_id;
	int locked_use;
	int extended;
    } os_monotonic_time_info;
    struct {
	Uint64 resolution;
	char *func;
	char *clock_id;
	int locked_use;
    } os_system_time_info;
} ErtsSysInitTimeResult;

#define ERTS_SYS_INIT_TIME_RESULT_INITER \
    {0, 0, (ErtsMonotonicTime) -1, (ErtsMonotonicTime) 1}

extern void erts_init_sys_time_sup(void);
extern void sys_init_time(ErtsSysInitTimeResult *);
extern void erts_late_sys_init_time(void);
extern void erts_deliver_time(void);
extern void erts_time_remaining(SysTimeval *);
extern void erts_sys_init_float(void);
extern void erts_thread_init_float(void);
extern void erts_thread_disable_fpe(void);
ERTS_GLB_INLINE int erts_block_fpe(void);
ERTS_GLB_INLINE void erts_unblock_fpe(int);

#if ERTS_GLB_INLINE_INCL_FUNC_DEF

ERTS_GLB_INLINE int erts_block_fpe(void)
{
    return erts_sys_block_fpe();
}

ERTS_GLB_INLINE void erts_unblock_fpe(int unmasked)
{
    erts_sys_unblock_fpe(unmasked);
}

#endif /* #if ERTS_GLB_INLINE_INCL_FUNC_DEF */

/* Dynamic library/driver loading */
typedef struct {
    char* str;
}ErtsSysDdllError;
#define ERTS_SYS_DDLL_ERROR_INIT {NULL}
extern void erts_sys_ddll_free_error(ErtsSysDdllError*);
extern void erl_sys_ddll_init(void); /* to initialize mutexes etc */
extern int erts_sys_ddll_open(const char *path, void **handle, ErtsSysDdllError*);
extern int erts_sys_ddll_open_noext(char *path, void **handle, ErtsSysDdllError*);
extern int erts_sys_ddll_load_driver_init(void *handle, void **function);
extern int erts_sys_ddll_load_nif_init(void *handle, void **function,ErtsSysDdllError*);
extern int erts_sys_ddll_close2(void *handle, ErtsSysDdllError*);
#define erts_sys_ddll_close(H) erts_sys_ddll_close2(H,NULL)
extern void *erts_sys_ddll_call_init(void *function);
extern void *erts_sys_ddll_call_nif_init(void *function);
extern int erts_sys_ddll_sym2(void *handle, const char *name, void **function, ErtsSysDdllError*);
#define erts_sys_ddll_sym(H,N,F) erts_sys_ddll_sym2(H,N,F,NULL)
extern char *erts_sys_ddll_error(int code);

/*
 * System interfaces for startup.
 */
void erts_sys_schedule_interrupt(int set);
#ifdef ERTS_SMP
void erts_sys_schedule_interrupt_timed(int, ErtsMonotonicTime);
void erts_sys_main_thread(void);
#endif

extern int erts_sys_prepare_crash_dump(int secs);
extern void erts_sys_pre_init(void);
extern void erl_sys_init(void);
extern void erl_sys_late_init(void);
extern void erl_sys_args(int *argc, char **argv);
extern void erl_sys_schedule(int);
void sys_tty_reset(int);

int sys_max_files(void);
void sys_init_io(void);
Preload* sys_preloaded(void);
unsigned char* sys_preload_begin(Preload*);
void sys_preload_end(Preload*);
int sys_get_key(int);
void elapsed_time_both(UWord *ms_user, UWord *ms_sys,
		       UWord *ms_user_diff, UWord *ms_sys_diff);
void wall_clock_elapsed_time_both(UWord *ms_total,
				  UWord *ms_diff);
void get_time(int *hour, int *minute, int *second);
void get_date(int *year, int *month, int *day);
void get_localtime(int *year, int *month, int *day,
		   int *hour, int *minute, int *second);
void get_universaltime(int *year, int *month, int *day,
		       int *hour, int *minute, int *second);
int seconds_to_univ(Sint64 seconds,
		    Sint *year, Sint *month, Sint *day,
		    Sint *hour, Sint *minute, Sint *second);
int univ_to_seconds(Sint year, Sint month, Sint day,
		    Sint hour, Sint minute, Sint second,
		    Sint64* seconds);
int univ_to_local(
    Sint *year, Sint *month, Sint *day,
		  Sint *hour, Sint *minute, Sint *second);
int local_to_univ(Sint *year, Sint *month, Sint *day,
		  Sint *hour, Sint *minute, Sint *second, int isdst);
void get_now(Uint*, Uint*, Uint*);
struct ErtsSchedulerData_;
ErtsMonotonicTime erts_get_monotonic_time(struct ErtsSchedulerData_ *);
ErtsMonotonicTime erts_get_time_offset(void);
void
erts_make_timestamp_value(Uint* megasec, Uint* sec, Uint* microsec,
			  ErtsMonotonicTime mtime, ErtsMonotonicTime offset);
void get_sys_now(Uint*, Uint*, Uint*);
void set_break_quit(void (*)(void), void (*)(void));

void os_flavor(char*, unsigned);
void os_version(int*, int*, int*);
void init_getenv_state(GETENV_STATE *);
char * getenv_string(GETENV_STATE *);
void fini_getenv_state(GETENV_STATE *);

#define HAVE_ERTS_CHECK_IO_DEBUG
typedef struct {
    int no_used_fds;
    int no_driver_select_structs;
    int no_driver_event_structs;
} ErtsCheckIoDebugInfo;
int erts_check_io_debug(ErtsCheckIoDebugInfo *ip);

int erts_sys_is_area_readable(char *start, char *stop);

/* xxxP */
#define SYS_DEFAULT_FLOAT_DECIMALS 20
void init_sys_float(void);
int sys_chars_to_double(char*, double*);
int sys_double_to_chars(double, char*, size_t);
int sys_double_to_chars_ext(double, char*, size_t, size_t);
int sys_double_to_chars_fast(double, char*, int, int, int);
void sys_get_pid(char *, size_t);

/* erts_sys_putenv() returns, 0 on success and a value != 0 on failure. */
int erts_sys_putenv(char *key, char *value);
/* Simple variant used from drivers, raw eightbit interface */
int erts_sys_putenv_raw(char *key, char *value);
/* erts_sys_getenv() returns 0 on success (length of value string in
   *size), a value > 0 if value buffer is too small (*size is set to needed
   size), and a value < 0 on failure. */
int erts_sys_getenv(char *key, char *value, size_t *size);
/* Simple variant used from drivers, raw eightbit interface */
int erts_sys_getenv_raw(char *key, char *value, size_t *size);
/* erts_sys_getenv__() is only allowed to be used in early init phase */
int erts_sys_getenv__(char *key, char *value, size_t *size);
/* erst_sys_unsetenv() returns 0 on success and a value != 0 on failure. */
int erts_sys_unsetenv(char *key);

/* Easier to use, but not as efficient, environment functions */
char *erts_read_env(char *key);
void erts_free_read_env(void *value);

#if defined(ERTS_SMP)
#if defined(ERTS_THR_HAVE_SIG_FUNCS) && !defined(ETHR_UNUSABLE_SIGUSRX)
extern void sys_thr_resume(erts_tid_t tid);
extern void sys_thr_suspend(erts_tid_t tid);
#define ERTS_SYS_SUSPEND_SIGNAL SIGUSR2
#endif
#endif

/* utils.c */

/* Options to sys_alloc_opt */
#define SYS_ALLOC_OPT_TRIM_THRESHOLD 0
#define SYS_ALLOC_OPT_TOP_PAD        1
#define SYS_ALLOC_OPT_MMAP_THRESHOLD 2
#define SYS_ALLOC_OPT_MMAP_MAX       3

/* Default values to sys_alloc_opt options */
#define ERTS_DEFAULT_TRIM_THRESHOLD  (128 * 1024)
#define ERTS_DEFAULT_TOP_PAD         0
#define ERTS_DEFAULT_MMAP_THRESHOLD  (128 * 1024)
#define ERTS_DEFAULT_MMAP_MAX        64

int sys_alloc_opt(int, int);

typedef struct {
  int trim_threshold;
  int top_pad;
  int mmap_threshold;
  int mmap_max;
} SysAllocStat;

void sys_alloc_stat(SysAllocStat *);

#if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK)
#undef ERTS_REFC_DEBUG
#define ERTS_REFC_DEBUG
#endif

typedef erts_atomic_t erts_refc_t;

ERTS_GLB_INLINE void erts_refc_init(erts_refc_t *refcp, erts_aint_t val);
ERTS_GLB_INLINE void erts_refc_inc(erts_refc_t *refcp, erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_refc_inc_unless(erts_refc_t *refcp,
                                                 erts_aint_t unless_val,
                                                 erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_refc_inctest(erts_refc_t *refcp,
					      erts_aint_t min_val);
ERTS_GLB_INLINE void erts_refc_dec(erts_refc_t *refcp, erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_refc_dectest(erts_refc_t *refcp,
					      erts_aint_t min_val);
ERTS_GLB_INLINE void erts_refc_add(erts_refc_t *refcp, erts_aint_t diff,
				   erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_refc_read(erts_refc_t *refcp,
					   erts_aint_t min_val);

#if ERTS_GLB_INLINE_INCL_FUNC_DEF

ERTS_GLB_INLINE void
erts_refc_init(erts_refc_t *refcp, erts_aint_t val)
{
    erts_atomic_init_nob((erts_atomic_t *) refcp, val);
}

ERTS_GLB_INLINE void
erts_refc_inc(erts_refc_t *refcp, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_atomic_inc_read_nob((erts_atomic_t *) refcp);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_inc(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#else
    erts_atomic_inc_nob((erts_atomic_t *) refcp);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_refc_inc_unless(erts_refc_t *refcp,
                     erts_aint_t unless_val,
                     erts_aint_t min_val)
{
    erts_aint_t val = erts_atomic_read_nob((erts_atomic_t *) refcp);
    while (1) {
        erts_aint_t exp, new;
#ifdef ERTS_REFC_DEBUG
        if (val < 0)
            erts_exit(ERTS_ABORT_EXIT,
                      "erts_refc_inc_unless(): Bad refc found (refc=%ld < %ld)!\n",
                      val, min_val);
#endif
        if (val == unless_val)
            return val;
        new = val + 1;
        exp = val;
        val = erts_atomic_cmpxchg_nob((erts_atomic_t *) refcp, new, exp);
        if (val == exp)
            return new;
    }
}

ERTS_GLB_INLINE erts_aint_t
erts_refc_inctest(erts_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_atomic_inc_read_nob((erts_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_inctest(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

ERTS_GLB_INLINE void
erts_refc_dec(erts_refc_t *refcp, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_atomic_dec_read_nob((erts_atomic_t *) refcp);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_dec(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#else
    erts_atomic_dec_nob((erts_atomic_t *) refcp);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_refc_dectest(erts_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_atomic_dec_read_nob((erts_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_dectest(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

ERTS_GLB_INLINE void
erts_refc_add(erts_refc_t *refcp, erts_aint_t diff, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_atomic_add_read_nob((erts_atomic_t *) refcp, diff);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_add(%ld): Bad refc found (refc=%ld < %ld)!\n",
		 diff, val, min_val);
#else
    erts_atomic_add_nob((erts_atomic_t *) refcp, diff);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_refc_read(erts_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_atomic_read_nob((erts_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_refc_read(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

#endif /* #if ERTS_GLB_INLINE_INCL_FUNC_DEF */

typedef erts_smp_atomic_t erts_smp_refc_t;

ERTS_GLB_INLINE void erts_smp_refc_init(erts_smp_refc_t *refcp, erts_aint_t val);
ERTS_GLB_INLINE void erts_smp_refc_inc(erts_smp_refc_t *refcp, erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_smp_refc_inc_unless(erts_smp_refc_t *refcp,
                                                     erts_aint_t unless_val,
                                                     erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_smp_refc_inctest(erts_smp_refc_t *refcp,
                                                  erts_aint_t min_val);
ERTS_GLB_INLINE void erts_smp_refc_dec(erts_smp_refc_t *refcp, erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_smp_refc_dectest(erts_smp_refc_t *refcp,
                                                  erts_aint_t min_val);
ERTS_GLB_INLINE void erts_smp_refc_add(erts_smp_refc_t *refcp, erts_aint_t diff,
                                       erts_aint_t min_val);
ERTS_GLB_INLINE erts_aint_t erts_smp_refc_read(erts_smp_refc_t *refcp,
                                               erts_aint_t min_val);

#if ERTS_GLB_INLINE_INCL_FUNC_DEF

ERTS_GLB_INLINE void
erts_smp_refc_init(erts_smp_refc_t *refcp, erts_aint_t val)
{
    erts_smp_atomic_init_nob((erts_smp_atomic_t *) refcp, val);
}

ERTS_GLB_INLINE void
erts_smp_refc_inc(erts_smp_refc_t *refcp, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_smp_atomic_inc_read_nob((erts_smp_atomic_t *) refcp);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_inc(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#else
    erts_smp_atomic_inc_nob((erts_smp_atomic_t *) refcp);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_smp_refc_inc_unless(erts_smp_refc_t *refcp,
                         erts_aint_t unless_val,
                         erts_aint_t min_val)
{
    erts_aint_t val = erts_smp_atomic_read_nob((erts_smp_atomic_t *) refcp);
    while (1) {
        erts_aint_t exp, new;
#ifdef ERTS_REFC_DEBUG
        if (val < 0)
            erts_exit(ERTS_ABORT_EXIT,
                      "erts_smp_refc_inc_unless(): Bad refc found (refc=%ld < %ld)!\n",
                      val, min_val);
#endif
        if (val == unless_val)
            return val;
        new = val + 1;
        exp = val;
        val = erts_smp_atomic_cmpxchg_nob((erts_smp_atomic_t *) refcp, new, exp);
        if (val == exp)
            return new;
    }
}

ERTS_GLB_INLINE erts_aint_t
erts_smp_refc_inctest(erts_smp_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_smp_atomic_inc_read_nob((erts_smp_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_inctest(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

ERTS_GLB_INLINE void
erts_smp_refc_dec(erts_smp_refc_t *refcp, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_smp_atomic_dec_read_nob((erts_smp_atomic_t *) refcp);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_dec(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#else
    erts_smp_atomic_dec_nob((erts_smp_atomic_t *) refcp);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_smp_refc_dectest(erts_smp_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_smp_atomic_dec_read_nob((erts_smp_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_dectest(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

ERTS_GLB_INLINE void
erts_smp_refc_add(erts_smp_refc_t *refcp, erts_aint_t diff, erts_aint_t min_val)
{
#ifdef ERTS_REFC_DEBUG
    erts_aint_t val = erts_smp_atomic_add_read_nob((erts_smp_atomic_t *) refcp, diff);
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_add(%ld): Bad refc found (refc=%ld < %ld)!\n",
		 diff, val, min_val);
#else
    erts_smp_atomic_add_nob((erts_smp_atomic_t *) refcp, diff);
#endif
}

ERTS_GLB_INLINE erts_aint_t
erts_smp_refc_read(erts_smp_refc_t *refcp, erts_aint_t min_val)
{
    erts_aint_t val = erts_smp_atomic_read_nob((erts_smp_atomic_t *) refcp);
#ifdef ERTS_REFC_DEBUG
    if (val < min_val)
	erts_exit(ERTS_ABORT_EXIT,
		 "erts_smp_refc_read(): Bad refc found (refc=%ld < %ld)!\n",
		 val, min_val);
#endif
    return val;
}

#endif /* #if ERTS_GLB_INLINE_INCL_FUNC_DEF */

#ifdef ERTS_ENABLE_KERNEL_POLL
extern int erts_use_kernel_poll;
#endif

#define sys_memcpy(s1,s2,n)  memcpy(s1,s2,n)
#define sys_memmove(s1,s2,n) memmove(s1,s2,n)
#define sys_memcmp(s1,s2,n)  memcmp(s1,s2,n)
#define sys_memset(s,c,n)    memset(s,c,n)
#define sys_memzero(s, n)    memset(s,'\0',n)
#define sys_strcmp(s1,s2)    strcmp(s1,s2)
#define sys_strncmp(s1,s2,n) strncmp(s1,s2,n)
#define sys_strcpy(s1,s2)    strcpy(s1,s2)
#define sys_strncpy(s1,s2,n) strncpy(s1,s2,n)
#define sys_strlen(s)        strlen(s)

/* define function symbols (needed in sys_drv_api) */
#define sys_fp_alloc     sys_alloc
#define sys_fp_realloc   sys_realloc
#define sys_fp_free      sys_free
#define sys_fp_memcpy    memcpy
#define sys_fp_memmove   memmove
#define sys_fp_memcmp    memcmp
#define sys_fp_memset    memset
/* #define sys_fp_memzero    elib_memzero */
#define sys_fp_strcmp    strcmp
#define sys_fp_strncmp   strncmp
#define sys_fp_strcpy    strcpy
#define sys_fp_strncpy   strncpy
#define sys_fp_strlen    strlen

/* Return codes from the nb_read and nb_write functions */
#define FD_READY 1
#define FD_CONTINUE 2
#define FD_ERROR 3

/* Standard set of integer macros  .. */

#define get_int64(s) (((Uint64)(((unsigned char*) (s))[0]) << 56) | \
                      (((Uint64)((unsigned char*) (s))[1]) << 48) | \
                      (((Uint64)((unsigned char*) (s))[2]) << 40) | \
                      (((Uint64)((unsigned char*) (s))[3]) << 32) | \
                      (((Uint64)((unsigned char*) (s))[4]) << 24) | \
                      (((Uint64)((unsigned char*) (s))[5]) << 16) | \
                      (((Uint64)((unsigned char*) (s))[6]) << 8)  | \
                      (((Uint64)((unsigned char*) (s))[7])))

#define put_int64(i, s) do {((char*)(s))[0] = (char)((Sint64)(i) >> 56) & 0xff;\
                            ((char*)(s))[1] = (char)((Sint64)(i) >> 48) & 0xff;\
                            ((char*)(s))[2] = (char)((Sint64)(i) >> 40) & 0xff;\
                            ((char*)(s))[3] = (char)((Sint64)(i) >> 32) & 0xff;\
                            ((char*)(s))[4] = (char)((Sint64)(i) >> 24) & 0xff;\
                            ((char*)(s))[5] = (char)((Sint64)(i) >> 16) & 0xff;\
                            ((char*)(s))[6] = (char)((Sint64)(i) >> 8)  & 0xff;\
                            ((char*)(s))[7] = (char)((Sint64)(i))       & 0xff;\
                           } while (0)

#define get_int32(s) ((((unsigned char*) (s))[0] << 24) | \
                      (((unsigned char*) (s))[1] << 16) | \
                      (((unsigned char*) (s))[2] << 8)  | \
                      (((unsigned char*) (s))[3]))

#define put_int32(i, s) do {((char*)(s))[0] = (char)((i) >> 24) & 0xff;   \
                            ((char*)(s))[1] = (char)((i) >> 16) & 0xff;   \
                            ((char*)(s))[2] = (char)((i) >> 8)  & 0xff;   \
                            ((char*)(s))[3] = (char)(i)         & 0xff;} \
                        while (0)

#define get_int24(s) ((((unsigned char*) (s))[0] << 16) | \
                      (((unsigned char*) (s))[1] << 8)  | \
                      (((unsigned char*) (s))[2]))

#define put_int24(i, s) do {((char*)(s))[0] = (char)((i) >> 16) & 0xff;  \
                            ((char*)(s))[1] = (char)((i) >> 8)  & 0xff;  \
                            ((char*)(s))[2] = (char)(i)         & 0xff;} \
                        while (0)

#define get_int16(s) ((((unsigned char*)  (s))[0] << 8) | \
                      (((unsigned char*)  (s))[1]))

#define put_int16(i, s) do {((char*)(s))[0] = (char)((i) >> 8) & 0xff;  \
                            ((char*)(s))[1] = (char)(i)        & 0xff;} \
                        while (0)

#define get_int8(s) ((((unsigned char*)  (s))[0] ))

#define put_int8(i, s) do {((unsigned char*)(s))[0] = (i) & 0xff;} while (0)

/*
 * Use DEBUGF as you would use printf, but use double parentheses:
 *
 *   DEBUGF(("Error: %s\n", error));
 *
 * The output will appear in a special console.
 */

#ifdef DEBUG
void erl_debug(char* format, ...);
void erl_bin_write(unsigned char *, int, int);

#  define DEBUGF(x) erl_debug x
#else
#  define DEBUGF(x)
#endif

#ifdef __WIN32__
#ifdef ARCH_64
#define ERTS_ALLOC_ALIGN_BYTES 16
#define ERTS_SMALL_ABS(Small) _abs64(Small)
#else
#define ERTS_ALLOC_ALIGN_BYTES 8
#define ERTS_SMALL_ABS(Small) labs(Small)
#endif
#else
#define ERTS_ALLOC_ALIGN_BYTES 8
#define ERTS_SMALL_ABS(Small) labs(Small)
#endif

#ifndef ERTS_HAVE_ERTS_SYS_ALIGNED_ALLOC
#  define ERTS_HAVE_ERTS_SYS_ALIGNED_ALLOC 0
#endif

#ifdef __WIN32__
void call_break_handler(void);
char* last_error(void);
char* win32_errorstr(int);
#endif

/************************************************************************
 * Find out the native filename encoding of the process (look at locale of
 * Unix processes and just do UTF16 on windows
 ************************************************************************/
#define ERL_FILENAME_UNKNOWN   (0)
#define ERL_FILENAME_LATIN1    (1)
#define ERL_FILENAME_UTF8      (2)
#define ERL_FILENAME_UTF8_MAC  (3)
#define ERL_FILENAME_WIN_WCHAR (4)

/************************************************************************
 * If a filename in for example list_dir is not in the right encoding, it
 * will be skipped in the resulting list, but depending on a startup setting
 * we will inform the user in different ways. These macros define the
 * different reactions to wrongly coded filenames. In the error case an
 * exception will be thrown by prim_file.
 ************************************************************************/
#define ERL_FILENAME_WARNING_WARNING (0)
#define ERL_FILENAME_WARNING_IGNORE (1)
#define ERL_FILENAME_WARNING_ERROR (2)

/***********************************************************************
 * The user can request a range of character that he/she consider
 * printable. Currently this can be either latin1 or unicode, but
 * in the future a set of ranges, or languages, could be specified.
 ***********************************************************************/
#define ERL_PRINTABLE_CHARACTERS_LATIN1 (0)
#define ERL_PRINTABLE_CHARACTERS_UNICODE (1)

int erts_get_native_filename_encoding(void);
/* The set function is only to be used by erl_init! */
void erts_set_user_requested_filename_encoding(int encoding, int warning);
int erts_get_user_requested_filename_encoding(void);
int erts_get_filename_warning_type(void);
/* This function is called from erl_init. The setting is read by BIF's
   in io/io_lib. Setting is not atomic. */
void erts_set_printable_characters(int range);
/* Get the setting (ERL_PRINTABLE_CHARACTERS_{LATIN1|UNICODE} */
int erts_get_printable_characters(void);

void erts_init_sys_common_misc(void);

#endif


text:
Q: PHP exec on Windows Server 2008 I have installed PHP as a module in IIS on Windows Server 2008, am am having great difficulty trying to execute command-line programs from within a PHP script.
I can execute the PHP code fine using php-cgi.exe and php-cli.exe, which leads me to believe that it might be a permissions issue.
However, I can execute some commands, like shutdown.exe and dir.
I have tried the same process in an ASP.NET file and am having exactly the same problem.
Basically, I would like to do this:
exec("path-to-exe-file");
And actually have it work.

A: Try
exec('path-to-exe-file 2>&1', $output);
var_dump($output);

The 2>&1 part should redirect error messages to stdout (on win32, too) which therefore should show up in $output.

A: I spent several hours before realising what was wrong...
Use IIS Manager, Application Pools, select the pool associated to your application and make sure that:
ProcessModel.Identity = LocalSystem
and
ProcessModel.Load User Profile = true

redpajama_set_name: RedPajamaStackExchange


text:
Rare Late Victorian Chondrometer or Grain Scale by Bryan Corcoran Ltd London
Vendor: Jason Clarke Antiques
See more: Unknown Type
Tags: antique, Antique scales, Brass, Bryan Corcoran, Bryan Corcoran Ltd, Chondrometer, Corn Balance, Grain scale, Grain Tester Scale, Makers Mark, scales, scientific, victorian,
For sale a rare late Victorian variant of the chondrometer or grain scale by Bryan Corcoran Ltd, London.
Unlike its more common predecessor which is fashioned by way of a brass stand with scale attachment and bucket, this version is thought to have been for a slightly different purpose. The former instrument would be used to determine weight per bushel from a sample of grain which already had its impurities removed whereas the latter was used to work out the pure percentage weight of a sack of grain. This was achieved by removing a sample of grain and removing its impurities, the clean grain would then be transferred to the funnel which was removed and attached to its box by means of a brass screw. The base of the funnel was then opened in order for the grain to fill the bucket and it would be weighed as normal. It is presumed that the pure content of grain within an un-purified sack could be assessed.
The scale arm of this example is divided for lbs per bushel and kilos per hectolitre and is engraved to Bryan Corcoran limited, London. It is further stamped with the numerals 71 to both the weight and the arm to confirm that they were manufactured at the same time and were meant to be paired with one another.
Established in London in 1780, Bryan Corcoran initially appeared in trade catalogues as a millstone builder and millwright, his son joined the newly dubbed Corcoran & Son by 1805 and by 1823 their repertoire had expanded to incorporate, stationer, bookbinder, corn machine maker and warehouseman as services offered. By 1826, the company had become Bryan Corcoran & Co and the company was of such influence that Corcoran gave evidence on the petition relating to the newly conceived George IV Weights & Measures Bill which eventually brought unity of capacity measurement to the UK. The Bill is the reason for the rise in popularity of the chondrometer and its subsequent measuring standards are often replicated on the paper labels seen on period instrument boxes.
The company entered into a number of partnerships with non-family members throughout the nineteenth century, the last being with a GP Witt in 1868. With the souring of relations by 1871, Witt was successful in taking control of the business and continued to trade as Bryan Corcoran, Witt & Co. Further court disputes arose when Bryan Corcoran Junior in the same year set himself up in business as Bryan Corcoran Ltd and by virtue of failings in Witt's court proceedings, was allowed to maintain trading and both continued to trade in competition into the next century.
Bryan Corcoran senior dies shortly after the initial dispute in 1878 and Bryan Corcoran Junior maintained the business until his eventual death in 1915.
This late Victorian example (owing to the company name) was produced during Bryan Corcoran Junior's tenure in the newly established firm after 1871.
1866 Commemorative Trans Atlantic Cable Sample - SS Great Eastern
1920's Siebe Gorman & Co Ltd Twelve Bolt Diving Helmet & Corselet with Matching Serial Numbers
A Blank Nineteenth Century Pearlware Wine or Bin End Label for Farrow & Jackson
A Cased Seven Inch "Star Globe Epoch 1975" by Kelvin & Hughes Limited


text:
Key Club Links
Service Partner Links
Kiwanis Organizations
"Caring - Our Way of Life"
What is Key Club?
Despite our name, Key Club does not make, nor pertain to keys. The Key in Key Club stands for 'Kiwanis Educated Youth.' We are a international, student-led organization based on helping the community with service projects and volunteering. Key Club exists all over the world in over 5,000 campuses, and is still growing.
"Key Club is an international student-led organization which provides its members with opportunities to provide service, build character and develop leadership."
Core Values:
The core values of Key Club International are leadership, character building, caring, and inclusiveness.
Pledge:
I pledge, on my honor, to uphold the Objects of Key Club International; to build my home, school and community; to serve my nation and God; and combat all forces which tend to undermine these institutions.
Caring - Our Way of Life
To develop initiative and leadership.
To provide experience in living and working together.
To serve the school and community.
To cooperate with the school principal.
To prepare for useful citizenship.
To accept and promote the following ideals:
To give primacy to the human and spiritual, rather than to the material values of life.
To provide a practical means to form enduring friendships, to render unselfish service and to build better communities.
To cooperate in creating and maintaining that sound public opinion and high idealism which makes possible the increase of righteousness, justice, patriotism and good will.
To encourage the daily living of the Golden Rule in all human relationships.
To promote the adoption and application of higher standards in scholarship, sportsmanship and social contacts.
To develop, by precept and example, a more intelligent, aggressive, and serviceable citizenship.
If you have any questions about Key Club, or are interested in joining, please contact our Editor at atascocitakeyclub@gmail.com


For more than 60 years, the University of Nebraska at Omaha College of Business Administration has prepared students to become business professionals, entrepreneurs, company presidents and CEOs -- locally, nationally and internationally. At CBA, students reap the benefits of a thriving metropolitan city, nationally ranked programs and one of the best business school buildings in the country. Mammel Hall, specifically designed for business students, is the epicenter of collaboration and engagement in Omaha and beyond. Through on-campus job interviews, internships, study abroad, case competitions, speaker series and other special events, CBA's 2,500 students have rare access to thought leaders and opportunities to apply knowledge beyond the classroom. Offering 13 undergraduate concentrations and four graduate degrees, CBA prioritizes experiential learning and interdisciplinary research. Relevant curriculum, emerging programs in business analytics and supply chain management, and close ties with industry in Nebraska's largest city ensure students gain the skills employers are seeking. The CBA Scholars Academy, a cohort-based honors program, gives high-achievers the ability to enroll in special business courses taught by award-winning faculty and gain valuable experiences through mentorship, community service and international travel. Named the nation's best business school for veterans for two consecutive years (Military Times, 2015 & 2016), CBA is committed to providing a premier education that empowers students and lifelong learners to make their mark in the world.


Darkening and discoloration of teeth with age and time is one common problem. Such changes in the color of teeth are usually caused due to many contributing factors and the foods and beverages consumed are the worst enemies. However, there might be some other causes as well, including medications, certain illnesses, poor oral hygiene, tobacco use etc. All these factors can simply destroy your oral health and the appearance of your teeth as well.
Taking all these factors into consideration, Dr. Antonie Wakim in Wichita, Kansas has come up with some of the best teeth whitening treatments to restore the natural whiteness of your teeth. Dr. Wakim provides varied options for teeth whitening to his patents in Wichita and all his procedures involve the use of state-of-the-art technologies.
Dr. Wakim has spread his magic in Wichita and he has been treating some of the well known personalities of the state who believe that he is more than just a cosmetic dentist. He has been referred to as an excellent painter, sculptor and an artist in the field of dentistry.
Being present in this field since 1984, Dr. Wakim primarily emphasizes in preventive and cosmetic dentistry. He has been a member of some of the prestigious organizations, such as the American Dental Association and also the Wichita District Dental Society. He earned his Undergraduate degree from the Friends University and received his Dental Degree from the Creighton University.
Being an experienced artist, Dr. Wakim realizes the soaring demand of teeth whitening treatments in the state and it is also the most preferred service being offered by his practice. In fact we all realize that the demand for teeth whitening treatments has soared in the past few years.
Dr. Wakim and his team of professionals do not believe in the "over-the-counter" St.Louis teeth whitening solutions. They firmly hold that these products do not work and would just be wastage of money. For proper teeth whitening treatments however, you must visit Dr. Wakim in Wichita for thorough oral check up and treatment.
Dr. Wakim offers his patient's one of the fastest method of teeth whitening that can dramatically remove all the stains from your teeth, thus giving the patients brighter teeth. With the use of the innovative in-office Zoom! Teeth whitening procedure, it is possible to remove all the stains form the teeth.
The whole process takes just about one hour and is regarded as the safest and the most effective system that can give you instant results. The method is performed with the application of Zoom teeth whitening gel that needs to be applied to the teeth. After that, a special zoom light is illuminated for activating the process of whitening. With the help of this light, the whitening gel can break down the stains on the teeth and bring back the sparkle once again.
This teeth whitening procedure is preferred under Dr. Wakim's supervision. It is known to be the most effective procedure in the filed of cosmetic dentistry that can deliver instant results. However, this procedure is not meant for pregnant women and children under 13.
For more details on cosmetic dentistry, you can visit Dr.Wakim in his Wichita Dental office.


The Kent high back seat sits on a slender 4-star base with a softly contoured seat. Kent features a steel frame and a revolving base in varnished steel. The upholstery in self-extinguishing graduated polyurethane foam with heat-bound polyester fiber and a fixed internal nylon cover. The base and upholstery is offered in a range of options. Optional ottoman also available.
$2,990.00 + free shipping in the continental U.S.


Luxury AND1 hoody - N.B. This is sold with identified fault in lining - see product description below - so price has been adjusted to reflect this and no refunds available on this product for this reason.
N.B. This jacket is sold with an integral design fault - the jacket lining does not stretch with the outer layer and therefore the lining is highly likely to split at the seams. We have reflected this by offering it a large reduction against the original price. It is still a great jacket without the lining (or so one of team assures us - they cut the lining out after it split). A second team member with the same jacket has had the lining extended by his Mum who is handy with the sewing machine.
We recommend you select a larger rather than smaller size to ensure a good fit without straining the seams. We will contact all purchasers before dispatch to ensure this fault is understood, as we will not accept returns on the basis of this identified fault which has been reflected in the product price.
Lining of jacket 100% polyester weave lining material.
Lining of Hood super soft faux fur.
The outer embroidered design includes a court layout and the AND1 brand on back and AND1 brand on front together with artistic swirls extending down right arm.
Front inset pockets with side opening and stud detail either side of centre full length zip.


text:
La coloration trichrome de Gömöri est une coloration histologique utilisée sur le tissu musculaire. Elle peut être utilisée pour dépister certaines formes de myopathie mitochondriale.

Elle porte le nom de György Gömöri, qui l'a développé en 1950.

Sources et références

Voir aussi

 Coloration (microscopie)
 Coupe histologique
 Maladie mitochondriale
 Microscopie

Coloration histologique

redpajama_set_name: RedPajamaWikipedia


text:
function power(b, n) {
  //if n == 1, just return b
  if(n == 1)
    return b
  //recursive where n decrements by 1 each time. until it equals 1 above and then it will b
  else
    return b * power(b, n - 1);
}


text:
Categories: Companies in the NASDAQ-100 IndexCompanies listed on NASDAQAmazon (company)1994 establishments in Washington (state)3D publishingAmerican companies established in 1994Android (operating system) softwareArts and crafts retailersBookstores of the United StatesCloud computing providersE-book suppliersInternet properties established in 1994IOS softwareMobile phone manufacturersMultinational companies headquartered in the United StatesOnline music storesOnline retailers of the United StatesRetail companies established in 1994Review websitesSelf-publishing companiesSoftware companies based in SeattleSoftware companies established in 1994Technology companies established in 1994TvOS softwareUniversal Windows Platform appsWebby Award winners
Amazon lobbies the United States federal government and state governments on issues such as the enforcement of sales taxes on online sales, transportation safety, privacy and data protection and intellectual property. According to regulatory filings, Amazon.com focuses its lobbying on the United States Congress, the Federal Communications Commission and the Federal Reserve. Amazon.com spent roughly $3.5 million, $5 million and $9.5 million on lobbying, in 2013, 2014 and 2015, respectively.[208]
As Seen On TV is a generic nameplate for products advertised on television in the United States for direct-response mail-order through a toll-free telephone number. As Seen On TV advertisements, known as infomercials, are usually 30-minute shows or two-minute spots during commercial breaks. These products can range from kitchen, household, automotive, cleaning, health, and beauty products, to exercise and fitness products, books, or to toys and games for children. Typically the packaging for these items includes a standardized red seal in the shape of a CRT television screen with the words "AS SEEN ON TV" in white, an intentional allusion to the logo of TV Guide magazine.[citation needed]
LEGO, the LEGO logo, the Minifigure, DUPLO, the DUPLO logo, BIONICLE, the BIONICLE logo, DIMENSIONS, the DIMENSIONS logo, the FRIENDS logo, the MINIFIGURES logo, MINDSTORMS, the MINDSTORMS EV3 logo, NINJAGO, the NINJAGO logo, NEXO KNIGHTS, and the NEXO KNIGHTS logo are trademarks and/or copyrights of the LEGO Group.©2018 The LEGO Group. All rights reserved. Use of this site signifies your agreement to the terms of use.
Perhaps the most prominent Prime perk, however, is access to Amazon Prime Video. The video on-demand service started in 2006 as Amazon Unboxed, but was rebranded in 2008 and integrated into the Prime service three years later, where it became a huge selling point for Amazon's annual subscription. It now boasts thousands of free TV shows, films, and games, all accessible on pretty much every screen available.
This offer is valid ONLY to eligible Prime customers. To qualify, you must: (1) purchase the Amazon.com Gift Cards using the Amazon.com account to which you are currently logged in; and (2) enter promo code in the "Gift Cards & Promotional Codes" box when you check out.
Here's a special treat for Amazon Prime members: when you sign into your Amazon Prime account and buy Amazon gift cards worth at least $50, Amazon will deposit a $15 credit in your account! You'll get a notification banner in the last step of Checkout that lets you know your purchase qualified for the offer. If a promo code is requested, use this code. Don't leave free money on the table, grab this deal while it's hot! Some exclusions apply, see full instructions when clicking through.
You can check online if an item is available in an H&M store. Find the item at hm.com and select it. On the product details page, you can simply click the "Find in Store" button, choose your location, and you'll see a list of the H&M stores that have your item. Please keep in mind that our items sell out quickly and the stock level is just an estimate. Online prices may also differ from the prices in stores.
In 2014, Amazon expanded its lobbying practices as it prepared to lobby the Federal Aviation Administration to approve its drone delivery program, hiring the Akin Gump Strauss Hauer & Feld lobbying firm in June.[210] Amazon and its lobbyists have visited with Federal Aviation Administration officials and aviation committees in Washington, D.C. to explain its plans to deliver packages.[211]
Use voice commands to have Alexa search items in your order history and on Amazon's Choice list, and read you the products' names, prices and estimated delivery times. Once Alexa has found you the highest-rated and best-priced products, tell it to confirm your order and you're set. Watch for special promotional discounts that you can use to save money while voice ordering, and always ask for current Alexa Deals for exclusive savings.
World-famous action movie and television star Chuck Norris has stood behind the Total Gym exercise machine for more than 30 years. The Total Gym provides a complete exercise experience in one simple product. Because the product is able to fold out to become different machines, this gym allows a person to stay in peak physical condition without wasting a lot of money. Norris himself is world famous for his physique and has used the Total Gym for decades to maintain that condition.
Contact us at webmaster@amazingproducts.tv | Sitemap xml | Sitemap txt | Sitemap


:What do you pray when times get tough? When you're stressed or depressed, when life is overwhelming or disappointing, when you feel like giving up? It's in these challenging times you need to pray with wild hope, says Jackie M. Johnson. With encouraging stories, Scriptures, and prayers, Johnson shows readers how to pray for focus, wisdom, confidence, courage, grace, strength, meaning, and much more. Conveniently structured so that readers can go directly to the chapter that addresses their particular situation, this book will be a lifeline to peace for those who need God's touch. Now available in mass market.
About "Praying With Power When Life Gets Tough"
Jackie M. Johnson is an accomplished freelance writer and marketing copywriter for companies and faith-based organizations such as Compassion International, Focus on the Family, and Young Life. She is also a devoted prayer warrior and a graduate of Trinity International University in Deerfield, Illinois. Jackie resides in Colorado Springs, Colorado.


text:
EditorialFeature Articles
How the Zelda manga gives its characters more emotional depth
It "Links" it all together.
By Jaimie Ditchfield February 4, 2021
As much as I adore The Legend of Zelda, character development has never really been its specialty. I'm not criticizing the narratives of the Zelda series, as generally they are pretty good. There's one moment in The Legend of Zelda: Ocarina of Time that made me think in this specific way. Saria is introduced as Link's only friend in Kokiri Forest, as the others tend to mock the poor boy. I believe that this relationship could of been expanded upon some more. We don't really get enough time to understand how close they actually were until Link leaves the forest. This scene had the potential to be more impactful than it actually was. Luckily, we have another way to experience the stories of various Zelda games through its various manga adaptations, which provide more details surrounding their characters.
Manga is easily one of my favorite pastimes, delivering effective storytelling without feeling like heavy reading. The Legend of Zelda has received a variety of different manga adaptations, primarily by Akira Himekawa (the pen name of a duo of female manga creators). Most of the mainline games have received the manga treatment, with the likes of Breath of the Wild still yet to receive one. For the most part, each Zelda game has one concise manga representation, except for Twilight Princess, which has a meaty series of volumes. Today I am going to look at three different Zelda manga and explore how their characters are given more emotional depth.
The Legend of Zelda: Twilight Princess (Volume 1)
The manga for Twilight Princess is easily the longest out of all the Zelda manga. It actually began in 2016 and is still ongoing, with volume 8 scheduled to release in the U.S. in March. Therefore, I'm going to focus on the first volume for the time being. Compared to its video game counterpart, the Twilight Princess manga kicks off in a more brutal fashion. At the beginning of the first volume, Link is living out his life in Ordon Village. This is nothing unusual. However, it is revealed that Link is harboring a dark secret, adding depth to his character.
Link caused the destruction of his hometown by pulling the Gaouf Sword from its pedestal. The events that follow are extremely traumatic for Link, and he then tries to escape his haunted past. He finds his way to Ordon Village in an attempt to hide from his previous life. The hero befriends the children of the village and develops a particular fondness for Ilia. When I played the game, this was one of my favorite parts of the game. Compared to other Zelda games, Twilight Princess managed to forge a connection between the player and its characters.
The manga counterpart does it even better, going above and beyond in some regard. As this is the first volume, the scene where Link's friends are kidnapped by King Bulblin is incredibly moving. This is one of the final moments of the volume and acts as a solid cliffhanger for the next installment. It is honestly quite brutal by Zelda standards, with graphic imagery on display to propel the narrative forward in a bold manner. Link's transformation into a wolf is the final scene in the first volume, bringing it to a dramatic close with Midna smiling in the distance.
The Legend of Zelda: A Link to the Past was released in 1991. Video games and their storytelling were obviously more limited by the hardware back then. However, various games managed to create engaging stories, and A Link to the Past is no different. Still, although the premise is good, you cannot deny how basic it is in some regards. The beginning of the Link to the Past manga is fantastic, adding more depth to Link's uncle.
As the manga attempts to deliver the entire story in just a single volume, Link's interactions with his uncle are brief. Their relationship is still vastly improved upon compared to the video game, with an opening chapter dedicated to it. Link works with his uncle on a farm, and it's clear that the boy has a deep love for his uncle's care. This is of course then followed by his tragic death in the Hyrule Castle dungeon, which is even more emotional in the manga. Link runs away from his deceased family member in tears, promising to rescue Zelda by any means possible.
This is only scratching the surface of what this particular manga achieves. Throughout Link's journey, he'll discover what happened to his parents and develop relationships with a variety of characters. Link's first meeting with Zelda is beautiful, with Link promising that she'll never be alone again. The moment where Link encounters Agahnim for the first time is filled with intensity, as Link charges at him with anger for killing his uncle.
I thought it would be interesting to include one of the more divisive Zelda games in this list. The Legend of Zelda: Phantom Hourglass is often regarded as one of the "worst" Zelda games. However, I find it to be a charming game with a lot going for it. Another reason why I chose this manga is the difference in art style, as Toon Link is the protagonist of this story. The manga kicks of exactly like it does in the game, with Link sailing the sea alongside Tetra and her pirate crew.
A recurring theme with the Zelda manga is the expansion of the relationships between characters. Phantom Hourglass is no different in that regard, with the opening section having cute moments between Link and Tetra. They have a very wholesome relationship, teasing one another and having general banter. Their relationship is further solidified when Tetra is taken by the Ghost Ship, with both characters screaming one another's name.
Further into the manga, Link meets Linebeck, an arrogant sailor who can often be a coward. Link's interactions with his comrade is hilarious, with Linebeck often watching from the sidelines. Link is also joined by the fairy, Ciela, who has some funny moments such as calling Link an old man when he's running out of breath. While not as ambitious as the other two manga that I've explored, there are still some moments that further expand upon an already existing premise.
Go read them all!
Akira Himekawa has produced some excellent adaptations of the Zelda series. Each of them complements its source material while also adding its own flavors to the mix. As illustrated above, the Zelda manga does an excellent job at expanding the relationships between various characters. There is a ton of Zelda manga that I haven't covered, but I may do so in the future. If you have yet to read any of these, I can highly recommend it to any Zelda fan. The chances are that you'll appreciate the differences like I have, but even non-Zelda fans could get something out of them. I'd still advise you to play the games first to get a better understanding of the source material before diving in. However, the Zelda manga provides detailed retellings of already established classics.
Jaimie Ditchfield
Freelance Writer. Work seen on Zelda Universe and BackToTheGaming. Studied Games Journalism and PR for three years, and is relentless at spreading his love for The Legend of Zelda: Majora's Mask. The chances are you'll also hear him scream Persona.
Check out these incredible Nintendo speedruns from AGDQ 2022
The video game industry doesn't need an ESA-led E3 anymore
Grading Nintendo Switch for each year it's been on the market
Getting introspective with Nintendo's best music, Part 3: Donkey Kong
7 major game franchises still not available on Nintendo Switch
4 things you should know about Persona 4 Arena Ultimax on Switch


text:
Петрово — название населённых пунктов:

Белоруссия
 Петрово — деревня в Городокском районе Витебской области.
 Петрово — деревня в Воложинском районе Минской области.
 Петрово — деревня в Мядельском районе Минской области.
 Петрово — хутор в Столбцовском районе Минской области.

Болгария
 Петрово — село в Благоевградской области;
 Петрово — село в Старозагорской области.

Босния и Герцеговина
 Петрово — город
 Петрово — община

Казахстан
 Петрово — село в Зеленовском районе Западно-Казахстанской области.

Македония
 Петрово — в общине Гевгелия.

Россия
 Владимирская область
 Петрово — деревня в Судогодском районе.
 Вологодская область
 Петрово — деревня в Бабаевском районе.
 Петрово — деревня в Вожегодском районе.
 Петрово — деревня в Усть-Кубинском районе.
 Петрово — деревня в Устюженском районе.
 Ивановская область
 Петрово — деревня в Верхнеландеховском районе.
 Петрово — деревня в Ильинском районе.
 Петрово — деревня в Лухском районе.
 Петрово — деревня в Палехском районе.
 Петрово — деревня в Пучежском районе.
 Петрово — деревня в Родниковском районе.
 Петрово — деревня в Юрьевецком районе.
 Иркутская область
 Петрово — село в Жигаловском районе.
 Калининградская область
 Петрово — посёлок в Гурьевском районе.
 Калужская область
 Петрово — деревня в Боровском районе.
 Петрово — деревня в составе города Калуга.
 Петрово — деревня в Малоярославецком районе.
 Петрово — деревня в Ферзиковском районе.
 Карелия
 Петрово — деревня в Медвежьегорском районе.
 Костромская область
 Петрово — деревня в Судиславском районе.
 Ленинградская область
 Петрово — деревня в Бокситогорском районе.
 Петрово — деревня в Гатчинском районе.
 Петрово — деревня в Кировском районе.
 Липецкая область
 Петрово — деревня в Задонском районе.
 Марий Эл
 Петрово — деревня в Сернурском районе.
 Москва
 Петрово — деревня в Троицком административном округе.
 Петрово — бывшая деревня в районе Тушино.
 Московская область
 Петрово — деревня в Истринском районе.
 Петрово — деревня в Коломенском районе.
 Петрово — деревня в Можайском районе.
 Петрово — село в городском округе Серебряные Пруды.
 Петрово — деревня в Ступинском районе.
 Нижегородская область
 Петрово — деревня в Воскресенском районе.
 Петрово — деревня в Ковернинском районе.
 Петрово — деревня в Уренском районе.
 Новгородская область
 Петрово — деревня в Мошенском районе.
 Петрово — деревня в Окуловском районе.
 Петрово — деревня в Поддорском районе.
 Петрово — деревня в Солецком районе.
 Петрово — деревня в Холмском районе.
 Омская область
 Петрово — село в Тарском районе.
 Петрово — село в Тевризском районе.
 Орловская область
 Петрово — деревня в Корсаковском районе.
 Петрово — деревня в Свердловском районе.
 Петрово — деревня в Хотынецком районе.
 Пермский край
 Петрово — деревня в Усольском районе.
 Псковская область
 Петрово — деревня в Великолукском районе.
 Петрово — деревня в Дедовичском районе, Пожеревицкая волость, у деревни Вышегород.
 Петрово — деревня в Дедовичском районе, Пожеревицкая волость, у деревни Дубровка.
 Петрово — деревня в Куньинском районе.
 Петрово — деревня в Невельском районе.
 Петрово — деревня в Новоржевском районе.
 Петрово — деревня в Островском районе.
 Петрово — деревня в Порховском районе.
 Петрово — деревня в Псковском районе.
 Ростовская область
 Петрово — слобода в Советском районе.
 Рязанская область
 Петрово — деревня в Кораблинском районе.
 Петрово — село в Ряжском районе.
 Саратовская область
 Петрово — село в Аткарском районе.

 Свердловская область
 Петрово — деревня в Туринском городском округе.
 Смоленская область
 Петрово — второе название деревни Большое Петрово в Вяземском районе.
 Петрово — деревня в Ельнинском районе.
 Петрово — деревня в Кардымовском районе.
 Петрово — деревня в Рославльском районе.
 Петрово — деревня в Сафоновском районе.
 Петрово — деревня в Смоленском районе.
 Петрово — деревня в Угранском районе, Арнишицкое сельское поселение;
 Петрово — деревня в Угранском районе, Михалёвское сельское поселение;
 Петрово — деревня в Угранском районе, Русановское сельское поселение;
 Петрово — деревня в Холм-Жирковском районе.
 Петрово — деревня в Ярцевском районе.
 Татарстан
 Петрово — деревня в Пестречинском районе.
 Тверская область
 Петрово — деревня в Андреапольском районе.
 Петрово — деревня в Бежецком районе.
 Петрово — деревня в Бельском районе.
 Петрово — деревня в Вышневолоцком районе.
 Петрово — деревня в Кимрском районе.
 Петрово — деревня в Кувшиновском районе.
 Петрово — деревня в Оленинском районе.
 Петрово — деревня в Пеновском районе.
 Петрово — деревня в Удомельском районе.
 Томская область
 Петрово — деревня в Томском районе.
 Петрово — деревня в Чаинском районе, упразднена в 2014 году.

 Тульская область
 Петрово — деревня в Белевском районе.
 Петрово — деревня в Ленинском районе.
 Ярославская область
 Петрово — деревня в Любимском районе.
 Петрово — деревня в Угличском районе.
 Петрово — деревня в Ярославском районе,  входит в состав Заволжского сельского поселения.
 Петрово — село в Ярославском районе,  входит в состав Туношенского сельского поселения.

Крым
спорная между Россией и Украиной территория, де-факто в составе России
 Петрово — село в Белогорском районе.
 Петрово — село в Ленинском районе.

Словакия
 Петрово — деревня в районе Рожнява Кошицкого края.

Украина
 Петрово — село во Владимирском районе Волынской области.
 Петрово — село в Софиевском районе Днепропетровской области.
 Петрово — село в Знаменском районе Кировоградской области.
 Петрово — село в Кропивницком районе Кировоградской области.
 Петрово — посёлок в Петровском районе Кировоградской области.
 Петрово — село в Беляевском районе Одесской области.
 Петрово — село в Черниговском районе Черниговской области.
Петрово — до 2000 года название села Пийтерфолво в Виноградовском районе Закарпатской области.

См. также

 Петрово-Борковский
 Петрово-Висунское
 Петрово-Дальнее
 Петрово-Соловово
 Петрово-Солониха
 Петрово-Федоровка
 Петрово-Хутарь


text:
Page tops list of Austin's architecture firms again
Austin Business Journal
Every year, the Austin Business Journal ranks firms in the region by design revenue and significant projects. Page was selected as the top firm - again - and its work on the Dell Medical School at the University of Texas as well as the Travis County District Attorney's office was singled out.
Congratulations to everyone on the list! Page is in very good company. To view the full Austin Business Journal article, click here.
Lawrence W. Speck
2020: Ranked Top 30 in The Nation
Standing on the Shoulders of Giants: Top 25 in The Nation
HBJ: Page Ranked A Top Architecture Firm In Houston
BD+C Magazine: Creating A Hospitality Experience
Rankings: Page Among BD+C Giants
BD+C Magazine: Data Centers Keep Cool While Staying Hot
NTBJ: Page Ranked A Top Ten Architecture Firm In Dallas/Fort Worth
Dell Medical School at The University of Texas at Austin
Travis County District Attorney's Office


text:
Q: Failed to create Azure Cosmos DB account Have been trying to create an Azure Cosmos DB account for almost whole day, but kept getting failure for below reason. When would it be possible to have this service back to normal and usable?
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
        {
            "code": "ServiceUnavailable",
            "message": "Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. We work continuously to bring more and more capacity online, and encourage you to try again shortly. Please do not hesitate to contact us via Azure support at any time or for any reason using this link http://aka.ms/azuresupport.

A: This is due to the high demand in certain Azure regions due to Covid-19. The ability to create certain services is being throttled in some regions and some account types.
You can try other regions or wait.


Just got back from the first day of the Anime Festival Asia 2010 (AFA 2010/AFAX) in Singapore. MJ had covered the previous year's event, but this time Wilson and I headed down to the Suntec Convention and Exhibition Centre to check out what was happening at Singapore's largest anime convention. Impressions and lots of photos within.
The two of us were no strangers to such events. Personally I've attended the Tokyo Game Show, Tokyo Anime Fair and many other such fairs for both professional and public purposes.
Earlier this year, I wrote some less than favorable impressions of Cosfest. Everything I said back then, I take it back. As Anime Festival Asia takes the cake for being my most terrible convention experience in Singapore.
One week prior to the event, tickets were made available online. However, AFA chose to distribute the tickets through some completely unprofessional blogs. One of them was even some shabbily put together Live Journal page. I sure as hell wasn't going to trust such a site with my credit card information.
It seemed like many people felt the same way, because everyone waited to the day itself to purchase their tickets. This resulted in a crazy queue for tickets at the entrance. The queue spanned across 3 exhibition halls and simply wasn't moving.
Reports from Facebook in the afternoon had the queue length at about 1000, though a personal observation was more around 400 people. Fortunately, Wilson had gotten there early enough to beat the crowds. I pity those who had to queue for an hour or two only to be disappointed by the exhibitions within.
I've already covered my first experience/horror with local photographer etiquette in the Cosfest 2010 post so I'm going to save some trouble and skip that. If you need a detailed explanation check that out.
Nobody cared if you didn't felt like posing. They'd snap you incognito anyways.
Between the queue and the crowd of cosplayers gathered in corridor, it was difficult just to enter the exhibition. I was wondering why all the cosplay was going on in the small space between the escalators and entrance. It turned out that there were no dedicated places for cosplayers this year (well except the invited ones). The adjacent hall was being used up by a Border's Book Fair and the space downstairs was hosting a Biomed event.
I know providing a space to hold baggage, or providing dedicated changing rooms (see Yokohama Cosplay Event) was asking too much from the local organizers but seriously, no place to even cosplay?!
If you thought the crowds outside was bad. You ain't seen nothing yet.
Some sort of Miku dancing video game.
I guess something was happening?
Fans could take a picture with Alodia.
As a reminder of how you'll never be as pretty.
No cosplay Q&A but Alodia attracted the attention of lots of creepy camera enthusiasts. Everyone else continued their thing.
This section was clearing out dodgy 3rd party anime goods.
Some of the few stuff actually being sold.
Most of the center area of the hall was taken up by toy and figurine resellers. While there were some rare figures going for crazy prices, most of the shops were clearing stock. The Good Smile Company didn't make an official appearance per say, instead the local shops here used their name. Good Smile did however provide some figures for an adjacent showcase.
Someone just discovered MS paint.
Mad props if you can identify them.
Lucky Star. Oh no. How do I even know this.
Some of the Black Rock Shooters we previously covered at Tokyo Anime Fair.
Looking out of place in the corner were a couple of vendors promoting their technologies such as a Japanese miniaturized take on electric standing scooters and 3d televisions which still needed polarized glasses.
Obviously they made a wasted trip since the hall was filled mostly by youngsters enamored by anime, manga and whatever else passes off as "Japanese" culture these days. AFAX was no trade fair. Just an opportunity to sell overpriced everything to gullible children.
Sad Karaoke contest. Only one small booth worth of space and no attention.
There was of course a maid as well as a butler cafe being featured at the hall. The AFA management gave lots of publicity to these two booths, more so than even the AKB48 performance.
What I don't get is that while the maids cafes are empty throughout the year in Singapore, throwing in the fun of queuing seems to make it a brand new experience. As the Parfait Prince (who we would encounter later) mentioned, she ain't paying $18 for a slice of cake.
Approximately 1/4 of the queue is pictured.
Of course AFA had their own shop in the hall. Here they sold the untouched light sticks from yesterday as well as some DIY merchandise for Scandal and the other anime artists performing.
Some AFA designed Scandal merchandise.
On closer inspection, they were selling the Chinese versions. You can get the same stuff online, for the same price and still have it delivered to your doorstep.
There was also a display of the previously advertised Anime Festival Asia X exclusive photo book, which featured exclusive shots of the performing artists photographed by B.L.T. (yes the same B.L.T. that handles all of AKB48's photos). No pictures of AKB48 though. I wouldn't exactly call it a book. $15 per pamphlet.
The previously advertised AFA photo book.
Back outside, Wilson collected his tickets for tomorrow's Scandal concert. All anisong tickets came with a pack of glow sticks and one of the $15 booklets.
My guess that there reason that there was no such thing for the AKB48 concert, was because the tickets barely covered the cost of bringing the girls over. Still would had been nice to have everyone with glow sticks cheering for AKB48, who are currently Japan's Number One artists, as opposed to a bunch of anisong singers who spend their entire year going from one overseas convention to another.
Peek at the $15 pamphlet.
Finally, in the late afternoon, one of the halls were opened for Cosplay. Suntec City's management was probably tired of having everyone crowded in their corridors. But by then most of the cosplayers had left. Not really keen on taking photographs either due to the same reasons as Cosfest but I'll throw in a couple. The dark hall didn't make the best place for photography either.
Random people jumping in to take photos equals confused cosplayers.
Back outside we met up with le Parfait Prince Geraldine and her group of Vocaloid characters. They had the most impressive costumes today but were stuck in a dimly lit corner outside of the book fair. Immobile dresses and mad crowds do not mix. Not going to post more than one picture, since my amateur photography can hardly do them any justice. Wilson will be uploading some better photos soon.
Some complaints straight from a cosplayer herself. The most pressing matter being the lack of any proper place for the cosplayers, despite being touted as an anime and cosplay event. We're not just asking for a physical space but somewhere conducive to talking photography would be nice. At least Cosfest's venue had natural sunlight and it was entirely possible to use the surrounding resort (if not for the rain).
Also last year, paper tags were used to identify visitors leaving the hall who wished to re-enter. It's a norm for conventions since there's always the possibility of passing your ticket to someone else after leaving. This year, everyone visiting the Anime Festival Asia was stamped with red ink instead. You can only imagine what that meant to those in costume.
Custom cosplay outfits cost no small sum mind you. They also take a hell lot of effort to make. One can only hope the stain washes out. The least AFA could had done was to use UV stamps instead. You'd excuse them if this was their first time organizing such an event. But this is already Anime Festival Asia's 3rd year running.
But alas I don't even know why they even bothered as security was as lax as ever. The staff outside didn't even tear my ticket upon entry and I was marked on the way out. That meant I had an extra ticket to give away.
In fact, they didn't even bother to check your stamp on the way back in. All you had to do was flash your ticket and they'd let you in even if it was already torn off.
While I was looking forward to heading over for Day 2 to see some of the Cosplay events on stage, I've decided to give it a miss. Wilson will still be going though so you can wait for his impressions sometime.
I'm not even going to bother summarizing the whole mess. CNNGo, probably the only other no nonsense blog styled editorial in Singapore (other than us of course) summarized it nicely enough when they called Anime Festival Asia a cash cow.


text:
Brownlowia tersa är en malvaväxtart som först beskrevs av Carl von Linné, och fick sitt nu gällande namn av André Joseph Guillaume Henri Kostermans. Brownlowia tersa ingår i släktet Brownlowia och familjen malvaväxter. Inga underarter finns listade i Catalogue of Life.

Källor

Malvaväxter
tersa