Re: [fpc-other] #fpc irc channel

2023-04-22 Thread Graeme Geldenhuys via fpc-other
On 4/20/23 15:03, HSN via fpc-other wrote:
> Irc is one of the few platforms left on the Internet where there is no phone 
> number or email required to talk.

Yet, I had to enter a valid email address to register for the #fpc IRC
channel, and confirm its valid. So there goes that theory of yours. :-)

My preference is still good old NNTP (newsgroups).
* Doesn't require registration
* Doesn't require a valid email address
* Users are free to use any News Client they prefer, with the feature
  they want/need.
* History of conversations can be stored forever - no loss of
  information (the internet is fragile enough already)
* Past messages are searchable (an ever growing knowledge base)


Hence I've been hosting newsgroups for some open source projects for
well over a decade now.

Regards,
   Graeme



___
fpc-other maillist  -  fpc-other@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] PostgreSQL index tuning

2021-09-25 Thread Graeme Geldenhuys via fpc-other
Hi,

Does anybody know if there is a tool I could use to analyse queries to a
PostgreSQL database, so I could tune it's performance. eg: detect table
scans in the execution plan, suggest creating, dropping or altering indexes
etc.

MS SQL server comes with loads of tools and options to do this, but I'm
fairly new to using PostgreSQL as the data store, so not sure what tools
are out there. Any suggestions would me much appreciated.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Java 25th Anniversary Promotion from Oracle University

2021-03-02 Thread Graeme Geldenhuys via fpc-other
Hi,

Oracle University is offering a free Java learning subscription and the
Java SE 11 Developer Certification Exam for only $25 US.

https://blogs.oracle.com/oracleuniversity/java-25-anniversary

This offer runs out on 25 April 2021.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] ARM is the future of desktop

2020-07-04 Thread Graeme Geldenhuys
On 02/07/2020 5:14 pm, Santiago A. wrote:
> Here is an interesting article by a ex-windows boss. He thinks that in a 
> few years even desktops will be ARM and Intel will be residual. And 
> obviously it will be a mayor problem to Microsoft, whose software is 
> very tied to Intel platform.

Obviously he would say that - working for Apple. Apple marketing at
work. :-D

Not just that... Considering that Apple-on-the-Desktop market share is
only around 9% (as or Jun 2020). I don't think Microsoft has anything
to worry about just yet  - sitting at a comfortable 87% market share as
of Jun 2020.[1]


1.
https://www.netmarketshare.com/operating-system-market-share.aspx?options=%7B%22filter%22%3A%7B%22%24and%22%3A%5B%7B%22deviceType%22%3A%7B%22%24in%22%3A%5B%22Desktop%2Flaptop%22%5D%7D%7D%5D%7D%2C%22dateLabel%22%3A%22Trend%22%2C%22attributes%22%3A%22share%22%2C%22group%22%3A%22platform%22%2C%22sort%22%3A%7B%22share%22%3A-1%7D%2C%22id%22%3A%22platformsDesktop%22%2C%22dateInterval%22%3A%22Monthly%22%2C%22dateStart%22%3A%222019-07%22%2C%22dateEnd%22%3A%222020-06%22%2C%22segments%22%3A%22-1000%22%7D


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] VSCode

2020-04-27 Thread Graeme Geldenhuys
On 26/04/2020 2:37 pm, Sven Barth via fpc-other wrote:
> It's more lightweight than eclipse.

Well that's comparing Apples to Oranges isn't it? Yes originally Eclipse
was designed as an IDE for many languages, but it has grown to be so
much more - even a platform to base new applications on (similar to VCL,
LCL etc).

Granted I haven't played much with VSCode, but considering it is built
on the same foundations as Atom, Sublime Text... ie CSS/HTML engine,
they are quite resource intensive.

But then I guess I'm comparing them as pure text editors in the lines of
EditPad Pro, Vim, gEdit etc that uses a fraction of the memory (one
example of resource usage) to load the same set of files. eg: The last
time I tried Atom (2 months ago) it used 380MB to load a set of 10 large
Java files. jEdit used 180MB and EditPad Pro used 18MB. Vim was
something like 8MB - lol.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] tiOPF is looking for a new project maintainer

2019-05-30 Thread Graeme Geldenhuys
On 30/05/2019 8:09 pm, Anthony Walter wrote:
> What about fpGUI? Are you going to hand that project off as well?

No, I still have some features I want to implement and get the "develop"
branch into a more stable state for a v2.0 release. Plus I have many
fpGUI based applications I will still continue to maintain, as I use
them on a daily basis. Somewhere in the future I'll re-evaluate my
plans, but for the foreseeable future I'm enjoying fpGUI development and
experimenting with new ideas and widgets. I obviously welcome more
community support and contributions for fpGUI, and if I see somebody
with the necessary skills and drive I'll happily offer them commit access.

At the moment I'm only looking for a new tiOPF maintainer/leader to take
that project further.

Regards,
  Graeme
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] tiOPF is looking for a new project maintainer

2019-05-30 Thread Graeme Geldenhuys
Hello everybody,

I have really enjoyed working with tiOPF for 15+ years and have written
tons of database and non-database applications that used tiOPF. It was
also the project that introduced me to Design Patterns and Test Driven
Development, and I'll forever be grateful for that.

However, due to the decline in Delphi/Object Pascal popularity for paid
work (at least here in the UK), I've moved full time to another
programming language. With that, I feel it is time to hand over the
reins to someone else that still uses Delphi/Object Pascal on a daily
basis. So if you feel up to the challenge and don't want to see a great
project become abandon-ware, please let me know.

I'll keep running the support newsgroup - I have no intention in
stopping that. I'll also continue running the daily/hourly unit tests
for tiOPF as it is fully automated anyway. I'll also still be around to
answer questions, but will be moving away from maintenance and new
development work for tiOPF and tiOPF related utility applications.

So if you have any interest in keeping tiOPF alive, please contact me
here or in private.


ps:
  If I've done it correctly, all replies should go to the fpc-other
  mailing list.


Regards,
  - Graeme -

-- 

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] To nest or not to nest

2018-07-05 Thread Graeme Geldenhuys
On 07/05/18 08:59, Santiago A. wrote:
> 1) In OOP, they save me jumping to the interface to declare things.

That's what I love about Java (compared to Object Pascal and C/C++) - no
header required. Makes the code so much simpler, and I can drag and drop
to reorder methods as needed.

Anyway, I think Lazarus IDE can automatically declare methods for you in
the interface section - I think.

> 2) It shortens bodies, so they can fit in a screen.
> 2) It allows me declaring objects near to where they are used and easily 
> encapsulate variable names.
> 3) They save a little of stack.

Overall, it's your preference. At least the good thing is, your are
breaking up large bodies of code into smaller chuncks. That's a good thing.

Alternatively, I'll create a class that does all the work I need. That
also makes it easier to unit test.


> The cons: Most tools are not very nested routines friendly. Debuggers 
> have problems with them, code tools are not aware of nested routines.

I know for a fact the Procedure List functionality (Ctrl+G) does support
nested methods.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] FPC and Lazarus git repositories

2018-06-24 Thread Graeme Geldenhuys
On 24/06/2018 15:54, Victor Campillo wrote:
> Graeme, could you check the issue?

I was rebuilding my server over the weekend (hardware and reorganising
storage), so only bare minimum services were running for the last few
days. The task was completed today and everything is back to normal
again. I can confirm the Git mirror repos syncing again.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-08 Thread Graeme Geldenhuys
On 2018-06-06 10:25, Marco van de Voort wrote:
> Actually Microsoft is quite a large cloud provider,

As the saying goes

   "There is NO cloud - only somebody else's computer."


My personal opinion:
  Why must I store my data and my applications on somebody else's
  computer - often regulated by different laws to where I live.
  No thanks! I'll keep control of my own data and applications.

Others surely have their own thoughts on that. Do with your data and
apps as you will - so will I.


Just a thought.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-08 Thread Graeme Geldenhuys
On 2018-06-05 22:36, Stéphane Aulery wrote:
> already install a basic git service with a web server and tools of your 
> choice for a limited effort.

Exactly, a one line command is all that is required to give read-only
access to public repositories. The system stays idle when nobody is
cloning repos, so even suitable for a RPi install. ;-)

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-08 Thread Graeme Geldenhuys
On 2018-06-07 09:01, el es wrote:
> If you have time to manage your own hosting server* AND do the programming 
> work
> AND have life/hobbies/family outside of work... wow... for others in many 
> cases 
> it's more like 'choose any 2' choice.

Like I said, I already have a public facing server in place. Adding
public read-only git repos to the mix is two simple steps:

1. Run 'git daemon' to give users read-only access via the git://
protocol, which by the way is the simplest option and way faster that
via the http:// protocol. It's a single command line to make multiple
repos available.

   https://git-scm.com/book/en/v1/Git-on-the-Server-Git-Daemon

2. Open port 9418 on your firewall.

Job done.

Like I said, there is NO need for other services, tools, user access and
all that fuss.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-05 Thread Graeme Geldenhuys
On 2018-06-05 20:45, Michalis Kamburelis wrote:
> Or you can move to GitLab, which offers similar features in many ways.

Why. Git is a distributed version control system. I really don't need a
3rd party hosting provider when I can do it on my own public server.

https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows#wfdiag_b

My Git workflow is already like that most of the times and for many of
my projects.



> Personally, I'm "cautiously not panicking" :)

Yeah, just like how M$ f**ked up Skype in more ways than one - and
dropped Linux support for good measure.

No thanks!


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-05 Thread Graeme Geldenhuys
On 2018-06-05 20:19, Marco van de Voort wrote:
>> owned and run my four companies: Apple, Google, Microsoft and Facebook.
> Well, there is always Amazon and Oracle :-)

Oh God, yes I forgot about those. Amazon is also spreading its tentacles
everywhere and with microphones (smart speakers) planted in every other
home. What is this world coming too? Everybody so eager to loose their
freedom and privacy. Seems Richard Stallman was right all along.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] M$ has bought GitHub

2018-06-05 Thread Graeme Geldenhuys
On 2018-06-05 20:22, José Mejuto wrote:
> Try GitLab...

And who is going to buy them when they are big enough. No thanks. I've
made up my mind. I'll be hosting my own Git repos from now onwards - I
already have the infrastructure in place (currently hosting web servers,
NNTP server, a mail server and such). After all, Git is a "distributed
version control system" and pointing existing local repos to a new
remote server is a single line command. My day-to-day work and impact of
how I work will be zero.

I'll simply switch from a "Centralised Workflow" (aka GitHub,
SourceForge) to a "Integration-Manager Workflow". I already do that a
lot of the time any ways.

https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows#wfdiag_b


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] M$ has bought GitHub

2018-06-05 Thread Graeme Geldenhuys
News just in  M$ has bought GitHub.

https://news.softpedia.com/news/microsoft-takes-over-github-521380.shtml

What a sad day it is. It seems that one day the whole Internet will be
owned and run my four companies: Apple, Google, Microsoft and Facebook.
I guess I'll be doing what the Free Pascal project has done all along...
Host my own repositories and bug tracker. Less sh*t and in full control
or my work.

I've had plans to move many of my projects off SourceForge to GitHub
because of SourceForge's performance problems and frequent outages. Now
that plan will NOT happen and I'll most likely start hosting my own
public repositories instead.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Ergodox keyboard layout for Delphi/Lazarus developers

2017-11-02 Thread Graeme Geldenhuys

Hi,

I thought I would share my latest Ergodox keyboard layout. The default 
layout is Dvorak on the base keys, but QWERTY is available on layer 4. 
So it works with both. The surrounding keys and layers are well tested 
with Delphi and Lazarus shortcuts - all with minimal finger stretching 
and maximum comfort. I can even control my mouse from the keyboard (not 
that I use that much). :-)


Enough talk. As they say, a picture is worth a 1000 words.

  http://configure.ergodox-ez.com/keyboard_layouts/qmnpyg/

You can download the HEX file from the above URL as well as print nicely 
layed out pages of the whole layout. You can also click on the "Clone" 
link to customise it for your personal needs - that's if you own a 
Ergodox (highly recommended).


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-28 Thread Graeme Geldenhuys

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. In two companies I’ve now seen the XML field types being 
used as the “lets dump everything in there because we are too fucken 
lazy to implement real database design”. It is so hard to find 
information when they are hidden in XML fields, and also makes SQL 
queries 10x harder. Obviously it also means your application is not 
portable to other relation database servers. Vendor lock-in yet again! I 
curse the person that came up with the XML field data type concept!!


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-28 Thread Graeme Geldenhuys

On 2017-10-28 11:26, Mark Morgan Lloyd wrote:

I've suggested that different servers
have different areas of applicability,


I better mention that I replied before I saw your list of reasons for 
using PostgreSQL. Apologies if I upset you. Chill please - no "holly 
war" was intended.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-27 Thread Graeme Geldenhuys

On 2017-10-27 10:17, Mark Morgan Lloyd wrote:

I think that a
reasonable approach is to select Postgres for departmental or larger
storage, or Firebird for something that's strictly local.


Once again... why must Firebird always be reduced to the “only for 
smaller database needs” environments?


That is exactly the point I was trying to make with my earlier reply. 
I’ve used Firebird in very busy production (Enterprise) environments 
with large amounts of users hitting the database server, and with large 
sets of data stored. Firebird performed fantastically well. So I really 
don’t see the need to reduce Firebird to only “smallish” environments. 
Firebird is a very well rounded database server, and the latest version 
introduces so very welcomed new features.


What Firebird is lacking is a really good "management studio" style 
application. FlameRobin is currently filling that space, but I 
definitely see space for improvement (tracing and profiling, some graphs 
explaining the results, graphical execution plans of queries etc). Maybe 
this is a good business opportunely for somebody to venture into.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-27 Thread Graeme Geldenhuys

On 2017-10-27 11:04, Santiago A. wrote:

Why Postgres is better for "departmental or larger storage"? What has
Postgres that Firebird hasn't?



Exactly. In my years of using Firebird, I think it is a perfect fit for 
small and large environments.




Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Firebird vs PostgreSQL

2017-10-25 Thread Graeme Geldenhuys



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

I have some complains, but the overall feeling about Firebird is very
positive. It is a handy and powerful enough for almost everything . In
fact, I still have some production server running with no problems for
years.


I've used Firebird for the last 10 years in various companies. Databases 
ranged from 100's of MBytes to multi TeraByte databases. The latter 
contains lots of data, not necessarily tons of binary blob data. 
Firebird performed brilliantly throughout the various projects I used it 
in. I simply can't fault the database server. The fact that it is so 
easy to install, maintain, backup and even use in read-only or embedded 
environments is a massive plus point.


Oh, and I've access Firebird from Free Pascal, Delphi and Java based 
projects - all with equal ease.




I have tried a little PostgreSQL, it looks powerful and has good reviews
and has features that firebird hasn't, some of them very interesting
like replication.


I have heard good things about PostgreSQL too, and once installed it 
under Linux, but never really used it. I did do a couple of speed tests 
(that could run under various RDBMS's) and PostgreSQL did not perform 
very well out-of-the-box. Apparently you need to tweak it first before 
it performs decently. But this was some 6 years ago, so I don't know if 
things have improved since. I do know PostgreSQL does have some 
Enterprise style features like replication - not sure if there is 
anything else included too.




Nevertheless, I've heard that windows is not its
natural habitat.


I have heard the same, but never tried PostgreSQL under Windows. I have 
run Firebird under Windows, Linux and FreeBSD with great results.


Apparently Embarcadero's Interbase database is pretty terrible - I've 
only heard bad things about it. And no Firebird and Interbase don't have 
common code any more. Firebird was totally rewritten pretty soon after 
the original Interbase code was released. Yet the network protocol and 
API's was kept the same for compatibility. Speaking of network 
protocols. Apparently the latest Firebird has a very much improved 
protocol that gives a much higher network throughput - I personally 
haven't tested it yet.


Comparing Firebird to MySQL All I can say is I really don't know why 
Firebird isn't more popular - it is brilliant. MySQL on the other hand 
is absolutely ridiculous!!! I explained all my reasons many times before 
in the Lazarus Forums (eg: One simply example is MySQL's reliance on the 
file system it is installed on and that can (and does) determine if the 
database table names are case sensitive or not. So don't ever move from 
a Windows MySQL install to a Linux MySQL install - you'll shouldn't be 
surprised if your applications stop working).


Anyway, I also like the fact that Firebird databases are really compact 
compared to SQL-Server or PostgreSQL databases which contain the exact 
same structure and data. Some will argue the opposite fact though.


Regards,
  Graeme


___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Object Pascal Interface Delegation, but in Java

2017-09-10 Thread Graeme Geldenhuys

On 2017-09-10 00:31, Marco van de Voort wrote:

And you don't risk forgetting adding a method to existing classes


Java will give a compilation error if you do, so nothing to worry about 
there.




always a risk with manual workarounds like the
codegeneration tools that assume everything is designed at once top-down and
only then implemented.


Eclipse allows you to run the "wizard" multiple times and will add and 
remove code depending on what you ticked and unticked. Eclipse's code 
generation is very impressive.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Object Pascal Interface Delegation, but in Java

2017-09-09 Thread Graeme Geldenhuys

On 2017-09-09 18:17, Graeme Geldenhuys wrote:

I'm sure Eclipse must have that code-generation
functionality built-in or an add-on that can do that.


And my guess was correct. :) In Eclipse select "Source -> Generate 
Delegate Methods". Select the field variable that will do the 
delegation. Eclipse fully implements all (or selected) methods of 
delegate member as delegate methods.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Object Pascal Interface Delegation, but in Java

2017-09-09 Thread Graeme Geldenhuys

On 2017-09-09 17:39, Marco van de Voort wrote:

That is often called delegation, and if you search for java and delegation,
it seems not (which is not THAT surprising IMHO):


Thanks Marco. So it is actually similar to Object Pascal where you use 
object composition, but with Object Pascal's "implements" keyboard the 
interface is automatic in the new class's interface. Where-as with Java 
you have to define the interface and then delegate the calls to the 
composition object. I'm sure Eclipse must have that code-generation 
functionality built-in or an add-on that can do that.


So Object Pascal is just a bit more convenient, but the end-result 
(functionality) is the same in.


Thanks again for your input.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Object Pascal Interface Delegation, but in Java

2017-09-08 Thread Graeme Geldenhuys

Hi,

Does anybody familiar with Object Pascal and Java know if Java supports 
something similar to Object Pascal's Interface Delegation "implements 
syntax" functionality?


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Who actually invented open source?

2017-08-20 Thread Graeme Geldenhuys

On 2017-08-20 23:08, nore...@z505.com wrote:

The true inventors of open source??

Mathematicians, or scientists? Science is shared publicly and openly
too..



You make a very good point. Hence I also don't believe in Software 
Patents - they are just evil sh*t that prohibits software development.



Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] homepage - no foundation link

2017-08-20 Thread Graeme Geldenhuys

On 2017-08-20 22:15, nore...@z505.com wrote:

Because the freepascal project is run by A.I. bots, not humans...


:-D

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] OS/2 support and text colors

2017-07-20 Thread Graeme Geldenhuys

On 2017-07-20 12:46, Tomas Hajny wrote:

However, I'd like to remind you that standard OS/2 dialogues may
be modified using the Font Palette, Color Palette, etc., using drag and
drop


And and awesome feature it is - which I used frequently when still used 
OS/2. The drag-n-drop ability of most (if not all) OS/2 applications 
were just awesome! No other OS came close.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] OS/2 support and text colors

2017-07-20 Thread Graeme Geldenhuys

Hi,

Not strictly FPC related, but I know here are some OS/2 software 
developers around - and I have no idea where else to ask.


I'm working on supporting OS/2 in fpGUI Toolkit and creating OS/2 
themes.  Looking at some of the OS/2 screenshots I have collected, I 
noticed that in the same dialog you sometimes have blue text and 
sometimes black text. Anybody know why, and what is the difference 
between the two (other than the color alone)?


Here is an example:

  http://geldenhuys.co.uk/~graemeg/os2_screenshot.png


The only pattern I can see is that "static text" (eg: labels and 
groupbox captions) use the blue text, but Checkboxes, Buttons, Menu 
Items etc use the black text. I still don't understand IBM's reasoning 
behind this though - but would like to know out of curiosity.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-07 Thread Graeme Geldenhuys

On 2017-06-07 07:02, Bo Berglund wrote:

So time stamp handling is not that important really it's just that I
observed the difference when comparing the GIT version of a project


Fair enough and a good observation.

Git stores such "metadata" like author name + email, authored timestamp, 
committer name + email, commit timestamp, commit message etc in the Git 
repository. File systems alone obviously can't handle such information. 
You can obviously query the Git repository for that information and 
because Git history is all local, it is very fast to retrieve - unlike 
SubVersion, TeamCoherence, CVS etc. that must query a remote server over 
TCP/IP.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-07 Thread Graeme Geldenhuys

On 2017-06-07 08:24, Giuliano Colla wrote:

One of the important things of programming, both for economical reasons
and for better quality, is to be able to reuse code modules.


Strange that in my 25+ years of programming I have never needed that. 
Somehow I always managed just fine, and relied or more reliable sources 
of information for version control and reusable code modules.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-06 Thread Graeme Geldenhuys

On 2017-06-06 11:30, Giuliano Colla wrote:

This is one of the down sides of GIT: it doesn't preserve timestamps.


You are the second person I hear say that. Why is preserving timestamps 
important? What use is there for it?


Git already tracks the commit date/time, authored date/time and other 
metadata - all available in the Git log. Those are git log metadata. But 
Git really only tracks file content changes over time - that is the 
important bit everybody needs. Git doesn't even track directories - only 
file content changes are tracked, but even with only that information, 
Git is clever enough to track file renames and movement of files between 
locations in the repository.


I honestly see no need for timestamps. If mean for things like a 
compiler should detect when files are changes - well, compilers should 
check for the content of file changes (via checksums or CRC etc). 
Timestamps can be spoofed or changed without the contents of the file 
changing - thus totally pointless. Then there is things like daylight 
savings time, timestamps across timezones etc. All things that could 
affect timestamps, but not the content of a file. So Git is right by not 
bothering with file timestamps - query the git-log instead.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-06 Thread Graeme Geldenhuys

On 2017-06-06 09:40, Bo Berglund wrote:

It seems like GIT does not like the fact that in CVS only changed
files can be committed thus revisions of files evolve on a file by
file basis. So when a CVS tag operation is performed the tag is
applied on all of the files in the current state. This means that a
CVS tag contains files at different revision levels and apparently
this is something GIT does not like.


I think Git is trying to make something good out of a bad situation. I 
wouldn’t blame git if it didn’t get things 100%. The way CVS and 
TeamCoherence (which was an improvement over CVS too) all applied 
revisions per file only, instead of a whole “repository state snapshot”. 
That behaviour was very pre-historic, [and personally] a terrible 
design. You could never get a decent snapshot of all files in the 
repository at a specific point in time. That was one of the major new 
features and improvements that even SubVersion introduced.



So it tries to "fix" this by making fake commits or something similar.


I guess it’s trying to fix a “hack” with a hack. ;-)



I can go elsewhere and clone the created repository at which time I
am getting the HEAD revision checked out. Relevant files compare fine


Perfect.



except they are not the correct timestamp.


Git only tracks file contents, and some extra commit related metadata. 
Timestamps are really irrelevant when it comes to managing file content 
changes over time.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-05 Thread Graeme Geldenhuys

On 2017-06-04 23:12, Bo Berglund wrote:

Why is the repo in this condition?
And what to do about it? Obviously going over it with
git reset HEAD ...
isn't really practical since this example project (an Android App)
contains deeply nested folder trees with hundreds of files.


Like I said, I have no experience with CVS or covertions from CVS-to-Git.

1) I suggest you start with a 'gitk --all' and see how the history
   of your repository looks like, and if there is any history at all.

2) You don't have to reset each file one by one. You can do it all
   in one go with:  git reset --hard

   But why all your files are marked for deletion is a mystery to
   me.

3) This is never mentioned in ANY repository conversion guides, but
   something I ALWAYS do. After you ran your automated migration to
   Git, I would use a comparison tool (eg: Beyond Compare) and
   compare a _clean_ original repository against the newly migrated
   Git repository. Do a new checkout of the original repository (CVS,
   Subversion etc) to make sure it is clean and you know it is the
   latest code from the server. Technically there should be NO
   differences, but on the small chance that there is, now is the
   time to see the differences and commit those into Git so you know
   going forward both repositories have the exact same state (at the
   time of migration).

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-02 Thread Graeme Geldenhuys

On 2017-06-02 00:00, Bo Berglund wrote:

The beauty of this is that we do not need to duplicate common
functionality between projects as would be the case if we *copied* the
common files into the source folder. These files are used in many
places but versioned in a single place on the server.


Yes, Git has that functionality too. It is called "submodules". Common 
code can live and be maintained in it's own repository. Other 
repositories can than link to that repository.


  https://git-scm.com/book/en/v2/Git-Tools-Submodules

  https://git-scm.com/docs/git-submodule

I have used this often. If you clone a repository that makes use of 
submodules, all the information is already there (stored inside the 
repository).


The first time you clone such a repository, it will not automatically 
fetch the files from the submodule. You need to run (only once) the 'git 
submodule init' command. Then every time you want to update the 
"common/shared code" you run 'git submodule update'.


The Pro Git chapter explains it very well, and it is actually quite 
simple to setup and use.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-01 Thread Graeme Geldenhuys

On 2017-06-01 08:54, Bo Berglund wrote:

Even though it now works it would be intersting to know *why* I had to
log off and back on for it to use the path ...


It seems quite clearly that the PATH doesn't fully take affect (in all 
sessions - it definitely doesn't in existing open sessions) until you 
log out and then back in. Knowing *nix systems, there must be a way to 
reinitialise your already open sessions with the latest config info - 
but it escapes me now on how that is done.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-06-01 Thread Graeme Geldenhuys

On 2017-05-31 08:33, Lukasz Sokol wrote:

TortoiseGIT also lets you create a 'bare' repo.


I don't disputed that, and I don't mind others using gui front-ends to 
git - as long as they know they are seriously limiting their abilities 
and functionality of Git.


I have reviewed a lot of Git GUI front-ends in depth over the years. In 
every single case they lagged behind Git command line interface features 
or couldn't do some of the more advanced functionality. And more often 
than not they got confused about the state of the git repository. They 
were also always slower to use than the command line interface.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-31 Thread Graeme Geldenhuys

On 2017-05-31 16:10, Bo Berglund wrote:

The apt-get version of the git I use now is:
~/ $git --version
git version 2.1.4


Yeah, that is a rather old version. The latest is v2.13.

  $ git tag

will show all tagged releases. Just look for the latest one. You can 
also use 'gitk --all' and see what the "next" branch follows on from. In 
the Git project, the "next" branch is what will become the next release.


So simple checkout "next" or if you want a mare stable released version, 
checkout the v2.13 release.


  git checkout v2.13.0

(git will mentioned you have a detached HEAD, but that doesn't matter, 
it just means you don't have a local branch that matches that release 
commit.)




Is it not påossible to put docs and info below the ~/ dir?
According to the INSTALL file on the subject of Git install it says:


Yes, it works like most Makefile based environments - and is also 
mentioned in the INSTALL file You need to specify the install prefix 
directory.


  $ make prefix=/home//

Or whatever you want the install prefix to be.

As for building the Git documentation. Yes, that has extra dependencies, 
and from memory takes quite long to build. But the process is very 
similar to building the Git binary itself. All the instructions are in 
the INSTALL file.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-31 Thread Graeme Geldenhuys

On 2017-05-31 09:58, Bo Berglund wrote:

Aplogies if my postings are a bit longish,


You are like me then. :)  I try to write shorter messages, but often fail.



Access via http would probably be the simplest way to manage I
believe.


I actually found Gitolite the simplest (which uses SSH and manages its 
own user accounts and access) - independent of the operating system user 
accounts. So I highly recommend you look into that.


The Git Daemon is also very very straightforward, but doesn’t offer much 
in the form of security.


I try not to use HTTP for Git if I can - it’s the slowest protocol for 
use with Git. It’s like fitting a square peg in a round hole. With a big 
enough hammer it WILL fit, but not ideal. ;-)





I also build my FPC/Lazarus installations from svn sources since a
couple of years. But only on Linux, I have not tried it on Windows
yet.


I use near identical scripts on both platforms. So not any more difficult.



build myself then? Is it possible to get the GIT sources without GIT?


Yes, FreeBSD’s Ports system does that. It downloads a *.tar.xz archive 
of the latest release, then builds it locally.




When woking on multiple platforms like Linux, Mac and Windows there
has always been a struggle to get source code line endings compatible
with the platform. Windows uses CR-LF, Mac uses CR and Linux uses LF
and in some cases if this is wrong the sources will not work.


I believe the default behaviour is for each platform to have native EOL 
styles, after you cloned a repository. Internally, git stores files in a 
set EOL style (Unix-style I believe) on all platforms.


But some people like Linus Torvalds will tell you that technically a SCM 
system should *not* modify files at all, so that what you put in is 
exactly what you’ll get out. Git obviously supports this model too.




Now I have read a bit about GIT and it really looks like it checksums
whole files with a 40 char hash, which is used as the key to the
files. This would make the exact same file (content wise) on Linux and
say Windows appear different with different hash values unless there
is some mechanism in GIT that handles this.


Git handles that, and there will be no difference between that same 
patch being applied under Linux or Windows. The commit SHA1 should be 
identical. Git magic I guess. ;-)




And how does one specify the type of file to put in GIT? I want to
keep also some binaries there, but these invariably contain CR, LF and
CRLF byte combinations that MUST NOT be changed when moving between
platforms...


You can create a ".gitattributes" file in the root of your git 
repository. You can then specify which files should be treated as binary 
data, which diff algorithm should be used, and which files should have 
specific EOL styles. See the fpGUI repository as an example.


===[ .gitattribute ]===
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto

# Explicitly set some EOL styles and preferred diff style
*.pas  text diff=pascal
*.lpr  text diff=pascal
*.pp   text diff=pascal
*.inc  text diff=pascal
*.txt  text
*.xpm  text
*.ods  diff=odf
*.odt  diff=odf
*.odp  diff=odf

# declare files that must always have specific EOL style
*.dez  text eol=crlf

# True binary files that should not be modified (just for safety sake)
*.jpg  binary
*.png  binary
*.bmp  binary
*.inf  binary
*.INF  binary
*.zip  binary
*.res  binary
*.tar.gz  binary
*.wav  binary
*.pdf  binary

===



Since we have not used CVS in any complex way (but we do use the CVSNT
flavour on Windows), I assume that the repository files would be
possible to convert into the GIT format. After all each file contains
a history with commit messages, timestamps, tags and branches, which
are all OK.


I haven't used CVS in over 20 years easily. I know there is a CVS-to-Git 
conversion support, just like there is for SubVersion, Mercurial and 
Perforce, but I've only [personally] done SubVersion conversions.


I unfortunately don't know the details of what you ask. I'm sure a 
Internet search or the Git man pages will help you further.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-30 Thread Graeme Geldenhuys

On 2017-05-30 22:19, Bo Berglund wrote:

Since my local system is a Windows 7 laptop I have to resort to an RPi
to get the Linux system for which the commands are native...


Git is native on all supported platforms now.




  mkdir /data/myremote.git
  cd /data/myremote.git
  git init --share --bare .


When you install Git under Windows using the official installer, it 
includes Bash Shell integration and a shortcut on the desktop. So the 
above commands will work as-is on Windows too.


But you can obviously run a non-Bash shell/console under Windows. Then 
simply replace the Unix-style paths with Windows variants. The git-init 
command stays the same.




So this should not be created inside some user home then?


You can create Git repositories wherever you want and have read/write 
access. My "/data" path is simply by 8TB ZFS data pool, where I do all 
my work and store all vital data. You can use your $HOME directory 
(whatever that translates to on your OS) just as well.


If you are going to share your Git repositories stored on your system 
with the public, then better make sure you set up your system's file 
permissions correctly, or use a dedicated "shared location" on your 
system. Alternatively don't make your laptop or desktop directly 
accessible to the public on the Internet, instead push your repository 
to a public and secure server somewhere (eg: Github, SourceForge etc).


You mentioned you wanted to play around with Git and get to grips with 
it - hence I suggested a local setup without the need of a RPi or some 
other device.




I have read a few chapters on-line, including installing git using the
command:
sudo apt-get install git-all

which (of course) differs from the commands I have found in various
other how-to pages concerning git...


The Linux distros are to blame for that - more specifically ther 
incompatible "package management requirements". I always install git 
from source code and compile it myself (like I do with FPC and Lazarus 
too). Everything is then included - as it should be. Linux distros f*ck 
everything up and split it into multiple packages. eg: git-core, 
git-base, git-gui, git-subversion, git-docs etc. G*d damn ridiculous if 
you ask me!




I would very much like to have a PDF copy since I usually find that
easier to read than using on-line webpage versions of books.
Could not find the PDF though...


I just had a look. The links used to be on the Table Of Contents page, 
but for some odd reason they aren't there any more. No stress, The 
Internet Archive always comes to the rescue.


This is how it used to look like around 01 March 2017.

  http://web.archive.org/web/20170301183218/https://git-scm.com/book/en/v2


The individual eBook downloads from that page still works though.

 PDF:
   https://progit2.s3.amazonaws.com/en/2016-03-22-f3531/progit-en.1084.pdf

 ePub:
   https://progit2.s3.amazonaws.com/en/2016-03-22-f3531/progit-en.1084.epub

 Mobi:
   https://progit2.s3.amazonaws.com/en/2016-03-22-f3531/progit-en.1084.mobi

 HTML:
   https://progit2.s3.amazonaws.com/en/2016-03-22-f3531/progit-en.1084.zip


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-30 Thread Graeme Geldenhuys

On 2017-05-30 06:53, Bo Berglund wrote:

OK, I did not have in mind to use an RPi3 as the final system. I just
wanted to acquaint myself with GIT using a small portable unit over
the summer.


In that case, you don't even need a RPi... Simply practice by doing the 
following on your local system:


  mkdir /data/myremote.git
  cd /data/myremote.git
  git init --share --bare .

You just created your remote [bare] git repository. The term "bare" 
means that there is no checked out files. If you view that directory it 
simply shows all the normally hidden files that git uses to manage a 
repository.


Now for your working repository where you will do you day-to-day commits:

  cd /data/devel/
  git clone /data/myremote.git/ mywork

You will now have a Git repository in /data/devel/mywork/ which is a 
clone of the /data/myremote.git repository. It as automatically set up 
the "origin" as your Remote Git Repo. So if you to a git-push, the data 
will go to "origin"


Now playing around in this "mywork" repository. Create commits and 
branches. Then do a git-push and magically you will have updated the 
"origin" remote git repo too (which in this case is /data/myremote.git/)


What you learn here, is exactly how you would do things with a real 
remote repository.


I highly recommend everybody interested in using Git reads the free and 
open source "Pro Git" book [https://git-scm.com/book/en/v2]. It is 
available online or offline in various formats (PDF, ePub etc). Is is 
well written, fast to read and with tons of real-world Git examples.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-30 Thread Graeme Geldenhuys

On 2017-05-29 12:00, Bo Berglund wrote:

Is there a good way to set up an RPi3 box as a GIT server and get
going with that?

Can GIT work in a way that would be comparable to CVS regarding
concurrent development etc?

Any suggestions on where to start?


Git doesn't require a "server" - there is no "git server" like you find 
with CVS or SubVersion. Gitolite is a very fast and simple solution to 
get a shared Git environment up and running in the traditional 
client/server model that CVS and SubVersion users are used to. A true 
distributed environment will have no single "server location" of the 
source code.


There is a Git Daemon that can be run on Unix or Windows systems. But 
this is in essence just to supply you with access to a Git repository 
via the much more efficient git:// protocol, instead of abusing the 
http:// protocol.  The recommended way to access a Git repo is via SSH 
(which Gitolite also uses). You supply you public key, and don't have to 
bother with usernames and weak passwords.




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-30 Thread Graeme Geldenhuys

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.




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Felipe: Java and multi-threading

2017-05-26 Thread Graeme Geldenhuys

On 2017-05-26 15:56, Graeme Geldenhuys wrote:

Attached is the corrected version of your sample application without the
volatile keyword. It is worth noting that using volatile is faster, but
also has its limits (ie: you can't protect a whole block of code or
actions).


To add to this, there is also a memory access effect between volatile 
and synchronize. For a detailed explanation, take a look the marked 
"correct answer" in this StackOverflow topic:



https://stackoverflow.com/questions/3519664/difference-between-volatile-and-synchronized-in-java



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Felipe: Java and multi-threading

2017-05-26 Thread Graeme Geldenhuys

Hi Felipe,

> This simple program never ends if you delete the volatile keyword (I
> tested here in Windows):

Yes, I got the same behaviour as you, using Java 1.8 under FreeBSD. But 
I immediately saw your problem. You are accessing the same data from 
more than one thread. That has always been a big NO-NO in any 
programming language.


Using the synchronized code blocks to protect the common data or actions 
being executed I get this as output.


[threads]$ java FelipeTestThread
Thread 2 finishing
Thread 1 finished. Counted up to 2205390
[threads]$

It works, just like it does when the "volatile" keyword is used.

Attached is the corrected version of your sample application without the 
volatile keyword. It is worth noting that using volatile is faster, but 
also has its limits (ie: you can't protect a whole block of code or 
actions).


But the bottom line is, you tried to access common data from multiple 
threads, without trying to protect that data. Not the way to go!


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
class FelipeTestThread {

	//volatile keyword not needed any more
	private boolean running = true;

	public void test() {
		// thread 1
		new Thread(new Runnable() {
			public void run() {
int counter = 0;
while (isRunning()) {
	counter++;
}
System.out.println("Thread 1 finished. Counted up to " + counter);
			}
		}).start();
		
		// thread 2
		new Thread(new Runnable() {
			public void run() {
// Sleep for a bit so that thread 1 has a chance to start
try
{
	Thread.sleep(100);
} catch (InterruptedException ignored) {
	// do nothing
}
System.out.println("Thread 2 finishing");
//running = false;
stopRunning();
			}
		}).start();
	}
	
	public static void main(String[] args) {
		new FelipeTestThread().test();
	}
	
	public void stopRunning() {
		synchronized(this) {
		  running = false;
		}
	}
	
	public boolean isRunning() {
		synchronized(this) {
			return (running == true);
		}
	}
}
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] What makes a Compiler project (like FPC) special?

2017-05-26 Thread Graeme Geldenhuys

On 2017-05-25 19:48, Florian Klämpfl wrote:

We try to keep fpc layered
and everything, nevertheless, the unit dependency graph looks terrible, see 
attachment


Thanks for the information Florian. Just curious, what tool did you use 
to generate that graph?


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] What makes a Compiler project (like FPC) special?

2017-05-25 Thread Graeme Geldenhuys

On 2017-05-25 22:04, Marco van de Voort wrote:

There are no narrow interfaces that are natural seams for
modularization inside the compiler.


Yet the “packages” and “rtl” directories is just that - which by the way 
is part of the FPC project. And that is also where most commits have 
been going - based on the history I queried for the last 4-6 months. And 
then in the “compiler” tree their is the nice natural seams for various 
platforms and cpu types - after all, you guys worked so hard to make FPC 
2.x more modular and maintainable compared to the spaghetti mess of v1.x.


Anyway. I'll keep thinking happy thoughts.

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] What makes a Compiler project (like FPC) special?

2017-05-25 Thread Graeme Geldenhuys

On 2017-05-25 19:47, Nikolay Nikolov wrote:

The answer is: much higher complexity and much tighter coupling between
the different components. Everything depends on everything, basically.
And all of that's caused by necessity, not by bad design, because the
task you're solving is very complex.


Ok, so the complexity is in the project code (I never argued or disputed 
that). Many projects have complex code and dependencies - not every 
project is a simple desktop app. eg: You wouldn't believe how complex 
Mortgage Brokerage applications can be. The business logic is insanely 
complex with exceptions to every rule. FPC or any other compiler is not 
that "special" then - it's like any other complex project.


So what is Florian going on about regarding workflow and Git not being 
able to cope in a "compiler" based project? He made it out as if FPC 
will not be workable in a Git managed environment. I don't see his 
analogy. The Linux Kernel running on more platforms than FPC does, is 
just as complex a beast, if not more - considering that the Linux Kernel 
probably has 10's of millions of lines of code, 2000+ contributors. The 
same could be said for the KDE and Qt framework. The latter runs on just 
about every platform out there, as multiple rendering engines, font 
engines, theme engines, layout engines etc.


ps:
  Just to be clear, I'm not pushing Git here - I know you guys will
  not change - Florian made that very clear.
  But Florian's statements just bugged me, and I see no proof to
  convince me otherwise - a compiler is just a complex project.
  Nothing "special" as he claimed it to be.

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-25 Thread Graeme Geldenhuys

On 2017-05-25 15:34, Sven Barth via fpc-other wrote:

a core dev). Though we'd need to implement such restrictions anyway no
matter what we choose for the repo hosted on our own server...


Gitolite is brilliant at directory level, file level, branch level, site 
level permissions, private branches support and more. It's very flexible 
and uses git to configure itself - so config changes and new repo setups 
can be done remotely, and as soon as you do the push the server is 
updated and repos are created.


  http://gitolite.com/gitolite/

It is also very simple to install and set up. Also a under 5 minute job.


ps:
  I just thought I would point out that a web interface (Github, Gogs
  and others) are not the only way to do pull requests. In fact,
  pull requests via a email message is much more informative and
  easier for other person to review. This is built into git.

  For more information see:

 $ git help request-pull

  So you guys might want a daemon that scans the fpc-devel and
  fpc-users mailing lists too. That's if you want to cover all
  bases.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] What makes a Compiler project (like FPC) special?

2017-05-25 Thread Graeme Geldenhuys
This is directed at Florian primarily, but any other FPC core member is 
welcome to chip in.


Since Florian mentioned that a compiler project is "rocket science" [not 
his direct words, but he hinted at that] and totally different to any 
other software project... It has really bugged me... Why is it 
different, and What is different?


From the recent comments in this mailing list by Sven, Marco and Karoly 
I got a bit more insight... mainly things like CI (continuous 
integration) and automated builds and test suites, testing on various 
platforms etc.


Still, that doesn't make a compiler project that special to me. eg: The 
tiOPF project runs automated builds every 3 hours with its test suite. 
Those are totally clean builds using the latest source code. Those 
builds run under Linux, FreeBSD and Windows. They also have different 
combination of options, testing various persistence layers (Zeos+MySQL, 
Zeos+Firebird, SqlDB+MySQL, SqlDB+Firebird, SqlDB+PostgreSQL, IBX, 
Oracle to name but a few). Even different compilers FPC 2.6.4, FPC 3.0.2 
and Delphi 7 (we don't have access no later Delphi versions any more). 
Tests alone take between 20-30 minutes to run. All build results are 
stored and can later be reviewed. The latest summary results are posted 
to a "builds" newsgroup with a URL to a website for a full review of 
each test case (1800+ tests) with the exact errors, line numbers etc.


So, what makes a compiler project like FPC different to that?

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-25 Thread Graeme Geldenhuys

On 2017-05-25 12:09, Bo Berglund wrote:

But my observation is that email is not the best way of managing these
things even if you *can* create some folder structure. Email clients
evolve a lot and suddenly your old store of messages is not readable
anymore.


I've been working on and off (more off than on these days) on a local 
project where I am rethinking emails completely. I too never delete 
emails and my archives go back nearly 15 years. It's a nightmare to find 
anything, because I used multiple email clients over the years.


So my new project splits the "email client" into two parts. The headless 
email daemon/service. This does the polling of the inbox in one or more 
mail accounts, and also does all the sorting of messages (via user 
defined filters). Messages are then stripped apart and stored in a 
Firebird database (other database servers like MySQL (G*d forgive me), 
Oracle, PostgreSQL, MS SQL Server etc) are also supported. No 
information is lost, and the original email (pristine and untouched) can 
be regenerated from all the parts.


When I say "filtering", I really mean messages are tagged. There is no 
such thing as a physical "folder" (tables) in the database. By default 
new messages will get the "new" tag assigned to them, and whatever other 
active filters are available to that account.


I then have the GUI front-end, which doesn't actually do any emailing at 
all. It is simply a client/server application (but can also be 
recompiled to be a 3-tier client via HTTP). The filters create a 
"virtual" treeview structure of your messages. Moving a message from one 
folder to another, doesn't physically move the message, it simply update 
the tag associated with that message, which then makes in appear in a 
different location in the GUI. Multiple tags can be applied to the same 
message, so you can find the message in many ways, and no duplicate 
copies of the message exists. Full-Text Searching is supported too.


Posting a new email creates a new database entry, and tagged with the 
outgoing "queued" tag. I've defined (user configurable) a 5 minute delay 
before outgoing messages are actually sent. The daemon will then pick up 
those queued messages and physically send the emails at the right time. 
Emails can also be scheduled for sending at a specific date and time of 
your choosing.


The daemon also has the ability to import existing emails from Mbox 
(MailBox) files or IMAP folders.


This opens up multiple possibilities. If you don't like the default GUI 
front end, change it or build your own, or even design a web-based 
version, or create a console version (that mimics your ELM or Alpine 
clients).


The database table structure is pretty straight forward, no DB specific 
stored procedures are used - so very portable to other database servers. 
The database communication is all done via objects and abstracted away 
using the tiOPF framework. The current GUI client also uses tiOPF to 
communicate with the database or the middle tier app server.


The project is far from complete, but whenever I have a spare moment I 
work on it further. I hope to one day unify all my email archives into a 
single database and easily searchable via the GUI frontend.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-25 Thread Graeme Geldenhuys

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.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-25 Thread Graeme Geldenhuys

On 2017-05-25 09:26, Florian Klämpfl wrote:

 This is at least one month of work I (and
probably nobody else) can and want to spent.


And some how I believe that will never happen (or be allowed) even if I 
(or somebody else) decide to donate a month of our time. I fear the 
resistance will outweigh the dedication to accomplish this task. This 
was made abundantly clear to me now.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 21:28, Marco van de Voort wrote:

- preferably anything with "huys" and 'git"  :-)


Awesome, I made the list. :)



Seriously, just be selective, and use a threaded reader that allows you to
skip/ignore threads.


Agreed. And if you are using Mozilla Thunderbird, learn to use the “R” 
key. If the thread is not already marked Ignored, the “R” key will mark 
the whole thread as Read.


I only read threads with a subject line that catches my attention. I 
also have a filter that tags all messages that mention my name - seeing 
as I don't read every message in the mailing list.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 21:21, Marco van de Voort wrote:

Even a limited change is already a massive operation, let's keep it
managable.


So how large is the FPC team really? I'm talking about active developers 
on a day-to-day basis who have commit access to Trunk.


Oh wait, I can answer that very accurately myself... using git.

$ cd /data/devel/fpc-3.1.1/src
[src (master)]$ git shortlog -s -n --since=4.months
   191  Michael Van Canneyt
   147  Mattias Gaertner
   140  nickysn
83  svenbarth
73  Florian Klaempfl
62  pierre
52  Joost van der Sluis
39  maciej
30  karoly
26  Marco van de Voort
23  Jonas Maebe
22  yury
 7  lacak
 5  marcus
 3  Sergei Gorelkin
 2  hajny

So that's 16 developers - a nice size, but also not a large team (say 
compared to the KDE project that moved from SubVersion to Git, or LLVM 
seeing as that was mentioned earlier). The amount of commits are also 
not huge - so they most likely have a day job. ;-)


And the two developers with the most commits (by a large margin) work 
primarily in the RTL and FCL. That's development work like any other 
project I have worked on. Nothing special or "rocket science" about that 
(sorry Florian).


As for the 3rd person "nickysn"... I see he/she actually worked on the 
compiler/* tree. How do I know this?


  $ git log --name-only --oneline --since=2.months --author=nickysn

Randomly picking some other authors, it seems most work is primarily in 
the RTL and FCL. A few small exceptions like Sven and Florian who mostly 
work in the compiler tree.


So this definitely doesn't convince me that compiler development is so 
different to other projects. And definitely doesn't rule out that Git 
couldn't work, or that an improved workflow couldn't be applied (freeing 
up time in the long run).


But I get in now. You guys are set in your ways - good or bad, and 
currently not willing to change. So I'll leave it at that.



Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 21:07, Florian Klämpfl wrote:

I'm sorry to bust your bubble, but how different can compiler
development be.


Apparently it is:


Then why are you still talking to me.

I have my doubts that it can be _that_ different. To quote Marco "I see
to proof to make me think otherwise".



The workflow will not change. If the tool does not fit the workflow,
it is the wrong tool. Period.


Yes, habits (good or bad) are a hard thing to break. In that case, 
please enjoy your project further with SubVersion. Until you actually 
use a project with Git (not git-svn), we might talk again. But like you, 
I'm not holding my breath. ;-)



Regards,
  Graeme
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 19:11, Florian Klämpfl wrote:

You never developed a real world compiler and you have no real
insight into fpc development so you cannot know about this.


As a technical consultant for many clients I have seen a boat load of 
projects from banking to online trading to educational etc. I'm sorry to 
bust your bubble, but how different can compiler development be. I'm not 
talking about the recursive build process, I'm talking about bug fixes 
and implementing new features.




Who tests and signs? Our testing facilities cannot test more than a
few (1, 2 maybe 3) branches nightly as we use build farms used also


Like the Git project, you can merge all new work into a testing branch. 
That could be what "trunk" is now. Once features have been tested by FPC 
core members or community - using that trunk branch, those signed off 
features can be merged into a more stable development branch... lets 
call it "develop" (or in terms of the Git project, call in "next"). The 
"next" branch will always be more stable that "trunk". The "next" branch 
is also the one the next release (hence the name) will be based forked from.


If you haven't found the Git project documentation on this workflow, 
I'll find it for you and post the URL.


I think actually the 'git help workflows' command lists that same 
information.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 16:18, Jürgen Hestermann wrote:

I can type "begin" and "end" much faster than the cryptic { and } (on my
german keyboard).
I use all 10 fingers for typing and each special character is an
interruption in my coding flow..


I use a custom Dvorak keyboard layout. I used to use Programmer Dvorak, 
where the symbols are where the number row normally is - but don't 
require a SHIFT. So { would be a single keypress.


  http://www.kaufmann.no/roland/dvorak/

These days I use a custom Dvorak on a Ergodox keyboard. All my most used 
symbols are on the 2nd layer. I use my left thumb to temporarily switch 
layers, and then the rest of my left hand fingers to type the symbol. No 
typing slowdown at all.



https://github.com/graemeg/qmk_firmware/tree/gg_dvorak/keyboards/ergodox/keymaps/gg_dvorak


But I get what you are saying. Most people can’t type symbols or numbers 
as fast as the normal alphabet.




I always indent the begin (and end) of a block together with the block:

if true then
begin
DoSomething;
end;

This way the indentation always looks similar
independent from whether you have begin/end or not:


I’ve been working with Michael van Canneyt for the last two years, and 
he indents like that too. It drove me nuts in the beginning, but kinda 
got used to it - though I never indent like that. Your last sentence at 
least explains why one would want to do that.




You cannot solve all these cases just by TABs.


These days I don’t care about code formatting at all - while I code. I 
just type. Then on occasion I press Alt+S which triggers Jedi Code 
Formatter which formats my current unit as it should be. I have 
different formatting styles for different clients. It’s a huge time 
saver! If only Lazarus IDE had a faster way of switch between formatting 
styles (would be nice if it was integrated with Project Groups). At the 
moment I have bash scripts that flip between them.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 15:30, Tomas Hajny wrote:

I have my doubts about availability of the GUI component for OS/2, but
you're welcome to prove me wrong. ;-)


I haven't personally tried Git under OS/2, but I have two OS/2 VMs 
available, so I'll test.


Does OS/2 have a port of TCL/TK? That's what those GUI's are written in.

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 15:32, Santiago A. wrote:

But IMHO it
clearly shows how poorly git defaults and parameters have been chosen.
And I am afraid that has been one of the hinders of git adoption.


The problem goes much deeper than that. I once brought up the issue of 
inconsistent command line parameters in the Git mailing list and gave 
ideas I thought were improvements.


They immediately confirmed the problem, and the problem in finding a 
solution. Some issues raised:


  * Because git has so many options (way more than normal apps), one
change can (and does) have affects on others.
  * Backwards compatibility. Changing the commands will break just about
every Git GUI front-end there is. Many of them simply parse the
output of a forked 'git' command. But they would actually consider
doing this for the greater good - I was impressed.
  * Conflicting command line parameter "modes".


If interested, the discussion can be found here:

   https://www.mail-archive.com/git@vger.kernel.org/msg76433.html


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 15:03, Graeme Geldenhuys wrote:

I compile Git from the original source code, and it includes
everything... Console, GUI and SubVersion support.


On this web page the first two screenshots are of gitk and git-gui - the 
standard GUI tools of Git.



https://git-scm.com/book/uz/v2/Git-in-Other-Environments-Graphical-Interfaces

They might not look as visually pleasing (eye-candy) as many other gui 
tools, but trust me, these built-in apps pack a punch (tons of 
features), and always supports git very well - obviously.



Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 14:38, Luca Olivetti wrote:

$ LC_ALL=C git gui
git: 'gui' is not a git command. See 'git --help'.


I guess you can blame your Linux distro's rubbish package management 
requirement policies for that. They probably split Git into two or more 
packages. F**ken annoying if you ask me - hence I don't use Linux any more.


I compile Git from the original source code, and it includes 
everything... Console, GUI and SubVersion support.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 03:07, nore...@z505.com wrote:

I'm positive that some of you are just clever A.I. bots posing as
humans.. that's where your super powers come from. You're not actually
humans..


Or we have a couple of clones - human trials started ages ago in some 
countries. ;-)


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

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

 >   [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.


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.


Let me explain: Say you have two branches with the same file, and the 
file hasn't actually changed between those two branches. Now say I give 
you a patch file to apply to that file in both branches. The commits 
that gets generated in each branch - even though the diff is identical - 
will not have the same SHA1 reference. Because the history to get to 
that point has diverged because of the branching.


So if I mention a problem in the "45f932c1" commit of a Git repository. 
No matter how many clones [by multiple developers] there are of that 
repository, that SHA1 reference will point to the exact commit and code 
change - in all the Git repositories out there in the wild.


This is also one of the huge arguments about NOT using the git-rebase 
command on a branch that has been published, because a rebase command 
rewrites the history. So every commit (SHA1 reference) in that affected 
branch changes. Rebasing local branches (not made public yet) is 
obviously not a problem.


The Git project repo has a "short lived" branch where they do all kinds 
of testing. They explicitly note that nobody should base any new 
development on that branch, because it will frequently be destroyed and 
recreated (merging in new feature to be tested for the next cycle).




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

eg:

[tiopf (tiopf2)]$ git branch -r
  carlo_marona/Add_tiLogToDebugString
  carlo_marona/Additional_Mediators
  carlo_marona/Fix_BOOLEAN_Defines
  carlo_marona/Fix_TtiDatabaseZeosAbs_SetConnected_Except
  carlo_marona/Fix_tiCriteria_AssignClassProps
  carlo_marona/Fix_tiMediatorView
  carlo_marona/Fix_tiModelMediator
  carlo_marona/Fix_tiQueryZeosIBFB_Unit
  carlo_marona/tiOIDManager_Update
  carlo_marona/tiopf3
  github/master
  github/tiopf1
  github/tiopf2
  github/tiopf3
  sourceforge/HEAD -> sourceforge/master
  sourceforge/fea_Fix_Event_Execution_Of_TtiPropertyLinkDef
  sourceforge/fea_Missed_Changes_On_tiOPF3
  sourceforge/master
  sourceforge/tiopf1
  sourceforge/tiopf2
  sourceforge/tiopf3


Here you can see my local tiOPF repository has 3 remote repositories 
defined. "carlo_marona", "github" and "sourceforge". I frequently pull 
fixes from Carlo, so that is why I have a permanent remote repository 
link to his published work. For contributions from one-off developers I 
don't bother setting up a remote repository link - I use their 
repository URL directly in the git-fetch command.


The official public tiOPF repository lives on SourceForge.net, so that 
is the "sourceforge" remote repo link. The "github" link was just a 
backup public repo I used while SourceForge.net had a major global 
outage a little while ago. So development continued as usage without 
skipping a beat (thanks Git).


You can also see from Carlo's repository that he nicely names each 
branch, and every branch that is a bug fix has the prefix name "Fix_" to 
it. In the end you can name branches whatever you want though, and you 
can even groups things with a "/" in the name of the branch.








Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

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

s the licensing problem (Sun's license being
incompatible with GPL) which resulted in a lot of FUD.


It's only a problem if you want it to be. Yes, they can't include ZFS as 
standard with a Linux Distro (though some now apparently do), it is is 
pretty much a two command step to get it installed.


  1)  // Add the add-on apt repository to your list
  2) apt-get install zfs

Something like that - its been a while since I did that in my dual-boot 
Linux environment. Also ZFS doesn't run via FUSE on Linux any more - it 
is a "native" file system now.


  https://launchpad.net/~zfs-native/+archive/ubuntu/stable
  http://zfsonlinux.org/

The really good news is that for some time now, all ZFS development is 
merged into a single organization. So OSX, Linux, FreeBSD all have the 
same ZFS features and functionality. No more fragmented development.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


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

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 03:07, nore...@z505.com wrote:

How in the world do people (you) keep up with reading email lists and
not waste the entire day?


I'm between jobs! And all my gardening chores are already done. :-P

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:52, nore...@z505.com wrote:

I'm not just talking about 8 space indentation vs 4 space or 2, I mean
having to put code
{
{
 {
here

Instead of fpc/oberon/golang:


But in Object Pascal you have...

 begin
...
if  then
begin
  ...
  if  then
  begin
...

Object Pascal blocks are longer to type - “begin” vs ”{” and “end” vs 
”}”. Also IF statements require the extra “then” keyword etc.


As for indentation. At least with real TAB character indentation, you 
can configure the width of a TAB as a user configurable parameter 
without affecting the source code. With space indentation you are stuck 
with whatever the original author did.


But lets not get into Space vs TAB vs Elastic Tabstops 
indentation/alignemnt arguments - that’s a whole new war I don’t want to 
tackle. :)




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:56, nore...@z505.com wrote:

But my biggest hate for C is not C itself but just the one fact that it
lacks strings.


I also hate the cryptic syntax, the fact that there is *.c and *.h files 
etc. Apparently Java took a lot of ideas from C, but at least they had 
the common sense to get rid of the *.h file mess, and the Object Pascal 
"interface" vs "implementation" section mess! Kudos to them for that. 
Navigating Java code is so much easier now.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 12:32, Karoly Balogh (Charlie/SGR) wrote:

missing from the converted repo, at least the one the FPC Team had
internally. As in, the history wasn't complete. Not sure what that means


The bottom line is, the end result should be identical to what you see 
when you do a 'svn co' on any branch, compared to the Git migrated 
version. At least this was my case in all the conversions I have done.


Some of the git-svn output is weird though. They sounds more alarming 
than they really are. eg: If you had a commit that only changes svn 
properties, I believe sometimes git can skip over such commits because 
there is no direct translation to Git. But those are generally rare, and 
often not an issue, because it was more SVN repo maintenance that 
actually tracking changes to files. The latter being way more important.


If the Free Pascal team is ever serious about migrating to Git, I'll 
happily help out with the migration process.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 08:21, Santiago A. wrote:

i.e. instead of

git checkout master
git checkout develop

eg switch master
eg switch develop


Git has built-in support for alias. So you could simply define a couple 
of aliases in your $HOME/.gitconfig file that mimic the above commands, 
or even the SVN commands. I have over 20 aliases that I created over the 
years to simply long command line parameters.


For example:

  $ git config --global alias.switch checkout

will result in the following

-[ ~/.gitconfig ]-
[alias]
   st = status -uno
   svnlog = log --stat=70 --pretty=medium --name-status --reverse
   ...snip...
   switch = checkout

--


Now suddenly I can do this:

  $ git switch develop


No need for Perl add-ons. ;-)

ps:
  Above I listed two of my most used aliases as well. I have plenty of
  others too.




  git checkout master
  git merge feature1 feature2 feature3 feature4 feature5

...where "featureX" is a branch name.


Yes, that's very handy... and scaring.
The merge is done magically in the repository, not in a working machine,


Everything is done locally first. So if you are not happy with the 
result, it can be undone with a simple git-reset command.




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-23 19:37, Florian Klämpfl wrote:

First problem: quote from core:


The git-to-svn bridge is slow, but pretty good - not perfect, sometimes 
it falls over and needs a restart. But I can honestly say, I have 
converted full SubVersion repositories (from small to very large) to 
Git, and always managed to have everything in Git at the end.


Nobody ever stated that any type of migration is going to be without 
problems. It's the nature of migration. I've stated numerous times that 
SubVersion is often abused because they have very bad concepts, which 
have been clearly designed and developed in Git. "Tags" are the first 
thing that comes to mind.


Back in 2009 (I think it was) when I created Git mirrors of FPC and 
Lazarus, I initially did it with all branches and tags in place. It took 
long, but there was no roadblocks. The only reason I then changed it to 
only track the "trunk" branches is because I personally think a 
migration should be a one-shot deal, not a continuous process. It was a 
pain to manually update and work around the weird SubVersion behaviours 
(commits after a Tag was created - God Damn, use a branch instead!).


Over the years I've personally migrated over 200 SubVersion repositories 
to Git. My final step has always been to checkout each SVN repository 
and branch, and then do a checksum comparison to the Git version. 
Ensuring everything is like it is supposed to be. Any discrepancies can 
then be resolved with a single commit, but to be honest, I can't recall 
ever having the need to do that.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:11, nore...@z505.com wrote:

I'd rather upload/commit files to a server to insure it is backed up
properly...


There is absolutely no guarantee that your file are any safer. So you 
have your Army of Developers in a single building. You store all your 
files on a Server which is in the server room in the basement of the 
building behind steel doors. Oh wait, a Boeing 747 fully fuelled just 
flew into your building. Everything is now a pile of rubble. Oh the 
backups where on another server next to the one you pushed changes to.


;-)

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 01:26, nore...@z505.com wrote:

line much, but it serves my need very well visually committing which
files I need, which IMO is faster and more productive than running 5
different commands on files I have to manually type in or keep pressing


Git includes as standard all the GUI tools you would ever need. Plus 
those GUI tools are available on all platforms that Git supports. So 
there is no retraining in different tools for each platform. eg: 
Tortoise Git is only available on Windows. So if you jump to OSX or 
Linux or FreeBSD, you need to learn a different tool.


Anyway, the standard git GUI tools...

  * git gui:  visually make commits, do branch management, selective
line-by-line commits, pull, push, merge etc.

  * gitk: visually see your commit history. For a specific branch, or
 all branches in the repo. You can also cherry-pick commits from
 one branch into another.

  * gitk --  See the full history for a specific file only, or
for a directory only.

  * git gui blame: visually see line-by-line who made which changes.

All these gui tools also have built-in navigation, where if you click on 
a SHA1 it navigates to it.





The point is that github does in fact allow you to treat a github repo
like an SVN one,


Ah, I see that now. I never knew that existed. It is definitely a Github 
only thing.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:59, nore...@z505.com wrote:

But the virtual machine is just C code, so it's a wrapper around C, IMO


That is way over-simplifying it I would think.



I could be wrong, but, all it does is end up calling C written VM,
right?


Technically, you can write a VM in many other languages too. I honest 
don't know what language they use for the various VMs out there - but I 
guess C is a safe guess.



Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:46, nore...@z505.com wrote:

But what happens with corrupted or failed hard drive on your personal
computer? Do you have any backups or is this local git work only on one


I used to live in a country with constant blackouts or brownouts. So 
harddrives took a real punishment. UPS's were a requirement, not a 
luxury. So I take data protection very seriously, even though where I 
live now the power is much more reliable and clean.


Yes, I have off-site private backups, and on occasion I push those to a 
USB stick too. Everybody should at least be doing this.


I also know how valuable my work and data is - I run my own business. 
All my data, code and VMs lives on 4 server quality harddisks using ZFS 
RAID-Z2 as the file system, and FreeBSD as my OS of choice. I will not 
trust my data on anything other than ZFS. Even my USB sticks use ZFS. My 
hard drives were bought from different suppliers so they aren't all from 
the same batch. I also replace them every 3-4 years (ZFS makes this a no 
brainer).


I highly recommend you read up on ZFS if you don't know it. It comes 
natively with Solaris and FreeBSD, and is easily installed on Linux. I 
believe OSX might also have unofficial support now.


ZFS is a copy-on-write files system. Every read and write is 
checksummed. I can have two hard drives fail (very very unlikely) and 
still be able to rebuild my data. Very sensitive data I store in a 
partition that keeps two copies of the data scattered around the ZFS 
pool. ZFS partitions can be created and destroyed on the fly - they are 
more like directories than partitions. So you can create and destroy 
partitions as the need arises, and set encryption, compression, 
de-duplication etc on each partition as you see fit.




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?




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-23 21:41, Florian Klämpfl wrote:

This is what I do as well for several things, but I still think, subversion is 
the better solution
as the canonical FPC repository.


The ‘git-svn’ functionality is great - I use it for several SubVersion 
projects too. It also unfortunately stops you from using many of the 
nicer features of Git. So you definitely don’t get the full experience - 
it’s more like the “cheap seats” at a concert. You can say you were 
there and heard the band sing, but you couldn’t actually see them.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-24 Thread Graeme Geldenhuys

On 2017-05-24 02:01, nore...@z505.com wrote:

I like the ability to fork, as I am sick of developers not allowing me
to make some change, and I go off and work myself on some fork but..
it's also anti-social and leaves projects in so many forks that no one


"fork" is probably the wrong word. I prefer the word "clone" instead. It 
is only anti-social if YOU (the developer) don't share your changes. You 
do that by sending a pull request to the original project.


See...

  git help request-pull

...for more details. And no, you don't require GitHub for pull requests, 
it's built right into Git.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 21:19, Marco van de Voort wrote:

I was not asking for ideally. I was asking very specifically how a GIT in a
FPC team group would work.

And no, sending 40+ pull requests to all members of core does not count. So
there is one golden repo and that is what I'm talking about.


And like I explicitly said, read the well documented processes followed 
by the Linux Kernel or on a much smaller scale, the Git development itself.




I would like to have lots of extra manpower too, but I rather not spend it
on what in practice would be rubberstamping commits (and delays in
distribution till something is approved if the reviewers are AFK).


Once again, read how the Git project deals with it. That workflow could 
suite FPC quite well. In summary, feature are in separate branch. There 
is a public "testing stablish changes" and a public "testing unstable" 
branches. Everything stays in branches until they are signed off and 
merged into "master" (aka Trunk). Then less than 5 minutes is spend 
doing a "octopus merge" of all branches that have been well tested and 
signed.


If you don't know, a octopus merge is a single merge command but merges 
2+ branches all in one go. eg:


  git checkout master
  git merge feature1 feature2 feature3 feature4 feature5

...where "featureX" is a branch name.

Unlike SubVersion, you don't waste a whole day "rubber stamping" 
commits. Such micro-management doesn't exist in Git. Git was designed to 
work better that SubVersion, and specificall at branch management and 
merging.


Hence my earlier WTF comment when I read the LLVM team want- to ban 
merge commits! That person clearly has no f**ken idea how Git works.




In distributed, volunteer driven, projects, people are away/nonresponsive for
extended periods of time, working hours (and days) don't match. Also working
this out via mail is much less productive.


Then simply don't pull or merge their work. Simple as that. Once again, 
you are thinking in terms of SubVersion. Don't!


You don't see the Linux Kernel project come to halt when somebody fucks 
up a commit - they just don't merge that commit or branch until the 
idiot fixed his work. And neither do they have communications problems 
via emails or the mailing list - they have tens of thousands of 
contributors spanning the globe. So I don't understand why you think 
such a small project like FPC will have communication issues. That's 
just laughable.




Sorry to say, but I didn't find anything new or usable in this post.


Actually, it's only your stubbornness showing. I thought Karoly's reply 
was very informative.




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 21:16, Florian Klämpfl wrote:

... and the code is lost :)


Not at all, I have about 20+ local branches in my fpGUI repository. Some 
branches date back to 2009, 2010. Ideas I had, but lost motivation, or 
they were simply an experiment (that could be useful at some point). 
Just 2 days ago I revived a 5 year old branch and finally completed the 
work.


I didn't pollute the public fpGUI repos because it was personal ideas or 
features I toyed with. They are in various incomplete stages, or simply 
experiments. I don't want others to see such work until my ideas have 
matured.


On the flip side, in the past I have seen newsgroup posts where somebody 
has similar ideas to one or two of my incomplete branches. In such cases 
I speak to that person and if interested, I publish such a branch to 
begin collaboration.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 21:10, Karoly Balogh (Charlie/SGR) wrote:

Now, in Git, this idiot can do:


Plus that idiot could start the fork and his branch without needing to 
bother the FPC team. With SVN he has to ask them to add him to the 
SubVersion repo user list, create a branch, and manage his user 
permissions for that branch.


Git = KISS is this case. ;-)

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 21:05, Florian Klämpfl wrote:

FPC is a compiler and not an OS kernel, so would like to see such
blog posts from big compilers: e.g. gcc, clang


OS Kernel, Compiler, any other project - what's the difference. Git 
development itself is managed in a very "distributed" way with multiple 
branches, maintenance releases etc. And more impressively, all branch 
merging is done by a single person. Their processes are quite well 
documented, and if you see how active the Git development is, it goes a 
long way proving that even a very active project can be managed by very 
few (one in this case).


My point is, you can learn from them to see how a project can be managed 
without adding extra work-load to one person or a small team (like FPC).


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 20:33, Karoly Balogh (Charlie/SGR) wrote:

Now, how the actual process would look with the FPC team, that's hard to
define at this point. But the tools are there for it.


Exactly what I was getting at.



Was this a proper answer, or I was beating around the bush in your views?
:)


Finally somebody that understands distributed version control, and how 
Git could be used. You gave a very good answer indeed. Too many people 
(and companies) are so stead fast in the ways of a client/server version 
control system - like SubVersion. They then wrongly (or not ideal) force 
those ideas onto Git usage. Hence the reason I said it takes a bit or 
"rethinking the problem", and in the end everything becomes quite clear.


For those interested, read the many blobs about how the Linux Kernel 
development is managed. Or even how Git's development itself is managed. 
True distributed workflow models.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 16:17, Martin Frb wrote:

Git just doesn't do KISS.


Git is as complicated as you want it to be.



If you want to use it like SVN, then go right ahead. You will miss out a 
lot though. I always recommend newcomers to start out with the basic 4-5 
commands (same as SVN). Then as your confidence grows, introduce new Git 
functionality.


And contrary to what many may think, it is pretty near impossible to 
f*ck your repository up so that things are unrecoverable. As long as 
something was committed, that something can be recovered, or commands 
can be undone (yes, even deleted branches). Try that with SubVersion!


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 15:23, Marco van de Voort wrote:

some info is at
http://llvm.org/docs/Proposals/GitHubMove.html#on-managing-revision-numbers-with-git

merging, external repos were some of the other issues.


Good Lord, who wrote that, and when? Clearly someone with a serious lack 
of Git knowlegde - just the thing I described 2 replies ago.


"
However, we propose to mandate making merge commits illegal in our
canonical Git repository.
"

WTF? Branching and Merging are two key feature of Git. So if the don't 
want merging (or only allow fast-forward merges), I guess they want to 
Rebase everything everybody contributes - yeah the lovely linear history 
of SubVersion because they don't know better.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 15:09, 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.


And the same is true for Git. By design, distributed version control 
systems (any of them, not just Git), can't rely on a sequential number. 
The word "distributed" should say it all. True parallel development; no 
single "server" instance etc.


Saying that, git includes a command 'git describe' which does what you 
need. I find its result also way more useful and informative that a 
single sequential revision number - which only has a mean to a 
developer. Lets use an example:


  [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.
  * The "g" prefix indications that the Git revision control
system was used.
  * The "45f932c1" is the SHA1 value of the last commit, that
uniquely identifies where we are in the whole history of
the project. Irrespective of having 1 or a 1000 branches.

Now as with anything Git, everything is configurable. So the 
git-describe commands has many optional parameters too. So you can 
change the output to suite your project's needs. Things like should Tag 
names be used in the git-describe output, or only Annotated Tags, or 
only Branch names. Do we want the commit count, do we want the "g" 
prefix, how long SHA1 value do we want etc etc.


Many applications incorporate such output in there version information. 
See attached screenshot of one such example. I've seen plenty of others too.



What does a SubVersion revision r20453 tell you?

  * Which branch are you on?
  * Which release is this work based on?
  * Is it a "hotfix" or new feature.
  * Is it maybe a tag? Though Subversion doesn't really have a
concept of tags, as they are just branches in a bad disguise.

No, it only tells you that you are using commit number 20453.

So now the next thing you are probably going to tell me is that yeah but 
I can use the revision number in Windows's version numbering as a 
Revision or Build value. Yes and No. Only if your repository has less 
than 65535 commits - the maximum a WORD type supports. So what happens 
if you have more commits that that? Many large projects do.


> 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,

As I just explained. The git-describe output tells you that and more.


> and to get a log of what the
> relative changes were by /only/ knowing the revision number.

Nothing new, Git does that too. Git (no surprise) even goes further and 
also tells you the Parent(s) commit that got you there, the 
Child/Children commits following on, what branch it is on and what Tags 
this commit follows.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 11:31, Tomas Hajny wrote:

the other, but let me remind you, that it isn't just about Florian. During
the previous discussions on this evergreen topic, Florian, Marco, Jonas
(if I remember correctly) and others raised quite a few specific questions
on how to accomplish particular tasks commonly used in the FPC project. I
may have missed something, but I haven't noticed a particular proposal
from you or anyone else describing in detail how to cover those needs


To be honest, I can't actually remember seeing any such proposal (asking 
for advice or help) in the FPC-Users mailing list. Maybe it was in a 
list I'm not subscribed in? Otherwise, I would have happily given my advice.


I also don't expect somebody with no or very little Git experience to 
give any good advice on such a matter either. I believe most of the FPC 
team don't have any or very little Git experience.


I can add that I have been working closely with Michael van Canneyt for 
the past two years. In the last few months I have introduced Git in his 
workplace too, and his knowledge of Git has improved a lot. So maybe in 
the next round of proposals, Michael will be able to offer some more 
advice too.


So again, if the FPC team ever wants to consider Git, feel free to 
contact me so we can bounce around some ideas.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-23 01:03, Nikolay Nikolov wrote:

Isn't java just a wrapper around C?

No. Java compilers generate code for a virtual machine, called JVM (Java
Virtual Machine). They do not generate code for x86 CPUs or any other

>  ...snip...

Very nice explanation and detailed information.



x87 FPU instructions. Sounds so great, you're going to ask if there are
any disadvantages to this approach? And, of course, there are - since
the program is essentially recompiled every time the user runs it,
starting Java programs take a long time.


Technically correct, but you make it sound much worse than it really is. 
Here Eclipse IDE starts up just as fast as Lazarus IDE. And Eclipse is 
easily 10x or more bigger than Lazarus (when it comes to features). So 
JIT does a pretty damn good job if you ask me.


Also JIT has improved tremendously over the last few years. In speed, 
performance and optimisations. I have read somewhere that now it does a 
[quick] compile to get your application up and running faster, then 
after your app is running it can recompile some classes with even more 
optimisations, and runtime reload those classes used by your 
application. All done auto-magically in the background. ;-)




be a lot slower than a FPC program. I know comparing different IDEs is a
little apples-to-oranges comparison (because they may have different
features and vastly different implementation details), but compare the
speed of e.g. Lazarus to any IDE, written in Java, even the fastest one. :)


Lets just look at the two most popular Java IDEs - Eclipse and Intellij 
IDEA. When they are running I don't experience any speed difference 
comparing them to some native non-Java application of similar size.


It is also worth noting that both Eclipse and Intellij IDEA does a ton 
more than Lazarus IDE. They both do deep code-analysis while you are 
coding, making suggestions on how you can improve your code, can apply 
those improvements with a single click or keyboard shortcut, have 
extremely impressive refactoring functionality that makes Lazarus look 
like Notepad. And the list goes on and on.


Lazarus is good, but it doesn't hold a candle against what Eclipse or 
Entellij IDEA can [and does] do. Yes, yes, I know they have 100's or 
1000's more developers too, and corporate backing. So making a 
comparison between those IDE's and Lazarus is rather insane.




Always measure and try to understand why something is slow. In 99% of
the cases it's not what people initially think.


Indeed. I've learned a lot in the recent discussions, and I'm glad to 
see the FPC team seem to be making some effort in improving the compiler 
optimisation, instead of simply dismissing my work and comments.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Git & SVN

2017-05-23 Thread Graeme Geldenhuys

On 2017-05-22 23:11, nore...@z505.com wrote:

What happens if you use the SVN bridge that allows you to run svn
commands to a git server?


Maybe your wording is confusing, or SVN has abilities I didn't know of. 
I know Git can manage SVN repositories, but I didn't know it was 
possible other way round (I doubt it is possible).


I often use Git to manage SubVersion repositories I don’t have control 
over. For everything else I’ve moved over to Git years ago.




Local working copy issues Florian described would be an issue with this
bridge, or not an issue?


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.


There are also 100’s of different work-flows for when you work with Git 
repositories. I’ve introduced Git into many companies. In every case I 
look at how they work, suggest an already existing work-flow as a 
starting point (*), and then tweak it to their needs. In they end they 
get exactly what they want, and without fail all of my customers said 
they should have made the switch years ago.



* - My all time favourite git work-flow is:
http://nvie.com/posts/a-successful-git-branching-model/

It works very will for small and large teams. Supports big or small
features. Allows for long-term support releases as well as quick
bug-fix releases.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-22 Thread Graeme Geldenhuys

On 2017-05-22 23:39, nore...@z505.com wrote:

What about Rust or plain C? Or Digital Mars D?


I hate C with a passion. I'll never code in that ever again.

I also have no interest in learning "the new language flavour of the 
month" - which will be obsolete in a year or two. Object Pascal is 
already pretty irrelevant when it comes to looking for jobs - I'm a 
freelancer / contract programmer. Though it has served me very well 
since TP 5.5 and then again from Delphi 4 onwards.


I now go where the work is (as well as the money - but enjoyment of work 
is still a higher priority for me).




Or instead of using rust/c/java, simply fix FPC, which is a good
solution IMO


I don't know compiler design or how it works internally. So contributing 
in that area is out of my scope.




I don't see how ZenGL and Andorra3D have been able to succeed as game
engines


I can't speak for those, but have used OpenGL with FPC for a few months. 
I'm definitely no OpenGL expert, but I did manage to off-loaded a lot of 
work via shaders to the GPU. So that frees up a lot of what FPC has to 
do with the general game "ticks".




Indeed it is not exactly a bug but could just be correct code that is
slow.


Many seem to miss the whole point of what I was trying to say. Other 
compilers did a much better job than what FPC could manage - using the 
exact same code (just the language syntax that differed). I didn't need 
to change anything for GCC or Java, and I didn't have to implement all 
kinds of work-arounds.


Either way, I've run out of energy discussing this. I profile my code 
one more time and try the suggestions in Jonas. Simply because I'm 
curious. But other than that, my project has already moved forward using 
Java.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-22 Thread Graeme Geldenhuys

On 2017-05-22 22:45, nore...@z505.com wrote:

The amount of nesting and indented procedures inside classes in Java is
horrible, IMO.


It's not a Java language issue, but the indent preference of the 
developer. Many Java IDE's support multiple coding styles and does 
auto-formatting as you type or save. Some coding styles are better than 
others, and all of them are configurable.


Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Developer workflow with Ergodox

2017-05-15 Thread Graeme Geldenhuys

On 2017-05-15 23:02, nore...@z505.com wrote:

Been meaning to try dvorak again one day, it's just that all laptops
come shipped with a standard keyboard so I prefer to use a keyboard


All operating systems support the US English Dvorak layout for absolute 
years. What I personally tested: OS/2, OSX, Windows (all of them), 
Linux, FreeBSD, Solaris and Haiku.


They all support software switching the keyboard layout, and Dvorak 
comes standard. So you don't need to swap keycaps etc. If you touch 
type, which hopefully you do with QWERTY and definitely with Dvorak, 
then there really is no need to look at the keys or swap keycaps. Hell, 
my Ergodox keyboard doesn't even have anything printed on any of my 
keycaps - they are pure black.


The Programmer Dvorak will be a manually installed layout for Windows (I 
don't know about OSX), but that is only a few KBytes install. I believe 
Linux and FreeBSD now includes Programmer Dvorak as standard for a few 
years now too.


Dvorak and Programmer Dvorak are pretty similar anyway, it's just the 
number row that has really changed.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Developer workflow with Ergodox

2017-05-14 Thread Graeme Geldenhuys

On 2017-05-14 22:09, nore...@z505.com wrote:

Does it solve the Shift Key strains issue?


Yes, you can reprogram the keyboard layout any way you want. Modifying a 
layout is very simple via code. And even if that is too much for you, 
there is visual web based layout designer that generates the .hex binary 
file for you.


The possibilities with the Ergodox is endless. Just take a look at this 
website.


  https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/

The modifier keys are now long-press keys under the home row. I tried in 
recently, and it is amazingly good, and actually pretty easy to get used 
to. Finger travel is now near zero for modifiers. :)


I also programmed the Enter and BackSpace keys for my index fingers - 
much stronger that your pinky!




My biggest gripes in programming, or hates, is having to constantly feel
like I'm going to end up hospitalized due to finger strains... Mostly
because of:
  - BiCapitalization/CamelCase... pinky finger shift key strain
  - same goes with underscores in_plain_c
  - and : colon for assignment... too much shift key
  - and in { curly brace languages, once again more shift key annoyances


You really should take a look at the "Programmer Dvorak" layout - if 
using a normal keyboard. And yes, you can program the Ergodox with that 
layout too.


For the symbols, I don't use the top row (normally numbers) any more - 
too much stretching. On the Ergodox I use a Symbols layer instead. I 
toggle it with my right thumb (acts almost like a Shift key), then type 
the symbol with my left hand. Here is that layer. Most used symbols for 
me is on the home row, or very close to the home row. Index finger 
favoured over the weaker pinky.


 Left Hand:
╭┬──┬──┬──┬──┬──┬──╮
││  │  │  │  │  │  │
├┼──┼──┼──┼──┼──┼──┤
│   |│  !   │  @   │  {   │  }   │  +   │ TODO │
├┼──┼──┼──┼──┼──┤  │
│   `│  :   │  $   │  (   │  ) • │  =   ├──┤
├┼──┼──┼──┼──┼──┤  ( ) │
││  #   │  ^   │  [   │  ]   │  ~   │  │
╰─┬──┼──┼──┼──┼──┼──┴──╯
  │  │  £   │  │  │  │
  ╰──┴──┴──┴──┴──╯


Also note the "TODO" and "( )" keys. They are programmed macros.
eg: Pressing the "TODO" key types:  // TODO: |
or pressing "( )" types: (|)

The | is where the edit cursor ends.

On my default layer, I also have two other macros. One key triggers 
"Ctrl+F9" to compile my applications. The other key types: _:=_

where _ is a space character.


Ergodox is how keyboards (for computers) are meant to be! 100% 
customization, simply and quick to customise, and very comfortable to 
type on.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-14 Thread Graeme Geldenhuys

On 2017-05-14 13:58, Graeme Geldenhuys wrote:

Yes, and based on OpenJDK with their own additions - just like Oracle is
doing.


I forgot to say... But to be fair, most of the information regarding 
Oracle's Java releases, OpenJDK, IBM J9 etc is pretty murky.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] FPC Graphics options?

2017-05-14 Thread Graeme Geldenhuys

On 2017-05-14 09:36, Jonas Maebe wrote:

IBM has their own JVM, J9:


Yes, and based on OpenJDK with their own additions - just like Oracle is 
doing.


It was discussed in a IBM developerWorks podcast. Here is the transcript 
of that podcast.



https://www.ibm.com/developerworks/podcast/dwi/cm-int101510-openjdk-pdf.pdf

Bottom of page 2:

"Gartner:   Well, IBM's been a long-time licensee from originally Sun 
and now Oracle, and so our existing Java implementations are based on 
primarily openjdk as it exists today..."



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] Developer workflow with Ergodox

2017-05-11 Thread Graeme Geldenhuys

Hi,

It's been a few months now since I got my Ergodox keyboard. Since then I
was gifted a Massdrop kit, and built my second Ergodox myself. An
amazing experience and very fun.

For anybody thinking of using a Ergodox keyboard for programming, I can 
highly recommend it. It took me a couple of weeks to settle on a 
keyboard layout that works well for me - especially considering how 
often we Object Pascal developers use F-keys, keyboard navigation of 
source code and such.


Here is my layout I've been using for a couple of months now.


https://github.com/graemeg/qmk_firmware/tree/gg_dvorak/keyboards/ergodox/keymaps/gg_dvorak


A few days ago I stumbled across the following YouTube video. That guy 
talks about using the Ergodox for programming purposes, and also mouse 
functionality via the keyboard (something I haven't mastered yet). He 
also uses layers of course (so do I), and shows very well how fast one 
can code even with layers - some non-Ergodox people think you can't be 
fast with layers. I disagree, and this guy proves it well.


I also like his idea of a Shortcuts layer, using the "Hyper" or "Meh"
key plus one other key.

  Hyper = Alt + Ctrl + Shift + Cmd/Win
  Meh = Alt + Ctrl + Shift

all that via a single keypress.

  * A Hyper key, as described by Brett Terpstra.
http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
  * A Meh key, which is a less-hyper version of the Hyper key (sends
Alt+Ctrl+Shift, without Cmd/Win).

Here is the video. They keyboard layout is discussed at 3m 40s into the 
video.


   https://www.youtube.com/watch?v=78RtO38wOwI&feature=youtu.be

Here is his actual layout.

  http://configure.ergodox-ez.com/keyboard_layouts/qgmgej/edit



There is another guy that also has some very cool ideas. I really
like the Shift, Ctrl and Alt keys on the home row. I quickly tried
it last night, and it works surprising well and very comfortable to
type.

  https://implementsblog.com/2016/10/16/my-ergodox-ezs-custom-layout/


Possibilities are endless. Needless to say, I've been tweaking my 
keyboard layout again, with even less finger movement or stretching than 
before. I'll give it a couple more days, and then post a link to the new 
layout.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] FPC git repository

2017-05-05 Thread Graeme Geldenhuys
On 2017-05-05 20:04, Victor Campillo wrote:
>  From the 1st of May the git repository is not in sync with subversion, 
> I think there has been some change in the svn url or something because 

Thanks Victor for letting me know. Yes, it seems they change the
repository URL's from HTTP:// to HTTPS://

I applied the change on my server and synced both the FPC and Lazarus
repositories. All should be well again.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Your thoughts on cloud based server instances?

2017-03-16 Thread Graeme Geldenhuys
On 2017-03-16 20:52, nore...@z505.com wrote:
> Cool, is it like a quickbooks product?
> Written in fpgui or lazarus lcl?

No, not quite. It is called BS1 Accounts, written by a Canadian using
Delphi 7 I believe. Everything is written using only standard Delphi
components and reporting tools included with Delphi. NO 3rd party
components at all.

BS1 Accounts has been around for absolute ages, and does an amazing
amount of stuff. There are now multiple versions of the product, and the
one targeted for contractors (BS1 Professional Time Billing) are now
free (single user license). It uses multiple different database (SQL)
backends. The one I got is an embedded database (not sure what database
exactly - NexusDB or something I think).


  http://www.dbsonline.com/accounting/


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] [fpc-pascal] WebAssembly Target

2017-03-16 Thread Graeme Geldenhuys
On 2017-03-16 20:48, nore...@z505.com wrote:
> With a local copy of the 2016 internet on hands

hahaha That just made me remember circa 1994. I worked as a computer
technician. An oldish lady walked into the shop and handed me a box of
720KB floppies - asking if I could give her a copy of The Internet. :-D

Regards,
  Graeme

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] Your thoughts on cloud based server instances?

2017-03-13 Thread Graeme Geldenhuys
On 2017-03-13 07:46, Luca Olivetti wrote:
> El 13/03/17 a les 00:15, Graeme Geldenhuys ha escrit:
> Basically, it's true that there's no real transition path: ipv6 is 
> useless for servers since they cannot be contacted by ipv4 clients

The problem lies full heartedly with the ISPs as far as I'm concerned.
They are the problem and the bottleneck. They are the ones dragging
their feet.

Any web server software worth using supports both IPv4 and IPv6 for a
very long time already. All OSes worth using have been supporting IPv4
and IPv6 for over a decade.

If ISPs enabled IPv6 faster, then more companies and people can start
serving content via IPv6. Pretty soon, IPv4 would end up being legacy
and could be totally removed a few years later.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


  1   2   3   >