Overview: This video is part 2 of a 2 part video series that demonstrates how to use PowerShell with SQL Server, using the SSMS built-in mini shell, and using .NET and SMO.
Overview: This video is part 1 of a 2 part video series that goes through powershell basics with demonstrations on how to use powershell with SQL Server.
Training is just one of the many things we do here at Black Ninja. We really do enjoy taking the time out to prepare for and deliver a successful training course. Because of the feedback and interest level, we’re offering one more class before the Christmas break: SQL Server 2005 Transact-SQL Programming.
Who Is This Class For?
This is a fairly introductory course, so anyone who has some relational database background who wants to learn to script and create programmable objects in sql server using transact-sql would be an ideal candidate. Familiarity with programming/scripting languages is good, but not necessary.
Who Will Be Teaching It?
Our SQL Ninja @sqlbelle who has just come back from an awesome week at PASS Summit 2009 and is even more pumped up about SQL Server (if that is even possible) will be running this class.
Donabel runs a very successful blog centered around SQL Server, is a Microsoft Certified Training and has a ton of additional certifications in her tool belt. She loves to teach and is currently running SQL Server Admin and SQL Server Development courses at BCIT.
What Should I Bring?
Nothing! Just yourself, we’ll provide computer access and writing pads.
How Much Does It Cost?
The full 3 day course is offered at $1400 CDN. The class runs from 9:30am to 5pm.
Your Registration Includes
We’ll be sending each student home with a Black Ninja TSHIRT and their own personal, take home copy of THE definite source for SQL Server Transact-SQL Programming
Plenty of fresh coffee and snacks during the week
A comfortable training environment and really friendly staff. We keep the training sizes small for a reason; we want you to get the most out of training!
If you’d like to know more, please contact us and we’d be happy to answer any questions you may have.
A few of the Black Ninja’s will be headed down to various conferences this year to build up a bit more training and product knowledge in our core competency areas. Professional development is something we believe very strongly in and conferences are an important component to that. We’re looking to socialize and meet some of the key folks in our online community. Anyone interested in speaking with us, look for the people dressed in Black Ninja t-shirts!
SharePoint Conferences 2009 – October 19-22
We do a fair bit of SharePoint consulting and custom development, so this conference is really important to us. It’ll be an opportunity to get familiar with the next version of SharePoint and to meet and greet with the various MVP’s and SharePoint consultants in the community. Part of any future infrastructure and development planning around the SharePoint platform will require an intimate knowledge of what’s coming, so that we can better prepare for these projects. That’s our ultimate goal.
SQL Pass 2009 – November 2 – 5
As with any good web application development, database design and development is big piece of that puzzle. Our db ninja, @sqlbelle, will be headed down to SQL Pass this year to learn everything she can about the latest and greatest in the database world. This event is the single biggest gathering of sql professionals and she’s bound to pick up a few gems here and there. If you’re wondering where you can find her while down there, just look for the section with all the books.
Pragmatic Studio Mastering Ruby and Rails – December 1 – 4
Ruby on Rails is one of our favourite languages and frameworks to work with and we’re really excited to be able to send our rails ninja down to this conference. Having already attended RailsConf this year, he’s very excited to be able to take his rails development to the next level. Our own internal product development is done entirely on rails, so having a guru on board makes it that much more easier!
Certifications seemed to be the “it” thing in the late 90s early 2000. Companies would seek after anyone who had certification for a specific product because the perception at the time was that they were difficult to obtain and anyone with one must be an expert in that area.
Now, however, is a totally different story. Certifications are, for the most part, easier to prepare for and pass. Perceptions about their relevance and trust factor have also changed, which begs the question “are these certifications still valuable”?
Before providing my personal take on it, I’d like to go over some of the general pros and cons of getting certified.
Cons
It costs money.
Most certifications will cost $100 USD upwards. In this economy it is hard to justify spending $500-$800 to take 5 exams that will earn you a single vendor certification. In addition to this, prep guides, classes, books, or practice tests also cost an arm and a leg.
If a university or technical institute’s course costs less, and earns you credits towards a diploma, degree or even post-graduate degree, then going for the academic course could be a more lucrative option.
It takes time to prepare.
Unless you are planning to depend solely on braindumps or actual questions posted in various blogs or forums, it can take a lot of time to prepare for the vendor certifications.
You will most likely need to:
Get you development environment setup
Read a few tutorial books to get your concepts all straightened out.
Read a few certification prep books to make sure you cover all the topics that are relevant to the exam you are taking. Note that general tutorial books are different from certification prep books. Certification prep books focus on topics and terminologies that are most likely going to be in the exam, but it may not necessarily point out all the useful, efficient, practical applications of the technology or product you are studying.
Practice – at nights, or weekends, or holidays.
Lather, rinse, repeat.
Expectations of you go up.
Once you get your hard earned certification, and you put that in your resume, expectations of you will go up. If you’re an MCAD, MCSD, MCDBA, MCTS, MCITP, people could come up to you and ask you very specific questions related to your certification. And if you cannot answer, you may get the infamous sigh of disappointment.
Or it might discredit you.
Some employers don’t trust vendor certifications anymore. It is very easy to cheat, and get certified in a technology or product you haven’t even worked with. Case in point, we had an experience with an MXXX (fill in your favorite M acronym); this person was supposed to be a certified web applications developer, but had difficultly with very basic programming concepts, and when put in the position of actually producing some real code, was not able to. It is unfortunate, but there are employers who question your knowledge or competence more if you have the certification. Cannot blame them, but it is unfair to those individuals who genuinely prepared for and passed their exams.
Pros
Extra few letters after your name.
Admit it, it’s flattering to have an extra few letters after your name even if they don’t happen to be MBA, MSc or PhD.
Some companies require it. You can still see job postings that require or want someone who has the vendor certification. So as far as marketability of your resume goes, it does help you in some job postings.
If you don’t have experience in the technology, it gets your foot in the door.
If you are getting started on a specific product or technology, preparing for a certification gets you that good introduction and gets you comfortable working with the product.
If you have experience with the technology, it gives you a good refresher, and updates you on new features.
Technologies change. Products get upgraded. That’s already a fact of (techie) life. Preparing for a certification gets you refreshed on some things you may have forgotten, and updates you on what has changed, improved, or removed from the last few versions of the product/technology. It can also broaden your perspective on what this product/technology can do – there might be a feature or tool that lets you do your routine task better and/or faster. Knowing these tools/alternatives exist can help you make better informed decisions at a later time.
You have to be accountable.
I will put this in the pro side, because proving you rightfully earned your certification can be an exhilarating thing.
Getting a certification does not just mean getting the extra few letters after your name. Part of your clients’ trust will stem from that vendor certification you advertise. Getting your certification should not be the end goal. It should be the start of an ongoing journey to learn more about that product, or technology, and anything that is related to it that helps you do your job better, smarter.
A Personal Perspective
Before I started working with computers and databases, I came from a totally – at that time almost computer-less background. Feeling inadequate, I wanted to play catch up with the professionals in my field, and that’s when I started taking some certifications. Though it was a tiring endeavor reading the cert books night by night, I came to appreciate how useful it was for me to go through the exercises and tutorials. It also made me realize how much I enjoyed working with the product.
For me the value of taking the certifications is not the exam nor the actual certification you get, but the exercise of preparing for the exam. The certification I earned is just the frosting on the cake, but nowhere near as valuable as what I’ve learned preparing for it. It is also very interesting to read all the practice exams – especially as these give you some “real world” problems to solve without going through the “real world” project. As a consultant or as a trainer, I can still remember some of these questions from the certification prep guides, and these sometimes still help me answer some of the questions that either clients or students ask me.
In addition to this, I still get a certain high when I go in, and take my exam, and pass my exam. If I were into sports, this would my adrenaline rush after bungee jumping.
Cases for Certification
Brad McGehee wrote an excellent article Professional Certification for DBAs specifically for DBA Certification.
Warren Wyrostek also wrote an interesting article: Now What? A Case for Certifications, where he compares traditional education and these vendor certifications, and gives a a good case for a vendor-neutral body to oversee vendor certifications, rate those certifications, and accredit those who offer the training leading toward certification.
Conclusion
There is still value in getting certified. It may not be a “must have”, but it definitely is a “nice to have”.
Getting certified in a product/technology, does not make you an expert in that product/technology. It gives you permission to say you read up on it, used it, and retained some of the details to get through an exam.
Is it a disadvantageous thing? No, it shouldn’t be. Is it a good thing? Yes it should be, if you genuinely prepared for it, learned from it, and to some extent made you better.
Post your comments and let us know what you think!
Anyone who has been around us long enough knows that we are huge fans of companies like HashRocket and 37Signals. Not because they’re making tons of money, although that’s an admirable trait, but because of their approach to software development as a whole. These companies above all else, pride themselves on excellence, and in our line of work, that’s something to strive for.
Obie recently wrote an article that caught our attention, 10 Reasons Pair Programming Is Not For the Masses and I wanted to comment on a few of the points that he makes. We’ve considered this approach here at Black Ninja and we’ve even gone as far as trying it out for specific projects, but we haven’t committed ourselves the way HashRocket has (its probably safe to say that not many companies have). It definitely has its advantages for development, more specifically by increasing productivity and reducing the output of poor quality code and we can see the value in it.
10. Most software managers don’t want to invest in the necessary hardware
This is a good point with a great ‘gentle rebuttal’ by Brian Guthrie that you can check out here. I think a balance needs to be had, between getting the best tool for the job and not spending $5000 on a developer workstation. There are many contributing factors, but the bottom line is this: most software development shops don’t really take the time to understand the toolset that’s needed by a developer to really be efficient at what they do. That’s the core of what Obie is getting at. Here at Black Ninja we recognize that performance, space and comfort are important to us and we do our best to keep on top of that. While we still have some work to do to get where we’d like to be in terms of hardware and infrastructure, our current setup looks like this:
We all have 24″ iMacs, Razer DeathAdder gaming mice, Wrath of the Lich King mouse pads, (made by SteelSeries – their mouse pad product line is the best out there!), mac keyboards, comfortable desks, mesh chairs and a 4 shelf Red bookshelf for our geeky computer books. Each workstation is also equipped with a whiteboard for jotting ideas down, and we encourage our employees to decorate their space with whatever motivates them most.
I’m in total agreement with Obie, nothing is more frustrating for a developer than working in an environment where decent hardware is difficult to justify. It it makes sense for our business and helps improve our productivity, then it becomes a part of our work life. This also extends into the toolsets we use to get the work done. This ranges from things like Pivotal Tracker to Freshbooks, you can read the entire list here.
6. Most software people don’t understand pair productivity
I think this is a fair statement and one that holds true for a great number of software shops. As Obie outlines, it’s easy to equate two people doing a single task as half the work done, but in realty, it’s a lot more productive and the quality of code is a lot better. The difficulty in our mind comes down to what Obie describes as wasted time:
To the average programmer, having to pair full-time means they won’t get to waste time during the day on Reddit or Hacker News.
I’m not sure if keeping up to date on current trends should be considered a waste of time, as long as it’s not taking up the majority of one’s day. There is real value in following a few blogs and reading up on what your twitter followers are talking about. My twitter account specifically contains no personal content but rather, a well thought out range of people that tweet about SharePoint including MVP’s and other consultants that are in the same line of work. The same holds true for everyone here at Black Ninja. I find it intriguing that HashRocket can keep their employees productive all day, every day, without interruption but I also recognize that their business model is slightly different than ours. I think as Black Ninja evolves this is definitely something we’d like to try. Our commitment to excellence will always be our bottom line and if pair programming helps us get there, then it’s definitely something to consider carefully.
A huge thanks to Obie for taking the time to outline how things work at HaskRocket!
Recently we’ve had to create a UI that has a datepicker, and the date that a user selects should determine what values get populated in an ASP.NET dropdown.
Here’s how we did it
We’ve listed below the two controls we’re using in this example: a calendar control and an asp.net drop down list.
For the date picker, we used the DatePicker control from jQueryUI. Their demos and documentation are a great starting point, if you have any troubles with the calendar on your site, drop us a line.
In case it’s not obvious, Black Ninja’s site uses WordPress. WordPress makes it super easy for us to keep an active profile on the web via quick and easy updates. But WordPress on it’s own is not enough. We wanted a site that was not only functional but also looked good.
During the early days of Black Ninja, we knew we wanted to get something up quickly but with little cost. We are a serious company, who prides itself on it’s professionalism, passion and dedication to the work we do and we wanted a site to reflect that. We’re also a fun bunch, so a bit of humor and playfulness was important too. We spent a fair bit of time trying to find a good theme to compliment our WordPress installation and content we’d already posted to our site. Most of what we’d found was reasonable, but the style and sleekness was not quite what we were looking for. Free doesn’t necessarily mean better so we were open to both.
Then we came across WooThemes, and I have to admit, we were hooked from minute one! First impressions are really important and WooThemes didn’t disappoint. They certainly had their stuff together regarding their website. It was clean, professional and full of activity. All very good signs. Their demo page was thorough, and what i mean by that is: the content was all there, the colors were available to pick between and the pages were presented in a way that made it easy to visualize YOUR content in place of theirs.
The price point was the next big plus for us. As a small business and a relatively new startup it wasn’t feasible to pay $500 dollars for a theme. WooThemes hit the spot with their $70 dollar single license theme or $150 for the developer license if you’re interested in using the theme on multiple client sites and require the image files. How can you even go wrong with a price like that we figured?
Doing a bit of reading also makes it quite obvious very quickly, that the team behind woothemes is not only passionate but very talented at what they do. The forums are very active and I’m usually able to point out quite quickly who the woothemes guys are. They visit their forums frequently and they take an active approach to helping users with their support/theme issues. Honestly, you don’t get that level of support from many places even if you are paying for it.
These guys actively twitter, they are constantly updating and getting user feedback and every once in a while they get us excited about some cool promotional offer they have going on. April Fools for example was the 4 for 1, buy 4 themes for the price of 1. And let’s not forget their generous new 2 for 1 permanent offer allowing you to buy 2 themes at the price of 1. And for those of you who haven’t already noticed, they offer some of their themes for FREE as a way of showcasing those themes. How cool is that? How many companies would do that when they clearly don’t have to!
We love these guys because they are constantly fresh, exciting to watch and a lot of fun to observe grow and expand their theme lineup. They genuinely care about their customers and you won’t have any troubles finding some help if that’s what you’re seeking. If you haven’t already checked out woothemes, I encourage you to do so and I guarantee you won’t be disappointed.
If you’re currently using WooThemes, post a comment, we’d love to hear your feedback.
BTW, both Shereen and Matthew use WooThemes on their personal blogs too!
It’s not often that we come across a tool that makes us go ‘WOW’. Balsamiq’s Mockups for Desktop flagship product did just that when I gave a demo of it yesterday to the internal team here at Black Ninja. I vaguely remember DHH tweeting about this tool and I made a mental note to take a look at it in more depth a bit later. Well, yesterday was that day for me and I have to say I am thoroughly impressed.
I was able to mockup a UI of a custom page I’m about to build in SharePoint and it took me a little over 1 hour to produce the png that I eventually sent to the client. As a pleasant side-effect, the client was quite impressed by my mockup. If you’re interested and want to learn more, check out their 3-minute demo video or their online examples, it’ll give you a good idea of how easy this tool is to use.
Here is my summary of this tool:
Very easy to install, I was able to get it downloaded, installed and ready to use in about 2 minutes.
Very easy to use, when you first install the app, the default page that loads is a UI mockup that gives you some guidance on how to use the tool. I thought that was very clever.
I did not need to read a help file, access a kb or talk to a support person to start making mockups.
I can save all mockups I create, and when I’m ready to present to my clients, I can save as png and email to them.
My email inquiry was responded to in about 2 hours.
I encourage you to try their online demo! I think these guys are doing a great job and I look forward to seeing what comes next.
We ran into an issue today – one of our calculations that rely heavily on CAML queries stopped working. The CAML query we use – which we haven’t changed in forever and which used to work – now returns 0 results when run.
Why will using Type=’Lookup’ suddenly fail, and using Type=’Integer’ work? Does this mean we need to change all of our CAML queries that use Lookup?
What changed? No new service packs. No recent patches.
We tried to retrace our steps, in the hope that we don’t have to rewrite all of our CAML queries and retest all our application pages:
1. No change
2. No change
3. Ah, one minor change, but all we did was create an index in the Project field because we have over 2000 items in this list.
Indexing the column should help optimize retrieving records from this list. But could indexing the Project field be the culprit? This seems to be about the only change we did on this list.
But I think to myself, it should not be the culprit. Right?
I am a database person, and I create indexes here, there and everywhere whenever I need performance gains on some of my reports (ok, let me qualify that, I index where it makes sense. Of course if it is a purely reporting read only database, then I will index the heck out of it. OLTP databases are a different story). So for me, I don’t think it should affect the way we retrieve our records using our CAML query.
We needed to test if this was the case, so we did a quick experiment:
1. Created a custom list with a field that uses a regular lookup to another list
2. Used CAML with Type=Lookup ——-> Works
3. Indexed the column
4. Re-tried the CAML with Type=Lookup ——-> Does not work
5. Tried CAML with Type=Integer ——-> Works
6. Removed index from column
7. Re-tried the CAML with Type=Lookup ——-> Magically works again
So, why would (or should) the implementation of our CAML query change when we decide to index, or drop an index, from one of our SharePoint lists?
We tried to look for an explanation, but we haven’t found any official documentation, or any definitive rationale.
Again, maybe I just don’t understand, but in my database world, creating indexes, or dropping indexes from my tables does not break my SQL queries.
So why should indexing break a query in the SharePoint world?
Anyone from Microsoft SharePoint team care to explain? I’m sure we’re not the only ones interested to know the answer.
We also have courses on Ruby on Rails and SharePoint 2007 Application Development!
Check our training page for schedule, content and rates!
We are experts
Black Ninja Software was created with the idea that great software comes from great people. We are passionate about the technologies we use and continually refine our skills to better master what we do. This is what makes us Ninjas. We architect, design, and implement solutions using Microsoft Office SharePoint Server, SQL Server, and ASP.NET
We create software
If you have a business process that needs refining or automation, or you have a current project in distress that needs rescuing, we can help. Our wealth of experience will create your great idea from scratch if that's what you need ninjas to do for you. In addition to the work we do for our clients, we also have several of our own projects that are currently being developed. We use the same tools and the same skills on our projects as we do on yours.