Articles tagged “short”
50 articles
- The surprisingly bad PhpBB PhpBB always surprised me. At every new version, [the project is rewritten from scratch][1], which is a good opportunity to finally do the interaction design correctly, and still, it's as bad as it was in June 2000 when the first version was…
- The cost of always-on, never fail It is not unusual for the companies of any size to order a website which should “never fail”. Business-wise, this requirement is understandable: if your corporate website is down, you're not giving a positive image of your company. The only issue is…
- Ascending and descending representations of quality There are many projects which start with very low expectations of the quality of the source code and project organization. The idea is to get something which simply works, start to sell it, and then, either continuously or in one brutal step,…
- Do you really care about security? A $25,000-scale project is ordered by a large multinational corporation. They claim they should be and are secure, since security is crucial for them. Ask them how much of the budget of the project is allocated to security. They won't answer, because…
- Don't ask writing good code What a surprise. After being asked for months to simply write code as fast as possible, with no thinking or testing, management suddenly criticized one of the colleagues, because the code of a new, unstable feature implemented today contains long…
- Coffee maker Take a coffee maker. What is its purpose? Its only purpose is to make coffee. It’s the only thing it does and knows. It has only one button, and everybody know how to use it. Now take the Boeing 787. How many buttons are there? How many people can…
- Eyestrain A few months ago, I left the company, but it's only today that I understood why I often had headaches and eyestrain at work, and I rarely have that when working at home. At home, I unconsciously follow the next pattern: work for ten minutes to an…
- What's wrong with SQL Server's FILESTREAM? Microsoft SQL Server contains a feature called FILESTREAM. For those who don't use SQL Server, in short, this feature allows to store very large chunks of data in a database with all the benefits and none of the drawbacks. Under the hood, Microsoft…
- 80 columns limit I recall discussing 80 columns limit a year ago with a friend of mine. It's fun to read this part now, to see how I changed, and to try to understand what could my friend tell me to convince me that I was wrong. This is the quote I'm talking about: I…
- Brooks's law in Agile projects I was recently asked whether [Brook's law][1] applies to Agile projects as well. By Agile projects, the person asking the question means actual, real Agile projects, the ones where canceling a project and resuming it several months later with a…
- Elaboration through sharing The risk of working alone is that one may start to have a simplified vision of a problem, and not being able to see beyond this simple model. This happens to me a lot; today, I have an excellent illustration of the problem. Everything started with…
- Interview questions I'm often surprised by the low quality of answers I get from the candidates during interviews. Technical questions quickly show a deep misunderstanding of the basic concepts, and I'm wondering how could it be that a person who claims being a…
- Aren't we misusing YAGNI too often? OK, I get it, I'm over-thinking and over-engineering this app. I should KISS, because YAGNI. Great. I should not attempt to solve problems I don't have. I should not attempt to solve problems I don't have. Or should I? Development is filled with…
- Written in stone On most projects, a huge amount of time is spent hypothesizing about subjects which not only don't matter, but often don't have a definitive answer. I often see programmers arguing about which one of two implementations is faster and which one will…
- Does it look like an XSLT-based website to you? The article talks about the [source website][1], the website which hosts the source code of public projects. Five years ago, I was challenged with a problem related to source code. I had to make it somehow accessible from anywhere, primary to make…
- The documentation is the spec A problem encountered by most developers and teams is that any project requires to perform a lot of tasks in parallel. Writing code implies doing a bit of design, refactoring should be done at the same time, but there is also testing, and…
- Stack Overflow make us lazy It is common to think that the purpose of Stack Overflow is to make the world better, and it does, somehow. I think that it increased the overall quality of developer-oriented resources, provided a…
- A few words about Solange project For nearly nine months, I am working on a project called Solange which consists of DevOps platform which makes it painless to deploy new projects in production. Surprisingly, I haven't written too much about it, not because it's a secret (the source…
- Comparing Java with C# I started programming in Java a few days ago and immediately felt in love with Java. As a person who have used C# for seven years, I was afraid that I wouldn't appreciate Java, would find that a lot of C# features are missing in Java, and that in…
- Simplifying systems by adding proper abstractions The original draft of Solange project defined a notion of profile and instance. According to the today's documentation (revision 1234): A profile is a generic description of a machine, i.e. a set of configuration items and operations which define a…
- Streaming input and output in Flask I always found Flask painful to use when it comes to streaming binary data, such as when I need to send a binary file or receive one. The official documentation is very sparse, explaining how to receive files submitted through a form, how to send a…
- Why do I need to install SQL Server for a simple Hello World ASP.NET MVC website? I needed to create a small server-side web-based application. The application is extremely simple, just a few lines of code. Hosting provider seems to support only PHP and ASP.NET/ASP.NET MVC, and I picked the last one, since the application may…
- Micro-services in a context of high complexity and low code quality One of the most problematic things of a software developer is how to handle the increasing complexity of a given code base and the decreasing quality of it. Code which, when originally written, was readable and understandable, looks completely scary…
- Cloud computing: a rather expensive alternative I was always convinced that buying own servers is the most stupid thing a company can do at the era of cloud computing. If I deal with servers, it is exclusively because: I love dealing with servers. This alone is enough. There are a lot of things to…
- Control Human beings want to control everything. Their lives, other people, things around them, events which can affect them in any way. The illusion of control gives them certainty, the feeling of order, the…
- Should students be using syntax highlighting? A few months ago, someone asked a question on StackExchange, wondering if there is a research paper indicating whether syntax highlighting helps or slows down the learning process of future programmers. The question was closed and deleted, so here…
- Linters and style checkers: how to save hours of painful debugging I'm always impressed with the consistency of screw-ups caused by the unwillingness of programmers to follow basic guidelines. To be more specific, I'm talking about my own screw-ups here. I've been convinced a long time ago that: Style checkers and…
- Measurement: a two-edged sword Too often, the practice of measuring things is used in place of basic thinking, and, logically, leads to low customer satisfaction and poor product quality. The major reason for that is that in most cases, measurement is dehumanizing. A customer,…
- Visual management and the everlasting tasks Nearly a year ago, I described how I implemented visual management in my company. My usage of visual management remained roughly the same, but over time, I discovered one aspect I wasn't thinking of when I wrote the original article: the tasks which…
- The harm of emotional response I can't stop noticing how emotional project managers can be, and how much harm could emotions cause to their project. A week ago, I had myself an interesting case when my emotional response during a call with a customer led to a negative conduct on…
- Questioning the goal of the project Recently, a friend of mine approached me with a rewrite of a software product. A small company where she works has a small piece of desktop software written ten years ago in WinDev¹ by an in-house developer left five years ago. The purpose of this…
- Expensive projects are really cool Following my previous article, a colleague told me a similar but much more impressive story which happened to him. Since he doesn't enjoy writing too much, he invited me to tell the story here. Six years ago, Nicolas was hired as a freelance…
- What this blog is not for This blog is a good place for rants and detailed analysis of specific subjects (but mostly for rants), I always found it a bad place for short textual content or content consisting mostly or exclusively of media. For instance, if I want to recommend…
- XY-problem and project estimates A year ago, I was working as an architect and IT consultant with a company on a large software project. The project was estimated by their in-house lead developer, and I was asked to review the estimate to check if it's correct. The only problem was…
- Blogging and plagiarism A few days ago, I was contacted by a CS student who wanted my advice on his online presence. He had an interesting CV, a decent website, and a blog which had regular articles—much more regular than mine. I enjoy a lot working with students who did…
- Users matter more than bytes and CPU cycles There is something completely wrong in developers' nature to be obsessed with performance to the detriment of everything else. It seems even that this compulsive obsession is not something we acquire with practice, since it affects even beginner…
- DRM, custom hardware and technical solutions to human problems A now closed question on SoftwareEngineering.SE asked about a way to prevent the users from getting screenshots of an application. The context is an application showing sensitive documents in a bank. While the document is encrypted, it remains safe.…
- “T-shaped” people model misuse In Handbook for new employees (PDF, 4 MB), Valve introduced on page 47 a concept of “T-shaped” people. What it means that people who want to work at Valve are expected to be both generalists—“highly skilled at a broad set of valuable things” and…
- Candy security The title of this article is a term I discovered through the book of Kevin D. Mitnick, The art of deception, page 79. It means that the company has strong security perimeter with the outside world, but once you got through, nothing can stop you. In…
- Kevin D. Mitnick's The art of deception Just finished reading Kevin D. Mitnick's The art of deception. The first part of the book contains the stories of social engineers in action. The second part is a set of recommendations. The stories are fun to read; the recommendations are sometimes…
- Identifiers in bug tracking systems One annoying aspect of bug tracking systems is the identifiers. In systems such as Jira, every time a ticket is created, an identifier is assigned to it. The identifier is based on a number which increments every time. For example, I create two…
- Silencing a 2U UPS I have a home office with a bunch of servers and network hardware. In order to protect myself against occasional problems with the power grid, I had two Eaton UPS units, but a firmware upgrade bricked both of them, so I had to buy another one. I…
- Documenting types used in services SOA and microservices trends caused the frenzy where everyone started to expose everything as a service. Large and small companies wanted to replace big systems of components with relatively unclear interfaces between them by bigger systems of…
- Lazy programmer fallacy There is, among project managers, a thinking that programmers are lazy. Programmers—they say—don't want to work; they prefer playing games or just doing nothing at all. This is all but truth. Actually, many programmers enjoy programming. They have…
- Architecture without culture I was recently watching the DeepMind's AlphaGo documentary, which starts with several views of Oxford, including a shot where half of the frame is filled with the outside of The Sheldonian Theatre, the other half showing the History of Science…
- Silencing PWS-741P-1R power supply I have a bunch of SuperMicro 2U chassis 825TQ that I use for the tasks which don't require a lot of CPU power. The original chassis makes a lot of noise. When I say a lot, I mean it. You can't possibly stay in the room when this thing is on. I…
- Beyerdynamic T51p repair I own a Beyerdynamic T51p headphones. I bought them in 2017, and a few months after its warranty expired, it started to experience a common problem for this model: the right driver would work only when the wire was put in a specific position. A few…
- How to fix VLC video freezes, audio continues problem This article explains how to fix the issue where VLC video freezes, but the audio continues to play. Whenever you come across any type of issue while playing a video in a VLC player, then, first of all, ensure that the VLC player is up-to-update. If…
- Trimming strings Regularly, I find interesting questions on Stack Overflow, that look basic at the first sight, but appear to be not that simple after all. Today, it was a question on the Russian version of Stack…
- This is what you get when you measure lines of code A few months ago, I wrote an article about a technical leader who misunderstood how to measure code quality. Trying to improve things, his only achievement was to make everything worse, because of the…