1. usingEuphoria.com is back online
- Posted by ghaberek (admin) Jan 06, 2018
- 2770 views
...and we’re back!
After a bit of hiatus (maybe a year or two?), I’ve found a much better hosting solution for usingEuphoria.com. I’m back to using Textpattern over dokuwiki to manage the site. Textpattern was my first choice but I could not run a MySQL database on my previous hosting (it was just too tiny of a VPS).
I’ve got C.K. Lester’s original site back online here and I’ll be working on converting and upgrading his original content as well as writing a lot of my own. There will be weekly articles as well as an updated FAQ section. Each article will feature a nice free 1080p wallpaper from Unsplash, so feel free to download the image and use it as you’d like.
Here’s to a (hopefully) wonderful 2018!
https://usingeuphoria.com/usingeuphoria-com-is-back-online
-Greg
3. Re: usingEuphoria.com is back online
- Posted by ChrisB (moderator) Jan 06, 2018
- 2681 views
Very nice 2nded. Nice to see CK old site back up as well!
Weekly article? Great idea, hard work.
Cheers
Chris
4. Re: usingEuphoria.com is back online
- Posted by ghaberek (admin) Jan 07, 2018
- 2707 views
Weekly article? Great idea, hard work.
Well "articles" is a bit loosely-defined. I'm working on bringing over C.K.'s books (GUIphoria and Jubilation) into the modern world of Euphoria 4.x, and each chapter of those will be one weekly article. So that's a few dozen "articles" right there.
Intermixed with that is my own series of how-to articles and editorial posts. I'd also like to feature content from other members of the community (if they're willing), and occasionally reflect on both the history and future of Euphoria.
Edit: BTW, there's a new article out today! https://usingeuphoria.com/installing-euphoria-41-on-ubuntu-1604
-Greg
5. Re: usingEuphoria.com is back online
- Posted by irv Jan 07, 2018
- 2684 views
There's also a shell script by Mollusk that works fine for me:
https://gist.github.com/silvernode/2a4e993ab4ef415788400d237c977fd4
$sudo sh geuphoria.sh install
Might be worth mentioning.
6. Re: usingEuphoria.com is back online
- Posted by ghaberek (admin) Jan 07, 2018
- 2684 views
There's also a shell script by Mollusk that works fine for me:
https://gist.github.com/silvernode/2a4e993ab4ef415788400d237c977fd4
$sudo sh geuphoria.sh install
Might be worth mentioning.
Neat! I will look into it. Although the whole process could be mitigated with the addition of public Euphoria repos for common distros.
This ties in with a couple other ideas I had as well:
- Managing multiple versions of Euphoria on one system - this would involve using various utilities (including alternatives) to switch "modes" between multiple installed versions of Euphoria.
- Packing applications into Debian and RPM packages - this would be part of a series on using Makefiles to ease the management and distribution of a Euphoria application.
-Greg
7. Re: usingEuphoria.com is back online
- Posted by euphoric (admin) Jan 09, 2018
- 2667 views
Here’s to a (hopefully) wonderful 2018!
https://usingeuphoria.com/usingeuphoria-com-is-back-online
-Greg
Woo hoo! Look at that!
8. Re: usingEuphoria.com is back online
- Posted by ghaberek (admin) Jan 30, 2018
- 2388 views
- Managing multiple versions of Euphoria on one system - this would involve using various utilities (including alternatives) to switch "modes" between multiple installed versions of Euphoria.
I posted this article on Sunday: https://usingeuphoria.com/multiple-versions-of-euphoria-on-windows-10. I'll post a corresponding article for Linux in a few weeks.
-Greg
9. Re: usingEuphoria.com is back online
- Posted by dr_can Feb 15, 2018
- 2193 views
Thank you, Greg
Am both surprised and sorry that there has not been a series of responses praising these articles! I have found them very interesting as well as useful, and have learnt quite a number of practical things by reading and applying them.
One reflection on the article about using multiple versions on the same Windows PC: where would you recommend putting dlls when you are trying to run both 64 and 32-bit versions?
Perhaps some wisdom on using dlls is in the pipeline; I still find the reference in the manual to "normal search path" rather too vague for diagnostic purposes. Leaving aside the 32/64 issue, am I right to assume that there is also a C-compiler issue that makes some dlls load in V4.1.0-64 and not in v4.0.5-64, and vice versa? If so, this is not helped by the fact that some distributions of dlls give no clue as to how they were generated. (At least having the multiple versions makes testing these differences really easy, even if the outcome is not always clear!)
Please keep up the good work!
10. Re: usingEuphoria.com is back online
- Posted by ghaberek (admin) Feb 16, 2018
- 2307 views
Thank you, Greg
Am both surprised and sorry that there has not been a series of responses praising these articles! I have found them very interesting as well as useful, and have learnt quite a number of practical things by reading and applying them.
Thank you for your feedback. It's good to know I'm reaching people with my work. This has been a lot of work but it's worth it if people are learning Euphoria.
One reflection on the article about using multiple versions on the same Windows PC: where would you recommend putting dlls when you are trying to run both 64 and 32-bit versions?
Perhaps some wisdom on using dlls is in the pipeline; I still find the reference in the manual to "normal search path" rather too vague for diagnostic purposes.
Yes, I do plan to cover using and wrapping shared libraries with Euphoria. There's quite a lot of material to cover there and I have a lot to say and share.
For now the best advice I have is to place libraries you'll be using with Euphoria right next to the interpreter in its specific %EUDIR%\bin directory.
Leaving aside the 32/64 issue, am I right to assume that there is also a C-compiler issue that makes some dlls load in V4.1.0-64 and not in v4.0.5-64, and vice versa? If so, this is not helped by the fact that some distributions of dlls give no clue as to how they were generated. (At least having the multiple versions makes testing these differences really easy, even if the outcome is not always clear!)
Yes and no. It really depends on whether we're talking about native C libraries or translated Euphoria libraries.
Native C libraries
If you're using native C libraries then (ignoring 32/64 bit) there are only two common scenarios to worry about: STDCALL and CDECL calling conventions. The manual does address this:
How do you know which is which? Typically STDCALL libraries are generated by Visual C/C++ for Windows-only and CDECL libraries are generated by GCC/MinGW for cross-platform. Linux does not use anything but CDECL.
I typically determine this by examining the header files, which typically define the calling convention somewhere. There are a lot of caveats but what I'm describing covers 99% of all cases.
Translated Euphoria libraries
If you're translating your Euphoria code into a shared library then, well... don't. Sorry. I mean, you can do it and it will work as long as you don't cross the streams!
That is, if you create a library using Euphoria 4.0.5 then only use it with Euphoria 4.0.5. Same goes for 4.1.x; same goes for 32-bit or 64-bit.
There are differences to the internal structure of objects between each version that will cause you all sorts of problems:
Euphoria 3.1 | Euphoria 4.0 | Euphoria 4.1 |
---|---|---|
struct s1 { object_ptr base; long length; long ref; long postfill; }; |
struct s1 { object_ptr base; long length; long ref; long postfill; cleanup_ptr cleanup; }; |
struct s1 { object_ptr base; #if INTPTR_MAX == INT32_MAX int length; int ref; cleanup_ptr cleanup; int postfill; #else cleanup_ptr cleanup; intptr_t ref; intptr_t length; intptr_t postfill; #endif |
I don't think you expected a dissertation as a response, but I'll come back to this for reference when I'm ready to write that article.
Please keep up the good work!
Thanks again.
-Greg
11. Re: usingEuphoria.com is back online
- Posted by ghaberek (admin) Feb 16, 2018
- 2166 views
Also I realized that the article I wrote for last week didn't get published. Here it is now:
-Greg