Let a Baby Pick Your Passwords

Random Passwords Are The Way to Go

If you care about the security of any of your accounts you would be sure to pick a strong password. If you don't care, then sure, go ahead and set your Password1 or 1234567 password. But seriously, as a person who has worked in technology for years now, you would be surprised how many folks have the simplest passwords.

Use a Password Safe

Use a password safe and then you can probably get a baby to pick a nice random password for you. Really, I let my son play with my laptop for a bit (the fun stops when he starts pulling keys out) and this looked nice and random. But be wary of the spaces (not all systems support a large character set). Most password safes support creating random passwords for you if you don't have a baby handy!

If you want to take security a step further, memorize a part of your password and store the remaining part in your password safe. That way, in case someone manages to hack your password safe, they're left with random passwords that are meaningless.

Birthdays, Pets' Names, and Telephone Numbers

No, I am not recommending to use your birthday, nor your pet's name. Well, not really. You can do so, but change it ever so slightly. One suggestion is a Caesar cipher. If you have a dog named, "Fido". That can be converted to "Svqb". This can be your part of the password that you have memorized. The rest of the password can be in your password safe.

Obviously, you'll need to rely on your memory. But the key is to be secure while allowing yourself to remember how you have secured it. There are a lot of simple, yet effective tricks to creating strong passwords. If you want to be secure, start with strong passwords.

This text has been secured with ROT13 twice for maximum security. ;-)

By Adrian Cruz | Published Dec. 2, 2013, 7:47 p.m. | Permalink | tags:

Prepare for Your Interview!

So, We're Hiring

So, I've been interviewing candidates lately and well...you'd be surprised about some of the candidates that come in. No, really. Maybe they had an off day, maybe they were super nervous. But, here's a guideline (more or less) on how to beat that technical interview.

Prepare to Solve a Problem

What I'm looking for when I interview is not silly trivia that you can search online. I honestly, hate questions like that. What I am looking for is to see what it would be like to work with you. No trick questions, no need to memorize all available methods in a specific class, et cetera, nothing but seeing your problem solving skills. That being said, practice solving some problems. There are a whole bunch of sites where you can find problems and sometimes their solutions.

Speak Up, Speak Slowly

So, I like to give small problems that can be finished within an hour. I purposely state the problem with minimal details as possible. Why? Well, I want you to ask questions! So speak up! I like to get to know how you think things through, so ask away! You would be surprised to see how many candidates that would just dive into coding.

tick. tock. tick. tock. Yes, the time is ticking, but that doesn't mean you need to start rambling on in a jibberish manner. So, if you are anything like me, you end up talking faster and sometimes blurting out things that don't make sense when you are nervous. Yes, I mentioned that you should speak up so I can know what you're thinking, but that doesn't mean I need to know everything that comes out of your mouth. Think about what you want to say and try and speak slowly.

That said, here is a small list of things to study:

  • Your CV!
  • The company you are interviewing for
  • Data Structures
  • Algorithms
  • Design

Regarding my short list...

I truly mean study your CV. Do not do a keyword stuffing just so your CV looks good. If it's listed on your CV, that means it's fair game to ask you questions about it.

Also, please do research a bit about what company you are interviewing for. It shows the interviewer that you show interest and you're not just sending out your résumé everywhere looking for a job. I mean after all, you're going to spend something like 70% of your time at work, you probably want it to be a place you enjoy coming to!

The remainder of the list is a given. I'm sure you knew that you should be studying data structures and algorithms already anyhow!

Cheers and good luck!

By Adrian Cruz | Published Nov. 15, 2013, 4:56 p.m. | Permalink | tags:

Today I Learned: Bootstrap Has Built-In Code Blocks

I was thinking about how I was going to handle sharing code on this site. While I can surely use a GitHub Gist, it is obviously not ideal for sharing small snippets of code.

So for example: This is code. No, that really wasn't code, but you get the point!

To use it, just use: <code>{your_code_here}</code> Look at that, I got to show another example! ;)

By Adrian Cruz | Published Oct. 16, 2013, 3:42 p.m. | Permalink | tags:

Interview With a Stranger

So, I recently met a bunch of guys at a meetup. They were discussing the way their respective companies do interviews. I became intrigued, introduced myself, and we began to chat. For the majority, they either gave "homework" problems to solve or do some pair programming. So then, the fun part: interview questions.

For the most part, the questions were fairly easy; especially since some interview questions were so common that even I have used them when interviewing a candidate. But then, one of the guys wanted to test out an interview question and singled me out. He even wrote out on pen and paper the expected input and output of the program. I was really surprised! But most of all, I was now ridiculously nervous!

The Problem: Write a function that takes an input String array of names to pair up participants in "Secret Santa". The function should return a two-dimensional String array of the chosen pairs. Sounds easy, right! Yea, it should have been, but for whatever reason, my mind went blank.

I stumbled around with my words; probably said, "uh um" a dozen more times than I usually do. It was like I totally forgot how to program. It was humiliating!

The fellow was nice enough to give me hints as I finally started to find the right approach, but the solution was pretty sub-par. I hang my head but laugh it off. Me as an interview candidate: FAIL.

Now at home, that problem bugged me, so of course I took to an actual implementation. I finally was able to sit down and take my time with the problem. My issue was that I didn't attack the problem with the correct data structure. I was too busy fiddling with getting a random integer to get pairs, while I should have just shuffled the list, and used that list as a queue. Sheesh!

TL;DR When you are interviewing, try and relax, breathe; if you think you are over-thinking something, you probably are. Remember all of your data structures you have at hand!

Here is what I find a more acceptable solution than what I originally wrote out. So, to that fine gentleman that I met the other day, please excuse my poor coding the other night!

By Adrian Cruz | Published Oct. 11, 2013, 9:04 p.m. | Permalink | tags: coding interview

Yes, This is Bootstrap

As you may (or may not) know, I am _not_ a designer. So, hence the Twitter Bootstrap.

I can probably dive in and learn some CSS, but to get my site "bootstrapped", I can go live with someone else's design. I'm sure that one day I will decide that this site needs a makeover and at that point, I will concede to wanting to design it better.

But for now, enjoy! Cheers!

By Adrian Cruz | Published Oct. 10, 2013, 5:33 p.m. | Permalink | tags: css