Re: [fpc-other] you may say I'm a dreamer... :)

2018-09-23 Thread Mark Morgan Lloyd

On 23/09/18 08:15, Paul Breneman wrote:
On 09/21/2018 05:07 PM, duilio foschi wrote:> I dream of a automated 
virtual machine that can run in a software> bubble, as possible with 
Vmware Workstation, VIrtualbox and other> products.> > However in my 
dream this bubble should take keyboard commands from a> windows 
application external to the bubble, and this application> should be able 
to do screen scraping from the bubble screen (virtual> and invisible 
from the PC screen).> > In this way, one would be able to use algorithms 
existing in old EXE> applications inside his own modern application 
without writing any> code.> > Or one would be finally able to send a 
whatsapp message from his own> application.> > Has this automated 
virtual machine ever been implemented ?> > Thank you> > Peppe Polpo
I'm not sure I understand much about your concept.  Have you taken a 
look at Levinux?  Comments appreciated!


I see what he's getting at, and it's something I've considered in the 
context of calling (a DLL associated with) a development tool in the 
past (specifically, the compiler for the Propeller chip).


I accidentally hit the wrong button a couple of days ago and mailed him 
directly, but for the record in case my thoughts are useful to anybody:


"You can certainly run text-based programs in DOSemu or Bochs under 
Linux. If the guest program communicated solely by stdin and stdout then 
communications should be easy enough to manage.


"If the guest used scancodes for input (i.e. "PC-DOS" rather than 
"MS-DOS" programming techniques), it's still probably not too bad. If it 
wrote to arbitrary locations on the screen... that would be a real 
problem, I've previously looked at scraping arbitrary fields from 
(Minitel) terminal output and it was a pain.


"In any case, as well as the communications aspect the host would 
probably need some sort of scripting to drive the guest program in a 
closed loop (i.e. /this/ is collected from the screen and /that/ is sent 
to the keyboard), as well as to e.g. send a WhatsApp message."


He assures me that he doesn't have money to put on the table :-)

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-28 Thread Mark Morgan Lloyd

On 28/10/17 15:00, Graeme Geldenhuys wrote:
On 2017-10-28 13:34, Mark Morgan Lloyd wrote:> One of the (numerous) 
things I'm wrestling with at the moment is> PostgreSQL replication...
Speaking of PostgreSQL, I just realised that tiOPF’s 3-hourly unit test 
runs don’t include tests against PostgreSQL. I’m busy setting that up now.
This morning I read through some PostgreSQL documentation, and some of 
the SQL syntax is pretty nice. I do curse the fact that they too (like 
Microsoft SQL Server) supports XML field types. I so *hate* the usage of 
that at work.


XML is something that I've studiously avoided. In general I found a lot 
of commonality between PostgreSQL and Firebird syntax in the couple of 
places I was trying to use them in parallel, but I wasn't trying to do a 
lot of e.g. date arithmetic. Postgres had the edge when it came to 
things like setting up a new user under program control with a specific 
date validity (e.g. good for 24 hours only), and also when trying to 
find out whether a user was already known, what the system was doing 
(e.g. current connection's server process PID) and so on.


Both have notification functions which are important to me, I think I 
had to use the library API on FB to send a message while Postgres could 
do that from SQL (intended to be used as part of a trigger). Postgres's 
documentation was better, with FB I found myself having to use several 
Borland-era PDF manuals.


When I've got my B5500 emulator running I might use SQLite for an 
internal symbol table (basically, to allow the emulator to debug the 
operating system) but I've not got any odd jobs which would allow me to 
run all three databases in parallel.


I've never touched MySQL, since when we had to make a choice it didn't 
have transaction handling and we were planning to put it on a customer 
site... and knowing that they were a big DB2 user the name in itself 
quite simply sounded too tacky to be taken seriously. Obviously 20 years 
on it's got a bit more street cred :-)


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-27 Thread Mark Morgan Lloyd

On 27/10/17 10:15, Santiago A. wrote:


So, again, what has Postgres that Firebird hasn't? I have worked with
firebird a lot, but not with Postgres, it will be interesting a review
of someone who has worked with both.


Aggressively-tested compliance with SQL "correctness", including 
regression testing as standard. Transactional robustness, which is 
something they had a /long/ time before the competition. A rich palette 
of data types, character sets, timezones etc., and predefined functions 
to manipulate them. Analytic windowing functions, replication, 
connection pooling and so on. Fairly extensive third-party extensions 
for GIS, statistical etc. support. And that's just from memory, without 
referring to any advocacy documents.


Decent documentation in one place, which is something that I found to be 
a particular issue with Firebird when I looked at it perhaps four years 
ago. https://www.postgresql.org/


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-27 Thread Mark Morgan Lloyd

On 26/10/17 11:00, Marco van de Voort wrote:

In our previous episode, Santiago A. said:> That's my point. Why Firebird is not more popular?> > Once I 
read two point about Firebird lack of popularity:> * In early days, firebird documentation was almost inexistent, 
there> were a few .txt with new features but you had to rely on Interbase 6.0> docs, that weren't very good 
either. So it looked like an almost> abandoned software maintained by a few fans.> * It had no administration 
tool, you had (and you still have) to rely on> third part tools. I think flamerobin is the administration tool 
"de facto"
* it was x86 only for a long time.
Which is why I ended up with postgresql, having powerpc and later armservers.


One further point if I may. PostgreSQL and Firebird both have the 
capability of sending asynchronous notifications to clients, i.e. along 
the lines of "somebody's changed this table, everybody needs to check 
it". When I last looked, they were the only free databases that did 
this, although in the case of something strictly single-user like SQLite 
the facility isn't really needed.


Provided that you're not getting into things like creating new users on 
the fly, the SQL dialects are sufficiently similar that a client program 
can talk to either without substantial modification. I think that a 
reasonable approach is to select Postgres for departmental or larger 
storage, or Firebird for something that's strictly local.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-26 Thread Mark Morgan Lloyd

On 25/10/17 18:30, Santiago A. wrote:

Hello:
In my old Delphi days I worked with interbase and later with firebird.(Now 
MySQL and MsSQLserver, life is hard)
I have some complains, but the overall feeling about Firebird is verypositive. 
It is a handy and powerful enough for almost everything . Infact, I still have 
some production server running with no problems foryears.
I have tried a little PostgreSQL, it looks powerful and has good reviewsand has 
features that firebird hasn't, some of them very interestinglike replication. 
Nevertheless, I've heard that windows is not itsnatural habitat. On the other 
hand, Firebrid looks very handy for petprojects (and not so pet)
Any opinion? what do you use?.
Com'on  troll and flame a little ;-)


We use PostgreSQL, with heavy emphasis on its transaction handling etc.

In general it works out of the box, and its documentation etc. is fairly 
easy to manage... I use Firebird for some small-scale stuff and found 
locating instructions for even simple jobs to be a challenge.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-06-05 Thread Mark Morgan Lloyd

On 30/05/17 14:30, Graeme Geldenhuys wrote:

On 2017-05-29 13:01, Mark Morgan Lloyd wrote:> I'd use something like an
HP> Microserver with at least mirrored discs,
Yes the HP Microservers are excellent! I highly recommend them, and they
are cheap as chips - so a real bargain. I would load it with good
NAT/Server style disks (eg: Western Digital Red disks) and a small SSD
boot disk (or even a USB stick). Run FreeBSD or Linux with ZFS in
RAID-z1 or RAID-z2. Like I said is some other thread, I wouldn't trust
my data on any other file system again - only ZFS for me! A all-in-one
easy to set up system is FreeNAS (which comes standard with ZFS) and
includes other since things like easy directory sharing via FTP, HTTP,
NFS etc. All managed via a simple web interface.


It appears that ZFS is also available for Debian "Stretch", and is in 
"Jessie" backports. That's the original Sun implementation, via BSD.


It would almost certainly need more than an RPi to do it justice though.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-29 Thread Mark Morgan Lloyd

On 29/05/17 11:12, Bo Berglund wrote:


TestingSo I thought that one way to go forward was for me to use an 
RPi3 boxas a repository server with GIT or whatever (seems like the 
CVSsuccessor SVN is now also on the decline...).Is there a good way to set up 
an RPi3 box as a GIT server and getgoing with that?
Can GIT work in a way that would be comparable to CVS regardingconcurrent 
development etc?
Any suggestions on where to start?


Frankly, and after having run an RPi3 as my desktop system for roughly 
nine months, I'd not use an RPi for that. I'd use something like an HP 
Microserver with at least mirrored discs, and I'd make sure that I was 
able to write a consistent snapshot onto something like a USB stick 
storage device.


My recollection is that while you can set up (software-controlled) 
mirrored devices on an RPi, you run into problems mounting them at boot 
time due to deficiencies in the loader- that was certainly the case when 
I looked at it in the latter part of last year, although low-level 
firmware improvements (roughly last November) might have fixed some of that.


In addition, it's becoming increasingly obvious to many people that the 
power arrangement is manky, and that you risk permanent damage to an 
SDCard if inserting a USB device briefly pushes the voltage out of spec- 
see discussion of the vcgencmd command.


Finally, you /will/ need to backup, and if you've accumulated any amount 
of data you really don't want to try doing that through a single 
(internal) USB hub with no possibility of expansion.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] How do you keep up with FPC discussions?

2017-05-25 Thread Mark Morgan Lloyd

On 25/05/17 10:20, Graeme Geldenhuys wrote:

On 2017-05-25 09:02, Mark Morgan Lloyd wrote:> even if most of the time
he> pushes it far harder than many of us enjoy.
I’m afraid it’s an occupational habit. My job as a technical consultant
and developer often requires me to come up with more efficient ways of
doing things. Yes, inefficient ways and code really grind on me. I’ll
try my best not to push this any further here.


I /am/ trying to be neutral on this, but I think it has pretty much been 
done to death here: particularly since Florian has given his ruling.


However it's interesting to note occasional discussion elsewhere about 
things like KiCAD (PCB layout etc. software) using Github or similar as 
an element of the workflow... but I really can't see anything in FPC 
development and use which presents a compelling requirement for that 
sort of thing.


/If/ somebody could think of a good example, perhaps for a Lazarus IDE 
plugin which would benefit from collaborative rather than centralised 
development, perhaps they'd care to start a new thread.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] How do you keep up with FPC discussions?

2017-05-25 Thread Mark Morgan Lloyd

On 24/05/17 20:30, Marco van de Voort wrote:

In our previous episode, nore...@z505.com said:> > How in the world do people 
(you) keep up with reading email lists and > not waste the entire day?


Some of it's reputation. It's obviously always worth knowing Florian and 
Jonas's position on even a noisy controversy, and there's other 
contributors who might not say much but are usually worth reading.


Some of it's authority and experience. I'm genuinely grateful to Graeme 
for answering my questions on Git yesterday, even if most of the time he 
pushes it far harder than many of us enjoy.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Mark Morgan Lloyd

On 24/05/17 13:30, Graeme Geldenhuys wrote:

On 2017-05-24 12:46, Mark Morgan Lloyd wrote:>  >



could usefully be described as v1.4.1-787, and you can use that in>
conversation without having to be online to a repository.
Yes, you can use "v1.4.1-787" to describe a specific point in history,
but the far more common and useful one is the "45f932c1" SHA1 reference,
because the latter can be used directly in all Git commands.


If multiple people were committing directly to the same repository (I>
presume Git supports that)

Yes.

 presumably they'd see a consistent sequence> of version identifiers,
i.e. very much like Subversion.

Yes. A SHA1 reference like "45f932c1" only only points to a specific
commit, it also describes the history that lead to that point.



What happens in the case where there's multiple repositories?

No difference. A git repo contains the full history. If you clone that
repository 100 times between developers, you effectively have a 100
backups. If the original repo had 5 branches, all 100 clones with have
references (and full history) to those 5 branches too. Such remote
branch can be listed using the following command:
  git branch -r


Thanks very much for that, very interesting.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Mark Morgan Lloyd

On 23/05/17 14:10, Mark Morgan Lloyd wrote:


One question if I may. Subversion has revision numbers like 12345, and
it's comparatively easy to query that and build it into a piece of
software's version information. It's also trivial for a developer to
look at the revision that he's currently working with, to say whether
it's older or newer than revision 12345, and to get a log of what the
relative changes were by /only/ knowing the revision number.
Now I don't deny for a moment that Git has its advantages for
distributed working. But am I correct in my understanding that it has
nothing that maps directly onto the monotonic revision list of
traditional VCSs including Subversion?


Apologies for the poor threading, but not all ML messages get through 
our gateway.


Thanks for the explanation Graeme, I hope that I'm not the only person 
here to find that instructive. So in the context of what I asked


>   [reportdesigner (reportdesigner)]$ git describe
>   v1.4.1-787-g45f932c1
>
> What does that output tell me:
>   * Whatever code I'm working on is follow on from the "v1.4.1"
> release.
>   * This line of [development] history has seen "787" commits
> since the v1.4.1 release.

says explicitly that the modification with the hash g45f932c1 takes the 
project on the Git repository under consideration to something that 
could usefully be described as v1.4.1-787, and you can use that in 
conversation without having to be online to a repository.


If multiple people were committing directly to the same repository (I 
presume Git supports that)  presumably they'd see a consistent sequence 
of version identifiers, i.e. very much like Subversion.


What happens in the case where there's multiple repositories? How 
brutally would each one have to be whacked before it was guaranteed that 
every one had the same correspondence of release-commit tuples and 
hashes? Could this be /forced/ at the project level and what 
implications would that have on the amount of data transferred to 
synchronise them?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Mark Morgan Lloyd

On 24/05/17 08:30, Graeme Geldenhuys wrote:


Sorry, I've just had too many hard drives fail on me... so many fail>
that it's almost as if someone was doing it on purpose to me.

Sounds like you are in serious need of ZFS. If you work on a laptop (so
can't install 3+ hard drives), then I recommend you get one of those
USB3 or Thunderbolt port external NAT-style storage devices. I know some
of them support ZFS. But those storage devices are a bit costly. But
then, how much is your data worth?


I agree, it's really very good indeed and I think the only reason that 
it's not more widely used is the licensing problem (Sun's license being 
incompatible with GPL) which resulted in a lot of FUD.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Mark Morgan Lloyd

On 23/05/17 14:00, Marco van de Voort wrote:

In our previous episode, Graeme Geldenhuys said:> As with any new applications or technologies, 
there is always some > learning curve (big or small). There are tons of bad habits ingrained in 
> SVN users. Those do not translate well to Git (thank goodness). Git > works fundamentally 
different to SVN (for the better). So you need a > change in mindset - some refuse, hence they 
struggle with Git. And then > wrongly blame Git for it. I fear this is most likely what happened 
with > Florian.
That is your very colored view about it, that automatically declaresnon-gits 
stupid.
However in the last discussion we showed you various faqs (like from LLVMand 
FreeBSD) that mirrored the FPC core teams.


One question if I may. Subversion has revision numbers like 12345, and 
it's comparatively easy to query that and build it into a piece of 
software's version information. It's also trivial for a developer to 
look at the revision that he's currently working with, to say whether 
it's older or newer than revision 12345, and to get a log of what the 
relative changes were by /only/ knowing the revision number.


Now I don't deny for a moment that Git has its advantages for 
distributed working. But am I correct in my understanding that it has 
nothing that maps directly onto the monotonic revision list of 
traditional VCSs including Subversion?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Google Invents Pascal

2017-05-18 Thread Mark Morgan Lloyd
According to 
http://www.theregister.co.uk/2017/05/17/android_kotlin_java_alternative/ 
a language called Kotlin is now one of the preferred few for Android 
development.


According to https://kotlinlang.org/docs/reference/basic-syntax.html it 
looks like this:


fun maxOf(a: Int, b: Int): Int {
if (a > b) {
return a
} else {
return b
}
}

I've got a vague recollection that this is not the first 
recently-defined language which, at least for special cases, puts the 
type after the variable or function name. But apart from bowing to 
dominant usage (braces rather than begin-end and so on) this does appear 
remarkably Pascal-like.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Orange Pi vs. Raspberry Pi vs Banana Pi vs ASUS Tinkerboard vs. Odroid

2017-03-09 Thread Mark Morgan Lloyd

On 09/03/17 18:00, Lukasz Sokol wrote:

On 08/03/17 10:14, Mark Morgan Lloyd wrote:> On 07/03/17 19:30, nore...@z505.com wrote:>>> On 02/03/2017 23:54, Paul Robinson wrote:> >> There are five>>> similar "Altoids tin-sized" single board 
processors>> I'm aware>>> of.>> >> The Raspberry Pi , The Orange Pi, The Banana Pi, The>>> ODROID, and the>> ASUS Tinkerboard. The Tinkerboard is sometimes>>> referred to as the>> 
Maker Board.>> There are also more open source based ones like BeagleBone. There>> is also the $9 "chip" computer Not sure if these count as altoids,>> never heard that before :-)> > American brand :-)> 
http://hackaday.com/2017/02/15/piminimint-altoids-rpi-zero-computer/> > >> Beagle bone is more expensive, but more open sourced> > Particularly notable due to a couple of DSP-like processors which> make it good for 
high-speed stuff. However unlike the main processor> I believe these have to be programmed in assembler.> Didn't first (single-core) series of RasPI had similar 'theme' ?
with its 'small' ARM processor runs the OS and programs, and the 
'massive''Vision' (hence I think, graphics centered) one is just 
idling(actually kickstarting the ARM core at boot time only)  ?


My recollection is that the processors in the RPi are both ARM variants, 
although the one dedicated to graphics has got a lot of extra stuff 
bolted on. What the RPi is doing is an interesting alternative to e.g. 
writing a loader in Verilog to run in an FPGA, with the objective of 
having no ROM-based loader intruding on the address space. It's now at 
least semi-open, and I think I've read of interesting stuff being done 
with it.


The DSPs in the BB's OMAP chip are general purpose (i.e. rather than 
relying on bolted-on special hardware) and are fast enough to do things 
like emulating an MFM disc drive in real time (i.e. as a drop-in 
replacement for obsolete hardware) or a 100MHz logic analyser 
https://hackaday.io/project/4395-beaglelogic or an inline USB sniffer 
http://elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Orange Pi vs. Raspberry Pi vs Banana Pi vs ASUS Tinkerboard vs. Odroid

2017-03-08 Thread Mark Morgan Lloyd

On 07/03/17 19:30, nore...@z505.com wrote:

On 02/03/2017 23:54, Paul Robinson wrote:> >> There are five similar
"Altoids tin-sized" single board processors>> I'm aware of.>> >> The
Raspberry Pi , The Orange Pi, The Banana Pi, The ODROID, and the>>
ASUS Tinkerboard. The Tinkerboard is sometimes referred to as the>>
Maker Board.

There are also more open source based ones like BeagleBone.
There is also the $9 "chip" computer
Not sure if these count as altoids, never heard that before :-)


American brand :-) 
http://hackaday.com/2017/02/15/piminimint-altoids-rpi-zero-computer/




Beagle bone is more expensive, but more open sourced


Particularly notable due to a couple of DSP-like processors which make 
it good for high-speed stuff. However unlike the main processor I 
believe these have to be programmed in assembler.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anyone using Orange PI

2017-03-01 Thread Mark Morgan Lloyd

On 01/03/17 11:30, Marco van de Voort wrote:

In our previous episode, Mark Morgan Lloyd said:


I agree. Most of our RPis are actually running Debian, but in extremis
it's always possible to roll back to Raspbian as a baseline configuration.

There are of course other small boards: Olimex, Odroid and now Asus.
However RPi does offer a fairly flexible and cost-effective range, and
unless the OP is considering shipping hundreds rather than 10s of boards
I suggest that getting onto both the Linux learning curve and one for
minority hardware is quite simply not cost-effective.


The problem is that rpi has no fast storage interface (like SATA), some of
the more expensive orangepis have sata. (though I'm not entirely sure if it
is not bridged via usb)


A colleague's just pointed me at ongoing discussion of the new Asus 
board, where somebody's observing that "OrangePI also offer a solution 
with integrated bootable eMMC"


I had an Odroid/Hardkernel eMMC module fail a few weeks ago, and my 
understanding is that I'm by no means the only person to have seen this. 
I also believe that the manufacturer is keenly aware of the problems... 
but at least it was a removable device and once pulled the board will 
boot from SD-Card.


Being able to plug an ordinary SD-Card into a Raspberry Pi is definitely 
one of its strong points. It's a bit unfortunate that it doesn't use one 
of the standard boot loaders (U-Boot, OpenFirmware or whatever) but it 
generally /just/ /works/, and it doesn't rely on having an onboard 
component which can only be fixed by JTAG when it breaks.


Now one might argue that as long as it works or at least can be fixed, 
the boot loader isn't relevant to something like FPC and/or Lazarus. But 
I'm currently playing with an Arduino-compatible board hooked onto the 
RPi's console port, and to get that working I had to change the kernel 
command line: for an RPi that meant editing a text file, while for many 
other boards it would mean updating Flash.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anyone using Orange PI

2017-03-01 Thread Mark Morgan Lloyd

On 01/03/17 11:30, Marco van de Voort wrote:

In our previous episode, Mark Morgan Lloyd said:


I agree. Most of our RPis are actually running Debian, but in extremis
it's always possible to roll back to Raspbian as a baseline configuration.

There are of course other small boards: Olimex, Odroid and now Asus.
However RPi does offer a fairly flexible and cost-effective range, and
unless the OP is considering shipping hundreds rather than 10s of boards
I suggest that getting onto both the Linux learning curve and one for
minority hardware is quite simply not cost-effective.


The problem is that rpi has no fast storage interface (like SATA), some of
the more expensive orangepis have sata. (though I'm not entirely sure if it
is not bridged via usb)


That's true and is obviously a major point. I've got an RPi3 on my desk 
and even though it's not using its SD-Card for live storage there are 
mystery slowdowns which suggests that something's hogging the USB.


But it /is/ fairly painless for (32-bit) FPC and for Lazarus, running 
KDE but with most programs targeting GTK2. I've run an Odroid C2 enough 
to respect the hardware and low-level firmware but to be a bit dubious 
about their bundled Ubuntu, and more than anything else that's a sign 
that there's quite simply not enough people using it.


And speaking as the one person who more than anybody else has bullied 
the community to keep things like SPARC going over the years, I'm keenly 
aware of how frustrating it can be when people agree that it's worth 
fixing something but not enough developers have the required hardware 
(or space, or tolerance for heat and noise :-)


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anyone using Orange PI

2017-03-01 Thread Mark Morgan Lloyd

On 01/03/17 10:30, Bo Berglund wrote:

On Wed, 1 Mar 2017 09:17:49 +0200, Cyrax <ev...@hotmail.com> wrote:


You should report your findings to the bugtracker so they can be fixed.



The FPC or Lazarus or RPi or Raspbian or Orange bugtracker?
Not clear to me.


First test: OP to do

echo $0

If that doesn't show the name of the shell, possibly prefixed by - , 
then it's definitely an Orange problem. In other cases please post a 
minimal FPC (i.e. not Lazarus) program showing the problem, telling us 
/exactly/ what version of FPC is being used.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anyone using Orange PI

2017-03-01 Thread Mark Morgan Lloyd

On 01/03/17 02:30, Steve Gatenby wrote:

On 28/02/17 11:55, Andreas wrote:

The company I work for will be realizing an embedded project using
Orange PI. I can use any tool I want, but the project will be on a
Orange PI (A very small chance of Raspberry PI). Does any one have FPC
running on Orange PI? If so would you be willing to help me get set up?
I am totally unpracticed in Linux, but am sure I can get into it.


Using multiple OrangePI-PC's here

Haven't loaded FPC/Lazarus directly on the OPI, but I am running apps
pre-built (on an Odroid UX4) using fpc/lazarus on it.

So far all good - except

the following functions fail (within fpc/lazarus calls)

Params all return blank - so cant use Param(0) etc
ApplicatioName returns blank
ProgramDirectory returns blank

There may be others, but haven't hit them yet.


That sounds like the OS has mangled the shell in some way.


I have work-arounds for these if you need them


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] How was compiled the very first version of FPC?

2017-01-10 Thread Mark Morgan Lloyd

On 09/01/17 20:30, Karoly Balogh (Charlie/SGR) wrote:

Hi,

On Mon, 9 Jan 2017, Giuliano Colla wrote:


While installing FPC on a new platform, and looking for the appropriate seed
compiler, a question came to my mind.

As compiling FPC from sources requires a previous FPC version, how was
compiled the very first version of FPC?



The point 4. is correct. The first version was done in Turbo Pascal, then
eventually the compiler became able to compile itself. Until 1.0(?) I
think it was still possible to build the compiler with TP7. Later the TP7
compatibility was dropped, and since then FPC is only developed in itself.

It's written on Wikipedia BTW:
https://en.wikipedia.org/wiki/Free_Pascal#Early_years


And ultimately I think that TP was written in Z80 assembler, later 
converted to 8086.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Stanford Pascal Compiler successfully ported to Windows, OS/2 and Linux

2016-12-27 Thread Mark Morgan Lloyd

On 26/12/16 19:00, Bernd Oppolzer wrote:

A thought without its being a direct comment on any part of what you've 
written. Programming texts from Wirth onwards tended to muddle pointers 
and dynamic memory allocation together, so in effect assumed that 
pointers would /only/ come out of the heap manager hence could be 
checked for consistency in that context. Early Pascal compilers neither 
had an addressof() function nor expected that the underlying OS would 
return a pointer as a syscall result.


When teaching/supporting I've found it useful to make the opposite 
assumption, i.e. starting off with a hypothetical OS call that returned 
a pointer and showing students what they could do with it, and only 
later introducing trees etc. on the heap.


Apart from that, I've certainly seen mark/release being the dominant 
mechanism in 1980s compilers, and even Turbo Pascal 3.0 (circa 1986) 
supports it with the explicit


"NOTICE that Dispose and Mark/Release use entirely different approaches 
to heap management - and never shall the twain meet! Any one program 
must use either Dispose or Mark/Release to manage the heap. Mixing them 
will produce unpredictable results."


Turbo Pascal 5.0 (circa 1989, and not long preceding Delphi) appears to 
adopt a complex scheme to handle both of the approaches, and observes


"Mark and Release cannot be used interchangeably with Dispose and 
FreeMem unless certain rules are observed [...] ."


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Stanford Pascal Compiler successfully ported to Windows, OS/2 and Linux

2016-12-25 Thread Mark Morgan Lloyd

On 25/12/16 10:00, Alexander Stohr wrote:

Am 2016-12-24 um 15:20 schrieb Bernd Oppolzer:



The first answer for such operators often is: use the right container
for the value you are in need and avoid all those operators.


Bear in mind that this is very old code that Bernd is maintaining, and 
long predates any concept of objects or of containers other than Pascal 
records.



Is the your lower end of those module touching on a system API level for
that?
(e.g. the Linux ABI, OS/2 system peronality, WIN32 api - rather than
malloc()/free() as a C standard library provides it)


Again, bear in mind that one of his major targets is a late-70s vintage 
IBM CMS, which predates most APIs as we know them (in fact, long 
predates the terms API and ABI themselves :-)


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Stanford Pascal Compiler successfully ported to Windows, OS/2 and Linux

2016-12-24 Thread Mark Morgan Lloyd

On 24/12/16 11:30, Bernd Oppolzer wrote:

Hello Mark,

on several occasions, I looked what FPC does, when I extended the
Stanford compiler, for example when I added support for direct write
of scalars.

At one time I recall that I decided explicitly to take another direction;
that was when I allowed shorter string constants to be assigned to
longer ones, for example:

var x: array [1 .. 200] of char;

x := 'some string';

IIRC, FPC fills with hex zeroes, but I prefer blanks - the blank
representation
of the target system ... which is different on the target systems; this
should
show to some of the readers here which are not familiar with IBM mainframes
some of the difficulties I had to get the P-Code really portable ... all


I think the issue of padding partially-initialised data structures is 
something that merits wider discussion. Provided of course that we can 
avoid the sort of arcana that Paul/Kerravon is enmired in :-)



chars in
the (character) P-Code file had to be converted to character constants; all
places where character A - for example - was represented as numeric 193
(which is EBCDIC 'A') had to be found and corrected. Even such places where
the reference to 193 was not recognized at first sight, that is: offsets in
branch tables and bit strings representing sets.


I think you've made creditable progress in a difficult area. What are 
you doing about PRED() and SUCC() as applied to CHARs?


Anybody with any sort of interest in mainframes is going to have to 
consider EBCDIC for quite some while, but unfortunately there are still 
people who insist that it's flawless. One of our wiki pages has somebody 
confirm that EBCDIC has ^, but he then goes on to admit that it's not in 
all codepages...


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Missing messages

2016-10-31 Thread Mark Morgan Lloyd

On 31/10/16 03:00, Travis Siegel wrote:

On 10/30/2016 6:36 PM, Graeme Geldenhuys wrote:


Hey, we even have an excellent news client written in Object Pascal -
just take a look an XanaNews! btw: XanaNews supports all the above
benefits and much much more.



Does this nntp client compile with fpc? It's written in delphi, and I've
been unable to find a legitimate copy of delphi even though I've
searched for one for years.  Either I'm not looking in the right places,
or nobody is selling one.  I'm not interested in paying $1500 for the
delphi replacement, even if it does run on linux.


There's copies on eBay occasionally, although one obviously has to be 
careful that it's legitimate and can be registered (if that's still 
mandatory).


However the real question is not so much the version of the language and 
VCL that's been used, but how many extra libraries etc. have been pulled 
in that are either no longer available or aren't going to work with 
FPC/Lazarus.


Frankly, I've always found the standard Mozilla family of clients adequate.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] The end of Gmane

2016-08-02 Thread Mark Morgan Lloyd

Lukasz Sokol wrote:

On 30/07/16 20:04, Mark Morgan Lloyd wrote:

Lukasz Sokol wrote:



I'm sure that if one dug there would be plenty of prewritten mail
distribution programs, probably in Perl on unix (and if somebody
doesn't like that, he might as well stop reading here).


there was even a pre-cursor to (probably) every known program like that, 
fetchmail...
up to the interested reader to find what was it written in ;) and by who.
(as in, I remember fetchmail from ~15-20 years ago, it had quite /specific/ 
approach to config files)


Fetchmail's OK if you can rely on an ISP running a mail server (MTA, 
Sendmail or equivalent) which will accept all IDs for a given domain in 
a compatible format. Some usages aren't compatible, and I've had to 
write a local equivalent.



The key to managing anything like this is usually to use a different
email ID for each mailing list, e.g. something like
fred.fpc-ot...@telegraphy.co.uk for this one. Then either make sure
you deal with an ISP who is prepared to accept either all mail for
your domain or a significant number of predefined names (i.e. rather
than just a single one) or set up your own email server
(Sendmail+Cyrus or whatever). Then use Thunderbird etc. rules to
distribute traffic to folders by recipient.


Yes. However it requires that filter/sorter be running somewhere all the
time, to sort the messages. So you end up having a 24/7 computer in
the house, which isn't to everybody's taste... or hosting it to run in a 
vm somewhere for free/non-free. And, well if you happen to think, that

an DD/OpenWRT'd home ADSL modem(*) with some storage is enough, try to think
of a good answer to 'Why do you need that hard drive attached to the modem all 
the time?'
question, in 2 minutes ... ;)

(*) (of which workable ones are not as easy to come by by the way either)


This is basically stuff I'm working on at the moment, to the detriment 
of other things like testing FPC on outrageous platforms. Let's consider 
the two sides of the problem separately.


First, if you want to receive all possible emails (i.e. with user names 
mis-spelt etc.) you'll usually have to set up your own server somewhere. 
But these days a Raspberry Pi can use a 64Gb SDCard instead of a 
conventional hard disc, and that is more than adequate to buffer email 
traffic. In our case we've got Sendmail as an MTA, greylisting, and 
Cyrus as storage... there's a few problems in there related to 
duplicated messages but it works. Client systems need to know what user 
IDs they're collecting mail for, and periodically anything uncollected 
will need to be reviewed.


Second, connection etc. A dedicated email server will usually require a 
routable IP4 address (i.e. not 192.168.x.x etc.) and these have been 
increasingly difficult to get over the last few years. Routable IP6 
addresses are easier, but ADSL services that support IP6 are still 
comparatively rare.


A solution to this is to use a non-routable IP address allocated by DHCP 
and served over ADSL or 3G/4G mobile. Over that you set up an L2TP 
tunnel, and at your end you have a mail server listening on a routable 
IP6 address (and IP4 if you can get one). You possibly also have a very 
low-priority IP4 server run by your ISP, but this will need very heavy 
spam filtering since it will get a lot of undesirable stuff.


L2TP in this mode is still rare, we're beta-testing it with our ISP but 
since they also manufacture the Firebrick appliances used by a fair 
number of small ISPs expect it to be rolled out gradually. 
http://aa.net.uk/broadband-l2tp.html


We've historically used Draytek router/modems connected via multiple 
carriers to AAISP (link above). Over the years we've seen reliability 
gradually improve as carriers have gradually introduced proper failover 
when e.g. taking a core router out overnight (we run 24x7. They don't). 
We're currently experimenting with diversified connections, and one of 
the things I've got on my plate is to integrate an inference engine with 
our firewall to handle traffic control (i.e. choosing which connection 
to use, irrespective of routing).


The inference engine is from NASA, and written in Perl. Sorry.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Quick Modern Object Pascal Introduction, for Programmers

2016-06-20 Thread Mark Morgan Lloyd

Luca Olivetti wrote:

El 20/06/16 a les 11:44, Mark Morgan Lloyd ha escrit:


A private online service I use has somebody who still bears the scars of
Olivetti attempting to write an operating system in (strict, unexpanded)
Pascal.


Oh, the memories (and, no, I'm not related). My first job was in one of 
Olivetti's factories where they used such a system for production 
control (they ate their own dog food).
I was programming the PLC (well, part of it) and it had to keep in 
memory two hours worth of planning since that was the time the computer 
needed to reboot when it crashed ;-)


I doubt it was plain pascal though: according to this page

http://www.storiaolivetti.it/percorso.asp?idPercorso=564

it was concurrent pascal

https://en.wikipedia.org/wiki/Concurrent_Pascal

(even if I'm not sure the wikipedia page refers to the same thing).


I think he said it was mid-70s, but I got the impression that it was 
very much ISO-standard Pascal and it didn't have facilities such as 
assembler interfacing. On the other hand I think Concurrent Pascal was 
one of Brinch Hansen's earlier attempts, and like Pascal itself it might 
have taken a couple of iterations to get right.


The bottom line was that it was an unmitigated disaster :-)

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Networking problem from Linux virtual machine hosting Lazarus

2016-02-27 Thread Mark Morgan Lloyd

Bo Berglund wrote:

I hope this might be acceptable to ask here even if it is FPC and
Lazarus off topic

I have created a VMWare WS12PRO virtual machine in which I have
installed Linux Mint 17.3 MATE to host FreePascal 3.0.0 and Lazarus
1.6.
These are now fine and working.

As a last item I need to secure connectivity to the company version
control system hosted on a Windows server on address 10.0.0.7
This network is on-line on the VMWare host PC (Windows7 X64) via VPN.

I have set the virtual machine networking to NAT so it will use the
host networking system and it should be able therefore to use the VPN
channel to reach the 10.0.0.7 server.

This is the addresses of my system:
Main PC (VMWare host):
 IP=192.168.0.137 Mask=255.255.255.0 GW=192.168.0.129

VMWare virtual adapter for vnet8 on main PC:
  IP=192.168.80.1 Mask=255.255.255.0

 
Linux Mint virtual machine:

IP=192.168.80.130 Mask=255.255.255.0 GW=192.168.80.2

Server on VPN network:
IP=10.0.0.7 Mask=255.255.255.0

I know that this should work but I feel that there is something
missing on the Linux side to make it actually start working...
On previous Linux virtual machines (VMWare Workstation 7 level) I did
not have to do anything else than connect VPN on my host PC to make
that network also available on the virtual computer.
Does not work now...

I have tried adding route 10.0.0.0 on the linux side as follows:

bosse@mint17mate ~ $ route -n
Kernel IP routing table
Destination   Gateway  Genmask   Flags Metric Ref Use Iface
0.0.0.0   192.168.80.2 0.0.0.0   UG0  0 0 eth0
10.0.0.0  192.168.80.1 255.255.255.0 UG0  0 0 eth0
192.168.80.0  0.0.0.0  255.255.255.0 U 1  0 0 eth0

But this does not work either.
I don't get any ping response. On the host system I get immediate
response...

Is there anyone here who has done this and made it work?


I'm not sure how useful any comment from me it, since I tend to use 
Qemu. However the obvious question that has to be asked is whether the 
windows system knows how to route to the subnet on which the VMWare 
guest resides.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Submitting fpc-devel mailing list to Gmane service.

2016-02-27 Thread Mark Morgan Lloyd

Bo Berglund wrote:

On Sat, 27 Feb 2016 13:21:20 +, Mark Morgan Lloyd
<markmll.fpc-ot...@telemetry.co.uk> wrote:


Cyrax wrote:
I propose adding fpc-devel list to Gmane service. fpc-pascal list is 
there already and for completeness, fpc-devel would be nice addition.


Thoughts on this matter?

<url:http://gmane.org/>

Yes please.


+1 (not that I would have much to contribute on devel, but it is nice
being able to follow discussions)

And NNTP beats forums outright!


Bo, nice to see you in here. Please feel free to ask questions on SSH 
etc. if you've got loose ends, since I don't think we'll be coughed at 
in here :-)


I'd note that I interface to the mailing lists using NNTP and a modicum 
of Perl, but messages with embedded HTML etc. tend not to make it past 
the spam filters.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Build farms etc.

2016-02-27 Thread Mark Morgan Lloyd

Lukasz Sokol wrote:

On 26/02/16 10:20, Mark Morgan Lloyd wrote:
[the history of OpenMOSIX, really good writeup, thanks!]

For me what dragged me to OpenMOSIX was that, unlike Beowulf,
it did not require to recompile any programs it was to run,
with some nifty special libraries. And the members of the cluster
still are usable machines.

Back in uni, in 2004, I attempted to create a lab environment,
with OpenMOSIX booted off couple of CD's of remastered Knoppix, on 4 computers,
running Octave for extensively used Matlab-like calculations,
since some people only could be bothered running Matlab or alikes.

When it did run, it ran well. 
Enough for the members of the exam panel to be convinced anyway.


It would also run with graphical programs (you probably know that since 
you mention Octave), provided that they only used OS facilities (i.e. no 
direct hardware access) and didn't use shared memory. That last is a 
killer as far as things like Mozilla/Firefox are concerned, I've got a 
colleague who keeps a lot of browser instances open for extended periods 
but since each one uses a block of shared memory to coordinate multiple 
windows it's not possible to spread the load. I've ended up setting him 
up a big AMD system, and it's interesting comparing its memory 
management performance with the slightly smaller Sun he was using until 
recently: different flavours of Linux kernel behave very differently.


The sort of thing that interested me was the case where somebody had 
PDA-type programs running on a portable system ("Minnie") which could 
offload work to something more capable ("Mike") when its owner got home 
and docked it (wireless doesn't really work here, since connections have 
to be broken fairly carefully). However that obviously mandates that all 
cooperating systems are binary-compatible, unless this sort of thing is 
reengineered using e.g. Java (I'm sure somebody has by now) and that all 
required apps are available (more of an issue).


I think it does rather more than the virtualised etc. systems which are 
so popular these days, and is in practice much closer to some of the 
classic IBM mainframe OSes which could distribute work over sysplexes- 
which is probably why Moshe Barr is seen in some of the IBM foramina.


RIP, there's no equivalent replacement on PCs (which probably suits IBM 
fine).


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Build farms etc.

2016-02-26 Thread Mark Morgan Lloyd
I mentioned LinuxPMI (formerly OpenMOSIX) yesterday, and thought it 
might be of interest to somebody if I wrote a few more lines on it.


My understanding is that MOSIX was originally a Linux (or possibly some 
other unix) fork written by (students of) Moshe Barr. It was 
open-sourced in the early 00s, but has since been abandoned since he 
decided that supercomputer-style clustering (MPI, OpenMPI etc.) made it 
redundant.


OpenMOSIX comprised patches to the Linux 2.4.x kernel which allowed the 
main code of an application program to be moved between machines while 
it was running, with a stub left on the original system to handle kernel 
interaction. It worked at the process (not thread) level, and would 
decline to handle a program that it detected was using something 
unmappable like shared memory.


It did not attempt to implement a single system image spread over all 
available processors, and within limits each collaborating system could 
have a different kernel build. Irrespective of that the result was 
extraordinarily flexible, with long-runtime processes being moved 
between systems depending on resource availability and with a system 
being purged on (controlled) shutdown.


As a particular example, it was trivial to start a kernel build on one 
system and then to watch it spread over others as they were added to the 
pool. Quite frankly, this was one of the most impressive things I've 
seen during my time in the industry.


Unfortunately, it never made the transition to kernel 2.6 or to non-x86 
processors. I still think this was a mistake on the part of the owner, 
since while build farms are good at distributing work at the makefile 
level and things like OpenMPI work well for specially-written programs, 
OenMOSIX did a particularly good job with arbitrary unmodified code.


There's been an attempt to migrate the kernel patches to Linux 2.6 as 
LinuxPMI (Process Migration Infrastructure), but they will only apply to 
a very limited version range and are untested. What's more, the 2.6 
kernel will only compile on a limited number of mainstream distreaux, 
(from memory) I was able to find a small overlap between viable kernel 
versions and Debian "Lenny" but that's about as far as I got.


So basically, that's it. Moshe Barr has moved on (he occasionally 
appears in some of the IBM mainframe groups on Yahoo!, and this sort of 
thing really is a mainframe capability), there's few if any active 
programmers in the open source community who understand how it worked, 
and I for one am far too low on the kernel and C learning curves to be 
much use by myself... not to mention having far too much on my plate as 
it is.


http://linuxpmi.org/trac/ plus a FreeNode channel.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Re-purpose old laptops for an extended desktop

2016-02-24 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hi,

On 2016-02-24 15:06, Mark Morgan Lloyd wrote:
x2x is specifically for controlling multiple computers with a single 
keyboard and mouse. As such windows are limited to the size dictated by 
the screen


Ah, okay that is similar to VNC or RDP then. Very different to what Xdmx
does - combining monitors from multiple running computers and making one
large desktop controlled by a single computer. Xdmx is as if you plugged
multiple monitors into a single PC.


[Sigh] No it is not the same.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Re-purpose old laptops for an extended desktop

2016-02-24 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hi,

On 2016-02-24 14:02, Mark Morgan Lloyd wrote:
I've looked at it in the past and found it woefully unreliable, but 
there's a chance that it's improved since it's been adopted as an 
official part of X11.


I can't really answer that, other than that I've used it for the last
week with both systems running X Server v1.17.4  (though the one system
did run v1.14.3 up until yesterday), and it hasn't given me any problems
thus far.



I ended up using x2x which at least allows me to use a single keyboard
and mouse over four screens.


I don't know x2x - how is that different to Xdmx?


x2x is specifically for controlling multiple computers with a single 
keyboard and mouse. As such windows are limited to the size dictated by 
the screen (taking into account Xinerama etc.), you can't drag-and-drop 
screens between machines, no cut-and-paste between machines and so on.


Continuing the overall desktop and remote-access theme, I'd add that 
anybody using VNC could usefully look at whatever their desktop provides 
rather than the standard VNC client, I've found krdc to be significantly 
more reliable and capable than xvnc4viewer. Similarly anybody using 
Xnest could usefully look at Xephyr as an alternative... again this uses 
the same protocol but is a more up-to-date implementation.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Re-purpose old laptops for an extended desktop

2016-02-24 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hi,

For developers that always want more desktop space...

If you have old laptops laying around, Xdmx is a fantastic way to
re-purpose those old laptops and let them act as an extended desktop for
your main system. It supports up to 16 computers.

http://www.ibm.com/developerworks/library/os-mltihed/index.html
https://www.youtube.com/watch?v=YOzRCBGDVaE=desktop

I managed to get this working between two FreeBSD systems in 10 minutes
- and that included the time to install FreeBSD 10.2 on my old laptop.
:)  For FreeBSD users, install the x11-servers/xorg-dmx ports package.


I've looked at it in the past and found it woefully unreliable, but 
there's a chance that it's improved since it's been adopted as an 
official part of X11. I ended up using x2x which at least allows me to 
use a single keyboard and mouse over four screens (2x on each of 2x 
computers).


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] ESCAPE: Environment for the Simulation of Computer Architectures for the Purpose of Education

2016-02-01 Thread Mark Morgan Lloyd

Jonas Maebe wrote:

Mark Morgan Lloyd wrote on Mon, 01 Feb 2016:

For a demo computer built using this sort of thing, it's obviously 
trivial to arrange it such that the simulator can load microcode from 
persistent storage, and can do something comparable for a boot loader.


What would be the comparable facility for the pipelined variant? 
Loading lookup tables to decode opcodes to VLIW, and then clocking 
those words through the pipeline?


You could use something FPGA-like to restructure your pipeline, but in 
practice I indeed think many current architectures simply combine 
microprogramming and pipelining, whereby the microprogramming translates 
the externally visible ISA into an internal ISA (VLIW or not), which in 
turn is executed in a pipelined fashion.


Thanks for that. I'm still very much embroiled in porting a B5500 
simulator, I've got it nicely split up into multiple threads (one per 
CPU and IOP) which is something that the original author had a lot of 
difficulty with but am stuck on some obscure opcode failure and will 
have to bite the bullet and ask him for help.


Having got that coded and (hopefully) working, it would be interesting 
to look at how much of the overall framework and peripherals could be 
used for other large-scale computer systems- the sort of things that 
SIMH isn't really a good fit for. I'm rather thinking of Stanford/SLAC 
here, who went through an interesting progression of Burroughs and IBM 
kit in the years before Hennessy did his RISC work there: and that of 
course is where Wirth laid the foundations of Pascal.


But I sincerely hope I'm never bored enough to get too deeply into that :-)

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] ESCAPE: Environment for the Simulation of Computer Architectures for the Purpose of Education

2016-02-01 Thread Mark Morgan Lloyd

Jonas Maebe wrote:

Hi,

In the 90s, a professor and a PhD student at our department developed a 
simulator for pipelined and microprogrammed architectures (based on the 
Hennessy and Patterson DLX architecture), in Delphi. We've used it since 
then every year in the lab sessions for our computer architecuture 
classes. In 2010, I ported the program to FPC and Lazarus and we use it 
compiled for Linux/Qt in a VM nowadays. I did not have any Lazarus 
experience when I started that port (and I'm still far from an expert), 
but the process still went fairly smooth.


I recently asked for and got permission to publish the source code under 
the GPLv3, so here it is: https://github.com/jmaebe/ESCAPE


Jonas, if you're watching I wonder whether I could run one thought past 
you (and possibly your colleagues- with apologies in advance if the 
obvious answer is buried in the source, which I've not gone deeply into 
yet).


For a demo computer built using this sort of thing, it's obviously 
trivial to arrange it such that the simulator can load microcode from 
persistent storage, and can do something comparable for a boot loader.


What would be the comparable facility for the pipelined variant? Loading 
lookup tables to decode opcodes to VLIW, and then clocking those words 
through the pipeline?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] ESCAPE: Environment for the Simulation of Computer Architectures for the Purpose of Education

2015-10-19 Thread Mark Morgan Lloyd

Jonas Maebe wrote:

Hi,

In the 90s, a professor and a PhD student at our department developed a 
simulator for pipelined and microprogrammed architectures (based on the 
Hennessy and Patterson DLX architecture), in Delphi. We've used it since 
then every year in the lab sessions for our computer architecuture 
classes. In 2010, I ported the program to FPC and Lazarus and we use it 
compiled for Linux/Qt in a VM nowadays. I did not have any Lazarus 
experience when I started that port (and I'm still far from an expert), 
but the process still went fairly smooth.


I recently asked for and got permission to publish the source code under 
the GPLv3, so here it is: https://github.com/jmaebe/ESCAPE


I'll take a look at that when I have time. I'm still working on porting 
the B5500 emulator from Javascript, but there's so many odd peripherals 
in there (i.e. things that looked entirely sensible in 1960, like 
head-per-track discs) not to mention opcodes that change several 
registers in peculiar ways that I'd be surprised if they were directly 
compatible.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Access GPIO pins on RPi2 without root?

2015-10-10 Thread Mark Morgan Lloyd

Bo Berglund wrote:


Notice that the file used is /dev/mem

I don't know if there exists a user group named mem, but in any case the
user pi is not member of any such group.
Could this be the cause for root to be required?


No, if you do

$ ls -l /dev/mem
crw-rT 1 root kmem 1, 1 Jan  1  1970 /dev/mem

I'll step through those bits in stages. First, I've prefixed the  ls 
command with $ since this is the prompt that was displayed. You don't 
enter that, it's just "unixspeak" shorthand showing that the command was 
entered by an unprivileged user.


Looking at the response, c shows that the thing you're looking at 
represents a character device. After that you get permissions: the user 
that owns it has rw- (i.e. read, write, no execute), the group has r-- 
(read only) and others have --- (i.e. no access at all). Skipping a bit, 
the owner is root and the group that has limited access is kmem.


If you look in /etc/group, you'll probably see that no users are in the 
kmem group. The RPi probably has something in the GUI to add/remove 
users from groups and that should be used if possible, but otherwise you 
can do it by editing BOTH /etc/group and /etc/gshadow CAREFULLY so that 
you see something like


kmem:x:15:pi

and

kmem:*::pi

respectively. DO NOT GET THIS WRONG, A SCREWED FILE HERE WILL LOCK YOU OUT.

Look, I've not got much time but going back to another point. The 
example at 
http://wiki.freepascal.org/Lazarus_on_Raspberry_Pi#1._Native_hardware_access 
shows the /sys tree being manipulated to get access to GPIO pins, and 
this sort of thing can be the easiest way to start off since you can 
twiddle things by hand. So initially in /sys/class/gpio we've got


$ ls -l
total 0
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 export
lrwxrwxrwx 1 root gpio0 Jan  1  1970 gpiochip0 -> ...
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 unexport

If I now do

$ echo '17' >export

it creates a new entry

lrwxrwxrwx 1 root gpio0 Oct 10 13:18 gpio17 -> ...

If I cd into gpio17 there are various things exposed, /but/ you'll see 
that they're owned by root... that's going to be a problem for 
production code but is still OK for getting things working by hand.


Switch to root using su [root password here] or sudo su [your password 
here] as appropriate. Note password prompt now ends in #


# cat direction
in
# echo 'out' >direction
# cat direction
out

and so on.

I'll try to keep an eye on this ML, but our gateway rejects quite a lot 
of stuff /particularly/ if it's formatted as HTML or has an attachment.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] $100, 000 for C++ implementation of FPC's -CR option

2015-08-14 Thread Mark Morgan Lloyd

Nikolay Nikolov wrote:


Almost like Pascal's units. :) Although they don't include namespaces and
not intended for binary distribution.
Yes, I know about them, but come on... Turbo Pascal introduced units in 
1987 (in TP4). I think UCSD Pascal had them even before that (I never 
used UCSD, so I don't know). Since then, they've become de facto 
standard in pretty much every Pascal implementation that matters (even 
though they're not in ISO Pascal). C++ has a draft proposal in 2012 
(only 25 years after TP4) and only one compiler implementation in 2015.


On the other hand, C and C++ are children of ALGOL, and the early major 
ALGOL implementations tended towards conditional inclusion etc. rather 
than separate compilation. I think that separate compilation with a 
linkage editor was originally an IBM mainframe thing, Wirth was exposed 
to it at the end of his time at Stanford when they added an IBM 360 to 
the existing Burroughs systems (some stories have it that the ALGOL 
systems were thrown out, but I suspect that they were actually 
transferred to SRI).


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anybody using ultra-wide or square monitors for programming?

2015-03-23 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hello Mark,


On 2015-03-22 21:07, Mark Morgan Lloyd wrote:
No, but an observation if I may. A few months ago I moved from a couple 
of large (in their day) Multisync LCDs mounted flat, to 4x slightly 


I've used two 19 wide screen monitors for 2 years (a couple years back)
and absolutely loved it. I can maybe see myself up to 3 monitors, but 4
seems a bit excessive for work. But I fully appreciate everybody's needs
are different. I would love to see a photo of your setup if you don't
mind sharing. How do you layout your apps?


It's a very basic 2x2 arrangement, which effectively preserves the 
aspect ratio of the constituent screens. Not worth photographing at the 
moment, since one screen has gone down with capacitor plague and is 
awaiting repair (plus point: the others are unaffected). However, a bit 
more on the (Linux) implementation...


I've got two identical machines under my desk and was hoping to be able 
to use xdmx to make a single seamless display. However this turned out 
to be woefully inadequate in terms of both performance and reliability, 
and I ended up with x2x to allow me to share keyboard and mouse and NFS 
for /home and /usr/local. The practical result is that I'm able to e.g. 
run Lazarus on the bottom screens plus an instance of the program for 
testing on the top ones, it's usable but has the major issue that 
cut-and-paste is a hassle.


In light of experience so far, if I had the budget and didn't have a 
development commitment that required multiple machines, I'd lean towards 
a single quiet box under my desk with enough (ATI) cards to drive 4x or 
whatever screens.


[Remainder noted with interest.]

As I said earlier, I'm starting to have problems with visual 
accommodation, my understanding is that it affects everyone as they get 
older, and I think it's worth planning for. What I don't know is whether 
constantly switching focus between near and medium-distance targets 
provides useful exercise or potentially makes things worse.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Anybody using ultra-wide or square monitors for programming?

2015-03-22 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hi,

Anybody using something like the DELL U2913WM ultra-wide 2560x1080
monitor as an alternative to dual monitors? It has a unique aspect ratio
of 21:9 at 29-inch size.


No, but an observation if I may. A few months ago I moved from a couple 
of large (in their day) Multisync LCDs mounted flat, to 4x slightly 
smaller displays on adjustable arms that I can form into a pronounced 
curve both horizontally and vertically. I find the new arrangement 
vastly more comfortable, and elsewhere I see comment from other users 
and programmers of a certain age that they're having increasing 
difficulty accommodating screens at varying distances.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Google Code closing down

2015-03-16 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:


If you want facts, then do a Google search. See the exponential growth
of projects migrating from SubVersion (or other systems) to Git. Qt,
KDE, Linux Kernel etc - they are massive projects and must have had very
good reason to move to Git.


The Linux developers moved because they were thrown off Bitkeeper after 
being accused of reverse-engineering it.


I'm aware of the fact that there's something about managing directories 
(or possibly branches/tags) in Subversion that's considered broken, and 
I believe that when Torvalds hurriedly designed Git he took pains to fix 
that particular flaw. If one of the FPC maintainers can remember the 
details perhaps they'd explain them, after all /somebody/ has to give 
Graeme something concrete on which to build his argument :-)


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Google Code closing down

2015-03-16 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hello Mark,

On 2015-03-16 11:50, Mark Morgan Lloyd wrote:
details perhaps they'd explain them, after all /somebody/ has to give 
Graeme something concrete on which to build his argument :-)


hehehe... Just watch Linus's Google Tech Talk on YouTube. ;-)

I can also add that SubVersion has *no* concept of Tags. To SubVersion
there is no difference between a Tag and a Branch. Why do I say that?
Simply because you can create a Tag in the repository, and then start
adding commits to it just mind boggling! :) Why did they even bother.


I agree. In any reasonable vocabulary, a tag would represent a 
particular revision number relative to a branch.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Google Code closing down

2015-03-15 Thread Mark Morgan Lloyd

Paul Breneman wrote:

On 03/15/2015 05:44 AM, Florian Klämpfl wrote:

Am 15.03.2015 um 11:10 schrieb Graeme Geldenhuys:

NOBODY I
know has ever considered going back to SubVersion after using Git.


Good to know that upper case NOBODY includes me :)


Here is a simple introduction to git (as well as Linux, Python, Vim):
  http://levinux.com

I'd like to do something similar for FPC  Lazarus (as mentioned before 
in these forums).


It is sad to see the tone of these Git vs SubVersion messages...


Let's put it this way: I don't think that anybody is advocating 
Subversion in a way that would raise eyebrows if a potential employer 
came across this thread via Google.


My position is that I'd tolerate almost anything- cvs, rcs- provided 
that the political and contractual terms were acceptable. I suppose that 
for small and slow-moving projects a hybrid approach would be possible: 
apply patches to a local VCS, and then dump that to an ISP's HTTP or FTP 
server nightly.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Google Code closing down

2015-03-15 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hello Mark,

On 2015-03-15 13:54, Mark Morgan Lloyd wrote:
for small and slow-moving projects a hybrid approach would be possible: 


Sure it would be possible, but definitely not the most efficient way of
working.


Very much agreed. But most people with a conventional ISP have a few 
hundred Mb webspace gratis, while getting a VCS installed at a 
colocation facility would cost.


[Remaining advocacy deleted.]

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] Google Code closing down

2015-03-15 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

Hello Mark Morgan,


If you /don't/ mind, the name is Mark Morgan Lloyd. The original Morgan 
Lloyd (strictly, Morgan Llwyd) was a churchman of considerable renown, 
and at some point my family adopted his name which persists to the 
current generation.


As far as the Git advocacy goes: frankly, old chap, I don't give a damn. 
My major criterion is the jurisdiction and laws (and de-facto 
regulations and conventions) under which a service operates, I'd prefer 
to use Subversion since that's what I'm marginally familiar with, but 
I've got nothing in particular against Git except that if you're typical 
of its users then perhaps I ought to have.



Losing Google Code is unfortunate, particularly after losing Berlios.


Yes, we agree on something. Gitorious will be lost soon too. It is sad
seeing these services disappear and taking lots of open source software
with them.


Thanks for the heads-up.

The obvious alternative for a small project would be to run an svn 
server as a parasite on a router: something like svnserve (possibly with


Again, a clear indication that you have NEVER used Git before. Git is
infinitely faster and easier to setup.


You are very close there to quoting me out of context, which is 
something that I'm not prepared to tolerate. I agree that in-context, I 
could probably better have written


The obvious alternative for a small project would be to run an svn (or 
git etc.) server as a parasite on a router: something like svnserve (or 
equivalent, possibly with an SSH wrapper) is pretty small. There's 
obviously the risk that the server will be lost, but if collaborative 
users are persuaded to pull and republish the entire repository (svnsync 
or whatever) that can be mitigated.


HOWEVER, the thing that I was trying to emphasise was the next 
paragraph, where I warned that from recent experience exposing SSH will 
result in undesired traffic, and even if Subversion (or Git, or anything 
else) has as good implicit security as SSH if it's considered to offer a 
potential entry point for hackers then /it/ /will/ be attacked.


If there are constant hacker attacks it will inflate the amount of data 
that passes through the routers (DSL, leased line or whatever) even if 
it's rejected by the firewalls, and this might attract ISP charges which 
are obviously highly undesirable. This could possibly be avoided by 
using an unfamiliar port, but at best this is security by obscurity 
and it has the disadvantage that published data probably won't be 
noticed by people like archive.org or Google.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-devel] OS/2 and DLLs

2014-12-19 Thread Mark Morgan Lloyd

Ralf Quint wrote:

On 12/18/2014 2:09 PM, Mark Morgan Lloyd wrote:
I presume that the early enthusiasm had largely dissipated by the time 
IBM started pushing it as a 32-bit OS, with a new binary format etc.


OS/2 is 32bit (for the most part) since v2.0, released in 1992 and it 
became actually really popular after that with OS/2 3.x and 4.x 
(Warp), so I doubt that this is a valid conclusion.


I'm about to be quite negative about OS/2, but I'd be the last to say 
that nobody should use it or support tools for it.


By the time the 32-bit variant came out OS/2 was already dead. The 
initial flurry of interest- and I was selling development tools at the 
time- wasn't matched despite the technical improvements: comparatively 
few end-users wanted it, it had limited penetration into the 
small-developer industry, and people writing tools and- in particular- 
libraries were far more interested in supporting Windows and co-existing 
with Desqview than chasing something with highly uncertain prospects.


IBM didn't know what the hell to do with it. They tried to target end 
users by getting them to upgrade their Win-16 systems to OS/2, but this 
effort was plagued by bad testing, poor installation software, and 
hardware with subtle bugs which meant that many computers quite simply 
weren't up to it. They hardly helped themselves by doing utterly 
lackwitted things like setting the startup noise to full volume: that 
used to cause me extreme embarrassment when installing it in open-plan 
offices.


Networking was in there, but in some cases was so broken that it wasn't 
even possible to log into IBM's upgrade service to see if the fixes were 
still available. Network configuration was also well beyond what a 
non-specialist was capable of, and support software would fail with 
meaningless (to the typical user) messages about containers etc.


It's reputed that one of the IBMers responsible had previously attempted 
to steer Borland towards corporate customers rather than sticking to its 
traditional base of small-to-medium scale developers, and that she 
learnt her craft at CA who had followed the same path. I have no 
first-hand knowledge which confirms or denies that.


The bottom line is that from the early 90s onwards, the only thing that 
kept OS/2 going was corporate seats, i.e. the number of office systems 
which used OS/2 as a specialist frontend to IBM mainframes. Full 
recognition of the necessity for a 32-bit OS was at least five years 
away, in the same way that the industry didn't start adopting 64-bit 
hardware for at least ten years after DEC introduced it.


I probably kept on using OS/2 longer than most, because (a) I was 
postprocessing NE-format files into a format for an embedded bare-metal 
'386, and (b) it allowed sufficient access to e.g. the floppy controller 
that I could test stuff on a development machine that would have been 
impossible with NT. But it was painful, particularly after it became 
obvious that at least some versions had timing loops that precluded them 
from being run on newer hardware. And that's why I've got a PC-310 under 
my desk.


The bottom line? If somebody wants to use OS/2 it's his choice, and if 
somebody wants to keep a development tool going for it I believe the 
community is enriched by his effort. Now would somebody please take the 
copies of Communications Manager and Database Manager that IBM told us 
we needed off our hands.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-devel] OS/2 and DLLs

2014-12-18 Thread Mark Morgan Lloyd

Tomas Hajny wrote:


Switching to fpc-other as a more appropriate space: I believe that
although my time available for FPC is quite limited, my activities related
to OS/2 target in FPC in the last few years show more than clearly that I
want to continue support of this target regardless of the number of users
lower compared to some other targets as long as my work helps at least
someone. In this context, I'd like to thank everybody who expressed his
interest in this target.

Note that I don't aim to convince people that they should stop using their
preferred platform and switch to OS/2, and I won't participate in any kind
of advocacy discussion about why OS/2 should continue to be used, etc.


Noting somebody's earlier comment about the lack of DLL support being 
due to a linker limitation, I think this is unfortunate since when OS/2 
came out the fact that the binary formats were well-documented and 
supported by at least two linkers (MS and TopSpeed) was a significant 
advantage.


I presume that the early enthusiasm had largely dissipated by the time 
IBM started pushing it as a 32-bit OS, with a new binary format etc.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Use of ARC

2014-10-30 Thread Mark Morgan Lloyd

Hans-Peter Diettrich wrote:

3a) Instead I'd vote for a dynamic implementation, as with Interfaces, 
by adding a refcount field and (virtual?) counting methods to TObject. 
This overhead should be acceptable, just like for other managed types 
(dynamic strings, arrays...). Then the compiler inserts calls to these 
methods whenever required, the rest is up to the actual instances.


Are you suggesting that no opportunity should be spared to review the 
existing implementation of e.g. strings and dynamic arrays and to unify 
them with a single underlying structure provided that can be done 
efficiently?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] PROLOG written in Pascal

2014-09-21 Thread Mark Morgan Lloyd

Marco van de Voort wrote:

In our previous episode, Mark Morgan Lloyd said:
Is anybody interested in a PROLOG interpreter written in Turbo Pascal, 
plus a couple of typeset articles which outline how it works internally?


When I found it I was wondering whether it could be usefully used to 
handle inference rules in a Delphi/FPC/Lazarus program, in the same way 
that MS use Prolog for some of their network configuration stuff. 
However it turns out that it is coded explicitly for Turbo Pascal with a 
garbage collector on top of the normal heap, which I think implies that 
porting it to FPC would need either a mark/release facility or multiple 
heaps which could be thrown away when no longer needed.


I don't understand why interested people couldn't implement mark/release for
the base TP compatible level of FPC ?  What is so different between TP and
FPC there?

Of course it wouldn't scale, but TP didn't scale further than 16MB anyway
(64MB with 386 tricks).

Basically you only need an own heapmanager that allocates all allocations
in-order from a 16MB block, and mark and release procedures that call that
heapmanager and are declared in some unit preloaded wiht -Fa?


The main issue is that dynamic memory is used by the Prolog 
implementation in several different ways. The first way is that as rules 
are being entered, they go into memory and usually stay there. The 
second way is that as queries are evaluated a lot of temporary stuff 
(variable bindings etc.) is put into memory, this is all thrown away on 
completion. The third way is that during query evaluation, rules could 
potentially be added/deleted/changed which shouldn't be thrown away.


I think that in practice this could be handled by normal OO techniques, 
since these days the amount of (virtual) memory is significantly larger 
than typical embedded problems. If somebody wanted to e.g. process the 
entire collection of Wikipedia titles and categories as a set of rules 
then they should probably be using specialist tools.


I was reminded of this by the discussion elsewhere on refcounted 
objects, which would obviously be another way to do it. Timothy Budd's 
book on Leda gives an interesting example of using the unification 
operation which underpins Prolog to process graph structures.


Prolog is an interpreter, and I assume its structures are movable. Native
languages allocations usually aren't.


Up to a point. A typical Prolog implementation acts as an interpreter 
since rules and queries are entered interactively, however the 
underlying unification algorithm can equally well be embedded in 
compiled code. Budd's example (chap 3 of ref below, pp 46, 49, 51ff) 
creates a representation of a graph, calls a Prolog-style unification 
function to return the edge(s) meeting certain criteria, and then goes 
on to use this to find in- and outdegree for each vertex, find cycles 
and so on. http://web.engr.oregonstate.edu/~budd/Books/leda/info/


Now I'm not necessarily saying that any of this is blindingly efficient 
compared with a proper set of algorithms. But from the POV of an 
engineer who wasn't brought up on this stuff I think that being aware of 
unification as (something analogous to) a design pattern might be 
useful, and I'll probably have a bash at some of this myself if I 
recognise a potential use case. Until then, I've got an example 
implementation if anybody else is interested.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] PROLOG written in Pascal

2014-09-21 Thread Mark Morgan Lloyd

Bernd Oppolzer wrote:


I have a library done for other projects which supports
memory management routines, where the memory allocations
may belong to different classes of memory, and then you are able
to free all memory belonging to one class with one single call.

That is, there are calls similar to C-malloc, calloc, realloc and free,
but a class identifier is added to every call. And there is one additional
freeall() call to free the entire memory class.

The routines outperform the normal ANSI C functions on certain systems.
although they put a layer of management on top of the normal ANSI C 
functions
(because many calls to allocate little areas of memory result to one 
call of
the ANSI C function to allocate a large area and some internal 
management ...

I used this approach to make my XML parser faster than others ... and the
freeall() call at the end of the parsing makes XML parsing safe; the 
working
storage of the parser is freed, but the resulting DOM tree, for example 
- if you use DOM - ,

is not ... it resides in a different memory class).

This is written in C, but it should of course be callable from FP as well;
there are no architecture dependencies. It runs on Windows, OS/2, Linux
and even on z/Arch mainframes (so does the XML parser).

Please contact me offline, if you are interested. Maybe you could use it
with your PROLOG project, if you are able to classify the memory 
allocations

in the PROLOG code.


Interesting, but this isn't something that I'll be immediately looking 
at thanks. In any case, I'd probably be focussing on the general case 
(see the examples I referenced earlier), and I think that the memory 
management for rules based on objects will be completely different from 
the case where rules are based on Lisp-type strings (i.e. each string is 
stored as a linked list of cells).


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] SuperPascal and FPC: a gross calumny :-)

2014-04-22 Thread Mark Morgan Lloyd

Marco van de Voort wrote:

In our previous episode, Mark Morgan Lloyd said:
According to http://en.wikipedia.org/wiki/SuperPascal#Implementation, 
Per Brinch Hansen's SuperPascal can by compiled by GNU Pascal but not by 
FPC. Does anybody have time to look at this (I certainly don't right now).


I did, and it compiles fine with trunk and -Miso. (2.6.x has this mode
already but it is less complete than trunk)

It needs slightly more modifications than GNU Pascal, but probably that is
because GPC accepts C preprocessor commands and extended pascal
reset/rewrite statements also in iso lev 1 mode.  (probably you need pass
some strict flag to get GPC to error on that).

All things needing fixing were marked in the original source as non standard
except for the C preprocessor (probably because it is considered part of the
build process, not the dialect)
 
I updated wikipedia with the needed modifications.  


Well done and thanks from the rest of us :-)

The source is apparently available as a shell archive at 
http://brinch-hansen.net/software.shar, which implies that it would be 
easiest to start on a unix (rather than Windows) system.


I routinely install cygwin with the complete archiver section on Windows
machines, and I had unshar readily available without additional actions. A
habit that saves a lot of time :-)


:-) but I abandoned Cygwin after more DLL Hell than I like to remember. 
Mainly on Linux here, although I'm still hoping to find time for one of 
the BSDs- and that's getting near the top of the pile for SPARC since 
Debian appears to be deeply enmired.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] SuperPascal and FPC: a gross calumny :-)

2014-04-20 Thread Mark Morgan Lloyd
According to http://en.wikipedia.org/wiki/SuperPascal#Implementation, 
Per Brinch Hansen's SuperPascal can by compiled by GNU Pascal but not by 
FPC. Does anybody have time to look at this (I certainly don't right now).


The source is apparently available as a shell archive at 
http://brinch-hansen.net/software.shar, which implies that it would be 
easiest to start on a unix (rather than Windows) system.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Processing passwords etc.

2014-04-11 Thread Mark Morgan Lloyd

Jonas Maebe wrote:

[ moving to fpc-other ]

On 11 Apr 2014, at 11:03, Michael Van Canneyt wrote:

I expect that all sensitive sites (banks, google, etc) have taken 
immediate action.


That was still too late. See e.g. 
http://foxitsecurity.files.wordpress.com/2014/04/heartbleed-example.png (from 
Yahoo mail). And as mentioned, private keys can also have been 
compromised. Given that pretty no one uses perfect forward security, it 
means that also all encrypted data captured in the past can now be 
decoded in that case.


That the login of my local tennis/pool/golf club was compromised is 
not really so scary, sorry.


What about information regarding persecuted human rights activists and 
the people they were in contact with? Journalists and their informants? 
Communications between lawyers and their clients? Sensitive information 
that can be used to blackmail people?


Remember that totalitarian governments will consider use of Tor or 
encrypted mail as proof of guilt, and will then apply more direct means 
to get co-conspirators.


I'd also point out that in the UK people can be locked up if the police 
accuse them of using steganography, even if they weren't so can't supply 
decrypt keys.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Alternatives to SourceForge etc.

2014-02-04 Thread Mark Morgan Lloyd
It appears that Berlios is shortly discontinuing its repository service, 
and is suggesting that users move their projects to SourceForge.


Is anybody aware of any (free) alternative to SourceForge, Google Code 
etc. that operates entirely in Europe and strictly in compliance with 
European law?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [fpc-pascal] Re: Announcing PUMA Repository (Ralf Quint)

2013-12-16 Thread Mark Morgan Lloyd

Tomas Hajny wrote:

On Mon, December 16, 2013 00:38, waldo kitty wrote:

On 12/15/2013 3:06 PM, Johannes W. Dietrich wrote:

 .
 .

Apple Mail doesn't seem to be the only software that doesn't know what
to do
with this type of encoded data. The problem seem to affect the list
processor,
too. See
http://lists.freepascal.org/lists/fpc-pascal/2013-December/040336.html
in the archive for reference.

FWIW: the displayed block at the URL given decodes perfectly with the MIME
decoding URL i gave previously...

i have a sneaking suspicion that some are expecting certain control lines
to be
in use when they are not required for the given context... but then i'm
still
learning this MIME stuff and have only some tools at hand to work with and
base
my understanding on...


As already suggested by Jonas, responding to fpc-other.

Sorry, but I believe that you should indeed check the respective RFCs
first (and possibly also search some information about what mail servers
may do when receiving an e-mail with message encoding not supported by
their configuration in order to understand what may cause differences with
different recipients).


In any event, this isn't really an issue about MIME types etc. The real 
issue is that if somebody wants to get an announcement (or an urgent 
request for help, or an urgent reply, or in fact /anything/) read by the 
maximum number of people, then it's good practice to use plain text and 
to leave off any attachments etc. that could possibly be misinterpreted 
or cause the entire message to be misrouted as spam.


The upside of the Internet is that there's a vast number of supported 
data formats and protocols. The downside is that there's a vast number 
of RFCs and informal conventions describing them. On occasion, for 
everybody's sake, it's best to keep things as simple as possible.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


[fpc-other] Yet another mainframe emulator

2013-10-08 Thread Mark Morgan Lloyd
I thought this might interest some people because on the one hand it's a 
significant part of the history of ALGOL-derived languages, and on the 
other the implementation is deeply weird.


As some might recall, Burroughs had a range of Large System computers 
from the 1960s through '80s which were oriented to running ALGOL and 
related languages, with hardware-assisted stacks, a descriptor-oriented 
architecture and so on. These are frequently described as being 
programmable /only/ in ALGOL, i.e. there was no lower-level language, 
but in practice the machine-level opcodes were accessible to those of us 
who had to know, i.e. the maintenance guys and the people who had to 
configure initial boot (sometimes via a binary punched card, to tell the 
CPU how to find the disk pack with the MCP). [1]


Doctrine has it that Knuth and Dijkstra were involved to some extent as 
advocates of the architecture. It's unarguable that lots of people cited 
it as influential, e.g. Alan Kay (Smalltalk) and Charles Moore (Forth). 
There was a fairly good range of languages available, some from 
Burroughs but others from various univerisites.


It appears that somebody has written an emulator for the B5500, and it 
is able to boot the MCP extracted from tapes somebody had on their shelf 
and to run compilers. [2] [3] Also other people are finding listings (if 
not machine-readable media) of other software, e.g. an APL system 
written by a number of people including Gary Kildall (CP/M). [4] [5]


The really weird thing is that they've written this in Javascript, to 
run in a browser. In my opinion that's utterly crazy: a far better 
choice would have been ALGOL (possibly via Pascal) so that in principle 
at least the system could have been self-hosting.


So while I've got absolutely no intention of getting involved (the 
Burroughs Large System range is /dead/, in a way that e.g. the IBM S/370 
isn't) I think that it raises an interesting question: is it possible to 
mechanically translate from Javascript to Free Pascal?


After all, if one developer has decided to use Javascript there might be 
others. And in some cases what they're working on might actually be 
useful to a wider community.


[1] http://en.wikipedia.org/wiki/Burroughs_large_systems
[2] http://code.google.com/p/retro-b5500/w/list
[3] http://www.phkimpel.us/B5500/webSite/SoftwareRequest.html
[4] 
http://bitsavers.trailing-edge.com/pdf/burroughs/B5000_5500_5700/listing/
[5] 
http://www.softwarepreservation.org/projects/apl/APLSoftware/APLSystems/B5500%20APL/


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Yet another mainframe emulator

2013-10-08 Thread Mark Morgan Lloyd

Saunders, Rich wrote:

Deeply weird is right!

I fondly remember the Burroughs series. I had to port a very large 
FORTRAN system to it for our client, the Quaker Oats Company. They used 
a set of these mainframes for their main systems.


I loved the idea of the descriptor-oriented architecture. Each file was 
tagged with attributes,


The major use of the term descriptor was a data structure which 
pointed to a variable. If you told the hardware to put something on the 
stack and gave it the address of a descriptor it would dereference it, 
and if you gave it the address of a descriptor which pointed to another 
descriptor (etc.) it would follow the entire chain: the compiler quite 
simply didn't have to generate code to make this work.


Later implementations of the architecture added tag bits to each word in 
memory (something like 48 bits data, parity, 3 bits tag, ECC) which 
couldn't be manipulated by a user-mode program. That was obviously a 
major advance in robustness and security.



There were security attributes as well.


The idea of code signing originated (I believe) on this architecture: 
you could compile a compiler from source, but unlike application 
programs it had to be blessed by somebody traceable before it could 
generate executable code. Larry Wall (Perl) at one point worked for 
Unisys (Burroughs' successor company) and refers to blessing data 
structures into objects: he's been harshly criticised for that by people 
who claim that he is insinuating his christian convictions into the 
programming language and its infrastructure.


In any event, the Large System architecture is dead as a native 
platform: for the last decade or so it's been available in emulated form 
on Unisys's Xeon and Itanium systems, and The Register reports that the 
Xeon systems can now run the emulation faster than the available 
specialist CMOS processors.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] What does Embarcadero spend there time on

2013-03-08 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:


Also, there as no specific person I targeted in
fpc-devel. Almost all posts lately contain about 95% quoted text! How
does a moderator fail to see this?


I really don't want to prolong this and perhaps upset more people than 
necessary, but has it occurred to you that that's how mailing lists work 
and that possibly your expectations are unreasonable?


You've previously said that you found excessive quoting irritating (you 
might have put it a bit more strongly than that) because you viewed 
messages in a browser: I believe that a number of people suggested at 
the time that that was quite simply your own fault for using the wrong 
tool for the job.


I agree that excessive quoting is to be avoided. However the reasons 
that quoting became part of the mailing list and (in particular) Usenet 
doctrines were (a) because certain brands of client software- in 
particular anything provided by Microsoft- were very poor as managing 
threading and (b) particularly in the early days messages were regularly 
lost or arrived out of sequence.


In fact it's not at all uncommon even today to find that messages are 
lost from a thread because they fail a gateway's acceptance criteria: 
suspect headers, attachments in a context where they're not expected, 
and so on. In other words it's still important that discussion groups of 
various forms be self healing, and the conventional mechanism for that 
is by appropriate quoting including- and some people miss this out- a 
So-and-so wrote: line at the top of the body as well as possibly a 
View this message in context URL at the bottom.


But I'm sure that nobody not born yesterday didn't know that :-)

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Goodbye, and thanks for the fishes

2013-03-08 Thread Mark Morgan Lloyd

ik wrote:

Hello,

After too much thinking I'ved decided to leave here.
I don't know if this is permanent or not, but I can't for now continue
to be here.

I'ved wrote about it here:
http://idkn.wordpress.com/2013/03/08/goodbye-pascal/

Goodbye and thanks for the fishes


We're sorry to see you go. However looking at your comments, I'd say 
that I feel under much less pressure to defend my use of Pascal than I 
did 25 years or so ago: unlike the situation then just about everybody 
has agreed that structured languages are vastly superior to 
BASIC/COBOL/FORTRAN and once you strip away the syntactic differences 
they have, to a very large extent, converged.


As somebody said a few days ago, if you don't want to use extensions to 
the underlying language- array constructors, class helpers and so on- 
you don't have to. And because the language is strongly-typed it's 
unusual for a coding error to match a recently-introduced construct by 
accident.


But I suppose all this begs the question: if one decides not to use 
Object Pascal, what are the viable alternatives?


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] What does Embarcadero spend there time on

2013-03-08 Thread Mark Morgan Lloyd

Tomas Hajny wrote:

On Fri, March 8, 2013 17:04, Mark Morgan Lloyd wrote:

Graeme Geldenhuys wrote:


Also, there as no specific person I targeted in
fpc-devel. Almost all posts lately contain about 95% quoted text! How
does a moderator fail to see this?

I really don't want to prolong this and perhaps upset more people than
necessary, but has it occurred to you that that's how mailing lists work
and that possibly your expectations are unreasonable?

 .
 .

Just to add another view (to show that it is not a fight among two clearly
delineated camps):

..

Points noted and generally agreed.


- I do not share the opinion of Mark that sending URLs should be
considered inappropriate or that senders willing to share some link with
others ought to spend time on creating different (shorter) URLs in cases
like this (and from this point of view I don't see anything wrong on
Graeme's original post).


I didn't say it was inappropriate, I said that providing a TinyURL 
alternative would have helped people who- for some reason or other- 
couldn't cut-and-paste the full one. This is particularly the case for 
YouTube, which typically demands a fairly recent browser/Flash 
combination which might not be present on somebody's primary work 
computer. In the current case, Google doesn't throw up a link to that 
video on trivial searches (and more credit to Graham for finding and 
sharing it as a result) but there's no way that I- for one- am going to 
start trying to transcribe the entire URL to the laptop next to my main 
system during work hours: I've got much more important things to do.


Of course, simply putting up a TinyURL without explanation is at least 
as bad as posting a long URL which risks attracting enforced line 
breaks: I don't know about anybody else, but I'm blowed if I'm going to 
click on every URL I'm given whatever my level of safeguards :-) The 
ideal- and this is a convention that I'm used to from a private 
conferencing system I use- is to post the original URL, the TinyURL 
equivalent, and a very brief description... I was going to give an 
example from XKCD but I see that that already uses concise URLs, 
possibly because the artist has a clue.


So again, to avoid any possible doubt: I am not complaining about URLs 
in the general case. I /am/ complaining, politely as a non-moderator, 
about the assumption that a URL embedded in a mailing list message is 
appropriate or intelligible, although it's clearly not as bad as an 
animated GIF in somebody's sig.


And finally- and this one's for you Graeme- I wouldn't be complaining 
about the URL being less than useful if I hadn't made a minimal attempt 
to view it, on the basis that you're not a total idiot and might be 
making an interesting or at least amusing point.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Goodbye, and thanks for the fishes

2013-03-08 Thread Mark Morgan Lloyd

Marco van de Voort wrote:

In our previous episode, Mark Morgan Lloyd said:
But I suppose all this begs the question: if one decides not to use 
Object Pascal, what are the viable alternatives?


While hobbywise, I won't let go of FPC (and Wirthian languages) that
quickly, professionally it is different.

Currently, for me it is not really a problem (small company, my preference
has the most weight), but there was some discussion a while back of hiring
more programmers and cooperating with certain other (SCADA like) companies,
so there was some discussion.


The SCADA package we inherited was written in a bastard mix of three 
versions of MS C, plus a spreadsheet in MS Pascal and assembler 
interfaces to an IBM communications controller. I replaced it by Delphi 
code with PostgreSQL as backend, and am completely impenitent.



In my case the only viable alternative is C++, but I'm somewhat embedded
with a bit of realtime requirement. Sometimes I think it would be easier
even now, but I have previous MFC experience, and that still scares me a
bit. (IOW, if you go back to C++, what will you use as GUI?)

In my previous job, I was more standard business apps, and then the only
viable alternative is C# IMHO.

One doesn't have to like it, but if I'm leaving Pascal because it is too
tiring to defend being in a niche, then you won't pick up some other niche,
and the above are (to me) the only viable choices. 


But is MS really committed to C# and .NET, and if not could it drown 
Mono etc. out of spite? Which leaves C++, which as I see it has the same 
issues as Object Pascal except that lots more people use it.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Source code of Adobe Photoshop 1 published

2013-02-14 Thread Mark Morgan Lloyd

Sven Barth wrote:

Hello together!

I've just read the news that the source code of Adobe Photoshop 1 was 
published. Now this isn't a great news per se, but I've learned 
something very important for us: it's written in Pascal!


Here's the link: 
http://computerhistory.org/atchm/adobe-photoshop-source-code/


It would be a really interesting challenge to get this code to work with 
FPC. It's written for the Macintosh operating system with a bit of m68k 
assembly code mixed in between.


Maybe we can try it once m68k support is good enough again and Mac OS 
support has been revived and implemented for m68k ;)


They've also got MacPaint in Pascal, but I can't find a complete list of 
their source collection anywhere.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [fpc-devel] Offer to repair and maintain the FPC community website (repeat msg, no HTML)

2012-09-28 Thread Mark Morgan Lloyd

Sven Barth wrote:

Am 26.09.2012 17:56, schrieb Cephas Atheos:

On 27/09/12 1:11 AM, Sven Barth pascaldra...@googlemail.com wrote:


This (although I'm mostly using URL completion for it...) and the
following:
* http://wiki.freepascal.org/
* http://www.freepascal.org/docs.var
* ftp://ftp.freepascal.org/pub/fpc/snapshot/trunk/
* http://bugs.freepascal.org


Oh, Sven, Sven, SvenŠ I absolutely agree that those are really useful
pages. But not one of them says Download Here (flashing the Here, of
course! :))


Btw: Do you know where this S with accent comes from? I have noticed 
this in nearly every mail of you already.


From looking at other messages, he's using a codepage where an ellipsis 
or dash is encoded as what some of us see as Š (capital S with an accent).


It's all right for you lot: the Ll ligature in my name, which is 
correctly spelled Llwyd, isn't in most fonts :-)


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Offer to repair and maintain the FPC community website (repeat msg, no HTML)

2012-09-27 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:


There are lots of benefits to NNTP though:


There are a lot of different things here though.

*  Classic push NNTP between servers.

*  Pull NNTP from a client to a (local) server, correctly called NNRP.

*  The headers etc. used as metadata by discussion-group messages.

*  The control message formats used by NNTP that in principle allow a 
user to cancel one of his postings even if it's propagated to servers he 
doesn't know about.


*  Discussion group readers, which by now are pretty much 
indistinguishable from mail clients.


And so on. I certainly agree that NNRP is worth supporting as a delivery 
option. I certainly agree that discussion-group metadata should be 
supported or at least learnt from. I've got no strong opinion on how 
best to organise a backend, particularly in view of typical 
discussion-group (innd etc.) servers' very poor resilience to e.g. 
abrupt shutdown.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [Lazarus] OT: Amazing new development tools

2012-02-28 Thread Mark Morgan Lloyd

Mark Morgan Lloyd wrote:

Sven Barth wrote:

On 25.02.2012 19:15, ik wrote:

Hello,

I found the following amazing lecture that present a new idea of a
development tool, that I think will interest you all:

http://vimeo.com/36579366


An interesting talk indeed. Thank you for sharing.


Agreed, very interesting (although I had to skip the last few minutes 
due to other things happening). From a purely mechanical point of view 
I'd be interested to know whether the coding examples were 
fully-implemented, or if he was in effect miming to a prepared video.


Somebody else has mentioned incremental compilation: a number of years 
ago there was something called Mystic Pascal that tried this, although I 
never used it (I was in the throes of Modula-2 at the time) and it ended 
up as a freebie on a cover disc. I've always felt that there might still 
be something in it worth looking at...


To my surprise, I've managed to find a copy of this at 
http://www.g7jjf.com/512/512-20.zip , I thought it had vanished completely.


I've not attempted to fire it up, but it appears to be aligned with TP1, 
except that it is distinguished by the ability to evaluate expressions 
immediately including where these are procedure calls with (simple?) 
parameters. The IDE (such as they were in those days) also has a 
timer/multitasking facility, onto which user-written procedures can be 
hooked.


There might be limited capability for tweaking an executing procedure 
on-the-fly by changing global variables, but obviously nothing as 
sophisticated as what Bret Victor was proposing in that video.


I also found 
http://www.megalextoria.com/usenet-archive/news050f1/b70/comp/lang/pascal/0039.html 
which suggests that Mystic Pascal failed to take off because the author 
took orders for either it or a related product (JRT Pascal?) before it 
was in a position to be shipped.


We were certainly aware of it and had it in our price list in the late 
80s, and that implies that we actually had or were confident that we 
could get stock. But I don't think we ever sold any, and it ended up 
being shipped as shareware not long after.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [Lazarus] OT: Amazing new development tools

2012-02-27 Thread Mark Morgan Lloyd

Sven Barth wrote:

On 25.02.2012 19:15, ik wrote:

Hello,

I found the following amazing lecture that present a new idea of a
development tool, that I think will interest you all:

http://vimeo.com/36579366


An interesting talk indeed. Thank you for sharing.


Agreed, very interesting (although I had to skip the last few minutes 
due to other things happening). From a purely mechanical point of view 
I'd be interested to know whether the coding examples were 
fully-implemented, or if he was in effect miming to a prepared video.


Somebody else has mentioned incremental compilation: a number of years 
ago there was something called Mystic Pascal that tried this, although I 
never used it (I was in the throes of Modula-2 at the time) and it ended 
up as a freebie on a cover disc. I've always felt that there might still 
be something in it worth looking at...


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [fpc-pascal] I found FPC v0.2 source code :-)

2012-01-30 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

On 30 January 2012 12:05, Mark Morgan Lloyd  wrote:

mainframe switchmode PSUs, so with apologies to the list owner I'm probably
in a position where I have to comment on this for safety reasons.

My advice: don't.


Thanks for the warning. :)



any number of stories about people who've done something that they thought
was safe which has gone on to cause damage or injury.


Same could be said for ridding a motorcycle (which I do often) or even
crossing the road, but I get what you are saying.


Except that riding a motorcycle or crossing the road you have some idea 
of what the conditions are, and have spent a few decades honing your 
skills. Think of riding a motorbike through the Bushveld, and then 
finding yourself on black ice.


Think of the nastiest bit of software you've ever come across, spaghetti 
code with computed gotos (which I guess implies FORTRAN). When it comes 
to maintainability, that's roughly on a par with the best switchmode 
PSU, since you've got power and feedback moving in different directions 
through the same wound component. One of my colleagues spent a while 
designing them, and even he blanches at the idea of a repair.


SMPSUs are the last thing you want to tinker with, not the first. If you 
want to get into electronics fairly painlessly then start off with a 
BASIC Stamp or Arduino (I'm not aware of anything of that scale which 
will run FPC) and some project cookbooks. Also I believe that there are 
maker groups in most cities, although I'm not in touch with my local one.



Things like the output wire on low voltage PSUs are fair game for repair.
You can get spare concentric connectors from RS or Maplin in the UK (Graeme-
I thought you were abroad?)


I lived in the UK for 4 years, and moving back there in 2 months time.


Yell if you're in the Southeast.


unopenable by hand i.e. you /had/ to use screwdrivers etc.) then I'd suggest
looking around for something like a CG-accredited electronic technician
course- which full-time would take years.


When I finished high school (many many years ago), it was a coin flip
between studying pure programming or electrical engineering (light
current) and hardware programming. I opted for the pure software
programming, which has been my career path ever since. But I have
always had the urge to start some part time studies to get an
Electrical Engineering degree - those little colorful bits of
electronics just fascinate the hell out of me (even 20+ years later).
:-)


Thanks for the URL, I'll keep that handy in case I ever need some
electronics repaired.


Bering in mind that he is specifically PSU, and won't touch some types 
since they require proprietary components.


From elsewhere in the other thread, Lars said:

-8-
To keep it on topic, there is programmable hardware available where you
can change the hardware using a hardware programming language. Niklaus
Wirth is interested in such technology. Instead of soldering in capacitors
and resistors, you program in something that emulates a resistor or
capacitor. This makes prototyping circuits much easier because instead of
soldering, you program in the devices you would have otherwise soldered.
The devices are called Field-programmable gate array's I think, and from
what I remember Niklaus Wirth was programming a remote control helicopter
with it, or maybe oberon, it's been so long that I cannot remember the
details. Just trying to keep it a bit on topic.
-8-

There's two things here: the first is Digital Signal Processors (DSPs) 
where you program them to compute a series of equations in real time 
that implement one or more filters. Things like telecoms systems 
(including ADSL modems) are full of them.


Then there's FPGAs, although they're usually programmed in a specialised 
hardware description language. They aren't so much set up to emulate 
resistors etc. as to implement an application-specific CPU and 
associated logic, in some cases the hardware contains a CPU core (e.g. 
Michael Schnell's earlier


-8-
IMHO, the MIPS port is interesting, too, as the NIOS CPU that is 
available as soft core for Altera FPGA uses a very similar instruction 
set and supposedly can be handled as a sub-arch.


There is a very active community for NIOS-Linux that now provides a 
quite decent MMU-enabled Linux port (including the necessary 
Distribution generating Make-based tool chain).


For quite some time I played with NIOS  using a NEEK Dev-Kit from 
Altera. Nice stuff.

-8-

I can't remember for certain but I think it was Nicoud who was involved 
in the helicopters rather than Wirth. Nicoud is notable since one of his 
ETHZ projects was a portable assembler notation, I've wondered in the 
past whether this could be used for compiler implementation but I think 
it's probably less useful than some intermediate notation akin to p-code.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's

Re: [fpc-other] Re: [fpc-pascal] I found FPC v0.2 source code :-)

2012-01-30 Thread Mark Morgan Lloyd

Henry Vermaak wrote:


I have two pieces of electronics that recently failed, and no easy way
to replace them. One is a small AC power supply to a wireless access
point. It uses a 5V power supply, which I just can't find anywhere
here in South Africa - other that buying a whole new Wireless Access
Point. :-( The other is a SATA-to-USB/Firewire400 adapter. I used it
purely for the firewire port. I can see some bits turned dark/black on
the pc board, and it smells like burn. I just have no clue how to
repair it. Nobody in our area wants to touch it either. :-(


Can't speak for RSA, but this is the reason people don't fix these 
things here:


http://uk.farnell.com/stontronics/ad-05100rbs2-1/adaptor-5vdc-1a-uk/dp/1279510?Ntt=127-9510 


Agreed. The one thing I'd add though is that there's an increasing 
tendency for devices to be powered through a USB connector (even if they 
are not primarily USB peripherals) and unless the consumer remains 
vigilant it won't be long before mass-market appliances start insisting 
that they be mated with a PSU from their manufacturer.


Now granted that there's EU pressure to standardise this, but I'm sure 
that a manufacturer who argued that his PSUs contained extra 
functionality- like Apple's recent patent on backing up a password in 
the PSU- would be able to circumvent it.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other


Re: [fpc-other] Re: [fpc-pascal] I found FPC v0.2 source code :-)

2012-01-30 Thread Mark Morgan Lloyd

Graeme Geldenhuys wrote:

On 30 January 2012 13:44, Henry Vermaak  wrote:

Can't speak for RSA, but this is the reason people don't fix these things
here:


Just one more reason to add to my list of why I am moving back to the
UK. ;-)  We get those multi adaptors that give 1.5, 3, 6, 9 or 12
volts, but just not 5v. :-(


A multi adapter set to 3V will give you about 5V lightly loaded, and set 
to 6V will give you about 5V on moderate load. The point about the ones 
that Henry cited is that they're mini switchmodes, they've got stable 
output and run cooler than wall warts.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-other