DBPedias

Your Database Knowledge Community

Jason Strate

  1. No Caps for SQL Saturday : Speaker Edition

    A few weeks back, I got into a conversation about whether PASS should put the boot down on events and prevent people from doing what some view as “bad” things.  Unfortunately, I hadn’t realized that this had turned into such a controversy until I received a DM the other day regarding the number SQL Saturday submissions I was putting through for the events that I submit to.

    After a bit of digging around, I recalled seeing some posts in this general arena in the last few weeks and then one from yesterday (which I read this afternoon):

    I considered responding in comments, but thought a post was more in order since I got a little long winded on all of this.  There seem to be three things that some speakers are doing that have been upsetting others in the community; double-booking, over-submitting, and canceling.

    Double-booking

    First, there is double-booking.  With just my rudimentary understanding of physics, I get that this is a problem.  There are practical issues with attempting to be in two places that are hundreds of miles away from each other.  The organizers should not have to try and determine if someone is double-booked before working on the event schedule.

    Over-submitting

    Next, though, is over-submitting; what is too much?  For some, anywhere between three and four is acceptable.  For others, you should only submit the sessions that you yourself would want to present in the day – so if you only want one session, then only submit one session.  There are two general reasons for these caps – no one can give more than X number of good quality sessions, and over-submitting overwhelms the event organizers.  On both of these, I cry foul.

    Many speakers have a large depth of information and knowledge that they pull from. Many can get up and speak on a random topic at will.  If a speaker can talk for an hour at an expert level on four topics, couldn’t they also speak at an intermediate level on those topics (or even an introductory level.  Using that example, there are potentially sixteen topics that the speaker can likely provide a quality presentation on.  Then, there are the speakers who that have one or two pre-cons in their library.  The content of a single pre-con could easily be considered equal to that of three or four sessions, is that speaker then only limited to that content being good quality?

    On, the other side of the hand, is the idea that event organizers are somehow overwhelmed by having more than three or four submissions by each presenter.  Wouldn’t that also mean that there is some max cap to the number of submissions that an event can have before they are overwhelmed by the event itself.  If there are 100 submissions, and I submit 4 or 8 of them, wouldn’t the organizers be equally overwhelmed?

    I’ve had my hand at selecting SQL Saturday and PASS Summit sessions.  It’s hard work, and it can be hard to juggle around getting the right mix of sessions and speakers.  But from that experience, I want to see more sessions from speakers rather than fewer.  I had one time where I was accused of participating in blacklisting a speaker because the only sessions that had been submitted conflicted with higher rated sessions that were already approved, and the allocation for that topic had been used up.  We wanted the speaker, but there were no options on the board to accommodate the speaker.

    One suggestion for a lack of sessions during planning, is for the organizers to reach out to the speaker and ask for more submissions.  True, we could have let the speaker know that all of their submissions conflicted with existing topics, but how fair is that to other submissions?  Also, that type of communication adds work to the scheduling process that shouldn’t be necessary.  There are due dates for getting SQL Saturday sessions posted and approved.  When the organizers are likely working on the schedule at 2 AM, should they have the additional burden of chasing down new topics from presenters?

    Maybe, though, the presenters could ask what sessions the event needs, and only submit for those.  In reality, though, how is this fair?  If I ask, and am told they want an index internals sessions, I could submit that.  But if Jeremiah Peschka (Blog | twitter) or Kevin Kline (Blog | @kekline) then submits a similar session, which do they choose?  I’d choose either of their sessions over mine, but since I reached out do I get preference for asking ahead of time?  If not, then is it up to the organizer to reach out again and ask me to submit a new topic?

    Now, people could wait until the last day of the call for presenters to see what has been submitted and then fill in the gaps.  This doesn’t help the organizers, though.  If most of the speakers wait until the end, how do the organizers begin to determine if they have the right mix of sessions?  In my experience, I always started putting together the potential schedule as sessions came in to see what there was and what was needed.  Then we knew what to chase down and which trees to shake.

    One of my favorite times I got to schedule a speaker for a SQL Saturday was when one speaker sent me a PDF with more than twenty sessions in it and asked me to tell them what we wanted and needed.  It was great – there wasn’t a sense of being overwhelmed – instead, I was relieved that I had a speaker I could fit in how ever was needed without having to go back and forth trying to balance out their submissions with others.

    Cancelations

    When it comes to canceling, this stuff happens.  Of course, people should cancel as soon as they know they aren’t going to be able to attend.  In my experience, the only people that I’ve had cancel is those who’ve gotten caught up with an end of the quarter sales commitment or been hit by a car while cycling.  I assumed that there reasons were valid and that they were planning to be there until they had cancelled.  The solution for this was simple, we asked a few people that had submitted more than a one session to fill the gap.

    I will admit that I did cancel a session earlier this year.  A few weeks before the Madison SQL Saturday, I realized that the second session that I had been slotted for would not be ready.  I could have put something together that wasn’t what the sessions was supposed to be, but felt it would be better to have a good quality session as opposed to something I was winging.  I had simply run out of time while trying to wrap up my book.  I made the call about the same time that I looked at April and realized that I was screwed and something had to give.

    In retrospect, I’m not sure that this is the same type of cancellation that people are upset with.  Honestly, I haven’t encountered anyone that canceled because they had somewhere better to go.

    Local Events

    When I think of some of the conversations regarding having PASS get involved in managing speakers for SQL Saturday events, I get the feeling that there is a push to make PASS take on more of the responsibility and control for SQL Saturdays.  Isn’t the intent of these events, though, to be local with local speakers having the opportunity to gain exposure? 

    Right now the way the process works, the organizers call for speakers.  Potential speakers submit their sessions, hoping to get the right mix of topics that the event will call for.  When the call closes, the organizers select the presenters that they want and it just works.  Organizers have complete discretion to approve or decline any session or presenter that they see fit. 

    I don’t see anything broken here.  Sure, some events might get a large number of submissions, but is this not a good thing.  If a national speaker isn’t selected it isn’t a slight on that presenter, its probably a good sign that the local community can support an event that caters to their attendees.

    On the upside, if this is the stuff that we are getting all bent out of shape over, then I guess the state of PASS and SQL Saturday’s is pretty darn great.  And if it really matters, say the word and I’ll start withdrawing sessions to make life just as easy and difficult for organizers.

    Related posts:

    1. SQL Saturday 58 Schedule Released
    2. SQL Saturday 98 Follow-Up
    3. A Bit of a SQL Saturday 99 Update…
  2. “Thou Shall Not Shrink the Database” #TSQL2sDay

    This month, Chris Shaw (Blog | @sqlshaw)  is leading the charge on the T-SQL Tuesday.  This event is basically a blogging party where a number of us in the SQL Server community gets together to discuss a central topic.  The topic that was chosen for this month was ethics.  And more specifically:

    Should we have an ethics statement?

    To get an answer out there right away, I do not think the should have an ethics statement.  In fact, I probably would not participate in an industry-wide code of ethics if one were proposed and adopted.  There are a number of reasons for my position; which the rest of the post will delve into.

    Ethics Statement Purpose

    The first issue is the purpose for the ethics statement.  When I developed an ethics statement in college, the point was to define what I valued and how I incorporated that into my life.  As such, it stated who I was or perceived myself to be.  It did include some values that I strived to achieve but these were driven by my values, as well.

    When it comes to a larger ethics statement that many people prescribe to, the intent changes. The initial purpose will be to define how we, as DBAs, want to interact with the data and people that we encounter in our profession, it will invariably include text meant to change behavior.  In this way, ethics statements become more of a tool for social engineering that laying out the difference between right and wrong.  The Code of Ethics that Chris talks about in his post is a clear example of attempting to change behaviors. 

    Can we honestly agree with the following?

    “I will adhere to Industry Best Practices (IBP) for
    system design, rollout, hardening and testing.”

    Now, I don’t know what the IBPs are but will assume that they are something similar to the Kimball methodology for data warehouse design.  Can you really say that deviating from a best practice is unethical?  It might be stupid, but not unethical.  And time and time again, I suggest to people that they challenge long held beliefs, or best practices, because they may no longer be applicable to the scenario or the current situation.

    Ethics Statement Interpretation

    Now suppose we were able to agree to a small, but meaningful, ethics statement.  For brevity, let’s pretend that we followed doctors and had to following code of ethics:

    “First, do no harm”

    At first glance, this looks like an easy statement to follow.  But think about it for a moment.  Does the statement define what harm is?  How would you define doing “harm” to a database?

    Backing up a database doesn’t harm a database.  It actually is designed to resolve the result of harm on a database.  What about on very busy servers?  If I run full backups continuously, is that harm?  Likely, it would be causing harm, but at what point is the impact on the server, not harming the environment?  If just a single backup causes waits, is that then harm to the database?

    Now consider this same argument when looking at defragmentation.  Or an insert into a table that always results in fragmentation.  While these scenarios are ridiculous, I am sure we have all had a manager at some point where these types of disagreements are common place.

    The more simple the ethics statement, the more likely that there will be room for miss interpretation.  But then the more verbose it is, the more likely you get into the issue from above with ethics being tied to behaviors and not values.

    Ethics Statement Enforcement

    Lastly, if we get through the first two areas, we are left with the need to enforce the code of ethics.  Would a code of ethics be enforced by your employer or the SQL Server community?

    If enforced by your employer, how do you decide between your manager (the enforcer) deciding when you’ve violated the code of ethics or when the same manager asks you to violate the code of ethics.  Which do you choose?  Your manager, and employer, do not have an objective position to judge whether you followed an industry standard ethics statement. Their own values and needs will override the ethics statement in the pursuits of the organizations goals.

    We would then want to have an external organization, such as PASS, be the judge of ethics within our community.  While the organization may or may not be PASS, it would be PASS-like.  Now using an outside organization, a number of questions would open up.  Such as:

      • Who would write the ethics statement?
      • Who would judge whether someone violated the code of ethics? 
      • What would the punishment be for violating the ethics statement?
      • How would complaints be lodged? 
      • Would some complainers have more merit than others?
      • Are we prepared to kick people out of the organization and name them on a blacklist?

    That last one is the kicker.  If we would really want to implement a code of ethics, we need a way to identify people that knowingly do not follow it.  I’m not sure that I’m prepared to start blacklisting or flagging DBAs that don’t follow best practices that I prescribe to.  Everyone on occasion has a lapse in their ethical stance (see my blog for more on this tomorrow), but how and when do we decide that it is too much? 

    Summary

    Ethics statements are best when derived from a person perspective.  They state your values and how others can expect you to act.  As others join in and a code of ethics is applied to a group, the likelihood increases that ethics statement represents not the values of the individuals but the behaviors desired by the group.  There are a lot of complicated issues involved in having industry-wide ethics statements.  I’ll admit, I’m not providing a solution, just pointing out the problems that would be entailed.  For now, I rather solve performance issues with clients, rather than wrestle with ethical debates.

    Related posts:

    1. Database Edition msdb Sample Database Projects
    2. Why are DBA skills necessary? #TSQL2sDay
    3. T-SQL Tuesday #025 – Share Your Tricks #TSQL2sDay
  3. Can You Dig It? – Determining Index Usage

    Follow the rest of this series at the Can You Dig It? – Plan Cache series introduction post.

    3295969599_eb16a58118_m1
    She can dig it!
    D Sharon Pruitt

    A while back I was asked, if you can use the plan cache to determine which plans are using specific indexes.  The answer is, of course, yes, you can.  And it’s important that people, especially DBAs, understand how to do this.  Usually during index analysis, we concern ourselves with whether an index is being used.  If it isn’t used, it becomes a candidate for removal.  After a few months of monitoring index usage, you are often safe to remove indexes that never get used.

    But what about the indexes that are used infrequently?  What if an index is only used once a day or once a week.  Is it worth the resources for maintaining the index and the storage space dedicated to the index?  Frequency of use is only one measurement of the value of an index.  To get the whole picture, you need to know what the index is doing when it is being used.  In other words, what business process is the index supporting and how will that process function without the index in place.

    Since we know the tables in our databases, we often have a good idea how tables are used.  But we don’t really know how the indexes are being used.  To allow us to continue to be able to drop indexes, we need to be able to demonstrate where infrequently used indexes are being used and detail what dropping the index will affect.  While this information is not stored as a set of statistics in dynamic management objects (DMOs), it can be retrieved by querying the SHOWPLAN XML available in sys.dm_exec_query_plan.

    Index Usage Setup

    Before we can begin with demonstrating this query, we’ll first setup a scenario that uses the index PK_SalesOrderHeader_SalesOrderID in a few queries.  The first two queries select individual orders from the Sales.SalesOrderHeader table and the last returns all records from the table.  The purpose of the variations of SELECT statements is to also demonstration how eve similar queries can generate different plans.

    
    USE AdventureWorks2012
    GO
    
    SELECT * FROM Sales.SalesOrderHeader
    WHERE SalesOrderID = 10000
    
    SELECT * FROM Sales.SalesOrderHeader
    WHERE SalesOrderID = 51531
    
    SELECT * FROM Sales.SalesOrderHeader
    

    Index Usage Query

    When querying sys.dm_exec_query_plan, the query_plan column provides an XML representation of the execution plan in the SHOWPLAN XML format.  As noted in previous posts, in this series, there is a lot of great information in execution plans that can be used to performance tune and troubleshoot your servers.

    In this example, we are interested in plans that are using PK_SalesOrderHeader_SalesOrderID.  This can be found in the Object element under the StmtSimple XML element.  There are a number of attributes in the Object element.  The one we are interested in today is the Index attribute.  This attribute is quite literally the index that the execution plan is using to satisfy the query request.  By leveraging the exist XQuery function, we can quickly identify any execution plans that are using this particular index.

    
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    GO
    
    DECLARE @IndexName sysname = 'PK_SalesOrderHeader_SalesOrderID';
    SET @IndexName = QUOTENAME(@IndexName,'[');
    
    WITH XMLNAMESPACES (DEFAULT 'http://schemas.microsoft.com/sqlserver/2004/07/showplan')
    ,IndexSearch
    AS (
    SELECT qp.query_plan
    ,cp.usecounts
    ,ix.query('.') AS StmtSimple
    FROM sys.dm_exec_cached_plans cp
    OUTER APPLY sys.dm_exec_query_plan(cp.plan_handle) qp
    CROSS APPLY qp.query_plan.nodes('//StmtSimple') AS p(ix)
    WHERE query_plan.exist('//Object[@Index = sql:variable("@IndexName")]') = 1
    )
    SELECT StmtSimple.value('StmtSimple[1]/@StatementText', 'VARCHAR(4000)') AS sql_text
    ,ixs.usecounts
    ,obj.value('@Database','sysname') AS database_name
    ,obj.value('@Schema','sysname') AS schema_name
    ,obj.value('@Table','sysname') AS table_name
    ,obj.value('@Index','sysname') AS index_name
    ,ixs.query_plan
    FROM IndexSearch ixs
    CROSS APPLY StmtSimple.nodes('//Object') AS o(obj)
    WHERE obj.exist('//Object[@Index = sql:variable("@IndexName")]') = 1
    

    As you can can see in the results, the output returns all of the queries that used the index from the demonstration script.  Each appeared twice, since I ran the demo script twice as well.  One bit of interest, the first two queries, while identical except for the value used in the predicate, resulted in two separate plans.  The first plan uses the variable that is a smallint and the second uses an int.  This is a situation where parameterizing the plans may prevent plan cache bloating.

    Index Usage Wrap-Up

    As was mentioned in the introduction, it is important to know the true value of an index before you make plans to drop it.  Just because the index is infrequently used doesn’t mean that the index isn’t used in critical processes.  I recall past situations where the elimination of an index used once a day increased import times from minutes to hours.  When you need to use this in your environment, simply change the value for the parameter in the script and dig into you plan cache.

    Do you see a use for doing this in your environment?  Or do you remember a time that you could have used a query like this?

    Related posts:

    1. Index Black Ops Part 3 – Index Usage
    2. Can You Dig It? – Researching Index Scans
    3. Index Those Foreign Keys
  4. April 2012 – Monthly SQL Server Checklist

    4439276478_8bb7a50ab8_mAnother month goes by and it’s time again to ask… are your SQL Servers healthy?  Have they been properly configured?  Is your SQL Server patching up to date?

    You should know.  And if you don’t you should make it your business to find out.  At the end of the day, regardless of what the business wants out of their applications and the silly requests that may sometimes come from that, we are responsible for our data platforms.  It’s important that we take the time to make sure thinks are running smooth.

    Not too many changes this month, just a couple cumulative updates for the service packs on SQL Server 2008.

    Monthly Checklist

    1. Backup Validation: Check everything involved in the backup process.  Are your backups executing as desired?  Are the monitoring jobs properly alerting to failures?  Have their been any unexpected failures?  Have backup duration times changed?
    2. Recovery Validation: Is everything for your recovery collected and being backed up?  Have you practiced restoring at least one of your SQL Server databases from production in the last month?
    3. SQL Server Updates: Is your SQL Server environment up-to-date?  Check each of your instances and review the most recent releases of SQL Server.  Make a plan to determine when the most recent updates will be applied.  Also, be aware that support for SQL Server releases do end at some point.  Support for the version of SQL Server that you are currently using may no longer be supported.
    4. Windows Server: As important as maintain the SQL Server environment, if the operating system is not up to date, then
    5. Server Health: Check the performance statistics for your server(s).  Were there any unexpected items in your event log?  How does everything compare to the last baseline?
    6. Database Health:Check the performance statistics for your database(s). Were there any unexpected items in your SQL Server logs?
      1. Check wait stats.
      2. Analyze your indexes (via IndexAnalysis)
    7. Check Baselines: Are there any variances on the performance counters off of the baseline?  Is the baseline still valid?
    8. Validate Capacity Plan: If you have a capacity plan in place for your environment, check to see that what you had planned for June matches the actuals.  Any threshold violations that may require adding capacity?
    9. Status Report: What do you need to get done before next month?  What did you get done this month?  After the other tasks, write this all down and send it to your manager.

    Something Missing?

    Is there something missing in this list that you think should be included?  Leave a comment and I’ll add it in for next month.  I’ll follow-up next month on the first Monday of the month and we’ll see how everyone that reads this is doing.

    As an aisde, the book I’ve been working on is nearly complete and I should finally have time to start blogging about each of the subject areas above.  It’s taken some time, but this was meant to be more than just a list of things to do.

    Related posts:

    1. January 2012 – Monthly SQL Server Checklist
    2. February 2012 – Monthly SQL Server Checklist
    3. March 2012 – Monthly SQL Server Checklist
  5. SQLCLR: Good? Or Evil? #MemeMonday

    2012-04-010Is SQLCLR good or evil?  Thomas LaRock (Blog | @SQLRockstar) is asking that question this month in his #MemeMonday blog party.

    Let’s start with a different question.  Is jagermeister good or evil?  If you’ve been to SQLKaraoke at the PASS Summit then you would definitely say that it is good.  But is the answer the same the next morning, during the key note?  As a consultant, the only answer I can offer is “it depends”.  It depends on whether or not there was any jager still available at the bar at the end of the night.

    SQLCLR is Jager

    SQLCLR is much like jager.  Given the right situation and proper moderation, it is exactly what you need.  The uses are limited, but so are the uses for nearly every feature in SQL Server.  It isn’t appropriate to use Log Shipping for a reporting database.  And it isn’t appropriate to use columnstore indexes on OLTP tables.  You can do all of these things, but you won’t see the benefit of the feature that you would in its proper application.

    Where is the proper application of SQLCLR?  There are two use cases that I most often point DBAs when considering CLR.

    File System Interaction

    The first is when you need to interact with the file system and you want to avoid using xp_cmdshell.  With xp_cmdshell, you can access the operating system and build scripts that can manage files as you need.  The downside to using xp_cmdshell is that there are no controls to limit what xp_cmdshell can be used for.  SQLCLR fixes this problem.

    Through SQLCLR, you can control what file system actions can be used.  They can be constrained to specific users and the formats for them configured in ways that you can use to interact with other database objects through T-SQL.  In the end, all of this can be done without giving away the keys to securing the SQL Server to everyone.

    To try out this example of using SQLCLR, check out FileSystemHelper SQL Server CLR.

    String Manipulations

    The second is situation is where there are string modifications that need to be done where doing those would be overly cumbersome with native T-SQL.  Imagine receiving a large XML document, like blocked processor deadlock report, how much effort would it take to reformat the XML document to an e-mail that is easy to digest.

    The SQL statement would require multiple nested XQuery, string concatenation, and html tags to get the formatting proper.  In the end, the statements are likely to be fragile and difficult to manage.  Instead, consider using an XLST document to format the XML document into a properly formatted HTML document for the e-mail.  Instead of managing a complicated concatenation calculation, you’ll have an XLST that be managed as a template versus code in the database.

    To try out this example of using SQLCLR, check out StringHelper SQL Server CLR.

    Summary

    Hopefully, these two examples were useful.  It is important to know that SQLCLR can’t be good or evil.  It just is.  How you use it or how the people in your environment is what determines the good or the bad.

    Related posts:

    1. December #MemeMonday
    2. Is This Cluster Good Enough?
    3. FileSystemHelper SQL Server CLR – Codeplex
  6. April #Meme15 Assignment

    Logo for meme15

    Before the advent of the modern “Social Network”, many of us were already connected through tools that had much less immediate gratification.  We used websites, e-mails, forums, and blogs.  As social networks have grown, these older tools have only become more important, versus less important.  Many social networks get us to information that we need; where the information is still found in websites, forums, and blogs.  This month we’ll be focusing on how blogs and, more specifically, the blogs that we follow.

    Before getting to the full assignment, let’s go over the details of this writing idea.  There are a few guidelines:

    • Answer the question(s) with as much or as little detail as you wish.  Try to stay true to the heart of the question, but answering where it connects to you.
    • Watch for the new assignment about 8th, or the Monday after the 8th if it falls on a weekend.
    • Post your answer on the 15th, or the Monday after the 15th if it falls on a weekend.
    • Include the #meme15 logo your post (courtesy of Matt Velic (Blog | @mvelic))
    • Comment on the assignment blog post, which seems more reliable, or trackback to it.

    #Meme15 Assignment #5

    As mentioned above, the fourth writing assignment for #meme15 will be on blogs that we follow.  The post should answer the following:

    • What are ten blogs that you think other SQL Server professionals should be following but might not be?

    Pay attention that this isn’t the top ten blogs.  This is ten blogs that people should follow.  Think of that guy that blogs every blue moon but has amazing information.  The corporate blogger that helps people be better professionals.  Go off the beaten path and share your gems.

    Other SQL Community Memes

    If you aren’t already participating, there are already a few going on in the community #TSQLTuesday, #MemeMonday, and Un-SQL Friday.  Watch for those for opportunities to blog without having to come up with your own topic.  Beyond having a easy topic choice, they also provide a window for more people to see what you have to say.

    In fact, #mememonday is today and the question is SQLCLR: Good? Or Evil?.

    Related posts:

    1. January #Meme15 Assignment
    2. February #Meme15 Assignment
    3. March #Meme15 Assignment
  7. Re-blog – March 23 – March 29

    BookWelcome to the Friday Re-Blog summary post.  The aim of these posts is to bring some old posts that newer readers may not have had a chance to see.  Also a chance to bring back to the forefront posts that some may have seen but forgot about.

    If you have some free time or interest, check out the links below from years past to see what you may have missed.  The posts to check out this week are:

    Enjoy.

    Related posts:

    1. Re-blog – March 2 – March 8
    2. Re-blog – March 9 – March 15
    3. Re-blog – March 16 – March 22
  8. Re-blog – March 9 – March 15

    BookWelcome to the Friday Re-Blog summary post.  The aim of these posts is to bring some old posts that newer readers may not have had a chance to see.  Also a chance to bring back to the forefront posts that some may have seen but forgot about.

    If you have some free time or interest, check out the links below from years past to see what you may have missed.  The posts to check out this week are:

    Enjoy.

    Related posts:

    1. Re-blog – March 2 – March 8
    2. Re-blog – February 24 – March 1
    3. Re-blog – January 13 – January 19
  9. March #Meme15 – Facebook

    Logo for meme15It’s the early morning of the 16th, and time to write my #meme15 post.  Remember, these are due on or around the 15th.  I’m again exercising my right to write late and if you haven’t joined in, now’s a good time to to it as well.  The question for this month is:

    How do you balance mixing family, friends, peers, and co-workers on Facebook?

    It’s hard these days to find anyone that is not on Facebook.  Most everyone has joined and friends on the platform range from acquaintances in high school to best friends to children, parents, and grandparents to co-workers and peers.  In amongst you Facebook friends will be current and previous and, potentially, future employers.  With all of these different eyes watching your profile, balancing is a matter of deciding what to post?  Along with that, you need to decide who to friend.

    Let’s look at both of these point and start with the later, making friends on Facebook.

    Facebook Friends

    Originally, I joined Facebook when Myspace was at it’s peak and a friends send me a request to join Facebook.  It was a fairly dissolute place at the time so I didn’t think much of it.  Over time, though, co-workers began to friend me, and then some family, followed by people in the community.  In the beginning, I never really took the time to decide who I wanted to be friends with on Facebook.  It was more of something that just happened.

    Now, though, as I’ve thought a lot more about it, I haven’t really changed my philosophy on making friends on Facebook.  If someone wants to get in more contact with me and would like to use Facebook to accomplish that, I am more than willing to make the connection.  I don’t have many restrictions on who I’ll accept a request from and will, on occasion, friend people I notice that have joined Facebook that I already know.

    The only group of people I don’t tend to friend on Facebook is non-relatives under the age of 18.  This is really the area where I think I don’t have any business being connected with this age group. 

    Oh yeah, there’s also the porn stars and role-playing profiles.  I avoid those, as well.  I’m not lonely and don’t need to chat with a 20-something looking photo that probably has a hairy dude behind it.  Same with the people pretending to be Britney Spears or Justin Bieber.  Just a little bit more creepy.

    Facebook Posting

    With the wide swath of people that I have as friends, there are some impacts on how I post.  At any time, I know that a customer, co-worker or friend will read it.  My kids will watch the videos I post (and sometimes call me to tell me how funny they are #truestory) and my parents will look at the pictures.  What this means is that there are times where I will self-censor myself on Facebook.  But this is okay, Facebook is not as private as people pretend it is.  The information that is there is open and available on the internet.  And it will be there for a very long time.

    By keeping everything mixed and showing the same face on Facebook to all my friends, I believe it helps keep me honest.  I need to be the same person online as I am to my kids, or I teach them to be fake.  What friends, family, and peers see is my outward self.  Future clients have an opportunity to see who they will be working with and peers find ways to connect that doesn’t necessarily involve talking about SQL.

    The one problem that sometimes arises is when someone doesn’t want to view something that I post.  But really that isn’t a problem for me, instead it is a problem for the other person and their duty is to change the channel.  They can ignore me, drop the friendship, or fire off a message saying they don’t appreciate the content.  In the end, I’m likely not going to change who I am though, so the first two choices are really the options available.

    Conclusion

    Besides some self-censoring, I don’t think I really do anything to balance myself for the different audiences represented by my Facebook friends.  At the end of the day, Facebook is a hose that spews out most of my social media activity and people can either love it or hate it.

    Related posts:

    1. March #Meme15 Assignment
    2. February #Meme15 – LinkedIn
    3. The #Meme15 On Social Networking
  10. March #Meme15 Assignment

    Logo for meme15This month, the #meme15 post will fall on March 15th, often referred to as the Ides of March.  This date was made most famous by the death Julius Ceasar – or rather is his murder at the hands of his friend Brutus and many others.  In consideration of this theme, let’s look at Facebook.  One of the most widely used social media platforms and one where friends, peers, and clients are often part of your network of friends.

    Before getting to the full assignment, let’s go over the details of this writing idea.  There are a few guidelines:

    • Answer the question(s) with as much or as little detail as you wish.  Try to stay true to the heart of the question, but answering where it connects to you.
    • Watch for the new assignment about 8th, or the Monday after the 8th if it falls on a weekend.
    • Post your answer on the 15th, or the Monday after the 15th if it falls on a weekend.
    • Include the #meme15 logo your post (courtesy of Matt Velic (Blog | @mvelic))
    • Comment on the assignment blog post, which seems more reliable, or trackback to it.

    #Meme15 Assignment #3

    The fourth writing assignment for #meme15 will be on Facebook.  The post should answer the following:

    • How do you balance mixing family, friends, peers, and co-workers on Facebook?

    This week’s post is getting out a bit late, but hopefully we’ll have a few people that participate.

    Other SQL Community Memes

    If you aren’t already participating, there are already a few going on in the community #TSQLTuesday, #MemeMonday, and Un-SQL Friday.  Watch for those for opportunities to blog without having to come up with your own topic.  Beyond having a easy topic choice, they also provide a window for more people to see what you have to say.

    Related posts:

    1. January #Meme15 Assignment
    2. February #Meme15 Assignment
    3. January #Meme15 Round-Up
  1. 1
  2. Next ›
  3. Last »