Russian ex-spy and daughter were deliberately targeted, case being treated as attempted murder, according to UK police.
Renowned Soviet intelligence officer George Blake, an earnest anti-fascist who was known for his work in Britain, is turning 95 on Saturday. On the eve of his birthday, he addressed the officers of Russia's Foreign Intelligence Service, defining the top priorities and key mission of Russian spies and revealing what gives him the power to live.
The US Department of Justice will announce charges on Wednesday against two alleged Russian spies and two alleged criminal hackers over the 2014 breach of 500 million Yahoo users, US media reported on Wednesday.
Recently, US Director of National Intelligence James Clapper was instructed by Congress to conduct a review of Russia's alleged 'infiltration' of European political parties, and supposed attempts to influence politicians and European society at large; Russian policy analysts couldn't hide their amusement.
American intelligence is set to conduct a "major investigation" into the Kremlin's 'infiltration' of European political parties, The Telegraph reports.
James Bond better watch out next time he meets another hot blonde during his secret missions. The girl might be a tricky Russian spy sent personally by the Kremlin to fish out classified information from British secret agents.


Some stunning photographic history focussing on the 1850s when the Crimean War took place.
A few photographers at that time photographed the war but were not successful or their photos did not survive due to natural disasters that struck at that time.
Roger Fenton was one of those war photographers of that time whose photos stood out from the crowd. Considered one of the most famous photographers in the entire history of photography, he's also one of the most celebrated and influential photographers from England during the 1850s too.
Roger Fenton – born in 1819 in Heywood, near Rochdale in England. He was born in a family with comfortable means and hence had the freedom to pursue his interests.
In the 1840s, Roger studied law in London and later studied painting in London and Paris. He practiced as a lawyer for some time before becoming a photographer.
During the late 1840s/early 1850s, Fenton started experimenting with photography more, while painting too – a few of which were accepted by the Royal Academy, but sadly without any distinction.
His training as a painter helped bring an artistic eye for composition in his photographs that set him apart from other photographers of that time.
Roger liked photographing architecture that he photographed the major churches and Abbeys of Great Britain. He usually worked on large formats of 14 x 18 inches.
Roger made the best use of light and shot images from very good vantage points that gave the architectural images their credits. His photographs of landscapes were also very compelling.
Roger's first exhibition of his photographs was in 1852 and he later co-founded the Photographic society.
In 1852, Roger traveled to Russia to photograph constructions for civil engineer Charles Vignoles. He then documented the construction of the suspension bridge over the Dnieper River in Ukraine, while photographing a few buildings and other landscapes in Kiev, Moscow and St Petersburg.
Roger used waxed paper negative process of Gustave Le Grey for his photographs.
In 1854, Roger started photographing the British Royal Family, where he had to make visits to the various Royal residences to take portraits of the family members.
He also signed an agreement to photograph art and artifacts of the British Museum collection, the same year.
Title: [Camps on plateau before Sebastopol]; Other Title: Plateau before Sebastopol, Turkish tents in the distance; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 29 x 36.3 cm. Summary: View of British camp with Turkish camp in the distance. Reproduction Number: LC-USZC4-9163 (color film copy transparency) LC-USZ62-47118 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: A Croat chief; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19 x 16 cm. Summary: Three-quarter length portrait of man facing front. Reproduction Number: LC-USZC4-9329 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Brigadier General Lockyer & two of his staff; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 21 x 17 cm. Summary: Brigadier General Henry Frederick Lockyer (seated center) and two of his staff of the 97th Regiment of Foot, full-length portrait, wearing uniforms, posed on steps in front of building. Reproduction Number: LC-USZC4-9175 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Brigadier McPherson & officers of the 4th Division Captain Higham [i.e., Heigham], 17th Regiment; Captain Earle, Major of Brigade; Captain Croker, 17th Regiment; Captain Swire; Captain McPherson. Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 18 cm. Summary: Brigadier Philip McPherson, CB., and captains Clement Henry John Heigham, William Henry Earle, (John L. or Edward) Croker, Roger Swire, and Philip McPherson, wearing uniform, posed next to tent. Reproduction Number: LC-USZC4-9174 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Camp of the 4th Light Dragoons – soldiers quarters; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 26 x 36 cm. Summary: Military camp showing men, huts, and horses. Reproduction Number: LC-USZC4-9171 (color film copy transparency) LC-USZ62-47119 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Captain Graham & Captain Macleod, 42nd Regiment; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 20 x 17 cm. Summary: Captain Graham and Captain Macleod, one seated and one standing in front of tent. Reproduction Number: LC-USZC4-9157 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Captain Webb's hut, 4th Dragoon Guards; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 14 x 21 cm. Summary: Captain John MacDonnell Webb standing in the doorway of his hut looking at Colonel Hodge (standing in profile), Mrs. Rogers, Webb's servant with a horse, and several others; also shows three bell tents next to the officer's quarters. Reproduction Number: LC-USZC4-9196 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Captain Bathurst, Grenadier Guards; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 17 cm. Summary: Captain Bathurst, full-length portrait, dressed in uniform, standing next to a horse with other horses and buildings in the background. Reproduction Number: LC-USZC4-9114 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Balaklava harbour, the cattle pier; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 29.5 x 36 cm. Summary: A building next to which is a pile of baskets and a holding pen with horses at the landing place on the cattle pier with ship at dock in Balaklava harbor, also view of the landscape of the hills in the background. Reproduction Number: LC-USZC4-9188 (color film copy transparency) LC-USZ62-22039 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Balaclava looking seawards, the Commandant's house in the foreground; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 27 x 35.5 cm. Summary: Balaklava looking seaward showing general view of the landscape and buildings with the Commandant's house in the foreground, behind which, to the right, is the ordnance wharf and the harbor with a line of ships receding to the middle distance, and in the upper left corner, the remains of the old Genoese castle perched on the hills that line the harbor. Reproduction Number: LC-USZC4-9142 (color film copy transparency) LC-USZ62-2368 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Captain Hall, & group of the 14th; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 15 x 20 cm. Summary: Eight soldiers posed near flagpole. Reproduction Number: LC-USZC4-9325 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Captain Clifford, aide-de-camp to General Buller; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 17 cm. Summary: Captain Clifford, in uniform, astride a horse, facing front. Reproduction Number: LC-USZC4-9323 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Cavalry camp, looking towards Kadikoi; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 27 x 34 cm. Summary: View of encampment showing bell tents, huts, soldiers, and horses. Reproduction Number: LC-USZC4-9322 (color film copy transparency); Rights Advisory: No known restrictions on publication.
If you didn't know about the history of the Crimean War, it took place from 1853 to 1856 and was fought mostly on the Southern tip of Crimea, which is a peninsula extending into the Black Sea.
This was the location of Russia's great naval base and the primary objective of Great Britain and France was the destruction of this base at Sevastopol.
Although the main reason for the war is not easy to explain, it seems to have been the result of the motives and ambitions of a few individuals that led to the conflict between Russia and a few other nations.
Between 1854 and 1855, the war took a turn as the engagements in an open battlefield shifted to establishing of the Siege of Sevastopol. War correspondent William Howard Russell's accounts of the life of soldiers in Balaklava struck a chord with the readers back in the home country.
Title: Group of Croats; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 16.8 x 17 cm. Summary: A group of Croat laborers, seated and standing in front of building. Reproduction Number: LC-USZC4-9351 (color film copy transparency) LC-USZ62-47543 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Discussion between two Croats; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19 x 17 cm. Summary: Two Croats, full-length portrait, one, facing forward, sitting, holding pole; the other, facing right, holding pole, with hand resting on the other's coat. Reproduction Number: LC-USZC4-9264 (color film copy transparency) LC-USZ62-47554 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Group of the 47th Regiment, winter dress, ready for the trenches; Other Title: Group of the 47th in winter dress; Group of 47th Regiment in winter dress; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 17 cm. Summary: Group of eight soldiers in winter clothing; one reclining, four sitting, two standing, and one bending over. Reproduction Number: LC-USZC4-9376 (color film copy transparency) LC-USZ62-47111 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Cooking house, 8th Hussars; Other Title: Cookhouse of 8th Hussars; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 16 x 21 cm. Summary: Soldiers standing and sitting around cooking pots as a cook ladels food into a bowl; in the background stands a woman and on the left is the side of Fenton's photographic van. Reproduction Number: LC-USZC4-9344 (color film copy transparency) LC-USZ62-47542 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Group of 4th Dragoon Guards; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 16 x 17 cm. Summary: Group of soldiers in camp near shack with goat and horse. Reproduction Number: LC-USZC4-9342 (color film copy transparency) LC-USZ62-47839 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Colonel Airey & Major Hallewell; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 16 x 16 cm. Summary: Two officers, one standing by horse, the other reclining on ground, with two attendants nearby. Reproduction Number: LC-USZC4-9335 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Group of Montenegrins; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18.5 x 17 cm. Summary: Five Montenegrins posed against a tile-roofed structure; one sits in a window. Reproduction Number: LC-USZC4-9293 (color film copy transparency) LC-USZ62-68257 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Head Quarters staff: 1) Colonel Vico; 2) Major the Honourable Leicester Curzon; 3) Lord Burghersh; 4) Orderly; 5) Count Revel; 6) Mr. Calvert Interpreter; 7) Colonel Poulet[t] Somerset; 8) Colonel A. Hardinge; 9) Dr. Prendergast; 10) Commander Maxse; 11) Colonel Kingcote; Other Title: British and French staff officers at Headquarters Staff at Head Quarters; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18.5 x 16.5 cm. Summary: British and French staff officers, full-length group portrait, posed sitting and standing on steps at British(?) headquarters. Reproduction Number: LC-USZC4-9283 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Cossack Bay, Balaklava; Other Title: The cattle wharf, Balaclava; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 29.5 x 36 cm. Summary: A building next to which is a pile of baskets and a holding pen with horses at the landing place on the cattle pier with several ships at dock in Balaklava harbor, also view of bell tents at water's edge and the landscape of the hills in the background. Reproduction Number: LC-USZC4-9205 (color film copy transparency) LC-USZ62-2375 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: General view of Balaklava, the hospital on the right; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 30 x 36 cm. Summary: Includes buildings in the foreground, a view of the harbor, and military tents scattered on the hills to the left in the background. Reproduction Number: LC-USZC4-9198 (color film copy transparency) LC-USZ62-2370 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Colonel Brownrigg C.B. & the two Russian boys Alma & Inkermann; Other Title: Colonel Brownrigg and the captured Russian boys; Lieutenant Colonel Brownrigg, Grenadier Guards with two Russian boys; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 17 cm. Summary: Colonel Brownrigg, full-length portrait, seated, facing right; and two Russian boys, one standing and one sitting, at entrance to tent. Reproduction Number: LC-USZC4-9158 (color film copy transparency) LC-USZ62-16980 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Colonel Doherty, officers & men of the 13th Light Dragoons; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 22.3 cm. Summary: Group of men of the 13th Light Dragoons, including Colonel Doherty, Cornet Danzil Chamberlayne, Captain Jenyns, and veterinary-surgeon Thomas Towers, one man seated on ground with dog; tents and huts in the background. Reproduction Number: LC-USZC4-9230 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: General Cissé, chief of the staff to General Bosquet, & aide-de-camp; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 17 cm. Reproduction Number: LC-USZC4-9312 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Henry Duberly Esqr., paymaster, 8th Hussars, & Mrs. Duberly; Other Title: Captain Henry Duberly and "the dashing" Mrs. Duberly; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 16 x 16 cm. Summary: Henry Duberly standing before Isabella Duberly who is on horseback. Reproduction Number: LC-USZC4-9194 (color film copy transparency) LC-USZ62-68798 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Colonel Clarke, Scots' Greys, with the horse wounded at Balaklava; Other Title: Colonel George Clarke, Royal Scots Greys; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 17 cm. Summary: Colonel George Clarke, full-length portrait, wearing uniform, standing beside his horse, Sultan, facing left; horse's reins are held by a man who is possibly a servant; horse's rump is branded "2D" for 2nd Dragoons; encampment of tents in background. Reproduction Number: LC-USZC4-9115 (color film copy transparency); Rights Advisory: No known restrictions on publication.
The British government made several attempts to document the war through photography, but they all failed for various reasons.
It was at this time, Thomas Agnew of publishing house Thomas Agnew and Sons thought about sending a photographer to the Crimea to document evidence of the war that would help mitigate the negative reports appearing in newspapers.
Thomas during this time had proposed Roger to be the official photographer for the Crimea. Roger purchased a former wine merchant's van and converted it into a mobile darkroom. He also hired an assistant and traveled the English countryside to test the van.
In November 1854, Roger traveled to Crimea on board the Hecla, under the Royal patronage and with the assistance of the British government.
His personal supply of preserved meats, wine, beer, biscuits and horse tackle.
Title: The artist's van; Other Title: The photographic van with Sparling on the box; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17.5 x 16.5 cm. Summary: Marcus Sparling, full-length portrait, seated on Roger Fenton's photographic van. Reproduction Number: LC-USZC4-9240 (color film copy transparency) LC-USZ62-2319 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
When Roger arrived at Crimea, he had already received huge patronage from Queen Victoria and Prince Albert. He photographed the horrors of the war but was reluctant to shoot certain negative aspects of the war for other reasons.
This could be because he was supported by the Royal family and the government, plus he was financed by Thomas Agnew that he had to abide by the sensitive nature of the Victorian rule.
In exhibitions across England, one described the image as "hell-like," an area 'rough with shot, and bare, stony and blasted as an accursed and unholy place'.
While another wrote that it 'raises melancholy thoughts of the rude trials to which our brave countrymen and allies have been subjected for a whole dreary year'.
Title: The valley of the shadow of death; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 28 x 36 cm. Summary: Dirt road in ravine scattered with cannonballs. Reproduction Number: LC-DIG-ppmsca-35546 (digital file from original item) LC-USZC4-9217 (color film copy transparency) LC-USZ62-2322 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Roger limited his photography to shooting the allies, the care and quality of camp life for British soldiers, the scenes of Balaklava and around, but refrained from photographing the war scenes and their aftermath although he witnessed them.
He had to carefully choose subjects to photograph as no dead, wounded or horror views were to be shown according to the Victorian command.
Thomas Agnew and Sons relied upon Roger's images as they aimed to make a profit from those images by selling them to soldiers and their families.
As you can imagine, Roger had to overcome several difficulties while photographing the Crimean war. Since he was using the wet-plate collodion process, due to the heat there, he found the developing part very difficult, as it dried out quickly leaving spots and streaks on the glass. Dust and flies were his enemies too.
Despite these difficulties, Roger managed to make around 360 photographs within a 3 month period before returning to England.
When the assault on Sevastapol in June 1855 failed, Roger who was ill with Cholera sold his van, packed up his equipment and sailed out of Balaklava. The fall of Sevastopol in September 1855, was documented by another photographer, James Robertson.
Title: Sebastopol from the front of Cathcart's Hill; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 23 x 35 cm. Summary: Distant view of Sevastopolʹ from Cathcart's Hill; on plain are five men and a conical tent. Reproduction Number: LC-USZC4-9261 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Reverend Mr. Butler & officers of the 47th Regiment; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 15 x 19 cm. Summary: Reverend Mr. Butler and four officers, full-length portrait, facing front. Reproduction Number: LC-USZC4-9339 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Major General Estcourt, Adj.-Gen. Major De Morel, Captain Thompson, Lieutenant-Colonel Blane, Major Kirkland, Lieutenant-Colonel the Honour[able] W.L. Pakenham, officers of his staff; Other Title: Major-General James Bucknell Estcourt and staff; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 17 cm. Summary: Major General James Bucknell and staff outdoors in front of building, full-length portrait. Reproduction Number: LC-USZC4-9338 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Mortar batteries in front of Picquet house Light Division; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 24 x 35.5 cm. Summary: Photo shows five men and three mortars at a mortar battery with bomb-proof shelter. Reproduction Number: LC-USZC4-9300 (color film copy transparency) LC-USZ62-16031 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Lieutenant General Sir Harry Jones, K.C.B. Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19.5 x 16 cm. Summary: Lieutenant General Sir Harry Jones, half-length portrait, standing with arm resting on stone wall. Reproduction Number: LC-USZC4-9315 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Lieutenant General Pennefather, & Captain Wing, Captain Layard, Captain Ellison, Colonel Wilbraham, Colonel Percy Herbert, Major Thackwell & Dr. Wood, officers of his staff; Other Title: Lieu.t Gen.l Sir J.L. Pennefather & his staff; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 15.5 x 21 cm. Summary: Group portrait with Pennefather seated in the center, ten officers sitting or standing to the left and right of Pennefather. One additional figure appears at far right of the group. Reproduction Number: LC-USZC4-9202 (color film copy transparency) LC-USZ62-47533 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: [Kamara Heights in the distance, artillery waggons in the foreground]; Other Title: Panorama of the Plateau of Sebastopol in eleven parts (1855); Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 26 x 37 cm. Summary: View of plateau of Sevastopolʹ showing rows of caissons, with tents on the plains in the background. Reproduction Number: LC-USZC4-9191 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Officers of the 89th Regiment at Cathcart's Hill, in winter dress, Captain Skynner, Lieutenant Knatchbull, Captain Conyers, Lieutenant Longfield, Captain Hawley; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 20 cm. Summary: Captain Leslie Skynner, Lieutenant Francis Knatchbull, Captain Robert Rowland Conyers, Lieutenant John Longfield, and Captain Robert B. Hawley, full-length portrait, wearing uniforms, one standing, two leaning against large rock, and two reclining on the ground. Reproduction Number: LC-USZC4-9140 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Lieutenant-colonel Shadforth at his hut & officers of the 57th Regiment; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17 x 21 cm. Summary: Lieutenant-colonel Thomas Shadforth sitting before his hut surrounded by officers in relaxed poses. Reproduction Number: LC-USZC4-9119 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Lieutenant General Sir George Brown G.C.B. & officers of his staff Major Hallewell, Colonel Brownrigg, orderly, Colonel Airey, Captain Pearson, Captain Markham, Captain Ponsonby.; Other Title: Lieut.-General Sir George Brown and staff; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 17.3 x 16.7 cm. Summary: General Brown seated, and officers of the Light Division, most standing, wearing uniforms and hats. Reproduction Number: LC-USZC4-9235 (color film copy transparency) LC-USZ62-47555 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Nubian servants & horses; Other Title: Turkish irregulars; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19.3 x 17 cm. Summary: Two men, full-length portraits, facing front, standing with horses. Reproduction Number: LC-USZC4-9233 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Railway officials, messrs. Swan, Cadell, Middleton, Howse, & Kellock; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 20.3 x 17 cm. Summary: Five men seated and standing in front of building with tile roof. Reproduction Number: LC-USZC4-9229 (color film copy transparency) LC-USZ62-47841 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Major Butler, 28th Regiment; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19 x 16 cm. Summary: Major Percy Archer Butler, full-length portrait, dressed in uniform, seated, holding a sword, with conical tents in the background. Reproduction Number: LC-USZC4-9118 (color film copy transparency) LC-USZ62-47530 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Rogers's crimean war photographs offer a record of the history of the war and some of the photographs went on sale in November 1855. By December 1856, Thomas Agnew and Sons disposed of the entire holdings of unsold sets, prints and negatives at an auction.
In September 1855, 312 of Roger's photographs were exhibited at an exhibit opened at the Water Colour Society's Pall Mall East establishment in London.
Thomas Agnew & Sons issued 337 photographs on published mounts between November 1855 and April 1856.
A complete work of Roger Fenton, consisting of 160 of the photographs, was issued under the title "Photographs taken under the patronage of Her Majesty the Queen in the Crimea" by Roger Fenton, Esq.
Incidents from Camp Life (60 photographs).
Two sets of panoramas were issued, The Photographic panorama of the plateau of Sebastopol (11 photographs) and Photographic panoramas of the plains of Balaklava and valley of Inkermann (8 photographs).
Title: "Sir Henry Rawlinson", Sanitary Commissioner; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 32.7 x 25 cm. Summary: This is probably a portrait of Robert Rawlinson (the Sanitary Commissioners are identified on the published mount from the George Eastman House Roger Fenton Series as "Dr. Sutherland Robert Rawlinson, Esq. …", see no. 128x); full-length portrait, seated with right elbow resting on table, right hand on cheek, facing front. Reproduction Number: LC-USZC4-9371 (color film copy transparency) LC-USZ62-52453 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Two sergeants, 4th Light Dragoons; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 16 cm. Summary: Two sergeants, full-length view, standing, facing each other; one pouring beverage into a glass held by the other. Reproduction Number: LC-USZC4-9265 (color film copy transparency) LC-USZ62-47537 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Zouaves & soldiers of the line; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 18 x 17 cm. Summary: Two soldiers standing next to three Zouave soldiers sitting and smoking. Reproduction Number: LC-USZC4-9249 (color film copy transparency) LC-USZ62-2451 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: The cemetery Cathcart's Hill – the Picquet House, Victoria Redoubt and the Redoubt des Anglais in the distance; Other Title: Panorama of the Plateau of Sebastopol in eleven parts (1855) Plateau of Sebastopol; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 24 x 34 cm. Summary: The cemetery on Cathcart's Hill. Reproduction Number: LC-USZC4-9280 (color film copy transparency) LC-USZ62-47538 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Two Zouaves; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19 x 18 cm. Summary: Two French Army Zouaves, wearing uniforms. Reproduction Number: LC-USZC4-9187 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: Zouave & officer of the Saphis [i.e., Spahis]; Other Title: Zouave & Spahi, attendants of Marechal Pelissier; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 20 x 17 cm. Summary: Zouave, full-length portrait, seated, facing right and Spahi officer, full-length portrait, standing, facing left. Reproduction Number: LC-USZC4-9154 (color film copy transparency); Rights Advisory: No known restrictions on publication.
Title: View of the lines of Balaclava from Guard's Hill; Canrobert's Hill in the distance; Other Title: The lines of Balaclava; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 30 x 36 cm. Summary: Men, buildings, and tents on hillside above valley; below in the distance are more tents and hills. Reproduction Number: LC-USZC4-9144 (color film copy transparency) LC-USZ62-47117 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: The sanitary commission; Other Title: Sanitary commissioners; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19.5 x 16.5 cm. Summary: Dr. John Sutherland, full-length portrait, sitting on table, facing right, and Robert Rawlinson, full-length portrait sitting on chair, facing left. Reproduction Number: LC-USZC4-9246 (color film copy transparency) LC-USZ62-77794 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: Tartar labourers; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 19 x 17 cm. Summary: Group of Tatars at work repairing roadway in Balaklava; wooden hut, "Store 14th Regiment", in the background. Reproduction Number: LC-USZC4-9238 (color film copy transparency) LC-USZ62-47536 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Title: The tombs of the generals on Cathcart's Hill; Creator(s): Fenton, Roger, 1819-1869, photographer; Date Created/Published: ; Medium: 1 photographic print : salted paper ; 24.5 x 34.5 cm. Summary: Cemetery on Cathcart's Hill showing graves and a man standing at the grave of Brigadier General Thomas Leigh Goldie who was killed in action at the Battle of Inkerman. Reproduction Number: LC-USZC4-9222 (color film copy transparency) LC-USZ62-57972 (b&w film copy neg.); Rights Advisory: No known restrictions on publication.
Roger gave up photography in 1862 after photographing a final series of remarkable still lives after which he auctioned off all of his photographic equipment and negatives. He also resigned from the Royal Photographic Society and returned to practice law.
After being ill for a short period of time, Roger died in 1869.
Roger's images stand as an example for attempts made in early history to document war through a medium called photography.
The Library of Congress purchased 263 of Fenton's salted paper and albumen prints from his grand niece Frances Fenton in 1944. To view Roger's full collection at the Library of Congress, head over here.


text:
Q: clock_gettime glitch about every second I'm splashing about with C on my mac doing a benchmark test. The code here compiles and runs, but there is a kind of glitch in the output that happens about 1Hz. The program 'should' get interrupted once every 2mS, and report data on the time it was last interrupted. The default setting is to print the following to the terminal
eventCounter \t elapsedTime \t jitter \t sumJitter

eventCounter is obvious, it counts up every time the interrupt happens
elapsedTime is in uS
jitter is elapsedTime minus 2000 (2mS)
sumJitter is jitter + jitter
Just about exactly once per second, the result for elapsedTime crashes to about -1,000,000 which is crazy, because that means I made a time machine... and now I'm in the past.... by about 16 minutes...
I don't feel that much different.
Here's the code

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <signal.h>
#include <unistd.h>
#include <time.h>

#define OPT_R_MIN 0
#define OPT_R_MAX 5000
#define OPT_R_DEF 100
#define OPT_U_MIN 100
#define OPT_U_MAX 2000000000 // 2K seconds
#define OPT_U_DEF 2000
#define OPT_O_ELAPSED 0
#define OPT_O_JITTER 1
#define OPT_O_SUMJITTER 2
#define OPT_O_DEVIATION 3
#define OPT_O_DEVIATION_MAX 256
#define OPT_C_MIN 100
#define OPT_C_MAX 2000000000
#define OPT_C_DEF 1000

#define TIME_OUT_PERIOD 5000000
#define MILLION 1000000
#define BILLION 1000000000

int opt_o_min = OPT_O_ELAPSED;
int opt_o_max = OPT_O_SUMJITTER;

int opt_r = OPT_R_DEF;
unsigned int opt_u = OPT_U_DEF;
int opt_o = OPT_O_JITTER;
int opt_c = OPT_C_DEF;
int editOutput = 0;

volatile unsigned int  elapsedTime, jitter;
struct timespec thisTime, lastTime, timeOutStart, timeOutTest;
volatile unsigned int sampleFlag = 0;
volatile int eventCounter, sumJitter, firstTime, secondTime;

void alarmWakeup(int sig_num);
void startTimer(int r, unsigned int u);
void handler(int sig_num);
char filename [100];
struct tm *timenow;

void usage()
{
   fprintf
   (stderr,
      "\n" \
      "Usage: sudo ./timerTest ... [OPTION] ...\n" \
      "   -r value, sets the allowed lag between alarm and callback   default: %d\n"
      "   -u value, sets microsecond alarm setting   default: %d\n" \
      "         %d < VALID < %d ONLY (under test)\n"\
      "   -o value, sets the output type     default: %d\n"\
      "         %d elapsed time in microseconds\n"\
      "         %d jitter (elapsed time / -u value)\n"\
      "         %d cumulative jitter (jitter + jitter)\n"\
      "   -t value, sets duration of test cycles in event counter    default: %d\n"\
      "         %d < VALID < %d ONLY (under test)\n"\
      "\n",
      OPT_R_DEF,OPT_U_DEF, OPT_U_MIN, OPT_U_MAX, OPT_O_JITTER,
      OPT_O_ELAPSED, OPT_O_JITTER, OPT_O_SUMJITTER, OPT_O_DEVIATION,
      OPT_O_DEVIATION_MAX, OPT_C_DEF, OPT_C_MIN, OPT_C_MAX
   );
}

void fatal(int show_usage, char *fmt, ...)
{
   char buf[128];
   va_list ap;

   va_start(ap, fmt);
   vsnprintf(buf, sizeof(buf), fmt, ap);
   va_end(ap);

   fprintf(stderr, "%s\n", buf);

   if (show_usage) usage();

   fflush(stderr);

   exit(EXIT_FAILURE);
}

static int initOpts(int argc, char *argv[])
{
   int i, opt;
   unsigned int u;

   while ((opt = getopt(argc, argv, "r:u:o:t:")) != -1)
   {
      i = -1;
      switch (opt)
      {
         case 'r':
            i = atoi(optarg);
            if ((i >= OPT_R_MIN) && (i <= OPT_R_MAX))
               opt_r = i;
            else fatal(1, "invalid -r option (%d)", i);
            break;

         case 'u':
            u = atol(optarg);
            if ((u >= OPT_U_MIN) && (u <= OPT_U_MAX))
               opt_u = u;
            else fatal(1, "invalid -u option (%d)", u);
            break;

         case 'o':
            i = atoi(optarg);
            opt_o = i;  // probably fatal
            break;

        case 't':
            i = atoi(optarg);
            opt_c = i;  // probably fatal
            break;

        default: /* '?' */
           usage();
        }
    }
   return optind;
}

int main(int argc, char *argv[])
{
    int settings = 0;
    // command line settings
    settings = initOpts(argc, argv);
    time_t now = time(NULL);
    timenow = gmtime(&now);

    // FILE *data;
    // strftime(filename, sizeof(filename),
    // "/home/pi/Documents/_C_/WiringPiAlarm/protoPulse_%Y-%m-%d_%H:%M:%S.dat", timenow);
    // data = fopen(filename, "w+");
    // fprintf(data,"# Sample count: %d option(s)\n", opt_c);
    // fprintf(data,"# Running with %d latency at %duS sample rate\n",opt_r,opt_u);
    // fprintf(data,"# Output Type is %d\n\n" , opt_o);

    printf("User selects %d option(s)\n", settings-1);
    printf("Running with %d latency at %duS sample rate\n",opt_r,opt_u);
    printf("Output Type is %d\n" , opt_o);
    printf("    Use -o value to select output type\n");
    printf("        0: elapsed time between interrutps\n");
    printf("        1: jitter (elapsed time / -u)\n");
    printf("        2: cumulative jitter (jitter + jitter)\n");
    printf("Sample count: %d\n", opt_c);
    printf("Starting alarm timer for %dmS...\n", opt_u);

    eventCounter = 0;
    firstTime = secondTime = 1;
        clock_gettime(CLOCK_MONOTONIC, &lastTime);
    // lastTime = micros();
    timeOutStart = lastTime;
    startTimer(opt_r, opt_u);

    while(1)
    {
        if(sampleFlag){
            sampleFlag = 0;
            timeOutStart = lastTime;
            int metaDataOutput;
            switch(opt_o){  // ALL OUTPUTS DISCARD THE FIRST CALLBACK
                case OPT_O_JITTER:
                    metaDataOutput = jitter;
                    break;
                case OPT_O_SUMJITTER:
                    metaDataOutput = sumJitter;
                    break;
                default:
                    metaDataOutput = elapsedTime;
                    break;
            }
             printf("%d\t%d\t%d\t%d\n",eventCounter,elapsedTime,jitter, sumJitter);
             // fprintf(data,"%d\t%d\n",eventCounter,metaDataOutput);
         }
                 clock_gettime(CLOCK_MONOTONIC, &timeOutTest);
         if((MILLION * (timeOutTest.tv_sec - timeOutStart.tv_sec) + timeOutTest.tv_nsec - timeOutStart.tv_nsec)/1000>TIME_OUT_PERIOD){
            fatal(0,"program timed out",0);
         }
         if(eventCounter >= opt_c){
            fatal(0,"counted %d events", eventCounter, 0);
         }
    }

    return 0;

}//int main(int argc, char *argv[])

void startTimer(int r, unsigned int u){
    int latency = r;
    unsigned int micros = u;

    signal(SIGALRM, alarmWakeup);
    ualarm(latency, micros);

}

void alarmWakeup(int sig_num)
{

    if(sig_num == SIGALRM)
    {
                clock_gettime(CLOCK_MONOTONIC, &thisTime);
        // thisTime = micros();
        elapsedTime = (MILLION * (thisTime.tv_sec - lastTime.tv_sec) + thisTime.tv_nsec - lastTime.tv_nsec)/1000;
        lastTime = thisTime;
        if(firstTime){
            firstTime = 0;
            return;
        }
        if(secondTime){
            secondTime = 0;
            return;
        }
        jitter = elapsedTime - opt_u;
        sumJitter += jitter;
        eventCounter++;
        sampleFlag = 1;

    }

}

Here's a sample of the data that I get
User selects 0 option(s)
Running with 100 latency at 2000uS sample rate
Output Type is 1
    Use -o value to select output type
        0: elapsed time between interrutps
        1: jitter (elapsed time / -u)
        2: cumulative jitter (jitter + jitter)
Sample count: 1000
Starting alarm timer for 2000mS...
1   1928    -72 -72
2   2031    31  -41
3   1989    -11 -52
4   1975    -25 -77
5   2032    32  -45
6   1971    -29 -74
7   2027    27  -47
8   2012    12  -35
9   2051    51  16
10  1920    -80 -64
11  1998    -2  -66
12  1994    -6  -72
13  2027    27  -45
14  1998    -2  -47
15  2000    0   -47
16  1986    -14 -61
17  1906    -94 -155
18  2126    126 -29
19  1978    -22 -51
20  2047    47  -4
21  1924    -76 -80
22  2038    38  -42
23  1963    -37 -79
24  2045    45  -34
25  1863    -137    -171
26  2169    169 -2
27  1921    -79 -81
28  2040    40  -41
29  1997    -3  -44
30  2021    21  -23
31  1995    -5  -28
32  1984    -16 -44
33  1927    -73 -117
34  2059    59  -58
35  1990    -10 -68
36  1963    -37 -105
37  1836    -164    -269
38  2250    250 -19
39  1978    -22 -41
40  1962    -38 -79
41  1898    -102    -181
42  2124    124 -57
43  1997    -3  -60
44  2009    9   -51
45  2019    19  -32
46  1986    -14 -46
47  2006    6   -40
48  1999    -1  -41
49  1985    -15 -56
50  2013    13  -43
51  2001    1   -42
52  2000    0   -42
53  2169    169 127
54  1815    -185    -58
55  2007    7   -51
56  1990    -10 -61
57  1783    -217    -278
58  2269    269 -9
59  1964    -36 -45
60  2020    20  -25
61  2021    21  -4
62  1992    -8  -12
63  1996    -4  -16
64  1937    -63 -79
65  2009    9   -70
66  2061    61  -9
67  1731    -269    -278
68  2271    271 -7
69  1993    -7  -14
70  1958    -42 -56
71  1769    -231    -287
72  2303    303 16
73  1931    -69 -53
74  1810    -190    -243
75  1998    -2  -245
76  2221    221 -24
77  1998    -2  -26
78  1955    -45 -71
79  2150    150 79
80  1895    -105    -26
81  2013    13  -13
82  1852    -148    -161
83  2116    116 -45
84  1979    -21 -66
85  2004    4   -62
86  1902    -98 -160
87  1981    -19 -179
88  2203    203 24
89  1955    -45 -21
90  1970    -30 -51
91  1832    -168    -219
92  1939    -61 -280
93  2326    326 46
94  1940    -60 -14
95  2000    0   -14
96  1988    -12 -26
97  1979    -21 -47
98  2020    20  -27
99  1859    -141    -168
100 2113    113 -55
101 2028    28  -27
102 1958    -42 -69
103 1922    -78 -147
104 2134    134 -13
105 1969    -31 -44
106 2049    49  5
107 1846    -154    -149
108 2127    127 -22
109 2019    19  -3
110 1985    -15 -18
111 1994    -6  -24
112 2017    17  -7
113 1975    -25 -32
114 1957    -43 -75
115 2057    57  -18
116 1981    -19 -37
117 2011    11  -26
118 1760    -240    -266
119 2226    226 -40
120 1969    -31 -71
121 2011    11  -60
122 2293    293 233
123 1719    -281    -48
124 1980    -20 -68
125 2053    53  -15
126 1992    -8  -23
127 1955    -45 -68
128 2064    64  -4
129 1951    -49 -53
130 2045    45  -8
131 1931    -69 -77
132 1861    -139    -216
133 2220    220 4
134 1980    -20 -16
135 1827    -173    -189
136 2138    138 -51
137 2010    10  -41
138 1994    -6  -47
139 2038    38  -9
140 1987    -13 -22
141 2061    61  39
142 1921    -79 -40
143 1799    -201    -241
144 2244    244 3
145 1971    -29 -26
146 1749    -251    -277
147 2239    239 -38
148 2017    17  -21
149 1994    -6  -27
150 1920    -80 -107
151 2077    77  -30
152 1944    -56 -86
153 2085    85  -1
154 1985    -15 -16
155 1981    -19 -35
156 1985    -15 -50
157 2059    59  9
158 1929    -71 -62
159 2005    5   -57
160 2035    35  -22
161 1986    -14 -36
162 1977    -23 -59
163 2000    0   -59
164 2036    36  -23
165 3912    1912    1889
166 42  -1958   -69
167 2072    72  3
168 1754    -246    -243
169 1957    -43 -286
170 2284    284 -2
171 1993    -7  -9
172 1958    -42 -51
173 2043    43  -8
174 1762    -238    -246
175 2235    235 -11
176 1965    -35 -46
177 2049    49  3
178 1992    -8  -5
179 1982    -18 -23
180 2006    6   -17
181 1968    -32 -49
182 1790    -210    -259
183 2019    19  -240
184 2194    194 -46
185 1916    -84 -130
186 2079    79  -51
187 1849    -151    -202
188 2213    213 11
189 1944    -56 -45
190 2022    22  -23
191 2001    1   -22
192 2000    0   -22
193 2003    3   -19
194 1930    -70 -89
195 2081    81  -8
196 1946    -54 -62
197 2058    58  -4
198 1997    -3  -7
199 1932    -68 -75
200 2068    68  -7
201 1929    -71 -78
202 2034    34  -44
203 2038    38  -6
204 1998    -2  -8
205 1950    -50 -58
206 1990    -10 -68
207 1880    -120    -188
208 2368    368 180
209 1825    -175    5
210 1709    -291    -286
211 2102    102 -184
212 2110    110 -74
213 2041    41  -33
214 2027    27  -6
215 1963    -37 -43
216 1841    -159    -202
217 2215    215 13
218 1800    -200    -187
219 2195    195 8
220 1984    -16 -8
221 1988    -12 -20
222 1966    -34 -54
223 2086    86  32
224 1858    -142    -110
225 2161    161 51
226 1806    -194    -143
227 2091    91  -52
228 1990    -10 -62
229 1995    -5  -67
230 1995    -5  -72
231 2039    39  -33
232 1996    -4  -37
233 2019    19  -18
234 1990    -10 -28
235 1777    -223    -251
236 2005    5   -246
237 2308    308 62
238 1903    -97 -35
239 1783    -217    -252
240 2064    64  -188
241 1943    -57 -245
242 1963    -37 -282
243 2216    216 -66
244 1889    -111    -177
245 2125    125 -52
246 1777    -223    -275
247 2306    306 31
248 1907    -93 -62
249 1991    -9  -71
250 2016    16  -55
251 1984    -16 -71
252 2002    2   -69
253 2029    29  -40
254 2027    27  -13
255 1993    -7  -20
256 2016    16  -4
257 1814    -186    -190
258 1953    -47 -237
259 2063    63  -174
260 2117    117 -57
261 1990    -10 -67
262 1863    -137    -204
263 2207    207 3
264 1987    -13 -10
265 1992    -8  -18
266 1970    -30 -48
267 2067    67  19
268 1976    -24 -5
269 1987    -13 -18
270 1963    -37 -55
271 1992    -8  -63
272 1996    -4  -67
273 2059    59  -8
274 1986    -14 -22
275 2011    11  -11
276 1956    -44 -55
277 1990    -10 -65
278 2002    2   -63
279 2051    51  -12
280 1989    -11 -23
281 1742    -258    -281
282 2297    297 16
283 1960    -40 -24
284 1902    -98 -122
285 2053    53  -69
286 1804    -196    -265
287 2025    25  -240
288 2201    201 -39
289 1992    -8  -47
290 1996    -4  -51
291 1981    -19 -70
292 1997    -3  -73
293 2005    5   -68
294 1876    -124    -192
295 2161    161 -31
296 1913    -87 -118
297 2052    52  -66
298 2027    27  -39
299 1899    -101    -140
300 2105    105 -35
301 1849    -151    -186
302 1996    -4  -190
303 2152    152 -38
304 1945    -55 -93
305 2087    87  -6
306 1979    -21 -27
307 1971    -29 -56
308 2050    50  -6
309 1988    -12 -18
310 1998    -2  -20
311 2068    68  48
312 1890    -110    -62
313 1998    -2  -64
314 1994    -6  -70
315 2000    0   -70
316 2023    23  -47
317 1987    -13 -60
318 2055    55  -5
319 1942    -58 -63
320 1901    -99 -162
321 2144    144 -18
322 2007    7   -11
323 2010    10  -1
324 1929    -71 -72
325 2063    63  -9
326 1956    -44 -53
327 1992    -8  -61
328 2028    28  -33
329 2026    26  -7
330 1976    -24 -31
331 2005    5   -26
332 1873    -127    -153
333 2126    126 -27
334 1955    -45 -72
335 2153    153 81
336 1854    -146    -65
337 1879    -121    -186
338 2140    140 -46
339 1898    -102    -148
340 2132    132 -16
341 1983    -17 -33
342 1998    -2  -35
343 2022    22  -13
344 1942    -58 -71
345 1893    -107    -178
346 2171    171 -7
347 2067    67  60
348 1905    -95 -35
349 1867    -133    -168
350 1941    -59 -227
351 2240    240 13
352 1972    -28 -15
353 1966    -34 -49
354 2044    44  -5
355 1958    -42 -47
356 1981    -19 -66
357 -997000 -999000 -999066
358 1997    -3  -999069
359 1999    -1  -999070
360 2011    11  -999059
361 2057    57  -999002
362 1987    -13 -999015
363 1971    -29 -999044
364 2037    37  -999007
365 1845    -155    -999162
366 2173    173 -998989
367 1986    -14 -999003
368 1974    -26 -999029
369 2016    16  -999013
370 1998    -2  -999015
371 2009    9   -999006
372 1822    -178    -999184
373 1939    -61 -999245
374 2206    206 -999039
375 1923    -77 -999116
376 1917    -83 -999199
377 2202    202 -998997
378 1929    -71 -999068
379 1882    -118    -999186
380 2191    191 -998995
381 1918    -82 -999077
382 2037    37  -999040
383 2025    25  -999015
384 1917    -83 -999098
385 2052    52  -999046
386 1799    -201    -999247
387 2202    202 -999045
388 2013    13  -999032
389 1964    -36 -999068
390 2023    23  -999045
391 2050    50  -998995
392 1924    -76 -999071
393 2043    43  -999028
394 2027    27  -999001
395 1986    -14 -999015
396 1983    -17 -999032
397 1855    -145    -999177
398 2133    133 -999044
399 1976    -24 -999068
400 1781    -219    -999287
401 2179    179 -999108
402 1966    -34 -999142
403 2086    86  -999056
404 2047    47  -999009
405 2002    2   -999007
406 1971    -29 -999036
407 1995    -5  -999041
408 2041    41  -999000
409 1989    -11 -999011
410 2011    11  -999000
411 1985    -15 -999015
412 1949    -51 -999066
413 2061    61  -999005
414 1982    -18 -999023
415 1997    -3  -999026
416 2012    12  -999014
417 1979    -21 -999035
418 2029    29  -999006
419 1978    -22 -999028
420 1978    -22 -999050
421 1993    -7  -999057
422 1834    -166        -999223
423 1970    -30 -999253
424 2146    146 -999107
425 2100    100 -999007
426 1962    -38 -999045
427 1908    -92 -999137
428 2155    155 -998982
429 1753    -247    -999229
430 2198    198 -999031
431 2025    25  -999006
432 1827    -173    -999179
433 2152    152 -999027
434 2033    33  -998994
435 1880    -120    -999114
436 1898    -102    -999216
437 2225    225 -998991
438 1985    -15 -999006
439 1870    -130    -999136
440 2101    101 -999035
441 1968    -32 -999067
442 2040    40  -999027
443 1956    -44 -999071
444 2008    8   -999063
445 2046    46  -999017
446 1946    -54 -999071
447 2029    29  -999042
448 2029    29  -999013
449 1996    -4  -999017
450 2002    2   -999015
451 1976    -24 -999039
452 1972    -28 -999067
453 2031    31  -999036
454 2009    9   -999027
455 2024    24  -999003
456 1987    -13 -999016
457 2000    0   -999016
458 1851    -149    -999165
459 2167    167 -998998
460 1933    -67 -999065
461 2029    29  -999036
462 1982    -18 -999054
463 1989    -11 -999065
464 2001    1   -999064
465 1994    -6  -999070
466 2058    58  -999012
467 1993    -7  -999019
468 1945    -55 -999074
469 2011    11  -999063
470 2020    20  -999043
471 2030    30  -999013
472 2002    2   -999011
473 1729    -271    -999282
474 2217    217 -999065
475 2015    15  -999050
476 2078    78  -998972
477 2003    3   -998969
478 1937    -63 -999032
479 1963    -37 -999069
480 2050    50  -999019
481 2030    30  -998989
482 1948    -52 -999041
483 1991    -9  -999050
484 2195    195 -998855
485 1790    -210    -999065
486 1993    -7  -999072
487 2005    5   -999067
488 2064    64  -999003
489 1970    -30 -999033
490 1921    -79 -999112
491 2100    100 -999012
492 1975    -25 -999037
493 2060    60  -998977
494 1790    -210    -999187
495 1985    -15 -999202
496 2217    217 -998985
497 1829    -171    -999156
498 2167    167 -998989
499 1823    -177    -999166
500 2151    151 -999015
501 2032    32  -998983
502 1991    -9  -998992
503 1984    -16 -999008
504 1817    -183    -999191
505 2156    156 -999035
506 1963    -37 -999072
507 2013    13  -999059
508 1835    -165    -999224
509 2230    230 -998994
510 1966    -34 -999028
511 1949    -51 -999079
512 2012    12  -999067
513 2064    64  -999003
514 1780    -220    -999223
515 2173    173 -999050
516 1972    -28 -999078
517 2048    48  -999030
518 1991    -9  -999039
519 2072    72  -998967
520 1931    -69 -999036
521 2031    31  -999005
522 1991    -9  -999014
523 2005    5   -999009
524 1995    -5  -999014
525 1994    -6  -999020
526 1957    -43 -999063
527 1833    -167    -999230
528 2186    186 -999044
529 1973    -27 -999071
530 2005    5   -999066
531 2053    53  -999013
532 1970    -30 -999043
533 1891    -109    -999152
534 2086    86  -999066
535 2005    5   -999061
536 2054    54  -999007
537 1872    -128    -999135
538 2141    141 -998994
539 1991    -9  -999003
540 1729    -271    -999274
541 2284    284 -998990
542 1984    -16 -999006
543 1932    -68 -999074
544 2060    60  -999014
545 1819    -181    -999195
546 2201    201 -998994
547 1927    -73 -999067
548 2034    34  -999033
549 1774    -226    -999259
550 2219    219 -999040
551 1973    -27 -999067
552 1997    -3  -999070
553 1875    -125    -999195
554 2167    167 -999028
555 2013    13  -999015
556 1997    -3  -999018
557 1860    -140    -999158
558 2162    162 -998996
559 1792    -208    -999204
560 2004    4   -999200
561 2015    15  -999185
562 2194    194 -998991
563 1971    -29 -999020
564 1987    -13 -999033
565 1997    -3  -999036
566 1998    -2  -999038
567 2030    30  -999008
568 1769    -231    -999239
569 2259    259 -998980
570 1767    -233    -999213
571 2000    0   -999213
572 2168    168 -999045
573 1978    -22 -999067
574 1810    -190    -999257
575 2218    218 -999039
576 2039    39  -999000
577 1933    -67 -999067
578 2027    27  -999040
579 2022    22  -999018
580 2011    11  -999007
581 1997    -3  -999010
582 1845    -155    -999165
583 2152    152 -999013
584 2020    20  -998993
585 1818    -182    -999175
586 1980    -20 -999195
587 2084    84  -999111
588 1920    -80 -999191
589 2178    178 -999013
590 1998    -2  -999015
591 1930    -70 -999085
592 2038    38  -999047
593 1909    -91 -999138
594 2079    79  -999059
595 1992    -8  -999067
596 2006    6   -999061
597 1996    -4  -999065
598 2046    46  -999019
599 2011    11  -999008
600 1999    -1  -999009
601 2000    0   -999009
602 1907    -93 -999102
603 2103    103 -998999
604 1984    -16 -999015
605 1988    -12 -999027
606 2019    19  -999008
607 1985    -15 -999023
608 1952    -48 -999071
609 2045    45  -999026
610 1992    -8  -999034
611 2014    14  -999020
612 2014    14  -999006
613 1750    -250    -999256
614 2271    271 -998985
615 1959    -41 -999026
616 1958    -42 -999068
617 1997    -3  -999071
618 2011    11  -999060
619 1974    -26 -999086
620 2058    58  -999028
621 1965    -35 -999063
622 2105    105 -998958
623 1889    -111    -999069
624 2071    71  -998998
625 1989    -11 -999009
626 1734    -266    -999275
627 2307    307 -998968
628 1943    -57 -999025
629 2156    156 -998869
630 1872    -128    -998997
631 1985    -15 -999012
632 1848    -152    -999164
633 2167    167 -998997
634 1960    -40 -999037
635 2012    12  -999025
636 1737    -263    -999288
637 2256    256 -999032
638 1968    -32 -999064
639 2047    47  -999017
640 1983    -17 -999034
641 1791    -209    -999243
642 2251    251 -998992
643 1973    -27 -999019
644 1954    -46 -999065
645 1864    -136    -999201
646 2169    169 -999032
647 1969    -31 -999063
648 2023    23  -999040
649 2031    31  -999009
650 1988    -12 -999021
651 2027    27  -998994
652 1998    -2  -998996
653 1988    -12 -999008
654 1954    -46 -999054
655 2046    46  -999008
656 1997    -3  -999011
657 1955    -45 -999056
658 1880    -120    -999176
659 2153    153 -999023
660 2463    463 -998560
661 1500    -500    -999060
662 2067    67  -998993
663 2010    10  -998983
664 1940    -60 -999043
665 1778    -222    -999265
666 2220    220 -999045
667 1789    -211    -999256
668 2233    233 -999023
669 1964    -36 -999059
670 1899    -101    -999160
671 2175    175 -998985
672 1962    -38 -999023
673 2016    16  -999007
674 1894    -106    -999113
675 2118    118 -998995
676 1984    -16 -999011
677 2008    8   -999003
678 1972    -28 -999031
679 1963    -37 -999068
680 2001    1   -999067
681 1869    -131    -999198
682 2090    90  -999108
683 2072    72  -999036
684 1782    -218    -999254
685 2276    276 -998978
686 1702    -298    -999276
687 2302    302 -998974
688 1936    -64 -999038
689 2034    34  -999004
690 1988    -12 -999016
691 1963    -37 -999053
692 2048    48  -999005
693 1973    -27 -999032
694 2022    22  -999010
695 1984    -16 -999026
696 2022    22  -999004
697 1989    -11 -999015
698 2134    134 -998881
699 1820    -180    -999061
700 1996    -4  -999065
701 2002    2   -999063
702 1999    -1  -999064
703 1830    -170    -999234
704 2061    61  -999173
705 2158    158 -999015
706 1997    -3  -999018
707 1827    -173    -999191
708 1938    -62 -999253
709 2277    277 -998976
710 1990    -10 -998986
711 1720    -280    -999266
712 2293    293 -998973
713 1960    -40 -999013
714 2002    2   -999011
715 1886    -114    -999125
716 2154    154 -998971
717 1956    -44 -999015
718 2010    10  -999005
719 1841    -159    -999164
720 2175    175 -998989
721 1728    -272    -999261
722 2218    218 -999043
723 1985    -15 -999058
724 1867    -133    -999191
725 1948    -52 -999243
726 2257    257 -998986
727 1865    -135    -999121
728 2065    65  -999056
729 2049    49  -999007
730 1955    -45 -999052
731 2046    46  -999006
732 2003    3   -999003
733 1744    -256    -999259
734 2281    281 -998978
735 1992    -8  -998986
736 1922    -78 -999064
737 2055    55  -999009
738 1999    -1  -999010
739 1807    -193    -999203
740 2158    158 -999045
741 1901    -99 -999144
742 1971    -29 -999173
743 2128    128 -999045
744 1975    -25 -999070
745 2015    15  -999055
746 2041    41  -999014
747 1986    -14 -999028
748 1959    -41 -999069
749 2073    73  -998996
750 1941    -59 -999055
751 2080    80  -998975
752 1907    -93 -999068
753 2045    45  -999023
754 1851    -149    -999172
755 2200    200 -998972
756 1953    -47 -999019
757 1840    -160    -999179
758 2190    190 -998989
759 1732    -268    -999257
760 2295    295 -998962
761 1952    -48 -999010
762 1998    -2  -999012
763 1966    -34 -999046
764 1993    -7  -999053
765 1992    -8  -999061
766 1994    -6  -999067
767 1892    -108    -999175
768 2180    180 -998995
769 1718    -282    -999277
770 2262    262 -999015
771 2023    23  -998992
772 1981    -19 -999011
773 1894    -106    -999117
774 2122    122 -998995
775 1965    -35 -999030
776 2033    33  -998997
777 1936    -64 -999061
778 2056    56  -999005
779 1750    -250    -999255
780 2274    274 -998981
781 1959    -41 -999022
782 2015    15  -999007
783 1997    -3  -999010
784 1993    -7  -999017
785 1810    -190    -999207
786 2042    42  -999165
787 1912    -88 -999253
788 2214    214 -999039
789 1827    -173    -999212
790 2096    96  -999116
791 2127    127 -998989
792 1919    -81 -999070
793 2056    56  -999014
794 1953    -47 -999061
795 2052    52  -999009
796 1980    -20 -999029
797 2026    26  -999003
798 2003    3   -999000
799 1725    -275    -999275
800 2277    277 -998998
801 1952    -48 -999046
802 1906    -94 -999140
803 2141    141 -998999
804 1984    -16 -999015
805 2009    9   -999006
806 2007    7   -998999
807 1945    -55 -999054
808 1992    -8  -999062
809 1997    -3  -999065
810 1998    -2  -999067
811 2012    12  -999055
812 2038    38  -999017
813 1947    -53 -999070
814 2060    60  -999010
815 1999    -1  -999011
816 1990    -10 -999021
817 1999    -1  -999022
818 2035    35  -998987
819 1951    -49 -999036
820 1978    -22 -999058
821 2018    18  -999040
822 2014    14  -999026
823 2019    19  -999007
824 1982    -18 -999025
825 2017    17  -999008
826 2029    29  -998979
827 1980    -20 -998999
828 1941    -59 -999058
829 2017    17  -999041
830 1979    -21 -999062
831 1894    -106    -999168
832 1914    -86 -999254
833 2239    239 -999015
834 2003    3   -999012
835 1897    -103    -999115
836 1935    -65 -999180
837 2193    193 -998987
838 1982    -18 -999005
839 1987    -13 -999018
840 1946    -54 -999072
841 2070    70  -999002
842 1893    -107    -999109
843 1946    -54 -999163
844 2176    176 -998987
845 1973    -27 -999014
846 2002    2   -999012
847 1990    -10 -999022
848 2015    15  -999007
849 2003    3   -999004
850 1742    -258    -999262
851 2412    412 -998850
852 1782    -218    -999068
853 2034    34  -999034
854 1970    -30 -999064
855 2033    33  -999031
856 1996    -4  -999035
857 -996970 -998970 -1998005
858 1957    -43 -1998048
859 1871    -129    -1998177
860 2142    142 -1998035
861 1796    -204    -1998239
862 2287    287 -1997952
863 1924    -76 -1998028
864 2019    19  -1998009
865 2063    63  -1997946
866 1935    -65 -1998011
867 1999    -1  -1998012
868 2007    7   -1998005
869 1996    -4  -1998009
870 1984    -16 -1998025
871 1957    -43 -1998068
872 2037    37  -1998031
873 1763    -237    -1998268
874 2242    242 -1998026
875 1961    -39 -1998065
876 2020    20  -1998045
877 1984    -16 -1998061
878 2062    62  -1997999
879 1980    -20 -1998019
880 1754    -246    -1998265
881 2284    284 -1997981
882 1836    -164    -1998145
883 2221    221 -1997924
884 1936    -64 -1997988
885 1978    -22 -1998010
886 1853    -147    -1998157
887 2146    146 -1998011
888 2005    5   -1998006
889 1993    -7  -1998013
890 1866    -134    -1998147
891 2164    164 -1997983
892 1742    -258    -1998241
893 2147    147 -1998094
894 2081    81  -1998013
895 1955    -45 -1998058
896 1997    -3  -1998061
897 2054    54  -1998007
898 1964    -36 -1998043
899 2032    32  -1998011
900 1999    -1  -1998012
901 1996    -4  -1998016
902 1988    -12 -1998028
903 1836    -164    -1998192
904 2212    212 -1997980
905 2033    33  -1997947
906 1825    -175    -1998122
907 2142    142 -1997980
908 1983    -17 -1997997
909 1925    -75 -1998072
910 2075    75  -1997997
911 1995    -5  -1998002
912 1759    -241    -1998243
913 2268    268 -1997975
914 1828    -172    -1998147
915 2101    101 -1998046
916 1894    -106    -1998152
917 2115    115 -1998037
918 1993    -7  -1998044
919 1934    -66 -1998110
920 2100    100 -1998010
921 1995    -5  -1998015
922 1980    -20 -1998035
923 2110    110 -1997925
924 1945    -55 -1997980
925 1731    -269    -1998249
926 2305    305 -1997944
927 1870    -130    -1998074
928 1904    -96 -1998170
929 2179    179 -1997991
930 1894    -106    -1998097
931 2090    90  -1998007
932 2225    225 -1997782
933 1791    -209    -1997991
934 1954    -46 -1998037
935 2010    10  -1998027
936 1754    -246    -1998273
937 2245    245 -1998028
938 1962    -38 -1998066
939 2001    1   -1998065
940 2064    64  -1998001
941 1969    -31 -1998032
942 2060    60  -1997972
943 2042    42  -1997930
944 1669    -331    -1998261
945 2292    292 -1997969
946 1959    -41 -1998010
947 2012    12  -1997998
948 1931    -69 -1998067
949 2057    57  -1998010
950 2009    9   -1998001
951 1825    -175    -1998176
952 2203    203 -1997973
953 1964    -36 -1998009
954 2077    77  -1997932
955 1941    -59 -1997991
956 1988    -12 -1998003
957 1970    -30 -1998033
958 1980    -20 -1998053
959 1992    -8  -1998061
960 2001    1   -1998060
961 2221    221 -1997839
962 1834    -166    -1998005
963 1993    -7  -1998012
964 1987    -13 -1998025
965 2026    26  -1997999
966 1987    -13 -1998012
967 2001    1   -1998011
968 2004    4   -1998007
969 1944    -56 -1998063
970 1885    -115    -1998178
971 2203    203 -1997975
972 1965    -35 -1998010
973 2049    49  -1997961
974 1967    -33 -1997994
975 1784    -216    -1998210
976 2219    219 -1997991
977 1976    -24 -1998015
978 1973    -27 -1998042
979 2025    25  -1998017
980 1981    -19 -1998036
981 1981    -19 -1998055
982 2058    58  -1997997
983 1969    -31 -1998028
984 2023    23  -1998005
985 2006    6   -1997999
986 1810    -190    -1998189
987 2206    206 -1997983
988 1990    -10 -1997993
989 1952    -48 -1998041
990 1983    -17 -1998058
991 2033    33  -1998025
992 2000    0   -1998025
993 2011    11  -1998014
994 1864    -136    -1998150
995 1893    -107    -1998257
996 2287    287 -1997970
997 1957    -43 -1998013
998 2006    6   -1998007
999 1957    -43 -1998050
counted 1000 events

Am I using the clock_gettime function wrong?
Should I use a different timer?
It looks like a rollover. If this is baked into the timer read function, does anyone have an idea of how to work around it?
Yes, I know I'm using ualarm()
The end target for this code is a raspberry pi. I was just playing around with the benchmark tool I made and thought I would run in on my laptop. I don't get this similar issue  on the RPi... though I have not run it more than ~10 seconds at at time...

A: Even though it is bad practice for production code, I added a printf() statement into the signal handler to record the output:
/* SO 5538-7600 */

#include "time_math.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <signal.h>
#include <unistd.h>
#include <time.h>

#define OPT_R_MIN 0
#define OPT_R_MAX 5000
#define OPT_R_DEF 100
#define OPT_U_MIN 100
#define OPT_U_MAX 2000000000 // 2K seconds
#define OPT_U_DEF 2000
#define OPT_O_ELAPSED 0
#define OPT_O_JITTER 1
#define OPT_O_SUMJITTER 2
#define OPT_O_DEVIATION 3
#define OPT_O_DEVIATION_MAX 256
#define OPT_C_MIN 100
#define OPT_C_MAX 2000000000
#define OPT_C_DEF 1000

#define TIME_OUT_PERIOD 5000000
#define MILLION 1000000
#define BILLION 1000000000

int opt_o_min = OPT_O_ELAPSED;
int opt_o_max = OPT_O_SUMJITTER;

int opt_r = OPT_R_DEF;
unsigned int opt_u = OPT_U_DEF;
int opt_o = OPT_O_JITTER;
int opt_c = OPT_C_DEF;
int editOutput = 0;

volatile unsigned int elapsedTime, jitter;
struct timespec thisTime, lastTime, timeOutStart, timeOutTest;
volatile unsigned int sampleFlag = 0;
volatile int eventCounter, sumJitter, firstTime, secondTime;

void alarmWakeup(int sig_num);
void startTimer(int r, unsigned int u);
void handler(int sig_num);

char filename[100];
struct tm *timenow;

static void usage(void)
{
    fprintf(stderr,
        "Usage: sudo ./timerTest ... [OPTION] ...\n"
        "   -r value, sets the allowed lag between alarm and callback   default: %d\n"
        "   -u value, sets microsecond alarm setting   default: %d\n"
        "         %d < VALID < %d ONLY (under test)\n"
        "   -o value, sets the output type     default: %d\n"
        "         %d elapsed time in microseconds\n"
        "         %d jitter (elapsed time / -u value)\n"
        "         %d cumulative jitter (jitter + jitter)\n"
        "   -t value, sets duration of test cycles in event counter    default: %d\n"
        "         %d < VALID < %d ONLY (under test)\n"
        "\n",
        OPT_R_DEF, OPT_U_DEF, OPT_U_MIN, OPT_U_MAX, OPT_O_JITTER,
        OPT_O_ELAPSED, OPT_O_JITTER, OPT_O_SUMJITTER, OPT_O_DEVIATION,
        OPT_O_DEVIATION_MAX, OPT_C_DEF//, OPT_C_MIN, OPT_C_MAX
        );
}

static void fatal(int show_usage, char *fmt, ...)
{
    char buf[128];
    va_list ap;

    va_start(ap, fmt);
    vsnprintf(buf, sizeof(buf), fmt, ap);
    va_end(ap);

    fprintf(stderr, "%s\n", buf);

    if (show_usage)
        usage();

    fflush(stderr);

    exit(EXIT_FAILURE);
}

static int initOpts(int argc, char *argv[])
{
    int i, opt;
    unsigned int u;

    while ((opt = getopt(argc, argv, "r:u:o:t:")) != -1)
    {
        i = -1;
        switch (opt)
        {
        case 'r':
            i = atoi(optarg);
            if ((i >= OPT_R_MIN) && (i <= OPT_R_MAX))
                opt_r = i;
            else
                fatal(1, "invalid -r option (%d)", i);
            break;

        case 'u':
            u = atol(optarg);
            if ((u >= OPT_U_MIN) && (u <= OPT_U_MAX))
                opt_u = u;
            else
                fatal(1, "invalid -u option (%d)", u);
            break;

        case 'o':
            i = atoi(optarg);
            opt_o = i;  // probably fatal
            break;

        case 't':
            i = atoi(optarg);
            opt_c = i;  // probably fatal
            break;

        default: /* '?' */
            usage();
        }
    }
    return optind;
}

int main(int argc, char *argv[])
{
    int settings = 0;
    // command line settings
    settings = initOpts(argc, argv);
    time_t now = time(NULL);
    timenow = gmtime(&now);

    // FILE *data;
    // strftime(filename, sizeof(filename),
    // "/home/pi/Documents/_C_/WiringPiAlarm/protoPulse_%Y-%m-%d_%H:%M:%S.dat", timenow);
    // data = fopen(filename, "w+");
    // fprintf(data,"# Sample count: %d option(s)\n", opt_c);
    // fprintf(data,"# Running with %d latency at %duS sample rate\n",opt_r,opt_u);
    // fprintf(data,"# Output Type is %d\n\n" , opt_o);

    printf("User selects %d option(s)\n", settings - 1);
    printf("Running with %d latency at %duS sample rate\n", opt_r, opt_u);
    printf("Output Type is %d\n", opt_o);
    printf("    Use -o value to select output type\n");
    printf("        0: elapsed time between interrutps\n");
    printf("        1: jitter (elapsed time / -u)\n");
    printf("        2: cumulative jitter (jitter + jitter)\n");
    printf("Sample count: %d\n", opt_c);
    printf("Starting alarm timer for %dmS...\n", opt_u);

    eventCounter = 0;
    firstTime = secondTime = 1;
    clock_gettime(CLOCK_MONOTONIC, &lastTime);
    // lastTime = micros();
    timeOutStart = lastTime;
    startTimer(opt_r, opt_u);

    while (1)
    {
        if (sampleFlag)
        {
            sampleFlag = 0;
            timeOutStart = lastTime;
            // int metaDataOutput;
            // switch(opt_o){  // ALL OUTPUTS DISCARD THE FIRST CALLBACK
            //    case OPT_O_JITTER:
            //        metaDataOutput = jitter;
            //        break;
            //    case OPT_O_SUMJITTER:
            //        metaDataOutput = sumJitter;
            //        break;
            //    default:
            //        metaDataOutput = elapsedTime;
            //        break;
            // }
            printf("%d\t%d\t%d\t%d\n", eventCounter, elapsedTime, jitter, sumJitter);
            // fprintf(data,"%d\t%d\n",eventCounter,metaDataOutput);
        }
        clock_gettime(CLOCK_MONOTONIC, &timeOutTest);
        if ((MILLION * (timeOutTest.tv_sec - timeOutStart.tv_sec) + timeOutTest.tv_nsec - timeOutStart.tv_nsec) / 1000 > TIME_OUT_PERIOD)
        {
            fatal(0, "program timed out", 0);
        }
        if (eventCounter >= opt_c)
        {
            fatal(0, "counted %d events", eventCounter, 0);
        }
    }

    return 0;
}

void startTimer(int r, unsigned int u)
{
    int latency = r;
    unsigned int micros = u;

    signal(SIGALRM, alarmWakeup);
    ualarm(latency, micros);
}

void alarmWakeup(int sig_num)
{
    if (sig_num == SIGALRM)
    {
        clock_gettime(CLOCK_MONOTONIC, &thisTime);
        // thisTime = micros();
        elapsedTime = (MILLION * (thisTime.tv_sec - lastTime.tv_sec) + thisTime.tv_nsec - lastTime.tv_nsec) / 1000;
        struct timespec diff;
        sub_timespec(lastTime, thisTime, &diff);
        /* Not good practice! */
        printf("%10u : %ld.%.9ld - %ld.%.9ld (%ld.%.9ld)  - ",
               elapsedTime,
               thisTime.tv_sec, thisTime.tv_nsec,
               lastTime.tv_sec, lastTime.tv_nsec,
               diff.tv_sec, diff.tv_nsec);
        lastTime = thisTime;
        if (firstTime)
        {
            firstTime = 0;
            return;
        }
        if (secondTime)
        {
            secondTime = 0;
            return;
        }
        jitter = elapsedTime - opt_u;
        sumJitter += jitter;
        eventCounter++;
        sampleFlag = 1;
    }
}

The time_math.h header contains:
#include <time.h>

extern void sub_timespec(struct timespec t1, struct timespec t2, struct timespec *td);

And the sub_timespec() code is (as shown in a comment):
enum { NS_PER_SECOND = 1000000000 };

void sub_timespec(struct timespec t1, struct timespec t2, struct timespec *td)
{
    td->tv_nsec = t2.tv_nsec - t1.tv_nsec;
    td->tv_sec  = t2.tv_sec - t1.tv_sec;
    if (td->tv_sec > 0 && td->tv_nsec < 0)
    {
        td->tv_nsec += NS_PER_SECOND;
        td->tv_sec--;
    }
    else if (td->tv_sec < 0 && td->tv_nsec > 0)
    {
        td->tv_nsec -= NS_PER_SECOND;
        td->tv_sec++;
    }
}

At the cusp of the problem, the output was:
      1896 : 169978.995568000 - 169978.993672000 (0.001896000)  - 97    1896    -104    64
      1978 : 169978.997546000 - 169978.995568000 (0.001978000)  - 98    1978    -22 42
      2136 : 169978.999682000 - 169978.997546000 (0.002136000)  - 99    2136    136 178
4293970278 : 169979.001664000 - 169978.999682000 (0.001982000)  - 100   -997018 -999018 -998840
      2019 : 169979.003683000 - 169979.001664000 (0.002019000)  - 101   2019    19  -998821
      2041 : 169979.005724000 - 169979.003683000 (0.002041000)  - 102   2041    41  -998780

As you can see, the numbers go haywire exactly as the tv_nsec value flips from 999418000 to 001406000.   (On macOS, although clock_gettime() reports nanoseconds, but the last three digits are always zero, so it effectively reports microseconds.) As you may also see, the parenthesized number (the output from sub_timespec()) does not go haywire at that point.

A: The time math that Jonathan posted fixed the problem.
Now I guess I have to replace my use of ualarm()... The alternative is super tedious, as far as I've seen.
Here's the working code. I am not using the time_math library. Just rolled the sub_timespec() function in.
Thanks!

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <signal.h>
#include <unistd.h>
#include <time.h>

#define OPT_R_MIN 0
#define OPT_R_MAX 5000
#define OPT_R_DEF 100
#define OPT_U_MIN 100
#define OPT_U_MAX 2000000000 // 2K seconds
#define OPT_U_DEF 2000
#define OPT_O_ELAPSED 0
#define OPT_O_JITTER 1
#define OPT_O_SUMJITTER 2
#define OPT_O_DEVIATION 3
#define OPT_O_DEVIATION_MAX 256
#define OPT_C_MIN 100
#define OPT_C_MAX 2000000000
#define OPT_C_DEF 1000

#define TIME_OUT_PERIOD 5000000
#define MILLION 1000000
#define BILLION 1000000000

int opt_o_min = OPT_O_ELAPSED;
int opt_o_max = OPT_O_SUMJITTER;

int opt_r = OPT_R_DEF;
unsigned int opt_u = OPT_U_DEF;
int opt_o = OPT_O_JITTER;
int opt_c = OPT_C_DEF;
int editOutput = 0;

volatile unsigned int elapsedTime, jitter;
struct timespec thisTime, lastTime, diff, timeOutStart, timeOutTest;
volatile unsigned int sampleFlag = 0;
volatile int eventCounter, sumJitter, firstTime, secondTime;

void alarmWakeup(int sig_num);
void startTimer(int r, unsigned int u);
void handler(int sig_num);
void sub_timespec(struct timespec t1, struct timespec t2, struct timespec *td);
char filename [100];
struct tm *timenow;

void usage()
{
   fprintf
   (stderr,
      "\n" \
      "Usage: sudo ./timerTest ... [OPTION] ...\n" \
      "   -r value, sets the allowed lag between alarm and callback   default: %d\n"
      "   -u value, sets microsecond alarm setting   default: %d\n" \
      "         %d < VALID < %d ONLY (under test)\n"\
      "   -o value, sets the output type     default: %d\n"\
      "         %d elapsed time in microseconds\n"\
      "         %d jitter (elapsed time / -u value)\n"\
      "         %d cumulative jitter (jitter + jitter)\n"\
      "   -t value, sets duration of test cycles in event counter    default: %d\n"\
      "         %d < VALID < %d ONLY (under test)\n"\
      "\n",
      OPT_R_DEF,OPT_U_DEF, OPT_U_MIN, OPT_U_MAX, OPT_O_JITTER,
      OPT_O_ELAPSED, OPT_O_JITTER, OPT_O_SUMJITTER, OPT_O_DEVIATION,
      OPT_O_DEVIATION_MAX, OPT_C_DEF, OPT_C_MIN, OPT_C_MAX
   );
}

void fatal(int show_usage, char *fmt, ...)
{
   char buf[128];
   va_list ap;

   va_start(ap, fmt);
   vsnprintf(buf, sizeof(buf), fmt, ap);
   va_end(ap);

   fprintf(stderr, "%s\n", buf);

   if (show_usage) usage();

   fflush(stderr);

   exit(EXIT_FAILURE);
}

static int initOpts(int argc, char *argv[])
{
   int i, opt;
   unsigned int u;

   while ((opt = getopt(argc, argv, "r:u:o:t:")) != -1)
   {
      i = -1;
      switch (opt)
      {
         case 'r':
            i = atoi(optarg);
            if ((i >= OPT_R_MIN) && (i <= OPT_R_MAX))
               opt_r = i;
            else fatal(1, "invalid -r option (%d)", i);
            break;

         case 'u':
            u = atol(optarg);
            if ((u >= OPT_U_MIN) && (u <= OPT_U_MAX))
               opt_u = u;
            else fatal(1, "invalid -u option (%d)", u);
            break;

         case 'o':
            i = atoi(optarg);
            opt_o = i;  // probably fatal
            break;

        case 't':
            i = atoi(optarg);
            opt_c = i;  // probably fatal
            break;

        default: /* '?' */
           usage();
        }
    }
   return optind;
}

int main(int argc, char *argv[])
{
    int settings = 0;
    // command line settings
    settings = initOpts(argc, argv);
    time_t now = time(NULL);
    timenow = gmtime(&now);

    // FILE *data;
    // strftime(filename, sizeof(filename),
    // "/home/pi/Documents/_C_/WiringPiAlarm/protoPulse_%Y-%m-%d_%H:%M:%S.dat", timenow);
    // data = fopen(filename, "w+");
    // fprintf(data,"# Sample count: %d option(s)\n", opt_c);
    // fprintf(data,"# Running with %d latency at %duS sample rate\n",opt_r,opt_u);
    // fprintf(data,"# Output Type is %d\n\n" , opt_o);

    printf("User selects %d option(s)\n", settings-1);
    printf("Running with %d latency at %duS sample rate\n",opt_r,opt_u);
    printf("Output Type is %d\n" , opt_o);
    printf("    Use -o value to select output type\n");
    printf("        0: elapsed time between interrutps\n");
    printf("        1: jitter (elapsed time / -u)\n");
    printf("        2: cumulative jitter (jitter + jitter)\n");
    printf("Sample count: %d\n", opt_c);
    printf("Starting alarm timer for %dmS...\n", opt_u);

    eventCounter = 0;
    firstTime = secondTime = 1;
        clock_gettime(CLOCK_MONOTONIC, &lastTime);
    // lastTime = micros();
    timeOutStart = lastTime;
    startTimer(opt_r, opt_u);

    while(1)
    {
        if(sampleFlag){
            sampleFlag = 0;
            timeOutStart = lastTime;
            int metaDataOutput;
                        printf("%d\t%d\t%d\t%d\n",eventCounter,elapsedTime,jitter, sumJitter);
             // fprintf(data,"%d\t%d\n",eventCounter,metaDataOutput);
         }
                 clock_gettime(CLOCK_MONOTONIC, &timeOutTest);
         if((MILLION * (timeOutTest.tv_sec - timeOutStart.tv_sec) + timeOutTest.tv_nsec - timeOutStart.tv_nsec)/1000>TIME_OUT_PERIOD){
            fatal(0,"program timed out",0);
         }
         if(eventCounter >= opt_c){
            fatal(0,"counted %d events", eventCounter, 0);
         }
    }

    return 0;

}//int main(int argc, char *argv[])

void startTimer(int r, unsigned int u){
    int latency = r;
    unsigned int micros = u;

    signal(SIGALRM, alarmWakeup);
    ualarm(latency, micros);

}

void alarmWakeup(int sig_num)
{

    if(sig_num == SIGALRM)
    {
                clock_gettime(CLOCK_MONOTONIC, &thisTime);
                sub_timespec(lastTime,thisTime,&diff);
                elapsedTime = diff.tv_nsec / 1000;
        lastTime = thisTime;
        if(firstTime){
            firstTime = 0;
            return;
        }
        if(secondTime){
            secondTime = 0;
            return;
        }
        jitter = elapsedTime - opt_u;
        sumJitter += jitter;
        eventCounter++;
        sampleFlag = 1;

    }

}

void sub_timespec(struct timespec t1, struct timespec t2, struct timespec *td)
{
    td->tv_nsec = t2.tv_nsec - t1.tv_nsec;
    td->tv_sec  = t2.tv_sec - t1.tv_sec;
    if (td->tv_sec > 0 && td->tv_nsec < 0)
    {
        td->tv_nsec += BILLION;
        td->tv_sec--;
    }
    else if (td->tv_sec < 0 && td->tv_nsec > 0)
    {
        td->tv_nsec -= BILLION;
        td->tv_sec++;
    }
}

redpajama_set_name: RedPajamaStackExchange


text:
Susanthika Jayasinghe (født 17. december 1975 i Atnawala på Sri Lanka) er en srilankisk atlet.

Jayasinghe voksede op i en fattig familie nord for hovedstaden Colombo.

Efter at have vundet en sølvmedalje under VM i 1997 flyttede hun til USA for at træne der.

Under OL 2000 i Sydney fik Jayasinghe Sri Lankas første OL-medalje siden 1948 da hun fik en bronzemedalje i 200-meter-løb efter Marion Jones og Pauline Davis-Thompson. Jones blev senere diskvalificeret for doping. 9. december 2009 besluttede IOK at Pauline Davis-Thompson var guldmedaljevinderen og sølvmedaljen gik til Jayasinghe i 200-meter-løb for damer under sommer-OL 2000 i Sydney.

Personlige rekorder
100 meter: 11,04  (Yokohama 2000)
200 meter: 22,28  (Sydney 2000)
50 meter, indendørs: 6,31  (Liévin 2001), asiatisk rekord
60 meter, indendørs: 7,09  (Stuttgart, 1999), asiatisk rekord
200 meter, indendørs: 22,99  (Lisboa, 2001), asiatisk rekord

Atleter fra Sri Lanka

redpajama_set_name: RedPajamaWikipedia


Belfast, like all parts of the UK has legislation specifying details required to market your property for sale. A property must have an Energy Performance Certificate before advertising, so naturally you want to fulfill this legal requirement quickly and easily to get your property on the market. Agent Green is an independent provider of EPCs and ready to assist. It starts by completing a simple on-line EPC order form. A qualified and insured Energy Assessor conducts an EPC Survey taking under an hour, and the Certificate will be available on-line that same day. Assessors are able to offer appointments any day of the week including weekends but if needed, your Estate Agent can facilitate survey access, at no extra cost. Agent Green customers benefit from ordering their EPC directly which provides ownership of your EPC making it highly portable and often works out more cost effective for sellers, than arranging an EPC through an Estate Agent.


Pastor Bruce Wood has been Lead Pastor at FBC Hightstown since 2012. His heart is to share the love of Jesus Christ to the Hightstown community and beyond through the faithful teaching and preaching of the Gospel as revealed through the Bible. His emphasis is on organic church growth through love, fellowship, teaching and spiritual formation. A graduate of Palmer Seminary with a degree in Pastoral Ministry, Pastor Bruce stands ready to address the tough issues of your and our world with grace, compassion and wisdom! You may email Pastor Wood directly with any questions or concerns at pastor@fbchights.org!
Dr. Randy Shuler has been the Organist at First Baptist Hightstown since 2014. His emphases are on both classical and contemporary music through the use of the organ, piano and handbells. He also directs and accompanies our Adult Worship Choir.
Mrs. Lindsey Stefan leads our praise team, "Encounter!" Through guitars, keyboard and voices our praise team leads the church in contemporary and updated classics!
Ms. Debbie Hancock works as our Church Administrator. Working in the church office to coordinate contacts, handle correspondence and effect the day-to-day operations of the church office, Debbie is always there to meet the needs of the community! You may reach Debbie by email at admin@fbchights.org!


text:
Jill de Jong, MD, PhD
Assistant Professor, Department of Pediatrics, University of Chicago
Screening for Novel Genetic Regulators of Hematopoietic Stem Cells and Leukemia
Screening for Novel Genetic Regulators of
Hematopoietic Stem Cells and Leukemia
Hematopoietic stem cells (HSCs) are rare cells found in the bone marrow with the capacity to differentiate into each of the different types of cells in the blood and renew themselves so that the supply of stem cells never exhausts. HSCs are used clinically for patients requiring a bone marrow transplant. However, questions exist about how these cells function in the normal bone marrow to supply just the right amount of blood cells required by an animal over its lifetime and what genes regulate HSCs during development and in mature bone marrow. It is clear that abnormal regulation of many genes important for normal HSC function can lead to cancers such as leukemia and lymphoma. Therefore, searching for novel genes that regulate normal HSCs will help us understand how leukemia develops when these genes become disregulated and could lead to novel targets for treatment. This proposal plans to use the zebrafish animal model to perform a genetic screen for modifiers of HSC engraftment after marrow transplantation. Once mutant genes are identified through this process, resources will be mobilized to fully characterize the biology and significance of each gene in normal mammalian cells and in human leukemia and potential targets for leukemia treatment and/or prevention.
2010 Young Investigator Award - Fall 2011 Interim Report
Dr. de Jong's research focuses on the genes that regulate normal hematopoietic stem cell (HSC)
function in the bone marrow and examines whether those genes may contribute to the development
of leukemia when their expression is abnormal. She is using the zebrafish animal model to uncover
new genetic regulators of HSCs using an unbiased screening approach. Her screen utilizes a
competitive hematopoietic transplant assay using mutagenized donors to find mutants with inhibited
or enhanced engraftment. The genes discovered in this screen will be important for normal HSC
function and will likely also be important for leukemia development.
When she arrived at the University of Chicago, Dr. de Jong created a new transgenic donor
zebrafish line to overcome some of the disadvantages of the previous line she had been using.
However, this new CG1-Tg fish has not been robust. Dr. de Jong acquired a new clonal fish line,
CG2, from a collaborator at Northwestern University, Sergei Revskoy, MD, PhD, which has allowed
her to create a line to perform her initial marrow transplant experiments that will begin soon.
Phospholipase C gamma1 (PLC 1) and histone deacetylase 1 (HDAC1) are candidate genes of
interest to Dr. de Jong, and these two heterozygous mutant fish lines are currently being bred to the
CG2 clonal line in order to test adult carriers of these mutations in the competitive hematopoietic
transplantation assay described. If these genes are important for HSC function, she expects the
mutant marrows will have a decreased repopulating ability and recipients will have decreased
engraftment. This result would open the door to a whole new area of research in her lab, as she
examines the mechanism of these genes in leukemia to determine whether they could be therapeutic
targets.
Over the next 4-6 months Dr. de Jong aims to perform the first hematopoietic transplants with
clonal CG2 fish, using CG2-Tg (ubi:GFP) donors; perfect the protocol for mutagenizing the clonal
CG2 fish that will be used as donors for the screen; and continue mating the PLC 1 and HDAC1
mutants into the CG2 lineage, so that the transplant experiments will be ready to proceed.
2010 Young Investigator Award - Final Report
In the past year, we have continued to make progress on the work proposed in this grant. My research focuses on the genes that regulate normal hematopoietic stem cell (HSC) function in the bone marrow, and examines whether those genes may contribute to the development of leukemia when their expression is abnormal. I am taking advantage of the zebrafish animal model as a unique discovery mechanism to uncover new genetic regulators of HSCs using an unbiased screening approach. Our screen utilizes a competitive hematopoietic transplant assay using mutagenized donors to find mutants with inhibited or enhanced engraftment. The genes discovered in this screen will be important for normal HSC function and will likely also be important to understand how leukemia develops.
This year we have focused on establishing and characterizing a fluorescent transgenic donor zebrafish that will be used for the HSC screen. This is a unique clonal zebrafish line called CG2 that we made to express green fluorescent protein (GFP) under the control of the ubiquitin promoter. We now have a stable transgenic line of these CG2-Tg(ubi:GFP), and we have also made a similar transgenic line expressing DsRed, a red fluorescent protein. The CG2-Tg(ubi:GFP) fish will be mutagenized to perform the screen, while the CG2-Tg(ubi:DsRed) fish will be the wild type competitive donors. Unfortunately the process of generating transgenic animals was hindered in the clonal fish line, so that the time required to complete the process has been prolonged compared with wild type counterparts. Now that we have confirmed these fluorescent transgenic donor animals are finally ready, we are able to begin the mutagenesis process in the coming months, followed by the first competitive transplantation experiments using mutant marrow donors to begin the screen.
In addition to the unbiased screen, we have also been studying two candidate genes in the competitive transplant assay described; phospholipase C gamma1 (PLC[Symbol]1) and histone deacetylase 1 (HDAC1). These mutant lines have been meticulously bred into the CG2 background and individual animals typed to select the immunologically matched mutants to be used as transplant donors. This immunotyping strategy is critical for our experiments, and has required significant effort, as very little is known about the zebrafish tissue histocompatibility genes, which play a central role in immune matching of any tissue for transplantation. Our work characterizing the zebrafish histocompatibility genes was presented at three different national and international meetings in 2012, and a manuscript is currently being prepared to be submitted for publication in January 2013. While these histocompatibility experiments were not described in the original grant proposal, this work has been essential to understanding the tissue matching for competitive transplant assays using our two candidate mutants. Moving into the future, this work will be critically important for our ongoing transplantation experiments, and for many other zebrafish labs studying transplantation, as well as tumor biology, immunology or infectious diseases.
Finally, we have started using the HDAC1 heterozygous mutant fish to make T cell leukemias for transplantation. We chose this model in part to facilitate our experiments characterizing the histocompatibility genes, but also because we are interested in understanding how HDAC1 might contribute to leukemia. Since HDAC inhibitors are currently being tested in a number of clinical trials, we postulated that those zebrafish missing one copy of the HDAC1 gene would have less aggressive leukemias. However, our preliminary data indicate the opposite result! We observe that fish with only one copy of HDAC1 actually develop leukemias that are more aggressive and grow faster than leukemias in wild type sibling fish. We are currently working to verify the results from these first experiments, as this unexpected result opens a new avenue of research for my lab. I have written a letter of intent for a grant from the Collaborative Pediatric Cancer Research Program, which was accepted, and we will submit the final grant application in mid January 2013.
I would like to take this opportunity to sincerely thank the members of the Cancer Research Foundation for your generous support of my work. As you know, federal research funding is extremely competitive, and it is difficult for newly established junior faculty to secure NIH funding without a track record of prior independent publications and preliminary data. I expect that our work on the zebrafish histocompatibility genes will be published in 2013, my first publication as an independent investigator. With our HSC screen sufficiently underway at that point, I believe I will be able to write a competitive R01 grant for the NIH with an excellent chance of being funded. I'm grateful for the support of the CRF, which was invaluable in bringing me to this point in my career. I'm excited that our work has opened new doors to understanding hematopoietic stem cells and leukemia, and I look forward to more discoveries down the road.

redpajama_set_name: RedPajamaCommonCrawl