text:
SZEWCZYK, SZYMON
Alba Berlin 8 Center
Height: 2.09 Born: 21 December, 1982 Nationality: Poland
Totals 12 0 169:15 62 19/35 4/20 12/19 13 23 36 3 2 10 4 1 33 17 41
Averages 12 0 14:06 5.2 54.3% 20% 63.2% 1.1 1.9 3 0.3 0.2 0.8 0.3 0.1 2.8 1.4 3.4
1 at Asvel Basket 15:45 4 2/3 0/2 0/1 1 1 2 1 1 3 2 1
2 vs Idea Slask 13:45 5 2/5 0/2 1/2 1 2 3 1 1 2 1 1
3 at Pamesa Valencia 19:45 6 3/4 0/4 0/2 1 3 4 1 1 4 3 2
4 vs Tau Ceramica 16:00 9 3/6 0/1 3/3 3 3 6 1 1 1 1 1 4 2 10
7 at Olympiacos 13:30 6 0/1 1/1 3/4 1 3 4 1 1 4 2 6
8 vs Asvel Basket 10:45 3 1/2 0/1 1/2 1 1 1 4 1 -3
9 at Idea Slask 7:00 2 1/2 0/1 0/1 2 2 1 2 2
10 vs Pamesa Valencia 14:00 5 1/1 1/2 2 2 1 2 1 4 2
11 at Tau Ceramica 20:45 10 1/3 2/3 2/2 3 3 2 1 9
12 vs Efes Pilsen 11:45 4 1/3 2/2 1 1 2 1 2 2 3
13 at Benetton Basket 21:00 6 3/4 0/2 3 3 6 1 2 1 7
14 vs Olympiacos 5:15 2 1/1 0/1 1 1 1 1
12 Totals 169:15 62 19/35 4/20 12/19 13 23 36 3 2 10 4 1 33 17 41
Average 14:06 5.2 54.3% 20% 63.2% 1.1 1.9 3 0.3 0.2 0.8 0.3 0.1 2.8 1.4 3.4
Index rating 29 Brose Bamberg vs. Cedevita Olimpija Ljubljana 11/10/2005
Points 21 Brose Bamberg vs. Cedevita Olimpija Ljubljana 11/10/2005
Offensive rebounds 5 Brose Bamberg vs. Cedevita Olimpija Ljubljana 11/10/2005
Defensive rebounds 6 Cedevita Olimpija Ljubljana vs. Zalgiris Kaunas 11/3/2005
Total rebounds 8 Brose Bamberg vs. Cedevita Olimpija Ljubljana 11/10/2005
Assists 2 Panathinaikos Athens vs. Stelmet Zielona Gora 12/11/2015
Steals 3 Panathinaikos Athens vs. Stelmet Zielona Gora 12/11/2015
Blocks 2 Stelmet Zielona Gora vs. FC Barcelona 11/26/2015
Minutes 30 Panathinaikos Athens vs. Stelmet Zielona Gora 12/11/2015
Grew up with PKK Szczecin (Poland) youth teams.
Made his debut with PKK Szczecin during the 1998-99 season.
Signed for the 2001-02 season by Starogard.
Moved to Germany for the 2002-03 season, signed by StadtSport Braunschweig.
Signed for the 2003-04 season by Alba Berlin Basketball Team.
Played there also the 2004-05 championship.
Moved to Italy for the 2006-07 season, signed by Scafati Basket, Legadue.
Moved to Russia for the 2007-08 season, signed by Lokomotiv Rostov na Donu.
Moved to Italy for the 2009-10 season, signed by SS Scandone Avellino.
Signed for the 2011-12 season by Reyer Venezia.
In January'14, signed for the 2013-14 season by Virtus Roma.
Moved to Poland for the 2014-15 season, signed by ASZ Koszalin.
Signed for the 2015-16 season by Stelmet Zielona Gora.
Won the 2005-06 Slovenian National Championship with BC Olimpija Ljubljana.
Won the 2015-16 Polish National Championship with Stelmet Zielona Gora.
Won the 2006 Slovenian National Cup with BC Olimpija Ljubljana.
Won the 2005 Slovenian Super Cup with BC Olimpija Ljubljana.
Won the 2004 German All Star Game Slam Dunk Contetst.
Has been member of the Polish U-18, U-20 and B National Team.
Member of the Polish National Team.
Played at the 2007, 2009 and 2011 European Championships.
2003-04 Alba Berlin 12 62 5.2 19/35 54.3 4/20 20 12/19 63.2 36 2 3 4
2005-06 Union Olimpija 14 103 7.4 30/51 58.8 7/19 36.8 22/30 73.3 40 13 3 5
2015-16 Stelmet Zielona Gora 10 52 5.2 13/19 68.4 8/23 34.8 2/3 66.7 22 7 6 3
Totals 36 217 6 62/105 59 19/62 30.6 36/52 69.2 98 22 12 12
Averages 36 217 6 62/105 59 19/62 30.6 36/52 69.2 2.7 0.6 0.3 0.3
2004-05 Alba Berlin 10 76 7.6 26/50 52 2/12 16.7 18/27 66.7 62 9 7 7
2015-16 Stelmet Zielona Gora 10 49 4.9 13/16 81.3 5/23 21.7 8/10 80 14 2 4 2
Totals 20 125 6.3 39/66 59.1 7/35 20 26/37 70.3 76 11 11 9
Averages 20 125 6.3 39/66 59.1 7/35 20 26/37 70.3 3.8 0.6 0.6 0.5
1999/00 Szczecin 24 315 13.1 107/178 60.1 5/26 19.2 76/99 76.8 121 25 18
2000/01 Szczecin 26 366 14.1 105/173 60.6 14/29 48.3 86/118 72.9 193 31 14
2002/03 Braunschweig 33 422 12.8 137/228 60.1 25/70 35.7 73/93 78.5 222 30 34 32
2003/04 Alba 25 146 5.8 48/85 56.5 5/19 26.3 35/51 68.6 101 15 10 9
2004/05 Alba Berlin 36 298 8.3 113/177 63.8 7/43 16.3 51/79 64.6 166 29 19 18
2005/06 Olimpija L. 16 109 6.8 36/52 69.2 5/16 31.2 22/33 66.7 59 13 9 11
2006/07 Scafati 33 217 6.6 78/117 66.7 11/31 35.5 28/37 75.7 106 30 12 6
2007/08 Lokomotiv Rostov 24 290 12.1 82/140 58.6 29/80 36.3 39/46 84.8 141 17 17 13
2008/09 Lokomotiv Rostov 30 357 11.9 100/171 58.5 38/102 37.3 43/53 81.1 169 22 25 16
2009/10 Avellino 28 309 11.0 101/146 69.2 21/93 22.6 44/61 72.1 190 41 20 33
2010/11 Avellino 34 480 14.1 138/210 65.7 49/150 32.7 57/76 75.0 229 61 37 32
2011/12 Reyer Venezia 35 421 12.0 114/186 61.3 42/107 39.3 67/85 78.8 198 18 36 40
2012/13 Reyer Venezia 32 383 12.0 90/157 57.3 49/129 38.0 56/68 82.4 190 29 35 25
2013/14 Virtus Roma 17 108 6.4 23/43 53.5 2/17 38.6 11/13 84.6 41 9 8 2
2014/15 AZS Koszalin 31 453 14.6 109/173 63.0 56/127 44.1 67/82 81.7 199 21 32 14
2015/16 Zielona Gora 39 237 6.1 56/97 57.7 31/70 44.3 32/35 91.4 111 12 21 14


Published in: Lin, S.-M., Fredericq, S. & Hommersand, M.H. (2004). Augophyllum, a new genus of the Delesseriaceae (Rhodophyta) based on rbcL sequence analysis and cystocarp development. Journal of Phycology 40: 962-976, 7 figs, 1 table.
The type species (holotype) of the genus Augophyllum is Augophyllum wysorii Showe M.Lin, Fredericq & Hommersand.


Take a half day trek out of Hsipaw through traditional villages, seeing the timeless farming techniques in action. See the locals doing handicrafts, cooking and cheroot rolling. Return back to Hsipaw and climb Koe Su Tang for amazing sunset views.


What are the 30 things you learned about Honduras?
Based on what you see in this video, what similarities do you see with other cultures around the world?
¿Cómo es la ropa de honduras?
Compara tu vida con la vida de Nancy. ¿Cómo son sus vidas semejantes or diferentes?


Arm Pad Rolls for dual post height adjustable arm sections and fixed height full length or desk length arms.
● For dual post arms, desk or full length, fixed height desk or full length.
● Covered in Urethane fabric.
*Need measurements ( A ) & ( B ) for full length arms, height adjustable.
*Need measurement ( C ) for full length arm, non-height adjustable or desk length arm.


Turkey meatballs + whole grain pasta is the perfect thing to make when you want a dinner that's healthy, but also cozy and comforting.
I absolutely love a classic plate of spaghetti and meatballs. When it's done right, it can be so satisfying. I mean, all pasta dishes are really satisfying. But there's something about the meatballs that add a nostalgic element to the meal. Sometimes, though, we crave it a bit more done up. I've added modern day healthy twists and some extra ingredients to turn the big ole plate of spaghetti into a dish that's a little bit more refined.
Healthy pastas are one of my go-to weeknight meals. It's so simple to just boil some whole grain pasta, sear a chicken breast, and sauté some veggies on the side for a quick dinner. Since I do that so often, I decided to treat myself with something more extravagant, but still just as easy to make. I also created this dish with Valentine's day in mind…if you cut the recipe in half, it's the perfect healthy date-night dinner for two, so you and your special someone can enjoy a delicious meal while feeling amazing afterwards. But, if you're in the mood for dessert and MORE pasta, you can follow it up with my Dark Chocolate Ravioli.
Back to the dish. It's a super simple tomato sauce that gets simmered until thickened. While the sauce does its thing on the stove, I mix the ground turkey with sautéed onion, garlic, and spices, and roll out the meatballs. The ground turkey provides a different texture than your usual ground beef or pork, but it's leaner and still stays moist. The key is to not overcook it. I sear the meatballs quickly just until they turn golden brown, and then I remove them from the skillet (it's ok for them to be underdone at this point). Once the veggies get cooked and the sauce gets added, I return the meatballs to the pan to gently finish cooking, keeping all the moisture inside. A quick toss with some whole grain linguine and you're good to go. I would definitely recommend to start eating more whole grain pastas. I still love and eat regular pasta on occasion, but on a weekly basis, whole grain is much more nutritious for you. It has a nutty taste and a strong bite, which I've grown to really like.
Other than that, you just want lots of freshly grated parmesan cheese inside the pasta as well as thick shaves on top. Some fresh basil, and maybe a glass of red wine, and you've got yourself quite the treat. Enjoy!
Coat the bottom of a pot with olive oil and heat over medium heat. Add the onions and sauté until golden brown, stirring often. Meanwhile, pulse the tomatoes in a food processor until chunky. Add the garlic to the pot and cook for a minute. Pour in the tomatoes and add the red pepper flakes. Let the sauce come to a boil and then reduce the heat to a low simmer. Cook for 30 minutes covered and then 30 minutes uncovered, stirring often. Stir in the basil at the end and season with salt and pepper to taste. Keep warm until serving.
Coat a large sauté pan with olive oil and heat over medium heat. Add the onions and sauté until golden brown, stirring often. Add the garlic and cook for a minute. Season with salt and pepper. Let the mixture cool. In a mixing bowl, combine the ground turkey, onion mixture, red pepper flakes, dried oregano, anise seed, salt and black pepper. Mix until incorporated. Form the ground turkey mixture into 8 meatballs. Season with a little more salt and pepper. Coat a large skillet with canola oil. Sear the meatballs on each side until golden brown. Transfer the meatballs to a plate.
To the meatball pan, add the leeks, along with a little more olive oil if needed. Sauté for 5 minutes. Add the red kale and kumato tomatoes. Season with salt and pepper. Cook until the kale is wilted and the tomatoes have softened. Add the tomato basil sauce to the pan, along with the seared meatballs. Simmer until the meatballs have finished cooking through. Stir in the pasta and freshly grate lots of parmesan cheese into the skillet. Stir to coat.
Serve the pasta with the meatballs on top and a spoonful of sauce over everything. Use a peeler to shave thick pieces of parmesan as a garnish. Finish with a sprinkling of basil.
I usually make a double or triple batch of the sauce so I can use it in other meals during the week. If you don't get through it all, you can freeze it for the next time you want some homemade tomato sauce.


Solomon's Song of Songs was the inspiration for this piece. The Hebrew reads "Ani L'Do Di Vi'Dodi Li". "I am my Beloved's and my beloved is mine...." - An eternal Expression of love.
Signed and numbered serigraph and is framed and double-matted. Dimensions: 12" x 26".


text:
Q: Syncronisation tool for dropbox replacement I have several Linux-PCs I want to be synced. I have a server exporting a filesystem via nfs, ftp or sshfs. I mount them to ~/syncenc. With encfs they are mounted to ~/sync. Working directly in this directory is fine as long as the computer is online. But some are Laptops that should keep their home directory local, but sync when online. Both the local as the remote data can change, of course. Also I a file is moved one side it has be move on the other as well, same for dirs. The software should be FOSS.
I'm looking for a software that can do that.
So far i found: https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_file_synchronization_software but the table is rather incomplete.

*

*rsync - does not work bidirectional does it?

*unisono - cannot exclude files, there for useless (you cant sync a/b with a recursivly, obviously) also it cannot detect rename/move operations.

*Dir Sync Pro - Cannot detect rename/move operations, not suitable.

*iFolder - Wikipedia says something about P2P. ?? Also it seems to depend on a special Serversoftware.

A: Since you seem to be on Linux, you might look at http://www.sparkleshare.org ... seems to be maturing well and has good Linux / Mac / Android support. Windows and iOS are lagging for now, but if you don't need them it might do the trick for you.

redpajama_set_name: RedPajamaStackExchange


text:
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <wchar.h>
#include "a.h"
typedef unsigned long long UINT64;
typedef unsigned int       UINTN;
typedef char               CHAR8;
typedef long long          INT64;

char    cs[10] = "a张";
wchar_t wb[20] = L"0123456789abcdef";
wchar_t ws[20] = L"a张";
wchar_t ws2[20] = L"b涛";

static wchar_t mHexStr[] = { L'0', L'1', L'2', L'3', L'4', L'5', L'6', L'7',
                            L'8', L'9', L'A', L'B', L'C', L'D', L'E', L'F' };

wchar_t *
AsciiToUnicode (
  CHAR8   *Ascii,
  UINTN   *StrLen
  )
/*++

Routine Description:
  Convert the passed in Ascii string to Unicode.
  Optionally return the length of the strings.

Arguments:
  Ascii   - Ascii string to convert
  StrLen  - Length of string

Returns:
  Pointer to malloc'ed Unicode version of Ascii

--*/
{
  UINTN   Index;
  wchar_t  *Unicode;

  //
  // Allocate a buffer for unicode string
  //
  for (Index = 0; Ascii[Index] != '\0'; Index++)
    ;
  Unicode = malloc ((Index + 1) * sizeof (wchar_t));
  if (Unicode == NULL) {
    return NULL;
  }

  for (Index = 0; Ascii[Index] != '\0'; Index++) {
    Unicode[Index] = (wchar_t) Ascii[Index];
  }

  Unicode[Index] = '\0';

  if (StrLen != NULL) {
    *StrLen = Index;
  }

  return Unicode;
}

UINT64
DivU64x32 (
  UINT64   Dividend,
  UINTN    Divisor,
  UINTN   *Remainder
  )
/*++

Routine Description:

  This routine allows a 64 bit value to be divided with a 32 bit value returns
  64bit result and the Remainder.

Arguments:

  Dividend  - dividend
  Divisor   - divisor
  Remainder - buffer for remainder

Returns:

  Dividend  / Divisor
  Remainder = Dividend mod Divisor

--*/
{
  if (Remainder != NULL) {
    *Remainder = Dividend % Divisor;
  }

  return Dividend / Divisor;
}

UINT64
RShiftU64 (
  UINT64   Operand,
  UINTN    Count
  )
/*++

Routine Description:

  This routine allows a 64 bit value to be right shifted by 32 bits and returns the
  shifted value.
  Count is valid up 63. (Only Bits 0-5 is valid for Count)

Arguments:

  Operand - Value to be shifted
  Count   - Number of times to shift right.

Returns:

  Value shifted right identified by the Count.

--*/
{
  return Operand >> Count;
}

UINTN
EfiValueToHexStr (
  wchar_t  *Buffer,
  UINT64      Value,
  UINTN       Flags,
  UINTN       Width
  )
/*++

Routine Description:

  VSPrint worker function that prints a Value as a hex number in Buffer

Arguments:

  Buffer - Location to place ascii hex string of Value.

  Value  - Hex value to convert to a string in Buffer.

  Flags  - Flags to use in printing Hex string, see file header for details.

  Width  - Width of hex value.

Returns:

  Number of characters printed.

--*/
{
  wchar_t  TempBuffer[CHARACTER_NUMBER_FOR_VALUE];
  wchar_t  *TempStr;
  wchar_t  Prefix;
  wchar_t  *BufferPtr;
  UINTN   Count;
  UINTN   Index;

  TempStr   = TempBuffer;
  BufferPtr = Buffer;

  //
  // Count starts at one since we will null terminate. Each iteration of the
  // loop picks off one nibble. Oh yea TempStr ends up backwards
  //
  Count = 0;

  if (Width > CHARACTER_NUMBER_FOR_VALUE - 1) {
    Width = CHARACTER_NUMBER_FOR_VALUE - 1;
  }

  do {
    Index = ((UINTN)Value & 0xf);
    *(TempStr++) = mHexStr[Index];
    Value = RShiftU64 (Value, 4);
    Count++;
  } while (Value != 0);

  if (Flags & PREFIX_ZERO) {
    Prefix = '0';
  } else {
    Prefix = ' ';
  }

  Index = Count;
  if (!(Flags & LEFT_JUSTIFY)) {
    for (; Index < Width; Index++) {
      *(TempStr++) = Prefix;
    }
  }

  //
  // Reverse temp string into Buffer.
  //
  if (Width > 0 && (UINTN) (TempStr - TempBuffer) > Width) {
    TempStr = TempBuffer + Width;
  }
  Index = 0;
  while (TempStr != TempBuffer) {
    *(BufferPtr++) = *(--TempStr);
    Index++;
  }

  *BufferPtr = 0;
  return Index;
}

UINTN
EfiValueToString (
  wchar_t  *Buffer,
  INT64       Value,
  UINTN       Flags,
  UINTN       Width
  )
/*++

Routine Description:

  VSPrint worker function that prints a Value as a decimal number in Buffer

Arguments:

  Buffer - Location to place ascii decimal number string of Value.

  Value  - Decimal value to convert to a string in Buffer.

  Flags  - Flags to use in printing decimal string, see file header for details.

  Width  - Width of hex value.

Returns:

  Number of characters printed.

--*/
{
  wchar_t    TempBuffer[CHARACTER_NUMBER_FOR_VALUE];
  wchar_t    *TempStr;
  wchar_t    *BufferPtr;
  UINTN     Count;
  UINTN     ValueCharNum;
  UINTN     Remainder;
  wchar_t    Prefix;
  UINTN     Index;
  int   ValueIsNegative;

  TempStr         = TempBuffer;
  BufferPtr       = Buffer;
  Count           = 0;
  ValueCharNum    = 0;
  ValueIsNegative = FALSE;

  if (Width > CHARACTER_NUMBER_FOR_VALUE - 1) {
    Width = CHARACTER_NUMBER_FOR_VALUE - 1;
  }

  if (Value < 0) {
    Value           = -Value;
    ValueIsNegative = TRUE;
  }

  do {
    Value = (long long)DivU64x32 ((UINT64)Value, 10, &Remainder);
    *(TempStr++) = (wchar_t)(Remainder + '0');
    ValueCharNum++;
    Count++;
    if ((Flags & COMMA_TYPE) == COMMA_TYPE) {
      if (ValueCharNum % 3 == 0 && Value != 0) {
        *(TempStr++) = ',';
        Count++;
      }
    }
  } while (Value != 0);

  if (ValueIsNegative) {
    *(TempStr++)    = '-';
    Count++;
  }

  if ((Flags & PREFIX_ZERO) && !ValueIsNegative) {
    Prefix = '0';
  } else {
    Prefix = ' ';
  }

  Index = Count;
  if (!(Flags & LEFT_JUSTIFY)) {
    for (; Index < Width; Index++) {
      *(TempStr++) = Prefix;
    }
  }

  //
  // Reverse temp string into Buffer.
  //
  if (Width > 0 && (UINTN) (TempStr - TempBuffer) > Width) {
    TempStr = TempBuffer + Width;
  }
  Index = 0;
  while (TempStr != TempBuffer) {
    *(BufferPtr++) = *(--TempStr);
    Index++;
  }

  *BufferPtr = 0;
  return Index;
}

static
wchar_t *
GetFlagsAndWidth (
  wchar_t      *Format,
  UINTN       *Flags,
  UINTN       *Width,
  va_list *Marker
  )
/*++

Routine Description:

  VSPrint worker function that parses flag and width information from the
  Format string and returns the next index into the Format string that needs
  to be parsed. See file headed for details of Flag and Width.

Arguments:

  Format - Current location in the VSPrint format string.

  Flags  - Returns flags

  Width  - Returns width of element

  Marker - Vararg list that may be paritally consumed and returned.

Returns:

  Pointer indexed into the Format string for all the information parsed
  by this routine.

--*/
{
  UINTN   Count;
  int Done;

  *Flags  = 0;
  *Width  = 0;
  for (Done = FALSE; !Done;) {
    Format++;

    switch (*Format) {

    case '-':
      *Flags |= LEFT_JUSTIFY;
      break;

    case '+':
      *Flags |= PREFIX_SIGN;
      break;

    case ' ':
      *Flags |= PREFIX_BLANK;
      break;

    case ',':
      *Flags |= COMMA_TYPE;
      break;

    case 'L':
    case 'l':
      *Flags |= LONG_TYPE;
      break;

    case '*':
      *Width = va_arg (*Marker, UINTN);
      break;

    case '0':
      *Flags |= PREFIX_ZERO;

    case '1':
    case '2':
    case '3':
    case '4':
    case '5':
    case '6':
    case '7':
    case '8':
    case '9':
      Count = 0;
      do {
        Count = (Count * 10) +*Format - '0';
        Format++;
      } while ((*Format >= '0') && (*Format <= '9'));
      Format--;
      *Width = Count;
      break;

    default:
      Done = TRUE;
    }
  }

  return Format;
}

/*
  %[flags][width]type

  flags:
    '-' - Left justify
    '+' - Prefix a sign
    ' ' - Prefix a blank
    ',' - Place commas in numberss
    '0' - Prefix for width with zeros
    'l' - unsigned long long
    'L' - unsigned long long

  width:
    '*' - Get width from a unsigned int argumnet from the argument list
    Decimal number that represents width of print

  type:
    'X' - argument is a unsigned int hex number, prefix '0'
    'x' - argument is a hex number
    'd' - argument is a decimal number
    'a' - argument is an ascii string
    'S','s' - argument is an Unicode string
    'g' - argument is a pointer to an EFI_GUID
    't' - argument is a pointer to an EFI_TIME structure
    'c' - argument is an ascii character
    'r' - argument is EFI_STATUS
    '%' - Print a %

*/

int _vswprintf(wchar_t *StartOfBuffer, size_t BufferSize, const wchar_t *FormatString, va_list Marker)
{
  wchar_t    TempBuffer[CHARACTER_NUMBER_FOR_VALUE];
  wchar_t    *Buffer;
  unsigned char     *AsciiStr;
  wchar_t    *UnicodeStr;
  wchar_t    *Format;
  UINTN     Index;
  UINTN     Flags;
  UINTN     Width;
  UINTN     Count;
  UINTN     NumberOfCharacters;
  UINTN     BufferLeft;
  UINT64    Value;

  //
  // Process the format string. Stop if Buffer is over run.
  //

  Buffer              = StartOfBuffer;
  Format              = (wchar_t *) FormatString;
  NumberOfCharacters  = BufferSize / sizeof (wchar_t);
  BufferLeft          = BufferSize;
  for (Index = 0; (*Format != '\0') && (Index < NumberOfCharacters - 1); Format++) {
    if (*Format != '%') {
      if ((*Format == '\n') && (Index < NumberOfCharacters - 2)) {
        //
        // If carage return add line feed
        //
        Buffer[Index++] = '\r';
        BufferLeft -= sizeof (wchar_t);
      }

      Buffer[Index++] = *Format;
      BufferLeft -= sizeof (wchar_t);
    } else {

      //
      // Now it's time to parse what follows after %
      //
      Format = GetFlagsAndWidth (Format, &Flags, &Width, &Marker);
      switch (*Format) {
      case 'X':
        Flags |= PREFIX_ZERO;
        Width = sizeof (UINT64) * 2;

      //
      // break skiped on purpose
      //
      case 'x':
        if ((Flags & LONG_TYPE) == LONG_TYPE) {
          Value = va_arg (Marker, UINT64);
        } else {
          Value = va_arg (Marker, UINTN);
        }

        EfiValueToHexStr (TempBuffer, Value, Flags, Width);
        UnicodeStr = TempBuffer;

        for (; (*UnicodeStr != '\0') && (Index < NumberOfCharacters - 1); UnicodeStr++) {
          Buffer[Index++] = *UnicodeStr;
        }
        break;

      case 'd':
        if ((Flags & LONG_TYPE) == LONG_TYPE) {
          Value = va_arg (Marker, UINT64);
        } else {
          Value = (UINTN) va_arg (Marker, UINTN);
        }

        EfiValueToString (TempBuffer, Value, Flags, Width);
        UnicodeStr = TempBuffer;

        for (; (*UnicodeStr != '\0') && (Index < NumberOfCharacters - 1); UnicodeStr++) {
          Buffer[Index++] = *UnicodeStr;
        }
        break;

      case 's':
      case 'S':
        UnicodeStr = (wchar_t *) va_arg (Marker, wchar_t *);
        if (UnicodeStr == NULL) {
          UnicodeStr = L"<null string>";
        }

        for (Count = 0; (*UnicodeStr != '\0') && (Index < NumberOfCharacters - 1); UnicodeStr++, Count++) {
          Buffer[Index++] = *UnicodeStr;
        }
        //
        // Add padding if needed
        //
        for (; (Count < Width) && (Index < NumberOfCharacters - 1); Count++) {
          Buffer[Index++] = ' ';
        }

        break;

      case 'a':
        AsciiStr = (unsigned char *) va_arg (Marker, unsigned char *);
        if (AsciiStr == NULL) {
          AsciiStr = "<null string>";
        }

        for (Count = 0; (*AsciiStr != '\0') && (Index < NumberOfCharacters - 1); AsciiStr++, Count++) {
          Buffer[Index++] = (wchar_t) * AsciiStr;
        }
        //
        // Add padding if needed
        //
        for (; (Count < Width) && (Index < NumberOfCharacters - 1); Count++) {
          Buffer[Index++] = ' ';
        }
        break;

      case 'c':
        Buffer[Index++] = (wchar_t) va_arg (Marker, UINTN);
        break;

      case '%':
        Buffer[Index++] = *Format;
        break;

      default:
        //
        // if the type is unknown print it to the screen
        //
        Buffer[Index++] = *Format;
      }

      BufferLeft = BufferSize - Index * sizeof (wchar_t);
    }
  }

  Buffer[Index++] = '\0';

  return &Buffer[Index] - StartOfBuffer;
}

int _swprintf(wchar_t * Buffer, size_t BufferSize, const wchar_t *Format, ...)
{
  UINTN Return;
  va_list Marker;

  va_start (Marker, Format);
  Return = _vswprintf(Buffer, BufferSize, Format, Marker);
  va_end (Marker);

  return Return;
}

int main()
{
  printf("strlen(cs) = %d\n",strlen(cs));
  _swprintf(wb,12, L"%S1%S",ws,ws2);

  printf("cs[0] = 0x%x\n",cs[0]);
  printf("cs[1] = 0x%x\n",cs[1]);
  printf("cs[2] = 0x%x\n",cs[2]);
  printf("cs[3] = 0x%x\n",cs[3]);

  printf("wb[0] = 0x%x\n",wb[0]);
  printf("wb[1] = 0x%x\n",wb[1]);
  printf("wb[2] = 0x%x\n",wb[2]);
  printf("wb[3] = 0x%x\n",wb[3]);
  printf("wb[4] = 0x%x\n",wb[4]);
  printf("wb[5] = 0x%x\n",wb[5]);
  printf("wb[6] = 0x%x\n",wb[6]);
  printf("wb[7] = 0x%x\n",wb[7]);
  return 0;
}

redpajama_set_name: RedPajamaGithub


text:
Sir Philip Green, other famous faces and why NDAs matter
https://www.bbc.co.uk/news/newsbeat-45991545
Image caption NDAs have been in the news linked to stories with Harvey Weinstein, Sir Philip Green and Stormy Daniels
We seem to hear a lot about non-disclosure agreements these days.
They're also known as NDAs or "hush agreements" and rich and powerful people including Sir Philip Green, Donald Trump and Harvey Weinstein are believed to have used them.
An NDA - or non-disclosure agreement - is a contract between two groups or individuals so that information is not made public.
They can be used when an employee leaves a job, so what they know can't be used against their old employer.
Yet what happened with film producer Harvey Weinstein, showed how powerful individuals have been able to use money to cover up allegations of sexual misconduct.
Mr Weinstein, 66, has previously insisted via his lawyer that he has never had non-consensual sex.
Image caption Harvey Weinstein heading into court
Why are we talking about it now?
It's reported Sir Phillip Green's company, Arcadia (which owns shops including Top Shop, Top Man and Miss Selfridge), used NDA clauses with some staff.
The Telegraph newspaper says they came as part of settlement deals - giving payments to individuals - who had made allegations about his conduct.
The paper accused him of inappropriate sexual and racial harassment which he strongly and wholly denies.
It's important to note that, according to the courts, the people who worked for Sir Phillip Green's company entered the contracts freely but were not prevented from disclosing issues with law makers.
His name only emerged after a politician revealed his identity in parliament - under a special rule called Parliamentary privilege.
Jahad Rahman, an employment lawyer who specialises in NDAs, says they seem to be used as "a weapon of choice".
"They are commonly known as a gagging clause [for a reason]. The employer can actually sue you if you break any term of that agreement."
Prime Minister Theresa May said the government will look at "unethical" use of non-disclosure agreements.
When else have they been used?
NDAs are commonly used in the entertainment industry to protect secrets coming out.
People who edited the Harry Potter books, cast members from shows like Game of Thrones, and even MistaJam when he judged the Mercury Prize, have signed NDAs.
"You get the phone call and then you have a meeting at which you sign a non-disclosure agreement," said MistaJam.
"It means you can't talk about a large number of things.... things that people would normally want to ask."
Image caption MistaJam has had to sign NDAs in the music business
How widespread are they?
Jahad Rahman says settlement deals, which include NDAs, do not mean a person or company is guilty.
"[When an] employee signs a settlement or an NDA, it's merely an allegation, because it has not been tested."
He says most disputes in sexual harassment never see a courtroom and in his view "about 80% settle out of court".
They have also been used in UK politics, with figures showing the House of Commons spent more than £2.4 million through NDAs over the last five years.
In the US, The Wall Street Journal reported adult film star Stormy Daniels signed a non-disclosure agreement, not to talk about an alleged affair with President Donald Trump.
Mr Trump has denied any relationship with the actress and said he had not known about any payments until "later on".
In an interview with comedian Jimmy Kimmel she refused to say whether she signed one or not.
Image copyright EPA
Image caption Stormy Daniels
Do the public need to know?
The Daily Telegraph argues it has to expose claims of wrongdoing and is unable to tell the full story, as the courts won't let it.
NDAs can be necessary for genuine business use, but the concern is when they are used to prevent allegations of assault and harassment becoming public.
Follow Newsbeat on Instagram, Facebook and Twitter.
Listen to Newsbeat live at 12:45 and 17:45 every weekday on BBC Radio 1 and 1Xtra - if you miss us you can listen back here.
#MeToo campaign
Lord Hain
Sir Philip Green: From 'king of the High Street' to 'unacceptable face of capitalism'
Lord Hain branded 'arrogant' for naming Sir Philip Green
Stormy Daniels and Trump: The conflicting statements
Stormy Daniels case: Trump repaid lawyer 'hush money', says Giuliani
Ex-Harvey Weinstein assistant attacks 'immoral' non-disclosure agreements
Harvey Weinstein: Ex-assistant criticises gagging orders

redpajama_set_name: RedPajamaCommonCrawl


text:
Give in Gratitude: David
Middle school student David* has been a Club member for over seven years. Now 13 years old, David – along with his three siblings – has made the Jerry Gamble Club a positive and important part of his everyday life. David loves the Club culture and is always willing to get involved in Club activities. He is a football and baseball enthusiast, and he often heads to the gymnasium to play sports and other games as soon as he finishes his homework.
David is very focused on his education, and although he's had a tough time with some of the COVID-19 restrictions, he has adjusted well to his distance learning and is working hard to excel in his course work. Even though he misses his classmates and playing sports at school, he says that being careful and staying safe is the right thing to do during these challenging times.
Coach John Bryant, program coordinator and longtime athletics director at the Jerry Gamble Club, praises David's growth and character development over the years. "David is determined and caring; he's a passionate young man, smart and resilient," says Coach Bryant. "He challenges himself to become a better person and make good decisions because he has to be a role model for his younger siblings. What a great young man – I'm looking for great things in the future from him!"
*Name changed for privacy.
2023 Youth of the Year Candidates
As the new year begins, we are getting excited to celebrate the extraordinary achievements of Club teens by...
Capstone Libraries
A group of local educational publishers collaborated to implement brand new age-appropriate K-5 hardcover libraries at...
The past few months at the Clubs have been busy! Here are some highlights: SPS Commerce employees assembled hundreds...
More Blogs >


The CISSP certification has become the de facto standard of information security credentials. Long sought after in America and growing in Europe, the CISSP is a sweeping security management credential that establishes your literacy and credibility as an information security professional. With hacks and attacks on the rise everywhere you look, never has the investment in security certification been more worth it for the enterprise. With CISSP credential holders earning salary averages of $114k or more, the credential is well worth it to the individual practitioner as well.
Led by real-world experts in information security who are authorized (ISC)² instructors, the Official (ISC)² CISSP Certification Boot Camp is the most comprehensive review of information security concepts and industry best practices. This course covers the ten domains of the CISSP CBK (Common Body of Knowledge). This training course reviews and refreshes your information security knowledge and helps identify the areas you need to study for the CISSP exam.
Identify the purpose, benefits, and process of information classification and how it is used for Access Control policies and identifying the process for assessing the effectiveness of implemented controls.
Master basic understanding of telecommunication and network security concepts.
Learn the required components for minimizing security risks, securing channels of communication, and techniques for preventing and detecting network-based attacks.
Use the Security Architecture and Design concepts focusing on the architecture of security systems that provide for the availability, integrity, and confidentiality of organizational assets.
Master key terms and processes of Security Operations and how to protect and control information processing assets in a centralized or distributed environment – use daily tasks required to keep security services operating reliably and efficiently.
Evaluate the physical, environmental, and procedural risks that might be present in a facility, organization, or structure where information systems are stored and managed.
No exam voucher is included with this course, but ASPE can optionally provide one for additional fee.
The CISSP Boot Camp is for students who have at least four years of recent full-time security professional work experience in two or more of the ten domains of the (ISC)² Certified Information System Security Professional® (CISSP) Common Body of Knowledge® (CBK). The CISSP CBK defines the work experience in architecture, design, management, risk, and controls that assure the security of a business environment.


text:
Amietia wittei é uma espécie de anfíbio da família Ranidae.

Pode ser encontrada nos seguintes países: Quénia e Tanzânia.

Os seus habitats naturais são: regiões subtropicais ou tropicais húmidas de alta altitude, campos de altitude subtropicais ou tropicais, rios e pastagens.

Referências

Amietia
Anfíbios descritos em 1924

redpajama_set_name: RedPajamaWikipedia


text:
Flag of Thailand
Thailand, previously named Siam from 1945-1949, is located in Southeast Asia. Situated in the middle of the Indochina peninsula, Thailand is the 20th most populous country with a total 2014 population of around 67,200,000 residents (based upon a 2013 estimate considering latest census data and the population growth rate of a little over 0.5%). Thailand is the only country in Southeast Asia that was not colonized by the Europeans. Consequently, it played the role of a buffer state between the areas in Southeast Asia that had been colonized by the British Empire or the French. Its Head of State, King Rama IX, is the longest-reigning head of state and monarch in Thai history. Thailand's main ethnic group is Thai, with a total of 96% of the population. This includes the native people of Thailand, and Thai/Chinese people.
History of Thailand
Temple in Thailand
Widely considered the first Thai state, Sukhothai was founded in 1238. Although this Buddhist kingdom was growing somewhat rapidly during the 13th-15th centuries, it was later overpowered by the kingdom of Ayutthaya, founded in the 14th century. In 1431, Ayutthaya invaded Angkor and forced the Khmer to abandon the city. Ayutthaya eventually became the one of the biggest trading centers in Asia, and frequently traded goods with its neighbor states. In 1767, the Burmese people caused the fall of the Ayutthaya kingdom. The absolute monarchy of Thailand was ended in 1932, when King Prajadhipok was forced to grant his citizens their first constitution.
During World War II, after a battle with the Thai army that lasted around eight hours, Japanese troops were granted passage across Thailand to Malayan lands. On the 21st of December, in 1941, Thailand and Japan formed an alliance that held a secret protocol in which Tokyo agreed to assist Thailand in regaining the Thai territories lost to the British and French forces. Shortly thereafter, on January 25th, 1943, Thailand declared war on the United Kingdom and United States. Thailand sought to assist Japan in its war against the allies, while at the same time maintaining the Seri Thai, an anti-Japanese movement. Thailand emerged from the war as a US ally, and later underwent many decades of political instability. Thailand eventually regained control in the 1980s.
2016 Geography of Thailand
Islands in the Gulf of Thailand
A bit larger than Spain, Thailand is the world's 51st largest country at 198,120 square miles. The highest point in the country is Doi Inthanon, a part of the Thanon Thong Chai Range in north Thailand, at 8,415 feet above sea level. The Khorat Plateau, in the northeast of the country, is bordered by the Mekong River in the east. The Chao Phraya river valley runs into the Gulf of Thailand, in the center of the country. It is one of the sustainable resources of Thailand, as is the Mekong River. As well as being an industrial center of Thailand, the Gulf of Thailand is a big hit with tourists, as it boasts beautiful beaches and clear, shallow water. The Southern area of Thailand holds the Kra Isthmus that later widens out into the Malay Peninsula. With the most luxurious hotels of Asia surrounding its waters, the Andaman Sea is widely regarded as the most precious natural resource of Thailand. The tropical climate of Thailand owes itself to the large quantities of monsoonal rains throughout the seasons.
2016 Education and Economy of Thailand
School Children in Thailand
The education systems of Thailand are quite successful, and the country boasts a high level of literacy. Children are required by law to attend school up to the age of 14, although free schooling is provided up until the child is 17. One educational matter that could use some work is that of establishing acceptable curricula for the primary and secondary schools. The approved curricula changes so quickly that often times, teachers do not even know what they are supposed to be teaching the students. Approved textbooks cannot be written and published quickly enough to ease the troubles. Despite all of this, the education of Thailand has seen major improvements since 2001, and the average IQ has now risen to around 98.59, depending on the area of the country.
Thailand's economy, which is heavily reliant on exporting goods, boasted a growth rate of 12.4% annually between 1985 and 1996, which is the highest the world has ever recorded. Thailand is the 4th richest nation of Southeast Asia, and boasts the 2nd largest economy of Southeast Asia. Thailand's exports increasingly raise in value, and is currently at $105 billion annually. The major exports in 2013 are rice, cars, rubber, jewelry, textiles and footwear, electrical appliances and cars. At a rate of over 6.5 million tons annually, Thailand is the world's largest exporter of rice, making it the country's most important crop. 49% of the labor force of Thailand is employed in agriculture. Largely due to the country's adopting more industrialized farming methods, the agricultural employment level has dropped to 21% of the population since 1980. The national currency of Thailand is the Baht (฿).
2016 Culture, Language and Religion of Thailand
Thai culture places great importance on the family, in which children are taught to always honor and obey their parents. Courtesy in all its forms is highly important; being polite and respectful with others while at all times remaining in control. Angry confrontations are completely unacceptable and actually viewed as violence. This is due in large part to the effects of their Buddhist religion which is practiced by over 90% of the population. Buddhism teaches the belief of reincarnation whereby a person has many lives based upon the lessons learned in previous lives. Other Christian religions do practice in Thailand. For instance, the 2013 Yearbook of Jehovah's Witnesses states that over 3,600 of their members worship there.
The Thai Language Alphabet
The main language spoken in Thailand is, of course, Thai. The Thai language has 44 consonants in the syllabic writing system and includes many words from the Pali, Old Khmer and Sanskrit languages. Other moden languages spoken in Thailand include Malay, Lao, Chinese and English. In 2013, English is increasingly being taught in schools and universities and is widely used in business and commerce. This makes communication for English-speaking tourists with the Thai population much easier.
2016 Thailand Tourism
Top tourists destinations in the Land of the Smile continue to be Bangkok (the Gateway to Southeast Asia), Phuket, Ko Tarutao, Ayuthaya Historical Park, Ko Chang (2nd largest island in Thailand, bordering Cambodia), Phang Nga Bay, the Grand Palace of Bangkok, the Similan Islands in the western Andaman Sea (best diving in Thailand and possibly the world), Chiang Mai Night Bazaar, Railay Beach (or Rai Leh) with its cliffs overhanging the tropical sea, Koh Tao (Turtle Island) which is another top SCUBA diving destination, and the most recent are the Phi Phi islands (including Ko Phi Phi, Phi Phi Ley, Maya Beach and Monkey Beach) which has exploded onto the tourism scene for good reason.
We will be publishing more fun facts about Thailand as well as why you should visit this beautiful island nation soon in 2016!


text:
require 'spec'
require 'spec_helper'

describe TableFu do

  before :all do
    csv = FasterCSV.parse(File.open('spec/assets/test.csv'))
    @spreadsheet = TableFu.new(csv, :style => {'URL' => 'text-align: left;'})
  end

  it 'should give me back a Row object' do
    @spreadsheet.rows.each do |r|
      r.class.should eql TableFu::Row
    end
  end

  it 'should give me back a column by it\'s header name' do
    @spreadsheet.rows[0].column_for("State").to_s.should == "Alabama"
  end

  it 'should sort rows' do
    @spreadsheet.sorted_by = {'State' => {"order" => 'descending'}}
    @spreadsheet.rows[0].column_for("State").to_s.should eql "Wyoming"
    @spreadsheet.sorted_by = {'Party' => {"order" => 'descending'}}
    @spreadsheet.rows[0].column_for("Party").to_s.should eql "Republican"
    @spreadsheet.sorted_by = {'Representative' => {"order" => 'ascending', "format" => 'last_name'}}
    @spreadsheet.rows[2].column_for("Representative").to_s.should eql "Jo Bonner"

    @spreadsheet.col_opts[:columns] = ['State', 'Party', 'Total Appropriations', 'URL']
    @spreadsheet.rows.each do |row|
      row.columns.each do |column|
        if column.column_name == 'URL'
          column.style.should eql 'text-align: left;'
          column.to_s.should eql ''
          column.value.should be_nil
        end
        column.style.should_not be_nil
      end
    end

  end

  it 'should sort rows with numerals' do
    @spreadsheet.sorted_by = {'Projects' => {"order" => 'ascending'}}
    sorted = @spreadsheet.rows.map do |row|
      row.column_for("Projects").value
    end
    sorted.should eql [4, 5, 10, 12, 20, 49, nil]
  end

  it 'should be able to contain only the rows I want, after sorting' do
    @spreadsheet.sorted_by = {'State' => {"order" => 'ascending'}}
    @spreadsheet.only!(1..2)
    @spreadsheet.rows[0].column_for('State').to_s.should eql 'Arizona'
    @spreadsheet.rows[1].column_for('State').to_s.should eql 'California'
    @spreadsheet.deleted_rows.length.should eql 5
    @spreadsheet.rows.length.should eql 2
  end

  it 'should convert a total to a string' do
    @spreadsheet.total_for('Projects').to_s.should eql '24'
  end
end

describe TableFu, 'with a complicated setup' do

  before :all do
    csv = FasterCSV.parse(File.open('spec/assets/test.csv'))
    @spreadsheet = TableFu.new(csv)
    @spreadsheet.col_opts[:formatting] = {'Total Appropriation' => :currency,
                                          "Representative" => :last_name_first_name}
    @spreadsheet.col_opts[:style] = {'Leadership' => "text-align: left;", 'URL' => 'text-align: right;'}
    @spreadsheet.col_opts[:invisible] = ['URL']
    @spreadsheet.delete_rows! [8]
    @spreadsheet.sorted_by = {'State' => {"order" => 'descending'}}
    @spreadsheet.col_opts[:columns] = ['State', 'Leadership', 'Total Appropriation', 'Party', 'URL']
  end

  it 'Leadership column should be marked invisible' do
    @spreadsheet.rows[0].column_for('URL').invisible?.should be_true
    @spreadsheet.rows[0].column_for('State').invisible?.should be_false
  end

  it 'should give me back a Row object' do
    @spreadsheet.rows.each do |r|
      r.class.should eql TableFu::Row
    end
  end

  it 'should give me back a 7 rows because it ignored row 476 and header' do
    @spreadsheet.rows.size.should eql 7
  end

  it 'should give me back a column by it\'s header name' do
    @spreadsheet.rows[3].column_for('State').to_s.should eql "Georgia"
    @spreadsheet.rows[2].column_for('State').to_s.should eql "New Jersey"
    @spreadsheet.rows[0].column_for('State').to_s.should eql "Wyoming"
  end

  it 'should have some sugar' do
    @spreadsheet.rows[3]['State'].to_s.should eql "Georgia"

  end

  it 'should total a column' do
    @spreadsheet.total_for("Total Appropriation").value.should eql 16640189309
    @spreadsheet.total_for("Total Appropriation").to_s.should eql "$16,640,189,309"
  end

  it 'should format a column' do
    @spreadsheet.rows[0].column_for("Total Appropriation").to_s.should eql "$138,526,141"
    @spreadsheet.rows[0].column_for("Total Appropriation").value.should eql 138526141
    @spreadsheet.rows[4].column_for("Representative").to_s.should eql "Nunes, Devin"
  end

  it 'should format a header' do
    @spreadsheet.headers[1].style.should eql 'text-align: left;'
    @spreadsheet.headers[4].style.should eql 'text-align: right;'
  end

  it 'should not care what kind of keys the hash has' do
    @spreadsheet = TableFu.new(File.open('spec/assets/test.csv'))
    @spreadsheet.col_opts["style"] = {'Leadership' => "text-align: left;", 'URL' => 'text-align: right;'}

    @spreadsheet.rows[0].column_for('Leadership').style.should ==
                          @spreadsheet.col_opts["style"]['Leadership']
  end

end

describe TableFu, "with faceting" do

  before :all do
    csv = FasterCSV.parse(File.open('spec/assets/test.csv'))
    @spreadsheet = TableFu.new(csv)
    @spreadsheet.col_opts[:style] = {'Projects' => 'text-align:left;'}
    @spreadsheet.col_opts[:formatting] = {'Total Appropriation' => :currency}
    @spreadsheet.delete_rows! [8]
    @spreadsheet.sorted_by = {'State' => {:order => 'ascending'}}
    @faceted_spreadsheets = @spreadsheet.faceted_by("Party", :total => ['Projects', 'Total Appropriation'])
  end

  it "should have 2 facets" do
    @faceted_spreadsheets.size.should == 2
  end

  it "should total up the projects and expenses" do
    @faceted_spreadsheets[1].total_for("Projects").value.should eql 63
    @faceted_spreadsheets[0].total_for("Projects").value.should eql 32
    @faceted_spreadsheets[1].total_for("State").value.should eql 3
    @faceted_spreadsheets[1].total_for("Total Appropriation").value.should eql 175142465
  end

  it "should keep formatting on totals" do
    @faceted_spreadsheets[1].total_for("Total Appropriation").to_s.should eql "$175,142,465"
  end

  it "should remember what facet it belongs to" do
    @faceted_spreadsheets[1].faceted?.should be_true
    @faceted_spreadsheets[0].faceted_on.should == 'Democrat'
  end

  it "should keep the formatting" do

    @faceted_spreadsheets[1].rows[1].column_for('Total Appropriation').to_s.should eql "$25,320,127"
    @faceted_spreadsheets[1].rows[1].column_for('Projects').style.should eql "text-align:left;"
  end

end

describe TableFu, 'with macro columns' do

  class TableFu::Formatting

    class<<self

      def append(first, second)
        "#{first}#{second}"
      end

      def null(first)
        nil
      end

    end

  end

  before :all do
    csv = FasterCSV.parse(File.open('spec/assets/test_macro.csv').read)
    @spreadsheet = TableFu.new(csv)
    @spreadsheet.col_opts[:style] = {'Projects' => 'text-align:left;'}
    @spreadsheet.col_opts[:formatting] = {'Total Appropriation' => :currency,
                                          'MacroColumn' => {'method' => 'append', 'arguments' => ['Projects','State']},
                                          'NullColumn' => {'method' => 'null', 'arguments' => ['Projects']}}
    @spreadsheet.sorted_by = {'Projects' => {'order' => 'descending'}}
    @spreadsheet.col_opts[:columns] = ['State', 'Total Appropriation', 'Projects', 'MacroColumn']
  end

  it "should let us specify a macro for a column" do
    @spreadsheet.rows[1].column_for('MacroColumn').to_s.should eql '20Arizona'
  end

  it "should keep the rows in order" do
    @spreadsheet.rows[0].column_for('Projects').value.should eql 49
    @spreadsheet.rows[1].column_for('Total Appropriation').to_s.should eql '$42,367,198'
  end

  it "should allow macros that take arguments to return nil" do
    @spreadsheet.rows[0].column_for('NullColumn').to_s.should eql ''
  end

  it "should not barf if we try a bad formatter" do
    @spreadsheet.col_opts[:formatting] = {'Total Appropriation' => :bad_formatter }
    @spreadsheet.rows[1].column_for('Total Appropriation').to_s.should eql "bad_formatter not a valid formatter!"
  end
end

describe TableFu, 'with reordered columns' do

  before :all do
    csv = FasterCSV.parse(File.open('spec/assets/test.csv'))
    @spreadsheet = TableFu.new(csv)
    @spreadsheet.col_opts[:style] = {'Projects' => 'text-align:left;'}
    @spreadsheet.col_opts[:formatting] = {'Total Appropriation' => :currency}
    @spreadsheet.col_opts[:sorted_by] = {'State' => {:order => 'ascending'}}
  end

  it "should display columns in the correct order" do
    @spreadsheet.col_opts[:columns] = ['State', 'Blah', 'Projects']
    @spreadsheet.column_headers.size.should eql 7
    @spreadsheet.columns.size.should eql 3
    facets  = @spreadsheet.faceted_by('State')
    @spreadsheet.rows[0].column_for('Blah').to_s.should eql ''
    @spreadsheet.rows[0].column_for('Projects').to_s.should eql '10'
  end

end


text:
Principles, countries, history
Joining the EU
History of the EU
Institutions, law, budget
Institutions and bodies
Priorities and actions
Actions by topic
European years
The common EU response to COVID-19
Live, work, study
Living in the EU
Travelling in the EU
Participate, interact, vote
Immigration to the EU
Working in the EU
Doing business in the EU
Funding, grants, subsidies
Studying and training in the EU
Jobs & traineeships in EU institutions
Связаться с ЕС
Contact details: institutions, bodies and agencies
Europe and worldwide offices
Visit a European Union institution
Закрыть это сообщение
Эта страница недоступна на русском.
Выбрать другой язык
Founding agreements
The European Union is based on the rule of law. This means that every action taken by the EU is founded on treaties that have been approved voluntarily and democratically by all EU member countries. For example, if a policy area is not cited in a treaty, the Commission cannot propose a law in that area.
A treaty is a binding agreement between EU member countries. It sets out EU objectives, rules for EU institutions, how decisions are made and the relationship between the EU and its member countries.
Treaties are amended to make the EU more efficient and transparent, to prepare for new member countries and to introduce new areas of cooperation – such as the single currency.
Under the treaties, EU institutions can adopt legislation, which the member countries then implement. The complete texts of treaties, legislation, case law and legislative proposals can be viewed using the EUR-Lex database of EU law.
Sorted chronologically from latest to oldest, the main treaties are:
Treaty of Lisbon
Signed: 13 December 2007
Entered into force: 1 December 2009
Purpose: to make the EU more democratic, more efficient and better able to address global problems, such as climate change, with one voice.
Main changes: more power for the European Parliament, change of voting procedures in the Council, citizens' initiative, a permanent president of the European Council, a new High Representative for Foreign Affairs, a new EU diplomatic service.
The Lisbon treaty clarifies which powers:
- belong to the EU
- belong to EU member countries
- are shared.
The goals and values of the EU and are laid out in the Lisbon Treaty and the EU Charter of fundamental rights.
Full text of the Treaty of Lisbon
The Treaty establishing a constitution for Europe (2004) – with aims similar to the Lisbon Treaty – was signed but never ratified.
Signed: 26 February 2001
Entered into force: 1 February 2003
Purpose: to reform the institutions so that the EU could function efficiently after reaching 25 member countries.
Main changes: methods for changing the composition of the Commission and redefining the voting system in the Council.
Full text of the Treaty of Nice
Treaty of Amsterdam
Signed: 2 October 1997
Entered into force: 1 May 1999
Purpose: To reform the EU institutions in preparation for the arrival of future member countries.
Main changes: amendment, renumbering and consolidation of EU and EEC treaties. More transparent decision-making (increased use of the ordinary legislative procedure).
Full text of the Treaty of Amsterdam
Treaty on European Union - Maastricht Treaty
Signed: 7 February 1992
Entered into force: 1 November 1993
Purpose: to prepare for European Monetary Union and introduce elements of a political union (citizenship, common foreign and internal affairs policy).
Main changes: establishment of the European Union and introduction of the co-decision procedure, giving Parliament more say in decision-making. New forms of cooperation between EU governments – for example on defence and justice and home affairs.
Full text of the Maastricht Treaty
Single European Act
Signed: 17 February 1986 (Luxembourg) / 28 February 1986 (The Hague)
Entered into force: 1 July 1987
Purpose: to reform the institutions in preparation for Portugal and Spain's membership and speed up decision-making in preparation for the single market.
Main changes: extension of qualified majority voting in the Council (making it harder for a single country to veto proposed legislation), creation of the cooperation and assent procedures, giving Parliament more influence.
Full text of the Single European Act
Merger Treaty - Brussels Treaty
Signed: 8 April 1965
Purpose: to streamline the European institutions.
Main changes: creation of a single Commission and a single Council to serve the then three European Communities (EEC, Euratom, ECSC). Repealed by the Treaty of Amsterdam.
Full text of the Merger Treaty
Treaties of Rome : EEC and EURATOM treaties
Signed: 25 March 1957
Entered into force: 1 January 1958
Purpose: to set up the European Economic Community (EEC) and the European Atomic Energy Community (Euratom).
Main changes: extension of European integration to include general economic cooperation.
Full text of the Treaty establishing the European Economic Community
Full text of the Treaty establishing the European Atomic Energy Community
Treaty establishing the European Coal and Steel Community
Signed: 18 April 1951
Entered into force: 23 July 1952
Expired: 23 July 2002
Purpose: to create interdependence in coal and steel so that one country could no longer mobilise its armed forces without others knowing. This eased distrust and tensions after WWII. The ECSC treaty expired in 2002.
Full text of the Treaty establishing the European Coal and Steel Community
When new countries joined the EU, the founding treaties were amended:
2013 (Croatia)
2007 (Bulgaria, Romania)
2004 (Czechia, Cyprus, Estonia, Hungary, Latvia, Lithuania, Malta, Poland, Slovakia, Slovenia)
1995 (Austria, Finland, Sweden)
1986 (Spain, Portugal)
1981 (Greece)
1973 (Denmark, Ireland, United Kingdom).
What powers does the EU have?
0 медиа файла
ЗагрузитьShare
Поделится этой страницей
Этот сайт администрируется Европейской комиссией, Directorate-General for Communication
Позвоните нам 00 800 6 7 8 9 10 11
Используйте другие варианты телефонной связи
Напишите нам через нашу контактную форму
Встретиться с нами в одном из центров ЕС
Найти ЕС в социальных сетях
Languages on our websites
Учреждения ЕС
Европейский парламент
Европейский совет
Совет Европейского союза
Европейская комиссия
Суд Европейского союза
Европейский центральный банк
Европейская Счётная палата
Европейская служба внешних связей
Европейский экономический и социальный комитет
Комитет регионов
Европейский инвестиционный банк
Европейский уполномоченный по правам человека
Европейский инспектор по защите данных
Европейский совет по защите данных
Европейское бюро по набору персонала
Бюро официальных публикаций Европейского союза


Driftworks SuperCool Intercooler For Mazda RX7 FC3S. Quality aluminium intercooler core capable of 500+ HP, thick, swaged interccoler pipework with all necessary brackets, silicone joiners and clamps.
Our kits use a Delta Fin intercooler, which is made with trapezoidal cores. The air is funnelled into tightly packed fins creating better conductivity than traditional tube and fin cores, and better air flow and overall efficiency than bar and plate cores. Delta Fin cores are the most expensive to manufacture, so you don't see many manufacturers using them.
As these are an aftermarket intercooler kit differing from OEM design, modifications may be needed, such as bumper trimming, battery relocation etc...They will take mechanical common sense to fit!


Tropical Haiku Poems Describe Nature's Essence.
Would you like to learn how to write haiku poems? What are they? Haikus are a traditional form of Japanese poetry, which usually employs three lines, totalling seventeen syllables.
Ideally, they are a detailed observation about nature and the seasons, written in the present tense and involving the senses.
Subjects should have a lightness or springiness – like a blade of grass that bounces because an insect has just landed on it!
This type of poem also helps to focus an artist's thoughts on a subject and to find its "essence". It is in tune with the Buddhist idea of being "in the moment".
Because our tropical climate has no real seasons (except Wet and less wet!) this makes the composition of this disciplined artform more challenging.
This form of poetry seem to come naturally to Frieda van Aller, as she meditates, walks on the beach or tends her responsive garden. Frieda, trained as a teacher in her native Holland, later travelled extensively in Asia, particularly in India, where she lived for some years in monasteries.
To her surprise, life then took a complete change of direction when she married an Australian fisherman, Colin, and fished the waters off North Queensland with him for twenty years. The couple now lives in Port Douglas, running their relaxed and successful B&B accommodation business.
Haikus poems from Far North Queensland describe fleeting moments.
It's as though a tiny moment in time is captured in these haiku poems from Far North Queensland.
These are Frieda's observations of nature, coming to mind as, in tune with her daily surroundings of beach, jungle and lush, walled garden, she delights as new rainforest flowers and sprays of orchids appear.
The four mile long stretch of beach across from her home is reached by a sandy path, winding through the jungle, where she often is surprised by glimpses of nature that others may not even notice.
The beach itself is an ever-changing panorama of sky, sand and sea creatures with fiery tropical sunsets, soft early morning light revealing faint footprints in the sand or a build-up of dark clouds about to burst with rain, all offering a kaleidoscope of moods.
These haiku poems are presented for your enjoyment and will be added to regularly - so please come back often!
If you would like to see more of Frieda's haikus, please bookmark this page - or use the very convenient RSS feed, as explained on the navigation bar.
By arrangement, as part of Artquest Port Douglas, Frieda will usually be available to hold sessions on constructing haiku poems. Some artists consider that this activity helps them to focus on an aspect of their art practice, particularly if it involves the observation of nature - which it should.
Have you just composed a perceptive haiku?
If so, please share it with us all?
Haikus must be your original work.
NB The maximum size for images is 600 x 800 pixels so you may need to resize using your graphics software (Google's Picasa is easy and free).


text:
Neil Young's Pono player surpasses $800,000 Kickstarter goal on launch day
Janko Roettgers Mar 11, 2014 (Jun 10, 2020) -- Blog Post
Well, that was fast. Neil Young's Pono startup, which wants to build a high-resolution digital music player by the same name, shot past its $800,000 funding goal on day one of its Kickstarter campaign. Pono launched a Kickstarter campaign to finance the production of its player Tuesday morning, and at 10pm, it already had raised more than $925,000. This also means that the discounted $200 Pono players are all gone, but backers can still secure a player for $300, which is $100 less than what Pono wants to sell the device for this fall.
Media, Video
Image credit: OstapenkoOlena
Saurabh Sharma Dec 7, 2021 (Dec 15, 2021) -- Key Criteria & Market Landscape
Key Criteria for Evaluating iPaaS Solutions
Integration Platform-as-a-Service (iPaaS) solutions help organizations connect diverse applications, services, APIs, and data sources across on-premises and cloud environments. These solutions have…
Image credit: Yanawut
Farhad Sayeed Dec 6, 2021 -- Key Criteria & Market Landscape
Key Criteria for Evaluating Financial Operations (FinOps) Tools
The cloud has become the de facto hosting platform for enterprises, with multi-cloud and hybrid cloud infrastructures becoming the norm. However, managing…
DevOps & Applications, Financial, Fintech
Image credit: peshkov
Paul Lewis Jul 23, 2021 (Jul 29, 2021) -- Business & Technology Impact
Platform Play
LAWPRO is the leading provider of professional indemnity insurance and services to thousands of providers in the Ontario legal community. LAWPRO also…
Image credit: Vladimir_Timofeev
Michael Desmond Jun 18, 2021 (Oct 13, 2021) -- Blog
Poised for Growth: GigaOm CEO on What Tech is Next
Artificial intelligence (AI) and machine learning (ML) are redefining the enterprise IT landscape, as across verticals see the potential for AI and…
Jon Collins Jun 2, 2021 -- Business & Technology Impact
The ABCs of CI/CD
This venerable New York-based newspaper has provided its readers news in a balanced and objective fashion for the last 170 years. As…
DevOps & Applications, Mobile Applications
Johnny Baltisberger Mar 18, 2021 (Nov 18, 2021) -- Podcast Episode
Voices in Innovation – Digital Transformation in the Age of Covid with Saahil Panikar
VP of Research Jon Collins speaks with the brilliant Saahil Panikar about digital transformation in the COVID climate, and how to apply…


text:
Tracking Data in the Digital Bindery
By Don Piontek
How important is data in digital finishing? It's critical. You're probably relating this to the fact that digital is (by its file-based nature) all about variable data. But beyond creating personalized documents and books, there is the larger question of integrating production data into the plant workflow and MIS systems.
In your ideal production environment, you want a closed-loop system where digitally-printed products can be tracked through the finishing process and "marked off" against the database, or data file from where they originated. At the same time, this system would record the absence of a product that's supposed to be there, and send a reprint request to the printer software, or print management system.
Ideally, this system would employ a central server which could communicate with multiple platforms in the print production process. And it would use barcode scans at multiple devices within the bindery/mailing center to ID products and ensure multiple personalized pieces matched. So, it was interesting that at the recent Inkjet Summit, I ran across Document Data Solutions (DDS), which was another sponsor. The DDS folks build exactly the kind of system I've described. Here's a layout of their iData Manager production platform.
The point of all this is to have complete control of the digital bindery and mailroom in real time. To enable an accounting of all personalized product that's produced so that the recipients are guaranteed to receive their personalized books or statements on time. This accompanies the trend towards bindery machine automation, and eliminates a lot of paperwork that used to be generated by operators and supervisors.
DDS is not the only firm offering this approach, but they are part of a larger integration of machine automation, vision systems, and reporting software that are designed to reduce production labor while improving the tracking and control of all products produced. When all products are personalized, that's critical.
Software - VDP
Finishing - Digital
E Don Piontek Author's page
Don has worked in technical support, sales, engineering, and management during a career in both the commercial offset and digital finishing sectors. He is the North American representative for IBIS Bindery Systems, Ltd. of The United Kingdom.
OneVision Expands Prepress Suite with New Features
HYBRID Software Announces the Release of STEPZ 5.2
The New Omni-channel Approach that Drives Growth
Get to the Right Destination … in Turbulent Times
CHILI publish Unveils Upgrade for CHILI publisher
Using VDP to Improve Your Marketing Results


Sitting a child down with a coloring book can often help calm and focus them — but did you know it could do the same for grown-ups?
For over a decade, researchers and art therapists alike have backed the calming benefits of coloring. The first commercially successful adult coloring books were published in 2012 and 2013, but only recently have adult coloring books become popular — a full-on trend, even.
Everyone from researchers at Johns Hopkins University to the editors of Yoga Journal suggest that coloring produces benefits similar to meditation. From stress reduction to a means of creative expression, the health benefits of coloring are staggering.
As a way to focus on the moment, adult coloring books can be a valuable tool, experts say. Just like meditation, coloring allows us to switch off our brains from other thoughts, helping to alleviate free-floating anxiety.
"Coloring definitely has therapeutic potential to reduce anxiety, create focus or bring [about] more mindfulness," says Marygrace Berberian, a certified art therapist and the Clinical Assistant Professor and Program Coordinator for the Graduate Art Therapy Program at NYU.
Groundbreaking research in 2005 showed that anxiety levels dropped when subjects colored mandalas, which are round frames with geometric patterns inside. Simply doodling, though, had no effect in reducing the other subjects' stress levels.
For people who aren't comfortable with more creatively expressive forms of art, it can be particularly effective, according to Berberian.
A giant blank canvas may be a little intimidating to an anxiety-ridden overthinker. But an eight-by-ten piece of paper with guidelines? That's a little more manageable.
It's important to note that adult coloring books are not exactly the same as completing an art therapy session; people dealing with significant mental or emotional issues will find art therapy to be more effective.
"Coloring itself cannot be called art therapy because art therapy relies on the relationship between the client and the therapist," said Berberian. But people who are just looking for a way to relax may find these books to be just the ticket.
As Berberian puts it, "I truly believe that people should be engaging in activities that make them feel restored."
Coloring books for adults can be found at bookstores and craft stores, usually for around $10-$15 each. Amazon's list of bestselling adult coloring books can be found here.


High school students love prom, but turning those awesome experience into nostalgia with great yearbook prom coverage is easier said than done… because, let's face it, prom happens really late in the year.
While working prom coverage into your yearbook is difficult, it's certainly not impossible. It just takes significant planning and a dedicated staff.
Of course, it's also a matter of timing.
To squeeze prom coverage into your yearbook, you'll need to make sure your yearbook deadline happens after prom. So, before you do anything else, check your calendar.
Even if the deadline is just a day or two after the prom, that gives you time to put something together for the yearbook. And, if you follow our tips, no one will know how much you had to rush to make it happen; it'll look as awesome as the rest of your book.
Read on for our advice.
There will be pages of your yearbook that you labor over, devoting loads of design and editorial resource; there will be others that, because of constraints like time, have the potential turn out a bit less polished.
Your yearbook prom spread is in an interesting case: Time inevitably plays a factor, but it's such a focal point of the school year that it's important your yearbook coverage reflects that. Laying the foundation for your prom spread well before the big day actually rolls around is the key to making this happen.
How might you go about doing this this? By making use of every resource available. Take a look at the various templates you've developed for your yearbook. Can any of them be repurposed or built upon to accommodate prom coverage? Ideally, you're looking for a spread that can accommodate a lot of bold, narrative pictures, very little copy, and some unique design elements.
If so, start there instead of building something from scratch. It's going to save you a ton of time and stress.
Once you've decided on a template for your prom spread, plan everything else, too. And we really do mean everything. Make sure you determine the other design elements you're going to use in your spread, coverage angles for any copy you'll include, and photo ideas (more on this in a second).
The easiest way to do this is a bit of reporting: Get in touch with your school's prom committee and learn what the year's theme is. Casino. Underwater Wonderland. Gatsbyesque. All Chocolate Everything. Think about how you can subtly pay homage to the theme, whatever it may be, without overshadowing the design elements present elsewhere in your book. This will allow you to maintain continuity while still giving the prom spread its requisite personality.
From there, it's all about the pictures.
But don't just take the ones used in old yearbooks; that'll leave you recreating the same spread.
Instead, print out images and lay them out on a table. Using the template for this year's prom pages as a jumping off point, have your staff put together ideas for spreads. Once they're finished, take a step back and assess. Where do the similarities lie? What sorts of stories are you able to tell? Are they successful?
This activity won't just give you an idea of what this year's prom spread will look like, it'll give your staff clear instructions on what kinds of pictures to take at the actual event. Once you've determined a general direction in which to take your prom coverage, assign particular types of pictures to your photographers and tell them to tuck reminders beneath their corsages and boutonnieres.
Prom's over. It was incredible. Your staff took hundreds of photos and including them all would be a book unto itself. But alas, you've got a single spread in which to capture the magic of the evening.
Remember that activity with the old prom pictures? Have your staff do the same thing again, using the template you've already designed and the photos they took to create the perfect spread.
While your planning will certainly pay off here, there's always the chance that something totally unforeseen happened at prom. For this reason, it's important not to be married to the coverage idea your team came up with before the big dance. If your team captured an incredible moment that you weren't expecting, find a way to include it.
Yearbook prom coverage is a lot easier if you plan ahead. So, create a template and figure out your visual storyline ahead of time, then follow the plan. But remember: While you might really want to nail your yearbook prom coverage, it shouldn't get in the way of your staff having a great time. Make sure they enjoy the evening.
The old adage about work and play is never more necessary than on prom night.


text:
Q: How to call Javascript in Blazor package? This is a blazor project.The Javascipt code is for button in razor. The code is for button group which is when people click button in group 1 and group 2 it change color but in the group 1 will not be deselected.
I try to call my javascript function in C# but did'nt work.

export function switch_to_green(el) {

    //Check clicked button is on the same group
    if (el.parentElement.getAttribute("data-group") == 1) {
        //Get all buttons of group 1
        let g1_buttons = document.querySelectorAll('#group1 .btn');
        for (let i = 0; i < g1_buttons.length; i++) {
            //Remove green color from unselected buttons
            g1_buttons[i].classList.remove('green');
        }
    } else {
        //Get all buttons of group 2
        let g2_buttons = document.querySelectorAll('#group2 .btn');
        for (let i = 0; i < g2_buttons.length; i++) {
            //Remove green color from unselected buttons
            g2_buttons[i].classList.remove('green');
        }
    }
    //Add green color to the only selected one
    el.classList.add('green');

}
.show {
    display: block;
}

.btn-group {
    margin-top: 20px;
    overflow: hidden;
}

.btn {
    font-weight: bold;
    color: white;
    border: none;
    outline: none;
    padding: 12px 16px;
    /*blue*/
    background-color: #2c75ff;
    cursor: pointer;
}

    .btn:hover {
        font-weight: bold;
        color: white;
        /*green*/
        background-color: #85c995;
    }
    .btn.green {
        color: white;
        /*green*/
        background-color: #85c995;
    }
@page "/Test"
@inject IJSRuntime JSRuntime;
public

Hello, world!

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

            <button type="button" class="btn btn-primary" style="outline-color:red; " @onclick="LoadFile">Sunday</button>
            <button type="button" class="btn btn-primary" @onclick="LoadFile">Tuesday</button>
            <button type="button" class="btn btn-primary" @onclick="LoadFile">Friday</button>

            <button type="button" class="btn btn-primary" @onclick="LoadFile">9 am</button>
            <button type="button" class="btn btn-primary" @onclick="LoadFile">2 pm</button>
            <button type="button" class="btn btn-primary" @onclick="LoadFile">5 pm</button>
            <button type="button" class="btn btn-primary" @onclick="LoadFile">8 pm</button>

@code{
    string name = string.Empty;
    IJSObjectReference module;

    async Task LoadFile()
    {
        module = await JSRuntime.InvokeAsync< IJSObjectReference>("import","./Script/btn.js");
        }
}

What I have tried:
Javascript Isolataion
Blazor JavaScript isolation and object references
Solved Result
Result

A: You can use @ref and pass ElementReference to LoadFile,and module = await JSRuntime.InvokeAsync< IJSObjectReference>("import","./Script/btn.js"); will only load js,you need to call the function switch_to_green.Here is a demo:
@inject IJSRuntime JSRuntime;

                <button @ref=button1 type="button" class="btn btn-primary" style="outline-color:red; " @onclick="@(()=>LoadFile(@button1))">Sunday</button>
                <button @ref=button2 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button2))">Tuesday</button>
                <button @ref=button3 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button3))">Friday</button>

                <button @ref=button4 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button4))">9 am</button>
                <button @ref=button5 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button5))">2 pm</button>
                <button @ref=button6 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button6))">5 pm</button>
                <button @ref=button7 type="button" class="btn btn-primary" @onclick="@(()=>LoadFile(@button7))">8 pm</button>

@code{
    string name = string.Empty;
    IJSObjectReference module;
    private ElementReference button1;
    private ElementReference button2;
    private ElementReference button3;
    private ElementReference button4;
    private ElementReference button5;
    private ElementReference button6;
    private ElementReference button7;

    async Task LoadFile(ElementReference element)
    {
        module = await JSRuntime.InvokeAsync<IJSObjectReference>("import", "./Script/btn.js");
        await module.InvokeVoidAsync("switch_to_green", element);
    }
}

result:

A: I know this doesn't answer the question, but you don't need any Javascript to change the color of your buttons.  You can use variables for either an object's class or its style attributes directly in Blazor.

A: Try something like the following.  It doesn't save much effort in this simple example, but hopefully it will give a good idea about how to move forward from here.  IMO you can much more easily adapt Blazor than JavaScript if you want to change anything else.

            @foreach (string day in DayChoices)
            {
                string color = (day == SelectedDay) ? "green" : "";
                   // If above is confusing, google "C# ternary operator"
                <button type="button" class="btn btn-primary @color" @onclick="()=>SetDay(day)">@day</button>
                   // Using lambda above lets you pass variables to your method easily //
            }

            @foreach (string time in TimeChoices)
            {
                string color = (time == SelectedTime) ? "green" : "";
                <button type="button" class="btn btn-primary @color" @onclick="()=>SetTime(time)">@time</button>
            }

Appointment Time: @SelectedDay @SelectedTime

@code {
    string[] DayChoices = new string[] { "Sunday", "Tuesday", "Friday" };
    string[] TimeChoices = new string[] { "9 am", "2 pm", "5 pm", "8 pm" };
    string SelectedDay { get; set; } = "";
    string SelectedTime { get; set; } = "";

    void SetDay (string Day)
    {
        SelectedDay = Day;
    }
    void SetTime (string Time)
    {
        SelectedTime = Time;
    }
}


Sumi Ink Club is a participatory drawing project established in 2005 by Los Angeles-based artists Sarah Rara and Luke Fishbeck. The club produces work cooperatively in open-to-the-public meetings, which can be organized by anyone at any time. Sumi Ink Club uses group drawings to open and fortify social interactions that bleed into everyday life.
Each physical drawing remains the shared proberty of everyone who contributed to it. All images of drawing made by Sumi Ink Club belong to the Public Domain, and can be freely used in any way by anyone.
The Sumi Ink Club Edition in Weimar was part of a lecture and workshop series organised by Projektil 2014.


Tattooist Aprons by Search & Rescue Denim Co.
The Big Soul Liner has 10 wrap coils, it's a very powerful liner, and you can make great fills and blend gently large tattooing surfaces. The frame is of leaded iron and manganese which are excellent electrical conductors. The lateral cover is extremely robust aircraft aluminium and then anodized.
The Special Soul Small Liner version weighs only 215g, suitable for fine lines, for needles up to 8RL.
The frame is made of leaded iron and manganese which are excellent electrical conductors. The side veneer is made of aeronautical aluminium, very resistant to impact and then anodised in gold. With eight-wrap coils.
Soul Black is a coil tattoo machine primarily for shading and filling, for needles up to 14/18 (recommended with longer and softer spring).
Chassis is made from one piece of iron , with an anodized aluminium side wall to maintain the overall light weight of the machine, only 215 grams.
High quality, Made in Italy.
Machines do not include grip, back stem or tip unless stated.
Iron black frame, 10 wrap special, High quality, Made in Italy.
Iron black frame, 10 wrap, High quality, Made in Italy.
Hand made, Brass, High quality, Made in Italy.
Paul Rogers Lauro Paolini machine. 5mm Brass Frame, 10 wrap special, High quality. Made in Italy.


D'Addario's most popular acoustic set, EJ16 delivers the ideal balance of volume, projection and comfortable playability. Phosphor Bronze was introduced to string making by D'Addario in 1974 and has become synonymous with warm, bright, and well balanced acoustic tone. D'Addario Phosphor Bronze strings are precision wound with corrosion resistant phosphor bronze onto a carefully drawn, hexagonally shaped, high carbon steel core. The result is long lasting, bright sounding tone with excellent intonation. Also available in 3D packs D'Addario's most popular acoustic guitar string set, known for its superb, long-lasting tone and comfortable playability Preferred for its warm, bright, and well balanced acoustic tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .012, .016, Phosphor Bronze Wound .024, .032, .042, .053..
Referred to as Custom Light, EJ26 strings are a D'Addario original hybrid gauge and a comfortable compromise for players who want the depth and projection of light gauge bottom strings, but slightly less tension on the high strings for easy bending. Phosphor Bronze was introduced to string making by D'Addario in 1974 and has become synonymous with warm, bright, and well balanced acoustic tone. D'Addario Phosphor Bronze strings are precision wound with corrosion resistant phosphor bronze onto a carefully drawn, hexagonally shaped, high carbon steel core. The result is long lasting, bright sounding tone with excellent intonation. Also available in 3D packs. A D'Addario hybrid gauge, combining light gauge bottom strings with lighter top strings for easy bending Preferred for its warm, bright, and well balanced acoustic tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performan..
D'Addario's EJ27N Classic Nylon guitar strings are great for beginners, students and professionals alike. This normal tension set contains 3 clear nylon trebles and 3 silver-plated copper wound basses for the optimal balance of warm and projecting, long lasting tone. This normal tension set is also available for fractional 1/2 and 3/4 size classical guitars. D'Addario's EJ27 Classic Nylon guitar strings are great for beginners, students and professionals alike. Each set contains 3 clear nylon trebles and 3 silver-plated copper wound basses for the optimal balance of warm and projecting, long lasting tone. Each set is held to same high standards as our professional string sets and may be used for all players looking for an inexpensive, but reliable set. The normal tension set is available for full and fractional 1/2 and 3/4 size classical guitars. D'Addario's premiere entry level classical string set, known for its optimal balance of warmth and projection ..
EXL110, D'Addario's best selling set, offers the ideal combination of tone, flexibility and long life. The standard for most electric guitars. XL Nickel Wound, D'Addario's most popular electric guitar strings, are precision wound with nickelplated steel onto a carefully drawn, hexagonally shaped, high carbon steel core. The result, strings with long lasting, distinctive bright tone and excellent intonation, is ideal for the widest variety of guitars and musical styles. Also available in 3D packs D'Addario's best selling electric guitar set Round wound with nickelplated steel for distinctive bright tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .010, .013, .017, Nickel Wound .026, .036, .046..
EXL120, one of D'Addario's best selling sets, delivers super flexibility and biting tone. A standard for many electric guitars. XL Nickel Wound, D'Addario's most popular electric guitar strings, are precision wound with nickelplated steel onto a carefully drawn, hexagonally shaped, high carbon steel core. The result, strings with long lasting, distinctive bright tone and excellent intonation, is ideal for the widest variety of guitars and musical styles. Also available in 3D packs. Super light gauges for maximum flexibility and biting tone Round wound with nickelplated steel for distinctive bright tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .009, .011, .016, Nickel Wound .024, .032, .042..
EXL125 is D'Addario's best selling hybrid set, combining the high strings from an EXL120 (.009) with the low strings from an EXL110 (.046). The result is a set with strong fundamental low end, but with super flexibility on the high strings. XL Nickel Wound, D'Addario's most popular electric guitar strings, are precision wound with nickelplated steel onto a carefully drawn, hexagonally shaped, high carbon steel core. The result, strings with long lasting, distinctive bright tone and excellent intonation, is ideal for the widest variety of guitars and musical styles. Hybrid gauge combines EXL120 for flexibility and EXL110 for more solid low end Round wound with nickelplated steel for distinctive bright tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .009, .011, .016, Nickel Wound .026, .036, .046..
EXL120+, with its 9.5 gauge high E, is the ideal "step up" string set for players who are moving up from 9 to 10 gauge sets. Additionally, it's great for balancing tension between various scale length guitars. If you play 9s on a 25 1/2" scale guitar, try EXL120+ for your shorter scale length instruments to maintain more consistent feel and playability. XL Nickel Wound, D'Addario's most popular electric guitar strings, are precision wound with nickelplated steel onto a carefully drawn, hexagonally shaped, high carbon steel core. The result, strings with long lasting, distinctive bright tone and excellent intonation, is ideal for the widest variety of guitars and musical styles. "Plus" gauge for improving hand strength, an alternate feel for balancing tension between guitars Round wound with nickelplated steel for distinctive bright tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. f..
D'Addario's most popular acoustic set, EXP16 delivers the ideal balance of volume, projection and comfortable playability. D'Addario's EXP coated strings now feature plain steel strings and hexagonal cores made of our revolutionary NY High Carbon Steel. Envisioned, perfected, and manufactured by D'Addario in New York, this newly engineered, break-resistant, high-carbon steel wire delivers unprecedented strength and pitch stability. Combined with the highest quality wrap wire materials, precision drawn and micro-coated on our advanced proprietary machinery, each EXP set maintains that familiar uncoated tone while adding up to 4 times more life. D'Addario's most popular acoustic guitar string gauge, known for its superb, long-lasting tone and comfortable playability EXP Coated phosphor bronze for warm, bright, well balanced acoustic tone and 4 times more life Feature D'Addario's exclusive New York manufactured, high carbon steel for unpr..
ECG23 is D'Addario's lightest gauge of flatwound strings. Chromes' smooth feel and warm, mellow tone is ideal for traditional jazz, rockabilly twang, R&B and some pop/rock styles. D'Addario Chromes are wound with flattened stainless steel ribbon wire which is polished to an incredibly smooth surface. Chromes deliver a distinctive damped but tone-rich sound that only flatwounds can produce. D'Addario Chromes are the world's most popular flatwound strings. D'Addario's lightest gauge of flatwounds delivers smooth feel and warm, mellow tone with minimum tension Ribbon wound and polished for ultra-smooth feel and warm, mellow tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .010, .014, Stainless Steel Flat Wound .020, .028, .038, .048..
EFT17 Flat Top strings combine D'Addario's popular medium gauging with an exclusive precision polishing process for a smoother, quieter playing surface. Great for recording or slide playing. D'Addario Flat Tops are round wound, then precision ground, leaving the outer surface smooth and "semi-flat." This produces a smooth, flattened playing surface, but does not sacrifice the superb tone and sustain associated with phosphor bronze strings. Flat Tops greatly reduce finger noise and are excellent for recording and flat-picking. D'Addario's popular extra-light gauging with an exclusive precision polishing process for reduced finger noise Smooth, flattened playing surface, superb tone and sustain associated with phosphor bronze strings Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .013, .017, Phosphor Bronze Wound .026, .035, ..
ECG24, D'Addario's best selling gauge of flatwound strings, delivers a balance of smooth feel, warm/mellow tone and optimal tension, ideal for traditional jazz, rockabilly twang, R&B and some pop/rock styles. D'Addario Chromes are wound with flattened stainless steel ribbon wire which is polished to an incredibly smooth surface. Chromes deliver a distinctive damped but tone-rich sound that only flatwounds can produce. D'Addario Chromes are the world's most popular flatwound strings. D'Addario's best selling flatwounds offers balance of smooth feel and warm, mellow tone Ribbon wound and polished for ultra-smooth feel and warm, mellow tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .011, .015, Stainless Steel Flat Wound .022, .030, .040, .050..
ECG25, one of D'Addario's best selling flatwound sets, delivers a smooth feel, warm/mellow tone and tighter tension, ideal for traditional jazz playing. D'Addario Chromes are wound with flattened stainless steel ribbon wire which is polished to an incredibly smooth surface. Chromes deliver a distinctive damped but tone-rich sound that only flatwounds can produce. D'Addario Chromes are the world's most popular flatwound strings. Popular flatwounds with smooth feel, warm/mellow tone and tighter tension Ribbon wound and polished for ultra-smooth feel and warm, mellow tone Environmentally friendly, corrosion resistant packaging for strings that are always fresh Made in the U.S.A. for the highest quality and performance String Gauges: Plain Steel .012, .016, Stainless Steel Flat Wound .024, .032, .042, .052..
EJ45, normal tension, is D'Addario's best selling classical set, preferred for its balance of rich tone, comfortable feel and dynamic projection. Pro-Arte, the world's most popular classical strings are D'Addario's premium classical guitar string sets. All Pro-Arte treble strings are sorted by a sophisticated computer-controlled laser machine which performs diameter and tension measurements, ensuring true-sounding, precise trebles in every set. Pro-Arte basses are wound using silver-plated copper on a multi-filament nylon core for consistent and warm, yet projecting tone. D'Addario's best selling Pro Arte set, Normal tension offers balance of volume and comfortable resistance Laser sorted clear nylon treble strings for consistent, precise intonation Precision wound basses for warm, projecting tone and the utmost consistency Made in the U.S.A. for the highest quality and performance String Gauges: Trebles .0280, .0322, .0403 Basses .029, .035, .043 En..
EJ45C, normal tension, is D'Addario's best selling "composite" set, preferred for its balance of bold, yet warm tone, comfortable feel and dynamic projection. Pro-Arte composite strings feature an exclusive multifilament stranded core material which delivers a powerful, but warm tone which lasts 2-3 times longer than traditional classical strings. In addition to three traditional nylon treble strings, each set contains an optional monofilament composite 3rd/G string, which provides greater projection and optimal balance between basses and trebles. All Pro-Arte treble strings are sorted by a sophisticated computer-controlled laser machine which performs diameter/tension measurements and quality checks, ensuring true sounding, precise trebles in every set. Silver plated copper wound on an exclusive Composite core material for powerful, long lasting tone Composite 3rd/G for increased projection, clear nylon 1st and 2nd strings. All laser sorted for consistent, precis..
EJ46, hard tension, is a popular choice for its rich tone, increased resistance and strong projection. Pro-Arte, the world's most popular classical strings are D'Addario's premium classical guitar string sets. All Pro-Arte treble strings are sorted by a sophisticated computer-controlled laser machine which performs diameter and tension measurements, ensuring true-sounding, precise trebles in every set. Pro-Arte basses are wound using silver-plated copper on a multi-filament nylon core for consistent and warm, yet projecting tone. Hard tension for increased resistance, volume and projection Laser sorted clear nylon treble strings for consistent, precise intonation Precision wound basses for warm, projecting tone and the utmost consistency Made in the U.S.A. for the highest quality and performance String Gauges: Trebles .0285, .0327, .0410 Basses .030, .036, .044 Environmentally friendly, corrosion resistant packaging for strings that are always fresh..
Ernie Ball Medium Light Nickel Wound Custom Gauge snaren voor elektrische gitaar bevatten een omwikkelde G-snaar. Hoewel een dergelijke set vaak een "jazzset" wordt genoemd, is hij ook voor andere genres geschikt. The Mars Volta en Judas Priest bewijzen alvast ze ook in alternative-, rock- en popkringen thuishoren. Ernie Ball Medium Light Nickel Wound snaren worden volgens de strengste normen en uiterst precieze specificaties vervaardigd en gaan een hele tijd mee. Alle omwikkelde snaren zijn voorzien van een vernikkelde staalwikkeling op een zeshoekige stalen kern. Met het oog op een mooi gebalanceerde toon zijn de "plain"-snaren gemaakt van een speciaal gehard, vertind koolstofstaal. .012/.016/.024w/.032/.044/.054..
Eén van de populairste snaren voor akoestische gitaar, 80% zink en 20% koper gewonden rond een stalen kern met een tinlaag. Voor een crispe en boventoonrijke sound. Dikte: .013/.017/.026/.036/.046/.056..
Eén van de populairste snaren voor akoestische gitaar, 80% zink en 20% koper gewonden rond een stalen kern met een tinlaag. Voor een crispe en boventoonrijke sound. Dikte: .012/.016/.024w/.032/.044/.054..
De rock'n'roll-standaard De legendarische snaar voor elektrische gitaar met een vertinde stalen kern en een nikkel-staalomwinding. Voor een gebalanceerde en heldere sound. Dikte: .008/.011/.014/.022w/.030/.038..
De rock'n'roll-standaard De legendarische snaar voor elektrische gitaar met een vertinde stalen kern en een nikkel-staalomwinding. Voor een gebalanceerde en heldere sound. Dikte: .009/.011/.016/.026w/.036/.046..
Op zoek naar een nieuwe gitaar? In de webshop van Excel Music Instruments vindt u een breed assortiment aan gitaren. Akoestische gitaren, akoestisch-elektrische gitaren, klassieke gitaren, western gitaren, elektrische gitaren, linkshandige gitaren, 12-snarige gitaren, basgitaren, ukelele's en banjo's. Ook in onze webwinkel, vele accessoires zoals: gitaar effecten, effect pedalen, versterkers, combo versterkers, buizen versterkers, cabinet, gitaar kabels, gitaar snaren, plectrums en flightcases. Voor de verkoop van onder andere de merken: Ibanez, Martin & Co., Fender, Marshall, Peavey, Line 6, PRS, Yamaha en Gibson.