My oh my what have we here…
Did you ever get scared about modern Software being all too intelligent, that it would finally take control and such? Don’t be.
Did you ever get scared about modern Software being all too intelligent, that it would finally take control and such? Don’t be.
At our office in Cologne, there is no staff canteen. So we either have to eat out, or go the the super market next door and cook something for yourself. There are also to internal mailing lists, where people can organize lunch together, and the most popular one is the “salad group”. One person acts as so-called “salad manager”, which suggests a menu and organizes everything, one or two persons go shopping to obtain all ingredients, and everybody who wants to helps cooking.
Once in a while few of us R&D guys join them, but we prefer something more meaty for lunch.
Having been to Klagenfurt one day last week, Sven and I had our own version of the salad group for supper there: Spare ribs salad with chicken wings, meat slices and corn as side order!
Having found a blog entry at Simple Thoughts (granted, without source), that Steve Ballmer admits Windows Vista is a work in progress. Well, who would have thought.In the same context I stumbled over the following manual, created by a power user, how to correctly install Vindows Vista on a box. And what a box preferable to use. See for yourself:
Having not used MS Windows for a long time at home, except maybe for gaming, which I don’t do really often these days, I don’t know pretty much about the tricks and tweaks of this really pretty operating system since version 2000. Finally at my job here I’m forced to use it again, despite there is absolutely no reason for it, as nobody uses office documents anyway. All the documentation stuff is kept in our confluence wiki and nowadays Lotus Notes works pretty well on Linux.But now, being assimilated, I had to work with what I have. So let’s see how it’s going.
Besides a proper shell interface the most important thing I miss in Windows is a working sloppy focus. I just love it! Someone, I don’t know who, told me there might be some sloppy focus utility in these PowerToys, but they pop the windows selected on top of the stack after a timeout, so I’m hardly gonna like it. So, unfortunately, I had to go somewhere else and found a pretty good working sloppy focus utility named True X-Mouse gizmo which not only offers a sloppy focus as on all *nix/Linux desktops, but also the nice “copy-on-select/paste-on-middle-mouse-button” feature what would have been the next on the list. The licensing terms are funny though:
Usage is free, but only those who have sent a postcard(*) are entitled for support:-) Postcards with a view over your home-town or other local sight signed with encouraging words and your E-mail address are to be sent to<snip>name and address of the author</snip>(*) Employees of Chalmers University of Technology don’t have to send a postcard.
Having used several of these utilities at the beginning of my former job some six years ago, when I had not switched to Linux there, I tried out the first three I found and ended up with VirtuaWin. It offers a pretty customizable interface so you can hook up the screen switch onto the keys you’re used from your favorite operating system, or you may click on the tray icon next to the clock. It’s even pluggable so you can add features like the cool desktop name which fades out you might know from WindowMaker.Licensing is GPLv2.
As mentioned above there also is no proper terminal on Windows. Sure, there’s this “cmd.exe” or whatever it’s called these days, but It doesn’t work for me: rudimentary tab completion, slow rendering of outputs, and this ugly windows command syntax. So the next logical step is to get Cygwin for Windows, which by default offers a ported native bash environment inside such a “cmd” terminal. This leaves the ugly handling of this window, including cranky buffer configuration, resize issues and the IMO very slow renderning of text output, e.g. when tailing a logfile which writes hundreds of lines in just a view seconds. How nice a simple xterm would be…So just install it. Cygwin offers you to install a X server, namely XFree86, out of the box. The only issue here is it’s not pretty straight-forward to configure, I had a hard time to get it up and running as such, as the Cygwin guys have done lot’s of customizing here.Maybe take a look at the X live cd, they package the Cygwin X environment onto an autorun-cd for Windows: push in, click “start x” and you have a full-fledged X server running on windows with native xterm and all the basic utilities you need (at least I need) in my day-to-day work. It also offers an “install to hard drive” option, but this doesn’t work pretty well either. Unfortunately I haven’t taken notes for a walk-through, maybe in the future…WHEN you have it, finally, up and running, you basically have two options how to configure your X-Server:
I decided for the latter option, for the sake to only have one environment, even if I don’t like it. Works pretty neat, having finally a xterm running screen running nice utilities I never wanna miss like tail, grep, ssh or find. OK, it’s not perfect, but hey, it’s usable…
Really… after all that architecture nonsense and fruitless “platform” development (like in “fill the svn with a crapload of thingies which are ignored and reimplemented anyway”), the old question: “Yeah! But is it ART???”. How could web application development possibly benefit froum our efforts?
Today, I came across my first new component that did, for a change, require no big deal of “platform” implementation. In the unyielding hope, that this at one far day might become the rule and not the exception, I’d like to shed some light on the details.
When you build a web application using maven2, there are funny log messages in the output, if you care see them:
[INFO] [war:war]
[INFO] Packaging webapp
[INFO] Assembling webapp[commodities.view] in [C:\code\commodities.view\target\commodities.view-0.1-SNAPSHOT]
[INFO] Processing war project
Whom is this maven thingy going to attack???
© derlanders
If you’re not familiar with FAD, then you’ve been missing out. Essentially, FAD is a fundamental paradigm shift over the “traditional” and “neo” ways of building software. Not only does it surpass every other software development methodology out there, it solves every problem there is to building software. And then some.
The FAD Manifesto
I. Front Ahead Design
The essence of FAD is conveyed directly in its name: design your front-end/user-interface first, ahead of everything else. The customer could care less what’s behind the scenes, so long as it looks good and does what it’s supposed to. Deliver a working front-end first and then Do What It Takes to fill in the functionality gaps.II. Do What It Takes
Other methodologies are great at delivering excuses. How many times have you heard (or have been told) “we can’t do that here because it could throw off the whole design?” In FAD, you just do it (that would have been the bullet point, but Nike has it trademarked). To get it done, you Do What It Takes. Your customer will love you.III. Code Light, Not “Right”
A traditional methodology calls a complex framework with layer after layer of objects. In those ways, adding a simple value to a form can be a monumental task, requiring it to be added to every single layer. Does that sound right? Proponents of the other methodologies will tell you it is, but what about your customer? With FAD, you just Do What It Takes to add the functionality to your interface. No more.IV. “Throw Away” Diagrams
Think of all the Visio diagrams you’ve drawn over the years. Sequence diagrams, context diagrams, flow charts, and so on. Was that really productive? Did your customer ever see any of those? Were those diagrams even relevant after the system was finally developed? Didn’t think so.In FAD, all diagrams are made on a disposable medium. Whiteboards, napkins, even your forearms work. And there is no formal modeling language to battle with: just Do What It Takes to draw and explain your design to other developers.
V. Life Is Short (a.k.a. Patchwork)
The average software system has a life expectancy of seven years. No matter how “properly” the system is designed from the start, within the first year of its life, maintenance programmers unfamiliar with the complex architecture (and having no help from out-of-date documentation) will turn the system into a complete mess with bug fixes and change requests.In FAD, this isn’t even a concern. We know the short life span of a system and develop every feature (from the interface) as a patch. Maintenance programmers can come in and Do What It Takes to add their patches. In FAD, we don’t even try to stop the aging process. We encourage it.
VI. Learn To Deal
Many other methodologies focus on delivering “quality” (as in “bug free”) software. And guess what: they fail. Miserably. No matter how hard you try, software will have bugs. In FAD, we just learn to deal with it, and we encourage the client to do the same. So what if the application crashes when you click that button that way? Don’t click the button that way, and learn to deal!VII. Be Environmentally Conservative
In the real world, there’s only one environment: it’s called The Real World. So why do some methodologies invent these counter-intuitive, bizarro environments called “QA” and “UAT”? Do architecture firms construct an entire house before building an addition on yours, just so they can “test” their building skills? Of course not, and neither should software developers. In FAD, there’s only one software environment: Production. Anything else is pollution.
FAD Application Design
NOTE: First and foremost, understand that the FADAD is merely the preferred method of building applications. Because in FAD, we do what it takes, a lesser or more in depth approach can be used as needed.
Many of the tenets of Front Ahead Design are based on the failings of other methodologies. FADAD is no different, and draws some of its key facets from the archaic Model-View-Controller architecture. In MVC, there are three different components: the Model (the data), the View (the UI), and the Control (everything else).
If you think about it, two of MVC’s components are nothing but dead weight. All anyone – including the client – really cares about when all things are said and done is the View. Therefore, in FADAD, our guiding architecture model is simply called “V”:
The H/YPE Framework: The FAD Developer’s Best Friend
If there’s one thing that’s frustrated just about every developer out there, it’s “untouchable” library code that almost does what you need it to, but not quite. For FAD developers who chose to use the H/YPE framework, this is not a problem.
Unlike the stodgy libraries of yesteryear, H/YPE is not a “compiled” library. It’s a set of cross-language codefiles that can be copied to any application, and is designed to “live” with that application for life. Don’t like that 48 plus 92 is not 4892? No problem! Just edit MathHelper. Here’s a small subset of what comes in H/YPE:
- HYPE.StringHelper – all sorts of functions like IsEqual, AreEqual, Add, Subtract, Join, DoubleJoin, Encrypt, and Decrypt
- HYPE.VHelper.HTML – the ultimate HTML library including functions like WrapInCENTER, UnHTML, ToHTML, and ScriptBlock
- HYPE.Audio – everything you’d ever want to add audio, including Beep and BeepMore
But Wait, There’s More: Certification!
No, I don’t mean to sound like our good friend Ron Popeil, but before wrapping things up here, I wanted to tell you about the latest excitement in the world of Front-Ahead Design: certification!
Just last week at the International FAD Conference in Azerbaijan, I joined several other FAD leaders to formally announce the first official Front-Ahead Design certification program: the Fadstronaut certificate. Why Fadstronaut? Because we felt that the astronaut was the best analogy for the challenges and difficulties that FAD software developers face each day.
Becoming a Certified Fadstronaut is easy, but not too easy. All you need is one year (1,000 hours) of verifiable FAD development experience, and you’ll be eligible to sit for the Fadstronaut certification exam. Score in the 50th percentile, and you’ve earned the designation Certified Fadstronaut!
I hope that gives you all a good idea of what FAD is all about. Believe me, there’s a whole world more of FAD out there. That said, I hope to see some of you soon at the Worldwide FAD Meeting in Buenos Aires next month!
http://thedailywtf.com/Articles/FrontAhead-Design.aspx
Blurps