Monads are like continuations, if you've ever programmed in that style with C.
Functions are passed their usual arguments, plus an extra parameter which is the thing that should be called after this function has done its work. This function parameter can have a lot of extra stuff inside it which represents the 'state' of the system.
It's rather like chopping your functional program into two parts: you have somthing a bit like an imperative programming language (but which is still pure functional) for the IO, and plain 'ol functional everywhere else.
Linux is just the kernel. You'll find the NT kernel hasn't changed that dramatically recently either.
Maybe you mean the desktop experience? That's provided by KDE/GNOME/fluxbox whatever, and it's very clear what innovation is going on there if you look at KDE 3.2 vs KDE 1 (for example).
This whole oil idea is so stupid I'm surprised people still bring it up...
Oh no, politics again:-( anyway, the US invaded Iraq for a great many reasons. But one of the reasons is that the Middle East is an area of the world that is of great strategic importance to the US.
Why is this part of the world so important? One of the reasons is the abundance of oil, a vital resource.
Therefore the Iraq war was fought, indirectly and only in part, for oil.
While censorships are necessary in maintaining law and order in a society
Um, many people might disagree with that little gem.
But most sensible people would not. Of course there have to be limits on freedom of expression. That's why we have laws on libel, incitement to racial hatred, etc. etc.
A reasonable country will choose a good compromise between the freedom of the individual and the needs of society.
I had a quick look and the expensive HP printers are 69ml for $33, the cheap ones are 10ml for $17 (prices off the HP website), so that's about a factor of 3 saving on ink. Although it's hard to make a direct comparison because the high-end ones have separate ink reservoirs and printheads. Also, of course you're right to be skeptical about HP's margins on the 'cheap' refill. But it is less of a rip off:)
Part of the reason is that the cartridge you buy is just the ink + nozzles. There is a large chunk of hardware controlling the writing engine (the thing that decides which dots go where), and the design of this is intimately linked to the print head design. So you can't stick any print head into any printer.
Of course, another part is business: different printer models have different business models behind them. Are they cheap upfront, but more expensive on consumables (typical for a consumer printer), or more expensive upfront but with lower running costs (typically a business printer)? Making the print heads incompatible allows the market separation that in turn allows these different strategies.
Companies get ragged on for 'ripping off the consumer' over print head costs. But you can see it as a choice too. You can choose to buy a $100 printer with great quality (but admittedly expensive parts). Or you can spend $500 up front (nearer the actual cost of the device) and get a printer which will be more durable and will have lower running costs. 10 years ago your only choice was option #2. Now you have option #1 open to you if you want it.
I doubt you'll see this:-( but all you need for good CMYK is the ability to edit 4 band images, something to visualise these images to RGB for display using an ICC profile, and something to show where gamut edges are. All this is patent free and unemcumbered. All the ICC and colour processing stuff is available now as open source.
The missing part is the thing to make the ICC profiles. Adobe have their own ->CMYK profile and tuning system which gives reasonable results on most presses. But this is rather old-fashioned now (IMO) and really pre-dates 1995 and the introduction of the ICC system in pre-press. There's no need to duplicate this functionality: just ask your pre-press house to give you a profile for their system.
Not correct. CMYK editing is not patented (it's just a 4 band image). Conversion between colour spaces is not patented (see eg. littlecms and the whole ICC thing). Maybe you're thinking of Pantone?
The problem is limitations in the internals of gimp, which are due to be replaced when GEGL comes along (another year or so). Then gimp will have true CMYK support.
The UK is switching to chip-and-pin smartcards later this year (the French have had this for years). All my cards have been replaced now, we're just waiting for all retail outlets to be fitted with new readers (!). As you say, it should make this sort of fraud impossible.
One of my co-workers bought one of these for the department. The image quality is pretty poor, in my opinion:-(
Samples (warning, huge JPEGs):
test shot in the lab, check out the colour aliasing. This is with the in-camera demosaicing, no doubt it would look better with the PC demosaicer. It's nice and sharp, but the camera has no antialiasing filter, and it shows.
Generics are like the static (compile time only) parts of C++ templates. There's no equivalent of C++'s code replication.
I think this is a good thing: it's like Java only allowing multiple interitance of interfaces. Take the great bits of C++ and leave out the mad bad and dangerous to know (IMO).
I think the main reason X has shunned it is the window manager issue: you need to have the same style of decorations on the sub-windows as on your top-level windows. X makes this almost impossible, since the top-level window decorations are drawn by a different program.
One of the big reasons for MDI on win is that they don't have multiple desktops and many apps like to run full screen. MDI is a convenient way to represent that on the screen.
Useability: MDI makes drag-n-drop harder, it means any time you move/iconise/resize a window you need to think about what sort of window it is, unless all apps run full screen it starts placing annoying restrictions on where you can put your window, and I'm sure there are other issues.
So... the usual answer is that a good window manager combined with apps which don't insist on running full screen results in a simpler, easier to use desktop.
Functions are passed their usual arguments, plus an extra parameter which is the thing that should be called after this function has done its work. This function parameter can have a lot of extra stuff inside it which represents the 'state' of the system.
It's rather like chopping your functional program into two parts: you have somthing a bit like an imperative programming language (but which is still pure functional) for the IO, and plain 'ol functional everywhere else.
I think it's a little unfair to say I was spreading misinformation. I was just saying that kernels change must less rapidly than desktops.
Maybe you mean the desktop experience? That's provided by KDE/GNOME/fluxbox whatever, and it's very clear what innovation is going on there if you look at KDE 3.2 vs KDE 1 (for example).
Oh no, politics again :-( anyway, the US invaded Iraq for a great many reasons. But one of the reasons is that the Middle East is an area of the world that is of great strategic importance to the US.
Why is this part of the world so important? One of the reasons is the abundance of oil, a vital resource.
Therefore the Iraq war was fought, indirectly and only in part, for oil.
Um, many people might disagree with that little gem.
But most sensible people would not. Of course there have to be limits on freedom of expression. That's why we have laws on libel, incitement to racial hatred, etc. etc.
A reasonable country will choose a good compromise between the freedom of the individual and the needs of society.
No idea if these links will work: big and 'cheap' vs. small and expensive.
Of course, another part is business: different printer models have different business models behind them. Are they cheap upfront, but more expensive on consumables (typical for a consumer printer), or more expensive upfront but with lower running costs (typically a business printer)? Making the print heads incompatible allows the market separation that in turn allows these different strategies.
Companies get ragged on for 'ripping off the consumer' over print head costs. But you can see it as a choice too. You can choose to buy a $100 printer with great quality (but admittedly expensive parts). Or you can spend $500 up front (nearer the actual cost of the device) and get a printer which will be more durable and will have lower running costs. 10 years ago your only choice was option #2. Now you have option #1 open to you if you want it.
The missing part is the thing to make the ICC profiles. Adobe have their own ->CMYK profile and tuning system which gives reasonable results on most presses. But this is rather old-fashioned now (IMO) and really pre-dates 1995 and the introduction of the ICC system in pre-press. There's no need to duplicate this functionality: just ask your pre-press house to give you a profile for their system.
The problem is limitations in the internals of gimp, which are due to be replaced when GEGL comes along (another year or so). Then gimp will have true CMYK support.
The problem is that gimp's internals are all designed for 1 and 3 band 8 bit images. When they get GEGL up and running, gimp will have real CMYK.
Because the reviewer has resized the tool palette to look like that :-) You can resize all the dialogs any way you like.
You can output to CMYK in gimp2 with an ICC profile, but you can't edit CMYK directly. Gimp is still 1 and 3 band 8 bit only.
It's coming with GEGL (together with 16 bit). Another year or two I guess.
Having said that, there are some horrible hacks which will give you a one-window gimp session that sort-of works.
Yes, been there for a while in the development series.
BBC link: http://news.bbc.co.uk/1/hi/business/3431591.stm
Samples (warning, huge JPEGs):
test shot in the lab, check out the colour aliasing. This is with the in-camera demosaicing, no doubt it would look better with the PC demosaicer. It's nice and sharp, but the camera has no antialiasing filter, and it shows.
*Terrible* photo, really boring, but look at the noise in the metal surfaces (straight from the camera, I think).
I found this other article linked on the reg, talking about the new TCP/IP stack:
http://www.theregister.co.uk/content/61/33440.html
The relevant quote is (near the bottom):
We worked hard on efficiency, and we now measure, at a given network workload on identical x86 hardware, we use 30 percent less CPU than Linux.
So I guess that should give them a fair performance advantage under very heavy static loads. Although he doesn't say which linux.
Generics are like the static (compile time only) parts of C++ templates. There's no equivalent of C++'s code replication.
I think this is a good thing: it's like Java only allowing multiple interitance of interfaces. Take the great bits of C++ and leave out the mad bad and dangerous to know (IMO).
Actually, gint is always guaranteed to be the same as int. There are things like guint32 and guint64 for particular integer sizes (proof).
Interesting page. Here's another comparison where an 11mp digital camera beats medium format film on a drum scanner.
Gimp uses littlecms, which generally beats commercial packages on accuracy and speed in the tests I've seen.
No, it's fine. There are patents on pantone colours, maybe you're thinking of that?
I think the main reason X has shunned it is the window manager issue: you need to have the same style of decorations on the sub-windows as on your top-level windows. X makes this almost impossible, since the top-level window decorations are drawn by a different program.
One of the big reasons for MDI on win is that they don't have multiple desktops and many apps like to run full screen. MDI is a convenient way to represent that on the screen.
Useability: MDI makes drag-n-drop harder, it means any time you move/iconise/resize a window you need to think about what sort of window it is, unless all apps run full screen it starts placing annoying restrictions on where you can put your window, and I'm sure there are other issues.
So ... the usual answer is that a good window manager combined with apps which don't insist on running full screen results in a simpler, easier to use desktop.
What GIMP is missing is native CMYK (ie. it's all still RGB for editing). Next version!