Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

10-23-2012 , 04:14 AM
Thanks for all the feedback guys. I really don't deserve it after all I've learned from this community.

I think the largest surprise for me is that even talking to programmers, I was deservedly bashed for the poor site design, and you are all correct on this. I'll go ahead and use Bootstrap. I think I like this one: http://twitter.github.com/bootstrap/examples/fluid.html

And then I'll use one of these free templates:

http://bootswatch.com/cyborg/

http://bootswatch.com/journal/

This....

Quote:
If you are strictly limiting the resume to one page, you can present all the duties users have filled out for each role and force them to eliminate items from the resume until it reaches one page.

it also creates a great opportunity for users to have multiple variants of their resume with different duties presented for each one. So if they had 3 jobs that each involved some amount of customer service and some amount of technical work, they could target different types of positions (cs vs tech) by selecting different bullet points.
... is a really cool idea. Going in this direction, I see exactly how to denormalize the database. I should be able to drop it down to less than 20 tables now. I *knew* that many table was terrible, but as I said, I had no idea where the system would end up. I built the database before building most of the site.

The reason the site looks bad in IE8 is because IE8 doesn't support rounded CSS borders, so everything is in blocks. The layout itself is kept intact. As far as keeping it validated, I did my best to make it valid, but there's some weird thing in how Clojure deals with pages that makes this basically impossible when I add dynamic pages using POST rendering responses. Can't explain it exactly, but its an issue I'm aware of. At this point, it's the only option I have.

I don't think jjshabado was being rude to me. I appreciate honesty.

What of the future of this site? I really don't know. As I said, I would love to make something like this a business because I believe the way job-hunting is done now is done poorly. If I was to go for it, I would not be targeting the Starbucks or Best Buys of the world. There is probably a need for something like this in smaller to mid-sized businesses who don't have the time and resources. I most certainly disdain the monster.com's of the world. Their business model is to sell as many resumes @ $1/pc as possible. The problem is that the only people who buy these resumes are MLM or schools. There's many "feeler" postings from companies that aren't looking to hire, and all sorts of issues that I, and other bloggers and companies, believe chase away quality applicants, which cycles to chasing away quality employers, which creates an infinite feedback loop diminishing quality.

If I was to add more to it and really go for it, I would probably add the ability to upload intro videos, pics, an IM + Skyping system, and allow companies to create basic ability assessment tests (this last is a huge legal issue), but if an applicant says they are good at Clojure, then it shouldn't be too much to ask them to do an at-home "whiteboard" test.

But, this was, and still is, and educational exercise. I really wanted to measure where my current abilities are and see what I have learned over the past year of writing toy programs. Did I actually learn to create complex systems as promised by SICP? To answer: If I tried this one year ago, there is zero chance at all I could have done it. I could barely write a for loop at that time.

Of course, after using a Lisp all this time, I needed some excuse to learn Clojure.

Maybe I'll just let it sit up there and see if users bite. If by some oddity, there is one day 10,000 applicants, then of course I should attempt to sell them. Otherwise, I think I'll do a few more cycles of the site and use it to leverage into an internship somewhere.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 04:41 AM
daveT,

If I had to guess, I would say that most of the people who offered up helpful feedback know what it's like to launch a project. As Joe Biden would say, "It's a big f'n deal."

As an aside, I think this is an outstanding forum for people to comfortably make their projects public. I hope the feedback you got was motivation for other people to post their own projects. I personally think it's much more interesting to see a site or app if I know a little bit about the person who built it.

Maybe we could start a new thread dedicated to just showing off projects? Any interest from anyone?

As far as the database tables, going from 70 to 20 seems like a huge jump. I remember reading somewhere that a good exercise is to think about what your database is intending to reflect in real life. If it logically matches up with what it represents in real life, you're on the right track.

Also, how the hell did you end up with 70 tables in the first place? Haha. You don't have to answer that, but that does seem like a little more than should be needed for the current size of your project.

Last q at the moment, what's your opinion of Clojure now you've spent some time with it? Been kinda bored lately, thinking about picking up something new.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 06:01 AM
Quote:
Originally Posted by sdturner02
daveT,

If I had to guess, I would say that most of the people who offered up helpful feedback know what it's like to launch a project. As Joe Biden would say, "It's a big f'n deal."
Yeah... I wish it was a tad bit more robust before I uploaded it, but I'm okay with the initial release. I only knew I needed to change my mind on many things, but I didn't know what changes that entailed, thus I believe posting your projects in this forum is an excellent idea:

Quote:
As an aside, I think this is an outstanding forum for people to comfortably make their projects public. I hope the feedback you got was motivation for other people to post their own projects. I personally think it's much more interesting to see a site or app if I know a little bit about the person who built it.

Maybe we could start a new thread dedicated to just showing off projects? Any interest from anyone?
If it has to be an individual dedicated containment thread, I don't know about that, but that's not my decision.

Quote:
As far as the database tables, going from 70 to 20 seems like a huge jump. I remember reading somewhere that a good exercise is to think about what your database is intending to reflect in real life. If it logically matches up with what it represents in real life, you're on the right track.
It's not, really. The employment history pages each have ten tables associated with it. I can now do this:

create table employerOne
(user_id, company_name, position, city, state*, country)

*It's just a name. Of course it can be a province, region, or whatever.

and

create table employerOneDuties
(user_id, company_name, duty_number, duty)

and calling that should be pretty easy now.

Quote:
Also, how the hell did you end up with 70 tables in the first place? Haha. You don't have to answer that, but that does seem like a little more than should be needed for the current size of your project.
What I didn't want to start with was having different pages calling different tables and other things like that. Poor planning on my part. There really isn't a good excuse for it, I know. I just didn't want to think about the final product and database issues until I had a finalized plan. I also wanted to denormalize after I did a bit of research into tuning PostgreSQL.

Obviously this was a huge beginner mistake.

This concern birthed from when I was building the marketing program at work. I was using Python to call from the database. I had to manually export the information from the company database which was poorly designed and denormalized to the point of disuse. I even had to break apart a lot of the data to create new key/value columns to run basic queries like "How many [SKU#] did we sell last month?" The company's system was awful.

I normalized and denormalized until I had the data-set into something I could work with as many of the queries I had to run where complex. Even the easy queries were rather difficult over the denormalized data-set. It's much easier to denormalize after full normalization than it is to sort of normalize from fully denormalized data.

Quote:
Last q at the moment, what's your opinion of Clojure now you've spent some time with it? Been kinda bored lately, thinking about picking up something new.
This is a complex question and there is no easy answer to this. You have to understand that I am completely brainwashed into thinking Lisp is the ultimate programming language, say thanks to the OCW I took.

It's sort of like someone who loves assembly. Many CS students learned assembly and/or Lisp in one form or another, but they are glad to be rid of both languages for good as soon as they complete their final. I think people who like Lisp are naturally drawn to what the language is, and perhaps a tad sick in the head.

The way I see it. Moving to Clojure from Scheme is akin to moving from C to C++ and Java. The more higher level languages offer many new abstractions that makes life a little bit easier, but at the end of the day, you are still in a C-like world.

I think that Clojure and Scala are in the same boats of adaption, and I don't think either one will "win" in the end because they come from opposite ends of the spectrum to solve similar problems and offer functional programming tools to the developers.

I love Clojure because I love Lisp. I have no idea what someone who normally used PHP will think of it.

Some Good/Bad:

- Flexible: There isn't any one-way to do anything. You aren't forced to use classes for X, functions for Y. It's almost a total free-for-all in how flexible the design is. Clojure & Lisp eschew design patterns in the OO sense. This could be bad if you are used to working in robust frameworks like RoR. When I've read about about how many people have fought RoR and read http://devblog.avdi.org/2011/08/22/y...de-is-my-hell/, I'm glad.

- Extremely intelligent and dedicated community. This is good because it's unlikely you'll end up with messes like WordPress lurking around, but it's bad because well... there never will be a WordPress.

Look at Light Table.

It's also good because in SO, you are bound to find amazing generalized answers for many of your issues. It's bad if you are out to gain rep. I posted two questions, both scoring a 4, and my rep is just shy of 50.

- Impossible to self-learn from the free resources out there. There are so many ideas distinct to Clojure that it is not possible to know how to look for the answers on Google. Even if you do know the correct terms, there is usually a lack of information. Clojure really is a solo adventure.

- Information is 80% good / bad. Can't say that about JS or PHP, can you?

- Lack of libs and plug-ins. Since the community is so small, there is a distinct lack of libs and plug-ins. One example is the HTML -> PDF converter. There are a handful of converters, but they are all pretty tough to use.

There is only one super-user security library, and although is written by Chaz Emerick, who wrote the much lauded O'reilly book for Clojure, he is not a security expert, and in fact, he calls the situation nuts that he is the one who wrote it.

There are no user login, logout, password-retrieval libraries, though I did start working on one myself.

- The language is growing very fast. If you took a look at www.4clojure.com and see the source, you'd see that there are tons of java.util/ in the code base, though it is slowly updating itself. If you find more modern source, you'll see that there is almost no java.util/ in the source. The community has done an excellent job of turning everything into Clojure.

I think that if you aren't used to looking at Lisp code, Clojure is an okay place to start, but I would strongly suggest picking up the basics from another Lisp to get a feel for first-class functions, let expressions, and other syntactic issues and the unique constructs (and by golly, don't *ever* write a macro until you have no other choice). Clojure goes beyond what either Scheme or CL go.

I think that Clojure is well worth the effort if you are willing to do it. Just don't expect to dive in and do something awesome or satisfactory like you can in Python / PHP / Ruby. Lisp is a steep learning curve. Even after a whole year, I don't have a solid handle on Lisp and all it's power.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 07:19 AM
Quote:
Originally Posted by daveT
... is a really cool idea. Going in this direction, I see exactly how to denormalize the database. I should be able to drop it down to less than 20 tables now. I *knew* that many table was terrible, but as I said, I had no idea where the system would end up.
Mongo!!!!

Quote:
Originally Posted by daveT
The reason the site looks bad in IE8 is because IE8 doesn't support rounded CSS borders, so everything is in blocks. The layout itself is kept intact. As far as keeping it validated, I did my best to make it valid, but there's some weird thing in how Clojure deals with pages that makes this basically impossible when I add dynamic pages using POST rendering responses. Can't explain it exactly, but its an issue I'm aware of. At this point, it's the only option I have.
https://developers.google.com/chrome/chrome-frame/

Quote:
Originally Posted by daveT
Otherwise, I think I'll do a few more cycles of the site and use it to leverage into an internship somewhere.
I think this is a great plan - especially if you fix up the visual aspect. And you're right if you see traction as you're learning you can re-evaluate.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 07:20 AM
Quote:
Originally Posted by daveT
Yeah... I wish it was a tad bit more robust before I uploaded it, but I'm okay with the initial release. I only knew I needed to change my mind on many things, but I didn't know what changes that entailed, thus I believe posting your projects in this forum is an excellent idea:
+1
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 07:24 AM
Quote:
Originally Posted by MrWooster
Ye, I think a lot of people here have had some really great ideas for poker applications but got stuck at the hand converter. My aim is to create a simple web service to allow any application to easily convert hand histories.
Yeah and it's not just the creating that is the problem but also the maintenance needed when the poker sites change their HH formats: there have been numerous interesting poker applications that have died off because of the original author not being around to make the changes required.

Juk
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 07:53 AM
Quote:
Originally Posted by sdturner02
Last q at the moment, what's your opinion of Clojure now you've spent some time with it? Been kinda bored lately, thinking about picking up something new.
I was curious about this too. Thanks for the answer. It doesn't sound like it's for me yet.

Quote:
Originally Posted by sdturner02
As an aside, I think this is an outstanding forum for people to comfortably make their projects public. I hope the feedback you got was motivation for other people to post their own projects. I personally think it's much more interesting to see a site or app if I know a little bit about the person who built it.
The talk about hand histories reminded me of a project that I did about 6 months ago that I've been meaning to take it down but keep forgetting. I'll leave it up for another day or two.

The goal was to allow someone with limited poker knowledge to recreate valid, parsable, hand histories as quickly as possible.

http://strong-river-5265.heroku.com/

It's built on Rails but the majority of the work is done with JS/jQuery (that required re-factoring several more times before I was happy with it). I'm curious to know what everybody would have done differently.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 09:07 AM
AWS divides their US-East coast region into 4 (maybe 5 now?) Availability Zones. The idea is that each AZ is physically separate and so failures in one AZ shouldn't effect failures in another AZ. Except yesterday showed (at least for us) is that what really happens is that if one AZ goes down the load that falls onto the other AZs is enough to overwhelm them.

We were not able to reliably provision EC2 machines from any AZ for 4-5 hours. I feel like if you're going to market AZs as some sort of redundant system you need to have enough capacity in at least N-1 AZs to handle your full load.

And to make matters worse their system status message is extremely disingenuous by making it clear that the problems are only happening in one AZ. They don't really mention that every other AZ is currently getting crushed under the load.

AWS's support/communication is ****ing horrible.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 09:30 AM
Quote:
Originally Posted by greg nice
doesnt the GPL require that code be open? so if i wanted to see the code for the pokeit site, i should be able to? dont see how that can be a sustainable biz
Only when distributed. You may be thinking of the Affero GPL and GNU Affero GPL, which also have restrictions on deployment of that nature.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 09:50 AM
Quote:
Originally Posted by txpstwx
I was curious about this too. Thanks for the answer. It doesn't sound like it's for me yet.
I guess I'm not a good proselytizer of the language.

The Clojure book puts it best: "Clojure demands you raise your game, and pays you back for doing so."

Clojure turns your mind into a pretzel. It's a red pill / blue pill thing.

Forget it. I can't get myself into language wars or selling them. Just use what you're comfortable with or learning. I just so happen to like using Lisp and I only know how to program in Python, so of course, C-syntax languages aren't going to be something I gravitate towards today. Hopefully, I gave a decently balanced answer.

Quote:
The talk about hand histories reminded me of a project that I did about 6 months ago that I've been meaning to take it down but keep forgetting. I'll leave it up for another day or two.

The goal was to allow someone with limited poker knowledge to recreate valid, parsable, hand histories as quickly as possible.

http://strong-river-5265.heroku.com/

It's built on Rails but the majority of the work is done with JS/jQuery (that required re-factoring several more times before I was happy with it). I'm curious to know what everybody would have done differently.
This is a pretty cool project. Why are you taking it down?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 10:10 AM
"The Clojure book puts it best: "Clojure demands you raise your game, and pays you back for doing so." " is about the biggest turn off for a language I've ever heard. "Other languages mix Power with Ease of Use, we think those are for pussies! Real Programers use Clojure!"
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 10:11 AM
I guess ego stroking is a selling point for some, though. It's like those poker players who aren't content to be polite and make money. They want to make people feel bad for playing badly.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 10:15 AM
Quote:
Originally Posted by kerowo
"The Clojure book puts it best: "Clojure demands you raise your game, and pays you back for doing so." " is about the biggest turn off for a language I've ever heard. "Other languages mix Power with Ease of Use, we think those are for pussies! Real Programers use Clojure!"
Taking the "It's a feature not a bug!" to a new level.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 10:16 AM
Quote:
Originally Posted by daveT
I guess I'm not a good proselytizer of the language.

The Clojure book puts it best: "Clojure demands you raise your game, and pays you back for doing so."

Clojure turns your mind into a pretzel. It's a red pill / blue pill thing.

Forget it. I can't get myself into language wars or selling them. Just use what you're comfortable with or learning. I just so happen to like using Lisp and I only know how to program in Python, so of course, C-syntax languages aren't going to be something I gravitate towards today. Hopefully, I gave a decently balanced answer.
I think that your answer was great. It just doesn't sound like it's "there" yet (for me anyway). I need to stick to things that will allow me to become more efficient at what I do and/or make more money.

Quote:
Originally Posted by daveT
This is a pretty cool project. Why are you taking it down?
It was just a small part of a larger project. I don't really think it has any value outside of the main project.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 10:52 AM
The difficulty of using/learning Clojure is subjective. If you don't find s-expressions that backwards or weird then you won't really have too much of a problem understanding it. I'm not sure why the author wrote that quote because he contradicts that phrase all the time in the book.

If you ignore the parens for a second and just look at how everything is structured I would say that the language almost couldn't be easier to learn because there's very little variation on how you do things. It's almost like there's no syntax at all, it's just logic.

I'm only 50 pages deep in the book where that quote originated and at this point they've only introduced the very basics of Clojure's data structures and a few goodies but so far I would say learning it feels no different than learning Python (learning this atm from the edx course).

I would say in some cases learning Python has been more difficult if you were to directly translate it to learning Clojure.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 11:40 AM
I think they do over-talk the language in the book, but I've seen that in other well-respected language books I've looked over. Yeah, I'm pointing to that stupidly thick Python book. Read The Definitive Guide to Drupal for a real primer on how to sell a language. Best quote: "Do you want to do this the hard way or the Drupal way?" Can't say I've read anything I disagree with more. For those that went to Drupal after going through WP or Magento, they feel like the CMS is superior.

I think what they mean is sort of the same step one would take from SQL to NoSQL if my impression is right. I get the impression that NoSQL forces you to think in ways you may not be used to thinking, but the main question is, "is there any payoff that I will receive from investing my time?" For those that care to look, it appears it is well worth the investment. Are no tables, no data-guarantees, and few, if any, common SQL queries all "features?" I don't know, I can call that hard, too.

I simply said Lisp a steep learning curve. I would say that Clojure is easier to read and use than the Scheme I've been exposed to, but the fact that it is a Lisp adds some slope. I think it is better to expose yourself to some other Lisp before Clojure to get used to a few of the basics. The reason is that there is nominal difference between the various data-structures and other Lisps have very few of them.

BTW: Loving the Bootstrap. The site looks 100x better after one hour. My only complaint is that there are so many nested divs. Can't wait to delete all the extra things I don't need.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 11:57 AM
Quote:
Originally Posted by jukofyork
Yeah and it's not just the creating that is the problem but also the maintenance needed when the poker sites change their HH formats: there have been numerous interesting poker applications that have died off because of the original author not being around to make the changes required.

Juk
Yes, but hopefully with the FPDB this will get updated pretty quickly.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 12:23 PM
Quote:
Originally Posted by txpstwx
I was curious about this too. Thanks for the answer. It doesn't sound like it's for me yet.
Me either. I mean, I need my curly brackets.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 12:52 PM
Yeah bootstrap and boilerplate are kind of a godsent for the designiots like myself.

I think the first prototype of my DSL may be done this or next week depending on my workload. I kind of hacked through ANTLR so far, will take a week or so to read through the book and make stuff nicer afterwards.

Feels like once that's done I should be able to design + implement small DSLs in a day or two which seems like it could be a valuable skill.

Edit since I saw FPDB mentioned: Haven't looked at the code or anything (Python+all the good stuff i.e. matplotlib,scipy etc. iirc?) and I'm sure we talked about this before. Iirc you parse each HH format somehow. If so have you concidered building some sorty of system that converts HHs from a certain site to a FPDB-HH language? Might be cool to see if you can use machine learning and the like to deduce changes in HH format at a site from samples and so forth

Last edited by clowntable; 10-23-2012 at 12:59 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 01:27 PM
Quote:
Originally Posted by Neil S
Only when distributed. You may be thinking of the Affero GPL and GNU Affero GPL, which also have restrictions on deployment of that nature.
so you can just take some GPL code and turn around make a fix and sell the complete package?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 01:58 PM
Sell it as a service, yes. As a product, no.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 02:12 PM
Doesn't the GPL require you to hand the source over to whoever you sell it to as well, who in turn can give it away?

This bootstrap is straight-up cheating. Not saying my new site is pretty, but at least it's a little better.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 02:16 PM
Bootstrap definitely feels like cheating. It's amazing.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 02:19 PM
I am sure everyone has seen this, but if not it is pretty damn funny:

http://www.quora.com/Programming-Lan...-they-used-for

Someone asked on quora to describe the various programming languages. I got a good laugh out of it. Apologies if this has already been shared.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-23-2012 , 02:21 PM
Given that we have a few python experts around, trying to create an HMAC, but getting different digests between python and nodejs. Think it might be down to encoding, but since I have very limited python knowledge, I am a bit stuck...

http://stackoverflow.com/questions/1...tring-for-hmac
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m