text:
The Belfast Shipyard
A history of Workman Clark in the Great War
Workman Clark ships in the Great War
On 5th August 1914, the day after war was declared, the Belfast News-Letter reported that a ship built at Workman Clark for the Ulster Steamship Company's "Head Line" had been requisitioned for war service by the Government. SS Carrigan Head, one of the largest vessels in the "Head Line" fleet, had completed the discharge of a general cargo at Dublin was docked at Port Talbot to take on coal for the return journey to Montreal. SS Carrigan Head (Yard Number 176, constructed in 1901) proceeded to Devonport and saw war service in the Gallipoli Campaign, the Eastern Mediterranean and the North Atlantic. On 2nd April 1916, she became Expeditionary Force Transport G0186 before being commissioned as Decoy Ship Q4 on 1st June 1916. She was attacked and damaged by German Submarine UB18 in the Western Approaches on 9th September 1916. She became a Commissioned Escort Ship on 3rd August 1917 and was returned to the Ulster Steamship Company on 25th February 1919.
Workman Clark's 1933 promotional publication, "Shipbuilding at Belfast", recorded that the shipyard built, repaired or overhauled 1,396 vessels for the Admiralty. The publication specifically mentioned two Royal Navy vessels:
HMS Hampshire, an armoured cruiser, which struck a German mine and sank on 5th June 1916 with the loss of 737 lives (including Lord Kitchener, the Secretary of State for War); and
HMS Invincible, flagship of the 3rd Battlecruiser Squadron, which was sunk at the Battle of Jutland, with the loss of 1026 lives.
This chapter gives details on some of the ships – mercantile and military – built in the Workman Clark shipyards which were involved in engagements with the German navy, often with loss of life. Of particular interest is the M29-Class Monitor vessel HMS M33, which is the only surviving Workman Clark ship from the period of the Great War. The latter part of this chapter provides an extensive history of HMS M33.
However, before dealing with some of the ships built by Workman Clark, it is worth noting that the firm's contribution to the war effort was not restricted to conventional ships.
Boom Defence Vessels
In 1918, Workman Clark built seven boom defence vessels (BD.3 and BD.32 to BD.36) which were used at harbours at Cromarty, Granton and Humber.
These 300-ton vessels had no propelling machinery and were fitted with one 12-pounder anti-aircraft gun. The Boom Defence at the entrance to a harbour or estuary generally consisted of three ships – one in the middle of the seaway and one to each side. Vessels sailed to starboard of the middle ship when entering or leaving the defended port. In addition, nets were laid between the shore and each of the outer ships to provide further protection.
Barrage Vessels
In 1917, Workman Clark built eleven Barrage Vessels (BV.1 to BV.10 and BV.31) which were 275-ton vessels with no propelling machinery and fitted with two 12 pounder anti-aircraft guns and equipped with powerful searchlight atop the bridge to force U-boats to submerge into deep minefields. They were mainly part of the Dover Straits anti-submarine defences and BV.5, pictured, was based at Harwich.
In May 1915, Workman Clark was commissioned to build three P-class patrol boats (P.15 to P.17) which were, in effect, a class of coastal sloops. In April and May 1916, the firm was commissioned to build a further four patrol boats. In December 1916, these boats were altered on the stocks for use as decoy Qships and were renumbered as PC-class sloops. The four boats built at Workman Clark – PC.60, PC.61, PC.69 and PC.70 – were based at Pembroke Dockyard from completion to 1918. The patrol boats were designed to replace destroyers in coastal operations, but had twin screws, a very low freeboard, ram bows of hardened steel, a sharply cutaway funnel and a small turning circle. Clearly seen as the linear descendants of the late 19th century steam torpedo boats and coastal destroyers, many were fitted with the 14" torpedo tubes removed from old torpedo boats.
Sister ships sunk
In 1907, Italia Società di Navigazione a Vapore placed an order with Workman Clark for the construction of two passenger ships to operate on the Genoa/Naples to New York/Philadelphia route. Yard Number 270 became SS Ancona and Yard Number 271 became SS Verona. The steel-hulled ships (482 feet and three inches in length) were powered by two three-cylinder triple-expansion steam engines supplying 1221 net horsepower via twin shafts to two screw propellers, giving the ships a top speed of 17 knots.
SS Ancona (8210 gross tonnage) was launched on 19th December 1907 and, following successful speed trials, the vessel was commissioned in February 1908. There was accommodation for 60 first-class passengers in state rooms in the promenade deckhouse, and the ship had a total capacity of around 2,500 passengers. To supply such large number of passengers, the space on the lowest deck was insulated and supplied with an acidic refrigeration system. SS Ancona departed for her maiden voyage from Genoa on 26th March 1908 with 59 passengers in steerage and 9 in cabin and proceeded to Naples. After reaching Naples, the vessel took 341 more passengers in steerage and 23 in cabin bringing the total number of people on board to 432. Ancona left Naples on 28th March and reached New York on 10th April. On her return journey on 23rd April, SS Ancona boarded 910 people in New York and 1,343 in Philadelphia for a total of 2,253 passengers heading to Italy. On 16th October 1915, SS Ancona departed from New York for Naples carrying 1,245 Italian army reservists and about 5,000 tons of general cargo, including flour, beef and other provisions. Having left Messina and bound for New York with a complement of 422 passengers and 60 crew, SS Ancona was shelled, torpedoed and sunk on 8th November 1915 by the German submarine U-38 off Cape Carbonara, Tunisia with the loss of several hundred lives, including twenty American citizens. As Germany was not at war with Italy, U-38, under the command of Kapitänleutnant Max Valentiner, was operating under the Austro-Hungarian flag, although some survivors reported that the submarine was initially flying German colours which were hastily changed to the Austro-Hungarian colours. As SS Ancona was sunk six months after the sinking of RMS Lusitania off Ireland, the incident added to a growing outrage in the United States over unrestricted submarine warfare, and US Secretary of State Robert Lansing despatched a sternly worded protest to Vienna.
SS Verona (8885 gross tonnage) had been transferred to Navigazione Generale Italiana of Genoa in 1913. On 11th May 1918, the ship left Messina for Tripoli with 3,000 soldiers on board, most of them deserters who were being sent to a detention camp in Libya. She was torpedoed by German submarine UC-52, under the command of Kapitänleutnant Hellmuth von Doemming, off Cape Peloro. She sank within 25 minutes with the loss of 880 lives, although many lives were saved because land was relatively close, and several ships came to their rescue.
Blue Funnel Line (Alfred Holt & Company)
Two vessels built at Workman Clark for the Blue Funnel Line, a subsidiary of Alfred Holt & Company of Liverpool, were lost due to enemy action during the war.
SS Kintuck (Yard Number 122) was built in 1895 as a schooner (410 feet in length, 4639 gross tonnage) was powered by one three-cylinder triple expansion steam engine which delivered 600 net horsepower via a single shaft to a screw propeller, giving her a top speed of 13.5 knots. SS Kintuck was converted into an armed merchant cruiser and was being operated by the China Mutual Steam Navigation Company at the time of her loss.
On 2nd December 1917, SS Kintuck was on a voyage in ballast from London to Barry Roads when she struck a mine laid by a German submarine UC17 and sank, with the loss of one life, eight miles from the Godrevy lighthouse off the coast of Cornwall.
SS Phemius (Yard Number 322) was built in 1913 as a Perseus-class passenger/cargo ship (452 feet and nine inches in length, 6699 gross tonnage) that was powered by a single triple expansion steam engine, providing a top speed of 11 knots. SS Phemius, being operated by the Ocean Steamship Company, was on a voyage from Liverpool to Hong Kong with a general cargo when she was sunk 80 miles from Eagle Island, off the north west of County Mayo, by the German submarine UC.45 on 4th June 1917. There was no loss of life.
Elders & Fyffes Limited
At least three vessels built at Workman Clark for the Elders & Fyffes shipping line were involved in engagements with German U-boats. The images used are courtesy of Campbell McCutcheon (J&C McCutcheon Collection), author of Elders and Fyffes: A Photographic History.
SS Patia (Yard Number 317) was built as a refrigerated cargo/passenger vessel in 1913. Patia (just over 417 feet in length, 6103 gross tonnage) was powered by two three-cylinder triple expansion steam engines which delivered 594 net horsepower via twin shafts to two screw propellers, giving her a top speed of 14 knots.
Patia was converted to an armed merchant cruiser in 1914, equipped with six six-inch guns and two three pounder Anti-Aircraft guns. She was taken into Admiralty service as HMS Patia (some sources record HMAV Patia) and served with 10th Cruiser Squadron on the Northern Patrol between Shetland Islands and Iceland. On 13th June 1918, with a complement of 123 crew, HMS Patia was sunk after being torpedoed 25 miles west of Hartland Point in the Bristol Channel by German submarine UC49. The Commonwealth War Commission database records twelve fatalities.
SS Aracataca (Yard Number 300) was built in 1911 as a cargo ship, being 376 feet and three inches in length with a gross tonnage of 4154. She was powered by one three-cylinder triple expansion engine with three boilers, which delivered 413 net horsepower via a single shaft to a screw propeller, providing a top speed of 13.5 knots.
She was converted into a defensively armed merchant vessel during the war and, on 10th March 1917, Aracataca was carrying a general cargo from Port Limón in Costa Rica to Garston, Liverpool. When she was 250 miles off Fastnet, she was attacked by German submarine U.44 and damaged by gunfire. The master, John H Scuddamore, had carefully rehearsed his officers and crew for such an encounter and returned fire with his twelve-pounder, firing forty rounds in reply to thirty-five rounds from the submarine. The ship was hit three times, with the first shell striking the bridge and injuring the second officer. The second shell passed through the firemen's quarters, killing John Herbert Buck, a 21-year-old Fireman and Trimmer from Bristol, and injuring four others. The third passed through the funnel and wrecked the galley. Some three-quarters of an hour after the attack commenced, a British war vessel arrived to give assistance, but the merchant ship had already outmanoeuvred and out-fought the submarine. However, SS Aracataca did not survive the war. On 18th April 1917, whilst transporting a cargo of frozen meat from Liverpool to Dunkirk, she sank following a collision with SS Moliere off Beachy Head, with the loss of eight lives. [Additional material from an article by Roger Burns published on the Maritime Archaeology Trust's "Forgotten Wrecks" website.]
SS Zent (Yard Number 222) was built as a passenger and cargo vessel (just over 393 feet in length, 3890 gross tonnage) in 1905 with sail and steam propulsion. She was rigged as a schooner and powered by a single three-cylinder triple expansion engine with four boilers, which delivered 577 net horsepower via a single shaft to a screw propeller, providing a top speed of 13.5 knots.
On 5th April 1916, SS Zent was on a voyage in ballast from Garston to Santa Marta when she was attacked and torpedoed 28 miles from Fastnet by the German submarine U.66. She was struck by a torpedo in the engine-room and immediately afterwards by another on the starboard side and sank in two minutes, with the loss of 49 lives. Captain Martin and eleven crewmen, four of whom were badly injured, clung to capsized lifeboats for several hours before being rescued.
Two of the injured men subsequently died. On 7th April 1916, the Belfast News-Letter reported the sinking of the vessel and included this account from one of the survivors, Charles Crossley, a chef from Liverpool.
Nothing of any note occurred until Wednesday night at 10 o'clock, when, without the slightest warning of any kind, a torpedo struck the after part of the ship. The night was dark which, I suppose, prevented the crew from seeing the submarine, and it was not until the torpedo struck us that we knew of our fate. There was a terrific explosion, which must have killed several of the firemen. I was in bed at the time. I jumped up, and within two minutes the Zent turned turtle and sank. There was only time to launch two of the lifeboats, and into them several of the crew scrambled. The boats had not time to push away to a safe distance from the Zent when she rolled over, and her mast striking both boats killed and injured some of the men. smashing one boat in pieces and precipitating the crews into the water. Some were able to swim to the upturned craft, and clung to her keel for several hours, whilst their companions were in the water, crying for assistance. When I reached the deck of the ship the Zent was sinking, so I took a plunge into the sea, and swam about for a couple of hours. I became exhausted, and then clung on the keel of the upturned boat with colleagues, until we were rescued by a friendly steamer that had come our aid. I ultimately became insensible and remember no more, but I subsequently recovered and learned from the rest of the survivors that 49 men in all were lost. Those saved are Captain Scuddamore. the second steward, four firemen, second officer, third cook, second refrigerator engineer, and myself, making ten in number when we were rescued. Four dead bodies were picked up in the vicinity and landed with us.
SS Limerick (Yard Number 148) was built in 1898 as SS Rippingham Grange for Houlder Brothers and Company Limited. She was a cargo/passenger vessel (420 feet in length, 6827 gross tonnage) was powered by a triple expansion steam engine which delivered 558 net horsepower to a single-screw propeller, giving her a top speed of 11.5 knots. In 1912, Rippingham Grange was bought by Union Steamship Company of New Zealand Limited and renamed SS Limerick. At the outbreak of the war, SS Limerick was converted to be an armed merchant cruiser, but remained part of the mercantile fleet. On May 28th, 1917, SS Limerick was on a voyage from Sydney to London with a cargo of frozen meat when she was sunk 140 miles from Bishop Rock by the German submarine U.86 with the loss of eight lives.
Ellerman City Line
Two ships built at Workman Clark for the Ellerman City Line of Glasgow were sunk by enemy action during the war. The "City Line" had been started by George Smith, the maternal grandfather of Sir George Smith Clark.
SS Sequana (Yard Number 147), built in 1898 as SS City of Corinth, was a cargo/passenger vessel (430 feet in length, 5557 gross tonnage) was powered by a three-cylinder triple expansion steam engine which delivered 471 net horsepower to a single-screw propeller, giving her a top speed of 12.7 knots. In 1912, the ship was sold to Compagnie de Navigation Sud-Atlantique of Bordeaux, being renamed to SS Sequana and being used as a post boat.
The French government requisitioned her as an armed troop transport ship and, on the night of 8th June 1917, SS Sequana was torpedoed in the Bay of Biscay by German U-boat UC.72 and sank within thirty minutes. There were 400 Senegalese troops, 166 passengers and 99 crew on board and 196 soldiers, three passengers and six crew lost their lives. The survivors were rescued by two French trawlers.
SS City of Glasgow (Yard Number 226) was built in 1906 as a cargo ship (nearly 443 feet in length, 6454 gross tonnage) which was powered by a single quadruple expansion steam engine, with five boilers, which delivered 481 net horsepower via a single shaft screw propeller, giving her a top speed of 11 knots. She was converted to become a defensively armed merchant vessel during the war. On 1st September 1918, she was torpedoed without warning by the German submarine UB.118 and sank 21 miles from Tuskar Rock, off the southeast coast of County Wexford. Twelve lives were lost from the crew of 123 and nine of the fatalities were from the Indian Merchant Service.
Lamport & Holt Limited
Two ships built at Workman Clark for Lamport & Holt Limited of Liverpool and operated by the Liverpool, Brazil & River Plate Steam Navigation Company were torpedoed and sunk in August 1917.
SS Titian (Yard Number 187) was built in 1902 as a T-Class cargo ship (390 feet in length and 4170 gross tonnage). She was powered by a single three-cylinder triple expansion steam engine driving a single shaft screw propeller, giving her a top speed of 13 knots. Whilst on a journey from London to Alexandria with a general cargo, Titian was torpedoed by the Austrian submarine U.14 on 26th August 1917 and sank 170 miles south-east of Malta. There were no fatalities.
SS Verdi (Yard Number 256) was built in 1907 as a passenger ship (430 feet and four inches in length, 7120 gross tonnage). She was powered by a single three-cylinder triple expansion steam engine producing 460 net horsepower via a single shaft screw propeller, giving her a top speed of 13 knots. On 22nd August 1917, SS Verdi was on a voyage from New York to Liverpool when she was torpedoed by the German submarine U.53 and sank 115 miles northwest of Eagle Island off the north west coast of County Mayo, with the loss of six lives. A sister ship, SS Veronese, built at Workman Clark in 1906 (Yard Number 228), ran aground off the coast of Portugal and was wrecked on 16th January 1913, with the loss of 38 lives.
United Fruit Company
SS Tenadores (Yard Number 325) was built as a passenger and cargo ship (485 feet in length, 7783 gross tonnage) in 1913. She was powered by two four-cylinder quadruple expansion steam engines driving two screw propellers, giving her a top speed of 17 knots. During her mercantile service, she was commanded by Captain William Law from Belfast and several of her crew were Ulstermen. She was turned over to the United States Army on 24th May 1917 (USAT Tenadores) and departed from Ambrose Light on 14th June as part of the first American troop convoy to France. This convoy came under attack from German U-boats on 22nd June near Brest, without damage or losses.
USAT Tenadores was taken over by the United States Navy and commissioned as USS Tenadores on 17th April 1918. She continued to serve as a troop transport ship armed with four five-inch guns, two one-pounder guns and two machine guns. Shortly after midnight on 28th December 1918, USS Tenadores grounded in a heavy fog off the north coast of the Île d'Yeu. During unsuccessful efforts to refloat the ship, 80 tons of supplies were removed from the stricken vessel and taken to Saint-Nazaire. On 30th December, the minesweeper BHB Hubbard rescued the last members of the transport's crew. On 2nd January 1919, Hubbard returned to the Tenadores for one last attempt to salvage the ship but was thwarted by high seas and the hopeless state of the transport, which was lying on her starboard side and breaking up.
[Image Source: Photographed by E. Muller Jr., New York. U.S. Navy photo NH 2471]
PLUCKY SURVIVOR, MONITOR HMS M33
A testament to the skill, materials and workmanship of Workman Clark sees the restored monitor HMS M33, one of only three surviving British warships from the Great War, sitting proudly in Portsmouth Historic Dockyard. The other surviving Great War warships are HMS Caroline (moored in Belfast) and HMS Saxifrage (renamed HMS President in 1922 and moored in London), although some auxiliary vessels and small craft have also survived.
It was in March 1915 that the Admiralty placed an order for five new M29- Class Monitors with Harland & Wolff. Having no further capacity in their slipways to accommodate all its vessels, the construction of monitors M32 and M33 was subcontracted to Workman Clark. These vessels had proved their worth the previous year when used off the Belgian coast against German forces. They were designed to carry two six-inch guns and, having a shallow draft, were able to hug the coastline and attack land targets.
In a mere 77 days from the laying down of the keel for Yard Number 376 on 1st April, HMS M33 was launched on 22nd May and her crew were aboard by 17th June. At only 360 tons unladen and 535 tons with her armament, she was capable of a speed of up to ten knots and constructed from steel. The twin-screw steam vessel, powered by oil, was 177 feet long, 31 feet wide and had a draft of only six feet. Incredulously, despite her small size the HMS M33 could accommodate a crew of 72 men.
In early 1915, Winston Churchill, First Lord of the Admiralty, had requested a naval expedition, to invade and take the Gallipoli Peninsula with Constantinople as its objective. HMS M33, along with thirteen other monitors, left Pembroke Dockyard at the end of June and joined the naval force based at the island of Lemnos in the Aegean Sea near the end of July. On 6th August, HMS M33 took up position close to Gabe Tepe headland and commenced firing at targets on land to support troop landing ashore. Over the next eight days, the crew worked tirelessly in the heat with little sleep and limited food, discharging over 300 shells. The monitor's captain, Lieutenant- Commander Quintin Preston-Thomas, and his four officers presided over the 67-man crew who were mostly reservists recalled from throughout the British Isles.
After this intense part of the Gallipoli Campaign, HMS M33 continued coastal support until January 1916 when she steamed west to join the Salonika Campaign, mainly protecting bases before spending six months from May off the Turkish coast, where she joined other monitors in shore bombardment.
Over the next two years, HMS M33 continued to play an important role in the Mediterranean, including protecting bases from enemy vessels and blockading ports. She finally arrived in Devonport on Armistice Day 1918 with her original crew and was deemed to have been lucky not to have suffered loss of life or damage.
The following June, HMS M33 was to play a part in the Russian Civil War when she joined other monitors and minesweepers in the Divina River, where she suffered numerous attacks and was hit five times. This, in many ways, was a more perilous mission than the Gallipoli Campaign as there were aircraft attacks. By the end of September, the British troops were withdrawn, and the British Navy vessels left for home. For the next five years, HMS M33 was laid up before being converted to a minelayer in 1924 and used at a mine warfare school at Portsmouth. During the conversion, the guns that had protected her from enemy action in her earlier military career were removed.
In December 1925, the monitor was renamed HMS Minerva and for the next 11 years was occasionally used as a tender. During this time, the vessel was kept in good order and she was put up for sale in 1937. However, at the outbreak of the Second World War, she was used as 'floating office space'. In 1943, the decision was made to remove her engines, mast and funnel before being towed to the Clyde for general work. HMS Minerva was brought back to Portsmouth in 1946 and moored at Gosport where she was utilised as a workshop and office until 1984, when she was put up for sale again. Hartlepool Ship Preservation Trust bought the former monitor in 1987 but she was sold to Portsmouth Historic Dockyard.
She languished for many years before funding for her conservation and restoration was obtained in 2014, just in time for the 100th anniversary of the Gallipoli Campaign. The former Workman Clark monitor, one of only two known surviving vessels from the shipyard, has been painstakingly overhauled and cleaned – reclaimed guns installed, a funnel erected, lifeboats hung on davits, and 1918-pattern dazzle paint applied. The National Museum of the Royal Navy opened her to the public as a static exhibition with recreated cabins, Mess deck and Wheelhouse. It is hoped that this plucky little monitor, a hardened survivor, will continue to educate and inspire those interested in the naval aspect of the Great War.
Note: additional information in this chapter was sourced from www.navalhistory.net and www.wrecksite.eu
Next: The Otranto Disaster
Workman Clark: A Shipyard is Launched
Lieutenant Edward (Ted) Workman MC
The Edward Workman Archive
Summary details for Workman Clark ships
The Otranto Disaster
On War Service
Workman Clark's Wartime Philanthropy
The Belfast Shipyard Memorial
Workman Clark's Great War Fatalities
Summary details for Workman Clark fatalities
Served and Survived
Buy the book (pdf)
Copyright © 2022	The Belfast Shipyard All rights reserved. Theme: Flash by ThemeGrill.	Site construction by Macademy


Has your WordPress website slowed to a crawl? A slow site means high bounce rate and a big hit to your search rankings, so it's important to fix this and optimize your WordPress site right away. This guide has a few ideas, great for those who've noticed a decline in speed as well as those beginning development.
There are all sorts of things you can do to make your website faster, many of them are simple fixes. But if you've noticed a sudden increase in loading times, you probably have a specific issue, and identifying it can be difficult. Follow these tips and you should be able to narrow it down.
Always do your research. Do customers complain about slow speeds, downtime, or other issues? Using an independent third-party source, how does their speed stack up? Slow loading times can often be traced back to the web host. Does it have a CDN? SSDs? Fast processors and abundant memory? If not, it may be time to upgrade. Sometimes it's not your host's fault; it may be your plan. Perhaps your shared hosting partners are taken up too much space, or you may have outgrown shared hosting entirely. Time to move on to VPS!
The second common cause of a slow WordPress site is the theme. A theme that makes a lot of queries and is bogged down with images can cause a huge strain on the server. If you're good with code, then you could try optimizing the theme yourself, or cut out unnecessary images. Otherwise, go with that less cool but more lightweight theme — especially if you're on shared hosting.
Still too slow? What about your plugins? You should always research a plugin before you install it; some are known to have un-optimized code. You can disable and re-enable plugins one-by-one until you identify the culprit. And if you can eliminate any of them, do so.
Images are one of the worst offenders for slow websites. Before uploading, resize them if they're very large and use an image optimizer like Optimizilla to reduce file size. One trick is to host the images elsewhere. There are free and paid image hosting websites. Make sure to read the guidelines first, as some, like Imgur, require you to purchase a license for this purpose. For smaller graphics like buttons and headers, try using CSS sprites to place them all in one image.
Enable Gzip compression. This will transfer a compressed version of the website to visitors, which is then unzipped, decreasing loading time. This can be found in the WordPress admin options menu, or in cPanel if your host offers it. Also, go to Settings > Discussion and disable pingbacks and trackbacks, a tool spammers often use to flood you with thousands of notifications. This isn't a quick fix, but it's great in the long-term.
Plugins are probably the best ways to automate tasks. Why manually delete drafts, revisions, spam comments, and trash files when you can use WP-Optimize? WP-DBManager also makes database optimization easier. There are many plugins out there that can help you reduce loading times. Also try a caching plugin like W3 Total Cache, or Autoptimize to minify your site. Just do your research. Don't download 50 optimization plugins; make sure they're not obsolete or conflicting.
Loading time is the first thing a visitor will notice, so optimization should be your first priority. Now you should know how to speed up your website, and where to look if things suddenly slow to a crawl. Your rankings will go up, and bounce rate should go down!
In what ways do you optimize your WordPress site? Please share your ideas below. And feel free to connect with us on Facebook and Twitter for more tips and tricks.


All of us are on this journey of life, a journey into discovery. What are we discovering? Is it a new continent? A rare archeological find? Gold or diamonds? No, something much more precious.
It is up to you to rise to the challenge of the old mind, of the world system and discover a whole new world–a life transformed by living and acting from the heart. This is what Columbus did and his reward was the discovery of the new world. When you follow your heart no matter what the cost the old lying mind or the world system threaten you with, you discover the most precious gift of all–to live fully from the heart, obeying and following only what God puts into your heart not what the world system or the old lying mind fill your mind with. This discovery is to live every moment to the full, seeing God fully in each and every moment. This is eternal life in the moment.
He knew there was a way that no one had ever found.
He risked everything to follow what was in his heart.
The signposts of following the heart are almost always great opposition of the system; of the mind, of the people.
The discovery is made when it appears that all has been lost.
What has God put in your heart today?
What price are you willing to pay to obey it?
Can you see the opposition of the old mind, the world and people getting stronger the further you follow the heart?
When you fall, do you keep your eyes fixed on what God has put in your heart rather than the condemning, judging, critical thoughts of the old mind, the world system and people?
To make the greatest discovery the world has ever known is to follow your heart because when you do you discover what it means to die to your old self, your mind, your old nature. To follow your heart is to go to a place where your mind cannot enter; it is the place of the Spirit. Most all great discoveries in life came when everything was risked and at times it seemed like everything was lost. This is the place where only the heart can go. This is the place of victory and freedom in the journey of life; always remember that the victories you attain in this life you keep for all eternity.
The most important part of life is the journey, not the destination. It is the wilderness, not the Promised Land.
If you seek after miracles you usually will not find them. But when you follow your heart instead of your head in the journey of life, you come to realize that the miracle is the journey itself. In the journey you are transformed into God's image and in the journey you acquire the victories that last for eternity.
If healing is your primary focus, realize that one day everyone who knows Him will be healed whether on earth or in heaven.
If money is your primary focus–realize that it is like dust in the wind because it is here today, gone tomorrow and you cannot take it with you.
If your primary focus is power and control, realize into this world we came helpless and so will we exit this world. Your only power is that which God gives you to follow what He put in your heart to breathe one more breath and walk one more step. Power to control others is no real power at all. True power is to follow your heart and touch a sick and dying world. Who do you think had more true power, Hitler or Mother Teresa?
If following what God has placed in your heart is your primary focus, then you are blessed because what you attain in that journey will NEVER be lost.
So let us all celebrate the greatest discovery, next to a covenant relationship with the Living God, a life that is led by the heart instead of the head.


text:
Q: Computing the address of an object from the address of one of its member subobject I am in the following situation:
//This is Public
class B{/*usefull stuff*/};
B*f();
void g(B*b)();

//Those classes are only declared the translation unit of f and g.
class Whatever1{/*Implementation details only useful to f and g*/};
class Whatever2{/*Implementation details only useful to f and g*/};
class A{
public:
    Whatever1 w1;
    Whatever2 w2;
    B b;
};

In function g, I want to convert the parameter (a pointer to B) to a pointer to A.
B instances are always wrapped in A instances.
I ended up with this:
ptrdiff_t lag(){
    A a;
    return (char*)&a.b-(char*)&a;}

void g(B*b){
    A*a=(A*)((char*)b-lag());
    //Work with a
}

This solution makes me very unconfortable.
Is it 100% correct and portable to do offset computations like this ?
Does it triggers Undefined Behavior in any way ?
Edit: std::is_standard_layout< A >::value is 1.

A: If a B is always contained within an A, then it might be much cleaner to add a back reference to B's parent inside A. If that is impractical for whatever reason, then offsetof will clean it up a little, but otherwise the approach is valid, if somewhat c-ish.
void g(B*b){
    A* a = (A*)(((char*)b)-offsetof(class A,b));
    //Work with a
}

redpajama_set_name: RedPajamaStackExchange


text:
Q: Alternative to View for complex Data? I have a table that contains partial data that is of no use to the user viewing my application. The viewer wants to see a similar table that has all the values calculated out, and wants to be able to quickly query THAT data. Normally, this would be the perfect place to use a View. Unfortunately the complex nature of the calculations limit my use of Views, so I need an alternate solution. I was thinking of doing something like the following...
Table A contains back-end data. Any time this table is updated, a trigger fired that updates Table B, which shows the result of these calculations. Table B can be queried quickly at this point.
My only concern is that the calculation procedure is somewhat lengthy, and Table A has the potential to be updated many times in bursts. Are there any solutions that are almost like a "Before Select" trigger? So basically Table A could be updated many times in a row, but the calculation would only occur when Table B was queried?
Here's an example timeline:

*

*Table A is Updated

*Table A is Updated Again [Don't run SP since nobody needs Table B data yet]

*Data is requested from Table B [Run SP to update Table B before getting data]

*Table A is Updated

*Data is requested from Table B [Run SP to update Table B before getting data]

*Data is requested from Table B [Don't run stored procedure because Table A wasn't updated between requests for Table B data]

So my questions are:

*

*Is there anything existing like what I described above?

*If not, is there a way to make triggers hold off until the completion of a batch of updates/inserts? Table A won't be modified very often, so I can live with a slow trigger when it is updated. The only problem is that when Table A does get updated, it is normally hundreds of rows at a time and I don't want a slow trigger to run every time.

Thanks for any solutions/insight!
Edit - A little more detail on why (I think at least) the trigger implementation would be slow:

*

*The application that will be sending the Update/Insert/Delete statements is using LINQ-to-SQL, which isn't particularly good with batch operations. So if I wanted to delete a bunch of records, it would send a bunch of delete statements instead of a batch delete statement. Is there any way to group delete statements and have the trigger run after that? (Maybe I'm getting too far off topic here).

*The "calculations" I'm speaking of involve some recursive functions and some decision-making processes. The data I'm actually dealing with is scheduling data. So Table A contains tasks which may or may not have a scheduled start. If there is no scheduled start defined, it has to derive it from its predecessors scheduled start + its predecessors duration. In some cases the predecessor might not have that information either, hence the recursive query that keeps digging until it finds the result. It's not painfully slow, but if it had to run on every insert/update/delete, it would get there. The "Table B" I refer to above is basically the same table, but it already has the calculated scheduled start data within (which needs to change on update of Table A).

A: Triggers operate on the entire batch of records that are inserted or updated, not one row at a time.
If the calculations are taking too long with a only a few hundred new records, then the calculation itself probably needs to be performance tuned.
If you do the calculations in a trigger, then they are part of each transaction and they will finish before another transaction is allowed, so it could conceivably slow down inserts. If you write the trigger properly to deal with sets of data and not row-by-agonizing-row, it probably will not cause an issue. Hundreds of rows are a trivial amount to do most calulations on. If you were inserting millions of rows in a batch, I would be more concerned about the trigger performance interfering with other processes.
You could create a proc to do the calculations and schedule it to run every ten minutes or so and then run again when the report is called for. This way it might do most of the precalcualting in advance and just catch the last couple of new records at the report time.
Give us a sample of the calculation and the potential trigger and we can better help you.
There is no way to group a bunch if individual transactions into one group trigger run. Perhaps you should stop using LINQ for this and and senda abatch stament if you need batches to process together. Set-based operations are usually preferable if you are working with more than one record at a time.

A: I would think a materialized view would be able to solve this, and run fairly fast.  However the OP doesn't say what the "calculations" are and only that they run slow.  As a result here is you best option:
Add a trigger to your main Table A, in that trigger insert the ID of the affected rows into a new "work needs to be done" table. This would have very low overhead, as the calculations are not done yet.
create a job that runs every x minutes to do the work calculations and clear the "work needs to be done" table.  This job would would populate and keep in sync your Table B, which has the final answers.
give access to the "query" only via a stored procedure call, in this procedure, run the processing used by the job (will make sure that the data in Table B is up to date) then it will run the query using Table B.

A: If possible (which of course it might not be in your specific situation), you could return your data from table B via a stored procedure call, rather than SELECTing from a view/table. That way your procedure does the heavy lifting only when it is specifically called (i.e. after Table A has been updated).

A: This is a simpler variation on what's already been discussed...
If you had DeltaTs/EditTs columns on both of your tables, you could:
Return the query data via a stored procedure, which would check the max(Deltats) vs max(deltats) on both tables and update table b as necessary. The first time you select after updating table A, you'd take a bit of a hit, but it would be nice and fast afterwards.


text:
import numpy as np
import argparse
import cv2
from cnn.neural_network import CNN
from keras.utils import np_utils
from keras.optimizers import SGD
# from sklearn.datasets import fetch_mldata
from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split

# Parse the Arguments
ap = argparse.ArgumentParser()
ap.add_argument("-s", "--save_model", type=int, default=-1)
ap.add_argument("-l", "--load_model", type=int, default=-1)
ap.add_argument("-w", "--save_weights", type=str)
args = vars(ap.parse_args())

# Read/Download MNIST Dataset
print('Loading MNIST Dataset...')
# dataset = fetch_mldata('MNIST Original')
dataset = fetch_openml('mnist_784')

# Read the MNIST data as array of 784 pixels and convert to 28x28 image matrix
mnist_data = dataset.data.reshape((dataset.data.shape[0], 28, 28))
mnist_data = mnist_data[:, np.newaxis, :, :]

# Divide data into testing and training sets.
train_img, test_img, train_labels, test_labels = train_test_split(mnist_data/255.0, dataset.target.astype("int"), test_size=0.1)

# Now each image rows and columns are of 28x28 matrix type.
img_rows, img_columns = 28, 28

# Transform training and testing data to 10 classes in range [0,classes] ; num. of classes = 0 to 9 = 10 classes
total_classes = 10			# 0 to 9 labels
train_labels = np_utils.to_categorical(train_labels, 10)
test_labels = np_utils.to_categorical(test_labels, 10)

# Defing and compile the SGD optimizer and CNN model
print('\n Compiling model...')
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
clf = CNN.build(width=28, height=28, depth=1, total_classes=10, Saved_Weights_Path=args["save_weights"] if args["load_model"] > 0 else None)
clf.compile(loss="categorical_crossentropy", optimizer=sgd, metrics=["accuracy"])

# Initially train and test the model; If weight saved already, load the weights using arguments.
b_size = 128		# Batch size
num_epoch = 20		# Number of epochs
verb = 1			# Verbose

# If weights saved and argument load_model; Load the pre-trained model.
if args["load_model"] < 0:
	print('\nTraining the Model...')
	clf.fit(train_img, train_labels, batch_size=b_size, epochs=num_epoch,verbose=verb)

	# Evaluate accuracy and loss function of test data
	print('Evaluating Accuracy and Loss Function...')
	loss, accuracy = clf.evaluate(test_img, test_labels, batch_size=128, verbose=1)
	print('Accuracy of Model: {:.2f}%'.format(accuracy * 100))

# Save the pre-trained model.
if args["save_model"] > 0:
	print('Saving weights to file...')
	clf.save_weights(args["save_weights"], overwrite=True)

# Show the images using OpenCV and making random selections.
for num in np.random.choice(np.arange(0, len(test_labels)), size=(5,)):
	# Predict the label of digit using CNN.
	probs = clf.predict(test_img[np.newaxis, num])
	prediction = probs.argmax(axis=1)

	# Resize the Image to 100x100 from 28x28 for better view.
	image = (test_img[num][0] * 255).astype("uint8")
	image = cv2.merge([image] * 3)
	image = cv2.resize(image, (100, 100), interpolation=cv2.INTER_LINEAR)
	cv2.putText(image, str(prediction[0]), (5, 20),cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 2)

	# Show and print the Actual Image and Predicted Label Value
	print('Predicted Label: {}, Actual Value: {}'.format(prediction[0],np.argmax(test_labels[num])))
# 	cv2.imshow('Digits', image)
# 	cv2.waitKey(0)

#---------------------- EOC ---------------------

redpajama_set_name: RedPajamaGithub


text:
Suzie McGuire
Suzie McGuire wishes Radio Clyde well after they're accused of blocking an ad featuring her name
THE radio personality says she still has many friends at Radio Clyde and wishes them well after bosses are accused of not allowing an advert which promotes her new theatre show.
Record Reporter
SUZIE McGuire has given her reaction to the news that her old bosses at Radio Clyde won't allow an advert which features her name, saying she wishes them all well.
She left the Bauer owned station, which is based in Clydebank, in 2014 during a court case against former husband Derek Mitchell.
He was found guilty of three assaults on her and ordered to carry out 300 hours of community service.
Suzie has now found work on a new digital radio station called Go Glasgow, and is also set to appear in Mum's The Word (2) at the King's Theatre in Glasgow.
The producer of the theatre show claims Radio Clyde will not allow her name to be used in ads, citing an email which states "it wouldn't be in our interest to promote Suzie" as she's going to be working for a rival radio station.
Robert C. Kelly told the Evening Times: "I think it is an abuse of power for Radio Clyde to refuse me advertising because an ex-employee is in the show. I can't see that their licence would permit them to exercise a right of veto over ads which are simply promoting a show."
The Mum's The Word 2 cast: Suzie, Lorraine McIntosh Julie Wilson Nimmo and Libby McArthur
Go Radio - which launches on Monday - is enjoying the attention, posting on Facebook: "Inadvertently giving us PR by trying to avoid us getting PR - oops"
SuZie has posted her reaction to all this on Facebook as well, saying she spent 29 happy and loyal years at Radio Clyde and that she wishes them all well.
She said: "Loved every second of my time at Radio Clyde and West Sound, from a teenager taking requests for Tiger Tim to doing travel news: then lunchtime show; breakfast show.
"I've nothing but happy memories of my 29 years of loyal and unbroken service and have close friends still there.
"Everyone has to move on at some point for different reasons. Mine were family reasons. I wish them well."
She went on: "Looking forward to starting with Go Radio Glasgow - but in the meantime practising like a mad wumman (sic) for Mum's The Word at the King's Theatre !!!"
King's Theatre

redpajama_set_name: RedPajamaCommonCrawl


text:
ArticlesAstley Ainslie HospitalBlogEdinburgh HistoryHistoryScottish HistoryWriting
Astley Ainslie Hospital A Sad End to a Wonderful Beginning
May 1, 20128 comments
Astley Ainslie Hospital – A Sad End to a Wonderful Beginning
The aim of this article is to provide a broad overview of how and possibly why Astley Ainslie hospital came into being. Specifically, the manner in which David Ainslie's vision became a reality. It stirred me to the point where I almost cried reading family archive material in the National Library of Scotland and elsewhere! I'd be interested to hear of your feelings.
If you feel strongly about preserving the care for the community intended by the bequest and generosity of David Ainslie, the man with such a wonderful, caring vision, you can do something about it. You can even play a part.
If you live in the Mornngside and Grange areas of Edinburgh, join The Astley Ainslie Community Trust . It is well underway towards preserving his legacy.
David Ainslie of Costerton was a very wealthy man, making his money from farming, primarily sheep breeding. His will was drawn up in 1876. He wished the medical association of the parklands surrounding Millbank in Canaan, part of the wealthy Grange area in the south of Edinburgh to continue. His desire was for his bequest to be used "for the purpose of erecting and endowing a hospital or institution to be called the Astley Ainslie Institution, for the relief and behoof of the convalescents in the Royal Infirmary of Edinburgh".
Sheep breeding and landowning were not the only source of David Ainslie's wealth however. His nephew, John Astley Ainslie was born on 30th May 1847. He inherited a large estate from his parents and other family members. At first he shared the inheritance with his brother, who predeceased him. As such John Astley Ainslie acquired the whole estate.
A well educated man, his future was a bright one, but he sadly died at Algiers in 1874, aged just 26. John spent a lot of time with David at Costerton. They were very close. Upon his death David acquired a considerable legacy. This was shrewdly invested and contributed significantly to the monies in the bequest for the creation of the Astley Ainslie Institution. After investment the money had accrued to an incredible £700,000.
Although the reason for the bequest has never been clear. However, many believe that David felt his nephew, John Astley Ainslie, who was in Algiers to improve his health, might have survived had he received skilled convalescent care.
David Ainslie's will stipulated that the monies were to be invested for a further ten years upon his death. Only then were they to be used to establish the Institution. He passed away in May 1900. World War I meant that, after all the formalities the hospital did not open until 1923.
Initially the hospital was known as St John's to commemorate his nephew. A subsequent codicil altered the name to the Astley Ainslie Institution. It was not known as the Astley Ainslie Hospital until as recently as 1946.
The National Health Service are gradually closing wards and selling off some of the most valuable real estate in Scotland. Especially the invaluable lands of the Astley Ainslie Hospital. It is located in the Grange in Edinburgh. Patients and staff are to be moved to other parts of the NHS within the city. This ends one of the most wonderfully thought of and planned philanthropic bequests in Scottish history. I wonder what David Ainslie of Costerton would make of it all?
Another great philanthropist from Edinburgh of the past was Reverend Thomas Guthrie. Read part one of his pivotal role in the establishment of Ragged Schools in Edinburgh in the same, Victorian era.
I am the owner-guide of Edinburgh Tours and History. Join me on a small private group tour of a variety of historic areas and attractions in Edinburgh. Take an inspiring walk through our cobbled streets, into our valleys and throgh one of Scotland's top visitor attractions with me.
#discoveryouredinburgh #heritagetourism #historytoursedinburgh #ecofriendlytourism
I've read papers on " The Masterplan" green space, archiological themes, tagged trees, through access and much more yet nothing of the fact that the hospital was given to the people of Edinburgh for the use of a hospital why so were the people of Edinburgh not consulted and their opinion given on the closure of such a wonderful hospital
View Replies (2)
M Clyde
More than that. The land was originally part of the Common Good which was gifted to the royal burgh of Edinburgh by the Scottish crown for the common purposes of the citizens. It was sold off ilegally by the magistrates in parcels to their friends in the 18th century. Then by good chance it has come back into common purposes again by this man's gift. We must not let it slip away again.
Janneke Nel
David Ainslie is my great grandfather. One day I will travel from my home in South Africa to see his amazing vision, in real life.
James Braid – latter open victories and career summary
James Braid – Early open career
James Braid – The first few years
If you like this article show your appreciation by buying me a coffee.


text:
Lock down or open up?
The story of a school during the quarantine
"The Bet" is a documentary with humor and realism about the quarantine and distance learning in 2021. The camera follows students and teachers daily at school and at home and records how this unprecedented experience formed their relationships, on and off screen. Nadia and Annie, Principals of the school, encourage intimacy and cultivate confidence in an "open" school which allows the camera lens to reveal emotions, dreams, difficulties and impasses. It ultimately lets the viewer decide who finally wins the bet and how: physical presence or distance learning?
The lockdown as a catalyst for student- teacher relationships
Technology, screen time and communication solutions
Apps and mobile devices as official tools for education,
Teenagers' need for communication, body expression and play
Encouraging young people to express themselves, allowing for warmth and equality
Glimpses in the everyday life inside a classroom and their interactions
How the school can overcome restrictions to offer memorable moments and a positive attitude
RECENT WORKS BY MARIA LEONIDA
Fragile (2016): A short documentary which presents an everyday encounter with history. An enigmatic relationship between humans and stones.
"Portrait day"(2019) is a glimpse on a special event which aimed to introduce learning, play and new relationships through photography inside a refugee camp in Greece. A process which brought together youngsters, boys and girls, and adults for some creative collaborative and memorable moments.
WHO- The director
WRITTEN & DIRECTED BY MARIA LEONIDA
Maria Leonida is a documentary film director, co-founder and Director of Karpos, Centre for Education and Intercultural Communication, (est.2008) running Greek and European film literacy projects. Her documentary work has been screened in Film Festivals and TV channels around Europe with various subjects on art and society. Her first short, One man show, was invited at the New Talents section of IDFA in 1996 and screened in numerous festivals, while her first medium length documentary, Tough Pose, won the 2nd best Greek State Quality Award in 1998 and Best Documentary at the International Short Film Festival of Drama. She has produced and directed documentaries for the Greek Film Center, ERT SA, EBU, ZDF and EU media projects. She has worked with vulnerable communities in both her documentary and teaching work.
As the director of Karpos, Maria designs and implements educational materials on the creative and critical aspects of media expression for a range of learners in and outside schools. Recent projects include: A suitcase with images and sounds (shortlisted Evens Critical Thinking Award 2020), Photography for refugee groups 2018-20, Opera and Animation 2017-18, In my own view 2016 (shortlisted Evens Media Award and winner of the MEDEA Special Prize 2017). She leads Karpos' successful partnership in several EU projects: the Film Literacy Advisory Group 2015-20, Silence Hate 2018-19, Migrated 2019-20 European Media Literacy Standard 2015-17, AppYourSchool 2016-18, Youth Docs, 2014-16, North Aegean Narratives 2011-12, Videomuseums (2010-12), Ecowomen 2008, CH.I.C.A.M 2002-3, University of Frankfurt, the JOBAct, the Theatre Pedagogue Association of Hessen, Germany. Maria trained in filmmaking in London and Denmark. She holds a BA in History and an MA in Art History.
WHO-The production
PRODUCED BY MARIA LEONIDA
EXECUTIVE PRODUCER DIADRASIS PC
The bet is sponsored by the Hellenic Ministry of Culture and Sports and supported by the Greek Film Centre.
WHO-The crew
MAIN CREW
Cinematography / Christoforos Georgoutsos
2nd camera / Maria Leonida
Sound Recordist / Aris Pavlidis
Editor / Aliki Panagi / She studied cinematography at the Stavrakos Film School in Athens Greece, and trained as an editor under the well-known Greek film editor Giorgos Triantafillou. Since 2002 she has been working as a picture and sound editor on fiction films and documentaries. Her work includes current affairs documentaries for AL JAZEERA, children's fiction series for the BBC, historical documentaries for Greek TV, and fiction feature films for International co- productions.
Music / Christos Parapagidis
Sound Editor – Mixer / Persefoni Miliou
Color Correction / Manos Hamilakis
WHO-The community
The Principal and Vice principal did their best to help us get to know the students' and teachers' community. Teachers gradually trusted us and allowed us to become part of their classes. The same happened with the youngsters during breaks and class time but of course that was a step by step process like in all character based documentaries.
As experienced educators, the Principals, were interested to offer experiences to the whole school. They considered the presence of the crew and the recording porcess as an additional encounter for the community. On a very crucial day, that the school was going on quarantine again, Mrs Tsene was ill, so the crew and myself were even asked to keep her class busy with a high level film workshop, presenting and explaining to them all about our professional equipment.
During 2019 I collaborated again with the Avlonas High School as a result of my work in teachers' training in film education. The school has an inclusive attitude to multicultural students and it soon becomes evident that a small teachers' community is trying to offer as much as possible to all of their students. Once the lockdown started I could soon find out that their online relationships only mirrored their previous face to face efforts.
Avlonas combines certain contradictory elements. One hour from Athens, in a small, not particularly interesting or picturesque village, with a small student community of 150 youngsters. Thanks to the long service of a devoted Principal, Nantia Tsene and her close indispensable colleague, the Vice Principal, Anny Keki, the school offers a few active teachers the opportunity to build warm and open everyday relationships with a global approach towards learning.
Here they try to materialise their vision for a participatory school, where all students are welcome to have a place and develop.
The first global quarantine proved that the teachers managed to engage 95% of their students in everyday "classroom" meetings and they experimented with online ommunication channels much before an official nationwide online platform was established. Zoom and Viber stood out as their companions to activate their small community.
When the application was aproved, the 2nd quarantine already had started in Greece so we engaged in following "everyday" school life, as it happened: in houses, teenage and teachers' rooms and in an empty school.
The lockdown experience gave me the chance to materialise an idea which was in my mind since 2017, to follow the everyday life in a normal public school. Originally I wanted to observe and reveal the bits and pieces of how education can be a field of creative change for the difficult age of teenagers and how the rigid school structures can -or cannot- be enriched by initiatives.
However, already from the first week of online communication and lessons in March 2020, I sensed that this experience was going to be crucial and I started peeping as much as possible at my 2 teenage sons' rooms, discussing with them to find out how they went through that unexpected phase. I read articles and posts from all over the globe on how teachers and parents experienced it. Due to this particular historical moment,in this documentary I combined two of my interests: school life and distance learning. I took advantage of education's critical moment to shed some light on certain issues involved in the anthropology of attending a High School.
So when the opportunity of a Ministry of Culture funding scheme came, I wrote a proposal combining my interest for active teachers and the world wide subversive quarantine experience.
THE PRODUCTION PROCCESS
Shooting started in January 2021, during the winter lockdown. Schools were closed already for 2 months so we first met and shot teachers and students in their houses, getting to know the details and personal moments of the solitary, awkward distance learning which COVID19 imposed to hundreds of thousands of students, teachers and families. Chris, the cameraman and myself equiped with 2 cameras and a few mikes, joined different people in their private rooms, listening to their learning and teaching sessions, being with them during break time, moments of tech hazards, blockings, communication efforts, dispair or boredom. Alone and together, our protagonists, kept trying, each one in their own way, to keep a good spirit and some kind of schooling, which often varied and could evolve in unexpected manners. Organising time, activites and the everyday routine had aquired a completely new concept.
We also followed the two Principals at their weekly work in the empty school. A deserted space, usually full of silence, however the flame was kept alive by the two dedicated women. When schools opened, the scenery completely changed. We were "all together again" but still restricted, careful, due to the measures. However the High School of Avlonas made their best to keep school life alive! We kept shooting, as if everyday would be a unique day. We kept watching the news, like everybody, as nobody could be sure of how the virus and government decisions would develop.
THE POSTER
THE TEASER
Maria Leonida : maria@karposontheweb.org
Address: Sarri 4, Athens, Greece ,10553
Phone:+302130435978, +30 6973497198
Sponsored by the Hellenic Ministry of Culture and Sports and supported by the Greek Film Centre
www.gfc.gr/en/ manolopoulou@gfc.gr


text:
Q: Options method of the BitmapFactory is not recognized When I tried to use the options of the BitmapFactory as follows:
BitmapFactory.Options options = new BitmapFactory().Options(); eclipse underscores the options() on the right hand side with red squiggle, despite all the required packages are imported. How to solve it?

A: BitmapFactory.Options options = new BitmapFactory.Options();
Not
BitmapFactory.Options options = new BitmapFactory().Options();

A: You where so close:
BitmapFactory.Options options = new BitmapFactory.Options();
You want to instantiate the Options not the Factory

If if helps you make sense of it, you could also import the options
import static android.graphics.BitmapFactory.Options;
    Options options = new Options();


text:
<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model common\models\NewsCategory */
/* @var $form yii\widgets\ActiveForm */
?>

    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>

    <?= $form->field($model, 'parent_id')->dropDownList($categories, ['prompt' => Yii::t('backend', 'Top category')])->label(Yii::t('backend', 'Belong To Category')) ?>

    <?= $form->field($model, 'remark')->textInput(['maxlength' => true]) ?>

    <?= $form->field($model, 'sort')->textInput() ?>

    <?= $form->field($model, 'status')->dropDownList([
            \common\models\NewsCategory::STATUS_ENABLED => Yii::t('backend', 'Status Enabled'),
            \common\models\NewsCategory::STATUS_DISABLED => Yii::t('backend', 'Status Disabled'),
    ]) ?>

        <?= Html::submitButton($model->isNewRecord ? Yii::t('backend', 'Create') : Yii::t('backend', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>

    <?php ActiveForm::end(); ?>


text:
package com.lidchanin.shoppinglist.adapters;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.lidchanin.shoppinglist.R;
import com.lidchanin.shoppinglist.database.Statistic;
import com.lidchanin.shoppinglist.database.dao.StatisticDao;

import java.util.List;

/**
 * Class {@link StatisticsChildRVAdapter} provide a binding from an app-specific data set to views
 * that are displayed within a {@link RecyclerView}.
 * Class extends {@link android.support.v7.widget.RecyclerView.Adapter}.
 *
 * @author Lidchanin
 * @see android.support.v7.widget.RecyclerView.Adapter
 */
public class StatisticsChildRVAdapter
        extends RecyclerView.Adapter<StatisticsChildRVAdapter.StatisticsChildViewHolder> {

    private Context context;

    private StatisticDao statisticDao;

    private List<Statistic> statistics;

    /**
     * Constructor.
     *
     * @param context      {@link Context}.
     * @param statistics   {@link List} with all {@link Statistic}s.
     * @param statisticDao {@link StatisticDao} exemplar.
     */
    public StatisticsChildRVAdapter(final Context context,
                                    final StatisticDao statisticDao,
                                    final List<Statistic> statistics) {
        this.context = context;
        this.statistics = statistics;
        this.statisticDao = statisticDao;
    }

    @Override
    public StatisticsChildViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_in_statistics_child_rv, parent, false);
        return new StatisticsChildViewHolder(view);
    }

    @Override
    public void onBindViewHolder(StatisticsChildViewHolder holder, int position) {
        final int adapterPosition = holder.getAdapterPosition();

        holder.tvName.setText(statistics.get(adapterPosition).getName());
        holder.tvTotalCost.setText(String.valueOf(statistics.get(adapterPosition).getTotalCost()));
        holder.tvQuantity.setText(String.valueOf(statistics.get(adapterPosition).getQuantity()));
    }

    @Override
    public int getItemCount() {
        return statistics.size();
    }

    /**
     * Static class {@link StatisticsChildViewHolder} describes an item view and metadata about
     * its place within the {@link RecyclerView}.
     * Class extends {@link RecyclerView.ViewHolder}.
     *
     * @author Lidchanin
     * @see android.support.v7.widget.RecyclerView.ViewHolder
     */
    static class StatisticsChildViewHolder extends RecyclerView.ViewHolder {

        private TextView tvName;
        private TextView tvTotalCost;
        private TextView tvQuantity;

        StatisticsChildViewHolder(View itemView) {
            super(itemView);
            tvName = (TextView) itemView.findViewById(R.id.tv_name_in_statistics_child_rv);
            tvTotalCost = (TextView) itemView.findViewById(R.id.tv_total_cost_in_statistics_child_rv);
            tvQuantity = (TextView) itemView.findViewById(R.id.tv_quantity_in_statistics_child_rv);
        }
    }
}


Visitors come to Idaho from all over the country to experience some of the best steelhead trout fishing in the United States. Cast a line as you take in the gorgeous surrounding mountain views and let the surrounding water calm you. Suited for anglers of all ages, your Salmon River steelhead fishing trip awaits!
Are you planning a Salmon River steelhead fishing trip? Take advantage of our complimentary Adventure Guide! We know that planning a vacation can be challenging, so we created our free guide to save you hours of research. Make your stay at Triangle C Cabins one you'll remember for a lifetime!
Steelhead are large rainbow trout that are native to the Pacific Northwest, particularly Idaho. Every year, these adult trout leave the ocean and swim back to our state. During this time, the Salmon River becomes stocked with fish to create an incredible fishing opportunity!
Because the Salmon River is over 400 miles long, the fish swim through different areas at various times. Choose when to make your Salmon River fishing trip based on the time and location of the steelhead's journey. If you are staying at Triangle C Cabins, the open times to fish our portion of the river are January 1 to April 30, August 1-31 for catch and release fishing only, and September 1 through December 31. Each times have different limits to the amount of fish you are allowed to catch so make sure to check the rules before you go!
If you're planning on going Salmon River steelhead fishing, make sure you get your permit! The Idaho Department of Fish and Game requires that anyone over 14 years old must have a fishing license. You can also get a fishing license from McCoy's Tackle Shop in Stanley or fill out the application online.
Let Triangle C Cabins be your home base during your Idaho adventures! Choose from our cozy cabins to start planning your stay. Located just moments away from outdoor excursions like Salmon River steelhead fishing, hiking trails, and more, we're in the perfect spot for those seeking a trip into nature. Plus, we are less than 15 minutes away from Redfish Lake Lodge where you can indulge in restaurants, lake activities, the General Store, and more! Book your getaway today.


Ok, I never thought I'd say this but Twitter is actually pretty cool. At first I had no idea how I could use it and hence I decided to make it a private diary of what I do during the day. However when I started following people, I realised that it could actually be a very powerful social networking tool.
Anyways, no point for me to rant about the greatness of Twitter since there are heaps of posts out there that does that already. So for thoes who has Twitter already, Follow me @sicnarftea, for thoes who don't, join twitter and check it out, follow everyone you know and use it for a few days. You'll definitely be surprised!
Cool info – can't wait for part two ! Mainly cuz I'm not signing up, no matter how easy it is, until I know how to make use of the darned thing. Too many "Social" sites I'm signed up for already with no time to visit/use them all. This had better be good is all I can say….


text:
Mozart: Sonata in B-flat major for Piano and Violin, K.454
Print Program Notes
Evolution happens. Violin sonatas mature. By the time Mozart settled in Vienna (beginning in 1781) the violin, formerly downgraded as the piano's disposable accompanist, had been promoted to a full-fledged participant in a bona fide duo in which neither instrument calls the shots. For a violin and piano to trade a theme back and forth, much less indulge in mid-phrase handoffs, would have been almost unthinkable in the early days, but in Mozart's later Vienna sonatas such dialogue became a regular and welcome occurrence.
Mozart may have been prolific, but he was also a world-class procrastinator. His tendency to play fast and loose with deadlines was in full flower with the Violin Sonata in B-flat major, K.454, which he wrote for an April 1784 concert with violinist Regina Strinasacchi at Vienna's Kärntnerthor Theater. Scrambling against the clock as usual, he just managed to write out Strinsacchi's part, but not his own, so he performed the sonata by memory with a blank sheet of music paper in front of him. (It is said that Emperor Joseph II saw through the subterfuge via a pair of opera glasses.)
Dash to the finish line or not, the Violin Sonata offers up Mozart at his fully-matured best. An imposing opening Largo emphasizes the absolute equality of the two instruments as they trade figures back and forth, before launching into an immaculately crafted sonata-form Allegro that sports the free-form development section so typical of Mozart. The second-place Andante is essentially an operatic aria transplanted into a sonata; all it needs is words and a stage setting. To conclude, a deliciously elegant Allegretto gives us an excellent example of the recently-evolved "sonata-rondo" form that, as the name implies, addresses the dangerously repetitive nature of rondo by applying the developmental logic of sonata form.—Scott Foglesong
Scott Foglesong is a Contributing Writer to the San Francisco Symphony program book.


Budapest's most popular Irish pub, the Beckettsfirst opened in 1994 and for 20 years, it was an important gathering place for local expats, tourists, sports fans and lovers of Guinness. In 2015, the legendary pub reopened at Liszt Ferenc Square, for the delight of the former regulars. Their main profile remained the same: English foods, whisky and draftGuinness.


text:
FCZ2019 Competition Call
[Deadline: 11.06.2019]
Festival CinemaZERO promotes a radical idea of "zero cinema", founded essentially on the author's autonomy: self-produced, personal and hyper-independent works, made by single artists or small groups, with common and easily accessible, or innovative and low cost, means of production.
This means that all those productions made in imitation of abused industrial and commercial models (be they fiction films, series, documentaries and so on) have no interest for this festival and the authors are invited not to submit this type of works.
CinemaZERO rejects, and in its own way reverses, the industrial cinema formulas both in the means of production and in the aesthetic and narrative models followed: it looks for an artisanal and experimental approach to the video work, demonstrating an individual and autonomous research on one's own idea of cinema and on language, on themes, on structure, on direction and/or on the realization of one's own work.
It is therefore not a competition limited to the evaluation of the economic conditions of production, but rather of a general idea of cinema based on essentiality and difference from the dominant models in today film industry.
The FCZ competition has no theme, genre, or narrative formula limitations: the key issue is to share the principles of the «zero cinema» exposed in the premise of this call. Entry is free.
production and no-budget
The FCZ competition does not have any rigid restrictions about the production methods of the participating works, which will be evaluated in relation to their overall "zero cinema" quality (in any case, the sending of works produced with public contributions or private sponsors is not recommended).
In the case of participation of groups, collectives or organizations, the work must be entered in the competition with the responsibility of a single physical person, who will be the sole holder in case his or her work is awarded.
Participants must fill in all parts and with accurate and truthful information the on-line REGISTRATION FORM. It is also possible to register and submit works through ClickForFestivals.
The list of registered authors and titles will be available from 09.15 on the FCZ website. If you don't find on the list your work 5 days from your registration, or in any case need a confirmation of your registration, please send an e-mail to info@festivalcinemazero.it.
The works can be submitted only by uploading them on an internet platform that allows the streaming view.
Works can be submitted through www.clickforfestivals.com or indicating the link to another streaming platform and the access password, if present, on the registration form. It is strongly recommended to keep private the view of the submitted works.
The sending of works, materials and documents by ordinary mail or attached to e-mails is not allowed. E-mails with attached materials or files will be deleted without being opened. In case of special needs and/or requests, please contact the organization.
In case of selection, authors commit themselves to send the organization their work in its optimal resolution within three days of receiving the communication of selection (the sending method will be agreed via e-mail with the organization).
Only the selected authors are required to send extra material concerning the work and its author: bio and photo author, at least three images of the film in high resolution (no backstage), any note of direction and any other material considered of interest for informational and promotional purposes.
Participants are strongly advised to use soundtracks authorized by their respective authors, i.e. music, protected or not protected by copyright, composed specifically for the work in competition or under creative commons protection (and allowed for uses of this kind). In fact, we remind you that the use of any piece of music, for any duration, is allowed only with the explicit permission from the author in any kind of video product, even if not for profit.
The organization is not responsible for the unauthorized use of music by the participants in the FCZ competition. Participants are in any case required to complete the part of the registration form about the soundtrack with all the requested information.
It is advisable to register works made from 2016 onwards, however the year of production is not a reason for exclusion. We ask not to submit works already submitted to previous editions of FCZ competition.
categories and duration
The FCZ competition consists of a single category: works of any kind (fiction, documentary, music video, video art, etc.) of a maximum duration of 20 minutes, titles included.
However, the longer works will be evaluated for a possible inclusion in the "out of competition" section of the Festival program.
All entries (with a valid link) must be submitted no later than Wednesday 6 November 2019.
The works admitted to the Festival screenings will be selected at the discretion of the selection committee (whose members will be published on the festival website).
The evaluation of the selection committee will take into account the following elements:
proximity to the principles of "zero cinema" exposed in the premise of this call
"strength" of the project, both as regards its meaning and the idea of cinema proposed
originality and experimentality in artistic, thematic and narrative terms
reduced availability of technical resources, limited number of people involved in production and creativity in overcoming the production limits (productions with more than 10 people, actors apart, will be hardly considered for selection)
presence of an original soundtrack (and its qualitative evaluation)
The selected works will be presented during Festival CinemaZERO 2019, scheduled from 11.28 to 12.1 at Teatro Sanbàpolis in Trento. The winning works will be screened a second time during the final evening of the Festival.
By registering for the competition you are consenting to the free use and reproduction free of charge of the work submitted, by or on behalf of the organization and without further notification. You also consent the free use of video or photographic extracts of the work submitted for the duration of the festival and for any other initiative, review or publication of documentary and promotional nature.
Winners will receive a voucher for www.adcom.it online store.
The prize awarded by the critical jury for the best work in competition has a total value of 1.000 euros. The critical jury has the right to mention other deserving works in competition, without awarding any prize.
The prize awarded by the audience vote has a total value of 500 euros. If the most voted work is the same awarded by the critical jury, the prize will be assigned to the second classified.
All the winning authors are invited to attend the final evening of the Festival. The organization will evaluate whether to take charge of the travel expenses and will provide food and accommodation.
The entry is free. Each author can participate with more than one work (just one work for each author can be selected). The selection committee has the right not to admit to the competition (and therefore to the selection) the works whose submission lacks some of the required documentation and those that are not considered in line with the founding principles of the Festival CinemaZERO expressed in this call.
Acceptance of rules and regulation
Registration for the competition involves:
full acceptance of these rules and regulation
consent to the use and screening of the work submitted and/or of its video or promotional extracts for documentary and promotional publication.
consent to free use and free reproduction, by or on behalf of the organization and without further notice, of the work submitted and/or its video, photographic and textual extracts for any initiative, review or publication of a documentary and promotional nature even outside the Festival program.
the unconditional acceptance of the awarding of prizes by the organization.
For any exception not covered by this regulation, the organization reserves the right to take definitive decisions.
Communications to subscribers
All participants will be notified by e-mail the admission or exclusion from the Festival screenings (with the list of selected works), as well as the results of the competition, with authors and titles awarded.
For further informations: www.festivalcinemazero.it| info@festivalcinemazero.it
REGISTRATION FORM; Download competition call
Prizes in collaboration with:
To register and submit your work:
Copyright © 2020 Festival Cinema Zero. All Rights Reserved.


I grew up in a house where walking has been regarded as the best form of exercise. Be it post lunch, dinner or a midday nap on a sunny Saturday, we have always managed to scrape out time from our busy schedules for a walk. This is how I learned to love Kathmandu amidst the walks with my father- which is hard to keep up with-, a stroll with my grandfather- who walks as slow as a turtle- or a one by myself.
I prefer walking to using any form of transports. With earphones plugged in deep, playing music and keeping me company as my footsteps match the beat of the song. When my shoes barely last a month, my mother often asks me, 'Why walk so much?' The answer to this is very simple- with walking, it is the journey that is the destination- and for someone who is best defined as a wanderer, nothing can be compared to the walk.
Have you ever walked around Kathmandu and almost bumped onto a cow because you were too busy admiring the artefacts and the people all around you? I have, several times. I have almost been run down by speeding vehicles that explode past the zebra crossing like Olympic runners! Walking forcefully slows you down and lets you admire the beauty that a place holds- as of now, Kathmandu. It lets you notice the puppy chasing every bird in sight, the old cobbler sitting across the street with glasses shoved up high on his head, the flock of birds flying above you, the marvellous and detailed street art and other people walking down the street- close to a theatrical drama.
Had I driven through the city, where walking would take you from point A to B much more conveniently than being stuck in a traffic, I would have missed 90 % of what I found: the swarming life of the city's backstreets, its parks and playgrounds, its outdoor and indoor eateries — all this would have remained invisible to me.
A quick question- how well do you know Kathmandu? If your only experience of crossing the city is a hectic commute, you're missing out.
Put on your fancy shoes and go out for a walk!


text:
Daytona USA
PlayStation 3 | Xbox 360
Genre: Arcade Players: 1 to 2 (2 to 4 Online)
Publisher: SEGA Classification: G
AusGamers Review
Daytona USA Review
Review By JamesPinnell @ 11:21am 15/11/11
Daytooooooonaaaaa. Who hasn't, or hadn't, walked past an arcade in the 90s, hearing that siren's call of driving goodness calling out to them? The game that invented the cross-unit play is still sitting pretty in most of the dying amusement slots outside movie theatres and beer gardens, begging those with a bit of nostalgia (or inebriation) to sit down for just one more race.
SEGA, who in the past six years have remade and relaunched the large bulk of their golden years, have finally dropped their arcade perfect crowd pleaser onto the XBLA and PSN. Boot up the download and moments later, you could be back in that TimeZone in 1995, blocky red and blue NASCARs rolling down the track to the epic theme song we all know and love.
Along with the obligatory arcade mode, there's online multiplayer, a completely strange Karaoke mode and "survival", which is obviously trying to emulate the endlessly boring experience of real life NASCAR. Sadly, none of these modes outside of the Arcade are worth playing – Karaoke simply removes the words of the game's music and puts them on screen so you can sing along. Seriously. It also never ends.
The highlight of Daytona is easily the Arcade mode, which is probably one of the most arcade-perfect conversions I've had the pleasure to play. Everything is perfect – from the announcer proclaiming that you need to start your engine, to the texture pop-in of the slick streaked track as it rolls out in front of you. The three tracks (Beginner, Intermediate and Expert) are all there and unchanged, along with the Automatic and Manual variants of your vehicle.
Basically, it's the closest thing to an arcade clone outside of having the entire three-seat set in your living room. But the dedication to that same conformity is also what makes Daytona USA such a hollow experience. This game was never designed to be played with a controller on your flat screen. After a few laps on the first track, memories of why you played this game in the first place will return and the solo experience on the couch will just become meaningless.
Arcade racers are devoid of any sort of longevity or detail to their play styles because they are designed for 5-10 minutes of fun. Doing an eight-lap circuit in the same car to the same music is only entertaining when two of your mates are yelling at and ramming you off the track. Even over a multiplayer session, it's just not the same. Sure, you could jerry rig a couple of racing seats together, but where are the dodgy bumper car pedals and the ripped leather bucket seats?
It's unfair to lambast the game for these complaints, because the title is well made and it's a decent homage to one of the arcade racing greats. But I struggled to find a point to its existence outside of a Museum exhibit dedicated to gaming past. There simply isn't enough here to hold your interest outside a good half-hour, unless you're desperate to top the leaderboards for time trials or get your kicks belting out the soundtrack.
Daytona USA sits in the unique position where it suffers not from its faults, but from the perfection of its original design. There was nothing better than being enveloped in those speaker laden seats, inches away from a ridiculously bright CRT screen, friends or strangers seated either side of you. Modifying that experience strips back almost everything that made the game unique or entertaining, instead leaving you with a pretty archaic racer with zero longevity and a non-existent online player base.
What we liked
One of the best arcade conversions ever made
Everything is perfect, especially the sound
Great for a nostalgic bite
What we didn't like
Stripping what made the game fun in arcades removes any point to play
Online community is completely non-existent
No new content, still just three tracks
We gave it:
fpot
Posted 11:32am 15/11/11
James found the games biggest flaw.
Are you James?
Review By Steve Farrelly
Steve Farrelly
I was just changing it fpot - man you guys are quick :)
I have to do 1000 at once when posting one of these because our CMS is ORSM SAUCE ;) sometimes that means I own the reviews for a few minutes :P
koopz
Posted 10:33pm 15/11/11
s*** man.. James' old Qgl forum nick is on the tip of my toungue...
can't remember it though.
Commenting has been locked for this item.
fpot 1 day ago


text:
Coach Goran Barjaktarevic insist Legon Cities will fight for a win against Bechem United tomorrow
Head coach for Legon Cities FC, Goran Barjaktarevic has stressed that his side will fight for a win against Bechem United on Friday night when they host them in the Ghana Premier League.
The Royal club remains without a win after playing five matches in the ongoing 2019/2020 Ghanaian top-flight. Their opponent, on the other hand, has had a good start to the campaign and will go into the match with confidence to at least pick up a point.
At a pre-match press conference in Accra today, Coach Goran Barjaktarevic says his Legon Cities FC side will go into the Bechem United game with the aim of picking up all the available 3 points.
"I am always thinking about win. I go into games to win. Sometimes, it's just unfortunate that the win don't come but we will get there soon. We will keep fighting", the gaffer said.
Coach Goran added, "We are working to accelerate our game from the second third (midfield). We are really working on that. It's about how fast we play and how good we run into spaces. We will work hard to achieve that".
The match between Legon Cities FC and Bechem United will be played at the Accra Sports Stadium tomorrow and will kick off at 18:00GMT.


I just wanted to let you know that I am THRILLED with the new fireplace! :-)I am sure that my husband will also echo my sentiments. The new fireplace has a more open design and one can easily admire the logs and the flames flickering. It's gorgeous! It looks even better than the old fireplace.
Totally awesome service! Fast quality work. Real professionals.
Never again forget to schedule maintenance with us! Choose from either plan below and know that your system will always be taken care of.


Hart Perry (Director of Photography, Harlan County USA), has documented the lives of Mexican-American migrant farm workers in Raymondville, Texas, since 1979 when the onion workers' strike broke out. What followed was a fight not only for higher pay but also for equal rights and representation. For 24 years, the county's Mexican-American residents were determined to fight for what is right. Valley of Tears is a complex story of the long journey of individuals who endure hardship in order to make a better future for their families.


text:
Q: Inspect x86 opcode bytes in LLVM Machine Function Pass I have a basic machine function pass in this fashion:
bool Foo::runOnMachineFunction(MachineFunction &Fn) {
  for (auto &BB : Fn) {
    for (MachineBasicBlock::iterator I = BB.begin(), E = BB.end(); I != E;
         ++I) {
      if (I->isPseudo())
        continue;
      // inspect opcode of I here
      }
    }
  }

  return true;
}

Inside this loop I want to inspect the actual x86 opcodes (=array of bytes) for each instruction. I->getOpcode() only gives an integer which seems to be used internally by llvm.
I've been browsing through the llvm source code for an hour without finding a solution. I think I need to somehow lower I from MachineInstr to MCInst in order for that to be established. I've also seen void X86MCCodeEmitter::EncodeInstruction(...) which might be of use. However, llvm is a pretty complex beast and I did not manage to connect the dots.


text:
Q: Change of coordinates between bases I have a subspace of $\Bbb R^4$ of dimension 2, with two bases of the same subspace. A = {$\vec a_1, \vec a_2$} and B = {$\vec b_1, \vec b_2$}.
How can I find the matrix C for the change of basis from B to A, or said in other words how can I find the matrix C that when I multiply a vector $\vec v$ represented in B and A coordinates, the result is the same vector represented in A coordinates, $ C·\begin{bmatrix} \vec v \end{bmatrix}_B = \begin{bmatrix} \vec v \end{bmatrix}_A$.
I see that the matrix C should be a 2x2 matrix, and using the formulas for passing from B coordinates to standard coordinates I can construct an equation, something like:
$$\begin{bmatrix} b_{1x} & b_{2x} \\ b_{1y} & b_{2y} \\ b_{1z} & b_{2z} \\ b_{1t} & b_{2t}\end{bmatrix} ·
\begin{bmatrix} c_{1b} \\ c_{2b}\end{bmatrix} = \vec v$$
$$\begin{bmatrix} a_{1x} & a_{2x} \\ a_{1y} & a_{2y} \\ a_{1z} & a_{2z} \\ a_{1t} & a_{2t}\end{bmatrix} ·
\begin{bmatrix} c_{1a} \\ c_{2a}\end{bmatrix} = \vec v$$
$$\begin{bmatrix} b_{1x} & b_{2x} \\ b_{1y} & b_{2y} \\ b_{1z} & b_{2z} \\ b_{1t} & b_{2t}\end{bmatrix} ·
\begin{bmatrix} c_{1b} \\ c_{2b}\end{bmatrix} = \begin{bmatrix} a_{1x} & a_{2x} \\ a_{1y} & a_{2y} \\ a_{1z} & a_{2z} \\ a_{1t} & a_{2t}\end{bmatrix} ·
\begin{bmatrix} c_{1a} \\ c_{2a}\end{bmatrix}$$
But I don't see how can I obtain matrix C from here.

A: HINT
To find the change of basis we need to complete the two basis with the vectors $c_3$ and $c_4$ and use the standard basis, notably

*

*consider the matrices $M_A=[\vec a_1 \quad \vec a_2 \quad \vec c_3 \quad \vec c_4]$ and $M_B=[\vec b_1\quad \vec b_2 \quad \vec c_3\quad \vec c_4]$

*consider a vector $\vec v$ and indicate with $\vec v_A$ its representation in the basis A, then the representation of $\vec v$ in the standard basis is $\vec v_S=M_A\vec v_a$

*for B we obtain $\vec v_S=M_B\vec v_B$ and then

$$M_A\vec v_A=M_B\vec v_B\implies \vec v_A=M_A^{-1}M_B\vec v_B \quad C=M_A^{-1}M_B$$

A: Suppose that $\vec{b_1}=\alpha_{11}\vec{a_1}+\alpha_{21}\vec{a2}$ and that $\vec{b_2}=\alpha_{12}\vec{a_1}+\alpha_{22}\vec{a2}$. Then $C=\left(\begin{smallmatrix}\alpha_{11}&\alpha_{12}\\\alpha_{21}&\alpha_{22}\end{smallmatrix}\right)$.