installing towerjs from github... another discussion on irc
Apr 20 23:50:44 <denysonique> viatropos: How can I use a git cloned Tower into my local project node_modules dir
Apr 20 23:50:57 <denysonique> I cloned and ran npm install in that dir
Apr 20 23:51:10 <denysonique> and I get this Error: Cannot find module 'underscore.logger'
Apr 20 23:51:25 <denysonique> sorry I mean this: Error: Cannot find module 'active-x-obfuscator'
Apr 20 23:51:30 <viatropos> not sure about the missing module
Apr 20 23:51:35 <viatropos> are you on windows?
Apr 20 23:51:40 <denysonique> Linux
Apr 20 23:51:51 <viatropos> ok, i'm on mac, haven't tried linux but it should work
Apr 20 23:51:57 <denysonique> viatropos: what is the procedure to run tha latest version?
Apr 20 23:52:00 <viatropos> here's what i do...
Apr 20 23:53:31 <viatropos> git clone tower repo to my "git/community" folder (where I store all my forked repos), run npm install, then run `npm link`. that links it to the global npm cache. then in your specific project, say a generated tower app, run `npm link tower`, and it will create a symlink to the cloned one.
Apr 20 23:53:33 <viatropos> does that help
Apr 20 23:53:34 <viatropos> ?
Apr 20 23:55:18 <viatropos> then to compile the tower source, I've been using design.io, but it doesn't have linux support yet... someone added it in a pull request tho (to design.io repo)
Apr 20 23:56:13 <denysonique> hmm, I am just cloning
Apr 20 23:56:32 <denysonique> viatropos: btw, why have you decided to move from 100% Rails to 100% Node?
Apr 21 00:03:33 <denysonique> viatropos: I followed your steps. Now I get: Error: Cannot find module 'traverse'
Apr 21 00:04:30 <viatropos> make sure you have the latest version of npm, not sure why modules aren't installing. you should be able to install the missing ones one at a time
Apr 21 00:05:17 <denysonique> viatropos: yep, thats what I am doing right now, trying to install them one at a time
Apr 21 00:05:30 <viatropos> do you have the latest npm?
Apr 21 00:05:37 <viatropos> 1.1.6+
Apr 21 00:06:08 <denysonique> 1.1.0-2
Apr 21 00:06:09 <denysonique> ..
Apr 21 00:06:14 <denysonique> I am going to upgrade now
Apr 21 00:06:22 <denysonique> is there an internal npm upgrade command?
Apr 21 00:06:23 <viatropos> also, if there was ever an error when you ran `npm install`, try removing the node_modules directory and running `npm install` again.
Apr 21 00:06:30 <viatropos> yeah that's probably it
Apr 21 00:06:37 <viatropos> just go to the site and copy that line again
Apr 21 00:07:53 <viatropos> Rails had a very nice api, but it lacked [easy] real-time, and I was getting annoyed writing templates in HAML and Mustache, and models in ruby and javascript. Want one system.
Apr 21 00:08:26 <viatropos> I love writing frameworks too, so that was part of it
Apr 21 00:08:52 <denysonique> viatropos: So you prefer CoffeeKup over Slim/Jade/Haml?
Apr 21 00:08:56 <denysonique> hmm
Apr 21 00:09:02 <viatropos> definitely
Apr 21 00:09:12 <denysonique> I have just wrote my first coffeekup with Tower
Apr 21 00:09:16 <denysonique> edited*
Apr 21 00:09:29 <denysonique> as it was your coffeekup... scaffolded for me
Apr 21 00:09:51 <denysonique> hmm, I need to use it for a while before I can say anything about it
Apr 21 00:10:01 <viatropos> coffeekup is coffeescript, so you have the full power of javascript, whereas with jade you have specific helpers (`each`, etc.), or in jade/haml you have to have a special syntax for code
Apr 21 00:10:52 <viatropos> coffeescript for loops are as simple as jades, but they're javascript so there's no "magic" happening. I tried building a form builder in jade and it was a nightmare, in coffeekup it was very easy
Apr 21 00:11:08 <denysonique> hmm
Apr 21 00:11:15 <denysonique> but slim allows you to execute coffeescript
Apr 21 00:11:53 <denysonique> I used to use this https://github.com/jfirebaugh/skim
Apr 21 00:12:00 <denysonique> Slim for the client side
Apr 21 00:12:40 <viatropos> that's cool
Apr 21 00:12:56 <viatropos> but it's ruby, and I want to eventually move away from ruby entirely (for Tower at least)
Apr 21 00:13:29 <viatropos> after moving to node.js I have no desire to back to rails, it feels like going back to java, no joke
Apr 21 00:14:21 <e_dub> not to mention that its the general direction of the industry, I'd rather be at the front of the train than the back
Apr 21 00:14:22 <denysonique> is it true that if you use only one language for developing a web app ie no switching between coffee and Ruby you will be more productive as there will be less overhead?
Apr 21 00:15:08 <denysonique> well, Tower js might be the only one reason why I will develop my new apps in node/coffee
Apr 21 00:15:40 <denysonique> instead of Rails
Apr 21 00:17:23 <denysonique> There is one thing I don't like about node
Apr 21 00:17:26 <viatropos> denysonique: I wouldn't say switching between languages makes you less productive, but having to manage two sets of templates and two sets of models slows you down, because now you have to find a validation library, a string formatting library, date formatting, url parsing, geo helpers, money formatters, pagination, etc. in both ruby and javascript
Apr 21 00:17:29 <viatropos> that's where it becomes a pain
Apr 21 00:17:54 <denysonique> Most of the sample code is written in javascript...
Apr 21 00:17:57 <denysonique> I prefer coffee
Apr 21 00:18:03 <denysonique> javascript is ugly
Apr 21 00:18:14 <viatropos> I agree.
Apr 21 00:18:18 <denysonique> I don't like reading examples in js
Apr 21 00:18:58 <denysonique> viatropos: Thank you, now I am running bleeding edge from master
Apr 21 00:19:13 <denysonique> hmm
Apr 21 00:19:34 <viatropos> The way i see it though, the "hardcore of the hardcore" developers were first to node, the ones who are masters of the operating system and/or computer science majors, and they like things like vim and formal languages backed by years of computer science research
Apr 21 00:19:45 <viatropos> they prefer javascript
Apr 21 00:19:49 <denysonique> also I get this weird error:
Apr 21 00:19:49 <denysonique> [Sat, 21 Apr 2012 05:18:48 GMT] ERROR /home/dennis/.rvm/gems/ruby-1.9.3-p125/gems/rb-fsevent-0.9.1/bin/fsevent_watch: 1: cannot open ��: No such file
Apr 21 00:19:49 <denysonique> /home/dennis/.rvm/gems/ruby-1.9.3-p125/gems/rb-fsevent-0.9.1/bin/fsevent_watch: 1: ������
Apr 21 00:19:49 <denysonique> �t�
Apr 21 00:19:49 <denysonique> �����0
Apr 21 00:19:54 <denysonique> hmm
Apr 21 00:20:03 <denysonique> is tower telling fs-event to watch this weird filename?
Apr 21 00:20:06 <viatropos> but the new coders, and the ones who are more concerned with life outside computers, prefer coffeescript :)
Apr 21 00:20:18 <e_dub> denyson thats because we're on linux
Apr 21 00:20:23 <viatropos> yeah, that's design.io for mac
Apr 21 00:20:34 <viatropos> haven't gotten around to that, but someone has added linux support
Apr 21 00:20:50 <viatropos> https://github.com/viatropos/design.io/pull/9
Apr 21 00:21:08 <e_dub> oh awesome viatropos, that answers my question/statement about the client side testing stuff then
Apr 21 00:21:30 <viatropos> merged it in, you can try installing it with `npm install http://github.com/viatropos/design.io.git`
Apr 21 00:21:57 <denysonique> yep
Apr 21 00:21:57 <denysonique> heh
Apr 21 00:22:11 <viatropos> did that work?
Apr 21 00:22:11 <denysonique> I just noticed the commit, and thought you were going to tell me now about it here
Apr 21 00:22:12 <e_dub> cool, should i install that locally to the project or globally?
Apr 21 00:22:15 <denysonique> thanks
Apr 21 00:22:17 <denysonique> viatropos: let my try
Apr 21 00:22:39 <viatropos> e_dub: probably both
Apr 21 00:22:42 <e_dub> cool
Apr 21 00:23:51 <denysonique> viatropos: please change the topic of the channel
Apr 21 00:23:58 <e_dub> I'm getting a weird error message from npm
Apr 21 00:24:10 <denysonique> I joined it earlier today and thought it was the wrong one
Apr 21 00:24:15 <viatropos> denysonique: i have no idea how to
Apr 21 00:24:24 <viatropos> denysonique: what do I do
Apr 21 00:24:24 <denysonique> viatropos: you need to op yourself
Apr 21 00:24:36 <denysonique> via chanServ
Apr 21 00:24:41 <viatropos> what's the command?
Apr 21 00:24:41 <e_dub> denyson, until really recently there was almost never anyone in here
Apr 21 00:24:46 <denysonique> viatropos: /msg ChanServ help
Apr 21 00:25:15 <denysonique> e_dub: I beleive that IRC is very important for very early stage projects
Apr 21 00:25:38 * ChanServ gives channel operator status to viatropos
Apr 21 00:25:40 <e_dub> oh definitely, best way to get quick answers
Apr 21 00:26:16 <denysonique> viatropos: /msg chanserv set #towerjs guard on
Apr 21 00:26:31 <e_dub> for noobs like me its extremely helpful to be able to talk one-on-one with people that know what they are doing
Apr 21 00:26:35 * viatropos has changed the topic to: towerjs.com -- Questions? Ask here or post on StackOverflow with the tag `towerjs`
Apr 21 00:26:43 <denysonique> (:
Apr 21 00:26:47 <e_dub> cool
Apr 21 00:27:32 <viatropos> e_dub: post the error in a gist if you want
Apr 21 00:27:43 <e_dub> ok good idea
Apr 21 00:28:10 <denysonique> haha: 'rvm gemset use 1.9.2@rails3'
Apr 21 00:28:52 <denysonique> viatropos: would you like a pull which fixes this?
Apr 21 00:29:02 <denysonique> I can gitignore it
Apr 21 00:29:05 <viatropos> perfect
Apr 21 00:29:06 <denysonique> -> design.io
Apr 21 00:29:25 <viatropos> sounds good
Apr 21 00:29:43 <e_dub> https://gist.github.com/2434297
Apr 21 00:30:31 <viatropos> e_dub: you can also post them as private gists so they don't show up on search results
Apr 21 00:30:40 <denysonique> viatropos: https://github.com/viatropos/design.io/pull/12
Apr 21 00:31:00 <viatropos> denysonique: thanks!
Apr 21 00:31:06 <denysonique> you are welcome
Apr 21 00:31:32 <viatropos> e_dub: what version of npm are you using? make sure it's the latest (1.1.6+)
Apr 21 00:31:43 <viatropos> e_dub: sorry, it's right there (:
Apr 21 00:31:59 <denysonique> viatropos: but I think the file needs to be also removed as well right? the .rvmrc?
Apr 21 00:32:13 <denysonique> I haven't used gitignore for a while
Apr 21 00:32:29 <viatropos> e_dub: oh, the path was wrong, needs to be `npm install git://github.com/viatropos/design.io.git`
Apr 21 00:33:17 <viatropos> denysonique: yeah, `git rm -r --cached . ; git add . ; git commit -a -m 'removed file'`
Apr 21 00:35:08 <e_dub> awesome, that works
Apr 21 00:35:18 <viatropos> sweet
Apr 21 00:35:34 <e_dub> awesome, yay, no ugly red error messages
Apr 21 00:35:40 <e_dub> when i run server
Apr 21 00:36:36 <viatropos> cool
Apr 21 00:37:01 <viatropos> glad it works, I will publish design.io to npm then
Apr 21 00:37:03 <denysonique> viatropos: https://github.com/viatropos/design.io/pull/13
Apr 21 00:37:29 <viatropos> thanks!
Apr 21 00:37:33 <denysonique> np
Apr 21 00:37:38 <viatropos> denysonique: does it work for you too?
Apr 21 00:37:49 <denysonique> viatropos: just about to test
Apr 21 00:40:42 <e_dub> ok now my larger question, the issue i posted about here: https://github.com/viatropos/tower/issues/107
Apr 21 00:41:25 <e_dub> I'm trying to figure out whats going on with it. the expected behavior, of course, is to save the data and then return the user or maybe redirect to the list of user or the index or something
Apr 21 00:41:47 <e_dub> i dunno if i need to add code to what the scaffolding produced or what
Apr 21 00:42:51 <e_dub> i applied some of the changes to the javascripts from the pull request sebastian hoitz made, and I've gotten it so the server doesnt shut down, but now i just get a blank page instead of redirecting like i mentioned you'd think it would do
Apr 21 00:47:30 <viatropos> e_dub: responded to the issue
Apr 21 00:48:08 <denysonique> $ node server.js
Apr 21 00:48:08 <denysonique> info - socket.io started
Apr 21 00:48:08 <denysonique> [Sat, 21 Apr 2012 05:45:34 GMT] INFO Tower development server listening on port 3000
Apr 21 00:48:08 <denysonique> [Error: Target script does not exist: node_modules/design.io/bin/design.io]
Apr 21 00:48:17 <denysonique> but I think it might be a problem on my side
Apr 21 00:48:18 <viatropos> e_dub: That code require('mime').extension(@request.header("content-type")) needs to be adjusted. Wanna give it a shot?
Apr 21 00:48:41 <viatropos> denysonique: install design.io locally also
Apr 21 00:49:31 <e_dub> ok thank you, one more question and then i'll quit bugging you :) . dunno if you saw where I added some english translations of the japanese code comments on the everyauth example. I am such a noob to the proper ettiquete and stuff that I wanted to make sure that doing something like that wasnt stepping on anyone's toes
Apr 21 00:49:51 <e_dub> viatropos, I'll look into it, for sure
Apr 21 00:50:48 <viatropos> e_dub: not sure I saw that, do you have a link?
Apr 21 00:51:08 <denysonique> viatropos: I linked it before and it didn't work
Apr 21 00:51:08 <e_dub> yup 1 sec
Apr 21 00:51:16 <denysonique> but now after local isntall it works
Apr 21 00:51:16 <viatropos> e_dub: glad I could help, thanks for digging in.
Apr 21 00:51:23 <denysonique> viatropos: how can I check if design io works?
Apr 21 00:51:34 <denysonique> I changed a client controller and nothing changed without refreshing the page
Apr 21 00:51:38 <viatropos> denysonique: did you install the git repo locally?
Apr 21 00:51:54 <denysonique> viatropos: yes, now I did npm isntall from the git repo
Apr 21 00:52:07 <e_dub> its this example, in this issue: https://github.com/viatropos/tower/issues/50 ... and I just commented on the gists with my translation from the japanese
Apr 21 00:52:08 <viatropos> denysonique: oh ok, in another terminal window, start design.io with `design.io start`, that sets up the socket.io server
Apr 21 00:52:09 <denysonique> before I would clone
Apr 21 00:53:08 <viatropos> you may need to run `design.io start` in another terminal window in any project directory that has `node_modules/design.io`
Apr 21 00:53:32 <viatropos> denysonique: do the transcripts from irc get saved anywhere for reference?
Apr 21 00:53:36 <e_dub> ^^that works for me also
Apr 21 00:53:45 <denysonique> viatropos: thank you
Apr 21 00:53:52 <e_dub> viatropos, you can set "logging" in your irc client
Apr 21 00:53:52 <viatropos> e_dub: do you get livereloading?
Apr 21 00:53:58 <viatropos> k
Apr 21 00:54:00 <denysonique> viatropos: nope only on the computers of the the people on the room
Apr 21 00:54:06 <e_dub> let me try changing a file and see viatropos
Apr 21 00:54:09 <denysonique> viatropos: but there are services such as irc logger etc
Apr 21 00:54:12 <denysonique> irclogger.com
Apr 21 00:54:31 <viatropos> k
Apr 21 00:54:42 <denysonique> viatropos: or you can connect https://github.com/michaelowens/NodeJS-IRC-Bot
Apr 21 00:54:48 <denysonique> and save the longs using mongo
Apr 21 00:55:01 <denysonique> and then pubish using Tower.js
Apr 21 00:55:09 <denysonique> s/longs/logs/
Apr 21 00:55:16 <viatropos> denysonique: haha, that's awesome!
Apr 21 00:55:24 <viatropos> not today tho, maybe when I update the site
Apr 21 00:55:26 <e_dub> i use xchat for my client, and its under preferences, then chatting, logging
Apr 21 00:55:43 <e_dub> just click: enable logging of conversation to disk
Apr 21 00:56:20 <viatropos> I'm using Colloquy for mac
Apr 21 00:56:29 <denysonique> yes, but I guess he wants to publish them
Apr 21 00:56:31 <denysonique> viatropos: right?
Apr 21 00:56:48 <denysonique> anyway
Apr 21 00:56:49 <viatropos> no worries, I'll figure it out
Apr 21 00:56:50 <denysonique> re iRC
Apr 21 00:57:03 <denysonique> I wan't to develop an awesome IRC client using coffeescript
Apr 21 00:57:05 <denysonique> and webkit
Apr 21 00:57:11 <denysonique> it will be a desktop app
Apr 21 00:57:34 <denysonique> currently I am using QtRuby webkit for the webkit part
Apr 21 00:57:48 <e_dub> yup live reload works
Apr 21 00:57:49 <denysonique> as node-qt matures I will switch to node-qt
Apr 21 00:58:49 <viatropos> e_dub: awesome
Apr 21 00:59:09 <denysonique> yup
Apr 21 00:59:11 <denysonique> awesome
Apr 21 00:59:14 <denysonique> css changes
Apr 21 00:59:17 <denysonique> automagically
Apr 21 00:59:28 <denysonique> node.js is the future
Apr 21 00:59:40 <denysonique> Tower.js*
Apr 21 00:59:48 <viatropos> sweet
Apr 21 01:00:17 <denysonique> viatropos: you have already quit your day job to work on Tower.js, didn't you? ;>
Apr 21 01:00:37 <viatropos> no I work on both
Apr 21 01:00:57 <denysonique> hmm
Apr 21 01:01:18 <denysonique> I need to show design.io to my girlfriend and introduce here to Tower.js
Apr 21 01:01:23 <denysonique> she will love it
Apr 21 01:01:44 <denysonique> at least design.io
Apr 21 01:03:57 <e_dub> denysonique, if ur curious about the general direction of tower, check out this http://bit.ly/HPGXhz . in response to my question, I thought viatropos gave a very inspiring summary of where its going and when
Apr 21 01:05:33 <e_dub> and yes, design.io is amazing. i've never seen something where you can actually change javascripts/coffeescripts and have that piped to the browser without a server restart
Apr 21 01:06:17 <denysonique> hmm
Apr 21 01:06:31 <denysonique> it should rerender views (;
Apr 21 01:06:33 <denysonique> as well
Apr 21 01:06:48 <viatropos> denysonique: try to make it! super easy, here's how:
Apr 21 01:06:59 <denysonique> I am all ears
Apr 21 01:07:11 <denysonique> but it could be by default ;>
Apr 21 01:09:09 <denysonique> e_dub: I am going to do a todo demo app as well
Apr 21 01:09:22 <denysonique> e_dub: it is going to be SP no refresh ajax app
Apr 21 01:09:41 <e_dub> cool denyson, i'm looking forward to it eagerly
Apr 21 01:10:11 <denysonique> hmm
Apr 21 01:10:25 <viatropos> something lie https://gist.github.com/2434633
Apr 21 01:10:31 <viatropos> like*
Apr 21 01:10:38 <denysonique> e_dub: you can use tab completion in order to type my nick
Apr 21 01:10:44 <denysonique> e.g. den[tab]
Apr 21 01:10:46 <viatropos> am going to make it default, haven't had time yet
Apr 21 01:10:49 <denysonique> it will complete it for you
Apr 21 01:10:55 <e_dub> i'm very very slowly making some progress with following along with that tutorial as i mentioned. Recording my steps as I go. Gonna make a guide or something with it when I'm done so other noobs can follow the same route
Apr 21 01:11:24 <e_dub> until there's something specifically for tower anyways
Apr 21 01:12:25 <denysonique> hmm
Apr 21 01:12:35 <viatropos> denysonique: with design.io, you define "watch" tasks in ./Watchfile. It's just this: match a file pattern, and on `create|update|destroy` run some code to compile the changed file, then broadcast some json (socket.io), then in the client handle the `create|update|destroy` action!
Apr 21 01:12:36 <denysonique> if you are coming from rails you don't need much learning
Apr 21 01:13:02 <e_dub> oh right sorry, about shortening the nick denysonique . bad habit from other channels
Apr 21 01:13:56 <e_dub> denysonique, i'm not really "coming from rails" though. I've literally gone from "having some high school classes on basic and pascal" to where I am now in the last four or five months
Apr 21 01:14:23 <denysonique> e_dub: so you started with node.js, right
Apr 21 01:14:23 <denysonique> ?
Apr 21 01:14:39 <denysonique> hmm
Apr 21 01:14:39 <e_dub> using the techniques i used to learn japanese to pick up programming languages
Apr 21 01:15:05 <denysonique> japanese? hmm it should be relevant to Ruby then (;
Apr 21 01:15:15 <denysonique> e_dub: you are doing a startup right?
Apr 21 01:16:43 <e_dub> denysonique, i started with a book on Java, got halfway in, realized java sucked, learned about ruby, read a couple books then did Hartl's rails tutorial, found out about node, knew enough about coding at that point to realize that it was far more relevant to the idea i have, read pretty much everything i could get my hands on about node and coffeescript, learning javascript as i went
Apr 21 01:17:02 <e_dub> and that's where i am now
Apr 21 01:17:14 <denysonique> e_dub: hmm, what is your idea about?
Apr 21 01:17:23 <denysonique> it isn't a stealth startup, isn't it?
Apr 21 01:18:24 <e_dub> yeah, a startup. I'm disabled and have a lot of freetime, but got this idea for an app to sort of revolutionize learning. at first i thought it would just help with learning languages, but as i started learning programming, and realized how useful these techniques were for learning it, I realized my idea could be applied to anything
Apr 21 01:19:07 <denysonique> hmm
Apr 21 01:19:15 <denysonique> e_dub: make sure you cover Tower.js!
Apr 21 01:19:54 <e_dub> oh with what I have in mind, you'll be able to learn anything you want, as long as you have access to reading material about it in digital format
Apr 21 01:20:15 <denysonique> e_dub: right, but what is the innovative part of your startup?
Apr 21 01:20:27 <denysonique> how is it going to innovate learning?
Apr 21 01:21:30 <e_dub> oh sorry, i'm combining spaced repetition (and doing it in a user friendlier way than current technologies do) with something called incremental reading
Apr 21 01:21:32 <denysonique> haha: http://techcrunch.com/2012/04/20/equally-creepy-and-creative-cheekd-is-online-dating-in-reverse/
Apr 21 01:21:38 <denysonique> I had a very similar idea
Apr 21 01:21:42 <denysonique> but for personal purposes
Apr 21 01:21:53 <denysonique> and maybe for a startup two
Apr 21 01:21:56 <denysonique> too*
Apr 21 01:22:22 <e_dub> well there's plenty of room in the domain for both of us, I am sure
Apr 21 01:23:03 <denysonique> with cheekd there is one problem
Apr 21 01:23:15 <denysonique> people who date online are uncomfortable meeting people online
Apr 21 01:23:28 <denysonique> I mean meeting offline
Apr 21 01:23:43 <denysonique> and people who are not afraid don't need something like this
Apr 21 01:23:48 <denysonique> but who knows, maybe this will change
Apr 21 01:23:51 <denysonique> err
Apr 21 01:23:57 <denysonique> I mean maybe it will work
Apr 21 01:24:51 <e_dub> oh viatropos, did you get a chance to take a look at the translations i mentioned? I just want to make sure I'm using proper etiquette. it seemed like a small way i could contribute to tower since my coding skills are padawan level still
Apr 21 01:25:19 <viatropos> e_dub: send me a link, I don't recall
Apr 21 01:25:31 <e_dub> oh sorry, thought i had linked it in here a bit ago
Apr 21 01:25:41 <e_dub> 1 sev will grab link again
Apr 21 01:26:08 <e_dub> here we go: <e_dub> its this example, in this issue: https://github.com/viatropos/tower/issues/50 ... and I just commented on the gists with my translation from the japanese
Apr 21 01:27:14 <viatropos> yeah that's totally fine, I don't have control of the gists. if you want to translate something in the code (like https://github.com/viatropos/tower/tree/master/src/tower/model/locale), feel free to send a pull request
Apr 21 01:27:27 <e_dub> i know there are some japanese contributors and users of tower, so if there's ever anything else you'd like translated, btw, I'd be more than glad to take a look at it
Apr 21 01:28:23 <viatropos> e_dub: cool
Apr 21 01:28:34 <denysonique> hmm
Apr 21 01:28:35 <denysonique> ok
Apr 21 01:28:53 <denysonique> so what are the problems with towerjs?
Apr 21 01:28:58 <denysonique> what does not work?
Apr 21 01:29:19 <denysonique> what can hold me back from writing an app?
Apr 21 01:29:21 <denysonique> what is missing?
Apr 21 01:29:38 <viatropos> denysonique: see https://github.com/viatropos/tower/wiki/roadmap
Apr 21 01:30:22 <viatropos> you can build a working app and deploy it to heroku, but it's not perfect yet. finishing the roadmap over the next couple months
Apr 21 01:30:33 <viatropos> or nodejitsju
Apr 21 01:31:26 <viatropos> i'm going to be away randomly now, getting late
Apr 21 01:31:35 <viatropos> any more questions?
Apr 21 01:34:20 <denysonique> viatropos: there is no has_n?
Apr 21 01:34:28 <denysonique> no relationships?
Apr 21 01:34:40 <denysonique> is there a way to get around this? before implementing it?
Apr 21 01:34:45 <viatropos> no there is, it has everything. it looks like belongsTo has a bug though
Apr 21 01:35:10 <viatropos> hasMany "comments"; hasMany "commenters", through: "comments", source: "user"
Apr 21 01:35:14 <denysonique> from that roadmap, the crossed out means what?
Apr 21 01:35:18 <viatropos> belongsTo "author
Apr 21 01:35:20 <denysonique> implemented or not?
Apr 21 01:35:24 <viatropos> implemented
Apr 21 01:36:31 <denysonique> viatropos: 'some sort of updateAll|deleteAll functionality for controllers (array of ids)'
Apr 21 01:36:34 <denysonique> version 4.something
Apr 21 01:36:41 <denysonique> is not crossed out
Apr 21 01:36:50 <denysonique> this isn't implemented yet?
Apr 21 01:36:58 <viatropos> so you can bulk update (rails doesn't have this built in)
Apr 21 01:37:04 <viatropos> you can update and destroy
Apr 21 01:37:07 <denysonique> hmm
Apr 21 01:37:08 <viatropos> one record by id
Apr 21 01:37:08 <denysonique> nvm
Apr 21 01:37:13 <denysonique> anyway
Apr 21 01:37:16 <denysonique> oh
Apr 21 01:37:16 <denysonique> btw
Apr 21 01:37:22 <denysonique> viatropos: are you using mongoose?
Apr 21 01:37:27 <viatropos> no
Apr 21 01:37:30 <denysonique> for mapping?
Apr 21 01:37:32 <denysonique> what do you use?
Apr 21 01:37:38 <viatropos> no, I am reimplementing that
Apr 21 01:37:48 <denysonique> ok
Apr 21 01:37:58 <denysonique> I need some sleep its 8:37am here
Apr 21 01:38:01 <viatropos> we'd end up having 2 model layers and that'll slow the code down I'd think
Apr 21 01:38:13 <denysonique> probably yes
Apr 21 01:38:42 <denysonique> so how faster is node/tower at rendering basic json responses from some db backend
Apr 21 01:38:46 <denysonique> simple queries
Apr 21 01:39:04 <viatropos> haven't done any benchmarks yet
Apr 21 01:39:10 <denysonique> quite important to know before going to bed (:
Apr 21 01:39:22 <denysonique> heh
Apr 21 01:39:22 <denysonique> ok
Apr 21 01:39:30 <denysonique> viatropos: have a ncie day then!
Apr 21 01:39:30 <viatropos> it should be fast, it's only a very thin layer above express
Apr 21 01:39:35 <viatropos> you too
Apr 21 01:44:08 <e_dub> have a good night guys, I'll be in the chat but probably gonna sleep soon. viatropos, I'll try to look into that issue with the mime type stuff monday or tuesday at the latest
Apr 21 01:44:53 <viatropos> e_dub: awesome, nice talking to you both
Apr 21 01:45:13 <orngchkn> Aha, the man of the hour is here (and has been for several hours by the looks of it)
Apr 21 01:45:20 <orngchkn> viatropos: This is contentfree from Github
Apr 21 01:45:34 <orngchkn> I've been blowing up Tower with new issues :)
Apr 21 01:45:51 <viatropos> orngchkn: haha, what's up
Apr 21 01:45:51 <denysonique> hmm
Apr 21 01:46:04 <denysonique> what is the fix for this: some sort of updateAll|deleteAll functionality for controllers (array of ids)
Apr 21 01:46:07 <denysonique> err
Apr 21 01:46:07 <orngchkn> Nothing - just dodging sleep!
Apr 21 01:46:08 <denysonique> sorry
Apr 21 01:46:17 <denysonique> I mean this: ^
Apr 21 01:46:17 <denysonique> TypeError: Object #<Responder> has no method 'head'
Apr 21 01:47:03 <viatropos> orngchkn: I've seen all your issues (: have been deep in the model code the past few days and haven't had a good break to step back
Apr 21 01:47:43 <orngchkn> viatropos: Are polymorphic associations working? I'm getting errors because the name of my polymorphic belongsTo isn't an actual model.
Apr 21 01:47:49 <viatropos> denysonique: send the full error in a private gist or create a github issue
Apr 21 01:48:06 <e_dub> denyson that's related to this issue:
Apr 21 01:48:12 <orngchkn> That's cool. I'll unfortunately be out for most of the next week as I drive back to Seattle from LA.
Apr 21 01:48:13 <denysonique> right
Apr 21 01:48:21 <e_dub> https://github.com/viatropos/tower/issues/107
Apr 21 01:48:21 <denysonique> e_dub: you are fixing the mime types
Apr 21 01:48:22 <viatropos> orngchkn: they were, but I don't think we have any tests for them so they may have broken
Apr 21 01:48:31 <denysonique> e_dub: any ETA on this?
Apr 21 01:48:52 <e_dub> i have my kids all weekend so it will be monday or tuesday before i can give it much time/attention
Apr 21 01:49:13 <viatropos> denysonique: I'll try and get this fixed tomorrow afternoon (though it is a warm and sunny weekend so who knows)
Apr 21 01:49:30 <denysonique> maybe I will have a look at it as well
Apr 21 01:49:40 <viatropos> it's very easy to fix, it will take 5 minutes (:
Apr 21 01:49:43 <viatropos> i'm lazy tho
Apr 21 01:50:01 <e_dub> ok i will try to take a look before i go to bed then, starting now
Apr 21 01:50:10 <denysonique> hmm
Apr 21 01:50:18 <denysonique> I was thining about the name Tower.js
Apr 21 01:50:27 <denysonique> and by looking at the logo
Apr 21 01:50:35 <denysonique> I thought... maybe RollerCoaster.js
Apr 21 01:51:58 <orngchkn> I have no idea why my pull request put 63 commits in there.
Apr 21 01:52:01 <viatropos> orngchkn: I am significantly refactoring the model layer right now in preparation for ember.js. basically merging tower + ember-data (the ideas from it at least). I will fix and test the association issues in this process, it should take less than 2 weeks.
Apr 21 01:52:03 <orngchkn> They're mostly not mine
Apr 21 01:52:45 <orngchkn> I need to remember to make feature branches so that I can send more atomic pull requests.
Apr 21 01:53:10 <orngchkn> I switched Tower.Support.String#singularize and #pluralize to use the methods on Tower.modules.inflector
Apr 21 01:53:13 <viatropos> the api won't really change, but you'll be able to use ember views and bind to models and scopes (`App.Deal.near(@currentLocation).within(2, "miles").asc("distance")`)
Apr 21 01:53:32 <viatropos> and I'm adding transactions and states, making the models more robust and testable
Apr 21 01:53:43 <orngchkn> viatropos: Have you checked out KnockoutJS? I'm thinking about using that for data-bound views.
Apr 21 01:53:48 <viatropos> orngchkn: thanks!
Apr 21 01:54:19 <orngchkn> viatropos: Welcome – but I can't send you a new pull request unless you accept my open one or I make a branch with those changes. Maybe I'll do the latter
Apr 21 01:54:29 <viatropos> orngchkn: I have, wait for ember integration. Ember is significantly better than knockout
Apr 21 01:55:19 <viatropos> orngchkn: there's a lot in there, my mind's numb at the moment lol
Apr 21 01:57:21 <viatropos> denysonique: I can see rollercoaster.js, the tower looks like a theme park. the logo is from here: http://thenounproject.com/noun/eiffel-tower/#icon-No891
Apr 21 01:58:02 <viatropos> denysonique: the design of the site is just hacked together, haven't really done any branding yet
Apr 21 01:58:18 <denysonique> bootstrap looks cool
Apr 21 01:59:16 <orngchkn> viatropos: I'm going to start making feature branches and send pull requests of those. Should be easier to grok
Apr 21 01:59:23 <orngchkn> First one just went out
Apr 21 01:59:28 <viatropos> orngchkn: sounds good
Apr 21 02:04:15 <viatropos> orngchkn: commented: https://github.com/viatropos/tower/pull/117
Apr 21 02:05:35 <orngchkn> Saw that. Is there a way to relate an issue to a pull request?
Apr 21 02:05:47 <orngchkn> Issue 109 is related
Apr 21 02:06:05 <orngchkn> You can kill that first, big pull request of mine
Apr 21 02:06:34 <orngchkn> n/m. I just did it
Apr 21 02:07:24 <viatropos> orngchkn: not sure, I'll look
Apr 21 02:08:00 <viatropos> orngchkn: you probably can if you programmatically create the pull request (don't know how)
Apr 21 02:08:54 <orngchkn> There's a "close pull request" which I did.
Apr 21 02:09:04 <viatropos> orngchkn: GitHub also interprets any # as a reference to an issue, so adding in the comment "#109" will link to it
Apr 21 02:10:46 <orngchkn> Cool.
Apr 21 02:11:12 <orngchkn> Hey, on http://towerjs.org/models under Getting and Setting Field Values
Apr 21 02:11:24 <orngchkn> It shows get/set versions
Apr 21 02:11:32 <orngchkn> But those do not appear to work currently
Apr 21 02:11:35 <orngchkn> Am I correct?
Apr 21 02:11:57 <viatropos> what, user.get("email") or user.email
Apr 21 02:12:01 <orngchkn> user.email
Apr 21 02:12:10 <orngchkn> user.get("email") works as expected
Apr 21 02:12:13 <orngchkn> but user.email fails
Apr 21 02:12:31 <orngchkn> I have a commit that adds tests
Apr 21 02:12:39 <orngchkn> Thought I had an open issue about it but I'm not finding it
Apr 21 02:12:40 <viatropos> yeah I am kind of abandoning that. technically, if you set `Tower.accessors = true` before the models are loaded, it will work, but I'm probably going to remove that
Apr 21 02:12:46 <orngchkn> (was going to add a branch for the issue)
Apr 21 02:13:11 <orngchkn> Ohhhh… please don't. It's sexy
Apr 21 02:13:28 <viatropos> https://github.com/viatropos/tower/blob/master/src/tower/model/attribute.coffee#L121
Apr 21 02:13:32 <orngchkn> Plus… it's a property of a User object so it makes sense
Apr 21 02:13:44 <orngchkn> Yeah, I have tried that
Apr 21 02:13:47 <orngchkn> Still doesn't work though
Apr 21 02:14:01 <viatropos> but, ember creates "computable properties" named after that, which are functions, so it won't work in that case
Apr 21 02:14:15 <viatropos> I'll see if we can get the best of both worlds
Apr 21 02:14:45 <viatropos> `user.email == user.get('email') == Ember.get(user, 'email')`
Apr 21 02:15:09 <orngchkn> It's alright for fields – user.get("name") – but it gets messy when you have associations – user.get("company") doesn't work, right? It's user.company() (though there's still issues with that, too)
Apr 21 02:15:19 <viatropos> *we can
Apr 21 02:15:54 <orngchkn> IMO, consistency would be a big plus
Apr 21 02:16:03 <viatropos> yeah, I'm going to think more about how to use associations in this next process, so it's all consistent (attributes, associations)
Apr 21 02:16:13 <orngchkn> Sweet
Apr 21 02:16:46 <orngchkn> From an intuitive perspective, user.email and user.company feel the best.
Apr 21 02:17:09 <orngchkn> but if it was #get()
Apr 21 02:17:11 <viatropos> totally, but it doesn't work cross browser, wish it did
Apr 21 02:17:22 <orngchkn> then I'd expect user.get("company") to return the actual Company instance associated
Apr 21 02:17:39 <orngchkn> Or an array of Companies if it were a has many relation
Apr 21 02:18:09 <viatropos> associations are asynchronous in mongodb so you can't do user.get('company') without a callback
Apr 21 02:18:49 <orngchkn> true true
Apr 21 02:19:19 <orngchkn> unless you use something like asyncblock or iced coffee, right?
Apr 21 02:19:20 <viatropos> however, in making this work with ember.js, I think `user.get('company')` will return a "cursor" (which is an `Ember.ArrayProxy` for hasMany and something yet-to-be-figured-out for belongsTo/hasOne), which will "feel" like the real thing
Apr 21 02:19:33 <orngchkn> (which just wrap stuff into callbacks for you)
Apr 21 02:20:08 <viatropos> right, but I'm also aiming to minimize the code base, the amount of code iced-coffee generates is insane
Apr 21 02:20:50 <viatropos> but, that's application specific so you could technically use it
Apr 21 02:20:59 <orngchkn> sure
Apr 21 02:22:24 <orngchkn> I'm still getting my brain around the async-nature of Node (coming from six years of Ruby/Rails)
Apr 21 02:23:02 <viatropos> hardcore!
Apr 21 02:23:07 <orngchkn> The callback hell seems pretty crazy if you're trying to use more than a couple instances
Apr 21 02:24:11 <orngchkn> That's why asyncblock or iced coffee look so interesting
Apr 21 02:24:26 <orngchkn> Even though they both obviously just do the callback stuff for you
Apr 21 02:25:51 <viatropos> it's really not bad, I don't have more than this: https://gist.github.com/2435235, with that `=>` in coffeescript makes it simple
Apr 21 02:26:22 <viatropos> as long as you encapsulate methods, you don't go more than 2-3 most of the time
Apr 21 02:27:53 <orngchkn> But what about using a relation on those users?
Apr 21 02:28:28 <orngchkn> You'd use #includes() eventually, but that doesn't exist yet, right?
Apr 21 02:29:14 <orngchkn> Until we have that using that relation is an N+1 problem
Apr 21 02:30:49 <viatropos> Yeah, that's coming in this next 2 weeks or so
Apr 21 02:31:51 <orngchkn> Fresh. Well I'm off to bed. Nice to meet you. Hopefully this IRC thing works out for Tower. It was huge for Rails in the early days.
Apr 21 02:32:41 * orngchkn has quit (Quit: Leaving.)
Apr 21 02:54:47 <e_dub> ok, i can get it so that the format becomes "html" instead of "form" but then it immediately tries to GET /custom/1 HTTP/1.1 and that doesn't exist
Apr 21 02:55:56 <e_dub> dunno if thats making any sense but yeah... that's what happens after submitting the form to edit or create a user, i mean
Apr 21 03:05:43 <e_dub> if you have any ideas viatropos , i would be more than glad to test it out and make a pull request if i can get it working, if not, gonna put it on hold for tonight and look at it monday or tuesday
Apr 21 04:40:43 * Morhaus (~Morhaus@37-8-170-3.coucou-networks.fr) has joined #towerjs
Apr 21 04:40:56 <Morhaus> Hello :)
Apr 21 04:45:04 * Morhaus has quit (Ping timeout: 246 seconds)
Apr 21 06:07:46 * viatropos has quit (Quit: viatropos)
Apr 21 07:07:04 * Disconnected (Connection timed out).
**** ENDING LOGGING AT Sat Apr 21 07:07:04 2012
**** BEGIN LOGGING AT Sat Apr 21 07:07:23 2012