text:
3 from Michigan named to national list of nonprofit trailblazers
Chronicle of Philanthropy honors
'trailblazers crafting innovative approaches to entrenched
problems'
Sherri Welch
Michigan has long been viewed as a leader in national nonprofit circles.
That's thanks to the state serving as the home of large, national funders like the W.K. Kellogg Foundation in Battle Creek and the Troy-based Kresge Foundation.
And it's thanks to people like Rob Collier, president of the Council of Michigan Foundations, and Kyle Caldwell, executive director of the Dorothy A. Johnson Center for Philanthropy at Grand Valley State University in Grand Rapids and former president of the Michigan Nonprofit Association, who have gained a reputation in Washington, D.C., and elsewhere as leaders in the sector for the experience, knowledge and advocacy.
Veronika Scott: Grateful to get outside expertise.
Now, three young professionals in Michigan's nonprofit sector are getting a national shout-out from the Chronicle of Philanthropy as "trailblazers crafting innovative, new approaches to entrenched problems."
Two of them are from metro Detroit.
Included on the Chronicle's own inaugural "40 under 40" list are:
Ryan Friedrichs, 38, the city of Detroit's "Philanthropy Point Man," who serves as the liaison between the city's departments and foundations, working to attract investment in local programs and find new ways to work with grant makers.
Veronika Scott, 26, founder and CEO, The Empowerment Plan, Detroit, a nonprofit that employs previously homeless women to make coats that turn into sleeping bags.
Jason Franklin, 36, W.K. Kellogg Community Philanthropy Chair, Dorothy A. Johnson Center for Philanthropy at Grand Valley State University, who is studying how people give through community foundations, giving circles and donor networks in specific geographic areas to make community philanthropy more effective.
After nearly a century in Royal Oak, Judson Center plans $16 million expansion
Auto show charity preview adds Crowdrise campaign for 40th anniversary
Wayne County judge files to claim trademark for Detroit RiverWalk
NEI names Pamela Lewis as next director
Ann Arbor-based NSF acquires provider of DNA testing for raw materials in produ…
Kresge Foundation launches $20 million early childhood development program in D…
Sleeping bag coat maker to scale up worker education, job programs
Ann Arbor symphony raising $3 million to permanently endow music director position
With 1,000 kids on its waitlist, Detroit's Downtown Boxing Gym eyes international expansion
Sign up for our Nonprofit Report newsletter to get a weekly digest of local nonprofit and philanthropy news right in your inbox.


As baby boomers reach middle age, the question looms large: How to avoid either of two telltale signs of aging ~ bifocals or reading glasses?
the contacts for close work.
you see the other clear image.
If you want bifocal contact lenses, they will normally perform optimally in bright conditions. Because bifocal lenses divide the light into two images, each of which will use about half of the available light, you may find that, in dimly lit conditions, seeing is more difficult with bifocal contacts. Driving at night may present more difficulty, for example.
Monovision is an option in which one eye is fitted with a lens for seeing things at a distance and the other eye is fitted with a lens for seeing close-up. After a period of adjustment, the brain switches to the eye that is giving the clearest image at the time.
If you are new to monovision you may benefit from avoiding visually demanding situations at first, and instead to wear their new lenses only in familiar situations.
For example, it may be better to be a passenger, rather than a driver, in a car. In fact, you should only drive with monovision correction if you can pass your driver's license eye examination while wearing it.
Some people are uncomfortable in situations with low illumination, such as night driving. If that is your concern, ask us about prescribing as additional lens to correct both eyes for distance for those times when sharp distance vision is required. An alternative is a pair of glasses with additional power in the reading eye so that the combined power of your contacts and the spectacles match your distance prescription.


text:
@interface SSThinkNoteShareAgent()
{
    SSShareController *_shareC;
    SSThinkNoteController *_thinknoteC;
    ComposeShareViewCompleteHander _resultHandler;
    int _attachmentPosted;
}

@end

@implementation SSThinkNoteShareAgent

- (id) initWithSharedObject:(SSShareController *)shareC
{
    self = [super init];
    _shareC = shareC;
    _thinknoteC = [[SSThinkNoteController alloc] init];
    _thinknoteC.connectDelegate = self;
    return self;
}

- (void) composeThinkNoteWithNagvagation:(UINavigationController *)nvc withBlock:(ComposeShareViewCompleteHander)block
{
    // 0. start a block.
    dispatch_queue_t prepare_q = dispatch_queue_create("create mail queue", nil);
    NSString *name = [[NSUserDefaults standardUserDefaults] stringForKey:kThinkNoteLoginName];
    NSString *passwd = [[NSUserDefaults standardUserDefaults] stringForKey:kThinkNoteLoginPassword];

    _resultHandler = block;

    if (name == nil || passwd == nil || name.length == 0 || passwd.length == 0) {
        SSShareResult *ret = [[SSShareResult alloc] init];
        ret.result = TN_LOGIN_FAILED;
        ret.failedReason = LOGIN_FAILED_STR;
        _resultHandler(ret);
        return;
    }

    dispatch_async(prepare_q, ^{
            // 2. login with some account information.
            [_thinknoteC loginNoteServerWithName:name   withPassword:passwd];
            // other thing should in handler.
        });
}

- (void) thinkNoteServerUpdateState: (int) state error: (NSError *) error
{

    if (error) {
        // if there is any error, pop an alert.
        SSShareResult *ret =[[SSShareResult alloc] init];
        ret.result = error.code;
        ret.failedReason = [error.userInfo valueForKey:NSLocalizedDescriptionKey];
        _resultHandler(ret);
        return;
    }

    // 1. state: login: start post the shareC's notes
    if (state == THINKNOTE_CONN_STATUS_LOGIN) {
        NSLog(@"SSThinkNoteShareAgent: start post note to server");
        [_thinknoteC postNoteOnServer:_shareC.shiftOverviewStr note:_shareC.shiftThinkNoteStr];
    }

    // 2. state: text updated, start add attachments of each images
    // After state shift to post, means the note already posted on server.
    if (state == THINKNOTE_CONN_STATUS_NOTE_POST) {
        if (_attachmentPosted == 0) {
            NSLog(@"SSThinkNoteShareAgent: note posted  , start post attachement 1");
            NSData *data;
            data = UIImageJPEGRepresentation(_shareC.shiftCalImage, 90.9f);

            [_thinknoteC postAttachment:_shareC.shiftCalImageName
                               withData:data];
            _attachmentPosted++;

        }
    }

    if (state == THINKNOTE_CONN_STATUS_ATT_POST) {
        if (_attachmentPosted == 1) {
            NSLog(@"SSThinkNoteShareAgent: note posted, start post attachement 2");
            [_thinknoteC postAttachment:_shareC.shiftListImageName
                               withData: UIImageJPEGRepresentation(_shareC.shiftListImage, 90.9f)];
            _attachmentPosted++;
        } else if (_attachmentPosted == 2) {
            NSLog(@"SSThinkNoteShareAgent: two attachment all posted, disconnect");
            [_thinknoteC disconnect];
            _attachmentPosted = 0;
            _resultHandler(nil);
        }
    }

    // 3. After the state change to attachment posted, we shall post another attachement.

    // 4. disconnect.

}

- (void) disconnect
{
    [_thinknoteC disconnect];
}
@end

@implementation SSThinkNoteController

#define TN_APP_KEY              @"7F4E06A130880A10A8E2D7B3AC37CCF9"
#define TN_SITE_URL             @"http://www.qingbiji.cn:80"
#define TN_LOGIN_URL            @"/open/login"
#define TN_ADDNOTE_URL          @"/open/addnote"
#define TN_ATTACH_URL           @"/open/addattach"
#define TN_GETNOTE_URL          @"/open/getnote"

// sync interface for testcase
- (int) loginNoteServerSyncWithName:(NSString *)name withPassword:(NSString *)password
{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                                  [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", TN_SITE_URL, TN_LOGIN_URL]]];

    NSString *requestData = [NSString stringWithFormat:@"appkey=%@&username=%@&password=%@",
                                      TN_APP_KEY, name, password];

    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[NSData dataWithBytes:[requestData UTF8String]
                                        length:[requestData length]]];

    NSURLResponse *response;
    NSError *error;
    NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error ];

#ifdef DEBUG
    NSLog(@"request: %@ reponse:%@", request, response);
#endif
    NSDictionary * jsonDict = [NSJSONSerialization
                                          JSONObjectWithData:data
                                                     options:NSJSONReadingMutableLeaves
                                                       error:&error];
#ifdef DEBUG
    NSLog(@"ThinkNote-Login: got data:%@ error: %@", jsonDict, error.userInfo);
#endif

    _status = THINKNOTE_CONN_STATUS_LOGIN;

    if (_status == THINKNOTE_CONN_STATUS_LOGIN) {
        NSString *result = [jsonDict objectForKey:@"result"];
        // the result not ok, and not get the login token, failed.
        if ((![result isEqualToString:@"ok"])) {
            NSLog(@"TN: login failed");
            return -1;
        } else {
            _loginToken = [NSString stringWithString: [jsonDict objectForKey:@"token"]];
            NSLog(@"TN: login success");
        }

    }
    return 0;
}

- (void) loginNoteServerWithName:(NSString *) name withPassword:(NSString *)password
{

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                                  [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", TN_SITE_URL, TN_LOGIN_URL]]];

    NSString *requestData = [NSString stringWithFormat:@"appkey=%@&username=%@&password=%@",
                                      TN_APP_KEY, name, password];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[NSData dataWithBytes:[requestData UTF8String]
                                        length:[requestData length]]];

    _serverConn = [[NSURLConnection alloc]
                                initWithRequest:request delegate:self startImmediately:NO];
    if (_serverConn) {
        _status = THINKNOTE_CONN_STATUS_LOGIN;
        _recvData = [NSMutableData data];
        [_serverConn scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
        [_serverConn start];
    } else {
        _status = THINKNOTE_CONN_STATUS_IDLE;
        NSString *description = NSLocalizedString(@"Connection to ThinkNote Server Error", "think note server erro");
        NSDictionary *errorDictionary = @{ NSLocalizedDescriptionKey : description};
        NSError *error = [[NSError alloc] initWithDomain:NSPOSIXErrorDomain code:-ENOMEM userInfo:errorDictionary];
        [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_LOGIN error:error];
        NSLog(@"ThinkNote: create login connection failed\n");
    }
}

- (int) postNoteOnServerSync: (NSString *) title note: (NSString *)note
{

    NSAssert(_loginToken != nil && [_loginToken length] != 0, @"post note without login!!");

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                                  [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", TN_SITE_URL, TN_ADDNOTE_URL]]];

    NSString *requestData = [NSString stringWithFormat:@"appkey=%@&token=%@&title=%@&content=%@&folderId=%d",
                                      TN_APP_KEY,
                                      _loginToken,
                                      [NSString stringEncodeEscape:title],
                                      [NSString stringEncodeEscape:note],
                                      0];
    [request setHTTPMethod:@"POST"];

    NSMutableData *body = [NSMutableData dataWithBytes:[requestData UTF8String]
                                                length:[requestData length]];
    [request setHTTPBody:body];

    NSURLResponse *response;
    NSError *error;

    NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error ];

    NSDictionary * jsonDict = [NSJSONSerialization
                                      JSONObjectWithData:data
                                                 options:NSJSONReadingMutableLeaves
                                                   error:&error];

    NSLog(@"got data:%@", jsonDict);

    NSString *result = [jsonDict objectForKey:@"result"];

    if ([result isEqualToString:@"ok"] != YES) {
        NSLog(@"TN: post note failed");
        return -1;
    }

    _noteID = [jsonDict objectForKey:@"message"];
    if (_noteID == nil || _noteID.length == 0) {
        NSLog(@"TN: Failed to post note, no nodeid");
        return -2;
    }

    return 0;
}

- (int) postNoteOnServer: (NSString *) title note: (NSString *)note
{
    NSAssert(_loginToken != nil && [_loginToken length] != 0, @"post note without login!!");

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                                  [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", TN_SITE_URL, TN_ADDNOTE_URL]]];

    NSString *requestData = [NSString stringWithFormat:@"appkey=%@&token=%@&title=%@&content=%@&folderId=%@",
                                      TN_APP_KEY,
                                      _loginToken,
                                      [NSString stringEncodeEscape:title],
                                      [NSString stringEncodeEscape:note],
                                      @0];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[NSData dataWithBytes:[requestData UTF8String]
                                        length:[requestData length]]];

    _serverConn = [_serverConn initWithRequest:request delegate:self];

    if (_serverConn != 0) {
        [_recvData setLength:0];
        _status = THINKNOTE_CONN_STATUS_NOTE_POST;
    } else {
        NSLog(@"Error: Server Connection Error");
    }

    return 0;

}

- (int) postAttachment: (NSString *)name withData: (NSData *)data
{
    NSURLRequest *request = [self thinknoteAttachmentRequest:name data:data];

    _serverConn = [_serverConn initWithRequest:request delegate:self];

    if (_serverConn != nil) {
        [_recvData setLength:0];
        _status = THINKNOTE_CONN_STATUS_ATT_POST;
    } else {
        NSLog(@"Error: Server Connection Error");
        return -1;
    }

    return 0;
}

- (int) postAttachmoentSync:(NSString *)name withData:(NSData *)data
{
    NSHTTPURLResponse *response;
    NSError *error;

    NSURLRequest *request = [self thinknoteAttachmentRequest:name data:data];
    if (request == nil)
        return -1;
    NSData * returnData = [NSURLConnection sendSynchronousRequest:request
                                                returningResponse:&response
                                                            error:&error ];

    if (error)
        NSLog(@"error when add attach: %@", error.userInfo);

    NSDictionary * jsonDict = [NSJSONSerialization
                                      JSONObjectWithData:returnData
                                                 options:NSJSONReadingMutableLeaves
                                                   error:&error];

    NSLog(@"post attach got return:%@ response:%ld data:%@ error:%@",returnData,
          (long)[response statusCode],
          jsonDict,
          error.userInfo);

    NSString *result = [jsonDict objectForKey:@"result"];

    if ([result isEqualToString:@"ok"] != YES) {
        NSLog(@"TN: post note failed");
        return -2;
    }

    return 0;
}

#pragma mark - Network Async Delegate
// ------------------------------------------------------------
// Network Async Delegate
// --------------------------------------------------------------
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSLog(@"got response:%@", response);
    [_recvData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"connect error:%@", error.userInfo);
}

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSError *error;
    NSDictionary * jsonDict = [NSJSONSerialization
                                      JSONObjectWithData:data
                                                 options:NSJSONReadingMutableLeaves
                                                   error:&error];

    NSLog(@"got data:%@", jsonDict);

    NSString *result = [jsonDict objectForKey:@"result"];

    if (_status == THINKNOTE_CONN_STATUS_LOGIN) {

        _loginToken = [jsonDict objectForKey:@"token"];

        // the result not ok, and not get the login token, failed.
        if ((![result isEqualToString:@"ok"]) || _loginToken == nil) {
            NSString *description = LOGIN_FAILED_STR;
            NSDictionary *errorDictionary = @{ NSLocalizedDescriptionKey : description};
            NSError *error = [[NSError alloc] initWithDomain:NSPOSIXErrorDomain
                                                        code:TN_LOGIN_FAILED userInfo:errorDictionary];

            [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_LOGIN
                                                       error:error];
            NSLog(@"TN: login failed:%@", [jsonDict objectForKey:@"message"]);
        } else {
            [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_LOGIN
                                                       error:nil];
            NSLog(@"TN: login success");
        }
        // call some delegate the login success
    } else if (_status == THINKNOTE_CONN_STATUS_NOTE_POST) {
        _noteID = [jsonDict objectForKey:@"message"];

        if ([result isEqualToString:@"ok"] != YES ||
            _noteID == nil || _noteID.length == 0) {

            NSString *description = NSLocalizedString(@"ThinkNote Note Upload failed.", "thinknote note upload failed");
            NSDictionary *errorDictionary = @{ NSLocalizedDescriptionKey : description};
            NSError *error = [[NSError alloc] initWithDomain:NSPOSIXErrorDomain code:TN_SERVER_FAILED
                                                    userInfo:errorDictionary];

            [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_NOTE_POST
                                                       error:error];
            NSLog(@"TN: post note failed:%@", [jsonDict objectForKey:@"message"]);
            return;
        } else {
            NSLog(@"TN: note posted");
            [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_NOTE_POST
                                                       error:nil];
        }
    } else if (_status == THINKNOTE_CONN_STATUS_ATT_POST) {
        if ([result isEqualToString:@"ok"] != YES) {
            NSString *description = NSLocalizedString(@"ThinkNote Attachment Upload failed.", "think note attach upload error");
            NSDictionary *errorDictionary = @{ NSLocalizedDescriptionKey : description};
            NSError *error = [[NSError alloc] initWithDomain:NSPOSIXErrorDomain code:TN_SERVER_FAILED
                                                    userInfo:errorDictionary];

            [self.connectDelegate thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_ATT_POST
                                                       error:error];

            NSLog(@"TN: post attach failed:%@", [jsonDict objectForKey:@"message"]);
        } else {
            [self.connectDelegate
             thinkNoteServerUpdateState:THINKNOTE_CONN_STATUS_ATT_POST
             error:nil];
            NSLog(@"TN: attach post success");
        }
    }
}

- (void) disconnect
{
    [_serverConn cancel];
    _status = THINKNOTE_CONN_STATUS_IDLE;
}

#pragma mark - Attachment Help Func.

- (NSString *) getContentTypeFromName:(NSString *)name
{
    NSString *contentType;

    if ( [name.pathExtension isEqual:@"png"] ) {
        contentType = @"image/png";
    } else if ( [name.pathExtension isEqual:@"jpg"] ) {
        contentType = @"image/jpeg";
    } else if ( [name.pathExtension isEqual:@"jpeg"] ) {
        contentType = @"image/jpeg";
    } else if ( [name.pathExtension isEqual:@"gif"] ) {
        contentType = @"image/gif";
    } else {
        NSAssert(NO, @"not support file name:%@ extension:%@", name, name.pathExtension);
        contentType = nil;          // quieten a warning
    }

    NSLog(@"getContentType: name:%@, type:%@", name, contentType);
    return contentType;
}

// This function build all parts into a multiPart data message,
// it can support one Blob data, and only one.
// the @fileName give the Blob 's file name, use to get the MIME type.
- (NSData *) encodeMultiPartDataWithDict:(NSDictionary *) dict dataFileName:(NSString *) fileName boundary: (NSString *)boundaryStr
{
    // Calculate the multipart/form-data body.  For more information about the
    // format of the prefix and suffix, see:
    //
    // o HTML 4.01 Specification
    //   Forms
    //   <http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4>
    //
    // o RFC 2388 "Returning Values from Forms: multipart/form-data"
    //   <http://www.ietf.org/rfc/rfc2388.txt>

    NSMutableData *resultData = [NSMutableData data];
    NSString *mimeType;
    NSString *bodyPostfix = nil;

    mimeType = [self getContentTypeFromName:fileName];

    __block NSMutableData *result_ = resultData;

    for (id key in dict) {
        id obj = [dict objectForKey:key];

        NSString *bodyPrefixStr;
        NSData *valueData;

        assert(boundaryStr != nil);

        assert([key isKindOfClass:[NSString class]]);
        NSString *keystr = key;
        NSString *contentType;

        if ([obj isKindOfClass:[NSString class]]) {
            contentType = @"text/plain";
            NSString *str = obj;
            valueData = [str dataUsingEncoding:NSUTF8StringEncoding];
        } else if ([obj isKindOfClass:[NSData class]]) {
            contentType = mimeType;
            valueData = obj;
        }
        NSLog(@"encoding: %@ -> %@ --> length:%lu", keystr, contentType, (unsigned long)result_.length );

        if ([obj isKindOfClass:[NSString class]])
            bodyPrefixStr = [NSString stringWithFormat:
                                          @
                                      // empty preamble
                                      "\r\n"
                                      "--%@\r\n"
                                  "Content-Disposition: form-data; name=\"%@\"\r\n"
                                         "Content-Type: %@\r\n"
                                      "\r\n",
                                      boundaryStr,
                                      keystr,
                                      contentType
                ];
        else {
            bodyPrefixStr = [NSString stringWithFormat:
                                          @
                                      // empty preamble
                                      "\r\n"
                                      "--%@\r\n"
                                  "Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n"
                                         "Content-Type: %@\r\n"
                                      "\r\n",
                                      boundaryStr,
                                      keystr,
                                      fileName,
                                      contentType
                ];

        }
        assert(bodyPrefixStr != nil);
        [result_ appendData:[bodyPrefixStr dataUsingEncoding:NSUTF8StringEncoding]];
        [result_ appendData:valueData];

#if 0
        NSLog(@"%@", bodyPrefixStr);
        NSLog(@"%@", obj);
        if (bodyPostfix)
            NSLog(@"%@", bodyPostfix);
#endif

    }

    // Finish the data transfer by append a end.
    bodyPostfix = [NSString stringWithFormat:
                                @
                            // empty preamble
                            "\r\n"
                            "--%@--\r\n",
                            boundaryStr];
    [result_ appendData:[bodyPostfix dataUsingEncoding:NSUTF8StringEncoding]];

    return result_;
}

- (NSURLRequest *)thinknoteAttachmentRequest: (NSString *)name data:(NSData *)data
{

    NSData *postBodyData;

    NSAssert(_loginToken != nil && [_loginToken length] != 0, @"post note without login!!");
    NSAssert(_noteID != nil, @"attachment can not post before note");

    if (_loginToken == nil || [_loginToken length] == 0 || _noteID == 0)
        return nil;

    NSString *boundaryStr = [self generateBoundaryString];

    NSArray *keys = @[@"appkey",
                       @"token",
                       @"noteId",
                       @"attname",
                       @"attlen",
                       @"attdata"];

    NSArray *values = @[TN_APP_KEY,
                                  _loginToken,
                                  _noteID,
                                  name,
                           [NSString stringWithFormat:@"%lu",(unsigned long)data.length],
                                  data];

    NSDictionary *params = [[NSDictionary alloc] initWithObjects:values forKeys:keys];

    // generate the post body by this help function.
    postBodyData = [self encodeMultiPartDataWithDict:params dataFileName:name boundary:boundaryStr];

    // Open a connection for the URL, configured to POST the file.
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", TN_SITE_URL, TN_ATTACH_URL]];

#ifdef LOCAL_DEBUG
    static NSString * kDefaultPostURLText = @"http://localhost:9000/cgi-bin/PostIt.py";
    url = [NSURL URLWithString:kDefaultPostURLText];
#endif

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    assert(request != nil);
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:postBodyData];

    [request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundaryStr] forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)postBodyData.length] forHTTPHeaderField:@"Content-Length"];

#ifdef LOCAL_DEBUG
    NSLog(@"dump the request:%@ ", request);
    NSLog(@"dump request header:%@", request.allHTTPHeaderFields);
    //    NSLog(@"dump request data:%@", request.HTTPBody);
#endif
    return request;
}

- (NSString *)generateBoundaryString
{
    CFUUIDRef       uuid;
    CFStringRef     uuidStr;
    NSString *      result;

    uuid = CFUUIDCreate(NULL);
    assert(uuid != NULL);

    uuidStr = CFUUIDCreateString(NULL, uuid);
    assert(uuidStr != NULL);

    result = [NSString stringWithFormat:@"%@", uuidStr];

    CFRelease(uuidStr);
    CFRelease(uuid);

    return result;
}

@end

redpajama_set_name: RedPajamaGithub


This will be a scenic road tour starting at SR Racing and culminating at Wallace Station.
The route is approximately 25 miles long and takes about 45 minutes to drive. Socializing/Registration will begin at 11:30AM and expected to hit the road at 12:30PM.
SR Racing is located at 100 Mercer Court in Lexington. Map & Directions.
There will be no fee for this event. You will be required to sign a waiver and to fill out a weekend membership form if you are not an SCCA member.
For those interested we will conclude with a lunch and socialization at Wallace Station.
More information about Wallace Station can be found on their website.


Steamboat is certainly large, and has nice runs, but it's mostly intermediate terrain. It's below the tree-line, so it doesn't have massive open bowls like Whistler or Vail. There's only one really challenging area, the Christmas Tree Bowl. But after skiing it, you have to take two lifts (Storm Peak and Morningside) to get back to it, which is rather a pain. So it's certainly a nice ski area, but you should go with the right expectation.


text:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical"
>
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:layout_marginTop="10dip"
        android:text="@string/file_name"
        android:textAppearance="?android:attr/textAppearanceMedium"
    />
    <LinearLayout android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:orientation="horizontal"
    >
        <EditText android:id="@+id/file_path"
                  android:layout_width="0dip"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"/>
        <ImageButton android:id="@+id/file_manager"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:onClick="onClickOpenFile"
                     android:src="@drawable/ic_launcher_folder_small"/>
    </LinearLayout>

    <TextView android:id="@+id/info"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_marginLeft="10dip"
              android:layout_marginTop="10dip"/>

    <Button android:id="@+id/open"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:onClick="onClickOpenFile"
            android:text="@string/open_button"/>

    <Button android:id="@+id/save"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickSaveFile"
            android:text="@string/save_button"/>

    <Button android:id="@+id/pick_directory"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickPickDirectory"
            android:text="@string/pick_directory_title"/>

    <Button android:id="@+id/get_content"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickGetContent"
            android:text="@string/get_content_title"/>

    <Button android:id="@+id/open_uri"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickOpenUri"
            android:text="@string/open_uri_button"/>
</LinearLayout>


text:
Towns Losing Fiscal Buoyancy Through Unfunded Mandates
By Larry Schmeidler, Editor
Framingham's procrastination in dealing with unfunded mandates, dumped on it by the Feds and Beacon Hill, mirrors what is plaguing local governments across the nation.
The mandates partly came into being to ensure that children in poorer communities get the same educational opportunities as those in more affluent towns and cities. The price tag is said to be already costing local governments an average of 30 percent of their annual budgets.
And this issue is hitting at a time when financial analysts are worried that the U.S. economy could finally go over the cliff because of economic policies causing steadily mounting debt.
When forced to look this issue squarely in the eye, Framingham may have done a fancy two- step to avoid a solution during its Town Meeting held on September 10th.
TM members had the chance to pass -- again -- an article (or bill) requiring their Federal and State Representatives and Senators to file legislation that would eliminate the mandates and reinforce "Home Rule".
The reason: Those designated elected officials virtually ignored a similar official request specified in an article that was overwhelmingly passed three months earlier at the annual TM meeting held last May.
What actually happened was TM blamed the messenger -- the presenter of the article -- saying that the article was poorly worded and vague, and wasted TM time in being asked to consider a motion that was already on the books.
Members then voted to "refer the article back to sponsor," which did two things: By not defeating the article outright, it avoided a perception it favored the mandates; and by the no action tactic, it kicked the can down the road while further debt piles up.
What was not mentioned during the floor discussion were the cost estimates of the mandates printed in supporting background information provided by the presenter. According to this document, the Federal mandates cost Framingham over $30 million. This data was provided by Kathy Ahearn, Policy Advisor in the Boston office of U.S. Senator John Kerry (D-Mass).
The backgrounder also cited a report by the town's School Department indicating that state mandates on education cost Framingham over $21 million.
A factor that could have played a role in adding to TM members' frustration and anger was the failure of the state officials to issue reports -- before the September 10th meeting -- on whether or not they honored the request of TM expressed last May. It is a time-honored tradition for those officials to write bills on behalf of citizens who request them, and especially when notified by towns and cities.
Two officials, State Senator Karen Spilka and Rep. Tom Sannicandro promised written support for the presenter -- Steve Hakar -- but took no action and did not attend the meeting. Rep. Chris Walsh did attend and explained briefly why no action was taken on a "complex" issue.
However, the issue was well publicized around town when the Framingham Taxpayers Association presented analyses during two popular public meetings held in March and April of this year. The last one was called "Staggering Along or Bankruptcy".
Further action in this matter will take place at Town Meetings in nearby Sudbury and Wayland on September 24th and October 3rd, respectively.
The upshot: The issue is very much alive, and it could get considerably worse.
On the way to the new skatepark
Framingham is run like a hotdog stand --- Watch video
Steve Orr sayeth: "Thou shalt read the word of the people of Framingham."
Archive of articles
$1.7 Million Surplus ... return to Taxpayers
New Property Tax Rates: More Questions than Answer...
Toxic Pollution Getting You Down? Here's One Way T...
Towns Losing Fiscal Buoyancy Through Unfunded Mand...
Are We Being Served? And By Whom?
Ellingwood Construction Is Still Grinding, Grindin...
A Look Into How President Obama May Think
Framingham Town or City government ... a look at G...
Framingham residents vexed by NStar's clear cuttin...
Keyword(s) search
Select Language Translation
Weather information:
Old photographs of Framingham. Highlight photo below.
Waushakum Farm Community in Southside
Subjects you must see:
Old maps and aerial drawings of Framingham (highlight each map to enlarge)
Read the actual pages of old Framingham History Books
Waushakum Farm Community website

redpajama_set_name: RedPajamaCommonCrawl


Thanks for checking out our HGH Website. We are a Licensed and Board-Certified HGH and Hormone Replacement Therapy Provider for the state of Georgia, and it is our mission to provide affordable Growth Hormone Injections and Hormone Optimization Treatments to patients all across the state. If you are at least thirty years old and feel that you may be a candidate for the HRT Treatments that we provide, we'd be happy to work with you to reveal your underlying Hormone State to revitalize your health and vitality!
HGH Deficiency is a severe medical condition that doesn't discriminate and affects men and women all over the state of Georgia. We retain healthy Hormone Levels throughout our youth and early-adult lives, but Growth Hormone Levels fall into a state of depletion beginning around the late-twenties. Most patients don't experience symptoms directly associated with Age-Related HGH Deficiency (or Somatopause) for many years, and healthier individuals will take longer to exhibit symptoms than those that are overweight, sedentary, or engage in habits such as excessive smoking or drinking. Usually, symptoms begin to manifest in a patients 40s and 50s.
If you believe that Growth Hormone Deficiency is causing you to lose your spark, we make it easier than ever to meet with a doctor in your area to start the process of health evaluation necessary to find out if Prescription HGH is right for you!
The first step to getting your Affordable Human Growth Hormone is merely to call or contact us! We have a phone number on this page, and we also have a form that you can fill out to arrange a consultation with one of our knowledgeable HGH Representatives. If you remain interested after talking to one of our Georgia Human Growth Hormone Specialists, they will set up a meeting with an affiliate physician in your area that can help us get the relevant medical data that we need to get a full picture of your needs as an HRT Patient.
At your HGH Appointment, our affiliate will give you a routine check-up and, most importantly, will draw a blood sample which will be vigorously tested to reveal your underlying Hormone Levels and other pertinent information such as cholesterol levels, blood sugar, and more. With that information in hand, we can make an informed diagnosis of your needs as an HRT Patient, and will contact you to develop a plan that meets both your budget and your needs as a patient, including lifestyle and exercise guidelines that will help you maximize your results!
After you've agreed to the terms of your treatment, we will write you a prescription for your HGH or Comprehensive Hormone Therapy. We work with a Hormone Pharmacy that specializes in HRT Therapy so that we can get you great prices and fast shipping so that you can get started quickly and affordably with Prescription Injection HGH Therapy!
HGH Deficiency is a very complex Hormonal Disorder that can be difficult to understand. This is because Human Growth Hormone controls a vitally important function known as Cellular Metabolism. HGH controls the rate at which cells replicate and divide. This is important about aging because as Growth Hormone Production slows, so does the body's ability to rejuvenate itself. This leads to a whole host of systems which affect your vitality and well-being, including slower healing, depression, trouble sleeping, increased body fat (especially from the thighs to the torso), weakened immune system, loss of muscle mass, fatigue, premature aging of the skin, and more.
How Does Prescription HGH Therapy Work?
Adult-Onset Human Growth Hormone Deficiency is the result of physiological changes that cause the Hypothalamus to produce less of an important hormone known as Growth Hormone-Releasing Hormone, or GH-RH. This hormone is a secretagogue for HGH, and directly stimulates the secretion of the vital hormone. Human Growth Hormone then travels to the liver where it is converted into Insulin-Like Growth Factor-1 or IGF-1. Prescription HGH Therapy works by replacing the Growth Hormone no longer being produced sufficiently by the pituitary.
Another popular treatment, Sermorelin Acetate Therapy, also boosts HGH Levels in the bloodstream but works by imitating the function of GH-RH, allowing the body to produce its own Growth Hormone. Both are highly effective; it's just up to you and your Florida HGH Doctor to decide which will benefit you the most!
An interesting fact about Georgia is that, even though it was the last of the 13 colonies to be officially founded, it was the first to have its own state university, as the University of Georgia was founded in 1785. The settlement of Georgia was originally designed to be a penal colony, not unlike Australia. The beautiful and fertile land quickly led colonists and settlers to move into the state, however. Much of that beauty still sustain itself today, especially in cities like Augusta and Athens. If you'd like to get more in tune with the special things that Georgia has to offer, HGH Injection Therapy may help you gain a more intimate knowledge of the beauty that the state has to offer.
Atlanta is the shining star of the state of Georgia, with tons of things to do and see. Atlanta is the home of CNN, Turner Broadcasting, and Cartoon Network, in addition to some other cable channels. Coca-Cola was also founded in Georgia, and the Coca-Cola Museum is a high-tech museum entirely focused on the history of the world's most popular beverage.
Augusta Georgia is a popular destination for visitors from all over the country, mainly for the Augusta National Golf Club. Augusta is home to the most prestigious of all golf tournaments: The Masters. Savannah is another favorite place to visit, one of the oldest port cities in the United States, full of historic homes and buildings, paired with some of the best nightlife that you can get in the state of Georgia. Other notable cities in the state include Douglasville, Marietta, Roswell, Columbus, Commerce, Rome, Albany, Valdosta, and Brunswick.
Aside from the University of Georgia, there are also a number of other universities and colleges that serve the needs of the citizens of Georgia, including the Savannah College of Art and Design, Emory University (known for having one of the best law schools in the South), Georgia Tech, Georgia Southern, and Georgia State. Emory University also has a top-tier medical school that performs world-class research.
Emory University is home to the Division of Endocrinology, Metabolism, and Lipids, which focuses on research involving Hormone Imbalance, and how to use Hormone Restoration Treatments to treat the symptoms of Diabetes, Human Growth Hormone Deficiency, and more. Aside from Emory, other Medical Schools in Georgia include the Morehouse School of Medicine, the Mercer University School of Medicine, and the Medical College of Georgia.


my web is guasch.es and I have installed BuddyPress.
It's a very good plugin (so congratulation…) but I have detected one error.
When a user invite other user to join a group, the user receives a notification in toolbar bubble but there is no notification in the profile window's.
In the follows links there is two pictures of my web where you can see that.
How can I to solve this problem?
The topic 'Error in the notification' is closed to new replies.


Bollywood is all about controversies and a lot of spicy gossips. Every morning we have something interesting from Bollywood to read. As much as our Bollywood stars try to stay clear of controversies they just can't stay out of it. Somehow they end up in the controversial list very soon. Anything they do or say either become a gossip or a controversy. Stardom and controversies are two phases of one coin. There are so many gossips and controversies that made rounds for quite a long and then soon turned into cold wars.
Take a look to know more.
In 2016 Arjit said something about Salman which offended the star and soon the song 'Jag Ghoomeya' which was originally sung by Arijit Singh got replaced by Rahat Fateh Ali Khan.
Their controversy started when Kangana called Hrithik as her silly ex. Later on, Hrithik sent her a legal notice asking her for an apology. That's how this controversy started and soon it became a war. Soon both the stars started spitting fire against each other.
Kangana was the one who started the topic of nepotism. She called Karan Johar 'a flag bearer of nepotism' on his show Koffee With Karan. That's when Karan took offense and this war started.
Kareena Kapoor and Bipasha Basu worked in a film Ajnabee and the rumors were that the two actresses didn't get along in the sets. They fought for dresses and that continued even after the film was out. Later on, Kareena called Bipasha Kali Billi and also called John Abraham (Bipasha's the boyfriend) that he is an expressionless actor.
Akshay Kumar decided to promote his film and even the matter of sanitary pads by posting a picture of him holding a pad on Instagram. The mainstream Bollywood actors also boldly accepted the #PadManChallenge. In this matter comedian, Mallika Dua wrote 'Always remember, each time you feel weak, or you feel lesser than your equals, each time you feel you've been made to feel lesser for no reason and the fight has just begun… When you feel society and the govt. have not given you your due, hold up a sanitary pad and post a picture of it on Instagram. You will feel empowered. So empowered. Bye." This is where the feud started and later on turned into a full-fledged war.
The most talked about fight of Bollywood was between the two leading superstars and once besties Salman and Shah Rukh. This fight started when in Katrina's birthday party SRK passed a comment on Aishwarya and it angered Salman. Soon they stopped talking to each other. After so many years both of them came together getting rid of their grudges.
SRK slapped and punched Farah Khan's husband Shirish Kunder in a party after latter passed an offensive comment on SRK's Ra.One. Even Farah got upset with SRK after this incident but later on, SRK and Farah sorted their differences but the same cannot be said for Shirish and SRK.
This the longest running Bollywood war ever since we can remember. The duo got into a fight over Aishwarya Rai. Reportedly, Salman drunk called Vivek and threated him. It is also said that Salman is the reason why Vivek do not get good films.


text:
A chemical glimpse into life's origins
How did life start out on this planet, around 3.5 billion years ago? Since we cannot go back in time to look we can only get hints by projecting backwards from contemporary life, and doing experiments that test the limits of what might have been possible.
Image shows the active centre of the new ribozyme, where the chemical reaction takes place. This reveals the mechanism by which the ribozyme accelerates the formation of the new carbon-nitrogen bond.
One widely accepted theory is that proteins were too complicated to make in the early stages, and that a molecule called RNA (very similar to its more-famous cousin DNA) was the key player that directed the metabolism of primitive cells. In this "RNA world", RNA would both encode genetic information (much like DNA does now), but also speed up cellular chemical reactions (as now done by proteins, called enzymes). RNA is chemically rather more simple than proteins, so it's a challenge to conceive how it could act in this way. Yet RNA enzymes (called ribozymes) do exist in modern biology, including the molecular machine that makes proteins in the cell. But in general, contemporary ribozymes carry out a rather limited range of chemistry, and the RNA world would have required ribozymes with a much wider repertoire. For example, ribozymes would have been needed that mediate "difficult" chemical reactions, like joining a carbon atom to another carbon, or to a nitrogen atom. These would have been essential to build up the complex molecules required for life.
While there is no time machine to allow us to get samples from the RNA world, we can ask if we can find ribozymes by what we might call "test tube evolution" that might tell us that in principle RNA can do such reactions. One such RNA has been found that can make a new carbon-nitrogen bond. In a UK-Chinese collaboration the groups of Professor David Lilley in Dundee, and Dr Lin Huang in Sun Yat-sen University in Guangzhou have solved the atomic structure of this ribozyme. This is like sneaking a look under the hood of the ribozyme to see how it performs its chemistry. In fact the structure immediately suggests a mechanism by which it works, and it turns out to be a remarkably sophisticated process. The groups have been able to confirm this mechanism in the laboratory. This work reveals just how powerful these enzymes made of RNA can be, and adds credence to the RNA World idea for the origins of life on the planet. In addition, these species can be used as novel tools in the laboratory and perhaps in medicine and industry.
Read the full study, published today in Nature Chemical Biology.
Background to this collaboration
Professor Lilley and Dr Huang have worked together for nearly ten years, beginning when Huang was a postdoctoral researcher in the Lilley lab in Dundee. During this time, they solved the structures of many functional RNA species. Two years ago, Dr Huang moved back to China to a faculty position in Sun Yat-sen University in Guangzhou, and he and Lilley have maintained an active collaboration, sustained by regular Zoom conferences during the pandemic. Prof Lilley has numerous connections with Chinese institutions, being a visiting professor in Xiamen and Nankai universities, and keeping an office in the Chinese Academy Biophysics Institute in Beijing.
Story category Academic collaboration, Research


Top Tanks Australia is the most trusted brand in water tanks providing a wide range of quality durable tanks. Top Tanks Australia's tanks are made from the highest-grade 1-mm steel panels.
04/08/08 - Wet Earth offer a diverse range of rainwater tanks. The rainwater tanks from Wet Earth include bladder tanks, slimline modular tanks, Sydney water tanks, pump selectors, Gold Coast water tanks and Brisbane water tanks.
01/08/08 - Rainwater Storage Tank supplies water storage tanks and parts to the residential market. Blue Bubbles, a Sydney-based company, is the owner of Rainwater Storage Tank.
30/07/08 - Rainwater Storage Tank is a unit of Blue Bubbles, a family-owned business from Sydney. Rainwater Storage Tank manufactures and supplies water storage tanks, tank accessories and water tank pumps for household usage.
25/07/08 - Tankmasta provides quality slimline water tanks with a 3000 litre capacity. These slimline tanks are designed for installations where width is of primary concern. Slimline water tanks are suitable for area where a narrow tank is required.
24/07/08 - Tankmasta provides a quality range of rural and urban water tanks equipped with RIO or reversible inlet / overflow filtration system. These tanks are flexible in every aspect.


Life insurance is one of the most essential parts of a good financial plan. Without it, families can be devastated by the premature death of the head of household or a key income earner. Employers can enhance their employee benefits by offering group life insurance.
Life insurance comes in different forms. Term Life offers affordable coverage for a certain period, typically when the policyholder still has young dependents. Coverage becomes unavailable at a certain age. Term Life insurance policies often provide large death benefits for low monthly or quarterly payments. They can provide a level amount of coverage for the entire duration of the plan, or they can decrease the benefit as the insured ages.
Whole Life is the other most common form of Life insurance. It provides a set payment for beneficiaries upon the death of the insured and doesn't expire at a certain age. It is more expensive than term life, but some policies build cash value over time. Some also offer options for upgraded coverage at different points.
At DiNicola Insurance Services, we offer Group Life insurance plans that can be tailored to your company's needs. They can be employer-sponsored or voluntary policies that employees pay for at the group rate, depending on the level of participation at your company. In all cases, we find options that work within your budget.
Life insurance is crucial to a solid financial plan.


Page 554 - Gallery Design of Home And Furniture | Dumpjaygarner Wayfair Bedding Sets. 11x13 Rug. Kohler Sterling Shower Door.
collection of galleries from Home And Furniture like Wayfair Bedding Sets. 11x13 Rug. Kohler Sterling Shower Door. and other designs you might like Kohler Cimarron Elongated Toilet. 6x9 Area Rugs Under 100. Frameless Neo Angle Shower Doors. Runner Rug Pad. Modern Lamp Shades. Mens Rugged Boots. Hard Anodized Cookware Set.


Before we begin our admissions process, we first meet with parents. This meeting is essential as it allows the parents and us to determine if our services are a good fit for their child. During this meeting, we share information about our services, give parents a tour of the school and learn more about their goals and concerns. If we both determine that our services may be appropriate for their child, we give them a packet that walks them through the steps of the admissions process.
The admissions process varies depending on whether parents are interested in enrolling their child in our academy or after-school tutoring service; however, it includes parents' giving us copies of certain school records and reports, our administering an educational evaluation to their child, if needed, arranging a school visit for their child (for school enrollment) and meeting with parents again to review our observations, assessment findings and the instructional plan we recommend for their child.


The Third Annual Mortimer Caplin Conference on the World Economy, hosted by the University of Virginia's Miller Center of Public Affairs, is devoted to an informed and intelligent discussion of these questions. Keeping with our tradition, this conference will bring together current and former Central Bankers from the U.S., Japan, Great Britain, China and the European Union along with the best thinkers from the academy to discuss, deliberate and debate a number of questions related to the role that Central Banks and Central Bankers play in the international economy. The event will be held on October 11, 2010. For more information, click here.


text:
Q: Не отображается текстура OpenGL ES2 Android Вот код, который реализует вывод текстуры на экран, но вместо нее выводит черный прямоугольник.
static ShaderProgram shaderProgram;
private FloatBuffer vertexBuffer;
private FloatBuffer textureBuffer;
private int textures[] = new int[1];

private float vertices[] = {
        0.0f, 0.0f, 0.0f,
        0.0f, 1.0f, 0.0f,
        1.0f, 0.0f, 0.0f,
        1.0f, 1.0f, 0.0f
};

private float texture[] = {
        0.0f, 0.0f,
        0.0f, 1.0f,
        1.0f, 0.0f,
        1.0f, 1.0f
};

public Sprite(String path) {
    ByteBuffer byteBuffer = ByteBuffer.allocateDirect(vertices.length * 4);
    byteBuffer.order(ByteOrder.nativeOrder());
    vertexBuffer = byteBuffer.asFloatBuffer();
    vertexBuffer.put(vertices);
    vertexBuffer.position(0);

    Bitmap bitmap = null;
    try {
        bitmap = BitmapFactory.decodeStream(core.getAssets().open(path));
    } catch (IOException e) { }

    GLES20.glGenTextures(1, textures, 0);
    GLES20.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

    byteBuffer = ByteBuffer.allocateDirect(texture.length * 4);
    byteBuffer.order(ByteOrder.nativeOrder());
    textureBuffer = byteBuffer.asFloatBuffer();
    textureBuffer.put(texture);
    textureBuffer.position(0);
}

public void draw() {
    shaderProgram.use();
    GLES20.glEnable(GL10.GL_TEXTURE_2D);

    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    GLES20.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

    int positionAttrib = shaderProgram.getAttribLocation("vertices");
    int textureUniform = shaderProgram.getUniformLocation("tex");
    int textureAttrib = shaderProgram.getAttribLocation("texCoord");

    GLES20.glEnableVertexAttribArray(positionAttrib);
    GLES20.glEnableVertexAttribArray(textureAttrib);

    GLES20.glUniform1i(textureUniform, 0);
    GLES20.glVertexAttribPointer(positionAttrib, 3, GLES20.GL_FLOAT, false, 0, vertexBuffer);
    GLES20.glVertexAttribPointer(textureAttrib, 2, GLES20.GL_FLOAT, false, 0, textureBuffer);

    GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, vertices.length / 3);

    GLES20.glDisableVertexAttribArray(positionAttrib);
    GLES20.glDisableVertexAttribArray(textureAttrib);
}

Vertex shader
#version 150
in vec3 vertices;
in vec2 texCoord;
out vec2 fTexCoord;

void main() {
    fTexCoord = texCoord;

    gl_Position = vec4(vertices, 1);
}

Fragment shader
#version 150
uniform sampler2D tex;
in vec2 fTexCoord;
out vec4 finalColor;

void main() {
    finalColor = texture(tex, fTexCoord);
}

A: Из википедии:

В GLSL 1.30 и новее используется следующая функция:
glBindFragDataLocation(Programm, 0, "MyFragColor");

где: Programm — указатель на программу; 0 — номер буфера цвета, если
  вы не используете MRT(Multiple Render Targets), значение должно быть
  равно 0; «MyFragColor» — имя выходной переменной шейдерной программы,
  записывающей в данный буфер.
#version 150
void main(void)
{
    MyFragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

Или воспользоваться старым синтаксисом и написать так:
Fragment shader
#version 150
uniform sampler2D tex;
in vec2 fTexCoord;

void main() {
    gl_FragColor= texture2D(tex, fTexCoord);
}

Тоже должно работать.

redpajama_set_name: RedPajamaStackExchange


Trends in the LNG industry were considered during a June 8 panel discussion featuring representatives from several global oil and gas companies. Anne Quinn, vice president of Gas and Natural Gas Liquids for BP, highlighted three main trends she sees in the global gas market: the growth of Atlantic Basin LNG; changes in gas pricing; and new approaches to contracting, including supplier auctions and equity gas sales. She nonetheless warned that cycles will always exist in the energy sector, and these positive trends could reverse course at some point in the future. Martin Houston, president of BG North America, cautioned against tightness of supply and questioned whether the LNG market will be liquid enough to become a true global market.
Finally, Tadaaki Maeda, executive vice president for Tokyo Gas, said the U.S. LNG market's rapid growth does and will continue to contribute to volatility in the global LNG market. He predicted that a lack of known buyers or "masked buyers" as he called them, for the LNG planned for the proposed U.S. receiving terminals could lead to a "big gap" in the global spot market and a major drop in natural gas prices between 2008 and 2010.
Our previous coverage of the World Gas Conference is available in our In Depth section. For more information, please contact David Wochner.


text:
Emil Eugen Ludwig Julius Graf von Hacke (* 5. Februar 1814 in Krackow; † 26. März 1887 in Hannover) war ein preußischer Generalleutnant.

Leben

Herkunft
Emil war ein Sohn des Herrn auf Krackow und Penkun August von Hacke (1772–1848) und dessen Ehefrau Wilhelmine, geborene von Kummer (1776–1850). Sein Vater war preußischer Major a. D., zuletzt im Dragonerregiment "von Katte", und in der Schlacht bei Jena schwer verwundet worden. Der Generalleutnant Georg Leopold Gustav August von Hake war sein Onkel und seine Schwester Luise Antoniette Eleonore (1799–1874) war mit dem General Karl von Prittwitz verheiratet.

Militärkarriere
Hacke besuchte die Kadettenhäuser in Potsdam und Berlin. Anschließend wurde er am 10. August 1831 als Sekondeleutnant dem 1. Garde-Regiment zu Fuß aggregiert, am 20. Juli 1832 zunächst über dem Etat und am 22. Mai 1834 im Etat einrangiert. Mitte Oktober 1839 folgte seine Kommandierung als Adjutant des Lehr-Infanterie-Bataillon. Er wurde am 14. Januar 1845 als Premierleutnant seinem Regiment erneut aggregiert und am 19. April 1846 unter Belassung in seiner Stellung beim Lehr-Infanterie-Bataillon einrangiert. Während des Krieges gegen Dänemark nahm er 1849 mit seinem Regiment an den Gefechten bei Alminde, Veile und Horsens teil. Am 10. Mai 1849 stieg Hacke zum Hauptmann und Kompaniechef auf. Am 13. Dezember 1856 zum Major befördert, wurde er zeitgleich als Kommandeur des III. Bataillons im 17. Landwehr-Regiment nach Geldern versetzt. Es folgte am 8. Mai 1860 seine Kommandierung als Bataillonsführer in das 17. kombinierte Infanterie-Regiment, aus dem kurz darauf das 8. Westfälische Infanterie-Regiment Nr. 57 hervorging. Hacke befehligte das Füsilier-Bataillon und wurde am 18. Oktober 1861 anlässlich der Krönungsfeierlichkeiten von König Wilhelm I. zum Oberstleutnant befördert. Als solcher übernahm er am 7. April 1863 das Kommando über das Schlesische Füsilier-Regiment Nr. 38 in Glogau. In dieser Stellung avancierte er Mitte März 1863 zum Oberst und wurde am 7. April 1863 Kommandeur des 4. Brandenburgischen Infanterie-Regiments Nr. 24. Diesen Verband führte Hacke 1864 im Krieg gegen Dänemark in den Gefechten bei Wilhoi, im Stederuper Holz, Rackebüll und Osterkirch. Er nahm am Sturm auf die Düppeler Schanzen und dem Übergang nach Alsen teil. Für sein Verhalten wurde er mit dem Roten Adlerorden III. Klasse mit Schwertern und dem Orden Pour le Mérite ausgezeichnet. Die Verbündeten ehrten Hacke durch die Verleihung des Mecklenburgischen Militärverdienstkreuz, des Ordens der Eisernen Krone II. Klasse mit Kriegsdekoration sowie mit dem Komturkreuz des Hausordens der Wendischen Krone.

Während des Krieges gegen Österreich war er 1866 an der Schlacht bei Königgrätz beteiligt und wurde nach dem Friedensschluss unter Stellung à la suite seines Regiments zum Kommandeur der 38. Infanterie-Brigade in Hannover ernannt. In dieser Stellung erfolgte am 31. Dezember 1866 mit Patent vom 30. Oktober 1866 seine Beförderung zum Generalmajor. Unter Verleihung des Roten Adlerordens II. Klasse mit Eichenlaub und Schwertern am Ringe wurde Hacke am 10. Februar 1870 mit Pension zur Disposition gestellt.

Bei der Mobilmachung anlässlich des Krieges gegen Frankreich wurde Hacke am 18. Juli 1870 als z.D.-Offizier wiederverwendet und zunächst als Kommandeur der stellvertretenden 38. Infanterie-Brigade eingesetzt. Er erhielt am 10. Dezember 1870 das Kommando über die 2. Garde-Landwehr-Brigade und wurde am 25. März 1871 unter Verleihung des Charakters als Generalleutnant in das inaktive Dienstverhältnis zurückversetzt. Kurzzeitig diente er vom 16. Mai bis zum 19. Juni 1871 Kommandeur der stellvertretenden 13. Infanterie-Brigade und anschließend der stellvertretenden 37. Infanterie-Brigade. Am 28. Dezember 1872 wurde er unter Verleihung des Sterns zum Roten Adlerorden II. klasse mit Eichenlaub und Schwertern am Ringe von diesem Kommando entbunden. Er starb unverheiratet am 26. März 1887 in Hannover.

In seinem Antrag zur Verleihung des Ordens Pour le Mérite schrieb der General Julius von Roeder: "War als Führer des 1. Echelons der Kolonne A einer der ersten auf dem Lande beim Übergang nach Alsen, erstieg als einer der ersten den steilen, etwa 15 Fuß hohen Abhang und den Schützengraben und pflanzte die preußische Fahne auf. Er führte während der ganzen Schlacht sein Regiment mit der größten Ruhe und Umsicht, sich in dem allerheftigsten Gewehrfeuer exponierend wie der jüngste Offizier. Seine Tapferkeit und Tätigkeit hat wesentlich zum Erfolge des Tages beigetragen."

Literatur
 Kurt von Priesdorff: Soldatisches Führertum, Hanseatische Verlagsanstalt Hamburg, o. O. [Hamburg], o. J. [1939], , Band 7, S. 239–240, Nr. 2270.
 Gothaisches genealogisches Taschenbuch der gräflichen Häuser. Justus Perthes, Gotha 1876, S. 332.

Einzelnachweise

Generalleutnant (Königreich Preußen)
Person in der Schleswig-Holsteinischen Erhebung (Preußen)
Person im Deutsch-Dänischen Krieg (Preußen)
Person im Deutschen Krieg
Person im Deutsch-Französischen Krieg
Träger des Pour le Mérite (Militärorden)
Träger des Roten Adlerordens 2. Klasse
Komtur des Hausordens der Wendischen Krone
Träger des Mecklenburgischen Militärverdienstkreuzes
Träger des Ordens der Eisernen Krone (II. Klasse)
Emil
Preuße
Deutscher
Geboren 1814
Gestorben 1887
Mann

redpajama_set_name: RedPajamaWikipedia


text:
Centro Ricerche Enrico Fermi
A twofold mission
GEP – Gender Equality Plan
Calendario eventi 2022-2023
Calls and Tenders
Museo Storico della Fisica e Centro Studi e Ricerche Enrico Fermi → News → 2021 → October
Categories Events, News
Blockchain and Cryptocurrency Complexity
October 22, 1934 – slow neutrons and the goldfish bowl
INFN has announced a Level 3 Senior Postdoctoral Research Fellowship in Physics on the topic of "Inferential Methods for Complex Nonlinear Dynamics"
INFN, Italian Institute of Nuclear Physics, has announced a Level 3 Senior Postdoctoral Research Fellowship in Physics on the topic of "Inferential Methods for Complex Nonlinear Dynamics".
Eligible candidates may be:
- Non-Italian citizens
- Italian citizens who, at the application deadline, hold a position in a foreign institution and have been abroad continuously for at least three years.
Applicants must hold a PhD (or equivalent), obtained no more than eight years prior to the application deadline, i.e., as of November 9, 2013.
This time limit may be extended in case of:
- Maternity (18 months for each child born before or after obtaining the doctorate, up to a maximum of 4.5 years);
- Paternity (actual time of leave taken for each child born before or after earning a doctorate, up to a maximum of 4.5 years);
- National Service (actual time of leave taken after the doctoral degree is earned);
- Long-term illness, i.e., more than 90 days, (actual time of leave taken for each incident occurring after earning the doctorate).
Tap on this link to know more informations: https://academicjobsonline.org/ajo/jobs/19925
EEE resumes meetings
October 21 and 22 CREF hosts a conference on recent developments in Quantum Monte Carlo methods
CREF hosts the presentation of the book "Il Nuovo Paradigma "
The second CREF meeting – Sony CSL
Date October 6, 2021
FLASH-DC at Researchers' Night 2021
The Nobel Prize for Physics returns to Sapienza
INFN has announced a new research grant on the topic "Sequence development and image analysis in 19F-MRI".
The explosive value of the networks (en translation)January 24, 2023
In-Situ Anaerobic Heating of Human Bones Probed by Neutron DiffractionJanuary 16, 2023
The Fitness-Corrected Block Model, or how to create maximum-entropy data-driven spatial social networks (en translation)November 3, 2022
From Dante to the non-linear consequences of living in larger cities.October 26, 2022
Self-induced consensus of Reddit users to characterise the GameStop short squeeze (en translation)September 20, 2022
EEE project ICHEP Kristian Piscicchia MARCO GARBINI Outreach PAMQ
Privacy Policy &
© Historical Museum of Physics and Enrico Fermi Study and Research Center. All rights reserved.


text:
lebron-james-the-shop
Travis Scott, Lonzo Ball & Others To Join LeBron On New Episode Of "The Shop"
New episode of "The Shop" coming on May 4.
LeBron James' HBO show "The Shop" is set to return on Saturday, May 4 and there is a star-studded lineup of guests on tap for the new episode, as always.
Uninterrupted announced today that LeBron will be joined by Travis Scott, Seth Rogen, Pharrell, Lonzo Ball, DeAndre Hopkins, Don Cheadle, record producer Jimmy Iovine and entertainment programmer Paul Rivera. The 30-minute episode is scheduled to air at 10pm ET on May 4.
The last time we saw and episode of "The Shop," LeBron was joined by newly traded wide receiver Antonio Brown, as well as Anthony Davis, Meek Mill, 2 Chainz, Jamie Foxx and Jerrod Carmichael.
There should be plenty to talk about across sports, music, entertainment and fashion when the latest group of talented individuals get together on "The Shop." Not least, the eventful end to the Los Angeles Lakers' season, Lonzo Ball's injury and the ongoing Big Baller Brand saga.
Tags: Entertainment, HBO The Shop, LeBron James, Lebron James the shop, Lonzo Ball, Music, News, seth rogan, Sports, The Shop, Travis Scott
LeBron James Questions Pelicans Role In Negative Anthony Davis Stories
James opened up concerning the state of affairs on his present "The Shop."
The basketball and even the sporting world can be set ablaze tomorrow evening at 10:30 P.M. EST when HBO airs the season 2 premiere of The Shop. LeBron James is the creator and star of the present and tomorrow, it can function Antonio Brown and Anthony Davis. A clip from the episode has already been posted to YouTube, which reveals Brown speaking concerning the media and the way they've portrayed him in gentle of the information that he desires to be traded from the Pittsburgh Steelers. Essentially, Brown is saying that the media tries to tear you down if you're up.
"That's the narrative they attempt to create when you doing your personal factor," Brown defined. "It's like, this man's a distraction. He's the sort of man. All I've ever been is a man who got here from Central Michigan, sixth spherical, who labored his ass off."
James piggybacked off of what Brown stated by relating it to Davis' state of affairs. Davis requested a commerce out of New Orleans and now it seems as if the group and the media are laying blame on the famous person. LeBron even went as far as to say that possibly the Pelicans themselves are those making AD out to be the unhealthy man.
"7 years within the league, no person's ever stated something unfavorable about AD however you possibly can inform when the narrative modified when you do not do what they need you to do," LeBron stated.
Regardless, Friday's episode ought to show to be an attention-grabbing one, particularly with the star energy within the room and the drama that surrounds all of those gamers.
Tags: Anthony Davis, Antonio Brown, HBO The Shop, lakers, Lebron James the shop, los angeles, los angeles lakers, new orleans, new orleans pelicans, News, Pelicans, Sports, The Shop
Anthony Davis, Antonio Brown Slated For LeBron's HBO Series "The Shop"
HBO's "The Shop" returns March 1 with a loaded lineup of friends.
LeBron James and Maverick Carter's HBO collection "The Shop" will decide up once more subsequent Friday, March 1 and there are just a few notable friends deliberate for the Season premiere.
According to at the moment's press launch, Anthony Davis, Antonio Brown, Meek Mill, 2 Chainz, Jamie Foxx and Jerrod Carmichael are all scheduled to seem within the upcoming episode, which was taped through the NBA All Star weekend in Charlotte.
That's definitely an episode price watching contemplating the entire juicy story traces, together with Anthony Davis' and Antonio Brown's separate commerce calls for. While Davis must wait till not less than this Summer to get out of New Orleans, it seems that Brown's time in Pittsburgh will come to an finish earlier than then.
The disgruntled large receiver lately met with Pittsburgh Steelers proprietor Art Rooney II in Florida, the place they "cleared the air" on a number of points however in the end agreed commerce is what's finest for each events.
You can catch "The Shop" on HBO at 10:30pm ET subsequent Friday, March 1.
Tags: 2 Chainz, Anthony Davis, Antonio Brown, Entertainment, HBO The Shop, LeBron James, Lebron James the shop, Meek Mill, News, Sports, The Shop


BERKELEY - Hana Cutura recorded 44 kills on 70 attacks for a .557 hitting percentage, helping Cal win the Crowne Plaza Volleyball Classic title, and making the junior outside hitter the Muscle Milk California Student-Athlete of the Week.
The junior All-American helped the No. 9-ranked Golden Bears capture the 2008 Crowne Plaza Volleyball Classic title and earned tournament MVP honors with three 3-0 wins against Central Connecticut State, San Francisco and Cal State Fullerton. She led her team (and all players in each of the matches) in attacks and kills on the way to three victories, getting 44 kills over the weekend on 70 attacks (5e) as she hit for a scorching .557. In addition, she tied a career high with four service aces against the Blue Devils and ended up with seven service aces in the tournament. Her 11 digs against the Titans gave her a third double-double match this season. In each of the three matches, Cal hit for better than .360 and relied heavily on the hard-hitting attacks of Cutura.


"Performance evaluation of conventional septic tank systems in remote A" by Mohsen Khalife, Dharmappa Hagare et al.
Khalife, M., Hagare, D. & Sivakumar, M. (1998). Performance evaluation of conventional septic tank systems in remote Aboriginal Communities. 2nd International Conference on Environmental Management (ICEM2) (pp. 257-267).


text:
Q: insert into a table, where there already is data I have an app, where I have to insert data into a mysql database (and that part works fine).
Now I have to insert data into a table, where there already is some data.
The first part, I insert row 1, row2, row3 (and the rest is empty)
then I have to insert into row4, row5 and row6.
But I just gives me Database Error. Couldn't add post!
this is my insert code:
//load and connect to MySQL database stuff
require("config.inc.php");

if (!empty($_POST)) {
//initial query
$query = "INSERT INTO under_etage (lys_u_s, skilt_u_s, door_u_s ) VALUES   (:lys_u_s, :skilt_u_s, :door_u_s ) where etData ='29.04.2014' ";

//Update query
$query_params = array(

    ':lys_u_s' => $_POST['lys_u_s'],
    ':skilt_u_s' => $_POST['skilt_u_s'],
    ':door_u_s' => $_POST['door_u_s']

);

//execute query
try {
    $stmt   = $db->prepare($query);
    $result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
    // For testing, you could use a die and message.
    //die("Failed to run query: " . $ex->getMessage());

    //or just use this use this one:
    $response["success"] = 0;
    $response["message"] = "Database Error. Couldn't add post!";
    die(json_encode($response));
}

$response["success"] = 1;
$response["message"] = "Post Successfully Added!";
echo json_encode($response);

}

what am i missing?
I tried UPDATE but I have to update the right line, so I am trying to update where etDate (date) is the same.
if (!empty($_POST)) {

  $lys_u_s = $_POST['lys_u_s'];
 $skilt_u_s = $_POST['skilt_u_s'];
 $door_u_s = $_POST['door_u_s'];
 $etDate = $_POST['etDate'];

$query = "UPDATE under_etage SET lys_u_s = '$lys_u_s', skilt_u_s = '$skilt_u_s',    door_u_s = '$door_u_s' where etDate ='$etDate' ";

it is working :)

A: change lys_u_s to :lys_u_s in insert query
$query = "INSERT INTO under_etage (lys_u_s, skilt_u_s, door_u_s ) VALUES (:lys_u_s, :skilt_u_s, :door_u_s ) ";

I think you need to use update statement
Edit
Your update statement looks wrong
UPDATE under_etage SET lys_u_s=:lys_u_s, skilt_u_s=:skilt_u_s, door_u_s=:door_u_s where etData ='29.04.2014'


text:
« Winter League Notes
The Winter of Venezuelan Baseball's Discontent? »
David Harris and Other Winter League Batting Leaders
A player who has caught my eye this year is David Harris. He turned 27 last August and was the best hitter in the Indy-A Can-Am League this past summer, slashing .331/.435/.590 in more than 400 plate appearances. Although he's still reasonably young, no major league organization was willing to sign him, even to fill in for late season injureds.
After 25 games in the Mexican Pacific League (LMP) this Fall, Harris is leading LMP with a 1.066 OPS. Sure, it's only a 25 game sample, but if Harris manages to stay hot and finish in the LMP's top five in OPS, it will be a distinctly more impressive feat than leading the Can-Am League, particularly for a non-Mexican player.
Harris washed out of the Blue Jays' system after two 100+ plate appearance trials at Class A+ Dunedin a few years back, and he may already be too old to seriously tempt MLB organizations. Where does a player like Harris go from here?
The most likely answer is that Harris will be playing in the Atlantic League or Mexico's summer league (LMB) next summer. A really hot first half in LMB in 2019 could get him a contract to play in Japan's NPB, but the odds of him being LMB's OPS leader (or at least in the top three) in the first half of 2019 are probably slim. It takes a lot of luck to be a consistent league leader even at the LMB/LMP level if MLB has already made a judgment that you don't have the talent to merit another contract even though you haven't yet reached age 28.
Ramon Urias, Saul Soto and Japhet Amador are other top hitters in the LMP this winter. Ramon Urias had some big seasons in LMB until the Cardinals finally purchased his rights, and he's still young enough to have some kind of an MLB major league career in the future.
Saul Soto is one of the best LMB players of his generation. Soto slashed .262/.366/.401 as a 22 year old C/1B in nearly 300 Class A Sally League plate appearances, but was returned to LMB the next summer season. Playing summers in LMB and winters in LMP mostly as a catcher, which equates to about the same number of games as a full MLB major league season, Soto has slugged well more than 350 career home runs south of the border. At age 40 now, he's been exclusively a 1Bman since the start of the 2016 winter season.
Japhet Amador had a nice little NPB career going until a positive steroids test this summer likely sent him back to LMB/LMP for good. He'll hit a lot more home runs in Mexico until his 300+ lbs body breaks down for good.
Soon to be 26 year old middle infielder Hanser Alberto is currently leading the Dominican Winter League with a .911 OPS. Alberto has already received MLB major league playing time in three different seasons, but has batted dreadfully because he has no strike zone judgment. Alberto appears to have the raw batting abilities of a major leaguer, particularly when you take into account his defense, but he may have to go to Asia to become a major league star.
Delmon Young is currently tied for the Venezuelan Winter League lead with five home runs. Young played pretty well in LMB this past summer, and I'm not particularly surprised. He only turned 33 in mid-September, and he had the raw athletic and batting abilities to be a No. 1 overall MLB draft pick once upon a time.
However, I don't see Young returning to MLB. He's the same player now he was as an MLBer, meaning he won't walk enough to be successful at the MLB major league level. If he can lead the VWL in home runs, though, he might be able to catch on with an NPB team in search of right-handed power.
Explore posts in the same categories: Baseball Abroad, Independent-A Leagues, Mexican League, NPB, St. Louis Cardinals, Texas Rangers, Toronto Blue Jays
This entry was posted on November 12, 2018 at 12:43 am and is filed under Baseball Abroad, Independent-A Leagues, Mexican League, NPB, St. Louis Cardinals, Texas Rangers, Toronto Blue Jays. You can subscribe via RSS 2.0 feed to this post's comments.	You can comment below, or link to this permanent URL from your own site.
One Comment on "David Harris and Other Winter League Batting Leaders"
Burly Says:
Delmon Young is the first 2018 Winter Leaguer to 10 home runs.


text:
Home / Products / Public Enemy – Fear Of A Black Planet | 2014 Reissue | Back To Black
Def Jam Recordings / Universal Music Group International
Public Enemy – Fear Of A Black Planet | 2014 Reissue | Back To Black
"Fear of a Black Planet is the third studio album by American hip hop group Public Enemy. It was released on April 10, 1990, by Def Jam Recordings and Columbia Records. For the album, Public Enemy's Bomb Squad production team sought to expand on the dense, sample-layered sound of the group's 1988 record It Takes a Nation of Millions to Hold Us Back. Having fulfilled their initial creative ambitions with that album, Public Enemy aspired to create what lead rapper Chuck D called "a deep, complex album". Their songwriting was partly inspired by the controversy surrounding member Professor Griff and his dismissal from the group in 1989.
Fear of a Black Planet features elaborate sound collages that incorporate varying rhythms, numerous samples, media sound bites, and eccentric loops, reflecting the songs' confrontational tone. Recorded during the golden age of hip hop, its assemblage of reconfigured and recontextualized aural sources preceded the sample clearance system that later emerged in the music industry. Fear of a Black Planet explores themes of organization and empowerment within the black community, social issues affecting African Americans, and race relations at the time." – Wiki
Fear Of A Black Planet
Def Jam Recordings, Universal Music Group International
Vinyl, LP, Album, Reissue, 180 Gram
This reissue: Dec 2014 | Original: 1990


text:
Q: AS3-Use variable inside the function function displayQues():void
{
    //------display question
    for (var i:uint=0; i<numQues; i++)
    {
        q_list.push(i);
    }
    for (var j:uint=0; j<numQues; j++)
    {
        var q:Ans = new Ans();
        q.stop();
        q.x = (j + 1) * 200;// set position
        q.y = 500;

        var r:uint = Math.floor(Math.random() * q_list.length);
        q.qface = q_list[r];// assign face to card
        q_list.splice(r,1);
        // remove face from list;
        q.gotoAndStop(q.qface+1);
        addChild(q);
    }
}

This is the function i use to display random questions (which are symbol in another movieclip). If i want to reset the positions of the questions after dragging, by click on the reset button, what should i do? I need to use 'q' inside the function displayQues? how to solve it? or if i want to make the 'q' invisible or destroy, how to do?

A: Er- your question is quite hard to understand. But I will try to address it.
Because you do not list private or public in front your function, I will assume that you are doing everything in the actions window without actionscript classes.
You have a variable, q, that you need to reference. However, the reference to q is lost to other functions and classes, because q is only available within the function that created it.
Here's what I would do; outside of your function block, type this.
var ansArray:Array = []

Let's create this array, ansArray, that stores all of your Ans's. Now, whenever you create a new Ans, add it to the ansArray, and you will have a more permanent reference that any other function can use.
function displayQues():void
{
    //all that other crud
    ansArray.push(q)
}


text:
Cuba trade could boost Ohio jobs, farming
Benjamin Lanka
Gannett Ohio
Easing trade relations with Cuba could lead to a quadrupling in the amount of U.S. corn delivered there, helping increase jobs and prosperity for both countries, according to an Ohio farm official who visited this week.
John Linder, the National Corn Growers Association's Trade Policy and Biotechnology Action Team chairman, returned from Cuba on Wednesday after seeing opportunities for growth in the country just 90 miles south of Florida.
"We've got an opportunity for jobs here," Linder said Friday. "We could see a fourfold increase in the U.S. corn delivered the next day (if the embargo was lifted.)"
Linder, who farms corn, soybeans and wheat in Morrow County, participated in a four-day "learning journey" to Cuba this week to see how normalizing relations between the two countries could improve the Cuban market for U.S. corn.
A new policy announced by President Barack Obama in December will expand trade, increase travel and establish diplomatic relations with Cuba's regime. Congressional action, however, would be needed to make Cuba a full trade partner with the United States.
Previous report:Ohio farmers could benefit from Cuba policy
Linder said such action is needed, and his group hopes to share its story with Ohio legislators. Cubans are already allowed to purchase corn from the United States now, albeit with restrictions, but the embargo severely limits Americans' ability to buy Cuban goods. In his trip, he saw fish farms that would provide a great product for Ohio, for example.
Increasing trade with the country also would improve the economy on the island nation, giving its residents more money to spend on U.S. imports. The United States' proximity to Cuba would make it the ideal trade partner.
"We need to be the player of choice," Linder said. "We need to trade with them."
He recounted going to a farm where a Russian tractor sat unused in a field because its owner had waited years for a replacement part. Instead the fields were plowed by cattle. A better trade relationship with Cuba would open up its markets for not only American agriculture but manufactured goods as well.
"It's going to build jobs in the U.S. and lift the economy in Cuba," he said.
He said the Cuban people he met are ready to partner with the United States, and he thinks Buckeye legislators would be open to at least listen to their story.


With all the recent snow, it now feels quite some time since we saw an osprey at Rutland Water, and whilst it won't be long before they are here again, it is always great to hear news of Rutland birds out in West Africa. Volunteer Chris Wood is currently on holiday in Senegal, and has been spending some time at the Sine-Saloum Delta in the north of the country. This morning Chris got in touch today to report a sighting of 32(11)!
You may recall that this is not the first time 32(11) has been spotted in West Africa. He was seen in January of this year by members of the team, and was spotted for the first time back in 2016. 32 was born in Manton Bay back in 2011, to Maya and 5R(04) (making his grandfather the well-loved osprey 03(97)!). This time he was spotted on the same bit of salt marsh he was seen on in January. This is to be expected – we know from 30(05)'s data that ospreys return to the same place each winter, often to the exact same perch!
The weather in Senegal looks a lot more osprey-friendly than the current scene on Lagoon 4!


text:
No death penalty for mass killer Rushane Barnett
Cocoa Piece killer Rushane Barnett will not face the death penalty.
This was revealed in court today by chief prosecutor Paula Llewellyn.
A sentencing hearing is now under way in the Home Circuit Court for Barnett who was convicted in July of five counts of murder.
He pleaded guilty to the killing of his cousins Kemesha Wright, Kimanda Smith, 15, Sharalee Smith, 12, Rafaella Smith, 5, and 23-month-old Kishawn Henry Jr.
The victims were discovered inside their Cocoa Piece home in Clarendon with chop wounds and their throats slashed on June 21.
During Barnett's first court appearance, the DPP's office had served notice that it would seek the death penalty.
But, today Llewellyn said the matter is off the table.
"The Crown is obliged to remove the death penalty as an option," Llewellyn explained.
"This is a matter of law. Everyone who pleads guilty is entitled to some amount of credit," she added.
She suggested that presiding judge Justice Leighton Pusey goes outside the normal sentence range of 15 years to life in prison.
Llewellyn said the starting point for Barnett's sentence should be life in prison and that he should serve 55 years before being eligible for parole.
The DPP says the crime is one of the worst her office has seen in Jamaica.


USA Today and The New York Times (among many others) have published articles about the Baby Boomer generation starting to pass down treasured heirlooms to their GenX and Millennial children. Unfortunately, those trinkets and other items are being looked upon with some disdain.
We don't value these items the same way our parents did or their parent's generation did.
A few years back, I bought a duplex from a gentleman that was in his early 80s. The duplex was a two-level building with a full basement. In the basement was the boiler for the radiator system that serviced the two apartments. It was also the laundry room for the building.
George (not his real name) would spend a couple hours every week puttering around the building. He had owned the property for over fifty years.
After I purchased the building, I spent several days cleaning out the basement of various bits and pieces that were collected through the years. There were the odd screws and nuts that were kept, never to be used for anything. There were also bent nails that were kept in a container. What the heck would someone reuse those for? Old scraps of dirty cloth were tucked into various locations as if he always had a handy rag at the ready. Unfortunately, after so many years they weren't clean nor handy any more. There were also old scraps of wood and flooring, along with more than a dozen paint cans that were filled with no paint at all.
To me, this stuff was all clutter at best and garbage at the worst. For George, though, it meant something. I'm sure he thought he was being thrifty.
I'm not sure if he remembered the Great Depression, but I'm sure his parents raised him with the fear of another, so it was ingrained into him as a child.
I wasn't raised in the Depression and neither were my parents. I dislike clutter and don't keep any assorted odds and ends like George. While I do have a garage, it's clean and tidy. My bin of screws and nails are separated according to type and size. Old, used or bent fasteners are tossed quickly. Empty paint cans are removed. If I want to store some "thing" in the garage, there better be a good reason and a short-time span. Otherwise, it's being relocated to Goodwill or the trash.
We don't need stuff we're not using.
Are We Throwing Away Stuff We Should Keep?
A few years ago, a local vacuum supply company decided they wanted to expand into another part of town. They were a small operation with a long-term history. They had a nice business and figured it was time to grow.
They opened a second location and, unfortunately, no one came.
I asked the owner why it happened.
Their business sold very high-quality vacuums, such as Meile. These brands can run upwards of $300 apiece. He said his customer base is very small for this quality of product which he understood. However, he can service just about any vacuum. The problem is that when a customer can purchase a vacuum at Walmart or Target for $50.00, there's no need to bring it in for a repair. People just throw it away and buy a new one.
I thought about that for a moment and realized I had in fact thrown away items that could have been repaired, but instead chose to buy a new one. The cost might have been close to the same, but the impact on the environment was radically different. One was now in a landfill somewhere.
One of my favorite comedians of all time, the late George Carlin, had a great bit on your stuff and my stuff. Basically, your stuff is s#!t and my s#!t is stuff. My takeaway from that bit is that at the end of the day … it's all s#!t.
When there is no more room in the garage, we get a storage unit, so we keep stuff in there "temporarily." I love that idea. That's a booming industry for temporary storage.
I once heard that my city was ranked very high in the nation for temporary storage. I've tried to verify that claim for this article and couldn't find any decent source of tracking. Regardless, we have these storage units through-out the county. They are everywhere and more are being proposed.
I love commercial real estate but have always thought of storage units as a blight upon our communities. They aren't providing anything except a home for our stuff.
A retail strip center allows people to come and shop for products they need (or want).
An office building provides a place for folks to come and work.
An industrial building creates a place for things to be created or processed.
A storage unit allows you to deposit your extra s#!t in a 10' x 10' square so that you have extra room in your house so that you can go buy more s#!t. Nothing happens at a storage unit except for stuff sitting around until someone realizes how stupid they've been to pay for a storage unit.
As a caveat, I don't blame the owner of the storage unit complex. Hey, if some ding-dong out there wants to pay you money to store his s#!t, then by all means, provide that man with a place to do it. That's capitalism. But if consumers would wake up, by a little less crap, we wouldn't need so many storage units, now would we?
There are (or were) shows about helping people clean up their stuff. Some of them dealt with personality disorders while some of the shows dealt with plain ol' disorganization.
Hoarders (A&E), Clean House (The Style Network), Clean Sweep (TLC), Mission Organization (HGTV), and Neat (Discovery) are some of the shows that made it to the airwaves. Hoarders has had the longest run (since 2009), but I'm sure there are others I missed.
Seriously, we watched other people battle stuff while many of us had our own stuff to battle. We can't get enough stuff that we're actually watching shows about other people's s#!t.
Are You Catering to Your Stuff?
Have you ever been to an elderly person's house where there are knickknacks and tchotchkes scattered throughout the living room? They are on display, hoping visitors will take time and effort to examine them and as the host questions.
The owners of those priceless little nothings must dust them every now-and-then or they look dirty after a time. They also need to pick each one up occasionally and wipe down the counter they sit on. Think how many times those little knickknacks are getting touched just to keep them clean.
I used to have a room full of comic books and toys (I told the story in – I Was Broke Because I Wanted to Be.) Man, I wish I still had a picture of that room. I would be ashamed, and you would be entertained. I had toys displayed everywhere. They hung on the wall and on shelves. I had some models that were displayed proudly. It wasn't a man-cave. It was a man-child-cave.
Every couple of weeks, I dusted and cleaned that room. The toys and their packages had to look clean. I was proud (ugh!) of those toys and wanted any visitors to my man-cave to check them out in awe. I'm sure people were in awe, all right. The were in awe of my stupidity of buying so much childish stuff.
Regardless, I was maintaining it. I spent my time, taking care of stuff (s#!t) when I could have been doing things that were more productive. Just walking outside in the sun would have been more valuable than dusting a mint-in-the box Partridge Family die cast bus (it's painful to type that last sentence).
Are you maintaining stuff or is your stuff maintaining you?
I think we all need to get back to really looking at things as needs and wants.
You know a need is basically food (including water), clothing and shelter. And when I say basically, I mean basic. Just because you can afford a 10,000 SF house, doesn't mean you should buy a 10,000 SF house when a 2,500 SF house would do.
I'm not saying we need to look at life as financial prudes, but rather stuff-aphobics. Especially when the market is so good, it's hard to reel ourselves back in and take a breath. Do we really need to be buying everything our hearts desire?
Maybe you've come up with a rule of not bringing a new item in unless an old item goes out. However, to do that we're thinking about stuff again. We're giving stuff too much mental space. That just seems wrong doesn't it?
I'm not saying to have nice things or just things in general. You can do what you want, right?
But maybe we all need to take a breather every now and then and remember, our stuff is s#!t to everyone else. If that's the case, why are we in such a hurry to spend our money on it?


text:
LaSata condemns radicals' threats against Whitmer
LANSING, Mich. — State Sen. Kim LaSata issued the following statement on Thursday after federal and state law enforcement officials thwarted a plot against Gov. Gretchen Whitmer:
"I denounce violence and threats of violence against anyone, and I strongly condemn the individuals who today are alleged to have plotted against our governor. I am grateful for our law enforcement, who took swift action to stop this terrible plot and who serve every day to keep our communities safe.
"Anyone who professes to believe in the Constitution of the United States knows that all citizens are guaranteed a right to life and liberty, regardless of race, religion, creed or political ideology. To threaten to take away those rights, especially through physical violence, is to fundamentally stand against that which is God-given and which we as Americans hold dear.
"My prayers are with Gov. Whitmer and her family during this very serious and unfortunate moment in our state's history."


This is the Marshall Artist 60 40 Hiking Overshirt in Orange. The 60 40 Hiking Overshirt features press stud centre front fastening, chest multi-pockets with hooded pocket flap entry and press stud cuff fastenings.
The all important Marshall Artist branding is situated on the left sleeve.
Made from a cotton nylon ripstock fabric.