Re: [fpc-other] you may say I'm a dreamer... :)
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
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
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
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
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?
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?
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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.
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.
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.
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
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
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
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
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
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
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?
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
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?
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?
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
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
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
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
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
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
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
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
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
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
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 :-)
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 :-)
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.
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.
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)
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
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
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
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
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
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
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
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)
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)
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
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
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 :-)
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 :-)
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 :-)
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