Not so long ago one of our colleagues left the team and joined one company developing software for embedded systems. There is nothing extraordinary about it: in every firm people come and go, all the time. Their choice is determined by bonuses offered, the convenience aspect, and personal preferences. What we find interesting is quite another thing. Our ex-colleague is sincerely worried about the quality of the code he deals with in his new job. And that has resulted in us writing a joint article. You see, once you have figured out what static analysis is all about, you just don't feel like settling for "simply programming".
Today I want to offer to umumble lovers this small set of applications that are intended to increase productivity while working with the frontend. If you will not find your favorite app here, then you are very welcome to make some comments!
This beautiful form builder helps you to create the most marvelous CSS login boxes and other input items in very short time. Besides the forms on the website of this project, you can create other equally beautiful CSS elements including buttons and ribbons.
I'm joking about Linux, of course. Nevertheless, this question really interests me. I understand that systems they work on in Microsoft are large and complex. I know very well that bugs may be detected by users only some time later after release. But I don't understand how can one simply not notice obvious bugs in the tools the developers themselves are meant to use regularly?
A few words about classic mistakes to start with. Everything's clear about them: developers may well miss them because they are not the end users. A good example of this is an error in one of the Microsoft Visio versions. It was the 2010 version, I suppose. When you started typing text in Russian into a Basic Flowchart block, it was being typed back to front. I can understand it. Someone has mixed up things and decided that words are written from right to left in the Russian language. Russian and Arabic are absolutely the same, or very similar at least. There were no Russians among testers, and the error got into the release version. I can understand this case.
I decided to fool around a bit with the plugin and the picture to attract your attention. A whole lot of articles on programming regularly appear on the Internet, but most of them are unfortunately brief and all about nothing. But we are sure that our material is extremely useful, and it will be a pity if it remains unnoticed. We tell our users in every detail about how to develop plugins in C# for the Visual Studio 2005/2008/2010/2012 development environment. This material is based on our own experience and describes some subtleties you won't read anywhere about.
Here are seven tools that can significantly simplify the life of a web developer, coder or designer.
This is a tool for selecting fonts. Wordmark.it allows you to see how a sentence looks like with all the fonts installed on the computer. It downloads quickly and has convenient filters. Unfortunately, there is no way to set the background color and letters.
I have little experience (summarily I have been working as a programmer nearly for 16 months), nevertheless, I would like to give some tips to myself in the past, or in other words, to those who are studding now at the university and planning to become a software developer. I do not have a claim on wisdom or experience on no account. While thinking a little, I understand that all these tips are very actual for me more than ever too. I published the first note in my blog last year, and now I am publishing here the list expanded with tips of the readers of this blog.
All tips are independent and their order does not matter.
1. Learn a new programming language
Learning the new programming language will develop new ways of thinking, especially if the new language uses a paradigm that you do not know yet. Many of the acquired ways of thinking could be applied to the languages that are already known. Perhaps, you might even like the new programming language, and you will start using it for new serious projects.
Here are some good languages that give the great educational experience and cognitive effect: Lisp (Scheme is good), Forth, PostScript or Factor (stack-oriented programming languages), J (wonderful array programming language), Haskell (strongly typed purely functional programming language), Prolog (logic programming) and Erlang (concurrent programming goodness).
2. Read a good programming book
A lot of knowledge could be found in the books. Undoubtedly, a practice is also important, but reading one challenging programming book might help you to challenge your thinking and to enrich your knowledge. Here is a list of such challenging books: The Art of Computer Programming (if you want a real challenge), Structure and Interpretation of Computer Programs (SICP), A Discipline of Programming or the famous dragon book.
Of course, you can read less complicated books as well, but you try to go around books such as “For Dummies” that promise to teach you in 24 hours or 3 weeks. These books will not do any good for you in terms of improving programming skills.
Hello my dear umumbleuser! In this post I am going to discuss the sleep and productive activity. I am interested in the topic of my own productive sleep. The last few years I thought that the sleep is just a waste of time, and therefore, I tried to shorten the time of my sleep. But the more I did it, the more I began to look like a zombie, and then I began to look for an alternative. Consequently, this post will be a synthesis of all the information I found. Let us begin!
We learn during our sleep
I would like to begin that sleep is not a waste of time. It was a great discovery for me. Our brain does not rest during our sleep, it processes the information. All the time while we are peacefully sleeping and dreaming, the brain is processing all the received information for the day. What it finds useful it puts in long-term memory for years to come, but that is not needed it throws out. Thus, when we are awake, we only collect information for further processing in our sleep. So, how does this happen? Here we need to get acquainted with concepts such as the types of sleep.
The PHP blog touts more often the examples of bad code and anti-patterns. Well, someone else is criticizing the Hindus for the code ...
The code quality is something that should not be ignored or put aside for later. Such a delay is technical debt or code debt that will backfire for sure. You have to spend more time creating quality code and application architecture.
It is highly recommend to read Uncle Bob's principles of SOLID: butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod.
This text can greatly improve your ability to build scalable systems, particularly the principle of SRP.
Perhaps, the title of this article may be misleading, but the most of those that have been doing the programming and the designing of software products for a long enough will understand, what will be discussed further in this article. In the first place, it is addressed to the independent developers.
Let us ask themselves a few questions. How often do we rewrite the code from a scratch and try to improve it? How often do we change the design of an application during its development? Do we work too long with each method (or function) and try to think through all aspects of its use? Do we think that any programming serves as a lesson and source of experience? Do we try to use something new in the new code in order to develop ourselves? Do we pay more attention to the laconic brevity / beauty of code than the laconic brevity / beauty of applications in general?
If we answered yes on the most of these questions, congratulations - we are suffering from the perfectionism.
How can perfectionism ruin our life?
Let us start with the fact that the ideals do not exist in our world. We have to get used to this idea and try to live with it. There are no resources that will allow to write the perfect application or just the perfect code, whether we like it or not.