Hello, hello, hello. I'm Matthew Horky and I'm Sherin Tan. Together we are Exotic Wine Travel. We've spent the last three years traveling around the world, writing and speaking about unique and exciting wines. Our journey has taken us to both lesser known and established wine regions. In 2016, we came to Croatia for the first time. We fell in love with the country and the wines, prompting us to write the book Cracking Croatian Wine, A Visitor-Friendly Guide. Now we're at it again. We're going to re-tour the country and bring our book to life. We aim to take you deep into the Croatian food and wine scene. So sit back, relax and join us as we go Cracking Croatian Wine!  Many are beautiful, especially the Pashki most, which means Pog Bridge. The bridge connects mainland Croatia to the island of Pog. The island is barren and devoid of vegetation. It's stripped of green growths by the Buddha, a strong wind that comes off the mountains down into the Adriatic. Many parts of the island look like the moon. I'll have trees to thrive in the northern part of the island. Some of these trees in the Lund Garden are over a thousand years old. We're back on Pog to visit a friend in one of our favorite restaurants and hotels in the country, Bosch Gnads. Owner Boris Šuljic is passionate about his island and he's creating a wasis for fans of wine and gastronomy. Or anyone who just wants some quiet time away from the crowds. I believe the quality is something that makes me happy. If we're preparing the best food, if we can do the best service, if it could be peaceful and unhappy. This is my work, my life, my everything that I do is gastronomy, it's wine, it's food and so on. All the trees are the same. Park. It must be park. If we put foie gras, then we must put a little bit of lamb liver or something, you know. So Boris, I think you'll be the best person to answer this. You know, now that Croatia is attracting a lot of tourists and you are probably the only person running a club or hotel, a fine dining restaurant, a winery, you know, you have a lot of the expects of wine tourism covered. So my question for you is how has tourism changed in Croatia in the past maybe 10 years and what is the opportunity for wine tourism in Croatia now? So before the war in socialism and communism system, it was also high tourism here in Croatia but it was the cheapest one, okay. So now I think we are slowly in focus for this a little bit higher level of tourism but we are especially Mediterranean, so our culture is Mediterranean and our food is really, really, really good ingredients. What we can find in Croatia is really rare and really high class. For example, scampi truffles, fish from our hot sea, you know. We can pair in our wine and olive oil with the best world wine and oil. We're here last year but the menu is seasonal so we're looking forward to seeing what's new. The menu is designed by Boris himself in addition to chef Mattia Bregeš. What can diners expect when they dine at your restaurant? They can expect all the best ingredients and food from this island and this region. Do you have a certain philosophy for your cooking style and the food you make? No, no, I'm too young for this but only passion and love. Mattia takes us back to the kitchen and shows us what's happening. It's the start of tourist season and the staff are busy doing prep work. Luckily, we don't have to do any work.  This is a variation of luna olives. The dishes come out fast and furious. All the courses are innovative and full of flavor. It's incredible. I mean they play with texture, they play with color. This is just like visually stimulating. At the same time, I think centrally and texturally you'll be challenged as well because eating all this you might not realize. Or you might challenge you in the perception of how olives should taste. We're made of olive oil and this powder is made of... When it comes to fine dining, it's not just enjoying the experience and all that. Often fine dining combines and contrasts flavors, texture, temperature, the play of all your senses, sides, smell, taste, everything. And often the food and the smell or potentially the taste they don't really match up to each other. And that is what is fun about it and that's how you learn more about food. Food isn't the only thing Bosch Genets does well. They produce some of the best wines in the country. We're especially fans of the Osu, a wine Boris dedicated to his father. I think that skin contact orange wine doesn't have to be made just one way. I think this is more of a pretty, done-up orange wine where you get more oak. It's clean and the texture is clearer, more precise. And I like it because the oak integration is very nice. It's spicy and sweet. The main course, lamb cooked over coals with vegetable puree. It pairs perfectly with the top bread from Bosch Genets, a blend of Merlot and Cabernet Sauvignon. It's sexy. Top the meal off with a few desserts and we are stuffed to the gills. Citron pepper. It's raining in the morning, but that doesn't detract us from enjoying the breakfast at Bosch Genets. It's complete with domestic products including the famed Pog Cheese. This is one of the few places in Croatia that you can sample so many different types of Pog Cheese all at once. We're in a rush, so we have to hit the road. Much to shriek this May. In the afternoon we make it to the town of Zadar. Today we're visiting Gino Matulic and Jedranka Zvaguša of G&J Vina. We first tasted the wine a few years ago and have become big fans ever since. Gino is a former seaman who worked for many years in Monte Carlo where he became a fan of French wines, especially Bordeaux. In a tiny garage, G&J produces only one wine, a Bordeaux blend called Tevoia Curvy Moja, which translates to your blood mine. It has quickly become one of the most sought after wines in the country. G&J wine was to create the wine similar to the French Bordeaux blending, left and right bank. In Croatia we also have Tevoia Curvy Moja, which is very, very nice, like Toscana. Our product is very similar to Super Tuscans and also to the Bordeaux blending. You have to put your soul, your music, your life in the blending. So that's a real blending. That is our philosophy of making the wine. So this is a secret. Because your blood does not mean blood, like liquid. Blood is your work, it's your suffer, it's your sweat. What you give in the vineyard, cellar and then in the bottom. But blood is your effort, what you give to your wine. And that's the reason why we decided to put your blood and mine. Your and mine. Matthew, your and mine. And you and mine. It's our wine. Our wine. Our wine, Matthew. Our wine. It's our wine. It's not mine, yours. It's our wine. That's our philosophy. Later in the afternoon we meet up with Marko Ducevich. His company, Adriatic Shell, produces high-end preserved seafood. Most recently he started an underwater wine cellar named Coral Wines. This is like algae. Before we visit this underwater cellar of Coral Wines, Marko's family has invited us to their guest house for a little party. The weather is perfect and tonight we're going to enjoy a few classic Croatian dishes. The hot coals are prepped and the seafood is cleaned. The first dish up is peca, a traditional dish that's made with potatoes, onions, olive oil and either fish, octopus, veal or lamb. It's cooked under a bell covered in hot coals. Next is brodet, a traditional seafood stew. Some salt, parsley, olive oil and white wine is slowly cooked with prawns, clams and fish. That's so good. Ah, it's hot. It's so good. This is the way to eat with your hands along with some music, friends and great wine. And then the peca comes. Tender fish and potatoes soaked in guts and juice. Yum-oh! Now for some dark, sea-aged beer. Maybe because it's the right amount of sugar. Follow that up with more sea-aged wine and the party goes on until the wee hours of the night. The next day, before we take a look at the Coral Wine cellar, the Tarazza Grill has a little surprise for us. Yeah, super. Oh, nice color. They've prepared a local specialty, pot lamb slow-cooked over a spitfire. It's rustic and delicious. Tell me your national solution to things. No, no, no, no. Krakia. Krakia's all problems. All problems. What kind of problems? So you have a stomach problem. Problems at work. If you are happy and if you are sad and if you are... Yeah, I need to work in the morning. You won't get to go fast asleep. You always drink Krakia and it will help you with everything. We're stuffed, but now it's time to go visit the underwater cellar. Marco gives us a little background on how we get started and how wines actually develop under the sea. When I started this, I didn't plan to do this. So, the first, I'm a wine lover. I do this for the love of the wine. I like to drink wine. And the second, all winemakers come to me as a friend to the wilderness and they stay a few days and they always leave a few bottles. So, at the end of the year, I put it in the sea because I don't know where to put it. If we choose the right wine and in the right moment and we do that in a correct way, sometimes the wine can age faster in the sea. It's like, in best results, we have like one year in the sea. It's like four to five years in basement. But it's not the same development. It's like a little bit different. That all sounds good, but we look forward to putting this to the test. We arrived at Marco's farm by a small boat. He has a mussel farm for his food products and the wines are stored near the mussel cages. It's a quiet, serene spot. We start off with a rosé from Slovenian producer Kaby. It's interesting to taste the same bottle, same vintage aged in the sea versus one aged in the cellar. Initial thought was the one that wasn't in the sea is better because of the acidity and freshness. But I find myself just going back to the one from the sea. There's just a certain harmony in the taste. Next, we do the same with a Santaki Pinot Noir. Another Croatian wine we adore very much. The finish is longer. The palate is more harmonized as well. It's much smoother. It's so strange, but I feel like it has more weight as well in the mouth. And to me, in terms of the quality we're talking, and I think the one that hasn't been aged is in the sea, that's like tier one level. The one that has been aged in the sea is probably a tier three level. So you're surprised? Yeah, definitely. This is kind of like single vineyard appellation or something along that line. Marco and our other friend Kreshemar even chitch sued up to check out the underwater cellar. Today we're planning to pull a cage of wine out from the sea, but they have to make sure everything is fine first. Hungry? First. Water? Why? Which one do you want? Well, we need to hurry because we need to take the whole cage out. All looks okay, so we head out to pick up some wine. I thought it would be a quick process, but it turns out there's a lot of work involved. And after all that, we still have to wash the bottles off and pack them into boxes. It's been a long, crazy day, and the sun is setting on this chapter of our journey through Dalmatia. Fortunately, there's much more ahead for us. In the next episode, we take you to Cortula as we go hunting for the best food and the best wine made from the local grapes, gherk and poachers. If you would like to learn more about Croatia and Croatian wine, keep a lookout for our next episode and check out our book, Cracking Croatian Wine, A Visitor Friendly Guide.


Hey, this is Brett, and this 2022 Ford F-250 Crew Cab Short Box XLT FX4 is stock number 1-4196Z. I am here at Summit Automotive in Fond du Lac, Wisconsin, your new and used heavy-duty truck headquarters. This 2022 Ford F-250 comes with the 7.3-liter V8 Godzilla engine, puts out 430 horsepower, and it's paired up with the 10-speed automatic transmission. This truck has been fully safe to be inspected by our service shop, has a fresh oil and filter change, all the fluids have been checked and tapped off per the state of Wisconsin inspection process, and this truck is 100% ready to go. I'm going to go all the way around in this video. Inside, underneath, start it up and take a look under the hood to give you the most accurate representation that I can of the vehicle. Carbonized gray metallic is the color. I shoot all my videos in 4K. If you like the video, you can subscribe to the YouTube channel, click the bell notifications, get updates on the videos I do each and every day, as well as have access to one of the largest catalogs of vehicle and heavy-duty truck walk-arounds on YouTube. This one comes with the 20-inch gloss black painted alloy wheels as part of the black appearance package. Michelin LTX AT tires, these are LT275 65R20s, and I would say that they have like 50 to 60% of the tread left on them. Frame and underbody is exceptionally clean on this truck. This is a one-owner, clean title history, clean car facts out of Minnesota. Front fenders, absolutely perfect. Headlight lenses are nice and clear.  Front bumper and lower valence are in fantastic condition. I didn't see any dents or dings on there. Factory fog lights, you get the gloss black grille and kind of that silver grayish almost bronze looking Ford logo on the front there looks really good. Didn't see any dents or dings on the hood. Looks really nice as well and you do get the cab lights up top. Passengers side front fender is absolutely perfect. This one comes with the mud flaps, which I like. Keeps your lower rockers looking good. Passengers side wheel, no scuffs or scrapes on there and carbonized gray metallics got a lot of metal flake. It's like a finer metal flake in it. This is a little bit lighter color than the magnetic that Ford had before this, the gray color magnetic. As you go down the passenger side here, take note of how clean that body is, how reflective and mirror like that paint is. I take these HD videos so if you're far away or even if you're close by you just cannot make the trip down, but you're still interested in purchasing the vehicle. You can see the truck, hear the truck, and of confidence in the vehicle that you're looking at before you even get here. So when you do get here there's absolutely no surprises and you can make a smart and informed buying decision from wherever you're at. We sell a lot of these trucks out of state and this is how we do it. If this video helps you make a smart buying decision, let your salesmen know that you saw the video that it was helpful and that Brett sent you. Back wheels, absolutely perfect. Back tires have just as much tread as the front tires and the frame and underbody. Looks really good from Minnesota but it doesn't look like it was driven in winter. Lower rockers, cab corners all look good. Comes with some nice factory painted black step bars. Passengers side box looks really good. I really like the uh with the black appearance package you get these special FX4 stickers to match the Ford logos. Those look really good especially on the carbonized gray. They match really well. Rear bumper is in great shape. No dents or dings on that rear bumper. Full towing package which includes a receiver hitch four pin and seven pin wiring. The backup parking sensors as well. The tailgate is in really nice condition as well. I didn't see any dents or dings on there. Comes with a soft factory tonneau cover. I believe it's a roll-up tonneau cover. That's in nice shape. No rips or tears. Comes with a bed mat, heavy-duty bed mat. You also get LED bed lighting. The bed back here is in nice shape. And I did check before the video this one does not have the fifth wheel or gooseneck prep package. Tailgate's in pretty nice shape on the inside and that shuts nice and solidly. Coming down the driver side just as clean as that passenger side. No dents, no dings on the box. And for full disclosure this back wheel is in excellent shape as well. Cab and doors look really good on this side of the truck. This one does have the telescopic tow mirrors. They do telescope out like so. They also fold in like that. They are the manual ones. Blind spot monitoring. Directional signals on the side. We'll take a quick look at the back seats. No rips, no tears back here. Seats are in really nice condition. Latch child safety system for any child car seats you may have. Fixed glass rear window, headliners in great shape. And once again seats are in excellent condition. Smells very clean inside this truck. I don't think it's ever been smoked in. You get the nice flat floor back here with the all-weather floor mat. You also get a 110 volt 400 watt max plug-in. And a USB and USB-C hookup and a 12-volt power point. These seats come down like so. You do get side current air bags on the driver's seat. Child safety locks on the back doors and the inside and bottoms of the doors. Absolutely perfect. Want to show you the VIN sticker here. No Canadian trucks here. We don't sell. Try not to sell any of those. Tire and loading information sticker inside the XLT package gives you the gray cloth interior. No rips, no tears on those seats. They're in really nice condition. Get the all-weather floor mats up here as well. Auto headlamps, tilt telescopic steering wheel, power windows, locks and mirrors. Top inside check out the miles, the radio and everything this one has to offer on the interior. Get that built forward tough animation at the beginning there. Digital spinometer, compass display, and you can see this truck has 40,660 miles on it. Instrument cluster is very nice and clean. Comes with the multifunction steering wheel, Bluetooth and audio controls on the right, cruise controls and information center controls on the left. There's your shifter for that 10 speed automatic transmission. You get these sync 8 inch radio, FM and Sirius and Bluetooth capabilities. You have your different settings there, your apps, your settings right here. This one does have Ford Pass Connect, Apple CarPlay and Android Auto. So while this one doesn't have the factory navigation system, project your cell phone up there easily with Waze or Google Maps and then it's like you have nav on the screen. So that's a really nice system. This one does have a backup camera. I'll show you that in just a second. Turned out four wheel drive factory brake controller or tactile volume tune and climate controls right there. USB, USB-C and here's my magic trick. Two cupholders, abracadabra, four cupholders. So there you go. 12 volt powerpoint, 110 volt, 400 watt max plug-in, dual glow boxes and the passenger side format and seat are in excellent conditional rips or tears on there and the headliner once again absolutely perfect to get map lights up here. Let's start up. Take a look under the hood. Starts right up. No check engine lights or anything like that and there is your backup camera that is working nicely. You also have stability control, hazard lights and down house assist control and you can zoom in on your receiver hitch to get hooked up to that boat camper or trailer the first time every time. Let's take a look under the hood. Also turn on all the lights, make sure they're working nicely. I would personally like thank you for checking out the video today and hopefully from this HD video you've been able to verify the quality condition options and of course cleanliness of this truck all the way around inside and out. Under the hood we have the 7.3 liter which has been dubbed the Godzilla V8 engine engine base. Very clean runs, very smooth 430 horsepower. Once again this truck has been fully safe to and inspected by a service shop. Has a fresh oil and filter change all the fluids have been checked and topped off.  There is your emissions sticker and this truck's 100% ready to go. I would highly recommend this truck from a quality and condition standpoint. I didn't see a single dent or ding on it. I would ship this one to California, Texas, New York, Florida, back to Minnesota. Whoever's going to get this truck's going to absolutely love it and to see more pictures of this truck I want to buy another 550. New and used cars, trucks, SUVs, minivans, wranglers, halftones, three-quarter tons, one-tons. You name it we got to go to the website right there, summitauto.com. Full pictures and descriptions of every single vehicle all at summitauto.com. If you'd like to check out more HD videos you can go to youtube.com slash summitauto. Click the bell notifications get updates on the videos I do each and every day as well as having access to one of the largest catalogs of vehicle and heavy duty truck walk-arounds on YouTube. Almost 9,000 videos in counting. In fact in a second you will see a link to subscribe to my YouTube channel the upper left. A link to more F-250 videos all the F-250 videos I've ever done in the upper right. A link to this vehicle on our website lower left and a link to one of our latest YouTube videos in the lower right. Click those. Check us out and we're super excited to help you with this ultra clean 2022 Ford F-250 Crew Cab Short Box XLT FX4 Black Appearance Package in carbonized gray metallic. Thanks again for checking out the video remember to like, subscribe, and share on the YouTube channel. I really appreciate it. Thanks again.


Camp from start to finish it doesn't take itself too seriously and therefore you don't take it seriously You just have a fun time watching it right they know what they're doing It actually feels a lot like a modern-day Roger Corman film You know it's kind of low-budget, but they're doing the best they can with the budget they got which is what Roger Corman was notorious for


Good morning everyone It's about five o'clock in the morning, and I'm about to set off on a journey Come a little bag packed here. I don't know when I'll be back But it's New Year's Eve today, and I'm gonna ring in the new year with a very long Epic run Let's do it I'm ready. All right, so I've got the route roughly planned out. I'm gonna start from here Do a massive loop and be back Bye after dark Okay, so This has been a very slow pace as you can see there's nowhere to run on this road There's cars coming And I'm having to slide off on this slippery wet stodgy grass. That's like running through sand, but I just want to be safe So I've got my head torch on but as you can see big trucks and stuff are coming down this road So I just want to be careful So I'm going at a very slow pace at the moment. It's very annoying Both sides and there's nowhere to run. I probably wouldn't want to come this way next time It's very hilly and there's nowhere to run. It's not very safe. So I'm just gonna keep Banging it out. Hopefully the pace picks up as we go All right, we're at 25 K's in I don't know if you can see that there But the Sun is actually up, but it's so foggy here in cold. Can't see anything I'm one quarter of the way in to my 100 kilometer run. I Absolutely smashed it on the Stairmaster yesterday for two hours. So my legs are still kind of fatigued Going for two hours on the Stairmaster Vegan protein deficiency mate. My ankles are starting to feel it and my knee is starting to feel it But I don't want to give any excuses I just want to keep banging it out. So I just want to remind you that I've got minimal training under my belt Ran my first marathon four months ago three or four months ago, and I hadn't ran for about two years before that so doing this all on a vegan diet and Just sheer will and there's cars coming. So I've got to move out into the stodge That's why my pace obviously is a little bit slower, but I think this pace is good If I keep it up up at this pace I should hopefully be back In another nine hours So I'm gonna keep moving. I'm gonna have some dates and a gel a bit of water and See if we can bang out The next 25 K's and I have to put on some motivational music. Let's do this Hey, good morning Good morning family Hey, darling always enough time to say hello to the sheeps How do people eat sheeps? Gorgeous. Yeah, the folk first little town here Melting now, bro. We're at marathon distance now I'm gonna have another little break it halfway, which will be 50 K's. Let's do it I'm looking for some water There's just a big dairy farm now. I can't see no tap there though But you know how many how much water dairy farms use but yeah, I just there's a long run big hill up there But I I'm out of water. I'm gonna try to do it though I'm gonna have to I can't see a tap or I found some at the back of this house. Thank you Thank the Lord. Okay. Now I'm gonna try to do this big hill Nearly halfway. Gotta go out that big hill there It doesn't look very high, but it's It's quite a climb there I'm gonna get to the top of that hill Let's do it. Then I can have some food We're nearly there Nearly at the top of the hill All right, that's the that's where I got the water from that barn All the way down there. That's where that dairy farm was That's where I come up We're 50 kilometers in It's been six and a half hours. I'm pretty happy with the pace. I'm just respecting the distance. You know what I mean? I'm not stopping. I'm just what I'm doing every five kilometers I'm doing some squats just to get the blood running through my legs Stretch out a little bit. I'm trying to Chunk it out in five kilometer chunks. I'm a beginner runner. So I'm not experienced in this I don't really know that much about ultra running having a couple of gels The reason I'm having gels and not fruits and vegetables, obviously I can't carry fruits and vegetables with me I had a big handful of dates dates are full of fiber very compact and they've got a great Nutrient spectrum, but I can only carry so many dates So I've got gels and dates and the next town I'm gonna get some more food I'm feeling pretty good Feeling pretty good, mate. I Haven't died of protein deficiency yet But you know, there's still time You never know six years vegan Just decided to be an ultra runner in the space of four months Anyways, I don't want to become Too cocky because I'm only halfway so I just want to stay in respect of this type of distance running This is completely solo and unsupported as you can see I'm by myself. I'm gonna keep moving and Finish these gels and then try to chunk out the next 25 kilometers Let's do it.  There's always another hill to climb Use that analogy for life. Hey Just when you think you're at the top of the hill you got another one to climb Keep pushing yourself. Wow Look at this beautiful lake Beautiful, I'll get your better look at it. It's so beautiful There's the Sun Beautiful Lake England is just a beautiful country in many ways the countryside beautiful pity There's so many animals being exploited across the countryside though, but beautiful lakes like that Amazing.   Let go of fear because we all end up there in the end Don't let fear hold you back You don't want to be on your deathbed with any regrets So let's do this The Sun's coming down 68 k's in We're nearly three-quarters of the way there Let's hit it. Saw the Sun rise I'm still running as the Sun is setting Now ain't that a good feeling That's what life's all about, eh? Nothing else comes close to this feeling Amazing 10 hours in 75 kilometers Down I've got another 25 kilometers to go feeling like I can do this. Hey Suffering is only temporary but quitting May you remember that shit forever so An amazing thing Fiona said Fiona Oaks world record holding marathon runner with running We're we're making a choice to suffer and we can we have the freedom to make that suffering stop We can stop at any time the animals Who are being enslaved and exploited and killed for food? They are forced into suffering and they have no choice. They can't make that stop so There's something to think about Also while I'm suffering I think of the suffering my father went through when he was sick so I know that um We can put ourselves through more suffering than we think I'm actually feeling better at the end of the run Then I did at the start of the run How crazy is that? Well, it's not the end of the run yet I've still got a half marathon to go Sun's nearly down I ran from dark to dark Let's hit it Never give up. Okay.  Sorry if the camera's a bit foggy I'm just having a little some naked bars are some little fruit and nut bars It's about 83 kilometers in I've got about 17 k's to go. I've been running for 11 hours or so. So I'm just gonna have another gel I'm starting to get quite hungry. So I'm gonna try to bang this last part out Whoo Let's do this All right, I just stopped at the gas station got some vegan flapjacks and a lucasade And now I'm back off. Let's do it. All right, we're about We're 90 k's in now I've got exactly a 10 k to go So we're on the home stretch guys Let's do it. All right 94.7 k's in At about five kilometers to go My legs and quads are absolutely dead um I'm really feeling it right now so I'm hoping that if I have some carbohydrates It might go straight to my legs and give them that last boost that I need But I am absolutely You know, you know I'm in a bit of pain right now But we're gonna keep pushing because there's not far to go What an achievement if I get through this, I'll be really happy. So let's do it All right Here we are 99 k's in from the last kilometer One more kilometer to go and then it's victory Vegan victory Oh my god How crazy is this 100 kilometers on the vegan diet Really there See what's possible if you believe in yourself Let's do this Woohoo come on Not a long stretch to go now Where are these little feet? Push along The little vegan footsies Boom Literally another 30 meters 20 meters Come on My legs are very sore right now Oh Come on 10 meters Oh my god There we go I just ticked over 100 kilometers in 13 Hours and 36 minutes Oh my god That is A really good feeling right now I didn't give up I didn't quit I kept pushing through I did this on New Year's Eve Because this is a way To set the year 2020 I'm going to attack 2020 like I just attacked that 100 kilometer run I just turned myself into an ultra runner in four months on minimal training On a vegan diet Oh my god All right, there we go. I'm back Back in civilization Back in the household That was a journey That was really hardcore The longest run I had done before this one was the 55k ultra that I did Now If people don't believe you can recover on a vegan diet and do these ultra endurance feats Why have I improved? Why have I improved now? I can do this 100k run I've obviously improved in a short amount of time in my running So there you go What more do I need to do to prove that vegan diets are completely fine for athletes? Four months ago, I hadn't even ran a marathon Now I'm doing these I'd say I've classed myself as an ultra runner In four months So I think it's going to be a fair while before I do something big like that again It's New Year's Eve And we're getting ready to go out I'm about to take off my sock for the first time Let's see what it looks like on my foot It looks very wrinkly But it doesn't look too bad Oh wait, what's that in between there? They look like old men's feet Okay, so I'm really sorry for this but My right one has blisters all over it. So there you go I'd like to dedicate that run to Tower Hill Stables Fiona Oaks is just an amazing human being Who dedicates her life to putting herself through suffering in her running To prove that you can be an endurance athlete without harming animals So I'll leave the link to the sanctuary down below And maybe if you could put in a quid for every kilometer that I run That would be really good That would feed a lot of the animals for a few weeks though Thank you so much everyone, all right I'm gonna lie down for one sec because my head's a little bit fizzy after just Doing nothing, but doop-doop-doop-doop Running Oh god, love you all Happy New Year's I am the next morning This is a oat bran berries, flax, mashed banana And I'm feeling pretty good So I don't look that bad But I got up out of bed and I'm standing up And I can squat up and down Don't feel that bad I feel much more recovered than I did like my last Marathon my last ultra and I ran twice as long. So yeah, there you go berries for recovery vegan diet Good for ultra running Don't be silly. I haven't made it to a new year's party last night. That's how much energy I still had I was trashed Here I am the next day walking Went to the shops to get some more food some vegan food for recovery Lots of berries, lots of grains. I'm actually my feet have some blisters on them But yeah, just to show that I'm not completely ruined And that I'm recovering faster now From bigger runs Okay, so this is the second meal post run of the day. I've had another little nap and look at this Whole meal bread Tofu and vegetables and the potatoes Yum And of course, don't forget Ever forget the ketchup


Flying cars, disappearing streets, and new bike lanes. Do you ever wonder how you can make these things happen and make them come to life? Well, you're in the right place. In today's video webinar, Jan Kamensky, who is the maker of these signature videos, is going to show you exactly how it's done. And by the end of this 45 minutes, you'll be glad you're staying. So, onwards and enjoy this lecture by Jan Kamensky, together with the Urban Cycling Institute. Making utopias visible, we will see why I chose this name later on. And yeah, at the beginning, I'll give a short introduction to the project and show some examples of my utopian animations for those who don't know. Afterwards, we will deal with the theoretical part of the image selection. And we'll continue the course in a practical way and jump into Photoshop. Finally, we will deal with your submissions and offer space for any questions you may have. And I really look forward to spending an hour with you. You are committed part of that movement in a whole sound direction. That is what constitutes the quality of utopia. It's the movement. But this movement is about more than getting cars to fly vertically. It's about more than levitating street signs. It's about more than painting up bike lanes and trees. It's about a holistic view of possibilities for our future. Let every edited pixel in the Photoshop document move in the right direction. In the published animations, as you can see here, we see the tip of the iceberg of more intensive treatment on several levels. That is why I would like to go into background of the project in addition to the practical application. So yeah, let's start here now. What are we confronted with? It's a seminar in times of crisis, or rather a mass seminar. A massively crisis-proof event, thanks to a streaming-based concept which at this moment connects over 100 people, maybe across the globe, to make cars fly. That would have seemed unimaginable just over a year ago, for most of us, especially me, who started the project just a year ago. Who could have imagined only three years ago that several thousand Parisians would be cycling to work each day, and they do it relatively safely too. What is considered unimaginable today may become reality tomorrow. I'll talk about imagination in more detail later, but now I'd like to get to grips with the crisis. As you might know, the word crisis is derived from the Greek. It means uncertainty, precarious situation, escalation, decision, or turning point. These are all descriptions that apply to our situation, or at least they could. Without a doubt, we have to change ourselves and our living environment, and this also, and especially includes the way we get around, as a fundamental part of our way of life. My project, Utopia for Bicyclists, starts exactly there. The project takes a transformation of our living environment, and thus creates visual arguments for change. I want to create new channels to the viewers, open up access to an alternative consciousness, and inspire and convince them of an ecological and socially sustainable way of life. The aforementioned imagination is to be inspired and activated. It's visual publicity for unimaginable but totally necessary transformation. Visualizing and communicating concepts for the future is an important foundation for public discussion and implementation of new concepts. Successful visual communication enables great convincing power, and can lead to a change in individual awareness of possible transformation processes. It should not discourage but inspire joy and confidence. The juxtaposition of the present with the future in form of the animated transformation should give the viewers an idea of what we gain in terms of quality of life. For example, by giving up individual automobile traffic and transforming streets into philanthropic places that images are thought provoking and encourage action. People should feel inspired to change their way of life, or and rethink previous habits. The utopia serves us, or the utopia serves to get us moving mentally and emotionally. Having the courage to imagine what today seems unthinkable, unrealizable and far away, the utopian pushing ahead is the motor for transformation into a wholesome future. Utopia offers a window on a possible development of our futures. It's our white sheet of paper that needs to be painted with color, that is now moving to action. So this is what you see here now, the longest animation. It's the facade. The facade is quite special. It's also quite long, so I will interrupt this here and now. We will have a look now at the selection of images, which is quite important. So I'll exit here and I'll jump back to the presentation, selection of the image. And we will talk about potentials and image analysis. We will deal with more theoretical and technical basics now. You will find them later on in the practical part of digital image editing. Which motives are suitable for this purpose? What factors need to be taken into account? So as I said, the motive is the basis for a successful visualization, whether the image is self-shot or from an image source. One of the decisive factors in choosing the right image is recognizing its potential. Content-related and technical aspects play an essential role. So what potential is there in the image? To excite and inspire. The high recognition value helps to open up access to the motive and possibly contributes to its popularity. As you can see here, the dome of Cologne, big cathedral. This is truly a high recognition value. Are there objects that are suitable for levitation, which means flying and moving away, such as lanterns, street signs, or traffic lights, and especially cars? But I will talk about cars later. That's a specific topic. Is the motive suitable to illustrate the situation in public space or to focus on a specific topic? Is there sufficient space to design your utopia? As you can see here, this is all the same picture as you have seen maybe before in the animation. And is something special about it? Does it include possible highlights, such as that cathedral or something more normal, which is, for example here, this facade, which gets a highlight in the animation? This gray facade will be a green oasis. Here we see already some of your submissions. So look for images that require little editing if your Photoshop skills are low. Take into account the area that is hidden behind the objects. For example, here, this car and the hidden area. It must be edited afterwards. This can lead to a considerable effort, trust me. Try to avoid it by a clever photography on the spot or smart selection of your image in the databases. As an alternative, you can also become a true master in imagery touching. If necessary, take pictures from several perspectives or wait until hidden areas of the picture become visible again. For example, when this car here moves away, so you could take another picture. So you have both. You have a car and you have the hidden area behind the picture. Different images can be combined. The use of a camera tripod can also be helpful. Make sure that there are not too many cars in the picture or no cars. Only completely photographed cars are suitable for further processing within the animation. The facades provide the framework for the design.  They offer the potential of an exciting design and can come into focus during the animation. The vanishing point here. Visible vanishing points offer the possibility for movement. For example, when a tram or bicycles are traveling. The wide view is perceived as pleasant. The crossing axis enables the use of moving objects in the horizontal, which offers another exciting dimension for the movement. For a harmonious composition, the ratio of about one third to two thirds for the division of the sky to the landscape, or in this case, the street, is recommended. But it really depends on the image you have. Image databases, very important. This is your source for a lot of things, or it can be your source. Image databases and other sources of visual material are extremely useful for an appealing design. They are not only helpful for choosing the motive, they also serve good purpose for people and objects such as trees, cars, furniture, and animals. You will also find great free material for your motives and objects on different websites such as unsplash.com. Be persistent. Image research can take some time. Seek and you shall find. Just a quick overview about basic technical aspects and formats, such as PNG. You might have heard it before, PNGs, JPEGs, and high resolution. I will jump over this very quickly. PNGs are suitable for the application because they allow a transparent background, as you can see here. In this way, people, cars, and other objects can be integrated in the motive as cutouts without much effort. And check pages like MrCutout.com. And trust me, I get not paid from them. JPEGs do not have the capacity for transparency. They must be cut out. Nevertheless, they are suitable to use, and often there's no way around them. So JPEGs are all over. High resolution images, whether it's a PNG or a JPEG, are suitable for high quality design. It's just good to have them. Just look out for the huge image size, as huge as it gets. And cash should also be taken, of course, to use only images whose licenses have either been purchased or offered under Creative Commons or something similar. Or even better, go outside and do it yourself. That's healthy. Image editing, digital image editing. Often, there are several ways to achieve the goal in Photoshop and After Effects. Those are huge applications. It is better to take a simpler route, especially in the beginning, and work as cleanly as possible. Try out different tools and find out which one suits you best. The animation is thought through right from the start of the project. This is the reason why the objects are left in the document once you cut them out, and they do not simply disappear in the trash can. Name the layers and structure groups so that you can find them again easily. You will have a lot, maybe. This will save time. They will have the same name in After Effects as in Photoshop. Both applications are connected to each other. And the masking mode is a very useful way to edit your layers. No image information is permanently erased or deleted with, like the rubber does, only masked and made invisible. This makes it possible to edit it afterwards. And to work precisely, it is recommended to use the path tool. It's curve-based and thus enables a clean way of cropping. We will do this later on in some minutes. The basis for an exciting animation is a well-functioning static design. If the realization already inspires as a still, not-moving image, the way to an exciting animation is paint. So try out to make a good, functioning, well-made static design first. Experimentation is useful to achieve unexpected results. Sometimes the direct and obvious path is not the one who's the most exciting. This insight can also be applied to the choice of your cycle path as seen end by recycle. Dare to think around the corner and try to find the courage to design something completely unrealistic. This will bring us a little closer to utopia. Utopia provides the space for ideas that might be considered as naive or unworkable in other contexts. Don't worry. Once the utopian vision reaches people, it stimulates discourse. This is already good. This sets things in motion. We will now jump into Photoshop already. I've seen that Otto also is also in the seminar. This is a street in Riga, his hometown. Otto is one of the first members of the Flying Car movement. He does great animations already. We had also little workshops and the animation of Riga we did together in those workshops. That's the results of it. And I can now show you how such a Photoshop document is structured and how I go on. So this is the photo the image Otto took in Riga. He will be able to explain more about this street and the situation. I never been there actually. I hope to be there soon. But that's not so important right now. But as you can see, this street is dominated by cars or the space for cars. We don't see so many cars here. I think normally there are more cars. And this is the image he took. And everything begins here. As I explained before, and we can see here, the facade, the vanishing point and the sky, they will all play a role in this animation. So this is why we took this motive because this house here is very interesting. It has an art deco architecture. Correct me if I'm wrong, but looks like.  It has a patina. Which makes it even more interesting. So it gets a specific role in this animation. This is why I call this a framework. Also this facade here on the side. Maybe it's not at first sight a beautiful motive, but you will have to think in other dimensions. So you will have to think about what can this street be in the future without cars and without offering them so much space? What can happen then with houses and the surrounding of the street? This is very important. So this is also a part of the theoretical basis of your work, to see the potentials, to recognize it. And later on I have two submissions, Singapore and Zurich. I will explain more technically with those images and here I just give an overview about the steps. So the first step is to cut out every object which must leave the public space and which has to move in a certain way. And I can show you it's quite a lot. I don't know if you see it good here in my screen sharing, but it's quite a lot layers. And this is after I have to go to before. Sign, sign forth, sign three, sign two, sign one, etc. and traffic lights. They are all cut out. And yes, that's why it's so important to name them. Because you will have to animate the layers by themselves or not by themselves. You have to make it, but you have to move them in after effects as well. You have to find them. So for example, here, let me show you the traffic light. I can move it already. So this is a nice effect. You can try out in Photoshop already to move your things. And it's cutting out. I will show cutting out afterwards. When you cut it out, you will have to prepare your street.  This is already quite impressive, I think. It looks somehow deserted. But for me, it's already better than with cars. That's for sure, even if there's nothing. We in Hamburg, during the G20 summit, we had situations like this, because everybody in the city was running out with cars out of the city. And we had situations who resembled. So this is a work where the stamp tool is quite important. I will show you later. And when we reached at this point here, we now have to think about the status in your animation, which you want to achieve. And I don't take this as my before status. This is just the original. So I have a lot of things who I don't need in my animation. For example, those people, I don't need them in my animation. I could, but in this case, I made another choice. So I made it like this. This was my before, my edited before. And I put cars into it and cars who weren't there before. PNGs, like this car here, you might recognize that this car was also in the facade. So it drives from the facade into this animation. And you already can move it. It looks kind of weird because you don't scale it here in Photoshop. But this here is already quite nice and somehow gives another dimension. That is the crossing axis. And something is hidden here. So it gives the feeling of something is going on here in this part of the image, which you don't see. And I took, of course, such a nice, sportive car here, a fast car, which flies like this in the animation. So I cut out the wheels and everything now here is cut out. Also the shadow, which looks kind of weird here, but you don't see this in the animation. This is my before status. When everything out of the before status, the edited before status, is a way like this. You see this in the animation. It's time to get the after, the creating utopia. And this is the final result. But also here, as I explained, this, for example, the skater is the PNG. It's transparent. I did not have to have to cut it out. It is not a JPEG, where I have to cut out first. This, for example, this person on the cargo bike was a JPEG. I had to cut it out. But it was quite easy because there was a wide background. And here, as you can see, is the vanishing point. And I think it's, yeah, it looks nice. It's perceived as pleasant. That's, I think, a human aspect. And we can now move the tram, or we can move bicycles, or we can just move the bike lanes here, or the tram lines. This is a nice effect in the whole thing. Also here, a lot of layers. Everything is separate. So each and every tree is separate. Tree seven, example, and tree one. And here, in this case, it's the same tree, but you don't see it in the final result. Sometimes I mirror them. So I think in this case, yeah, or I cut them sometimes. I cut some leaves, and then you won't see that this is not the, that this is the same tree. Okay, let's jump to our first submission. Anna, we are right in the time. Yes. I have 29 minutes now on my clock. And it's quite fast, even if I, even even talking slowly. So let's begin in Zurich. This is Zurich. I'm sorry, I don't remember who sent it in, but this is a nice picture. And I mentioned before that this is a picture, an image which does not need to be edited a lot. So you can use something like this when your Photoshop level is quite low. You don't have to make a lot of or put a lot of work into it. When I have such an image, the first thing I begin with is the cutting out. I will do it very quickly. Please don't be too strict with me. I make it not so clean, not as clean as normal. So I'm now using here the path tool. I don't know if you can see it. In German, it's the Zeichenstiftwerkzeug. Long name, path tool is better. And I'm making my path. I'm missing something. It's hidden behind the Zoom video. Okay. So now I have the selection of this sign. As I said, we have to cut out every and each and every object you want to move later on.  It didn't work out. Why? This is a classic. I don't know why it's not working. It's so simple. But it seems that you also selected the entire picture. Yes, but actually I don't know. We will make it differently because of course I'm good prepared and I already did it. So this is sign two and this would look like this. I don't know why it did not work out. I do this thousands of times in the week but okay. So this is our hidden area now, what you can see now. So we have to stamp now this area. The sign is here. Okay. The sign is there and I can already move it like this. But here we have to stamp a little bit. I make it really quick and dirty because time is running and I will show you why it's sufficient to make it so quick and dirty just like that. That's enough for now because we can already use the tree and another tree to hide this. So this looks like perfect. I think you don't see any mistake in stamping but of course you will be cleaner and here is another sign and I will make this again. This is stamping a lot of stamping work but this motive, this image is quite good because it's not so much and we have information of the background in the parts of the hidden background in the parts you see. So this hidden area is the same as here. Can you see it? So this is very easy. This is very easy stamping and it's all about training. You have to apply and you will be making it. So this is enough for now and just to give you a feeling of what you can do very easy. We have another nice example from Singapore and I will go in more detail into this one. This is why I put Zurich on the quick list but also here. You can easily take a floor inside. This is already quite impressive I think here. Put the floor. I will show maybe later on if there's enough time how to make this floor but maybe it's not enough time and a bike lane. So you take the same floor structure and you are making only something like this or you take the path to even better. You make a form of your bike lane, cycle path however. You color it and then maybe work a little bit with the opacity here and then you already have quite nice bike lane and you can also put a bench here and chairs and that's it for Zurich. Zurich already has quite a good bike infrastructure or not. I'm not sure. So let's jump to Singapore. That's a long road to go and I took Singapore because Singapore is probably the image who traveled the longest distance and here you go. Hopefully the person who sent it in is here. I never used an image out of Google and I'm not sure actually if there's a license problem but we don't care right now. It's for sure we have to stamp this part. I already did it so I will show you only the edited part and I did it quite roughly here. You will see later why I did this so roughly. So actually it's not only stamping because we also have to cut out those cars. So stamping would be like this. The animation is there. No problem. Here this fence of the bridge is more problematic because there's a curve and this curve might cause some effort and actually it caused me some effort but not so much so this is still a picture who's good for you I think when your Photoshop skills are quite low. But I edited it and of course I cut out the cars as well so we can move them and the shadow will be fading away in the animation but cars now will not fly away they just will disappear and this area here won't stay like this and you might make it a little bit more clean for the animation but in this case we don't have an animation and I will put grass here because I think this bridge at first looks quite usual even if it's sunny and it's Singapore we have the typical skyline skyscrapers but it's a usual bridge and still there is a potential. I like bridges. Bridges connect people and bridges are highly frequented normally and we can make something special out of bridges and not just offer them to cars. Bridges have been beautiful in other times such as in Florence or Venice you know the the Rialto bridge for example this is a beautiful example for a bridge and a lot of bridges in the past have been like that and so grass it's so easy grass already makes it beautiful for me it's the same effect with trees just put trees on the bridge and this is already a beautiful place so what I want to say is that you don't need much for a huge effect this is already sufficient to show that we need less to gain something and to make our world better it sounds so cheesy but yeah I'm convinced about this why not not put some water in it it's completely unrealistic maybe but I don't know I don't care I think water is also good and this bridge is overly water going over the water but it can also have water and we can put flowers there as well and why some plants as well or we can make this part here more beautiful like this I'm sorry to interrupt we have about 10 minutes left do you think you can yeah okay yeah I'm I'm I'm finished very soon just to show you the possibilities and this is something who goes further this is now getting kind of really utopic utopian and I forgot the floor actually and yeah I just want to show you how beautiful it is for flamingos also and for another tree and also such a stock-built kingfisher who is from Singapore and of course by king priests persons so it's a beautiful beautiful place right now and it doesn't take too much to make it okay we we're good right now and in time Anna like yes there were a couple of questions in the chat but they are quite similar so maybe you can respond quite quickly perhaps as you like you can start answering the questions and if there is something you wanted to show at the end you can do that in the end or if you want to take one more minute maybe you can do that no for me it's fine because as I said in the beginning this is more about inspiration because all those technical things you have to you have to see by yourselves watch tutorials it's not sufficient time to explain how to cut out and be precise and everything like this so Jan thank you very much for for this this great insight into the back office of these animations I want to give the floor back to to Anna to to round this up thanks Jan yeah thank you very much Jan and thank you Marco for helping to moderate the event I didn't have time to introduce Marco de Brommelstude you probably all know him as a teacher in the course and as another leader in re-invisioning our streets but in his own way so I think it's been very nice to have this really amazing insight into Jan's work so thank you Jan very much of course you couldn't teach us how to do your animations in a just one hour but I think I hope you sparked interest and you sparked inspiration and people who want to do that they at least have some idea of how it works and then can explore further they I also shared your slides which really give some clear guidelines so that's also a great start and everybody knows your how to find you everybody knows how to follow your animations I will share the recording later and thank you very much to everyone who joined us from your respective time zones with varying degree of perseverance early in the morning or late in the night thank you thanks for your enthusiasm I hope you learned something I hope you got inspired and last word I would like to give to Jan as our honored guest thank you thank you Anna thank you Marco thank you all it was fun and hope to see you again one day all right thanks everyone and stay here go and reclaim streets dream big huge


What's going on everyone Sam here late in sports cards ripping one box of 2022 top scrim formula one racing for Nick and Nick little TV album Carlos signs up still two breaks before Nick So hopefully we get there Valteri Botas Frederick Vassour Principal card. I know who are the it's weird dude. It's weird, man It's too late Charles the clerk Silver Daniel Ricciardo cares voluntary Botas purple and green Speed demons Lancer troll Yeah, I was gonna say I think Glad you're glad you're in here Nick. I appreciate that Fernando Alonzo this how's your Lando Norris Daniel Ricciardo silver Lou Ham There's Frans Frans toss to 2 2 99 Daniel Ricciardo Sergio Perez and Louis Hamilton on the orange 15 of 25 congrats on that Nick. There you go, buddy orange wave Nick There we go Nick Maxima stopping Speed demons Maxima staffing again. No Norris refractor purple Charles the Claire to 399. No Yes, 399 Lando Norris silver speed demons for share I'm doing for your break there Nick congrats on the hits buddy. We'll get those right out to you


So here who here likes coffee? Excellent, right. So this talk is going to combine a few of my favorite things, coffee, hyphen, mic, that's not turned on, okay? So it was turned on for the testing before. Is that better? Yeah, okay, right. So it's going to combine some of my favorite things which is coffee, which comes from 20 years of programming. So now I've got a coffee addiction. I didn't have one when I started coding. Pikes and USB analysis. So this is actually two talks for the price of one. The first half of the talk I'm going to be showing you this coffee roaster and Coretto style coffee roaster. I want to explain all about how to build your own coffee roaster and how to then control it using a Python application. Now in building this coffee roaster it turns out that I had to do a bit of protocol analysis. And I love protocol analysis. I love working out new devices and writing Linux drivers for them. It's great fun. So I thought that this would be a great opportunity to teach you all a little bit about some simple techniques for protocol analysis of simple USB devices. So the second part of the talk is going to be showing you how to take a cheap USB connected multimeter like this and write a Linux driver for it. How to work out the protocol and then write yourself a driver. And it's really very, very simple, very simple techniques. Okay, so let's start off on the actual coffee roasting. So how does coffee roasting work? Well, coffee roasting starts with these things over here. And if I press this fancy little document camera, you might see them beans. There's some green, oh no, they're not there. There they are, some green coffee beans. So it starts with these green coffee beans and then you need to roast them. And there's a few inputs to it. There's the green coffee beans themselves. There is heat. You need to get them very hot. Anyone tell me what sort of temperature you need to roast coffee roughly? Around 210. Yeah, that's right. It's even up on the slide. There you go. Around 210 between 200 to 210 depends on the beans, right? The optimal temperature. There's lots of discussions on the precise temperature. There's lots of online forums for discussing coffee roasting. The best of them I think in Australia is a place called coffee snobs.  Yeah, up you. Excellent. Good stuff. So coffee snobs is a great place to go for all the information you need on building your own coffee roaster, home brewing, etc. Okay, you need some way to stir the beans to distribute the heat. You don't want all the heat going into the top layer of beans. And you need a bit of time. It typically takes about 15 minutes depending on the size of the batch, etc. to switch from having green beans to having roasted beans. So the output is roasted coffee, hot roasted coffee. You then need to cool the beans as quickly as possible. And this is a part of the whole build your own coffee roaster that I haven't really got into yet, which is building a mechanism for cooling the beans really fast. Because true coffee snobs know that if the beans are cooled fast, they taste better. So currently, I just stir madly in a big colander. And today I didn't even bring the colander. So they're going to cool pretty slowly. So I'll give the beans to someone else. Now, rule of two, some people say rule of three in coffee beans, this is one of the motivations for why people roast their own beans. Green beans, like I've got in this sack of green beans here, last on the shelf about two years. And they're still good. Once you've roasted them, they're good for maybe two weeks. I reckon they're best in the first week. After two weeks, they're getting a bit iffy. Longer than that, and they're supermarket beans. Once you've ground them, once they're actually in the powder form, they're fresh for about two minutes. At that point, you chuck them out. That's why you don't buy the pre-ground stuff. And that's why all the good cafes, they have a grinder there and they grind on the spot. I think that's also why decaf has such a bad reputation in cafes. Because most cafes have the one grinder for their caffeinated beans. They're decaf, if you ask for a decaf flat white, they grab out the pre-ground stuff out of the fridge, which has been there for a week, and they give you that. And it's completely stale. You can make really good decaf at home if you roast your own decaf beans.  What I've got is two grinders. Caffeinated grinder, decaf grinder. And that way you can have really good decaf coffee for late at night when you actually want to sleep, when you're not coding all night. Okay, I don't get through much decaf. So, Coretto Roaster. Now, I didn't invent this idea for a coffee roaster like this. Not at all. Lots of people have come before me doing this. I've just added a couple of twist sites with the help of Paul McCarros and Hugh Blemings, primarily Paulus over there.  And that lady worked out that if you took a bread machine, a bread machine is designed to take high temperatures and it has a built-in stirrer. It stirs the bread when it's folding the dough. So you've got yourself a stirrer and it can take great temperatures. You've got the basis for a coffee roaster. You just need to apply a lot more heat because a bread machine doesn't supply nearly enough heat. So what we need is something like this, a heat gun. This is a couple of kilowatt heat gun. So point that in at the beans and the beans get really hot. Then what we need to do is we need some way of controlling the heat into this roaster. Now the original Coretto was done just by, you listen to the roast and you listen for the sounds of the beans as they're cooking. And they go through a stage called first crack. We hear this sort of snap, crackle and pop. And then second crack where it has a slightly different, more subtle pop as the beans get hotter. And you listen to that and then you adjust the temperature using either adjustable temperature heat gun or moving the heat gun further away or whatever. And I thought, oh, we've got to do better than that. We've got to have computer control over the heat gun. And so that's the basis of this thing that Paulus and I have built. So what I've done is I've got myself this bread machine. I'll just show you the bits and pieces of it. This is an ordinary bread machine. I've assured my wife that it could actually be used for bread sometime in the future again, right? Maybe. There's a couple of holes in the pan. But hey, we'll use thick bread that won't leak out too much. So it's got a metal stirrer. I did try and use the plastic stirrer that came with it. Not a good idea at 210 degrees. It's discovered that it melted quite badly. This stirrer I have stuck, a drill didn't put a wire through it to stop it flopping over. This is one of those stirrers that flops out of the bread at the end. I don't want it to flop over. A little wire through it. Very simple. Couple of holes here, you'll notice. That's where the thermocouple goes in. Because if you're going to get your computer to control the roast, you need to know what temperature it's at. So that's what this little thermocouple is for, which pops in that hole there through the side. My original design had the thermocouple sitting inside here, inside the wall of it, and going straight into the pan. What do you think happened? It got too hot, and the plastic all melted, it ended up buying two or three thermocouples until I suddenly realised, just drill a hole through the outside of the whole thing and go right through, and the plastic is then outside the bread machine. It doesn't get as hot, it doesn't all melt and fall to pieces. Okay, so we then need to pour a bunch of green beans. So I'm just going to give you a bit of a demo.  If it starts raining and hail on gas comes in or whatever, then it's not my fault. Nothing to do with me. So we've poured a bunch of beans in there. You can fit between sort of five, 700 grams roughly or basically a bunch of beans, stick it in there. I'm then going to point this heat gun in at these beans and I've got my digital multimeter hopefully set to temperature. Some of you should be able to see that there. Hopefully it's saying about 23 degrees C, which is not going to last long.  So I've got this little Python script called PyRost. And so fire up PyRost and notice I'm giving it an argument. P control equals dev TTY USB 0. That's talking to this little device over here. Now this is perhaps the most important part of the whole setup and it's really the only unique component that was added on top of the basic design from Coretto. And I didn't build it. This bit was built by Paulus. So let me just show you. In fact, I'll show you back here what it looks like inside. These two little pictures you can see here, this is the Mark 1 versus Mark 2 power controller for a home coffee roaster. That's the guts of this one here, which is this little silver box. Coming in on one side is a normal household power 240 volt. Coming out the other is household power 240 volt. Coming in here is a serial port. And in the middle is magic. And the bits of magic in the middle, that's Paulus' design. And those bits of magic basically allow me to send some ASCII commands down here. I can either send like 67% and it means that it just chops the waveform so the 67% of the power gets through. 99%, whatever, I can choose the percentage. Really convenient for a non-hardware geek like myself and very much a software person. It was great. Or you can send a number between 0 and 26. And it'll similarly produce a scaled amount of power coming out there. And so that power then goes into the heat gun, which means that I have this serial port to control the amount of power going into that heat gun, which is great. Now Paulus' second version of it over here, which unfortunately we don't have here today, the second version is a bit fancier. It incorporates the thermocouples, in fact two thermocouples, directly into the power control device, which means you can read the temperature directly out using the serial connection. And because it's got two thermocouples, you can do averaging of the temperature in two parts of the pan, which is much more accurate. You can get a much better result. You'll notice that when I start doing the roast, I get some fluctuations in the temperature. And the primary reason for that is this particular bread maker, which just happened to be the one I had at home. When you set it to the mode that's closest to what you want for roast, which is just continuous stir, it reverses direction every two minutes. And that means the beans that were cold get shoved over different parts of the pan, the other ones hot, et cetera, and you end up getting a bit of fluctuation in the power. Okay, so let's try and fire it up. So let's see, if we fire up this little coffee roaster, then what we're seeing here, hopefully you can see that, you see the temperature there showing 23.2 degrees C. It shows the rate of change there, 0.0 degrees C per minute, the elapsed time, and you've got buttons down here for choosing when you hit first crack, so you listen for it, because then you keep all your roast profiles and you exchange them with your friends on coffee snobs. That's the idea. And you say, this one tasted really good. You can also load a previous profile and use that as the target temperature profile for the Python controller, which has a bit of a modified PID loop. Can anyone tell me why, you know what a PID loop is, don't you? Roughly control loop, basic computer science control loop. Why isn't the basic PID loop exactly what we want to control the heat going into this? Anyone guess why? Lag. Exactly, hand up there. Excellent, that's the lag. There's in fact a huge amount of lag. If you up the heat here, then the actual temperature won't start rising considerably for about 15 to 20 seconds. It takes quite a while for the heat to penetrate through the bean mass. And so the solution I came up to, because I haven't actually done any control theory and things, I just thought, I'll put a PID loop at the end of a bucket brigade, right? So I just created like a little cascading one-dimensional bucket brigade where it simulates heat transfer from bucket to bucket to bucket to bucket, done on half-second averaging between the buckets. And at the end of it, there's a PID loop controlling with a delay, and that produces a basic model of the heat propagation, a one-dimensional model of heat propagation through the beans, and that works pretty nicely. In fact, the whole thing can run in simulation mode where it simulates the actual, the full roast, allowing you to tune the PID loop by matching the simulation to real roasts, which then allows you off-line to sort of experiment without ruining quite as many, you know, wonderful beans. Okay, so what we're seeing there is a little graph there. You can see the little pink line very faintly in the bottom left corner. The temperature's been sitting right at about 23.2 degrees, and what we're going to do is we're going to temporarily turn off auto power control and set a target temperature. Now, as I've been assured that the smoke detector's off, I'm going to set it at 210, which is what I would normally do for these sort of beans. These particular beans, by the way, are Bolivia Green Mountain Estate beans. Another reason why a lot of people get into home roasting initially or the excuse they give to their wives is that coffee's much cheaper as green beans, typically about nine bucks a kilo. So you can drink a lot more coffee for the same amount, but that's really just an excuse because then you spend it all on the other bits and pieces. Whatever. Okay, so I'm going to fire this thing up and then put it on auto power control, and I'll also clear that graph so just reset the graph. So what you'll see now is that this little it's getting quite warm here. If any of you want to come down, by the way, oh, I need to actually turn on the stirring or it's going to get really bad. Right, so I'm now going to start to stir the beans. You've got to make sure you have the stirring. I would have burnt the beans quite badly if I'd left it on too long. So the temperature, you should see it starting to rise there. My apologies for the small size of the graph. Everyone still see it okay? If you can't come down the front and have a peek. So the temperature will start rising and it'll take about 15 minutes for a full roast. I may not do the full roast today because we're going to probably run out of time. I want to get into the USB protocol analysis, but it's very simple and maybe we could take it to first crack and see if you can hear the beans popping for first crack. Okay, getting quite warm. This little tile here, by the way, is just to try to keep more of the heat inside the pan. You just need a heat-proof tile covering part of it and the exact orientation of the heat gun and things probably matters. Just reverse. After two minutes, it reversed direction so you'll see a bit of a fluctuation in the temperature graph there. Okay, so that's our basic roaster. Now, maybe I should show you... Shall I leave that running? Can you actually hear me give the talk while I talk the rest of the stuff and leave it roasting? You're all happy with that? Okay, so then I'll go back and talk a bit more about some of the other things that... Right, so that's a power control device. So what I'm going to be talking about next is one of the interesting things that I think... that I need to work out for this particular task. So I had this USB multimeter and Paulus' solution, of course, was just to build a thermocouple himself directly in his power control device so he didn't need to work out the protocol to talk to his own device because he was able to convince himself to give himself the protocol. Whereas in my case, I got this, you know, cheap Victor Chinese digital multimeter so I need to work out what the protocol is. Now, what's happening is this multimeter, it's got a little button on it's marked RS232, right? It was originally a serial multimeter in design and then the manufacturer has then converted it to be a USB multimeter. Put this little bit in the top. It gives me a USB cable. But there is no documentation on the protocol. This thing talks from the multimeter across to the computer. So you need to work that out. Now, how would you normally work that out? I mean, this technique I've got up on the screen is the usual technique. That most people use. What they do is they think, okay, I've got a Windows driver for this thing because if you go to the website of the manufacturer of this multimeter, you'll find that there is in fact a device driver for Windows which will display whatever's on the multimeter up on the Windows box, right? And then there's lots of software out there for capturing USB packets. For example, Wireshark can do it. How many of you have used Wireshark for USB sniffing? For USB sniffing? A few? Yeah, everyone's used Wireshark. I knew that. So Wireshark, it turns out, actually supports USB sniffing. The kernel has the ability to capture data using DebugFS. So there's instructions in the kernel documentation. Grip for DebugFS and USB. You should find it. And it tells you how to mount the DebugFS file system and then you end up with some text files. You can just cap them and those contain the raw USB data. And that's great, except there's a slight problem with this technique. Who can tell me what the difficulty with the technique of just capturing all the data going between the Windows driver and the devices? What would you do? Okay, how would you go about it? Say you could just capture all the data. What would you do with that data to then write a driver? Sorry? You want to know what it's saying. That's right. You don't want to know what that data meant. Now, it's fluctuating all the time. The temperature's jumping up and down. At any particular point in time, you don't know it's hard to capture the precise timing and what it's displaying. Plus, you can't test theories with this method. You either write the right device driver or you don't. But what you really want to do is to feed arbitrary data to the Windows device driver. Let's see how this roaster's going, by the way. So we're up to about 120 degrees C now. Does it keep it warmer? Can you smell the coffee? Yeah, excellent. Now notice the other thing you get here. Chaff. I didn't actually warn the organisers about this, but it's a bonus. You get a lot of this chaff and normally what you do is you have a great big fan, room fan, blowing it out over the audience. But in among the... my laptop instead. So I've got a great big pile of chaff where it builds up. The chaff is the husk of the coffee bean. And as it gets roasted, the chaff starts coming off. You get a lot of it. It builds up in your garage, but you just sort of vacuum it up or whatever or sweep it out. Anyway, the other problem is without a fan to blow the chaff out, we are probably going to get a little bit of ignition of some of the chaff in the heat gun. You'll get to see an occasional spark here as it gets up to higher temperatures with the chaff because the actual heat gun itself is 6 to 700 degrees. It's quite hot and it's quite happily we'll burn the chaff. I haven't burnt down any lecture theaters yet although this is the first attempt. 43 degrees C so far and we haven't got anywhere near first crack. So we'll go back to what I was discussing a minute ago. USB protocol analysis. Okay, into leaving the two talks here bit of a balancing act. So what you really want to do is find a technique for being able to modify the data as it goes between the USB device the multimeter in that case and a Windows device driver. So the technique that I recommend is this basic arrangement. So you've got yourself your Windows driver displaying what's on the display on the USB connection and you've got yourself a packet rewriting filter of some sort of program. In my case Emacs. So you know universal programming tool is Emacs. So you want Emacs to be sitting between smokes getting a bit more now, between the Windows driver and your USB device then you have the USB device. So how do you actually arrange for this and the particular technique that I use for this project is the following. So what you have is virtual box 4 which by the way one of the good things came out of the whole Oracle something is Oracle released virtual box under the GPL. Excellent. So I'm running the GPL base release. There's proprietary add-ons but the base version is full GPL which is great. So virtual box 4 the Windows display, a little driver that displays what's on the multimeter. Then it goes into an LD preload. I love LD preload. I'm sure that Eric hates my guts as a result of it.  Anyway, LD preload is a wonderful hack. You can preload into virtual box. Now of course I've got the source code to virtual box. I could just hack virtual box. It's much easier to write a preload. If you line preload it would take me hours to work out where the USB code is inside virtual box and hack it. Much easier to write a little preload. Much more fun. So write an LD preload and the idea is to the LD preload writes all the data that it gets from the real device, the USB device to a log file. So you get the raw data going into a log file, preferably nicely formatted for human use. You want it in a nice hex stump type format, one line per packet sort of thing. Coming down into a log file really easy to use. Then what you want is your LD preload needs to also take input. And so what I've got is a control file. And that control file, if the control file is there, then the LD preload, when the control file data size matches the packet, it will replace the data packet on the way through with whatever is in that file. So it will read the control file and replace the data on the way through. That means you can just have Emacs open on that control file, edit the hex bytes and whenever you hit save, the Windows driver starts seeing different data. That means you can experiment. You can very very quickly say, oh, it's sudden temperature. Let's watch this. Back to the other talk. 172 degrees C getting up there. And notice the fluctuation, the two minute oscillations. That's what's sold by Paulus' second device of two thermocouples. With the two thermocouples you can average between the two and Pyro's supports that. Yeah, Paulus. Probably take what? I get too much smoke. Oh, I don't have a smokey, do they? Oh, there you go. Okay. So I will remove the tile at this point. Hoping not to burn myself. All right. Oh, one hot tile. Yep. Okay. Okay. So the beams will get less smoky that way. Okay. Good. That will take a little bit longer. Right. So what that hasn't quite reached first crack yet. Okay. So we got the control file, then you got EMAX, the USB device, and that's the basic technique. And the thing I'd really like to emphasize when you're trying to work out a new protocol, spend some time to get your work environment set up to have a quick development cycle. You want to be able to try and experiment with testing a theory of how the protocol works in seconds. You say, oh, I wonder if the seventh byte, the high nibble of that is that segment of the display. Test, test, done. You know the answer. Because that fast development cycle makes all the difference. I've seen too many people using a technique where they have to reboot the windows box each time they want to try a new experiment. Right. No good. Yet a really fast development cycle because it does take a lot of thought to work out a new protocol. Particularly one as bizarre as this one. It's really quite bizarre. Okay. So how are we doing now on the must be getting close to temperature. 181 degrees C getting up there. Now for the next part of the talk we're actually going to work out the protocol for this multimeter. The problem is that I need the multimeter disconnected from the coffee roaster to do that. So I might just wait, let this roast go a little bit longer and then we might actually stop the roast at a time in the USB protocol analysis part of the talk. It means these beans won't be so good because we're stopping it way too early. But I think that's probably the best thing to do. So I'm going to stop this roast at this point and turn off auto power force the power down to zero I'll save that roast and right. Let's stop this thing. But you get the idea. The problem is we would have run out of time I think and I'd really like to move. I'd definitely like to move on to the second part of the talk which is let's actually do some protocol analysis. Now what I'm going to do I'm going to try and put this display we don't need that power control device going to try and put this multimeter on the this display over here so that you can actually see what's going on with it and let's see what this thing does. That's a bit zoomed in how do I zoom out zoom out no other way more more it only zooms a tiny bit at a time keep pressing okay so that's my multimeter right and there's a little firmer couple sitting there okay so what it's doing is displaying 50 degrees C at the moment now this test oh bug in that program isn't that terrible imagine a coffee roasting application with a bug okay so what I'm going to do now is flick across to this application I'm going to bring up this is a Windows virtual machine I'll just flick it back to the laptop display for a moment okay now it doesn't like the mouse so here we got Windows 7 and this is Windows 7 running the digital multimeter application that came with the that you can download from the website okay so what I'm going to do is in virtual box you can tell it to well supposedly if this thing actually it won't take mouse clicks so let's see whether it'll take it from here no I can't click the mouse on this menus and things at the moment maybe I can do it up via this it's not seeing any USB devices whatsoever well there you go demos LS USB doesn't hang let's unplug it and plug it back in again which is the usual technique alright and see if any kernel developers in the house ah come on come on USB there you go now let's see if this thing has recognized that it's got nope so what we're going to do is we're going to reset the virtual machine and it's failed to save state and let's try and just power it off and let's see if we have any luck so we may not be getting an awful lot of luck here so I'll show you the little script I use um ah let's see junk code preload usb start win 7 and ld preload let's get to the right there it is ok that's the command I'm running there I'll just up the font a little bit here so is that just about readable yeah ld preload equals full path to my preload.usb.so and then I'm directly running the virtual box application now I'm running this as root the reason is that preload and non-root applications when they start switching UID while they're running doesn't work so you need to actually start up your virtual machine as root so this is in this case running it as root it's easiest way you can instead put the whole thing and etc the ld.so.preload everyone know what a ld preload is anyone not know ld preload ok a few people right ld preload is a hack you basically create a shared library say you've got a function that you want to replace in an application virtual box so virtual box I've actually got a slide about this would you believe virtual box controls the usb devices by opening the device with an open call in fact it uses open64 then it calls IOCTLs IOCTLs control functions and it has two main IOCTLs it uses one is called usb devfs submit herb and the other is ufs devfs reap herb end delay they're the two primary ones you can guess what it does the end delay means don't wait so submit herb takes some data and squirts it at the device then reap herb returns the reply from that data packet back to the application ok and it tells you what pointer it gives you back your original pointer to the structure this usb herb structure gives you back that pointer so you've got your original structure back with filled in data replied from the device so what you can do with an ld preload is create a little shared library that implements your replacement functions for open and IOCTL and close when you see an open and the path to the open is the usb device that you want to intercept then you remember what file descriptor you do the real open right because you can ask the c library for a pointer to the real open then what you do is you get that real one and you remember it then when you get an IOCTL if that IOCTL is on that file descriptor you got earlier then you've got an operation on that device so in this case you can read the data that's going out to it and you can see the data that came back and you can start replacing the data before you return to the application so that's what you do with ld preloads very simple technique really it's not much code so if I start this I hope the virtual box will start and not crash on me I've had various problems with my usb oh it's going to reboot windows how about that ok so once this thing starts up then I will be able to give it the usb device patch that into this windows virtual machine and hopefully that will work there you go so there's all my usb devices and I'm going to patch in the shenz and victor high tech multi meter which is now patched into that windows virtual machine like that so if I now run this dmm app and tell it to go start yes 20.7 that's the correct temperature off here so it's now currently reading this multi meter my ld preload is passing the data through to the windows device driver and it's doing one additional thing it's as I said mentioned before it logs everything so if I do tail minus f slash chump slash usb log you'll see all the data there flowing between the multi meter and the windows device driver ok so now as an audience we will now work out the protocol for this device right so let's first of all what we're going to do is temp usb log open it up there's our log ok now we want to know we first of all got to get some examples of what the bytes might mean so what we need to do is take one of these rows and put it into this usb.data and now what happens is my log is now saying that it's replacing this data with that fixed line right and so now I can read off what is on the windows display which is I'll just make this window a bit smaller so you can see it 20.8 so we can now put a comment on that 20.8c in fact it's 0 20.8c but those bytes are 20.8c now we need some different bytes ok what do you do well you stick this in your mouth ok and this is the version from you know having the data in my mouth and we see that that temperature if I now put that as the top line my preload just takes the first line it now reads 27.7c so that line is 0.7c 0.27 right now what we ideally want is an example with only one digit different so we can start we want really minimal differences in data and then we try to work out which bytes correspond with what digits on the multimeter so here's a couple of examples that I just grabbed earlier from sticking into my mouth less aggressively and so this one here 2 degrees centigrade read by windows and windows interpreting those 14 bytes is 24.2 whereas if I put this one it's 24.1c so all of you now have a good stare and tell me which bytes are different between those two the first byte is different and the third byte is different is anything else different no just the first byte and the third byte ok let's start saying can we construct a temperature so we think that last digit the one and the two is the first byte and the third byte and notice that the second nibble of those two bytes hasn't changed only the top nibble top four bits has actually changed that could matter you've got to notice these things so let's see whether we construct 20 let's see if we can make 20.2 so let's take that 20.8 and try to make this 20.2 what we need to do is take this 1b there and take that 3d there 20.2 there you go we've now constructed a new temperature we've fed it to the multimeter it's displayed it ok so that means we are now in a process where we can start sending bytes to the windows display testing our theories and we take our notepad for our emacs buffer and take a note that the first and third byte appears to be that fourth digit so you keep doing that you find other digits that's different you write little one line orc things we take your usb data log and you see what possible patterns were there in my log if I do something like let's say cat usb data log grep minus v equals and orc print dollar one space dollar three like something like that and sort minus u right that's all the bytes that's all the variants of byte one and three that we've got now how many are there one two three well wc minus l you know why count when you can get a computer to do it 12 examples there's 12 different things we've had in that digit now that's quite plausible because there's 10 digits and there's also cases where there's a dot there it's quite plausible that 12 possible digits we could start shoving in some of these so let's take one of them bb4d ok and throw that into our example data so bb 4d and that's now that's interesting right what we've done is scrolling this is no longer updating its temperature graph what's happened invalid input data now this is where things get interesting because a lot of windows drivers will just keep displaying some of them will just stop some of them will log an error it's great if they log an error and tell you what's wrong but the most common thing is they just don't display something when they get invalid input so that tells you that that combinations of bytes isn't valid and that's interesting data right ok now because I'm running a bit low on time what I'm going to do now is show you the second stage of this when you're doing analysis so this is the basic stage first stage start with existing data blobs edit and watch the results on a windows display try to work out the patterns done excellent theory testing write a tool to produce what you think is the desired data and test your tool well that's easy right so what I've got here is a little tool called set lcd and it's just a tiny little c program and what it does is it takes a what I think and it sends it writes it to that file which the preload reads and displays and windows says yeah I got it right 1 2 3 4 c or once you've looked a bit further you realise how to put decimal points in you get 1.234 c or 2.34 c <IP_ADDRESS> c etc so and you play a bit further and you work out how to do you know change the display amps and I've started giving it amps it'll actually get unhappy about some of that because it doesn't like changing mode so I'll put it back to degree c you can work out all the different display modes because this thing can flick around between different display modes right hertz voltage amps micro amps and it's the same technique you can work out the entire thing so after that of course you now know exactly what the protocol is now all you do is you detach your little USB here wait for virtual box to be happy about the fact you pulled the USB cable out while it's reading from it a few more seconds and then you can write yourself your own reader and you end up with something like this is now it's sometimes it has to reset the multimeter a couple of times let me just try it again come on pull it out and try again occasionally the multimeter just gets stuck and stops sending data alright so I'll see whether I can kill this and start it again hopefully it'll come up still waiting for it to come up there we go okay that's now reading the same temperature off here and we've got ourselves a Linux device driver right click it to DC micro-amps or I can pick it to amps or to hertz or all the different range settings and it's like you know 100 lines of python and it works so you got yourself then you can do graphing and all the rest so that's basically the technique for working out the protocol for a simple USB device like this this particular one is output only you have no inputs makes it particularly easy if you need input and output you may need more advanced than emacs on a text buffer but that's fine the basic mechanism that I'm suggesting you use is set up your tools your protocol analysis tools so when you're testing a theory it's quick okay so that's it for coffee roasting and any questions if you're just doing hot air roasting why not use a popcorn maker okay popcorn maker is a very popular type of home coffee roaster one problem with popcorn makers they take very small batches of beans typically a couple hundred grams of beans second problem is lots of people on coffee snobs reckon you don't get quite the depth of flavour with a popcorn maker but I've never tried it maybe it's better flavour I don't know the larger mass of beans and the more even temperature you end up with this supposedly ends up with slightly better roast plus I already I didn't have a popcorn maker I did have a bread maker um with virtual box my understanding is that it doesn't have usb pass through on the gpl so I'm assuming it does the gpl version has this is pure gpl except windows image so you're not actually using the binary extension thing no I'm using the virtual box version 4 has usb 1 1.1 or whatever pass through built in the gpl version doesn't have usb 2 pass through so if you're doing video capture devices you either have to use the proprietary add-on or you'll have to use a different technique but most of the stuff I play with is over usb 1 lots of stuff does work to some extent over usb 1 I've even managed to do a video device and actually get it to play a simple bit of video a tv capture card I managed to do that successfully you can do some stuff quite a bit of stuff over usb 1 as long as you're willing to put up with lousy frame rates and missed images and that sort of thing occasionally for protocol analysis and if you've got a device that actually needs usb 2 for whatever reason then you do have to use those you have to use the proprietary add-on and the great thing is the ld preload will work with the proprietary add-on fine because you're not actually requiring the source code I didn't have to actually hack virtual box for any of the stuff I'm doing yep no worries so who's going to build their own coffee roaster now a few people go for it yeah so join the coffee snob site you can end up with a little coffee snob membership card which also doubles as a somewhere here I've got my coffee snob membership there it is and it comes with a little guide to roasting showing the different color so right now that is don't drink this because it hasn't been roasted nearly enough but you get this little membership card like that and that doubles as your guide for roasting and you get people discussing like a CS9 roast I'll put it on the document camera yeah okay everyone we're out of time yep just like to say thank you Tridge this is a small gift from Linux Australia thank you very much thank you for a fantastic conversation