<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3877175448771998796</id><updated>2011-08-01T15:20:39.000-07:00</updated><category term='exists'/><category term='performance'/><category term='not exists'/><category term='sql'/><category term='not in'/><category term='in'/><title type='text'>Like It Or Not</title><subtitle type='html'>The opinion you didn't ask for.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-1431037056701766990</id><published>2009-10-26T11:07:00.000-07:00</published><updated>2009-10-26T11:17:06.074-07:00</updated><title type='text'>The iPhone's Mindshare</title><content type='html'>I keep reading on tech blogs how when Android and other multi-device mobile operating systems gain a significant market share, the consumer will feel overwhelmed by all the smartphone choices out there, as an abundance of choice fills them with fearful thoughts of making the wrong choice. At the face of this daunting task the consumer will run to the loving arms of Apple and their iPhone due to its simplicity and the fact that it's only one device, knowing they're getting the best.&lt;br /&gt;&lt;br /&gt;But is it really the best? Even after 3 years, my iPhone 3GS fails to bring me one of the most useful features in a PDA/Smartphone: Multi-tasking. I have to quit Pandora and interrupt my music in order to write a spur-of-the-moment idea in the notes app, or to browse the web, or look up a location in Google Maps. Really? There is no accessible file system. Lack of customization. It took them 2 iterations to include a simple copy/paste mechanism. &lt;br /&gt;&lt;br /&gt;Apple apologists will continue to recite their chant about Apple "protecting the experience" but it is painfully obvious that the reality of the matter is they don't give a shit because they've already got their hand in your pocket. It's like the guy that's no longer chivalrous because he already got into your pants.&lt;br /&gt;&lt;br /&gt;After 3 years, finally, there are choices out there. Good choices, and choice goes a very, very long way. Will the average consumer care? Probably not. Let them get their iPhones. As soon as a comparable Android device comes to my network, my iPhone will find itself in a selling ad on Craigslist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-1431037056701766990?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/1431037056701766990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=1431037056701766990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1431037056701766990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1431037056701766990'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/10/iphones-mindshare.html' title='The iPhone&apos;s Mindshare'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-2301500569727123176</id><published>2009-10-23T11:29:00.000-07:00</published><updated>2009-10-24T21:14:27.475-07:00</updated><title type='text'>On the Socialization of Healthcare</title><content type='html'>Oh, how many heated arguments have I been in, with valid and invalid arguments flying back and forth on the topic of socialized services. The question is, why is America so adamant in rejecting a public health care option? You wouldn't need to stop getting health insurance, if you don't trust your government-provided alternative. If you chose to use your public option, employers wouldn't have to discount a premium from your paycheck.&lt;br /&gt;&lt;br /&gt;The main problem is taxes. Of course, here in America, taxation is a big deal. A really, really big deal. Consider its history: The very reason why the puritans packed their bags and came to the New World was precisely to run away from a tyrannical monarchy and unfair taxation. Their liberties were being stomped on, they were being forced to observe one religion, money was taken away against their will, and they were fed up with it. This country was founded on the premise that the government should not have the power to force you to do anything.&lt;br /&gt;&lt;br /&gt;What happened then? Along came taxation. Taxation was imposed on the citizen in 1862 in order to finance the Civil War. The statute underwent several rate increases until 1918 when it reached an all-time high to finance World War I. Up until now, taxation and, more importantly, the distribution of tax rates among the people based on their income, has been one of the most controversial political topics in the country.&lt;br /&gt;&lt;br /&gt;You might argue that several European countries have socialized systems that work. Of course, that depends on your definition of "working system". To many Americans, it's not a working system because your liberties are being taken away by forcing you to pay taxes for something you disagree with. This is an easy assumption to make, looking at Europe from our vantage point, that they are all unhappy about having to pay all these taxes and Big Brother is twisting their arm for them.&lt;br /&gt;&lt;br /&gt;However, after speaking to their citizens you might get a different idea. After hearing some of their opinions, they seem perfectly happy with collectively footing the bill for everyone's basic needs. Their reasoning is the following: I'm taking care of my neighbor because down the road I will need my neighbor to take care of me. It seems that they agree with being taxed for these basic services, out of their own volition.&lt;br /&gt;&lt;br /&gt;What are "basic needs" then? I've heard arguments that the term is ambiguous and thus it is invalid to consider health care a basic need. The problem is many regard health care as not a right, but a privilege. As a privilege, they don't consider it a basic need. However, I think we will agree, no one with health problems should be left to die due to limited finances. With that premise in mind, it is easy to acknowledge that health care is indeed a basic need, as are food, shelter, police protection, fire protection, and education. If its population has limited or no access to either of these, a country will have a sub-par standard of life.&lt;br /&gt;&lt;br /&gt;Where does that leave socializing certain industries, like education, postal service, fire department, police department, and health care then? The main argument against it is that your liberties are taken away because your money is being taken away without your consent, against your will. This particular problem of a government limiting a citizen's freedom to deny pitching into the collective pile from his or her income to many is a direct contradiction of the premise of this country's foundation. It's certainly not a question of money: For the average household, the increase in taxes for socialized health care will be comparable to the amount taken away from your paycheck by your employer for health insurance. Even if the increase is marginally more, it wouldn't pose a problem of financial stress.&lt;br /&gt;&lt;br /&gt;How do we solve this problem then? We can all agree that the current system is tragically flawed. When a person meets his or her demise due to a death-causing illness that went untreated because of the person's limited finances, we know things need to change. Nationalized health care seems like the way to go, if not for the aforementioned forceful taxation. &lt;br /&gt;&lt;br /&gt;A simple solution would be for the government to give the citizen the choice to opt out of being taxed. If the citizen chooses to opt out, he or she doesn't get to take part of the socialized service he she decided to opt out of. For example, if you opt out of paying education taxes, your kids cannot go to public school (or you have to pay a monthly/yearly premium for them to do so, effectively making private school payments). If you opt out of paying taxes for postal service, you don't pay subsidized mailing rates. If you opt out of paying health care tax, you don't get health care unless you have insurance, or foot the bill yourself (the way it's done now). This way, the government will only tax those whom of their own volition choose to be taxed for these services. Services like the police and fire departments, sanitation, road services would remain the way the are now, as everyone needs these services available to them.&lt;br /&gt;&lt;br /&gt;In the end, a perfect system that caters to everyone's needs and makes everyone happy will never see the light of day. One thing is clear though: The current system is broken and it can be made better. It is up to us to think up better ways to approach the way basic needs are met for the population of our country. In the 21st century, we cannot be the only developed country in the world that lets its citizens die because they cannot afford to pay stratospheric health care bills.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-2301500569727123176?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/2301500569727123176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=2301500569727123176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2301500569727123176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2301500569727123176'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/10/on-socialization-of-healthcare.html' title='On the Socialization of Healthcare'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-7925886040456160866</id><published>2009-10-20T15:06:00.001-07:00</published><updated>2009-10-20T15:09:04.752-07:00</updated><title type='text'>Apple Magic Mouse</title><content type='html'>Apple introduced today a mouse with a multi-touch surface and one giant button that clicks enclosing its body. While it is absolutely a beautiful device, the early hands-on impressions across several tech blogs seems to point that it's not much of a detachment from Apple's earlier mishap, the Mighty Mouse. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, is the Emperor (so many connotations there) really wearing no clothes? We'll see as soon as the reviews start bubbling up.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-7925886040456160866?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/7925886040456160866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=7925886040456160866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/7925886040456160866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/7925886040456160866'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/10/apple-magic-mouse.html' title='Apple Magic Mouse'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-6726652179200183358</id><published>2009-10-12T15:39:00.001-07:00</published><updated>2009-10-12T16:07:09.020-07:00</updated><title type='text'>Why grinding in MMOs is bullshit</title><content type='html'>I got into an interesting argument with a friend I play Aion with today. The argument ensued when I mentioned my disapproval of the crafting system in the game. My argument was that it is so tedious and requires so much brainless grinding that makes the game feel a lot less like a game and more like work. I'll be damned, I said, if I'm going to pay all this money and a monthly fee for a game that (in order to get the cool stuff) expects me to go through a process that is inherently not fun. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My friend's argument goes into the psychology of playing videogames and stated that games, and particularly MMOs rely on a false sense of achievement to keep the players engaged and happily throwing away their $15.00/month. In order to have this sense of achievement, he asserted, it is necessary to make it tedious, time-consuming and boring to achieve things. This way your success will feel ever so much sweeter, enjoying the fruit of your labor. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For this reason, he said, grinding is a necessary part of any MMORPG. It feels like work because it IS work; just virtual work. The game provides a level of pleasure because you achieved something you worked hard for. There is no way to feel that pleasure of having accomplished something if you didn't have to go through pain to get there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apologies to my friend, but I partially disagree. I agree that achievements should be the fruit of hard work and time spent, but I completely disagree with the notion that the process towards a specific goal must be the opposite of fun in order for the result to be enjoyed. If we break it down to process and result, we can use all other game types as examples. Consider, for instance first-person shooters:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you start playing an FPS, you get killed easily and lose a lot because you're not used to the weapons, don't know the maps and aren't familiar to the pace of the game. If you take losing very seriously, it is really easy to get frustrated and give up. However, if you want to get to leet l337 status, you have to play, and play, and play. This is the &lt;i&gt;process. &lt;/i&gt;The &lt;i&gt;result, &lt;/i&gt;of course, is that you'll be pwning n00bs all the way to victory. But you see, even the &lt;i&gt;process &lt;/i&gt;is &lt;b&gt;fun&lt;/b&gt;! Getting really good at an FPS by practicing a lot is also fun, even though you're losing half the time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why, then, can't an MMO make the process of leveling or the process of getting a high crafting level fun? I attribute it to lazy game design when the game producer &lt;i&gt;fails &lt;/i&gt;to come up with a way to make the process fun, resorting to using old techniques that hinder the otherwise pleasant experience of playing their game. In the end, my point is the following: hard work and dedicated time is necessary to achieve a high status in any game. However, if the time dedicated involves tedious, boring and brainlessly repetitive work, you're doing something wrong.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-6726652179200183358?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/6726652179200183358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=6726652179200183358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6726652179200183358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6726652179200183358'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/10/why-grinding-in-mmos-is-bullshit.html' title='Why grinding in MMOs is bullshit'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-916330385639220679</id><published>2009-10-08T10:12:00.001-07:00</published><updated>2009-10-08T10:12:37.846-07:00</updated><title type='text'>Public peeing etiquette</title><content type='html'>Dear guy peeing next to me: &lt;br /&gt;&lt;br /&gt;Please don't speak to me while we've got our respective cocks in our hands. Please don't turn your head and attempt to make eye contact. It's creepy. It's uncomfortable. Kthxbye. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-916330385639220679?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/916330385639220679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=916330385639220679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/916330385639220679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/916330385639220679'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/10/public-peeing-etiquette.html' title='Public peeing etiquette'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-5950361089678565585</id><published>2009-08-31T09:07:00.000-07:00</published><updated>2009-08-31T09:08:35.340-07:00</updated><title type='text'>Connecting to a MySQL database using JDBC</title><content type='html'>&lt;div&gt;I found this article to be pretty useful when learning to connect to a MySQL database using JDBC.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.kitebird.com/articles/jdbc.html"&gt;http://www.kitebird.com/articles/jdbc.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-5950361089678565585?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/5950361089678565585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=5950361089678565585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5950361089678565585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5950361089678565585'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/08/connecting-to-mysql-database-using-jdbc.html' title='Connecting to a MySQL database using JDBC'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-2973061763286663483</id><published>2009-04-16T11:06:00.000-07:00</published><updated>2009-04-16T11:07:05.753-07:00</updated><title type='text'>Mo' quotes</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;"Public opinion, or what passes for public opinion, is not invariably a moderating force in the jungle of politics. It may be true, and I suspect it is, that the mass of people everywhere are normally peace-loving and would accept many restraints and sacrifices in preference to the monstrous calamities of war. But I also suspect that what purports to be public opinion in most countries that consider themselves to have popular government is often not really the consensus of the feelings of the mass of the people at all, but rather the expression of the interests of special highly vocal minorities — politicians, commentators, and publicity-seekers of all sorts: people who live by their ability to draw attention to themselves and die, like fish out of water, if they are compelled to remain silent." - George F. Kennan&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"Condemn me, it does not matter: history will absolve me." - Fidel Castro&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-2973061763286663483?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/2973061763286663483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=2973061763286663483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2973061763286663483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2973061763286663483'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/04/mo-quotes.html' title='Mo&apos; quotes'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-935540171745675087</id><published>2009-04-08T10:51:00.000-07:00</published><updated>2009-04-08T10:58:34.364-07:00</updated><title type='text'>Favorite Aristotle quotes</title><content type='html'>"&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;A tyrant must put on the appearance of uncommon devotion to religion. Subjects are less apprehensive of illegal treatment from a ruler whom they consider god-fearing and pious. On the other hand, they do less easily move against him, believing that he has the gods on his side."&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"Money was intended to be used in exchange, but not to increase at interest. And this term interest, which means the birth of money from money, is applied to the breeding of money because the offspring resembles the parent. Wherefore of all modes of getting wealth this is the most unnatural."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"It is simplicity that makes the uneducated more effective than the educated when addressing popular audiences."&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"The young have exalted notions, because they have not been humbled by life or learned its necessary limitations; moreover, their hopeful disposition makes them think themselves equal to great things—and that means having exalted notions. They would always rather do noble deeds than useful ones: Their lives are regulated more by moral feeling than by reasoning.... All their mistakes are in the direction of doing things excessively and vehemently. They overdo everything; they love too much, hate too much, and the same with everything else. "&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"Even when laws have been written down, they ought not always to remain unaltered."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;"The basis of a democratic state is liberty."&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-935540171745675087?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/935540171745675087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=935540171745675087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/935540171745675087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/935540171745675087'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/04/favorite-aristotle-quotes.html' title='Favorite Aristotle quotes'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-5632580551209341731</id><published>2009-04-03T11:31:00.001-07:00</published><updated>2009-04-03T12:05:10.378-07:00</updated><title type='text'>Update a particular number of rows</title><content type='html'>There are times when you only want to update a specific number of rows. In Oracle, the way to do this is to use the rownum variable in the following way:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update x&lt;/div&gt;&lt;div&gt;set x.foo = 'hello'&lt;/div&gt;&lt;div&gt;where rownum &lt;= 500;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This way, Oracle will only update the first 500 records it finds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can use rownum in virtually any DML statement. Try it on a select statement:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;select x.foo&lt;/div&gt;&lt;div&gt;from x&lt;/div&gt;&lt;div&gt;where rownum &lt;= 10;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Your result set will only have the first 10 records displayed on the screen.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-5632580551209341731?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/5632580551209341731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=5632580551209341731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5632580551209341731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5632580551209341731'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/04/update-particular-number-of-rows.html' title='Update a particular number of rows'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-1263475686197314894</id><published>2009-04-02T14:43:00.000-07:00</published><updated>2009-04-02T14:44:48.401-07:00</updated><title type='text'>Joins in an Update statement</title><content type='html'>I spent a great deal of time trying to find out how to do an efficient JOIN in an UPDATE clause on Oracle. Tom has some great input on this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:164612348068"&gt;http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:164612348068&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-1263475686197314894?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/1263475686197314894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=1263475686197314894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1263475686197314894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1263475686197314894'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/04/joins-in-update-statement.html' title='Joins in an Update statement'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-8470059517576741367</id><published>2009-03-20T10:31:00.001-07:00</published><updated>2009-04-02T14:46:11.847-07:00</updated><title type='text'>Internet Explorer 8</title><content type='html'>&lt;span class="Apple-style-span"   style="font-family:arial;font-size:13;"&gt;I thought I'd never say this about any version of IE, but I like it. It borrows heavily from Google's Chrome browser, and with good reason; Chrome is fast, reliable and has a nice set of features. The slices (borrowed from Safari) and accelerators (borrowed from Firefox) are pretty good ideas and it's great that you can manage them by adding or removing whichever accelerators you'd like. It's also faster than IE7 (still slower than Chrome, though) and, lo and behold, if an application inside a tab crashes, you get the chance to just close that tab and not lose all your other tabs. That is of course also borrowed from Chrome. Based upon this and their next big release, Windows 7, it looks like perhaps Microsoft is moving in a new direction in which they give usability much more importance than before. If it is, It is a welcome change. It takes the aggressive competition of Apple for them to wake up.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-8470059517576741367?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/8470059517576741367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=8470059517576741367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/8470059517576741367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/8470059517576741367'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/03/internet-explorer-8.html' title='Internet Explorer 8'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-1888265807723785122</id><published>2009-02-09T09:07:00.000-08:00</published><updated>2009-02-09T09:21:23.218-08:00</updated><title type='text'>User input in SQL</title><content type='html'>Sometimes you need to accept user input in an Oracle SQL script. There are a couple of ways to achieve this. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Suppose you have a Student table that holds information about all students in a school. You want to display all students that share a specific first name. You want the user to be able to enter this first name and the script should take care of the rest. You could use:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;SELECT &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;std_id&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;std_fname, &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;std_lname &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;FROM &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;student&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;WHERE &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;std_fname = '&amp;amp;fname';&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oracle will automatically ask the user to enter the desired value to substitute &amp;amp;fname with.&lt;/div&gt;&lt;div&gt;In a script in which you only reference &amp;amp;fname once, this works perfectly. However, sometimes you want to refer to this value more than once in the script. Oracle would ask you for the value each time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A solution to this is to use double ampersands &amp;amp;&amp;amp;. The script would then say &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WHERE&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;std_fname = '&amp;amp;&amp;amp;fname';&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What Oracle does in this case is store the &amp;amp;&amp;amp;fname value in memory for the duration of the current session. That way, if in subsequent commands you need to use the same user-provided value, it will be readily available and require no further user input. The problem with this is, sometimes you want to use this same value, but you may at other times in the same session require the user to provide another value for it. If you call this script twice within the same session, it will use the same value the second time, without requiring the user's input.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The way around this is to use the PROMPT...ACCEPT clause.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;PROMPT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;ACCEPT FNAME PROMPT "Please enter the student's first name: "&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then you'd reference fname in this way:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;WHERE &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;std_fname = '&amp;amp;fname';&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This method will allow for user input every time the script is run, and allow for different first names to be used for comparison within the same session.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-1888265807723785122?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/1888265807723785122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=1888265807723785122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1888265807723785122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/1888265807723785122'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2009/02/user-input-in-sql.html' title='User input in SQL'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-731019090156262780</id><published>2008-10-14T09:13:00.001-07:00</published><updated>2008-10-14T09:14:47.531-07:00</updated><title type='text'>More about EXISTS and IN</title><content type='html'>This is a very useful link that will definitely answer your questions regarding whether to use EXISTS or IN on your SQL statements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:3263397840860471::::P11_QUESTION_ID:953229842074"&gt;http://asktom.oracle.com/pls/asktom/f?p=100:11:3263397840860471::::P11_QUESTION_ID:953229842074&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically the rule of thumb is:&lt;br /&gt;&lt;br /&gt;Small query, large subquery = EXISTS&lt;br /&gt;Large query, small subquery = IN&lt;br /&gt;Large query, large subquery = either&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-731019090156262780?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/731019090156262780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=731019090156262780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/731019090156262780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/731019090156262780'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/10/more-about-exists-and-in.html' title='More about EXISTS and IN'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-5838752498951441171</id><published>2008-09-26T13:13:00.000-07:00</published><updated>2008-09-26T13:16:15.239-07:00</updated><title type='text'>Oracle Spool command</title><content type='html'>The Oracle Spool command is a nice little feature that allows you to record what goes on in your sqlplus session on the fly. Enabling it is simple and can be a very good logging/debugging tool.&lt;br /&gt;&lt;br /&gt;To record your sqlplus session commands, simply type:&lt;br /&gt;&lt;br /&gt;SQL&gt; spool /tmp/myfile.txt&lt;br /&gt;&lt;br /&gt;where myfile.txt is the name you want to give to your log file.&lt;br /&gt;The file will not appear or be usable until you turn off spooling:&lt;br /&gt;&lt;br /&gt;SQL&gt; spool off&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Voila!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-5838752498951441171?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/5838752498951441171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=5838752498951441171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5838752498951441171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/5838752498951441171'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/09/oracle-spool-command.html' title='Oracle Spool command'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-2894285048125980850</id><published>2008-09-08T12:16:00.001-07:00</published><updated>2008-09-08T12:28:45.285-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='not in'/><category scheme='http://www.blogger.com/atom/ns#' term='not exists'/><category scheme='http://www.blogger.com/atom/ns#' term='exists'/><category scheme='http://www.blogger.com/atom/ns#' term='in'/><title type='text'>EXISTS is your friend</title><content type='html'>I recenty came across a problem that required me to retrieve data from a table based on certain criteria. I decided to use the SQL 'IN' condition. This, as I learned later, was a poor choice given the fact that the subquery in the 'IN' clause returned several hundred thousand records. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My query construct was the following: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SELECT foo, bar FROM table1 &lt;/div&gt;&lt;div&gt;WHERE foo IN (SELECT foo FROM table2 WHERE condition1 AND condition2)&lt;/div&gt;&lt;div&gt;AND bar IN (SELECT bar FROM table2 WHERE condition1 AND condition2);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Each of those two subqueries returned ~260,000 records, which, needless to say, took forever and a day to complete. I later discovered that the IN clause should mostly be used for small result sets, basically for when the subquery returns less than 1024 records. For result sets as massive as the ones I was getting, it is better to use the EXISTS clause. My query above could easily be modified to use EXISTS in the following way:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SELECT table1.foo, table1.bar FROM table1&lt;/div&gt;&lt;div&gt;WHERE EXISTS (SELECT table2.foo, table2.bar from table2 &lt;/div&gt;&lt;div&gt;                                WHERE &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;table1.foo = table2.foo &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;AND table1.bar = table2.bar&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;AND condition1&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;AND condition2);&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you can see, you have to join the two tables being used in order for it to work, otherwise EXISTS will return true and the query will just return the results of the master query.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remember, when dealing with large result sets, EXISTS is your friend!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-2894285048125980850?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/2894285048125980850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=2894285048125980850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2894285048125980850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2894285048125980850'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/09/exists-is-your-friend.html' title='EXISTS is your friend'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-3997048951372403017</id><published>2008-07-24T12:18:00.000-07:00</published><updated>2008-07-24T12:28:11.210-07:00</updated><title type='text'>Random numbers in Oracle</title><content type='html'>Oracle provides a set of neat functions to generate and manipulate random numbers and strings (Yes, random strings!). Here's an example of the generation of a random number:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select dbms_random.random from dual;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;Result: 688382086&lt;br /&gt;&lt;br /&gt;The following example allows you to limit the generated number between 1 and 1000:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select dbms_random.value(1,1000) num from dual;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Result: 800.627594089089637807565678078832430488&lt;br /&gt;&lt;br /&gt;Yikes! This number has a gazillion digits after the decimal point. So let's round it up:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;select round(dbms_random.value(1,1000),0) num from dual;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:+0;"&gt;Result: 709&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion:&lt;br /&gt;Random number generation is a useful tool that can have many applications in your SQL code.&lt;br /&gt;&lt;br /&gt;A more complete list of things you can do with this is here:&lt;br /&gt;&lt;a href="http://www.databasejournal.com/features/oracle/article.php/3341051"&gt;http://www.databasejournal.com/features/oracle/article.php/3341051&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-3997048951372403017?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/3997048951372403017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=3997048951372403017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3997048951372403017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3997048951372403017'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/07/random-numbers-in-oracle.html' title='Random numbers in Oracle'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-8651751161165471807</id><published>2008-06-04T11:59:00.000-07:00</published><updated>2008-06-04T12:02:46.269-07:00</updated><title type='text'>Chuck Norris Facts</title><content type='html'>A lot of people with time on their hands have been adding "Chuck Norris facts" to this ongoing list, which contains several things Chuck Norris can do that you can't.&lt;br /&gt;&lt;br /&gt;This is some serious hilarity:&lt;br /&gt;&lt;br /&gt;'&lt;a href="http://www.spreadshirt.com/shop.php?sid=19781&amp;amp;product_id=2398858"&gt;Chuck Norris’ hand is the only hand that can beat a Royal Flush.&lt;/a&gt;'&lt;br /&gt;&lt;br /&gt;See the rest at &lt;a href="http://chucknorrisfacts.com/"&gt;http://chucknorrisfacts.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-8651751161165471807?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/8651751161165471807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=8651751161165471807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/8651751161165471807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/8651751161165471807'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/06/chuck-norris-facts.html' title='Chuck Norris Facts'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-6559655133065589394</id><published>2008-06-03T15:19:00.000-07:00</published><updated>2008-06-03T15:28:19.866-07:00</updated><title type='text'>Connecting to an Oracle database using JDBC</title><content type='html'>Oracle has a proprietary JDBC driver that allows for native Java connections to an Oracle Database. First, you must download Oracle's JDBC Driver &lt;a href="http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html"&gt;here&lt;/a&gt; and then include the jar archive into your project.&lt;br /&gt;&lt;br /&gt;The code to connect to the database would be as follows:&lt;br /&gt;&lt;br /&gt; &lt;span style="color:#3366ff;"&gt;public&lt;/span&gt; &lt;span style="color:#3366ff;"&gt;void&lt;/span&gt; createDBConn()  {   &lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;Class&lt;/span&gt;.forName(&lt;span style="color:#009900;"&gt;"oracle.jdbc.driver.OracleDriver"&lt;/span&gt;);          &lt;br /&gt;     String url = &lt;span style="color:#009900;"&gt;"jdbc:oracle:thin:@//server.local:1521/prod"&lt;/span&gt;; &lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;Connection&lt;/span&gt; conn =      DriverManager.getConnection(url,&lt;span style="color:#009900;"&gt;"scott"&lt;/span&gt;, &lt;span style="color:#009900;"&gt;"tiger"&lt;/span&gt;);&lt;br /&gt;     conn.setAutoCommit(false);  &lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;Statement &lt;/span&gt;stmt = conn.createStatement();&lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;ResultSet&lt;/span&gt; rset =  stmt.executeQuery(&lt;span style="color:#009900;"&gt;"select BANNER from SYS.V_$VERSION"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;while&lt;/span&gt; (rset.next())  {&lt;br /&gt;              &lt;span style="color:#3366ff;"&gt;System&lt;/span&gt;.out.println (rset.getString(1));      &lt;br /&gt;     }&lt;br /&gt;     stmt.close();    &lt;br /&gt;     &lt;span style="color:#3366ff;"&gt;System&lt;/span&gt;.out.println ("Ok.");  &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-6559655133065589394?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/6559655133065589394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=6559655133065589394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6559655133065589394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6559655133065589394'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/06/connecting-to-oracle-database-using.html' title='Connecting to an Oracle database using JDBC'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-3742447118497420868</id><published>2008-05-29T10:45:00.000-07:00</published><updated>2008-05-29T10:49:51.211-07:00</updated><title type='text'>Select INTO!</title><content type='html'>When coding in PL/SQL, remember that if you want to add a query's returned value into a variable, you must use the format:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;SELECT&lt;/span&gt; &lt;em&gt;value &lt;/em&gt;&lt;span style="color:#3366ff;"&gt;INTO&lt;/span&gt; &lt;em&gt;variable&lt;/em&gt; &lt;span style="color:#3366ff;"&gt;FROM&lt;/span&gt; &lt;em&gt;table&lt;/em&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;/*The rest of the query goes here*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;I made the mistake of doing it this way:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;variable = &lt;/em&gt;&lt;span style="color:#3366ff;"&gt;SELECT&lt;/span&gt; &lt;em&gt;value&lt;/em&gt; &lt;span style="color:#3366ff;"&gt;FROM&lt;/span&gt; &lt;em&gt;table&lt;/em&gt; ...&lt;br /&gt;&lt;br /&gt;Don't make the same mistake I made!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-3742447118497420868?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/3742447118497420868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=3742447118497420868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3742447118497420868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3742447118497420868'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/05/select-into.html' title='Select INTO!'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-3364235408671130279</id><published>2008-05-29T10:42:00.001-07:00</published><updated>2008-05-29T11:03:11.800-07:00</updated><title type='text'>Query to display duplicate values</title><content type='html'>This query will display how many times a certain value occurs in a table.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;SELECT&lt;/span&gt; &lt;em&gt;a&lt;/em&gt;, &lt;span style="color:#3366ff;"&gt;COUNT&lt;/span&gt;(&lt;em&gt;a&lt;/em&gt;) &lt;span style="color:#3366ff;"&gt;AS&lt;/span&gt; &lt;em&gt;numoccurences&lt;/em&gt; &lt;span style="color:#3366ff;"&gt;FROM&lt;/span&gt; &lt;em&gt;table&lt;/em&gt; &lt;span style="color:#3366ff;"&gt;WHERE&lt;/span&gt; &lt;em&gt;a&lt;/em&gt; &lt;span style="color:#3366ff;"&gt;IS NOT NULL&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;GROUP BY&lt;/span&gt; &lt;em&gt;a&lt;/em&gt;;&lt;br /&gt;&lt;br /&gt;It's useful to create a view with this query and then use the values in other queries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-3364235408671130279?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/3364235408671130279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=3364235408671130279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3364235408671130279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/3364235408671130279'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/05/query-to-display-duplicate-values.html' title='Query to display duplicate values'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-765828590421566745</id><published>2008-05-29T10:37:00.001-07:00</published><updated>2008-05-29T10:39:51.756-07:00</updated><title type='text'>Oracle Database Schema Viewer</title><content type='html'>Schemester is a sweet little tool that allows Oracle database schema discovery in case you don't have the database diagram handy (which is usually the case). After connecting to the database through Schemester, you'll have a list of all the tables in the database, and you're able to drag a table into the "page" and you'll have a diagramatic representation of this table, displaying all its columns and appropriately identifying keys. Awesome!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.download.com/Schemester/3000-2210_4-10225039.html"&gt;http://www.download.com/Schemester/3000-2210_4-10225039.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-765828590421566745?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/765828590421566745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=765828590421566745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/765828590421566745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/765828590421566745'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/05/oracle-database-schema-viewer.html' title='Oracle Database Schema Viewer'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-2292087476896312103</id><published>2008-05-28T14:38:00.001-07:00</published><updated>2008-05-30T12:40:20.057-07:00</updated><title type='text'>PL/SQL on Oracle 9i</title><content type='html'>I came across a problem or two at work in which I was forced to use PL/SQL commands to solve it. I researched a bit and found some cool information that'll help those of us that are a bit rusty on Oracle and need a refresher on PL/SQL.&lt;br /&gt;&lt;br /&gt;Here's a pretty good tutorial for creating and using PL/SQL cursors.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.exforsys.com/tutorials/oracle-9i/oracle-cursors.html"&gt;http://www.exforsys.com/tutorials/oracle-9i/oracle-cursors.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good explanation of several PL/SQL commands:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://infolab.stanford.edu/~ullman/fcdb/oracle/or-plsql.html#variables%20and%20types"&gt;http://infolab.stanford.edu/~ullman/fcdb/oracle/or-plsql.html#variables%20and%20types&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The PL/SQL FAQ&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orafaq.com/wiki/PL/SQL_FAQ"&gt;http://www.orafaq.com/wiki/PL/SQL_FAQ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-2292087476896312103?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/2292087476896312103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=2292087476896312103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2292087476896312103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2292087476896312103'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/05/plsql-on-oracle-9i.html' title='PL/SQL on Oracle 9i'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-6897074771334064503</id><published>2008-05-22T14:03:00.001-07:00</published><updated>2008-05-22T14:04:50.151-07:00</updated><title type='text'>Self-modifying code</title><content type='html'>You can do awesome things by using Java's Reflection APIs and combining it with the Javac and JVM utility classes. You can make objects of the Java compiler and compile and run code AT RUNTIME. I'll update this later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-6897074771334064503?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/6897074771334064503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=6897074771334064503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6897074771334064503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/6897074771334064503'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/05/self-modifying-code.html' title='Self-modifying code'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3877175448771998796.post-2428052114394444994</id><published>2008-02-11T12:42:00.000-08:00</published><updated>2008-02-11T12:48:51.406-08:00</updated><title type='text'>Ruby resources</title><content type='html'>I've pretty much spent this past week learning Ruby, and here are some rather useful links to get you up to speed:&lt;br /&gt;&lt;br /&gt;Ruby official page&lt;br /&gt;&lt;a href="http://www.ruby-lang.org/en/"&gt;http://www.ruby-lang.org/en/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby Standard Library Reference&lt;br /&gt;&lt;a href="http://www.ruby-doc.org/stdlib/"&gt;http://www.ruby-doc.org/stdlib/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby Core Reference&lt;br /&gt;&lt;a href="http://www.ruby-lang.org/en/documentation/"&gt;http://www.ruby-lang.org/en/documentation/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby Learning tutorials - Excellent tutorials that include code samples that are ready to run.&lt;br /&gt;&lt;a href="http://rubylearning.com/satishtalim/tutorial.html"&gt;http://rubylearning.com/satishtalim/tutorial.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3877175448771998796-2428052114394444994?l=cecilurena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cecilurena.blogspot.com/feeds/2428052114394444994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3877175448771998796&amp;postID=2428052114394444994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2428052114394444994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3877175448771998796/posts/default/2428052114394444994'/><link rel='alternate' type='text/html' href='http://cecilurena.blogspot.com/2008/02/ruby-resources.html' title='Ruby resources'/><author><name>Hijuepu</name><uri>http://www.blogger.com/profile/16359182567825812832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
