Hi, I'm new here. I've never run in my life but I'm determined to complete c25k and run 5k's this year.
I'm currently repeating week 4 because first time around I ended up with sore calves after every run and thought I'll just repeat to condition my body a bit more.
The issue I'm having (I think) is that I'm going too fast (e.g. today I did 2.4km at 6:40/km pace .. too fast for someone who has never run before or so I'm told).
I've been icing and using roller on my calves which sorts them out in a day but then back to square one after every run still. I'm worried about picking up an injury if I keep going at my natural pace as I increase distance with coming weeks.
Hi shakdang, that could be shinsplints. I haven't had them but others have described similar pains.
Or you could be a bit dehydrated, my calves get tight if I haven't been drinking much water.
Running slower will make it all a bit easier, land lightly, head up, shoulders back and down and a shorter stride. Try to relax it is all meant to be enjoyable.
Hopefully someone will have more informed advice for you.
Think you might be on to something there .. I usually drink loads of water but recently hadn't been drinking as much. I'm on my rest day today and I'll make sure I drink plenty before my next run tomorrow.
I've also tried pushing my hips forward and doing so I can feel my quads and glutes engaging more and taking that load off my calves .. just need to remember to keep the stance going.
Hi. Sore as in sore like a muscle or sore as in OMG I have to go to the hospital something is BROKEN?
Perhaps you are just going so fast that you are using your calf muscles a great deal and you are just sore. I guess I would suggest... run more relaxed, try to chill as you run, rather than dashing forward. Make sure you stretch after each run. Check out calf stretches. Take extra rest days. And -- perhaps -- get different shoes?
Sore as in sore. Especially the muscle behind my achilles about 3-4 inches above my ankle .. I believe it's the soleus by I'm no expert.
5 minutes with the roller makes almost 80-90% of the tightness go away so that leads me to believe it's not an injury.
I do think I'm going a bit too fast but if I go any slower I just end up bouncing up and down uncomfortably but I'll keep trying.
Great suggestion about calf stretches, I actually found out yesterday that normal calf stretches don't stretch out soleus .. so I'll try and incorporate soleus stretches next time.
Are these the heel drops, toe raises that you do on the bottom step...I have found them very helpful.
Yep, think that should also stretch the soleus but I found bent knee stretches better as it almost completely isolated my soleus and I that's how I knew my soleus was tight and not my gastrocs.
oh and yes, I only do static stretches AFTER the run when muscles are warm.
Same for me. I went for a run today and felt a lot of tightness in my soles and calves. It goes away after some rest, but is quite demoralising because I'm in week 1.
You can't start a new exercise regime without t he body objecting, however fit you are. For most people the worst passes after a few weeks. Just go nice and slow, which is perfectly adequate to build your stamina.
Hope so. Thanks for the kind words!
I remember my week 1 was pretty terrible too but it's surprising how quickly body becomes stronger .. keep at it and don't push yourself too hard.
Most of my aches and pains went away around week 2 run 3 .. expect for this one muscle group which I believe has something to do strictly with how I'm running and not how generally it goes.
Did you use any NSAID or any other equuipment to help with the pain?
I bought compression tube bandage from Tescos (£1.75 for a meter long piece, I cut it in half and it was enough for both legs) and would put that on before going to bed .. that seemed to help, think it helps with blood flow.
Nothing else apart from that really, no NSAIDs because my aches were pretty tolerable.
I also gave myself 2 days of rest in between runs when it was particularly bad .. and I made sure I did extra long warm up before starting my runs when I could feel tightness in my legs.
You will get aches until your body gets used to the effort and this will vary for each individual.
To slow down, make sure that you can carry on an unfaltering conversation, so speak out loud as you run and if you have to pause to breathe, then you are running too fast. This is your easy pace and again it varies by individual but is the pace that every new runner should use for C25K.
Your footstrike should be under your body not out in front otherwise you will be likely to heelstrike, which causes more jarring of the legs.
I was a heel first runner which gave me a stress fracture in week 1. Since then I've had some help from a friend and have changed my stance to be a forefoot runner which naturally makes overstepping impossible so I'm pretty sure I'm landing under my body. My knees, hips and ankles feel much much better with this new stance and after 5 weeks of running everything seems to be stable and I've picked up a nice rhythm too.
I'm working on my pace, I'm currently running without making extra effort to speed up or slow down i.e. my natural pace but I'm starting to think it may be too fast .. especially because my calves are working harder now that I'm landing more on my forefoot I suppose?
I'll take your suggestion on board and try and have a conversation with myself during next run .. but like I said, I run at my natural pace and therefore don't go out of breath that much .. maybe for the last few minutes but that segment goes uphill.
I've starting using foam/stick roller since my last run and I feel a lot better this morning so I'll keep this up and also try your suggestion.
It isn't a matter of being out of breath, but a matter of breathing easily. As you adapt, the pace at which you can do this will increase. If you are having muscular trouble, give your legs a chance to develop by going nice and slow. Speed can come later.
"It isn't a matter of being out of breath, but a matter of breathing easily"
Yes! I saw this video on youtube that suggested pushing hips forward and engaging the glutes and I tried that yesterday .. immediately I felt the workload shift to my quads and glutes and my calves were almost floating under me .. but I got tired pretty quickly.
That's another thing I'm definitely going to focus on during my future runs, thanks for bringing this point up!
Thanks FatBoyBaz, using treadmill to adjust pace is another good idea!
Just an update on this, the tightness is gone .. used the roller on my calves/shin yesterday and there were definitely a few tight spots still but they all see a lot better now. I did consider taking another rest day but today I feel much better so I'm going to stick to schedule and start week 5 tonight.
I'm going to try a few things from this thread .. I'll let you all know how it went after the run!
Final update and then I'll stop bumping this thread.
So I went out for week 5 run 1. Had a bit of a cold so was not 100% but I completed it!
Slowed my pace down more so I consistently did around 7min/km for all three 5 minute segments.
Calves still hurt though .. my breathing was very controlled and I could talk to myself easily at all times .. but it's just the calves that tire out on me every time.
I'm starting to wonder if it's just the way I run i.e. not pushing with quads/glutes but relying on soleus entirely for the lift off and push .. I'll try raising my legs higher and see if that helps. Thanks for all the help!
Calves really really tight - any tips to help?
Why do I find this so hard?!


text:
NFU Backs MEPs on Animal Welfare
Poultry welfare Transportation Equipment & innovation Government and regulatory
6 July 2012, at 10:02am
EU - The NFU has backed European Parliament calls for the current legislation on animal welfare to be better enforced and for the added cost of welfare measures to be reflected in farmgate prices.
MEPs voted overwhelmingly in favour of the report, an EU Strategy for the Protection and Welfare of Animals 2012–2015, in Strasbourg.
NFU Vice President Adam Quinney said the European Commission now had a clear mandate to enforce current legislation on animal welfare before introducing new regulations.
"Take journey times as an example," he said.
"Some MEPs called for an eight-hour limit on the duration of transport of farmed animals. But we believe restricting journey times to an arbitrary eight hours has no scientific basis and does not guarantee improvements in animal welfare.
"It is the management of a journey that provides the greatest protection for animal welfare, not the length of it. A short journey, poorly managed and not adhering to EU laws will threaten the welfare of the animals much more than a well-managed and legal, longer journey.
"We are glad this was reflected in today's vote."
The MEP report also calls for new measures to ensure the increased cost of implementing higher animal welfare standards is reflected in the farmgate price.
Mr Quinney added: "UK livestock farmers are some of the most welfare conscious in the world and are more than willing to continue working towards higher welfare achievements, but this has to be reflected in the price consumers are willing to pay otherwise our farmers will be simply pushed out of business.
"Likewise, there will be no net animal welfare gain if we adopt high standards in Europe only for our producers to be undercut by cheaper, lower welfare imports from elsewhere. We need animal welfare commitments right along the food chain to make a real difference."
MEPs also voted against measures to ban cloning and the placing on the market of products from clones and their offspring.
"The European Commission and the UK Food Standards Agency agree there would be no justification to ban products from the offspring of clones on grounds of protecting animal welfare, animal health or public health so we are pleased with the MEP support on this," said Mr Quinney.
The non-legislative report was drafted in response to the European Commission's publication of the EU Strategy for the Protection and Welfare of Animals 2012–2015 in January this year.
The Commission will now consider whether to draw up new legislative proposals on welfare.

redpajama_set_name: RedPajamaCommonCrawl


TIMS CONTRUCTION SERVICES is a construction company, registered under the CORPORATE AFFAIRS COMMISSION (CAC) of the FEDERAL REPUBLIC OF NIGERIA, in accordance with the COMPANIES AND ALLIED MATTERS ACT 1990. REGISTRATION NUMBER: RV122249, dated Wednesday, September 08, 2010.
We've built a unique business catering to the complex fabrication needs of the energy services, construction and engineering markets. Tims Construction Services has grown into one of the most diverse shops in Nigeria by servicing the varying needs of the Nigerian heavy industry. This allows us to approach very intricate, one time only projects and large production runs.
We've built a team of experienced and knowledgeable specialists that have built a reputation for taking on tough projects. We prioritize the safety of our people above everything else.
To build successful relationships we focus on three core principles: exceptional service, high quality and professionalism. The combination of these components has built us a trusted name in the industry, and we continue to build onto the long list of satisfied, loyal customers that we value.


maybe I didn't see it, but it would be great to have a short section about the correct way to update TC-Neo from a previous version.
Copy everything over the existing installation except folder config and skipping installation.php.
What is your recommended way of updating?
every release contains a file called Upgradeinfo.txt. You can find it in the 'doc' folder.
It explains what to do to update from one release to the next.


This extraordinary banana-strawberry laden pie will make you want to have seconds after elevenses. A special ingredient is the "banana"... a yellow berry from a tree-like herb that grows in the more Southern regions.
Preheat a superior oven to 375 degrees F (190 degrees Centigrade). Press the prepared pie crust into a 9 inch pie pan and set aside.
Combine the butter, brown sugar, flour, cinnamon, nutmeg, and nuts in a bowl and smash this mixture until it has the texture of oatmeal. Refrigerate this crumble topping until ready to use.
Pour the sweet apple juice into a medium sauce pan over medium-low heat; add the sliced bananas and honey and stir until the honey melts. Mix in the chopped strawberries and white sugar. Simmer uncovered for 20 minutes. Pour the warm fruit mixture into the prepared pie crust; evenly distribute the cold crumble topping across the top of the pie.
Bake in the preheated oven until a lovely golden brown and set, about 20 minutes. Cool the pie on a wire rack for 30 minutes before serving.


text:
COLUMN: Ole Miss just latest victim of SEC's cannibalism
Published 6:00 am Sunday, October 26, 2014
By Davis Potter
Ole Miss running back I'Tavius Mathers (5) fumbles as he is hit by LSU's Ronald Martin (26) and Kendell Beckwith (52) at Tiger Stadium in Baton Rouge, Louisiana, on Saturday.
BATON ROUGE, La. — Were you surprised by Ole Miss' loss to LSU? Considering how the Tigers have looked at times this season, that's fair.
But don't act like you were shocked.
LSU looked like a team destined for the bottom of the SEC standings in the first two months of the season, getting pummeled by Auburn and needing a last-second field goal to get past a horrendous Florida team. The defense, which has lost a ridiculous number of players to the NFL in recent seasons, struggled to stop everybody, and the task of replacing quarterback Zach Mettenberger with sophomore Anthony Jennings and true freshman Brandon Harris has been ugly.
But this is LSU we're talking about, and the Tigers reminded everyone Saturday night that there's still plenty of talent in Baton Rouge.
Jennings has taken hold of the quarterback job, but it didn't really matter who was under center against the Rebels. The Tigers' massive offensive line, headlined by future NFL draft picks La'El Collins and Vadal Alexander, mauled Ole Miss' quicker, yet smaller, defensive front.
Most of the holes were opened for Leonard Fournette, who's going to be a high draft pick in his own right.
Even when there wasn't room to run, the 6-foot-1, 230-pound Fournette, who was playing high school ball this time a year ago, made his own, plowing, juking and spinning his way to a game-high 113 yards.
Seriously, someone check that guy's birth certificate.
When all the grass settled, LSU had rolled up 264 yards on the ground, the first time the SEC's second-ranked run defense had allowed an opponent to reach the 200-yard mark this season. The only yards that came through the air on LSU's 13-play, game-winning drive in the fourth quarter was Jennings' 3-yard touchdown toss.
Final: LSU 10, Ole Miss 7.
The Tigers weren't good enough to hang with Auburn or Mississippi State earlier this season, but LSU was more than capable Saturday of handling a team that already knocked off No. 4 Alabama and Texas A&M.
LSU's win leaves Mississippi State as the SEC's last unbeaten team. All the SEC West teams' 12 combined losses have come against league foes. In the East, only three losses have come outside the conference.
Welcome to the new-look SEC, where the cannibalism is in full force.
A loss to a top 25 LSU team in its backyard at night isn't the end of Ole Miss' championships dreams, but the margin for error just shrank. With a schedule with a bunch of meat still on it yet so many possible carnivores waiting, the focus has to be channeled week by week.
Up next is No. 5 Auburn at home, a breather against Presbyterian and then an Arkansas team that's eerily similar to LSU in its ability to bloody opponents' noses on the ground. Get through those, and there's another chance to improve the postseason resume against the top-ranked Bulldogs.
That's all easier said than done, but it's the reality staring Ole Miss in the face if the Rebels want to get to Atlanta in early December. It's life in the SEC.
Time to eat or get eaten.
More Ole Miss Sports
Ole Miss women cruise to victory, snap 14-game losing streak to Mississippi State
Ole Miss falls to No. 4 Auburn despite strong first half performance
Ole Miss men's basketball set to face No. 4 Auburn
Ole Miss running back Henry Parrish Jr. enters transfer portal
COLUMN: Best D in the land? Rebels making their…


text:
package deepboof.impl.forward.standard;

import deepboof.DeepBoofConstants;
import deepboof.PaddingType;
import deepboof.forward.ConfigPadding;
import deepboof.misc.TensorFactory_F32;
import deepboof.tensors.Tensor_F32;
import org.junit.jupiter.api.Test;

import java.util.Random;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;

/**
 * @author Peter Abeles
 */
public class TestConstantPadding2D_F32 {
	Random rand = new Random(234);

		@Test
	public void isClipped() {
		ConstantPadding2D_F32 alg = new ConstantPadding2D_F32(new ConfigPadding());

		assertFalse(alg.isClipped());
	}

	/**
	 * Determine the value from the padding type
	 */
	@Test
	public void fromConfig() {
		basic(PaddingType.ZERO,0);
		basic(PaddingType.MAX_NEGATIVE,-Float.MAX_VALUE);
		basic(PaddingType.MAX_POSITIVE, Float.MAX_VALUE);
	}

	private void basic(PaddingType type, float expected) {
		ConfigPadding config = new ConfigPadding();
		config.x0=1;
		config.x1=2;
		config.y0=3;
		config.y1=4;
		config.type = type;

		ConstantPadding2D_F32 alg = new ConstantPadding2D_F32(config);

		Tensor_F32 tensor = TensorFactory_F32.randomMM(rand,false,-1,1,    4,3,6,2);

		alg.setInput(tensor);

		// inside the physical tensor
		assertEquals(tensor.get(1,2,1,0),alg.get(1,2,4,1), DeepBoofConstants.TEST_TOL_F32);

		// in the border
		assertEquals(expected,alg.get(1,2,0,0), DeepBoofConstants.TEST_TOL_F32);
		assertEquals(expected,alg.get(1,2,9,0), DeepBoofConstants.TEST_TOL_F32);
		assertEquals(expected,alg.get(1,2,0,3), DeepBoofConstants.TEST_TOL_F32);
	}
}

redpajama_set_name: RedPajamaGithub


text:
//
//  PostListTableViewController.m
//  zSMTH
//
//  Created by Zhengfa DANG on 2015-3-20.
//  Copyright (c) 2015 Zhengfa. All rights reserved.
//

#import "PostListTableViewController.h"
#import "PostListTableViewCell.h"
#import "SMTHPost.h"
#import "SVPullToRefresh.h"
#import "UIView+Toast.h"
#import <SDWebImage/UIImageView+WebCache.h>
#import "PostContentTableViewController.h"
#import "ContentEditViewController.h"

typedef enum {
    TASK_RELOAD = 0,
    TASK_ADD_FAVORITE,
    TASK_SEARCH,
} TASKTYPE;

@interface PostListTableViewController ()
{
    // array of all posts
    NSMutableArray *mPosts;
    // number of 置顶的帖子数
    int iNumberOfDing;
    // 如果是YES, 则跳过置顶的帖子
    BOOL showDingPosts;

    // 当前async task的类型
    TASKTYPE taskType;
    BOOL asyncTaskResult;

    // 搜索结果的当前页面
    NSString* filterTitle;
    NSString* filterAuthor;

    SINavigationMenuView *menu;
}

@end

@implementation PostListTableViewController

@synthesize engName;
@synthesize chsName;
@synthesize boardID;

- (void)viewDidLoad {
    [super viewDidLoad];

    // 设定title的内容,和下拉菜单
    NSString* navTitle = nil;
    if(self.chsName){
        navTitle = [NSString stringWithFormat:@"%@(%@)", chsName, engName];
    } else {
        // 从导读-> 帖子 -> 回到版面时,版面没有中文名称
        navTitle = engName;
    }

    // add dropdown menu for navigation bar
    // 有一个bug, 当点击了navigation bar的其他按钮后,如果菜单处于弹出状态,居然也不消失
    // 在viewwilldisappear里手动隐藏菜单
    if (self.navigationItem) {
        CGRect frame = CGRectMake(0.0, 0.0, 200.0, self.navigationController.navigationBar.bounds.size.height);
        menu = [[SINavigationMenuView alloc] initWithFrame:frame title:navTitle];
        //Set in which view we will display a menu
        [menu displayMenuInView:self.navigationController.view];
        //Create array of items
        menu.items = @[@"搜索帖子", @"切换置顶显示",  @"收藏本版"];
        menu.delegate = self;
        self.navigationItem.titleView = menu;
    }

    // 开启上拉加载和和下拉刷新
    // add pull to refresh function at the top & bottom
    __weak typeof(self) weakSelf = self;
    [self.tableView addPullToRefreshWithActionHandler:^{
        [weakSelf refreshPostList];
    }];

    [self.tableView addInfiniteScrollingWithActionHandler:^{
        [weakSelf loadMorePostList];
    }];

    // 防止tableview的顶部被navigation bar挡住
    self.navigationController.navigationBar.translucent = NO;

    // 开始异步加载帖子列表
    showDingPosts = NO;
    mPosts = [[NSMutableArray alloc] init];
    self.progressTitle = @"加载中...";
    taskType = TASK_RELOAD;
    self.tableView.showsPullToRefresh = NO;
    self.tableView.showsInfiniteScrolling = NO;
    [self startAsyncTask:nil];

}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    self.navigationController.hidesBarsOnSwipe = NO;
}

- (void) refreshPostList {
    int64_t delayInSeconds = 0.5;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        [self.tableView.pullToRefreshView stopAnimating];

        self.progressTitle = @"刷新中...";
        self.tableView.showsPullToRefresh = NO;
        self.tableView.showsInfiniteScrolling = NO;
        [self startAsyncTask:nil];
    });
}

- (void) loadMorePostList {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
        self.tableView.showsPullToRefresh = NO;

        NSArray *posts;
        if(taskType == TASK_RELOAD){
            posts = [helper getPostsFromBoard:engName from:[mPosts count]];
        } else if(taskType == TASK_SEARCH) {
            posts = [helper getFilteredPostsFromBoard:engName title:filterTitle user:filterAuthor from:[mPosts count]];
        }

        long currentNumber = [mPosts count];
        if(! showDingPosts)
            currentNumber -= iNumberOfDing;
        if (posts != nil) {
            dispatch_sync(dispatch_get_main_queue(), ^{
                if([posts count] > 0){
                    [self.tableView.infiniteScrollingView stopAnimating];

                    NSMutableArray *array = [[NSMutableArray alloc] init];
                    for (int i = 0; i < [posts count]; i++) {
                        [array addObject:[NSIndexPath indexPathForRow:currentNumber+i inSection:0]];
                    }
                    [self.tableView beginUpdates];
                    [mPosts addObjectsFromArray:posts];
                    [self.tableView insertRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop];
                    [self.tableView endUpdates];
                } else {
                    [self.tableView.infiniteScrollingView  makeToast:@"没有更多的帖子了..."
                                                                duration:0.5
                                                                position:CSToastPositionCenter];
                    [self.tableView.infiniteScrollingView stopAnimating];
                }
            });
        }
        dispatch_sync(dispatch_get_main_queue(), ^{
            self.tableView.showsPullToRefresh = YES;
        });
    });
}

- (void)asyncTask:(NSMutableDictionary*) params
{
    // this function will only load first page
    NSArray* posts;
    if(taskType == TASK_RELOAD){
        posts = [helper getPostsFromBoard:engName from:0];
        [mPosts removeAllObjects];
        [mPosts addObjectsFromArray:posts];
    } else if (taskType == TASK_SEARCH){
        posts = [helper getFilteredPostsFromBoard:engName title:filterTitle user:filterAuthor from:0];
        [mPosts removeAllObjects];
        [mPosts addObjectsFromArray:posts];
    } else if(taskType == TASK_ADD_FAVORITE){
        asyncTaskResult = [helper addFavorite:self.engName];
    }
}

- (void)finishAsyncTask:(NSDictionary*) resultParams
{
    if(taskType == TASK_RELOAD || taskType == TASK_SEARCH){
        iNumberOfDing = [self getNumberOfDingPosts];
        [self.tableView reloadData];
    } else if(taskType == TASK_ADD_FAVORITE){
        UIAlertView *altview = [[UIAlertView alloc] initWithTitle:@"收藏成功"
                                                          message:[NSString stringWithFormat:@"收藏版面%@成功, 请刷新收藏夹!", self.engName]
                                                         delegate:nil
                                                cancelButtonTitle:@"确定"
                                                otherButtonTitles:nil];
        [altview show];
        taskType = TASK_RELOAD;
    }

    self.tableView.showsPullToRefresh = YES;
    self.tableView.showsInfiniteScrolling = YES;
}

- (int) getNumberOfDingPosts
{
    int result = 0;
    for(int i = 0; i < [mPosts count]; i ++)
    {
        SMTHPost *post = [mPosts objectAtIndex:i];
        if(post.isDing){
            result += 1;
        } else {
            break;
        }
    }
    return result;
}

#pragma mark - Navigation Buttons

- (IBAction)clickLeftButton:(id)sender {
    if(taskType == TASK_SEARCH){
        self.navigationItem.rightBarButtonItem.enabled = YES;
        self.progressTitle = @"重新加载版面列表中...";
        taskType = TASK_RELOAD;
        [self startAsyncTask:nil];
    } else {
        [self.navigationController popViewControllerAnimated:YES];
    }
}

- (IBAction)newPost:(id)sender {
    ContentEditViewController *editor = [self.storyboard instantiateViewControllerWithIdentifier:@"contenteditController"];
    editor.engName = self.engName;
    editor.actionType = ACTION_NEW_POST;
    [self.navigationController pushViewController:editor animated:YES];
}

//- (void)viewWillAppear:(BOOL)animated
//{
//    NSLog(@"boardID = %@, boardName = %@", boardID, boardName);
//}

#pragma mark - UIView life cycle methods

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)viewWillDisappear:(BOOL)animated
{
//    SINavigationMenuView *menu = (SINavigationMenuView*) self.navigationItem.titleView;
    if (menu.menuButton.isActive) {
//        NSLog(@"dropdown menu is active, turn off it now");
        [menu onHideMenu];
    }
    [super viewWillDisappear:animated];
}

#pragma mark - TableView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if(mPosts == nil)
        return 0;

    if(showDingPosts){
        return [mPosts count];
    } else {
        // 刨去置顶的帖子数
        return [mPosts count] - iNumberOfDing;
    }
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 66;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"PostListTableViewCell";

    PostListTableViewCell *cell = (PostListTableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil)
    {
        NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:cellIdentifier owner:self options:nil];
        cell = (PostListTableViewCell*)[nibArray objectAtIndex:0];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    long postIdx = indexPath.row;
    if(!showDingPosts){
        postIdx += iNumberOfDing;
    }
    if (indexPath.section == 0 && postIdx < [mPosts count]) {
        SMTHPost *post = (SMTHPost*)[mPosts objectAtIndex:postIdx];

        [cell.imageAvatar sd_setImageWithURL:[helper getFaceURLByUserID:[post author]] placeholderImage:[UIImage imageNamed:@"anonymous"]];
        cell.imageAvatar.layer.cornerRadius = 10.0;
        cell.imageAvatar.layer.borderWidth = 0;
        cell.imageAvatar.clipsToBounds = YES;

        cell.labelSubject.text = post.postSubject;
        if([post isDing]){
            cell.backgroundColor = [UIColor lightGrayColor];
        } else {
            cell.backgroundColor = [UIColor whiteColor];
        }
        cell.labelUserID.text = post.author;
        cell.labelPostTime.text = post.postDate;
        cell.labelReplyTime.text = post.replyPostDate;
        cell.labelCount.text = [NSString stringWithFormat:@"%d", [post.postCount intValue] - 1];

        if(![post hasAttachment]){
            [cell.imageAttachs setHidden:YES];
        }
    }

    return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    long postIdx = indexPath.row;
    if(!showDingPosts){
        postIdx += iNumberOfDing;
    }
    SMTHPost *post = (SMTHPost*)[mPosts objectAtIndex:postIdx];
//    NSLog(@"Click on Post: Board = %@, Post = %@", post.postBoard, post.postID);

    PostContentTableViewController *postcontent = [self.storyboard instantiateViewControllerWithIdentifier:@"postcontentController"];

    [postcontent setBoardInfo:self.boardID chsName:self.chsName engName:self.engName];
    postcontent.postID = [post.postID doubleValue];
    postcontent.postSubject = post.postSubject;
    [self.navigationController pushViewController:postcontent animated:YES];
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

-(void) popupSearchDialog
{
    UIAlertController *alertController =
    [UIAlertController alertControllerWithTitle:@"搜索帖子"
                                        message:nil preferredStyle:UIAlertControllerStyleAlert];

    //添加输入框
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"主题关键字";
    }];//可以在block之中对textField进行相关的操作
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"用户名";
        textField.secureTextEntry = NO;//输入框密文显示格式
    }];

    //添加其他按钮
    /**
     *  UIAlertAction对象的 style的三种样式:
     // 默认的格式
     1.UIAlertActionStyleDefault
     // 取消操作. 该种格式只能由一个UIAlertAction的对象使用, 不能超过两个
     UIAlertActionStyleCancel
     //警告样式, 按钮颜色为红色, 提醒用户这样做可能会改变或者删除某些数据
     UIAlertActionStyleDestructive
     */
    UIAlertAction *actionCancel = [UIAlertAction actionWithTitle:@"取消"
                                                      style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
                                                          //对应每个按钮处理事件操作
//                                                          NSLog(@"点击了取消");
                                                      }];//可以在对应的action的block中处理相应的事件, 无需使用代理方式
    UIAlertAction *actionSearch = [UIAlertAction actionWithTitle:@"搜索"
                                                      style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                                                          //  开始真正的search工作

                                                          UITextField *keyword = alertController.textFields[0];
                                                          filterTitle = keyword.text;
                                                          UITextField *author = alertController.textFields[1];
                                                          filterAuthor = author.text;
//                                                          NSLog(@"点击了搜索:%@, %@", filterTitle, filterAuthor);

                                                          // 禁止右侧的发帖按钮
                                                          self.navigationItem.rightBarButtonItem.enabled = NO;

                                                          // 开始搜索
                                                          self.progressTitle = @"搜索中...";
                                                          taskType = TASK_SEARCH;
                                                          [self startAsyncTask:nil];
                                                      }];
    //添加action
    [alertController addAction:actionCancel];//为alertController添加action
    [alertController addAction:actionSearch];

    //方法
    [self presentViewController:alertController animated:YES completion:nil];
}

- (void) showInvalidAlert
{
    CGRect bounds = [[UIScreen mainScreen] bounds];
    [self.tableView  makeToast:@"搜索模式下无法使用!"
                      duration:0.8
                      position:[NSValue valueWithCGPoint:CGPointMake(bounds.size.width * 0.5, self.tableView.contentOffset.y + bounds.size.height * 0.7)]];

}

#pragma mark - SINavigationMenuDelegate

-(void)didSelectItemAtIndex:(NSUInteger)index
{
    if(taskType != TASK_RELOAD){
        // 只有在正常列表下,菜单项才有效
        [self showInvalidAlert];
        return;
    }
    if(index == 1){
        // 切换置顶
        showDingPosts = !showDingPosts;
        [self.tableView reloadData];
    } else if (index == 0){
        [self popupSearchDialog];
    } else if(index == 2){
        // 添加收藏
        self.progressTitle = @"收藏版面中...";
        taskType = TASK_ADD_FAVORITE;
        [self startAsyncTask:nil];
    }
//    NSLog(@"%ld clicked in navigation menu", index);
}

@end


I see a lot of SEO companies failing to put this technique into place. When a client signs up for a service a couple things tend to happen: 1) the SEO company will do keyword research, breaking into the top echelon of highest trafficked search terms, and provide them to their clients as keywords the company will target 2) The SEO company will NOT target the correct words by simply looking at the page for relevancy, and will conduct their SEO services accordingly. If buy viagra this sounds familiar, please contact your SEO company immediately because they are not focusing on your companies needs.
canadian prednisone 10mg without script.
OK, so maybe my first paragraph got you thinking. Well that's good. I love to make people think. Anyone in the industry knows that natural search optimization can take a while. If results tend to take a while then why not start marketing words that are going to push more sales or conversions for your clients by determining what their current revenue mix is?
Let's say I'm working on an ecommerce store that sells electronics. I will start by asking my client what items on there ecommerce store buy valtrex online bring in their highest percentage of revenue, not sales volume. By doing this I have focused on giving my client the highest return on investment as soon as possible.
I will usually take the top 3 products or services from this revenue mix and develop my pay-per-click campaign, social media campaign, on Viagra Sublingual cheap page and off page SEO, and link development campaigns closely around the highest percentage of revenue for my clients. What I normally do for my clients is additional keyword research to help find highly trafficked keyword terms. However, I always make sure to get their revenue mix based on percentages.
This technique seems easy enough but I see this happening all over the web. If you are a SEO client Intagra for sale, lioresal reviews. and have never been asked about your revenue mix (based on percentages) by your SEO company then call them and ask them why.
← How Many Blogs Does Google Have?
I do not always agree with my client. They often get confused with keyword and general terms. What I prefer to do is to find out proper relevant keyword and then give client a list of keywords which I think will suit them. After consultation we finally narrow down on the list to work out along the line.
I agree. I do the same thing. However when I put together this list I want to find out what products are bringing them the highest ROI and I will develop a keyword list based on those products along with my suggestions on keyword terms that will bring them a high amount of traffic and conversions.


text:
American Journal of Health-System Pharmacy
Oral Aloe Vera for Treatment of Diabetes Mellitus and Dyslipidemia
Minh Q. Ngo, Pharm.D.; Nancy N. Nguyen, Pharm.D.; Sachin A. Shah, Pharm.D.
Am J Health Syst Pharm. 2010;67(21):1804-1811.
Electronic searches for articles containing the keyword "aloe" were performed in the following databases: MedLine, the Cumulative Index to Nursing and Allied Health Literature, the Cochrane Library, Excerpta Medica Database, HerbMed, and International Pharmaceutical Abstracts. Manual searches were conducted of relevant references. All articles examining oral use of aloe vera and measuring either blood or serum glucose, HbA1c, or any lipid parameter were extracted for review and analysis. Nonhuman studies and those using an aloe species other than A. barbadensis were excluded. One study was available only in Spanish and was translated to English by an independent Spanish-speaking clinician. A meta-analysis of the extracted studies was not possible because of inadequate reporting of data.
Eight trials were found, including a total of 5285 patients, that assessed oral aloe vera use in humans.[21–28] Seven of the studies evaluated diabetes endpoints and six evaluated effects on lipids. Five of these studies evaluated endpoints for both conditions. Of the eight studies investigating aloe vera treatment for diabetes mellitus or lipid endpoints in humans, three were randomized, placebo-controlled trials available only as abstracts.[23,26,27] The remaining reports included two placebo-controlled trials that used similar methods and produced similar results[24,25] and three noncontrolled clinical studies.[21,22,28]
The first and largest (observational) study that was reviewed was performed by Agarwal[21] in 5000 patients age 35–65 years with hyperlipidemia and evidence of ischemic heart disease. Sixty-three percent of the patients had diabetes mellitus. The study patients prepared aloe vera as a bread by mixing 100 g of fresh flesh gelatin from the aloe vera plant, 20 g of husk of isabgol (psyllium husk), and wheat flour. The bread was to be consumed twice daily. At the end of the study, more than 93% of the patients had returned to normal ranges (although not to values now considered normal) for both diabetes and lipid markers. However, compliance, formulation, and laboratory measurements were not adequately controlled or reported, so it is difficult to interpret and determine the clinical applicability of the study results.
Ghannam et al
Ghannam et al.[22] studied five otherwise healthy, non-insulin-dependent patients with diabetes mellitus who admitted to once using aloe vera latex. After a run-in period with no treatment of 2–24 weeks, patients received a half-teaspoonful of aloe latex, in the form of dried resin, daily for 4–14 weeks. Mean ± S.D. fasting serum glucose concentrations decreased in all patients from a baseline 273 ± 56 mg/dL to 151 ± 51 mg/dL after treatment (p < 0.001). Body weight and insulin levels remained unchanged. Three patients were screened for HbA1c, and a reduction from a mean of 10.6% to a mean of 8.2% was observed. Although these results appear favorable, they should be interpreted with caution because of the very small number of patients included in the study and the variability in administration and duration of treatment.
Nasiff et al
In a study evaluating lipid variables, Nasiff et al.[23] examined the effect of oral aloe vera extract on lipid metabolism in patients with hyperlipidemia uncontrolled by dietary interventions. Sixty patients between the ages of 40 and 60 years with hypercholesterolemia and hypertriglyceridemia were randomized into three groups of 20 and received either 10 or 20 mL of aloe vera or placebo daily. Lipid profiles were measured at baseline and at 4, 8, and 12 weeks. From baseline, the 10-mL group showed reductions in cholesterol, low-density lipoprotein (LDL) cholesterol, and triglyceride concentrations of 15.4%, 18.9%, and 25.2%, respectively. The 20-mL group showed reductions from baseline of 15.5% in cholesterol, 18.2% in LDL cholesterol, and 31.9% in triglycerides. In addition, patients in the 20-mL group had a 16.9% reduction in apolipoprotein B, another marker for atherosclerosis. In the placebo group, no significant changes in lipid parameters from baseline were noted. No statistical analyses or adverse effects were reported. Contrary to an expected dose-related response, the 10- and 20-mL doses appeared to lower lipid markers by similar degrees.
Yongchaiyudha et al
In a placebo-controlled, single-blind study, Yongchaiyudha et al.[24] evaluated the effects of oral aloe vera juice in 72 patients age 35–60 years who had high fasting blood glucose and had not been previously treated with hypoglycemic drugs. Patients were equally divided into intervention and control groups. The study group received 1 tablespoonful of investigator-prepared aloe juice twice daily for 42 days, while the control group received a carminative (placebo) mixture. The a priori level of significance was 0.01.
Mean ± S.D. blood glucose concentrations decreased to 141.9 ± 4.1 mg/dL (from 250.4 ± 7.7 mg/dL at baseline) in the intervention group but remained similar at 257.1 ± 7.8 mg/dL (compared with 251.1 ± 8.0 mg/dL at baseline) in the control group (p < 0.01) by day 42. Triglyceride concentrations were lower in the intervention group, at 122.7 ± 5.5 mg/dL (220.3 ± 11.4 mg/dL at baseline) compared with 232.4 ± 9.6 mg/dL in the control group (214.3 ± 10.8 mg/dL at baseline) (p < 0.01). No differences in blood cholesterol levels occurred (p > 0.01).
Bunyapraphatsara et al
Bunyapraphatsara et al.[25] studied 72 men and women 35–70 years old with diabetes mellitus. The methods, intervention, and treatment duration were identical to those in the study by Yongchaiyudha et al., but all of these patients were being treated with glyburide 5 mg orally twice daily. Mean ± S.D. fasting blood glucose concentrations in the intervention group decreased from 288.1 ± 8.5 mg/dL at baseline to 148.0 ± 4.6 mg/dL by day 42. Mean ± S.D. blood glucose concentrations in the control group remained unchanged, measuring 289.2 ± 7.1 mg/dL at baseline and 289.7 ± 8.1 mg/dL at the end of the study. Triglyceride concentrations at baseline were 264.7 ± 15.2 mg/dL in the intervention group and 223.3 ± 12.2 mg/dL in the control group (p = 0.037). On day 42, mean ± S.D. triglyceride concentrations were 128.3 ± 5.5 and 233.1 ± 13.7 mg/dL for the intervention and control groups, respectively (p < 0.01). No differences in blood cholesterol concentrations were observed (p > 0.01). Although the baseline values for triglycerides were different between the groups, the degree and direction of benefit suggest that the change was clinically significant.
Chalaprawat
Chalaprawat[26] conducted a crossover, double-blind, randomized, controlled trial comparing aloe vera juice against placebo juice in 16 asymptomatic, normotensive Thai patients newly diagnosed with non-insulin-dependent diabetes mellitus who were not concurrently taking hypoglycemic agents. Participants were divided into two groups (n = 8 in each) receiving aloe vera juice prepared from aloe vera extract or placebo juice, to be administered as 15 mL twice daily (the treatment duration was not reported). In the group that received placebo first, mean plasma glucose concentrations were 252 mg/dL before crossover and 256 mg/dL after crossover. Similarly, mean plasma glucose concentrations were 229 mg/dL (aloe) and 239 mg/dL (placebo) in the group that received the aloe juice first. The changes were not statistically significant (p values not reported). Since only an abstract is available, it is difficult to discern whether the lack of significant change was due to differences in aloe vera preparation or study duration or was a true effect.
Devaraj et al
Devaraj et al.[27] conducted a randomized, double-blind, placebo-controlled trial of 45 patients with prediabetes to examine the hypoglycemic effects and safety of two aloe products: UP780, a chromone-enriched aloe vera gel fillet powder, and AC952, an aloe vera gel fillet powder standardized to 10% polysaccharide without chromone. Patients received 500-mg tablets of UP780, AC952, or placebo twice daily for eight weeks. Fasting blood glucose and urine glucose concentrations were obtained at baseline and at eight weeks. Significant reductions (p < 0.05) were seen in HbA1c, fructosamine, insulin, and urinary F2-isoprostanes (a marker of oxidative stress) in the UP780 group, while treatment with AC952 was associated with significantly decreased levels of glucose, fructosamine, and total and LDL cholesterol (actual data not reported). This study is available only in abstract form and did not provide detailed endpoint data. Hence, despite the reported significant decreases in blood glucose and lipid levels, it is difficult to discern the clinical significance of these changes.
Yagi et al
Yagi et al.[28] reported on 15 patients age 42–55 years whose type 2 diabetes mellitus was uncontrolled on metformin and glyburide. Participants received 2 tablespoonfuls (0.05 g) of aloe vera gel high-molecular-weight fractions (AHM) three times daily for 12 weeks. AHM was prepared from water-washed gel of aloe vera leaves. The end product had <10 ppm of barbaloin, a compound found in aloe exudates with strong stimulant laxative properties.[10] By the end of the study, fasting blood glucose concentrations had decreased 32% from baseline (baseline concentration of 235 mg/dL estimated from a graph) and had decreased 20% from HbA1c baseline (baseline of 7.6% estimated from a graph) (p < 0.001 for both endpoints). Triglyceride levels decreased 35% (baseline concentration of 236 mg/dL estimated from a graph) by study end (p < 0.001), although there was no change in total cholesterol levels. The authors described their study methods well, but the lack of a control group and the small sample size are inherent limitations.
Am J Health Syst Pharm. 2010;67(21):1804-1811. © 2010 American Society of Health-System Pharmacists, Inc.
All rights reserved. Posted with permission.
Minh Q. Ngo, Pharm.D.
Staff Pharmacist CVS Pharmacy Davis, CA
Nancy N. Nguyen, Pharm.D.
Associate Professor of Pharmacy Practice
Sachin A. Shah, Pharm.D.
Assistant Professor of Pharmacy Practice sshah@pacific.edu
Thomas J. Long School of Pharmacy and Health Sciences University of the Pacific 3601 Pacific Avenue Stockton, CA 95211
How Women Manage Recurrent Urinary Tract Infections: An Analysis of Postings on a Popular Web Forum
Highlights of the North American Society for Pediatric and Adolescent Gynecology (NASPAG) Annual Clinical Meeting
Alternative Therapy Plea May Be a Cry for Help
Medscape at 25: Recognizing Medicine's Rising Stars
Transforming Low Back Pain Care Delivery in the United States
News 'Concerning': Vitamin Use in Men With Prostate Cancer Increasing
News Patients With Hidradenitis Suppurativa Often Turn to Alternative Medicine
News CAM Use Common in Cancer Patients, Survivors
Experts And Viewpoints Goop Targets Gaps in Patient Care
According to ENDOCRINOLOGISTS
'Thyroid Diet': What's the Evidence?
Blood Glucose on Admission Predicts COVID-19 Severity in All
Assessing Thyroid Nodules: A Clinician's Guide
To Fast or Not? The New Dieting Dilemma
Fast Five Quiz: Metformin
Any Merit to Quercetin's Anticancer Claims? Article
Any 'Natural' Products Effective for Migraine? Clinical Case
A Pediatric Patient With Autism Spectrum Disorder and Epilepsy Using Cannabinoid Extracts as Complementary Therapy Journal Article
b:recommendationscuratedHasData : false


We offer CCTV Installation services across Nairobi,Kenya.We install HD CCTV and IP CCTV surveillance.The camera are of high quality.We ensure protection of your home and business with high resolution cameras from Gadgetmend Security.
Record on a full-time basis or on motion (every time there is movement) and playback events at will. You can also view your cameras remotely using your Cell phone, tablet or PC.


10-30 Petershill Court and 153-213 Petershill Drive are just 2 of 8 Multi-storey flats that make up the Red Road flats. These 2 blocks are known as slab blocks and reach between 25 to 27 storeys high. The tower blocks are located in Balornock in the northeast of Glasgow. The buildings were constructed between 1962 and 1969 and are of steel construction.
There are 312 flats in each slab block and these have been home to hundreds of families over the years.
Both buildings will be demolished by the controlled use of explosives.


text:
// Copyright 2009 the Sputnik authors.  All rights reserved.
/**
 * Number.NEGATIVE_INFINITY has the attribute DontEnum
 *
 * @path ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js
 * @description Checking if enumerating Number.NEGATIVE_INFINITY fails
 */

//CHECK#1
for(var x in Number) {
  if(x === "NEGATIVE_INFINITY") {
    $ERROR('#1: Number.NEGATIVE_INFINITY has the attribute DontEnum');
  }
}

if (Number.propertyIsEnumerable('NEGATIVE_INFINITY')) {
  $ERROR('#2: Number.NEGATIVE_INFINITY has the attribute DontEnum');
}


text:
Q: Create Jackson ObjectNode from Object I need to add a new item to an existing ObjectNode, given a key and a value. The value is specified as an Object in the method sig and should be one of the types that ObjectNode.set() accepts (String, Integer, Boolean, etc). But I can't just do myObjectNode.set(key, value); because value is just an Object and of course I get a "not applicable for the arguments (String, Object)" error.
My make-it-work solution is to create a function to check the instanceof and cast it to create a ValueNode:
private static ValueNode getValueNode(Object obj) {
  if (obj instanceof Integer) {
    return mapper.createObjectNode().numberNode((Integer)obj);
  }
  if (obj instanceof Boolean) {
    return mapper.createObjectNode().booleanNode((Boolean)obj);
  }
  //...Etc for all the types I expect
}

..and then I can use myObjectNode.set(key, getValueNode(value));
There must be a better way but I'm having trouble finding it.
I'm guessing that there is a way to use ObjectMapper but how isn't clear to me at this point. For example I can write the value out as a string but I need it as something I can set on my ObjectNode and needs to be the correct type (ie everything can't just be converted to a String).

A: For people who came here for the answer on the question: "How to create Jackson ObjectNode from Object?".
You can do it this way:
ObjectNode objectNode = objectMapper.convertValue(yourObject, ObjectNode.class);

A: Use ObjectMapper#convertValue method to covert object to a JsonNode instance. Here is an example:
public class JacksonConvert {
    public static void main(String[] args) {
        final ObjectMapper mapper = new ObjectMapper();
        final ObjectNode root = mapper.createObjectNode();
        root.set("integer", mapper.convertValue(1, JsonNode.class));
        root.set("string", mapper.convertValue("string", JsonNode.class));
        root.set("bool", mapper.convertValue(true, JsonNode.class));
        root.set("array", mapper.convertValue(Arrays.asList("a", "b", "c"), JsonNode.class));
        System.out.println(root);
    }
}

Output:
{"integer":1,"string":"string","bool":true,"array":["a","b","c"]}

A: Using the put() methods is a lot easier:
ObjectMapper mapper = new ObjectMapper();
ObjectNode root = mapper.createObjectNode();

root.put("name1", 1);
root.put("name2", "someString");

ObjectNode child = root.putObject("child");
child.put("name3", 2);
child.put("name4", "someString");

redpajama_set_name: RedPajamaStackExchange


text:
Plesiophysa is a genus of gastropods in the family Bulinidae.

Species
Plesiophysa dolichomastix Paraense, 2002
Plesiophysa granulata (Sowerby, 1873)
Plesiophysa guadeloupensis Mazé, 1883
Plesiophysa hubendicki Richards & Ferguson, 1962
Plesiophysa pilsbryi Aguayo, 1935

References

Bulinidae
Gastropod genera

redpajama_set_name: RedPajamaWikipedia


Some kind of bacteria end viral infection also caused oligospermia ie gonorrhea or mumes.
Some hormonal imbalance like pituitary or hypothalamus can cause oligospermia.
If there is an obstruction of vas deference. Due to some injury, infection or tumor it can also cause oligospermia.
Some medicine like anabolic steroid, anti fungal and antibiotic also causes oligospermia.
Some industrial chemical, heavy metal x-ray radiation also causes oligospermia.
Alcohol, tobacco depression over weight Also cause oligospermia.
Treatment: – in sanjivani clinic we treat oligospermia with ayurvedic medicine.
These medicines are purely herbal no hormonal therapy is given.
We also suggest best diet to the patient according to his body nature, weather and place he lives because every person body give response at different manner according to his body nature.
Some person body give batter response to some herbal medicine we give them according to the weather and place he lives and according to body nature.


Everyone's favorite day of the week.
No matter how tired you are from a heavy week, you still manage to wake up with energy to take on the week-end.
Could it be the anticipation of the evening's plans? Dinner at Papaye? Hangouts at Magdoos? The occasional BPPevents' parties?
ZARA pants and sweater, Steve Madden sneakers, LV bag, Valentino glasses.
Here's a great look for the fall. Don't you love how this fashionista is embracing her curls? We certainly do.
Shirt from Brian Lichtenber and shoes from Top Shop.
A few things to try this month!
This spring-summer season, Chanel's espadrilles from the 2013 resort collection is a must have.
*Pictures are from bloggers' personal IG.
Top Left: Givenchy by Riccardo Tisci clear strap sandals.
Bottom Right: Alice + Olivia clear clutch.
We've seen them on the runway, and now Lucite accessories are spotted everywhere this Spring/Summer season.
Valentino clear sandals and tote.
From clear plexiglass clutches, to high Lucite platforms and transparent totes, clear accessories were once a go go dancer signature, and now this hot new trend is spotted amongst many celebrities, and are even seen in many houses.
Solange Knowles and Beyonce both wearing Lucite heels.
Clear home accessories available at Zara Home.
Baby Blue Ivy's Lucite Crib.
"Before, I was cutting metal but I had to focus on painting after the death of my father to help my family. I've been painting for five years and I want to paint more and more." Haitian artist, Norelus MacKenly, 18.
Philanthropic shoe brand TOMS, known for its One for One principle that matches every purchased pair with a new pair of shoes donated to a kid in need, took this time a different approach by commissioning 30 Haitian artists to design a limited edition of TOMS shoes.
The project behind this initiative is to support the recovering country by creating jobs for these 30 artisans with the collaboration of Haiti-based Caribbean Craft , an organization dedicated to work with Haitian artisans.
In addition, it gives the artists the opportunity to show and express to the rest of the world their cultural visions while portraying the Haitian scenery, community and life-style on the footwear.
The shoes, which are individually hand painted by local artists between the ages of 18 to 45 in a Haiti based TOMS atelier (workshop) will be available for both women and men for a price of $68.00 at the TOMS website or US flagship store.
"For years, I have been inspired by the perseverance and passion of Haitians and the work done in Haiti by people such as Donna Karan and others. The Haiti Artist Collective is the first small step toward us going beyond One for One in Haiti. Our ultimate goal is to provide sustainable jobs that drive artistic expression and generate a desire with customers throughout the TOMS community to participate in this exciting new program," Words by the company's founder Mycoskie.
It was all there, the decor, the setting, the music, the entertainment, the loved ones … a dream wedding. Perfection from beginning to end.
SHE walked down the aisle and wow-ed everyone with her gorgeous Vera Wang mermaid style gown in organza.
The Maid of Honor was stunning in her sheer top embellished with black flowers with a black slit skirt. Her hair was pinned with a black pearl and crystal head piece with soft waves falling down to the side of her face and wore black Louboutin pumps.
Absolutely gorgeous was the mother of the Groom in this light gold lace straight dress with a boat collar.
Raya had a stunning mint green strapless mermaid gown with crystal beaded waist belt.
Black long sleeve sequin dress with open back, ankle strap sandals and a touche of pink on the lips.
Short bell shaped dress in hot pink. Veronica styled her hair in a hump slit back pony tail. She added a bold metallic necklace to her outfit and chose strap sandals with animal prints.
Bea in a sweetheart neckline beaded dress in silver.
Abir wearing a flowy red dress with an open front, a sheer back with a low U-shaped draping.
Center: Bianka wearing a gorgeous strapless embellished with silver stones, finishing with a beige veil and a mid-thigh slit.
Doris in a Mejeanne Couture (Christelle Dominique) red halter dress.
Dark blue long sleeve dress slightly cut open in the front, with an opening in the back as well. Made by Djenane Desrouleaux.
In my case, my mother and I took on the challenge of making my "Geisha style dress" as I like to call it.
I had so much fun and STRESS working on it that I had to leave you with a few pictures! Hope you enjoy them!
The details on the top: Embellished with flower designed that were hand glued to the top right of the dress, and back lace sown around the V cut all the way to the back of the neck.


AHB will launch its Hardwood Biofuels webinar series on Wednesday November 20, 2013. The series will focus on all aspects of growing poplar for biofuels, the conversion technology, and making sure the biofuels are an economically viable and sustainable enterprise for the Pacific Northwest. The first webinar will be "Growing green energy: Poplar as a short rotation bioenergy crop" and feature presenters from GreenWood Resources, Inc. On December 11, 2013 the second webinar by AHB lead investigator, Rick Gustafson, will address the sustainability aspects of producing drop-in fuels. All webinars will be at 10:00 PST to also accommodate participants on the east coast. The plan is to hold monthly webinars during fall, winter, and early spring. You can sign up to attend the webinars by contacting Nora Haider (nora.haider@wsu.edu).


Venus is sometimes called Earth's twin because Venus and Earth are almost the same size, have about the same mass (they weigh about the same), and have a very similar composition (are made of the same material). They are also neighboring planets. However, Venus and Earth are also very different. Venus has an atmosphere that is about 100 times thicker than Earth's and has surface temperatures that are extremely hot. Venus does not have life or water oceans like Earth does. Venus also rotates backwards compared to Earth and the other planets.


text:
(function() {
  angular.module('bicker_router', ['ngAnimate']).run(["State", "Route", "$location", "$rootScope", "ObjectHelper", "PendingViewCounter", function(State, Route, $location, $rootScope, ObjectHelper, PendingViewCounter) {
    "ngInject";
    var oldUrl;
    oldUrl = void 0;
    $rootScope.$on('$locationChangeStart', function() {
      if (Route.isReady()) {
        return Route.setReady(false);
      }
    });
    return $rootScope.$on('$locationChangeSuccess', function(e, newUrl) {
      var data, eventData, fieldsToUnset, key, match, ref, value;
      if (newUrl === oldUrl) {
        return;
      }
      oldUrl = newUrl;
      PendingViewCounter.reset();
      match = Route.match($location.path());
      if (!match) {
        data = {};
      } else {
        data = Route.extractData(match);
      }
      fieldsToUnset = ObjectHelper.notIn(State.list, data);
      fieldsToUnset = _.difference(fieldsToUnset, Route.getPersistentStates().concat(Route.getFlashStates()));
      eventData = {
        unsetting: fieldsToUnset,
        setting: data
      };
      $rootScope.$emit('bicker_router.beforeStateChange', eventData);
      if (eventData.unsetting.length !== 0) {
        State.unset(eventData.unsetting);
      }
      ref = eventData.setting;
      for (key in ref) {
        value = ref[key];
        State.set(key, value);
      }
      Route.resetFlashStates();
      Route.setReady(true);
    });
  }]);

}).call(this);

(function() {
  var slice = [].slice;

  angular.module('bicker_router').constant('ObjectHelper', {
    get: function(object, path) {
      var i, key, len, parent, pieces, segment;
      if (path === '') {
        return object;
      }
      pieces = path.split('.');
      key = pieces.pop();
      parent = object;
      for (i = 0, len = pieces.length; i < len; i++) {
        segment = pieces[i];
        parent = parent[segment];
        if (parent === void 0) {
          return void 0;
        }
      }
      return parent[key];
    },
    set: function(object, path, value) {
      var i, key, len, parent, pieces, segment;
      pieces = path.split('.');
      key = pieces.pop();
      parent = object;
      for (i = 0, len = pieces.length; i < len; i++) {
        segment = pieces[i];
        if (parent[segment] === void 0) {
          parent[segment] = {};
        }
        parent = parent[segment];
      }
      return parent[key] = value;
    },
    unset: function(object, path) {
      var i, key, len, parent, pieces, segment;
      if (path === '') {
        return object;
      }
      pieces = path.split('.');
      key = pieces.pop();
      parent = object;
      for (i = 0, len = pieces.length; i < len; i++) {
        segment = pieces[i];
        parent = parent[segment];
        if (parent === void 0) {
          return false;
        }
      }
      if (parent[key] === void 0) {
        return false;
      }
      delete parent[key];
      return true;
    },
    notIn: function(a, b, prefix) {
      var i, key, len, notIn, ref, thisPath;
      if (prefix == null) {
        prefix = '';
      }
      notIn = [];
      prefix = prefix.length > 0 ? prefix + "." : '';
      ref = Object.keys(a);
      for (i = 0, len = ref.length; i < len; i++) {
        key = ref[i];
        thisPath = "" + prefix + key;
        if (b[key] === void 0) {
          notIn.push(thisPath);
        } else if (typeof a[key] === 'object' && (!(a[key] instanceof Array))) {
          notIn = notIn.concat(this.notIn(a[key], b[key], thisPath));
        }
      }
      return notIn;
    },
    "default": function() {
      var defaultSet, defaultSets, key, overrides, result, value;
      overrides = arguments[0], defaultSets = 2 <= arguments.length ? slice.call(arguments, 1) : [];
      result = {};
      if (defaultSets.length === 1) {
        defaultSet = defaultSets[0];
      } else {
        defaultSet = this["default"].apply(this, defaultSets);
      }
      for (key in defaultSet) {
        value = defaultSet[key];
        if (value instanceof Array) {
          result[key] = overrides[key] || value;
        } else if (typeof value === "object" && typeof overrides[key] === "object") {
          result[key] = this["default"](overrides[key], value);
        } else {
          result[key] = overrides[key] || value;
        }
      }
      for (key in overrides) {
        value = overrides[key];
        result[key] = result[key] || value;
      }
      return result;
    }
  });

}).call(this);

(function() {
  angular.module('bicker_router').directive('routeHref', ["Route", "$location", "$timeout", function(Route, $location, $timeout) {
    return {
      restrict: 'A',
      scope: true,
      link: function(scope, iElement, iAttrs) {
        var ref, writer, writerName;
        if (iAttrs.ignoreHref === void 0) {
          iElement.click(function(event) {
            var url;
            event.preventDefault();
            url = iElement.attr('href');
            if (!Route.isHtml5ModeEnabled()) {
              url = url.replace(/^#/, '');
            }
            return $timeout(function() {
              return $location.url(url);
            });
          });
        }
        ref = Route.getUrlWriters();
        for (writerName in ref) {
          writer = ref[writerName];
          scope[writerName + "UrlWriter"] = writer;
        }
        return scope.$watch(iAttrs.routeHref, function(newUrl) {
          var url;
          if (Route.isHtml5ModeEnabled()) {
            url = newUrl;
          } else {
            url = '#' + newUrl;
          }
          return iElement.attr('href', url);
        });
      }
    };
  }]);

}).call(this);

(function() {
  angular.module('bicker_router').directive('view', ["$log", "$compile", "$controller", "ViewBindings", "$q", "State", "$rootScope", "$animate", "$timeout", "$injector", "PendingViewCounter", "$templateRequest", "Route", function($log, $compile, $controller, ViewBindings, $q, State, $rootScope, $animate, $timeout, $injector, PendingViewCounter, $templateRequest, Route) {
    var directive;
    directive = {
      restrict: 'E',
      scope: false,
      replace: true,
      template: '

',
      link: function(viewDirectiveScope, iElement, iAttrs) {
        var bindings, createView, destroyView, fields, getComponentFromBinding, getFieldsToWatch, getMatchingBinding, getStateDataForBinding, getStateFieldsFromBinding, getStateFieldsFromView, hasRequiredData, manageView, previousBinding, previousBoundState, resolve, showResolvingErrorTemplate, showResolvingTemplate, stripNegationPrefix, view, viewCreated, viewManagementPending, viewScope;
        viewCreated = false;
        viewScope = void 0;
        viewManagementPending = false;
        view = ViewBindings.getView(iAttrs.name);
        bindings = view.getBindings();
        iElement.addClass('ng-hide');
        previousBoundState = void 0;
        previousBinding = void 0;
        getStateDataForBinding = function(binding) {
          return _.cloneDeep(State.getSubset(getStateFieldsFromBinding(binding)));
        };
        getComponentFromBinding = function(binding) {
          var source;
          source = binding.component ? $injector.get(binding.component + 'Directive')[0] : binding;
          return _.defaults(_.pick(source, ['controller', 'templateUrl', 'controllerAs']), {
            controllerAs: '$ctrl'
          });
        };
        hasRequiredData = function(binding) {
          var element, i, len, negateResult, requiredState, requirement;
          requiredState = binding.requiredState || [];
          for (i = 0, len = requiredState.length; i < len; i++) {
            requirement = requiredState[i];
            negateResult = false;
            if ('!' === requirement.charAt(0)) {
              requirement = requirement.slice(1);
              negateResult = true;
            }
            element = State.get(requirement);
            if (element == null) {
              return false;
            }
            if (negateResult) {
              element = !element;
            }
            if (!element) {
              return false;
            }
          }
          if (binding.canActivate) {
            if (!$injector.invoke(binding.canActivate)) {
              return false;
            }
          }
          return true;
        };
        manageView = function(element, bindings) {
          var matchingBinding, newState;
          matchingBinding = getMatchingBinding(bindings);
          if (!matchingBinding) {
            if (viewCreated) {
              $animate.addClass(element, 'ng-hide').then((function(_this) {
                return function() {
                  return destroyView(element);
                };
              })(this));
              previousBoundState = void 0;
              previousBinding = void 0;
            }
            return;
          }
          newState = getStateDataForBinding(matchingBinding);
          if (matchingBinding === previousBinding && angular.equals(previousBoundState, newState)) {
            return;
          }
          previousBinding = matchingBinding;
          previousBoundState = newState;
          PendingViewCounter.increase();
          return showResolvingTemplate(element, matchingBinding).then(function(hasResolvingTemplate) {
            var delayForRealTemplateInsertion;
            delayForRealTemplateInsertion = hasResolvingTemplate ? 300 : void 0;
            if (!viewCreated) {
              return $animate.removeClass(element, 'ng-hide').then((function(_this) {
                return function() {
                  return createView(element, matchingBinding, delayForRealTemplateInsertion);
                };
              })(this));
            } else {
              viewScope.$destroy();
              return createView(element, matchingBinding, delayForRealTemplateInsertion);
            }
          });
        };
        getMatchingBinding = function(bindings) {
          var binding, i, len;
          for (i = 0, len = bindings.length; i < len; i++) {
            binding = bindings[i];
            if (hasRequiredData(binding)) {
              return binding;
            }
          }
          return void 0;
        };
        destroyView = function(element) {
          if (viewCreated === false) {
            return;
          }
          viewCreated = false;
          element.html('');
          return viewScope.$destroy();
        };
        createView = function(element, binding, minimumDelay) {
          var component, onResolutionFailure, onSuccessfulResolution, promises, timeStartedMainView;
          timeStartedMainView = Date.now();
          component = getComponentFromBinding(binding);
          onSuccessfulResolution = function(args) {
            var injectMainTemplate, mainTemplateInjectionDelay, resolvingTemplateShownTime;
            if (getMatchingBinding(bindings) !== binding) {
              return;
            }
            viewCreated = true;
            resolvingTemplateShownTime = Date.now() - timeStartedMainView;
            injectMainTemplate = function() {
              var controller, dependencies, link, locals, template;
              dependencies = args.dependencies;
              template = args.template;
              element.html(template);
              link = $compile(element.contents());
              viewScope = viewDirectiveScope.$new();
              if (component.controller) {
                locals = _.merge(dependencies, {
                  $scope: viewScope
                });
                controller = $controller(component.controller, locals);
                locals.$scope[component.controllerAs] = controller;
              }
              link(viewScope);
              return $timeout(function() {
                if (!binding.manualCompletion) {
                  return PendingViewCounter.decrease();
                }
              });
            };
            mainTemplateInjectionDelay = Math.max(0, minimumDelay - resolvingTemplateShownTime);
            if (resolvingTemplateShownTime < minimumDelay) {
              return $timeout(function() {
                return injectMainTemplate();
              }, mainTemplateInjectionDelay);
            } else {
              return injectMainTemplate();
            }
          };
          onResolutionFailure = function(error) {
            $timeout(function() {
              if (!binding.manualCompletion) {
                return PendingViewCounter.decrease();
              }
            });
            $log.error(error);
            return showResolvingErrorTemplate(element, binding);
          };
          promises = {
            template: $templateRequest(component.templateUrl),
            dependencies: resolve(binding)
          };
          return $q.all(promises).then(onSuccessfulResolution, onResolutionFailure);
        };
        showResolvingTemplate = function(element, binding) {
          var deferred;
          if (!binding.resolvingTemplateUrl || !binding.resolve || Object.keys(binding.resolve).length === 0) {
            deferred = $q.defer();
            deferred.resolve(false);
            return deferred.promise;
          }
          return $templateRequest(binding.resolvingTemplateUrl).then(function(template) {
            element.html(template);
            return $compile(element.contents())($rootScope.$new());
          });
        };
        showResolvingErrorTemplate = function(element, binding) {
          if (!binding.resolvingErrorTemplateUrl) {
            return;
          }
          return $templateRequest(binding.resolvingErrorTemplateUrl).then(function(template) {
            var link;
            element.html(template);
            link = $compile(element.contents());
            viewScope = viewDirectiveScope.$new();
            return link(viewScope);
          });
        };
        resolve = function(binding) {
          var deferred, dependencyFactory, dependencyName, promises, ref;
          if (!binding.resolve || Object.keys(binding.resolve).length === 0) {
            deferred = $q.defer();
            deferred.resolve({});
            return deferred.promise;
          }
          promises = {};
          ref = binding.resolve;
          for (dependencyName in ref) {
            dependencyFactory = ref[dependencyName];
            promises[dependencyName] = $injector.invoke(dependencyFactory);
          }
          return $q.all(promises);
        };
        getStateFieldsFromBinding = function(binding) {
          return _.union(binding.requiredState || [], binding.watchedState || []);
        };
        stripNegationPrefix = function(str) {
          if (str.charAt(0) === '!') {
            return str.substr(1);
          } else {
            return str;
          }
        };
        getStateFieldsFromView = function(view) {
          return _.flatten(_.map(view.getBindings(), getStateFieldsFromBinding));
        };
        getFieldsToWatch = function(view) {
          return _.uniq(_.map(getStateFieldsFromView(view), stripNegationPrefix));
        };
        fields = getFieldsToWatch(view);
        return Route.whenReady().then(function() {
          var stateWatcher;
          viewManagementPending = true;
          manageView(iElement, bindings);
          viewManagementPending = false;
          if (fields.length === 0) {
            return;
          }
          stateWatcher = function() {
            if (viewManagementPending) {
              return;
            }
            viewManagementPending = true;
            return $timeout(function() {
              manageView(iElement, bindings);
              return viewManagementPending = false;
            });
          };
          State.watch(fields, stateWatcher);
          return viewDirectiveScope.$on('$destroy', function() {
            return State.removeWatcher(stateWatcher);
          });
        });
      }
    };
    return directive;
  }]);

}).call(this);

(function() {
  angular.module('bicker_router').factory('PendingViewCounter', ["$rootScope", function($rootScope) {
    var PendingViewCounter;
    PendingViewCounter = (function() {
      function PendingViewCounter() {}

      PendingViewCounter.prototype.count = 0;

      PendingViewCounter.prototype.initialViewsLoaded = false;

      PendingViewCounter.prototype.get = function() {
        return this.count;
      };

      PendingViewCounter.prototype.increase = function() {
        return this.count += 1;
      };

      PendingViewCounter.prototype.decrease = function() {
        this.count = Math.max(0, this.count - 1);
        if (this.count === 0) {
          if (!this.initialViewsLoaded) {
            $rootScope.$broadcast('bicker_router.initialViewsLoaded');
            return this.initialViewsLoaded = true;
          } else {
            return $rootScope.$broadcast('bicker_router.currentViewsLoaded');
          }
        }
      };

      PendingViewCounter.prototype.reset = function() {
        this.count = 0;
        return this.initialViewsLoaded = false;
      };

      return PendingViewCounter;

    })();
    return new PendingViewCounter();
  }]);

}).call(this);

(function() {
  angular.module('bicker_router').factory('WatchableListFactory', ["ObjectHelper", "WatcherFactory", function(ObjectHelper, WatcherFactory) {
    var WatchableList, factory;
    WatchableList = (function() {
      function WatchableList(list) {
        this.list = list;
        this.watchers = [];
      }

      WatchableList.prototype.get = function(path) {
        return ObjectHelper.get(this.list, path);
      };

      WatchableList.prototype.getAll = function() {
        return this.list;
      };

      WatchableList.prototype.getSubset = function(paths) {
        return _.zipObject(paths, _.map(paths, this.get.bind(this)));
      };

      WatchableList.prototype.set = function(path, value) {
        ObjectHelper.set(this.list, path, value);
        return this._notifyWatchers(path, value);
      };

      WatchableList.prototype.unset = function(paths) {
        var i, len, path, results;
        if (!(paths instanceof Array)) {
          paths = [paths];
        }
        results = [];
        for (i = 0, len = paths.length; i < len; i++) {
          path = paths[i];
          ObjectHelper.unset(this.list, path);
          results.push(this._notifyWatchers(path, void 0));
        }
        return results;
      };

      WatchableList.prototype.watch = function(paths, handler) {
        var i, len, path, results;
        if (!(paths instanceof Array)) {
          paths = [paths];
        }
        results = [];
        for (i = 0, len = paths.length; i < len; i++) {
          path = paths[i];
          results.push(this.watchers.push(WatcherFactory.create(path, handler, this.get(path))));
        }
        return results;
      };

      WatchableList.prototype.removeWatcher = function(watcher) {
        var i, index, newWatchers, ref;
        if (this.watchers.length === 0) {
          return;
        }
        newWatchers = [];
        for (index = i = 0, ref = this.watchers.length - 1; 0 <= ref ? i <= ref : i >= ref; index = 0 <= ref ? ++i : --i) {
          if (this.watchers[index].handler !== watcher) {
            newWatchers.push(this.watchers[index]);
          }
        }
        return this.watchers = newWatchers;
      };

      WatchableList.prototype._notifyWatchers = function(changedPath) {
        var i, len, ref, results, watchedValue, watcher;
        ref = this.watchers;
        results = [];
        for (i = 0, len = ref.length; i < len; i++) {
          watcher = ref[i];
          watchedValue = ObjectHelper.get(this.list, watcher.watchPath);
          if (watcher.shouldNotify(changedPath, watchedValue)) {
            results.push(watcher.notify(changedPath, watchedValue));
          } else {
            results.push(void 0);
          }
        }
        return results;
      };

      return WatchableList;

    })();
    return factory = {
      create: function(data) {
        if (data == null) {
          data = {};
        }
        return new WatchableList(data);
      }
    };
  }]);

}).call(this);

(function() {
  angular.module('bicker_router').factory('WatcherFactory', function() {
    var Watcher, factory;
    Watcher = (function() {
      function Watcher(watchPath1, handler1, initialValue) {
        this.watchPath = watchPath1;
        this.handler = handler1;
        if (initialValue == null) {
          initialValue = void 0;
        }
        this.currentValue = _.cloneDeep(initialValue);
      }

      Watcher.prototype.shouldNotify = function(changedPath, watchedValue) {
        return !angular.equals(this.currentValue, watchedValue);
      };

      Watcher.prototype.notify = function(changedPath, newValue) {
        this.handler(changedPath, newValue, this.currentValue);
        return this.currentValue = _.cloneDeep(newValue);
      };

      return Watcher;

    })();
    return factory = {
      create: function(watchPath, handler, initialValue) {
        if (initialValue == null) {
          initialValue = void 0;
        }
        return new Watcher(watchPath, handler, initialValue);
      }
    };
  });

}).call(this);

(function() {
  var slice = [].slice,
    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

  angular.module('bicker_router').provider('Route', ["ObjectHelper", function(ObjectHelper) {
    var html5Mode, persistentStates, provider, ready, tokens, types, urlWriters, urls;
    tokens = {};
    urlWriters = {};
    urls = [];
    persistentStates = [];
    ready = false;
    types = {};
    html5Mode = false;
    provider = {
      registerType: function(name, config) {
        types[name] = config;
        types[name].regex = new RegExp(types[name].regex.source, 'i');
        return _.extend({
          and: this.registerType
        }, this);
      },
      registerUrlToken: function(name, config) {
        tokens[name] = _.extend({
          name: name
        }, config);
        return _.extend({
          and: this.registerUrlToken
        }, this);
      },
      registerUrlWriter: function(name, fn) {
        urlWriters[name] = fn;
        return _.extend({
          and: this.registerUrlWriter
        }, this);
      },
      registerUrl: function(pattern, config) {
        var urlData;
        if (config == null) {
          config = {};
        }
        urlData = {
          compiledUrl: this._compileUrlPattern(pattern, config),
          pattern: pattern
        };
        urls.push(_.extend(urlData, config));
        return _.extend({
          and: this.registerUrl
        }, this);
      },
      setPersistentStates: function() {
        var i, len, results, state, stateList;
        stateList = 1 <= arguments.length ? slice.call(arguments, 0) : [];
        results = [];
        for (i = 0, len = stateList.length; i < len; i++) {
          state = stateList[i];
          if (indexOf.call(persistentStates, state) < 0) {
            results.push(persistentStates.push(state));
          } else {
            results.push(void 0);
          }
        }
        return results;
      },
      setHtml5Mode: function(mode) {
        return html5Mode = mode;
      },
      _compileUrlPattern: function(urlPattern, config) {
        var compiledUrl, match, token, tokenList, tokenRegex, urlRegex;
        urlPattern = this._escapeRegexSpecialCharacters(urlPattern);
        urlPattern = this._ensureOptionalTrailingSlash(urlPattern);
        tokenRegex = /\{([A-Za-z\._0-9]+)\}/g;
        urlRegex = urlPattern;
        if (!config.partialMatch) {
          urlRegex = "^" + urlRegex + "$";
        }
        tokenList = [];
        while ((match = tokenRegex.exec(urlPattern)) !== null) {
          token = tokens[match[1]];
          tokenList.push(token);
          urlRegex = urlRegex.replace(match[0], "(" + types[token.type].regex.source + ")");
        }
        urlRegex.replace('.', '\\.');
        return compiledUrl = {
          regex: new RegExp(urlRegex, 'i'),
          tokens: tokenList
        };
      },
      _ensureOptionalTrailingSlash: function(str) {
        if (str.match(/\/$/)) {
          return str.replace(/\/$/, '/?');
        }
        return str + '/?';
      },
      _escapeRegexSpecialCharacters: function(str) {
        return str.replace(/[\-\[\]\/\(\)\*\+\?\\\^\$\|]/g, "\\$&");
      },
      $get: ["$location", "State", "$injector", "$q", function($location, State, $injector, $q) {
        var flashStates, service;
        _.forIn(urlWriters, function(writer, writerName) {
          return urlWriters[writerName] = function(data) {
            var locals;
            if (data == null) {
              data = {};
            }
            locals = {
              UrlData: data
            };
            return $injector.invoke(writer, {}, locals);
          };
        });
        flashStates = [];
        service = {
          readyDeferred: $q.defer(),
          match: function(urlToMatch) {
            var i, len, match, url;
            for (i = 0, len = urls.length; i < len; i++) {
              url = urls[i];
              if ((match = url.compiledUrl.regex.exec(urlToMatch)) !== null) {
                return {
                  url: url,
                  regexMatch: match
                };
              }
            }
            return null;
          },
          extractData: function(match, searchData) {
            var defaults, path;
            if (searchData == null) {
              searchData = void 0;
            }
            defaults = this.extractDefaultData(match);
            path = this.extractPathData(match);
            searchData = this.extractSearchData(searchData);
            return ObjectHelper["default"](searchData, path, defaults);
          },
          extractSearchData: function(searchData) {
            var data, dataKey, key, newData, ref, ref1, ref2, ref3, ref4, ref5, targetKey, value;
            if (searchData == null) {
              searchData = $location.search();
            }
            data = _.clone(searchData);
            newData = {};
            for (key in data) {
              value = data[key];
              targetKey = _.findKey(tokens, {
                searchAlias: key
              });
              if (targetKey == null) {
                targetKey = key;
              }
              if (!tokens[targetKey] || ((ref = types[(ref1 = tokens[targetKey]) != null ? ref1.type : void 0]) != null ? ref.regex.test(value) : void 0)) {
                if ((ref2 = types[(ref3 = tokens[targetKey]) != null ? ref3.type : void 0]) != null ? ref2.parser : void 0) {
                  value = $injector.invoke((ref4 = types[tokens[targetKey].type]) != null ? ref4.parser : void 0, null, {
                    token: value
                  });
                }
                dataKey = ((ref5 = tokens[targetKey]) != null ? ref5.statePath : void 0) || targetKey;
                ObjectHelper.set(newData, dataKey, value);
              }
            }
            return newData;
          },
          extractDefaultData: function(match) {
            var data, key, ref, value;
            data = {};
            ref = match.url.state;
            for (key in ref) {
              value = ref[key];
              ObjectHelper.set(data, key, (typeof value === 'object' ? _.cloneDeep(value) : value));
            }
            return data;
          },
          extractPathData: function(match) {
            var data, i, n, pathTokens, ref, token, value;
            data = {};
            pathTokens = match.url.compiledUrl.tokens;
            if (pathTokens.length === 0) {
              return {};
            }
            for (n = i = 0, ref = pathTokens.length - 1; 0 <= ref ? i <= ref : i >= ref; n = 0 <= ref ? ++i : --i) {
              token = match.url.compiledUrl.tokens[n];
              value = match.regexMatch[n + 1];
              if (types[token.type].parser) {
                value = $injector.invoke(types[token.type].parser, null, {
                  token: value
                });
              }
              ObjectHelper.set(data, token.statePath || token.name, value);
            }
            return data;
          },
          getUrlWriters: function() {
            return urlWriters;
          },
          getUrlWriter: function(name) {
            return urlWriters[name];
          },
          invokeUrlWriter: function(name, data) {
            if (data == null) {
              data = {};
            }
            return urlWriters[name](data);
          },
          go: function(name, data) {
            if (data == null) {
              data = {};
            }
            return $location.url(this.invokeUrlWriter(name, data));
          },
          getPersistentStates: function() {
            return persistentStates;
          },
          resetFlashStates: function() {
            return flashStates = [];
          },
          addFlashStates: function() {
            var newStates;
            newStates = 1 <= arguments.length ? slice.call(arguments, 0) : [];
            return flashStates = flashStates.concat(newStates);
          },
          getFlashStates: function() {
            return flashStates;
          },
          setReady: function(ready) {
            if (!ready) {
              this.readyDeferred = $q.defer();
            } else {
              this.readyDeferred.resolve();
            }
            return this.ready = ready;
          },
          isReady: function() {
            return this.ready;
          },
          isHtml5ModeEnabled: function() {
            return html5Mode;
          },
          whenReady: function() {
            return this.readyDeferred.promise;
          }
        };
        return service;
      }]
    };
    provider.registerType('numeric', {
      regex: /\d+/,
      parser: [
        'token', function(token) {
          return parseInt(token);
        }
      ]
    });
    provider.registerType('alpha', {
      regex: /[a-zA-Z]+/
    });
    provider.registerType('any', {
      regex: /.+/
    });
    return provider;
  }]);

}).call(this);

(function() {
  angular.module('bicker_router').provider('State', function() {
    return {
      $get: ["WatchableListFactory", function(WatchableListFactory) {
        var stateService;
        stateService = WatchableListFactory.create();
        return stateService;
      }]
    };
  });

}).call(this);

(function() {
  angular.module('bicker_router').provider('ViewBindings', function() {
    var View, provider, views;
    views = {};
    View = (function() {
      function View(name1, bindings1) {
        this.name = name1;
        this.bindings = bindings1;
        if (!(this.bindings instanceof Array)) {
          this.bindings = [this.bindings];
        }
      }

      View.prototype.getBindings = function() {
        return this.bindings;
      };

      return View;

    })();
    return provider = {
      bind: function(name, config) {
        var applyCommonRequiredState, applyCommonResolve, applycommonResolvingErrorTemplateUrl, newBindings;
        applyCommonRequiredState = function(bindings, commonRequiredState) {
          var binding, i, len, results;
          results = [];
          for (i = 0, len = newBindings.length; i < len; i++) {
            binding = newBindings[i];
            if (!(binding.requiredState instanceof Array)) {
              binding.requiredState = [binding.requiredState];
            }
            results.push(binding.requiredState = binding.requiredState.concat(commonRequiredState));
          }
          return results;
        };
        applyCommonResolve = function(bindings, commonResolve) {
          var binding, i, len, results;
          results = [];
          for (i = 0, len = newBindings.length; i < len; i++) {
            binding = newBindings[i];
            if (!('resolve' in binding)) {
              binding.resolve = {};
            }
            results.push(_.defaults(binding.resolve, commonResolve));
          }
          return results;
        };
        applycommonResolvingErrorTemplateUrl = function(bindings, errorTemplateUrl) {
          var binding, i, len, results;
          results = [];
          for (i = 0, len = newBindings.length; i < len; i++) {
            binding = newBindings[i];
            if (!('resolvingErrorTemplateUrl' in binding)) {
              results.push(binding.resolvingErrorTemplateUrl = errorTemplateUrl);
            } else {
              results.push(void 0);
            }
          }
          return results;
        };
        newBindings = [];
        if ('bindings' in config) {
          newBindings = config['bindings'];
        } else {
          newBindings = config instanceof Array ? config : [config];
        }
        if (!(newBindings.length > 0)) {
          throw new Error("Invalid call to ViewBindingsProvider.bind for name '" + name + "'");
        }
        if ('commonRequiredState' in config) {
          applyCommonRequiredState(newBindings, config['commonRequiredState']);
        }
        if ('commonResolve' in config) {
          applyCommonResolve(newBindings, config['commonResolve']);
        }
        if ('commonResolvingErrorTemplateUrl' in config) {
          applycommonResolvingErrorTemplateUrl(newBindings, config['commonResolvingErrorTemplateUrl']);
        }
        return views[name] = new View(name, newBindings);
      },
      $get: function() {
        return {
          getView: function(view) {
            return views[view];
          }
        };
      }
    };
  });

}).call(this);


This game requires a fashionable eye for this trendy girl eager for an amazing manicure. Choose the right design and paint her nails to help her obtain the hottest looking hands. Use the mouse to click on the nail polish, and you can also change the colour by clicking more times. It's time for a fabulous nail makeover at this fabulous salon!
Fill out this form and we will send your friend an email with a link to Fabulous Nail Salon.


JA Finland's (Junior Achievement Finland) goal is to advance entrepreneurial attitude and an active lifestyle among Finnish youths by increasing their knowledge of entrepreneurship, providing entrepreneurial experiences, enhancing readiness for working life and financial management skills.
Enterprises have the most important role in society. In addition to their valuable resources and economic value, enterprises create value to the surrounding society. Entrepreneurship creates new enterprises, jobs, and innovations. It is on this basis that economic growth is built on. Growth requires knowledge, which creates wellbeing. The success and growth of Finland requires a good operational environment and active operators. We need good partners so that we can build success for the coming decades together. We do this for the sake of children and youths and we want You to join us!
JA provides programs supporting entrepreneurship and consumer education for 7-25-year-olds through schools, universities, and other educational institutions. The programs are carried out as a part of the schools' own curricula.
The JA Europe Model Organisation Award recognizes JA Finland for performing at high-quality standards and substantially contributing to strengthening JA in Europe.
JA wishes to encourage and support schools to open their doors for the surrounding society. JA programs include pre-designed roles for business volunteers which make bridging the gap between schools and companies easier.


text:
House Judiciary Committee Holds Hearing on Oversight of the False Claims Act
Scott D. Stein, Brenna E. Jenny and Paul E. Kalb, M.D.
Last Thursday one of the subcommittees of the House Judiciary Committee held a hearing on Oversight of the False Claims Act. Four stakeholders represented the diverse viewpoints of the plaintiffs' bar, a compliance program reform initiative, the defense bar, and in-house counsel (copies of their prepared written testimony can be found here, here, here, and here).
The representative of the plaintiffs' bar attempted to cut off efforts at FCA reform by highlighting the many so-called "filters against folly" already protecting companies from being victimized by frivolous qui tam suits.
A member of the Ethics & Compliance Initiative's Blue Ribbon Panel urged the government to create "concrete, predictable incentives for companies" to create first-class compliance programs, which would include a reduction in FCA penalties "when inevitable wrongdoing does occur."
The defense bar perspective emphasized the real-world nature of the FCA dynamic, which often renders efforts to fight qui tam suits financially impossible. He advised Congress to take steps to remediate the current incentives for relators, including by encouraging internal self-disclosure and communicating to DOJ an expectation that it act on its statutory authority to dismiss meritless cases.
Finally, the president of a hospital that went through a three-year investigation as a result of a computer billing error presented his company's challenges and ultimate vindication after fighting an expansive government inquiry.
The House hearing follows an announcement earlier in the week of the formation of a bipartisan House Whistleblower Protection Caucus. The Caucus is dedicated to defending the rights of whistleblowers, and it may provide an organizing force for future relator-friendly FCA amendments.
Brenna E. Jenny
bjenny@sidley.com
Paul E. Kalb, M.D.
pkalb@sidley.com
https://fcablog.sidley.com/wp-content/uploads/sites/5/2022/08/sidleyLogo-e1643922598198.png 0 0 Paul E. Kalb, M.D. https://fcablog.sidley.com/wp-content/uploads/sites/5/2022/08/sidleyLogo-e1643922598198.png Paul E. Kalb, M.D.2016-05-02 16:52:232016-05-02 16:52:23House Judiciary Committee Holds Hearing on Oversight of the False Claims Act
December 2021 DOJ Announces Increased Inflation-Adjusted False Claims Act Penalties
The 2015 Balanced Budget Act (BBA) requires that federal agencies make inflationary adjustments to civil monetary penalties on a yearly basis to account for inflation using calculations based on the Bureau of Labor Statistics' Consumer Price Index. In recent years, these increases have occurred less frequently. But on December 13, 2021 the Department of Justice published a final rule that increases the civil penalties in False Claims Act actions for violations that that occurred after November 2, 2015, the date the BBA was enacted.
EnforcementLegislationPenalties
March 2021 Grassley Letter to AG Nominee Garland Previews Legislation To Curtail DOJ Dismissal Authority and Materiality Requirement
Senator Charles Grassley, who supported the nomination of Merrick Garland for Attorney General, sent the then-nominee a letter on February 24 to ask the Department of Justice to work to "further clarify and strengthen the False Claims Act." As we reported in previous posts (here, here, and here), Senator Grassley has publicly criticized DOJ's position that its authority to dismiss FCA suits over relators' objections is virtually unfettered, and has criticized the materiality standard established by the Supreme Court in Escobar as lending undue weight to role of government conduct (or lack thereof) in response to allegations of fraud. The letter discloses that Senator Grassley is working with "a cadre of bipartisan Senate colleagues" to "strengthen" and "improve" the False Claims Act by narrowing the materiality requirement, and by requiring a court to assess the merits of a qui tam in deciding whether to grant a motion to dismiss filed by DOJ. We will continue to monitor and report on any such legislation that may ultimately be proposed.
EnforcementGranston MemoLegislationMateriality