text:
Kathryn A. Sweeney
Co-founder, Managing Partner and Chief Investment Officer
Kathryn Sweeney is responsible for setting and directing Blue Moon Capital Partners' investment strategies including taking the lead on acquisitions and portfolio management and setting return optimization strategies. She is also jointly responsible, with Susan Barlow, for setting the long-term strategic direction of Blue Moon. Kathryn is a member of the Management and Investment Committees. She has been an active investment advisor and manager in the senior housing industry since 1997.
Previously, Kathryn was Managing Director of The GPT Group's US senior housing portfolio. GPT Group is one of Australia's largest diversified listed property groups. During her tenure with GPT, Kathryn was ensconced within Benchmark Senior Living where she gained deep insight into senior living operations that enhanced her influence on the strategic direction of GPT's portfolio and contributes to her being viewed as a valuable strategic resource to Blue Moon's operating partners.
Kathryn's senior housing career began with AEW Capital Management, when in 1997 she began investing development capital on behalf of opportunistic investors and ultimately became the senior housing portfolio manager at AEW for the CalPERS senior housing separate account. Early in her career, Kathryn worked for The Boston Company Real Estate Counsel, one of the veterans of the institutional real estate investment business.
Kathryn currently serves on the Executive Committee of the American Seniors Housing Association (ASHA), which focuses on legislative and regulatory advocacy, research and educational opportunities for the senior living industry. She previously served on the National Investment Center for the Seniors Housing and Care (NIC) Board of Directors for seven years and as Chairperson for two years. NIC is the leading research, education and networking organization for owners, operators and capital providers in the senior housing sector. Kathryn also served on the Board of Directors of Vi Living, the Pritzker family's continuing care retirement community business. She earned a Bachelor of Science degree in Economics at Boston University and a certificate in Risk Management and Strategic Decisions from Stanford University.
Susan J. Barlow
Co-founder, Managing Partner and Chief Operating Officer
Susan Barlow is responsible for the day-to-day operations of the business, product development, capital formation and along with Kathryn Sweeney, setting the long-term strategic direction for Blue Moon Capital Partners. Susan is Chairperson of the Management and Investment Committees. She has over 30 years of experience advising institutional real estate clients on branding, strategy implementation, product development and capital formation.
Previously, Susan was Managing Director and Head of Global Client Relations for RREEF, a global institutional real estate investment manager wholly owned by Deutsche Bank. At RREEF, she directed the activities of the firm's 60-person global client relations team and led the firm's product development, client relations, sales, marketing and investor communications. She was a member of the global Executive Committee responsible for managing RREEF and also, a member of the Infrastructure Executive Committee, Private Equity Executive Committee and Board of Directors of Rosen Real Estate Securities.
Susan co-founded a real estate fund-of-funds investment management firm allocating capital to small and mid-size operating companies. Previously, she was the CEO and President of a strategic advisory firm assisting real estate operating partners and investment managers in developing investment vehicles and capital formation strategies for the institutional marketplace. Early in her career, she founded the institutional real estate consulting practice for Callan Associates, one of the largest independently owned investment consulting firms in the United States.
Susan serves on the National Investment Center for the Seniors Housing and Care (NIC) Board of Directors as Vice-chair and leads the Active Adult Task Force. NIC is the leading research, education and networking organization for owners, operators and capital providers in the senior housing sector. She earned a Master of Business Administration degree from the University of Denver and a Bachelor of Science degree from Black Hills State University.
Chris S. Kronenberger
Managing Director, Investments
Chris Kronenberger is responsible for cultivating new relationships and investment opportunities and all aspects of the day-to-day investment activity. Chris is also a member of Blue Moon's Investment Committee.
Prior to joining Blue Moon, Chris spent eight years with PGIM Real Estate (formerly Prudential Real Estate Investors) in Atlanta, Georgia where he oversaw all of the underwriting and due diligence for new acquisitions and dispositions for their dedicated senior housing funds. In addition, Chris maintained joint venture partner relationships and had asset management responsibilities on a number of senior housing investments. Prior to joining PGIM Real Estate, Chris began his real estate career as an analyst for Brown Realty Advisors in Atlanta where he was involved in the analysis of over $600 million in multifamily sales. Early in his career, Chris served as a senior accountant with a start-up healthcare company in Alpharetta, Georgia.
Chris is an alumni (class of 2017) of the National Investment Center for Senior Housing and Care's (NIC) Future Leaders Council. Chris obtained his Bachelor of Business Administration from the University of Tennessee.
Kevin J. Donahue
Kevin Donahue is responsible for working with Blue Moon's senior living operating partners in the development and execution of property level business plans in an effort to maximize asset level performance. He also contributes his many years of senior living operating experience to the underwriting and due diligence of new investments. Kevin is a member of Blue Moon's Investment Committee.
Prior to joining Blue Moon Capital Partners, Kevin was Vice President of Financial Planning & Analysis with Benchmark Senior Living, a leading Northeast based operator, where he was responsible for all aspects of the company's business planning processes, as well as for providing all financial and analytical support for the day-to-day operations of the business. Kevin also oversaw the preparation of annual property level budgets incorporating all strategic initiatives to achieve corporate goals. With his operations focus, Kevin was intimately involved in all underwriting for new developments and acquisitions. Kevin was also responsible for managing expectations and relationships with multiple joint venture partners. Prior to Benchmark, Kevin held several positions in finance and operations with Hoyts Cinemas Corporation (today Regal Cinemas) and began his career at Fresenius Medical Care where he held various accounting and finance positions in the kidney dialysis and homecare fields.
Kevin is an alumni (class of 2016) of the National Investment Center (NIC) Future Leaders Council. He is a former board member of the Wellesley Montessori School. Kevin graduated from the University of Massachusetts at Amherst with a double major in Economics and Political Science.
Elyse Hanson
Director, Investments
Elyse Hanson has experience across the full spectrum of commercial real estate industry functions including acquisitions, dispositions, underwriting, due diligence, construction management and property management. At Blue Moon, Elyse is responsible for underwriting potential acquisitions, performing due diligence on assets under contract and executing transactions. Additionally, she oversees asset- and portfolio-level financial modeling as well the insurance programs for Blue Moon's existing portfolios.
Prior to Blue Moon, Elyse worked at Paradigm Properties, where she underwrote potential acquisitions, ran the due diligence process for purchased assets, managed the investment team and oversaw the financial performance of a portfolio of office buildings in Greater Boston.
Elyse is an alumna of the National Investment Center for Senior Housing and Care's (NIC) Future Leaders Council (class of 2020). She has been an active volunteer with Horizons for Homeless Children since 2010. Elyse earned an AB degree in Government with a secondary concentration in Economics from Harvard College.
James Estes
Associate Director, Investments
James Estes is responsible for supporting the asset management function at Blue Moon Capital Partners by working with the Managing Director Investments and the firm's senior living operating partners to maximize asset level performance. James provides detailed analyses of property financial performance and key metrics to drive partnership discussions.
Prior to joining Blue Moon, James spent two years at Benchmark Senior Living, where he was a financial analyst in support of the operations and sales teams. In this role, he delivered detailed property level analyses and forecasts to senior management, as well as sophisticated key performance models designed to spot emerging trends in the business. He was also an integral part of the annual business plan process for 55+ assets.
James earned a Bachelor of Science degree with Honors in Corporate Finance and Accounting from Bentley University in 2015, where he was a member of the Honor's Program.
Rachel Tang
Associate, Investments
Rachel Tang supports Blue Moon's investment team by underwriting, modeling and conducting due diligence on prospective investments, as well as performing financial analyses of existing portfolios.
Prior to joining Blue Moon, Rachel worked as a senior valuation associate for CBRE's Valuation & Advisory Services. While working at CBRE, Rachel conducted third-party valuation, operational and market due diligence, consulting assignments of single asset to large portfolio transactions specific to the seniors housing sector, with exposure to a wide range of operators and markets.
Rachel earned her master's degree from the Hotel School of Cornell University, where she majored in Hospitality Management, with a Minor in real estate finance.
Greg Moore
Analyst, Investments
Greg Moore supports Asset Management on Blue Moon's operating assets, developments and acquisitions. Greg is responsible for working with Blue Moon's senior living operating partners in the development and execution of property level business plans to maximize asset level performance.
Prior to joining Blue Moon, Greg worked in commercial property valuation with Boston Appraisal & Consulting. Greg was also an Associate at Kirk & Company where he was involved in property valuation, market research and analysis, market rent analysis and property transactions.
Greg graduated from Suffolk University Sawyer Business School with a Bachelor of Science in Business Administration in Finance.
J. Damien Bradley, CPA
Managing Director, Finance & Accounting – Chief Compliance Officer
Damien Bradley oversees the accounting and financial reporting functions of Blue Moon. He brings over 15 years of varied and progressive real estate accounting experience involving all asset classes and development transactions. Damien also serves as Blue Moon's Chief Compliance Officer.
Prior to joining Blue Moon, Damien worked at TA Realty as assistant controller and overseeing the financial reporting requirements for both commingled funds and separate accounts. Prior to TA Realty, Damien was a Senior Accountant with Peabody Properties, managing the financial reporting for a portfolio which included multifamily, retail and condominiums.
Damien received his Bachelor of Arts from Elms College and his Master of Business Administration from the University of Massachusetts-Amherst where he was awarded the Flavin Fellowship for Entrepreneurship.
Nicole Baldelli, CPA
Nicole Baldelli is responsible for supporting the accounting operations, financial reporting and treasury functions at Blue Moon. Prior to joining Blue Moon, Nicole was an Assistant Fund Controller at Guggenheim Real Estate where she focused on financial reporting for a diversified, direct property portfolio. Prior to Guggenheim Real Estate, Nicole was a Senior Associate at PwC where she worked on financial statement audits and other review engagements with a primary focus on clients within the real estate industry.
Nicole graduated from Providence College with a Bachelor of Science in Accountancy and is a CPA in Massachusetts.
Dylan Connelly, CPA
Dylan Connelly supports the accounting and financial reporting functions for Blue Moon. Dylan reports to the Controller and has investment and corporate accounting responsibilities. Prior to joining Blue Moon, Dylan began worked at Deloitte and KPMG in the tax practices where he was primarily responsible for tax compliance and consulting engagements for hedge fund and private equity clients.
Dylan graduated from Bentley University with a Bachelor of Science Degree in Accountancy and is a licensed CPA in the state of Massachusetts.
Tyler Mannion, CPA
Tyler Mannion supports the accounting and financial reporting functions for Blue Moon. Tyler reports to the Controller and has investment and corporate accounting responsibilities. Prior to joining Blue Moon, Tyler was a Senior Associate at PricewaterhouseCoopers (PwC) in the M&A Financial Due Diligence group where he performed buy-side and sell-side financial due diligence for Corporate and Private Equity clients. Prior to PwC, Tyler was a Senior Associate at Deloitte in the Audit practice focusing on Private Equity and Hedge Fund clients.
Tyler earned a Bachelor of Science degree with Honors in Accounting from Quinnipiac University in 2018 where he was Captain of the Men's Cross Country team. Additionally, Tyler is a CPA in the state of Massachusetts and has passed Level I of the CFA program.
Alex Matt
Alex Matt contributes to the implementation and maintenance of compliance policies, procedures and ongoing oversight of Blue Moon's compliance activities. Alex also conducts senior living industry research and assists with ESG research.
Prior to Blue Moon, Alex was an Intern with the MIT Integrated Design & Management program, where he implemented a service component into the program's curriculum, initiated partnerships with several local non-profits and created a guide to the program's human-centered design formula. Alex is a recent graduate of Dickinson College, where he earned a Bachelor of Arts degree in Political Science and a certificate in Security Studies.
Kristina Sutton
Office Manager and Executive Assistant
Kristina Sutton handles day-to-day office operations as well as supporting the office staff. Prior to Blue Moon, Kristina was the Culture Operations Officer for a co-working start-up in Atlanta, GA, handling operations, events and marketing. Prior to the start-up, Kristina worked for a real estate company as a Marketing Manager, which included client relations, website management, company branding and marketing strategy.
Kristina graduated from the University of Georgia with a Bachelor of Journalism in Advertising and minor in Consumer Economics in 2016 and served as captain of the National Champion Majorette team.
699 Boylston St. Ste. 700 Boston, MA 02116 | Office 617.307.5960
© 2020 Blue Moon Capital Partners, LP All rights reserved. Privacy Policy | Terms of Use | Contact Us


text:
22.01.2004 Sports News
President calls on the for private sector to invest in sports
By GNA
Accra, Jan. 22, GNA - The President, Mr John Agyekum Kufuor has extended an urgent invitation to the private sector to invest in sports infrastructural development to bring the country's facilities to an appreciable standard to warrant the hosting of big tournaments. He promised prospective investors good returns on their investment and a "feel-good factor among the population".
President Kufuor was delivering the State of the Nation address in Accra on Thursday where he announced that the Accra and Kumasi Sports Stadiums will be rehabilitated while land have been already been acquired at Sekondi-Takoradi and Tamale for the construction of modern stadia in anticipation of Ghana hosting the 2008 Africa Nations Cup. Ghana and South Africa are bidding to host the bi-annual soccer fiesta in 2008.
The President commended Ghana's contingents to last year's All Africa Games in Abuja, Nigeria, where the country won a total of 23 medals including four gold medals, the best since 1973, and the women's national soccer team, the Black Queens, for their thrilling performance in the last Women's World Cup in the USA.
He, however, bemoaned the absence of the senior national soccer team, the Black Stars' from this year's Africa Cup of Nations scheduled to kick-start in Tunis, Tunisia, on Saturday.
Ghana failed to qualify from a group, which comprised such minnows as Rwanda and Uganda.
President Kufuor called on Ghanaians to wish the Olympic soccer team, the Black Meteors, the best of luck towards their qualification for the Athens Olympic games.
To reverse the country's abysmal sporting performance, the president urged the appropriate authorities to vigorously pursue schools sports programme to ensure a brighter future.
Support pours in for striking journos at France's historic L'Equipe newspaper
16.01.2021 | Sports News
Decathlon Ghana committed to supporting Ghana Sports
Decathlon Ghana opens new office at Kawukudi
Sports entertainment show; 'Africa Empire Warrior' launched
8-year-old Ghanaian wins Africa Under-9 Chess Championship
How the power of sport changed the world in 2020
Vetting of candidates for GHALCA elections scheduled for Wednesday
Breakdancing confirmed as new sport for 2024 Olympic Games
Awinongya Expresses Gratitude To Asamoah Gyan Foundation

redpajama_set_name: RedPajamaCommonCrawl


text:
<?php

namespace module\rolunk\controllers;

class AllController
{
    /** @var \twig */
    protected $twig;
    /** @var \module */
    protected $module;

    public function __construct()
    {
        $autoload = new \autoload();
        $this->twig = $autoload->class_load('twig');
        $this->module = $autoload->class_load('module');
        $this->twig->setModule('rolunk');
    }

    public function show()
    {
        return $this->twig->render('all.html', array(
            'frontend_menu' => $this->module->auto_module_load('frontend_menu'),
            'frontend_slider' => $this->module->auto_module_load('frontend_slider'),
            'frontend_footer' => $this->module->auto_module_load('frontend_footer'),
            'info_content' => (new InfoController())->show(),
            'work_videos' => (new WorkVideosController())->show(),
            'work_images' => (new WorkImagesController())->show(),
            'companies' => (new CompaniesController())->show(),
            'contact' => (new ContactController())->show()
        ));
    }
}

redpajama_set_name: RedPajamaGithub


We think this grab bag experiment went swimmingly, don't you? Along with the other 46 inspired recipes using various permutations of blood oranges, feta and mint, we wound up with two equally simple, equally impressive finalist recipes that are still so very different: Ricotta, Feta and Mint Layers with Honeyed Blood Oranges by mrslarkin and Feta Frozen Yogurt with Blood Orange and Mint Granita by Helenthenanny. Watch the video below and then cast your vote!
Both recipes look so delicious! It is going to be very difficult to vote this week. Amanda, Love your mixer! What kind is it?
Thank you. Merrill bought it for me for Christmas -- I've always wanted a hand mixer! It's a new line by Viking.
I was just the messenger -- Amanda discovered it at an event.
Yahoo!!!! Thank you so much A&M!! So fun to come home to!!
Not sure if you noticed but it's amazing how many different colors the granita can be. Your version looked orange. The first one we made was fuschia colored and the second one was more a dark red.
Not sure which of these I'd choose - both look so good!
Can regular oranges stand in for blood oranges?
I did notice the audio/visual delay a tiny bit also.
Rhonda, for the Ricotta Feta Layers, I think regular oranges would do just fine.
The sound was a bit off this week. (And note to self: do not attempt to compete with a hand mixer!) Regular oranges should work beautifully for both recipes -- you just won't get the lovely fuschia color.
Something wonderful has occurred - no more "sticking/stop-start"" in your recent videos. Sound quality better too. Well done!
Good -- I wonder if the sticking/stop-start has to do with the loading of the video. You might want to try and let the video fully load before pressing start. Sometimes that helps.
That was FUN! And a little surreal. And suspenseful! The loaf pan put up a pretty good fight! Well done, A&M!
We were sweating there for a minute.
That is so great to hear, Mrs. W! Good tip on the alternate extraction method! Violas! Can't wait for spring to arrive!
Yes, thanks so much for the great tip MrsWheelbarrow. Not quite as fun as banging the pan on the counter but less precarious!


text:
Q: Compress BitArray with GZip in C# I have BitArray with 100M elements .This is about 12.5M .
I have to compress this array . I use GZipStream of Framework .
   public static byte[] Compress(byte[] bytData)
    {
        try
        {
            MemoryStream ms = new MemoryStream();
            Stream s = new GZipStream(ms, CompressionMode.Compress);
            s.Write(bytData, 0, bytData.Length);
            s.Close();
            byte[] compressedData = ms.ToArray();
            return compressedData;
        }
        catch
        {
            return null;
        }
    }

    static void Main(string[] args)
    {
        BitArray t = GetArray();
        byte []byteArray = new byte[100000000/8];
        t.CopyTo(byteArray, 0);
        byte[] compressedData = Compress(byteArray);
        Console.WriteLine(compressedData.Length);
    }
    public static BitArray GetArray()
    {
        Random r = new Random();
        BitArray result = new BitArray(100000000);
        for (int i = 0; i < result.Count; i++)
        {
            if (r.NextDouble() > .5)
            {
                result.Set(i, true);
            }
        }
        return result;
    }
}

But the size of variable compressedData is 12515308.
It's bigger then original array.
Any Ideas?
May be need I another compressor?

A: Have you tried not using random data? Data that compresses well is not random. I believe the common compression algorithms look for patterns of bits in order to compress. As a simple test, you could write out those random bytes into a file, and then see what happens when you zip it.

A: No compressor can compress truly random data.  (As was pointed out, you can compress pseudo-random data if you can deduce the seed and the algorithm.)
What is your application?  Do you have real data to test it with?

redpajama_set_name: RedPajamaStackExchange


text:
Yet Another Gaming Blog
is currently a Nintendo Switch discussion site, apparently
Golf Story: Nintendo Switch Indiessentials
As more and more people worldwide pick up and enjoy Nintendo's latest machine, the number of indie games appearing on the eShop increases by the day. As a result, it can be difficult to weed out the gems among the mess. In this new series, I'm hoping to shine a light on the best games from independent studios on the Nintendo Switch. This is Nintendo Switch Indiessentials.
It's been a long, long while since Camelot Software's Mario Tennis and Golf's Game Boy Color games graced our screens. One wondered whether we might ever see a return to the RPG-lite form, given Camelot's recent output in the Mario sports series. Fortunate, then, that I wasn't the only person on the planet wondering this. Sidebar Games, an indie developer from Australia, has blessed us with Golf Story; a love letter to those handheld classics.
Golf Story tells the tale of an upstart Golfer, desperate to earn his shot on the pro tour, and to make his father proud. Hardly Shakespeare, but more than enough to keep you engaged from start to finish. From the first to the last, you'll meet a genuinely charming cast of characters, across a myriad of courses. Variety is the spice of life, and you'll travel from a standard course, to one on the beach front, to the snow covered mountains and beyond.
Naturally, given it's "RPG-lite" status, there is an element of progression involved. XP can be spent on building your characters swing power, accuracy, et al. Furthermore, new (and very old) clubs and equipment can be unlocked as you get further into the story.
Golf Story's use of pixel art is nice. In Television mode, the colours really pop, and you're rewarded with an incredibly vibrant world.
Camelot's influence in Golf Story extends beyond just the concept, however. The game is absolutely eye-catching. Every environment is so vibrant and colourful; a wonderful throwback to the 16-bit era. Sidebar even took the opportunity to borrow the classic "three click swing" that has followed the Mario Golf series right up to its most recent 3DS iteration.
New Tricks
While the Golf Story wears its love of Camelot's classics on its sleeve, it does have a few of its own tricks. Off the golf course, rounds of mini golf, disc golf, drone golf (yeah me neither), and lawn bowls are available to break up the play. While these additions are certainly welcome, it's a shame these concepts aren't built upon more. Given mini golf is merely an extension of putting, it's a shame there's only a single mini golf course in the game.
In fact, while it's nice these distractions are available, it feels like a missed opportunity that they are just that; distractions.
At £13.49, it's an easy recommendation. The story will take you 15ish hours, with plenty more to take on outside of the story. For a first time effort, Sidebar Games should be absolutely delighted with the results. Now then…anyone for Tennis Story?
Thomas Willoughby
Indiessentials, Nintendo Switch, Reviews
Golf Story, Indie Games, Indiessentials, Nintendo, Sidebar Games, Switch
look at the shite this guy comes out with


Think huge mimosa bar, egg souffles, compound butters, hot flaky biscuits with gravy and poached eggs and lemon hollandaise. All breakfast should be this awesome. Come and share Mother's Day with us and enjoy a fabulous meal you make yourself!


text:
Published on November 30th, 2015 | by TINA
A class-action lawsuit was filed in the Southern District of Texas against an MLM venture promoting energy services known as Stream Energy. The plaintiffs alleged, among other things, that the company is actually a pyramid scheme, that they lost money as a result of being deceptively lured in by the company, and that the company is violating the Racketeer Influenced and Corrupt Organizations ("RICO") Act through its fraudulent activity.
The district court certified the class on the basis that plaintiffs could establish their common reliance on the alleged misrepresentations by showing that Ignite was indeed a pyramid scheme. Ignite appealed, and the Fifth Circuit — in a 2-to-1 decision — reversed, holding that each class member's reliance on the alleged misrepresentations is an individualized inquiry and that some class members theoretically knew before joining that the company was a pyramid scheme. Under this holding, which decertifies the class, illegal pyramid schemes will be vaccinated against all civil litigation, "immunizing them not just from class actions but ultimately from all judicial challenges," as the dissenting opinion correctly noted.
The plaintiffs then petitioned the Fifth Circuit to rehear the case en banc in order to reconsider the panel's surprising decision, and TINA.org filed an amicus curiae brief in support of that petition. On March 12, 2016, the Fifth Circuit granted the petition to rehear the case. TINA.org then filed an amicus curiae brief in support of the District Court's decision to certify the class and, on September 30, 2016, the Fifth Circuit Court of Appeals affirmed the District Court's decision, meaning that the case may indeed proceed as a class action, a big win not only for the plaintiffs in this case, but for consumers nationwide deceived by other similar schemes.
Then, in April 2017, the defendant companies asked the United States Supreme Court to review the case by filing a Petition for a Writ of Certiorari, which, in October 2017, SCOTUS refused to do, meaning that the Fifth Circuit decision affirming the District Court's decision to certify the plaintiff class stands.
Finally, in March 2018, the parties notified the Court that they reached a settlement agreement.
Multi-Level Marketing – a way of distributing products or services in which the distributors earn income from their own retail sales and from retail sales made by their direct and indirect recruits.
Tags: DSA, ignite, MLM or pyramid scheme
Deceptive Ad Trends to Be Wary of in 2022 →
TINA.org's Ninth Year in Review →
Companies that Get Coal in 2021 →
What You Should Know about USANA →
Stream Energy
+ Status & Updates
+ Amicus Brief in Support of Petition for Rehearing
Uncontested Motion for Leave
Order Granting Motion for Leave
+ Amicus Brief in Support of Affirmance
+ Relevant Court Decisions
District Court Decision
5th Circuit Decision
Order Granting Rehearing En Banc
5th Circuit Decision After Rehearing
U.S. Supreme Court Denying Cert
+ Relevant Party Briefs
Petition for Rehearing En Banc
Response to Petition for Rehearing
Appellants' Brief after Rehearing Granted
Appellees' Brief after Rehearing Granted
Did the 5th Circuit Just Call Texas-based Ignite a Pyramid Scheme?


An antique style wood effect wall clock with an aged Italian villa illustrated face and a roman dial. This clock is the perfect compliment to a home with vintage inspired features and at 35.5 cm in diameter is ideal for a kitchen or living room wall. Includes classic black spade hands and a precise quartz movement (requires 1 x AA battery, not included).


text:
//
//  AppDelegateCategoryController.m
//  TJKit
//
//  Created by 唐杰 on 17/3/3.
//  Copyright © 2017年 Tang杰. All rights reserved.
//

#import "NSStringCategoryController.h"
#import "NSString+Header.h"

@interface NSStringCategoryController ()<UITableViewDelegate,UITableViewDataSource>
{
    NSMutableArray *_dataAr;
}
@end

@implementation NSStringCategoryController

- (void)viewDidLoad {
    [super viewDidLoad];

    _dataAr = @[].mutableCopy;

    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:NSStringFromClass([UITableViewCell class])];

    NSString *num = @"12345678901";
//    示例:13855556666 --> 138 5555 6666
    [self insertRowsAtText:num toText:[NSString ba_phoneNumberFormatterSpace:num]];
//    示例:13855556666 --> 138****6666
    [self insertRowsAtText:num toText:[NSString ba_phoneNumberFormatterCenterStar:num]];
    num = [num substringToIndex:7];
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithStyle:NSNumberFormatterCurrencyStyle numberString:num]];
//    示例:12345678.89 --> 12,345,678.89
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithDecimalStyleWithNumberString:num]];
//    示例:12345678.89 --> $12,345,678.89
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithCurrencyStyleWithNumberString:num]];
//示例:12345678.89 --> 1,234,567,889%
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithPercentStyleWithNumberString:num]];
//示例:12345678.89 --> 1.234567889E7
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithScientificStyleWithNumberString:num]];
//    示例:12345678.89 --> 一千二百三十四万五千六百七十八点八九
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithSpellOutStyleWithNumberString:num]];
//    示例:12345678.89 --> 第1234,5679
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithOrdinalStyleWithNumberString:num]];
//    示例:12345678.89 --> USD 12,345,678.89
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithCurrencyISOCodeStyleWithNumberString:num]];
//    示例:12345678.89 --> USD 12,345,678.89
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithCurrencyPluralStyleWithNumberString:num]];
//    示例:12345678.89 --> 12,345,678.89美元
    [self insertRowsAtText:num toText:[NSString ba_stringFormatterWithCurrencyAccountingStyleWithNumberString:num]];
//    保留纯数字
    [self insertRowsAtText:num toText:[@" 5s67.8sd23 " ba_removeStringSaveNumber]];
}
- (void)insertRowsAtText:(NSString *)text toText:(NSString *)toText
{
    [_dataAr addObject:[NSString stringWithFormat:@"%@ --> %@",text, toText]];
    [self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:_dataAr.count-1 inSection:0]] withRowAnimation:UITableViewRowAnimationBottom];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//    NSString *detail = nil;
//    switch (indexPath.row) {
//        case 0:
//            detail = [TJ_Application appName];
//            break;
//        case 1:
//            detail = [TJ_Application appVersion];
//            break;
//        case 2:
//            detail = [TJ_Application appBuildVersion];
//            break;
//        case 3:
//            detail = [TJ_Application appBundleID];
//            break;
//        case 4:
//
//            break;
//        case 5:
//
//            break;
//        case 6:
//
//            break;
//        case 7:
//
//            break;
//        case 8:
//
//        default:
//            break;
//    }
//    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:_dataAr[indexPath.row] message:detail delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
//    [alert show];

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
#pragma mark - Table view data source

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return _dataAr.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([UITableViewCell class]) forIndexPath:indexPath];
    cell.textLabel.text = _dataAr[indexPath.row];
    // Configure the cell...

    return cell;
}

/*
 // Override to support conditional editing of the table view.
 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
 // Return NO if you do not want the specified item to be editable.
 return YES;
 }
 */

/*
 // Override to support editing the table view.
 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
 if (editingStyle == UITableViewCellEditingStyleDelete) {
 // Delete the row from the data source
 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
 } else if (editingStyle == UITableViewCellEditingStyleInsert) {
 // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
 }
 }
 */

/*
 // Override to support rearranging the table view.
 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 }
 */

/*
 // Override to support conditional rearranging of the table view.
 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
 // Return NO if you do not want the item to be re-orderable.
 return 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.
 }
 */

@end


Convert string to numeric value.
Generate a pseudo-random number between 0 and 2147483647L or 2147483562?
Seed the pseudo-random number generator.
Definition at line 441 of file string.c.
References base, digit_value(), strtoul_pre(), and value.
Referenced by aoe_parse_uri(), bzimage_parse_cmdline(), bzimage_parse_cpio_cmdline(), efi_snp_hii_store(), fc_aton(), fc_id_aton(), ftp_parse_value(), ftp_reply(), gdbserial_init(), http_parse_content_length(), http_parse_retry_after(), http_parse_status(), http_rx_chunk_len(), ib_srp_parse_integer(), inet6_aton(), inet_aton(), iscsi_handle_chap_i_value(), iscsi_handle_targetaddress_value(), iscsi_parse_root_path(), mac_address_from_string_specs(), parse_int_setting(), parse_integer(), parse_setting_tag(), pnm_ascii(), scsi_parse_lun(), slam_parse_multicast_address(), string_test_exec(), tftp_process_blksize(), tftp_process_multicast(), tftp_process_tsize(), uri_decode(), uri_port(), and xenstore_read_num().
Definition at line 476 of file string.c.
Allocates memory with no particular alignment requirement. ptr will be aligned to at least a multiple of sizeof(void*).
Definition at line 583 of file malloc.c.
References ASSERTED, DBGC, heap, NULL, and realloc().
Referenced by add_ipv4_miniroute(), add_tls(), aes_unwrap(), aes_wrap(), alloc_iob_raw(), apply_dns_search(), ath5k_hw_rfregs_init(), chap_init(), cmdline_init(), cms_parse_signature_value(), deflate_test_exec(), der_asn1(), derwin(), dhcpv6_rx(), dupwin(), efi_download_start(), efi_local_check_volume_name(), efi_local_len(), eisabus_probe(), fc_ulp_login(), fetch_setting_copy(), format_uri_alloc(), http_format_ntlm_auth(), int13_hook(), ipoib_map_remac(), isabus_probe(), isapnpbus_probe(), iscsi_rx_buffered_data(), iscsi_scsi_command(), jme_alloc_rx_resources(), jme_alloc_tx_resources(), loopback_test(), mcabus_probe(), memcpy_test_speed(), mlx_memory_alloc_priv(), net80211_probe_start(), net80211_register(), newwin(), nfs_uri_symlink(), ntlm_authenticate_okx(), ocsp_response(), ocsp_uri_string(), parse_kv(), parse_net_args(), pci_vpd_resize(), pcibus_probe(), peerblk_decrypt(), peerblk_parse_header(), pem_asn1(), rsa_alloc(), sandev_parse_iso9660(), storef_setting(), storen_setting(), strndup(), t509bus_probe(), tls_assemble_block(), tls_assemble_stream(), tls_new_session_ticket(), uhci_enqueue(), usb_config_descriptor(), usb_get_string_descriptor(), usbio_config(), usbio_path(), vasprintf(), vesafb_mode_list(), vmbus_open(), wpa_make_rsn_ie(), wpa_start(), and zalloc().
Allocates memory with no particular alignment requirement. new_ptr will be aligned to at least a multiple of sizeof(void*). If old_ptr is non-NULL, then the contents of the newly allocated memory will be the same as the contents of the previously allocated memory, up to the minimum of the old and new sizes. The old memory will be freed.
If allocation fails the previously allocated block is left untouched and NULL is returned.
Calling realloc() with a new size of zero is a valid way to free a memory block.
Definition at line 521 of file malloc.c.
References alloc_memblock(), assert, ASSERTED, container_of, autosized_block::data, data, DBGC, free_memblock(), heap, memcpy(), NOWHERE, NULL, offsetof, autosized_block::size, VALGRIND_FREELIKE_BLOCK, VALGRIND_MAKE_MEM_DEFINED, VALGRIND_MAKE_MEM_NOACCESS, and VALGRIND_MALLOCLIKE_BLOCK.
Referenced by asn1_grow(), bitmap_resize(), cachedhcp_init(), dhcpopt_init(), efi_ifr_op(), efi_ifr_string(), free(), ibft_alloc_string(), ibft_install(), line_buffer(), malloc(), nvo_realloc(), process_script(), and xferbuf_malloc_realloc().
* return without touching the old block.
Memory allocated with malloc_dma() cannot be freed with free(); it must be freed with free_dma() instead.
If ptr is NULL, no action is taken.
Definition at line 604 of file malloc.c.
References ASSERTED, DBGC, heap, and realloc().
Allocate memory as per malloc(), and zero it.
Definition at line 624 of file malloc.c.
References ASSERTED, data, DBGC, heap, malloc(), and memset().
Referenced by add_menu_item(), add_parameter(), alloc_ibdev(), alloc_image(), alloc_netdev(), alloc_pixbuf(), alloc_sandev(), alloc_usb(), alloc_usb_bus(), alloc_usb_hub(), aoecmd_create(), aoedev_open(), ar9300_eeprom_restore_internal(), arbel_alloc(), arbel_create_cq(), arbel_create_qp(), ata_open(), atadev_command(), ath5k_hw_attach(), ath5k_probe(), ath9k_init_softc(), ath_descdma_setup(), atl1e_setup_ring_resources(), autovivify_child_settings(), block_translate(), cachedhcp_init(), calloc(), cms_parse(), cms_signature(), concat_args(), create_downloader(), create_menu(), create_parameters(), create_pinger(), create_validator(), dhcp_deliver(), dhcpv6_register(), dns_resolv(), efi_block_boot_image(), efi_block_install(), efi_driver_start(), efi_file_open(), efi_image_cmdline(), efi_image_path(), efi_local_open(), efi_pxe_install(), efi_snp_hii_fetch(), efi_snp_hii_install(), efi_snp_hii_process(), efi_snp_hii_store(), efi_snp_probe(), efi_usb_install(), efi_usb_open(), efi_usb_probe(), efipci_start(), ehci_endpoint_open(), ehci_probe(), ehci_ring_alloc(), eoib_create_peer(), exanic_probe(), fc_els_create(), fc_ns_query(), fc_peer_create(), fc_port_open(), fc_ulp_create(), fc_xchg_create(), fcoe_probe(), fcpdev_open(), fcpdev_scsi_command(), fetch_string_setting_copy_alloc(), fetchf_setting_copy(), flexboot_nodnic_create_cq(), flexboot_nodnic_create_qp(), flexboot_nodnic_eth_open(), flexboot_nodnic_probe(), fragment_reassemble(), ftp_open(), generic_settings_store(), golan_alloc(), golan_create_cq(), golan_create_qp_aux(), guestinfo_fetch_type(), guestinfo_net_probe(), hermon_alloc(), hermon_create_cq(), hermon_create_qp(), http_connect(), http_open(), http_open_post_uri(), hub_probe(), hv_probe(), hvm_probe(), hw_open(), ib_cmrc_open(), ib_create_conn(), ib_create_cq(), ib_create_madx(), ib_create_mi(), ib_create_path(), ib_create_qp(), ib_mcast_attach(), ib_srp_open(), ibft_install(), init_mlx_utils(), ipv6_add_miniroute(), ipv6_register_settings(), iscsi_open(), linda_create_send_wq(), mlx_memory_zalloc_priv(), ndp_register_settings(), neighbour_create(), net80211_handle_mgmt(), net80211_prepare_assoc(), net80211_probe_start(), net80211_probe_step(), net80211_step_associate(), nfs_open(), nii_map(), numeric_resolv(), ocsp_check(), ocsp_uri_string(), open(), parse_uri(), peerblk_open(), peerdisc_create(), peerdisc_discovered(), peermux_filter(), ping_open(), png_pixbuf(), pxe_menu_parse(), qib7322_create_send_bufs(), qib7322_create_send_wq(), qib7322_probe(), rc80211_init(), resolv(), resolv_setting(), rtl818x_probe(), scsi_open(), scsidev_command(), sec80211_install(), sis190_mii_probe(), skge_probe(), skge_ring_alloc(), sky2_probe(), sky2_up(), slam_open(), srp_open(), srpdev_scsi_command(), start_dhcp(), start_dhcpv6(), start_ipv6conf(), start_ntp(), start_pxebs(), tcp_open(), tftp_core_open(), tg3_alloc_consistent(), tls_send_certificate(), tls_session(), tls_set_cipher(), txnic_bgx_probe(), txnic_pf_probe(), udp_open_common(), uhci_endpoint_open(), uhci_probe(), undipci_probe(), undirom_probe(), uri_dup(), usb_probe_all(), usbio_endpoint_open(), usbio_interfaces(), usbio_interrupt_open(), usbio_start(), usbkbd_probe(), validator_start_download(), virtnet_open_legacy(), virtnet_open_modern(), vmbus_probe(), vmbus_probe_channels(), vp_alloc_vq(), vxge_hw_device_initialize(), x509_alloc_chain(), x509_append(), x509_certificate(), xcm_create(), xenbus_probe_device(), xenstore_response(), xfer_open_named_socket(), xhci_bus_open(), xhci_device_open(), xhci_endpoint_open(), xhci_probe(), xhci_ring_alloc(), xsigo_ib_probe(), and xve_create().
This is implemented as a static inline, with the body of the function in zalloc(), since in most cases nmemb will be 1 and doing the multiply is just wasteful.
Definition at line 45 of file stdlib.h.
Referenced by ath5k_desc_alloc(), ath5k_eeprom_convert_pcal_info_2413(), ath5k_eeprom_convert_pcal_info_5111(), ath5k_eeprom_convert_pcal_info_5112(), and slk_init().
Definition at line 30 of file random.c.
References currticks(), rnd_seed, and srandom().
Referenced by arbel_alloc_qpn(), cipher_cost(), digest_cost(), dns_send_packet(), efi_pxe_udp_write(), efi_snp_hii_random_guid(), eth_random_addr(), forcedeth_open(), hermon_alloc_qpn(), http_digest_authenticate(), ib_create_conn(), ib_create_qp(), inject_corruption_nonzero(), inject_fault_nonzero(), iscsi_handle_chap_c_value(), iscsi_open_connection(), loopback_test(), memcpy_test_speed(), ntlm_response(), peerdisc_create(), profile_test_exec(), rand(), start_dhcp(), start_dhcpv6(), tcp_open(), tcpip_bind(), tcpip_random_okx(), tls_new_server_hello(), tls_send_client_hello(), vmbus_open(), and wep_encrypt().
Definition at line 19 of file random.c.
Referenced by random(), srand(), and tcpip_random_okx().
Definition at line 59 of file stdlib.h.
Referenced by cipher_cost(), digest_cost(), mlx_utils_rand_priv(), oncrpc_init_session(), and register_netdev().
Definition at line 63 of file stdlib.h.
Referenced by cipher_cost(), digest_cost(), and register_netdev().
Definition at line 74 of file stdlib.h.
Execute the named command and arguments.
Definition at line 287 of file exec.c.
References command_terminator(), count, ENOMEM, execv(), expand_tokens(), free, free_tokens(), NULL, rc, SHELL_STOP_COMMAND, shell_stopped(), split_command(), and strdup().
Definition at line 28 of file main.c.
References initialise(), ipxe(), NULL, printf(), product_short_name, rc, shutdown_exit(), and startup().