mercredi, mars 24, 2010

Getting Haskell XML Toolbox to run on windows

First of all, as of today (march 2010), you have to use the version 8.3.2.
you'll need to install tagsoup-0.6: link
cabal install tagsoup-0.6

then you'll need to install curl:
basically it does not work.

you must install cygwin with curl libraries installed.

running cabal install curl under cygwin will give you some errors even when following these advice: Installing curl from hackage on Cygwin
but do the asked copy anyway because, it maybe useful for the final solution.

you can also try to run these commands instead of running cabal link
download curl from http://hackage.haskell.org/packages/archive/pkg-list.html
cd xxx/curl-1.3.5
runhaskell Setup.hs configure --extra-include-dirs=c:/SandBox/cygwin/usr/include --extra-lib-dirs=c:/SandBox/cygwin/lib
you'll get an error but continue with the next commands.
runhaskell Setup.hs build
runhaskell Setup.hs install
it will tell can't find curl lib.
I can also remember that I had to hardcode some values in curl.c because it could not find the ones defined in curl.h

What I finally did, and I think that is the only thing you need to do:
get the win32 generic version of libcurl from http://curl.haxx.se/download.html : http://www.gknw.net/mirror/curl/win32/curl-7.20.0-devel-mingw32.zip
extract the zip
copy all the lib/*.lib in the lib directories from cygwin and haskell_ghc
copy bin/*.* in the cabal_haskell/bin directory where tagsoup.exe is already present.

install hxt
then either run cabal install hxt-8.3.2 or download the hxt package and run
cd xxx/hxt-8.3.2
runhaskell Setup.lhs configure
runhaskell Setup.lhs build
runhaskell Setup.lhs install



vendredi, mars 19, 2010

Getting Haskell Running on Eclipse - 2010 updated

I wanted to get Haskell running on Eclipse so I tried to do as the video below is saying:

The problem I got when following the video is that it did not work exactly as shown, so, here is my modest contribution to give additional hints on how to have Haskell running on eclipse.

install haskell eclipse plugin
get http://hackage.haskell.org/platform/
install
get http://cvs.haskell.org/Hugs/pages/downloading.htm
install
get http://www.haskell.org/cabal/download.html
execute "cabal" in a dos windows and follow instructions
http://imonad.com/blog/2009/10/installing-haskell-plugin-for-eclipse/
in C:\Program Files\Haskell\bin
execute "cabal update" in a dos windows
execute "cabal install scion" in a dos windows
in C:\Program Files\Haskell\bin you should find scion-server.exe that you'll need it in haskell preferences.

dimanche, février 28, 2010

Innovation: a bunch of posts that I appreciated

Innovation for the Long Term (Three Horizons model)
3 Horizons:
  • Horizon 1: Extend and defend core businesses
  • Horizon 2: Build emerging businesses
  • Horizon 3: Create viable options
How this could apply to Google for instance:

  • How can we leverage our core competencies to tackle this new market?
  • How much money can we make and whats the plan to make it?
  • Have you done enough research on the idea and do you need more money to make it happen?
  • Who else is doing this, and if no one is, why?
  • How big is the market and will consumers want this solution?

  • observe
  • build something somewhat different
  • experiment and learn faster

 

Using rivalry to spur innovation

Less in line with mainstream R&D practices: the degree to which Renaissance creativity was built on professional rivalries—like the ones between Leonardo, Michelangelo, Raphael, and Titian—that are commonly viewed as some of the most productive in history. It may be that by overlooking the potential of rivalry, modern R&D organizations are missing an opportunity to promote ground-breaking innovation.


    mercredi, février 24, 2010

    Future of Requirement Management Tools

    I've been looking at Requirement Management tools for 5 years now.

    Requirement Management tools are all evolving towards a common view. They now offer the same kind of functionalities, in a similar way.

    For instance, a few years ago, for most of the tools, the way to present requirements was only available as a list of requirements title. To look at the requirements details, you had to click on the specific requirement.
    Now most of them, are offering a "word document view", where requirements can be displayed as a word document with chapters.

    In the future, my feeling, is that what will be important is, not the functionalities offered by the tool itself, but the level of integration with test management, change/bug management and code source file management tools.

    One of the main functionality of a Requirement Management tool is traceability. Traceability between marketing and technical requirements and specifications. This is today handled correctly by most RM tools, but an advantage comes when you can also link requirements with tests and build some test coverage tools for instance.

    And we can go further by extending tracceability to changes/bugs and even source file.

    Here is a view that summarizes my point:

    One of CMMI Requirement Management specific practice says: ["SP 1.4 Maintain Bidirectional Traceability of Requirements" - Maintain bidirectional traceability among the requirements and work products.].
    Using closely linked/integrated test management, change/bug management and code source file management tools is an "easy" way to achieve this goal.

    jeudi, décembre 03, 2009

    Innovation Quotes: expert wisdom

    From: "1486 ...so many centuries after the Creation it is unlikely that anyone could find hitherto unknown lands of any value.
    Committee advising King Ferdinand and Queen Isabella of Spain regarding a proposal by Christopher Columbus."

    To:"1981 640K ought to be enough for anybody.
    Bill Gates"

    Incorrect predictions @ wikipedia

    Famous Authoritative Pronouncements


    "The horse is here to stay, but the automobile is a novelty - a fad" A banker advising Henry Ford's lawyer not to invest in the Ford Motor Co.

    "If I had asked my customers what they wanted, they'd have asked for a faster horse." Henry Ford

    "Television won't be able to hold on to any market it captures after the first six months. People will soon get tired of staring at a plywood box every night." Darryl F. Zanuck

    "Who the hell wants to hear actors talk?" Harry M. Warner, Warner Bros Pictures, 1927

    "Everything that can be invented has been invented." Charles H. Duell was the commissioner of the United States Patent and Trademark Office in 1899 (seems to be apocryphal, but anyway...)

    lundi, novembre 30, 2009

    Singin' in the Rain - A film about Innovation

    "Singin' in the Rain" is a film about innovation. The possibility to synchronize sound with images in the 1920's was a major overhaul for Hollywood film industry.



    During the film.

    We can see how people react to innovation when a "talkie" is presented during a private event. A quote excerpted from that time: "Who the hell wants to hear actors talk?" Harry M. Warner, Warner Bros Pictures, 1927

    Don Lockwood is able to adapt to this new environment while Lina Lamont, who is good looking but features an awful high pitched voice, cannot do it.

    OK, Innovation is here, but the 1st version of the talkie is awful. Then the participants find a way to really take advantage of this new technology by recording sound and film separately and then post synchronizing both afterwards. "Genius is one percent inspiration, and ninety-nine percent perspiration." Thomas Edison

    There are also several brainstorming sessions. "To have a great idea, have a lot of them." Thomas Edison

    Then a final battle occurs between the "voice" and the "image" that do not come from the same person anymore. Innovation triggers new challenges.

    By the way, it's really a great film...

    mercredi, octobre 21, 2009

    invention is not innovation

    "To turn really interesting ideas and fledgling technologies into a company that can continue to innovate for years, it requires a lot of disciplines." Steve Jobs


    There’s often a gap between the invention of something and the point where it becomes an innovation. The computer mouse was invented at Stanford University in 1968, and the Graphical User Interface that takes full advantage of the mouse was invented at Xerox’s PARC labs shortly after that. But neither really became an innovation until they were both included in the Xerox Star PC in 1981. That’s about a 12 year gap between invention and innovation – and gaps like that aren’t unusual.

    "Genius is one percent inspiration, and ninety-nine percent perspiration." Thomas Edison


    "Think of invention as the laying of an egg, innovation as the laying, incubating and hatching." Gordon Graham

    Here are some excerpt that I found interesting from the discussion "invention is not innovation" that I initiated on LinkedIn:
    • Gideon Gimlan wrote: 
      • "Invention" is supply-side centric; and
      • "Innovation" is consumption-side centric.
    • Ken Jacobsen wrote: "Innovation is the packaging of invention"
    • Siddharth Shah wrote: "When does an invention become an innovation:
      1. At concept stage (for sure not)
      2. Design Phase
      3. prototyping/ development Stage
      4. Trial phase
      5. Market introduction stage
      6. Acceptability stage??"
     In http://www.isu.uzh.ch/entrepreneurship/Teaching/FS10/FS10/Chapter1Thearrivalofinnovation.pdf you can read:
    Invention then Innovation then Diffusion

    The idea: science base → basic research → applied research → invention →
    prototype → development → commercialization → diffusion → technical
    progress → economic growth
    (Sometimes the entire process in red is referred to as innovation)


    My comment: failed innovation can stop at any step, and as a matter of fact there are often desisions to be taken when going from one step to another.


    Some Other "Innovation Quotes"

    jeudi, octobre 08, 2009

    for recruiters

    TalentSeekr™ makes recruiting through online advertising easy. No matter what type of candidates you're searching for, TalentSeekr can find them on the web and display precision target ads -- all while monitoring candidate response and optimizing your spend.

    dimanche, octobre 04, 2009

    Innovation Quotes: Selecting the right innovation

    “Don't confuse the art of the possible with the art of the profitable.” David Tansley

    "To have a great idea, have a lot of them." Thomas Edison

    “We are surrounded by engineers' folleys: too many technical solutions still looking for problems to solve.” David Tansley

    jeudi, octobre 01, 2009

    How Do Innovators Think?

    The first skill is what we call "associating." It's a cognitive skill that allows creative people to make connections across seemingly unrelated questions, problems, or ideas.

    The second skill is questioning — an ability to ask "what if", "why", and "why not" questions that challenge the status quo and open up the bigger picture.

    The third is the ability to closely observe details, particularly the details of people's behavior. Another skill is the ability to experiment — the people we studied are always trying on new experiences and exploring new worlds.

    And finally, they are really good at networking with smart people who have little in common with them, but from whom they can learn.

    read the rest here: How Do Innovators Think?

    mardi, juin 02, 2009

    Delivering on CMMI® with Agile Methods

    Here is a very interesting presentation I saw in London a few weeks ago at CMMI Made Practical Conference 2009:

    Delivering on CMMI® with Agile Methods

    In 2008, the SEI published a Technical Note, CMMI® and Agile: Why not embrace both! This new publication sought to explain why there was misunderstanding and distrust between both the CMMI® and Agile communities and how they could be reconciled. In 2009, the movement to consolidate agile methods with the CMMI® model is in full swing. This presentation will summarize the technical note and present an agile implementation of CMMI® based on the Microsoft MSF for CMMI® Process Improvement methodology developed by the presenter in 2005. The method uses W. Edwards Deming's Theory of Profound Knowledge and his 14 Points for Management to reconcile agile methods with the CMMI® model, and generates most of the evidence for a SCAMPI appraisal automatically with the development tools.

    Speakers were:

    David J. Anderson , David Anderson and Associates
    Hillel Glazer , CEO Entinex Inc.

    lundi, mai 18, 2009

    Where does innovation applies?

    Innovations are not only technical, but they can be also marketing related for instance. I found that Professor Mohan Sawhney had the best approach for describing the areas where innovations can occur. He lists 4 main areas:
    • Product Innovation - WHAT
    • Customers Innovation - WHO
    • Process Innovation - HOW
    • Channel Innovation - WHERE

    These 4 main innovation areas can be mapped to further sub-areas:

    The way innovation is managed in some famous companies is then measured against these areas and sub-areas, in the paper Professor Sawhney wrote. He uses an "innovation Radar" for innovation measures.

    Just as an illustration of this "Object of innovation" chapter, I would like to comment this quote from Steve Jobs, CEO from Apple:

    "Pretty much, Apple and Dell are the only ones in this industry making money. They make it by being Wal-Mart. We make it by innovation." Steve Jobs

    Dell innovated and excelled primarily in the "Channels area". "Being Wal-Mart" is also innovation, but not technical innovation as usually understood. By the way, innovation at Apple is also not only technical innovation. Apple stores are also a mix of "Channels" and "Customer experience" innovations.

    lundi, avril 06, 2009

    java list management and filtering without any loop (for, while)

    Just a Java exercize for the fun of it: do some list manipulation / filtering without using for/while statements:

    1 Have a list of people belonging to various countries:

    European people: [Eric from France, Martine from France, John from Great-Britain, Martha from Great-Britain, Carine from France, Gerd from Deutschland, Giuseppe from Italia, Martha from Deutschland]

    2 Get the different countries:

    European countries: [Gerd from Deutschland, Eric from France, John from Great-Britain, Giuseppe from Italia]

    3 List the people that belong to each country
    :
    People from: [France]: [Carine from France, Eric from France, Martine from France]
    People from: [Deutschland]: [Gerd from Deutschland, Martha from Deutschland]
    People from: [Great-Britain]: [John from Great-Britain, Martha from Great-Britain]
    People from: [Italia]: [Giuseppe from Italia]

    Never use for while statements to perform these tasks but make heavy use of the SortedSet type.
    Find code here.

    The trick is to use a compare function that return 0 when the guy's/lady's country does not match the country we are listing inhabitants for.

    Read also the same exercize done differently in Java and Haskell:

    lundi, mars 23, 2009

    How do I answer to a job posting

    Let's imagine I read a job posting with the following lines:

    Experience:

    • Requires BSCS/EE or equivalent and 8+ years of software development experience with 2+ years in a first level management role.
    • Experienced in managing embedded software development teams and developing and maintaining a training concept for the group.
    • Experienced in managing the entire software development life cycle including requirement gathering, architecture, design, implementation, testing and deployment of functionality.


    After writing a motivation letter, I usually copy/paste above items and specifically answer them line by line. This is a way:

    1. to help the recruiter "selling" my profile to its client.
    2. to show my understanding of the post.
    3. to show that the job specifically interests me and that I spent some time and energy answering it.


    Experience:
    • Requires BSCS/EE or equivalent and 8+ years of software development experience with 2+ years in a first level management role.

    • 7 years as 1st level management role @ Logitech & Mariner Networks

    • 13 years of embedded software

        • 8 years for businesses

          • 5 years network product @ IBM

          • 2 years network product @ Mariner Networks

          • 1 year elevator @ Schindler

        • 5 years in consumer electronics @ Logitech


    • Experienced in managing embedded software development teams and developing and maintaining a training concept for the group

    • 7 years as 1st level management role @ Logitech & Mariner Networks

    • Regarding developing and maintaining training concepts:

      • I organized some courses that were also adopted by the other firmware swiss development team

      • Through the years, I progressively set setting additional embedded software goals every year.


    • Experienced in managing the entire software development life cycle including requirement gathering, architecture, design, implementation, testing and deployment of functionality.

    • requirement definitions interacting with marketing

      • 5 years @ Logitech

    • architecture

      • 2 years @ Mariner Networks

    • coding

      • 8 years @ IBM, Mariner Networks & Schindler

    • test management

      • 7 years @ Logitech & Mariner Networks

    • field support

      • @ Logitech & IBM

    dimanche, mars 08, 2009

    emurse.com

    emurse.com is yet another resume posting site:

    My Resume
    WebDOCPDF
    RTFODTTXT
    powered by emurse

    BUT here is what I especially appreciate about this site:

    There are also some other pluses also offered by some other sites:
    • resume downloadable in different formats.
    • widget as above that you can post on your blog.
    Drawback is that it seems to be mainly a US site and I am living in Europe...