Reinstall

Reinstall

Try again

re:Install.com RSS Feed
 
 
 
 

Welcome!

We reinstalled Reinstall, and things are slowly getting back to normal.  We have a number of things here for you, all around the reinstall theme. 


Architect's Trail blog

Thoughts and musings about software and architecture from someone in the trenches. 

Scalling Software: The Software Architecture Cookbook

Reinstall a software architecture over that organically grown collection of code and files that suffices as the current architecture. The Software Architecture Cookbook guides you in making an active choice of the application architecture, and how to evolve it through the product lifecycle. Along the way you'll learn how to improve the architecture, optimize it for scability and performance, and even, if necessary, how to migrate it to a completely different architecture.

Resources

"Don't you remember it?"

"I wrote it down so I wouldn't have to remember it."

Language Comparison Chart

You already know how to code in one language. Coding in another is simply a matter of taking what you know how to do in one and learning the symantics and structure of another. This chart show equivalence across languages, making it easier to code in, say, PHP, when all you know is Java.

Data Structure Big O

Seemingly obvious reference material is sometimes hard to find. This chart shows the Big O behavior of many data structures in the CRUD operations: create, retrieve, update, and a delete.

Data Structures By Language

If you find yourself coding in several different languages, it doesn't take long to know what you want to do but to be able to remember the language specific way to do it. This table makes it easy to find the syntax of the data structure you need.

How To Solve Problems

If you can solve problems, particularly if you are good at solving problems, you have developed a logical internal method for tackling the problem and arriving at a solution(s). There are a number of books on the subject, offering suggestions on how to be better at solving problems. This offers a complete, tested method for solving problems. You'll rarely, if ever, go through it step by step, but hopefully it will trigger some new ways of attacking the problem.

SQL Normalization

SQL normalization comes up frequently, even when the discussion is around denormalizing rather than normalizing. I put these examples together after reading a few dozen SQL books and realizing that several authors had different ideas about what exactly normalizing meant.

How To Design Classes

Designing classes is hard. It must be, because most books on OO punt with something like "requires experience." Huh? That doesn't actually help you design classes, does it. Well, I'm here to help, with a combination of Data Driven Design (ie. finding the nouns) and Responsibility Driven Design (ie. finding the verbs), along with suggestions for improving the quality of the resulting classes.

Architectures - Design Patterns - Idioms

A lengthy compilation of architectures, design patterns, and idioms, organized by scope and type. I thumb through this list frequently when trying to come up with "the best" (we're always looking for the best, aren't we?) architecture to solve a given problem.

Architectures - Design Patterns - Idioms

A lengthy compilation of architectures, design patterns, and idioms, organized by scope and type. I thumb through this list frequently when trying to come up with "the best" (we're always looking for the best, aren't we?) architecture to solve a given problem.

Synchronization Methods

There are a lot of ways to handle multi-threaded environments, and locking is only one of them. In fact, straight locking is usually the first choice and often should be the last choice of the developer. This list offers suggestions for avoiding locking altogether, or for choosing something higher performance than a vanilla mutex.

OSI 7 Layer Model

The OSI 7 layer model is a conceptual design. When applied to the internet, the layers get a little wonky, and don't exactly add up to 7. This table summarizes a lot of useful information about networking on the internet.