Checking whether a word is an anagram of another one can be a
question that is quite common in coding interviews.
If you don’t know what an anagram is, here is a
definition:
An anagram is a word or phrase formed by rearranging the
letters of a different word or phrase, typically using all
the original letters exactly once. For example, the word
anagram itself can be rearranged into nag a ram, also the
word binary into brainy and the word adobe into abode.
You have probably come across situations in which you needed
to convert a string into a date in Python. There are a few
ways to do that, but you may have not had the chance to use
the following method.
It’s not that it is so special that you cannot learn, or that
it is so difficult what’s going on. It’s basically a rare
conversion that you have not had the chance to stumble upon
before.
As Python is one of the most popular languages right now, many
developers from other languages may also start using it
whether that is just on a side project, or a simple script
that can help them automate some tasks.
They may have been able to see how to actually find the index
in an array, for example in Java, where you write the name of
the array and also the index in the brackets. This is also
available in Python.
If you use Python in your work, or simply for scripting,
chances are that there will come a point in time when you are
going to need to work with dates.
Since we still live in this universe where time passes, we may
need to find the number of days that have passed between one
point and another one.
We can of course pull up a calendar and manually count the
days, which is slow and boring.
One of the main pain points in the career of a software
developer is that there are too many things to learn, not that
much time available, and many different alternatives that can
make it hard to prioritize and choose from an overwhelmingly
large list of technologies that can currently be well paid in
the market.
It’s even hard to compare it with any other job. At least, no
other profession comes to my mind that could have such diverse
possibilities to choose from.
If you like Hacker News, but feel that it’s pretty diversified
and would want something that is more closely related to Data
Science, then here is DataTau.
A software bug in a Therac-25 radiation therapy machine
caused
the death of five patients after receiving a massive dose of
X-rays.
Knight Capital
lost
half a billion dollars in half an hour when a software bug
allowed computers to sell and buy millions of shares with no
human oversight.
These and many other stories tell how seemingly unimportant
bugs can actually cause so many tragic disasters.
Software is becoming more and more important and that doesn’t
seem to stop any time soon.
At the same time, this comes with the increased responsibility
for programmers who are supposed to be very careful and really
good at what they do.
Not programmers who only spent 1 night learning a few lines of
code from a book and have cold emailed hundreds of recruiters
asking for a job.
Wait, is it really possible to learn programming in just
1 night?
As funny as it sounds, there was a similar question asked on
Quora more than 5 years ago.
Unfortunately, I cannot find that exact question anymore, but
it stuck in my memory since then.
Maybe, the person who made the question was trolling, or had
an exam the next day and was hoping to get encouraging answers
to pull an all-nighter and study before the exam.
I don’t remember the other answers, but I read one answer in
there, which was really wise.
The answer was something along the lines:
Take a laptop and go to the north pole. A night there
lasts 6 months. That’s how you can increase your chances
of learning programming.
We live in this time where we want everything in a matter of
seconds.
We want fast food, fast cars, six-pack abs in 6 days, etc.
That’s the mindset that we have most of the time and we expect
the same thing to be in other areas as well.
However, the real mastery comes from a lot of work and
dedication.
You have Peter Norvig, the director of research at Google
suggesting
you to learn to program in 10 years because rushing isn’t
going to be worth it:
“In 24 hours you won’t have time to write several
significant programs, and learn from your successes and
failures with them. You won’t have time to work with an
experienced programmer and understand what it is like to
live in a C++ environment. In short, you won’t have time
to learn much. So the book can only be talking about a
superficial familiarity, not a deep understanding. As
Alexander Pope said, a little learning is a dangerous
thing.”
If you mention that to people, they may not like it, but
that’s the actual reality.
You cannot just jump from printing a few “Hello World”
statements in the console and expect to build the next Google
the other day.
I am not denying the fact that you could implement a really
nice application in a few hours, but that doesn’t come that
fast.
There is a
developer
who has already implemented 10 applications in 10 hours in one
sitting, but that’s not the result of one-night learning. He
learned a lot until he managed to pull that off.
It takes time to learn something really well.
The more you do something, the more likely you are at getting
better at it, which results in an improvement of your
performance, and the cycle repeats.
Now that you have read that, do not get too overwhelmed with
the long journey ahead of you though.
“You don’t set out to build a wall. You don’t say ‘I’m
going to build the biggest, baddest, greatest wall that’s
ever been built.’ You don’t start there. You say, ‘I’m
going to lay this brick as perfectly as a brick can be
laid.’ You do that every single day. And soon you have
a wall.”
Now, instead of asking yourself whether you can learn
programming in 1 night, a better question would be:
What is one small but valuable thing that I could learn
tonight?
People complain that it can take over a year to learn
to become a developer.
Come on people.
Becoming
a Doctor takes about a decade *and* you have to deal
with bodily fluids.
— Well Paid Geek 🚀💻 JavaScript (@WellPaidGeek)
July 2, 2020
If you use Mac and tend to copy and paste things from one
place to another, chances are, you may not be interested in
preserving the original formatting of the text. Instead, you
simply want the copied text to be pasted with the formatting
of the destination of where it is posted.
One of the common traits of people who manage to get
extraordinarily results in the things that they do is that
they show up consistently doing the work, whether they feel
like it or not.