Latest Entries »

I wrote this up for a good friend who needs to learn SQL at work, to be a backup to the programmers on site.  They’re all developers, and some of them are good developers, but their SQL code sucks.  I want my friend to learn the right way.  He doesn’t really like to go through books, and was looking for a class, but there aren’t very good classes online from what I can see.  Do you know online classes that are instructor led, or at least instructor guided, that aren’t a waste of time?  Leave me a comment, I’d love to check it out!

 

I looked at the various SQL classes available, and they look like wastes of money to me.  SQL is text based and there are a billion free tutorials for the basics.  If you want to learn, books are the way.  There are some video tutorials and stuff online, but I went through some of them and its very cumbersome to go back and forth between the video and the tools.  With SQL and with any programming thing, you need to actually DO everything you expect to learn.  Luckily for you, you have not only grest real world data, but also some knowledge of what you need to do, usually, with that data.  I know you don’t like to learn from books, but the only thing you’re going to get from a class or a set of videos is someone reading a book to you instead of you reading a book.  There is no advantage to that, from what I can see, especially since the bulk of the training has them doing the examples for you and then you copy pasting them with THEIR data.  This sucks, and is a horrible way to learn.  Do the books, trust me.  Even if its harder, you’ll learn better.

I suggest the following :
1. go through this site, it will take you a few hours, but it will give you the basics. http://www.sqlcourse.com/index.html  What you need to learn is how to creae and delete databases from SQL, and from the GUI.  Itzik Ben Gan’s books are perfect for this and even some more, and they’re written with beginners in mind even though they’re advanced overall - http://www.amazon.com/Microsoft-Server-2012-T-SQL-Fundamentals/dp/0735658145/ref=sr_1_4?s=books&ie=UTF8&qid=1345875985&sr=1-4&keywords=itzik+ben+gan  Next, you need to learn how to create users and edit them along with their permissions.  That is super basic and you can figure it out yourself in minutes by just going into the GUI.
2. learn the basics of SQL – SELECT, INSERT, UPDATE, DELETE.  These commands have almost all of the same syntax, so learn one and you’ve learned all.  Very easy!  The most important thing you need to learn during this is the difference between set based (SQL) and procedural (normal programming) thinking.  Many people want to give the computer a list of steps to perform in order, this is not proper SQL thinking.  You need to think in terms of sets, specifically, which subset of this data do I need to return, and what makes that data special.  How can I create rules that define this set.  In your case, a set might be payouts made during a specific time period, with the time period being Monday from 11am to 2pm.  A procedural programmer would look at every value and compare them, then output a list.  Set based thinking will save you when you get into more advanced things from being a performance pig, like all your coders at your job.  They suck, and the reason they suck is that they’re programmers and they fix everything procedurally.
3. You need to learn the data types that SQL can handle, why they’re different.  You need to learn about constraints like primary keys, foreign keys, regular expression constraints, etc.  This is all database design.  Deduplicating data is SO SO important in SQL.  When you understand why a database needs to have only one instance of any piece of information, you’ll understand why things are in different tables, and what for.  This is absolutely key to understanding JOINS which are probably the most difficult part of SQL.  You will never get there without database design.  One book is just okay, I learned more about design reading newsgroup posts than anything else, but this book will give you the same kind of information, and give you enough information to ask questions on your own in the future, they’re all answered very well on the net.  http://www.amazon.com/Beginning-Database-Design-Novice-Professional/dp/1590597699/ref=sr_1_1?s=books&ie=UTF8&qid=1345876420&sr=1-1&keywords=database+design
4. learn some more advanced functionality…things like subqueries, using the IN modifier, etc.  This part can take months, but it is because its your “practice”  For this part, having any version of Oreilly’s SQL Cookbook(MS SQL Specific version is here http://www.amazon.com/Transact-SQL-Cookbook-Ales-Spetic/dp/1565927567/ref=sr_1_2?ie=UTF8&qid=1345875941&sr=8-2&keywords=sql+cookbook), or Itzik Ben Gan’s work comes in handy again here http://www.amazon.com/Inside-Microsoft%C2%AE-SQL-Server%C2%AE-2008/dp/0735626030/ref=sr_1_6?s=books&ie=UTF8&qid=1345876065&sr=1-6&keywords=itzik+ben+gan
5.  Now, you’re going to have more knowledge than you will need to do basic work, but the next levels are to work through other books, DOING EVERY COMMAND ON REAL DATA (or it won’t sink in, you need to do it all by hand, and type it out manually), understand RDBMS theory (Joe Celko’s work is very good here, also) and implementation specific knowledge like how to performance tune a server, how to guard against and solve database locking, how to find out which queries are taking too long and need to be optimized, re-written as stored procedures, etc.
There are a lot of places you can go from here, but knowing those first four items and getting started on item 5 will put you in a place of knowledge that will eclipse the majority of working DBAs.
If you have trouble with the concepts, we can work together or I can explain things.  None of it is hard, at all.  I took a difficult path because I wanted to have a mastery over the field.  If all you’re going to do is fix data, you should be able to learn that stuff in literally a day.  There is nothing to it.  The hardest part of doing that work is knowing where the data is.  I hope you guys have documentation on what each field is, in your databases, and maybe you already know that stuff just from working with the data already.
If you’re focused on doing training training and can’t deal with the books, maybe start with these free video training tutorials from Microsoft.  http://weblogs.asp.net/scottgu/archive/2007/03/02/free-sql-server-training-videos-and-other-good-data-tutorial-pointers.aspx
Let me know how you’re getting along, and what you think about the above.
Hopefully this can be helpful for other people, too!!

Pretty cheap here.

plastic nameplates

http://www.usbmemorydirect.com/products/slap_wrist_usb_flash_drive.htm?home

If you feel up to it, please consider being tested for possible bone marrow donation. You can save a life through something as simple as a procedure that is very similar to giving blood (they don’t always do surgery) and from what I read it is something like having a flu for a few days, in terms of pain/symptoms. I’m doing this in honor of a good friend Eric, who has recently had a terminal diagnosis after having a failed transplant attempt. If you match someone, you are really their one in a million chance to live. The test involves a quick form, and a 15 minute at home cheek swab procedure, and then you’re just on a list until they call you, and many people never even get called. If you are matched, they pay all medical bills, travel costs, and other expenses for you, you won’t have to pay for a thing. Its so little to give, to be able to save someone’s life. If you do it, please remember Eric, who will die, because he couldn’t get a transplant. His dying wish is that more people sign up to be donors, so that other lives can be saved. Please consider honoring his memory by helping him fulfill his dying wish to get people signed up to be a potential bone marrow donor, it may end up being one of the most important and meaningful things you do in your life. http://marrow.org/Join/Join_the_Registry.aspx

When I was a little kid, Mike Tyson was THE MAN. He was all people talked about for months at a time. He was a demigod on the playground, and each and every one of us kids wanted to be like him. I grew up in Las Vegas, and Tyson would train, on the street, just running down Flamingo road by the old Church’s chicken. If you were lucky, you could spot him. When I saw him, it was night time, and I was with my father, and I rolled down the window and screamed at the top of my lungs, “YOU CAN DO IT MIKE!” which sounds ridiculous, but coming from the mouth of a 7 year old it was probably the best I could do. Mike pumped his fists over and over and yelled back “YOU CAN DO IT TOO, KID!” and it was such an amazing and inspiring moment that it really did change my little life. He has his problems, and has been through some pretty nasty stuff, but to me Mike will always be the guy who is on top of the world that can still take a stupid comment from a kid, really take it to heart, and give all that love and positivity right back even when he didn’t have to do any of that. Mike Tyson will always be a conflicted hero, but a hero nonetheless, and to me he’ll always be the champ. I love that guy.

This is a special blog post for my lovely daughter Ellie, she is in 3rd grade and is writing a research paper.

 

 

 

 

<Ellie>  ”Do I have to read this WHOLE THING???”

<Daddy> “Nope, all you really need is the summary, this is all pretty easy!  However, if you read the whole thing it will make more sense and you will write a better paper.”

 

 

 

 

 

 

 

 

 

SUMMARY - 

“What am i trying to prove? What are three things that prove what I want to prove? How can I show the reader that my proof proves what I want to prove?”

That is all you really need to answer, for yourself.  Answer those questions in your mind, and write the results into your word processor on the computer, and you’ll have a pretty good paper.  If you want a little more guidance, check out the extended version below :
I am writing a paper, how do I start? :

1. First you must answer the question : What am I trying to say? – this will be the subject (in writing it is called a thesis) of your paper, or your hypothesis, just like the scientific method.
You ALWAYS start your paper with explaining what you are trying to say, in this case we might say “Nevada is a nice place to live.” This should be a simple statement that you believe to be true. It should answer the requirements of the assignment as much as possible. If the teacher asks you to write a paper on ice cream being delicious, don’t write your paper about potato chips! Think deeply about the subject, and decide how you can best answer the question. For all of these examples, we will be using the assignment “What is it like to live in Nevada?”

Once you have decided on the subject of your paper, and the statement you’ll make to answer the subject in the best way, you will write it out in a sentence. For your grade level (grades 1-5) the majority of your papers will be answerable in one sentence.

You may think, “Only one sentence? Sure, I can do that, I’ll just write one sentence!” But, it won’t be that easy. Readers are not often foolish, and teachers are almost never foolish, especially when grading papers, so you need to convince your reader that your sentence is true. You’re going to use something called sourced evidence.

2. Next, we figure out : How can I prove that what I am saying is true? – this part of your paper will support your thesis using sources, probably from the Internet or a library.

You will want to think of three main arguments that support your thesis. These can all be fairly broad. In our example of Nevada being a nice place to live, we might go out and read some things on the Internet about Nevada. You can read the Wikipedia page, the Las Vegas Convention Authority, some books about Nevada, or anything you’d like. A big part of writing a paper is knowing what you are talking about. How can you convince anyone that Nevada is a nice place to live unless you know it to be true? If you haven’t done any research on your thesis, do it now. If you have already learned about your thesis, you might come up with some claims like the below :

* Nevada is a nice place to live because there are a lot of things to do.
* Nevada is a nice place to live because it does not cost a lot to live here (the cost of living is low.)
* Nevada is a nice place to live because there are many opportunities to experience natural beauty.

Typically, you will only need three claims. But, this really only results in a few sentences, not enough for a whole paper! This is where your sources will come in!

Find three facts for each of the three claims you’ve made. We’ll use our first fact to show an example of how you might do so.

We want to show that there are a lot of things to do in Nevada. You can start with the Las vegas Strip. This one doesn’t really need a source. You can talk about the things you have experienced, like the Bellagio fountains, and say how much fun they are. You may also want to talk about other things you can do in Las Vegas, but you want to show that the facts you’re citing aren’t just your opinion, but established facts! For this, you’ll need references. For our example here, we’ll use my webpage and after we say “Another great thing to do in Nevada is go to Madame Toussaud’s wax museum!”*1 and put a little number(Just like the one you see there after the quotes.  There are ways to make them look cool in word processors like Open Office, I can show you how.) next to your claim. Then, at the bottom of your paper, you add a bibliography, which tells your reader where they can get the information that you got. In this case, the bibliography entry for this item would look like this :

*1 http://willharris.me/2010/09/fun-stuff-to-do-in-las-vegas/

You would create a reference using *2 for your next claim, if it isn’t just your opinion, and make another line in your bibliography at the end. When you get older, you’ll do this in a more formal way, because there are rules that you need to follow for formatting, but in your grade group, you don’t need to be too formal.

You should write three facts for each of your three claims. So, nine sentences total, in three paragraphs (one for each claim.)

3. Finally, at the end of the paper, you’ll quickly recap your thesis, and come up with a conclusion. For your papers at your grade level, you will mostly just say your thesis again, and tell the reader again that it is true, and remind them that you have included lots of sourced facts to prove your point. This will be enough to convince them and give you a good grade.
I would also like to include a reminder about language. You are writing a research paper, not having a conversation with your friends. Don’t use conversational English. You want to write your paper with a very proper and professional tone. You aren’t supposed to be friendly to your reader, like I am being for you in this cheat sheet. You want to leave out slang words, silly phrases, and things like “I bet you didn’t know that!” or other phrases that aren’t important to your point. You want to make sure that every sentence is important and factual. If you need to know how to write, use examples from your sources. Your sources used will almost always be encyclopedias, books and websites at your age, and all of them write in a non-passionate and professional way. It will be hard at first, and it is OK if you don’t get it right, but you should always strive to write like the people on Wikipedia, they do a very good job.

Always remember that your father loves you, and if you ever need help, Daddy is always there to help you with your schoolwork or anything else in life.  You’re the best, I’m really proud of you, and I can’t wait to see your first paper after you’ve read this.  I think if you learn how to write papers the right way, you’ll really have an advantage throughout your whole school career.

Someone asked this question of me online, and I thought more people might like to know from an American’s perspective how things work with respect to the Japanese specifically.

In simple Japanese they will often use two character sets called Katakana and Hiragana which are basically analogous to our alphabet, but with vowels, so, there will be characters for “Ha, He, Hu, Hey, Ho OR ka, ke, ku, key, ko…etc (sounds like)” for most consonants with some missions consonants like L and some added combinations like sh, which is why some Japanese people have difficulty with their Ls and it sounds more like R when they’re speaking.

Children write with these, and most simple things like safety instructions are written like that for ease of understanding. Upon further study and growing older people will learn more and more Kanji, and a good part of most testing in school is learning your Kanji. Kanji are the complicated and numerous pictograms you see, and wonder, how can anyone learn a picture for every word? The answer is, its very difficult and takes years of study.

If you use language with no Kanji you may be seen as simple, so people do often use them in casual writing out of habit, or not wanting to appear stupid.

On the computer, the katakana and hiragana will be automatically translated from their romanji (roman languages) phonetics, or even to Kanji, by the PC, and as you “sound out the word” different possibilities will appear on your screen for you to choose from, at least on English language operating systems I’m using.

Interestingly, many Japanese people spend 6+ years in school learning English, so they can read and write quite well, and even understand you if you modify your pronunciation to be more Kata/Hiragana-esque.

For example : instead of Ham Sandwich, you would say hah-moh, san – do – wi – chu. Or, Macdonalds is mah-koo-doh-nah-roo-do (I made the spelling more like it sounds than the proper representations of katakana and hiragana) so you can speak to almost anyone in Japan and while you may not carry on an in depth conversation, as a tourist you can really get your point across without worrying about the language barrier.

 

http://www.bbc.co.uk/news/entertainment-arts-11547279

“Albums should cost £1, then everyone will buy them”

Of course the industry resists this line of thinking!  The problem is, that recorded music has already become HEAVILY devalued.

Labels absolutely must work this value situation out, and their dragging their heels for decades is only making people value recorded music less.  I think the big problem is that labels realize that almost nothing that they produce besides the logistics and industry contacts actually adds any value in a world of near free distribution over the Internet.  In order to fix the industry, they might have to write themselves out of the majority of their profitability, and release their stranglehold on artists.  Labels of the future will be, likely, only performing a few functions.

1. Financing based on evaluation of talent and marketability.  Currently, they’re fucking horrible at this, but its really hard to be good at it.  Thus far, it has been difficult to predict success, especially for new acts, and the labels have lost so much money at this game that they’re forced to charge you insanely inflated prices for every artist’s work in order to make up for their spectacular failure on this bit of their business model.  The unfortunate thing here is that you can’t possibly guage what people will like without market testing, and even WITH advanced market testing the success of mega acts like U2 is based on such an enormous amount of ever changing factors that I don’t think we’ll ever have an algorithm to predict anything in this way.  It is mostly luck, and the ability to move quickly.  “Good” music as judged by musicians and afficianados is miles apart from what your average soccer mom will like, but soccer moms and other large buying groups have no idea why they like any music, they just do!  There has been some interesting research in this area, but it isn’t enough to base a business off of.
2. Getting the album recorded in a very high quality manner.  They’re damn good at this, but they sure do waste a ton of money here.  Even this function will eventually be unneccessary due to the amazing capabilities of even modestly priced home recording setups.  When computers can effectively simulate high priced mic pre amps, boards, room types, and other minutia of recording, the only thing most artists will be missing is knowledge of recording and the ability to coax the sound they want out of the complex software.  Much home recording software is already there, and with the exception of mastering many artists are ALREADY relying on systems in the low 5 figures in terms of cost.
3. Marketing.  They’re damn good at this, and this will likely never go away.  This is their most important function even now, but it is definitely not where the money gets spent, because the majority of their profit goes to HUGE salaries and artists that never make it but somehow manage to cost hundreds of thousands or even millions to record.

So, labels might have to resign themselves to being bankers and marketing experts.  So what if the few useful things they can provide aren’t as profitable as selling IP for much more than it is worth?  Why should the consumer have to pay so much to support executive salaries and a rate of failure so obscene that if you transplanted it to manufacturing the shareholders would burn the plant down?  Low value on music is the reality of the current market, and its not going to change until we see another big change in technology like P2P.

Businesses must accept reality to be successful.  If your only business model is protectionism, you are bound to fail eventually.  Unfortunately for the record biz, they don’t have a lot to offer besides being entrenched.

Short version : wait until next month and get a D-link Boxee Box for $199.

Long version with more info :

Boxee Box – this is THE one to get, if you can wait until November.  They’re available for preorder from Amazon now and definitely worth the money by a HUGE margin since not only will it play your media off your hard drive, but you can get almost anything off the Internet as well.  All those internet channels like revision 3, you tube, Netflix, Pandora, last.fm, and lots more are all available and are very easy to find and use via a really nice remote control.  $199 for the same software I run at home after trying almost everything available it’s the one I like the best.  I’ll be buying one for every TV in the house that doesn’t already have a PC hooked up to it.

http://www.boxee.tv/box

Logitech is also partnered with Google TV for something similar, but they’re only just announcing it tomorrow.  I’m not sure what the release date will be, but the hardware itself is going to be amazing from what I’ve seen.  Unknown price, but more info will be available tomorrow.

http://www.logitech.com/en-us/1005/7099?WT.ac=ps|7159|hp

You can buy an apple TV for $99, but you have to mess with it to make it work with your own (non apple) media, so I wouldn’t recommend this one unless you want to root it and install Boxee for a less than optimal Boxee experience or you’ve bought all your media through iTunes and plan to do that until you die.

http://store.apple.com/us/browse/home/shop_ipod/family/apple_tv?mco=MTkxNTgwMjU

If you can’t wait the western digital box is about $120 and plays almost everything.  I don’t have personal experience with this unit, but people online like it.  This one has a slight disadvantage since it doesn’t play Internet content, which I think will be more and more valuable over the next year or two especially with the launch of Google’s TV product.  You can get it here

http://www.amazon.com/Western-Digital-Media-Player-WDBABX0000NBK-NESN/dp/B003MVZ60I/ref=sr_1_1?ie=UTF8&qid=1286317111&sr=8-1

You can also stream media from your PC to a PS3 or Xbox 360 if you’ve already got a gaming console.  Look into PS3 Media Server for the PS3 or Tversity for the 360.  They both work great!