2010-07-22

Monorail cat / Mágnesvasút macska*



Catmas blog

*Korrekció: Egysínű macska. Könszönet Anonymousnak! :-)

LOLCODE

~ is an esoteric programming language inspired by the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, researcher at the Computing Department of Lancaster University.

The language is not clearly defined in terms of operator priorities and correct syntax, but several functioning interpreters and compilers already exist. The language has been proven Turing-complete.

-- Wikipedia

Examples

  • Hello World!
    HAI
    CAN HAS STDIO?
    VISIBLE "HAI WORLD!"
    KTHXBYE
    
  • Print numbers from 1 to ROOF.
    HAI
    CAN HAS STDIO?
    I HAS A ROOF, I HAS A VAR ITZ 0
    GIMMEH ROOF BTW U R IN CONTROL
    IM IN YR LOOP
            UP VAR!!1
            IZ VAR BIGGER THAN ROOF? KTHXBYE
            VISIBLE SMOOSH VAR AN ":)" MKAY
    IM OUTTA YR LOOP
    KTHXBYE
    

lolcode.com

2010-07-20

Lagoa Multiphysics 1.0

Lagoa Multiphysics 1.0 - Teaser from Thiago Costa on Vimeo.

Paul, the octopus, circa 1942



(Uknown source, from a chat)
(Ismeretlen forrásból, egy csetről)

2010-07-18

Publishing detailed error messages

As an opposition to "Hiding error details". On the input of [Posa1996]1 page 43 (Architectural patterns (2) / Layers (2.2) / Implementation / 10):

Design an error handling strategy. Error handling can be rather expensive for layered architectures with respect to processing time and, notably, programming effort. An error can either be handled in the layer where it occurred or be passed to the next higher layer. In the latter case, the lower layer must transform the error into an error description meaningful to the higher layer. As a rule of thumb, try to handle errors at the lowest layer possible. This prevents higher layers from being swamped with many different errors and voluminous error-handling code. As a minimum, try to condense similar error types into more general error types, and only propagate these more general errors. If you do not do this, higher layers can be confronted with error messages that apply to lower-level abstractions that the higher layer does not understand. And who hasn't seen totally cryptic error messages being popped up to the highest layer of all - the user?

I have to strongly disagree with the author on that point. It is far more worse if the highest layer of all gets an error like "Error." without any details. The error message should be as detailed as possible. Do not be confused! That does not mean that higher layers should not handle these errors in a grouped manner. For example if a file transfer fails on any reason the program logic should abort the transaction, whatever the reason of the failure is, so the so called voluminous error-handling code can be avoided. Not handling but publishing the details of the error can help the user understand and solve the problem. Making distinction between "Directory not found.", "Drive not ready.", and "Permission denied." is very useful at the level of the user (or customer care, product support line, developer, whoever).

Testing, debugging and user support can be a horror without detailed error messages. It can be counted in serious amount of money. If the user does understand the error message then it is an instant win for the user himself/herself and for the customer care both. If he/she doesn't understand then he/she has something to tell at official and unofficial support forums which will bring the solution closer. It is a win-win decision to keep the error messages detailed.

And again, it does not contradict the "keep the volume of error-handling code low" principle. Handling ≠ publishing.

1: [Posa1996] Frank Buschmann et al.: Pattern-oriented software architecture, Volume 1: A system of patterns; © 1996 John Wiley and sons

2010-07-16

Processing.org



Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context, Processing also has evolved into a tool for generating finished professional work. Today, tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

processing.org

The apropo for posting this is that I regenerated my toy applets that I wrote in this environment.

My graphic applets, with source code. Enjoy!

2010-07-14

Silver needle in the Skype

by Philippe BIONDI and Fabrice DESCLAUX
BlackHat Europe, March 2nd and 3rd, 2006

skype_BHEU06.pdf

Repost of a synsecblog entry.

If you can repeat their results you rock!!!

Codility (x)

Automated tests of programming skills.

Codility saves time of software talent recruiters by filtering out job candidates who cannot write correct programs.

Codility administers short programming tests and checks whether solutions are rock solid.

Our customers filter out up to 90% of candidates. Less wasted time. Better hires.

http://codility.com/

2010-07-07

Bicycle for floods / Árvízibicikli



amphibious / kétéltű

@index.hu