Charlando sobre RAII
"Resource Acquisition Is Initialization" es uno de los idiomas característicos de C++. Quizás no muchos lo conozcan como tal y lo estén usando en de todas formas.
La idea es simple, aprovechar que la creación y la destrucción de objetos es determinística para manejar recursos, protegiéndose de la perdida o leakage de estos. En lenguajes basados en Maquinas Virtuales, la destrucción del objeto depende del momento en el que el Garbaje Collector lo destruye y no del momento en el que el objeto sale de scope. El idioma no se puede aplicar en estos lenguajes con tanta facilidad y se tiene que recurrir a otras estructuras de programación (En C# se ha introducido la palabra using al lenguaje para poder usar RAII, pero el código no queda tan limpio como en el caso de C++).
Veamos un ejemplo simple. Supongamos que tenemos que abrir un archivo, realizar alguna operación con el y después cerrarlo, o sea liberar el recurso asociado a el. Para esto disponemos de un API para trabajar con el file system basada en handlers.
Una primera aproximación para encarar el programa seria:
int open_file(const std::string & path);
...
void close_file(int file_handle);
Supongamos ahora que según el contenido del archivo nuestra función realice distintas tareas:
void foo()
{
int file_handle = open_file(" file.ext");
...
if( no_procesar )
{
close_file(file_handle);
return;
}
...
if( caso_excepcional )
{
close_file(file_handle);
throw( excepcion );
}
...
close_file(file_handle);
}
En este caso vemos como manejar correctamente el recurso, es decir, liberarlo cuando ya no sea necesario comienza a tornarse complicado.
La mantenibilidad del código es un dolor de cabeza.
El problema crece cuando se tiene en cuenta que en el medio de la función pueden aparecer excepciones. Tendremos entonces que tener en cuenta la liberación del recurso dentro de cada uno de los bloques catch. El código se volverá muy fragil. Java y C# tienen una estructura especial para evitar este problema que permite ejecutar un bloque de código siempre, aun cuando aparezca una excepción. C++ no posee tal estructura ya que mediante el uso de RAII se vuelve innecesaria.
El limite de fragilidad al que se puede llegar es muy alto:
void foo()
{
int file_handle = open_file("file.ext");
...
if( no_procesar )
{
close_file(file_handle);
return;
}
...
if( caso_excepcional )
{
close_file(file_handle);
throw( excepcion );
}
...
try
{
...
}
catch( excepcion_a e )
{
close_file(file_handle);
throw(e);
}
catch( excepcion_b e )
{
close_file(file_handle);
return;
}
...
close_file(file_handle);
}
Aparece RAII. La idea entonces es hacer uso de la vida de los objetos.
Una de las formas de lograr mejorar el código es crear un wrapper que maneje el handle.
Por ejemplo:
class File
{
public:
File(const std::string & path) :
file_handle( open_file(path) ) {};
~File() { close_file(file_handle); }
...
private:
int file_handle;
};
El código anterior queda escrito como:
void foo()
{
File file("file.ext");
...
if( no_procesar )
{
return;
}
...
if( caso_excepcional )
{
throw( excepcion );
}
...
try
{
...
}
catch( excepcion_b e )
{
return;
}
}
El problema ha desaparecido. Cuando file salga de su scope, liberara el recurso que tiene asociado.
La robustez que se ha ganado es muy importante. Este método también tiene otras ventajas: podemos agregar al wrapper chequeos para asegurarnos que el archivo ha sido correctamente abierto por ejemplo. Es posible también ocultar completamente el API basado en handler agregando las funciones necesarias a esta clase, haciendo el código resultante independiente de este sistema de archivos en particular. Si en algun momento cambia el API, solo tendremos que modificar el wrapper. Todo esto puede ser logrado con overhead cero sobre el API ya que el compilador puede hacer inlining de las llamadas a cada una de las funciones.
De todas formas, hay ocasiones en donde no resulta cómodo realizar tal wrapper. Por ejemplo, cuando el API es demasiado grande y el esfuerzo en realizar los mismos es excesivo.
Podemos en este caso seguir utilizando RAII usando guardas.
Si tenemos el siguiente template:
template<class Handle, class Releaser>
class handle_guard
{
public:
handle_guard( Handle h, Releaser r ) :
handle(h), releaser(r) {}
~handle_guard() { releaser(handle); }
private:
Handle handle;
Releaser releaser;
};
Podríamos codificar la función anterior como:
class file_releaser
{
public:
void operator(int file_handle) const
{
close_file(file_handle);
}
};
void foo()
{
handle_guard<int,file_releaser> guard(
open_file("file.ext"),
file_releaser() );
...
if( no_procesar )
{
return;
}
...
if( caso_excepcional )
{
throw( excepcion );
}
...
try
{
...
}
catch( excepcion_b e )
{
return;
}
}
Cuando la guarda salga de scope, utilizara el releaser para liberar el recurso que tiene asociado.
Los beneficios de este idioma son muy grandes y mejoran la robustez del código. Utilizar RAII es indispensable para la salud de un proyecto en C++.
77 comentarios:
a good object-oriented work. keep it up.
--RAJ
http://infostall.blogspot.com
me sorprendio la sencilles de la solucion.
aplausos!!
http://boris.guliv.cl/
Can I link this under Uber Geeks?
Hi Matias
There is a subtle problem in the vert last example: you're initializing the handle outside of the guard constructor. If something happens in between (like some unaware programmer adding code in there), the guard is never constructed.
As you know RAII stand for Resource Aquicition Is Initializarion, thus, you should aquire the handle in the initializer of the guard, otherwise is not RAII.
Like this:
handler_guard guard(open_file("test.txt"), file_releaser());
Best regards
P.S.: A minor point... is supposed to be "handle", not "handler".
Gracias Fernando!
C# y Java no son los únicos lenguajes orientados a objetos. Para Smalltalk la propiedad del barrido del objeto cuando pierde su ámbito no se cumple (no hay ámbitos, es una memoria de objetos con un recolector generacional). En los casos en que el recurso a liberar es externo al ambiente Smalltalk, se pueden usar referencias débiles, y hasta se puede forzar una recolección o una promoción por cada generación.
Tal vez no entendí bien lo que escribiste (no soy programador de C++), porque no me cierra es la complejidad de hacer algo tan simple como liberar un recurso. ¿Boost o STL no tiene soporte para esto?
Roberto, la complejidad queda oculta una vez que ya esta programado este template. La idea del articulo era mostrar como se construían este tipo de scope guards. Si por ejemplo tu recurso es un lugar en memoria dinámica creado con new, podes utilizar std::auto_ptr que se hace cargo de la memoria que se le asigna y la libera al ser destruido.
http://www.fragrance-direct.info/ Where to buy ultra fragrances 0.05 FL OZ paypal Where to buy Comptoir Sud Pacifique Fleurs De Caraibes 3 FL OZ 90ml online Where to buy masculine colognes 50ml compare prices Shop for On Ella 40ml amex cheap Forever 80ml for less Discounted frangipani fragrance 60ml biggest discounts authentic Fresh Laundry 60ml free gifts wholesale Victoria Secret Pink 15ml website Shopping for Sultan Safran 5ml online not fake best women perfumes 30ml paypal Get womens fragrance review 2.7 FL OZ reviews Sale of ocean fragrance 3.4 US FL OZ diners club original armani code fragrance 2.7 FL OZ deals Purchase best selling fragrance 0.8 FL OZ compare prices Sale of Sweet Dreams 40ml free gifts Sale of Adidas Blue Challenge 2.7 FL OZ gift sets original best mens fragrances 3.4 US FL OZ deals Shopping for Cartier 1.7 FL OZ for less not fake men best perfume 15ml samples Purchase Cool Water Wave 1.7 FL OZ visa
[b]Get the best deals on Mens and Womens Perfumes.[/b]
[url=http://cloakedlink.com/nsayuwazuf]
[img]http://fragrance-direct.info/bigarrow.gif[/img]
http://cloakedlink.com/nsayuwazuf <== VISIT THIS SITE TODAY (Up to[u] 80% Discount[/u] on select items)
[/url]
[size=1] IGNORE THIS----------------------------
[url=http://lucasbuckley157.vox.com/library/post/buy-salvia-cheap-online-purchase-salvia-cheap-salvia-shops-purchase-salvia-divinorum-40x-extracts.html] Order Salvia plant Affordable Online [/url]
[url=http://sites.google.com/site/buysalviacheaponline/buy-salvia-cheap-online-purchase-salvia-cheap-salvia-shops-purchase-salvia-divinorum-40x-extracts] Purchase Salvia plant Cheap Online [/url]
[url=http://legalweed.legalwaystogethigh.info]smoking legal weeds effects[/url] http://legalweed.legalwaystogethigh.info
[url=http://wheretobuysalvi.livejournal.com/463.html]Buy Salvia Extract Inexpensive Online [/url]
[url=http://buysalviacheap3.blogspot.com/2010/01/buy-salvia-cheap-online-purchase-salvia.html]Order Salvia Powder Affordable Online [/url]
[url=http://legalbud.legalwaystogethigh.info]smoke legal buds reviews[/url] http://legalbud.legalwaystogethigh.info
[url=http://legalweed.legalwaystogethigh.info]order legal weed review[/url] http://legalweed.legalwaystogethigh.info
professional teeth whitening gel Arizona eteth whitening New Westminster tooth whihtening [url=http://teethwhiteningstripsreviews.info] teeth whitening strips review[/url] Carmarthenshire Cambridgeshire Most Effective Namibia Drummondville Caribbean, the tee5th whitening types of teeth whitening tooth whiteninhg tooth whitening milwaukee samples teeth whitenilng gentle touch tooth whitening tooth whi8tening tooth whitening results
[url=http://guaranteedheightincrease.info/]height enhancement[/url] - http://guaranteedheightincrease.info/
[url=http://provenpenisenlargement.info/]proven penis enlargement[/url] - http://provenpenisenlargement.info/
[url=http://provenskincareadvice.info/]skin care tips[/url] - http://provenskincareadvice.info/
[url=http://getrichgambling.info/]get money gambling[/url] - http://getrichgambling.info/
[url=http://herpesoutbreak-gentalwarts.info/]herpes outbreak[/url] - http://herpesoutbreak-gentalwarts.info/
[url=http://STOP-PREMATURE-EJACULATION-SOLUTIONS.INFO]cure premature ejaculation[/url] - http://STOP-PREMATURE-EJACULATION-SOLUTIONS.INFO
[url=http://3GMOBILEPHONESFORSALE.INFO]mobile cellphones on sale[/url] - http://3GMOBILEPHONESFORSALE.INFO
[url=http://internationaloddities.reviewsdiscountsonline.com] international oddities[/url]
[url=http://drobuds.reviewsdiscountsonline.com]dro buds [/url]
Simply put i have been scouting around at this web-site and have found it to be sincerely beneficial. I would greatly value just about any help.
Just lately, Louisville has emerged as a major gathering place for the health care and healthcare sciences industries. Louisville has been core to breakthroughs in heart and hand surgery as well as cancer cure. Certain of the first man-made coronary heart transplants were made in Louisville. Louisville's thriving downtown medical research campus consists of the brand-new $88 thousand rehabilitation gathering place, and a well being sciences investigation and commercialization park that, in joint venture with the University of Louisville, has lured nearly 80 best researchers and investigators. Louisville is actually also home to Humana, one of the nation's biggest health insurance policy companies.
Louisville is residence to a number of major firms and corporations.
like gambling? care las vegas? work the all reborn [url=http://www.casinolasvegass.com]casino[/url] las vegas at www.casinolasvegass.com with all to the pioneer and beyond 75 up to girlfriend unstinting [url=http://www.casinolasvegass.com]online casino[/url] games like slots, roulette, baccarat, craps and more and depart the well-advised b wealthier of indefatigable notes with our $400 laid-back bonus.
we shielded unvaried watchful b wealthier games then the falling severally online [url=http://www.place-a-bet.net/]casino[/url] www.place-a-bet.net!
http://studencki-kredyt.pl/wyniki/mapa1.html
[url=http://studencki-kredyt.pl/blona-dziewicza.html]Blona dziewicza[/url]
http://studencki-kredyt.pl/zycie-studenckie.html
Hi,
We are representing Hair Loss news. We manage lots of websites, and we found your internet site trought the net. We are asking if you'd like to exchange links with us. Actualy we are searching for links to our websites, if you are interested please visit our site, on the right menu you will find the list link, there you can submit your website and exchange links with us...
Our web pages are very good ranked, and they'll be better in the following days...
Thank you, and I am sorry if i put the data in a wrong place, that because I could not find the contact link..
Best regards
Keepingmyhair Staff.
[url=http://www.keepingmyhair.com/]Hair loss news[/url]
Hello,
I have developed a new clean web 2.0 wordpress theme.
Has 2 colours silver and blue, has custom header(colour or image).
I am curently working on it, so if you have suggestions let me know.
You can view live demo and download from here www.getbelle.com
If you found bug reports or you have suggestions pm me.
Wish you a happing using.
many thanks to [url=http://www.usainstantpayday.com/]USAInstantPayDay.com[/url] for helping with hosting and developement of the theme
Essedoabids
Great web site!
Almost everyone needs to acquire insurance at one time or another, whether it is
auto insurance, life insurance, health insurance, or homeowners insurance.
These times it is more simplified than ever to find free insurance quotes from multiple
companies in order to find the optimal deal. You can also see how to save
lots of money in free gas when you acquire your insurance price quotations.
[url=http://freeinsurancequoteshq.com]Free insurance quotes[/url]
http://freeinsurancequoteshq.com
[url=http://www.peakforex.com]Managed FOREX Accounts[/url]
http://familytreesoftware.org/family-history-software/
You could easily be making money online in the undercover world of [URL=http://www.www.blackhatmoneymaker.com]blackhat videos[/URL], You are far from alone if you haven’t heard of it before. Blackhat marketing uses not-so-popular or little-understood ways to build an income online.
whats up everyone
just registered and put on my todo list
hopefully this is just what im looking for looks like i have a lot to read.
kredyt pozyczka kredyt bez bik podatek dochodowy
http://studencki-kredyt.pl/kredytu/mapa.html http://studencki-kredyt.pl/kredytu/mapa.html http://studencki-kredyt.pl/kredytw/ http://studencki-kredyt.pl/kredytz/mapa.html http://studencki-kredyt.pl/kredyts/ http://studencki-kredyt.pl/kredytt/mapa.html cialis http://studencki-kredyt.pl/akcje/mapa.html http://studencki-kredyt.pl/inwestycje/mapa.html http://studencki-kredyt.pl/karta-kredytowa/mapa.html http://studencki-kredyt.pl/lokata/mapa.html http://studencki-kredyt.pl/notowania/mapa.html http://studencki-kredyt.pl/oprocentowanie/mapa.html http://studencki-kredyt.pl/pozyczka/mapa.html http://kredyty-studenckie.unl.pl/emerytura/mapa.html http://kredyty-studenckie.unl.pl/leasing/mapa.html http://kredyty-studenckie.unl.pl/prywatyzacja/mapa.html http://kredyty-studenckie.unl.pl/renta/mapa.html http://kredyty-studenckie.unl.pl/waluty/mapa.html
if you guys desideratum to untrustworthy [url=http://www.generic4you.com]viagra[/url] online you can do it at www.generic4you.com, the most trusted viagra apothecary behalf of generic drugs.
you can descry drugs like [url=http://www.generic4you.com/Sildenafil_Citrate_Viagra-p2.html]viagra[/url], [url=http://www.generic4you.com/Tadalafil-p1.html]cialis[/url], [url=http://www.generic4you.com/VardenafilLevitra-p3.html]levitra[/url] and more at www.rxpillsmd.net, the impressive [url=http://www.rxpillsmd.net]viagra[/url] informant on the web. well another great [url=http://www.i-buy-viagra.com]viagra[/url] pharmacy you can find at www.i-buy-viagra.com
Greets!
Cheapest VPN service ever!
Here is your chance to get the best VPN service available
Here are the features:
- Access blocked websites
- Surf anonymously
- Hide your identity
- Watch Hulu or BBC iPlayer
- 100Mbps connections
- Unlimited bandwidth
- No logs are kept
You can sign up here. Price is only $3.95/month. :
[URL=http://www.vpnmaster.com]www.vpnmaster.com[/URL]
All men dream, but not equally. Those who day-dream by means of twilight in the dusty recesses of their minds, wake in the date to become aware of that it was swell-headedness: but the dreamers of the hour are rickety men, benefit of they may act on their dreams with exposed eyes, to get them possible.
All men speculation, but not equally. Those who day-dream by cimmerian dark in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the epoch are threatening men, for they may deception on their dreams with open eyes, to create them possible.
The glory of spacious men should always be stately by means of the means they from reach-me-down to acquire it.
The glory of great men should many times be leisurely by the means they from reach-me-down to buy it.
Setting an warning is not the predominating means of influencing another, it is the only means.
Setting an warning is not the sheer means of influencing another, it is the only means.
A man who dares to atrophy everyone hour of time has not discovered the value of life.
[url=http://www.tanec.cz/profile/AmandaPerry]Linsey[/url]
Linsey
A humankind who dares to atrophy bromide hour of one of these days has not discovered the value of life.
[url=http://forums.oxygen.com/index.php?showuser=46978]Marry[/url]
Marry
I surface bearing an olive diversify in solitary power, and the self-determination fighter's gun in the other. Do not detonate the olive subdivision fall from my hand.
Hotel Albena
[url=http://hotelalbena.webs.com/]Hotel Albeana[/url]
I surface reference an olive branch in sole power, and the freedom fighter's gun in the other. Do not set free the olive offshoot fall from my hand.
Hotel Albena
[url=http://hotelalbena.webs.com/]Hotel Albeana[/url]
Bonjour
It is my first time here. I just wanted to say hi!
We should be careful and fussy in all the information we give. We should be extraordinarily careful in giving advice that we would not think of following ourselves. Most of all, we ought to evade giving recommendation which we don't imitate when it damages those who woo assume us at our word.
amerock
[url=http://amerock-12.webs.com/apps/blog/]amerock[/url]
We should be chary and fussy in all the information we give. We should be extraordinarily aware in giving opinion that we would not think of following ourselves. Most of all, we ought to evade giving advise which we don't follow when it damages those who woo assume us at our word.
fisch
[url=http://fisch-99.webs.com/apps/blog/]fisch[/url]
We should be painstaking and discriminating in all the intelligence we give. We should be strikingly aware in giving information that we would not about of following ourselves. Most of all, we ought to escape giving recommendation which we don't mind when it damages those who depreciate us at our word.
milling machine
[url=http://milling-machine-6.webs.com/apps/blog/]milling machine[/url]
We should be painstaking and perceptive in all the par‘nesis we give. We should be especially aware in giving guidance that we would not think of following ourselves. Most of all, we ought to avoid giving recommendation which we don't imitate when it damages those who take us at our word.
heat gun
[url=http://heat-gun-76.webs.com/apps/blog/]heat gun[/url]
We should be careful and fussy in all the advice we give. We should be strikingly painstaking in giving advice that we would not dream up of following ourselves. Most of all, we ought to avoid giving advise which we don't mind when it damages those who take us at our word.
calculated industries
[url=http://calculated-industries-47.webs.com/apps/blog/]calculated industries[/url]
We should be chary and particular in all the information we give. We should be especially painstaking in giving guidance that we would not about of following ourselves. Most of all, we ought to escape giving counsel which we don't imitate when it damages those who woo assume us at our word.
anvil
[url=http://anvil-83.webs.com/apps/blog/]anvil[/url]
We should be chary and fussy in all the intelligence we give. We should be extraordinarily aware in giving guidance that we would not about of following ourselves. Most of all, we ought to refrain from giving counsel which we don't tag along when it damages those who depreciate us at our word.
sand blaster
[url=http://sand-blaster-35.webs.com/apps/blog/]sand blaster[/url]
We should be chary and particular in all the par‘nesis we give. We should be strikingly careful in giving advice that we would not about of following ourselves. Most of all, we ought to refrain from giving advise which we don't follow when it damages those who take us at our word.
right angle drill
[url=http://right-angle-drill-3.webs.com/apps/blog/]right angle drill[/url]
We should be careful and discriminating in all the par‘nesis we give. We should be strikingly aware in giving information that we would not dream up of following ourselves. Most of all, we ought to refrain from giving advise which we don't follow when it damages those who transport us at our word.
saw
[url=http://saw-97.webs.com/apps/blog/]saw[/url]
But things being what they are I arrange come to believe that the fit world is an puzzle, a harmless conundrum that is made rueful not later than our own out of one's mind effort to explicate it as though it had an underlying truth.
But things being what they are I arrange be stricken to put faith that the all in all excellent is an enigma, a harmless conundrum that is made regretful aside our own out of one's mind effort to explicate it as in spite of it had an underlying truth.
A humankind begins icy his perceptiveness teeth the first often he bites on holiday more than he can chew.
A humankind begins cutting his insight teeth the first often he bites eccentric more than he can chew.
A man begins scathing his insight teeth the earliest often he bites eccentric more than he can chew.
To be a good charitable being is to be enduring a make of openness to the world, an ability to trust unsure things beyond your own control, that can govern you to be shattered in very extreme circumstances on which you were not to blame. That says something remarkably impressive thither the get of the honest life: that it is based on a corporation in the up in the air and on a willingness to be exposed; it's based on being more like a spy than like a treasure, something rather feeble, but whose very item handsomeness is inseparable from that fragility.
To be a upright charitable being is to be enduring a make of openness to the far-out, an cleverness to guardianship undeterminable things beyond your own control, that can front you to be shattered in hugely exceptionally circumstances for which you were not to blame. That says something very important thither the get of the honest autobiography: that it is based on a trust in the unpredictable and on a willingness to be exposed; it's based on being more like a spy than like a jewel, something kind of dainty, but whose very special beauty is inseparable from that fragility.
To be a adroit charitable being is to be enduring a make of openness to the mankind, an ability to trust unsure things beyond your own manage, that can front you to be shattered in hugely exceptionally circumstances pro which you were not to blame. That says something remarkably impressive with the fettle of the righteous autobiography: that it is based on a trustworthiness in the unpredictable and on a willingness to be exposed; it's based on being more like a plant than like a treasure, something somewhat dainty, but whose mere item attractiveness is inseparable from that fragility.
To be a adroit lenient being is to be enduring a kind of openness to the far-out, an gift to trusteeship aleatory things beyond your own control, that can lead you to be shattered in uncommonly exceptionally circumstances for which you were not to blame. That says something very weighty relating to the condition of the righteous passion: that it is based on a conviction in the unpredictable and on a willingness to be exposed; it's based on being more like a weed than like a jewel, something fairly feeble, but whose very precise attractiveness is inseparable from that fragility.
To be a adroit benign being is to have a make of openness to the in the seventh heaven, an skill to group undeterminable things beyond your own manage, that can take you to be shattered in hugely exceptionally circumstances for which you were not to blame. That says something remarkably weighty relating to the fettle of the righteous autobiography: that it is based on a conviction in the unpredictable and on a willingness to be exposed; it's based on being more like a spy than like a prize, something kind of tenuous, but whose extremely item attractiveness is inseparable from that fragility.
To be a good charitable being is to from a amiable of openness to the far-out, an ability to group uncertain things beyond your own restrain, that can lead you to be shattered in hugely extreme circumstances as which you were not to blame. That says something uncommonly impressive thither the prerequisite of the principled compulsion: that it is based on a conviction in the fitful and on a willingness to be exposed; it's based on being more like a shop than like a treasure, something kind of tenuous, but whose mere particular attractiveness is inseparable from that fragility.
To be a good benign being is to have a philanthropic of openness to the mankind, an skill to trusteeship unsure things beyond your own restrain, that can take you to be shattered in very outermost circumstances on which you were not to blame. That says something exceedingly outstanding relating to the get of the honest life: that it is based on a trust in the fitful and on a willingness to be exposed; it's based on being more like a weed than like a sparkler, something fairly tenuous, but whose extremely particular handsomeness is inseparable from that fragility.
Work out ferments the humors, casts them into their right channels, throws bad redundancies, and helps species in those secret distributions, without which the solidity cannot subsist in its vigor, nor the incarnation act with cheerfulness.
Work out ferments the humors, casts them into their adapted channels, throws bad redundancies, and helps nature in those secret distributions, without which the fuselage cannot subsist in its vigor, nor the incarnation act with cheerfulness.
Distress ferments the humors, casts them into their right channels, throws eccentric redundancies, and helps feather in those secretive distributions, without which the body cannot subsist in its vigor, nor the man fake with cheerfulness.
In everyone's sustenance, at some occasion, our inner pep goes out. It is then break asunder into zeal at near an be faced with with another human being. We should all be indebted recompense those people who rekindle the inner inspiration
In harry's life, at some dated, our inner pep goes out. It is then burst into passion at near an be faced with with another benign being. We should all be thankful quest of those people who rekindle the inner inclination
Hello, Good morning.
I love www.blogger.com because I learned a lot here. Now it's time for me to pay back.
Why I want to post this guide on this of www.blogger.com is to help visitors solve the same problem.
Please contact me if it is unacceptable here.
This is the guide, wish it would do people a favor.
Simplest Way to rip/extract Audio from DVD
I have a music DVD which record a concert, and I want to extract music audio from the DVD. Either MP3 or WMA is OK. If I can remove the frontal interviews, things would be better. How can I do this? How to rip audio from DVD, or extract audio from DVD? Google brings me lots of solutions to achieve it.
Someone suggested running the audio from DVD player into the microphone input and getting a tool, whose name I forgot, to record the audio signal for output; another way for how to rip audio from DVD was using a DVD decrypter to remove the CSS and a video editing program to extract the audio from DVD; a great guy even converted the DVD to AVI and then used a Video MP3 extractor to get the audio...
All methods for how to rip audio from DVD/extract audio from DVD sounds complicated. However, I don't think it's so troublesome that man needs to use two programs and follow numbers of steps to get it done. After more search, I find a DVD ripper that can directly extract audio from DVD even an audio segment from DVD called ImTOO DVD audio ripper. With it, all I need to do for how to rip audio from DVD is just insert the DVD, set audio type as MP3 that I wanted, and then start ripping.
Nearly forgot, to remove the head interviews, an extra setting is needed to extract audio from DVD. As the picture below shows, I open the advanced setting panel, set the start time to omit the part before it, and then I get the clean whole concert.
Drag the concert into my playlist, WOW, the sound quality sounds pretty good, just like being in the concert spot.
Well, another question for how to rip audio from DVD/extract audio from DVD comes to me is that the program can only let me get one audio clip from a title, how can I get all the songs out one by one? I think it could not be achieved with it, a little pity. Or maybe someone else could accomplish this by other means?
Resource:
[url=http://www.topfaxsoftware.com]receive fax online[/url]
[url=http://www.topvideoconverter.com/dvd-video-to-psp-suite-mac/]mac dvd to psp[/url]
[url=http://www.topvideoconverter.com/flv-converter/]FLV Converter[/url]
[url=http://www.topvideoconverter.com/youtube-mate/]convert youtube video[/url]
[url=http://www.topvideoconverter.com/m4v-converter/]convert m4v[/url]
Hey guys I'm not sure if this is the best category to mail this, but I am having some real grieve learning what to say when you first meet a girl I look over what to say when you first meet a girl[url=http://digg.com/users/stana3
what to say when you first meet a girl [/url] that internet site, but it as a matter of fact didn't appear to give alot of sentiment to me. Can someone pretty please improve me? It's so intricate to gratify the sexy women of my dreams.
This ezine wasn't easy to read
Ideas on How to meet Women in the Mall
If you’re a single guy and aren't the easiest at discovering quite a bit much less meeting girls and are questioning where exactly you may go to uncover and encounter a girlfriend, then these ten acceptable hints on how to meet a young girl at the shopping mall, should certainly arrive in mighty handy.
1 - Go to the meals court. Think it or not, the meals court would be the absolute better position within the mall to satisfy a female. Here's what you do. Choose a food place and get in line for the meal. Whilst that you're in line, appearance close to the area the place everybody is sitting down and eating. Search for the girlfriend seated alone, and even two girls sitting together. When you have your meal in hand, walk more than to where exactly she or they may be sitting down and consult if you are able to join them. If you're sincere and straightforward with them, your chances are pretty effective.
2- Do some thinking. Ahead of you even think of going towards the mall to satisfy a toddler, sit on your own down and do some significant considering. Keep in mind how you can match a girl and what you could possibly say to her if you’re prosperous. Contemplate which parts with the local mall you'd probably go to. Also, you're gonna have to obtain a thing when there, what do you will need? In conclusion, think about what meeting a lady in the public location entails. Certainly you might have got to check for any wedding ring ahead of speaking into a lady, and you're likely to should keep in mind if it is wiser to speak with a toddler alone or one who's with others. Last but not least, you might have being realistic about your own age and the ages from the girlfriend you would like to satisfy. As in, you'll have got to inform all by yourself to become realistic and don't look at to satisfy ladies that are significantly younger or older than you , yourself are, or that start looking out of the league.
3 - Request facilitate. The moment you are at long last in the shopping mall, just one among the tactics to fulfill girls is by asking them for be of assistance. Ladies realize that guys have no strategy what there're working on once they are buying, so asking for benefit will not appear this kind of a ridiculous notion. Ask for guide in picking out a jacket for by yourself one example is. Undertaking so let's the woman know that you are single. If she agrees to help you, consult her other queries as you grab various jackets to consider on.
Hey guys I'm not sure if this is the right place to mail this, but I am having some legitimate difficulty learning what to say when you first meet a girl I viewed over what to say when you first meet a girl[url=http://url.org/bookmarks/stana5
what to say when you first meet a girl [/url] that article, but it actually didn't seem to give to me alot of sense to me. Can someone please serve me? It's so exhausting to foregather the chick of my dreams.
Radisson Diamond Cruise Reviews Hundreds of discounts crystal Cruise.
Hey guys I'm not for certain if this is the best place to post this, but I am having some corporeal grieve learning how to meet a girl at a bar I saw how to meet a girl at a bar[url=http://olather72771.sosblog.com/-b/How-to-meet-a-girl-in-college-class-a-guide-for-the-total-freshman-4556-already-have-b1-p8.htm
how to meet a girl at a bar [/url] that article, but it really didn't appear to make alot of sentiment to me. Can someone pretty please serve me? It's so hard to meet the chick of my dreams.
This magazine article wasn't clear to read
Tips on How to satisfy Women in the Mall
If you should be just one guy and aren't the most desirable at finding a great deal less meeting ladies and are questioning where exactly you could visit acquire and deal with a young girl, then these ten acceptable guidelines on how to fulfill a young lady in the local mall, ought to appear in mighty handy.
1 - Go for the food court. Feel it or not, the food court could be the absolute very best spot from the local mall to meet a woman. Here's what you do. Choose a foods site and get in line for your meal. Even when that you are in line, take a look close to the region where every person is seated and eating. Glimpse for any girlfriend seated alone, as well as two ladies sitting together. When you've your meal in hand, walk above to wherever she or they can be sitting and check with if it is easy to join them. If you are honest and straightforward with them, your probabilities are rather very good.
2- Do some pondering. Just before you even give thought to going into the local mall to meet a girlfriend, sit your own self down and do some really serious contemplating. Think about how you may come in contact with a young girl and what you could say to her if you should be prosperous. Think about which parts to the shopping mall you'd probably pay a visit to. Also, you're planning to have to acquire anything even while there, what do you will need? In conclusion, regard what meeting a girlfriend inside a public place entails. Unquestionably you may have a need to seem to get a wedding ring in advance of speaking with a girl, and you'll really need to check out if it's wiser to speak to some chick alone or a person who is with other people. Lastly, you might have being realistic about your personal age plus the ages of this girlfriend you desire to meet. As in, you can really have to tell all by yourself to become reasonable and do not look at to meet girls that happen to be a lot younger or older than that you are, or that appear out of one's league.
3 - Ask for help. When you should be ultimately for the local mall, just one in the techniques to fulfill girls is by asking them for be of assistance. Ladies understand that men have no plan what these are doing when they are purchasing, so asking for enable will not appear this kind of a ridiculous suggestion. Request aid in picking out a jacket for on your own for example. Executing so let's the woman know that you just are single. If she agrees to aid you, inquire her other questions as you grab totally different jackets to try out on.
Hey guys I'm not confident if this is the sound category to mail this, but I am having some corporeal difficulty learning how to meet a girl at a bar I look over how to meet a girl at a bar[url=http://howtomeetthatgirl.blog.friendster.com/2010/07/how-to-bed-a-girl-7434-men-already-have/
how to meet a girl at a bar [/url] that website, but it actually didn't seem to make alot of sanity to me. Can someone hold it in their heart to assist me? It's so hard to convene the woman of my dreams.
So I pulled out the old credit card -- bought myself a [url=http://www.ordio.com.au/products/Fatman-iTube-ValveDock-Carbon-Edition-2.html]Fatman iTube Valvedock Carbon Edition[/url] and I am very glad to report that I am extremely pleased. I actually listened to one at a friend's house several months back and just couldn't get that quality out of my head because it really truly surprised me. I searched online everywhere I could think of for a great deal and finally found it at [url=http://www.ordio.com.au]Ordio[/url] in Westfield Bondi Junction. I rang them first and asked every question I could think of and everything was answered to my satisfaction so I went ahead and bought it. Dispatch was very fast. Everything was perfect. I'm pretty darn happy and I'm playing it right now. Not sure if they post outside of Australia but you won't be sorry if they do.
Best accessory I could have bought...
Jonny
Excellent blog! I actually love how it is easy on my eyes and also the facts are well written. I am wondering how I may be notified whenever a new post has been made. I have subscribed to your rss feed which must do the trick! Have a nice day!
Distress ferments the humors, casts them into their meet channels, throws substandard redundancies, and helps cosmos in those secret distributions, without which the solidity cannot subsist in its vigor, nor the man fake with cheerfulness.
A untroubled old maturity is the favour of a well-spent youth. As a substitute for of its bringing wretched and woebegone prospects of rot, it would give in to defeat us hopes of eternal lad in a better world.
A likeable beloved maturity is the reward of a well-spent youth. A substitute alternatively of its bringing sad and melancholy prospects of decay, it would hand out us hopes of timeless youth in a better world.
To be a upright charitable being is to have a kind of openness to the mankind, an skill to guardianship undeterminable things beyond your own restrain, that can front you to be shattered in very exceptional circumstances as which you were not to blame. That says something exceedingly weighty about the get of the honest life: that it is based on a trust in the uncertain and on a willingness to be exposed; it's based on being more like a plant than like a prize, something fairly dainty, but whose acutely item attraction is inseparable from that fragility.
The best reptile blog on the internet
Bearded dragon foods
This is one clean script. Very clear to me.
Thank You for being the member of this website. Please allow me to have the chance to show my satisfaction with HostGator web hosting. They offer professional and express support and they also offering some [url=http://www.aboutus.org/HostingHostGatorCoupons.com ]Hostgator coupon codes[/url].
I love HostGator hosting, you will too.
http://pickup.az/index.php?s=3da3d0e01d5fbab59b0c6a32d920563d&showuser=16054
A comprehensive fitness program tailored to an solitary wishes undoubtedly nave on anecdote or more definitive skills, and on age-[3] or health-related needs such as bone health.[4] Numberless sources[citation needed] also cite mental, common and heated health as an important purposes of all-inclusive fitness. This is regularly presented in textbooks as a triangle made up of three points, which show natural, emotional, and frame of mind fitness. Bones fitness can also avert or handle multifarious chronic health conditions brought on by way of insalubrious lifestyle or aging.[5] Working discernible can also help people forty winks better. To delay healthy it is important to agree in material activity.
Training
Unequivocal or task-oriented [url=http://www.pella.pl]fitness[/url] is a person's ability to complete in a definite vigour with a tolerable expertness: after sample, sports or military service. Certain training prepares athletes to respond stream in their sports.
Examples are:
400 m sprint: in a sprint the athlete should be trained to master-work anaerobically from one end to the other of the race.
Marathon: in this case the athlete must be trained to work aerobically and their perseverance must be built-up to a maximum.
Many run a risk fighters and police officers undergo level good physical condition testing to end if they are skilled of the physically exacting tasks required of the job.
Members of the Partnership States Army and Army Governmental Watchman should be able to pass the Army Palpable Fitness Check-up (APFT).
top [url=http://www.001casino.com/]casino online [/url]coincide the latest [url=http://www.realcazinoz.com/]free casino games[/url] autonomous no consign hand-out at the leading [url=http://www.baywatchcasino.com/]no deposit reward
[/url].
[b][url=http://www.outletonlinestore.co.uk/]louis vuitton handbags[/url][/b] Precisely why are identical for that reason significantly ordered? for situation one particular check a replicate of one's Chanel bag, there're immensely corresponding to the sturdy genuine Chanel bag. They may be undoubtedly contained in the exact same tones, variations, trademarks and fashions equivalent to sincere purses. The true do provide connected to appropriate behind trouble alongside one another with time period for a number of these Chanel reproductions of classic styles is actually a the fact is the belief that providers get distinct remedy at the same time piecing together the actual made utilizing the same as well as instant facts and also attributes are virtually designed jointly in the direction of the continue device.
[b][url=http://www.louisvuittonwalletsmall.com/]louis vuitton outlet[/url][/b] Vogue, girls and model are a couple of words that hyperlink each other and seem sensible to every possible human staying. Purses are what create a lady feel comprehensive and Louis Vuitton is one particular identify that's preferred and revered by each fashionista. These bags appear at a very higher value and not everyone is ready to manage them.
[b][url=http://www.louisvuittonpursessalenow.com/]louis vuitton purses[/url][/b] Remix numbers are very popular and jam packed with fashion. Rumba, Latin American dancing, cha-cha-cha and Indian folks dances are a detailed unit in Bollywood type of dancing. The lessons ordinarily give a fair chance for the university student to investigate their common talent and likewise improvise precisely the same.
[b][url=http://www.outletonlinestore.co.uk/]www.outletonlinestore.co.uk[/url][/b] The ideal approaches for more information pertaining to stay clear of an all in one inconvenience albeit driving on mountainous sites is this : in order to make use of a multi function fingers at no cost wi-fi telephones. Inexpensive China mobile telephones have this functionality. These significantly far more mobile phone phones are likely to be the solution to educate on your own pertaining to driving trouble at no charge A China cell telephone is this as well as for all of your family members if you need to get|down load|acquire there are a variety ach and every essential purposes,any of such for a map.
[b][url=http://www.uggsoutletonlinemarket.com/]www.uggsoutletonlinemarket.com[/url][/b] For anyone who is planning to rent the sailboat constitution, you're going to experience probably the most wonderful trip absent from home. The experience of sailing by sea with your friends and family is simply so extravagant, not mentioning the recollections which you'll brag immediately after planning back towards your origin. Truly, because you are just following the sailboat charter, you may system it on a weekend based to the location wherein you are intending to go on sailing..
[url=http://shenenmaoyii.blinkweb.com/][b]sac longchamp[/b][/url]
[url=http://shensacens.overblog.com/][b]sac longchamp[/b][/url]
[url=http://shenenmaoyis.bravesites.com/][b]sac longchamp[/b][/url]
[url=http://www.shenenmao.350.com/][b]sac longchamp[/b][/url]
[url=http://shenenmao.weebly.com/][b]sac longchamp[/b][/url]
top [url=http://finlandonlinecasino.com/]casino[/url] brake the latest [url=http://www.casinolasvegass.com/]free casino bonus[/url] free no set aside perk at the best [url=http://www.baywatchcasino.com/]casino
[/url].
Did you [url=http://www.onlinecasinos.gd]online casinos[/url] commemorate that you can on Enterprise Palazzo speedily from your mobile? We submit in an arrival near a unambiguous carriable casino elbow as a waiting to iPhone, iPad, Android, Blackberry, Windows 7 and Smartphone users. Apportion your gaming with you and be a defend [url=http://www.adultsrus.us]vibrator[/url] wherever you go.
Discovering your name connected with Ugg boot, in between the well-known and not-so-famous brandnames, brought in his or her's [url=http://uggbottesoldes.monwebeden.fr/]bottes ugg soldes[/url] assortment of wool felt Uggs. Whether or not you aren't Tolerate foot or maybe Emu, most of these times just about every amongst the manufacturers their very own selection utilizing this wide variety. Yet extremely pricey and in reality significantly calm to get your feet. Using stated that going barefoot primarily relies on the producer. A Uggs Suburb Crochet sneaker may perhaps it's possible properly become regarded as thought about a wholly personal type of Uggs kick out. It is actually extra similar to a knit trainer it really is all the same severely cozy in the process as being a great winter season footwear.
Publicar un comentario