Tabs
Productivity: Is There a Silver Bullet?
Think about learning to be an architect. You have to become acquainted with mechanical drawing skills, which takes one or two semesters. Then you start honing your mechanical drawing skills. Part of your effort is in mastering the “language” of your profession, but this is hidden beneath the fabric of learning the facts and techniques of that profession.
But drawing is not the only language of architecture. Remember Alexander’s enable building habitable buildings and towns—are not, in general, capable of doing their jobs as well as they might. Another way to put this is that architects fail when they ignore the task of becoming masters of the languages they need to master.
Can you write a program which has the productive power of Watt’s steam engine?
I know Richard Gabriel opens these kinds of doors. I feel, blowing through these pages, a breeze, an inspiration which could begin to make a programmer ask herself these kinds of questions, ones that reach for the stars.
The Quality Without a Name
Most of these problems can be eliminated or reduced if the user is encouraged to build small abstractions only. This is easier if the language provides other mechanisms that help the programmer build the larger structures needed in a program, structures that would normally be constructed from abstractions.
Pattern Languages
When we couple this advice with that of building hierarchies slowly, keeping them shallow as long as possible, we might find that we have paved the way for habitability, piecemeal growth, and healthy, usable compression. In fact, if we put in place an explicit process of piecemeal growth, hierarchies will naturally grow slowly, and they are more likely to be correct, because their use evolves over time. The resulting compression also is natural, not forced, and it is less likely that the compression will backfire.
Toggles / Accordion
What is the Chartres of programming?
Van Fraassen hints at this idea: "But in certain cases, no abstraction is possible without losing the very thing we wish to study." He means that the object of interest is captured only by the name of the abstraction rather than by the thing itself. For example, when we speak of redness and go no deeper, redness disappears and all we have left is the name red.
How can we retain a correct program as it evolves?
Richard Gabriel focuses, very much, on unsolved problems, on the struggle and the path to almost ineluctable difficulties in architecture. He does not comment, perhaps enough,on the fact that these problems are solvable in practice, in fact are being solved right now. The geometry of life, in buildings, which I wrote about for 25 years, in order to attain it, is finally being attained, just now.
What are the trade-offs?
If the heart of human existence, what matters most deeply to man, woman, child, really can find its way into computer programming, and into the programs, and into the meanings of those programs, and into the actual code and substance of those programs, and into their effects—then the future world will be changed immeasurably.
How can you trust a library implementer?
Even though it was a disaster, the methodology was to modify an existing solution, and when it failed its failure was analyzed. How often does that happen in software? Almost never, because such failures are simply locked away and forgotten—perhaps the folks who participated learn something, but the project is rarely viewed by people outside the project, and there is little interest in the failure itself except perhaps because of its effects on the organization that sponsored it
Progress Bars
Animations
You can easily add one of 50+ animations to any element. Just add the class animated
, the animation name using the data-animation
attribute and optionally a delay using the data-animation-delay
attribute. For example:
< div class="animated" data-animation="fadeInUp" data-animation-delay="300">This element is animated!< /div>
For a full list and demo of all available animations, go to https://daneden.me/animate/
Alerts
Looking for more features?
There's plenty more to see around the site!
For example, have you seen the typography page? And don't forget to explore the rest of the site, for example the services, pricing or team pages.