From: Panagiotis Atmatzidis Date: 2013-06-16T06:24:59+09:00 Subject: Re: Can I use Sinatra to render dynamic pages? --Apple-Mail=_C4CD4254-63DA-4CB9-AFE2-A3F288970D8E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 15 =CE=99=CE=BF=CF=85=CE=BD 2013, at 18:46 , Ruby Student = wrote: > Nick and everyone else, >=20 > Please accept my apologies if I hurt or insulted anyone feeling with = my blatant and clearly lack of knowledge and understanding. Please let = me elaborate: >=20 > I am an AIX system administrator not a programmer, although back on = the '70s I was heavily into assembler programming. I am trying to learn = Ruby as it appears to me kind of much simpler than other languages such = as C, Java, etc. I like simple and easy tools that can help me do my job = more efficient. >=20 > My statement about "overkill" WAS NOT INTENDED TO BE FOR Sinatra. If = you go back you'll find that I was talking about TomCat. I meant to say = that perhaps TomCat was overkill for the simple thing that I wanted to = do. I started playing with Sinatra and I to find it simple and very easy = to learn and use. >=20 > As I stated on my original post, I want to create a simple web-based = application, which will be invoked from a browser. > I will read a file every second. The file contains certain information = that changes continuously, 24X7 from January 1 to December 31. This = information collection NEVER stops. >=20 > I have NEVER done anything web related, NEVER. Perhaps, due to my lack = of knowledge, I am not posting my question correctly. >=20 > I want: >=20 > The user to fire up a browser pointing to my server URL > My application will accept the request and send data to the user's = browser > My application will, every second, read the content of the file and = get the new counters > Display the new information, counter, on the browser WITHOUT THE USER = HAVING TO REFRESH IT. In other words, I want to refresh the browser's = content without user having to do anything. The new information must be = continuously be updated and displayed. > As I said earlier, I did this using Ruby/Shoes, but this needs to be = used by a number of people and I would have to install Ruby and Shoes = every desktop that needs to use this Dashboard. >=20 > Someone suggested Javascript but I don't want to start learning yet = another programming tool when I think that Ruby and some web tool such = as Sinatra might be able to help me with this. Rails was also suggested. = I am probably still not making any sense! >=20 > I do want to thank you and others for all the answers already posted = and perhaps the ones to come. >=20 > Ruby Student >=20 >=20 > On Fri, Jun 14, 2013 at 9:01 PM, Nicholas Van Weerdenburg = wrote: > Sinatra is as lightweight and simple a framework you can choose for = doing a web app. You can create a complete app in a single file with = template included! >=20 > There is no such thing as Sinatra being overkill for a project. IMHO, = the only simpler alternative is using paper, scissors and glue :) >=20 > I love Sinatra and highly recommend it for anyone learning web = development. Give it a shot- it's a fantastic piece work. >=20 > Did you know that there are dozens, if not more, clones of Sinatra = across different languages? >=20 > And the monster framework for the Node.js, Express, is Sinatra = inspired? >=20 > And as Hassan mentioned, Tomcat is a "servlet" container for Java = servlets. Not really related, and far, far more complicated than using = Ruby and Sinatra. I almost had post-traumatic stress syndrome flashbacks = seeing that word- I haven't use Tomcat in over eight years. >=20 > Good luck! >=20 > Cheers, > Nick >=20 >=20 > On Fri, Jun 14, 2013 at 9:14 AM, Ruby Student = wrote: > Well, I got some good suggestions from everyone here. I thank you all = for that! > Now I just need to analyze each suggestion and pick he easiest for me. = I am not by any mean a mature ruby programmer and I like to do things as = easy and simple as possible. If Sinatra is overkill for what I want, = perhaps I should look into something different. I was wondering if = TomCat might be what I need. Anyway, the entire affair is kind of = confusing to me as this is the first time I deal with this type of = thing. >=20 > As I said, I am very grateful to all of you for taking the time to = answer my post. >=20 >=20 >=20 > On Thu, Jun 13, 2013 at 11:55 PM, Nicholas Van Weerdenburg = wrote: > You should be able to do this without JavaScript by using streaming. >=20 > Sinatra has a streaming API as of 1.3. Rails 4.0 is adding a "live" = mode for similar. >=20 > However you need to use a supporting web server and hook into the = event loop (which Rack exposes). >=20 > https://gist.github.com/rkh/1476463 offers an example, but note that = the heroku app is broken (look at the comments for a link to a patched = version). >=20 > Nick >=20 >=20 > On Thu, Jun 13, 2013 at 5:41 PM, Ruby Student = wrote: > Hell Team, >=20 > I wrote a very simple dashboard using shoes which basically displays = statistics, every second, of certain type of messages arriving at a = queue under MQ. But in order for anyone to use it they have to install = Ruby, shoes and its requirements. So I started experimenting with = Sinatra to re-write my simple application so anyone could point their = browser and get the dashboard displayed. I went over the first basic = Sinatra tutorial but everything appears to be static. Is there any = example out there that shows Sinatra dynamically refreshing the page = continuously with new information, in my case message queues = information? >=20 > In other words, once the user successfully get the page displayed, = from that point on I want the content to be refreshed dynamically with = the new information without user intervention. >=20 > Thank you >=20 > --=20 > Ruby Student >=20 >=20 >=20 >=20 > --=20 > Ruby Student >=20 >=20 >=20 >=20 > --=20 > Ruby Student Sinatra is *really* simple and you can fire an application in no time. I = wrote a simple display website for a digital signage and the first = vesion was up and running in a about 2 hours and I didn't knew anything = about web development either. JavaScript is a pain in the ass. HTML is easy to learn but hard to = master and I hate CSS with a passion but by trial-and-error you can come = with a decent theme. I tried to use Coffeescript but I ended up just = copying code snippets and modifying them with only a slight idea of = what's going on. Not a good thing. Just learn JavaScript, it's used for = about anything and jokes apart: Sinatra + (HTML+CSS3+JavaScript) can = even get you a job. I'm scratching rail's surface right now, till at least, everything seems = really easy because of my little tiny sinatra bg: routers, helpers = (although never used them I know what they are and how they should be = used), viewers, logs and other predefined paths (sinatra is not MVC but = could be if you want to), and so own. With sinatra I used Sequel and = datamapper as ORM. I consider sequel a bit more up2date although DM = received an update about 15 days ago (After 2 years). I wrote all just to say that learning Sinatra is easy so don't be = afraid. Learning JavaScript (apparently) is hard but it's worthy. Best regards Panagiotis (atmosx) Atmatzidis email: atma@convalesco.org URL: http://www.convalesco.org GnuPG ID: 0x1A7BFEC5 gpg --keyserver pgp.mit.edu --recv-keys 1A7BFEC5 -- The wise man said: "Never argue with an idiot. They bring you down to = their level and beat you with experience." --Apple-Mail=_C4CD4254-63DA-4CB9-AFE2-A3F288970D8E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 ruby.student@gmail.com> = wrote:
Nick and = everyone else,

Please accept my apologies if I hurt or = insulted anyone feeling with my blatant and clearly lack of knowledge = and understanding. Please let me elaborate:

I am an AIX system = administrator not a programmer, although back on the '70s I was heavily = into assembler programming. I am trying to learn Ruby as it appears to = me kind of much simpler than other languages such as C, Java, etc. I = like simple and easy tools that can help me do my job more = efficient.

My statement about "overkill" WAS NOT INTENDED TO BE FOR = Sinatra. If you go back you'll find that I was talking about = TomCat. I meant to say that perhaps TomCat was overkill = for the simple thing that I wanted to do. I started playing with = Sinatra and I to find it simple and very easy to learn and = use.

As I stated on my original post, I want to create a simple = web-based application, which will be invoked from a browser.
I = will read a file every second. The file contains certain information = that changes continuously, 24X7 from January 1 to December 31. This = information collection NEVER stops.

I have NEVER done anything web related, NEVER. Perhaps, = due to my lack of knowledge, I am not posting my question = correctly.

I want:

  1. The user = to fire up a browser pointing to my server URL
  2. My application will accept the request and send data to the user's = browser
  3. My application will, every second, read the content of = the file and get the new counters
  4. Display the new information, = counter, on the browser WITHOUT THE USER HAVING TO REFRESH IT. In other = words, I want to refresh the browser's content without user having to do = anything. The new information must be continuously be updated and = displayed.
As I said earlier, I did this using = Ruby/Shoes, but this needs to be used by a number of people and I = would have to install Ruby and Shoes every desktop that needs to use = this Dashboard.

Someone suggested Javascript but I don't want to start = learning yet another programming tool when I think that Ruby and some = web tool such as Sinatra might be able to help me with this. = Rails was also suggested. I am probably still not making any = sense!

I do want to thank you and others for all the answers = already posted and perhaps the ones to = come.

Ruby = Student


On Fri, Jun 14, 2013 at 9:01 PM, = Nicholas Van Weerdenburg <vanweerd@gmail.com> = wrote:
Sinatra is as lightweight and simple a framework you = can choose for doing a web app.  You can create a complete app in a = single file with template included!

There is no such = thing as Sinatra being overkill for a project. IMHO, the only simpler = alternative is using paper, scissors and glue :)

I love Sinatra and highly recommend it for anyone = learning web development. Give it a shot- it's a fantastic piece = work.

Did you know that there are dozens, if = not more, clones of Sinatra across different languages?

And the monster framework for the Node.js, Express, = is Sinatra inspired?

And as Hassan mentioned, = Tomcat is a "servlet" container for Java servlets. Not really related, = and far, far more complicated than using Ruby and Sinatra. I almost had = post-traumatic stress syndrome flashbacks seeing that word- I haven't = use Tomcat in over eight years.

Good = luck!

Cheers,
Nick


On Fri, Jun 14, = 2013 at 9:14 AM, Ruby Student <ruby.student@gmail.com> wrote:
Well, I got some good suggestions from everyone = here. I thank you all for that!
Now I just need to analyze each = suggestion and pick he easiest for me. I am not by any mean a mature = ruby programmer and I like to do things as easy and simple as possible. = If Sinatra is overkill for what I want, perhaps I should look into = something different. I was wondering if TomCat might be what I need. = Anyway, the entire affair is kind of confusing to me as this is the = first time I deal with this type of thing.

As I said, I am very grateful to all of you for taking the = time to answer my post.



On Thu, = Jun 13, 2013 at 11:55 PM, Nicholas Van Weerdenburg <vanweerd@gmail.com> wrote:
You should be able to do this without JavaScript by = using streaming.

Sinatra has a streaming API as = of 1.3. Rails 4.0 is adding a "live" mode for similar.

However you need to use a supporting web server and hook into = the event loop (which Rack exposes).

https://gist.github.com/rkh/1476463 offers an = example, but note that the heroku app is broken (look at the comments = for a link to a patched version).

Nick


On Thu, = Jun 13, 2013 at 5:41 PM, Ruby Student <ruby.student@gmail.com> wrote:
Hell Team,

I wrote a very simple = dashboard using shoes which basically displays statistics, every = second, of certain type of messages arriving at a queue under MQ. = But in order for anyone to use it they have to install = Ruby, shoes and its requirements. So I = started experimenting with Sinatra to re-write my simple = application so anyone could point their browser and get the = dashboard displayed. I went over the first basic Sinatra tutorial = but everything appears to be static. Is there any example out there that = shows Sinatra dynamically refreshing the page continuously with = new information, in my case message queues information?

In other words, once the user successfully get the page = displayed, from that point on I want the content to be refreshed = dynamically with the new information without user = intervention.

Thank you

--
Ruby Student




--
Ruby Student




--
Ruby Student


Sinatra is *really* simple = and you can fire an application in no time. I wrote a simple display = website for a digital signage and the first vesion was up and running in = a about 2 hours and I didn't knew anything about web development = either.

JavaScript is a pain in the ass. HTML = is easy to learn but hard to master and I hate CSS with a passion but by = trial-and-error you can come with a decent theme. I tried to use = Coffeescript but I ended up just copying code snippets and modifying = them with only a slight idea of what's going on. Not a good thing. Just = learn JavaScript, it's used for about anything and jokes apart: Sinatra = + (HTML+CSS3+JavaScript) can even get you a = job.

I'm scratching rail's surface right now, = till at least, everything seems really easy because of my little tiny = sinatra bg: routers, helpers (although never used them I know what they = are and how they should be used), viewers, logs and other predefined = paths (sinatra is not MVC but could be if you want to), and so own. With = sinatra I used Sequel and datamapper as ORM. I consider sequel a bit = more up2date although DM received an update about 15 days ago (After 2 = years).

I wrote all just to say that learning = Sinatra is easy so don't be afraid. Learning JavaScript (apparently) is = hard but it's worthy.

Best = regards

atma@convalesco.org
URL: = http://www.convalesco.org
GnuPG ID: 0x1A7BFEC5
gpg = --keyserver pgp.mit.edu --recv-keys 1A7BFEC5
--
The wise man = said: "Never argue with an idiot. They bring you down to their = level and beat you with experience."

= --Apple-Mail=_C4CD4254-63DA-4CB9-AFE2-A3F288970D8E--