Q:

Reading binary file of doubles in spark produces wrong output

I have a binary file that was generated in C.
The file has a fixed record length of 26000 doubles and contains 1067 records with no separators. I need to read it in spark and get the double values.
I also have a Python code that gets the values of the doubles and using Files.readAllBytes from java in the spark-shell I also get those values, so based on the Python output I expect the first 1000 doubles of the first record to have the value -3509.580466022612.
Taken from spark-shell:
import java.nio.ByteBuffer
import java.nio.ByteOrder
val doubleByteSize = 8
val recordLength = 1000 * 26 * doubleByteSize
val bytesRdd = sc.binaryRecords("file:///myBinaryFile.val", recordLength)
val arrayOfRecords = bytesRdd.collect
val firstRecord = arrayOfRecords(0)
// group 8 bytes together to transform them to doubles
val listOfDoubles = firstRecord.grouped(doubleByteSize).toList
// I get 1000 times the same double but isn't -3509.580466022612 it's 1.1848107264484659E181
val result = listOfDoubles.map(arrayOfBytes => ByteBuffer.wrap(arrayOfBytes).getDouble)
// try with little endian and it is wrong again -6.045003065652023E-27
val result2 = listOfDoubles.map(arrayOfBytes => ByteBuffer.wrap(arrayOfBytes).order(ByteOrder.LITTLE_ENDIAN).getDouble)

The number of records looks correct (arrayOfRecords.length = 1068), the number of bytes per record looks good to me (firstRecord.length = 208000) and the first 1000 doubles contains the same value, everything as expected but the double value (1.1848107264484659E181) is not the expected one (-3509.580466022612). I tried to change it to little endian but the number is still wrong (-6.045003065652023E-27).
Python code:
def str_all(data):
 ret_str = ""
 for d in data:
    ret_str+= " " + str(d)
 return ret_str

def main():

 num_sim = 1000
 num_ts = 26

 record_index = 0

 deal_data = array('d')
 with open("/myBinaryFile.val","rb") as data_file:
    data_file.seek(SIZEOFDOUBLE*record_index*num_sim*num_ts)
    deal_data.fromfile(data_file,num_sim*num_ts)
 ts_index = 0
 deal_range = slice(ts_index*num_sim,(ts_index+1)*num_sim)
 # it prints 1000 times -3509.580466022612
 print(str_all(deal_data[deal_range]))

Simple java code to read the binary (from spark-shell) gets the expected value:
val byteArray = Files.readAllBytes(Paths.get("/mybinaryFile.val"))
// gets the correct value -3509.580466022612
ByteBuffer.wrap(byteArray).order(ByteOrder.LITTLE_ENDIAN).getDouble

Anyone has any idea on what's going on here?
Thanks in advance.
Spark version 1.6.0, Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67)
Python version 2.6

A:

The problem was not related with the binary data itself, when I was doing:
val arrayOfRecords = bytesRdd.collect
val firstRecord = arrayOfRecords(0)

I wasn't getting the Array ordered, changing that solved the issue:
val firstRecord = bytesRdd.first

Looks like collect doesn't preserve the order. Thanks The Archetypal Paul for your time and help.


25th September: The only way to reach all older persons, children or persons with disabilities who are vulnerable and in poverty is to build inclusive social protection systems available to everybody as a right.

This was the message of Stephen Kidd, Senior Social Policy Specialist at Development Pathways, at the International Labour Organisation’s flagship annual event on social protection in Turin today. Speaking at the Academy on Social Security in the ILO’s International Training Centre, live-streamed worldwide by Socialprotection.org, Kidd presented evidence on how even the most effective targeted social protection programmes exclude more than 40% of those in extreme poverty. The worst programmes exclude the majority of those in the poorest income quartile in the nations where they are implemented, his presentation, available to view again by clicking here, highlighted, among other issues.

Stephen Kidd pointed to how poverty-targeting in social protection fails not only to cover the vast majority of the populations in low- and middle-income nations experiencing poverty, it even fails to cover half of those people living in the most extreme poverty, despite its objective to reach them all. He said that the Philippines Pantawid social protection programme was among the least worst poverty-targeted programmes, excluding over 40% of those in extreme poverty; others exclude even more of the poorest.

He said that the alternative to ineffective poverty-targeted programmes are citizenship-based programmes that have a much greater impact on poverty while recognising that social protection is a human right and that everybody is at risk of vulnerability. In some cases, elected governments such as Mongolia’s had come under pressure from the IMF to abolish universal programmes and introduce poverty-targeting – despite the fact that this was opposed by national politicians.

Stephen Kidd was invited to present our evidence at the Academy on Social Security, which is both a training course and a key date in the social protection calendar for practitioners and experts to exchange the latest thinking on policy development.

His presentation, Targeting social protection programmes to ensure that no one is left behind, is available on the ILO International Training Centre website: http://bit.ly/TargetingToLeaveNoOneBehind


Q:

Graph In-degree Calculation from Adjacency-list

I came across this question in which it was required to calculate in-degree of each node of a graph from its adjacency list representation.
for each u
   for each Adj[i] where i!=u
     if (i,u) ∈ E
         in-degree[u]+=1

Now according to me its time complexity should be O(|V||E|+|V|^2) but the solution I referred instead described it to be equal to O(|V||E|).
Please help and tell me which one is correct.

A:

Rather than O(|V||E|), the complexity of computing indegrees is O(|E|). Let us consider the following pseudocode for computing indegrees of each node:
for each u
  indegree[u] = 0;

for each u
  for each v \in Adj[u]
    indegree[v]++;

First loop has linear complexity O(|V|). For the second part: for each v, the innermost loop executes at most |E| times, while the outermost loop executes |V| times. Therefore the second part appears to have complexity O(|V||E|). In fact, the code executes an operation once for each edge, so a more accurate complexity is O(|E|).


Genetics of carotene biosynthesis in Phycomyces.
Genetic analysis of carotenogenesis in Phycomyces is hampered by the inability of most mutants to complete the sexual cycle. Heterokaryons between complementing mutants or between a mutant and a helper strain are, however, fertile. Using this method crosses have been carried out between mutants representing the different known genes and phenotypes.The gene for phytoene dehydrogenase, carB, is closely linked to carRA, a bifunctional gene specifying both lycopene cyclase and a product involved in substrate transfer. The regulatory gene carS lies on the same chromosome, but not close to the structural genes. The situation is thus reminiscent of an operon.Two chemoinsensitive mutants, showing little or no response to the effects of retinol and 2-(4-chlorophenyl)thiotriethylamine HCl on carotenogenesis, carry mutations in separate genes. One of these is probably identical with carRA; the other is a new gene termed carl.


Ambient UVA-induced expression of p53 and apoptosis in human skin melanoma A375 cell line by quinine.
This study aimed to analyze the phototoxic mechanism and photostability of quinine in human skin cell line A375 under ambient intensities of UVA (320-400 nm). Photosensitized quinine produced a photoproduct 6-methoxy-quinoline-4-ylmethyl-oxonium identified through LC-MS/MS. Generation of (1)O2, O2(•-), and (•)OH was measured and further substantiated through their respective quenchers. Photosensitized Quinine (Q) caused degradation of 2-deoxyguanosine, the most sensitive nucleotide to UV radiation. The intracellular ROS was increased in a concentration-dependent manner. Significant reduction in metabolic status measured in terms of cell viability (54%) at 25 μg mL(-1) was observed through MTT assay. Results of MTT assay accord NRU assay. Single strand DNA breaks and apoptosis were increased significantly (P < 0.01) as observed through comet assay and EB/AO double staining. Photosensitized quinine caused cells to arrest in G2 phase of cell cycle and induced apoptosis (5.08%) as revealed through FACS. Real-Time PCR showed upregulation of p21 (4.56 folds) and p53 (2.811 folds) genes expression. Thus, our study suggests that generation of reactive oxygen species by quinine under ambient intensity of UVA may result into deleterious phototoxic effects among human population.


FILE - In this May 4, 2016 file photo, North Carolina Gov. Pat McCrory make remarks concerning House Bill 2 while speaking during a government affairs conference in Raleigh, N.C. McCrory has taken a beating from critics over a law dictating which restrooms transgender people can use, highlighting what they call the economic harm and reputation its causing North Carolina. McCrory is retrying to reshape the narrative heading into a tough re-election campaign by going after the federal government. Photo: (AP Photo/Gerry Broome, File)

FILE - In this May 4, 2016 file photo, North Carolina Gov. Pat McCrory make remarks concerning House Bill 2 while speaking during a government affairs conference in Raleigh, N.C. McCrory has taken a beating from critics over a law dictating which restrooms transgender people can use, highlighting what they call the economic harm and reputation its causing North Carolina. McCrory is retrying to reshape the narrative heading into a tough re-election campaign by going after the federal government. Photo: (AP Photo/Gerry Broome, File)

RALEIGH, N.C. (AP) — North Carolina’s outgoing Republican Gov. Pat McCrory said Friday that he blames political pressure — especially from liberal groups — for thwarting a deal to repeal the law known as “the bathroom bill.”

On the eve of his last day in office, McCrory discussed a wide range of topics, including the law, referred to as House Bill 2. The law is best known for requiring transgender people to use restrooms corresponding to the sex on their birth certificates in many public buildings. McCrory called the General Assembly into special session earlier this month to consider repealing the law, but a deal fell apart.

“There is so much political pressure — primarily from the left — not to get an agreement,” he said in a phone interview.

“There are a lot of people who like this conflict to be ongoing,” he added. “They’re raising money off of it. I was hoping for the best but not surprised that it broke down.”

Both McCrory and his successor, Democratic Gov.-elect Roy Cooper, had touted a deal to kill the state law in exchange for Charlotte doing away with a local antidiscrimination ordinance. But Democrats accused Republicans of going back on their promise by adding a proposed moratorium on similar ordinances, while the GOP accused Democrats of walking away from a compromise.

McCrory said he unsuccessfully tried three times in the past year to broker similar deals. He said he believes the issue will ultimately be decided in court.

“My main message on this is frankly, the Justice Department under the Trump administration and the U.S. Supreme Court are really going to be the deciding factors for the nation, not just North Carolina, on what the definition of gender will be,” he said.

The state law also excludes gender identity and sexual orientation from statewide antidiscrimination protections.

McCrory, who met with President-elect Donald Trump earlier this month, said he doesn’t know what his next endeavor would be.

“I’m going to have to do some strong reflection and make a determination with my wife where my next journey will take me — whether it’s in the private sector, working with the Trump administration if that opportunity arises, or reconsidering politics, maybe even four years down the road. I just don’t know,” he said.

McCrory lost to Cooper by about 10,000 votes after a closely contested governor’s race. He conceded earlier this month following a debate about the counting of votes and a partial recount in heavily Democratic Durham County.

The outgoing governor said he had a cordial meeting with Cooper on Thursday and showed him around the governor’s mansion. But McCrory also complained that his administration had to work through the holidays to prepare for a handover because of Cooper’s decision to be sworn in minutes after midnight on Jan. 1.

McCrory hopes he’s remembered for his role in the state’s drop in unemployment, tax code revisions that reduced income tax and increasing the state’s disaster fund. He said that despite negative publicity over HB2, the state still has “a pipeline full of jobs” that he expects to be announced in the coming months.

“We have left the state in extremely good financial shape,” he said.

| Associated Press


Influenza A H1N1 represents a major cause of morbidity and mortality in the United States. In addition, Influenza A poses a significant risk of pandemic outbreak as evidenced in the past two years. A large proportion of severe cases of Influenza A pneumonia are associated with secondary bacterial infection, most commonly caused by Staphylococcus aureus or Streptococcus pneumoniae. Incidence and severity of S. aureus pneumonia is increasing worldwide due to the emergence of methicillin-resistant (MRSA) strains. For these reasons, understanding the molecular mechanisms that promote bacterial host defense in the lung is of critical importance. Little is known about the cell-mediated immune response to S. aureus infection. Using a mouse model of Influenza A infection (Influenza A PR/8/34) coupled with S. aureus challenge our group has found that Influenza A exacerbates secondary bacterial pneumonia. We have shown that the mechanism is likely mediated by type I Interferon suppression of IL-23 production and subsequent TH17 immune activation. In this proposal we will further investigate the Influenza A, S. aureus co-infection model in three specific aims. First, we will examine the role of type I interferon in mediating Influenza A exacerbation of secondary bacterial infection. Second, we will examine the mechanism by which IL-23 promotes immunity against S. aureus. Finally, we will investigate the mechanism by which the TH17 pathway promotes S. aureus killing via the airway epithelium. These studies will involve numerous TH17 pathway gene altered mouse studies and in vitro studies with both mouse and human airway epithelial cells. The goal of the study is to elucidate the molecular mechanisms involved in S. aureus host defense and to identify interventions that can restore TH17 immunity following Influenza A infection and improve the host response against secondary bacterial pneumonia. These data may be directly applicable to the hospital setting and may reveal novel therapeutic strategies that would decrease morbidity and mortality, and improve patient outcome. PUBLIC HEALTH RELEVANCE: The Influenza A virus infects millions nationally each year compounded with thousands of severe pneumonia cases associated with bacterial superinfection which often results in severe illness and/or death. This study addresses the mechanisms by which Influenza A makes the lung more susceptible to later bacterial infection. This proposal defines the molecular pathways by which Influenza A leads to suppressed bacterial host defense and attempts to identify novel therapeutic targets to improve patient outcomes.


British police feared an armed confrontation if they tried to arrest an Israel Defense Forces general accused of war crimes, the British Broadcasting Corp. reported Tuesday.

Retired Gen. Doron Almog avoided arrest in 2005 by staying on his plane at London's Heathrow airport after a tip-off that police there were waiting to detain him.

The El Al plane took Almog back to Israel, and the arrest warrant was eventually dropped for procedural reasons.

Police feared an armed confrontation with air marshals or Almog's security detail if they stormed the aircraft, the BBC said, citing documents prepared for the Independent Police Complaints Commission, a police watchdog.

The commission, which concluded its investigation into the incident last year, declined to comment on the documents, saying only that there was nothing improper about the police's decision not to board the plane.

El Al referred all questions to the Shin Bet security service, which is responsible for security on its planes. The Shin Bet did not immediately reply to an e-mail seeking comment. London police also declined comment.

The war crimes allegations stemmed from Almog's role as commander of the IDF in Gaza in 2002, when the IDF demolished 59 houses in Rafah refugee camp, according to the Palestinian Center for Human Rights.

Israel said at the time that buildings it razed were empty and being used by militants as hideouts from which to fire on IDF troops. But the rights group alleges the destruction was a war crime as it was not justified by military necessity and was carried out unlawfully.

The group filed a complaint in Britain against Almog under a law that gives Britain the power to charge foreigners with war crimes, even if Britain or its citizens were not involved.

A warrant for Almog's arrest was issued Sept. 10, 2005 by the magistrates' court in central London, the human rights center said.

Senior foreign officials, including heads of state, are typically protected from arrest or prosecution. Almog, who was visiting Britain to raise money for an Israeli center for developmentally disabled children, did not benefit from the usual immunity.

In December, Public Security Minister Avi Dichter turned down an invitation to visit Britain out of concern that he could be arrested for his role in the 2002 assassination of a senior Hamas militant in Gaza, spokesman Mati Gill said.


Bad-Chicago has 7 shooting deaths in 24 hours

This is a discussion on Bad-Chicago has 7 shooting deaths in 24 hours within the In the News: The Good, the Bad and the Ugly forums, part of the The Back Porch category; Just gotta remember, gun control is all about control. As long as they can exert control they're satisfied. Prattling on about stopping gun violence is ...

Expecting a carjacker or rapist or drug pusher to care that his possession or use of a gun is unlawful is like expecting a terrorist to care that his car bomb is taking up two parking spaces.-Joseph T. Chew

I thought Chicago was a Gun Free Zone??? Wait a minute I forgot, it is a gun free zone only for the law abiding citizens. For criminals it is a "Crime Spree Zone". The sad part is that there are no suspects for any of the shootings in custody.

A good snow storm would slow this down. Probably the reason Obama wants to fight global warming.

I like how the WBBM780 web site calls it "Gun Violence" instead of the gang violence it actually is.

How's that gun control working for you folks in Cook county?

How long will it take to kill everyone in Chicago?

It's a sad situation when people are murdered and can't defend themselves because of the officials they elected. The above quotes are only a few of the 160 that people from that great state of safety and security posted when the news article was published...at least they still have a sense of humor if nothing else.


With every new format comes the chance to release box-sets of classic movies once again; those movies that, regardless of whether we’ve seen them a thousand times or whether we already own them on numerous formats, they become must have purchases. Indiana...

The New York Times recently ran an article about the current state of the chick flick. It cited The Devil Wears Prada (2006) as the most commercially successful film of the genre and suggested that less women were going to these films than before. And...

Essentially a reworking of Disney’s animated takes on Cinderella and Sleeping Beauty (while also referencing many others), Enchanted was a surprise hit in 2007 thanks in large part to the irrepressible charms of its leading lady, Amy Adams. Part animated...

After two impressive outings, The X-Men franchise was handed over to Brett Ratner when Bryan Singer was unavailable due to his commitment with Superman Returns (2006). This caused fans to grumble due to Ratner’s less than stellar track record and reputation...

If Batman and Robin (1997) didn’t nearly kill off the comic book super hero film, it did a great job of reducing the genre, in the public’s eye, to the stuff of silly camp. After such an embarrassingly awful effort, the only way to go was self-parody...

Despite being the co-writer for a certain Delorian-related time-travel trilogy, Bob Gale had to fight tooth and nail to make his directorial debut with this wonderfully offbeat road movie.
Frustrated at being unable to make his first choice of film, Gale...


Q:

python - the execution looks like synchronous with asyncio

Api calls could be speeded up with asynchronous calls.
So I thought I can speed up my program by using asyncio. By displaying the results, the execution looks like synchronous. So I'm completely confused. What did I do wrong?
import asyncio
# pip install git+https://github.com/sammchardy/python-binance.git@00dc9a978590e79d4aa02e6c75106a3632990e8d
from binance import AsyncClient
import time

async def catch_up_aggtrades(client, symbols):
    start = time.time()
    for symbol in symbols:
        await get_historical_aggtrades(client, symbol)
    end = time.time()
    print(end-start)

async def get_historical_aggtrades(client, symbol):
    async for trade in client.aggregate_trade_iter(symbol, '5 minutes ago UTC'):
        print("symbol {} -> {}".format(symbol, trade))

async def main():
    client = await AsyncClient.create()
    symbols = ['BTCUSDT', 'ETHUSDT', 'BNBUSDT']
    await catch_up_aggtrades(client, symbols)
    while True:
       await asyncio.sleep(20, loop=loop)

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

A:

Try this:
async def catch_up_aggtrades(client, symbols):
    start = time.time()
    await asyncio.gather(*[get_historical_aggtrades(client, symbol) for symbol in symbols])
    end = time.time()
    print(end-start)


Q:

Install Ubuntu on the hard drive of a 2nd computer, then move that drive to a different computer

I have an old laptop that I want to use for watching TV, etc., but the screen is broken and I can't see what I'm doing in the boot menu.
My solution to the problem is to install Ubuntu to the HDD from a different computer, and then install this hard drive into the old laptop.
I have been unable to do this. Do you have any suggestions?

A:

Installed Ubuntu is portable
Yes it is possible to install Ubuntu in one computer and move the drive to another computer (or to use an external drive) and run Ubuntu in another computer. It will often work (but not always, the hardware might be too different).
You should avoid proprietary drivers (for example for graphics and wifi). The following link and links from it might help you see what to do and what to avoid,
Boot Ubuntu from external drive

In principle, you can install Ubuntu 'as usual', except that it can cause problems, if other drives (hard disk drives or SSDs) are connected during the installation, particularly in UEFI mode.
The installed system will be created for the boot mode, in which it was created. So if you intend to run your target computer (the laptop with a damaged screen) in UEFI mode, you should boot the other computer in UEFI mode and install when running in that mode. And boot in BIOS mode (alias CSM alias legacy mode) to make the installed system if you intend to run your target computer in BIOS mode.
If a proprietary driver is necessary, it is best to install it after the drive has been moved to the computer, where it is to be used. In order to prepare for proprietary graphics, you may add the boot option nomodeset to the default menuentry before moving the drive to the target computer.

Persistent live system
Alternative, if the computers are too different, so that a system installed in one computer does not work in the other computer:
A persistent live system

is more portable (boots and works in more computers)
causes less wear of the drive
is not as stable (is easier to damage)
can not be completely updated & upgraded (compared to an installed system)

See this link,
https://help.ubuntu.com/community/mkusb
https://help.ubuntu.com/community/mkusb/persistent


Q:

Upgrade Awstats 6.9 to 7.0 on Ubuntu 10.04 LTS

I want to take advantage of the new features in the latest version of Awstats on 10.04 but dont want to upgrade the OS as other software I am using requires that specific OS version.
Is there any way to upgrade? Already tried using aptitude and 6.9 is the latest version.
Thanks.

A:

Download the latest from:
http://awstats.sourceforge.net/#DOWNLOAD

Extract the archive:
Copy:
awstats-7.0\wwwroot\cgi-bin\awstats.pl

To:
/usr/lib/cgi-bin

Copy:
awstats-7.0\wwwroot\cgi-bin\lang
awstats-7.0\wwwroot\cgi-bin\lib
awstats-7.0\wwwroot\cgi-bin\plugins
awstats-7.0\awstats-7.0\wwwroot\icon

To:
/usr/share/awstats

Open Webmin, Webmin Configuration, Webmin Modules, then browse for the file
awstats-7.0\awstats-7.0\tools\webmin\awstats-1.9.wbm

and install.
Update should now be complete.
Have answered my own question here: https://www.virtualmin.com/node/21442


Lawrenceburg, Kentucky is a quaint historic community located in the heart of the Kentucky. This community offers the amenities of rural life with the availability of a lifestyle offered by the larger cities of Louisville and Lexington.

With a population of just over 10,500 residents in the city limits, it's a friendly town expected to grow positively over the next several years. It's a place where bourbon is as old as the community and the wine is nationally acclaimed.


Classical and alternative pathway haemolytic activities of ovine complement: variations with age and sex.
The classical (CH50) and alternative (ACH50) pathway haemolytic activities of sheep complement were measured with microtechniques. Storage of blood at room temperature (instead of 4 degrees C) before centrifugation and usage of sera stored at -70 degrees C were compatible with complement titration. The effects of age and sex were tested in 303 sera obtained from animals aged between 2 weeks and 3.5 years old. ACH50 titres were low during the first 1.5 months of life then increased to reach the level found in adults at the age of 3 months. Conversely, CH50 titres were very high in suckling lambs, decreased up until the age of 3 months and then increased to reach the adult level at 1 year old. In lambs, the haemolytic complement activity was significantly higher in females than in males.


---
author:
- 'A. Fukaya$^{1}$[^1], I. Watanabe$^{2}$, K. Yamada$^{1}$ and K. Nagamine$^{3}$'
title: 'Spin dynamics in copper metaborate CuB$_2$O$_{4}$ studied by muon spin relaxation'
---

citess\#1[^\#1)^]{}

Soliton lattice is an interesting structure where domain walls (solitons) with incommensurate state separate commensurate regions and are arranged periodically [@Bak82]. The soliton lattice structure has rarely been found in pure localized spin systems. Only a few materials have been discovered; $e.g.$, spin-Peierls systems CuGeO$_3$ [@Boucher] and (TMTTF)$_2$PF$_6$ [@Brown] in magnetic fields, the two-dimensional spin system Ba$_2$CuGe$_2$O$_7$ [@Zheludev97; @Zheludev99], and the recently-discovered copper metaborate CuB$_2$O$_4$ [@Roessli01]. While the static properties of the magnetic soliton lattice have been studied experimentally, the dynamic properties have not been clarified. In this paper, we focus on the spin dynamics of CuB$_2$O$_4$ and report its magnetic properties.

In CuB$_2$O$_4$, three magnetic phase transitions occur down to 50 mK [@Petrakovskii02]. A second order phase transition from a paramagnetic phase to a commensurate non-collinear weak ferromagnetic phase occurs at $T_N$$\sim$21 K. A first order phase transition to an incommensurate helix phase occurs at $T^*$$\sim$10 K. At a narrow temperature region around $T^*$, higher-order magnetic satellites are observed by the neutron scattering measurements, suggesting the formation of a magnetic soliton lattice [@Roessli01]. Recently, a third phase transition has been suggested to occur at $\sim$1.8 K, where a sudden change is observed in the intensity of the satellites [@Petrakovskii02; @Boehm02; @Boehm03]. However, details of the phase transition and the magnetic state in this phase have not yet been clarified. Hereafter, we will refer to this low-temperature incommensurate phase as “LI phase.”

NMR measurement, which is a powerful method to study spin dynamics, has been performed for CuB$_2$O$_4$. [@Nakamura04; @Nakamura05] However, the dynamic behavior in zero field is still unclear because of the quite large relaxation rate and necessity of applying magnetic fields in NMR method. The muon spin relaxation ($\mu$SR) method is another powerful technique to study both magnetic order and spin dynamics in magnetic fields and zero field [@Schenck85]. In fact, Boehm $et$ $al.$ have already performed $\mu$SR measurements on CuB$_2$O$_4$. Interestingly, in contrast to the clear phase transitions observed in the magnetization, as shown in Fig. 1(a), they reported no muon-spin oscillation down to 30 mK [@Boehm02]. However, some amplitude of the signal appears to oscillate in the weak ferromagnetic phase. In addition, Boehm $et$ $al.$ presented no information on the longitudinal field (LF) dependence of the time spectrum, which is indispensable for the study of spin dynamics. Therefore, we have performed detailed $\mu$SR measurements for CuB$_2$O$_4$. In $\mu$SR measurements, muon spin depolarization is measured as a function of time. In a isotropic powder sample, if local fields are static, the muon spin polarization at long time (so-called “ long-time tail”) persists at 1/3, since on average 1/3 of muon moment is parallel to local fields and do not contribute to the depolarization. On the other hand, if local fields are fluctuating, the polarization relaxes to zero. Therefore, we used a powder sample in order to easily determine whether the local fields are static or fluctuating.

A powder sample of CuB$_2$O$_4$ was prepared by solid state reactions. A platinum crucible was used for the reaction. When we mixed the starting materials, B$_2$O$_3$ and CuO, with stoichiometric ratio, the resulting substance hardened and could not be ground. In order to avoid this problem, we first mixed 1/3 of the stoichiometric amount of B$_2$O$_3$ with CuO, heated it in air at 950$^\circ$C for 12 hours, then ground it. This procedure was repeated two more times. Finally, in order to complete the synthesis, the substance in which B$_2$O$_3$ had completely been added was heated. An X-ray powder diffraction of the sample was qualitatively analyzed, and it indicated a single phase of CuB$_2$O$_4$.

We measured the temperature dependence of the magnetization $M$ for characterization. The results are shown in Fig. 1(a). As the temperature decreases, $M$ increases at $T_{\rm N}=20.3$ K and decreases abruptly at $T^*=9.5$ K. These two temperatures are slightly lower than the results of Ref. .

We performed $\mu$SR measurements using a pulsed muon beam at the RIKEN-RAL Muon Facility in the U.K. The temperature was controlled with a $^3$He cryostat in the temperature region of $0.3-70$ K. In this paper, we discuss the time spectra of muon spin depolarization by using the asymmetry of count rate between the forward and backward counters after subtracting the background.

![(a) Magnetization of CuB$_2$O$_4$ as a function of temperature measured in a magnetic field of $H=100$ G. No significant irreversibility was observed in $M$ in the zero-field cooling, field-cooling, and field-heating conditions. $T_{\rm N}$ and $T^*$ are shown by the arrows. (b)$-$(d) $\mu$SR time spectra in zero field measured at (b) $T>T^*$, (c) $T = \sim$$T^*-5.2$ K, and (d) $T\leq1.4$ K. The solid lines show the results of the fitting. []{data-label="f1"}](fig1.eps){width="6.7cm"}

The temperature dependence of the time spectrum in zero field (ZF) is shown in Fig. 1(b)$-$(d). The spectra in the early-time region of $t<0.5~\mu$s are shown. Above 20.4 K (paramagnetic phase), the relaxation is slow, which shows that the correlation time of the electronic spins is too short to contribute to the time spectrum. As the temperature decreases to $T_{\rm N}$, oscillations are clearly observed in the time spectrum, which shows the existence of a magnetic long-range order. This observation differs from the report in Ref. . As shown in Fig. 1(b), the frequency of the oscillations increases with decreasing temperature. In the weak ferromagnetic phase, the asymmetry at $t \sim 0.2$ $\mu$s is approximately 1/3 of the full initial asymmetry (the initial asymmetry in the paramagnetic phase). Such time spectra are characteristic of static local fields in isotropic powder samples.

Interestingly, the oscillations disappear upon cooling below $T^*$, as shown in Fig. 1(c) and (d). The asymmetry is clearly lower than 1/3 of the full initial asymmetry at $t>0.2~{\rm \mu}$s. These results suggest that the fluctuating component becomes predominant below $T^*$. Upon cooling down to 5.2 K, the relaxation in the early-time region ($t< 0.1~\mu$s) becomes slower, and the asymmetry for $t> \sim$0.2 $\mu$s approaches zero. Upon more cooling, the relaxation becomes fast again, and the asymmetry $t>0.1~\mu$s recovers slightly at $\sim$0.3 K.

![Longitudinal field dependence of the time spectrum at (a) 11 K, (b) 5.0 K, and (c) 0.3 K. The left part of each panel shows the time spectra in the early-time region, $t<0.5~\mu$s, and the right one shows the time spectra in the long-time region, $t=0.5$$-$15 $\mu$s. The solid lines are guides to the eye.](fig2.eps){width="7.4cm"}

As mentioned above, the dynamical nature of the spins is suggested in the ZF-$\mu$SR measurement. However, in order to discriminate the dynamic component from the static one in the local fields, we measured LF dependence of the time spectrum. In Fig. 2, the LF dependences of the time spectrum at 11 K, 5 K, and 0.3 K are shown as representative temperatures of the weak ferromagnetic, helix, and LI phases, respectively. For clarity, we show the time spectra in both time regions separately.

At 11 K, the oscillations in the early-time region of $t< 0.5~\mu$s are observed in longitudinal fields, $H_{\rm LF} \leq 1$ kG. This is characteristic of static local fields. At the same time, the long-time tail ($t> \sim 0.2~{\rm \mu}$s) relaxes in both ZF and LF. Furthermore, the relaxation rate is almost independent of LF, suggesting that the characteristic time of the fluctuating component is rather short. Therefore, the LF dependence also shows the dynamical nature of local fields. At 5.0 K, the dynamical behavior of the local fields is more distinct. No oscillation is observed in both ZF and LF. At $t=0.2$$-$0.5 $\mu$s, the so-called decoupling behavior by LF is weaker than that at 11 K, though the relaxation at $t< 0.1~$$\mu$s is slower. The relaxation rate of the long-time tail decreases with LF, suggesting that the characteristic time of the fluctuating component becomes longer. On the other hand, the slightly round line shape at a fairly early time ($t < 0.05~\mu$s) and the decoupling behavior of the long time tail is consistent with the existence of the static component. At 0.3 K, the feature of the LF dependence is similar to that at 5 K, although the line shape of the time spectrum is different. The decoupling behavior by LF is slightly strong than 5.0 K, which implies that the characteristic time of the fluctuating component becomes further longer.

![Temperature dependence of (a) $\sigma_{\rm p}$, $\sigma_1$, $\sigma_2$, $\omega$, and (b) $\lambda$. The inset in (b) shows the temperature dependence of $\beta$. $T_{\rm N}$ and $T^*$ determined by the $M-T$ curve in $H = 100$ G (Fig. 1(a)) are shown by the arrows. $T_{\rm L}$ is defined as the temperature at which $\lambda$ shows a peak in this $\mu$SR measurement. The solid lines are guides to the eye.](fig3.eps){width="7.5cm"}

We attempted to find relaxation function which reproduce the time spectrum in both ZF and LF. However, we have not succeeded because of difficulty in estimation of the amplitude distribution of static component and the change of spin structure by applied magnetic fields. To qualitatively grasp the temperature dependence of the static and dynamic component, we fitted the time spectra in only ZF by phenomenological function as follows. In CuB$_2$O$_4$, there are two Cu sites; Cu(A) spin which is almost static and Cu(B) spin which fluctuates even at 2 K. [@Boehm03] Therefore, we assumed that there exists no correlation between the static and dynamical components of the local fields. In this case, the relaxation function is given by the product of the static and dynamical relaxation functions, $$G(t) = A_0~G_{\rm stat}(t) \times G_{\rm dyn}(t),$$ where $A_0$ is the initial asymmetry of the time spectrum.

In the P phase, the time spectra was fitted by using $G_{\rm stat}(t) = \exp{(-\sigma_{\rm p}^2 t^2)}$ and $G_{\rm dyn}(t) = \exp{(-\lambda_{\rm p} t)}$. The $G_{\rm stat}(t)$ approximates relaxation due to the nuclear dipole moments.

Below $T_{\rm N}$, the following phenomenological form is used for the static relaxation function, $$\begin{aligned}
G_{\rm stat}(t) &=&  x_1 \exp{(-\sigma_1^2 t^2)}    \nonumber\\
 &&+ x_2 \exp{(-\sigma_2^2 t^2/2)} \cos{(\omega t +\phi)} +1/3.\end{aligned}$$ The first, second, and third terms represent the relaxation at the early time ($t< \sim$0.2 $\mu$s), the oscillating component, and a powder-averaged constant value for the long-time tail, respectively. $x_1$ and $x_2$ denote the fractional amplitudes, and $\sigma_1$ and $\sigma_2$ represent the Gaussian relaxation rates of each term. The Larmor frequency $\omega$ and the Gaussian relaxation rates $\sigma_1$ and $\sigma_2$ reflect the static local fields at the muon site; the magnitude of the local fields and the distribution of the magnitude. $\phi$ is a phase offset caused by instrumental and sample-shape conditions. Below 9.5 K, the second term was neglected, since no oscillation was observed. For the dynamic relaxation function, we used the following phenomenological form, a stretched exponential function, $$G_{\rm dyn}(t) = \exp{(-(\lambda t)^\beta)},$$ where $\lambda$ and $\beta$ represent the relaxation rate and power, respectively.

The obtained parameters for the static component are summarized in Fig. 3(a). As mentioned above, below 9.5 K we cannot define parameters from the second term in eq.(2). As the temperature decreases, $\sigma_1$, $\sigma_2$, and $\omega$ begin to increase at $T_{\rm N}$. Both $\omega$ and $\sigma_1$ show a conventional order parameter-like temperature dependence in the weak ferromagnetic phase. However, upon cooling, $\sigma_1$ abruptly decreases below $\sim$$T^*$. This decrease in the value of the static component is considered to be due to a change in the magnetic structure or in the dynamic behavior. Upon more cooling, $\sigma_1$ gradually increases again and saturates below $\sim$0.7 K. This temperature dependence of $\sigma_1$ is qualitatively consistent with the NMR line width measured in a magnetic field of $\sim$0.5 T [@Nakamura04], though the magnetic field affects the spin structure and the transition temperatures.

The parameters for dynamical components, $\lambda$ and $\beta$, are summarized in Fig. 3(b). A peak of $\lambda$, which generally suggests a second order phase transition, is not observed at $T_{\rm N}$. Upon cooling, $\lambda$ shows a step-like increase at $T^*$. A $\lambda$-type peak is observed at 1.4 K, suggesting a second order phase transition to the LI phase. Interestingly, below 0.7 K, $\lambda$ is almost constant, suggesting that the fluctuating component persists even at $T$$\rightarrow$0. On the other hand, the $\beta$ monotonically decreases below $T_{\rm N}$, suggesting a broadening of the distribution of the characteristic time of the spin fluctuations or the instantaneous amplitude of fluctuating fields. We also examined temperature dependence of $\lambda$ in $H_{\rm LF}$=0.35 T. Quite small peaks of $\lambda$ are observed at $T_{\rm N}$ and $T^*$ in addition to $T_{\rm L}$, and $T^*$ and $T_{\rm L}$ are lowered by magnetic field. The peak of $\lambda$ at $T^*$ is consitent with the NMR result under $\sim$0.5 T. [@Nakamura05]

In conventional magnets with a long-range order, the local fields are static in the ordered phase. However, in CuB$_2$O$_4$, the local fields are quasi-static in the weak ferromagnetic phase, whereas the fluctuating component becomes dominant at lower temperatures and persists even at 0.3 K. Such a thermal evolution is rather anomalous. Finally, we discuss two possible origins of the fluctuating fields observed below $T_{\rm N}$.

One possible origin is the frustration of exchange interactions. Although exchange interactions have not yet been determined in CuB$_2$O$_4$, the frustration is suggested from reduction of the Cu(B) moments at $T<2$ K. [@Boehm03] The Cu(B) spins should fluctuate even below $T_{\rm N}$. In the weak ferromagnetic phase, the characteristic time of the fluctuations of the Cu(B) spins may be so short that the fluctuating component cannot strongly contribute to the $\mu$SR time spectra. Below $T^*$, the characteristic time becomes longer, and the fluctuating component may contribute more strongly to the time spectra.

As another possible origin of the fluctuations below $T^*$, we speculate the dynamic behavior of the soliton lattice. The formation of the soliton lattice, which is suggested to be a modulated helix structure, is proposed near $T^*$ by observing higher-order magnetic satellites in the neutron scattering measurements [@Roessli01; @Petrakovskii02]. However, the modulated helix structure may remain even below $T^*$. For example, if the propagation vector of domains and that of domain walls are close, the intensity of the higher-order satellites would be rather small and may not be observed. In addition, in Ba$_2$CuGe$_2$O$_7$ [@Zheludev99], Dzyaloshinskii-Moriya interactions and a special magnetic anisotropy, Kaplan-Shekht-Entin-Wohlman-Aharony term, form a soliton lattice in zero field. This special anisotropy always accompanies with Dzyaloshinskii-Moriya interactions in insulators [@Zheludev99]. Therefore, we consider that the soliton lattice can be formed even below $T^*$, whereas no higher-order satellite was observed. Dynamic behaviors of the soliton lattice are reported in non-magnetic systems such as a charged soliton lattice system polyacetylene [@Mori96] and a dielectric system Rb$_2$ZnCl$_4$ [@Hacker96]. Therefore, we consider that the fluctuating component observed in this $\mu$SR measurement might reflect the dynamic behavior of the magnetic soliton lattice like translational motion or fluctuations. If the dynamic behavior observed in this study is an essential phenomenon in a magnetic soliton lattice, it would be rather interesting.

This work has been partly supported by the Hayashi Memorial Foundation for Female Natural Scientists.

[99]{} P. Bak, Rep. Prog. Phys. **45** (1982) 587.

J. P. Boucher and L. P. Regnault, J. Phys. I France [**6**]{} (1996) 1939.

S.E. Brown, W.G. Clark, F. Zamborsky, B.J. Klemme, G. Kriza, B. Alvi, C. Merlic, P. Kuhns and W. Moulton: Phys. Rev. Lett. [**80**]{} (1998) 5429.

A. Zheludev, S. Maslov, G. Shirane, Y. Sasago, N. Koide and K. Uchinokura, Phys. Rev. Lett. [**78**]{} (1997) 4857.

A. Zheludev, S. Maslov, G. Shirane, I. Tsukada, T. Matsuda, K. Uchinokura, I. Zaliznyak, R. Erwin and L.P. Regnault: Phys. Rev. [**B 59**]{} (1999) 11432.

B. Roessli, J. Schefer, G. A. Petrakovskii, B. Ouladdiaf, M. Boehm, U. Staub, A. Vorotinov and L. Bezmaternikh: Phys. Rev. Lett. [**86**]{} (2001) 1885.

G.A. Petrakovskiĭ, A.I. Pankrats, M.A. Popov, A.D. Balaev, D.A. Velikanov, A.M. Vorotynov, K.A. Sablina, B. Roessli, J. Schefer, A. Amato, U. Staub, M. Boehm and B. Ouladdiaf: Low Temp. Phys. [**28**]{} (2002) 606.

M. Boehm, B. Roessli, J. Schefer, B. Ouladdiaf, A. Amato, C. Baines, U. Staub and G.A. Petrakovskii: Physica [**B 318**]{} (2002) 277.

M. Boehm, B. Roessli, J. Schefer, A.S Will, B. Ouladdiaf, E. Lélievre-Berna, U. Staub and G.A. Petrakovskii: Phys. Rev. [**B 68**]{} (2003) 024405.

H. Nakamura, Y. Fujii, H. Kikuchi and M. Chiba: J. Magn. Magn. Mater. [**272-276**]{} (2004) 1007.

H. Nakamura, Y. Fujii, H. Kikuchi, M. Chiba, Y. Yamamoto, H. Hori, G.A. Petrakovskiĭ, M. Popov and L. Bezemathernikh: Prog. Theor. Phys. Suppl. [**159**]{} (2005) 360.

For a review of $\mu$SR measurements, see A. Schenck, in $Muon~Spin~Rotation~Spectroscopy$, edited by E. W. J. Michell (Adam Hilger Ltd, Bristol and Boston, 1985).

G. Petrakovskiĭ, D. Balaev and A. Vorotynov, A. Balaev, K. Sablina, A. Amato, B. Roessli, J. Schefer and U. Staub, J. Magn. Magn. Mater. [**205**]{} 105, (1999): J. Magn. Magn. Mater. [ **205**]{} (1999) 105.

Y. Mori and C. R. A. Catlow: Mol. Cryst. Liq. Cryst. [**285**]{} (1996) 235.

U. Häcker, J. Petersson, R. Walisch and D. Michel, Z. Phys. [**B 100**]{} (1996) 441.

[^1]: Present address: RIKEN (The Institute of Physical and Chemical Research), Wako, Saitama 351-0198, Japan, E-mail address: afukaya@riken.jp


A Colorado state lawmaker was arrested Tuesday afternoon at Denver International Airport on suspicion of bringing a gun into the hub.

Denver police say Rep. Lori Saine, a Weld County Republican, is being held for investigation of introducing a firearm into a transportation facility.

“The investigation is ongoing, so additional details are not available for release at this time,” police said in a written statement. “At the conclusion of the investigation, the case will be presented to the Denver district attorney’s office for consideration of possible charges.”

A Denver police spokesman said about 4:30 p.m. Tuesday that it was his understanding she was going through the booking process. Denver Sheriff Department records showed she was at the Downtown Detention Center by 6:15 p.m. and was being held overnight.

The arrest was first reported by radio station KUNC.

A House Republican spokesman said GOP leaders were still trying to get information about the circumstances surrounding the arrest.

“Without knowing any more information, we’re unable to comment further at this time,” said Joel Malecka, the House GOP spokesman.

A message left for Saine, 43, on Tuesday afternoon was not immediately returned.

Further information has not been released by Denver police, and prosecutors said they didn’t have information to provide on Tuesday afternoon.

At the state Capitol, Saine has been a defender of gun rights, battling a bill banning high-capacity ammunition magazines in 2013.

DIA is among the nation’s top airports for Transportation Security Administration security checkpoint gun seizures. Agents seized more than 90 firearms at the hub last year.

Passengers found with a gun at an airport can face large civil penalties, as well as local and/or state charges.

Firearms can be brought onto a plane if they are properly placed in checked baggage.

Staff writer Brian Eason contributed to this report.


parameters - 2

timeRange

label: Time Range

description: Filter data by time range

ResourceType

query:
project '{Resource:resourcetype}'
| take 1

selectedNodes

label: GPU Node

description: Filter by GPU node

query:
InsightsMetrics
| where Name == "nodeGpuCapacity"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where Val > 0
| distinct Computer

resourceType: {ResourceType}

clusterId

description: Filter the selected workspace by cluster id

clusterIdWhereClause

description: use this to filter by clusterid

value: | where "a" == "a"

condition: if (clusterId is not empty ), result = '| where clusterId =~ "{clusterId}"'

leftOperand: clusterId

operator: isNotNull

rightValType: param

resultValType: static

resultVal: | where clusterId =~ "{clusterId}"

condition: else result = '| where "a" == "a"'

operator: Default

resultVal: | where "a" == "a"

timeContextFromParameter: timeRange

style: pills

resourceType: {ResourceType}

GPU-Usage

query:
union
(InsightsMetrics
| where Name == "nodeGpuCapacity"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| where Val > 0
//add cluster filter
| summarize GPUsPerComputer=arg_max(Val,*) by Computer, bin(TimeGenerated, {timeRange:grain})
| make-series ['Total GPUs'] = toint(sum(GPUsPerComputer)) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain}
),
(
InsightsMetrics
| where Name == "containerGpuDutyCycle"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| where Val > 0
| extend gpuId = tostring(Tags.gpuId)
| summarize count() by bin(TimeGenerated, {timeRange:grain}), gpuId
| make-series ['Busy GPUs'] = count() default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain}
)

title: GPU Usage

color: turquoise

resourceType: {ResourceType}

visualization: linechart

columnMatch: gpuVendor

columnMatch: gpuCount

palette: auto

seriesName: Busy Gpus

color: redBright

GPU-MemoryUsage

query:
union
(InsightsMetrics
| where Name == "containerGpumemoryTotalBytes"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
//| extend tags=parse_json(Tags)
| extend gpuVendor=tostring(Tags.gpuVendor)
| extend gpuId = tostring(Tags.gpuId)
| extend gpuModel = tostring(Tags.gpuModel)
| extend gpu=strcat(gpuVendor, "/", gpuModel)
| summarize GpuMemoryBytes=max(Val) by bin(TimeGenerated,  {timeRange:grain}), gpu, gpuId, Computer//, metricname
| make-series ['Total-GPUMemory'] = sum(GpuMemoryBytes) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain} //by status
),
(InsightsMetrics
| where Name == "containerGpumemoryUsedBytes"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| extend gpuVendor=tostring(Tags.gpuVendor)
| extend gpuId = tostring(Tags.gpuId)
| extend gpuModel = tostring(Tags.gpuModel)
| extend gpu=strcat(gpuVendor, "/", gpuModel)
| summarize maxused=max(Val) by bin(TimeGenerated, {timeRange:grain}), gpu, gpuId, Computer
| make-series ['Max-Used'] = sum(maxused) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain}
),
(InsightsMetrics
| where Name == "containerGpumemoryUsedBytes"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| extend gpuVendor=tostring(Tags.gpuVendor)
| extend gpuId = tostring(Tags.gpuId)
| extend gpuModel = tostring(Tags.gpuModel)
| extend gpu=strcat(gpuVendor, "/", gpuModel)
| summarize ptile95used=percentile(Val,95) by bin(TimeGenerated, {timeRange:grain}), gpu, gpuId, Computer
| make-series ['95th-ptile-Used'] = sum(ptile95used) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain}
),
(InsightsMetrics
| where Name == "containerGpumemoryUsedBytes"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| extend gpuVendor=tostring(Tags.gpuVendor)
| extend gpuId = tostring(Tags.gpuId)
| extend gpuModel = tostring(Tags.gpuModel)
| extend gpu=strcat(gpuVendor, "/", gpuModel)
| summarize ptile99used=percentile(Val,99) by bin(TimeGenerated, {timeRange:grain}), gpu, gpuId, Computer
| make-series ['99th-ptile-Used'] = sum(ptile99used) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain}
)

title: GPU Memory Usage

timeContextFromParameter: timeRange

resourceType: {ResourceType}

visualization: linechart

GPU-NodeCountByNodeStatus

query:
let im  = InsightsMetrics
| where Name == "nodeGpuCapacity"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| where Val >= 1
| distinct Computer;
KubeNodeInventory
| extend clusterId = ClusterId
{clusterIdWhereClause}
| where Computer in (im)
| extend status=iif(strlen(Status) == 0 ,"Unknown", Status)
| summarize count() by Computer, status, bin(TimeGenerated, {timeRange:grain})
| summarize val=count() by status, bin(TimeGenerated, {timeRange:grain})
| make-series ['Node Count by status'] = sum(val) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain} by status

title: GPU Node Count by Node Status

timeContextFromParameter: timeRange

resourceType: {ResourceType}

visualization: linechart

columnMatch: status

columnMatch: Node Count by State

style: decimal

seriesName: Ready

color: green

seriesName: Unknown

color: blue

GPU-PodCountByPodStatus

query:
let im  = InsightsMetrics
| where Name in ("containerGpuRequests", "containerGpuLimits")
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| extend selectedNodes = {selectedNodes}
| extend nodeList = iif(selectedNodes == "*", ",*", selectedNodes)
| where '*' in (selectedNodes) or Computer in (selectedNodes)
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
//| extend tags=parse_json(Tags)
| extend containerName = tostring(Tags.containerName)
| extend poduidArray = split(containerName, "/")
| extend podUid = iif(array_length(poduidArray) == 2, poduidArray[0], "")
| where Val >= 1
| where podUid != ""
| distinct podUid;
KubePodInventory
| where PodUid in (im)
| extend clusterId = ClusterId
{clusterIdWhereClause}
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| extend selectedNodes = {selectedNodes}
| extend nodeList = iif(selectedNodes == "*", ",*", selectedNodes)
| where '*' in (selectedNodes) or Computer in (selectedNodes)
| summarize count() by PodUid, PodStatus, bin(TimeGenerated, {timeRange:grain})
| make-series ['GPU Pod Count by status'] = count() default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain} by PodStatus

title: GPU Pod Count by Pod Status

timeContextFromParameter: timeRange

resourceType: {ResourceType}

visualization: timechart

seriesName: Succeeded

color: greenDark

seriesName: Running

query:
let im  = InsightsMetrics
| where Name in ("containerGpuRequests", "containerGpuLimits")
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| extend selectedNodes = {selectedNodes}
| extend nodeList = iif(selectedNodes == "*", ",*", selectedNodes)
| where '*' in (selectedNodes) or Computer in (selectedNodes)
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
//| extend tags=parse_json(Tags)
| extend containerName = tostring(Tags.containerName)
| extend poduidArray = split(containerName, "/")
| extend podUid = iif(array_length(poduidArray) == 2, poduidArray[0], "")
| where Val >= 1
| where podUid != ""
| distinct podUid;
KubePodInventory
| where PodUid in (im)
| extend clusterId = ClusterId
{clusterIdWhereClause}
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| summarize count() by PodUid, Namespace, PodStatus, bin(TimeGenerated, {timeRange:grain})
| make-series ['GPU Pods by namespace'] = count() default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain} by Namespace, PodStatus

title: GPU Pod Count by Kubernetes Namespace

timeContextFromParameter: timeRange

resourceType: {ResourceType}

visualization: linechart

columnMatch: Namespace

columnMatch: PodStatus

columnMatch: GPU Pods by namespace

palette: red

tooltip: hello {0}

sortCriteriaField: Namespace

columnMatch: podcount

nodeIdField: Namespace

GPU-GpuCountByMake

query:
InsightsMetrics
| where Name == "nodeGpuCapacity"
| where Namespace == "container.azm.ms/gpu"
| where Origin == "container.azm.ms"
| where TimeGenerated >= {timeRange:start}
| where TimeGenerated < {timeRange:end}
| where '*' in ({selectedNodes}) or Computer in ({selectedNodes})
| extend Tags = todynamic(Tags)
| extend clusterId = tostring(Tags['container.azm.ms/clusterId'])
{clusterIdWhereClause}
| extend gpuVendor=strcat ('🔹 ',tostring(Tags.gpuVendor))
| summarize gpuCountPerComputer=max(Val) by gpuVendor, Computer , bin(TimeGenerated, {timeRange:grain})
| make-series ['GPU count by make'] =sum(gpuCountPerComputer) default = 0 on TimeGenerated from {timeRange:start} to {timeRange:end} step {timeRange:grain} by gpuVendor

title: GPU Count by Make

color: blue

timeContextFromParameter: timeRange

resourceType: {ResourceType}

visualization: table

columnMatch: GPU count by make

columnMatch: TimeGenerated

columnId: gpuVendor

label: Make

columnId: GPU count by make

label: Count

columnId: TimeGenerated

palette: blue

sortCriteriaField: TimeGenerated

links - 7

style: tabs


//
//  Copyright 2012, Xamarin Inc.
//
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
//
//        http://www.apache.org/licenses/LICENSE-2.0
//
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.
//
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;

using EmployeeDirectory.Data;

namespace EmployeeDirectory.ViewModels
{
	public class PersonViewModel : ViewModelBase
	{
		readonly IFavoritesRepository favoritesRepository;

		public PersonViewModel (Person person, IFavoritesRepository favoritesRepository)
		{
			if (person == null)
				throw new ArgumentNullException ("person");

			if (favoritesRepository == null)
				throw new ArgumentNullException ("favoritesRepository");

			Person = person;
			this.favoritesRepository = favoritesRepository;

			PropertyGroups = new ObservableCollection<PropertyGroup> ();

			var general = new PropertyGroup ("General");
			general.Add ("Title", person.Title, PropertyType.Generic);
			general.Add ("Department", person.Department, PropertyType.Generic);
			general.Add ("Company", person.Company, PropertyType.Generic);
			general.Add ("Manager", person.Manager, PropertyType.Generic);
			general.Add ("Description", person.Description, PropertyType.Generic);

			if (general.Properties.Count > 0)
				PropertyGroups.Add (general);

			var phone = new PropertyGroup ("Phone");

			foreach (var p in person.TelephoneNumbers)
				phone.Add ("Phone", p, PropertyType.Phone);

			foreach (var p in person.HomeNumbers)
				phone.Add ("Home", p, PropertyType.Phone);

			foreach (var p in person.MobileNumbers)
				phone.Add ("Mobile", p, PropertyType.Phone);

			if (phone.Properties.Count > 0)
				PropertyGroups.Add (phone);

			var online = new PropertyGroup ("Online");
			online.Add ("Email", person.Email, PropertyType.Email);
			online.Add ("WebPage", CleanUrl (person.WebPage), PropertyType.Url);
			online.Add ("Twitter", CleanTwitter (person.Twitter), PropertyType.Twitter);
			if (online.Properties.Count > 0)
				PropertyGroups.Add (online);

			var address = new PropertyGroup ("Address");
			address.Add ("Office", person.Office, PropertyType.Generic);
			address.Add ("Address", AddressString, PropertyType.Address);
			if (address.Properties.Count > 0)
				PropertyGroups.Add (address);
		}

		static string CleanUrl (string url)
		{
			var trimmed = (url ?? string.Empty).Trim ();
			if (trimmed.Length == 0)
				return string.Empty;

			var upper = trimmed.ToUpperInvariant ();
			return !upper.StartsWith ("HTTP") ?
				string.Format ("http://{0}", trimmed) : trimmed;
		}

		static string CleanTwitter (string username)
		{
			var trimmed = (username ?? string.Empty).Trim ();
			if (trimmed.Length == 0)
				return string.Empty;

			return !trimmed.StartsWith ("@") ?
				string.Format ("@{0}", trimmed) : trimmed;
		}

		#region View Data

		public Person Person { get; private set; }

		public ObservableCollection<PropertyGroup> PropertyGroups { get; private set; }

		public bool IsFavorite {
			get {
				return favoritesRepository.IsFavorite (Person);
			}
		}

		string AddressString {
			get {
				var sb = new StringBuilder ();
				if (!string.IsNullOrWhiteSpace (Person.Street))
					sb.AppendLine (Person.Street.Trim ());

				if (!string.IsNullOrWhiteSpace (Person.POBox))
					sb.AppendLine (Person.POBox.Trim ());

				if (!string.IsNullOrWhiteSpace (Person.City))
					sb.AppendLine (Person.City.Trim ());

				if (!string.IsNullOrWhiteSpace (Person.State))
					sb.AppendLine (Person.State.Trim ());

				if (!string.IsNullOrWhiteSpace (Person.PostalCode))
					sb.AppendLine (Person.PostalCode.Trim ());

				if (!string.IsNullOrWhiteSpace (Person.Country))
					sb.AppendLine (Person.Country.Trim ());

				return sb.ToString ();
			}
		}

		public class PropertyGroup : IEnumerable<Property>
		{
			public string Title { get; private set; }

			public ObservableCollection<Property> Properties { get; private set; }

			public PropertyGroup (string title)
			{
				Title = title;
				Properties = new ObservableCollection<Property> ();
			}

			public void Add (string name, string value, PropertyType type)
			{
				if (!string.IsNullOrWhiteSpace (value))
					Properties.Add (new Property (name, value, type));
			}

			IEnumerator<Property> IEnumerable<Property>.GetEnumerator ()
			{
				return Properties.GetEnumerator ();
			}

			System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
			{
				return Properties.GetEnumerator ();
			}
		}

		public class Property
		{
			public string Name { get; private set; }

			public string Value { get; private set; }

			public PropertyType Type { get; private set; }

			public Property (string name, string value, PropertyType type)
			{
				Name = name;
				Value = value.Trim ();
				Type = type;
			}

			public override string ToString ()
			{
				return string.Format ("{0} = {1}", Name, Value);
			}
		}

		public enum PropertyType {
			Generic = 0,
			Phone,
			Email,
			Url,
			Twitter,
			Address,
		}

		#endregion

		#region Commands

		public void ToggleFavorite ()
		{
			if (favoritesRepository.IsFavorite (Person))
				favoritesRepository.Delete (Person);
			else
				favoritesRepository.InsertOrUpdate (Person);

			OnPropertyChanged ("IsFavorite");
		}

		#endregion
	}
}


Judge Sebastian Buehrmann called Niels Hoegel's (in photo) killing spree "incomprehensible".

A German nurse believed to be the most prolific serial killer in the country's post-war history was handed a life sentence Thursday for murdering 85 patients in his care.

Judge Sebastian Buehrmann called Niels Hoegel's killing spree "incomprehensible".

The 42-year-old murdered patients selected at random with lethal injections between 2000 and 2005, when he was caught in the act.

Hoegel has already spent a decade in prison following a previous life sentence he received for six other murders.

The exhumation and autopsy of more than 130 bodies were necessary to build the case for the prosecution.

Police suspect that Hoegel's final death toll may be more than 200.

But the court was unable to say for sure because of gaps in Hoegel's memory and because many likely victims were cremated before autopsies could be performed.

Buehrmann of the regional court in the northern city of Oldenburg said the number of deaths at Hoegel's hands "surpasses human imagination".

He expressed regret that the court had not been "fully able to lift the fog" for loved ones about other likely victims.

On the final day of hearings on Wednesday, Hoegel asked his victims' families for forgiveness for his "horrible acts".

"I would like to sincerely apologise for everything I did to you over the course of years," he said.

Caught in 2005 while injecting an unprescribed medication into a patient in Delmenhorst, Hoegel was sentenced in 2008 to seven years in prison for attempted murder.

A second trial followed in 2014-2015 under pressure from victims' families.

He was found guilty of murder and attempted murder of five other victims and given the maximum sentence of 15 years -- called a life sentence in Germany.

At the start of the third trial in October, Buehrmann said its main aim was to establish the full scope of the killing that was allowed to go unchecked for years.

"It is like a house with dark rooms -- we want to bring light into the darkness," he said.


2004–05 Omani League

The 2004–05 Omani League was the 29th edition of the top football league in Oman. It began on 23 September 2004 and finished on 19 May 2005. Al-Nasr S.C.S.C. were the defending champions, having won the previous 2003–04 Omani League season. On Thursday, 19 May 2005, Dhofar S.C.S.C. played out a 1-1 draw away in their final league match against Al-Nasr S.C.S.C. and emerged as the champions of the 2004–05 Omani League with a total of 46 points.

Teams
This season the league had increased from 12 to 13 teams. Al-Suwaiq Club and Saham SC were relegated to the Second Division League after finishing in the relegation zone in the 2003–04 season. The two relegated teams were replaced by Second Division League teams Al-Ahli Club, Al-Ittihad Club and Bahla Club.

Stadia and locations

League table

Results

Season statistics

Top scorers

Media coverage

See also
2004 Sultan Qaboos Cup

References

Category:Top level Omani football league seasons
1
Oman


Jasmin Eder

Jasmin  Eder (born 8 October 1992) is an Austrian women's international footballer. She was a member of the Austria women's national football team from 2011–2013, playing 12 matches. She was part of the team at the 2014 Algarve Cup.  On club level she played for FC Bayern München, BV Cloppenburg and VfL Sindelfingen.

References

External links

Category:1992 births
Category:Living people
Category:Austrian women's footballers
Category:Austria women's international footballers
Category:Austrian footballers
Category:FC Bayern Munich (women) players
Category:Frauen-Bundesliga players
Category:FSK St. Pölten-Spratzern players
Category:Place of birth missing (living people)
Category:Women's association football midfielders