Coding Blocks - Our Favorite Developer Tools for 2015
Episode Date: January 3, 2016We wrapped up 2015 with another favorites of episode and a chance to win a gray Coding Blocks T-Shirt just by leaving a comment on the show notes page! Tools are anything from hardware, to software o...r a service that we feel is integral in our daily needs as programmers. There’s a total of 20 picks […]
Transcript
Discussion (0)
Which website did Chewbacca get arrested for creating?
That's pretty good, dude.
Wookiee leaks.
Nice.
Nice.
All right.
I wonder if that one shouldn't have a not suitable for work tag on it.
Yeah, true.
Dude, you've got an impressive Wookiee sound man why don't you do that
now everyone listening is trying to do a wookiee impersonation i can't even try
like i'm not even going to yeah it's it's terrible all right so we're ready whenever you are
you're listening to coding box Blocks, episode 37.
Subscribe to us and leave us a review on iTunes, Stitcher, and more using your favorite podcast app.
Visit us at codingblocks.net where you can find show notes, examples, discussion, and more.
Send your feedback, questions, and rants to comments at codingblocks.net.
Follow us on Twitter at Coding Blocks or head to www.CodingBlocks.net
and find all our social links there at the top of the page. With that, welcome to CodingBlocks.
I'm Alan Underwood. I'm Joe Zack. And I'm Michael Outlaw. And let's go ahead and get started now
that we're back. Outlaw's finished setting up his class in Call of Duty, So we can get to the episode. That is so inaccurate.
That is not a fair representation.
So we got some fantastic reviews from anybody.
Saul Thoth?
Saul Thoth?
I don't know.
And Skrecker.
Both excellent reviews.
Again, thank you very much.
You guys don't even know how much
that means to us, so we very much appreciate it. And those names, by the way, would also make
excellent heavy metal bands. Screcker. Love it. Okay, so this episode, we've actually got an
episode up front, or sorry, a poll a poll rather uh up front rather than coming up
with out of the facts so um we've got a uh really important question that we would like to know
uh how you guys feel about and um given uh the uh movie recent movie release we want to know
which one's awesomer star wars or star trek and does this count for the original star trek or also star
trek the next generation it's all star trek yeah and the bad i mean this is where like the trekkies
are always saying that star trek was better because there was so much more of it right
that may not be the case anymore though well disney's got like a movie coming out every
year star wars yeah but they got a lot of catching up to do i mean star star trek had how many
different seasons of shows like there there's a lot of back catalog there for star wars to catch
up on there's a lot of bad back catalog oh i don't disagree but it's like you're trying to skew the results we
can't do this guys yeah i'll you know totally a star wars fan i mean over star trek no way man
really no way it's star wars it's a bunch of guys like you know ganking the swords like it's
it's silly star trek it took on real social issues and made a positive impact in people's
life it opens minds he totally
doesn't believe what he's saying right now yeah i don't know yeah well who's that man captain kirk
uh shoot i can't think of his name and maybe that's why i'm not as much of a fan of star
trek i can't think of his name either james tiberius kirk yes there you go
uh yeah all right so on to well no that you just said his real name his his character name though
you didn't say his real william shatner yeah william shatner there you go the guy who does
all the uh what is it the uh price line price line and the usa or the uh oh god what is it the
models or uh miss america things now the pageants or. What? Yeah, that's like all he's done in the past decade or whatever.
It's kind of weird.
I never watched those, so.
No, man, I'm sorry.
Chris Pine has taken the mantle.
Chris Pine?
Chris Pine makes Captain Kirk look good.
Right.
Yeah, the reboot's good.
I do like that.
I like the new movies.
They are good
we'll give you that so uh you know joe something smells fishy
man it does you know called out immediately this is so frustrating like you know any other time
and autocorrect would just bother you to no end. But apparently I put out a tweet the other day that was like,
hey, what's the worst cod smell you've ever seen, right?
One guy's like, yeah, when I forget to leave the things
and I leave them out of the refrigerator, I was like,
oh, you've got to be kidding me, man.
Really?
The one time you needed autocorrect and it failed you.
It did fail me.
So, yeah, I was talking about code smell.
And somebody brought this up to me the other day,
and it kind of drove me crazy. And I want to get you guys's take on this um so it was said that static
methods reek of code smell and i was like wait a second what that what does that mean hold on a
second i mean this is a construct of your language.
So, but I guess then again, you could also say plus equal sign is a code smell.
Yeah.
I don't know, man.
Like when he started your language and here's the thing, like it bothered me.
And so then I went on this, you know, hour too long.
Okay.
Is this really bad?
Because think about like your factory patterns and that
kind of stuff a lot of times those are static methods because you're doing a get or something
like that and and so through the reading and discussions and whatever else i did find it was
interesting um that the one thing that came back that makes sense more than anything else.
And it's really the only thing that I can find that, that kind of supported this was
if you are using static methods, that means they cannot be, uh, interface driven.
And so you can't substitute in something.
So if you're trying to mock out something like, let's say you're trying to do some test
driven development or anything like that, you can't use interfaces to swap in and out
like a mock class or something for those methods because you can't you can't have an interface for
for a static method so yeah see okay this is in the same similar kind of vein for me as the whole
singleton thing right or like the hipster
coders like oh singletons are bad and i feel like i feel like this is the same kind of thing like
you know hipster programmers over there like oh my god static methods are bad and and i don't
necessarily think that they're bad like if you have a method that has nothing to do with state
right then why have multiple copies of that thing floating around, right? Like it can, it can safely be a static method and even resharper, by the way, will, you know,
warn you like, Hey, this could be, uh, this method could be static, right? It'll, it'll want
to make that method static if it can be. So why not? Yeah. I mean, it makes sense to me, Joe,
you're about to say something.
Yeah, I was just gonna say, you know, I think if you aren't modifying any sort of internal memory,
you know, if your method can be static, then that's kind of a sign that you're breaking
encapsulation by modifying some other objects, you know, data. So it's kind of a sign that you're not
doing things very oh, for better or for worse.
Yeah.
And that was the other thing, right?
So I threw out the one about you can't use an interface for it. The other argument I saw that held a little bit of water was the whole, if you did it
in the more OO way, like let's say that instead of if you had a factory that had some sort of get method on it,
instead of making it static, if you had that factory as a true object, you could then extend
that factory. So I think we talked about this with the factory, uh, with the, I think it was
called the factory method pattern back in one of our design pattern discussions to where you could
have a car factory, right? And then, then you could have a factory. You need factory right and then then you could have a first you're gonna need a hammer factory
you need a hammer and then you need a hammer of hammers and a bag of hammers but but if you wanted
to take that a step further and then now you say okay well now we're gonna have a ford factory
we're gonna have a chevy factory those can extend it and now that get method can also be extended
so so that makes sense from a true oo perspective but. But I don't know. Just when I heard that a static method was a code smell, I was like, that doesn't –
like it was the first time I'd ever heard that said.
And it really kind of bothered me because I was like, wait a second.
That means you're kind of –
I guess my point, though, is like everything has its place.
So if you're taking the extreme that this is always bad, then that's when it's like, no, it's not always bad.
There may be bad uses of it, of a static method, but that doesn't mean that every instance of a static method is bad.
Right, and that's kind of what I was getting at.
And that's one of the things, like, I don't know, in programming, people a lot of times like to take a hard line stance on what is right and what is wrong.
Well, we are an opinionated
bunch oh there's no doubt is there another career that is more opinionated than programming surgeons
maybe theirs might be a little bit more factually straight you know if you cut that he's gonna die
i don't know i just saved your life therefore i am awesome
interior design but you know that's that's just uh interior design I don't know. I just saved your life, therefore I am awesome. Interior design.
But, you know, that's just...
Interior design.
True.
You're right, Joe.
You got us.
It is true.
I mean, plastic surgeons, they just take stuff out.
They don't even care what gets left behind, right?
So, anyways.
So, yeah, I don't know.
I'm not sure how that related.
That was a weird transition from
interior design to plastic surgeon but okay back on the rails yeah sorry no but yeah i mean it
really is um it's just like the singleton so you're either changing someone else's internal
state or you're doing something like writing to disk or database or something like that that
doesn't really affect your application and uh which means it's going to be harder to mock
because you've got a dependency now
that you can't put behind this interface wall.
So I would say it is a smell,
but that I'm a smelly programmer
and I write as many statics as anyone.
I don't know.
I think that the use case, though,
that you're thinking of,
like where you might write a static is kind of weird.
I'm thinking of some kind of maybe a math operation that's not going to change,
and you just want some static method to represent that, or, you know, to do that calculation for
you. Like, you don't need that thing, you know, copied over in multiple classes over and over and
over. Just have a static reference to it. Well, that makes sense. Kind of like if you're doing
a math type class, right, where you know that you're doing an addition, a subtraction, like there is one and
only one way to do those kinds of things. So that kind of makes sense right there from what Joe said,
like if you include a dependency to write into a disc or a database or something along those lines,
then yeah, that makes a little bit more sense because now you're kind of, this was where it
goes back to my comment there before, where it's like, you know, not all of them are bad, but maybe
some uses are, and this could be an example
of like maybe that's a bad use then.
Right.
Oh man, you guys need to up your hipster game.
Haven't you heard of microtypes?
Yeah, you should wrap all of your
primitives behind a class so you can keep everything
truly encapsulated and
object-oriented.
I do mean everything.
Google this.
I'm not making this up.
You're kidding.
No, hold on a second.
Yeah, this was hot on Reddit like six months ago.
Tiny typing.
I just like that we got to like up our hipster game.
This is ridiculous.
No, I can't get behind this.
And it is truly a thing.
It actually comes up in its own little box in Google.
That bothers me.
Okay.
So that was my derailment for the show.
I just thought, you know, anytime that something like this comes up, I think we're going to,
you know, I think we want to make notes throughout the week when people say things that kind
of tweaks your brain and it sends you down some sort of rabbit hole. I think that's great stuff for the show, right? Because these are the kinds of
conversations that people have and it's nice having some context. So, you know, reminds me
of the wet duck. What? What? So, so in happier news, uh, you know, we're still doing the t-shirt giveaway.
So as we said on the last episode, Wade was our first winner.
And so we still have a gray-ish t-shirt to give away.
It's just supposed to be gray.
Why is this gray-ish?
Did something land on it?
No, no, no. Okay, no.
Wow, way to take it to a dark place, no. Okay. No. Wow.
Way to take it to a dark place, man.
This is a happy time of year.
A little light thing.
It's Star Wars season after all.
Happy Star Wars.
And so we still have the grayish one to give away.
And, you know, again, full disclosure, it has been worn.
This is a double X Hanes beefy T t-shirt. And it was, uh, one of our
prototypes for, uh, you know, to see what we, we liked from this particular company.
And, uh, so same rules as last time, leave a comment on this, uh, shows, uh, uh, in this
episode's show notes. And, uh, we will be drawing a name at random uh from from the list
of names that have commented on in the show notes for this episode and uh we will you know release
the you know winner in an upcoming episode and uh look forward on our vine account because that's
where all the giveaway action happens yep all two vines speaking of this will be the third
oh yeah so um i may have like looked through some old shows and particularly old comments
on old shows and realized that um we are bad bad people so nich So Nicholas wrote in the show notes for episode 21
and said, how is the renaming with ReSharper
different from the refactoring feature
built into Visual Studio?
And all he got back was crickets
because eight months later and we forgot to reply.
Sorry, Nicholas.
Yeah, our bad.
Sorry, I didn't even see that one, but, uh,
we'll take a stab at it now. So the main thing that I recall is being different is that resharper
will also go through commented strings. Oh yeah. And do the rename there as well. So it won't just
be the actual classes that are in use, which hopefully you won't have large blocks of code
commented out but if you have maybe summary documentation um that needs to be changed as
well resharper will take care of that very nice yeah that's a very good point i think it might
even do um variables like if you've got um you know a class say that you're renaming and you've
got um you know you're say you're you're taking um a car and renaming it to a vehicle if you've got um you know private variable called you know
var car it'll change it to our car
that's for stewart are we talking about like like like hold on let's change this let's say
that the class name is uppercase c car right and then your variable will be lowercase car
would that be right yep and now you're renaming your class to uppercase c car right and then your variable will be lowercase car would that be right yep and now
you're renaming your class to uppercase vehicle it'll actually search for things like you know
variable names like your previously lowercase car it will rename that to vehicle but that and the
comments are both you can you can choose to do that or not there's like a little check box when
you do the rename and it sees that sort of thing yeah so uh sorry we were eight months late there but we did get back i'm gonna you know what i'm gonna
go back to from a couple episodes episodes ago there was a poll about who to blame and
oh wait that was me that one backfired call duty well if it's about that time of year anyways for
resolutions and outlaws resolution was to be better about social.
So it is definitely his fault.
Hey, I think I actually.
Okay, hold on.
Because this is what took me back to that show note in the first place is because tonight's episode is on our favorite tools.
And so we'll be doing similar to how we did it this time last year.
Right. I'll go over the rules in a minute, but that, that was how I found that, how I realized
like, Oh man, we didn't even answer this question, but let me go over the rules real quick. So here's
the, here are the rules that we're going to have for this. Okay. Uh, we can only pick, we each had to pick five favorites.
Okay. And a favorite could be defined as anything. It could be a website. It could be a browser add
in. Uh, it could be an IDE add in. It could be an application, a mobile app, a piece of hardware,
anything tangible or digital didn't matter, but you can only pick five. So we each had to pick
five and only five. And we had to list them in order from one being our most favorite thing to five being a normal favorite thing.
Right?
And you can't repeat a favorite from someone else's list.
So we each had to pick our own unique list, Alan.
This is where things get a little hairy.
Now, here is a new rule for this year.
A new rule for this year.
Hold on.
Let me interrupt you for a moment there, if you don't mind.
Let me just finish my rules.
The new rule for this year was that we couldn't repeat a favorite from a previous year.
So even if it was your own pick from the previous year, you had to pick a new pick, a new favorite
for this year all right now you
were going to say all right so let's be clear here so outlaw created this document and happened to
put these rules in place i created this document a year ago and then after he sends out the note
like hey i created the spreadsheet we got some updated rules in there we'll get to that and then
you come in here and you look at his and and all five of his picks are filled out.
And then in the rules, it's like you can't pick what somebody else picks.
So automatically, five of them are off the board, right?
Whatever.
No, that's not the way it worked out. We're just going to start this off,
and I'm going to tell you that his number one pick.
No, no, no.
Don't do that.
Don't do that.
Don't be that guy.
That would not be nice.
All right.
No, because what Alan's talking about is like if we all picked the same thing,
if something was that we all wanted in our five,
then that would mean that it would get moved to the final group of five things
that we all like.
But that means that all five of us had to like it.
I was just going to say, I lost all my baby.
You stole it.
And he's just upset because I got it first.
It hurts a little.
Yeah.
So it's okay.
Speaking of programmers being opinionated people,
it's hard to get three programmers to agree on any one thing,
let alone five.
That's a good point.
Yeah.
Yeah.
You should try designing a logo.
Yeah.
All right.
That's actually why Joe moved to Florida.
He's like, I'm out of here. Take it. Yeah. All right. That's actually why Joe moved to Florida. He's like, I'm out of here.
All right. So let's start with the fives. All right. So my number five pick is called Simple
Mind. And if you've ever heard of Mind Map software, it's really just a way to get your
ideas out on a canvas. And it's really awesome.
So I've had this on Android.
I think I had it on my Windows phone maybe at one point.
And I believe it's even on iOS.
And you can buy the desktop version for Windows or Mac.
And I think the prices are fairly reasonable.
I want to say they're somewhere in the $30 ballpark.
But here's what's beautiful about it.
Even on the phone, it's such
an elegant interface. Like literally you can say, all right, here's the, here's my idea. Let's say
that you're, you're thinking about writing a book, right? You can put the title of your book and then
you hit a plus button next to this thing and it'll pop up a new bubble and you type in your thing.
And essentially what you'll have is this DNA looking strand where your ideas just kind of bubble out, right?
And if nothing else, it's a great way to get your ideas out in front of you so that you can then
start refining and putting detail to it, right? And it's, it's a fantastic tool. It's free on
Android. They might have a paid version if you want to be able to sync with your desktop app but uh overall great tool love it um and so that's my number five quick question yeah like when i
grew up we did something similar in school called brainstorming and i've used my mapper you know
mind this sort of thing before and i just don't understand why they call it mind mapping instead
of brainstorming well i i think the difference is
because brainstorming was usually more coming up with a bunch of different ideas that aren't
necessarily connected right it usually i mean it depends on the context of it whereas a mind map
is more all right you have this central theme and how do you want to get all these pieces branching out from it um that's the
only difference now it's probably the same exact thing in theory i mean yeah it sounds it sounds
like the difference is lines it might be like it's connecting things right i mean brainstorming was
literally just scribbling down everything you could think of on a sheet of paper if i remember
correctly i would do it like one circle in the middle and then you kind of like draw little
circles off of it and then those circles would have sub circles and you'd reorganize
so to me it's like basically the same thing that is a mind map yeah i think he just described a
venn diagram no not quite no mine had more lines oh that is a mind map oh there are some cool ones
there was one on windows phone that was amazing i think it was called mine 2000 or something
but what was so sweet about it is when you
click in it, it was all done in
So is that one your number five
pick? No, it's not, but it was really cool
because it was made in Silverlight because
Windows Phone would run Silverlight.
You click in it and it would like zoom
you into this thing. Oh, it was just the animation
between them. Yeah, it was the animations. It was
totally, didn't really matter,
but it was really cool all
right so for one more thing real quick gotta say i just had to google this because it was driving
me crazy and um luckily someone asked this exact same question on yahoo answers oh well then i'm
sure that the first answer must be these kind of thoughts um but i'd like to read you guys the
worst answer no well first, the best answer is probably
you have cancer.
Well, that's interesting.
So what's the worst
answer there, Joe? I'm really
curious. It's probably you have cancer.
Well, mind mapping is a system used for better memory
and brainstorm is a breakthrough idea,
I think.
That's ridiculous. So now that we've got it cleared up, we can move on.
Thanks for doing that.
How is that be formed?
All right.
All right.
So one down for me.
All right.
So my number five pick is a browser plugin called you block origin and what
this works for Chrome and for Firefox and And what it allows, it allows you
to do is, uh, with this, with this plugin installed, any websites you go to, it will block
resources from a third party, uh, domains so that you can avoid all of those stupid tracking,
uh, scripts and tracking pixels that are trying to get downloaded the the real benefit of
having it though is because as a result of not downloading loading those things then all of
these pages just seem so much snappier because you're not downloading as much crap and you're
not running as much javascript as a result and so you just automatically see the page
like it was meant to be isn't this the one that like leo's always talking about leo
and uh and oh come on what's his name i'm gonna i'm gonna sit here and wait and watch you sweat
it now yeah security now steve gibson thank you uh they are a fan yeah yeah i've definitely been
to sites on on my phone to where like literally the page loads and you go to scroll and you sit
there and watch it try to do something i was a convert because because initially like you know i would hear them talk about it and
i was just like hey that's probably you know like whatever you know i'm not really into like
blocking stuff but then i started trying i got i got curious i was like let me just try this thing
see like you know how how crazy is it right and the performance of it is so like night and day man like like okay i'll go right now
i'll go to cnn and on the home page of cnn it just blocked 18 requests holy smokes right like
you know i mean it's it's insane like i could go to uh you know let's see weather channel i found
there was another one where it was a really heavy one this weekend.
I can't remember what it was now.
It might have been like a, oh, I think it was like a Wall Street Journal.
Let's try that.
So if I go to Wall Street Journal right now, the Weather Channel, by the way,
blocked 15.
Weather Channel, I'm sorry, Wall Street Journal blocked 28.
Wow.
I got you beat 32 on Yahoo Answers.
Really?
Yeah.
Well, that was probably all the answers.
Yeah, so I mean, like, you think that that's not that much,
but there have been, I think,
Imore had a stat where he was talking about, like,
how much a difference it made in the download,
you know, the overall page size that was downloaded
and the difference that it made in the load times for all that.
And I mean, it's significant.
So it's a little thing that'll actually make your browsing snappier.
Even if you are already on a really nice computer
with a really nice connection, it'll make it even better.
A side benefit too is if it's blocking all that javascripty stuff it'll probably also
save you some battery life as well like quite a bit because a lot of these just churn on your
page because they're all doing set timeouts and yeah it's ridiculous yeah and um you know i kind
of feel like a jerk doing it but yeah just the performance just makes
it too too good to pass up so you're both using it you're using it joe i use a slightly different
one ad block plus but i know that's kind of controversial yeah ad block plus though they
actually like you can pay to be in their approved list though right yeah and i'm okay with that
yeah like i have sites that you know run off ads and i don't
make bank from them you know they barely pay for themselves if at all and so you know i get the
importance of ads but yeah you know i can't be sitting there waiting for five seconds for a
website to load when i don't have to right like he's like i can't be bothered i got stuff to do
i need to see my content now you yo i gotta know the top 10 actors who
you know whatever married their stunt doubles wow wow awesome all right so what's yours joe
what's your number five pick mine is gliffy it's a um it's a tool from elastian that's used for
like just simple wire frames and um and stuff like. I've used a couple over the years, but this one's
just kind of my favorite, and I really like the Atlassian color scheme, so that's
my pick. Yeah, for anyone who's never used it,
you described it as for wireframes. I would actually describe it more like
a Visio in a browser. Yeah, very similar.
That's how I would define it.
Yeah.
You can do flow charts,
diagrams,
form marks,
all kinds of stuff.
Yep.
I don't love how,
um,
the way that like custom images works,
you kind of have to upload them and just seems a little,
a little jerky.
But the cool thing about Gliffy though,
is that,
uh,
you know,
when you're done,
so you have all this documentation and,
and if you're using,
obviously if you're really using this,
then you're probably using other Atlassian products such as Confluence.
And so now you have your Gliffy diagram in your Confluence wiki document,
and you can easily export that out as a PDF or a Word doc or however you want,
and it'll format nicely and knows how to take care of it.
So, yeah, it's a nice little add-in.
One of the cool things, though, is you can actually do this for free on their site you don't even have to be a
member of the atlassian suite which is pretty killer because it's not a cheap suite of tools
if you're gonna you know i feel like i need a little rubber ducky so every time you say something
crazy i could just be like what what we need some sort of squeaky doll or something yeah um all right and then the fours
so my number four would be dot net fiddle um that is in like well i've really come to enjoy
because like if i want to do and that's dot net fiddle dotnet by the way um but sometimes i might want to just take my mac
and not have to worry about booting into a boot camp or running a vm to do any kind of c sharp
but maybe there's something small or maybe not so small that i want to like just experiment with
and play around with in you know c sharp and.net fiddle.net or youdle gives me that option, gives me that ability to do it.
And so I really enjoy that site.
So Fiddle everything.
Yeah.
Yeah, I think you've even used that for some of the code samples on our site, right?
Maybe, maybe not.
I know I have.
I think, no, because I think the plugin that we use on the site, I've used that more.
But I am trying to get away from using that and start using things like.NET Fiddle for that.
Because you can see the code live.
You can actually run it, which is nice.
I mean, the plugin that we're talking about is Crayon.
Yeah.
And it allows you to do some really nice highlighting features, and that's why I've used that to date.
Yeah, it's pretty good well speaking of uh online things i am a recent converse convert to office 365
and the deal is that you know i've used it for work i've used i've you know used office forever
but it's not exactly the kind of thing that i would get excited about but now that i can get
it for 9.99 a month um it you's just been kind of a no-brainer.
That's how much I was paying for Dropbox
and both of them give me one terabyte,
basically the same service.
But now I have Outlook and PowerPoint
and all this other stuff that makes dealing
with those doc files and XLS,
X is a little less painful.
Yeah, you missed out on the unlimited storage option there, Joe. Sorry.
I don't...
I have hardly anything to store.
I've got like 100 gigabytes up there.
So there for a while
Microsoft kept upping the amount
of storage until it eventually got to 1 terabyte
and then they said unlimited, but then they realized
people were totally abusing it and backing up
entire PCs to their OneDrive
account, so they decided they would scale it back down to one terabyte. Yeah. But that's still a decent
amount of storage for anybody. So yeah. And the OneDrive, sorry, the OneDrive feature, because I
also use Office 365 as well. And I really liked the OneDrive feature where everything's just
automatically backed up. I don't have to really think about it. You know, when it works, that is.
Yep.
And the rules in Outlook are really nice.
So I like a lot of email rules
and I like having them kind of shared
amongst my various accounts.
So it makes it pretty easy to kind of copy those around.
Awesome.
All right.
So my number four pick,
and I actually feel kind of bad
for it being this low on the list
for how good it really is,
is Codecademy.com. I think I'd mentioned way earlier in the year that I took a Ruby class
on there, and it's an interactive learning tool, and it's really done well. I mean,
they make it kind of fun. It steps you through things. It's expecting inputs and outputs and
all that, and I learned a lot about Ruby and its language fundamentals inputs and outputs and all that and i learned a lot about ruby and it's
you know language fundamentals and its structure and all that by getting to go through this course
and it was free like i mean to the fact that there are tools out there like this for free
are just amazing so um i it should probably be higher in my list and it's only because of some
other things on my list that it's not, but a fantastic tool.
So before we get into the threes then,
because like,
um,
you know,
earlier before we started even going with the fives,
you'd mentioned about the resolutions and like how well we've each done with
the resolutions.
And so here I find it kind of humorous because Ruby was like on my list of resolutions and you used your new pick for my resolution that I didn't do.
I felt like somebody needed to get one of your resolutions done.
Yeah, okay.
Well, actually, no, that's not fair because one of my resolutions was not to take 15 minutes like getting my character class ready and call
duty but it was but what it was though one of them was uh to more socialing and i think i did
all right with that maybe not the most of anybody but hey i between the three of us i have vined
more than the two of you you've definitely not turned into pewdiepie
or anything like that but you mean cutie pie no beauty the guy on uh the youtube guy right i
thought it was cutie pie no the number one earner on youtube yeah yeah the gamer beauty
whatever yeah okay so yeah man you need to up your hipster game yeah apparently i'm off
uh so um yeah yeah that is so so how are you doing on your resolutions then
i've since we're gonna like out me on my on my rails then i don't even remember what my
resolutions were i think one of them might have been of course yeah yeah i've actually started
that the problem is i've started like four different ones and that's the issue right
i'm a typical programmer i have like add
out the wazoo it's pretty bad so so you had uh do you want to know what yours were i just
happen to have the page you have it coincidentally well because i had it up i had it open for uh so
i could read nicholas's uh question about the re sharper uh renaming okay and and so you were
you had to create a course to teach others and at least one blog post
or video every month.
Ooh.
Yeah, I think I'm like one out of six.
If we're going to do ratios, I'm probably one sixth of the blog video.
Do you recall yours, Joe?
No. Okay. six blog video do you recall yours joe uh no okay so so then i guess you don't know what of yours was to stop whining about javascript no i i had a strong start on that one
the first couple days were pretty easy and then then you also had to write more functional or reactive programs.
I am very reactionary in my coding, I will say.
I don't do anything until it's too late.
I don't think that's what you meant.
And then you went for the extra gold because Alan and I only had two and you went for three.
So you had to stop saving things to the desktop and to be more organized at least oh man uh i started really well
on that and actually um uh the temp folder thing that i was doing which is kind of weird uh but
it's actually worked out really well i keep a temp folder and i kind of drop all my stuff that
would normally be on the desktop there.
But I know that everything in my temp folder can be deleted at any time.
Like I never put anything there that can't be deleted.
That's interesting.
I feel like he renamed desktop to tip.
Except that on my desktop,
there were,
you know,
like there are things that I don't want to delete.
There are things that I download or move or I'm working with.
And so now by having a temp folder for 2016,
I can break you of this,
of this habit
because I'm kind of like the opposite.
Like anything that is on my desktop is trash.
It's trashable if it's on my desktop,
including shortcuts, especially shortcuts.
If you're creating a program
and you are writing the installer for that program
and you think you're doing someone a favor
by putting a shortcut on their desktop, know that i will delete that like immediately i hate those but yeah but here's my
my way to break that habit is uh use your office 365 and if you want everything to be synced up
then it needs to be in your one drive folder so you just start saving things to there so that it gets synced up to your
you know cloud account and you're done that's pretty nice i'm bad with um a lot of like
screenshots and stuff i'll take a screenshot save to the desktop temporarily and i don't need that
you know after i email it well that's a prime example of something that would get trashed
immediately yeah yeah i forget about them but you know what i will say on the on the making
blogs and videos i have made some pretty good
videos i think they're on youtube yeah totally but yeah i haven't made enough yeah but so so
i'm definitely the the major vine social or between the three of us you're with you're the
youtuber social or between the three of us uh i guess i guess joe would win the twitter award between the three of us because he guess Joe would win the Twitter award
between the three of us
because he doesn't make typos like Cotsmell.
Man, that's ridiculous.
I attempted.
I thought you were talking about Call of Duty
when you tweeted that, by the way.
So horrible.
I was like, huh, Call of Duty smell.
All my tweets are kind of two tweets
because I go on to my personal account
and then retweet or favorite it and vice versa.
Well, that's what you got to do. It's kind of like every one is two actions. Isn't that what you do vice versa so well that's what you got like
every one is two actions isn't that what you do i mean that's how you do twitter twitter's twitter's
like madness oh all right so let's get on to the threes these are your third favorite pick
yeah and this is where i start salivating because these are the things that i'm like really excited
about um and for me this one's a guilty pleasure. jQuery injection. This is a
Chrome plugin that will insert jQuery into any web page. So this one actually I have this on my
wife's computer to like she'll go to checkout or something from a website and there'll be a
JavaScript error. And the mask won't go away. So I open up Chrome tools,
I'll delete the mask
so I can access the elements underneath
and I'll kind of poke around.
And I pop in jQuery
to help me kind of like search around
for stuff rather than trying to look
for the source code.
So if I'm looking for like button,
I'll be like jQuery the dollar sign,
get me all the button elements i find
the one i need and i'll actually fix kind of websites so she can like check out or i can
check out or do whatever that kind of scares me a little i know and you know i also do it for
signup form sometimes like if the buttons grade out i'll just go ahead and enable it and skip
the form and it works so often it's silly yeah totally so i guess uh joe's resolution for 2015 about stop
whining about javascript he's won that one since he's like finding new ways to use javascript
where someone may not have intended it i'm a little confused though like dude riddle me this
what are you the riddler now if you to us batman if you were on a website where you're trying to buy
something and this site doesn't work yeah you think it's a good idea to go ahead and force a
check shove money in their face hey man i support mom and pop websites oh good lord that's amazing
like if now he says he supports them do you then tell them what the problem was and what the fix Hey, man, I support mom and pop websites. Oh, good Lord. That's amazing.
Now, he says he supports them.
Do you then tell them what the problem was and what the fix was?
Do you write them a Jira ticket?
I try all sorts of crap up.
There was an event I was trying to sign up for,
and I knew it was going to sell out.
It's actually Dice Tower.
It's a board gaming convention.
So I'm like, well, the tickets don't go on sale till tomorrow but there's this
other event that's on sale now what if i kind of look at what they do for the one that's on sale
now change some urls around change the ids and maybe i can go buy my tickets early it didn't
work but i'm always trying crap like that that doesn't work oh dude this plugin helps dude i
totally did this on facebook at one point it wanted my real login information i was like oh no oh no, and you're not, you're not having that. Cause I didn't want it knowing everything about
me, even though it already did. So, so I did the same thing and I was able to log in and register
and do something that I shouldn't have been able to do. And it made things really weird from there
on out for that account. You might break your account forever. i think i did actually but um yeah i've
totally done stuff like that it's it but let that be a note to everybody listening if you do web
programming don't take no for an answer if you put things in your ui that you think are going
to force people to do things properly you need to enforce all that on your server as well, because people like us will try to do things that should not be done.
And there are lots of ways that people can get around.
So you need to make sure that you're enforcing.
I feel like this is in that like ethical hacking kind of scenario,
like,
like maybe loosely kind of,
cause you're like kind of hacking around in it to make something work.
You're not hacking it to break it or anything.
But enabling something that was masked or disabled, that's definitely...
I mean, they're already teasing you, so you're just un-teasing.
But make sure you enforce your business rules on the server.
If you're trying to do something on your client, just understand that people have access to those.
All right.
So my number three thing and this is
going the hardware route so um as we all do you have a wireless router that you know after about
five years decides it's going to start dying on you right and my when i was looking there were
only a few that were top runners and i ended up getting the netgear r7000 router and this is i think i don't even remember
what the speed is it's like 20 something all the speed it's fast it's all the megabits so here was
the thing it really came down to the apple airport extreme and this one and the reason why i love
this one is actually a couple fold one it reaches everywhere in my house. It's the only router I've ever had in my
house that reaches every room in my house. And I have it on the bottom floor and I live in a,
in a split level. So I have three floors. The bottom floor reaches all the way to my top rooms
and, and I have a great signal. That's huge. The second thing is since I've installed this,
I've never had to restart it. Like I've had this thing up for a few months now and it just
works. And that is fan tastic. I can't even explain how much I love that. And then the third
thing, and I haven't done this yet, but this is ultimately the reason why I went with this router
over the airport extreme was you can actually put a third party hardware on or firmware on it tomato like either tomato or w ddrt or whatever
it is dd wrt and the only reason i'm considering that is to be put is to be able to put things on
certain subnets so that if i want guests to get onto a network they can be on their own subnet
oh so it doesn't already have its own guest networking building they have a guest network
but it looks like it talks to your regular network which seems kind of ridiculous it's it's more of being able to just give them a guest password so they don't have
your regular one um and it also will do your uh what's it called the backup the time machine
backup so you can actually hook up a drive to it and it will do the regular apple stuff which
most other routers won't do other than Apple ones. So, um, love that wireless
router. It, I use it all the time, everywhere in my house and it is just rock solid. And that is
the reason why I went with that even over some of the newer ones, simply because it's stability is
just incredible. Yeah. I don't remember. Um, cause you know, like some of the i think ww or ddwrt has the feature
for the automatic updates right doesn't it i think it's similar to the google one yeah i if not i
thought i heard something about like it was coming or something like maybe i had that wrong i don't
know because that that's one reason that i would like that like to have an open
firmware like that is just the ability that can just you know automatically update yeah i haven't
done it yet but i'm i'm probably not far from making the switch like i said it has a ton of
features right like even if you wanted to do certain logging if you wanted it like vpn services
if you uh subscribe to like a pro xPN or something, I think it's built into
where you can have that thing run all your traffic through it. Like there's a ton of features,
but I haven't done them yet, but again, just a fantastic piece of hardware.
All right. So here's my number three and I use this one all the time. I really like this. This
is an iOS app. Well, let's just say it's an app. It's
available for iOS and Android, and it's called Hours Tracker. I specifically like the iOS version
over the Android version. I've used both. And it just felt like the features came to iOS before
they came to Android. So the Android version was just kind of behind.
But if you have to keep track of your time, particularly if you travel or if you travel to clients and, or maybe you work on multiple clients, like this is a nice little utility
that you can use to, um, check in your, your time to work on particular projects.
And, you know, it has nice little features like,
uh, geo fencing. So like, as you get to a location, it can remind you like, Hey, did you,
do you need to check in? And you can actually control like how big a radius do you want that
geo fence to be? Um, you can tag different times. So like, um, maybe you have some hours that you've already invoiced your client for, so you could
tag those as invoiced.
And then when they pay you, you can tag them as paid.
So within the app, you can keep track of all of that.
And you can easily like filter through that and see all of that, you know, within the
app, you know, to sort through like, you know,
what you want, which hours you want to view, um, within the, uh, from like the notification,
it can tell you like when you reach a certain hour limit. So like, if you want to say, Hey,
once I've reached eight hours, tell me that I've reached that eight hours. You know, maybe, maybe
you're on a fixed, um, time limit, you know, for a particular customer, you know, maybe, maybe you're on a fixed, um, time
limit, you know, for a particular customer, you can, um, set that you can set what the rates are
for that particular client. So, um, you know, if you have multiple clients and each of them have
different rates, then you can say like, Hey, for this job, it's this rate. And then as you're,
when you, uh, check in for that, it's keeping a running tally of not just
the cumulative time, but also the cumulative, uh, you know, dollar billable dollar amounts.
How much is this up free? Nice. Yeah. That's the really great thing. So, and, and like,
you can round the times off if you want to. So you can say like, Hey, if I check in,
just round it, uh, you know, to the nearest 15 minute or whatever, uh, you know, you wanted to do or no rounding at all.
You can tell it like which clients have, um, you know, what their, what their work weeks are
for a particular client, what the, um, what's considered overtime for a particular client,
or if there is overtime, um, is overtime, all that kind of thing.
And then if any one of those, like if you make some,
if you check in, if you clock in, right, within the app,
and then make a mistake, like you can go in, undo the clock in,
or you can go back and edit things as you need to.
Maybe you clocked in for the wrong client by accident.
You can come back and fix that.
It's real easy.
Clock out.
All of this can be exported too. So
you're done and you're like, Hey, I don't want to lose all this. Let me export. So you could say
export the last month to a CVS file and email it to myself or export the entire thing to
export the entire database by emailing me the database so that I have a copy of it.
You can do all that. There are some add on features that you have,
you know, that you can, um, you know, in-app purchase to pay for. So I think geofencing
might've been one. There's, uh, another one that is definitely, um, uh, a paid feature
is the ability to use, like, again, if you're on iOS to use iCloud as like a backup resource, I believe that whole
database of all your hours and clients can be backed up to your iCloud account.
It's got some, it's just a really full feature, great app. And, you know, if you're, let's say
that you, here's an example. So like you go in and you, you started your day
in the morning, you leave in the evening and you're like, oh man, I forgot to check out for
lunch. But you know what, you know, you know, for a fact that let's say it was from 12 to one,
you could just go in and say like out of the lunch break. And, and then, you know, it'll just say
like, oh, okay, fine. 12 to one, boom. And it'll add that lunch break in for you. And you can shuffle that around if you need to, but it's just a very well thought out
and very polished iOS app
with a lot of full features for a little money,
like very little at all.
And that's if you even want those paid for app features
and you can find it at hourstrackerapp.com.
And I love it.
Very cool.
Aren't you scared to see what you'll end up with?
What do you mean?
Like how many hours?
You know, like on way it's like, oh man, I worked 60 hours last week.
Or it could be like, oh man, I played 60 hours of the Call of Duty last week.
Yeah. oh man, I worked 60 hours last week. Or it could be like, oh man, I played 60 hours of the Call of Duty last week. Yeah, I mean, yeah, there's definitely a lot of weeks
where I'm like, holy crap, I put in a lot of time.
But I kind of like knowing that
because it kind of keeps me on my toes.
Even if you can't bill all of those hours, right,
which is often a lot of times the case, at least in my experience, is that, you know, you can't always bill that.
I still like to be able to know just for my own peace of mind, like, you know, yeah, last week was really hectic and here's why.
I can see here that this is why.
Right.
But if you are able to bill all those hours then hey amazing it'll make it easy
for you to track yeah and you got like this really nice you know uh database of all your time
all right hey guys it's joe asking you to leave us review we really appreciate it and um reviews
are actually uh pretty much our only way of finding new listeners so we really
love it when you guys do that and plus it puts a smile on our face so please leave us a review
is it in that order is it the smile or is it the uh the finding of the listeners i think it might
be both i don't know it's the only thing that makes me smile. Wow. I guess I really got to get better at the social link too,
so that we could find,
so that more listeners could find us in other ways too.
Yes.
Reviews and interfaces.
That's it.
This episode is sponsored by Infragistics.
The Internet of Things, mobility, and connected systems
are driving the need for big data solutions
that are imperative to help your users and customers
make better decisions faster than ever before.
Experts in data visualization,
Infragistics developer tools drive custom app development
for any data visualization scenario on any platform.
And Report Plus is an enterprise-ready,
self-service BI dashboard solution
that opens up your enterprise big data
for end-user consumption.
Go to www.infragistics.com
and check out for your free trial today.
All right, so let's get on to the twos.
Yes, so I tried to sneak this one into all our favorites,
but somebody kept deleting it.
That's what I mean.
Yeah, thanks, Joe.
It's now my number two is Snagit.
Now, Snagit is pretty fantastic for what it is.
A Snagit.
It's a utility that is available for both windows and Mac, and it is great for
screenshotting and marking up the screenshot or taking little videos. So it's not as full
featured as like screenflow, which was one of my choices for last year. If you need to take a
little video to show people in your organization or shoot something off to your manager to show
them how things are working, it is a great way to be able to just record your screen, speak over it while you're
doing it, and then send it off. It doesn't allow you to go in and edit your videos or anything like
that. But if it's just a fast one off, it's fantastic. The markup tools are excellent and
it's pretty inexpensive. I want to say it's regularly like 50 bucks on windows and Mac, like buying the license,
I think gets it for both.
I may be wrong on that.
Um, I'll have to go back and check.
But when I upgraded parallels this last year, they were offering a bundle.
And this is for anybody that does use parallels for Mac every Thanksgiving around black Friday or
cyber Monday, they offer some sort of crazy deal, a bundle of software with it. So I was able to
update parallels to whatever the next version was for 40 bucks. And I basically got this and,
you know, seven other pieces of software along with it. Love the tool. I use it every day.
And it is, it is a fantastic little piece of software
yeah you snagged this one for me i actually forgot that i bought this like i didn't realize
that i paid like a lot of money for it i mean i'm happy about it but man it's expensive but i use
this absolutely multiple times a day and it's fantastic and it keeps you out of paint it really
does yeah and that's huge right and i mean would of paint. It really does, yeah. And that's huge, right?
And I mean, would you agree like the markup tools
are just fantastic?
They're so easy to use.
Yep.
My only gripe with it is that you can't really go back
and at least I don't know how to go back
and edit things that you've done before.
So like if I took a screenshot
and added a couple of text bubbles and some arrows
and I saved it it saves
it as um you know basically an image or some other file format i can't like go back you know to
something i did yesterday and you know fix a typo i have to like kind of redo that screenshot
interesting i haven't run across that i'll have to try next time and see what works but yeah
um i mean it's it's a great tool yeah it's fantastic all right so my number two
i we've never it's so funny because we just did the tools for developers show and and we haven't
mentioned i've never mentioned this one before but it dawned on me like this is definitely one
of my absolute favorite things i love this thing it is the bag that I use to carry my laptop in,
right? Like everybody needs a nice one. And you see a lot of people like often, I remember like
Targus was one that you would see a lot of people have those bags, but I eventually got tired of
those things. Uh, like they just always seem to break down and didn't last as long. And so I
decided like, you know what, I'm going to treat this like as you would any other piece of luggage and then get a nice piece of luggage for
it. So I got a Briggs and Riley, uh, backpack called the verb. And I have had this thing now
for man is going on 10 years. And to look at it, it doesn't even look 10 years old and they still sell this laptop,
although, or this bag, although the current version is a more updated version of it, but it's
still, you know, if you were to go look for a Briggs and Riley verb, they still sell a version
of it and it is a fantastic bag and it is guaranteed for life. If there's any problem with
it, they will fix it. No questions asked. They will fix it. If
something needs to be restitched on it, then they will. I remember like the, um, when I first got
it, there was some stitching that needed to be redone and they took care of it. And that was it.
I haven't had a problem with it since. And I've used this thing daily. And like one of my favorite
things, one of the reasons why I picked this bag over alternatives was that, uh, especially if you're a road, a road warrior, you know, if you're traveling a lot and
you're constantly on a plane, um, one of the things that I liked about this is that it had
the slip through, uh, pass for the handle of your main suitcase, right? Your carry on luggage,
uh, suitcase to where this could slide down the handle of that
and you only have to pull that one suitcase and you're pulling both bags. And, you know,
it was made to do that. Unlike sometimes you might be able to just, you know, stretch out the
one handle, right? To make it hold on to that, you know, your rolly cart handle. But this one,
you don't have to do that.
It's made for it. It's, it's purposely built for that. And it's got nice support, uh, you know,
nice cushions on it, uh, nice little, you know, pockets here and there for your keys or for a,
uh, you know, set of headphones or, you know, nice padding for your laptop or a little mouse
pocket and things like that. Like it's, I've been a fan of it.
It,
it's not now since,
since this version came out,
you know,
they started releasing like the,
the TSA approved ones where they'll like fold open completely.
This is not one of those,
but it's definitely one of my favorites.
And again,
a big part of it was because,
you know,
I like the way it holds
on to your other suitcase right so the interesting thing is so like the targets ones that you're
mentioning that it's not uncommon for those things to be about 70 or 80 bucks this thing's about 200
a little bit more a hair over 210 but the fact that it's got a lifetime guarantee on it i mean
that's almost enough right there to,
you never have to buy another one, right?
Yeah, I'm not kidding, man.
That bag, you look at that bag right now.
Does that look like a 10-year-old bag?
It looks great.
Yeah, that's pretty sweet.
Yeah, and you keep these things forever.
I've had my Targis since 2007.
Yeah, I think I've had mine longer,
and it doesn't look as good as his bag does.
It's held up pretty well, but it's not as pretty.
I want to know if you would have bought this bag if it was white or red like how much did the all black motif influence your decision here well well it's
not all black though it's got a orange interior but you never see that unless it's open well no
like all the accents on it are orange.
So like all the threading on it is orange.
Oh yeah,
they are.
Oh,
there's a,
there's a one I'm looking at.
It's the verb,
but it's a,
it's all black and gray.
It is.
This is the verb,
but it is,
it is.
The exterior is black,
but it does have a lot of orange accents on it in the interior of the
current one that they show on the website.
The interior is all gray on mine the interior is all orange and if you were to go to to the briggs and riley website
you would recognize why because their you know theme is you know their color is orange and so
that this piece of luggage is playing off of that i you know you you're you're mainly comment about
that you know the color honestly like when i was looking at this bag, the, it was down between this one and, um, oh man,
the name just alluded me right.
As I went to go say, it starts with a T, um, big luggage manufacturer.
Uh, no idea.
I've never, you used to travel a lot.
So, you know, a lot more about this
stuff oh man it's killing me that i can't remember the name of that um hey why is yoda such a good
gardener i don't know because he has a green thumb to me to me is nice to me is the one that I was trying to remember.
And I was originally down to a Tumi bag or this bag.
And again, those are both brands that if you travel, right?
If you have to travel, then these are brands that you are very familiar with.
You know that these are nice pieces of luggage that are going to last you.
Because you want a good, strong, sturdy zipper that are going to last you because you want a good,
strong, sturdy zipper. That's going to stay in the test of time. Cause that's typically what's going to break first, right? There are going to be the things like the zippers or the wheels and,
you know, you know, a lot of other pieces of luggage that, that you might be less expensive,
you know, they can get the, the, you know, the big piece of cloth, they can make that strong,
but then they'll break it a little at the seams and everything. And, and with to me and
Briggs and Riley, like those are brands that, you know, you don't, you're not gonna have that
problem with. And so I was down between those two brands when I was originally shopping for this,
but, um, the to me didn't have the lifetime guarantee that the Briggs and Riley did.
And so that's why I went with it.
And,
uh,
you know,
it really wasn't about the color as much as Joe would like to lead you to
believe.
Well,
it's good thing it wasn't seafoam green.
That's all I'm saying.
Yeah.
It probably would not have been one of my picks if it was seafoam green,
if we're being a hard time.
But,
uh,
I mean,
if you guys haven't figured it out by now,
I mean, if he spends 15 minutes on his, uh i mean if you guys haven't figured it out by now i mean
if he spends 15 minutes on his uh call dude character uh you've got to know the outlaw
researches he does his homework so i just added this to my wish list
you probably won't find a better bag for the money i yeah i believe it
awesome sold so what's your number two my number two uh is the autotune app
his album will be out in itunes uh yeah the the t-pain of fire is he talking about bacon
and you know the burger with strength that's right um and uh i've got to go with the fitbit
here so uh there's a couple different varieties but i use the kind that kind of slips into your
pocket because i always bang stuff up on my wrist.
And, you know, I got to leave a spot for my non-existent iWatch.
You better not bang stuff on that wrist.
We saw the stitches you have on your hand.
That looks painful.
Yeah, Frankenstein.
But the Fitbit's great because I can pull it out and it doubles as a clock.
But I like that I can see my steps every day and so it's so easy when you're working you know on a computer all day to not realize just how bad you're doing
so i know that there's days when i'm tired and i get off work and especially you know i live at
home so like you know bathroom kitchen did you just say you live at home yeah sorry i work at
home some of us do live at home.
There's days of not working at home. I guess in all fairness, if you travel, then you don't live at home.
Yeah, true.
I'll look at this thing and it'll be like, oh, I've got 2,700 steps.
And you should, you know, the goal they tell you is around 10,000 a day.
So I know that even though I'm tired and I just want to eat some pizza,
that I should probably take the dog for a really long walk instead.
And so it's really good about kind of encouraging me and I just want to eat some pizza, then I should probably take the dog for a really long walk instead.
And so it's really good about kind of encouraging me and making me kind of at least gamifying that kind of aspect of my life
and trying to stay a little bit more mobile.
That's pretty nice.
I didn't even know they had a pocket one.
That's the original, man.
That's where they started.
Yeah, I never really paid much attention to it.
Like all the watchy ones, those are the newer versions huh very cool yep all right so let's get into
the number one picks so my number one pick that alan so desperately wanted to steal from me he
took because he is a web storm so if if you have to do javascript uh and and you don't
want a big heavy ide i have really become fond of web storm because it has some really great
features it's it's basically like we've talked about resharper in the past and all the niceties
that it brings to visual studio and C Sharp, this is basically like
ReSharper for JavaScript. There's so many great, you know, little tools in there. You know, I think
I think it was last episode that I talked about the ability to do find in path and replace in path
text searches, you know, nice refactoring abilities built built into it um you know and then there's you
know third-party plugins for it so there's a nice ecosystem for that it's it's a really well
thought out very nice product i'm very happy with it yeah he stole that one from me yeah i really do
love webstorm i use it all the time yeah we heart JetBrains, if you guys haven't figured it out already.
Yeah.
You know what?
Did I mention on the podcast previously or just to you guys privately?
I don't remember.
If you've purchased a product from JetBrains, if you go in and look at your download page or whatever and you go and look at the upgrade they were doing at least
through the beginning of next year like a special to where you could upgrade to their all products
package for like two years for 200 you come out of the subscription the subscription so if you
so right now i don't have a subscription to jet brains but i might do it because with this if you paid 200 at least in the link i had
then i would have access to every one of their product products for 200 for a two-year period
which basically would give you intelliJ um webstorm php storm the probably the new database
thing that um data grip yeah data grip um i mean it is an absolutely killer deal and
and it gives you resharper dot cover like everything it's it's a killer deal so less
than the price of just paying for resharper you could have all their tools for like a two-year
period yeah i think they're calling it the jet brains toolbox right is that right i don't remember no no this doesn't sound right i don't remember they did
change their licensing model though i do recall that yeah you can buy yearly subscriptions now
like a lot of places are going to because i mean it makes sense for these companies right because
if if you just have to buy a one-off and you have to keep paying 200 a year you're probably
gonna skip a version or two because you're going to be like,
eh, there's really nothing in that next one.
But if you can pay a little bit less and they can keep you as a subscriber for years on end,
then they're going to make more money over the long run.
And they can afford to roll out smaller updates too.
They can just kind of continuously add features rather than doing these big waterfall-y kind of releases.
Yep.
All right. What's your number one um i'm surprised we haven't mentioned this before spotify um it's uh i think it's 12.99 a month i might do the family
plan for 17.99 a month uh dollars and uh it's just awesome to be able to to search and find
playlists by other people and all sorts of artists.
Like I own a ton of music and I've bought all sorts of music over different
services over the years,
but I don't want to have to mess around with where those files are and what
apps are installed.
I like there's one spot I can go to and get just about everything but tool and
Taylor Swift.
And if I feel like an acoustic morning, I do it.
Or my favorite for programming is actually Deep Focus,
so I'll have a link for that.
But it's just so amazing to be able to kind of listen to what you want,
when you want to, you know, just off a quick search
rather than having to dig through and figure out
where all your, you know, bot music is.
That's interesting that we haven't mentioned that
because I,
I know I use it.
I'm a subscriber.
You know what I like about it as much as anything else is the fact that it's
on the PS three,
the PS four,
Xbox one,
uh,
phones,
tablets,
computer.
Like you can basically use it anywhere.
I mean that,
that alone makes that application worth the $9 a month or whatever i pay for it because i can listen to music wherever i am
anytime i want yep and now if i want to listen to you know and justice for all i don't have to
you know go looking for the tape or the cd or itunes or amazon or trying to remember
which service i bought it through.
I can just search and
black it is the earth.
Wait, on Spotify
though? I thought they didn't have Metallica.
Do they have?
I don't know.
I also do have all of their albums
on Amazon, so I might be getting mixed up.
I'm not sure.
Because as you do,
you have all of the Metallica
albums. That's just a requirement, right?
Yeah, all the stuff that kind of makes me
hate them.
Them not having Tool on there is a little
bothersome, but I guess
who has time for a 20-minute song?
Nope, they've got it. They do have it.
Yep. Man.
I guess Alan's searching foo isn't as strong as yours.
Yeah, it was pretty terrible apparently.
All right, so I guess that's down to my number one pick.
And this has just become a bit of an infatuation with me this year,
is Meteor.js.
Like, we've talked about it a few times on the show before.
They've just done such an excellent job of bringing a single development environment together that takes care of the server, the client, like live refreshes.
It's just, they, it is such an excellent job of bringing a framework together that is easy to start with and easy to write an application with that it's just
it's fantastic like if you ever wanted to just try and prototype something and you wanted to
kind of learn how to do some web stuff MeteorJS is a fantastic place to start the only thing that
I'm not crazy about is it's complete tying to MongoDB And that's not necessarily because I don't like Mongo. It's
more got to do with the GPL licensing with it. And the fact that you are tied completely to a
NoSQL database, but throw that aside. Like it is probably one of the most complete and easiest to
understand frameworks I've seen. And I've worked in a lot. lot like you can as a brand new person you could get
something up and running fairly quickly like a couple days with this i've been playing with react
js i've done angular i've done all these things dude a lot of these things take a lot of time
and investment and knowledge to get anything working the way that you want it to media your
js isn't that way. Like literally all the popularity
Angular has, it is not like that. Oh dude. Angular. I mean, you, you did your review thing
where you were aggregating reviews for, for our site. Yeah. Angular.js is a mind bender and there's
so many hidden things that you just don't know about to make performance better and all that
do Meteor.js is just so easy to get up and running with that it's truly an amazing piece
of software and a framework that they put together.
So that's my number one pick.
But I feel like it's also kind of more though than a React or a Angular.
And that's where it gets like, it feels weird to make a comparison of Meteor to one of those because it's such a larger thing.
The one thing that you'll notice when you start playing with any kind of JavaScript frameworks, especially for front-end UI type stuff, like React, we were talking about this the other day.
For as popular as it is,
it provides not a ton. Like it's, it's a very lightweight way to create components for your UI.
Like that's what it is. And it doesn't give you anything else on top of that. Uh, if you want any
kind of data flows, then you're going to use flux or some other, you know, reflux or one of the other 500
frameworks that popped up around it. Um, if you're doing an angular, like there's, there's a lot of,
a lot of knowledge and it doesn't take care of your server. Like Meteor JS is all of it. And
it's really well organized. Like your client code, you put it in a client folder and by convention,
it will know that this is your client code. So when it compiles it,
like it does, you know, it's funny when you play with react and these kinds of things,
you're going to set up your NPM. You're going to set up your Bowers. You're going to set up
your Gulp test. You're going to set up your local servers. You're going to set up all these things,
right? And it's, it's a decent amount of work and a lot of things to consume all
at once media your js you download it you install it you have a web server running because it loads
it up for you you have your database already there you have your client framework already there you
have your server framework already there and every time you make a change as long as you ran your
meteor script it compiles it for you and updates it on the fly
your web page will update everything just works yeah i feel like you oh sorry no i was just gonna
say like you know part of what i was getting at too though is that like you know what also makes
it an unfair comparison is that you can use meteor and angular together. You can use Meteor and React together. In fact, it's built into it.
If you want to create
an example to-do
app using Angular,
it's built into Meteor
to create that
Angular
to-do app or that React to-do app.
That's what I'm saying.
It's a layer of abstraction above this thing
but it also includes its own thing so you can use angular or you can use react but natively i forget
what it's called they have their own templating engine and it's like fire or something or blaze
blaze maybe i can't remember but they have their own so you don't even need those other ones you
can do it all with the package you download yeah it is blaze blaze okay what are you don't even need those other ones. You can do it all with the package you download. Yeah, it is Blaze.
Blaze, okay. What were you going to say, Joe?
Even the name Blaze. And you guys are messing with me.
You just described Cold
Fusion, but kind of coming from the other end.
No, wow.
It's a little template language.
You know, you got your CF Ajax stuff.
No, but you still have everything you need.
I hate Meteor right now. I'm sorry.
Then you just run it, and it'll take care of
compiling and generating everything it needs to do everything for you run no you were totally
making up half of this so so that's it so alan has to come up with a new number one favorite because
we no longer like meteor wait didn't you actually say there was a cold fusion
conference this year oh my god yep uh didn't see that one in was a ColdFusion conference this year? Oh, my God.
Yep.
Didn't see that one in the news.
But, yeah, I enjoyed my time at ColdFusion.
But, yeah, it's not something you probably want to learn if you're coming straight out of school.
You know what I'm saying?
No, back in the day, it was fantastic, right? When everything was still new.
When it was competing with ASP, dude, it was so much better. And if only they had chosen to go the route of making it cheaper, they may actually still
have a foothold.
And I'll say, if you wanted to query a database and throw it up on a page, man, there was
no faster, easier way.
You're absolutely right.
It was amazing.
And it's unfortunate that it took the nosedive that it did it's it's crazy
if it hadn't been so uber expensive php wouldn't even exist yeah pour out some diet mountain dew
for that one i mean talking about crazy conferences i don't i don't know that we talked about this one
before but there was the the git merge 2015 conference for the git community which i'm
assuming they're going to have another one this April.
It was it was this past April in Paris.
So, you know, if you need an excuse to travel
and I'm assuming that they'll have another
one in 2016,
but I haven't seen anything for it, but I
love the name of it was get
merge, right?
What a miserable conference
to get.
Could you imagine the talk's gonna be like
really advanced you know merging techniques
and all the crazy stuff you can do like man gets
crazy oh you mean the things that you would
actually use in your day to day
like that sounds great
outlaw would be like a little five year old at
Disneyland right his eyes would be big
I'd probably be so excited I wouldn't be able to
decide which show which which talk
to go to.
Do you think they have a GUI track and a console track?
Do I want to go to the BISEC
talk or do I want to go to the BLAME talk?
Oh my dear God. The merge strategy?
Yep. Like all
of these sound fantastic. I'm actually
sure it's, I bet it's way more
low level than that. It's probably like, hey
if you're developing, forget. This
is what it would actually need to be though how to teach other people who don't understand source control what
to do with git because that's usually what the conversation devolves into anytime that you're
working with people that don't understand source control yep uh all right yep so on to the top five that we all agreed on and liked except web storm should have been in
here what no no i torpedoed it i'm a negative nancy he did all right so uh let's take us in
number five joe gulp so uh gulp is kind of like a little um it reminds you a little bit like ant or if you've
used any of the derivatives of and it's basically um oh a task runner right and you can define
dependencies so i can set up a little task called build and if that build might have a dependency on
clean or bundling or compiling or all sorts of other stuff and you set up these little tasks
and it figures out what needs to happen and so what ends up happening is you're able to do a
lot of orchestration via the command line so i can do something like you know go publish and
generate my website or you know move files around or do anything that's not even necessarily related to a build process.
Yeah. And you know, the great thing about gulp though is the collective resource of like third party plugins that are available to this thing. If you go to gulp, js.com slash plugins, right?
There are at the moment, 2043 available plugins plugins. So the chances are if you have something crazy
that you want to do, there's a good chance that someone has already created a plugin to do exactly
that. You want to upload all your stuff to S3 after you're done. Guess what? There's already
a plugin available for that. You want to minify all your images into more efficient, smaller versions, guess what? There's
already a gulp task or a gulp plugin for that. And if 2000 plugins wasn't enough for you,
you can go to npmjs.com and search for gulp and you'll have 9,973 results.
Yeah. And I don't get that. I don't get that.
It will. Some of it, you got to remember too, though, some of it's probably
written just for node type stuff, right?
That'd be my guess.
Maybe.
But the point is that regardless of which place you go to, there's a plug-in for that.
You want to minify your CSS?
You want to minify your HTML?
Guess what?
There's a plug-in for that.
You want to create dot markdown or documentation out of your JavaScript?
Guess what?
There's a plug-in for that and the reason why we went with gulp over grunt is because grunt is very much configuration based whereas
gulp is more you write the code to do the things that you want it to do and the other thing too
is it's handled a little bit differently you keep piping the output of one, one piece of functionality into another. So if you're going to like JavaScript
minification and uglification would be a good, would be a good way or a good task that you might
do. And instead of opening up the file and then shrinking it all down and then saving the file
and then opening the file back up, now uglifying that file, the way Gulp works is you might call the shrink first, and then you'd pipe that into the input
of the uglification. So it keeps all that in a stream and keeps pushing it through until it ends
up in its destination, wherever you put it. So it's a very streamlined process. It's quite a
bit faster than grunt on a lot of tasks the only thing you
have to look out for is making sure you have enough memory or resources available to do those
because if you're trying to do you know hundreds of megabytes and and you keep running it through
all these pipes then you might run into problems but but i'd like that that final destination
source to be a zip file there it is is there a plug oh my god there's a plug-in for that and it's beautiful right like this is more than just for only programming right you can use this to do
all kinds of stuff like i think joe said you did things with images like photoshop or whatever
like you can set up some grunt tasks to do like a ton of cool stuff for you yeah and i actually um
i had some power shell scripts that i would use to basically resize images and move them to a folder and then delete.
It's just some minor stuff.
But I converted that to a Gulp task I haven't finished yet.
But what I really liked about doing that too
is by setting it up in this way,
I could break this out easily into separate tasks
that kind of behave like functions.
So I could focus on just testing the move
or just testing the resize or just testing the delete.
And that's something I would normally do in a PowerShell script by kind of commenting out the parts I'm not focusing on right now,
which is just kind of a silly way of doing things when you can even break it apart like that.
Hey, Joe.
Yeah.
Do you like Docker?
Guess what?
Yeah.
There's a Docker plugin.
Yeah.
I'm not surprised yeah so number five highly like
i would say that we like all of these very well but you know this one just happened to fall to
the bottom so gulp the next one that we have that we can all get behind and don't use enough is
in unit so we've talked about unit testing on the podcast a couple of
times and the importance of it both either either whether you're doing tdd or just trying to create
tests to support your application so that you know moving forward people don't break those
in units fantastic it's better than the built-in one built in one with Microsoft's version and outlaws pointed out several of the reasons for it.
We can probably go over to get him real quick.
But I mean, I think we can all agree that having unit test is vitally important to having a successful-regression application.
Yeah, so, you know, and for the Java developers out there,
you know, there's JUnit, which is very similar.
And NUnit started off as being a port from JUnit to be a.NET version of it.
But now they are, you know,
it's been completely rewritten, they're separate.
But regardless, JUnit and N they're, they're very similar. Uh, and don't use MS test, I guess
is like the, the real takeaway. Um, you know, even if you choose to not use in unit, like I know that
the three of us are big fans of in unit, but it's definitely, uh, way above the capabilities of in-unit, but it's definitely way above the capabilities of MS test.
Parameterized tests.
That was the example I was just about to say.
Like, you know, create one test and then have attributes marked on your method that pass in different parameters to test that same method, that unit test method with different data.
I mean, it's a beautiful thing, right?
Parameterized tests are a great example of something like,
of why you should be using in-unit instead of MS test, right?
You know what?
I was just thinking for a while there,
Microsoft was really pushing testing when they released MS test.
And they actually used to have features in Visual Studio
where you could select code and say, right they released MS-Test. And they actually have features in Visual Studio where you could, like, select code and say,
right-click, generate unit test.
And they've really gotten away from a lot of that.
And I feel like they just kind of stepped back and said,
you know what, you know, NUnit, XUnit,
you guys just kind of do it better.
Yeah, and, you know, the beauty of it, too,
is it plays nice with ReSharper.
So if you, like me, are a fan of ReSharper and.cover,
it plays well with both of those. You know, obviously, that are a fan of ReSharper and.cover, it plays well with both of those.
Obviously, that's a lot of orchestration, I'm sure, on JetBrains parts to make that happen.
But it's really nice that you can just use all of that in-unit framework ability, but then visualize it and,
and execute it inside of a dot cover or resharper.
Yep.
What's next on our list.
We're moving on up to number three.
So similar to,
uh,
one of my favorite picks,
uh,
is just playing JS fiddle.
So,
you know, again, if you want to be able to just create something
and make it nice and shareable, like, I mean, who hasn't heard of JS Fiddle by now, right?
It's so nice though, that, you know, regardless of what environment you're on,
you can always have access to your fiddles. So you could create examples, you could share those examples with other people, those people can then fork those examples,
you know, to to create their own derivatives of it as they need. And all this you can easily share,
right? And be able to see the visualize the see the code in its separate pieces,
and then see the output, or the result of that code in one nice place.
Yep.
You know, something I do too often is I'll pop open a console
to essentially look up a JavaScript function.
I'll be like, does JavaScript have a string.contains method?
I forget, and so I'll kind of try to type it and it won't work.
But what's nice about JSFiddle is, for me,
the value add over the console is that I can pick from a lot of really well-known JavaScript frameworks
and it'll import that file for me. And also I can
take it and then share it. Yeah, the only thing that
kind of drives me a little bit crazy about JSFiddle, and I wanted to point it out, is I don't think
you can create separate files. Some of the Fiddle frameworks
out there will allow you to create file 1, 2, 3, 4, so that you can create separate files like some of the fiddle frameworks out there will allow you to
create like file one two three four so that you can kind of structure it like you would if you
were doing the application on your own desktop or something and that was the only thing that ever
seemed to like really drive me a little bit mad about theirs yeah because it's broken apart apart
into like uh separate like tabs i guess if you recall it that or sections yeah you got your
html your javascript your results and your css and there's there's nothing wrong with it the
only thing that i don't like about it is you can't really simulate or show somebody like the whole
point of fiddles is usually to to demonstrate something and what this takes away is the ability
to demonstrate how you might structure things,
right?
Yeah.
It's definitely kind of flat and it's,
you know,
you're going to get one CSS file,
you're going to get one JavaScript file and you're going to get one HTML
file.
Do with those three things as best you can.
Right.
So that,
that is the one downside.
If you got to be,
you know,
a negative Nelly about it.
Yeah.
Sorry about that.
Thanks, Debbie Downer.
But it is an excellent resource.
There's other ones out there.
But, I mean, this one's been around for a while, and it works well.
Yeah, can't argue with the results.
Yep.
All right, so moving on to number two.
We've mentioned this book several times,
and it's never made it into our tools episode.
So now it's time for the design patterns uh the gang of four book that we've referenced so often we liked this
book so much we gave it away yeah right we we got rid of it we're we shipped it out the door we were
done with it yeah i think i've actually purchased this book three times now.
I mean,
honestly,
is there,
is there any other resource that you can get as much useful information out of other than this book?
Maybe like just really improving code,
right?
Like this is one of the best resources out there.
Yeah.
And one thing that,
when I first got this book many,
many years ago, um, you know, I would kind of read the description of the problem and try to think like how I would solve it.
And then I go on to read about how they did it.
And they would kind of take this common problem and they would take the solution that you
would kind of like the no-brainer or kind of a common approach that you might come up
with.
And then they would really take it to the next level by tweaking your kind of what might have been your initial thoughts on it to make it better.
Basically kind of using their years of experience to really round out the patterns and just kind of,
you know, polish them up and provide, you know, nice, stable examples of things that you can take
and use in other places. And people will know exactly what you're doing when you call something a factory or a
builder or whatnot.
And the most amazing thing about this book,
this is still the first printing.
Was it the first?
That's crazy.
Yeah.
I,
you know,
they got the book so right the first time they didn't even have to make a
correction.
This has been what? Almost, is it 20 or 30 years ago?
I think it was the 80s.
Yeah.
I thought it was the 90s.
Let's see here.
IMDB for books.
We've talked about it before.
It was definitely a long time ago.
Yeah.
I mean, it really.
It came out in 1994.
I think it helps people think.
So 23 years.
That's 21.
21 years.
Wow.
It's about to be 22.
Man.
Math and calendars are not your thing.
They aren't, right?
I think what it helps people do, more than just seeing patterns, thinking algorithmically about how they do their code, right?
Instead of just, hey, let me bang out my code and go from A to Z procedurally, it helps them think about, hey, how can I make this thing to where it's kind of pluggable, right?
And I don't know.
Well, pluggable. I mean, but I'd be careful about the way you described it algorithmically, though, because then that kind of leads one to think like in terms of algorithmic complexity.
Right.
No, not complexity, just steps, because that's all an algorithm.
We talked about it before.
It's like a recipe.
Right.
So you think about things as opposed to instead of just, hey, let me do steps A through Z procedurally.
Let me think about how I can break that out to where if this needs to be expanded in the future,
it just kind of fits, right?
Yeah.
But it's not going to get into big O.
No, not big O.
Right.
Yeah.
And actually, if you go to the website and go to slash tags and slash design patterns,
you'll see all the episodes that we've done on various design patterns.
And actually, the first one we did, we talked quite a bit about the differences between like design patterns and
algorithms.
And there's actually some really great comments in those episodes if you're
curious.
Yep.
And so now our number one pick,
and because we all use it pretty,
pretty much every day.
Slack.
Slack is actually a great tool and it's free if you don't want to
pay for being able to search through archives and that kind of stuff. It is a fantastic way
to collaborate with people on projects if you're not in the same spot, even if you are in the same
room. It could be a great way to share a screenshot or, or communicate with an entire team. I know that the way that we use it, we'll do it
for, uh, for sharing a screenshot, maybe with a markup or notifying everybody with an at everyone
or an at channel that, Hey, we're getting ready to shut down or restart a server, right? Anybody
have any objections? Everybody will get notified either via their Slack notification or an email
or whatever. Uh, the other thing is we integrate it into like visual studio online. So that if you
update a branch that, that you're watching in that channel, everybody will get notified. Hey,
you just merged some code into this branch or whatever so um
so in my effort to be more social i'd like to mention codingblocks.slack.com yes i it the only
you want to interact with us yeah there's another channel no i i'm not certain how we do this does
everybody have to request i don't know how this is going to work.
So in fairness, because there's also like a paid subscription version of Slack too.
So there's the free and then there's the paid.
And so I'm like, hmm, how's this going to work?
But, you know, I definitely, we'll throw it out there.
We'll figure it out later.
Yeah.
You know, more opportunities for all of us, you know, to be able to interact together.
So even the listeners to be able to interact with each other. So we're going to give this a shot,
give it a go, see how it works out. Codingblocks.slack.com. Yeah. And I don't know how
you're going to sign up. It may be something to where you have to send us your email and we set
you up an account. I'm not sure how this works yet. Um, again, we're going
to figure it out as we go. So, you know, if you guys want to be a part of this, please do contact
us either through Twitter, private message, you know, emails at comments at it, but you know,
we would love to see where this thing takes off or goes. So, can you can watch me uh giphy crazy things and if you
don't know what giphy is it's amazing you're gonna love it and and really when i say that you'll watch
me giphy crazy things it's really more that i'm gonna like ask slack to giphy something that's
not so crazy and then it's gonna go off and do something totally wacky yes but awesome at the same time slash giphy space awesome and
you'll end up with like will smith on fire uh you know should be shot out of canon yeah i guess
that's awesome it's very random yeah it's a lot of fun so i i just did giphy awesome and it looks
like there's this uh animation it looks like it's supposed to be like a bill gates uh costume you know somebody in
the land like you know supposed to look like bill gates from the 80s uh and him him and his friend
doing a crazy dance so it's amazing awesome so if for no other reason you should use slack just for
the uh the entertainment value yeah that is very random yeah, I mean, I think we can all agree this,
this really is. So I think there was an article that even came out that said the biggest time
waster is Slack and okay. Let's be honest, right? Anytime you have any kind of chat,
uh, application that people use, there's going to be a certain amount of time waste,
but it's no different than, than idle office chat that you would run into. If you're, you know, typically if you're in an
office environment, people are going to stop by with a random conversation, eat up 15 minutes of
your time. It's no different. It's, it's entertaining, gives you a nice mental break
from what you're doing sometimes. So, um, yeah, I mean the, the beauty of it though is totally,
I mean the integrations, I mean, we, we just joked about, you know, I mean the, the beauty of it though is totally, I mean the integrations.
I mean, we, we just joked about, you know, some of the craziness that Giphy will do,
but there's also like other integrations that you could do.
Um, like for example, if you use visual studio online, well now it's visual studio team services.
Uh, you know, there's integrations with that.
So that like, as commits are made, you could, you could post a message out to a Slack channel.
I might have just said that.
Oh, did you?
Yeah, but I think you were busy Giphying your awesome.
Oh, man.
I totally am busted.
Holy awesome.
How do I Giphy busted?
Let's see what Giphy busted comes up with.
Yeah, so I'm looking at some of the
ones in here right now.
They have a ton of
integrations.
Man, they have payments
and accounting stuff, project
management, social and fun, HR,
marketing, file management,
developer tools like we just talked
about.
There are so many plugins that are
available like i think there's even salesforce plugins for this thing uh it's pretty extensive
so yeah and um actually it's funny that you mentioned the accounting app thing because i
just uh read an article and uh listened to ms diff show podcast that interviewed the person
who wrote it talking about how they um this company moved away
from doing mobile apps because um for basically expensing stuff because it was hard to get
traction with people they didn't really want to interact with their phone in this way so they uh
kind of pivoted and changed their app into a slack bot and what they found is much more successful
because people were already in slack doing this sort of thing and so it was just kind of for easy for them to message the bot and say you know here's the receipt
very clever link to that very cool yeah so definitely again please come join our channel
have some fun we'll have some code talk we'll have some random talk you know we'll have whatever
talks people want to have yeah this thing is really cool like um you can have custom integrations into it so like let's say if you use visual studio online
oh did you already cover that
whoops it's groundhog day all right so number one uh slack that would that was it for the uh
things that we all like.
Yes.
Yeah.
So we've covered, what, 20 things?
How about that?
Hey, my math isn't completely terrible.
All right, so in the resources we like section.
Yep, I got one book here.
The author actually reached out to us about possibly doing an interview,
but as you guys have probably noticed,
we just don't really do that sort of thing. But the book looked awesome, so I went ahead and bought
it and started reading it. And it's Beyond Legacy Code, Nine Practices to Extend the Life and Value
of Your Software. And I kind of feel like I spend much more time wrestling with legacy code than I
do almost anything else, certainly much more than, you know, implementing design patterns or, you know, coming up with new algorithms. So I definitely think it's a good
thing to kind of be knowledgeable about. So I wanted to share that with you guys.
I mean, let's be realistic. When have you ever seen a job for a developer where they said,
hey, what we want you to do is come in on day one. You're going to write something brand new from the ground up.
Nobody else has started it yet.
It's all you.
Yeah.
Go.
We have no opinions.
We have no ideas.
You get to do whatever you want.
I don't care what it is.
Even if it was something that was only started three months ago,
if you just start on it, that three-month-old code is legacy to you.
Yep.
Yep.
Absolutely.
And when's the last time you worked on code that wasn't just broke all the heck oh dude i never do
all right well we got to get into alan's favorite section here it's the tip of the week this is the
tip of the hey we're actually getting closer to the week thing right like this has been this will
be like third or fourth don't jinx it so right? This will be like the third or fourth episode.
Don't jinx it.
So our next episode will be coming to you in three months.
All right, so my tip of the week is actually programmableweb.com.
And it's pretty interesting.
When I was looking for little projects to do in my ADD state of being,
I was looking for APIs like, hey, how can I do something that people
will actually get something useful out of? Because a lot of the tutorials that you see out there are
like, okay, let's pretend that you're doing an Ajax call out to somewhere and that you have to
wait on a response. And I was like, man, I hate this pretending stuff because there's so many
things that go differently when you're working with real live latency.
Right.
So I started looking around and there's this programmable web thing and they show you all kinds of tons, just tons of APIs that are available.
And if you go to the link that I have there that we'll have in the show notes, one of the cool things is they'll show you what are the top APIs that people use or search for.
And you can actually go and either sign up
or just use these things freely.
So it's really cool.
If you want some data to be able to program
like a little project with or something,
this will give you a list of APIs
that you can just go out there and use.
Yeah, I mean mean examples to what
alan's describing here just on the top when i when i went to the link uh google maps twitter
youtube flickr facebook that's just the top five they're in there right so like these are all apis
that are that are real that are available right now that if you got some idea that you wanted to write some code with but you just don't want to use a fake api here you go yep really cool stuff i think nasa's got
some cool ones too so you could make a you know a little app for like wallpaper of the day or
something using some some of their images very cool yeah um so for mine, I wanted to mention Indigo Studio. Now, I mentioned Gliffy as one of my tips, or not tips, sorry, one of my favorite tools, and it is.
But I was kind of looking for something that was a little bit more advanced.
And full disclosure, InfraGistics is a sponsor of this episode and many other episodes.
But I legitimately was searching for rapid prototyping tools and
came across it and gave it a trial um gave it a shot and i actually really liked it and um
it's kind of like wireframing on steroids so um some of the things that i really liked about it
is had um really like kind of complex abilities for my wireframe so i could say like if you
swipe here or if you touch,
or you tap, or you hover, then, you know, show this pic instead of that one or navigate to this
spot. And rather than something like Gliffy, where I kind of, you know, that my output is,
you know, either a link or a PDF or an image or something like that, this generates HTML. So I can
actually save like a little website, and someone will link and they can actually
kind of click around and it's got some basic support for, you know, some kind of basic
memory type stuff and is also really nice for sorting different resolutions.
So it's basically got support for being responsive, I should have said.
So if I can, you know, shrink my resolution down on my
window, I'll actually see how these things kind of pop into place for something like, you know,
a tablet or a phone. And that's just the kind of stuff that you're never going to get with a static
image. So I thought it was really cool. I haven't spent a whole lot of time with it. So I didn't
want to say it was, you know, one of my of my favorite tools obviously but if you're looking for a rapid prototyping tool there's some pretty awesome stuff out there
all right so um you know for my tip of the week we've talked in great detail about how we love
our large monitors and how awesome they are for development except here's the one thing that you
know first world problem with that is is that the mouse is so itty bitty and you lose it on these
giant great big monitors so uh with the release of el capitan they one of the features that they
actually mentioned in the keynote was the ability to find the mouse when you've lost it on the screen by just jiggling the mouse back and forth.
And the mouse automatically dynamically grows in size so that you can easily see it and then it shrinks back.
But if you're on a Windows environment, it doesn't do that.
But Windows has had this feature built into it for quite a while
now. So you can go into your or similar feature, where you can go into the control panel into the
mouse properties, right, and click on the pointer options. And there on the bottom is a selection
that by default is not checked. And it says show location of pointer when I press the control key.
So when you lose your mouse on that 34 inch widescreen monitor, you just press your control
and then a circle will radiate around the mouse and help you find it. Now I usually end up, you
know, bang on that control key several times until I see it, but eventually I'll see it. You know, ultimately I like the El Capitan version
better because the mouse is, you know, a little bit more, you know, in action, maybe,
might be the way to rephrase that versus the circle that Windows does is a little bit smaller,
but hey, it's better than nothing, especially when you've lost your mouse and you're like, oh my God, where'd it go?
But it being the Christmas, or sorry, Star Wars season, I thought, hey, you know what?
I've actually got a couple other ones that I should mention too.
So we've talked about SQL formatting in the past and I don't know that
we've ever talked about this tool though. Um, we've talked about the poor man's T SQL formatter
for notepad plus plus in previous episodes, but there's this really nice, if you want to stay within SQL Server Management Studio,
there's a really nice free plugin by Apex SQL called Refactor that you can install and plug into it.
And it will offer you three different options.
There will be like a, a format SQL button, a dropdown,
and it'll have three different options of ways that it could format your SQL.
And it'll also have some other, um, it'll also provide some other buttons. So if you want to,
um, um, oh shoot, what was it? Uh, if you have any unused variables, then it'll find those and remove those
from your script. Or if you want everything to be properly sourced, then it'll fully qualify
everything. It'll find all the tables and everything and fully qualify them if they
haven't already been. So it's got some really nice capabilities in it. Um,
full disclosure, that full fully qualified feature will take a moment because it'll actually
go looking through the schema to find out, you know, what's what, um, as part of it. So it does
take a moment. Um, but just from the formatting point of view, what I really liked about it
is just the consistency.
Like that's one of the most frustrating things is when it comes to SQL is like people have
their own formatting, uh, preferences and some have no preferences.
And so, you know, sometimes you just want like some order in the world.
And so, uh, it's nice to be able to stay with inside of uh your sql server
management studio environment and reformat that is it out of beta now because i used that thing
yeah it's out of beta back in the day and i uninstalled it because formatting complex queries
like not not just a single query but like let's say that you had a store procedure that was doing temp tables and all kinds of stuff. If you'd format it, it would actually erase half
of your code. And I like about the third time it happened to me and I slung my keyboard across the
room. I was like, okay, it's gone. I can't take it anymore. But that's been, that's been a couple
of years ago in all fairness. Uh, so I haven't ran into that scenario. Um, I've definitely had, you know, I guess it depends on
your idea of, of what you call a crazy table or a query. Um, you know, definitely with nested,
uh, queries and things like that. Like I haven't run into any problems yet with it um but hey your mileage may
vary i don't know and uh in keeping with the star wars theme uh the last one that i wanted to talk
about here was use the force force touch so um no actually and i'm surprised you've never talked
about this we've talked about um a couple episodes back We did a lot of, I think it was like episode 13, 14, maybe. Maybe someone can
check that for me. I don't know. Maybe I can check it. There was, we talked about database
queries and whatnot. And I believe during one of those, uh, conversations we talked about, um,
uh, using a no lock option, right? I think we've discussed this before.
Right. That it, that it was, and specifically that it's only a hint, right? But there's this
other great hint that you might want to use, which is called force seek.
So let's say that you're doing a query, and you look at your execution plan, and you see where
it doesn't index scan, but you know that you have an index on that, and you think it'd be more
efficient that it just seek it, then you can provide another hint, which is called force seek to
hopefully tweak some extra performance out of your SQL query. So it would look something like,
you know, select, select star from table, uh, with force seek. Right. And, uh, it, you know,
it was, it was pointed out to me and I thought, oh man, that's an amazing little option that I hadn't ever noticed before or ran
across. And so I thought I'd share it.
Very cool. Wait
a second. How are you going to mention Star Wars
and sequel and not mention
use the index Luke?
This
site has got great information
on sequel indexes
and it's Oracle, Postgres,
all sorts. It's got quizzes to see
how much you really know. It's just a fantastic little site here. And because SQL never freaking
changes, even though this is many years old, it's all 100% up to date. That's not true. They've
added windowed functions and various things over over the years talk to me about dynamic sorting
they've introduced one thing according to alan well dynamic sorting nobody actually uses that
joke and paging nobody uses that wait didn't you have a tip last episode about paging i was just
saying all right well okay so so just for, it was episode 13 and 14 where we talked about everything database related that we had to talk about at that time.
That was also that second.
I believe the second of those two was the one where I lost my voice.
Totally.
Beautiful.
Beautiful.
Maybe where Froggy comes out to speak.
Yeah, it was a little rough
so good times yeah all right so that's it for this episode so uh we hope you like this iteration of
our favorite non-overlapping tools and you can check out www.cuttingblocks.net slash episode 21
to hear uh other stuff that we really like with no overlap from last
year.
Yeah.
Yep.
And we'll be back just as soon as outlaw finishes his second class set up in
call of duty with our next episode.
So that don't,
don't put that.
Cause then people are really think that I'm taking that long.
They're like,
Hey,
why haven't we got our next episode out?
It's totally,
it's totally Michael's fault because he's still setting up his class for Call of Duty.
And it doesn't even matter because we already need to turn it off.
Yep, that's true.
All right.
Well, hey, subscribe to us on iTunes, Stitcher, and more using your favorite podcast app.
And be sure to go on to either iTunes or Stitcher or wherever you prefer to get your podcast and leave
us a review. And if it's not iTunes or Stitcher, be sure to let us know. We would like to know some
of these other places that you're finding us. Yep. Contact us with any question or topic and
leave your name and preferred method of shout out. We'll mention you on the podcast and visit us at
codingblocks.net where you'll find all our show notes,
examples, discussions, and more.
And this episode specifically
will be www.codingblocks.net
slash episode 37.
And we want to hear your feedback
and questions and your rants.
So send us a message at
comments at codingblocks.net
and follow us on Twitter at CodingBlocks.
All right.
And don't forget our Slack channel.
Yes.
Codingblocks.slack.com
Yep.
Come join us
and let's have fun.
And we'll talk to you soon.
Yeah. © transcript Emily Beynon