Diag====| Initiating an AUTOMATIC CHECK FOR UPDATES ON PAGE LOAD wp_loaded due to FeedWordPress option = string(4) "init"
Diag====| FeedWordPress is set up to hold pings, fwp_held_ping=0
Diag| Polling feed [https://blogs.ed.ac.uk/mediahopper/feed/]
Diag====| HTTP [https://blogs.ed.ac.uk/mediahopper/feed/] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://blogs.ed.ac.uk/mediahopper/feed/] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2401 (1) {
    ["data":protected]=>
    array(12) {
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
      ["date"]=>
      string(29) "Fri, 19 Jun 2026 03:31:14 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.31"
      ["expires"]=>
      string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
      ["cache-control"]=>
      string(35) "no-store, no-cache, must-revalidate"
      ["pragma"]=>
      string(8) "no-cache"
      ["link"]=>
      string(71) "<https://blogs.ed.ac.uk/mediahopper/wp-json/>; rel="https://api.w.org/""
      ["set-cookie"]=>
      array(3) {
        [0]=>
        string(62) "PHPSESSID=9susne4jtjhh5k4fg83a29j2i4; path=/; secure; HttpOnly"
        [1]=>
        string(134) "spo_201_fa=971e57e158fd4a5340f44852bfb286f0; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/mediahopper/; Secure; HttpOnly"
        [2]=>
        string(125) "RCKBMHKB=027ff8be59-56fd-48BNWWQvsrG4v4ga3WgRLZ5QjQjTP_v37yjsgJdm85mkb38pxldh1Hs34ENAoSe5lWAy4; path=/; SameSite=None; Secure"
      }
      ["last-modified"]=>
      string(29) "Thu, 14 Dec 2023 17:57:08 GMT"
      ["etag"]=>
      string(34) ""45cf9c638f115d3823aeba3d2008b07b""
      ["vary"]=>
      string(15) "Accept-Encoding"
    }
  }
  ["body"]=>
  string(26397) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>Media Hopper</title>
	<atom:link href="https://blogs.ed.ac.uk/mediahopper/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/mediahopper</link>
	<description>Articles and ramblings on Media Hopper Create & Media Hopper Replay, as well as DIY Film School and Apple Podcasts</description>
	<lastBuildDate>Thu, 14 Dec 2023 17:57:08 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>Using Chat GPT to refine narratives</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Wed, 13 Dec 2023 12:11:21 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=120</guid>

					<description><![CDATA[2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less...]]></description>
										<content:encoded><![CDATA[<p>2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less hilarity-inducing ‘lets spend 20 minutes phrasing this perfectly so I actually get something useful’ way.  A lot of companies have been working on growing ‘large language models’ for use in AI for a while, but the one that really captured people’s attention in 2023 has been OpenAI’s ChatGPT.</p>
<p>There are many other flavours of AI chatty-Cathy’s out there with colourful names such as Bard, Claude, Grok, LLaMA, Bothan, and Ernie Bot (one of those I made up*), but ChatGPT has become the go-to chatbot for a lot of people, with over 100 million users registered on the service.  In the past 12 months, the top 2 fastest-rising search terms on Google from the UK are ‘ChatGPT’ and ‘Chat GPT’.</p>
<p><img decoding="async" class="alignnone size-medium wp-image-121" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png" alt="" width="300" height="253" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55.png 585w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>While there are a lot of uses for ChatGPT and similar AI services, one that has some people worried about its potential impact is its use for creative purposes.  The use of AI-generated images and music has raised questions about whether human artists will get shut out of the process if it’s quicker and cheaper to ask a bot to create art, and the recent SAG-AFTRA and WGA strikes that took Hollywood to a grinding halt earlier this year was at least in part because of the actors and writer’s unions wanting to ensure there were protections in updated contracts to limit AI’s impact on filmmaking.</p>
<p>While we’re likely at least a few years away from the best original screenplay Academy Award going to ChatBot_182.432.1REV3, ChatGPT can be used as a tool in a lot of ways for narrative storytelling.  It certainly can write a full story for you, but it can go off in pretty wild places with some… <em>interesting </em>narrative choices.</p>
<p>With the simple prompt ‘Hey ChatGPT, write me a story’, I got a 450 word tale of a character named Luna who lived in a ‘Blade Runner’-esque neon city worked as a librarian by day, and by night used her supernatural powers to turn the books on her shelves in to magical realms.  She proceeds to find a kingdom in peril, talk to a wise old owl and a mischievous sprite, solve puzzles, go through enchanted forests, and save the day using the power of imagination.  That’s a lot to cram in to 450 words.  <em>You can read the full story here with the password LunasMidnightOdyssey – <a href="https://blogs.ed.ac.uk/mediahopper/lunas-midnight-odyssey/">full story</a></em></p>
<p>This is one of the problems with just giving ChatGPT free reign to do what it ‘wants’ when being creative, it doesn’t really understand scale or that just throwing every plot point it can generate in to a list doesn’t really make a story.</p>
<figure id="attachment_130" aria-describedby="caption-attachment-130" style="width: 700px" class="wp-caption aligncenter center"><img decoding="async" class="aligncenter size-large wp-image-130" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg" alt="" width="700" height="468" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg 1024w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-300x200.jpg 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-768x513.jpg 768w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1140x761.jpg 1140w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c.jpg 1536w" sizes="(max-width: 700px) 100vw, 700px" /><figcaption id="caption-attachment-130" class="wp-caption-text">Old College by Playfair, William, University of Edinburgh is available under a CC BY 3.0 Unported licence. https://images.is.ed.ac.uk/luna/servlet/s/m671gu</figcaption></figure>
<p>ChatGPT’s really power for creating narrative, at least in its current state, is in using it to refine a story, or to help work through ideas.  Let’s say I’m trying create a new video for Media Hopper Create about the history of Old College, and want to write a voice over.  Here’s a quick draft:</p>
<blockquote><p>Old College its part of The University of Edinburgh and was mostly built from the late 18th to early 19th century.  Originally named ‘New College’, it is a Category A listed building located on South Bridge.  The original design was by Robert Adam, with the modern design being completed by William Henry Playfair.  The dome was added to the building in 1887, with a gilded statue of Youth by John Hutchinson.</p>
<ul>
<li>Original version</li>
</ul>
</blockquote>
<p>I wrote this in about 5 minutes with information culled from <a href="https://en.wikipedia.org/wiki/Old_College,_University_of_Edinburgh">Wikipedia</a>, and while perfectly serviceable, it’s possibly a little perfunctory.  I asked ChatGPT what it thought of my script, and it decided (unprompted) to re-write it for me to make it more ‘engaging’:</p>
<blockquote><p>Welcome to Old College, a majestic structure nestled within the heart of The University of Edinburgh. Originally named ‘New College,’ this architectural gem traces its roots back to the late 18th century. Designed by the renowned Robert Adam, its timeless elegance was later completed by William Henry Playfair in the 19th century.</p>
<p>Situated on South Bridge, Old College stands as a Category A listed building, a testament to its historical and architectural significance. In 1887, a crowning touch was added to the structure in the form of a magnificent dome. Adorning the pinnacle is a gilded statue of Youth, a creation by the skilled hands of John Hutchinson.</p>
<p>As you stand in awe of Old College, it’s not just a building; it’s a living testament to the evolution of academia and architecture. The melding of the past and present, with each stone whispering stories of the scholars who once walked its halls. Today, Old College continues to be a symbol of academic excellence and a revered landmark in the vibrant tapestry of The University of Edinburgh.</p>
<ul>
<li>Revision from ChatGPT</li>
</ul>
</blockquote>
<p>This new version does feel more like a narrative than just a list of facts, and the language use is definitely more descriptive, it goes a bit overboard with the use of evocative metaphors.  To try and rein it in a bit, I added this prompt: “That’s a little bit over the top with descriptive language, can you scale it back a little?”.  This is the new version:</p>
<blockquote><p>Old College, part of The University of Edinburgh, has a rich history dating back to the late 18th century. Originally called ‘New College,’ its design, led by Robert Adam and later completed by William Henry Playfair, stands as a testament to architectural craftsmanship.</p>
<p>Situated on South Bridge, this Category A listed building gained its distinctive dome in 1887, crowned with a gilded statue of Youth by John Hutchinson. Today, Old College preserves the charm of its past, serving as a key landmark in the University’s legacy.</p>
<p>Explore the echoes of academia within Old College’s walls, where each brick tells a story of the scholars who once roamed its corridors. This historic structure, with its timeless design, remains an enduring symbol of The University of Edinburgh’s journey through time.</p>
<ul>
<li>Revision 2 by ChatGPT</li>
</ul>
</blockquote>
<p>This time it removed some of the descriptive language of the building itself, but it replaced a metaphor of it being ‘a revered landmark in the vibrant tapestry’ of the university with one about ‘each brick telling a story’.  Let’s try refining it one more time – here’s the latest version with my prompt “How about you remove some of the metaphors, but give more descriptive language?”:</p>
<blockquote><p>Old College, integral to The University of Edinburgh, has a fascinating history rooted in the late 18th century. Originally christened ‘New College,’ it boasts an architectural legacy shaped by Robert Adam and later refined by William Henry Playfair.</p>
<p>Nestled on South Bridge, this distinguished Category A listed building acquired its iconic dome in 1887, adorned with a gilded statue of Youth crafted by John Hutchinson. Old College serves as both witness and custodian to the University’s journey through time.</p>
<p>Step into its storied corridors and be transported to an era when scholars traversed its halls. Each brick and beam narrates tales of academic pursuits and intellectual growth. Old College stands today, not just as a historic landmark, but as a living tribute to The University of Edinburgh’s enduring academic tradition.</p></blockquote>
<p>At this point it feels like ChatGPT is stuck just reiterating on a specific style of writing.  This is one of the issues I hit when looking to use a chatbot for anything creative – the model it’s using to generate text has a specific style and there isn’t an easy way to break out of that.  While ChatGPT is great for helping point you in the right direction, most of the time things will still need to be edited and refined manually to fit the exact purpose you need it for.</p>
<p>How about we experiment with this further, and see how well it handles a change in tone.  I added the a new prompt to change the genre, but not the content: “What if this was the Voice Over for a horror film?”</p>
<blockquote><p>“Deep within the shadows of The University of Edinburgh lies Old College, a structure steeped in a history that echoes with whispers of the supernatural. Once named ‘New College,’ its unsettling evolution began in the late 18th century under the design of Robert Adam, later twisted by the hands of William Henry Playfair.</p>
<p>Perched ominously on South Bridge, this foreboding Category A listed building acquired an eerie dome in 1887, crowned by a gilded statue of Youth, a macabre creation by the twisted artist John Hutchinson. Old College, now a haunting relic, conceals not only the secrets of academia but a darker, malevolent force.</p>
<p>As you traverse its desolate corridors, the air thickens with the chilling tales of scholars who met untimely fates within its haunted walls. Every brick, every step resonates with an otherworldly presence. Old College stands not as a symbol of knowledge, but as a portal to the supernatural, where the past lingers, and the spirits of the damned find no rest.”</p>
<ul>
<li>ChatGPT’s voice over for a horror film</li>
</ul>
</blockquote>
<p>Ok, a lot to unpack… not only is this now borderline defamatory calling famed sculptor John Hutchinson a ‘twisted artist’ who created ‘macabre creations’, claims that Old College is where ‘the spirits of the damned find no rest’ and is literally a ‘portal to the supernatural’, but it is <em>still</em> using that metaphor of ‘every brick tells a story’.</p>
<p>While overly flowery language can be a bit of a handful to prune back, this last revision shows where the creative ‘choices’ ChatGPT uses can start to turn truth in to pure fabrication.  The original core of the facts from my initial script are still there (the dates, the people involved, the legacy), it uses those to create completely a fictitious narrative.</p>
<p>The creative uses for ChatGPT are vast, but as an AI it has no concept of how it <strong>should</strong> use the information in your prompts, only what it <strong>can</strong> do.  Chat bots can be a useful tool, but just remember to keep it on a short leash.</p>
<p> </p>
<p>*’Bothan’ is actually a lesser-known species from Star Wars: <a href="https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan">https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan</a></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2023-12-13" itemprop="dateModified">Dec 13, 2023</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is 360º Video? – The Early Days…</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 16:24:53 +0000</pubDate>
				<category><![CDATA[DIY Film School]]></category>
		<category><![CDATA[360º]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=56</guid>

					<description><![CDATA[This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks,...]]></description>
										<content:encoded><![CDATA[<p><i>This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks, to how it can be recorded using your mobile phone and used in education.</i></p>
<h2>Cinéorama</h2>
<p>The Exposition Universelle, or better known as the 1900 Paris Exposition in English, was part of France’s drive to enter the 20th century with a reignited sense of cultural and national pride after devastation of the Great War. For nearly a decade before the exhibition grounds were due to open, countries around the world were invited to bring their greatest achievements and display their cultures on an international stage, part of the event’s bigger themes of unifying people.</p>
<p><figure style="width: 4195px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/c/c2/La_porte_monumentale%2C_Exposition_Universelle_1900.jpg" alt="" width="4195" height="2678" /><figcaption class="wp-caption-text">Brown University Library [Public domain]</figcaption></figure>Some of the highlights of the Exposition included a giant refracting telescope (60 meters long with a diameter of 1.5 meters), a display of photographs showing African American’s contributions to American society organised by sociologists and activists Booker Washington and <a href="https://en.wikipedia.org/wiki/W.E.B._Du_Bois">W.E.B. Du Bois</a> , and in a fit of what I can only imagine was either reckless abandonment or an over-eagerness to please the visiting crowds, a Russian sparkling wine won the “Grand Prix de Champagne” beating several French vintners. The first Olympic Games outside of Greece took place during the Exposition, with the winners receiving 100 francs, a tie pin, and a commemorative pencil.</p>
<p>One of the biggest draws of the Exposition was the introduction of two of the great innovations in the world of cinema: the first wide-scale demonstration of recorded sound synced with moving image, and 360º panoramic projections. Obviously the latter of the two had the greater impact in the history of entertainment. I mean, come on, how many people actually watch films with audio?</p>
<p>Oh, what’s that? Most people do? Pretty much every piece of commercial film created in the last 80 years has had synchronised sound? Nobody uses 360º panoramic video projections beyond some very limited applications? Hmm.</p>
<p>The French Cinéorama was designed and constructed specifically for the Exposition by <a href="Raoul Grimoin-Sanson">Raoul Grimoin-Sanson</a>, with the intention being to replicate a ride on a hot air balloon over Paris using ten synchronised projectors housed under the ‘basket’ of the stationary balloon model.</p>
<p><figure style="width: 1199px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/a/a6/Cineorama.jpg" alt="" width="1199" height="850" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>Built on the technology that English inventor <a href="https://en.wikipedia.org/wiki/Robert_W._Paul">Robert Paul</a> had been working on in the late 1890’s to project moving image on a screen (which was in turn based on designs stolen from Thomas Edison’s single-viewer Kinetoscope machine), the Cinéorama would project moving images onto 10 screens, each 9×9 meters, arranged in a circle around the viewer. The film was shot using 10 cameras pointing outwards from a central point which housed the cranking mechanism that wound all of the cameras at the same time – early cinema cameras were usually hand-cranked, so this made sure that the image was captured at the same speed on each camera. This rig was then attached to a real hot air balloon as it flew 400 meters about the Tuileries Gardens, filming the ascent.</p>
<p><figure style="width: 600px" class="wp-caption alignleft"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/e/ec/Cineorama_camera.jpg" alt="" width="600" height="1019" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>People would board a giant hot air balloon model in the middle of the screens, the basket of which was big enough to hold 200 people, complete with rigging and the bottom half of a balloon suspended from the ceiling. Once ‘boarded’ the spectators would look out at the screens as the projectors showed the balloon take off. Once the experience had finished, they used some cinema magic to show the balloon landing again (they played the film backwards).</p>
<p>The Cinéorama lasted a glorious whole 3 days before the police shut it down due to safety concerns – one of the workmen had fainted from the immense heat of the arc lamps used in the projectors, and as these were housed directly beneath the viewing platform, it was considered an extreme fire hazard to the spectators. After the show was shut down in the middle of day 4, it has never been shown again.</p>
<p>Things didn’t faire much better for the Exposition Universelle – due the unexpectedly high running costs of the Exposition as a whole, it ended costing the organisers about 600 francs (around £2,000 in 2018) <i>more</i> per person than the cost of admission. This was the end of this streak of Parisian international fairs.</p>
<h2>Circle-Vision 360º</h2>
<p>The rebirth of commercial 360º panoramic films came with the opening of 1955’s ‘CIRCARAMA’ cinema in Disneyland, California, showing the short film A Tour of the West, soon followed by America The Beautiful.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/rmv_P_wcZG4?start=801" width="660" height="544" frameborder="0" allowfullscreen></iframe></p>
<p>The system used in Disneyland, named ‘Circle-Vision 360°’, improved on Grimoin-Sanson’s Cinéorama system in a number of ways, with the biggest difference being that instead of having the film projectors mounted under the audience’s feet (and causing a lot of fire-risks at the same time) an odd number of screens and projectors are used – this means that each projector is placed between the screens on the opposite wall of the purpose-built circular auditorium:</p>
<figure style="width: 2320px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://patentimages.storage.googleapis.com/3e/df/f2/ef5b770a26468d/US2942516-drawings-page-2.png" alt="" width="2320" height="3408" /><figcaption class="wp-caption-text">Walter E Disney, Iwerks Ub (1956). US Patent No. US2942516A. Retrieved from https://patents.google.com/patent/US2942516</figcaption></figure>
<p>This clever bit of mathematics allows the bulky projector systems to be hidden behind the ring of screens, providing more a more immersive experience to the audience.</p>
<p>The camera system used to record the footage, however, is remarkably similar Cinéorama’s – nine cameras are arranged around a central point facing outwards, with an internal mechanism keeping the cameras in sync.</p>
<p><figure style="width: 2364px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/5/59/Circle-Vision_360_camera_%2829638534777%29_%28cropped%29.jpg" alt="" width="2364" height="1965" /><figcaption class="wp-caption-text">elisfkc from Orlando, FL, United States [CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons</figcaption></figure>The camera rig can be attached to the roof of a car or the underside of a helicopter. Given there was an intentional gap between each screen for the projectors to fit, later films used these to split-up the action between sections of the room. For example, they could show a full 360º film to start with, then fade the screens on one half of the room to show standard film footage on each screen, while maintaining the panorama on the other. This allowed for greater creative freedom, and removed the reliance of using the expensive Circle-Vision 360º cameras to capture all the footage.</p>
<p>Over the years, 5 different Disney theme parks have used Circle-Vision 360º for their attractions, and while the original has now closed at Disneyland in California, and it’s international variants at Tokyo Disneyland and Disneyland Paris closing in the early 21st century, there are 2 theatres still operating at Epcot – ‘Reflections of China’ and ‘Oh Canada!’ At each of their respective country’s pavilions in the World Showcase.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/SdUKRTeyKfU" width="660" height="544" frameborder="0" allowfullscreen></iframe> <em>Interestingly, you can actually watch this version in 360º using Google Cardboard or by clicking and dragging your mouse around the frame</em></pre>
<p> </p>
<p>Both of these act as quasi-tourism videos showing off the landscapes and cultural landmarks of each country …and the Canadian one also serves as a showcase for Martin Short’s comedic talents, so there’s that.</p>
<p>This idea of pure spectacle makes sense as a use for this pretty unique form of film-making, but it does highlight two of the biggest drawbacks of 360º cinema in an auditorium setting:</p>
<p>The first being the cost involved would make it prohibitive to film more than a few minutes worth of footage, both in terms of capturing using 9 high-quality cameras and running the multiple necessary projectors all day.</p>
<p>The second, and possibly most difficult to overcome: trying to craft a story where the viewer needs to constantly be turning their heads. Both of the 360º cinema formats mentioned here rely on the viewer being free to stand and turn all the way around to find and follow points of interest. Indicating where a person should be looking at all times is tricky when it might be behind them. Constantly having your characters announce themselves and give time for people to move around and look in their direction could kill the tension in your drama.</p>
<p><em>Thank you for coming along on our first journey in to 360º video. In our next article we’ll be diving in to the world of modern film and content creation for 360º and VR, and how this can be used in education.</em></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2019-02-18" itemprop="dateModified">Feb 18, 2019</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(3) {
    [0]=>
    object(WP_Http_Cookie)#2413 (7) {
      ["name"]=>
      string(9) "PHPSESSID"
      ["value"]=>
      string(26) "9susne4jtjhh5k4fg83a29j2i4"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [1]=>
    object(WP_Http_Cookie)#2412 (7) {
      ["name"]=>
      string(10) "spo_201_fa"
      ["value"]=>
      string(32) "971e57e158fd4a5340f44852bfb286f0"
      ["expires"]=>
      int(1781841674)
      ["path"]=>
      string(13) "/mediahopper/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [2]=>
    object(WP_Http_Cookie)#2414 (7) {
      ["name"]=>
      string(8) "RCKBMHKB"
      ["value"]=>
      string(85) "027ff8be59-56fd-48BNWWQvsrG4v4ga3WgRLZ5QjQjTP_v37yjsgJdm85mkb38pxldh1Hs34ENAoSe5lWAy4"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#2400 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#2402 (10) {
      ["body"]=>
      string(26397) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>Media Hopper</title>
	<atom:link href="https://blogs.ed.ac.uk/mediahopper/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/mediahopper</link>
	<description>Articles and ramblings on Media Hopper Create & Media Hopper Replay, as well as DIY Film School and Apple Podcasts</description>
	<lastBuildDate>Thu, 14 Dec 2023 17:57:08 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>Using Chat GPT to refine narratives</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Wed, 13 Dec 2023 12:11:21 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=120</guid>

					<description><![CDATA[2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less...]]></description>
										<content:encoded><![CDATA[<p>2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less hilarity-inducing ‘lets spend 20 minutes phrasing this perfectly so I actually get something useful’ way.  A lot of companies have been working on growing ‘large language models’ for use in AI for a while, but the one that really captured people’s attention in 2023 has been OpenAI’s ChatGPT.</p>
<p>There are many other flavours of AI chatty-Cathy’s out there with colourful names such as Bard, Claude, Grok, LLaMA, Bothan, and Ernie Bot (one of those I made up*), but ChatGPT has become the go-to chatbot for a lot of people, with over 100 million users registered on the service.  In the past 12 months, the top 2 fastest-rising search terms on Google from the UK are ‘ChatGPT’ and ‘Chat GPT’.</p>
<p><img decoding="async" class="alignnone size-medium wp-image-121" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png" alt="" width="300" height="253" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55.png 585w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>While there are a lot of uses for ChatGPT and similar AI services, one that has some people worried about its potential impact is its use for creative purposes.  The use of AI-generated images and music has raised questions about whether human artists will get shut out of the process if it’s quicker and cheaper to ask a bot to create art, and the recent SAG-AFTRA and WGA strikes that took Hollywood to a grinding halt earlier this year was at least in part because of the actors and writer’s unions wanting to ensure there were protections in updated contracts to limit AI’s impact on filmmaking.</p>
<p>While we’re likely at least a few years away from the best original screenplay Academy Award going to ChatBot_182.432.1REV3, ChatGPT can be used as a tool in a lot of ways for narrative storytelling.  It certainly can write a full story for you, but it can go off in pretty wild places with some… <em>interesting </em>narrative choices.</p>
<p>With the simple prompt ‘Hey ChatGPT, write me a story’, I got a 450 word tale of a character named Luna who lived in a ‘Blade Runner’-esque neon city worked as a librarian by day, and by night used her supernatural powers to turn the books on her shelves in to magical realms.  She proceeds to find a kingdom in peril, talk to a wise old owl and a mischievous sprite, solve puzzles, go through enchanted forests, and save the day using the power of imagination.  That’s a lot to cram in to 450 words.  <em>You can read the full story here with the password LunasMidnightOdyssey – <a href="https://blogs.ed.ac.uk/mediahopper/lunas-midnight-odyssey/">full story</a></em></p>
<p>This is one of the problems with just giving ChatGPT free reign to do what it ‘wants’ when being creative, it doesn’t really understand scale or that just throwing every plot point it can generate in to a list doesn’t really make a story.</p>
<figure id="attachment_130" aria-describedby="caption-attachment-130" style="width: 700px" class="wp-caption aligncenter center"><img decoding="async" class="aligncenter size-large wp-image-130" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg" alt="" width="700" height="468" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg 1024w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-300x200.jpg 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-768x513.jpg 768w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1140x761.jpg 1140w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c.jpg 1536w" sizes="(max-width: 700px) 100vw, 700px" /><figcaption id="caption-attachment-130" class="wp-caption-text">Old College by Playfair, William, University of Edinburgh is available under a CC BY 3.0 Unported licence. https://images.is.ed.ac.uk/luna/servlet/s/m671gu</figcaption></figure>
<p>ChatGPT’s really power for creating narrative, at least in its current state, is in using it to refine a story, or to help work through ideas.  Let’s say I’m trying create a new video for Media Hopper Create about the history of Old College, and want to write a voice over.  Here’s a quick draft:</p>
<blockquote><p>Old College its part of The University of Edinburgh and was mostly built from the late 18th to early 19th century.  Originally named ‘New College’, it is a Category A listed building located on South Bridge.  The original design was by Robert Adam, with the modern design being completed by William Henry Playfair.  The dome was added to the building in 1887, with a gilded statue of Youth by John Hutchinson.</p>
<ul>
<li>Original version</li>
</ul>
</blockquote>
<p>I wrote this in about 5 minutes with information culled from <a href="https://en.wikipedia.org/wiki/Old_College,_University_of_Edinburgh">Wikipedia</a>, and while perfectly serviceable, it’s possibly a little perfunctory.  I asked ChatGPT what it thought of my script, and it decided (unprompted) to re-write it for me to make it more ‘engaging’:</p>
<blockquote><p>Welcome to Old College, a majestic structure nestled within the heart of The University of Edinburgh. Originally named ‘New College,’ this architectural gem traces its roots back to the late 18th century. Designed by the renowned Robert Adam, its timeless elegance was later completed by William Henry Playfair in the 19th century.</p>
<p>Situated on South Bridge, Old College stands as a Category A listed building, a testament to its historical and architectural significance. In 1887, a crowning touch was added to the structure in the form of a magnificent dome. Adorning the pinnacle is a gilded statue of Youth, a creation by the skilled hands of John Hutchinson.</p>
<p>As you stand in awe of Old College, it’s not just a building; it’s a living testament to the evolution of academia and architecture. The melding of the past and present, with each stone whispering stories of the scholars who once walked its halls. Today, Old College continues to be a symbol of academic excellence and a revered landmark in the vibrant tapestry of The University of Edinburgh.</p>
<ul>
<li>Revision from ChatGPT</li>
</ul>
</blockquote>
<p>This new version does feel more like a narrative than just a list of facts, and the language use is definitely more descriptive, it goes a bit overboard with the use of evocative metaphors.  To try and rein it in a bit, I added this prompt: “That’s a little bit over the top with descriptive language, can you scale it back a little?”.  This is the new version:</p>
<blockquote><p>Old College, part of The University of Edinburgh, has a rich history dating back to the late 18th century. Originally called ‘New College,’ its design, led by Robert Adam and later completed by William Henry Playfair, stands as a testament to architectural craftsmanship.</p>
<p>Situated on South Bridge, this Category A listed building gained its distinctive dome in 1887, crowned with a gilded statue of Youth by John Hutchinson. Today, Old College preserves the charm of its past, serving as a key landmark in the University’s legacy.</p>
<p>Explore the echoes of academia within Old College’s walls, where each brick tells a story of the scholars who once roamed its corridors. This historic structure, with its timeless design, remains an enduring symbol of The University of Edinburgh’s journey through time.</p>
<ul>
<li>Revision 2 by ChatGPT</li>
</ul>
</blockquote>
<p>This time it removed some of the descriptive language of the building itself, but it replaced a metaphor of it being ‘a revered landmark in the vibrant tapestry’ of the university with one about ‘each brick telling a story’.  Let’s try refining it one more time – here’s the latest version with my prompt “How about you remove some of the metaphors, but give more descriptive language?”:</p>
<blockquote><p>Old College, integral to The University of Edinburgh, has a fascinating history rooted in the late 18th century. Originally christened ‘New College,’ it boasts an architectural legacy shaped by Robert Adam and later refined by William Henry Playfair.</p>
<p>Nestled on South Bridge, this distinguished Category A listed building acquired its iconic dome in 1887, adorned with a gilded statue of Youth crafted by John Hutchinson. Old College serves as both witness and custodian to the University’s journey through time.</p>
<p>Step into its storied corridors and be transported to an era when scholars traversed its halls. Each brick and beam narrates tales of academic pursuits and intellectual growth. Old College stands today, not just as a historic landmark, but as a living tribute to The University of Edinburgh’s enduring academic tradition.</p></blockquote>
<p>At this point it feels like ChatGPT is stuck just reiterating on a specific style of writing.  This is one of the issues I hit when looking to use a chatbot for anything creative – the model it’s using to generate text has a specific style and there isn’t an easy way to break out of that.  While ChatGPT is great for helping point you in the right direction, most of the time things will still need to be edited and refined manually to fit the exact purpose you need it for.</p>
<p>How about we experiment with this further, and see how well it handles a change in tone.  I added the a new prompt to change the genre, but not the content: “What if this was the Voice Over for a horror film?”</p>
<blockquote><p>“Deep within the shadows of The University of Edinburgh lies Old College, a structure steeped in a history that echoes with whispers of the supernatural. Once named ‘New College,’ its unsettling evolution began in the late 18th century under the design of Robert Adam, later twisted by the hands of William Henry Playfair.</p>
<p>Perched ominously on South Bridge, this foreboding Category A listed building acquired an eerie dome in 1887, crowned by a gilded statue of Youth, a macabre creation by the twisted artist John Hutchinson. Old College, now a haunting relic, conceals not only the secrets of academia but a darker, malevolent force.</p>
<p>As you traverse its desolate corridors, the air thickens with the chilling tales of scholars who met untimely fates within its haunted walls. Every brick, every step resonates with an otherworldly presence. Old College stands not as a symbol of knowledge, but as a portal to the supernatural, where the past lingers, and the spirits of the damned find no rest.”</p>
<ul>
<li>ChatGPT’s voice over for a horror film</li>
</ul>
</blockquote>
<p>Ok, a lot to unpack… not only is this now borderline defamatory calling famed sculptor John Hutchinson a ‘twisted artist’ who created ‘macabre creations’, claims that Old College is where ‘the spirits of the damned find no rest’ and is literally a ‘portal to the supernatural’, but it is <em>still</em> using that metaphor of ‘every brick tells a story’.</p>
<p>While overly flowery language can be a bit of a handful to prune back, this last revision shows where the creative ‘choices’ ChatGPT uses can start to turn truth in to pure fabrication.  The original core of the facts from my initial script are still there (the dates, the people involved, the legacy), it uses those to create completely a fictitious narrative.</p>
<p>The creative uses for ChatGPT are vast, but as an AI it has no concept of how it <strong>should</strong> use the information in your prompts, only what it <strong>can</strong> do.  Chat bots can be a useful tool, but just remember to keep it on a short leash.</p>
<p> </p>
<p>*’Bothan’ is actually a lesser-known species from Star Wars: <a href="https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan">https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan</a></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2023-12-13" itemprop="dateModified">Dec 13, 2023</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is 360º Video? – The Early Days…</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 16:24:53 +0000</pubDate>
				<category><![CDATA[DIY Film School]]></category>
		<category><![CDATA[360º]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=56</guid>

					<description><![CDATA[This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks,...]]></description>
										<content:encoded><![CDATA[<p><i>This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks, to how it can be recorded using your mobile phone and used in education.</i></p>
<h2>Cinéorama</h2>
<p>The Exposition Universelle, or better known as the 1900 Paris Exposition in English, was part of France’s drive to enter the 20th century with a reignited sense of cultural and national pride after devastation of the Great War. For nearly a decade before the exhibition grounds were due to open, countries around the world were invited to bring their greatest achievements and display their cultures on an international stage, part of the event’s bigger themes of unifying people.</p>
<p><figure style="width: 4195px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/c/c2/La_porte_monumentale%2C_Exposition_Universelle_1900.jpg" alt="" width="4195" height="2678" /><figcaption class="wp-caption-text">Brown University Library [Public domain]</figcaption></figure>Some of the highlights of the Exposition included a giant refracting telescope (60 meters long with a diameter of 1.5 meters), a display of photographs showing African American’s contributions to American society organised by sociologists and activists Booker Washington and <a href="https://en.wikipedia.org/wiki/W.E.B._Du_Bois">W.E.B. Du Bois</a> , and in a fit of what I can only imagine was either reckless abandonment or an over-eagerness to please the visiting crowds, a Russian sparkling wine won the “Grand Prix de Champagne” beating several French vintners. The first Olympic Games outside of Greece took place during the Exposition, with the winners receiving 100 francs, a tie pin, and a commemorative pencil.</p>
<p>One of the biggest draws of the Exposition was the introduction of two of the great innovations in the world of cinema: the first wide-scale demonstration of recorded sound synced with moving image, and 360º panoramic projections. Obviously the latter of the two had the greater impact in the history of entertainment. I mean, come on, how many people actually watch films with audio?</p>
<p>Oh, what’s that? Most people do? Pretty much every piece of commercial film created in the last 80 years has had synchronised sound? Nobody uses 360º panoramic video projections beyond some very limited applications? Hmm.</p>
<p>The French Cinéorama was designed and constructed specifically for the Exposition by <a href="Raoul Grimoin-Sanson">Raoul Grimoin-Sanson</a>, with the intention being to replicate a ride on a hot air balloon over Paris using ten synchronised projectors housed under the ‘basket’ of the stationary balloon model.</p>
<p><figure style="width: 1199px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/a/a6/Cineorama.jpg" alt="" width="1199" height="850" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>Built on the technology that English inventor <a href="https://en.wikipedia.org/wiki/Robert_W._Paul">Robert Paul</a> had been working on in the late 1890’s to project moving image on a screen (which was in turn based on designs stolen from Thomas Edison’s single-viewer Kinetoscope machine), the Cinéorama would project moving images onto 10 screens, each 9×9 meters, arranged in a circle around the viewer. The film was shot using 10 cameras pointing outwards from a central point which housed the cranking mechanism that wound all of the cameras at the same time – early cinema cameras were usually hand-cranked, so this made sure that the image was captured at the same speed on each camera. This rig was then attached to a real hot air balloon as it flew 400 meters about the Tuileries Gardens, filming the ascent.</p>
<p><figure style="width: 600px" class="wp-caption alignleft"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/e/ec/Cineorama_camera.jpg" alt="" width="600" height="1019" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>People would board a giant hot air balloon model in the middle of the screens, the basket of which was big enough to hold 200 people, complete with rigging and the bottom half of a balloon suspended from the ceiling. Once ‘boarded’ the spectators would look out at the screens as the projectors showed the balloon take off. Once the experience had finished, they used some cinema magic to show the balloon landing again (they played the film backwards).</p>
<p>The Cinéorama lasted a glorious whole 3 days before the police shut it down due to safety concerns – one of the workmen had fainted from the immense heat of the arc lamps used in the projectors, and as these were housed directly beneath the viewing platform, it was considered an extreme fire hazard to the spectators. After the show was shut down in the middle of day 4, it has never been shown again.</p>
<p>Things didn’t faire much better for the Exposition Universelle – due the unexpectedly high running costs of the Exposition as a whole, it ended costing the organisers about 600 francs (around £2,000 in 2018) <i>more</i> per person than the cost of admission. This was the end of this streak of Parisian international fairs.</p>
<h2>Circle-Vision 360º</h2>
<p>The rebirth of commercial 360º panoramic films came with the opening of 1955’s ‘CIRCARAMA’ cinema in Disneyland, California, showing the short film A Tour of the West, soon followed by America The Beautiful.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/rmv_P_wcZG4?start=801" width="660" height="544" frameborder="0" allowfullscreen></iframe></p>
<p>The system used in Disneyland, named ‘Circle-Vision 360°’, improved on Grimoin-Sanson’s Cinéorama system in a number of ways, with the biggest difference being that instead of having the film projectors mounted under the audience’s feet (and causing a lot of fire-risks at the same time) an odd number of screens and projectors are used – this means that each projector is placed between the screens on the opposite wall of the purpose-built circular auditorium:</p>
<figure style="width: 2320px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://patentimages.storage.googleapis.com/3e/df/f2/ef5b770a26468d/US2942516-drawings-page-2.png" alt="" width="2320" height="3408" /><figcaption class="wp-caption-text">Walter E Disney, Iwerks Ub (1956). US Patent No. US2942516A. Retrieved from https://patents.google.com/patent/US2942516</figcaption></figure>
<p>This clever bit of mathematics allows the bulky projector systems to be hidden behind the ring of screens, providing more a more immersive experience to the audience.</p>
<p>The camera system used to record the footage, however, is remarkably similar Cinéorama’s – nine cameras are arranged around a central point facing outwards, with an internal mechanism keeping the cameras in sync.</p>
<p><figure style="width: 2364px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/5/59/Circle-Vision_360_camera_%2829638534777%29_%28cropped%29.jpg" alt="" width="2364" height="1965" /><figcaption class="wp-caption-text">elisfkc from Orlando, FL, United States [CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons</figcaption></figure>The camera rig can be attached to the roof of a car or the underside of a helicopter. Given there was an intentional gap between each screen for the projectors to fit, later films used these to split-up the action between sections of the room. For example, they could show a full 360º film to start with, then fade the screens on one half of the room to show standard film footage on each screen, while maintaining the panorama on the other. This allowed for greater creative freedom, and removed the reliance of using the expensive Circle-Vision 360º cameras to capture all the footage.</p>
<p>Over the years, 5 different Disney theme parks have used Circle-Vision 360º for their attractions, and while the original has now closed at Disneyland in California, and it’s international variants at Tokyo Disneyland and Disneyland Paris closing in the early 21st century, there are 2 theatres still operating at Epcot – ‘Reflections of China’ and ‘Oh Canada!’ At each of their respective country’s pavilions in the World Showcase.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/SdUKRTeyKfU" width="660" height="544" frameborder="0" allowfullscreen></iframe> <em>Interestingly, you can actually watch this version in 360º using Google Cardboard or by clicking and dragging your mouse around the frame</em></pre>
<p> </p>
<p>Both of these act as quasi-tourism videos showing off the landscapes and cultural landmarks of each country …and the Canadian one also serves as a showcase for Martin Short’s comedic talents, so there’s that.</p>
<p>This idea of pure spectacle makes sense as a use for this pretty unique form of film-making, but it does highlight two of the biggest drawbacks of 360º cinema in an auditorium setting:</p>
<p>The first being the cost involved would make it prohibitive to film more than a few minutes worth of footage, both in terms of capturing using 9 high-quality cameras and running the multiple necessary projectors all day.</p>
<p>The second, and possibly most difficult to overcome: trying to craft a story where the viewer needs to constantly be turning their heads. Both of the 360º cinema formats mentioned here rely on the viewer being free to stand and turn all the way around to find and follow points of interest. Indicating where a person should be looking at all times is tricky when it might be behind them. Constantly having your characters announce themselves and give time for people to move around and look in their direction could kill the tension in your drama.</p>
<p><em>Thank you for coming along on our first journey in to 360º video. In our next article we’ll be diving in to the world of modern film and content creation for 360º and VR, and how this can be used in education.</em></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2019-02-18" itemprop="dateModified">Feb 18, 2019</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(27255) "HTTP/1.1 200 OK
Content-Type: application/rss+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Date: Fri, 19 Jun 2026 03:31:14 GMT
Server: Apache
X-Powered-By: PHP/8.3.31
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://blogs.ed.ac.uk/mediahopper/wp-json/>; rel="https://api.w.org/"
Set-Cookie: PHPSESSID=9susne4jtjhh5k4fg83a29j2i4; path=/; secure; HttpOnly
Set-Cookie: spo_201_fa=971e57e158fd4a5340f44852bfb286f0; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/mediahopper/; Secure; HttpOnly
Last-Modified: Thu, 14 Dec 2023 17:57:08 GMT
ETag: "45cf9c638f115d3823aeba3d2008b07b"
Vary: Accept-Encoding
Set-Cookie: RCKBMHKB=027ff8be59-56fd-48BNWWQvsrG4v4ga3WgRLZ5QjQjTP_v37yjsgJdm85mkb38pxldh1Hs34ENAoSe5lWAy4; path=/; SameSite=None; Secure

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>Media Hopper</title>
	<atom:link href="https://blogs.ed.ac.uk/mediahopper/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/mediahopper</link>
	<description>Articles and ramblings on Media Hopper Create & Media Hopper Replay, as well as DIY Film School and Apple Podcasts</description>
	<lastBuildDate>Thu, 14 Dec 2023 17:57:08 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>Using Chat GPT to refine narratives</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Wed, 13 Dec 2023 12:11:21 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=120</guid>

					<description><![CDATA[2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less...]]></description>
										<content:encoded><![CDATA[<p>2023 has been the year of chatting with robots.  Not in a fun-and-hijinks ‘Short Circuit’ way, but in a less hilarity-inducing ‘lets spend 20 minutes phrasing this perfectly so I actually get something useful’ way.  A lot of companies have been working on growing ‘large language models’ for use in AI for a while, but the one that really captured people’s attention in 2023 has been OpenAI’s ChatGPT.</p>
<p>There are many other flavours of AI chatty-Cathy’s out there with colourful names such as Bard, Claude, Grok, LLaMA, Bothan, and Ernie Bot (one of those I made up*), but ChatGPT has become the go-to chatbot for a lot of people, with over 100 million users registered on the service.  In the past 12 months, the top 2 fastest-rising search terms on Google from the UK are ‘ChatGPT’ and ‘Chat GPT’.</p>
<p><img decoding="async" class="alignnone size-medium wp-image-121" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png" alt="" width="300" height="253" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55-300x253.png 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/Screenshot-2023-12-13-at-09.38.55.png 585w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>While there are a lot of uses for ChatGPT and similar AI services, one that has some people worried about its potential impact is its use for creative purposes.  The use of AI-generated images and music has raised questions about whether human artists will get shut out of the process if it’s quicker and cheaper to ask a bot to create art, and the recent SAG-AFTRA and WGA strikes that took Hollywood to a grinding halt earlier this year was at least in part because of the actors and writer’s unions wanting to ensure there were protections in updated contracts to limit AI’s impact on filmmaking.</p>
<p>While we’re likely at least a few years away from the best original screenplay Academy Award going to ChatBot_182.432.1REV3, ChatGPT can be used as a tool in a lot of ways for narrative storytelling.  It certainly can write a full story for you, but it can go off in pretty wild places with some… <em>interesting </em>narrative choices.</p>
<p>With the simple prompt ‘Hey ChatGPT, write me a story’, I got a 450 word tale of a character named Luna who lived in a ‘Blade Runner’-esque neon city worked as a librarian by day, and by night used her supernatural powers to turn the books on her shelves in to magical realms.  She proceeds to find a kingdom in peril, talk to a wise old owl and a mischievous sprite, solve puzzles, go through enchanted forests, and save the day using the power of imagination.  That’s a lot to cram in to 450 words.  <em>You can read the full story here with the password LunasMidnightOdyssey – <a href="https://blogs.ed.ac.uk/mediahopper/lunas-midnight-odyssey/">full story</a></em></p>
<p>This is one of the problems with just giving ChatGPT free reign to do what it ‘wants’ when being creative, it doesn’t really understand scale or that just throwing every plot point it can generate in to a list doesn’t really make a story.</p>
<figure id="attachment_130" aria-describedby="caption-attachment-130" style="width: 700px" class="wp-caption aligncenter center"><img decoding="async" class="aligncenter size-large wp-image-130" src="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg" alt="" width="700" height="468" srcset="https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1024x684.jpg 1024w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-300x200.jpg 300w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-768x513.jpg 768w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c-1140x761.jpg 1140w, https://blogs.ed.ac.uk/mediahopper/wp-content/uploads/sites/201/2023/12/0078862c.jpg 1536w" sizes="(max-width: 700px) 100vw, 700px" /><figcaption id="caption-attachment-130" class="wp-caption-text">Old College by Playfair, William, University of Edinburgh is available under a CC BY 3.0 Unported licence. https://images.is.ed.ac.uk/luna/servlet/s/m671gu</figcaption></figure>
<p>ChatGPT’s really power for creating narrative, at least in its current state, is in using it to refine a story, or to help work through ideas.  Let’s say I’m trying create a new video for Media Hopper Create about the history of Old College, and want to write a voice over.  Here’s a quick draft:</p>
<blockquote><p>Old College its part of The University of Edinburgh and was mostly built from the late 18th to early 19th century.  Originally named ‘New College’, it is a Category A listed building located on South Bridge.  The original design was by Robert Adam, with the modern design being completed by William Henry Playfair.  The dome was added to the building in 1887, with a gilded statue of Youth by John Hutchinson.</p>
<ul>
<li>Original version</li>
</ul>
</blockquote>
<p>I wrote this in about 5 minutes with information culled from <a href="https://en.wikipedia.org/wiki/Old_College,_University_of_Edinburgh">Wikipedia</a>, and while perfectly serviceable, it’s possibly a little perfunctory.  I asked ChatGPT what it thought of my script, and it decided (unprompted) to re-write it for me to make it more ‘engaging’:</p>
<blockquote><p>Welcome to Old College, a majestic structure nestled within the heart of The University of Edinburgh. Originally named ‘New College,’ this architectural gem traces its roots back to the late 18th century. Designed by the renowned Robert Adam, its timeless elegance was later completed by William Henry Playfair in the 19th century.</p>
<p>Situated on South Bridge, Old College stands as a Category A listed building, a testament to its historical and architectural significance. In 1887, a crowning touch was added to the structure in the form of a magnificent dome. Adorning the pinnacle is a gilded statue of Youth, a creation by the skilled hands of John Hutchinson.</p>
<p>As you stand in awe of Old College, it’s not just a building; it’s a living testament to the evolution of academia and architecture. The melding of the past and present, with each stone whispering stories of the scholars who once walked its halls. Today, Old College continues to be a symbol of academic excellence and a revered landmark in the vibrant tapestry of The University of Edinburgh.</p>
<ul>
<li>Revision from ChatGPT</li>
</ul>
</blockquote>
<p>This new version does feel more like a narrative than just a list of facts, and the language use is definitely more descriptive, it goes a bit overboard with the use of evocative metaphors.  To try and rein it in a bit, I added this prompt: “That’s a little bit over the top with descriptive language, can you scale it back a little?”.  This is the new version:</p>
<blockquote><p>Old College, part of The University of Edinburgh, has a rich history dating back to the late 18th century. Originally called ‘New College,’ its design, led by Robert Adam and later completed by William Henry Playfair, stands as a testament to architectural craftsmanship.</p>
<p>Situated on South Bridge, this Category A listed building gained its distinctive dome in 1887, crowned with a gilded statue of Youth by John Hutchinson. Today, Old College preserves the charm of its past, serving as a key landmark in the University’s legacy.</p>
<p>Explore the echoes of academia within Old College’s walls, where each brick tells a story of the scholars who once roamed its corridors. This historic structure, with its timeless design, remains an enduring symbol of The University of Edinburgh’s journey through time.</p>
<ul>
<li>Revision 2 by ChatGPT</li>
</ul>
</blockquote>
<p>This time it removed some of the descriptive language of the building itself, but it replaced a metaphor of it being ‘a revered landmark in the vibrant tapestry’ of the university with one about ‘each brick telling a story’.  Let’s try refining it one more time – here’s the latest version with my prompt “How about you remove some of the metaphors, but give more descriptive language?”:</p>
<blockquote><p>Old College, integral to The University of Edinburgh, has a fascinating history rooted in the late 18th century. Originally christened ‘New College,’ it boasts an architectural legacy shaped by Robert Adam and later refined by William Henry Playfair.</p>
<p>Nestled on South Bridge, this distinguished Category A listed building acquired its iconic dome in 1887, adorned with a gilded statue of Youth crafted by John Hutchinson. Old College serves as both witness and custodian to the University’s journey through time.</p>
<p>Step into its storied corridors and be transported to an era when scholars traversed its halls. Each brick and beam narrates tales of academic pursuits and intellectual growth. Old College stands today, not just as a historic landmark, but as a living tribute to The University of Edinburgh’s enduring academic tradition.</p></blockquote>
<p>At this point it feels like ChatGPT is stuck just reiterating on a specific style of writing.  This is one of the issues I hit when looking to use a chatbot for anything creative – the model it’s using to generate text has a specific style and there isn’t an easy way to break out of that.  While ChatGPT is great for helping point you in the right direction, most of the time things will still need to be edited and refined manually to fit the exact purpose you need it for.</p>
<p>How about we experiment with this further, and see how well it handles a change in tone.  I added the a new prompt to change the genre, but not the content: “What if this was the Voice Over for a horror film?”</p>
<blockquote><p>“Deep within the shadows of The University of Edinburgh lies Old College, a structure steeped in a history that echoes with whispers of the supernatural. Once named ‘New College,’ its unsettling evolution began in the late 18th century under the design of Robert Adam, later twisted by the hands of William Henry Playfair.</p>
<p>Perched ominously on South Bridge, this foreboding Category A listed building acquired an eerie dome in 1887, crowned by a gilded statue of Youth, a macabre creation by the twisted artist John Hutchinson. Old College, now a haunting relic, conceals not only the secrets of academia but a darker, malevolent force.</p>
<p>As you traverse its desolate corridors, the air thickens with the chilling tales of scholars who met untimely fates within its haunted walls. Every brick, every step resonates with an otherworldly presence. Old College stands not as a symbol of knowledge, but as a portal to the supernatural, where the past lingers, and the spirits of the damned find no rest.”</p>
<ul>
<li>ChatGPT’s voice over for a horror film</li>
</ul>
</blockquote>
<p>Ok, a lot to unpack… not only is this now borderline defamatory calling famed sculptor John Hutchinson a ‘twisted artist’ who created ‘macabre creations’, claims that Old College is where ‘the spirits of the damned find no rest’ and is literally a ‘portal to the supernatural’, but it is <em>still</em> using that metaphor of ‘every brick tells a story’.</p>
<p>While overly flowery language can be a bit of a handful to prune back, this last revision shows where the creative ‘choices’ ChatGPT uses can start to turn truth in to pure fabrication.  The original core of the facts from my initial script are still there (the dates, the people involved, the legacy), it uses those to create completely a fictitious narrative.</p>
<p>The creative uses for ChatGPT are vast, but as an AI it has no concept of how it <strong>should</strong> use the information in your prompts, only what it <strong>can</strong> do.  Chat bots can be a useful tool, but just remember to keep it on a short leash.</p>
<p> </p>
<p>*’Bothan’ is actually a lesser-known species from Star Wars: <a href="https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan">https://en.wikipedia.org/wiki/List_of_Star_Wars_species_(A–E)#Bothan</a></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2023-12-13" itemprop="dateModified">Dec 13, 2023</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2023/12/13/using-chat-gpt-to-refine-narratives/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is 360º Video? – The Early Days…</title>
		<link>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/</link>
					<comments>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/#respond</comments>
		
		<dc:creator><![CDATA[Liam Duffy]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 16:24:53 +0000</pubDate>
				<category><![CDATA[DIY Film School]]></category>
		<category><![CDATA[360º]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/mediahopper/?p=56</guid>

					<description><![CDATA[This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks,...]]></description>
										<content:encoded><![CDATA[<p><i>This is part of a series of posts exploring 360º videos, going from its roots in expositions and theme parks, to how it can be recorded using your mobile phone and used in education.</i></p>
<h2>Cinéorama</h2>
<p>The Exposition Universelle, or better known as the 1900 Paris Exposition in English, was part of France’s drive to enter the 20th century with a reignited sense of cultural and national pride after devastation of the Great War. For nearly a decade before the exhibition grounds were due to open, countries around the world were invited to bring their greatest achievements and display their cultures on an international stage, part of the event’s bigger themes of unifying people.</p>
<p><figure style="width: 4195px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/c/c2/La_porte_monumentale%2C_Exposition_Universelle_1900.jpg" alt="" width="4195" height="2678" /><figcaption class="wp-caption-text">Brown University Library [Public domain]</figcaption></figure>Some of the highlights of the Exposition included a giant refracting telescope (60 meters long with a diameter of 1.5 meters), a display of photographs showing African American’s contributions to American society organised by sociologists and activists Booker Washington and <a href="https://en.wikipedia.org/wiki/W.E.B._Du_Bois">W.E.B. Du Bois</a> , and in a fit of what I can only imagine was either reckless abandonment or an over-eagerness to please the visiting crowds, a Russian sparkling wine won the “Grand Prix de Champagne” beating several French vintners. The first Olympic Games outside of Greece took place during the Exposition, with the winners receiving 100 francs, a tie pin, and a commemorative pencil.</p>
<p>One of the biggest draws of the Exposition was the introduction of two of the great innovations in the world of cinema: the first wide-scale demonstration of recorded sound synced with moving image, and 360º panoramic projections. Obviously the latter of the two had the greater impact in the history of entertainment. I mean, come on, how many people actually watch films with audio?</p>
<p>Oh, what’s that? Most people do? Pretty much every piece of commercial film created in the last 80 years has had synchronised sound? Nobody uses 360º panoramic video projections beyond some very limited applications? Hmm.</p>
<p>The French Cinéorama was designed and constructed specifically for the Exposition by <a href="Raoul Grimoin-Sanson">Raoul Grimoin-Sanson</a>, with the intention being to replicate a ride on a hot air balloon over Paris using ten synchronised projectors housed under the ‘basket’ of the stationary balloon model.</p>
<p><figure style="width: 1199px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/a/a6/Cineorama.jpg" alt="" width="1199" height="850" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>Built on the technology that English inventor <a href="https://en.wikipedia.org/wiki/Robert_W._Paul">Robert Paul</a> had been working on in the late 1890’s to project moving image on a screen (which was in turn based on designs stolen from Thomas Edison’s single-viewer Kinetoscope machine), the Cinéorama would project moving images onto 10 screens, each 9×9 meters, arranged in a circle around the viewer. The film was shot using 10 cameras pointing outwards from a central point which housed the cranking mechanism that wound all of the cameras at the same time – early cinema cameras were usually hand-cranked, so this made sure that the image was captured at the same speed on each camera. This rig was then attached to a real hot air balloon as it flew 400 meters about the Tuileries Gardens, filming the ascent.</p>
<p><figure style="width: 600px" class="wp-caption alignleft"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/e/ec/Cineorama_camera.jpg" alt="" width="600" height="1019" /><figcaption class="wp-caption-text">Louis Poyet [Public domain]</figcaption></figure>People would board a giant hot air balloon model in the middle of the screens, the basket of which was big enough to hold 200 people, complete with rigging and the bottom half of a balloon suspended from the ceiling. Once ‘boarded’ the spectators would look out at the screens as the projectors showed the balloon take off. Once the experience had finished, they used some cinema magic to show the balloon landing again (they played the film backwards).</p>
<p>The Cinéorama lasted a glorious whole 3 days before the police shut it down due to safety concerns – one of the workmen had fainted from the immense heat of the arc lamps used in the projectors, and as these were housed directly beneath the viewing platform, it was considered an extreme fire hazard to the spectators. After the show was shut down in the middle of day 4, it has never been shown again.</p>
<p>Things didn’t faire much better for the Exposition Universelle – due the unexpectedly high running costs of the Exposition as a whole, it ended costing the organisers about 600 francs (around £2,000 in 2018) <i>more</i> per person than the cost of admission. This was the end of this streak of Parisian international fairs.</p>
<h2>Circle-Vision 360º</h2>
<p>The rebirth of commercial 360º panoramic films came with the opening of 1955’s ‘CIRCARAMA’ cinema in Disneyland, California, showing the short film A Tour of the West, soon followed by America The Beautiful.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/rmv_P_wcZG4?start=801" width="660" height="544" frameborder="0" allowfullscreen></iframe></p>
<p>The system used in Disneyland, named ‘Circle-Vision 360°’, improved on Grimoin-Sanson’s Cinéorama system in a number of ways, with the biggest difference being that instead of having the film projectors mounted under the audience’s feet (and causing a lot of fire-risks at the same time) an odd number of screens and projectors are used – this means that each projector is placed between the screens on the opposite wall of the purpose-built circular auditorium:</p>
<figure style="width: 2320px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://patentimages.storage.googleapis.com/3e/df/f2/ef5b770a26468d/US2942516-drawings-page-2.png" alt="" width="2320" height="3408" /><figcaption class="wp-caption-text">Walter E Disney, Iwerks Ub (1956). US Patent No. US2942516A. Retrieved from https://patents.google.com/patent/US2942516</figcaption></figure>
<p>This clever bit of mathematics allows the bulky projector systems to be hidden behind the ring of screens, providing more a more immersive experience to the audience.</p>
<p>The camera system used to record the footage, however, is remarkably similar Cinéorama’s – nine cameras are arranged around a central point facing outwards, with an internal mechanism keeping the cameras in sync.</p>
<p><figure style="width: 2364px" class="wp-caption alignnone"><img loading="lazy" decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/5/59/Circle-Vision_360_camera_%2829638534777%29_%28cropped%29.jpg" alt="" width="2364" height="1965" /><figcaption class="wp-caption-text">elisfkc from Orlando, FL, United States [CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons</figcaption></figure>The camera rig can be attached to the roof of a car or the underside of a helicopter. Given there was an intentional gap between each screen for the projectors to fit, later films used these to split-up the action between sections of the room. For example, they could show a full 360º film to start with, then fade the screens on one half of the room to show standard film footage on each screen, while maintaining the panorama on the other. This allowed for greater creative freedom, and removed the reliance of using the expensive Circle-Vision 360º cameras to capture all the footage.</p>
<p>Over the years, 5 different Disney theme parks have used Circle-Vision 360º for their attractions, and while the original has now closed at Disneyland in California, and it’s international variants at Tokyo Disneyland and Disneyland Paris closing in the early 21st century, there are 2 theatres still operating at Epcot – ‘Reflections of China’ and ‘Oh Canada!’ At each of their respective country’s pavilions in the World Showcase.</p>
<iframe loading="lazy" src="about:blank" data-bs-src="https://www.youtube.com/embed/SdUKRTeyKfU" width="660" height="544" frameborder="0" allowfullscreen></iframe> <em>Interestingly, you can actually watch this version in 360º using Google Cardboard or by clicking and dragging your mouse around the frame</em></pre>
<p> </p>
<p>Both of these act as quasi-tourism videos showing off the landscapes and cultural landmarks of each country …and the Canadian one also serves as a showcase for Martin Short’s comedic talents, so there’s that.</p>
<p>This idea of pure spectacle makes sense as a use for this pretty unique form of film-making, but it does highlight two of the biggest drawbacks of 360º cinema in an auditorium setting:</p>
<p>The first being the cost involved would make it prohibitive to film more than a few minutes worth of footage, both in terms of capturing using 9 high-quality cameras and running the multiple necessary projectors all day.</p>
<p>The second, and possibly most difficult to overcome: trying to craft a story where the viewer needs to constantly be turning their heads. Both of the 360º cinema formats mentioned here rely on the viewer being free to stand and turn all the way around to find and follow points of interest. Indicating where a person should be looking at all times is tricky when it might be behind them. Constantly having your characters announce themselves and give time for people to move around and look in their direction could kill the tension in your drama.</p>
<p><em>Thank you for coming along on our first journey in to 360º video. In our next article we’ll be diving in to the world of modern film and content creation for 360º and VR, and how this can be used in education.</em></p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2019-02-18" itemprop="dateModified">Feb 18, 2019</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/mediahopper/2019/02/18/what-is-360o-video-the-early-days/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#2403 (1) {
        ["data":protected]=>
        array(12) {
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Fri, 19 Jun 2026 03:31:14 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.31"
          }
          ["expires"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
          }
          ["cache-control"]=>
          array(1) {
            [0]=>
            string(35) "no-store, no-cache, must-revalidate"
          }
          ["pragma"]=>
          array(1) {
            [0]=>
            string(8) "no-cache"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(71) "<https://blogs.ed.ac.uk/mediahopper/wp-json/>; rel="https://api.w.org/""
          }
          ["set-cookie"]=>
          array(3) {
            [0]=>
            string(62) "PHPSESSID=9susne4jtjhh5k4fg83a29j2i4; path=/; secure; HttpOnly"
            [1]=>
            string(134) "spo_201_fa=971e57e158fd4a5340f44852bfb286f0; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/mediahopper/; Secure; HttpOnly"
            [2]=>
            string(125) "RCKBMHKB=027ff8be59-56fd-48BNWWQvsrG4v4ga3WgRLZ5QjQjTP_v37yjsgJdm85mkb38pxldh1Hs34ENAoSe5lWAy4; path=/; SameSite=None; Secure"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 14 Dec 2023 17:57:08 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""45cf9c638f115d3823aeba3d2008b07b""
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(15) "Accept-Encoding"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(0)
      ["url"]=>
      string(40) "https://blogs.ed.ac.uk/mediahopper/feed/"
      ["history"]=>
      array(0) {
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2399 (1) {
        ["cookies":protected]=>
        array(3) {
          ["PHPSESSID"]=>
          object(WpOrg\Requests\Cookie)#2407 (5) {
            ["name"]=>
            string(9) "PHPSESSID"
            ["value"]=>
            string(26) "9susne4jtjhh5k4fg83a29j2i4"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2406 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
          ["spo_201_fa"]=>
          object(WpOrg\Requests\Cookie)#2408 (5) {
            ["name"]=>
            string(10) "spo_201_fa"
            ["value"]=>
            string(32) "971e57e158fd4a5340f44852bfb286f0"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2409 (1) {
              ["data":protected]=>
              array(6) {
                ["expires"]=>
                int(1781841674)
                ["max-age"]=>
                int(1781841674)
                ["path"]=>
                string(13) "/mediahopper/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
          ["RCKBMHKB"]=>
          object(WpOrg\Requests\Cookie)#2410 (5) {
            ["name"]=>
            string(8) "RCKBMHKB"
            ["value"]=>
            string(85) "027ff8be59-56fd-48BNWWQvsrG4v4ga3WgRLZ5QjQjTP_v37yjsgJdm85mkb38pxldh1Hs34ENAoSe5lWAy4"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2411 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["samesite"]=>
                string(4) "None"
                ["secure"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/mediahopper/?p=120] "Using Chat GPT to refine narratives"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/mediahopper/?p=120'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/mediahopper/?p=120] "Using Chat GPT to refine narratives" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/mediahopper/?p=56] "What is 360º Video? – The Early Days…"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/mediahopper/?p=56'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/mediahopper/?p=56] "What is 360º Video? – The Early Days…" is a NEW POST.
Diag========| CHECK existence of category: "DIY Film School" with result: null
Diag========| CHECK existence of post_tag: "DIY Film School" with result: null
Diag========| CHECKED familiarity of term "DIY Film School" across {"1":"category","2":"post_tag"} with result: false
Diag====| Assigned category "DIY Film School" by feed; checking {"1":"category","2":"post_tag"} with result: null
Diag========| CHECK existence of category: "360\u00ba" with result: null
Diag========| CHECK existence of post_tag: "360\u00ba" with result: null
Diag========| CHECKED familiarity of term "360\u00ba" across {"1":"category","2":"post_tag"} with result: false
Diag====| Assigned category "360\u00ba" by feed; checking {"1":"category","2":"post_tag"} with result: null
Diag====| Category: MAPPED term names ["DIY Film School","360\u00ba"] to IDs: null
Diag====| Category: MAPPED term names [] to IDs: null
Diag| Polling feed [https://blogs.ed.ac.uk/lramutsa/feed/]
Diag====| HTTP [https://blogs.ed.ac.uk/lramutsa/feed/] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://blogs.ed.ac.uk/lramutsa/feed/] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2437 (1) {
    ["data":protected]=>
    array(12) {
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
      ["date"]=>
      string(29) "Fri, 19 Jun 2026 03:31:14 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.31"
      ["expires"]=>
      string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
      ["cache-control"]=>
      string(35) "no-store, no-cache, must-revalidate"
      ["pragma"]=>
      string(8) "no-cache"
      ["link"]=>
      string(68) "<https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/""
      ["set-cookie"]=>
      array(3) {
        [0]=>
        string(62) "PHPSESSID=pg2qol9aul9dkg23k1ip69s8qi; path=/; secure; HttpOnly"
        [1]=>
        string(132) "spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly"
        [2]=>
        string(125) "RCKBMHKB=027ff8be59-56fd-48tzz56rm2nAuNHQgF0ILCCQNw6vtzKsNmxGVaiDaE2CAyjrdTd7EM_N82Mw_BHtNWJEk; path=/; SameSite=None; Secure"
      }
      ["last-modified"]=>
      string(29) "Fri, 27 Mar 2026 13:01:18 GMT"
      ["etag"]=>
      string(34) ""0e0241b0d0da1df953c03c1bff9fac51""
      ["vary"]=>
      string(15) "Accept-Encoding"
    }
  }
  ["body"]=>
  string(17543) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(3) {
    [0]=>
    object(WP_Http_Cookie)#2449 (7) {
      ["name"]=>
      string(9) "PHPSESSID"
      ["value"]=>
      string(26) "pg2qol9aul9dkg23k1ip69s8qi"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [1]=>
    object(WP_Http_Cookie)#2448 (7) {
      ["name"]=>
      string(11) "spo_9865_fa"
      ["value"]=>
      string(32) "ed90b7d8fac126105541600d5650d741"
      ["expires"]=>
      int(1781841674)
      ["path"]=>
      string(10) "/lramutsa/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [2]=>
    object(WP_Http_Cookie)#2450 (7) {
      ["name"]=>
      string(8) "RCKBMHKB"
      ["value"]=>
      string(85) "027ff8be59-56fd-48tzz56rm2nAuNHQgF0ILCCQNw6vtzKsNmxGVaiDaE2CAyjrdTd7EM_N82Mw_BHtNWJEk"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#2436 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#2438 (10) {
      ["body"]=>
      string(17543) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(18396) "HTTP/1.1 200 OK
Content-Type: application/rss+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Date: Fri, 19 Jun 2026 03:31:14 GMT
Server: Apache
X-Powered-By: PHP/8.3.31
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/"
Set-Cookie: PHPSESSID=pg2qol9aul9dkg23k1ip69s8qi; path=/; secure; HttpOnly
Set-Cookie: spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly
Last-Modified: Fri, 27 Mar 2026 13:01:18 GMT
ETag: "0e0241b0d0da1df953c03c1bff9fac51"
Vary: Accept-Encoding
Set-Cookie: RCKBMHKB=027ff8be59-56fd-48tzz56rm2nAuNHQgF0ILCCQNw6vtzKsNmxGVaiDaE2CAyjrdTd7EM_N82Mw_BHtNWJEk; path=/; SameSite=None; Secure

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#2439 (1) {
        ["data":protected]=>
        array(12) {
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Fri, 19 Jun 2026 03:31:14 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.31"
          }
          ["expires"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
          }
          ["cache-control"]=>
          array(1) {
            [0]=>
            string(35) "no-store, no-cache, must-revalidate"
          }
          ["pragma"]=>
          array(1) {
            [0]=>
            string(8) "no-cache"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(68) "<https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/""
          }
          ["set-cookie"]=>
          array(3) {
            [0]=>
            string(62) "PHPSESSID=pg2qol9aul9dkg23k1ip69s8qi; path=/; secure; HttpOnly"
            [1]=>
            string(132) "spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Fri, 19 Jun 2026 04:01:14 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly"
            [2]=>
            string(125) "RCKBMHKB=027ff8be59-56fd-48tzz56rm2nAuNHQgF0ILCCQNw6vtzKsNmxGVaiDaE2CAyjrdTd7EM_N82Mw_BHtNWJEk; path=/; SameSite=None; Secure"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Fri, 27 Mar 2026 13:01:18 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""0e0241b0d0da1df953c03c1bff9fac51""
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(15) "Accept-Encoding"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(0)
      ["url"]=>
      string(37) "https://blogs.ed.ac.uk/lramutsa/feed/"
      ["history"]=>
      array(0) {
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2435 (1) {
        ["cookies":protected]=>
        array(3) {
          ["PHPSESSID"]=>
          object(WpOrg\Requests\Cookie)#2443 (5) {
            ["name"]=>
            string(9) "PHPSESSID"
            ["value"]=>
            string(26) "pg2qol9aul9dkg23k1ip69s8qi"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2442 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
          ["spo_9865_fa"]=>
          object(WpOrg\Requests\Cookie)#2444 (5) {
            ["name"]=>
            string(11) "spo_9865_fa"
            ["value"]=>
            string(32) "ed90b7d8fac126105541600d5650d741"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2445 (1) {
              ["data":protected]=>
              array(6) {
                ["expires"]=>
                int(1781841674)
                ["max-age"]=>
                int(1781841674)
                ["path"]=>
                string(10) "/lramutsa/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
          ["RCKBMHKB"]=>
          object(WpOrg\Requests\Cookie)#2446 (5) {
            ["name"]=>
            string(8) "RCKBMHKB"
            ["value"]=>
            string(85) "027ff8be59-56fd-48tzz56rm2nAuNHQgF0ILCCQNw6vtzKsNmxGVaiDaE2CAyjrdTd7EM_N82Mw_BHtNWJEk"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2447 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["samesite"]=>
                string(4) "None"
                ["secure"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1781839874)
              ["last-access"]=>
              int(1781839874)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1781839874)
          }
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=57] "It depends!"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=57'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=57] "It depends!" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=32] "Lights, Camera, Learn!"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=32'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=32] "Lights, Camera, Learn!" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=9] "A day in the life of an eLearning Systems Developer"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=9'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=9] "A day in the life of an eLearning Systems Developer" is a duplicate of an existing post.
How to Succeed at Failing – Digital Learning Applications and Media
Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

How to Succeed at Failing

Aside from being a learning technologist a big interest of mine is American football (Philadelphia Eagles fan). As you might imagine its very rare that these two aspects of my life coincide but something about the end of the Super Bowl stood out to me. In a speech just after the win Nick Foles, the Eagles quarterback, mentioned something that I believe to be very important both in life and in learning.

“I think the big thing is don’t be afraid to fail,” Foles said. “When you look at it, you have a bad day, you think your life isn’t as good, you’re failing. Failure is a part of life. It’s a part of building character and growing. Without failure, who would you be? I wouldn’t be up here if I hadn’t fallen thousands of times, made mistakes. We all are human. We all have weaknesses.”

Failure has traditionally had something of a bad reputation, something to be avoided at all costs, but there has been a growing idea that failure is a key part of the learning process (see list below). If you don’t fail you won’t grow, you won’t learn what your current limits are and you aren’t going to develop your skillset. Failing also builds resilience, which is something that employers are increasingly interested in, having employees that can deal with setbacks and carry on working creatively to solve a problem is a great asset.

Today, however, I want to talk specifically about how we can use Jupyter notebooks as a place to fail in a positive way. For those who haven’t heard of these, I’ve done a brief introduction here. One of the most useful parts of notebooks is being able to immediately see the output from your code cells. This allows you to ‘fail fast’, quickly trying something and then adjusting based on the outcomes. By repeatedly trying something and adjusting every time you build resilience and start to learn how to adapt your skills to a situation.

The next part we need to talk about is how we document failure. I don’t mean making students wear dunce caps but I do think it’s important to detail the steps you went through even if you ended up failing. Early on in school I was always told ‘show your working’ which I definitely didn’t do but now I understand the importance of the concept. Getting a question wrong on a test doesn’t necessarily show me what you don’t know but understanding how or why you got it wrong certainly does. Showing that you have failed, tried again and then succeeded shows me even more.

I’m interested to hear your opinions on this, as an academic do you think it is helpful to have students include their failed attempts or would it make marking more difficult? Add your comments below.

List of Failures

Failure Is Essential to Learning – Edutopia 2015

Stanford Resilience Project

The Importance of Failure in Learning – ironically a failed attempt to introduce failure

Is Failure Useful – a bit off piste about failure in museums but worth a read

Innovation: Learning from Failure – An interesting insight into the tech industry’s embrace of failure

Share

Diag| Memory: Current usage: 8 MB
Diag| Memory: Peak usage: 8 MB
css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel