Posts Tagged: Technology


8
Oct 15

SQL Beginners Cheat Sheet

So its been a while again, but push comes to shove and I’m determined to get back on to making a return to this blog. I’m on a bit of a skills development fix at the moment and decided here would be a great spot to report back on what I’ve been doing and to create some documentation on the key learnings.

I recently went through a beginners course on SQL through Code Academy (link to the course here) which I found really interesting and potentially useful for future endeavors.

SUMMARY 

What is SQL? Known as a ‘Standard Query Language’ its a method of organizing and summarizing data. My general thinking when it comes to this is that taking a structured dataset it allows the user to summarize and manipulate the data. In the case of multiple datasets, it connects them through a common tie so the user can get a better understanding of how they interact.

Why is it potentially useful? I’ve experienced SQL in the context of a data tool where the language organizes raw data in such a way that its  a readable output for the end-user. When thinking about it in terms of even a basic excel spreadsheet, the language allows for the data to be summarized and reformatted saving the user from having to do a lot of manual work.

Below is a select set of terms from the course and example code:

TERMS/COMMANDS:

; is used as an ‘End statement’ and is placed at the end of a command. It tells the system to move to the next query statement.

There are three basic functions of the SQL language: To BUILD, ANALYZE or JOIN data tables.

 BUILD:

CREATE TABLE: is a command telling the system to build a new data table.

table_name(***): labels a table for use in queries and joining with other tables.

column_1 data_type: defines what data goes into a particular column (can be text, date, number etc.) These can be layered up to create a series of columns

INSERT INTO: is a formatting command used for define the set columns. Following this, column titles can be added ex: (id, name, age).

VALUES: This is a command used to enter in individual entries. Its formatted as VALUES (row value 1, row value 2…);

UPDATE: used to change entries in a table. Using ‘SET’ and ‘WHERE’ entries, data within the table can be altered

ALTER TABLE: Where as UPDATE alters an entry, ALTER TABLE allows the user to change or add data columns.

DELETE FROM: Deletes rows from a table.

 

Example Code:

CREAT TABLE table_name (
 column_1 data_type,
 column_2 data_type,
 column_3 data_type
 );
INSERT INTO celebs (id, name, age)
VALUES (1, 'Justin Bieber', 21);
 SELECT *FROM celebs;
UPDATE celebs
 SET age = 22
 WHERE id= 1;
 SELECT *FROM celebs;
ALTER TABLE celebs ADD COLUMN
 twitter_handle TEXT;
 SELECT *FROM celebs;
DELETE FROM celebs WHERE twitter_handle IS NULL;

ANALYZE:

SELECT *FROM ‘table name': displays all data from the labeled table the SQL interface. The * is used to notate ‘select the whole table’. Other commands such as ‘SELECT DISTINCT’ can be used to summarize a table further based on a column or row entry.

BETWEEN: Is a filter option for the use of numerical data.

ORDER BY: organizes a data set. A related command DESC/ASC(aka: Descending/Ascending) can be used to organize numbers by a set parameter.

LIMIT: Sets maximum number of rows pulled from a dataset.

GROUP BY: organizes data by a specific column entry (example: type of apple).

COUNT: summarizes numerical data by a category (example: how many entries contain X)

SUM: Counts up the numerical data of a particular column in a table ( Ex: How many impressions in total).

MAX(): finds the largest value of a criteria.

MIN(): finds the smallest value of a criteria.

AVG(): finds the average of a criteria.

ROUND(): rounds decimal numbers to a specific integer.

EXAMPLE CODE: 

SELECT* FROM movies WHERE imdb_rating >8;
SELECT * FROM movies
 WHERE name LIKE 'Se_en';
SELECT *FROM movies
 ORDER BY imdb_rating DESC;

SELECT price, ROUND(AVG(downloads),2) FROM fake_apps GROUP BY price;

JOIN:

JOIN: creates a common column between two tables which joins the data set together (ex: id_actormovie JOIN ID_Actor)

ON: states the parameter of the join.

Inner Join: joins entries when a join criteria is met.

Left Join: Combines two tables together side by side and provides a NULL value when the join parameters are not met.

AS: When joining a table this allows columns of the joined table to be renamed without affecting the original unjoined tables.

EXAMPLE CODE: 

SELECT
albums.name AS 'Album', albums.year, artists.name AS 'Artist'
 FROM albums JOIN artists ON albums.artist_id = artists.id WHERE albums.year >1990

28
Jun 12

The Next Big Tech Battle: It’s Not About Single Devices Anymore

This week Google had its big I/O conference where it announced many of the new products it has coming out in the next few months. Two of the big surprises of the conference were the Nexus 7 ( a 7 inch tablet) and the  Nexus Q ( a cloud powered television media system). Most puzzling is that these products don’t particularly add anything to the Google’s core competency which is selling advertising but digging deeper you’ll see that this is part of a larger play to stay in the game against two other big rivals.

Android, IOS and soon Windows 8. What do they all have in common? Initially they were all platforms (or in Microsoft’s case based off a platform) for mobile phones that have since expanded into tablets and now television set top boxes. All three firms are making pretty heavy investments into products that most likely do not have high profit margins.  But in addition to this, products along all three of these company sets will be connected to a central content system where users can buy apps, video, audio and image (books/magazines) based content.

Ah ha! So essentially what the plan for these three is owning the media distribution system and making profit off of any royalties generated from the sale of media content. Where previously the war was over which computer operating system a person used or their search engine now the fight is over where they consume their content from. With content moving away from traditional sources such as cable providers, book stores and news-stands, being able to own an ecosystem that allows people to purchase media where ever they are is a big move with potential for a lot of profit.

Where will things go from here? So far Apple has the strongest foothold with iTunes entrenched as the first to launch. Can Microsoft and Google catch up being later into the game? Absolutely! Microsoft has the advantage of being a leader in the console gaming market which places them in a strong competitive position to Apple TV. As for Google, they are currently # 2 in the smartphone market using an open system where as long as it’s an Android powered device it will work with Google’s content distribution systems.  The big marketing move for all these players will be to get consumers to purchase into their whole line of products making them the primary content provider.

It will definitely be interesting to see where things go for these three firms and how competitive factors will come into play. Will cable providers and the big studios choose sides like in the fight for Blu-Ray vs. HD-DVD? Or will they  move to limit things all together? What will happen to single device manufacturing firms such as RIM ? With the technology industry moving so fast the next year or two will be ones to watch to see where the cards land.


29
Jun 11

AMD moves beyond speed with new APU processors:

Computer processing speeds are becoming a less important factor in computing. With our increasing dependency on web based applications and the introduction of multi-core processing, having more speed is nice but on average probably isn’t fully utilized by consumers. Yesterday I attended the Canadian launch event for AMD’s new Fusion APU (Accelerated Processing Unit) chip which directly acknowledges this trend by instead taking stab at a better graphics experience with an integrated graphics core.

Previously if you wanted solid graphics for your computer or laptop you would need to ante up some additional money for a dedicated or what’s also known as a discrete graphics card. While current processors often contain integrated graphics it would share memory resources with the processor making it much less effective. Through AMD’s APU which has an integrated processor and dedicated graphics chip all in one this situation is changed. Requiring less components and having a smaller profile allows for the creation of a (potentially) more effective machine.

Getting a view of what this technology is already capable of through AMD’s APU line I feel there is room for additional potential, the potential of things getting even smaller. Currently netbooks and tablets are underserviced when it comes to graphics capability and end up doing just basic tasks. With the opportunity of putting in a smaller APU chip, these devices can have further capabilities. While at the launch I was able to see netbooks and tablets with this new integrated chip (being able to game on a netbook rawk!), going furtherI can definitely see the potential for even smaller devices. My thinking was, what if this chip could be  adapted for today’s smartphones and visual display devices? How much better could our graphical experiences be?

With computing the way it is currently you can only get so far by focusing on creating simply a faster chip. While in the past I may have overlooked AMD, I definitely feel that it’s great that they are thinking beyond focusing on chip speed and are considering instead how they can make the experience better. A big sales push for this line of APU chips will be occurring this summer and into the fall. We’ll have to see how this new product performs against its rivals.

 

As always feel free to contact me at either @kevrichard on twitter or kevin@kevrichard.com

 


12
Apr 09

MeshU 2009

So I had an insanely busy past few weeks, and this last one was pretty much the end of it. Big highlight was taking in MeshU 2009 at the MaRs Discovery District this past Monday. After attending Refresh Events on March 23rd ( watch out for these events, they fill up insanely fast!)  I won a ticket to attend MeshU (thanks!).  The first convention I attended in 2009 , I walked away with some great learning and experience. Although there were 3 streams (Design,Programing, Management) as a marketer I’m more experienced in the organizational portions of business so I opted to stick with the management stream for the day. Here is a brief run down of all the sessions I attended and a few of the key learning points I gained:Mesh U

1. Finding and Keeping Startup People, Daniel Debow (Rypple) :

For anyone not involved in HR the first knee jerk reaction to this is to zone out, but the key insight from this session  is in a start up EVERYONE needs to be involved in getting great people on board. Looking at my notebook I have a lot of little points written down but the key things are that everyone should be actively seeking great people to bring into the organization ( the idea that great people bring more great people) and that firms should build a company culture where people will want to be ‘friends’ with the company. Through this they may take an active role in seeing how the company is progressing and eventually feel passionate about signing on with them if asked.

As well, getting great people doesn’t happen overnight. The process needs to be as transparent as possible clearly stating the risks of joining the company. In the end both you and the candidate are investing a lot into this relationship and it needs to be developed not smashed together.

2. Selling Agile Development , Dominic Bortulussi (The Working Group):

For someone who isn’t a web developer/programmer I had a bit of difficult time getting my head around this but by applying the topic in a more general business/client sense it became a lot more understandable. To think about a regular client/business relationship you have one side who has a task that needs to be done and specifies a price that they are willing to pay. Then on the other side there is a company who approaches the  client and provides the service for them.Very simple. But thinking deeper its not.

Like all things in life not all projects go out with out experiencing problems or delays.There can also be the case where a client suddenly wants additional specifications added. Very often either the company or the client suffers having to take a loss on the project or not getting everything they wanted.  That’s where the flexible project practice the “Target/Scope Model” comes in:

  • The client sits down with the company to determine a set price and key project needs. Additional optional features are discussed and priced out.
  • As the project continues the client removes and adds scope to the project  depending on how ahead/behind progress the project is.
  • Any scope added/removed from the project is discounted at 50% of the price ( ex: a new feature is added because the project is running ahead of schedule, an optional feature is added for half its price)

There are some criticisms in terms of it being very meeting heavy (between 15%-30% of the project is spent in client/provider meetings) but especially in the consulting field the idea of flexible pricing and  having a project be more realistic to the needs of both the client and producer is a really interesting idea.

For more info check out the powerpoint from the presentation

http://docs.google.com/Present?docid=dn7623p_7pdc5b7cd

3.Lessons learned: How I founded, bootstrapped, grew and sold my web startup,Carl Mercier ( Defensio) :

Very often startups feel that they can’t survive without having venture capital funding. Attending this session I learned that you can go it on your own and perhaps be even more likely to walk away profitable. Rather than having an investor who will have first go at your profits you control the revenues and can sell at lower thresholds in comparison.

In part Carl Mercier spoke about having an effective marketing plan (Digg doesn’t work!) and a strong business strategy from the start(neither does an advertising revenue model!). Compared to a funded start up,  a bootstrapped start up needs to be making money fast and  must also do away with all of the niceties they could have had being funded (must have  cheaper offices, used equipment, less flash). Important to all companies but especially to bootstrapped startups is the connection the firm has with their customers especially the early adopters.  These are the people who will be selling your company to their friends,family and everyone else around them. Treat them right!

4.Segmentation, Positioning and Storytelling: How a Smart Market Strategy Can Drive Growth, April Dunford ( Rocket Launch Marketing)

As someone studying marketing I was really excited for this session, and I wasn’t disappointed. While there was a lot of no brainer marketing things (for me anyways) like segmenting your market (you can’t target everyone!)  there were some good points made in terms of selling your company/product:

  • Creating a strong value proposition: Tell up front why your customer should buy your product and what makes you different from your competition ( customers don’t want to think!)
  • Create a personal story of your company to tell to customers, it builds a stronger connection and is more effective than listing off facts. They come in 3 forms: Customer Success ( how has the product/service positively affected a customers business) , Competitive Win ( how did you one up your competitor) and Company creation ( such as how Youtube was supposedly started in someones garage *Wrong*) .
  • Communications is VERY important. For whatever initiative you do be it a website, using social media , all the way down to your corporate culture , companies need to have a clear and targeted message. Don’t make it too formal or generic , every piece of messaging should be targeted towards the customer and leave an impression. Another key to this is to remain consistent, everyone should be on board saying the exact same thing even when it may seem repetitive as this is how your company is being portrayed to the public.

5. Boiling the frog: how to get everyone else as excited about your idea as you are, Jason Oke

( Juniper Park) :

I think this presentation complimented well with April Dunford’s presentation.  This presentation furthered the idea of effectively communicating yourself to clients. Lets face it when faced with change most people try to resist it ( interesting enough I learned from this presentation that the ipod was at first rejected)   but by being passionate and targeted with your presentations you can defeat objections and win over people.

Again the idea of telling a story was presented. People need to be sold on the process as well as the product. Often times we are too modest or self defeating of ourselves , we need to stop this as sometimes we can actually kill good ideas. While a strong business case is always important, demonstrating your passion to others and how this came about is  important as well. Jason Oke presented the idea of going beyond the old powerpoint or boring report for the idea of being  multimodal : present some of the tools or inspirations that your team worked off of, bring in a customer to use and demonstrate this product and tell your customer what they think, or go a completely different route  and give them something like  a book  describing the story of your product. To get your customer on board you need to make them part of the process, allow them to give input and take an active part of your presentation  so they feel a stronger connection with your company and what you’re trying to sell!

Have any Questions/Comments? Contact me at kevin.richard@ryerson.ca or send me a twitter message.