 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Fact: Google does not answer questions. Actually, it generates lists of
web pages containing words similar to the ones you typed in.
Due to this, certain kinds of question are very easy to answer with
Google, and certain other kinds of question are almost impossible to answer.
For example, type in the model number of just about any piece of
computer hardware, and Google will find the product page for it, if one
exists. (Hell, it can probably still find it even if it no longer exists
today, so long as it /once/ existed. Various sites cache this stuff,
after all...)
Historically, various names involving unusual punctuation were quite
hard to search for. (E.g., C, C#, .NET and so on.) Presumably Google
have now individually special-cased every single one of these into their
search engine.
But some things are not so easy to search for. For example, suppose I
want to find companies that offer service X. Well, that's pretty easy.
But now suppose I want companies that offer service X, having properties
A, B, C, D, not E or F, and property G. How the hell do I do that?
The only way I can think of is to use Google to find companies that
provide service X, and then manually review every individual one, by
hand, one at a time, to determine which ones (if any) have the required
properties. In other words, "do the search manually".
I literally can't think of any way to get Google to figure this out
automatically.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
> I literally can't think of any way to get Google to figure this out
> automatically.
It's a good thing you aren't having a problem working it out
figuratively, then.
But a generic example is difficult to help you with. Can you be specific
about what you're trying to find, and then someone maybe can help you
phrase it so it works?
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 16.07.2012 16:41, schrieb Jim Henderson:
> On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
>
>> I literally can't think of any way to get Google to figure this out
>> automatically.
>
> It's a good thing you aren't having a problem working it out
> figuratively, then.
>
> But a generic example is difficult to help you with. Can you be specific
> about what you're trying to find, and then someone maybe can help you
> phrase it so it works?
I guess it wasn't really a request for help, more like another episode
of "Random Rants".
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Mon, 16 Jul 2012 19:16:23 +0200, clipka wrote:
> Am 16.07.2012 16:41, schrieb Jim Henderson:
>> On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
>>
>>> I literally can't think of any way to get Google to figure this out
>>> automatically.
>>
>> It's a good thing you aren't having a problem working it out
>> figuratively, then.
>>
>> But a generic example is difficult to help you with. Can you be
>> specific about what you're trying to find, and then someone maybe can
>> help you phrase it so it works?
>
> I guess it wasn't really a request for help, more like another episode
> of "Random Rants".
Perhaps, but one way to answer a "random rant" or for a "random rant" to
be more than just ignored is to have specificity in the rant.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 16/07/2012 03:41 PM, Jim Henderson wrote:
> On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
>
>> I literally can't think of any way to get Google to figure this out
>> automatically.
>
> It's a good thing you aren't having a problem working it out
> figuratively, then.
>
> But a generic example is difficult to help you with. Can you be specific
> about what you're trying to find, and then someone maybe can help you
> phrase it so it works?
OK, try this:
- Finding a web hosting company is easy.
- Finding a web hosting company that allows you to run your own custom
CGI scripts is harder. I'm not even sure how to do that with Google.
- Finding a web hosting company that allows arbitrary CGI /binaries/ is
seemingly impossible.
(Apparently many people don't understand what a "CGI binary" is. They
seem to think that CGI is how /scripts/ talk to a web server, and that
CGI therefore /must/ be written in Perl or PHP or similar scripting
languages.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-16 05:50, Invisible a écrit :
> Fact: Google does not answer questions. Actually, it generates lists of
> web pages containing words similar to the ones you typed in.
>
> Due to this, certain kinds of question are very easy to answer with
> Google, and certain other kinds of question are almost impossible to
> answer.
>
In the 90s, there was a band called "Live" who appeared on MTV's
"unplugged" tv show. Try finding it on Youtube for fun! Searching for
"Live unplugged" is akin to using *.* at a DOS prompt.
> For example, type in the model number of just about any piece of
> computer hardware, and Google will find the product page for it, if one
> exists. (Hell, it can probably still find it even if it no longer exists
> today, so long as it /once/ existed. Various sites cache this stuff,
> after all...)
Along with 35856 places that sell it, and 327564763433 autogenerated
pages that try to lure you to click on their ads.
> Historically, various names involving unusual punctuation were quite
> hard to search for. (E.g., C, C#, .NET and so on.) Presumably Google
> have now individually special-cased every single one of these into their
> search engine.
>
> But some things are not so easy to search for. For example, suppose I
> want to find companies that offer service X. Well, that's pretty easy.
> But now suppose I want companies that offer service X, having properties
> A, B, C, D, not E or F, and property G. How the hell do I do that?
X A B C D -E -F G
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> For example, type in the model number of just about any piece of
>> computer hardware, and Google will find the product page for it, if one
>> exists. (Hell, it can probably still find it even if it no longer exists
>> today, so long as it /once/ existed. Various sites cache this stuff,
>> after all...)
>
> Along with 35856 places that sell it, and 327564763433 autogenerated
> pages that try to lure you to click on their ads.
YOU KNOW IT'S TRUE!! >_<
I still remember trying to look up the maximum memory capacity of some
motherboard or other, and coming face to face with a web page which had
technical data in the middle, and fully naked women around the edges. I
was like, WTF? And then my boss was like, WHAT THE FUCK?! o_O
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-17 04:03, Invisible a écrit :
> On 16/07/2012 03:41 PM, Jim Henderson wrote:
>> On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
>>
>>> I literally can't think of any way to get Google to figure this out
>>> automatically.
>>
>> It's a good thing you aren't having a problem working it out
>> figuratively, then.
>>
>> But a generic example is difficult to help you with. Can you be specific
>> about what you're trying to find, and then someone maybe can help you
>> phrase it so it works?
>
> OK, try this:
>
> - Finding a web hosting company is easy.
"web hosting"
> - Finding a web hosting company that allows you to run your own custom
> CGI scripts is harder. I'm not even sure how to do that with Google.
You need to think how you'd advertise that feature.
"web hosting" "user-supplied CGI"
> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
> seemingly impossible.
>
for this one, it's easier to look for the actual httpd.conf commands
that tell Apache to use your custom CGI binary.
"web hosting" "option +execCGI" "addHandler"
> (Apparently many people don't understand what a "CGI binary" is. They
> seem to think that CGI is how /scripts/ talk to a web server, and that
> CGI therefore /must/ be written in Perl or PHP or similar scripting
> languages.)
Well, it's been this way for 15 years now.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> OK, try this:
>>
>> - Finding a web hosting company is easy.
>
> "web hosting"
...or any of a dozen similar phrases, yes.
>> - Finding a web hosting company that allows you to run your own custom
>> CGI scripts is harder. I'm not even sure how to do that with Google.
>
> You need to think how you'd advertise that feature.
>
> "web hosting" "user-supplied CGI"
Perhaps "custom CGI" would work better, IDK. I generally find fewer
words generate more accurate hits.
>> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
>> seemingly impossible.
>>
>
> for this one, it's easier to look for the actual httpd.conf commands
> that tell Apache to use your custom CGI binary.
>
> "web hosting" "option +execCGI" "addHandler"
I don't think I've come across a web host that lets you actually touch
the Apache configuration files. (And not all hosts even use Apache in
the first place, of course...)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-17 10:13, Invisible a écrit :
>>> OK, try this:
>>>
>>> - Finding a web hosting company is easy.
>>
>> "web hosting"
>
> ...or any of a dozen similar phrases, yes.
>
>>> - Finding a web hosting company that allows you to run your own custom
>>> CGI scripts is harder. I'm not even sure how to do that with Google.
>>
>> You need to think how you'd advertise that feature.
>>
>> "web hosting" "user-supplied CGI"
>
> Perhaps "custom CGI" would work better, IDK. I generally find fewer
> words generate more accurate hits.
>
>>> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
>>> seemingly impossible.
>>>
>>
>> for this one, it's easier to look for the actual httpd.conf commands
>> that tell Apache to use your custom CGI binary.
>>
>> "web hosting" "option +execCGI" "addHandler"
>
> I don't think I've come across a web host that lets you actually touch
> the Apache configuration files. (And not all hosts even use Apache in
> the first place, of course...)
Then how do you plan on having said web hosting service run your binary?
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>>> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
>>>> seemingly impossible.
>>>>
>>>
>>> for this one, it's easier to look for the actual httpd.conf commands
>>> that tell Apache to use your custom CGI binary.
>>>
>>> "web hosting" "option +execCGI" "addHandler"
>>
>> I don't think I've come across a web host that lets you actually touch
>> the Apache configuration files. (And not all hosts even use Apache in
>> the first place, of course...)
>
> Then how do you plan on having said web hosting service run your binary?
I *said* it was a hard problem. ;-)
Typically the host sets up a special folder, and any files within it are
considered to be CGI scripts in whatever language the server is
hard-coded to accept. (Or /maybe/ based on the filename.) Presumably
you'd have to find a host that allows executable binaries...
(And yes, you'd need to know whether the host runs Windows or Linux, in
order to compile the correct binary.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Tue, 17 Jul 2012 09:03:02 +0100, Invisible wrote:
> On 16/07/2012 03:41 PM, Jim Henderson wrote:
>> On Mon, 16 Jul 2012 10:50:12 +0100, Invisible wrote:
>>
>>> I literally can't think of any way to get Google to figure this out
>>> automatically.
>>
>> It's a good thing you aren't having a problem working it out
>> figuratively, then.
>>
>> But a generic example is difficult to help you with. Can you be
>> specific about what you're trying to find, and then someone maybe can
>> help you phrase it so it works?
>
> OK, try this:
>
> - Finding a web hosting company is easy.
"hosting"
> - Finding a web hosting company that allows you to run your own custom
> CGI scripts is harder. I'm not even sure how to do that with Google.
"hosting cgi"
> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
> seemingly impossible.
'hosting :binary cgi"' turned up discussions on this topic that look like
they include recommendations.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Tue, 17 Jul 2012 15:13:07 +0100, Invisible wrote:
> I don't think I've come across a web host that lets you actually touch
> the Apache configuration files. (And not all hosts even use Apache in
> the first place, of course...)
Options can be put in .htaccess as well, and that often is permitted.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
>> seemingly impossible.
>
> 'hosting :binary cgi"' turned up discussions on this topic that look like
> they include recommendations.
I don't even know what that syntax /means/. (I guess I could Google it...)
Most of the discussions appear to be /very/ old. The websites mentioned
do offer web hosting, but most of them seem more keen to ram in your
face just how many FREE Exchange mailboxes you could get, or that you
can have UNLIMITED MySQL databases. (Um, who cares? It's not like you
can't put more than one lot of data into a single "database"...) I can't
find any that really give any technical detail about their CGI capabilities.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-17 10:34, Invisible a écrit :
> Typically the host sets up a special folder, and any files within it are
> considered to be CGI scripts in whatever language the server is
> hard-coded to accept. (Or /maybe/ based on the filename.) Presumably
> you'd have to find a host that allows executable binaries...
On Apache, it _is_ done by filename. Since the host has to "chmod" the
files to make them executable (on *NIX), it probably automagically does
this on a specific set of file extensions. so you need to find out what
extensions are supported.
I am not telling you to do this, but you could theoretically upload an
executable binary called andy.pl
>
> (And yes, you'd need to know whether the host runs Windows or Linux, in
> order to compile the correct binary.)
Or BSD, or Solaris, or AIX... and the CPU architecture.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 18.07.2012 16:28, schrieb Francois Labreque:
> Le 2012-07-17 10:34, Invisible a écrit :
>> Typically the host sets up a special folder, and any files within it are
>> considered to be CGI scripts in whatever language the server is
>> hard-coded to accept. (Or /maybe/ based on the filename.) Presumably
>> you'd have to find a host that allows executable binaries...
>
> On Apache, it _is_ done by filename. Since the host has to "chmod" the
> files to make them executable (on *NIX), it probably automagically does
> this on a specific set of file extensions. so you need to find out what
> extensions are supported.
Comes as a surprise to me, given that it's Unix customary practice to
identify file types by signatures.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Wed, 18 Jul 2012 10:43:48 +0100, Invisible wrote:
>>> - Finding a web hosting company that allows arbitrary CGI /binaries/
>>> is seemingly impossible.
>>
>> 'hosting :binary cgi"' turned up discussions on this topic that look
>> like they include recommendations.
>
> I don't even know what that syntax /means/. (I guess I could Google
> it...)
It means I couldn't type.
'hosting "binary cgi"'
(the outer quotes are not necessary - they're there because I am quoting
what I typed in)
> Most of the discussions appear to be /very/ old. The websites mentioned
> do offer web hosting, but most of them seem more keen to ram in your
> face just how many FREE Exchange mailboxes you could get, or that you
> can have UNLIMITED MySQL databases. (Um, who cares? It's not like you
> can't put more than one lot of data into a single "database"...) I can't
> find any that really give any technical detail about their CGI
> capabilities.
It's an example of how to do a search. Use the search tools to constrain
the results to a more recent timeframe.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Most of the discussions appear to be /very/ old.
>
> It's an example of how to do a search. Use the search tools to constrain
> the results to a more recent timeframe.
One of the discussions suggests that the correct search term is "shell
host". This does indeed appear to generate a lot of hits...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 17/07/2012 09:03 AM, Invisible wrote:
> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
> seemingly impossible.
Apparently my /current/ web host offers arbitrary CGI using PHP. (And a
MySQL database, if I want one.)
According to the manual, any file ending *.php4 or *.php5 is considered
to be a PHP file. Anything ending *.cgi is assumed to be a CGI script.
(I think it supports one other language - maybe Perl.)
First attempt: Write a small C program, compile it on Linux, upload it
to the server, name it HelloWorld.cgi, try to access it.
Oh dears: HTTP 500. No way of accessing the logs to find out what failed.
Second attempt: PHP apparently contains a passthru() function which lets
you run an arbitrary command and pipe its output to the HTTP client. So
if I just run ./HelloWorld.cgi, I'm golden.
No good. Statements before passthru() execute fine. Statements after
passthru() execute fine. passthru() itself appears to generate no
output. Again, this is a scripting language, so there's no way of
knowing why it failed.
I know for a fact that my host runs Linux, and the web server is Apache.
It seems a reasonable assumption that it's AMD64, but the documentation
does not specify. Nor does it state which Linux distro. I had hoped that
PHP might offer some function to query this information... but no, it
doesn't.
If I scheme hard enough, perhaps I can trick my existing web host into
doing what I actually want, without having to upgrade to their dedicated
server product at 15x the price...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/07/2012 09:36 AM, Invisible wrote:
> If I scheme hard enough, perhaps I can trick my existing web host into
> doing what I actually want, without having to upgrade to their dedicated
> server product at 15x the price...
Apparently PHP has a phpinfo() function which dumps a whole bunch of data.
According to this,
System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
GNU/Linux
So perhaps I should try compiling a 32-bit ELF binary and see if that
works? (Man, is there even a way to do that with a 64-bit Linux distro?
I'm sure there is, but finding it...)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 19/07/2012 10:50, Invisible a écrit :
> On 19/07/2012 09:36 AM, Invisible wrote:
>
>> If I scheme hard enough, perhaps I can trick my existing web host into
>> doing what I actually want, without having to upgrade to their dedicated
>> server product at 15x the price...
>
> Apparently PHP has a phpinfo() function which dumps a whole bunch of data.
>
> According to this,
>
> System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
> GNU/Linux
Strange, a 2.4 serie kernel compiled at the beginning of 2012.
2.6 is more mainstream, and kernel has now entered the 3.2 serie
>
> So perhaps I should try compiling a 32-bit ELF binary and see if that
> works? (Man, is there even a way to do that with a 64-bit Linux distro?
> I'm sure there is, but finding it...)
You need a multi-lib gcc (or whatever, g++...)
You can then use -m32 to get a 32 bits binary.
(-m32 should be used for compilation & link)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> According to this,
>>
>> System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
>> GNU/Linux
>
> Strange, a 2.4 serie kernel compiled at the beginning of 2012.
> 2.6 is more mainstream, and kernel has now entered the 3.2 serie
Don't look at me. This is from the same company that's running a
long-obsolete version of WordPress too. (At least, it was obsolete when
I checked 4 years ago, and it hasn't been updated since, so...)
>> So perhaps I should try compiling a 32-bit ELF binary and see if that
>> works? (Man, is there even a way to do that with a 64-bit Linux distro?
>> I'm sure there is, but finding it...)
>
> You need a multi-lib gcc (or whatever, g++...)
> You can then use -m32 to get a 32 bits binary.
>
> (-m32 should be used for compilation& link)
Adding -m32 causes a whole bunch of errors due to missing header files.
Installing glibc-devel-i386 makes compilation succeed, but now I get
half a dozen linker errors instead. Blindly installing packages at
random eventually made the errors go away.
(That's what I love about Linux - there's never any /documentation/
about what the hell all these packages do! For example, almost every
single package related to GCC simply tells you what GCC is - /not/ what
part of GCC is contained within this specific package!)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/07/2012 09:50 AM, Invisible wrote:
> So perhaps I should try compiling a 32-bit ELF binary and see if that
> works?
DAMNIT! >_<
No, that still fails miserably. *sigh*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Apparently my /current/ web host offers arbitrary CGI using PHP. (And a
> MySQL database, if I want one.)
>
> According to the manual, any file ending *.php4 or *.php5 is considered
> to be a PHP file. Anything ending *.cgi is assumed to be a CGI script.
> (I think it supports one other language - maybe Perl.)
Apparently the supported list is actually Perl, Python, PHP and Ruby.
Interestingly, the documentation claims that all CGI scripts must begin
with a shebang and must have execute permissions. For at least PHP, this
is clearly untrue...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/07/2012 10:13 AM, Invisible wrote:
> On 19/07/2012 09:50 AM, Invisible wrote:
>
>> So perhaps I should try compiling a 32-bit ELF binary and see if that
>> works?
>
> DAMNIT! >_<
>
> No, that still fails miserably. *sigh*
Hold the phone... If I change the permissions on the file to 755, *now*
it works perfectly! :-D
OK, I now have arbitrary binary CGI on my web host. That was easy...
Now, how much do you want to bet that a non-trivial program compiled on
one Unix box won't run on another Unix box? :-/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-18 10:39, clipka a écrit :
> Am 18.07.2012 16:28, schrieb Francois Labreque:
>> Le 2012-07-17 10:34, Invisible a écrit :
>>> Typically the host sets up a special folder, and any files within it are
>>> considered to be CGI scripts in whatever language the server is
>>> hard-coded to accept. (Or /maybe/ based on the filename.) Presumably
>>> you'd have to find a host that allows executable binaries...
>>
>> On Apache, it _is_ done by filename. Since the host has to "chmod" the
>> files to make them executable (on *NIX), it probably automagically does
>> this on a specific set of file extensions. so you need to find out what
>> extensions are supported.
>
> Comes as a surprise to me, given that it's Unix customary practice to
> identify file types by signatures.
I meant to say that a web hosting service might have some automated
process that would automatically chmod +x any file with the .pl or .cgi
extension that the user uploads to his or her cgi-bin/ directory,
whereas a .jpg or .html wouldn't be chmodded.
And you are right, Unices do use file signatures to determine what to do
with them, that's why I told Andy that if he uploaded a compiled Haskell
binary and simply named it "andy.pl" it might run anyway as the web
server would more than likely issue a system() call and let the OS
figure out what to do with it.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-19 03:56, Invisible a écrit :
>>> Most of the discussions appear to be /very/ old.
>>
>> It's an example of how to do a search. Use the search tools to constrain
>> the results to a more recent timeframe.
>
> One of the discussions suggests that the correct search term is "shell
> host". This does indeed appear to generate a lot of hits...
A shell host means that they give you a complete VM to yourself and you
can do whatever you want (still subject to the TOS of the company) with
it, so you can load it up with your own copy of Apache or IIS and
configure it as you want.
(And then see it overtaken by l33t hax0rz in 3.2 seconds.)
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> One of the discussions suggests that the correct search term is "shell
>> host". This does indeed appear to generate a lot of hits...
>
> A shell host means that they give you a complete VM to yourself and you
> can do whatever you want
I thought the term for that was "virtual server"? (Or "dedicated server"
if the physical hardware is not shared - usually very expensive!)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/07/2012 10:24 AM, Invisible wrote:
> Now, how much do you want to bet that a non-trivial program compiled on
> one Unix box won't run on another Unix box? :-/
A simple test confirms that this is indeed the case. Compile
HelloWorld.c on OpenSUSE and it works. Copy it to Debian and it
complains about lots of lib.so files not existing...
Apparently the solution is http://www.pgbovine.net/cde.html
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2012-07-19 10:32, Invisible a écrit :
>>> One of the discussions suggests that the correct search term is "shell
>>> host". This does indeed appear to generate a lot of hits...
>>
>> A shell host means that they give you a complete VM to yourself and you
>> can do whatever you want
>
> I thought the term for that was "virtual server"? (Or "dedicated server"
> if the physical hardware is not shared - usually very expensive!)
Well you might have shell access on a shared server, but with the advent
of easier virtualization, it's easier to just give you a VM rather than
worrying about the security mightmares of having multiple users
installing software on the same machine.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 08:56:56 +0100, Invisible wrote:
>>> Most of the discussions appear to be /very/ old.
>>
>> It's an example of how to do a search. Use the search tools to
>> constrain the results to a more recent timeframe.
>
> One of the discussions suggests that the correct search term is "shell
> host". This does indeed appear to generate a lot of hits...
*That's* how searching on Google is accomplished. Learning is an
iterative process - sometimes finding the right search combinations are a
learning process. :)
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 09:50:29 +0100, Invisible wrote:
> So perhaps I should try compiling a 32-bit ELF binary and see if that
> works? (Man, is there even a way to do that with a 64-bit Linux distro?
> I'm sure there is, but finding it...)
Yes, x64 Linux systems can run ia32 ELF binaries if the library
dependencies are met using 32-bit libraries.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 10:24:00 +0100, Invisible wrote:
> Now, how much do you want to bet that a non-trivial program compiled on
> one Unix box won't run on another Unix box? :-/
If the library requirements are met, it'll run.
If they aren't, then it won't.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Now, how much do you want to bet that a non-trivial program compiled on
>> one Unix box won't run on another Unix box? :-/
>
> If the library requirements are met, it'll run.
>
> If they aren't, then it won't.
Trouble is, a typical Haskell program compiled with GHC has a vast list
of dependencies. (Off the top of my head, GMP, ncurses, libffi...)
Without shell access, it's going to be fun trying to fake that lot.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 17:18:37 +0100, Orchid Win7 v1 wrote:
>>> Now, how much do you want to bet that a non-trivial program compiled
>>> on one Unix box won't run on another Unix box? :-/
>>
>> If the library requirements are met, it'll run.
>>
>> If they aren't, then it won't.
>
> Trouble is, a typical Haskell program compiled with GHC has a vast list
> of dependencies. (Off the top of my head, GMP, ncurses, libffi...)
>
> Without shell access, it's going to be fun trying to fake that lot.
Doesn't ghc provide a static linking option?
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 10:20:06 +0100, Invisible wrote:
> Interestingly, the documentation claims that all CGI scripts must begin
> with a shebang and must have execute permissions. For at least PHP, this
> is clearly untrue...
That's because with apache, php is something it knows about with mod_php*,
so it calls scripts with the php* extensions with the php processor.
But php script does accept a #!/path/to/executable at the start as well,
and if the path is right and the script is executable, it'll work as Perl
or any other scripted *nix language.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>>> Now, how much do you want to bet that a non-trivial program compiled
>>>> on one Unix box won't run on another Unix box? :-/
>>>
>>> If the library requirements are met, it'll run.
>>>
>>> If they aren't, then it won't.
>>
>> Trouble is, a typical Haskell program compiled with GHC has a vast list
>> of dependencies. (Off the top of my head, GMP, ncurses, libffi...)
>>
>> Without shell access, it's going to be fun trying to fake that lot.
>
> Doesn't ghc provide a static linking option?
By default, GHC statically links all *Haskell* libraries. However, it
usually does not statically link *external* libraries, as far as I can
tell. Perhaps there's a switch somewhere to make it do that...
(And then, of course, we get into the fun of deciding which libraries
should or should not be statically linked. E.g., apparently statically
linking glibc is a bad idea.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 18:57:24 +0100, Orchid Win7 v1 wrote:
> By default, GHC statically links all *Haskell* libraries. However, it
> usually does not statically link *external* libraries, as far as I can
> tell. Perhaps there's a switch somewhere to make it do that...
Maybe, I don't know. :)
> (And then, of course, we get into the fun of deciding which libraries
> should or should not be statically linked. E.g., apparently statically
> linking glibc is a bad idea.)
Well, glibc is a big library, but if the library you compile against has
what you need, then it's not really any worse an idea than any other
library.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> By default, GHC statically links all *Haskell* libraries. However, it
>> usually does not statically link *external* libraries, as far as I can
>> tell. Perhaps there's a switch somewhere to make it do that...
>
> Maybe, I don't know. :)
Neither do I. But I know who to ask...
>> (And then, of course, we get into the fun of deciding which libraries
>> should or should not be statically linked. E.g., apparently statically
>> linking glibc is a bad idea.)
>
> Well, glibc is a big library, but if the library you compile against has
> what you need, then it's not really any worse an idea than any other
> library.
According to the research I've done, you really don't want to statically
link glibc, because it intimately depends on half the low-level stuff in
the entire system. Just taking one version of glibc and trying to run it
against the support files for another version tends to break spectacularly.
Similarly, you wouldn't want to statically link the OpenGL libraries,
because they are specific to your GPU. Similar remarks apply to ALSA,
apparently. And X11. And a few other things.
Let me see if I can figure out where I read all this... Ah yes, here we go:
http://freegamedev.net/wiki/Portable_binaries
Basically, it seems this stuff is pretty complicated. I suppose package
managers were invented for a reason, eh? Pity I can't use one to solve
my problem...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On a related note, back in grad school in the early 90's, I once spent 2 or
3 days tracking down a technical paper from 1985 that I needed to read. I
had the reference and everything, and I just had to find where it was in the
library.
The other day, I ran across someone mentioning "it makes error recovery in
distributed systems easier" and remembered this paper. All I remembered was
one author's name and the name of the programming language (NIL) in which it
was being tested.
It took me about 10 minutes to find the complete text through google search,
just by following through half a dozen references, tracking down the full
title that way, and then googling for the full title.
I thought that was pretty cool.
--
Darren New, San Diego CA, USA (PST)
"Oh no! We're out of code juice!"
"Don't panic. There's beans and filters
in the cabinet."
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 19 Jul 2012 19:39:44 +0100, Orchid Win7 v1 wrote:
> Let me see if I can figure out where I read all this... Ah yes, here we
> go:
>
> http://freegamedev.net/wiki/Portable_binaries
>
> Basically, it seems this stuff is pretty complicated. I suppose package
> managers were invented for a reason, eh? Pity I can't use one to solve
> my problem...
Well, on the flip side, glibc is common to Linux systems, so it shouldn't
be necessary to link to it.
But the simplest solution is to create a VM that has what the hosting
provider has in it - same distro and everything - and use that as the
development base for what you're working on.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Let me see if I can figure out where I read all this... Ah yes, here we
>> go:
>>
>> http://freegamedev.net/wiki/Portable_binaries
>>
>> Basically, it seems this stuff is pretty complicated. I suppose package
>> managers were invented for a reason, eh? Pity I can't use one to solve
>> my problem...
>
> Well, on the flip side, glibc is common to Linux systems, so it shouldn't
> be necessary to link to it.
Indeed. It seems you want to /not/ link anything that's ubiquitous to
all Linux systems, and to only link unusual stuff that probably won't be
there.
> But the simplest solution is to create a VM that has what the hosting
> provider has in it - same distro and everything - and use that as the
> development base for what you're working on.
Yep, that would be the simplest.
I mean, if I knew what distro they're using, what packages they've
installed, and so forth...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 17/07/2012 09:03 AM, Invisible wrote:
> - Finding a web hosting company that allows arbitrary CGI /binaries/ is
> seemingly impossible.
The other possibility is to use Amazon's EC2. But it's *really* expensive!
And then I stumble on this:
http://www.heroku.com/
I've never heard of it before, but it sounds interesting. (I rather
suspect it too will end up being far too expensive...)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
>> GNU/Linux
>
> Strange, a 2.4 serie kernel compiled at the beginning of 2012.
> 2.6 is more mainstream, and kernel has now entered the 3.2 serie
According to some of the stuff I've read, the build system needs to be
running the same kernel as the target system (or older).
What are my chances of finding a Linux distro that still works and
offers the 2.4 kernel?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 20/07/2012 12:14, Invisible a écrit :
>>> System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
>>> GNU/Linux
>>
>> Strange, a 2.4 serie kernel compiled at the beginning of 2012.
>> 2.6 is more mainstream, and kernel has now entered the 3.2 serie
>
> According to some of the stuff I've read, the build system needs to be
> running the same kernel as the target system (or older).
Not really. As an application (unless you dive into kernel structure
with root access), you practically have to have the same libc major version.
Now the itchy part: they moved from libc-5 to libc-6 during the 2.6
series (and there is a major glitch around 2.6.19 for some aspects I
just cannot remember)
It's just that compatibility of libraries is usually ascending: features
get added, so compiling against version 1.3 allows to still run on
version 1.44
Yet, major revision are allowed to break everything... sort of.
For instance, there is a certain gap between libxerces-c.2.8 and
libxerces-c.3.0 (not sure about the exact name). Some features get
dropped and some functions are gone, for real: the dynamic linker at
runtime will never find them if the new system is only installed with 3.0;
>
> What are my chances of finding a Linux distro that still works and
> offers the 2.4 kernel?
An old CD-set of slackware ?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>>> System: Linux infong 2.4 #1 SMP Tue Jan 17 02:58:41 UTC 2012 i686
>>>> GNU/Linux
>>>
>>> Strange, a 2.4 serie kernel compiled at the beginning of 2012.
>>> 2.6 is more mainstream, and kernel has now entered the 3.2 serie
>>
>> According to some of the stuff I've read, the build system needs to be
>> running the same kernel as the target system (or older).
>
> Not really. As an application (unless you dive into kernel structure
> with root access), you practically have to have the same libc major version.
> Now the itchy part: they moved from libc-5 to libc-6 during the 2.6
> series (and there is a major glitch around 2.6.19 for some aspects I
> just cannot remember)
It's all Greek to me.
> It's just that compatibility of libraries is usually ascending: features
> get added, so compiling against version 1.3 allows to still run on
> version 1.44
Yeah. So basically, if I build my stuff on a system that's /older/ than
the target platform, it ought to work.
>> What are my chances of finding a Linux distro that still works and
>> offers the 2.4 kernel?
>
> An old CD-set of slackware ?
A better question: What are my chances of getting GHC, with it's vast
list of complex dependencies, to work on an ancient copy of Linux?
Yeah, exactly.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 20/07/2012 18:21, Orchid Win7 v1 nous fit lire :
>> It's just that compatibility of libraries is usually ascending: features
>> get added, so compiling against version 1.3 allows to still run on
>> version 1.44
>
> Yeah. So basically, if I build my stuff on a system that's /older/ than
> the target platform, it ought to work.
Maybe... or it can fails too. What are the chance of finding libc4
library on todays system ?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |