Approximity blog home
512 to 531 of 596 articles InfoSyndicate: full/short

Forth "versus" Whatever   25 Sep 04
[print link all ]
From comp.lang.forth
 >>Which brings me to an excellent 'forthism' I once read in a
 >> newsletter.  It stated:
 >>
 >>     "You can do anything in Forth - but you must be prepared
 >>     to do it yourself."
 In a recent discussion in c.l.functional, about why popular languages
 are popular, I summarized the relationship between Lisp and Forth
 more-or-less as follows:
 "From the Lisper's perspective, every other language is a cute subset
 of lisp; whereas from the Forther's perspective, every other language
 is a cute extension of Forth."

My LinuxTag 2004 photos   25 Sep 04
[print link all ]
Some photos from LinuxTag 2004 in Karlsruhe. I especially liked the Xbox booting Linux screenshots. pics

Skolelinux: V1.0 with codename Venus is out!   25 Sep 04
[print link all ]
Skolelinux is made as free (as in speech) software, and is an overall computer solution based on school's resources and needs. It is based on Debian and runs very well on older hardware, too.
  • Skolelinux is a network architecture tailored for use in schools.
  • Skolelinux is designed to be easy and cheap to maintain.
  • Skolelinux gives the students their own usernames, home directories and services.
  • Skolelinux includes OpenOffice.org
link

RubyX   25 Sep 04
[print link all ]

I just now came across the rubyx website and noticed the logo. Nice!

Rubyx is a Linux-distribution similar to Gentoo, but all based on one ruby script :-).

screen -x for remote pairprogramming   25 Sep 04
[print link all ]
This tiny tool is great to have 2 people look and type into the same shell window. Works great with vim :-)
  • Both ssh or telnet into the same (remote) Unix machine and account.
  • One enters screen, then starts vim, then the other enters screen -x.
  • ctrl-d to exit screen)

Linux Gazette article about screen

Knoppix remastering mini-howto   25 Sep 04
[print link all ]
(Source: Daniel Stirnimann) This mini howto shows how you can easily make on your own customized knoppix build. Apart from that, there are a few working methods described which make doing changes conveniently. The howto is intended for people who work occasionaly on their builds.

link

Wine-Migration   25 Sep 04
[print link all ]
At Linuxtag in Karlsruhe I met during lunch one of the authors of ganymede. I am the last person in the world to promote the use of the Win32-API, but it can come in handy, when you have to use some legacy software on Linux and do not want to pay license fees for the usual suspects like vmware. Having to maintain only one code-base is sexy, too.

I asked David Guembel, one of the fathers of the software to email me a short describtion:

 On an abstract level, the idea behind our ganymede system is simple: To make
 an application run under Wine (a free Win32-API layer and Windows
 executable loader), it is neccessary to know what parts of the Windows API
 are actually required by that particular piece of software. Software has a
 modular structure - in this context, a module is a Windows executable
 (.DLL, .EXE, .OCX etc.) - and every module provides (exports) certain
 functionality and requires (imports) functionality from other modules.
 Thus, ganymede internally creates a dependency graph of an application's
 binaries. This method is static and does not require anything but a fresh
 installation of the software to be analyzed.

 Before x-raying a Windows application, ganymede parses and stores an
 analysis of the soure code of one or more Wine versions. It automagically
 determines the implementation state of the APIs provided by Wine. During a
 software analysis, the functionality required by the Windows application is
 compared to what Wine provides, and missing or incomplete APIs are
 reported. By storing Wine versions and the dependency structure of the
 analyzed applications in a database, automatic or manual re-analysis with
 different Wine versions is possible. Via the API ganymede itself provides,
 the collected data is accessible in several ways. One application of that
 API is our tool named sysiphus, which uses ganymede and a GUI-based
 approach to semi-automatically determine the best possible Wine
 configuration while providing for the possibility to re-use already
 licensed Windows DLLs to fill the gaps Wine still leaves.

The Linux Incompatability List   25 Sep 04
[print link all ]
Saw this on /.

"The Linux Incompatibility list is a wiki project that attempts to document hardware that is incompatible with Linux rather than list what is compatible. In the wiki, it is possible to add alternitives so as to push hardware manufacturers to make good binary drivers, publish specifications, or even better, publish open drivers."

Big Requirements Up Front (BRUF)   25 Sep 04
[print link all ]
I really appreciate Georg Tuparev’s postings to the XP-ML.
 >Because it is important for the customer to have an idea of how much
 >> everything will cost ...

 In 99% of the times customer neither needs nor wants "everything"! One
 of the big dangers of BRUF is that it imposes the wrong feeling that
 "everything" is important. This is a major distraction that inevitably
 leads to scope-creep and eventually project failures. When we have the
 first meeting with a new customer we ask the following 3 questions:
 1. What is your biggest pain?
 2. If we solve this and only this pain, will your life get better?
 3. Are you willing to pay X amount of Euros to us to solve this pain.

 If any of these questions is answered with "no" we just thank for the
 coffee and walk away. If all 3 questions are answered with yes, we move
 to the first planning game...

 Put it in another way: I do believe it is extremely dishonest and
 incorrect behavior to conduct 9 months BRUF only to reach the
 conclusion that the customer does not have enough resources to
 continue. It is dishonest because as I wrote in an earlier posting,
 _all_ good developers I know are able to estimate almost immediately
 the scale of any software project without conducting BRUF.

Case stories   25 Sep 04
[print link all ]
Been skimming the XP-ML this morning.

About the $200M Oracle-Ford Desaster: the management did not give them enough power to go fully agile

Chet Hendrickson:

 It was a very frustrating situation.  The team asked Don and me
 to help with preventing the Oracle consutants from making changes
 directly to the production system.  This was about $150 million into the project.

 We tried to sell them on a more agile approach (as you might imagine), but by
 this time they were pretty far gone.

 It was unfortunante that we were not operating at a level in the organization
 that would have allowed us to get the plug pulled sooner.

 chet

Georg Tuparev has a nice case story, too: speak out if you are put on a death march.

 Few years ago I was called to lead a huge team stuck in one and half
 year design phase. The team was supposed to build a control software
 for a network of telecom satellites. Cannot disclosed names and
 resources, but one could imagine ...

 Three days in the project I had a phone conference with the CxO's of
 both companies involved. Told them that the way it is going no
 satellite will ever fly and that I know a better way. After getting
 green line, the design document was burned with a small celebration at
 a BBQ, and 85% of the initial team members were sent to an indefinitely
 long vacation. With the rest (15%) of the team we had the first
 functioning version 2 months ahead of the schedule and 50% lower then
 expected expenses.

 So the lessons:
 - it is never late to change direction of a project in order to save it.
 - I do not agree with Kent that this is a sad story. If you are a good
 programmer put on a death march project you should speak out! If no one
 listens - walk away. There is just one very precious life in front of
 us - do not waste it! And if these folks wasted 2 years of their lives,
 well, it is their business ... but they should not expect my
 sympathies.

 BTW, Philip is right - the project I was telling about had a 9 months x
 40 people "Big Requirements Up Front"!!! Then the design started...

 Just my 0.02

 Georg Tuparev

.. like Xmas   25 Sep 04
[print link all ]
I came across this nice discussion between Phlip and Juergen Ahthing in the XP-ML
 "Without test-first and refactoring, clients think
 they must assemble as many program requirements as
 they can afford to have written. This effort snarls
 all relative business priorities together, making
 Scope Control impossible. It obscures opportunities
 for simplification. Designing and implementing many
 features all at once is very hard, leading to our
 industry's reputation for very large failures. Putting
 tests in front of development's inner cycle permits an
 outer cycle of incremental feature growth. That
 relieves the Customer of the responsibility to predict
 the future and guess which complete set of features
 will maximize productivity."

.. Juergens answer:

 Nice description.
 Sometimes I try to explain that to non technical people
 with the following picture:

 If you have only one chance to get your wishes on a
 list, it is like Christmas for a child. You make sure
 you get every little wish on that list and hope for the best.

 If you are sure that you can get your wishes on the list
 at any time. You will just put the most important ones
 there which come to your mind easily.

CIO magazine current issue all about agile... (IT oriented, but)   25 Sep 04
[print link all ]
Denis Haskin posted this to the XP-ML. lnik
 I assume this popped up on everyone else's RSS aggregator as well, but...
  From Darrell Norton's blog [1] and Artima developer forum [2]: the
  current issue of CIO magazine is all about agility:
  http://www.cio.com/archive/081504/index.html

Hang the code, and hang the rules   25 Sep 04
[print link all ]
Douglas Seelinger posted this in the XP-list:
 A quote from "Pirates of the Caribbean: The Curse of the Black Pearl":
 --You're pirates. Hang the code, and hang the rules. They're more like
 guidelines anyway.

[XP] Alistair interview on IT Conversations   25 Sep 04
[print link all ]
I was just sent the link for an online interview about agile development. The interview was done last month, it got posted yesterday. You don’t have to register to listen

link

[XP] RSS for Xprogramming blog   25 Sep 04
[print link all ]
link

What is XP?   25 Sep 04
[print link all ]
Ron Jeffries posted this well known Kent Beck quote in the XP-mailinglist. They talk about the 2nd ed. of XP Explained by Kent Beck.
 But anyway, when I last asked Kent what XP is, he said
 "XP is a community of software development practices based on
 values of simplicity, communication, feedback, and courage".
 That was about two or three years ago.

 I look forward to seeing the second edition as well.
 I'm sure it will be enlightening ...

Working on a book: Driving Software Projects with Examples   25 Sep 04
[print link all ]
Brian Marick posted this to agile-testing.

I’ve started work on a book, tentatively titled _Driving Projects with Examples: a Handbook for Agile Teams_. All that’s done to date is the Preface.

Two years ago, this would have been about driving projects with tests, but I think the role of examples in projects is larger than that. Also, examples fit more obviously into the whole "individuals and interactions over processes and tools" thing. Examples are something people use to explain themselves to each other. Conversations and learning are more obviously part of the picture.

Because I’m so hot on examples, I’ve put the draft book on a new site, exampler.com. Here’s the book: <www.exampler.com/book/>

(And, rather than "QA", "tester", or even "ECaBian", "exampler" might be a good name for those people on an Agile project that exhibit certain traits more strongly than other team members.)

Some of you practice the style of development I’m documenting - or variants of it. If you do, I want to talk to you, be it on the phone, or via emai, or in person. (I am budgeting travel money to visit worthy sites.) I’m serious about the "handbook" in the title: I want to fill it with tricks, tips, techniques, and stories. The more people I gather them from, the better the book will be.

Unit Tests -- just do it!   25 Sep 04
[print link all ]
Been coding a lot these days on SmallWorld. I try to be disciplined and continue adding unit tests to the hundreds of unit tests wherever sth. could go wrong, but ever again I go off the track and code several methods and even entire classes without any tests. It’s simple stuff and hey, this is ruby :-).

Then I sit here for 3 hours trying to understand why the dammed computer does not do what it should. It’s that feeling I hate most. You waste time .. I mean I could as well go skiing or drink a bottle of vodka .. would be about the same productivity progress on my code and at least I would enjoy the sun.

After hitting my head long enough and starting to isolate the stuff .. I found it .. I had forgotten one return in a most trivial three line long method. Shame on me. Now I will go back to being test-infected. test-first is even better. Dammit .. sorry for the rant, but I doubt there are many systems like computers where one comma at the wrong place can make everything go boom. Oh well, try to modify the DNA and do not know what you are doing. :-).

XPlorations: The Humble Yo   25 Sep 04
[print link all ]
(Source: Bill Wake) "The Humble Yo" The humble "Yo!" is a simple convention for getting help. link Nice explanation of why not asking for help can actually hurt the team.

XP style process and battle-fields   25 Sep 04
[print link all ]
Not that I want to promote war in any way, but these posts in the extremeprogramming-ML made me smile:

Phlip:

 During the planning game, you review last week's
 finished stories, and they inspire you to write some
 new cards, to edit some cards, and to toss some cards.
 Then you (the Onsite Customer) re-sort all the cards,
 and draw off the top batch for the next week.

 But another input into this system that affects the
 planning game - the competition.

 The USA occupied Iraq using an effective new battle
 technique. In traditional advances, you send a
 diversionary force against one of your enemies flanks,
 draw them that way, then send your main force against
 their other flank.

 Modern soldiers, with cell-phones and such, follow a
 more agile approach. You simply send two forks of your
 forces, probing towards both flanks. You use sensitive
 algorithms to detect the defending commander's
 decision which flank to defend. If you can rapidly
 turn one advance into the diversion, and the other
 into the main attack, you will soon collapse the
 opposition's ability to effectively make decisions.

 Agile onsite customers can play this card too. If you
 detect your competition's marching orders, in
 real-time (using either sensitive algorithms,
 good-old-fashioned industrial espionage, or just
 reading their self-congratulatory Web site), you can
 then request iteration features which provide the
 minimum amount of code needed to start your project
 towards blocking the competition's advance. This
 technique will, again, collapse the competition's
 ability to make decisions.

 Or convince them to hire an XP coach or three. So
 either way it's a win-win-win for us! ;-)

Steven’s reply: :-)

 Or you could follow the agile strategy that Microsoft
 pioneered - announcing products with your competitions'
 features before you even start implementing them.

 

Powered by Rublog