Showing posts with label ruby. Show all posts
Showing posts with label ruby. Show all posts

The Reason Why C Programming Language Was Named C

The first thing that comes to our mind for the term programming language is C. It is a decade old general-purpose high-level programming language which has defied all norms of popularity. The language has been given the name C because it succeeds another language called B.
Cis one of the most popular computer programming languages which has existed since the last 44 years. It was created by the famous American programmer Dennis Ritchie – with the help of Ken Thompson – while working at Bell Labs. Most of us have this curiosity that why is the programming language named after a single alphabet. And why it is C, not any other letter. Anyways, we would have questioned the name of the programming language even if a different letter was used. So, let’s focus on the story instead.
The naming of C doesn’t involve any crunchy fiction story, like in the case the Linux Penguin Tux. It is said Linus Torvalds, the creator of Linux, contracted penguinitis after a man-eating penguin running at 100-miles per hour attacked him.

Because C comes after B

The reason why the language was named “C” by its creator was that it came after B language. Back then, Bell Labs already had a programming language called “B” at their disposal. The B language, a high-level language created by Thompson, was itself an implementation of the programming language BCPL designed by Martin Richards of Cambridge University.
The Unix operating system was originally created at Bell Labs by Ken Thompson, Dennis Ritchie, and others. It was implemented on the PDP-7 (manufactured by Digital Equipment Corporation in 1965) computer using the assembly language. Later, Unix was ported to PDP-11 using assembly language but the developers thought about rewriting it using B language.
The B language fell short of abilities to take benefit of the features offered by the newer member of the PDP series, the PDP-11. That’s when Dennis Ritchie started working on a new high-level programming language taking clues from B language. C had a great influence on the Unix operating system. In fact, most of the Unix system including a big part of its kernel is now available in C language.
C has been improved from time to time since its initial release. That’s the reason it’s still a part of the curriculum in many schools around the world and it is the 2nd popular programming language. The language has been an inspiration to many other programming languages like C++, C#, Java, PHP, etc.
If you have something to add, tell us in the comments below.

How To Pick Your First Programming Language (4 Different Ways)

Learning coding from scratch could be a tough task and it could take years of hard work to master a language. So here I am going to address the biggest problem a beginner faces: How to pick up my first programming language?
Recently I came across with a very enriching infographic that addressed the same question. Udacity has utilized the date of the top ten programming languages in the US (provided by IEEE Spectrum) to pick the best programming language for you as a beginner.
The basis on which this infographic is made varies from location, your lifestyle and the potential growth in career after selecting that particular language.
Based on the flexibility, Python or C++ comes first as it allows you work on the variety of fields such as gaming to making of embedded systems. JS or PHP prepares you for a web development career. Similar observations and trends are made based on the average pay per year, geography and popularity.
Take a look at the infographic below:

Did you find this infographic helpful? Share this article with your friends.

How to Clear Your Terminal History on Linux or macOS

Press the “up” arrow in the Mac or Linux command line and you’ll see the last command you ran. Keep pressing “up” and you’ll see more commands; you can go back days, months, or even years.
This is called your history, and it’s very convenient. If you made a mistake typing a long command, simply press “up” and fix the problem. If you want to re-connect to an SSH server you used the other day, simply press “up” until you see the relevant command.
It’s useful, but there’s also a potential security problem here, particularly if you accidentally typed a password in plain text at some point. How does one clear this history? Long story short, you can do so with two commands: history -c, followed by rm ~/.bash_history. Here’s what those commands do, for greater clarity.

Clear the Current Session’s History

Your history can be broke down into two chunks. There’s your current sessions’ history, and there’s your long-term history. Our first command, history -c, deals with the current session.
The history command is built into Bash itself, and the -c modifier tells the program to clear that history. This command will prevent anything in your current session from being written to your long-term history, but does not clear out that long-term history.

Clear All of Your Bash History

If you want to remove the entirety of your history, run the following command:
rm ~/.bash_history
If you don’t know, rm is a longstanding command for deleting files in UNIX-based systems. ~/.bash_history is a simple text document, which stores you Bash history.

Alternatively, you could open the file and delete any lines you’re concerned about. On a Mac, type open ~/.bash_history and your default text editor will open the file.
On Linux systems, replace open with the name of your preferred text editor, such as nanovim, or gedit. One you’ve opened the file, you can delete any lines you’d rather not keep by hand. Save the file, then restart your shell, and the lines you’ve deleted will stop showing up.

Clear Your Terminal for a Like-New Session

This one is mostly unrelated, but I’m mentioning it anyway. The command clear makes your Terminal look like you just opened a new session, which is useful if you take a lot of screenshots and want things to look tidy (or don’t want people over your shoulder to see what commands you’ve been running.)
This is entirely aesthetic: scroll up and you’ll still see your previous output. But if you’re in my line of work, it comes in handy.


What are the some of the best programming tips and tricks | Padsa Information

  • Readability is the path to more interesting projects within a career.
  • Readability is the path to knowing what you wrote 5 years ago, and makes code reuse actually viable
  • Readability is the path to acquiring protégées that can learn from your style.
  • Readability that is understandable by others allows people to appreciate your code at a level of architecture, not just functional.
  • Readability is the path of lease resistance when you have a bug in your code.
  • Readability is the how you put ideas into understandable text and syntax, much like writing a paragraph in natural language.
  • Readability is somehow not a priority for most other developers, however it’s probably pretty important to your development director, if you work for one.
  • Readability is more important than most believe. With moore’s law, it’s even more important to focus on readability than pre-mature optimization.
Here’s more:
  • Most schools and colleges teach computer science like trade school skills. How to fix a car. How to be a dental assistant. How to be an admin.
  • Most schools and colleges don’t realize there’s a difference between Computer Science and Programming. These are different.
  • Most of the people applying for job in California are Programmers, when the job actually requires a Computer Scientist.
  • Most people only know one or three programming languages. I personally believe you need to know between 7–8 of them to really master the idea of programming.
Psychology wise?
  • Most programmers are very insecure about their programming skills and end up in bandwagon debates over which programming language is better.
  • Following that, most don’t realize that each programming language is just a tool that’s better at something while other is better at something else… Like speaking Spanish while in Spain, or knowing Chinese in the middle of China down. Right tools for the job.
  • Most programmers are habituated to just google everything, that’s how they were taught.
  • Most insecure programmers rave about how “compact” their code is. Which serves very little purpose on compiled languages.
  • Most insecure programmers focus on hyper tuning a few lines of code. Good programmers focus on delivering functional and useable software.
Habits….
  • Most programmers follow the syntax and structure of the style they were taught. Very few question the style they were taught. Examples are {’s on the if-statement line, or on the next line vertically aligned with the }.
  • Most programmers don’t make diagrams before they begin experimenting. Many just copy some existing example and start their modifications from there (which runs the risk of adopting bugs from existing examples).
  • Most programmers don’t unit test. They believe they are better than that, or they are lazy.
  • Most programmers read xkcd.
  • Programmers that are computer scientists are better at computational problems.
What most don’t realize about computer science (as opposed to only programming.)
  • You can merge sort your socks.
  • You can apply scalability methods of algorithms to work labor level processes to improve business efficiency.
  • You can learn other fields and industries because CS is a catalyze for industries like physics, chemistry, rendering, etc…
  • You can apply CS methods to accounting, management, logistics, market trends, human resource management, workflow processing engineering, etc…
  • Computer science has philosophies within it that can change your mode of thinking.
Lots and lots. It’s amazing what you can do if you pay attention to the computer science bit, rather than only how to program software.
Computer science includes:
  • Hardware
  • Software
  • Programming
  • Algorithms
  • Problem solving
  • Efficiency measurement methods
  • Stability methods
  • Integration concepts
  • Computer architecture
And most importantly….
  • Computer Science History
You learn to appreciate these things when you take in CS and listen in beyond only the programming trade skill.
Either you are a viable employee… Or you’re an amazing one that could hold a position of technical leadership.
Take your time to comment on this article.

What Programming Languages Should You Learn to Become A Hacker | Padsa Information

Every hacking beginner can have plenty of doubts like: “Which programming language should I learn for Hacking ?”,

Programming Languages For Hacking:

1# For Web App / Pentesting / Hacking:

HTML: Hypertext Markup Language (HTML) is the basics for creating web pages and other information that can be displayed in a web browser. So if you don’t know HTML you should first learn it.
JavaScript: Learning JavaScript. It will help you to understand the basics of Cross Site Scripting.
PHP / SQL: The majority of web applications are written using PHP and MySQL. So it is a must to learn PHP.

2# For Writing/Understanding Exploits, Shell Codes, Rootkits etc:

C & C++: More than 60 % of the exploits you will find on the web are written in C & C ++. Learning C & C++ will help you to understand about Buffer overflows, Stack overflow etc – so learning C and C ++ is a must for every Hacker/Pentester.
Assembly: Learning assembly will help you in Writing/understanding Shell code, it will also help you in Reverse Engineering applications and software’s.

3# For Building Tools And Scripts:

Python: Python is a very powerful high-level language, it’s easy to learn and code, most of the tools and scripts for automation are written in Python. Knowing Python socket programming will help you a lot in Exploit writing.
Ruby: Ruby is an another language which is used to write scripts, tools. Metasploit Framework is written in Ruby. Learning ruby will help you understand the in and outs of MSF.
Bash: Learning Bash is very useful in writing small scripts for automation.
Hope this answers your question.
Comment below if you have any question .