[web-devel] Re: Yesod usage in the wild

Rehno Lindeque errantkid at gmail.com
Sun Jul 18 16:36:13 EDT 2010


On Sun, Jul 18, 2010 at 10:04 PM, Luc TAESCH <luc.taesch at googlemail.com> wrote:
> thanks for the detailed feedback Rehno ! I am sure it will help others, like
> it helps me.
> hm, one question, though...
> 1/ Do i understand that you developed directly on the distant hosts ?
> or 2/did you developed locally, and pushed it to the hosts ?
> or 3/ (mix of 2 then 1), developed locally, then recompile to the host ?
> if 1/,  why that ? any constraint that is good to know and share ?
> -----

Haha, "reply to all"? ;-)
So yes, I develop and test on my local box using darcs for versioning.
Then, when I'm happy that it's stable enough I push it to the remote
server over svn and build it over there. I tried copying the CGI
executable directly to bluehost, but it didn't work and I'm too lazy
to figure out if it's possible to cross-compile. Actually I suspect
the version numbers for some shared C libraries are different on the
bluehost machines. I've also gotten into the habbit of writing bash
scripts to speed up the repetitive tasks like copying files, stripping
the executable and so on.

> Well, for the monad/ monoid , I empathize ... :-) .. and in 2000, there were
> no the RWH book ... :-) nor cabal  or hackage, so I know the feeling :-)..
> <philosophical rambling on > coming from slackware 97, one just get used to
> it, however, the haskell way is so large and deep compared to other langage,
> there is quite a chance to get lost on the way , not differentiating
> research stuff from basic useful stuff for the newbies... (unless mentored
> maybe... but RWH is doing already a nice job). maybe we reach this maturity
> on web development soon... <philosophical rambling off/>

I love the theoretical stuff too which is why I get side-tracked so
easily :). I think it just takes some practice to "internalize" the
concepts and use them in practice. At least it does for me: just like
calculus compared to say arithmetic :)

> On Sun, Jul 18, 2010 at 8:09 PM, Rehno Lindeque <errantkid at gmail.com> wrote:
>>
>> On Sun, Jul 18, 2010 at 10:09 AM, Luc TAESCH <luc.taesch at googlemail.com>
>> wrote:
>> > hey congrat Rehno,
>> > Good to see real things popping up !!
>> > May I ask you two things, out of curiosity ?
>> > 1/ Do you have any idea how long it took you to do the reach this point
>> > ?
>> > how much of learning curve , versus just doing ?
>> > 2/ Style wise, it is interestingly different . how did you design it?
>> > beforehand with photoshop, or some templating ?
>> > 3/ where did you hosted it , btw ? got some good response time here in
>> > belgium...:-)  just good to know hosting that works and accept haskelish
>> > deployment
>> > Well done , anyway
>> > Luc
>>
>> Thank you very much for the compliments Luc. So, maybe I should try to
>> give a short summary of the experience so far for the benefit of
>> others trying out yesod.
>>
>> Keep in mind that
>> * I'm newish to Haskell
>> * I'm not a professional web-dev, my day job is as a C++ programmer.
>>
>> DESIGN:
>> I started with a mock-up of the two main pages in Inkscape first. I
>> like the vector graphics stuff because you can play around with the
>> sizes for icons without messing up the quality. The two main tabs are
>> loaded with ajax and stored in a client session to make browser
>> refresh work. Doing it this way causes quite a few headaches with the
>> browser history and search engines though, so beware.
>>
>> DEVELOPMENT TIME:
>> In all honesty it took me quite a while to get to the current point:
>> If I had to make a rough guestimate I'd say about 5 days full-time
>> plus another 3 weeks on-and-off in the evenings. That said, most of
>> the time went into things that are completely unrelated to Haskell or
>> Yesod. I've used Ruby on Rails in the past and I'd guess it probably
>> took me roughly the same amount of time. I'm also pretty sure the
>> second time around will be a great deal faster.
>>
>> THE HOST:
>> I'm using an excellent shared host called bluehost.com with so-called
>> "unlimited storage space" for quite cheap. I looked quite seriously at
>> nearlyfreespeech.com as well. Unfortunately nfs seems to be a bit
>> costly when it comes to storage space. If you consider that only ghc
>> with the common packages weighs in somewhere around 300 mb... well, it
>> to adds up. Hopefully in future they'll fine-tune the pricing
>> structure because it sounds like a very nice host. With bluehost you
>> can also just upgrade to a dedicated server if you start generating a
>> lot of traffic.
>>
>> Obstacles I had:
>> * There's a bit of a trick to installing haskell libraries on
>> bluehost. Some times they fail to install and you have to go to the
>> ~/.cabal/packages/hackage.haskell.org folder, untar the package and
>> 'cabal install' that sucker manually.
>> * Couldn't get darcs working on bluehost, so I had to use svn. Getting
>> svn working was a bit annoying.
>>
>> YESOD & HASKELL:
>> Things I loved about Yesod & Haskell:
>> * There are libraries for everything. Cabal install anything.
>> * It scales nicely as you project grows. This is my main motivation
>> for using Haskell in general. With rails I always worried that
>> something I did would break something else so you have to keep
>> building brain-dead unit tests for everything. In Haskell it's more
>> like: "Yay it compiles! Time for a coffee."
>> * Almost no boiler-plate code.
>> * Type safety everywhere. I sleep soundly knowing that my hrefs are safe.
>> * Hamlet is awesome.
>> * Everything is in modular packages that stands alone. You've simply
>> got to believe that this is the smart way of building software.
>> * Michael is super quick at responding to comments and queries and
>> takes a lot of input from the community.
>>
>> Here's the few relevant things in Yesod itself that have slowed me
>> down. Nothing major really:
>> * Basic handler didn't work for me with CGI, I had to use
>> Network.Wai.Handler.CGI directly. (not sure why)
>> * Yesod was at 0.2.0 when I started, it's at 0.4.1 now and things
>> changed a little bit. I'm still catching up on the newest changes. I
>> wouldn't dream of complaining though!
>> * I can't seem to get RPXnow/Janrain authentication to work (but I'm
>> still trying :-))
>> * You have to write your own payment integration modules and shopping
>> carts etc from scratch.
>> * CSS and Javascript is, was and always will be a pain. (I haven't
>> tried the new Yesod widgets yet though...)
>> * The Yesod docs are good in some ways, but a little bit incomplete in
>> others.
>> * There's no "dreamweaver" for hamlet.
>> * The template haskell is a bit magical if you're learning yesod in a
>> hurry. You need to have the documentation at hand to figure out what
>> data types are generated. This is to be expected though and the
>> compiler helps out. Perhaps some "cheat sheets" type of documentation
>> would help?
>> * There's no 'yesod init' type of command-line shortcut (yet).
>> * The yesod website is a little bit... hard on the eyes. (Sorry
>> Michael, no offense!)
>>
>> Of course there are the usual Haskell nitpicks:
>> * I still have no idea how to debug
>> * Compiler messages are big and nasty
>> * I've heard about these so-called "space leak" things and I'm worried
>> about getting one :)
>>
>> And the last point I consider both a pro and a con:
>> * I spent a great deal of time reading up on funky Haskell stuff
>> (Applicative? Monad? Monoid?)
>>
>> Overall, I've had a very positive experience. I wouldn't switch to
>> another framework easily now.
>>
>> Regards,
>> Rehno
>>
>> > On Sun, Jul 18, 2010 at 9:25 AM, Rehno Lindeque <errantkid at gmail.com>
>> > wrote:
>> >>
>> >> On Sat, Jul 17, 2010 at 6:29 PM, Rehno Lindeque <errantkid at gmail.com>
>> >> wrote:
>> >> > On Fri, Jul 16, 2010 at 11:01 AM, <michael at snoyman.com> wrote:
>> >> >> Hey all,
>> >> >>
>> >> >> I'm going to be putting up a "powered by Yesod" place on the Yesod
>> >> >> homepage[1], and wanted to know if anyone had sites they'd like
>> >> >> placed
>> >> >> there. It can be live websites or projects that use Yesod, I'm not
>> >> >> picky ;).
>> >> >>
>> >> >> Michael
>> >> >
>> >> > Thanks for all the amazing work Michael, Yesod is making astounding
>> >> > progress.
>> >> >
>> >> > My website isn't complete yet but I felt keen to share it with other
>> >> > haskellers so I put it up anyway, The address is
>> >> > www.urbanlisting.co.za. UrbanListing is a free listing website for
>> >> > the
>> >> > South African property market. In the future it will sport some
>> >> > advanced features like virtual tours / walkthroughs. If you feel feel
>> >> > that it's good enough in its current state then please feel free to
>> >> > add it!
>> >> >
>> >> > Regards,
>> >> > Rehno
>> >> >
>> >>
>> >> I meant to Re: Yesod in the wild, sorry about that everyone!
>> >> _______________________________________________
>> >> web-devel mailing list
>> >> web-devel at haskell.org
>> >> http://www.haskell.org/mailman/listinfo/web-devel
>> >
>> >
>
>


More information about the web-devel mailing list