The web in a box - a next generation web framework for the Perl programming language

IRC log for #mojo, 2014-01-04

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 Jonis marcus: atleast it's not raining like here in Bergen :)
00:05 Jonis http://www.yr.no/sted/Norge/Hordaland/Bergen/Bergen/langtidsvarsel.html
00:21 kej joined #mojo
00:22 rem_lex joined #mojo
00:29 mishantil Jonis: Snow here in Hemsedal. :)
00:32 jberger_ Seriously is everyone on here Norwegian?
00:33 mishantil Hehe. Does our Viking-ness make you feel inferior? O_o
00:33 dsteinbrunner <- in Ohio… round on the ends, hi in the middle
00:34 mishantil dsteinbrunner: Get to troll the Amish much?
00:34 dsteinbrunner I see them at Aldi now and then
00:35 mishantil Admirable how some of them manage to stay to their ways.
00:35 jberger_ dsteinbrunner: what are your temps looking like mercy week?
00:35 dsteinbrunner there is more Amish furniture in these parts than Amish ;-P
00:36 dsteinbrunner cold
00:36 jberger_ mercy was supposed to be "next" and it auto failed, but I kinda like it: I'm calling next week "mercy week"
00:37 dsteinbrunner tuesday, -4 to -14 per forecast.io via duckduckgo
00:37 dsteinbrunner yeah, that kind of threw me off but I knew what you wed getting at
00:38 dsteinbrunner those are F degrees for those not used to brain dead measurements
00:38 Jonis mishantil: enjoy :)
00:39 dsteinbrunner I was in switzerland and asked why a foot is called a foot and an inch is called an inch
00:39 jberger_ -9 high -16 low here in tues
00:39 jberger_ And remember that's F not C
00:39 dsteinbrunner it is simple… a foot is as big as a foot
00:40 dsteinbrunner and an inch is the size of an inch worm
00:40 dsteinbrunner but a yard is not the size of a yard
00:40 dsteinbrunner so someone screwed that up
00:40 jberger_ And not just any foot, the kings foot
00:40 mishantil Jonis: Thanks. I will. TOmorrow is falling-down-an-mountain-tim.
00:40 mishantil *time
00:41 mishantil And apparently I'm getting dyslextic.
00:41 Jonis yep
00:41 Jonis dyslexic
00:41 purl dyslexic is I am Dyslexia of Borg, your ass will be laminated
00:41 mishantil :)
00:41 dsteinbrunner ok, I have a question is not mojo specific and have asked it at low traffic times without response
00:42 Jonis Aight, it's time to go to bed. I'm giggling at the thoughts of laminated asses.
00:42 mishantil I am obviously too tired.
00:42 mishantil Giggling here as well.
00:42 dsteinbrunner I have nginx in front of my mojo app
00:42 dsteinbrunner and I want the static content in the public dir to be handled by nginx
00:43 dsteinbrunner what is the best way to accomplish that
00:43 purl well, the best way to accomplish that is to validate my information via javascript before a submit.
00:43 Adura Use nginx to do that.
00:43 dsteinbrunner yeah, that is what I want to do
00:43 dsteinbrunner but I'm asking about how to config it
00:44 Adura I don't know how to config nginx.
00:44 dsteinbrunner or if there is a pattern to follow
00:44 dsteinbrunner or the like
00:44 Adura Look up how to config nginx.
00:45 Jonis location directive will prolly do it
00:45 Jonis although I'm not an nginx user
00:45 Adura http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#Nginx There's some nginx.
00:46 dsteinbrunner yeah I used that
00:46 dsteinbrunner but it does not go over static handling
00:46 Adura Probably in the nginx docs.
00:48 ka2u joined #mojo
00:49 jberger_ joined #mojo
00:50 Adura I use mod_rewrite on lighttpd.
00:50 jberger__ joined #mojo
00:51 dsteinbrunner so I'm finding location blocks that key off of file extensions
00:51 dsteinbrunner seems brittle
00:52 jberger_ dsteinbrunner, there is a header you can send
00:52 jberger_ I'm trying to find it
00:53 dsteinbrunner then there is try_files
00:53 jberger_ ok this is what I was using to control how nginx handled static files, I'm not sure if its exactly what you need tho: http://wiki.nginx.org/X-accel
00:54 dsteinbrunner hmm… I think that combined with root might be the ticket
00:54 jberger_ I had some static files that I needed to protect by timestamp
00:55 jberger_ one new file every so often
00:55 jberger_ I was able to do it with some mojo static rendering hook and X-Accel-Redirect
00:55 jberger_ its a different case, but it might put you on the right track
00:56 dsteinbrunner ok, internal and alias
00:56 dsteinbrunner I'll play with that too
01:26 sri jberger: it's not $t->Test::Mojo::Deep::json_cmp(...), is it?
01:26 jberger_ close
01:26 jberger_ http://pastie.org/8598936
01:26 jberger_ that, plus Package::Alias
01:26 sri haha
01:28 jberger_ note that the 'aliased' module wont work, as it doesn't actually create an alias!
01:29 sri i think namespace::alias is more commonly used
01:32 sri not sure where i stand on making that a cookbook recipe
01:32 d4rkie joined #mojo
01:32 * sri wants to hear from marcus, crab and tempire
01:32 d4rkie joined #mojo
01:33 sri oh wait
01:33 sri that's the commonly used one https://metacpan.org/pod/aliased
01:37 sri oh, doesn't actually work
01:38 sri hmm, now that's making me uncomfortable
01:45 sri yea, -1 from me now after looking into Package::Alias
01:45 sri nice hack, but not a best practice to be recommended
01:57 jberger_ might be more of a blog post
01:58 jberger_ aliased makes a constant function which returns the namespace as a string
02:01 jberger_ yeah, its import method is sketchy isn't it
02:13 jberger_ sri: so better to just use the lexical?
02:16 webart joined #mojo
02:38 sri jberger: dunno
02:40 jberger_ for a CPAN released module, say if I were to release a Test::Mojo::Deep I would prefer the fully qualified method
02:41 jberger_ for hand-rolled methods, I prefer the lexical
02:45 jberger_ btw Package::Alias's alias class method is about the most sane mechanism I have seen on CPAN so far for making a true package alias
02:45 jberger_ it's its import method that I don't especially like
02:46 sri sucks least is not good enough ;p
02:46 jberger_ no, I understand that, I'm just saying
02:48 jberger_ ha, this is about the silliest use of Devel::Declare I have ever seen (and I've made a nasty one myself): https://metacpan.org/pod/Sub::Alias
03:00 klapperl_ joined #mojo
03:07 jberger_ I think I'm going to make a blog post out of lower-hanging fruit
03:07 jberger_ json_like
03:07 jberger_ them we can decide if we want something like it in a cookbook
03:07 jberger_ plus it will at least give something to link to for the wishlist
03:22 kej joined #mojo
03:33 damaya I get how to use placeholders in lite_apps, but not so sure in full apps. I am wondering because I am trying to do a redirect_to, but for some reason when I do: $self->redirect_to('/login', username => $username, password => $password); the username and password are blank in sub login { my self = shift; my $username = $self->param('username'); my $password = $self->param('password'); }
03:33 damaya However, if I log in from the form on my site, that works perfectly fine.
03:34 ka2u joined #mojo
03:49 jberger_ http://blogs.perl.org/users/joel_berger/2014/01/create-your-own-testmojo-method.html
03:51 sri jberger++
03:52 sri Safe::Isa is a good example
03:54 jberger_ gives a little credence to the technique
03:55 damaya Interesting. Mojolicious::Plugin::Authentication's method logout results in a Deep recursion error when used.
03:59 damaya I see that it deletes the stash key and the session key
03:59 * jberger_ adds a JSON pointer link
04:01 Adura Looks like someone forked Mojo.
04:11 jberger_ joined #mojo
04:11 abra_ joined #mojo
04:11 russum joined #mojo
04:11 beyondcreed joined #mojo
04:11 bowtie_ joined #mojo
04:11 jwang joined #mojo
04:11 preflex joined #mojo
04:11 bayashi joined #mojo
04:11 phillipadsmith joined #mojo
04:11 cooper joined #mojo
04:11 dvinci joined #mojo
04:11 jberger joined #mojo
04:11 lsm-desktop_ joined #mojo
04:11 bowtie joined #mojo
04:11 dsteinbrunner joined #mojo
04:11 keedi joined #mojo
04:11 d4rkie_ joined #mojo
04:11 zivester joined #mojo
04:11 drift joined #mojo
04:11 dotan___ joined #mojo
04:11 dotan__ joined #mojo
04:11 mattp joined #mojo
04:11 purl joined #mojo
04:11 HtbaaPi joined #mojo
04:11 Andreas joined #mojo
04:11 gabiruh joined #mojo
04:11 tardisx joined #mojo
04:11 jan joined #mojo
04:11 Jonis joined #mojo
04:11 Mikey joined #mojo
04:11 __mkrull joined #mojo
04:11 bc547 joined #mojo
04:11 garu joined #mojo
04:11 xtetsuji joined #mojo
04:11 mgrimes joined #mojo
04:11 d^_^b joined #mojo
04:11 ascent joined #mojo
04:11 LordV joined #mojo
04:11 memowe joined #mojo
04:11 wsri joined #mojo
04:11 elvis joined #mojo
04:11 mst joined #mojo
04:11 dotan joined #mojo
04:11 sri joined #mojo
04:11 sivoais joined #mojo
04:11 stokachu joined #mojo
04:11 marcus joined #mojo
04:11 bjoernfan joined #mojo
04:11 suy joined #mojo
04:11 Zx3 joined #mojo
04:11 diegok joined #mojo
04:11 sawtooth joined #mojo
04:11 robinsmidsrod joined #mojo
04:11 Dandre joined #mojo
04:11 bobkare joined #mojo
04:11 inokenty joined #mojo
04:11 cosimo joined #mojo
04:11 Bender joined #mojo
04:11 useless_chat joined #mojo
04:11 caeles joined #mojo
04:11 mikegrb joined #mojo
04:11 groundnuty joined #mojo
04:11 avenj joined #mojo
04:11 dabudabu joined #mojo
04:11 crab joined #mojo
04:11 sycobuny1 joined #mojo
04:11 augensalat joined #mojo
04:11 sri i would never trust a perl implementation of javascript, there's no way to keep up with browser apis
04:11 sri headless webkit is the only way
04:12 sri even the googlebot is now just a headless chromium
04:12 jberger_ I have to be honest, I haven't been testing my javascript
04:12 jberger_ :o
04:12 * jberger_ hides
04:13 jberger_ oh, hey look, that was my 100th bpo post!
04:14 dsteinbrunner_ joined #mojo
04:14 damaya joined #mojo
04:23 damaya If I delete the session/stash keys myself, rather than calling the logout method, everything works fine.
04:39 preflex_ joined #mojo
04:50 basiliscos joined #mojo
05:02 damaya joined #mojo
05:03 damaya When did app->secret become app-secrets?
05:04 jberger_ damaya, https://github.com/kraih/mojo/blob/master/Changes#L14
05:05 damaya Ah, so not that long ago.
05:05 damaya OK, just wondering, because Galileo is not updated for that change.
05:06 jberger_ oh, right
05:06 jberger_ I'll have to do that at some point
05:06 jberger_ (patches welcome :-) )
05:09 damaya I will do that. I'm mostly using the code as a guide in my own development; but I can make that change.
05:09 damaya I'm also looking at some plugins that still use secret as well. But considering that change was so recent, that doesn't surprise me.
05:10 damaya It's interesting to see how different each person does the same thing in their app (Ashafix, Tempire's example, Galileo).
05:11 damaya This is TMTOWTDI taken to the next level
05:11 damaya :D
05:11 jberger_ how do others do it?
05:13 damaya Oh, not that. I just mean, for example, the directory structure of each app, etc.
05:13 jberger_ oh right
05:13 jberger_ I'm partial to Module::Build, which does require some trickery for Mojo apps
05:14 damaya I actually very much like the structure of Galileo. I modeled what I am doing from that.
05:14 damaya it*
05:14 jberger_ thanks
05:14 damaya You're welcome. Thanks for all the help!
05:14 damaya :D
05:15 jberger_ good gravy, I had forgotten how big the load_config method had gotten!
05:58 ryozi joined #mojo
06:16 good_news_everyone joined #mojo
06:16 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/csk57A
06:16 good_news_everyone mojo/master f7121fa Sebastian Riedel: improved Mojo::DOM::CSS and Mojo::DOM::HTML performance
06:16 good_news_everyone left #mojo
06:25 paraplexed joined #mojo
06:37 batman jberger_: have you managed to install convos now?
06:56 paraplexed1 joined #mojo
07:06 irq joined #mojo
07:22 Vandal joined #mojo
07:51 voegelas joined #mojo
08:07 basiliscos joined #mojo
08:17 Foxcool_ joined #mojo
09:12 hrupp joined #mojo
09:38 laouji joined #mojo
09:45 arthas joined #mojo
09:56 laouji joined #mojo
10:03 trone joined #mojo
10:12 irq joined #mojo
10:59 laouji joined #mojo
11:05 denisboyun joined #mojo
11:14 dvinciguerra joined #mojo
11:51 denis_boyun joined #mojo
11:55 mire_ joined #mojo
12:19 dod joined #mojo
12:27 denis_boyun__ joined #mojo
12:38 dod joined #mojo
13:01 laouji joined #mojo
13:26 damaya I feel silly
13:26 jberger_ batman, admittedly, I haven't tried
13:27 batman hehe, ok :)
13:27 batman jberger_: thanks for the bug report...
13:28 jberger_ let me try again
13:28 batman cool
13:28 * jberger_ was being pressured by sri for a recipe (ended up being a blog post)
13:28 batman yeah, a bit weird that you posted before the feature was in mojo though
13:29 batman still useful
13:29 jberger_ eh, I was excited
13:29 batman haha
13:29 batman jberger_++
13:29 jberger_ there is always the anticipation rush anyway (oooh I can't wait until I can do THIS)
13:30 jberger_ it was how facebook won
13:30 jberger_ ok, Convos installed now
13:30 batman yeah. mojolicious is like facebook.... ... .. .
13:30 batman ;)
13:30 jberger_ adoption is adoption
13:31 jberger_ anticipation breeds excitement, every likes to feel like they are on the bleeding edge
13:31 batman hehe
13:31 jberger_ back to Convos: it looks like lots of tests were skipped, should I try to use a real DB for running the tests?
13:32 batman only if you want to screw up the redis database 14
13:32 batman most of the tests rely on a real database. as long as you get it up and running i'm confident the tests are not required
13:33 meshl joined #mojo
13:34 jberger joined #mojo
13:34 jberger o/ from convos!
13:34 batman yeah, i see you :)
13:35 jberger whatever it was, good fix, it worked seemlessly this time
13:35 batman did exactly what you told me to: bundled cpanfile and remove Makefile
13:36 jberger perfect
13:36 jberger any idea what the test hang was?
13:37 batman ah! forgot about that one: i forgot to bundle convos.testing.conf
13:37 Adura batman, needs more CTCP replies.
13:37 batman Adura: we don't do CTCP. pathes are welcome :)
13:38 Adura I uh... have no idea what your code is like, hah.
13:38 batman Adura: http://convos.by
13:38 Adura I suggest a VERSION reply at least.
13:38 batman Adura: i don't see why that is important :/
13:38 Adura Another network: --- - o Clients must respond to VERSION requests
13:39 batman ok. if you have an issue, report it or send a pull request. https://github.com/Nordaaker/convos/issues
13:40 Adura Oi, the unofficialness of IRC suits me, but if you insist.
13:41 batman Adura: the thing is that i'm currently working on rewriting most of the ui for convos, so by the time i'm done i will have forgotten what is not important to me
13:41 jberger batman++, very cool
13:41 Adura So be it.
13:41 batman i'm not saying it's not important, just not important to me.
13:41 batman Adura: sorry about that :(
13:41 batman jberger: it's going to get cooler ;)
13:41 * batman need to run
13:41 Adura Not a huge deal, just have to figure out what makes things kosher on gith.
13:43 Adura How do I label my post?
13:44 jberger Adura, gh uses tags, so it depends on if batman has created any tags
13:45 Adura Hmmkay.
13:45 jberger or ignore me, its been a while since I looked aparently
13:46 Adura Well, it's unlabeled, but it's there!
13:51 jberger ok, well I'm going to install Convos on my desktop box at home
13:51 jberger at some point
13:51 purl i guess at some point is it possible to generate css or even js? using something like tt
13:51 jberger (makes no sense to run a persistent server on a laptop I restart often)
14:37 d4rkie joined #mojo
14:52 d4rkie joined #mojo
14:54 marcus jberger: Probably true
15:18 sh4 joined #mojo
15:33 laouji joined #mojo
15:45 jberger sri/mst: I think I have a name for the ->$method() design
15:45 jberger ephemoral methods
15:45 jberger now that there are lexical subroutines, you can't really call these lexical methods, because they are not
15:45 jberger they are truly ephemoral
15:46 jberger from the perspective of the class and the invocant
15:46 lucs Do you mean "ephemeral"?
15:46 lucs (just saying)
15:48 jberger probably :-)
15:48 lucs :)
15:48 jberger another reason you can't call the pattern lexical, is that it might not be
15:48 jberger this works for package variables as well
15:49 jberger our $method = sub { ... }; $invocant->$method() # not lexical!
15:49 sri lexical refinements
15:50 * jberger appoints lucs to be my editor
15:52 sri named after ruby refinements http://www.ruby-doc.org/core-2.1.0/doc/syntax/refinements_rdoc.html
16:04 lucs jberger: s/my/his/  ;-)
16:05 Adura No, that's not gender neutral.
16:05 Adura You're fired!
16:05 crab adura: nor is jberger
16:05 lucs (CSS question?) Having obtained an element like '<foo a="1" b="2">' with the user agent (for example, $ua->...->find('foo')->[0]), how should I get all the attributes and their values in a hash?
16:09 jberger haha
16:10 jberger see ... you passed the test ... (right, that's what it was)
16:10 lucs Suuure :)
16:11 jberger lucs, $ua->...->find('foo')->[0]->attr()
16:11 lucs Oh, that was easy. Thanks.
16:12 * lucs wonders how he missed that in the docs -- reads again...
16:12 jberger I had to look it up, its been a while
16:12 jberger is it in the doc, I went straight to the code :-P
16:12 lucs Oh :)
16:12 jberger yes, it is in the doc
16:13 jberger first example for attr
16:20 sri $ua->...->find('foo')->[0]->%*
16:20 sri ;p
16:20 sri if you're on 5.19
16:20 Adura Even more perl-like.
16:24 lucs Dang, still at 5.18.1.
16:33 marcus crab: goal for 2014, gender neutral mojo core?
16:33 marcus nuthin' but bots.
16:33 Adura Eunuch time.
16:52 good_news_everyone joined #mojo
16:52 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/DUlsIw
16:52 good_news_everyone mojo/master be98957 Sebastian Riedel: improved Mojo::DOM::HTML performance a little more
16:52 good_news_everyone left #mojo
16:54 lucs eval: 370 / 11
16:54 purl 33.6363636363636
16:59 denis_boyun joined #mojo
17:02 * sri is ok with ephemeral methods
17:08 abra joined #mojo
17:15 good_news_everyone joined #mojo
17:15 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/Bu5ZBA
17:15 good_news_everyone mojo/master 07ccc7b Sebastian Riedel: get rid of length check
17:15 good_news_everyone left #mojo
17:47 jberger eval: 4*atan2(1,1)
17:47 jberger eval: 4 * atan2(1,1)
17:48 jberger purl: botsnack
17:48 purl :)
17:48 jberger (mangy animal)
18:45 jberger batman, any thought to checking the working directory for a convos.conf?
18:45 ka2u joined #mojo
18:49 dvinciguerra joined #mojo
18:55 asarch joined #mojo
19:33 rem_lex|pivo joined #mojo
19:35 jberger_ joined #mojo
19:42 jberger_ o/ from Convos on my desktop
19:47 Adura Ok, let's see what happens when convosby goes on the network I mentioned earlier.
19:49 irq how to render (with template) a content chunk into $str which is then used as an argument in write_chunk() ?
19:49 jberger__ joined #mojo
19:50 jberger___ joined #mojo
19:50 jberger :/
19:52 Adura Didn't think I'd have to run some other service to use it, oh well.
19:57 jberger__ joined #mojo
19:57 jberger___ joined #mojo
19:57 Adura Oh, there's no production Windows redis.
19:58 Adura To my Debian 7 VM...!
20:02 jberger_ joined #mojo
20:02 jberger_ hrm
20:03 Adura I guess version 0e0 is old.
20:04 jberger_ I had to install redis from the ppa
20:04 Adura I've gotten into this too early, methinks.
20:04 jberger_ batman, I tried a /reconnect
20:04 jberger_ and now I keep getting: "Could not connect to : Connection refused"
20:04 good_news_everyone joined #mojo
20:04 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/5XYMsQ
20:04 good_news_everyone mojo/master 6177489 Sebastian Riedel: fixed XML detection bug in Mojo::DOM
20:04 good_news_everyone left #mojo
20:05 jberger_ over and over in the main terminal
20:05 jberger_ also, the gravatars dont seem to be working on this box
20:08 jberger__ joined #mojo
20:08 jberger___ joined #mojo
20:08 jberger____ joined #mojo
20:08 jberger_____ joined #mojo
20:08 dod joined #mojo
20:08 jberger aaarrgh
20:09 jberger______ joined #mojo
20:09 jberger_ joined #mojo
20:12 good_news_everyone joined #mojo
20:12 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/yw5myg
20:12 good_news_everyone mojo/master 93266ac Sebastian Riedel: fixed another small XML bug
20:12 good_news_everyone left #mojo
20:12 sri jberger: please use another channel for testing
20:12 jberger_ joined #mojo
20:13 jberger I'm trying to kill everything
20:13 jberger think I'm going to have to reboot
20:13 sri KILL IT WITH FIRE
20:13 jberger ok, that should kill the beast
20:14 jberger tying to stop the frontend kept spawning new connections, and killing the backend didn't stay dead!
20:15 Adura jberger meter nicks.
20:15 jberger Adura, I don't know what that means
20:16 Adura It looks like you were trying to measure something with so many underscore nicks.
20:16 jberger hahaha
20:16 Adura My line wasn't technical, it was comical, yeah. :P
20:16 jberger ok, well enough of Convos today
20:17 jberger :-)
20:17 jberger it looks promising
20:17 jberger but I think I need to learn a little bit more before I continue (at least before I continue with real rooms)
20:17 jberger sorry bout that
20:21 ka2u joined #mojo
20:35 punter joined #mojo
20:39 good_news_everyone joined #mojo
20:39 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/63Toeg
20:39 good_news_everyone mojo/master 010d1c7 Sebastian Riedel: fixed escaping bugs in Mojo::DOM::CSS
20:39 good_news_everyone left #mojo
20:39 elvis joined #mojo
20:40 batman joined #mojo
20:42 irq_ joined #mojo
21:36 sri sooo... i guess Test::Mojo::success it is then
21:47 good_news_everyone joined #mojo
21:47 good_news_everyone [mojo] kraih tagged v4.66 at 9ad259c: http://git.io/VvnJXQ
21:47 good_news_everyone left #mojo
22:06 denisboyun joined #mojo
22:08 rem_lex| joined #mojo
22:13 batman jberger: i want to move more settings into the database so you don't need a convos.conf
22:14 batman jberger: not sure about the reconnect bug or the other things you've mentioned.
22:14 batman ETOOLITTLEINFO;
22:14 batman *ttyl*
22:23 rem_lex|pivo joined #mojo
23:18 Jonis how would you go about saving lowercase usernames in postgres using mojo?
23:18 Jonis Honestly, it's probably brutally simple, but I cannot think of the ideal way to go it
23:18 Jonis also, using dbix
23:27 damaya Jonis, I'm not sure I understand your question. I have a registration form on my page where a user types in their username, the username is then put into a postgres database and it is lowercase.
23:27 damaya Jonis, if you want to ensure the param is lowercase (i.e., they typed uppercase characters, but you want to force it to all be lowercase), you could do: my $username = lc $self->param('username');
23:35 basiliscos joined #mojo
23:47 Jonis damaya: that's one of the solutions that occured to me, but I would like for the caps sensitivity of the username to be stored as well. So people could be called Jonis, JOnis or jonis. But it would all work as the same username. I guess I could just add a displayname column and let that be that.
23:55 bpmedley Jonis: select lower(username), username from account;
23:56 bpmedley When inserting you'd have to verify that lower(username) and username does not exist.  I wonder if you can add a CHECK condition to the table or a UNIQUE constraint.
23:58 cfedde joined #mojo

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary