What's up guys in today's video I'm reviewing this brand new bluetooth speaker that I've just received this is the DB1 double bass it's by a company called UB Plus this was released very recently on indiegogo they smashed their crowdfunding and it's now started shipping as you can see I've bought two of them they come in at $499 each check out the link in the description to always see the latest pricing information in case they have any discounts and to see the full specifications this comes in three colors you have glossy black glossy white and metallic gray I have them in glossy black and they are going to match a lot of furniture that I have around the house I'm going to be connecting it to my phone because they do have a specific UB Plus app that you can also connect and you can also pair up to eight of these speakers together as a basic chain so I'm going to connect both of these together and showcase how it sounds side by side a lot of features I'm really excited let's go ahead and unbox this showcase how to set it up go through some of the app settings and ultimately let's go ahead and see how it sounds but also do remember that how you are listening to this video will be slightly different to how I hear the audio from the speakers in person so just bear that in mind but hopefully it will give you a good idea of how powerful the bass is and how clear the audio is and how clear you can get dialogues from this as well if you do use it to maybe watch and stream content so let's get straight into it so let's go ahead open this up so you have yourself the quick start guide now there's a panel in here this will be the magnetic base of the tripod that will connect to the three different legs just there at the bottom you have in here a white usb-c cable to charge up your speaker then you'll notice there's a couple of little black things here this is actually going to be connecting to the strap which I'll showcase in a second so I will take both of these out as well as the strap that will basically become the handle to carry the speaker making it a little bit more portable and easier to take with you in different rooms down inside you have yourself the speaker let me just show you the last thing and you have three of these in the box these are the tripod legs so you just screw them into place very quick and easy to do so you start with the largest one then the medium size then the thinnest one right at the bottom and you screw them right into the base of here and this will connect to the magnetic bottom of the bluetooth speaker and I'll showcase that once it's all connected okay and here is the speaker you can see at the front it's got this nice gold and black accent combination which I think is a very good combination to be honest it's got the ub plus logo just there it's very reflective i.e the glossy black you can see there's the large speakers just on the right hand side this has a 4.5 inch woofer built into it and these are 5.2 inch passive radiators which are on both sides that essentially will distribute the airflow evenly resulting in a lot cleaner and deeper base along the bottom you have yourself the magnetic connector that will connect to the little tripod head it is a very strong magnet and you can actually pick up the speaker with the tripod connected together it takes a bit of a force to pull it off which actually shows how strong this is and then just in this compartment here you have yourself the usb-c charging port and also an auxiliary port if you're wanting to connect that via a wire the usb-c port not only powers and charges the bluetooth speaker but it also allows for a usb-c flash drive that you can connect you can put some music on there and play that back directly from the flash drive connected to this which i think is also a very nice touch you also have the control knob there at the top you hold this down for a few seconds to turn it on and likewise for a few seconds to turn it off you hold it down for two seconds and it'll go into bluetooth pairing mode there is an led ring here that will light up and flash and blink white when it is in pairing mode and you do get a confirmation audio when you are doing pretty much everything i.e whether it's connecting it to the bluetooth device or turning it on and off and disconnects as well okay to fix the strap you grab the little handle you put the flat side in from behind and then you push the pointy part down into the rubber strap so it pops out like this then you bring the strap you open it open like this you put it behind the flat part and then you push it upwards and then you should be able to close the gap so there we go it's now been tightened and there you have it that is how you put the strap on so you've got it on both sides and this is now your carry handle i'm going to go ahead and put the tripod legs on that and show you how that looks in a full view and here's the final result you can see it looks very nice with the gold legs and the black speaker the combination of the colors i just think this is fantastic it's very lightweight as well so it's so easy to take with you it has a very strong magnet which i think is very convenient so here's an example i've got this next to me if i pick this up you can see how easy it is just to carry it it's not going to fall off the tripod which is a very important thing and they are very stable and sturdy now not only does this have a powerful bass in built into this this also has 60 watt output of stereo sound which is quite powerful and this would be very loud in pretty much any room so i'm going to be connecting it to my phone for the very first time let's go ahead and turn this on so you just hold down at the button just there on the top of the speaker standby so it goes into standby mode to connect it into pairing mode you just hold it down for two seconds you should see a blinking light pairing so now that it is in pairing mode let's go ahead and connect it it should come up as ub plus in your bluetooth settings and you can see at the bottom ub plus pairing successful now that has paid successfully let's go ahead and i'm going to play a demo audio but first i wanted to showcase with the audio coming directly from my phone and going into the microphone that's just outside of the frame here the difference the audio quality is by playing it back between your phone and the speaker like this so i'm going to go ahead and disconnect it now let's open up a song the volume is set to about 40 percent of course this is not a side-by-side comparison of phone audios versus bluetooth speaker audios but i just wanted to showcase if you do listen to something on your phone then if you want to connect it to a speaker like this this is how much of a difference it can make okay let's go back and reconnect this now let's continue playing that same song and you would also see these passive radiators on the side bounce to the music because it will just give you that much nicer look of a very powerful bass bluetooth speaker i'm just going to pause it there you can also use the top of the knob to control the music so if you twist it right it will turn the volume up and if you twist it to the other way it will turn the volume down it can go very loud and i don't want to hurt your ears by going so loud but hopefully that gave you an indication of the high quality of the bass that comes from this as well as the audio now that i've shown you how it sounds with one of these speakers using my song on spotify i want to connect it to the ub plus seek app available for both ios and android and see the capabilities of what you can also take this further with right so i've opened up the app and let's go ahead and first of all pair this via bluetooth so this one you can see has shown up on the list you hit okay you can switch it on from here as well which is quite nice so if you've got the speaker set up somewhere else you can remotely turn it on and off from your phone so it's turned on and you can see the battery life on this as well it's currently at 90 percent this is the a2 model and it's quite convenient so you can see the power button just there at the bottom on the bottom left you've got this waveform these are basically allows you to set a certain preset and have this sound slightly different based on one of these six presets there but you can also increase decrease the base the mid and the treble to get the audio to sound however exactly you like it so if you think maybe the bass is too high you can actually turn it down from here but let's go ahead turn the bass down all the way just so you guys can see how well gets controlled via the app hopefully you can hear that a little bit the bass is down to zero i'm going to put all of them down to zero actually so it does sound a lot more flat still the audio is not too bad let's put them to the max you see the big difference and the best thing about this is you can also set your custom presets so if you wanted to make adjustments like for example set them all to their max if i just quickly do that you can go to save as input the eq name and then hit save and that would be set as your preset so a very nice functionality there you can also control the volume from here so if you hit that volume button just on the bottom right there's a little slider you can go all the way around and it's very quick and easy to do that and then right at the bottom on the right hand side you have the play and pause button then you also have the next button there just to control your music directly from here on the top right if you hit those four dots you can rename your device so if you have multiple db1 speakers in the house just so you can name them for different rooms for example this is the best way to do it from here okay so next let's take a look at pairing both of these together so they can simultaneously play the same audio from your device this is called tws which is the true wireless stereo so what you need to do is let's go ahead and first turn both of these on put them into pairing mode pairing so i'll go back to my bluetooth settings and i will reconnect to both of them connected connected there you go you got the audio confirmation let's go back to the ub plus seek app go into the top left menu now you can see both of them are listed there they are on if you select both of them and again you can have up to eight so if you have a lot of these they will all appear on the app like this hit tws you got the confirmation tws have been connected so now you have a single view with the tws logo right there on the middle of the speaker icon so if i go back into playing an audio that will now come from both of these speakers so let's go back to Spotify i'll put the volume down a little now this is a very nice way to get more of an immersive surround sound speaker experience while still getting very high quality audio with a very good bass and i'm so impressed with the quality of the audio from this for me the price tag on this i think would warrant how powerful this is not to mention how durable how good this looks just the overall design of it i think is you know one of the nicest designed and sounding speakers i have ever tested let's go ahead and put the volume up a little bit get more of that surround sound speaker experience from my microphone and i think that just works great now there's multiple use cases with this you can set it up with your tv you can set it up with your laptop your phone many different devices i'm probably even going to use this in my home gym because having a very nice speaker system with good music gets you really pumping and working out that much harder i think it's going to be a lot nicer to have that there so let's take a look at some of these use cases around the house music wherever your date takes you db is by far our most powerful speaker distinctive sound quality and artistic appearance enjoy music with second to none sound quality the cinematic home theater experience or go viral with our speaker synchronize up to eight units and get the party started this also waterproof omg moments great quality whether you're into hip hop or classical db comes in three colors black white and metallic gray every detail is carefully designed making sure the aesthetic matches the sound it looks i mean honestly look how sleek it looks it looks futuristic wow i love the detail on this speaker this speaker is amazing new quality good bass it's like my playing i feel it whoa the beats up here go even harder with this stereo system i'm on the side i feel like i can this bass are you here available only on kickstarter order yours today so that's it guys hopefully you found the review of these db1 double bass speakers very useful if you like the sound of this if you like the design of this make sure to like this video take a look at the description to find out all the information that you want to know regarding these speakers and how you can go ahead and purchase it take a look at my link and find out the latest pricing information in case they do have some discounts running for you guys i think for me personally this is very worth it i can see myself using this in various different rooms around the house one other feature i really like about this is that you can go from one room to another so if you've got this set in this room here and you've got the second one set in another living room for example you can go ahead from the app very easily switch the audio from one speaker to the next speaker if you are going to a different room so maybe just chill out in a little bit so i think that's quite nice and there's a lot of things you can really do with this and i'm gonna see myself using this very long term it's my best speaker i've had hands down make sure to also subscribe i've got plenty of tech reviews with very cool gadgets like this coming out very soon new videos out every week and i will catch you guys at the next one take care


All right, thank you, Dr. Molenex. It's certainly a pleasure to be here to talk with you guys about one of the topics that I think is extremely important in the beef cattle industry. And it's the next generation of cattle, which should be our best generation each and every year. So today I want to talk with you about goals for developing beef replacement heifers on forages. So in Alabama, we have the great fortune to have lots of rainfall, which gives us lots of forages. So sometimes we get more than what we can use. So it kind of gets away from us sometimes. And then other times, maybe we don't have as much as we would like. So kind of trying to think about our developing our heifers in a beef system that will work and be sustainable, maybe even cost effective over time. So kind of a brief outline is we're going to look at some developing options and then look at some nutritional management when it comes to cool season annuals and perennials, as well as summer perennials and summer annuals. Here in Alabama, we are very different when you look across the state. So some of us have some options that maybe some others don't. Then we're going to you can't talk about heifer development without talking a little bit about the reproduction aspect, some of the breeding goals. And then one area that I think sometimes we as cattle producers fail, our heifers is the rebreeding aspect. It's almost like once we get them through that heifer development phase, we decide that it's time to kick them out with the mature cows and them start pulling their own weight. But it may be that we need to kind of revisit that and look at some rebreeding goals and knowing that those girls are not completely grown by the time they have with that first calf. So we may need to look at that. And then we'll open it up for questions. So just pulling a few quotes out of some papers. Heifer development, when you think of heifer development, you're selecting and developing beef heifers to replace cold cows or maybe you're in a herd building phase where maybe you're building your herd numbers. And that impacts the economics of a cow-calf operation through genetics and longevity. So improved genetics can enhance growth performance and carcass value while eventual longevity of the heifer as a mature cow is influenced by reproductive success during that first breeding season. So when you think about the, especially the economics associated with, you won't have her to sale as a product that year. So she's not gonna be in with the truckload of calves and you're investing in her potential performance in the future. So when you're designing your heifer development program, and that's one thing that I think we miss sometimes is this needs to really be a written plan. It needs to be something that you and whoever else makes decisions on your farm. This is not a time while you're working cattle that you look and you decide, oh, she's pretty, I'm gonna keep her. These are some real quantitative things that you've outlined that are goals that you and the other folks they're farming with you have decided upon. So you have those things in mind and maybe it's the heifers that you were born earlier in the calving season or are from productive cows and you're herd. But then you need to list the needed supplies and I put supplies in quotes because it kind of depends on what your farm looks like. So you need to list the needed supplies ahead of time and decide how feasible is it for you to develop heifers on your farm? Do you have the land area for it? They need to be separated from the mature herd. They have different nutritional needs. They're in a growing phase rather than a either lactating or maintenance phase. So when you think about the feasibility, do you have the labor that will be needed to work these heifers and develop them? Do you have, again, the land space? Do you have the fencing? They a lot of times are a little more promiscuous and they like to try to get in with the other cowherds. So do you have fencing that will allow these girls to be separated from maybe your main herd or the neighbor's herd bull? So can you make sure that they are isolated from the others? And then two, do you have facilities when it comes time for vaccination programs and health programs? Do you have the facilities needed to work these girls appropriately and without really stressing them out? So do you have adequate shade and do you have good water supply? So these are all things to kind of think about when you start deciding to either develop your own heifers or maybe have someone else develop them for you or maybe you have a good system where you can purchase heifers. So those are all things that need to be in your mind when you're thinking about it. So some of the traditional recommendations that you've heard in the past are that we want to manage our heifers to reach 65% of their mature body weight at breeding in order to maximize that pregnancy rate. This is still the recommendation today from our Alabama Beef Systems Group. We see enough local data to still support that 65% of mature body weight. In the past couple of years, there's been some studies that have released data showing heifers that can be developed as low as 48% and 50% of their mature body weight. They show no negative impacts on pregnancy rates. A lot of that data's come out of the Western States but when you kind of start looking through some of that, those systems, they're restricting some of the gain on those heifers to a 0.75 pound per day a gain. And then they really utilize that ramping up or compensatory gain right at breeding. So they increase that gain period at the time of breeding to get kind of a flushing effect to help with those conception rates. So we need to do a little more work here locally to support that type of that 48% to 50% of mature body weight for us locally. So at this time, we still like to say 65% of mature weight. So in talking a little more about those development options, so when you think about ways to get them from that weaning weight up to the breeding weight, which typically we're trying to put about 200 to 250 pounds of gain from the time that we wean to the time that we breed. So there's a couple of options as far as how to get to that endpoint. So you may probably the one that I like the best is the steady growing, the middle line that you see, kind of that steady rate of gain all the way up to the time of breeding. But there are some instances where maybe your forages are better at certain times and sometimes you can't control the rate of gain that you may be getting with the forages that you have available. So it may be that you have that really, really good forage availability and quality early in your time frame. And so you get that really high rate of growth and then it kind of steadies out there toward the end. That would probably be my least favorite because if you're going to have a steady rate of gain, I would like to see it right before breeding. So bringing them up kind of slow and then ramping them up would probably be the more desired when it comes to those top and bottom lines with the middle one being more ideal to get them kind of steady across the board. So when you think about your development options, so on your farm or in your availability, what forages are available from the time you wean until the time you breed. So if you have a calving season where you're calving in the fall, or maybe you're calving in the winter or the spring, then think about when you're weaning your calves. So from the point of weaning to the point of breeding, what forages do you have available on your farm that you can put these heifers out on? Is it forages that you could plant and have available or do you have some perennial forages that could be made available for these heifers at that time? So will the forages I have available meet or exceed nutritional requirements of growing heifers? This may require you to test some of your forages and see where they are at certain times of the year. And see if you could maintain those forages in that vegetative state to know that we can get the quality that we need. So then once you get those numbers, then you know if you have to supplement. So if supplementation is needed, you kind of need to know that on the front end so that you can have those commodities purchased on the front end. So all of this comes at a cost. Anytime that you're adding supplement, you're adding cost, you're adding labor, you're adding time. So the other thing is a lot of commodities can be purchased at maybe in a time of the year where they're cheaper. So if you can get a price break on bulk commodities and that's an option for you, that's something you'd want to take advantage of. So would supplementation be efficient and affordable for you? So that's something that you certainly need to think about when you're thinking about the forages that are available on your farm. So this is a slide that kind of looks at when certain grasses are growing and available to us here in Alabama. So we know kind of looking at forage growth distribution versus calving season. If you're fall calving, thinking about when you might wean those calves, say in the next spring, you would be looking at maybe the kind of the tail end of some of your cool season forages and then the beginning part of some of your warm season forages, which makes for some pretty good quality of grasses during those times. So, but if you're, say you're winter calving and you would be weaning those calves, say sometime in September, October, then you're looking at kind of a cool season, grass type program for those heifers in that development phase. So kind of thinking about maybe what types of forages are available to you and what you might be able to do there. So some nutrient requirements, goals, a good goal that we use as a benchmark is kind of that. The one to today gain with 1.5 is kind of being the average there until breeding to achieve that 65% of mature weight. So you need to look at them at weaning, get an idea of maybe a projected mature weight and you can do that using their frame score and then get an idea of where they need to be as far as growth rate. So can it be achieved by pasture alone? I think we've talked about it kind of depends on your season. So you can supplement your grass with maybe some cool or warm season annuals, some legumes, if you need to add quality or add quantity. Those are things that you kind of need to think about before weaning. So average quality pasture and hay always requires supplementation. So if you're at that average or even below average and we've had some rough years of hay production over the last couple of years, it seems like we get rain all at once or none at all. So some of our forages have been pretty mature when they've been harvested, making some of that quality maybe less than desirable. So if you are supplementing with hay or if you have pastures that got kind of overly mature, you may have to go in on pastures and bush hog or kind of restart that vegetative state. And then keep in mind some of our summer forages when you get kind of into that July and August timeframe, some of those forages have gotten pretty mature and headed out. And two, it is just so miserably hot that it's challenging to get heifers or really any animal out and actually start grazing or any time grazing because it's just hot. So they're utilizing shade and spending that time loafing rather than grazing. So that July, August timeframe can be kind of a challenge for any system. So that's something that you kind of wanna keep in mind when you're thinking about your system. So this is a table pulled out of the NRC looking at nutrient requirements for growing heifers. And this was just to give you an idea. You can look up kind of a mature weight target. You need to weigh some of your mature cows. There's a couple of ways of doing that. Maybe if you're taking some cold cows to the market, jot down what those weights were and kind of get an idea in your mind of how those appeared to you. Maybe you thought they were 200 pounds heavier or 200 pounds lighter. It gives you a pretty good idea of where you may be on your mature weight of your cow herd. And then two, if you have scales, it's a good idea to weigh those cows. Weaning is a good time for that so that you can see if she's producing 50% of her weight in her weaned calf. That's a good production benchmark for her. So this just kind of shows the age of the calf that's going to be taking in for about 12 months, 7, 14, or 24. And then the dry matter intake or the pounds of dry matter that calf is going to be taking in. And then the TDN or the energy component and then the crude protein component. So these are the requirements for growing heifers that you're trying to maintain at a two pound of day growing rate. Where are those forages need to be? And then if they're not there, how you may have to supplement. So I always liked doing a little cowboy math because I was always that student that needed things shown to me rather than told to me. So if you have a group of heifers and say they wean at 500 pounds and they have an expected mature body weight of 1,200 pounds. So your target at breeding is about 750 pounds. So that means that you're gonna need to, they're gonna need to gain 250 pounds from weaning to breeding. So how much time is that? So if you're weaning them at say seven months as an average and then your age at breeding is 15 months, the difference in that is about eight months. So you have eight months to put on 250 pounds. So thinking about that amount of time and that amount of gain needed, your target is that one to one and a half pounds of day game. So if you're needing to put 250 pounds on in eight months, you can do that with a pound a day. So that one to one and a half pound of gain per day is a good target for you to have that steady rate of gain. So the nutrient requirement for one pound of gain a day, which is on the lower side, is TDN of 52.7 and crude protein of eight. Most of our forages can get to that. Now, when they get overly mature, that's when you're gonna see these numbers start dropping. But most of the forages that we grow, especially our cool season forages, they're gonna really exceed these numbers. So the question is, can I do this with forages? I think the answer is definitely yes. I think it's an option for us. I don't, I think we can do this without supplementation a lot of times. We have systems that we're working with that the main reason we supplement sometimes is just so that they remain docile. And there is certainly something to that. You do want them to remember who you are and what people are. There's a docility part of Heifer Development. So the next few slides that we're gonna kind of go through are looking at a project that we have either at the Sand Mountain Experiment Station or the Black Belt Research Extension Center. So the Sand Mountain Elite Heifer Development Program is done from January until around June each year. And we've been doing that this next year will be our fifth year in that program. So looking at kind of some real data from Alabama or from our projects, when you think about cool season forages for us, you think about the perennials are gonna be a fescue-based system. And then some of the annuals that we utilize, we utilize a lot of ryegrass or some ryegrass legume mixtures and then the small grain mixtures, kind of your wheat, your rye.  So this is data from just this last year. And each year seems to have some challenges or look a little different, but this last winter was actually a pretty good growing season for us. And looking at the number of grazing days for each of these systems, and I will say I pulled the fescue data from 2018 because we had to redo some fescue paddocks. So the fescue data is from 18. So when you start looking at number of grazing days, and that's what you kind of have to think about when you're thinking about developing on forages how many days can I have them out there? When you got 132 in the small grain mixture, 143 for fescue and 201 for ryegrass, the ryegrass depending on when you have to start and stop grazing can almost take care of a lot of your forage needs over that growing period. And the one thing I'll say about the small grains, we can usually get on them about 30 days prior to say the ryegrass or the fescue. So it comes up earlier. So it gives us an option for that. And we also can graze it out. And so we can just continue to keep coming back to that. And that's why it has a higher utilization is because we will continue to graze it because we can kind of graze it out before we move on to the ryegrass and the fescue mixtures. So forage consumed per heifer per day, we're at that nine, 12 and 19 values. And we were looking at somewhere around 14 on our dry matter intake earlier. So some of these numbers could certainly achieve those. So quite a bit of forage available through that system. Some of us in North Albin and over in the black belt have the option of stockpiling maybe some small fescue, most of which is a Kentucky 31 fescue. And I think we all understand at this point some of the implications or toxicities associated with that. But we still have those forages available. So this is a study out of North Carolina State where they looked at a late November through mid-January grazing and replacement heifers. And so they were able to get some pretty good quality numbers out of that fescue. So 16 to 13% on the crude protein and 68 to 60% on the TDN. That would do pretty well for what we would want to achieve. So unsupplemented, so only grass, they were able to achieve that one pound of gain per day. And then when they supplemented at seven pounds per day of high energy feed, they were able to pump that up to 1.7 pounds per day and add a half of a percent of body condition score. So certainly an option for us. Some of the warm season forages that we think about, we have behiagrass and bermutagrass. Sometimes I think behiagrass is overlooked because it's always been so readily available. We've certainly used bermutagrass because of its yield potential for hay production. But behiagrass is certainly something to look at because of its sustainability through some of our droughts. It's a deep rooted perennial forage that kind of hangs in there with us. So I think behiagrass is something that we certainly don't need to forget. It has some really good quality numbers early on in the summer especially. So you could achieve that one pound of gain a day on heifers using what you have. So some of the other systems, bermutagrass, native warm season grasses, this is, we have a study going on at the Black Belt Station kind of looking at replacement heifers on native warm season grasses when our second year of that study. So gains anywhere from 0.75 to one and a half have been shown in the literature. We're hanging out at that 0.7 up to a pound of gain. That's kind of where we've been seeing. So supplementation may be needed with this particular program. We don't have everything put together yet. But it's certainly a tool in the toolbox and it's maybe an alternative system to what we've had in place. So when you look at those kind of average days of grazing per year on some of our warm season forages, we're gonna be in that 70 to 100, maybe 120 days of grazing on these summer systems. And we do have some overlap when it comes to cool season and warm season forages. And then thinking about the yield on the different ones, some are gonna produce quicker. You have to understand that maybe in a 30 day grazing period you may have to do some put and take where you put more on and pull some off as that grass is growing. And we always use that rule of thumb take half, leave half. And we're talking about grazing systems. So that project that I was talking about in the black belt we're looking at alternative systems to tall fescue in summer for head for development. So some of the numbers that we've been seeing, this is just data from last year. We're still collecting data this year. So we're looking at tall fescue compared to bahia grass, which is in the middle there or the native warm season grass, which is on the top. So when we put those heifers on, you can see their initial weights and their final weights. So we were kind of at that 0.5 to 0.6 pound of gain a day. So with this system, with all of them last year they would have required supplementation to get them to that pound a day and get them to that achievable desired weight at breeding. So all of these heifers actually made it to breeding and had some really good conception rates when it came to total conception. So we were able to get them to where they needed to be but you kind of have to pay attention to them if you're using some of these summer forage systems. So at Sand Mountain, when you look at grazing days across the years, this is something that you kind of have to think about there. Year two was the 2016 drought. And they spent a lot of time eating hay and supplement because we just simply did not have any forages come up. We didn't get rain up here from July till December. So planting in September, October for your cool seasons to be there in January and February wasn't an option for us. So that really reduced our grazing days. Other than that, we've had anywhere from 138 to 154 days, 105 days on these cool season annuals with some perennial fescue mixed in. So looking across those years, we've had some initial weights from 600 to up to 741 pounds with breeding weights being from 790 up to 882. And each year our gains have been about where we would like them to be. You know, we're targeting that 1.5 and we've been from 1.6 up to 1.86 this last year with total conception rates being from 74 to 88. These numbers we would like to see a little higher, but when you're bringing in heifers from lots of different places with different management styles and a little bit of different age, this may be some good goals that we have here. So looking across kind of a four year comparison, this is kind of a busy chart, but I think it further illustrates how using forages is certainly a good way to develop heifers. When you look at gains that we were able to achieve across the years, I think this is all doable. Depending on the weather, you may have to have some supplementation just as a kind of a descriptive data point looking at frame score anywhere from 5.2 to 6.4. So with the five being kind of the moderate and six frame score getting up there, where you're starting to see some 1,400 pound mature weights. So on the projected mature weights anywhere from 1190 up to 1,340 with the percent of a body weight at breeding, we were above that 65% each year, which was the target for us. And the rest of that data just is more on the genetic side, but as part of the development program, we want to be able to give back some carcass quality data. And I think that certainly a portion of heifer development that you want to consider is especially if you're selling any local raised meat, these are some numbers that you can show to folks, especially that intramuscular fat to show maybe a snapshot into what their product may be. So just to dive into the economics just a little bit, I didn't summarize across all years, but I pulled from this last year looking at what does it cost? So what does it cost to do this system? So we had, let me back up and see here, we had 26 heifers this last year. So we had a lower number than normal. So the price per heifer is a little bit higher this year. And we've been anywhere from 60 to up to this $89 per heifer on our development. So the forage cost us, and the thing is you're going to plant for us the same acreage because we plant before we have all of our nominations in. So our forage cost was a little over $2,000 with the price per heifer being around $90 a head for the forage system. So the forage costs are associated with planting. So seed cost, fertility costs, if you need to lime, so taking a soil test and making sure your pH is right. So any type of weed treatments, that all kind of compiles into your forage cost feed. So we didn't have to, this one right here is what, this particular lime item is what will show a profit or a loss because if you have to add a lot of feed, then that's where you're really get into your pockets as far as cost. So we were able to keep our feed costs at a minimum at $16 a head. Then you're always going to have mineral cost. Typically for us, it ends up being about a bag of mineral per heifer over our kind of six month development phase. You're always going to have some vaccine costs and some deworming costs. For us, those have been between $13 and $16 a head. Then the carcass ultrasounds are going to run around 20. Breeding, we've been anywhere from $55 to $65 per heifer on our breeding costs. And that takes into account all of our medicine costs, leasing a cleanup bull. And then, so you're always, you always need to be prepared for anything else that may come up. So kind of miscellaneous costs that you just have to kind of account for. So we've got our bread now, what? So a lot of times we, once we get them bread, we kind of take a sigh of relief and turn them out and hope for the best. But we have to remember that this is still part of her development phase. So if she's 65% of her mature body weight at breeding and we're targeting 85% of mature body weight at calving, then she still needs to stay on that steady plane of nutrition to ensure that she's maintaining a body condition that will allow her to raise that calf and her best ability. So we're looking at about 250 days from weaning to breeding. Could be a few additional days if she didn't catch on that first breeding or even the second breeding. So she may have some additional days that she can get to that point. So with a steady plane of nutrition, most heifers can maintain a one to one and a half pound a gain, a pound per day gain and be on target for that 85% of mature body weight. Understanding that we need to be at about a body condition score of six at calving to, because most of the time we know they're gonna probably lose about the body condition score after calving and to feed that calf. So body condition score of six is a good target for us. So what happens from that point of calving to re-breeding? So that's one of the most challenging times for a new cow or a new first calf heifer in your system. So she's not only going through her peak lactation time period but she's also learning to be a new mother and trying to start cycling again. So going through uterine evolution and getting ready to re-breed. So this is a very challenging time that we need to pay close attention to. So a lot of our heifers will fall out of our program because at the time of calving, some folks will kick them out with the mature cows and assume that they're part of the cow herd now. I think we do them a disservice when we do that. So this is the nutritional demand that we must not overlook so that our first calf heifers will re-breed. So their requirement is still around a 10% crude protein, 65% TDN to get to that projected 1,200 pound mature weight. So will your forage alone meet this nutrient demand at that time that you've, that you're calving and into your peak lactation? So especially those that are in a fall calving system, if you're in peak lactation and re-breeding in December and January, what forages are available during that time? So if you do have some that can be grazed or if you're feeding hay, you need to make sure that you're testing those qualities. So this is some data from different farm groups or groups of calves from our Heifer Development Program at Sand Mountain. So this is the weights of those heifers when they came off of our program. And I wanted to show this to show that the average daily gain that was needed from the time that they came off of our test until calving. Some of those heifers were a little older so they didn't really have to gain a whole lot at all or maybe zero. So from zero up to a pound or 1.35. So those are very attainable goals from breeding to calving. So I just wanted to kind of show some real data there to show that these are certainly things that we can do. So reproduction cannot be forgotten. So some of the things that we can do to ensure that we're really keeping the most elite heifers in our system, we can do pelvic measurements. You can work with your local veterinarian or maybe you have someone in the community that's a cattle producer that's familiar with this type of measurements. So you can use a palvrimter like what's shown here in the picture. Or you can kind of measure the distance between maybe your thumb and pinky and upon palpation. I get a pretty good idea of the space that's in between their pelvis. So you're measuring the distance up vertical as well as horizontal that's available with a target of 150 square centimeters. And this is a good indication of her ability to be able to have that first calf. So the cowboy math, again, you can take that number, 150 divided by two, and that equates to the size of calf that she could have. So 150 divided by two, she could have a 75 pound calf that was presented in normal presentation. You can also do reproductive track scoring. And that's just to make sure that you don't have a juvenile track in your heifers and to really see if they've attained puberty. So as you can see in this image below where it's a dissected repro track, you're feeling for the size of that track as well as the size of the ovary. And on that ovary, does she have any structures? So does she have follicles? Does she have a CL present? And that kind of lets us know if she's been cycling. So this is a good way to maybe call out some of those heifers that haven't reached puberty or they're not far enough along in their development. You always want to think about docility. And here lately, there's been some emphasis on feet scoring. So the Angus Association has a really nice foot scoring chart that look angle as well as the evenness of those claws to give you a good idea of how her feet are gonna hold up in your system. So we've talked a little bit about the Hefers Development Program that we offer here at Sand Mountain. And this is for anyone in the state. You can nominate your heifers for this program. So we'll be accepting those nominations again in November. We receive heifers in January. We do breed them in April. For us here in Northeast Alabama, we feel like a winter calving time period or early spring calving time period matches our forages for those heifers when they're in peak lactation. So then they return home in June. It's a $400 a head flat rate for those heifers that are selected to go into the program. And this includes all your data collection and breeding. It's a forage-based as long as the weather holds up for us. It is done at the Sand Mountain Research Station in Crossville. And those heifers need to be born before February the 15th so that they'll be the right age when it comes to breeding.


This paper proposes a new method called voxel-based mark neighborhood searching, VMNS, to detect and measure street trees for mobile laser scanning, MLS, data. The method consists of six steps, voxelization, calculation of values of voxels, searching and marking neighborhoods, extraction of potential trees, derivation of morphological parameters, and elimination of pole-like objects other than trees. The method was tested on two case studies and showed high accuracy and completeness. The derived morphological parameters, such as tree height, crown diameter, dbh, and cbh, were found to be in good agreement with field measurements. This article was authored by Hongxing Liu, Jianpeng Wu, Yin Huang, and others.


What is up Marble Squad? Welcome back to our channel. So today is the day that I get Mariah back I have to say yes to him for 24 hours, which I'm not saying yes to him. Everything that I say It starts now. Yes, we already started the video starts now. Are you happy for this? Yes, yes, oh wait What is that? I got a pimple on my face. I can't film with a pimple on my face Show me to expose you getting yourself covered up with makeup. Can you put some some makeup on this to touch it up? So I look good for our Marble Squad. Can we wait till after the intro and then I could start doing that? No So I have to do it now. Can you? Sure, Bill We'll get it moving So while Mariah is gonna touch up this little pimple on my face You can do that. Go for it. I just want to thank all you guys For um 30,000 subscribers. We just ate that last night and it's amazing you guys are unstoppable and Why are you pounding my face? Cuz I have to pound. Can you be gentle? Yes, um, you're doing a great job now. Dude, that's that's not pounding That's that's just touching. I have a pimple here. I don't know What you're saying really like though, okay, I'm for all the people that join our Instagram live streams and everything We love you.  Yeah, keep setting them our way We're we have like a thing on Instagram. We have like a highlight. We post all your guys edits out there Yeah, so make sure you guys um we post a lot of stories, too Yeah, so just to show you how much that we love them. So like people that don't have Instagram Don't worry. We're gonna start going live on YouTube soon But Instagram's definitely gonna be on Fridays YouTube might be on Fridays, too Maybe we'll do it at the same time. Yeah, that'll be a lot to handle though all the comments Thank you for touching up my face. Yeah, doesn't look better just a little bit, but it's not yeah It's not as bad as it was. Yeah, we were talking about something that we want to start doing So you want to start doing okay, so that's I just briefed around it. I came up with the idea Okay So basically what we want to start doing is and see how like every other youtuber they at the end of their own videos They just do one notification shout out. Well, we're thinking about throughout the entire video We're gonna be like oh wait stop We gotta give a shout out to this person exactly so we're gonna give like several shout outs during the day So I don't make sure you guys are leaving cute comments and you guys are being you know The amazing people that you are because you might get a shout out from us Like I don't know how youtubers have a million Subscribers you know five hundred thousand even like a hundred thousand and they only give one shout out like they're getting hundreds and hundreds of comments We're already getting hundreds of comments. We're not even up to that point yet So we were like what better way to show love back than not only giving one shout out But like we should do this for all our videos and just throughout the whole thing Yeah, they wait give a shout out give a shout out not every second But like no, you know maybe like four through a video five So just to give you guys more feedback into saying like we're into seeing how we're reading all your comments and everything So while I've said that this first shout out in this video um to Brooklyn Quinlan the shots you Brooklyn. Yeah, thank you so much for being part of our channel and we see you all the time on Instagram So thank you. Do you want to get on with this day? Yes. Yes. Do you want to do everything I say?   They're like damn girls driving the Camaro what yeah, maybe the newer Camaro's not the old Camaro's any guys. We will see you in my car You good I'm a short girl.   No, you're not gonna be thankful. Oh Oh, no, you're not gonna be thankful, but like no, thank you. Yeah. All right, so start the car This is our key. Yes It's upside down Well, you're not supposed to hold it on when it starts It's all right Sounds right. Sorry if it's loud in the video. I don't know if you could hear it or not, but it's warm All right, so for the It smells fine.  It's not hard.  I want you to take me is Out for lunch So you'll take me out for lunch. Yes, okay now. I want to go to Pinero Yeah, all right, cool. You're breaking your gas is really hard. You kind of drive like a maniac Like you're hitting the gas hard Actually don't know why I'm going this way from Pinero She's in racer mode right now. I love this so much I don't know if you guys watched my video, right?  Here's the lyrics if you forget Go for it sing as loud Will you sing as loud as you can? I can't do okay.  Let's go Let's we're laughing You said as loud as you could Bulletproof as loud as you could Nothing to lose By a way I want you to scream it Shake you take your You want me to sing as I was I can't sing as I was I can't make me cry All right, all right, all right, you can get okay now get out the car. I Want you to get out the car?  Because I want you to do the Kiki challenge right now The car doesn't have to be moving, but I want you to start dancing outside the car Will you do the Kiki challenge for me Marvel Squad and all the new people that are joining our channel? Fine, though Right now give this video a huge thumbs up guys before she goes out and dances Keys are in the next year. All right ready All right, we're gonna start it All right, hold on Gotta let it warm up.  Do I know what's gonna make my day now? Getting food and you paying for it. So let's hop on out of here, but but but but but before you turn on the car I want to give another shout out to Red hallo, dude I've seen you on our channel day since we had like a hundred two hundred three hundred So I don't even know we had literally a few hundred subscribers and you were on each and every video commenting everything Thank you.  We love you. Yes. So shout out to you about hallo, and let's get on with How do I start up the lunch you turn the key? I mean now you kind of like like a little early, but without further ado, we will see you guys at Panera All right guys, so we're at Panera right now. I just got me some Broccoli and cheddar, right? I'm not gonna make you do anything mean your food because I'm not mean like you you may put hot sauce and ruin my whole meal after this It's kind of Awkward but I'm not trying to make a scene or anything, and I hope you're not Good don't Alright guys, we'll meet you in the car. I have a lot of things to do. Hey, do you have any nail clippers by the way at your house? You do okay, cool holy crap Guys, it was so funny You go first okay, there is only couldn't film as much as because when we got our food we turn we're sitting down I turn I go is that like the girl you talked to when we broke up and She was really goes. Oh my god. Don't look don't look. I'm like I'm looking because I that was so Awkward and hilarious from zero to 100 real quick. Yeah, I did so the same exact time and it's not even early It's not even late. It's just the same time in the day that we go to Panera.  You do and I gave you a car wash. So you're have the key upside down again She tries putting the key It's so hard to get you to watch. I don't know how to start it right That was perfect That was a good one. Let's get yourself a car wash. Yes Let's see if she could park this good I Can't see She's gonna have to stick her head all the way out that window. I don't know what says full service menu or the interior Here we go Oh, look at this thing.  I Hope it doesn't hurt my car. Have another kiss Do we have to show them this? No babe babe babe Chill So we're currently at Fuller's car wash Um, I guess the 30 car wash they do a inside and out cleaning So there's like two guys three guys in my car right now But they're going to put my hand down on him to grab my phone because I thought I had dirt all in my hand It's disgusting, but I don't know how long it's gonna take because I never done it before. He's waving.  Thank you, babe. I love you. Oh, we're finally back And I'm just chilling in her bed right now You know, I've been feeling kind of tensely. I was wondering if you could get me a like a little just like a back row You know Can you do that? Yes, thank you really get in there Guys make sure she's doing a good job. She's just been so much going on lately and I'm That actually guys she's being so dramatic right now. Good. We want to actually give another shout out to I got one No, I got one. All right. She has one. No, keep keep massaging I have I just gotta get the the name. I think I already know who you're gonna shout out Shout out goes to Sarah Zimmerman, I think that's Sarah Zim and we hope to see you in the next lives and in the comments. My good Jesus one more thing my mouth. It kind of tastes bad, you know, babe Can you brush my teeth while I'm laying in the bed? What do you have to say? I guess All right, so how can we do this?  Okay. Okay.  I know what I know I have hard. Oh, I could be a dentist You look at look what you did. Thank you so much, babe. You're so cute. You're welcome. Oh, man So, uh, did you like today? Yeah, it was fun. Do you want to do this again? No What? Yeah, you want to do it really I have to say yes, bill. No, I don't want to do it again I'm not trying to make you say yes at all. Wait, so you want to do it again? No All right guys, but before we close out today's video, we want to give our post notification shout out to xoxo car Carmel She's been number one all these people that we're shouting out are literally people that we see all the time like just setting up We have so many more. Yes. I feel like it should be a new thing that youtubers do I feel like youtubers should shout out more than make sure to give us credit Yeah, so if you see any other youtubers doing this, you know, it's from you say maryon bill say maryon bill So thank you guys once again, and we will see you in the next video But until then Please make sure to join us on the instagram live stream and join the marvel squad. We're joining uh live streams on friday every friday Yeah, see you marvel squad. Peace out. We'll see you next time


Hi, I'm Darlene from GoDaddy's How-To. Hey, and I'm Emma from GoDaddy's The Journey. And as you can see, I'm working from home over here in San Diego, similar with Darlene over in Arizona. But yeah, we just wanted to take the time to reach out to you guys during the COVID-19 crisis and let you know, hey, we're here, we're in it with you, and don't hesitate to reach out to ask us questions and hopefully find these videos to be helpful. If you're using GoDaddy's website builder, there are actually a couple of ways that you can start accepting donations through your site. So let's show you how to do that. Let's start with adding a PayPal button directly to your site. Our starting point is website builder. We're gonna add a new section to our homepage. From the My Site pane, choose Pages and Sections, then Add Section. Select the PayPal button section. There are three different layout options. Choose the one you like and click Add. You can see the new section added in the preview window. At this point, you can edit how the section looks using the pane on the right. You can edit the headline, description, and organization name. You can also update your background image. I'm gonna remove mine. That looks good. The last thing to do is update the PayPal settings. If you don't have a PayPal account, you can click on the link to create one. If you do, you can add your PayPal email address. You can change the name of the button. The currency defaults to US dollar. You can change to a different currency if you're not in the US. You can choose your donation method. I'm gonna leave mine as donors can donate any amount. When things look good, click Done. At this point, we're gonna move our new section to the top of our homepage so it's front and center when people visit our site. Click Home. All of the different sections that show on our homepage display. Scroll and find the Help Our Cause section and click and hold the mouse on the left to drag the section to the top of the list. Now it displays right below our header. If it makes sense to edit your header, make sure you do that. This would be a great place for you to share how you're affected by COVID-19 and how you're keeping your customers safe. When things look good, you're ready to publish your site. Before we do that, we wanna show you how to add an embed code to your site. This is what you can do if you are accepting donations through a GoFundMe page. We're still on our website's homepage. We're gonna add a new section. This time, we're gonna select the HTML section and choose Add. I know it might sound scary to add HTML, but don't worry. All you have to do is find the HTML embed code from your GoFundMe page. Let's go to the GoFundMe page. In the upper right-hand corner, there's a Share button. Clicking Share will open a box with different sharing options and we want the Embedded HTML code. Click that option and then copy the link that displays in the Copy Link box. Once you copy the embed code, go back to your website and paste the link into the Custom Code box. Give the section a title and you're done. Like before, you can move the section up or down on your homepage and when things look good, you're ready to publish. All right, thank you so much, Darlene, for covering how to add donation tools on your website. I gotta be honest. It was easier than I thought. Thanks to you and it was awesome to see you, Darlene. Good to see you too, Emma. Thank you. Yeah, you know, I realize it's a difficult time for everyone right now and we want to give our support to our community and the businesses out there. So if you do have questions, please don't hesitate to reach out and you can always call GoDaddy support anytime.


Now, there are four technologies that are coming together to cause this huge change in what it means to be human. And I call these the grin technologies for genetics, robotics, information, and nanotechnology. And they're all accelerating on their own curve. The G in the grin technology is genetics. Actually, what this is really about is manipulating and understanding cells at their very most basic levels. This is not just genomics, it's also figuring out how to make proteins work that allow you to start having human beings create any substance they want inside their bodies in order to achieve whatever ends you might want. What you're seeing in the earliest phases, like in the next two or three years, are pharmaceutical results that should have pretty amazing outcomes. One of them is memory pills. Those should be on the market in three to five years. And these are pills that dramatically enhance your memory. And all of these enhancements usually follow the same path. They're usually originally aimed at somebody who's really sick, and in the case of memory pills that would be somebody with Alzheimer's. But then it moves out to the needy well, and then to the merely ambitious. Well, think of what memory pills can do to suppose you were trying to absorb a new language, suppose you were trying to get a law degree. While these memory drugs have amazing implications, for example, educational testing service, the people who do the SATs, they're already just scratching their head about whether this is going to change their business entirely. They make the case that whatever it is that these SATs test is something that's basic and innate in human nature. And well, suppose with these memory drugs, suppose that you can in effect buy an extra 200 or 400 points on your kid's SAT test with these memory. Well, think of what parents do now to get their kids into their most elite colleges. Everybody who's involved in creating these memory pills are convinced that this is the biggest thing since Viagra. This is going to be one of the great commercial products of all times. And there's never a reason to think that they're right. Other products that are in the near term pipeline include vaccines that cure addictions like smoking. Imagine what a smoking vaccine, and of course that's all working on the brain. It's all shutting off parts of the brain, returning it on at will with this chemistry. DARPA is very interested in conquering sleep. There's already an enhancement drug on the market called Madafinal, also known as Provigil. And what it does, it's not a stimulant. It's not like speed. It doesn't get you all wired and hyped. It just shuts off the human trigger to sleep. You just don't feel like going to sleep. And the only major side effect that anyone's noticed is that it increases your concentration somewhat. So when I wrote about this, I spent 40 hours awake under the influence. You tried it? I tried it. It's a prescription drug. You can get it from your internist. The magic words is to say, I have to fly to Tokyo and give a presentation. And I need to be sharp. Do you have anything for that? And the answer is, yes. As a matter of fact, we do. And the answer, well, anyway, so it's available on the market right now. And this is still the primitive stuff. And when I handed in my copy, my editor said, gee, this reads a lot cleaner than your stories usually do. So, enhancement or what? And that's just the first generation. The DARPA notes, for example, that whales and dolphins don't sleep the way we do. They can't. They're mammals. If they slept, they drown. So they've learned to turn on and turn off different parts of their brain to sleep a portion of the brain at the time. And DARPA says, wouldn't that be great if we could have that happen to our troops? And then what about hunger? A special forces troop goes through about 12,000 calories a day.  Well, 12,000 calories, you can't eat that much.  You can't even carry that much. And so they're trying to figure out how to solve this. And they thought, well, suppose that we just don't feed them at all for a week. You know, suppose they can just go without food. The way you do that is that we carry lots of energy around in our body all the time. And it's stored in our fat. And the trouble is that the mechanism to get at the fat energy is locked up because you normally can't access it unless you're starving. So they're saying, well, suppose we identified this mechanism and allowed it to trigger at will. And I'm writing this all down.  And I say, me, me, give some to me.  And when you say something like that, they kind of DARPA, they kind of smile this little smile. And they say, the civilian implications of this technology have not eluded us. You know, dieting is like a $40 billion a year industry in this country. And if this ever works, it's over. That ends it. I was talking to a friend of mine who's a science and technology analyst who's very, very skeptical about all of these human enhancement technologies.  And she says, it does what?   Sign me up. There's the R, the robotics. And what that is is a melding of the made and the born. It's talking about getting machines and the living to work interchangeably. Smart machines that do our bidding. Now, again, this has been around for a while. Vice President Cheney is a cyborg, as you well know. He's got all sorts of gear in there around his heart that has done. He's a real human machine combination there. But again, you haven't seen anything yet. This is just the start. In 2002, there was a flying robot called a predator, which is a robot that is unmanned air vehicle that can stay up in the air for a very long time and just do whatever you want it to do. And in 2002, it came up for the first time behind an SUV in Yemen. And it turned out this SUV was full of people who were identified as al-Qaeda leaders. And this robot had a hellfire missiles under its wings. And it proceeded to fire one and leave this large smoking crater where the SUV had been. So this raises the question, was this the world's first robot to murder human beings? And now you can get into a debate about this. This predator was not completely autonomous. There was a human in the loop. And it made the decision to pull the trigger and all that jazz. So the question is, can you really consider this a robot? And reasonable people differ. But this could be seen as to be a conversation that could be a little bit overly fine if you were one of the guys in the SUV, as to whether or not this is a true robot. The point is that you do have intelligent machines that are doing our bidding to the point now where all the powers of our comic book superheroes from the 30s and 40s, every single one of them either right now exists or is in development. For example, we just had a movie called Iron Man that came out in which you put on a suit and you end up with incredible strength. That exists. That's not, it's called an exoskeleton. And at the University of California at Berkeley where they've developed one version of this, I jitterbugged in this suit. And what it's designed to do is to allow you to lift 180 pounds as if it was 4 pounds and to walk all day with a 200 pound pack as if it were nothing. When I was there, I said, think of it as like a wearable robot suit. You kind of put it on like a suit and it senses the motions of your legs and your arms and your muscles and it simply amplifies it so that you can lift things that would otherwise be impossible. And so I said, well, if this amplifies my legs, does this mean that I can leap over 12 buildings with a single bound? And they said, sure, landing. Now that's a problem.


I have recently been working on the garbage collection. The first page here, History of Garbage Collection in Objective C. It really started with conservative garbage collector written in 1988. It's a venerable piece of software. The Lib Foundation, which was written around the same time as the New Step Base, introduced the garbage collection to an Objective C Foundation library in 1998. And I added it to the New Step Base in 1999. So Apple CoCo introduced it in 2007. And why do we have garbage collection? Well, the original reason we added it was to make things easier for a programmer. Managing memory is just a fan. So you can decrease the memory management overheads with garbage collection. You don't have to do reference counting that kind of thing. So we did have a good reference counting mechanism. We wanted our garbage collection system to be portable, cross-platform, because the New Step is a very cross-platform development system.  And originally we wanted Lib Foundation compatibility, because we believe in conforming to the standards and the only other implementation that used garbage collection at all was Lib Foundation. Another reason for garbage collection was performance. Contrary to a lot of ideas, the garbage collection at the time actually seemed to work faster in real life. So in reference counting, that's mainly anecdotal evidence from Lib Foundation. Certainly Lib Foundation showed that connection collecting systems could be comparatively fast to normal reference counting from the data. Sorry, but isn't it that the systems which run the GC faster only deal with a small number of objects? If you deal with a lot of objects, it's much slower. When you deal with C++, you can do localization on your own and write your own memory management. A lot quicker. No, that's not necessarily true. In the virtual library, for instance, there's thread local garbage collection, which lets you localize where you're collecting data from. So you don't have to worry about scanning the whole of the memory, for instance, the Apple implementation also has different mechanisms for avoiding scanning all the memory all the time. And pragmatically, the code that you tend to write in something like C++ or C to handle the memory management is generally slower. Yes, you can optimize it to be faster, but you can also do that in the garbage collection environment in Objective C. So what you're talking about overall performance for the average user garbage collection can work out faster. Yeah, generally. And when you're talking about customizing specific micro-managing little tasks, you can hard-code it yourself in whichever language you like. So why did we use the Burn library? Well, it was public domain code, which is kind of important. It was already very mature and stable by the time we introduced it, 10 years old at that point. It was quite portable. There were a lot of systems supported by the Burn library, and it was very fully featured. It did really pretty much everything you want in the garbage collector by that time. Because of its new syndrome foundation, it had already been integrated into the GNU runtime. It's currently included in the GCC repositories, part of GCC, or at least a particular version because it's not very latest. And it was set to perform very well. So the way garbage collection is used in the Newslet base is that all the object allocation is typed to collectible memory. What we mean by that is that at the point where the object is created, we know which instance variables of the objects are pointers to things that we might want to keep a reference to within the garbage collection system. And we know that other parts of the instance variables are not, so the garbage collector knows about those and doesn't have to scan them. When we allocated memory generally, everything was allocated to scan collectible by default. So every memory, every bit of memory allocated could contain pointers to things, apart from the typed collectible objects. And also with the exception of GS atomic mallet zone. In the OpenStep API, you allocate memory in different zones. So we introduced that zone to say, here's a zone where you don't need to scan it, there will be no pointers in this area. The plus point of doing all that was that it was very easy to convert applications. You don't unexpectedly collect memory, because all the stuff that you used to implicitly allocate some of the heap and the default zone is now scanned. So it's safe in that respect, but it does mean that it's a bit slower. So more memory than necessary to scan. And data that doesn't contain pointers would be scanned. And possibly you'd think that you had a pointer and keep something allocated. It's essentially a leak memory, a little. So the use of the atomic mallet zone internally meant that actually within the base library we didn't have any of those problems. The way the root object and its object was changed was to ignore the allocation zone. Of course we don't want to allocate and in particular zone anymore we're using garbage collected memory. Autorelease, dealloc, release, retain, they're not used anymore. So they just do nothing. Retain count, returns view into max, just to say this is retained as many times as possible if not going to be deallocated. I already said that. Allocated objects using the type memory. Only the pointer instance variables are scanned. So because we changed that to remove, or comment out effectively the dealloc method, the paradigm of doing cleanup in deallocation of objects no longer works. And that means that the ideal way to handle that in most objects is to invalidate the object and do explicit cleanup of things like closing file descriptors. If we can't do explicit cleanup we don't know where we're getting rid of an object. It's hanging around somewhere. We need to use a finalization. For finalization we added a new protocol, the GC finalized protocol. Basically any class which conformed to that protocol was finalized. It was finalized by using the GC finalized method. The idea of that is that you shouldn't ever call that code in your own code, it's like dealloc, except that it's called by the garbage collector. So there should never be any need for you to call it. Except of course you need to call the superclass implementation if you're writing a subclass of another class that's already finalized. The method is called automatically when the object is deallocated. Finalization is fairly extensive to use so you should use it as little as possible. The problem is that when you do a garbage collection run you finalize all the methods that have a finalizer set and that means that you can end up executing quite a lot of code at one time. So you make the finalization method lightweight and minimize that. Weak pointers were added. A weak pointer doesn't prevent the collection of the object you're pointing to. It could be created by registering in finalized initialized methods of a class. So whenever a class instance is created the initialized method or the first-time method is sent to a class, the initialized method is implicitly run and that allows you to say all objects of that class will be finalized. Sorry if we'll have weak pointers in the future. Weak pointers in the bone library are not automatically zeroed so you can get a situation where you're pointing to something that object because it's a weak pointer gets collected so your pointer is ending up pointing to nowhere. If that's going to be a problem the object that leads is going to be deallocated needs to have a finalizer method to remove or clear that weak pointer in the other object. That's very much the same sort of situation that you get with the standard open step run upgrade where you have, say, a notification observer and that observer gets deallocated, its deallocated method removes the object from the notification system. Contrary to the collector, of course, there are times when you don't want garbage collection to happen if you've got timing critical code so you can temporarily disable and re-enable the collector. There are times when you think you've gone round and loop allocating lots of objects that you don't need anymore and you want to reduce the memory footprint of your application so you want to request an alec collection either using in-built thresholds so if so much memory's been allocated then we'll do a collection or unconditionally we want to collect any garbage right away then that's a lot. We also need to be able to register an unregistered zero and read the pointers. Well that's done via native calls to the collector. The other thing we added way back then was a whole load of macros.  The idea of that was for performance. Yes, why you? Okay, back then the overheads of actually making those reference counting method calls were significant that's really not the case on the modern process. The other reasons for putting these macros in was the reliability. Destroy is a convenient way of zeroing the pointer so that you know that the objected points do can be collected rather than having to remember to deallocate it and then zero the pointer you use a macro for it. Assign helps prevent mistakes in the same sort of way. It builds in a bit of intelligence, standard usage, good practice.  I'm not sure that that's really a problem. The downside is purely that they're a bit inelegant. So maybe we'll get rid of those macros. So why did we want to change it all? Which is really bad. Well, originally we were a new foundation compatible. There's been no interest in garbage collection in objected for many years. I know that because I know some bugs that have been there for years and no one has complained about them. Possibly that's because the retainer release and reference counting actually is good. It works very well in general. But now Apple co-co have introduced garbage collecting themselves and revived the interest in it. The lib foundation is obsolete. No one really uses it anymore so there's no point in us trying to be compatible with the lib foundation implementation. So we changed the whole focus to be Apple compatible now. We're not throwing away the existing work really and we're keeping the burn library. Why doesn't COGO use it if it's so great? Well, maybe they just like their own code. Certainly they have no need for portability. They can write COGO optimised for their own system. Their implementation does depend on compiler support which they've built in and they can do that because they have a dedicated compiler for their own system. They say they wanted more predictability and they wanted better performance. I don't actually know of any evidence that they have that but maybe they have. What difference does using burn making over Apple's implementation? Well, the Apple implementation uses zero-eat-week memory for that and burn doesn't have that. It does have zero-eat-pointing. Their implementation does generational garbage collection. The compiler keeps... The compiler puts stuff in the code so they can keep track of which objects have been allocated recently and so they can look at those recent objects first when they're doing a garbage collection run which hopefully means that they get rid of objects that they're likely not to need very quickly without having to do a full run.  There are performance differences either way. The change to the way the base library garbage collection works to make it compatible with CodeCode. All that object allocation is times collectible. That's not a change. It stays the same. We have a new function NSAllocateCollectable. That's Apple API. That will give you scanned or unscanned memory and it will say whether that memory itself can be collected or not. Default Malikzo is unscanned, uncollectible. So you have to pre-explicitly. That's completely the opposite of the way the base library used to do it where we had scanned, collectible by a code. That's a major shift in that one point. Finalization. Well, they still have finalization but of course that is different. Now they have finalized method where we had a GC finalize. We have to change all our method names but that's pretty trivial. All you need to do is implement that method in your subclass to have it without that class finalized whereas we have protocol to flag whether or not the class needs finalization. That was also easy to change. It looks cleaner and simpler. I prefer finalize as a method name for finalization. So we already changed to implement that. There's zero weak point. That's a fairly big issue of difference. Koko added the weak keyword in the compiler to mark an instance variable as zero in the weak pointer. Because we don't have the compiler support yet though it's possible we could add it to GCC. We have a runtime mechanism to do the same sort of thing. So we've added the function GS and 8 weak pointer and what you need to do is call back in the initialize method of your class to say that a particular instance variable is a weak pointer. We also have GS assign zero in weak pointer which lets you assign a value to a zero in weak pointer. Apple don't need that because their compiler implicitly does it. It knows that the pointer is a weak zero in weak pointer because of the new keyword and the compiler will do the overheads of telling the garbage collecting library that you've made an assignment to that pointer. We have to do it explicitly. Again, if someone adds compiler support we can avoid doing that. Hopefully that's not too difficult. Notifications. That's a big part of the way open step applications work sending notifications to different objects. If a notification center retains an observer then the observer is never going to be deallocated. Obviously we don't want that. So we don't retain the observer and we use a weak pointer. But if the observer is deallocated and we haven't removed it from the notification center we're going to get to crash and try to send a notification to that object. So the observer has to be removed again somehow. Traditionally that's done in the observer's dealloc method. But now we have a zero in weak pointer used in the notification center. So the observers no one can need to remove themselves. We have a similar situation with key value observing where an observer normally unregisters itself from an object at the point when it's deallocated. Again, we use zero in weak pointers so we avoid the observer having to do that. It's a mechanism that's generally applicable for any sort of system where you have one object observing another object. And it avoids the need to finalize those observers. And as I've said before, minimizing the use of finalization is a good thing. The other advantage is that the burden of management is lifted from the application program. They no longer need to worry about removing themselves as observers. We just forget about the whole thing. Traditionally delegates of objects are not retained. Now that's so that you don't get retained loops causing delegates to never be released which is a problem with the reference counting system.  So we actually have no need to use weak pointers for delegates. The fact that our zeroing weak pointers are currently different from the other ones is actually nothing like as big a problem as it might seem because almost everywhere that you used to use weak pointers or would expect to use weak pointers, you don't actually need to anymore. So how's collection control? Well before it was done directly by course to the Bohem library. Now we use Apple's API and new NS garbage collector class. So this class is implemented already and you don't have to know anything about the Bohem API anymore. The default collector method of the class returns nearly to garbage collections, not in use. So it's a great runtime check to see if the application's working in a garbage collecting environment. So at the moment for instance we have we use that in the regression testing suite to control which regression tests we do depending on whether we're running with garbage collection or not, obviously some tests are inappropriate in different setups. Collective needed, that trigger to garbage collection is really the same as the functionality we have with the Bohem library. So we just wrap the Bohem library's call. There's a threshold amount of memory if we've allocated that much memory since the last garbage collection then a collection takes place.  Disable, enable, is enabled they tell you whether garbage collection's in use at the moment. Okay, the NS auto release pool class. It's pretty much obsolete. Adding an object to a pool obviously does nothing, there's no point doing it. Apple added the drain method so we implemented it too. The same thing as collective needed so I'm actually, I have no idea why Apple added that method as far as I can see the fact it really ought to be completely obsolete in the garbage collection environment but we did that with compatibility. The NS pointer array class. It's a new class introduced by Apple in MacOS 10.5 can hold pointers and or integers. It can contain nil objects and null pointers which is a kind of departure from all the collection classes traditionally in the open step API. You can tell it to use zero and weak memory so that items become nil or null when they're collected. So internally we implement that as using the zero and weak pointers that the phone collector uses. So from the point of view of an application programmer there's no difference there. It works exactly like the Apple implementation. Not completely implemented in the new step yet. I expect that to be finished in about two weeks. And it's hash table. When we originally implemented garbage collection in new step base way back we added support for weak pointers there. But they were not zeroing weak pointers. Apple have taken a very different approach. They've actually removed the NS hash table object as it was and made it into a full class with support for zeroing weak pointers. So it's automatic to remove all the collected items. We are going to change it to match that and I imagine that will probably be ready in about two weeks as well. It's really the same, pretty much the same set of code as the NS pointer array. NS map table. The situation is very similar. Originally we supported weak pointers but only for weak pointers for keys and values. So if your map has this set up for weak pointers then it was both weak pointers for keys and weak pointers for values. Apple have made it into a class and they've added separate support for weak pointers for keys and weak pointers for values. We're going to make the same change. Again you're looking about two weeks before that's done. So we have almost the same garbage collection functionalities Apple do. Hash table and NS map table need updating to be entered as classes. Direct use of zeroing weak pointers remains different. That's the only difference you'll see between the two APIs now. That will probably change if and when someone puts in the compiler support in GCC to automate it for us. But still then, as I say, it's minimally used. So not a big deal for portability. And that's it. So essentially an overview of all the change. Basically we've implemented or will have implemented within a few weeks the entire garbage collecting API of MacOS 10.5. Questions? And actually I could make clear what's the main strategy to run garbage collectors tracing from routes to objects or reference columns or something combined.  Essentially it's a conservative garbage collector. It scans memory. A full scan from columns. A full scan? It scans everything on the stack, everything in the registers and everything on the heap that it's been told to scan. So it scans through all heap, which is quite expensive? Yeah, but it will do thread, that's on separate threads. Separate heaps for separate threads, if you like. And generally speaking, it's not that expensive because most of the memory you allocate doesn't get scanned because it knows not to scan it. It knows there are no pointers in it. Or it knows that certain sections of memory have mixtures of pointers and non-pointer parts of memory. That's called types memory. It knows what type of memory is at different locations. So it knows which parts it needs to scan and which parts it doesn't. So it's nothing like having to scan the whole heap. In fact, it can make good guesses about what's a valid pointer and all that kind of thing. It's really very good at minimising that. It's a key feature. So that's something that Burn worked on for many years. Thank you. So how does the MOTC map see in the stack which are pointers and which are not response of pointers? The stack, it doesn't bother the type. It has to assume that... Well, obviously it knows that some things are the frame pointers with the stack. It has an understanding of the actual stack layout. But when it comes to the actual data variables on the stack, it won't know the type. So it has some fairly basic heuristics. If what it sees on the stack is an integer that has the lowest bit set, it knows it's not a pointer to a block of memory. So it won't bother looking at that. But essentially it's going to look at the whole stack. So it's still controlling the whole stack? Yeah. Anything else? Okay.


How you identify the most valuable data, how you can manage the right dataset for the AI project will be the biggest challenge. Data visualization, a visual depiction of data, a graph, a map, an infographic. They are not just images, they are not just pictures, they are visual arguments. Therefore, they need your attention if you want to understand them correctly. Understanding what's possible, what's desirable, and also understanding what's just part of the hype curve of AI. They lack from having trusted data, which is not just about cleaning data, it's something more than that. It's data privacy, it's data security, it's data compliant. Your average company at least here in Spain doesn't have enough digitalized information to make sensible decisions. Giving a step from models to production and to being able to effectively use those models. Just even going into the companies and getting the data infrastructure in place so that a data science team can work with other departments and the data is not siloed. That is a fundamental thing and maybe only half the companies have even started this. Keeping it simple, breaking apart problems into smaller bits. Cleaning data is absolutely mandatory if you're going to have high quality machine learning. Really building products more than just doing projects is the biggest one. Communication to everybody about this world is really important. I think for me the challenge that I'm exposed to most is actually the underlying data itself. Where's one? Change the data, transform the data to trust the data. Second one, use AI. Make the AI models and integrate those models inside your business processes, your business applications, your businesses. It's around the regulation because it's really hard to be able to get valuable data. It's really important to have the most proper team that can extract all the value from this data. It's time now to think also about the CO2 footprint of artificial intelligence.


Food India's announcement of the closure of its production has shocked its employees and their families Thousands of employees of the food unit at Maraimala Nagar, Chengalpatu in Kanjiburam district Tamil Nadu Fearing the consequences of the closure New slick talk to the representatives of the employees the trade union and the small-scale Manufacturers dependent on the unit about the closure and its impact The media called us and told us that we will close the next year This has been shared by a large number of people This has been shared by the Chennai Food Employment Union in Kanjiburam In Chennai, there are 2,700 employees of the food union The staff are working on more than 4,000 people Suppliers, buses, drivers, canteen workers are working on more than 40,000 people The area around Maraimala Nagar is affected by the lack of people People are running a tea shop near the area People are running a house shop People are running a saloon shop There are a lot of people running food The food industry is closed The area is affected by the lack of people The government of Tamil Nadu is closed to the people We are not allowed to open the food industry The government of Tamil Nadu is closed to the people We are not allowed to open the food industry We are not allowed to open food industry We are not allowed to open food industry food industry is closed to the people We are not allowed to work The food industry must change... We are not allowed to work The technician working here is 35 years old She is not from Chennai In Tamil Nadu, there is a man from Palvera who works in the village. He works for the food industry in his own village. He has changed the whole village. He has bought the property here. Now he is married. Now he has a child. Some children are now studying in the school. So he has such thoughts. He has studied for the first time and come to this job. He is not just going to work or go to school. He has studied and done his job and has gone to his school. He can study at the next level for his children. He will go to the next level for the next generation. This is a social issue. The next generation of children will have a problem. We need to change the 4th generation. We need to change the 3rd and 2nd generation. We need to change the 3rd and 2nd generation. We need to continue our work. We are going to the next level. The 4th generation is the Arthur Major. International, globally, it is a very big company. It has a facility in Chennai. It is a very small company compared to the other facilities. In this fold, Chennai, 7000 people are working and indirectly, more than 20,000 people are involved in production and other things. And then, sunny centres, dealers, all together, nearly a lakh of workers are employed there. Directly and indirectly, they are earning their bread from 4 companies. Now, 4 days announced, all of us have done that. We are going to close the company. We are going to stop the production from April next year. It is a severe bold to the workers. They were shocked and also trade union movement and the democratic movement in Tamil Nadu also shocked. At one side, the government and others are saying that new companies are going to come. New capital is going to come. We are inviting capital. We are the number one in Tamil Nadu, India, number two in India. There are a lot of thoughts going on. At the same time, big closures are also taking place. In the past, the Nokia was closed. In the past, the Pachankam was closed. In the past, a lot of companies were closed. In the last two years alone, the COVID, another thing is cost for more than 6 lakh small and big and medium company closures and other things. Like and like people who have lost their gap, lost their income, lost their livelihood and everything. They have spent their hard-earned savings for the last 20, 30 years. All have gone. Now they are in a deep trouble. The working class is in deep trouble. In this background, the Ford announcement is also here, swatching one. The Ford, they are saying that we are at a loss. Loss is not a big thing for a company like Ford. Because this year or last year, that may be a small loss. But last 23 years in Chennai alone, they have produced a lot of cars. They have exported a lot of cars. They have earned profit in a big way. Huge amount they have earned as a profit. And that money was used for expansion in India, that is in Gujarat. They have expanded it perfectly and other things.  Quoting this, saying this loss, you should not deprive the employment to the workers. Deprive the income of the workers. That is our standpoint of CITU. So we request the Ford management. You should not close it. You should try to operate the company. We also, because Ford is a company which have employed more than 101 workers. According to the Indian Institute, they have to apply for closure or retrenchment or anything. They have to apply the government. They have to apply to the government and ask for the government permission to that. Ford still, they have not applied for that. In case they are applying for closure, seeking permission from the government, the government should say that we won't approve this closure because it will affect this much of people and like that, like that. The government should pass an order rejecting the proposal of the Ford. That is our request to the government. Because now the Ford is a producing car. More than 70% of the cars produced here is being exported with a huge profit and they are making profit though. So our thing is that the Ford management should not try to close the factory. The government should not give permission to close the factory. The government, it is the duty of the government to see that the workers are not lost at all. This is our idea. There are 100% companies which were dependent on Ford and they are losing their business activities. Then the government must immediately consider giving them the honour of the bridge exit. Because they have taken the loans from the bank. So the government should facilitate a one-time settlement and the government should possibly support that one-time settlement. They may not have the funds in their hand to even close the one-time settlement. So the government should give them the funds as an additional loan from the government organisation to close the loan and then recover it from them later or a period of time. So that they have an exit route. Then there is a third element of people who are only 30-40% dependent on Ford's sales and they will get into the red. So please invest on them to convert their production facilities to also support some other units like Ford. Some other industries like Ford. So that they may need investment, fresh investments on tools, jigs, fixtures. Additional needs will be there. So support them with the funding for that. And the fourth one is the industries or service providers who are dependent on Ford in the in and around bus service providers. Taxi service provider, car vehicle movements, the truck provider, the hotels, the room. Give them exemption for at least two years from the property tax. Exemption for them from the road tax. Exemption from them for some other concessional clearances so that they all survive. Nobody wants profit. They want to keep the nose above the water before getting drawn. You cannot salvage dead bodies. You must salvage the people when they are alive. Don't give them free money. But acknowledge what they have earned for your government in their life. That's what I'm trying to say. When they were good, when they were healthy, their hard work gave the money to the government as an income. Now when they are inhabited by somebody else's decision, go and help them out. Not just talk to them only with lip service. Through your channel, through this interview, I place on record the request to our Honorable Chief Minister, Mr. Stalin, to immediately constitute a task force in Tamil Nadu for conducting exit interviews of industries and try and hold back those industries from going immediately and support those who are impacted by them in a different format like a package.