It Was Creative

How to write a Haskell program
A developers' guide to creating a new Haskell project or program, and working in the Haskell developer ecosystem.

How to beat Apple
I can't remember if this is my own theory or I read about this on Daring Fireball or something, but the Apple products & services that Apple does well are the ones that Steve Jobs uses (or cares about) and the ones he doesn't use/care about are less good (or just plain bad).

What is
The simplest way to manage life, work and play.

Adobe's Digital Publishing mistake
That was desktop publishing. It was fun, it was creative, it was ground-breakingly democratic, and I hope you enjoyed it, because it’s over.

Cloud Comp

Never under-estimate the power of taking on responsibility for your entire stack down to the hardware. Yes, you will have more responsibility and you will need to employ people. You had to employ people with EC2 so you're just having the same people work on your own hardware. Need more bandwidth? Add switches. Need intrusion detection? Add it, you have control of the network. Want to share IPs for high-availability configurations? Add it, the switches are yours. Want to be PCI-compliant? Not a problem, your cabinets are yours and you can prove physical access restriction easily.

Worth a read this article written by Mr. Chris Chandler, that can be seenhere.

Yahoo's Got a Brand New Mail

Dear Delfi Ramirez,

Thank you for being a Yahoo! Mail user for the past 11 year(s). We look forward to bringing you an even faster, safer, easier-to-use Yahoo! Mail very soon.

In the coming months, we will ask you to upgrade to the newest version of Yahoo! Mail for your account xxxxxx@yahoo.xx.xx. All Yahoo! Mail customers will be asked to upgrade. But in the meantime, you don't have to wait, you can have the newest Yahoo! Mail today.



Yesterday, I uploaded a paper to Scridb.

It is a Haskell 98 tutorial, written in 1999 by Mr. John Peterson, Joseph Fasel and Paul Hudak. A paper than you can read here.

Today, there is an article written by Mr. Matt Might on Haskell and other advanced languages.
"Haskell excels as a language for writing a compiler, an interpreter or a static analyzer. I don't do a lot of artificial intelligence, natural-language processing or machine-learning research, but if I did, Haskell would be my first pick there too. (Scheme would be a strong second.) Haskell is the only widely used pure, lazy functional programming language.

Like Standard ML and OCaml, Haskell uses an extension of Hindley-Milner-style type inference, which means that the programmer doesn't have to write down (most) types, because the compiler can infer them. It has been my experience that it is difficult to get a bug through the Hindley-Milner type system. In fact, experienced programmers become adept at encoding correctness constraints directly into the Haskell type system. A common remark after programming in Haskell (or ML) for the first time is that once the program compiles, it's almost certainly correct."
How casual. How nice.

Building Under Flash Platform

Well, just to scope on three new data, that might be of your interest:
As those who might know it, I develop under OS since the old days of System 7. This means that, over my life, most expended in the city of Barcelona, in a country named Spain.

The whole mass business in this city stands its entire production, upon C#,or some applications in J2EE... And other tools I will not mention, at the risk of being pedantic.

Therefore, the Adobe Flash Platform has bring to developers and creative minds, since the archaic times of Macromedia Director and over these years, the easy-to-implement solutions for his/her clients, without the need to deploy using Windows as a working platform.

Because of these, I profess a great respect for the solutions offered by Adobe.

Yes, I am up-to-date, one must frequently read the news, and know the reasons and technical specification of why it is inappropriate to develop IOS using the, say obsolete, Flash Platform instead of using the right tool.

There is no reason to recommend the option "Export to iPhone", offered by the Adobe Flash platform in their options.

However, I repeat, for those of you who have developed and implemented solutions for clients and SMEs who based their business on another platform other than Mac OS, Adobe Flash - formerly Macromedia Flash - has been your Swiss army knife, since the archaic days of the Internet Explorer 3.
PS: I realize a colleague of mine, Kosmar, from whom I deserve a lot of respect, and who is focusing his talent currently in mobile devices, might not agree with me in some aspects of this defense of the Adobe Platform. Big Hug to him.

SuperSize Me

We don’t believe in a “one size fits all” solution.
The Android platform has already spurred the development of hundreds of different types of devices – many of which were not originally contemplated when the platform was first created.

Mr. Tim Bray exposes why you have to work twice to get the same budget.

Orphan Computers, circa 1985

The first outside programs of general use to businesses are just about to come onto the market, notably Jazz, the Lotus Development Corporation's Macintosh version of 1-2-3.

Lotus 1-2-3 is the most popular business software on the market. It combines a spreadsheet with extra functions, data base management and graphics in a not-so-easy-to-use package. It was upgraded for the I.B.M. PC as Symphony, adding word processing and communications functions.

Jazz, the 512K Macintosh version, is a cross of 1-2-3 and Symphony, but much easier to use. Reviewers say it takes advantage of the Mac's strong points - the machine is much easier to use than the I.B.M. because of its mouse, icons and pull-down windows - and thus opens the door of corporate America to the Apple. Without spreadsheets, data bases and decent word processing, the Mac is doomed to the home market.
Read the article about orphan computers, here.

P = NP

What is the P versus NP Problem?

Suppose we have a large group of students that we need to pair up to work on projects. We know which students are compatible with each other and we want to put them in compatible groups of two. We could search all possible pairings but even for 40 students we would have more than 300 billion trillion possible pairings.

In 1965, Jack Edmonds12 gave an efficient algorithm to solve this matching problem and suggested a formal definition of "efficient computation" (runs in time a fixed polynomial of the input size). The class of problems with efficient solutions would later become known as P for "Polynomial Time."

But many related problems do not seem to have such an efficient algorithm. What if we wanted to make groups of three students with each pair of students in each group compatible (Partition into Triangles)? What if we wanted to find a large group of students all of whom are compatible with each other (Clique)? What if we wanted to sit students around a large round table with no incompatible students sitting next to each other (Hamiltonian Cycle)? What if we put the students into three groups so that each student is in the same group with only his or her compatibles (3-Coloring)?

All these problems have a similar favor: Given a potential solution, for example, a seating chart for the round table, we can validate that solution efficiently. The collection of problems that have efficiently verifiable solutions is known as NP (for "Nondeterministic Polynomial-Time," if you have to ask).

So P = NP means that for every problem that has an efficiently verifiable solution, we can find that solution efficiently as well.

An Essay by Lance Fortnow
Newer Posts Older Posts Home