" [...] that since people are the central element in software development, and people are inherently non-linear and unpredictable - such an effort is fundamentally doomed"
Saturday, April 24, 2010
Wednesday, April 21, 2010
I found a very interesting article on the MSDN Architecture Center illustrates a real life use case about scalable systems. Designing and building scalable systems is one of the major challenges of Software Engineers. A lot of best practices and patterns exist on the web illustrating the problem, but the specific design and the implementation differ in projects. This article tells a real life example of such a system and the essential steps that were done in order to build a scalable system that also handle failure without losing data. The following topics are covered:
- HTTP and Message Loss
- Durable Messaging
- Systems Consistency
- Transactional Messaging
- Transient Conditions
- Deserialization Errors
- Messages in the Error Queue
- Time and Message Loss
- Call Stack Problems
- Large Messages
- Small Messages from Large
- Idempotent Messaging
- Long-Running Processes
- Learning from Mistakes
Posted by Markus Demolsky at Wednesday, April 21, 2010
Tuesday, March 16, 2010
We did all those courses on LR grammars and concurrent software and referentially transparent functional languages. We messed about with Prolog, Lisp and APL. We studied invariants and formal preconditions and operating system theory. Now how much of that do we use? A huge part of my job these days seems to be impedence-matching between big opaque chunks of library software that sort of do most of what my program is meant to achieve, but don’t quite work right together so I have to, I don’t know, translate USMARC records into Dublin Core or something. Is that programming? Really?
According to this blog the JaxCenter provides an online quick vote in German.
Sunday, February 28, 2010
Just a quick Post:
I (and DZone readers) found this link quite interesting.
It shows technology trends and the interesting figures are not
the absulute values but the technologies that have the fastest grow.
Have a look: IT job trends - Which technologies you should learn next
Is the horse you bet on in the list?
Thursday, February 18, 2010
--branches: Pretend as if all the refs in $GIT_DIR/refs/heads are listed on the command line as
The Git community book that is (according to the website) "meant to help you to learn how to use GIT as quickly and easily as possible" start in the first chapter with a detailed explanation of the internal GIT data model instead of explaining fundamental principles of DSCM und Git. WTF? To be fair, there is a set of other documentation artefacts on the website that appear to be significantly better for starters though.
p.s.: 5min after I wrote this article, I figured, that Martin Fowler wrote an article yesterday about VCS;
Wednesday, February 17, 2010
If you develop Client or Web applications providing a User Interface you end up with questions like:
- Which GUI do we provide
- Elements (Input fields, Buttons, etc.) should the GUI contain
- What is the structure of the GUI
- and many other questions
Don't paint the GUIs on yourself, the time is too valuable to waste on it.
Monday, February 15, 2010
In his blog / twitter feed (worth following) Ralf westphal writes this:
> A "must read" for everyone interested in Software Architecture:
> About the damn being in Software Development - Coupling: http://digs.by/1Q4U
The expanded link is here.
The link references a very good Apress Book! (some pages 100 to 300 are missing).
The only thing I am missing in this book is that there are many tools out there to supervise and reduce coupling. So Event Based programming is not the only solution to complexity / coupling.
Tuesday, February 02, 2010
Tuesday, January 26, 2010
Next Generation Databases mostly address some of the points: being non-relational, distributed, open-source and horizontal scalable. The movement began early 2009 and is growing rapidly. Often more characteristics apply as: schema-free, replication support, easy API, eventually consistency, and more. So the misleading term "nosql" (the community now translates it with "not only sql") should be seen as an alias to something like the definition above [Source: http://nosql-database.org/]
The session also provides some other interesting information:
- Characteristic of Cloud Computing
- Public and Private Clouds
- Grids vs Cloud
Friday, January 15, 2010
"The research money and PBS Nova programs focus on artificial hearts when in fact all the increase in longevity comes from clean water, anti-smoking campaigns, better nutrition, vaccination and the like. These routine public health measures that no longer are exciting, so they are actually loosing ground."
Listen to the interview and share your opinion!