Domain: roxen.com
Stories and comments across the archive that link to roxen.com.
Comments · 109
-
Rethink Apache on Win32You probably do not want to run Apache on a Win32 platform. Apache is a wonderful webserver and the most widely used one out there as well, but there are some serious issues with it on Windows. It's a bit buggier, and it will perform much more slowly than it will on any kind of Unix. Optimising for speed on a Windows platform is a different affair than optimizing on a Unix platform because of the design differences between the two.
If you're concerned about a steep learning curve in setting up a Unix machine, it really isn't as bad as you think. FreeBSD, for example, is an excellent OS and comes with extensive beginners documentation on the CD (in the form of the FreeBSD Handbook) as well as on their website that will explain all of the basics to you. Picking up an O'Reilly book like Essential System Administration and/or Unix In A Nutshell is quite helpful and will slash your learning curve to bits. Unix is really not that tough, but it does require a slightly different way of thinking.
But I digress.
In short, if you're serious about dumping IIS and want to go with something else, strongly consider Apache on Unix and not Win32. If you absolutely need to stay with Win32, you might check out Roxen which I've also had pretty good luck with, is super-easy to configure -- an area Apache can certainly use some help with -- and seems pretty solid. It is free under a GPL license, but the company that writes it also sells service contracts for it if that interests you or your bosses at all.
-
Re:Much Easier...
Why bother writing your own caching code when you can just let your Webserver do it for you?
With Roxen's cache tag, I just threw <cache minutes=15> </cache> tags around the cpu intensive parts of mine and let Roxen handle the rest.
I do have a cron job that parses the logs every 15 minutes, and updates the backend database. (I could have done that from the web page as well, but then my samples wouldn't be taken every 15 minutes). -
Re:How? And what's the point?
Take a look at Pike, it's been covered here in the past.
It has a c-like syntax, it has the preprocessor, and it has classes (full OOP), functional programming if you want, a nice runtime library. It doesn't have pointers, but it has references (no arithmetics though), and high-level constructs for strings, sets and associations. It does manage memory quite fine (refcount + garbage collector) and you can make it as pedantic as you want, even not at all (just use the mixed type everywhere).
This said, you won't get rid of the C syntax anytime soon. It has an advantage over most other syntaxes one can come up with for an imperative language: it's concise. And if used with some discipline, it can be very readable which is one of the most important requirements for a programming language. By adhering to a c-like syntax, any other programming language can be instantly readable by a lot of people. -
This language should be moderated -1: RedundantWhat does this add to
- Pike (http://pike.roxen.com/)
- EIC (http://www.kd-dev.com/~eic/)
-
I do it now.
-
Re:All I want ina browser...
You would love some of the scriptlets mentioned in this article over at Roxen Community.
They work fine at least with Netscape 4.X. -
Re:JSP & Servlets are only part of the problem
Or you could try Roxen.
It can be extended and scripted in many ways, INCLUDING servlets and JSP's. It has its own XML interpreter, can embed Perl, Pike (it's written in Pike, there have been articles on Pike here on /., look at the history), which is also OO. Roxen allows to define new XML tags in C, Pike, and XML, runs in a single process (with helper threads created as necessary and pooled for efficiency), has an extensive runtime library.
PLUS it has bandwidth management capabilites (very fine-tuneable and extendable), can do on-the-fly graphics generation and blah blah blah.
There's a (commercial) package for it that does extensive template-ization and presentation/application separation and kicks ass as a web content management solution.
Just try it, it's only a download/compile away. -
Re:Intel uses (or used to use) Sun hardware? :)
Not as embarassing as the screenshot of one Microsoft website that had given a Roxen error message... Too bad I can't find that one right now, does anyone still have it? =)
-
Good points, though...
If Apple dies in the process
You make this sound as if this could actually happen anytime soon. They have $4 billion in the bank
Steve is dealing with a changing world that is not bending to Apple the way it used to because the younger generation doesn't remember the "old" Apple and, frankly, couldn't care less
I would agree with you, to a point. The catalyst, though, is Mac OS X. It's drawn interest from all sorts of people that didn't give a thought to Apple before. Maya is certainly one of the most visible, and had quite a sizeable/packed booth at Macworld Expo last week. But I was also quite surprised to see Roxen there!
With Mac OS X and software like iDVD, Apple has a much more compelling story that it has had in some time. And except to see the advertising change accordingly. After March 24, there will actually be very good reasons to own a Mac beyond it just sucks less than Windows.
- Scott
--
Scott Stevenson
WildTofu -
Roxen?The latest version of Roxen webserver supports embedded Perl (among many other languages)..
from the Roxen Perl Support Module page:
With the "Script output" option of the perl support module set to HTTP, it is possible to run old perl CGI scripts more or less as they are, only with better performance, provided they don't rely on their environment being reset upon each run of the script. (This performance boost comes in part from the script already being loaded and compiled, thus staying resident in-between requests and in part from the fact that there is no need to fork off new processes for the script.)
It also supports the mod_perl API, for compatability -
Roxen: GPL'd ColdFusion on steroids (?)From what I saw of ColdFusion, Roxen Webserver (not to be confused with Platform, their add-on which is a fully featured XSLT'd Content Manager, but not Free) was very similar. I say "was" because that was Roxen 1.x, Roxen 2.x is now XML compliant (tags must be closed, etc). Some comments on Roxen, nee Spinner:
- Their server is fully written in Pike, a GPL'd decendant of lpc, which looks like C with OOP, GC, etc. This means that the same damn source can run on NT as well as *nix, provided Pike is happily running on the OS. And Pike is fast, VERY fast.
- On certain setups (static pages), Roxen Webserver 2.x beats the crap out of Apache 1.2.x. Yes, I've tested this. Yes, a webserver written in an interpreted language beats Apache.
- Security Focus runs it. In fact, Aleph One occasionally pops into the Roxen and Pike mailing lists.
- Web browser frontend, in addition to config files in XML
- Modules (think mod_redirect, etc) for Roxen is ridiculously easy to write compared with Apache's
- RXML, an XML extension of XHTML. This is also amazingly powerful. Wanna render a TrueType text into your webpage? <gtext nfont="Arial">Hello, World!</gtext> and the damn thing actually renders it automagically. Gotta be seen to believe it. Works with CGI, PHP, mod_perl or JSP (not tested personally) too.
- Experimental mod_perl, java, etc.
- The documentation needs more work, though.
- Kitchen sink not included
We've been using Roxen for nearly a year now. And it really is a very productive environment. Roxen is hard to be categorized since it's both a webserver and contains its own scripting/markup language AND still works with other scripting languages.
-
content managment?can you be more specific on what kind of stuff you want to manage?
Roxen Platform is a web content managment system, that seems to have all the features you ask for including the cvs backend.
although targeted for websites it can handle any content, and diretcly integrates with your client software. (you click on a word document in your webbrowser and it will open Word to edit it).though not free, it does come with source, and custumizations are possible if needed.
greetings, eMBee.
-- -
Re:CVS?
Roxen Platform, which uses CVS as the backend storage, is worth mentioning. That is a full-fledged web-based content management system.
-
Re:CVS?Roxen Platform handles workflow too (and cvs and xml and all the rest...
greetings, eMBee
-- -
IMHO
I really like the IMHO webmail system.
I use it both at work, and on my home system.
The install is a snap, configuration is easy, and it has a lot of nice features (spellchecker, LDAP directories, etc).
The only real thing that I think some people might see as a disadvantage is that you have to be running Roxen to use it
(I see this as an advantage, but I really like Roxen).
-- -
Roxen kind of does this.
It's funny this question should come up now - the web server Roxen added support for mounting a tar file in it's virtual file space earlier today.
-- -
Roxen kind of does this.
It's funny this question should come up now - the web server Roxen added support for mounting a tar file in it's virtual file space earlier today.
-- -
Government StandardsHmm. Maybe you should ask the implementers to explain how their proposed change meets the GOSIP 2 requirements. See also RFC1169.
I think GOSIP is recommended for use, not required, but let them explain their need for exceptions.
Or tell them to go away, as you're too busy trying meet GOSIP standards so your GOSIP network can then talk to their GOSIP network.
-
Re:Detecting VPNs *NOT* detecting encryption.
Most VPN software packages aren't running over TCP/IP. From what I've seen, everything from Cisco-Cisco router tunnelling all the way to MS VPN software uses IP Protocol 47. (GRE/IP) In the case of MS's they also use a TCP/IP port (17xx something) to provide authentication.
Disallowing most VPNs would be as simple as blocking IP protocol 47 at their gateway router. Trivial. "gre deny any any" in Cisco's IOS parlance.
As a reminder (and not really related to the post I'm replying to), VPN != Masquerading, although many sites could "detect" masqueraded traffic simply by watching for a higher-than-normal use of ports over 60,000. Most network providers - even companies and schools - have network monitoring hardware. I've learned how to configure Netscout probes and software to show me information very similar to this.
IPsec is also used, but I'm not as familiar with the details of that.
-Jeff -
Re:Netcraft Result
For the Info, you can customize the header Apache returns when you send him a request. Go on Netcraft and check www.real.com. They are running Apache on Linux but as you can see that's not what they show on their Apache headers.
Actually, real.com is running on Roxen, not Apache.
Your point remains valid however, as they are having it return a custom identifier as you described.
-- -
Ideas behind C# are soundBack in 1994 I learned coding on a multi-user dungeon (MUD) using the LPC language. The MUD consisted of a large amount of objects, like rooms, monsters, and equipment. Each object could interact with any other object. For example: "/home/xordin/counter"->add(1) This calls add() on my personal counter. If the counter object wasn't loaded, LPC would create it! Seamsless integration between all objects or "programs". On Unix or Windows, communications between programs are much more complicated. Try creating a personal counter using Visual Basic and COM... On LPC, it simply worked.
You could change the code, reload it, and other objects had instant access to your new function.
All the while, on the MUD, players were playing: simultaneously.
The performance of LPC was also amazing. It compiled LPC code into a symbolic intermediate level, which executed very fast. A not very special 1994 PC could handle over 120 players. Because only the small number of symbols are executed, a MUD can be debugged very well and is extremely stable.
To top it off, LPC is very powerful. It has arrays, mappings, inheritance. String management is wonderful: manipulate strings as in C, with automatic memory management. Unlike C++/Java's insanely complex syntax, everyone could learn LPC. It was so easy it did not even require a debugger.
Now, C# promises exactly the same features that made LPC rock:
all programs/objects can cooperate
simulataneous use and development
stable and fast
solve complex problems without insane syntactic complexity
If C# makes true on these promises, I for one will embrace it.
P.S. There seems to be a web server called Roxen which employs LPC, but I haven't gotten it to compile yet. -
Note from the authorThanks everybody, it seems I don't have to do much to defend my language, since people who use it seems to be doing it for me.
:)To all of you who have downloaded Pike I would just like to point out that you can email me at hubbe@hubbe.net if you have questions, or you can speak with me interactively at the roxen developers chat, which can be found on the Roxen community website. Happy hacking.
Fredrik Hubinette
-
Re:A good example of Pike in action
Roxen was initially (circa 1993) by Per Hedbor as Spider at Lysator. It was later renamed as Spinner, and then Roxen for trademark-related reasons. There should be some historic background info at http://docs.roxen.com/
-
Re:The documentation is NOT goodCheck out the new tutorial. It does a great job teaching the basic, and more advanced, aspects of Pike. Prior to that tutorial, it didn't really have such a thing.
When it comes to Roxen 2.0, there is not yet a programming manual. It's being worked on however. And instead of spending 5 hrs searching you should have sent an email to the Roxen mailinglist and you'd received an answer within less than 1 hr I'm sure.
-
Re:Just Like Perl!Well, It does not look like perl, it does not smell like perl, and it does most definately not feel like perl.
Actually, it's about as different from perl as a scripting language can possible be.
And pike has quite good documentation, actually. See the tutorial as an example.
And hello world in pike: pike -e 'write("hello, world\n");' which is actually exactly the same size as your perl example...
Btw, hello world in a window in pike:
pike -e 'GTK.setup_gtk();
GTK.Window( GTK.WindowToplevel )
->add( GTK.Label( "Hello world\n") )
->show_all();
GTK.main();'And hello world written with a TTF font in a window:
pike -e 'GTK.setup_gtk();
GTK.Window( GTK.WindowToplevel )->
add( GTK.Pixmap( GDK.Pixmap( Image.TTF( "foo.ttf" )()
->write("Hello World" ) ) ) )
->show_all();
GTK.main();' -
Re:Perl vs. Pythonthose 30 words for snow are a myth, they don't exist!
Python is designed for "higher", more structured design. Why else do you think Python forces indentation?
indentation is the only thing that makes phyton designed for structured design?
are you trying to say that other languages are not good for that?
IMHO, the only good thing about forced indentation, is, to make it easier for beginners, as it teaches them to good code structure. but thats it.
i will never use phyton myself, because i do not like a certain indentation forced upon me, and there are other laguages that are designed for structured coding:
take a look at Pike. it structures your code at a much higher level, than indentation would do (i am not implying that phyton doesn't do that too, i just don't know enough about it) by implicitly wrapping each source file into a class. in pike you will thus make use of object orientation from the first day, without even realizing it...greetings, eMBee.
-- -
Roxen
Roxen Web Server (former Roxen Challenger) is a quite good choice (amongst many others it has native servlet/Java modules support and speaks WML natively (also knows to generate WBM)). Plus, it's GPL'd.
-
Roxen
Try the new version of Roxen. Support for PHP4, Servlets, WAP, Pike scripts etc. etc. http://www.roxen.com
-
Re:Separate code and layoutIf the look of your site changes but the code and the HTML are entangled, it can be very easy to break program logic while trying to make visual changes.
absolutely!
recommend perl as a first choice
however there are alternatives to perl here too.
the Roxen WebServer has an extensive SSI language (RXML) that allows for things like SQL queries without any code. and if RXML does not do what you want, then you can put the code in a module and make it available to the html-writer as an RXML extension.greetings, eMBee.
-- -
Re:CGI is the most improperly-used term on earth.well, 'cgi scripts' does make some sense, since to me a 'cgi script' is a script that works with the cgi interface.
however, i'd like to add, that the cgi interface is outdated imho, it requires that a new process is started for every call to a 'cgi app' which is very expensive.
today there are much better things like mod_perl, mod_php ... or other servers that are easely extendable, like roxen, which allows for easy integration of your code with modules that others have written...greetings, eMBee.
-- -
PIKE (was:Some language, any language)
-
PIKE (was:Some language, any language)
-
RFCsHTML formatted copies of the RFCs are available at http://community.roxen.com/develop ers/idocs/rfc/. Unfortunately, they don't seem to have a search engine for RFCs like www.faqs.org does.
--
-
Re:try WMLi am working on a site that uses wml too, and i just hate it, wml is very slow. translation of a single page takes about 5 seconds on a Pentium MMX 233 MHz.
RXML, used by the Roxen WebServer has all the features of WML, but roxen translates that almost in realtime. (and instead of WML, RXML is now fully XML compliant).
Roxen also can create buttons on the fly, and contrary to what you say about gfont, it has no problem with different button sizes.greetings, eMBee.
-- -
roxen makes it easiera lot of the problems mentioned are easley solved with the Roxen WebServer.
Roxen has an extensive SSI language (RXML) that allows you to build powerfull sites.
eg. buttons can be created by the server, with the text you specify (like <gtext>click here</gtext>), you can also use a backgroundimage and thus putting any kind of text on top of any image.of course seperation of content and design is key.
in order to achive 100% seperation i wrote an xml template module for roxen, that allows me to specify the content in XML, and then apply a template to show it.
roxen also makes it easy to check for the clients default language, so you could select the language based on that easely.
the most important thing is, it all looks like html to the webauthor. there is no programming involved.sure, php is nice, but if you don't know about programming languages, then it will look very confusing, also it's very easy to screw up, because the non-programmer doesn't see that there is a ; or , missing, that creates a syntax-error in the php code.
greetings, eMBee.
-- -
Re:Allright
-
Roxen Platform
One player you should not overlook is Roxen Platform (www.roxen.com)
And the web-server (Roxen Webserver) is GPL!
Also, dont forget to check out Roxen Community where you can get a better idea of what people are saying about it! -
Roxen Platform
One player you should not overlook is Roxen Platform (www.roxen.com)
And the web-server (Roxen Webserver) is GPL!
Also, dont forget to check out Roxen Community where you can get a better idea of what people are saying about it! -
Re:features..?
-
Re:Ah, so now all the Linux idiots are ASP experts
Mind you I work for solutions.
I convinced my bosses that I could have their solution ready by the time it would take to have their NT machines rebooted for the 10th time (ie. installed the software).
Ok not all true but almost.
ASP is only good for very shortterm solutions, like guestbooks. I would never use it though.
Big solutions get very bloated very fast in ASP.
Not to mention impossible to extend.
Sure blame the developers, but you know that's the people that thinks ASP is the solution for everything. And that's the people that buy it.
And that's the people that show that ASP = VB.
While I continusly update and improve that site our IT-department raises projects of major proportions when they realize that they need this kind of site for the whole business.
I *know* that they will finally ask us how we did it, simply because we have a working solution that we *can* extend.
Too bad someone managed to unplug the machine by mistake, the 300+ day uptime got lost.
No, it's not one line of PHP, it's made with Roxen.
Go on do your "productive solutions for clients",
I do mine for servers and even MS has realized that's where the data is going to be.
-
One suggestion, use Roxen and LinuxVirtualServer
I have much experience in this area. I run a hosting company that has built High Availability into the design of the network. Using Linux Virtual Server as a load balancer allows us to scale very easily and provides maximum uptime and speed. For scalability, to add more resources, we simple add new servers behind the LVS. The LVS is a patch to the linux kernel, so it performs very fast and it provides a layer of security, since you can forward only the ports that you want to. LVS has several different algorithms for scheduling which server gets each request.
Also, using the Roxen WebServer provides great performance for dynamic content. Roxen has built in database features that perform very well, for instance, roxen will keep the database connection open for fast access. Roxen will also allow you to write scripts that run very quickly because they get read into the roxen process memory the first time they execute, and they never have to be called again (no forking). Or, you can get away from CGI all together and write your own roxen modules that run internally in the server and add functionality. Roxen also has it's own built in markup language called RXML that includes tags for doing database queries, creating images on the fly, and many more. Bottom line, Roxen gives you the ability to do anything you want with your web server, and still give you the best performance possible.
For example, we have developed smtp and pop servers that run internally in the web servers. Our design allows us to load balance all of our services. The mail server also uses mysql to manage all the messages, email accounts, and aliases. None of the email accounts actually have system user accounts on the servers (higher security and easier to manage). Also, we get better performance out of the mail server, because instead of writing to files for mailboxes, it writes to a database. This is much easier to manage in an environment such as the hosting industry where we must maintain many domains and users.
I was an Apache user for many years, until I discovered Roxen in mid 1998. And I would never go back. I have experience running thousands of web sites, using this concept, successfully.
I also know that Real Networks uses Roxen as there web server and development environment. Maybe, somebody from there can post a comment about there experiences as well. -
Re:but roxen isn't
"if a server isn't vulnerable, how can you say it is?"
Well gee, probably because the statement that it isn't vulnerable is wrong. Why do you have any reason to think that Roxen magically avoids this problem by properly encoding things or stipping out HTML in every case? Why do you think there are no bugs in it?
And if you read the thread or the advisory, you would see that the vulnerability has nothing to do with "allowing people to post HTML tags in guestbooks". That is ancient news, although the problem is still amazingly common.
Here is one very easy to find example: the most obvious example
-
Not ALL webservers are affected...
Basically, all clients and all Web servers are affected by this problem
Well, in a word, no.
Apache, MS, and Sun's server products are affected by this, but that's hardly every web server.
Roxen is not affected, as by default it dequotes all input sent by a client. If explicitly requested, the web page author can get the raw data, but by default, the designer doesn't have to worry about it. (This is one of my favourite features of Roxen :o)
Co-incidentally (or perhaps not), Roxen is the web server used by Securityfocus.com (the administrators of BugTraq) -
Roxen/IMHO
-
What about Roxen???If I recall, it's free, does 128 bit ssl, is very easy to install/configure, and has a nice web (ssl'd of course) administration interface.
It also has some decent modules that can be slapped in very easily. and some built in toys for application building (like support for a number of databases out of the box).
The product is free, but they'll want to try to sell you site developement tools and the like after you've had a chance to use it. It's also written in a strangish language called pike, but you really don't have to deal with it much if at all, and if you're familiar with C, then pike will look very normal to you. Pike is basically C, but in an interpreted form like perl.
-
Re:OpenBSD
I have to agree about the disk partitioning being exciting - It was the excitement of feeling like a newbie all over again, the overwealming urge to understand what I was playing with. I was so excited by the new things to explore, it was like I was a young (non burned out from grad school) geek all over again
:-)
(on a humorous note, I accidentaly blew away that first install at 3:00 am later that night, when I was trying to figure out if I had assigned space correctly, and decided to run mkfs on the c slice, which appeared to have a lot of room on it...
I learned a lot about FFS exploring the resulting damaged filesystems )
On a final aside, if anyone out there runs Roxen on OpenBSD, and they've been able to get multithreading working, or have an easier way to get user authentication working than patching the pike crypt functions to use blowfish, please let me know... -
Roxen Challenger
Roxen Challenger offers some of the features you wrote, and some others.
It has its markup language (RXML, but an XML-based version is coming up), which is easily expandable (it can use itself to define new tags). It offers quite a lot of functionalities for dynamic sites, without requiring CGIs. Native database connectivity (in RXML, but not only), web-driven configuration, support for dynamic images generation (mainly used to generate graphic texts and diagrams), support for many different protocols (HTTP, FTP, GOPHER, you can even play tetris with it), and can act as an HTTP proxy.
Oh, it's fast too (the "next version"(tm) has been benchmarked [Warning! I said benchmarked!] serving 12000 requests/second on a double PII/350 running Solaris). It can run either as a single thread or multithreaded. Being a single-process server, it can cache aggressively (no more performance bottlenecks because of DNS). By the way, it has its own asynchronous implementation of the DNS protocol, a nice extra boost.
It doesn't support WebDAV, but there are products based on it which offer templatized site construction.
It's written in pike (it has LPC origins for you MUDders) -
Re:ColdFusion for Linux/Unix
Not exactly the same but pretty damn close is the Roxen Webserver a GPL'ed server that runs on just about anything you can run GCC (ie. most unix flavours and windoze).
Like CF it has it's own HTML-metatags (extendable in many ways) that makes a own meta-languagae (RXML).
Idonex that produces this product gets its doe by selling pre-packaged Roxen servers, and really smart Roxen server addons. -
Roxen Challenger
I have noticed that a number of people have mentioned Zeus and thttpd as alternatives to Apache. I know a few people who say they have also had success with the Roxen Challenger server. Does anyone know how Roxen performes in comparison to the other three? From what I've heard it is excellent for static pages, which sounds like what is on the art site described here.
-
Re:Major Performance Boost
Or just change webserver.
Some (I use Roxen Challenger) use a single-process approach.
They "compile" and then embed your scripts into the main process, and so you save time because you don't need to fire up the interpreter.
Also, because of the long-lived, single-process approach, you can share the DB connections among your scripts, and most of all cache