Laura Alakija supports Nigerian businesses in establishing anti-corruption compliance programs. She is the Lead Counsel for the corporate law group within Nigeria's Sterling Partnership law practice, which provides regulatory compliance advice and company secretariat support. Alakija advises local and international clients on business start-ups, licensing, permits and regulatory compliance requirements and has provided support to foreign investors from different jurisdictions including China, Kuwait, Italy, USA, Kenya, Canada, Switzerland and India on business entry into Nigeria. Alakija is a Barrister and Solicitor of the Supreme Court of Nigeria and a member of the Nigeria Bar Association and International Bar Association. Alakija received her LLM Transnational Oil, Gas and Energy Law for the University of Derby, United Kingdom. In a recent interview in Lagos Nigeria, CIPE program officer Laura Van Voorhees discussed Alakija's experience supporting the compliance operations of small- and mid-sized businesses in Nigeria.
What advice would you give to a business owner starting their business in Nigeria?
Start properly, keep detailed records, and seek professional advice. I realize that the general perception is that professional advice is expensive. In some respects, that is true. It is also true that it is even more expensive to seek to be compliant after years of default. What we do in our practice is to partner with small businesses by providing regulatory compliance and other legal support with some flexibility surrounding their cash flow and potential for growth. I happen to know that there are a number of law firms and other professionals who adopt a similar approach in catering to the needs of the small and medium sized businesses.
What are some of the three greatest challenges for small businesses in Nigeria?
In my opinion, these would be structure, tax, and access to funding.
Most small businesses start off without a structure. This means, for instance, that business income and expenditure are not separated from that of the proprietor: there are no accurate records and there is no plan for expansion and succession. This is especially common with businesses started as poverty alleviation programs, possibly because the thinking does not go beyond providing an immediate source of livelihood for the beneficiaries. The absence of structure also means that these businesses operate under the radar and do not pay taxes.
The consequence of foregoing taxes is that such a business does not qualify for any kind of external funding. Whether equity or debt, the key requirements for external funding – outside of a collateral – include regulatory compliance, structure, and a growth/expansion plan. This shows that the business is sustainable and reflect the business's ability to yield returns to its investors or service its debts as the case may be.
You have advised businesses which are part of multinational supply chains on compliance issues. What do these investors look for when partnering with local businesses?
In my experience, multinationals and foreign business, which aim to work with local entities, like to see processes, transparency, compliance with local laws, and zero tolerance for corruption. These are essential because a multinational company with offices in many different jurisdictions which, more often than not, will have one set of rules for all its operations will find it easier to partner with an entity which has minimal legal issues and which would very easily comply, for instance, with the FCPA or the UK Bribery Act of 2010. The usual expectation is that such an entity, which may be operated as an offshore subsidiary of the foreign parent company, would have very little or no potential of becoming a liability for the parent company's global operations.
What advice do you have for businesses that want to export internationally or work with multinational companies?
Following from my previous comment, businesses are always trying to minimize their risks and exposure to liability within their operating environments. There are no short cuts to setting up a sound business. Nigerian businesses must commit to the right structure and processes, which will in turn attract the sort of partnerships they desire. This is not necessarily a function of starting a huge enterprise, but simply setting in motion an efficient system which, with the right input, can be scaled into a large scale profitable enterprise.
You recently attended the African Women's Entrepreneurship Program inaugural meeting of the Lagos chapter. What can you offer to women's small businesses in terms of advice on regulatory issues?
There are basic regulatory compliance issues that every Nigerian business is faced with. First, it is important to know what these issues are in order to be able to comply, so I advise these businesses to seek out competent professionals and ask the right questions.
Alongside all the other advice provided previously, keep an eye out standards and for labor and employment issues. You will find as your business grows that violations in these areas are the most costly to regularize and have a higher potential than others to be fatal. So ensure that you have the right permits, licenses, certifications, authorizations; that your products are of the highest possible quality, meet the all specifications for products in that class/category and your business is registered with the relevant bodies responsible for consumer protection and for standards and quality. Also, it is imperative to ensure that your business complies and keeps complying with minimum labor and employment requirements – the requirements vary with the size of your business.
Why is it important to focus on women's businesses within the scope of global value chains? What can be done to integrate more women into these global value chains?
Empowering women's businesses directly stimulates social and economic change. More women are taking up responsibility for the survival, welfare, and education of their families. An increase in the population of successful women entrepreneurs, especially for women who have not had access to formal education to acquire a skill and build a business, will have the effect of stimulating social change within a system that has long neglected the potentials of women and taking more children off the streets – as many street hawkers and child beggars in developing economies are on the street to support their families.
I commend the activities of organizations such as the African Women's Entrepreneurship Program (AWEP), Women in Successful Careers (WISCAR), Women in Management and Business (WIMBIZ) and organizations with similar objectives, as they have developed platforms through which more women can be educated on the opportunities available both in career and business, and granted access to resources. This will inevitably result in increased participation and higher probabilities of success for women's businesses.
What has your experience been working as a woman in the compliance sector in Nigeria?
I have had and am still enjoying a good career as a legal practitioner in Nigeria. I have found my work in regulatory compliance very fulfilling because getting things right always puts my clients and their business in better stead and positively impacts their transactions and profitability. I have found in the course of my work that once you have decided that the standard is the same everywhere and for everyone, and have learnt to expect that from yourself and from others, then it is only a matter of time before everyone – colleagues, clients, and regulators – respond to you on the basis of those standards.
What drew you to an interest in legal and regulatory compliance issues?
My initial interest was in providing transaction support to businesses regardless of size. I quickly found that non-compliance with regulatory requirements was prevalent, particularly with small and medium-sized businesses. I also found that non-compliance is an obstacle to funding and partnerships which have a direct impact on growth and expansion. This is quite apart from the legal implications of non-compliance which, depending on the degree, could be fatal to a small business. Naturally, it became imperative that my advice to any new or prospective clients would start with a compliance check and regularization support in order to ensure compliance, positioning for growth and the ability to take advantage of opportunities as they arise.
What advice would you give other women wanting to enter the compliance field?
I would say to them, decide early what type of practitioner you would like to be, put in the work, and stay the course till you achieve your goals.


text:
Тэг 'Performance art'
Посмотреть все тэги
The art of asking
Don't make people pay for music, says Amanda Palmer: Let them. In a passionate talk that begins in her days as a street performer (drop a dollar in the hat for the Eight-Foot Bride!), she examines the new relationship between artist and fan.
Who am I? Think again
How do we decide who we are? Hetain Patel's surprising performance plays with identity, language and accent -- and challenges you to think deeper than surface appearances. A delightful meditation on self, with performer Yuyu Rau, and inspired by Bruce Lee.
A TED speaker's worst nightmare
Colin Robertson had 3 minutes on the TED stage to tell the world about his solar-powered crowdsourced health care solution. And then...
An art made of trust, vulnerability and connection
Marina Abramović's art pushes the boundary between audience and artist in pursuit of heightened consciousness and personal change. In her groundbreaking 2010 work, "The Artist Is Present," she simply sat in a chair facing her audience, for eight hours a day ... with powerfully moving results. Her boldest work may still be yet to come — it's taking the form of a
Four American characters
Writer and actor Anna Deavere Smith gives life to author Studs Terkel, convict Paulette Jenkins, a Korean shopkeeper and a bull rider, excerpts from her solo show "On the Road: A Search for American Character."
There's no such thing as not voting
Many people like to talk about how important voting is, how it's your civic duty and responsibility as an adult. Eric Liu agrees with all that, but he also thinks it's time to bring joy back to the ballot box. The former political speechwriter details how he and his team are fostering the culture around voting in the 2016 US presidential election — and closes with a
Eddi Reader on "What You've Got"
Singer/songwriter Eddi Reader performs "What You Do With What You've Got," a meditation on a very TED theme: how to use your gifts and talents to make a difference. With Thomas Dolby on piano.
Natasha Tsakos' multimedia theatrical adventure
Natasha Tsakos presents part of her one-woman, multimedia show, "Upwake." As the character Zero, she blends dream and reality with an inventive virtual world projected around her in 3D animation and electric sound.
The art of the eco-mindshift
Natalie Jeremijenko's unusual lab puts art to work, and addresses environmental woes by combining engineering know-how with public art and a team of volunteers. These real-life experiments include: Walking tadpoles, texting "fish," planting fire-hydrant gardens and more.
Enough with the fear of fat
In a society obsessed with body image and marked by a fear of fat, Kelli Jean Drinkwater engages in radical body politics through art. She confronts the public's perception of bigger bodies by bringing them into spaces that were once off limits — from fashion runways to the Sydney Festival — and entices all of us to look again and rethink our biases. "Unapologetic fat
Why women should tell the stories of humanity
For many centuries (and for many reasons) critically acclaimed creative genius has generally come from a male perspective. As theater director Jude Kelly points out in this passionately reasoned talk, that skew affects how we interpret even non-fictional women's stories and rights. She thinks there's a more useful, more inclusive way to look at the world, and she
Art made of the air we breathe
Emily Parsons-Lord re-creates air from distinct moments in Earth's history — from the clean, fresh-tasting air of the Carboniferous period to the soda-water air of the Great Dying to the heavy, toxic air of the future we're creating. By turning air into art, she invites us to know the invisible world around us. Breathe in the Earth's past and future in this

redpajama_set_name: RedPajamaCommonCrawl


text:
'Koxinga Z' wins top prize at the Golden Comic Awards
"Koxinga Z (1661國姓來襲)," a comic book based on Taiwanese history by artist Li Lung-chieh (李隆杰), captured the Comic of the Year title at the 9th Golden Comic Awards ceremony held in Taipei on Oct. 2.
This year, GCA received a total of 136 submissions, with 23 entries shortlisted for its nine prizes. "Koxinga Z," which reimagines Taiwan's history from the Dutch colonial era to the arrival of Chinese Ming loyalist Koxinga, was praised by the judges for its unique narrative, intriguing storyline, and vivid characters.
At the ceremony, Culture Minister Cheng Li-chiun noted that Taiwan's policies on comics have achieved three breakthroughs this year. First, the Ministry held a memorial exhibition featuring comic master Chen Uen (鄭問) earlier this year, which received more than 100,000 visitors in three months. The exhibition has helped to reframe comics as a form of art and restored its status in Taiwan.
Secondly, the government has allocated a special budget from the Forward-looking Infrastructure Development Program to support the nation's anime, comics, and games (ACG) sectors. So far, over NT$80 million in grants have been distributed among comic creators to encourage more artists to engage in creating original comics.
In addition, the Ministry will establish a lab for developing IP content at the Taiwan Contemporary Culture Lab to foster multimedia applications of comics. Moreover, the Cultural Content Institute, which will be established next year, will bring in investments through business matchmaking to advance the development of Taiwan's comics industry.
Thirdly, to promote and revitalize the comics industry as well as preserve related artifacts, Taipei's Taiwan Comic Base will officially open to the public next year. Preparations for the upcoming National Comics Museum in Taichung are also underway ― over 2,100 valuable documents have been collected and preserved by the museum's organizers between last October and this August.
While presenting the Golden Comic Award for Special Contribution to Tsai Kun-lin (蔡焜霖), Minister Cheng thanked him for establishing "Prince Semi-Weekly (王子雜誌)" and publishing works of Taiwanese comic artists by artfully dodging the "Guidelines to Publishing Comic Strips (編印連環圖畫輔導辦法)," which censored many publications during the martial law era.
Today, the government is no longer imposing such censorship on comics. Instead, it will take measures to actively ensure that artists will enjoy a better environment for fostering talents and creating original Taiwan comics, added Minister Cheng.
Tsai dedicated the prize to all his family members and friends who supported his dream in launching the "Prince" magazine and contributing to the development of comics in Taiwan.
Following the awards ceremony, the Ministry will hold several events, including business matchmaking, forums, and cultural exchange events to foster cross-sector integration of original Taiwan comics.
To highlight the multimedia applications of comics, singer Lichen presented a song recomposed by music artist Chen Wei-roo (陳瑋儒) that was based on "Demo #1," which is the theme song of "Song with No Name (無名歌)" by comic artist ROCKCAT (搖滾貓), to show their integration of music with comics at the awards ceremony.
Rock band The Chairman (董事長樂團) also performed a song that they've created for the Creative Comic Collection (CCC), a magazine that features comics on Taiwanese culture and history, to pay respect to the comics industry.
The full list of winners can be found at: http://gca.moc.gov.tw/gca/2018/default_en.asp
Artist Li Lung-chieh, creator of the Comic of the Year "Koxinga Z."
Publisher Tsai Kun-lin, recipient of the Special Contribution Award.
Culture Minister Cheng Li-chiun.


text:
A Greater Town : US : UN : International : Greece : Travel & Transportation — Vacation Rentals
1BR Resort Vacation Rental in Tiros
More near Greece, UN | Contact Vrbo
Studios Kyparissi, Apartment "Stafyli" in the heart of Arcadia / Peleponnes
Property type resort
View more vacation rentals near Greece, UN
Located in: Tiros »
Studios Kyparissi (dt: Cypresses) offers you a perfect
"Individual holiday". Located in a peaceful setting on the mountainside above Tiros, on the edge of the small, traditional village of Sapounakaiika, in the heart of Arcadia (Peleponnes, Greece).
With its exclusive aesthetics, it is a unique ensemble built of natural stone, wood and exposed concrete.
The complex consists of five studios (Elia, Βoukamvili, Stafyli, Lemoni, Portokali), each of which covers approximately 35 m² of all necessary needs, including a fully equipped kitchen and bathroom in a modern ambience.
It was founded in 2001 and is a small company with a personal, family character.
The apartments are facing the sea and offer beautiful views, access to the garden, rich in herbs, flowers, olive, lemon and orange trees.
Our resort also provides space for smaller groups, seminars and events. For common use, a dining room, an outdoor pavilion and a seminar room of 11m x 5m in size, with wooden floor, available, which can be adapted as needed.
Our guests like to be active in agriculture, such as: As the feeding of chickens, various gardening, traditional cooking and baking, the olive harvest and in the subsequent production of their own olive oil.
The combination of sea and mountains, as well as the possibility of cultural activities, is ideal.
In the beach town of Tiros, just a 2-minute drive away, many different taverns, cafes and bars provide good traditional Greek food and entertainment.
The coast offers a choice of sandy and pebble beaches, with the clearest water.
Hikes can also be started on site with organized tours.
The neighboring town of Leonidio (18km) is currently considered one of the best climbing spots in Europe.
Cultural sites, such as the Venetian harbor town of Nafplio, the ancient Mycenae, the theater of Epidaurus or the Byzantine churches of Mistras, can be reached as a day trip.
How to reach us:
By plane to the airports of Athens or Kalamata.
By car ferry from Venice, Trieste, Bari or Ancona to Patras.
Arrived in Greece, there are still about three hours either by car or taxi, there are also bus and train connections. Just contact us for your travel needs.
We organize a special arrangement with a local taxi company or a shuttle service from the train station in Corinth.
More Vacation Rentals Near Tiros,
Welcome to Guesthouse Yades, Double Studio!
1 bedroom guest house in Tiros,
Located at Loutraki Village, next to the football court, Guesthouse Yades offers stone-built suites with fireplace and private balcony. Traditionally decorated with wooden furniture and leather sofas,...
Angel Street Villas: VILLA ANDREAS
2 bedroom villa in Tiros,
Built in 2008, and renovated in 2018, Angel Street Villas: Villa Elma and Andreas is a fine blend of modern Greek design together with the traditional rustic mansion of the Cretan village. Located in...
Family central 2BDR 110m² apt near all the major sites 3 min from the metro
2 bedroom house in Tiros,
A blast from the past is this comfortable typical old classic athenian apartment,suitable for 4 people,fully equipped,with a big balcony,on the fifth floor. Located in the center of Athens,3 minutes...
Apartment in the center of Kastellos with Internet, Pool, Air conditioning, Parking (547132)
3 bedroom apartment in Tiros,
Villa Leonanto is situated in the village of Kastellos. A building of 1905 fully renovated with respect to the traditional Cretan architecture in 2016, that was transformed to a relaxing and peaceful...
Ntina House - Paxos Retreats
3 bedroom resort in Tiros,
Ntina House is located just a few km away from the picturesque village of Loggos. It's ideal for those who want to enjoy peace, quite and relaxation in their vacations. The House combines it's...
Seaside Villa with private pool
Is a modern villa with private pool,few steps away from the sandy isolated beach. The villa with high modern and luxury standards is all in one level (110 square meters). It consists of a big bright...
Athina's house chania (house near the sea)
This property is 3 minutes walk from the beach. Set in Kato Daratso, Athina's House provides air-conditioned accommodation with a terrace and free WiFi. The accommodation is 4.1 km from Chania Town....
EVEL'S HOME has all the modern and basic amenities that a traveler will need !!!
EVEL'S HOME has all the modern and basic amenities that a traveler will need. The apartment is reputed for the ability which gives to the visitor in order enjoy a unique experience from the sun-shaded...
Beachfront Villa Akti
Villa Akti is situated in enchanting forest zone of southern part of Rhodes. The house is only 50 m away from the crystal clean sea and 4 km away from Gennadi village. The house has 1 and 2 floors and...
Infinity Beach Apartmt, absolute isolation & tranquility, edge-of-the-sea!
Infinity Beach House has 145 m2 occupying the main level of Villa Aperon at Kastellakia Bay Villas. A dream house, very spacious, bright, quiet, has sea views of 270 degrees, with large terraces, very...
Beach House For Short And Long Term Holidays
Rental basis: Entire house or apartment Number of bedrooms: 2; Number of other rooms with beds: 0 Number of bathrooms: 1 Living On The Sea Beach House In Samos Island The house is on the most...
Vacation home Villa Bita in Achlada - 5 persons, 1 bedrooms
Beautiful, comfortable resort "Mourtzanakis Residence". In the district of Achlada, on top of a hill, 5.3 km from the sea, in the countryside. For shared use: large garden with flowers and trees,...
Caryatis apartment Acropolis view
"Caryatis" apartment is located in the heart of Athens right next to the Acropolis. Its balcony offers a great view of the ancient monument of the Parthenon, which is lighted beautifully at night....
Tranditional stone House (built in 1901)
Our place is build in the area of the Village Agios Mironas near iraklion (28km) in the Island of Creta. The village is a very nice place where you can find almost everything to shop, have a coffee...
Kefalonia villas: cute 4 bedroom villa with swimming pool, stunning sea view
This charming 4 bedrooms villa with wonderful swimming pool is located near a pretty village of Pessada. The villa boasts a magical view of the Ionian Sea and the neighboring island of Zakynthos -...
Luxury Villa with Private Pool - Privacy
Villa Agave "splendid" This unique and impressive villa is situated on the hillside just 2 km outside the historic town of Vamos, in the Apokoronas Area, on 3000 sq. meters field. With its privileged...
Breathtaking view to Acropolis - Parthenon
3th floor apartment, with an astonishing view of Parthenon and Philopappou hill. Friendly and cozy, the apartment is an ideal choice for families or a group of friends (8 people max), but also a...
Traditional Villa with Apartements in Olive Grove
1 bedroom condo in Tiros,
A double room with balcony, private kitchen and bathroom with shower. The appartment is capable of comfortably accommodating of 2 people. It's situated on the 1st floor of a new building. It's...
Comfy Home Victoria Athens
Comfy Home Victoria Athens is a bright apartment downtown, ready to accommodate up to 4 guests. Victoria Metro Station is less than 150 meters away from the property and within a walking distance from...
Santorini Villas Cave House "Santorini"
Complex of 8 villas renovated in 2018. Situated originally in a 1548 building that used to host villagers. In the premises you will find wine making canava, "rakidio", and the only church of the...


text:
Investing & Analysis
Home | Jacob Wolinsky
Tags: jacob | wolinsky | Debt | Ceiling | economy
We Can't Just Keep Staring at the Debt Ceiling
By Jacob Wolinsky | Thursday, 20 January 2011 10:29 AM EST
The new Congress is now in town and one of the big issues coming up is raising the debt ceiling.
In early 2010, Congress voted to raise the debt ceiling to $14.3 trillion. This means that if government debt rises above that level, the country basically shuts down because the government will be prohibited from borrowing more and will have no way to finance our trillion dollar deficits.
Treasury Secretary Timothy Geithner has urged Congress to act soon to raise the ceiling, and Federal Chairman Ben Bernanke predicts that the $14.3 trillion limit will likely be reached in April. This means D-Day is shortly approaching.
The GOP is threatening to vote against raising the debt ceiling. Republicans argue that the government should cut spending, and are also using the debt-ceiling vote as leverage to get Democrats to compromise on other issues the GOP wants passed, like corporate tax cuts, or repealed, like Obamacare.
There is no argument that we are reaching dangerous levels in the amount of debt the government owes. However, this isn't the time to play games and threaten a catastrophe if the ceiling isn't raised.
While the GOP would have the moral right to oppose raising the debt ceiling had they stuck to the platform they were elected on, this hasn't been the case.
Part of the reason why government debt is supposed to shoot up in the next two years is due to the passage of the "Tax Relief, Unemployment Insurance Reauthorization, and Job Creation Act," also being called another stimulus bill.
The bill includes tax cuts that the GOP wanted and all the goodies that the Democrats wanted. The bill was opposed by right-leaning groups including the U.S. Chamber of Commerce. The total cost of the bill is expected to be $858 billion.
While the bill likely will give the economy a boost, which could increase government revenue above the $858 billion in costs, in the short term it will clearly increase the deficit.
The GOP can't vote for measures that will increase the deficit, and then decide to not allow the government to borrow to finance it.
While there are many ways that the government can and must phase out trillions of dollars of spending in the coming decade (including entitlement programs, earmarks and waste), it is unrealistic and unwise to expect these cuts overnight.
If the GOP voted against the "stimulus bill" and refused to raise the debt ceiling, they would be standing by their principles. Now they merely look like hypocrites.
The question still remains to be seen, are we going to get the GOP that will vote for tax cuts no matter what else is in the bill, or will we get the GOP that will balance the budget.
Until then, it looks like the Republicans In Name Only (RINOs) are in charge and not the fiscal conservatives who promised spending cuts and a balanced budget during the campaign.
© 2023 Newsmax Finance. All rights reserved.
Wolinsky
The new Congress is now in town and one of the big issues coming up is raising the debt ceiling. In early 2010, Congress voted to raise the debt ceiling to $14.3 trillion. This means that if government debt rises above that level, the country basically shuts down because...
jacob,wolinsky,Debt,Ceiling,economy
Thursday, 20 January 2011 10:29 AM
MONEYNEWS.COM


Following the news that Disney are being held to ransom by hackers who claim they will release Pirates of the Carribean, IT security experts from ESET and SentinelOne commented below.
"Anything that has a value will always be a potential victim of theft, either digital or physical. If someone has it and someone wants it then in theory there's a market for it. The latest film to hit the headlines is the new Disney film "Pirates Of The Caribbean: Dead Men Tell No Tales", hackers are seeking payment to stop them releasing the film before its official UK release date of May 26.


Our private and semi-private event space is ideal for corporate, family and sports viewing gatherings, featuring many viewing screens that can also be used for AV needs during presentations and meetings.
Event Spaces: VIP Suite (Private) can accommodate up to 25 guests seated or 35 guests for a standing style reception. This space is separated from the main dining room by a floor to ceiling curtain and features four flat screen televisions that can be privately controlled for your event needs.
VIP Suite Plus (Semi-Private) opens up the private curtain and allows your group exclusive access to the space directly in front of the VIP Suite in addition. This semi-private space can accommodate up to 35 guests seated or 60 guests for a standing style reception. The VIP Suite Plus area also includes exclusive use of our shuffle board table.
Full South Side (Private) can accommodate up to 65 guests seated and 100 guests for a standing style reception. This event space secures the full South side of the building including the VIP Suite and shuffle board area separated from the remaining dining room by floor to ceiling curtains.
Food & Beverage Minimums: A food and beverage minimum is required to be met for all semi-private and private event bookings. Minimums are determined by the specific date and time of your event. All food and beverage purchases made by your group, both hosted and non hosted, will apply towards meeting the F&B minimum. If the group does not reach the minimum, the remaining balance will be charged to the credit card on file plus a 21% service charge.
Rental Fee: A $50 rental fee will be applied to all event bookings.
Deposit: A 20% deposit of the food and beverage minimum is required for all events taking place more than 14 days out.
Menus & Event Details: Our catering food offerings for special events are available for download here: Seasonal Catering Menu. Beverage offerings are customizable based on your specific event needs. All event details must be finalized (7) days prior to the event date.
Minors: Minors are permitted onsite until 9:30 PM.
Please contact our Event Manager, Jessica Apgar, at 201-841-6060 or events@independentpdx.com to begin planning your memorable event!


text:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Reflection;
namespace ZYSocket.share
{
    /// <summary>
    /// 新的数据包格式化类,非常简洁 详细请看DEMO  AutoBufferDemo
    /// </summary>
    public class ZYAutoBuffer
    {
        public Dictionary<int, List<Type>> CallsArgsTable { get; private set; }
        public Dictionary<int,MethodInfo> CallsMethods { get; private set; }

        public ZYAutoBuffer(Type packHandlerType)
        {
            InitMethod(packHandlerType);
        }

        private void InitMethod(Type packHandlerType)
        {
            CallsMethods = new Dictionary<int, MethodInfo>();
            CallsArgsTable = new Dictionary<int, List<Type>>();

            var methods = packHandlerType.GetMethods(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);

            foreach (var method in methods)
            {
                var attr = method.GetCustomAttributes(typeof(CmdTypeOfAttibutes), true);

                foreach (var att in attr)
                {

                    CmdTypeOfAttibutes attrcmdtype = att as CmdTypeOfAttibutes;

                    if (attrcmdtype != null)
                    {
                        if (!CallsMethods.ContainsKey(attrcmdtype.CmdType))
                        {
                            CallsMethods.Add(attrcmdtype.CmdType, method);

                            var types= method.GetParameters();

                            List<Type> tmplist = new List<Type>(types.Length);

                            foreach (var item in types)
                            {
                                tmplist.Add(item.ParameterType);
                            }

                            CallsArgsTable.Add(attrcmdtype.CmdType, tmplist);
                        }
                        else
                        {
                            CallsMethods[attrcmdtype.CmdType] = method;
                            var types = method.GetParameters();
                            List<Type> tmplist = new List<Type>(types.Length);

                            foreach (var item in types)
                            {
                                tmplist.Add(item.ParameterType);
                            }
                            CallsArgsTable[attrcmdtype.CmdType]=tmplist;

                        }

                        break;
                    }
                }
            }
        }

        public void Run(ReadBytesV2 read)
        {
            Run((ReadBytes)read);
        }

        public void Run(ReadBytes read)
        {
            int cmd = read.ReadInt32();

            if (CallsMethods.ContainsKey(cmd))
            {

                AutoBuffer buffer = read.ReadObject<AutoBuffer>();

                object[] args = null;

                if(CallsArgsTable.ContainsKey(cmd))
                {
                    var argsTypeTable = CallsArgsTable[cmd];

                    if (argsTypeTable.Count>0&&argsTypeTable.Count==buffer.Args.Count)
                    {
                        args = new object[argsTypeTable.Count];

                        for (int i = 0; i < argsTypeTable.Count; i++)
                        {
                            args[i] = UnpackSingleObject(argsTypeTable[i], buffer.Args[i]);
                        }
                    }

                    CallsMethods[cmd].Invoke(null, args);
                }

            }

        }

        public void Run<T>(ReadBytesV2 read,T obj)
        {
             Run<T>((ReadBytes)read, obj);
        }

        public void Run<T>(ReadBytes read,T obj)
        {
            int cmd = read.ReadInt32();

            if (CallsMethods.ContainsKey(cmd))
            {

                AutoBuffer buffer = read.ReadObject<AutoBuffer>();

                object[] args = null;

                if (CallsArgsTable.ContainsKey(cmd))
                {
                    var argsTypeTable = CallsArgsTable[cmd];

                    if (argsTypeTable.Count > 0 && argsTypeTable.Count == (buffer.Args.Count+1))
                    {
                        args = new object[argsTypeTable.Count];

                        args[0] = obj;
                        int x = 1;
                        for (int i = 0; i < (argsTypeTable.Count-1); i++)
                        {
                            x = i + 1;
                            args[x] = UnpackSingleObject(argsTypeTable[x], buffer.Args[i]);
                        }

                    }

                    CallsMethods[cmd].Invoke(null, args);
                }

            }
        }

        public void Run<T1,T2>(ReadBytes read, T1 obj1,T2 obj2)
        {
            int cmd = read.ReadInt32();

            if (CallsMethods.ContainsKey(cmd))
            {

                AutoBuffer buffer = read.ReadObject<AutoBuffer>();

                object[] args = null;

                if (CallsArgsTable.ContainsKey(cmd))
                {
                    var argsTypeTable = CallsArgsTable[cmd];

                    if (argsTypeTable.Count > 0 && argsTypeTable.Count == (buffer.Args.Count + 2))
                    {
                        args = new object[argsTypeTable.Count];

                        args[0] = obj1;
                        args[1] = obj2;

                        int x = 2;
                        for (int i = 0; i < (argsTypeTable.Count - 2); i++)
                        {
                            x = i + 2;
                            args[x] = UnpackSingleObject(argsTypeTable[x], buffer.Args[i]);
                        }
                    }

                    CallsMethods[cmd].Invoke(null, args);
                }

            }
        }

        public void Run<T1, T2,T3>(ReadBytes read, T1 obj1, T2 obj2,T3 obj3)
        {
            int cmd = read.ReadInt32();

            if (CallsMethods.ContainsKey(cmd))
            {

                AutoBuffer buffer = read.ReadObject<AutoBuffer>();

                object[] args = null;

                if (CallsArgsTable.ContainsKey(cmd))
                {
                    var argsTypeTable = CallsArgsTable[cmd];

                    if (argsTypeTable.Count > 0 && argsTypeTable.Count == (buffer.Args.Count + 3))
                    {
                        args = new object[argsTypeTable.Count];

                        args[0] = obj1;
                        args[1] = obj2;
                        args[2] = obj3;

                        int x = 3;
                        for (int i = 0; i < (argsTypeTable.Count - 3); i++)
                        {
                            x = i + 3;
                            args[x] = UnpackSingleObject(argsTypeTable[x], buffer.Args[i]);
                        }

                    }

                    CallsMethods[cmd].Invoke(null, args);

                }

            }
        }

        public static byte[] Call(int cmd,params object[] args)
        {
            return Call(cmd, null, args);
        }

        public static byte[] Call(int cmd, FDataExtraHandle dataExtra, params object[] args)
        {
            AutoBuffer buffer = new AutoBuffer()
            {
                Args = new List<byte[]>(args.Length)
            };

            foreach (var item in args)
            {
                Type type = item.GetType();

                buffer.Args.Add(PackSingleObject(type, item));

            }

            using (MemoryStream stream = new MemoryStream())
            {

                BinaryWriter bufflist = new BinaryWriter(stream);

                if (dataExtra != null)
                {

                    bufflist.Write(cmd);
                    byte[] classdata = BufferFormat.SerializeObject(buffer);
                    bufflist.Write(classdata.Length);
                    bufflist.Write(classdata);

                    byte[] fdata = dataExtra(stream.ToArray());

                    stream.Position = 0;
                    stream.SetLength(0);
                    bufflist.Write(0);
                    bufflist.Write(fdata);
                }
                else
                {
                    bufflist.Write(0);
                    bufflist.Write(cmd);
                    byte[] classdata = BufferFormat.SerializeObject(buffer);
                    bufflist.Write(classdata.Length);
                    bufflist.Write(classdata);

                }

                int l = (int)(stream.Length);

                byte[] data = BufferFormat.GetSocketBytes(l);

                stream.Position = 0;

                bufflist.Write(data);

                byte[] pdata = stream.ToArray();

                stream.Dispose();

                return pdata;

            }
        }

        public static byte[] CallV2(int cmd, params object[] args)
        {
            return CallV2(cmd, null, args);
        }

        public static byte[] CallV2(int cmd, FDataExtraHandle dataExtra, params object[] args)
        {
            AutoBuffer buffer = new AutoBuffer()
            {
                Args = new List<byte[]>(args.Length)
            };

            foreach (var item in args)
            {
                Type type = item.GetType();

                buffer.Args.Add(PackSingleObject(type, item));

            }

            using (MemoryStream stream = new MemoryStream())
            {
                BinaryWriter bufflist = new BinaryWriter(stream);

                bufflist.Write(BufferFormatV2.GetBytes(cmd));

                byte[] classdata = BufferFormatV2.SerializeObject(buffer);
                bufflist.Write(BufferFormatV2.GetBytes(classdata.Length));
                bufflist.Write(classdata);

                byte[] fdata = null;

                if (dataExtra != null)
                {
                    fdata = dataExtra(stream.ToArray());
                }
                else
                {
                    fdata = stream.ToArray();
                }

                stream.Position = 0;
                stream.SetLength(0);

                int x = fdata.Length;

                if ((fdata.Length + 1) < 128)
                {
                    x += 1;
                }
                else if ((fdata.Length + 2) < 16384)
                {
                    x += 2;
                }
                else if ((fdata.Length + 3) < 2097152)
                {
                    x += 3;
                }
                else
                {
                    x += 4;
                }

                byte[] tmp = BufferFormatV2.GetBytes(x);

                int l = fdata.Length + tmp.Length;

                byte[] data = BufferFormatV2.GetBytes(l);

                bufflist.Write((byte)0xFF);
                bufflist.Write(data);
                bufflist.Write(fdata);

                byte[] pdata = stream.ToArray();
                stream.Dispose();
                return pdata;
            }
        }

        public static object UnpackSingleObject(Type type, byte[] data)
        {

            if (type == typeof(string))
            {
                return ReadString(data);
            }
            else if (type == typeof(byte[]))
            {
                return data;
            }
#if !COREFX
            else if (type.BaseType == typeof(Array))
#else
            else if (type.GetTypeInfo().BaseType == typeof(Array))
#endif
            {
                List<byte[]> list = (List<byte[]>)ProtoUnpackSingleObject(typeof(List<byte[]>), data);

                Type memberType = type.GetMethod("Get").ReturnType;

                var array = Array.CreateInstance(memberType, list.Count);

                for (int i = 0; i < list.Count; i++)
                {
                    array.SetValue(UnpackSingleObject(memberType, list[i]), i);
                }

                return array;
            }
            else
                return ProtoUnpackSingleObject(type, data);

        }

        public static byte[] PackSingleObject(Type type, object obj)
        {

            if (type == typeof(string))
            {
                return Encoding.UTF8.GetBytes((string)obj);
            }
            else if (type == typeof(byte[]))
            {
                return (byte[])obj;
            }
#if !COREFX
            else if (type.BaseType == typeof(Array))
#else
            else if (type.GetTypeInfo().BaseType == typeof(Array))
#endif
            {
                Array array = (Array)obj;

                List<byte[]> arlist = new List<byte[]>(array.Length);

                for (int i = 0; i < array.Length; i++)
                {
                    arlist.Add(PackSingleObject(array.GetValue(i).GetType(), array.GetValue(i)));
                }

                return ProtoBufPackSingleObject(arlist);
            }
            else
                return ProtoBufPackSingleObject(obj);

        }

        public static byte[] ProtoBufPackSingleObject(object obj)
        {
            using (System.IO.MemoryStream _memory = new System.IO.MemoryStream())
            {
                ProtoBuf.Meta.RuntimeTypeModel.Default.Serialize(_memory, obj);

                return _memory.ToArray();

            }
        }

        public static object ProtoUnpackSingleObject(Type type, byte[] data)
        {
            using (System.IO.MemoryStream stream = new System.IO.MemoryStream(data))
            {
                return ProtoBuf.Serializer.Deserialize(type, stream);
            }
        }

#region  return 字符串
        /// <summary>
        /// 读取内存流中一段字符串
        /// </summary>
        /// <param name="ms"></param>
        /// <returns></returns>
        public static string ReadString(byte[] Data)
        {

            string values = Encoding.UTF8.GetString(Data);

            return values;

        }
#endregion

        public class AutoBuffer
        {
            public List<byte[]> Args { get; set; }
        }
    }
}

redpajama_set_name: RedPajamaGithub


I am reading through the magit manual trying to figure out how to configure remote variables.
This command shows remote related variables in a separate popup.
Add a remote and fetch it. The remote name and url are read in the minibuffer.
The 'M' menu does not list 'C'. How to access the 'C' option?
I have used git for a small project, now I am starting to learn magit.
I am using two github URLs for practice. The maintainer URL is https://github.com/wolfv6/repo.git . The contributor URL is https://github.com/wstudent/repo . How does the maintainer pull from the contributor's repo from magit?
What should go in the "Pull:" prompt?
Can Magit add upstream, or should I use git command line?
These are the variables that you have to set to configure master's upstream. Press u. That will prompt for a branch and you should choose origin/master as value. Based on that value, both variables will be set.
Simple answer: "upstream" isn't a special form of remote: just "add" the upstream repo as a remote named "upstream". Then you can configure it as a default pushRemote if you desire.
If you add an upstream via the git command line, as you noted, with git remote add upstream <repo path>, and then you open up the magit remote dialogue by pressing M), the new remote will not appear in the initial dialogue. However, if you choose C to "Configure", and type "upstream" into the dialogue, it will show your upstream.
Then remove the upstream via command line: git remote remove upstream and add it again via magit M + a, type "upstream" as the remote name, and enter the repo path. It then give you the option of setting the new remote name "upstream" as the pushDefault. Choose wisely.
Now we're in an equivalent state as when you added it via the command line.
Now, there's a lot of confusion about basic git process in the comments, and it seems that specifically that folks don't understand what the concept of an upstream remote is. The most common scenario is: you fork a project. The original repo is designated as the "upstream" remote, while you forked copy is the "master". Now you can happily push and merge to your "master", and it won't affect the upstream. Until you're ready, then you can push to upstream, or open a pull request (i.e., on github) from your fork to the upstream.
How to view remote URLs on magit?
How to ask magit to use external diff and merge tools?


Our office is located on the fifht floor in the Jumbo building, our main entrance is right next to the Jumbo on the left side. An employee will pick you up at the lodge, you only have to bell in front of the building. You do not have any access to come into the building by yourself becauce of the security lodge.
You have the possibility to use our visitor parking. For this we need an appointement in advance.


text:
Living Abroad/ Expat
Flights and Transport
Hotels and Villas
Send your posts
Home DestinationsAsia Hanoi – A Tour of Vietnam's Capital #1
AsiaDestinationsVietnam
Hanoi – A Tour of Vietnam's Capital #1
by Claudia Arici 28/03/2014
Vietnam is a country with many controversial issues, a country rich in history, culture and traditions, but still developing. A country with third world villages and exclusive resorts.
Hanoi, Vietnam's capital city, portrays a unique mixture of western and eastern features, of past and present. The town developed mostly around the Green Lake (Hoàn Kiếm), also known as the 'retrieved sword lake'.
As the legend goes, emperor Lê Lợi (who lived among the XIV and XV century, founded the Lê dynasty and as a victorious commander achieved Vietnam's independence from China in 1427) owed his ability and bravery to a divine help, specifically a sword given to him by the god Kim Qui ('golden turtle'). One day, while the ruler was sailing on the said lake, a turtle came to him to claim the sword and Lê Lợi gave it back. To commemorate this encounter the lake was renamed after the sword and the holy turtle is still resting in a small temple in the middle of the lake.
Huge turtles inhabit nowadays the lake, a very long living species which is threatened by extinction. It is said that they only show themselves to the visitors on special occasions and if someone is able to spot them it's a sign of immense luck.
Around the lake there are Hanoi's major quarters: the Old Quarter and the French Quarter. The first one still preserves the original road pattern and architectures.
At the beginning of XX century Hanoi was made of just 36 streets, most of them are in the Old Quarter. At that time every road hosted a specific branch of activities, like silk shops and jewelries, and the modern names still reflect their old tradition. The most popular one is the Silver Road.
The French Quarter was developed under the French rule, which imposed its own style over the town and you can still notice it when you look at the boulevards surrounded by trees, the Opera, the General Bank of Vietnam, the Presidential Palace, Saint Joseph Cathedral and the historic Hotel Metropole (where Charlie Chaplin was supposedly lodged during his honey moon).
On our first day in town we joined a guided tour with HanoiKids, which offers free tours held by university students who are able this way to improve their English. On the other hand, the tourists pay for lunch, museum tickets and transportation.
We made our first stop under a pouring rain at the Ethnological Museum. Here visitors can have a look at Vietnam's culture and society, through marvellous representations of daily life and special events. In the outer part of the museum there are several traditional buildings from the country's many provinces. It's really fun to explore them… but it was little bit less amusing to do so under the rain!
Thereafter we went to the Temple of Literature, built in 1070 by emperor Ly Thanh Tong who dedicated it to Confucio in a way to homage all scholars and literates. In 1076 it became the headquarter of Vietnam's first university, where the mandarins' children attended their education, and it kept its role until 1802, when emperor Gia Long decided to move the National University to Hué, his new capital.
The temple had to be a relaxing and meditative place. Unfortunately, beside the rain we had to face also a crowd of tourists and freshly graduated students, who along tradition go to the temple to have pictures taken of themselves.
green lakeHanoiliteraturephotostemplevietnam
Claudia Arici
Milan wasn't big enough, so to satisfy my wonderlust I started to look for new horizons. After one year in the USA and six months in France, I moved to Australia for both love and career. I left my town with a one way ticket and a lot of hope.
Nairobi's Elephant Orphanage
The Cliff-Dwellings of Mesa Verde in Colorado
Visit Phu Quoc Island East Coast – Vietnam...
Topas Riverside Lodge – Sapa – Review
Topas Ecolodge, Sapa – Review
Guide to Visiting Cham Islands with Children –...
Living in Vietnam With Children – Hoi An
Travel Like a Local in Hoi An: New...
South East Asia for Families – Our Top...
48 hrs in Saigon with Kids – Orgasmic...
What to Do and See in Moscow Including...
Top 5 Reasons You Should Motorcycle Down The...
Saint Peter 27/09/2016 - 4:49 pm
It really is definitely a very useful section of information. I am happy which you provided this handy info with us.
We are Felicity and Marco, passionate adventure travellers, now travelling full time as a family with our daughters Bella and Maya, proving that adventure travel doesn't stop the minute you become a parent.
Latest Vlog
https://youtu.be/H8yi89YnX08
@2019 - Thinking Nomads - All Right Reserved


text:
Roy Jacobsen (født 26. december 1954 i Oslo) er en norsk forfatter. Han debuterede i 1982 med novellesamlingen Fangeliv. Han er bosat i Oslo.
Han modtog Riksmålsforbundets litteraturpris i 2003 og har vært nomineret til Nordisk råds litteraturpris for romanerne  Sejerherrerne i 1991 og Frost i 2004. Han var også nomineret, som den første nordmannd, til The Man Booker International Prize i 2017, for bogen De usynlige.

Liv og virke
Jacobsen er opvokset i Groruddalen, en bydel i det nordøstlige Oslo. Han havde forskellige jobs, også efter debuten i 1982, før han blev forfatter på heltid i 1990. I årene 1979–1986 boede han på moderens hjemsted på Solfjellsjøen midt på øen Dønna i Nordland. Moderens baggrund og hans egen opvækst i Groruddalen udgjorde materialet for den bredt anlagte gennembrudsroman Sejerherrerne fra 1991, som måske mere end nogen anden norsk roman, som for et bredt publikum tydeliggjort fænomenet som er blevet kaldt «den store klasserejse». Gennem en enkelt families historie i to generationer skildres hvordan den almenlige menneskers kår i Norge i løbet af de sidste 80 år flyttet sig fra landbrugs- og proletarsamfundets nedarvede, påtvungne betingelser og hen til et postindustrielt, højteknologisk dannelses- og velfærdsamfund med store valgmuligheder, men også til dels med en helt nyskabt identitetsfølelse for mange. I 2013 udkom romanen De Usynlige. Bogen handler om hvordan livet var på en ø i Helgelands skærgård i 1920'erne.

Som skønlitterær forfatter udmærker Jacobsen sig ved sin store alsidighed – fra de korte, psykologisk indholdsrige noveller, med et rigt billede og sprogbrug, til de bredere anlagte romaner, med mange historiske, litterære, sproglige og politiske kundskaber, fra Islands sagatid til det 20. århundredes krigshistorie på kontinentet og i Rusland og Finland.

Jacobsen skrev manuskriptet til den danske storfilm Valhalla Rising i 2008 sammen med Nicolas Winding Refn, som også instruerede filmen.

Han har været medlem af radiorådet i NRK, og er medlem af Det Norske Akademi for Sprog og Litteratur.

Jacobsen blev i 2017 udnævnt til ridder af Den Islandske Falkeorden.

Referencer

Eksterne henvisninger
 Presentasjon av Roy Jacobsen i Forfatterkatalogen på Forfattersentrums nettsider
 NRK: Lydfiler med Roy Jacobsen
 Roy Jacobsen  i Cappelens Damm Forlag
 Digitaliserte bøker av Jacobsen og om Jacobsen hos Nasjonalbiblioteket.

Romanforfattere fra Norge
Novelleforfattere fra Norge
Modtagere af Gyldendalprisen
Personer fra Oslo

redpajama_set_name: RedPajamaWikipedia