News : The level of daily SPAM has reached insane proportions, all registrations are now manual. I ask you to send me an e-mail (john (at) murga (dot) org), to confirm that you want me to create an account for you.


Post Reply  Post Thread 
Pages (3): « First [1] 2 3 Next > Last »
How to advertise?
Author Message
mikshaw
Senior Member
****


Posts: 522
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 5
Post: #1
How to advertise?

To be completely honest, there are very few software projects that I get excited about. I like the Damn Small Linux distribution, and am active on the DSL forums, and I love the fact that there are so many other active and creative Linux distros. But individual applications don't usually excite me unless they perform a task that 1) Everyone else is using an unneccesarily bloated or complex program to accomplish, or 2) No one else is doing. There are currently only a few projects I know of that are doing one or both of those very well, in my opinion, and one of those is murgaLua. MurgaLua is exciting to me because it provides a way to create graphical interfaces that can be anything from a simple GUI for an existing commandline program to a full unique program in itself, and it does it in a very small and fast script that is fully readable and editable. There is no other project that does this both so well and so lightly (and there are only a handful of projects that do it at all). It can also be used as a replacement for the official Lua interpreter in most cases.

So now the question arises: How do we spread this to others, those who maybe have been using Tcl/Tk or Perl or Python, but wishing there was something lighter and simpler for their apps? How might it be possible to get murgaLua known and used to the point where it might even eventually be listed on the tracked packages at distrowatch?

Most of the world, even most of the open source world, has no knowledge of murgaLua, and I think that's sad.

01-21-2008 12:42 PM
Find all posts by this user Quote this message in a reply
iGame3D
Moderator
***


Posts: 231
Group: Moderators
Joined: Apr 2007
Status: Offline
Reputation: 0
Post: #2
RE: How to advertise?

This has been tempting to me since I first found the program.

I tried to get support for the PPC build at the mac game developers forum early on, no response.
I dropped a link on the kids at openlua.com, but they seem tied up in some kind MMO game they script for.

I've been tempted to post it to versiontracker, it should get a few interested people there,
however I didn't want to jump the gun and get a "What the hell are you doing!??!" email from John.

The forums at Icy North get a lot of views, but very little (like zero) forum feedback.
I could post there and see what rolls in.

A post to the lua list theoretically should do something positive.

I think what I've been waiting for mostly is a solid set of demos/docs.
Your reference script comes to mind.

A couple of the early murgaLua demos were broken by 0.5.5's changes,
and there are some fixes needed in the tutorials.
We should address those before people get stumped.

I'm always curious why John hasn't set up a luaforge or sourceforge for this.

I tried to set up a luaForge project last year and it didn't work, and they didn't get back
to my support request so I went ahead and put everything on sourceforge.

We could always modify that extra lua project I have there and use it for murgaLua support scripts
and docs, that way it at least shows up in a general search there.

Well thats some options and ideas.

01-21-2008 05:31 PM
Visit this user's website Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #3
RE: How to advertise?

I thought I'd post a quick response, but I am running late for work ...

I think you are right, the main thing is for me to fix the docs and get some glossy demos out ...

mikshaw's reference script is an awesome demo, and goes a long way.

With that and and nice UIs for the compiler it'll be easier ...

But when I am ready I was going to write an article for the Linux and Windows mags, send it off and see if it gets published ... However, once that happens things will reach critical mass :-)

Anyway, have a nice day guys !

Cheers
JohnM

01-21-2008 05:51 PM
Visit this user's website Find all posts by this user Quote this message in a reply
asafp
Member
***


Posts: 81
Group: Registered
Joined: Jan 2008
Status: Offline
Reputation: 0
Post: #4
RE: How to advertise?

One problem with something like murgalua is it's only as strong as it's weakest link. If one of the components has a problem, all of murgalua is tarnished. Right now, it seems like luasocket is pretty weak. The documentation is scarce and I've found 2 serious problems just in superficial testing. It's hard to overcome that with advertising.

One problem is that no headers are returned on a get request. If you pass it a URL for a site that doesn't exist, luasocket just wretches and heaves. I also tried the coroutine example for luasocket in the 5.1 "Programming in Lua" book and couldn't get it to work at all. Of course, it's a complex example, so it's not too frightening that it doesn't work and it's definitely possible I botched something up. On the other hand, if a powerful technique like efficiently processing multiple http get requests worked, that would be a major selling point for murgalua.

01-23-2008 04:19 AM
Visit this user's website Find all posts by this user Quote this message in a reply
iGame3D
Moderator
***


Posts: 231
Group: Moderators
Joined: Apr 2007
Status: Offline
Reputation: 0
Post: #5
RE: How to advertise?

I think the major benefit of getting the word out is having more people to test and discover where the weak links are. With just a few of us it takes longer to nail these
things down. With a larger group there are more needs and wants and therefore more tests, questions, and observations.

Speaking from my experience with iGame3D where there is basically just two of us working at it year over year which leads to large amounts of time passing between an implemented feature and finding a bug or coming up with various solutions that use that feature.

A solid dedicated group of explorers is priceless or a support headache, depending on what they bring to the table or not.

I haven't touched luasocket in months so your experience above might have taken me two years to get to. Thanks for giving us a heads up.

This post was last modified: 01-24-2008 12:05 PM by iGame3D.

01-23-2008 08:45 AM
Visit this user's website Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #6
RE: How to advertise?

asafp Wrote:
One problem with something like murgalua is it's only as strong as it's weakest link.  If one of the components has a problem, all of murgalua is tarnished.  Right now, it seems like luasocket is pretty weak.  The documentation is scarce and I've found 2 serious problems just in superficial testing.  It's hard to overcome that with advertising.

Yup :-(

That's what I need feedback for :-)

asafp Wrote:
One problem is that no headers are returned on a get request.  If you pass it a URL for a site that doesn't exist, luasocket just wretches and heaves.  I also tried the coroutine example for luasocket in the 5.1 "Programming in Lua" book and couldn't get it to work at all.  Of course, it's a complex example, so it's not too frightening that it doesn't work and it's definitely possible I botched something up.  On the other hand, if a powerful technique like efficiently processing multiple http get requests worked, that would be a major selling point for murgalua.

Have you taken a look at COPAS ? It's in there to help with concurrent networking issues in LuaSocket ...

As for your other issue, it would help if you send me more info (code examples), and I can get it working or fix the bug that breaks it :-)

I would really appreaciate code examples that demostrate problems because it saves me time (which is my most precious commodity right now).

I was thinking of writing a simple multi-threaded HTTP server (with COPAS), is that what you are thinking of ?

Cheers
JohnM

This post was last modified: 01-24-2008 07:05 PM by JohnMurga.

01-24-2008 07:02 PM
Visit this user's website Find all posts by this user Quote this message in a reply
asafp
Member
***


Posts: 81
Group: Registered
Joined: Jan 2008
Status: Offline
Reputation: 0
Post: #7
RE: How to advertise?

I fixed the problem with headers. I had an ipairs loop to process them. I changed it to pairs and everything is cool. Greenhorn mistake.

This luasocket http get request program demonstrates exception occurs if website doesn't exit.

function GetHtml(urlin)
local http=require('socket.http')
local url=require('socket.url')
local ltn12 = require("ltn12")
local mime = require("mime")
local urlname=urlin
local t={}
--print (os.date(),urlname)
local r, c, h, w = http.request {
method = "GET",
headers = {["Useragent"]='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
["Content-Type"] = "application/x-www-form-urlencoded",
["Connection"]="Keep-Alive"},
url = urlname,
redirect = true,
sink = ltn12.sink.table(t)
-- sink = ltn12.sink.file(io.stdout)
}
print ('r=',r)
print ('c=',c)
print ('w=',w)
for k,v in pairs(h) do
print (k,v)
end
return table.concat(t), c, h
end
x=GetHtml('http://whatismyip.com')
x=GetHtml('http://iamabogusurl.com')

01-25-2008 06:12 AM
Visit this user's website Find all posts by this user Quote this message in a reply
asafp
Member
***


Posts: 81
Group: Registered
Joined: Jan 2008
Status: Offline
Reputation: 0
Post: #8
RE: How to advertise?

This is the coroutine download function from the 5.1 "Programming in Lua" book. It gives error "attempt to call global 'receive' (a nil value)".

http=require('socket.http')
function download (host, file)
local c = assert(socket.connect(host, 80))
local count = 0 -- counts number of bytes read
c:send("GET " .. file .. " HTTP/1.0\r\n\r\n")
while true do
local s, status = receive©
print (status, string.len(s))
count = count + string.len(s)
if status == "closed" then break end
end
c:close()
print(file, count)
end
host = "www.w3.org"
download(host, "/TR/html401/html40.txt")

This is the entire coroutine example. It just hangs up.

function download (host, file)
local c = assert(socket.connect(host, 80))
local count = 0 -- counts number of bytes read
c:send("GET " .. file .. " HTTP/1.0\r\n\r\n")
while true do
local s, status = receive©
print (status, string.len(s))
count = count + string.len(s)
if status == "closed" then break end
end
c:close()
print(file, count)
end
threads = {} -- list of all live threads
function get (host, file)
-- create coroutine
local co = coroutine.create(function ()
download(host, file)
end)
-- insert it in the list
table.insert(threads, co)
end
function receive (connection)
connection:timeout(0) -- do not block
local s, status = connection:receive(2^10)
if status == "timeout" then
coroutine.yield(connection)
end
return s, status
end
function dispatcher ()
while true do
local n = table.getn(threads)
if n == 0 then break end -- no more threads to run
local connections = {}
for i=1,n do
local status, res = coroutine.resume(threads[i])
print 'howdy'
if not res then -- thread finished its task?
table.remove(threads, i)
break
else -- timeout
table.insert(connections, res)
end
end
if table.getn(connections) == n then
socket.select(connections)
end
end
end
host = "www.w3.org"
download(host, "/TR/html401/html40.txt")
get(host, "/TR/html401/html40.txt")
get(host,"/TR/2002/REC-xhtml1-20020801/xhtml1.pdf")
get(host,"/TR/REC-html32.html")
get(host,"/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.txt")
dispatcher() -- main loop

01-25-2008 06:27 AM
Visit this user's website Find all posts by this user Quote this message in a reply
asafp
Member
***


Posts: 81
Group: Registered
Joined: Jan 2008
Status: Offline
Reputation: 0
Post: #9
RE: How to advertise?

John, I'd like to help however I can with the skills that I have.

I am working on client side spider type applications. It would be fantastic to be able to retrieve multiple URLs in a straightforward, reliable, efficient manner. I'm not aware of any programming language (even commercial ones) that let you do this without a lot of complications.

01-25-2008 06:52 AM
Visit this user's website Find all posts by this user Quote this message in a reply
mikshaw
Senior Member
****


Posts: 522
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 5
Post: #10
RE: How to advertise?

Have you tried putting the functions above the rest of the commands? Lua (or at least murgaLua) seems to run line-by-line, meaning that if it tries to run receive before the receive function is defined, it will fail.

01-25-2008 07:33 AM
Find all posts by this user Quote this message in a reply
Pages (3): « First [1] 2 3 Next > Last »
Post Reply  Post Thread 

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump: