* Posts by kovesp

7 publicly visible posts • joined 25 Jun 2013

The latest language in the GNU Compiler Collection: Algol-68

kovesp

The memories ...

A university classmate and I discovered A68 in 1973 ... and we were in love. I still have the Draft Report (MR93), the Report, and the Revised Report. Also the Informal Intoduction and the Companion. I even had a tshirt with Algol 68 on the front and 86 loglA on the back (if you know anything about A68, that needs no explanation). My diploma thesis contained a proof that van Wijngaarden grammars are equivalent to Turing machines.

Now that I have retired, I plan to find an A68 compiler and write my first program in the language.

Powershell terminal sucks. Is there a better choice?

kovesp

jpsoft

Windows shell replacement.

On the other hand... you may not want to use PowerShell then.

On the third hand ... why not just use bash by installing cygwin? Perhaps with the jpsoft command window.

Meet the man building an AI that mimics our neocortex – and could kill off neural networks

kovesp

Re: model a neurone in one supercomputer

"If you feed a computer program with the same inputs, it will always produce the same outputs."

Really? Might I remind you of random number generators? And to anticipate your response, might I remind you that in any given context it is possible to construct a cryptographically secure random generator whose outputs are indistinguishable from a truly random sequence? Which then implies that the statement "A brain is not like that." may or may not be true. This even ignores the fact that with computer programs we can (usually) accurately ascertain all inputs (including stored memory) and we certainly cannot do that today with biological systems.

As I see it, the usual problem with AI is how many people interpret the term. If it is interpreted as a machine intelligence whose reactions are difficult to distinguish form that of humans then, clearly we are nowhere near anything like that. But if AI is taken to target being able to produce behaviour that would be conceded to parallel that of a human ... there are numerous examples of having achieved that or being close to having achieved that. Examples range from chess playing, medical diagnosis (cf Watson), and driving a car in a mixed environment of human driven and autonomous vehicles.

Reality check: Java 8 finally catches a multi-core break

kovesp

Re: Good performance? Scalable?

There is more to it than that. Current JVM-s are not just JIT compilers, they are JIT optimizers. They instrument your code at run time to determine what is worth aggressively optimizing, that is what parts of the code are used the most ... this is why it's called "Hotspot". But it goes further than that. A compile time optimizer can only perform a change when it is 100% sure that the semantics are the same in all possible cases. A run time optimizer can make "illegal" changes based on actual usage and undo the change if needed. The most important use of this is with inlining. According to the language semantics (this applies both to Java and C++) a method call cannot normally be inlined, because at run time a class may be loaded which overrides the method (and this should now be called instead of the inlined code). Hotspot happily does the inlining and if the described case arises, it undoes it. In my experience with compilers and optimization, inlining (and for some languages, tail-recursion optimization) are by far the most effective optimizations followed by moving invariants out of loops.

Another point is that it is irrelevant that not all of the code is optimized or even compiled. The execution time of the hotspots completely dominates the total execution time. What is compiled/optimized by Hotspot depends on JVM parameters. In fact there is a client version and a server version. They differ mostly in how much time Hotspot spend observing the code before deciding to optimize. Shorter for the client version for fast startup, but a bit less efficient code and longer for the server version with a reversed trade off.

kovesp

The connection isIndirect. Introducing lambdas (more or less functions as first class objects) allowed the redesign of collections in a stream oriented way. That in turn allows the implementation of the algorithims to be vectorised and be amenable to multi core execution.

Why Flash storage will be fast and furious in 2014

kovesp

Endurance ...

Right. And what the writer is pleased to call " ridiculously short write endurance level" is calculated to be 31+ years (EVO 840 1 TiB drives 100 GiB written per day). Some notes on this number. It is based on Samsung's conservative p/e cycle rating; test on the drive have shown that it will likely get twice the lifetime promised by Samsung. Typical consumer workloads are estimated at 10-30 GiB per day. So 6 times the cited number (180 years) does not sound improbably. Ridiculously short endurance indeed.

On the one hand, it is quite a bit higher than my expected endurance let alone that of my PC. On the other hand let's try to map that to enterprise usage. I'd say 5 years is a highish time frame for a server to be used in an enterprise before being upgraded. Taking the lowest life estimate we get a write rate of 600 GiB per day. I suggest that is a pretty high number for a single drive even in an enterprise setting.

Privacy expert dismisses PRISM-busting typeface as 'art project'

kovesp

Re: "buy a pigeon"

Before commenting read the applicable RFCs. Cat-in-the-middle attacks are already addressed. As are a variety of other issues, including the suggestion of avoiding standing under the dropped packets. TCP/IP Over Avian Carriers is a mature technology with a long and distigwished history.

If you wan't overcome the relatively low troughput (a gew KiB/h) then take a look at the work done by Israeli researchers utilizing giant snails.