Check out my page for SXSW 2011! Please comment, add, forward, tweet, FB anything good that you are doing!
List of RSPVs I have done so far.
List of resources:
Tweeters to follow:
SXSW is why I got twitter in the first place. Any other purpose for tweeting comes secondary to SXSW. Just know that. If you plan to attend any of SXSW, you need Twitter. Really, no joke. Just do it. I don’t have a fancy-pancy multimedia phone (yet), but I can still stay very connected in real-time using SMS text messages. I send my tweets to 40404 (after I authorized my account through twitter.com) and I receive updates from a select few people. If they are being annoying and tweeting at 4am, I unclick the mobile update option for them. During SXSW, I will be receiving tons of texts from all the people below.
@thekozak [I already created this list in Twitter. Just follow my list! The rest of the list is on twitter. Be sure to do mobile updates]
Do you really love LAMP or are you just saying that?
Anchorman references aside, I have been teaching myself web programming in my spare time these last few months. This seemed like the perfect way to stay fresh considering that my current job is not technical. It has been a truly eye-opening experience. Given my electrical engineering background, I thought this would be quite simple.
- I’ve coded in C and Java extensively (Matlab too!)
- I feel comfortable with compilers and IDEs
- I like drinking coffee and staring at a screen for hours
But I am learning that this is a completely different animal – in a good and challenging way. The first challenge was seeing the big picture – how these technologies intertwine. Scouring wikipedia.org really helped – the amount of information is immense! I also looked through Craigslist job posts for internet engineers to see what skills employers sought, PHP and MYSQL being the two most popular. The LAMP acronym came up very frequently.
Learning to love LAMP
“LAMP is an acronym for a solution stack of free, open source software, originally coined from the first letters of Linux (operating system), Apache HTTP Server, MySQL (database software) and Perl/PHP/Python, principal components to build a viable general purpose web server.” [from wikipedia]
I think it would be pretty cool to run my old laptop as a server for my own site using a LAMP solution stack, but that is a few steps ahead of the game. For now, I am focusing my attention on learning PHP and MYSQL at a very high level. Fortunately, there are many tutorials and tools available to help learn these.
XAMPP: The tool for testing and creating
A friend, Kilbot, made some good recommendations to one of my previous posts. Since then, I have downloaded XAMPP so I can create/test the websites from my computer. Without XAMPP, testing any .php file would require uploading the files to a server to run the php code. This is really slick! XAMPP comes with phpMyAdmin, a web interface to help create and manage the MYSQL database. Using this tool allows me to build the database without having to fully understand the intricacies of database programming. Using XAMPP is a great way to learn web programming since it reduces a few of those barriers.
I can ignore MYSQL until I learn PHP, right?
Not quite – you have to set up the database properly to serve as the foundation for all the code. I was going about this all wrong until I read this tutorial by Gizmola. Part one of this tutorial helps beginners such as myself set up the database by creating an entity-relationship diagram. He teaches how to make the ER-diagram and how to implement the various mappings (1-to-n and m-to-n). This was something I had not considered. Considering this tutorial, to make a highly functional website would require having the data structures set up properly from the beginning.
After you eat your vegetables: Ruby, Ruby-on-Rails, Erlang
With all this research, it has been very easy to go down the wrong path or to get sidetracked. While sidetracked the other day, I found these awesome resources for Ruby and Ruby-on-Rails. From my understanding, Ruby-on-Rails is the language used to power Twitter. Both of these sites had great interactive tutorials. Learning a language could not be easier with tools like these! I was tempted to just learn these languages and scrap the whole LAMP idea, but I remind myself “first things first” and table the idea. I really like that I can easily use a command line for this program. This is really in my comfort zone from using Matlab for so long.
Also while sidetracked, I read about Erlang. I would be interested in learning Erlang later since it is a concurrent programming language. Having learned VHDL (concurrent hardware description language), I wonder if this would be easier to wrap my mind around?
The W3Schools tutorials have been very helpful for learning/remembering HTML and CSS.
So now that I have focused on what languages to learn (PHP and MYSQL) and what tools to use (XAMPP and Notepad++), it is time to make progress on my projects. It is very tempting to get sidetracked and go astray with the plethora of information available on the web – I hope that by blogging about this I can document my work, review what I have learned, and focus my attention through self-reflection. This is my rubber duck.
Until next time, I will be learning to love LAMP.
Tried PHP tutorial http://www.w3schools.com/php/php_intro.asp
Got stuck at install (I don’t have a domain or webspace)
Google “free php domain” and find http://www.zymic.com
Create databases graphically and using ‘phpmyadmin’
Create database users and assign privileges using web GUI
Found great tutorial for creating a simple comment forum http://www.zymic.com/forum/index.php?showtopic=3705
Considered Kilbot’s advice (his reply to my last post) [had to do it the hard way first] http://www.kilbot.net/
1.) ezSQL http://justinvincent.com/ezsql
2.) MAMP http://www.mamp.info/en/index.html for the Mac and XAMPP http://www.apachefriends.org/en/xampp-windows.html for the PC
I feel so alive to have a 2am night working on code! They told me I would miss it, but I scoffed!
I learn that MYSQL is just for handling the database and that something else interfaces with the SQL queries. That something is PHP. Now I will be reading up on PHP as well. This is turning out to be more involved than I originally thought, but I am not disheartened.
Since I have used Eclipse before, I will likely use that IDE for my PHP builds. Since I am on my work laptop, I will have to do this when I switch to my old Dell, if she still boots.
Here are the website I have been checking out so far:
http://www.planet-source-code.com/vb/default.asp?lngWId=5 [lots of code templates]
http://dev.mysql.com/tech-resources/articles/ddws/20.html [Offical how-to, written for Novice/Intermediates – good]
http://www.w3schools.com/php/php_intro.asp [They have certifications available – I might consider it]
http://www.web-tech-india.com/articles/php/compiling_php_apache/ [saving for a rainy day]
http://www.microsoft.com/express/Database/ [maybe….I’m skeptical]
Vinyl Album Recognition Project – Post 3
heuristic search methods
image hash coding
Some preliminary research:
VisualRank: Google’s new image search algorithm: An hour long talk
New Algorithms from UCSD Improve Automated Image Labeling
San Diego, CA, March 29, 2007 — A Google image search for “tiger” yields many tiger photos – but also returns images of a tiger pear cactus stuck in a tire, a racecar, Tiger Woods, the boxer Dick Tiger, Antarctica, and many others. Why? Today’s large Internet search engines look for images using captions or other text linked to images rather than looking at what is actually in the picture.
Since I graduated, I’ve been planning on starting a project to keep my engineering wits about myself since I am in a non-technical position. This is easier said than coded. The job has been intensely busy! Since taking this job, I have been on travel a lot, like 8 weeks so far. Travel means no nerding out since I have my work laptop only. While at the home base, I’ll be working on a project of my choosing. In case you cannot tell, I have chosen database programming using MYSQL.
This blog entry is one of (hopefully) many “Messin’ with MYSQL” posts. These blog posts are intended to document my work for my own sake and for anyone else interested in trying it out.
Trial 1.) TAR – fail (too many dependencies; too much of a noob; I dont have all day)
Trial 2.) DMG (disk image) – fail (“FATAL ERROR: Could not find ./bin/my_print_defaults”)
Trial 3.) sudo apt-get install mysql – WIN. This method installs all the needed libraries, dependencies, etc.
My first run is a shot in the dark. While comfortable with with MATLAB command line operation, Terminal is another beast entirely. Typing ‘mysql’ starts running the program. Success! I try to create a database using the command “create database name;” but access is denied! I realize that I never (intentionally). I remember copy/pasting this code because the installer told me to:
“/sw/bin/mysqladmin -u root -h dingus.local password ‘new-password'”
So my password is “new-password” and I have no idea how to change it. Note to self, change it.
I start MYSQL again using the command “mysql -uroot -p” instead. It prompts me for my password and we’re a go! I make a couple dumb tables, making lots of stupid mistakes. It has been a while since I’ve learned a new language or even looked at code. Feeling very rusty and in great need of caffeine.
I check to see if Xcode can do databases. I’m not exactly sure what I am looking for, but I don’t see any database programming options for creating a project.
I check to see what Excel can do with databases. I’ve looked at VBA macros in Excel before, so I figure it should do SQL. Oh yeah, I’m on my Mac, meaning I couldn’t afford Microsoft Office products after buying this laptop….also meaning that I use Open Office, for better or for worse. It gives an option to create a database – and so I do. I play with tables, forms, queries, and reports. I’m very glad that I found this.
GOALS FOR NEXT TIME
1.) Get a database online and access it using command line
2.) Figure out graphic interfaces – html or whatever
3.) Access Open Office database from command line and vice versa
4.) Check out Google doc integration – check this link out: