zsh on MacOS saves your terminal history to ~/.zsh_history
If you entered a command that you don’t want to remain in your history, edit the file and delete the lines you don’t want to remain in your history, then save. Exist terminal and reopen.
Articles, notes and random thoughts on Software Development and Technology
zsh on MacOS saves your terminal history to ~/.zsh_history
If you entered a command that you don’t want to remain in your history, edit the file and delete the lines you don’t want to remain in your history, then save. Exist terminal and reopen.
Version control is an important part of software development, all commercial software development projects use some form of version control, these days it’s likely to be git but there are other alternatives. Even if you are working on your own small personal projects, get into the habit of committing your code changes frequently and pushing to a remote repo.
Why would you bother doing this even for personal projects?
I’m not talking about quantities of pizza consumed, neither Amazon’s now commonly known two-pizza rule as the ideal team size. Rather how pizza has played a common part of many firsts and iconic moments in software and internet history:
The first online sale on the internet in 1994 was reportedly a pizza sold by PizzaHut via their PizzaNet webpage, which interestingly is still up and live on their website (although no longer functional):
Solaris 2 had a demo app developed with the NeWS toolkit called PizzaTool, that was well known if you ever worked with Solaris.
CyberSlice, an online pizza ordering company formed in 1996 which facilitated online pizza ordering for other pizza restaurants even if they didn’t have an internet connection, the system automated phone calls to restaurants to place orders on behalf of customers. The system was built with NeXT WebObjects, and Steve Jobs demo’d the first online order using the system live at a press conference.
Know of any more? Leave a comment!
We write code to solve problems, to be executed by computers, but perhaps more importantly, to be understood by other humans.
Programming paradigms like imperative and declarative programming languages and data structures are abstractions of the real world that help us express the real world in code. We need abstractions because real world problems are difficult and complex, so we model them in programming code with abstractions that help us, humans, put into words (code) what it is that the computer needs to do to solve a problem.
Data structures are another abstraction that help us think about and work with data in the same way. They are a simplification, a categorization of data that helps us group and manipulate data in a way that helps us understand the data we need to be processed, but also to structure the data in way so it can be processed by our code.
Do you need to study and learn things like data structures to be a developer? Maybe not. But having a common set of problem solving tools makes it easier to approach specific types of problems and talk about how to solve these types of problems with other developers when we have a shared understanding and basic set of knowledge that we work with.