Each year, the Magi Tree at Good Shepherd gives us the opportunity to share gifts with those less fortunate during the holidays. Children in the Lutheran Services Carolinas (LSC) Foster Care Program, survivors of Hurricane Florence, and our adult friends with developmental disabilities are recipients of Magi Tree gifts this year.
This Sunday, take a moment to choose an ornament (or two) from the Magi Tree to make this Christmas a little more special for someone. Thank you to Ilene Holmes for sharing the story below of why and how she gave to the Magi Tree.
I was in foster care as a teenager. In a little more than 3 years, I lived in 4 foster homes. Moves were sudden, came without warning and often did not make sense to me. I had no control over the moves, I just had to go on very short notice. One day, all my plans would just be turned upside down, and I had to pack up all my stuff quickly, not knowing what the new home would be like, if I would feel welcome there, or if I would like it. I did not get to say goodbye to friends, so as far as they were concerned, I just suddenly dropped off the face of the earth. It made me feel invisible, as if I was not important to anyone, as if there was no one I could count on. I had to start over again in a new home, a new town, a new school, make new friends.
At times like that, it was really hard to hold onto my sense of self, my dignity and composure. But there was no time to fall apart. Falling apart would have made it even harder to adjust and would have made it harder to establish new relationships.
From the Magi tree, I chose a 17 year old girl who asked for a duffel bag. I envisioned that she needed it so she would be able to hold herself together on those awful days when her world is turned upside down, maybe a scenario she is too familiar with already. Maybe she has already experienced having to pack up all her things in plastic grocery bags. I am planning to pack her duffel with lots of nice bags of all sizes and some with nice names on them from stores, even collapsible bags that she can carry along in her purse or pocket. At the very least, she can arrive at her new home with all of her things, whatever they may be, in nice bags. I hope it will help her hold her head up.


Ok, this cant be that hard..
I'm doing some creative writing, and it's a long story but I need a database I can put a good chunk of the details in.
The aim is I will write various python and or perl script to produce the various different documents I need based on the data in the database. This is the easy bit - I can handle that.
However before that I'd like a nice simple tool which allows to to view the database and stuff the data in the various fields without jumping thru hoops. I'd expect this to be a graphical tool - and indeed the best I've found so far seems to be knoda - but its not working for me as I can't get it to connect to my Firebird Db.
The things is from the SQL side what I really want is good SQL Compliance including referential integrity and I don' want to open any new ports or play complicated games with permissions just point the DB access library at a file in my home directory - hence Firebird as libfbembed looked a good fit for this - except I think knoda uses lbfbclient. SQLLite seems out as it doesn't support ref integrity.
Does anyone have any hints where else I can look? My web search haven't turned up anything.
I've already had to build the firebird drivers myself for knoda - so I might got and play with their source and see if can them see libfbembed instead..
Hello all you excellent people!
Let's say I have an x-session running on machine A with some applications going. I log in from a remote machine (B) via ssh (or I'm open to suggestions). Is there a way that I can take over the x session on machine A and have the already running applications appear in X on machine B?
Also, if I execute an application that uses audio, I can get the video in the X server side, but the audio runs on the client machine. Is there a way to get x over ssh to use not only the x server but also the sound server on the server machine?


This entry was posted on August 22, 2010 at 1:52 pm and is filed under Canvas / Mixed media, Exhibition, Graffiti.	You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


Ulagalla was opened in 2010 and has filled a huge gap in the market for truly high-end, independent resort property in the 'Cultural Triangle'. Hidden amidst 58 acres of forest, reservoirs and paddy fields, Ulugalla's location is pretty spectacular to say the least and the team have made maximum use of their stunning surroundings.
Ulagalla Resort is built around an ancient mansion that has been restored to its original state, developed and furnished to retain its own distinctive character. The property borders two ancient reservoirs and the lower level of the mansion is the reception/ lobby area; it also includes a coffee lounge and fine dining restaurant on the upper floor.
Ulugalla has 25 chalets, all elegantly designed and beautifully furnished. Some overlook the reservoir while others the resort's flourishing paddy fields. Each chalet has large living areas and private pools.
The property also a boasts a 30-metre fresh water swimming pool and electric cars to shuttle guests within the vast grounds. The team of highly qualified chefs create gourmet cuisine to suit the individual needs of every guest.
Ulugalla has been fairly creative with the activities they offer: as well as bar billiards, guests can do horse riding, kayaking and even archery.
The resort is ideally located for exploring the ancient sites of the region. Ulagalla is located in the hamlet of Tirappane, 40 km north of Dambulla on the Dambulla - Anuradhapura road. Anuradhapura is just 20 km from the resort and it is extremely convenient to access the cultural triangle sites and other historic sites from the resort.


The Commission is the body corporate of the Northern Ireland Assembly and has the responsibility under paragraph 40(4) of the Northern Ireland Act 1998 to provide the Northern Ireland Assembly, or ensure that the Northern Ireland Assembly is provided, with the property, staff and services required for the Northern Ireland Assembly to carry out its work.
The Northern Ireland Assembly, elected on the 26 November 2003, was dissolved on 30 January 2007. Elections to the Northern Ireland Assembly took place on the 7 March 2007. The Northern Ireland Assembly was suspended on the 14 October 2002 and was restored on the 8 May 2007.


Safeguard against ransomware at the malware delivery and execution stages using technologies in the multi-layered protection stack.
Ransomware is a type of Trojan that modifies user data on a victim's computer so that the victim can no longer use the data or fully run the computer.. Once the data has been "taken hostage" (blocked or encrypted), the user receives a ransom demand. The last tells the victim to send the malefactor money; on receipt of this, the cybercriminal promises to send a program to the victim to restore the data or restore the computer's performance.
Common ransomware is widely spread via malicious spam campaigns, exploit kits, etc.
For efficient protection against ransomware, a security solution has to use a multi-layered protection model. Kaspersky Lab's multi-layered, next generation protection lets products detect ransomware at both the delivery stage and execution stage of the attack. Let's look deeper at these stages.
One of the most common ways to distribute ransomware nowadays is to send archives with executable scripts in emails (spam mail). As an alternative, Microsoft Office documents with malicious macros are used as attachments.
In Kaspersky Lab's products, component Mail AV analyses the whole context of the message (including email attachments) and applies strong heuristics to the content.
Automatic Exploit Protection (AEP) is a special component to stop malware (including ransomware) penetration through software vulnerabilities. Among the most important applications protected by AEP are browsers, office applications, pdf readers, and so on. On every suspicious action from the mentioned software, like child process start, the component applies additional security analysis of their behavior against malicious patterns. AEP helps to block ransomware, including CryptXXX and many others.
In 2017, the world become aware of the use of network vulnerabilities as a method of ransomware distribution. WannaCry ransomware was proliferated by means of SMB vulnerability exploitation. Such an exploit can only be stopped on the network level. Kaspersky Lab's products have a special component for network traffic analysis – intrusion detection system (IDS). This component analyses network packets in low level and applies heuristic patterns to them to detect malicious network activity. This component successfully detects EternalBlue/EternalRomance exploits. This helped to prevent the WannaCry infection.
Matching such malicious behavior pattern, Behavior Engine blocks the process and rollbacks the changes. Among examples of successful ransomware detection by means of such pattern are Polyglot, WannaCry (encryption part of the malware), etc.
Detection of ransomware is not limited by the mentioned pattern, and many others could be efficient against these type of threats.
Efficiency of the approach was proven during the July 2017 attack by ransomware ExPetr. Threat actors used low level part of Petya ransomware for Master File Table (MFT, contains all file, directory and file metadata of NTFS file system) encryption. To execute it, they run a high-level component, which rewrites the Master Boot Record (MBR) of hard disk. Threat Behaviour Engine component marks such behaviour as malicious and stops the process. Even if other threat actors write similar ransomware, its functionality would fail regardless of the used types of obfuscation / anti-emulation techniques.
In 2017, Kaspersky Lab registered several groups which were attacking organizations with one main goal: encrypt their data.
In many cases of targeted attacks, legitimate utilities for disk/file encryption were used. For example, DiskCryptor for encryption and PSExec for mass installation through corporate network. Static and basic behavior-based detections of legitimate utilities would be inefficient due to producing false positives in case of legitimate usage. This creates requirement of collecting and analyzing full context of utility usage. For the mentioned example, the pattern of installation of the legitimate utility for encryption through PSExec utility could be suspicious and corresponding protection enforcement by the product would prevent data from damaging without extra False Alarms for other users.


EXOR's Net Asset Value, or NAV, decreased by 24.4% in 2011, underperforming the MSCI World Index denominated in Euros - the benchmark against which we measure our performance - by 19.9%.
Despite our negative 2011 NAV performance we strongly believe that the quality of the companies we own and the ability of their leaders will allow EXOR's NAV to continue to outperform the MSCI World Index over the long term.
I think it's appropriate to give a brief overview of the challenging 2011 macroeconomic environment, especially in Europe. The sovereign debt crisis spread from Greece to other southern European countries, significantly increasing the cost of borrowing for the likes of Spain and Italy. Had these two countries defaulted, with a stock of sovereign debt in excess of €2.5 trillion, it probably would have marked the end of the Euro as a common currency. A hard-won Europe-wide solution that balances fiscal austerity and solidarity mechanisms has helped restore confidence in the Euro zone. Italy has been crucial in this process, with the new government moving rapidly to implement structural reforms to ensure the sustainability of its sovereign debt, and it is now playing a proactive role in redesigning the governance of the European Union. These actions have been critical to restoring Europe's credibility with the global capital markets.
Jean Monnet said that "Europe will be forged in crises, and will be the sum of the solutions adopted for those crises". It is my hope and wish that in a few years, the sovereign debt crisis will come to be seen as having encouraged the necessary steps towards a more unified, stable and, most importantly, competitive Europe. The recent crisis has made clear that monetary union alone is insufficient; a true European Union will only be complete once this is complemented by common fiscal policies, greater solidarity among member states, and a shared financial discipline. Euro zone economies are already linked irreversibly, and I am more convinced than ever that European citizens are heading toward a more integrated political Europe.
Outside Europe the economic outlook in 2011 was mixed. News from the United States was mostly positive with activity increasing throughout the year, marking the end of the recession that began back in 2008. Unemployment has declined and the housing cycle should have reached a bottom, but debt level and government spending remain high. In many emerging countries, on the other hand, economic growth slowed during 2011, but it still remains high, about 6% on average.
Before moving on to our investments, I would like to address two important misperceptions, and in so doing to provide a clearer context in which to judge our NAV performance. I will do this by referencing data from our four largest investments (Fiat Industrial, SGS, FIAT-Chrysler and Cushman & Wakefield), which combined represent 83.5% of EXOR's Investment Value.
First, given our historical roots, it's easy to understand why some may perceive EXOR to be a predominantly European company. And had we decided to benchmark EXOR's NAV performance against the DJ Eurostoxx 50 Index or the FTSE MIB Index, our 2011 performance would have looked significantly better (we underperformed the DJ Eurostoxx 50 Index by just 7.3% and outperformed the FTSE MIB Index by 0.8%). Nevertheless, we have deliberately chosen to benchmark ourselves against the global MSCI World Index given our determination to build a truly global investment company. Our revenue diversification, aimed at achieving an established presence in the NAFTA region (USA, Canada and Mexico) along with a sizeable exposure to emerging markets, has now reached an advanced stage. In 2011 62% of the combined revenues of EXOR's largest investments was generated outside of Europe. Our geographic revenue mix was particularly well balanced, with 33% of revenues generated in the NAFTA region, 38% in Europe and 29% in the Rest of the World (mainly from Latin America and Asia Pacific). By this measure the United States of America is by far our single largest market, accounting for 27% of revenues.
There is still a noticeable mismatch in perceptions of where our shares happen to be listed and where our businesses actually generate their revenues and profits. A mismatch that also affects other listed European equities and therefore offers potentially interesting investment opportunities.
Second, mainly as a result of our sizeable investment in FIAT-Chrysler (and FIAT Industrial, from this year), we are perceived to be a highly cyclical company. While it is undeniable that some of our investments are significantly exposed to economic cycles (and indeed benefit when cycles rise), their financials proved to be extremely resilient in 2011, which was not a cyclically strong year. The leadership teams of our portfolio companies have been able to improve the economics of their businesses even in the most extreme of macroeconomic contexts: the aggregate adjusted Earnings Before Interest and Taxes (EBIT) of our four largest investments was €4.8 billion in 2011, an increase of 215% over 2009. All four companies contributed to this result and, more importantly, all of them are working hard to increase further their EBIT in 2012.
In this year's letter I would like to describe in greater detail EXOR's four largest investments and their performance. I will address them in order of value.
On January 1, 2011, FIAT Industrial began its life as the third largest business in the global capital goods industry by revenues. With 67,000 employees, the group includes CNH (agricultural and construction equipment), IVECO (trucks and commercial vehicles) and FPT Industrial (industrial and marine engines).
FIAT Industrial celebrated its first anniversary at year end with a strong set of results: on revenues of €24.3 billion Fiat Industrial generated an adjusted EBIT of €1.7 billion, well above guidance and ahead of the 2010 results (+14% in revenues terms, +54% for adjusted EBIT). Strong cash flow generation enabled a 35% reduction in net debt to €1.2 billion, and the Board's confidence was reflected in its decision to distribute €240 million in dividends in its first year as a stand-alone business.
FPT Industrial consolidated its leadership with several major developments in the Engine and Transmissions space, supplying not only Fiat Industrial's needs but also external customers, which account for 33% of its revenues.
The company has strength and depth in management, with competent CEOs heading each of the three businesses. I'm confident that, with the Industrial Executive Council and the benefit of Sergio Marchionne's leadership, they will deliver even greater results in the future.
FIAT Industrial was included in the Dow Jones Sustainability Index (for both the World and Europe) in its first year of operation, and it ranked as Industry Leader in the industrial engineering sector. As shareholders, we are pleased with these achievements as we encourage our companies to manage their businesses according to the best sustainability criteria.
During 2011 FIAT Industrial's Board of Directors proposed to shareholders the conversion of the Company's preference and savings shares into ordinary shares with the aim of streamlining the company's capital structure, benefiting all shareholders through a simplified ownership and the enhanced liquidity of the Company's shares.
SGS is the world leader in verification, testing, control and certification. Since its founding in 1878, the company has been dedicated to making sure that what we eat, wear, trade, etc. meets the necessary standards.
SGS is a wonderful business, with more than 70,000 employees around the globe lead by Chris Kirk and the Operations Council (whose 24 members are drawn from the different businesses, geographies and main business functions). Thanks to their great work, SGS maintained its profitability and margins even during periods of economic contraction. We are fortunate indeed to be major owners of such a business, and we are determined to seize every opportunity to develop SGS's activities.
Despite a very challenging global trading environment during 2011, SGS delivered an increase in revenue on a constant currency basis of 13.7%, generating a total of CHF 4.8 billion. This was achieved through solid organic revenue growth of 10.5% and was attributable to increases in activity across most geographic areas and businesses, primarily in the Minerals, Consumer Testing, Industrial and Environmental businesses.
Acquisitions continued to be an essential part of SGS's growth plan, enabling the company to leverage its global capabilities and further consolidate its position as a world leader in its field. A record twenty-two acquisitions were completed in 2011, allowing SGS to grow six existing businesses in twelve countries, adding new expertise, faster access to new and emerging markets and, most importantly, highly qualified and talented individuals.
Adjusted EBIT increased by 10.7% in 2011 on a constant currency basis to CHF 815 million. Thanks to its strong cash flow generation, SGS has been a significant source of income for us, with its attractive dividend policy that has provided more than €210 million to EXOR since 2009.
2011 changed FIAT SpA forever. The spinoff of the capital goods businesses into FIAT Industrial, combined with the increase in FIAT's participation in Chrysler from 20% to 58.5%, allowed FIAT-Chrysler to act as a single company focused on being one of the leading car manufacturers in the world with 197,000 employees and annual shipments of four million vehicles.
As Benjamin Disraeli said: "The secret of success is consistency of purpose." And if you add great leadership, you have dramatically improved your chances of success. We are fortunate indeed to have Sergio Marchionne leading FIAT-Chrysler. He has worked wonders with the Group Executive Council, the top 22 leaders of the organization.
2011 was a year of many achievements. Revenues climbed to €60 billion, adjusted EBIT reached roughly €2.4 billion, and net industrial debt was in line with guidance at €5.5 billion whilst maintaining a high level of liquidity (ca. €21 billion).
These results are testament to the benefits of FIAT-Chrysler operating as "one firm", something that can also be seen with the FIAT "500" model now on the streets of North America and the Chrysler products "300-Thema", "Voyager" and "Freemont" riding the highways of Europe under the Lancia and FIAT brands.
Important labor agreements were reached in Italy during the year, with a new contract allowing for greater flexibility, while on October 26 the UAW ratified a new national four-year labor agreement with Chrysler Group.
Environment and safety continued to be priorities in 2011, with FIAT confirming its position as eco-leader for the fourth consecutive year in Europe and the Chrysler Group products seeing eleven vehicles named "Top Safety Pick for 2012" in December.
We are convinced that the FIAT-Chrysler journey has just begun and we will continue to harvest its fruits in the years to come.
As with FIAT Industrial, during 2011 the FIAT Board of Directors proposed a further simplification to shareholders with the conversion of the Company's preference and savings shares into FIAT ordinary shares.
A global leader in commercial real estate services in which EXOR has a 78.3% economic interest, Cushman & Wakefield (C&W) opened for business in 1917 to serve the growing need for commercial real estate created by Manhattan's booming economic activity. This continues today, and the Company is a leader in what has grown to be one of the world's most important markets. Over the decades it has expanded all around the globe, but with a clear focus on big cities such as London, Sao Paolo, Hong Kong and many more.
2011 represented C&W's first full year under CEO Glenn Rufrano. Glenn got off to a good start, meeting his targets throughout the year, working hard on the operations, and also making strategic hires and targeted acquisitions to expand the Company's geographic footprint. These moves have contributed to a balanced business platform designed to provide consistent, high quality service to C&W's global clients.
The Company experienced significant revenue growth in all geographic regions and improved its year-on-year operating performance. It generated US$2 billion in revenue, implying year-on-year growth of 13.4%, which drove a 25% improvement in adjusted EBIT to $65 million.
C&W's strong performance in 2011 was due, in part, to the successful execution of a number of high profile transactions on behalf of clients in all regions, including the sale of Capital Square in Singapore for $715 million, enhancing the firm's brand in that region. Prominent among C&W's other transactions was the €100 million acquisition of two buildings in Dublin, Ireland on behalf of Google, the largest investment in Dublin since 2007. In New York the firm arranged financing for the largest property acquisition of the year at 1633 Broadway.
C&W also executed some of the world's most important office leases, including the largest lease in the U.S. for Shell Oil involving 1.2 million square feet in Texas; the largest lease in Belgium, covering 495,000 square feet, to the European Commission; and the largest lease in New York: one million square feet for Condé Nast at One World Trade Center.
These accomplishments are illustrative of the great work being done by the leadership team and Cushman and Wakefield's 14,000 employees, all of whom are focused on improving on last year's results in 2012.
The balance of our investments (approximately 16% of Investment Value) had a mixed year, with a return in aggregate of minus 16%.
The good news came from Banca Leonardo, which performed well in its investment banking and private banking activities, with the former generating revenues of €87 million (a year-on-year increase of 70%) and the latter continuing to generate positive Net New Money inflows during the year. In the wider context, which saw Banca Leonardo withdraw from the asset management business and increase its focus on independent private banking, the company made an advantageous sale of its controlling interest in the French asset management company DNCA, generating a capital gain of €73 million.
Gerardo Braggiotti has proven to be a good steward of our capital, as the bank continued distributing its excess capital to shareholders whilst maintaining a solid capital base (Tier 1 ratio of 39% as of the 2011 year end).
There was, however, less good news from Sequana where weak paper demand, pricing pressure in the market and increased raw material costs led to a net loss of €77 million in 2011. The significant decline in EBIDTA at Arjowiggins, Sequana's paper manufacturing division, from €112 million in 2010 to €50 million in 2011, led to debt covenants being breached at the end of the year. The company is currently negotiating the amendment and extension of its existing credit facilities.
A business venture that starts small but has the potential to grow to be a larger company. Almacantar, a London (UK) property business where we are the largest shareholder, is well placed to develop in this way.
In 2011 we invested some €368 million in what we know really well.
First of all, we invested in EXOR shares through a buyback program. We strongly believe in the fundamentals of our current investments, so what could be better than to buy them at a discount through our own company shares?
We also decided to increase our interests in FIAT Industrial and FIAT-Chrysler. We are confident in their long term perspectives and the market gave us an opportunity to buy them at what we believe to be interesting prices.
Finally we allocated more capital to Almacantar, which is developing well under Mike Hussey's leadership. This facilitated the acquisition of interests in two real estate projects in London's West End: the Centre Point building and Marble Arch Tower.
The change in our net financial position in 2011 was entirely attributable to the allocation of capital to new investments, as EXOR achieved positive ordinary cash flow at the holding company level.
During 2011 the company repaid a €200 million bond and was able to issue through a private placement a ¥10 billion (€83 million) bond maturing in 2031. The issuance of this bond in the Japanese institutional market, the first in EXOR's history, is an encouraging sign of our ability and desire to be more present in the global capital markets.
We decided in 2011 to diversify our financial assets by increasing exposure to US corporate bonds and to commercial paper, while decreasing our exposure to European corporate and financial institution issuance by 22% and 16% respectively. We continued to avoid sovereign debt, preferring to own corporate debt for now.
Our exposure to equities, consisting of a concentrated portfolio of selected "large- cap" companies which we started building in 2010, produced positive returns in 2011. Our largest position and star performer has been Mastercard, which during the year benefited from greater clarity in the US debit card regulatory environment and improved consumer spending patterns in the US. We also built a position in Microsoft, a company which we concluded was attractively priced considering its strong competitive advantages, resilience and cash flow generation.
Due to the fact that we decided to maintain a strong liquidity profile (consisting of time deposits, commercial paper and short duration investment grade bonds), our return on financial assets of 3.33% was below the 4.69% cost of our financial liabilities.
In November 2011, S&P confirmed EXOR's long term and short term debt ratings (respectively "BBB+" and "A-2"), and raised the outlook from "negative" to "stable". We view our rating affirmation, and most of all the improvement of its outlook, as recognition of the quality and solidity of our investments as well as the financial discipline we apply in the management of your company.
The new year began with a renewal of positive sentiment regarding the future, and many of the worries with which 2011 ended seemed to fade away. This led to greater optimism in the world's capital markets, with equities rallying and the ability to issue debt significantly improved.
This scenario exceeded my own expectations as 2011 closed. While such a positive development is welcome, I consider it appropriate to remain cautious, particularly while consumption data, especially in the EU, remains weak. As the Romanian dramatist Eugène Ionesco said, "you can only predict things after they have happened," and with this limitation in mind we welcome the turn for the better without getting carried away by it.
Nevertheless, what we can say confidently about 2012 is that it will be a year of continuous simplification for our organization and our investments. I am convinced: for us, simpler is better.
I look forward to discussing the 2011 results and other matters regarding the Company's business at our Shareholders' Meeting to be held on May 29 at the Juventus Stadium, which was inaugurated this season. I very much look forward to meeting our shareholders at this venue, which is one of the newest and most advanced football arenas in Europe.
It has made Juventus, of which we own 64%, the only team in Italy to have such a "real asset" on its balance sheet.
We will continue with the arrangement we began last year that has proven popular with shareholders by making it possible to ask questions in advance of the meeting by following the procedure set out on our web site www.exor.com. Non-shareholders will also have the chance to raise questions by sending a short email to the following address: agm@exor.com. The latter will be grouped together, summarized by subject and answered during the meeting itself.


The "Digest of European Tort Law" is a product of a most ambitious research project: a collection of court decisions from almost all European jurisdictions on the most fundamental aspects of tort law. These cases are not only accumulated, but also structured, analysed and commented both from a national as well as a comparative perspective. Historical aspects are also considered, as are future trends, as outlined by current projects on the harmonisation of European tort laws. This complex comparative study thereby gives not only offer guidance for researching cross-border cases, but also allow a discussion of such harmonisation projects on the basis of real-life case settings.
The volumes of the project are published in the series "Digest of European Tort Law" produced by Springer (Vienna/New York).


The Blyth Valley Pool Association's fifth season has seen the number of teams almost double in four years and it has been split into two leagues.
In the Super-League are the top 11 teams from the previous season and the all new Premier League contains the five other teams from the previous year and six new teams.
Teams from each league will have their own singles, doubles and three-a-side competitions as well as a separate Team Knockout Cup which has been sponsored by South Beach pub.
It was business as usual with Irish A going top with a comfortable derby victory over Irish B. Jason Ritson and Chris Gill both had 100 per cent records from their three games, but two eight-ball clearances from Ritson including a break and dish gave him the man of the match honours. Brian Wakenshaw and Steven Robinson secured the B team's points.
The derby matches on the opening day continued with two top the top eight teams from the previous season involved in a game in that went to the wire with the Station just edging the match 7-5.
Bragging rights went to Real Comrades as they secured the result of the week with a narrow 7-5 victory over their B team. The A team won both sets of singles 3-2 and the first scotch doubles to secure the victory. Ray Irving was the man of the match with three wins including an eight-ball clearance from a dry break in the singles.
Seahorse B had their best season in the BVPA last year and secured the bragging rights in both derby games, but the A team probably had a point to prove and the teams could not be separated after 12 frames this time round. Seahorse A captain Kevin Barker claimed the man of the match honours with a hat-trick of points on the night.
Sports C are in second following a solid 9-3 victory over their B team.
Newsham Side Club had a bye on the opening week.
New boys Percy Arms are in second in the Premier League following an impressive 8-4 win against Community Centre, who were also playing their first game in the BVPA.
South Beach played host to another of the new teams, Hastings Arms, who secured a 7-5 away win after a good night of eight-ball action that could have gone either way.
Phil Welch and Chris Scott secured a hat-trick of points each for the D team as the they secured an 8-4 victory over the A team. Lisa Marie Wray with a brace of points for the A team was the highlight for the home team.
New boys Bank Top raced to a 5-0 lead after the first singles only for Sun B to take the second set 3-2. The the teams shared the doubles. Rory Mander and Anthony Simpson were the star men on the night with a 100 per cent record from their three frames. D Thain produced a great clearance in the singles which was one of the highlights of the night. Adam Scott on his debut for the Sun B won a brace of points. Bank Top lead the Premier League along with two other teams on the same points.
Alan Cunningham was the man of the match for Wharton with a hat-trick of wins to help secure a close opening day Bedlington derby win for the hosts. James Stewart was the Breakers' star man with a brace of points for the visitors.
Breakers Bar A had a bye on the opening week.


The young hero Takeda Katsuchiyomaru became the warrior Takeda Shingen (1521-1573), one of the most powerful leaders in the battles for control of Japan during the late sixteenth century. Here he battles a tanuki, a badgerlike creature with supernatural powers who had possessed a wooden toy horse. Kuniyoshi probably referred to a book published in 1808, Ehon koetsu gunki, for an account of Shingen's life. This print shows the early development of the dynamic style that made Kuniyoshi the premier warrior print designer from the late 1720s to the end of his career. He employs strong diagonals and forward movement in the picture plane to energize his compositions. Kuniyoshi's figures also reveal his familiarity with European techniques such as foreshortening, perspective, and chiaroscuro, which he and other artists learned from the books and pictures imported to Japan through Dutch trade at Nagasaki.
Ann Yonemura with contributions by et al. Masterful Illusions: Japanese Prints from the Anne van Biema Collection. Seattle and Washington. cat. 70, pp. 192-193.


It's official: The '80s are back. How do we know? Not only was the decade big on top runways—see Marc Jacobs and Tom Ford—but the designers who actually dress young women in their day-to-day lives are feeling it, too. A.L.C.'s Andrea Lieberman has a deep connection to that era; in her Flatiron showroom, she spoke about growing up in New York in the '80s and witnessing the dawn of street culture and high-low fashion. That trickled into the '90s, too, when she began styling Jennifer Lopez and hip-hop artists like Sean Combs, whose baggy, oversize button-downs were reimagined here as XXL leather shirts. But it was the famous Amy Arbus photo of Madonna in 1983 (pre–Like a Virgin) that really got Lieberman's wheels turning. To see that photo now, Madonna's look feels suddenly (shockingly) current: a roomy, strong-shouldered coat; a scarf wound tight to cover her neck; statement earrings; flat boots.


PHOTOGraphie 2015 kicks off with PPOC-BC Image Competition judging at the Anvil Centre in New Westminster, Thursday September 24th. Starting at 9:00AM, getting to watch the judging live is a tremendously educational experience, whether you have images entered in the competition or not.
If you're unable to join us in person, you can download the full PDF of the judging order and tune in to the live stream online too!
We encourage anyone interested in photography to join us for the PHOTOGraphie Festival at the Anvil Centre Saturday September 26th between 12 and 4.
This can be a daunting task for any couple. Kendra will break down common barriers and challenges, such as understanding different photography styles; finding work couples can connect with; and questions to ask when interviewing a photographer.
Everything you wanted to know about how to choose the right digital camera for you.
Going Beyond P Mode- Learn the creative features of your camera.
Come for one topic, or come for them all! We have some great speakers and topics this year, so spread the word!


About 72% of these are mineral separator, 1% are separation equipment, and 1% are gold separating machine choose gold machine/Gold mining equipment.
HPC15 Gold Recovery and Mineral Separation Equipment · Shenzhen Keene Engineering Co., Ltd. US $1 10 Piece. 1 Piece (Min. Order). Contact Supplier.
High recovery rate flotation machine gold ,silver,zinc ore laboratory flotation cell Gold Metal Recovery and Mineral Separation Equipment Car.
gold recovery mineral separation equipment offers 65 mica separation equipments products. About 32% of these are Gold Flotation Machine Price for Mica Minerals Mining Equipment.
Placer gold/River gold mining jig separation equipment and machinery gold separating machine choose gold machine/Gold mining equipment.
About 90% of these are mineral separator, 1% are separation equipment. A wide variety of gold mining equipment wet high intensity fine magnetic separator.
High recovery centrifugal concentrator gold mining machine for sale . Gravity gold separator Centrifugal Concentrator mining equipment for sale.
Xi'an Desen Mining Machinery Equipment Co., Ltd., Experts in Manufacturing and Exporting Gold separating machine mining shake table gold shaking table.
Gold Machine. Gold Extraction Centrifugal sand separator machine for indonesia mine Gold ore Mineral flotation equipment gold testing machine price.
Mobile gold mining lab equipment, small scale mining plant equipment Type: Gravity Separator,Stationary/mobile type Small Scale Gold Mining Equipment.
Mini centrifugal gold concentrator /high recovery Mineral separation machine . Gold mining equipment Gold refining machine gold recovery machine.


Former Texas Longhorns and Tennessee Titans quarterback Vince Young arrested in Fort Bend County early Monday after being accused of drunk driving — the football star's second DWI charge in three years.
Fort Bend County Sheriff's deputies reported that Young's black Cadillac Sedan was standing at the intersection of Sienna Parkway and Sienna Ranch Road, in the left lane with his hazard lights on. The deputy said that when he pulled over to try to assist Young, he opened the window and then closed it again.
Vince Young arrested at 4:30 a.m. Monday and discharged from Fort Bend County Jail on a $500 bail Tuesday.
This isn't the first time Young, who was recently inducted into the College Football Hall of Fame, has been arrested for driving while intoxicated.
In January 2016, the sports star was arrested and later pleaded no contest to the driving while intoxicated charge. He was fined $300 and ordered to complete 60 hours of community service.
But he vowed that he turned his life around after the arrest. When signing on to the Canadian Football League in 2017, Young said that he had learned from his mistakes.
In January of this year, Young also told the Chronicle he wouldn't change anything about his past.


Ryan has over a decade of experience in user experience design, visual design front end development, user research and creative leadership. He is passionate about developing creative professionals and finding ways to make his team more successful. He's a native of Colorado and is enjoying Austin with his wife and two daughters. In his spare time, he likes to play board games with his family, barbecue with his friends, and drink a good single-malt scotch. He joined the Praxent design team in August 2018.


text:
Continental Resources names new CEO after founder steps down
Team Radio - December 13, 2019 10:02 am
OKLAHOMA CITY (AP) — Officials with Continental Resources say that billionaire oil tycoon Harold Hamm is stepping down as chief executive of Continental Resources to serve as executive chairman. Continental board member William Berry will take over as CEO for the Oklahoma City-headquartered company at the start of next year. Hamm, the highest-paid CEO in Oklahoma in 2018, will remain a majority shareholder with about 77% of the company's stock. Hamm in 2015 led an effort to convince Congress to lift an embargo against oil exports from the U.S. He says he plans to continue spearheading advocacy efforts in promoting American-produced oil and natural gas.

redpajama_set_name: RedPajamaCommonCrawl


text:
Computer, Electrical and Mathematical Sciences and Engineering
CEMSE Main navigation
CEMSE Brochure
Annual Report 2019 template PowerPoint
Applied Mathematics and Computational Science
Life at KAUST
International School and Daycare
Jurgen Kosel
Adjunct Associate Professor, Electrical and Computer Engineering
Principal Investigator,
jurgen.kosel [at] kaust.edu.sa
BioDevices
Miniaturized magnetic biodevices feature high performance, while at the same time they have the potential to reduce costs associated with healthcare, opening the door to a multi-billion dollar market.
Sensing, Magnetism and Microsystems
Faculty Discuss their Career Journeys and Professional Development
Office: Bldg 3, Room 3219
Jurgen Kosel's courses include
Introduction to MEMS
Advanced MEMS
Microsystems Laboratory
Integrated Microsystems
Biomaterials and Biomedical Devices
Integrated Sensors
Associate Editor of IEEE Sensors Journal
Associate Editor of IEEE International Journal on Smart Sensing and Intelligent Systems
AdCom Member IEEE Sensors Council
AdCom Member IEEE Magnetics Society Member
Sensors Council Meeting Committee Member
IEEE Magnetics Society Member
Member ASME
Member, Vienna Magnetics Group
Liquid Dielectric Electrostatic Mems Switch And Method Of Fabrication Thereof
Magnetically controlled permeability membranes
MAGNETIC NANOCOMPOSITE SENSOR
CORROSION DETECTION OF NANOWIRES BY MAGNETIC SENSORS
Integrated passive and wireless sensor
LOW-NOISE MAGNETIC SENSORS
Postdoctoral Fellow, University of Stellenbosch, Department of Mechanical and Mechatronic Engineering, Biomedical Engineering Research Group, 2007 - 2009
Ph.D., Vienna University of Technology, 2006
M.SC., Vienna University of Technology, 2002
Dr. Jürgen Kosel is an Associate Professor of Electrical and Computer Engineering at KAUST since 2015, where he is with the Computer, Electrical, and Mathematical Sciences and Engineering Division. He joined KAUST as Assistant Professor and founding faculty member in 2009. He is Principal Investigator of the Sensing, Magnetism, and Microsystems research group at KAUST and Head of the Advanced Micro and Nanosystems lab. Since 2015, he is also an active member of the Sensors Initiative (SI).
Professor Kosel holds an M.S. and a Ph.D. from the Vienna University of Technology, Austria, where conducted research on electrical detection of bacteria and magnetoelastic sensors. After the Ph.D., he worked as Project Manager Mechatronics at MAGNA Powertrain in Austria. Then he continued as a postdoctoral fellow at the University of Stellenbosch in South Africa, where he worked on Bio-MEMS for HIV detection, kinematics of knee joints, magnetic microwires for stress measurements in body tissues and physical effects of negative pressure wound therapy in plastic surgery.
Areas of expertise and current scientific interests
Professor Kosel's research concerns the development of miniaturized transducers, driven by applications in different fields, ranging from biomedical sensors over energy harvesters and drug delivery to spintronic devices. A particular area of interest is magnetic transducers and materials.
Areas of expertise are sensors and actuator development, microfabrication, nanotechnology.
Career recognitions
Best poster award at the MMM/Intermag, Washington DC, USA, Jan. 2019, for "Orientation monitoring of flexible composite magnet for catheter tip localization".
Best poster award at the International Conference on Magnetism, San Francisco, USA, July 2018, for "Magnetic Tracking of Cardiac Catheters Using Flexible Magnetic Tunnel Junction Sensors".
Wearable Flexible Sensors: A Review," published in IEEE Sensors Journal recognized as a top downloaded paper from June 2017 throughout to December 2018. Included in this count are all Sensors Journal papers published since the Journal's foundation, and about 500,000 Sensors Journal papers are downloaded from IEEE Xplore per year.
2017 IEEE Sensors Journal top performing editor award
Best paper award at the IEEE Sensors Applications Symposium, Catania, Italy, April 2016, for "A single magnetic nanocomposite cilia force sensor".
Best paper award in Micro/Nanofluidics at the IEEE NEMS conference, Xi'an, China, April 2015, for "Electromagnetically powered electrolytic pump and thermo-responsive valve for drug delivery".
2015 Award for Ph.D. student Ahmed Alfadhel as Innovator under 35 by the MIT Technology Review magazine.
IEEE Senior Member (2015)
Editorial activities
Kosel is an Editor of the IEEE Sensors Journal, and Associate Editor of the IEEE International Journal on Smart Sensing and Intelligent Systems.
Why Transducers?
Transducers are the technological links connecting us with the world that we are surrounded by, whether this is a simple temperature sensor or a complex nanostructure for cancer treatment. They are complementing and extending our physical capabilities and therefore crucial for our continuous development.
Why KAUST?
At KAUST, we benefit from the excellent lab environment that allows us to apply the latest fabrication and characterization technologies to create new materials and structures for sensors and actuators.
Publications list on ORCID
Sensing, Magnetism and Microsystems (SMM)
CEMSE Division
CEMSE on Facebook
CEMSE on Twitter
CEMSE Faculty
Center of Excellence for NEOM Research at KAUST
Computational Bioscience Research Center
Extreme Computing Research Center
Resilient Computing and Cybersecurity Center
KAUST CEMSE AI Research Initiative
Sensor Initiative
Technology Innovation Center for Solid State Lighting at KAUST
The Machine Learning Hub @ KAUST


text:
Removing the name of a segregationist from a science building at UT Austin will help us recruit STEM scholars of color
Robert Lee Moore was a leading mathematician who refused to teach Black students.
Robert Lee Moore Hall on the campus of University of Texas at Austin on Monday, July 13, 2020. RICARDO B. BRAZZIELL/AMERICAN-STATESMAN](Ricardo Brazziell / Ricardo B. Brazziell)
By Shardha Jogee
1:30 AM on Jul 26, 2020 CDT
Looming high on the campus of the University of Texas at Austin is the Robert Lee Moore Hall. This towering building is named after the former UT mathematician with a history well-documented by University of Buffalo researchers of openly espousing racist and segregationist views and adamantly refusing to teach Black students.
This month, UT announced its decision to rename the Robert Lee Moore Hall as part of a set of measures to promote a more inclusive campus. The building will be renamed the Physics, Math and Astronomy Building. As a nonwhite woman who has spent 15 years of her professional life in this building, I applaud this long overdue decision. It is high time to stop publicly and grandly commemorating a white supremacist who rejected black students.
This landmark decision comes after a decade of efforts by UT students, faculty and staff. It is the direct result of the searing, campuswide reckoning on racial injustice and systemic racism after the brutal deaths of George Floyd, Breonna Taylor, Ahmaud Arbery, and numerous other Black people.
Communities of color remain vastly underrepresented at UT Austin. While Black people make up about 13% of the the population in Texas and the U.S., they represent about 5% of students and faculty at UT Austin.
The presence of a campus building honoring a white supremacist adds to micro-aggressions already faced by communities of color in academia. Black scholars recount being asked repeatedly by city or campus police to show IDs while they are simply walking to their departments or their cars in the campus parking garage, not to mention the countless times they are stereotyped as being part of athletic programs or have their scholarly accomplishments questioned.
The commemoration of Robert Lee Moore was an affront to all scholars of color, but it is particularly damaging for scholars in STEM, or science, technology, engineering, mathematics, as Moore hall hosts the departments of physics, mathematics and astronomy. As a faculty member and former department chair, I welcome the time when my colleagues, our students and I will not have to work in a building named after a segregationist.
The removal of this name will help our efforts to address the staggering lack of scholars of color in STEM. Black scholars hold only 4% to 6% of all bachelor's degrees in mathematics or physics, doctoral degrees in astronomy or physics and faculty positions in physics and astronomy, according to the American Institute of Physics. A recent AIP national task force report addressing the troubling lack of Black students in STEM fields identified a lack of a sense of belonging, an unsupportive environment, and financial challenges as the main reasons. Think about that. Then imagine how supported Black students felt to this day as they walked into the Robert Lee Moore Hall.
Some argue that renaming the building is akin to erasing history. It is not. It is a choice of what we elevate and commemorate in history. Yes, Moore, who died in 1974, had a deep understanding of mathematics. That doesn't change the fact that he violated UT's core values by allowing racism to trump his professional responsibilities and refusing to teach Black students.
By renaming the Robert Lee Moore Hall, UT joins the growing number of universities in the country, including Yale, Princeton, UC Berkeley and the University of Alabama in taking a principled stand against enduring legacies of racism.
Rejecting commemorative markers of white supremacy is an essential step toward fighting systemic racism, but it is only a first step. It must be followed by increased access and resources for underserved groups, a broader education on racism, and the adoption of inclusive practices in policing, admission, hiring, evaluation, teaching and mentoring.
Shardha Jogee is an astronomy professor at the University of Texas at Austin and the former department chair. She wrote this column for The Dallas Morning News.
Shardha Jogee
Get smart opinions
Editorial and commentary from op-ed columnists, the editorial board and contributing writers from The Dallas Morning News, delivered three days a week.


text:
Languages: English, French, Spanish, German, Italian, Polish, Russian, Chinese
THE ULTIMATE RAIL HOBBY
Take control of powerful iconic locomotives from around the world. Step in the cab and master operations on the BR Class 68, DB BR 218, EMD F7 and more as you deliver passengers and freight to their destinations with a packed timetable of real-world services and scenarios. Train Simulator 2021 also features an improved Steam Workshop providing easy access to thousands of community creations. Whatever you love about trains, Train Simulator lets you take your hobby to the next level.
Fife Circle Line
With Train Simulator's Fife Circle Line, you can marvel at the mix of modern and historic infrastructure, including the striking and instantly recognisable Forth Rail Bridge, as well as the new Edinburgh Gateway station. Experience all this and more across 49 miles between Edinburgh and Dunfermline via Kirkaldy, aboard modern traction such as the BR Class 68, Class 158 and Class 170.
Norddeutsche-Bahn
Experience the 80 km Kiel-Lubeck Railway in the heart of the Schleswig-Holstein, amongst the most scenic areas of Northern Germany. Step aboard hard-working traction such as the DB BR 648 DMU and DB BR 218 diesel locomotive, taking passengers across stunning vistas and through the heart of forested plains.
Clinchfield Railroad
Train Simulator's Clinchfield Railroad recreates the northern portion of the CRR, where the railroad wove its way through the daunting and magnificent Appalachian Mountains and in the process served a variety of on-line coal mines. Take the throttle of the motive power featured with the route such as the EMD GP7 and F7, EMD SD40, and EMD GP38.
The unparalleled authenticity of the locomotives in Train Simulator 2021 means you are truly in control. Manage your engine, passengers, safety systems, signalling and much more from the comfort of the cab, with control boards the perfectly re-create the operations of real trains.
Enter the TS Academy and begin your career as a virtual train driver or engineer. Whether it's Electric, Diesel or Steam you will learn to operate some of the world's most amazing rail-bound machines.
Use the Train Simulator Editor to build living worlds with easy-to-use comprehensive tools. Create your own railway and share with other players with the Steam Workshop or check out the thousands of community creations already available with new in-game search functions.
Build a dream set of routes, locomotives, trains, route extensions and rolling stock with a vast array of content on the Steam store. With hundreds of add-ons available, whatever your interest you'll find something new to expand your collection at your own pace.
MINIMUM FOR 32-BIT:
OS: 32-bit Windows 7 Service Pack 1, 8.1 or 10 Required (Other OS versions and types are not supported)
Processor: Intel Core-i3 4330 3.50 GHz Dual Core or AMD A8 6600K 3.90 GHz Quad Core or Better
Graphics: NVIDIA GeForce GTX 750 Ti or AMD Radeon R9 Graphics with 1 GB Dedicated VRAM or Better
Network: Broadband Connection (May incur additional costs for use)
Storage: 40 GB or more available space (Additional Add-Ons will require more)
Sound Card: DirectX Compatible Audio Device
RECOMMENDED FOR 32-BIT:
OS: 32- or 64-bit Windows 7 Service Pack 1, 8.1 or 10 Required (Other OS versions and types are not supported)
Processor: Intel Core-i5 4690 3.50 GHz Quad Core or AMD Ryzen 7 1700 3.80 GHz Quad Core or Better
Memory: 4 GB RAM (maximum possible under 32-bit Windows)/16 GB or Better (For 64-bit Windows)
Graphics: NVIDIA GeForce GTX 970 or AMD Radeon RX 480 with 4 GB Dedicated VRAM or Better
Storage: High Performance SSD Recommended with 40 GB or more available space (Additional Add-Ons will require more)
Laptop, Notebook, Mobile or Low Power versions of the above specifications (including Intel or Integrated Graphics) may work but are not supported. Updates to Chipset, Graphics and Audio Device Drivers may be required. For information relating to recommended specifications for Train Simulator 64-bit, please refer to the Train Simulator 2019 User Guide.
© 2020 Dovetail Games, a trading name of RailSimulator.com Limited ("DTG"). All rights reserved. Portions originally developed by Kuju Entertainment Limited in association with F4G Software Limited. Portions copyright Kuju Entertainment Limited 2007. Physics engine, PhysX, provided by NVIDIA. Autodesk® Scaleform® software, © 2012 Autodesk, Inc. All rights reserved. "RailSimulator.com", "TS2021" and "Dovetail Games" are trademarks or registered trademarks of DTG. CSX and others are trademarks owned by CSXT Intellectual Properties Corporation and are used with permission. The DB logo is a registered trademark of Deutsche Bahn AG. Produced under license from SCMG Enterprises Ltd. The ScotRail Brand is used under licence from the Scottish Ministers. All rights reserved. All other trademarks are the property of their respective owners. Unauthorised copying, adaptation, rental, re-sale, arcade use, charging for use, broadcast, cable transmission, public performance, distribution or extraction of the product or any trademark or copyright work that forms part of this product is prohibited. Developed and published by DTG.
The full credit list can be accessed from the TS2021 "Settings" menu.


Apparatus and techniques for determining whether a domain name has been generated by a domain generation algorithm (DGA) are disclosed. A first domain name is classified as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on one or more features of the first domain name. In addition, statistics are determined regarding requests for the first domain name. Additional domain names are identified that share an infrastructure with the first domain name. A determination is made regarding whether the first domain name and/or one or more of the additional domain names are likely to have been generated by a DGA, based on a result of one or more of the classifying, the statistics, or the identifying. A security vulnerability related to one or more of the likely DGA domain names is then mitigated.
1. A method comprising: at a computing device, classifying a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on one or more features of the first domain name; determining statistics regarding requests for the first domain name; identifying any additional domain names that share an infrastructure with the first domain name; determining whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on a result of one or more of the classifying, the statistics, or the identifying; and mitigating a security vulnerability related to one or more of the likely DGA domain names.
2. The method of claim 1, further comprising: training classification logic to perform the classifying of the first domain name.
3. The method of claim 1, wherein the mitigating comprises one or more of: blocking access to domains identified by one or more of the first domain name and the one or more of the additional domain names; monitoring access to the domains identified by one or more of the first domain name and the one or more of the additional domain names; or asserting an alarm condition in response to access to the domains identified by one or more of the first domain name and the one or more of the additional domain names.
4. The method of claim 1, wherein classifying comprises evaluating one or more properties of a string of characters in the first domain name.
5. The method of claim 1, wherein the determining of the statistics regarding the requests for the first domain name comprises: determining statistics regarding how many requests are made at a domain name server for the first domain name over time.
6. The method of claim 1, wherein the identifying of any additional domain names that use the infrastructure comprises identifying any additional domain names that use a domain name server also used by the first domain name.
7. The method of claim 1, further comprising, repeating one or more of the classifying, determining, or identifying, with respect to a second domain name, where the second domain name is one of the first domain name, or one of the one or more additional domain names.
8. An apparatus comprising: one or more processors; one or more memory devices in communication with the one or more processors; and a network interface unit in communication with the one or more processors, wherein the one or more processors are configured to: classify a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on evaluation of one or more features of the first domain name, resulting in a classification of the first domain name; determine statistics regarding requests for the first domain name; identify any additional domain names that share an infrastructure with the first domain name resulting in an identification of additional domain names; and determine whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on the classification, the identification, or the statistics, in order to mitigate a security vulnerability related to one or more of the likely DGA domain names.
9. The apparatus of claim 8, wherein the one or more processors are configured to train classification logic to classify the first domain name.
10. The apparatus of claim 8, wherein the one or more processors are configured to mitigate the security vulnerability by: blocking access to domains identified by one or more of the first domain name and the one or more of the additional domain names; monitoring access to the domains identified by one or more of the first domain name and the one or more of the additional domain names; or asserting an alarm condition in response to access to the domains identified by one or more of the first domain name and the one or more of the additional domain names.
11. The apparatus of claim 8, wherein the one or more processors are configured to classify the first domain name by evaluating one or more properties of a string of characters in the first domain name.
12. The apparatus of claim 8, wherein one or more processors are configured to determine the statistics regarding the requests for the first domain name by determining statistics regarding how many requests are made at a domain name server for the first domain name over time.
13. The apparatus of claim 8, wherein the one or more processors are configured to identify any additional domain names that use the infrastructure by identifying any additional domain names that use a domain name server also used by the first domain name.
14. The apparatus of claim 8, wherein the one or more processors are further configured to: classify a second domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on evaluation of one or more features of the second domain name; determine statistics regarding requests for the second domain name; or identify any additional domain names that share an infrastructure with the second domain name, where the second domain name is one of the first domain name or one of the one or more additional domain names.
15. One or more computer readable non-transitory storage media encoded with software comprising computer executable instructions that when executed by one or more processors, cause the one or more processors to: classify a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on evaluation of one or more features of a first domain name, resulting in a classification of the first domain name; determine statistics regarding requests for the first domain name; identify any additional domain names that share an infrastructure with the first domain name, resulting in an identification of additional domain names; and wherein the computer executable instructions further cause the processor to determine whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on the classification, the identification, or the statistics in order to mitigate a security vulnerability related to one or more of the likely DGA domain names.
16. The computer readable non-transitory storage media of claim 15, wherein the executable instructions further cause the one or more processors to train classification logic to classify the first domain name.
17. The computer readable non-transitory storage media of claim 15, wherein the executable instructions that cause the one or more processors to mitigate the security vulnerability comprise executable instructions that cause the one or more processors to perform one or more of: blocking access to domains identified by one or more of the first domain name and the one or more of the additional domain names; monitoring access to the domains identified by one or more of the first domain name and the one or more of the additional domain names; or asserting an alarm condition in response to access to the domains identified by one or more of the first domain name and the one or more of the additional domain names.
18. The computer readable non-transitory storage media of claim 15, wherein the executable instructions that, when executed by the one or more processors, cause the one or more processors to classify the first domain name, comprise executable instructions that, when executed by the one or more processors, cause the one or more processors to evaluate one or more properties of a string of characters in the first domain name.
19. The computer readable non-transitory storage media of claim 15, wherein the executable instructions, which, when executed by the one or more processors cause the one or more processors to determine the statistics regarding requests for the first domain name comprise executable instructions that, when executed by the one or more processors, cause the one or more processors to determine statistics regarding how many requests are made at a domain name server for the first domain name over time.
20. The computer readable non-transitory storage media of claim 15, wherein the executable instructions, which when executed by the one or more processors cause the one or more processors to identify any additional domain names that use the infrastructure, comprise executable instructions that, when executed by the one or more processors, cause the one or more processors to identify any additional domain names that use a domain name server also used by the first domain name.
 The present disclosure relates to information security.
 Some types of malware, when installed on a computer, are configured to contact a controller in order to receive instructions. A particular domain name may be registered and used as a rendezvous point at which the instructions may be obtained by the malware. A single unchanging domain name, however, can generally be identified by authorities and, as such access to that domain name can then be blocked. This would normally thwart the malware.
 Over the last several years, however, malware authors have leveraged Domain Generation Algorithms (DGAs) to avoid the use of unchanging domain names. Some malware uses these algorithms to generate thousands of domains per day, one or more of which can be leveraged by the malware authors for command and control purposes. The malware author knows the DGA, and therefore knows one of the domain names that will be generated. He may then register this domain name. The infected computer will then execute the DGA, and try to contact at least some of the generated domain names. Most of these attempts will fail, given that most of the generated domain names are not registered and not active. When and if the subverted computer tries to access the domain name registered by the malware author, however, this access can succeed. Using this domain name, the infected computer can make contact and receive instructions, thereby allowing the malware to proceed. The threat posed by this arrangement is exacerbated by the fact that many computers can be infected in this way and then enabled to operate collectively in a concerted manner as a so-called "botnet."
 A DGA can generate hundreds or thousands of domain names per day. Unless the DGA is known or poorly designed, it is difficult for security products or authorities to determine which domains to block. To further complicate protection efforts, a domain chosen by the malware author may only be active for a single day; after that, the malware can generate another block of domain names the following day. In this situation, countermeasures can only be effective for a day, if at all.
 FIG. 1 is a flowchart illustrating the processing described herein, according to an example embodiment.
 FIG. 2 illustrates logic for classifying a domain name as a likely DGA domain name, according to an example embodiment.
 FIG. 3 is a flowchart illustrating a classification process, according to an example embodiment.
 FIG. 4 is a flowchart illustrating a process for monitoring and evaluating activity at a DNS server, according to an example embodiment.
 FIG. 5 illustrates an example of data that shows access attempts for a domain name over time, according to an example embodiment.
 FIG. 6 is a flowchart illustrating a process for identifying additional likely DGA domain names, according to an example embodiment.
 FIG. 7 is a flowchart illustrating alternative sequences for the processing described herein, according to an example embodiment.
 FIG. 8 is a block diagram illustrating a software or firmware implementation of the processing described herein as executed by one or more programmable processors, according to example an embodiment.
 Apparatus and techniques are described herein for determining whether a domain name has been generated by a domain generation algorithm (DGA). A first domain name is classified as either a likely DGA domain name or a likely non-DGA domain name, based on one or more features of the first domain name. In addition, statistics are determined regarding requests for the first domain name. Additional domain names are identified that share an infrastructure with the first domain name. A determination is made regarding whether the first domain name and/or one or more of the additional domain names are likely to have been generated by a DGA, based on a result of one or more of the classifying, the statistics, or the identifying. A security vulnerability related to one or more of the likely DGA domain names is then mitigated.
 The process of identifying a domain name as one that has been generated by a DGA is illustrated in FIG. 1, according to an embodiment. At 110, a set of possible DGA domain names is classified into two subsets. One subset consists of likely DGA domain names and the second consists of likely non-DGA domain names. The classification process is based on features of each of the possible domain names. As will be described in greater detail below, in an embodiment the classification process includes evaluation of one or more features of each domain name under consideration, where the features pertain to the character string representing the domain name. For each possible DGA domain name, the features of the domain name are compared to those of known DGA domain names; the features are also compared to those of known non-DGA domain names. The comparison results are used to classify the possible DGA domain names into those that are likely to be DGA domain names and those that are likely to be non-DGA domain names.
 At 120, logs of DNS requests are analyzed for likely DGA domain names, in an embodiment. Generally, such logs are maintained for network management purposes. These DNS request logs may be maintained by service or equipment providers, for example. The number of access attempts for each likely DGA domain name may be noted over time. Spikes in the number of access attempts may be observed, for example, where a relatively large number of access attempts are made over a relatively brief period of time. Such phenomena may be detected and characterized using a variety of statistics. Spikes having particular statistical profiles can be characteristic of DGA domain names, for example. A pronounced lack of DNS requests for a domain name can also be an indicator, in situations where a domain has been registered but not yet activated. In an embodiment, a domain name lacking a suspicious profile may no longer be considered a likely DGA domain name. In some cases, operation 120 may therefore serve to pare down the number of likely DGA domain names generated by operation 110.
 At 130, for each likely DGA domain name, the infrastructure used by the domain name is examined to identify other domain names that use the same infrastructure. If another domain name shares the same infrastructure used by a likely DGA domain name, the other domain name may also be a likely DGA domain name. The infrastructure may include a name server used by the likely DGA domain name, for example and without limitation; other network elements may also be considered as part of this infrastructure. In some cases, operation 130 may add to the set of likely DGA domain names.
 As the term is used herein, "infrastructure" also refers to information related to the creation or administration of a likely DGA domain name. Such information may be collected and analyzed to discover other likely DGA domain names that may be associated with this data. Examples of such information may include IP addresses used by likely DGA domain names, domain registration data (such as email addresses, names of the person(s) or organization who registered the domain, telephone numbers, and physical mailing addresses), and malware executable files themselves, which may contain the DGA logic. In the case of malware executable files, these files can be executed in a sandbox environment and data collected from the execution process. This collected data may include domain names that the malware has contacted. By searching this data for a suspected DGA domain, other domains can be uncovered, where the malware has tried to contact these domains. The above pieces of information related to a likely DGA domain name are intended as examples, and are not meant to be limiting.
 The result of the processing of FIG. 1 is a set of likely DGA domain names. In various embodiments, one or more of operations 110-130 may be repeated to further refine this set, as will be described below. Once a set of likely DGA domain names is finalized, this information may be used by authorities or by security software to block access to the likely DGA domain names. Other actions may also be taken, in addition to or instead of blocking access. If an attempt is made to access a likely DGA domain name, the event may be logged and/or an alarm condition may be asserted, for example.
 Operation 110 may be implemented using a system such as that shown in FIG. 2, according to an embodiment. Classification logic 210 is configured to receive a set of possible DGA domain names 250 and classify these names into a set of likely DGA-domain names 260 and a set of likely non-DGA domain names 270. The possible DGA domain names 250 may be provided by an analyst or user, and may represent suspected DGA domain names. Classification logic 210 may perform the classification by extracting and evaluating features of each of the possible DGA domain names 250. This evaluation may, for example, consider the features of the character strings representing the respective possible domain names 250.
 In the illustrated embodiment, training is performed on the classification logic 210 prior to its operation. A set of known DGA domain names 230 and a set of known non-DGA domain names 240 are used to train the classification logic 210. Training logic 220 receives known DGA domain names 230 and known non-DGA domain names 240. Relevant features of these names are extracted. Training logic 220 then uses the features of these names to inform the classification logic 210 as to the respective features of DGA domain names and non-DGA domain names. The training process therefore serves to configure the classification logic 210, enabling classification logic 210 to classify the possible DGA domain names 250.
 In particular, the training process may start with the input of the set of known DGA domain names 230 and the set of known non-DGA domain names 240 to the training logic 220. Features are then extracted from the domain names; some of these features are listed below with respect to reference 350 of FIG. 3. These features, along with respective labels indicating whether they suggest a DGA domain name or a non-DGA domain name, are used as inputs to a machine learning algorithm which builds a model to differentiate between the two classes of data (DGA and non-DGA domain names), according to an embodiment. The model which best balances the ability to properly label DGA domains and non-DGA domains is chosen. Model validation may also be done at this stage to ensure that the chosen model is able to generalize beyond the training data.
 In various embodiments, the training logic 220 and classification logic 210 may be implemented in software, firmware, hardware, or some combination thereof. In an embodiment, classification logic 210 may include artificial intelligence logic.
 The classification process (110 of FIG. 1) is illustrated further in FIG. 3, according to an embodiment. At 310, a set of known DGA domain names is received. At 320, a set of known non-DGA domain names is received. The domain names received at 310 and 320 are used for purposes of training the classification logic. Features of these received domain names are extracted at 325, and the training is performed at 330 as discussed above. At 340, a set of possible DGA domain names is received.
 The above features are presented here as examples and are not meant to be limiting.
 At 360, for each possible DGA domain name, some or all of the features above may be used by the trained classification logic to classify this name as either a likely DGA domain name or a likely non-DGA domain name. At 370, the likely DGA domain names are output and the likely non-DGA domain names are output.
 The monitoring of a request log of a DNS server (120 of FIG. 1) is illustrated in FIG. 4, according to an embodiment. The monitoring process may be performed for any or all of the likely DGA domain names. At 410, one of the likely DGA domain names is chosen. At 420, activity across one or more DNS servers is monitored for requests to the likely DGA domain. Such activity can be observed one or more request logs corresponding to the DNS server(s). The objective is to detect the amount of access that is being attempted for this domain over time. The access attempts, if they collectively meet one or more predefined statistical profiles or thresholds consistent with a DGA domain name, represent further evidence that this domain name is a DGA domain name. A determination is made at 430 as to whether this domain name meets a statistical profile. If so, then at 440 this domain name retains its status as a likely DGA domain name. If not, then at 450 this domain name loses its status as a likely DGA domain name.
 Generally, a DGA domain name will have a relatively large number of access attempts from infected computers within a short period, e.g., one day. If the number of access attempts is graphed over time, this phenomenon may appear as a bump or spike. This is illustrated in FIG. 5. In this illustration, the number of attempted access attempts for a domain name is relatively high on day n+3. There are significantly fewer attempts on days n+2 and n+4, and few or none on any other days. DGA domain names tend to be used only briefly; before and after that, other DGA domain names are generated and used. Therefore such a profile suggests that this domain name may be a DGA domain name. Note that activity detected on non-peak days may be due to security analysis being performed with respect to the DNS server, or synchronization issues of a system clock.
 There are several statistics which may be collected in order to identify such a spike. To begin, the median number of requests per day may be noted. The maximum number of requests per day may also be recorded. The number of days since DNS requests were first seen may be recorded. Various statistics related to outlier values may also be significant. These would include statistics related to requests on days apart from the day of an apparent spike. In the example of FIG. 5, such statistics would relate to access attempts on days other than day n+3. For example, values that are relatively distant from the mean, e.g., beyond four standard deviations, may be considered. Values that are relatively distant from the median, e.g., beyond four times the median absolute deviation, may be considered. Values that are above the upper quartile, e.g., past the upper quartile by a distance of three times the interquartile range, may also be considered. The statistics defined here are presented as examples, without limitation. Any or all of these statistics, as well as others known to persons of ordinary skill in the art, may be used to define criteria for a spike that represents access to a DGA domain name. In an embodiment, thresholds may be defined for some or all of these statistics; if these thresholds (or some subset of these thresholds) are met, then the DGA domain name in question may be treated as a likely DGA domain name.
 Operation 130 of FIG. 1, the identification of likely DGA domain names through examination of infrastructure used by other likely DGA domain names, is illustrated in greater detail in FIG. 6 according to an embodiment. At 610, for a likely DGA domain name, the infrastructure supporting this domain name is identified. Such infrastructure may include, for example, a name server that is used for this domain name. When this infrastructure is identified, there is some likelihood that other domain names using this infrastructure may be DGA domain names. Therefore, at 620, other domain names that use this infrastructure are identified. At 630, the domain names identified at 620 are designated as likely DGA domains.
 As noted above, information related to a likely DGA domain name may also be considered as part of the infrastructure, and analyzed to discover other likely DGA domain names in an embodiment. Examples of such information may include IP addresses used by likely DGA domain names, domain registration data (such as email addresses, names of the person(s) or organization who registered the domain, telephone numbers, and physical mailing addresses), and malware executable files themselves, which contain the DGA logic.
 Referring again to FIG. 1, the illustrated sequence should not be construed as limiting; the operations may, in alternative embodiments, be performed in a different sequence. Moreover, after completing some or all of the operations, one or more of the operations may be repeated. Some of these possibilities are illustrated in FIG. 7. If, for example, the sequence of operations 110, 120, and 130 is completed, then some or all of the set of likely DGA domain names may be refined by repeating 110. It may be advantageous, for example, to take the likely DGA domain names that were found in 130 to be sharing infrastructure with previously identified likely DGA domain names, and subject these to the feature-based classification process of 110. The resulting set of likely DGA domain names may then be subjected to operation 120, so that attempts to access these domains may be monitored for statistical patterns in the number and timing of access attempts. This would further refine the list of likely DGA domain names. Moreover, the list of likely DGA domain names resulting from operation 120 may be further refined by subjecting them to the operation of 110.
 Alternatively, some or all of the likely DGA domain names resulting from operation 130 may be subjected to operation 120. Here, access to the likely DGA domain names that were found in 130 to be sharing infrastructure with previously identified likely DGA domain names may be monitored. In this manner, attempts to access these domain names may be monitored for statistical patterns in the number and timing of access attempts. Again, this would further refine the list of likely DGA domain names.
 The possible sequences identified above are presented as examples, and are not meant to be limiting. Other permutations are possible, as would be understood by a person of ordinary skill in the art. Moreover, the control of such sequencing may be performed by the control of a user, or may be controlled in an automated manner by software.
 Once a set of likely DGA domain names is finalized, procedures may be performed to block access to these domains or otherwise mitigate security vulnerabilities that might be created or exploited by a DGA domain name. This blocking may be performed by an administrator or by software running under the control of an administrator. In this way, malware that is trying to obtain instructions through these domains will be unable to do so. In alternative embodiments, other actions may be performed to mitigate such vulnerabilities, instead of or in addition to blocking access; such actions may include logging of such access attempts and/or assertion of an alarm condition, as noted above.
 In an embodiment, the processing described above may be implemented in one or more programmable processors executing software or firmware (or a combination thereof). A software or firmware embodiment of these operations is illustrated in FIG. 8. A computing system 800 includes one or more memory devices, shown collectively as memory 810. Memory 810 is in communication with one or more processors 820 and with one or more input/output units 830. An example of an I/O unit is a network processor unit that may have associated network ports or other communications ports 832(1)-832(k). In an embodiment, I/O 830 allows a user to interface with and control the execution of instructions 840. I/O 830 may also connect to network components, such as DNS servers. The I/O 830 may include one or more Application Specific Integrated Circuits (ASICs) that are configured with digital logic gates to perform various networking and security functions. In an embodiment, the system 800 may be embodied in a personal computer, workstation, or other computing system or device. In alternative embodiments, the functionality of system 800 may be implemented across a distributed or networked computing system or a cluster of computing systems, where the resources illustrated in FIG. 8 reside and operate in a plurality of physical or logical locations.
 Memory 810 may comprise, but is not limited to comprising, read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physically tangible (i.e., non-transitory) memory storage devices. Memory 810 stores data as well as executable instructions 840. Instructions 840 are executable on processor(s) 820. The processor(s) 820 comprise, for example, a microprocessor or microcontroller that executes instructions 840. Thus, in general, the memory 810 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., memory device(s)) encoded with software or firmware that comprises computer executable instructions. When the instructions are executed (by the processor(s) 820) the software or firmware is operable to perform the operations described herein.
 In the illustrated embodiment, the executable instructions 840 may include several logic modules. These include a classification module 850 responsible for receiving possible domain names and evaluating their features, then classifying them as either likely DGA domain names or likely non-DGA domain names. In an embodiment, classification module 850 includes the training logic 220 and classification logic 210 shown in FIG. 2, and performs the processing described above with respect to FIG. 2. Executable instructions 840 may also include a monitoring module 860 responsible for monitoring one or more request logs for DNS servers responsible for a given likely DGA domain name, as described above with respect to FIG. 4. This may include, for example, observing and characterizing the number of accesses directed to the DNS server for this likely domain name. Executable instructions 840 may also include an infrastructure-based identification module 870. This module may be responsible for identifying domain names that share network infrastructure with a likely DGA domain name, as described above with respect to FIG. 6.
 A method is described herein, comprising: at a computing device, classifying a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on one or more features of the first domain name; determining statistics regarding requests for the first domain name; identifying any additional domain names that share an infrastructure with the first domain name; determining whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on a result of one or more of the classifying, the statistics, or the identifying; and mitigating a security vulnerability related to one or more of the likely DGA domain names.
 An apparatus is also described herein, comprising: one or more processors; one or more memory devices in communication with the one or more processors; and a network interface unit in communication with the one or more processors. The one or more processors are configured to: classify a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on evaluation of one or more features of the first domain name, resulting in a classification of the first domain name; determine statistics regarding requests for the first domain name; identify any additional domain names that share an infrastructure with the first domain name resulting in an identification of additional domain names; and determine whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on the classification, the identification, or the statistics, in order to mitigate a security vulnerability related to one or more of the likely DGA domain names.
 One or more computer readable non-transitory storage media are also described herein. The media is encoded with software comprising computer executable instructions that when executed by one or more processors, cause the one or more processors to: classify a first domain name as either a likely domain generation algorithm (DGA) domain name or a likely non-DGA domain name, based on evaluation of one or more features of a first domain name, resulting in a classification of the first domain name; determine statistics regarding requests for the first domain name; and identify any additional domain names that share an infrastructure with the first domain name, resulting in an identification of additional domain names. The computer executable instructions further cause the processor to determine whether one or more of the first domain name and one or more of the additional domain names are likely to have been generated by a DGA, based on the classification, the identification, or the statistics in order to mitigate a security vulnerability related to one or more of the likely DGA domain names.
 While various embodiments are disclosed herein, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the methods and systems disclosed herein. Functional building blocks are used herein to illustrate the functions, features, and relationships thereof. At least some of the boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries may be defined so long as the specified functions and relationships thereof are appropriately performed. The breadth and scope of the claims should not be limited by any of the example embodiments disclosed herein.


text:
Q: Matplotlib scatter plot - color argument meaning I do not understand the difference of the color arguments and their aliases for scatter plots created with plt.scatter(). The code further below generates scatter points with various combinations of the arguments 'c', 'color', 'fc' and 'facecolor' (I omitted 'edgecolor' for the moment).
I thought that 'c' and 'fc' are just aliases, similar as for plt.plot(), but that appears to not be the case. Could somebody clarify to me how the arguments interact to define the colors of the markers?
Update:
Following the link in @BigBen's comment further below, the following seems to be the case for the scatter points

*

*facecolor set via 'fc', edgecolor set to facecolor via 'face'

*facecolor set via 'c', edgecolor set to facecolor via 'face'

*facecolor set via 'fc', edgecolor set via 'color'

*facecolor set via 'facecolor', edgecolor set via 'color'

*(as 1.) facecolor set via 'fc' (None falls back to color 'C0'), edgecolor set to facecolor via 'face'

*(as 2.) facecolor set via 'c', edgecolor set to facecolor via 'face'

*(as 3.) facecolor set via 'fc' (None falls back to color 'C0'), edgecolor set via 'color'

*facecolor set via 'color' ('facecolor' == None is ignored), edgecolor set via 'color'
It seems that 'fc' has precedence even over 'c', though it is not mentioned in the argument precedence description in the link. I still find it very awkward that 'fc' and 'facecolor' are not simple aliases of each other.

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1])
fig = plt.figure()
ax = plt.gca()
ax.scatter(x+0, x+0, marker='o', c='r', fc='b')
ax.scatter(x+1, x+1, marker='o', c='r', facecolor='b')
ax.scatter(x+2, x+2, marker='o', color='r', fc='b')
ax.scatter(x+3, x+3, marker='o', color='r', facecolor='b')
ax.scatter(x+4, x+4, marker='o', c='r', fc=None)
ax.scatter(x+5, x+5, marker='o', c='r', facecolor=None)
ax.scatter(x+6, x+6, marker='o', color='r', fc=None)
ax.scatter(x+7, x+7, marker='o', color='r', facecolor=None)
fig.savefig('~/so_scatter_test.png')
plt.close()

redpajama_set_name: RedPajamaStackExchange


Mostly deer. Do a little squirrel hunting. Really want to start Turkey hunting. Never could when I was coaching baseball due to same time of season.
I have two muzzle loaders...Knight In-line and Thompson Center. Both .50 cal. Would like to trade or sell to purchase a handy rifle or a shotgun. Any suggestions??
I was raised in Baton Rouge, La. Attended Meridian Community College in 1991 to play baseball. Finished my degree/career at Mississippi College and started coaching football/baseball at Warren Central in 1998. I am now the Principal at Redwood Elementary. My uncle, Jack Warren, would take my cousin and I squirrel hunting in Sandyhook, Ms., down on the Pearl River when we were kids. Did a lot of fishing with my dad at different campgrounds growing up. Did a little deer hunting at a young age, but really started hunting more when I moved to Vicksburg. Sam Temple (Baseball at Hinds Community College now) was the head baseball coach at WC when I started, hunted a bunch, and I started making those hunts with him. I just enjoy being in the Outdoors, and look forward to every opportunity.


text:
using WebKit::WebForm;

namespace webkit_glue {

AutofillForm* AutofillForm::Create(const WebForm& webform) {
  RefPtr<WebCore::HTMLFormElement> form = WebFormToHTMLFormElement(webform);
  DCHECK(form);

  WebCore::Frame* frame = form->document()->frame();
  if (!frame)
    return NULL;

  WebCore::FrameLoader* loader = frame->loader();
  if (!loader)
    return NULL;

  const WTF::Vector<WebCore::HTMLFormControlElement*>& form_elements =
      form->formElements;

  // Construct a new AutofillForm.
  AutofillForm* result = new AutofillForm();

  size_t form_element_count = form_elements.size();

  for (size_t i = 0; i < form_element_count; i++) {
    WebCore::HTMLFormControlElement* form_element = form_elements[i];

    if (!form_element->hasLocalName(WebCore::HTMLNames::inputTag))
      continue;

    WebCore::HTMLInputElement* input_element =
        static_cast<WebCore::HTMLInputElement*>(form_element);
    if (!input_element->isEnabledFormControl())
      continue;

    // Ignore all input types except TEXT.
    if (input_element->inputType() != WebCore::HTMLInputElement::TEXT)
      continue;

    // For each TEXT input field, store the name and value
    std::wstring value = StringToStdWString(input_element->value());
    TrimWhitespace(value, TRIM_LEADING, &value);
    if (value.length() == 0)
      continue;

    std::wstring name = GetNameForInputElement(input_element);
    if (name.length() == 0)
      continue;  // If we have no name, there is nothing to store.

    result->elements.push_back(AutofillForm::Element(name, value));
  }

  return result;
}

// static
std::wstring AutofillForm::GetNameForInputElement(WebCore::HTMLInputElement*
    element) {
  std::wstring name = StringToStdWString(element->name());
  std::wstring trimmed_name;
  TrimWhitespace(name, TRIM_LEADING, &trimmed_name);
  if (trimmed_name.length() > 0)
    return trimmed_name;

  name = StringToStdWString(element->id());
  TrimWhitespace(name, TRIM_LEADING, &trimmed_name);
  if (trimmed_name.length() > 0)
    return trimmed_name;

  return std::wstring();
}

}  // namespace webkit_glue

redpajama_set_name: RedPajamaGithub


Front Vent Window weatherstrip 1937-1939 Chev set of 4 pieces ..
Rear window panel sliding window, dark tint suit 1948 - 55 Chev pickup ..
New Coil Spring to fit side window regulator in 1937 - 39 Chev ..
1.5" long garnish moulding screws countersunk raised head ..
Countersunk garnish moulding screw washers ..
Rear window moulding clip 1975 - 79 Chev ..
Rear window moulding clips to suit 1967 - 69 Chev Camaro ..
Rear Window rubber 1937-1940 Chev ..
replaces worn window regulator pivot rivet with 1/4 in shaft size ..
Window Regulator split wheel 3/16"
Nylon 1 Wheel & 1 Rivet 3/16" Rivet ..
Window Regulator split wheel kit 1/4"
Nylon 1 Wheel & 1 Rivet 1/4" Rivet ..
Window Regulator split wheel kit 5/16"
Nylon 1 Wheel & 1 Rivet 5/16" Rivet ..
Windshield Centre Divider Inside Gasket 1937-1938 Chev ..
Countersunk head screws for inner windsheild divider to outer divider ..
Screws to hold inner windshield centre divider to outer divider Chev 1939-48 ..