Open Side Menu Go to the Top

10-21-2012 , 11:55 AM
oh i never type anything in there its all automated
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
10-21-2012 , 12:02 PM
Quote:
Originally Posted by ProbablyRsigley
oh i never type anything in there its all automated
A+ (Although I'm not sure it was intentional).

I meant typing in terms of data types. So by using 'x' you have both strings and integers in the column.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 12:07 PM
Quote:
Originally Posted by daveT
Wow. I actually have the site up on Heroku. I only have to get the PostgreSQL schema from my computer to Heroku because otherwise the site completely sucks.

I was utterly lost on how to use AWS.
If you need any help with AWS, ping me. Been using it for various personal projects for over a year now and have a fairly good grasp on it.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 12:11 PM
Quote:
Originally Posted by sdturner02
Sweet, post a URL when its ready!
Got the database Schema up now...

It is probably common sense, but next time, I know that I should create the database before I upload again, because Heroku creates its own username, password, and database name.

** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 12:44 PM
I'll post the site tonight. A bug crept into the system so I have to fix that one up. Plus, I want to put some data into it. It's now going on 10am. I think I should get some sleep.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 12:44 PM
Quote:
Originally Posted by MrWooster
If you need any help with AWS, ping me. Been using it for various personal projects for over a year now and have a fairly good grasp on it.
I'll definitely remember that one. Thank you, so much.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 04:17 PM
I have fast hand evaluator code written in Java, which essentially loops through all possibilities and uses a precomputed lookup array to determine hand strength. So the two basic operations are just looping and array lookups.

My question is: If I ported the code to javascript, which was going to be run on v8 on the same machine as the java code, approximately how much of a speed decrease should I expect? The benchmark game comparisons list factors of between 3x and 30x depending on the algorithm. So I am wondering where hand evaluation would fall in that spectrum.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 07:49 PM
Only way to know of course is to try it (and if you have precomputed LUTs it shouldn't take too long to write).

I'm totally guessing here, but for loops/LUTs I would guess it should run competitively fast against Java. If the LUTs are really big maybe Javascript wont handle that so well.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 07:53 PM
Quote:
Originally Posted by Gullanian
Only way to know of course is to try it (and if you have precomputed LUTs it shouldn't take too long to write).

I'm totally guessing here, but for loops/LUTs I would guess it should run competitively fast against Java. If the LUTs are really big maybe Javascript wont handle that so well.
Gull,

What kind of stuff do you expect Java to have a big advantage at? Things involving a lot of arithmetic, where static typing helps?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 08:11 PM
V8 compiles Javascript to machine code so arithmetic should be very competitive in comparison with Java, I don't think you'll see much loss there.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-21-2012 , 09:35 PM
Quote:
Originally Posted by Gullanian
V8 compiles Javascript to machine code so arithmetic should be very competitive in comparison with Java, I don't think you'll see much loss there.
so when you're using google chrome, the js you download is getting compiled to native machine code before it executes?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 04:30 AM
Well, okay.... I'm scared, but if you want to call this site crap, please do so! I don't have the layout skills of others I have seen here, but my aim to create something that gives the impression of something super-simple to use.

The concept: Job hunter fills out exactly one one-page resume. That resume is able to be sifted by employers who have an interface that lets them decline resumes or save them for later.

After interviewing the job-hunters, the employers are able to rate the interviewees (here comes the legal hammer?). These scores are added to a database. Each job-hunter is initialized at 50 points, and hopefully with enough data, the system will be able to drop the bad apples to the bottom of the queue.

Lastly, the resumes that can be pulled will always be new. Each person who has a resume would have be pull-able up to 30 days after his or her last login. Obviously, there would be a cron job.

The idea is to simplify the hunting/hiring process for everyone involved. The software is highly opinionated as it forces job-hunters to focus on exactly one field they are either excellent in or are interested in going into. The software limits the resumes to one-page -- I have a difficult time believe companies will cry over this one. Finally, the site would aim to ensure quality employers as I feel this is the single largest fault of the current job portals. I have a few accounts and my inbox is loaded with spam MLM jobs.

Whether or not I would want to do this business for real is up-in-the-air, but having stated goals about what the hypothetical business is and what it should be helped keep focus on the objectives and site + code design.

Nerd Stats:
Languages used:
-Clojure,
-Sass CSS preprocessor,
-PostgreSQL,
-plain CSS for the buttons.

LOC:
-Clojure: between 1500 and 1700 LOC
-CSS: about 300 (just ctr+u if you really want to know)
-PostgreSQL: don't want to think about it.

Hours worked on this: About 50 hours, but that isn't possible to compute since I live amid tons of distractions and when I get stuck, I play guitar.

SQL Tables: 71 (!?!?!) because Professor Normalization stopped by.

Todo:
- Password retrieval now that I know what host it is.
- Ponder a bit about the Company Interface.
- Refactor some more as this issue wouldn't allow me to place the city/state in the Professional Experience section.
- Recent idea was the download-as-PDF button, so have to do that.
- Figure out the date - time issues. Will have to open a ticket on SO for this one.
- Of course, fix up the routing and session cookies so you can't do a full site preview. But that's not important right now since it is all fiction.

What about IE?
- It looks like absolute crap on IE8. I haven't tested on IE7 yet, but I can't imagine the results will be much better.

Homepage: www.soloresume.com
-- Heroku stops the working dyno if the site has been idle for a while, so it can happen that you go and it throws an error. This is perfectly "normal." Just try again in a few second.

Job-hunter interface: http://www.soloresume.com/name-and-contact

-- Everything shows up as null, but when the user is logged in, that doesn't happen. The fields would be blank:



And likewise, the Resume is blank:



Fill in some fields and on submit:



And the resume grows:



The company interface: There are not "registered" companies on the site right now, and the url to create an account will not be shared here. You can sort of get the gist by going here: http://www.soloresume.com/company-interface

The only link that is accessible is "Search Resumes" which leads you to here: http://www.soloresume.com/resume-search

If you want to see a full table of the registered users, then press the "Pull Resumes" button. The next iteration of this site will not display job-hunters who do not have their Name and phone number updated. Yes, you can click on "preview resume" and it will show the resume with the username in the contact area.

You will see that there are 8 "registered" users. If you want to play around with the employee interface and run queries, feel free to either create an account (I will drop the entire database entirely in the near future with a "clean" install) or login to one of these dummy accounts with "password" as the password. I definitely suggest option 2.

** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 07:44 AM
Looks pretty cool. You should look into using Twitter Bootstrap for your layouts.

This is my "go to" layout for prototypes: http://pastebin.com/3v43aX0j

It looks like this by default: http://twitter.github.com/bootstrap/examples/hero.html

It allows me to pick and choose elements from Bootstrap and Font Awesome and includes some IE fixes. It saves a ton of time dealing with layout/css stuff.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 08:45 AM
+1 to Bootstrap. It's a very simple and solid (although very generic looking) solution until you want to spend time doing your own design.

I think your site is very cool from a learning stuff perspective. Going from idea to running website is pretty incredible and forces you to learn all sorts of useful things.

If you're serious about doing it for a business* you need to start using 3rd party libraries. Not just bootstrap but also things like calendar widgets, geography features, security frameworks, etc.

71 tables seems WAY too high. Is there any easy way to post the schema?

As a design comment - I HATE it when a site limits me in some arbitrary way. One example is where you have Duty 1-3 listed for an employer. What if I have 4 really important things? (I realize that this specific thing isn't that important just using it as an example). More subtle examples are things like assuming the job took place in the US. As someone that's moved and worked between US and Canada its really common (and frustrating) for things to not handle cases like this.

* I think its probably not a great business idea - mostly because there's a lot of competition in the online resume/jobs hunting space but that's another discussion.

Last edited by jjshabado; 10-22-2012 at 08:56 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 10:10 AM
Quote:
Originally Posted by jjshabado
* I think its probably not a great business idea - mostly because there's a lot of competition in the online resume/jobs hunting space but that's another discussion.
I think it depends on the business model and focus of the site. Trying to compete with monster, simplyhired, careerbuilder, snagajob, etc. from the start probably wouldn't be the best idea. Without doing any market research, I would think that targeting a particular industry or location (or both) would be fine.

If you did something like "NYC software developers" or "contract developers for start ups" or an industry/area with a large number of recruiters, I don't really see why you shouldn't be able to achieve some level of success.

I do agree with the limitations thing though. I like to use jQuery like this to dynamically add form elements.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 10:36 AM
There's also resumator, gethired, jobscore, and I'm sure tons of other startups.

It's a tough nut to crack.

Even if you focus on a particular location/field you need to be able to meet the feature set of your competitors (and be better in at least a couple of places). And the feature sets of these sites grow quickly. Natural language processing of resumes, scoring of resumes for posted jobs, queue management (resume, interviewing, offer, ...), meeting different government regulations for tracking candidates, interview scheduling (w/ integration to calendars), etc.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:02 AM
Quote:
Originally Posted by jjshabado
It's a tough nut to crack.
I totally agree with this. I just don't think it's fair to be discouraging at this point of his project. It has to start somewhere. Although, it's probably just an educational exercise.

I don't really agree with the rest of it though. I feel like its okay to be different.

There is a bunch of stuff that he could do that would be different. He could just do something like sell the ability to request users contact info where he as a pool of people with particular skill set organized by experience. I don't think he'd need to clone or improve the software of existing businesses in order to be successful.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:04 AM
Quote:
Originally Posted by txpstwx
Looks pretty cool. You should look into using Twitter Bootstrap for your layouts.

This is my "go to" layout for prototypes: http://pastebin.com/3v43aX0j

It looks like this by default: http://twitter.github.com/bootstrap/examples/hero.html

It allows me to pick and choose elements from Bootstrap and Font Awesome and includes some IE fixes. It saves a ton of time dealing with layout/css stuff.
I'm not for or against Bootstrap since I don't know much about it.

From this and your other post, I think I gave you the impression that there is tons of js on the site. There's actually zero lines.

Most of the html in the interface and the resume is created dynamically. Its a collection of simple functions that create the html on an as-needed basis.

Basically the html in the forms is generated with this expression:

Code:
(form-builder :p "Employer Name: " :empname :suser-emp-name information "empname" "")
Which is passed to the form-builder function. That function in turn calls a SQL-mapping function, which returns the maps to the SQL calls. If there is a value for the <i>, then that is generated. Here is the form generator:

Code:
(defpartial form-builder [pid pname data-key data-table information field-key common-key]
	[pid pname	
		[:i (let [{[{val data-key}] data-table} information]
				(format "%s" val))]
	[:br]
	(if (= common-key "")
		(text-field field-key)
		(common/menu-build field-key common-key))])
The resume is generated with the same pattern, though it is a tad more involved since it generates the headings as they are needed.

Code:
(obskill-header-builder :h2 "Objective: " 
	(preview-builder :p#objective "" :objective :suser-objective obj-skills))
Basically the obskill-header-builder checks to see if the preview-builder is and empty string (""), and if not, it generates the <h2> header and the <p> items. Otherwise, the area is left blank and no html tags are generated.

It's very easy now to update fields and generating an SQL statement bound to the html item is a quick deal. Simply update the map.

Don't get me wrong, there is a Twitter Bootstrap for Clojure, but it may take you a few seconds to dissect it if you aren't used to looking at it.
https://github.com/eandrejko/noir-bo...ews/common.clj

Quote:
Originally Posted by txpstwx
I think it depends on the business model and focus of the site. Trying to compete with monster, simplyhired, careerbuilder, snagajob, etc. from the start probably wouldn't be the best idea. Without doing any market research, I would think that targeting a particular industry or location (or both) would be fine.

If you did something like "NYC software developers" or "contract developers for start ups" or an industry/area with a large number of recruiters, I don't really see why you shouldn't be able to achieve some level of success.

I do agree with the limitations thing though. I like to use jQuery like this to dynamically add form elements.
I don't like that at all because I don't use a mouse when I am filling out forms.

A more serious answer is that the user wouldn't know from looking at it in less than 3 seconds how many fields are available. I definitely buy into the Don't Make Me Think philosophy that if the user doesn't know the information in less than 3 seconds, then the information is presented poorly. If I have one field showing and I offer 4, then they have to keep clicking that button to find out how many they can use.

My largest pet-peeve on JS-heavy (or -light) websites filling out a form: once the page finally finishes loading, the entire page resets all the fields, and this happens after I am over 50% done on these sites. This is honestly the one thing that will trigger me to hit ctr-w without thinking. Average users may grind through it but I simply cannot get over this. Yes, I feel so strongly about form-resets w/o my doing that I flatly refuse to use sites that have this error and I flatly refuse to use JS on a form I build.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:20 AM
Quote:
Originally Posted by jjshabado
I think your site is very cool from a learning stuff perspective. Going from idea to running website is pretty incredible and forces you to learn all sorts of useful things.
Thanks. It was, and still is one hell of a learning experience.

Quote:
If you're serious about doing it for a business* you need to start using 3rd party libraries. Not just bootstrap but also things like calendar widgets, geography features, security frameworks, etc.
This I am on the fence about. I would love to create a business like this, but your assessment is absolutely correct. Of course, if it was easy, then everyone would be a millionaire. It's up to the person to do or die.

Honestly, I simply don't have the time or expertise to pull something like this off if I am thinking about today or next month. Maybe I'll open-source it and try to get into an internship later down the road. That's a decision for later.

Yes, I agree that using 3rd party libs is a must. I mean, how would I do geolocation of resumes in XYZ area by hand? That's nuts.

Quote:
71 tables seems WAY too high. Is there any easy way to post the schema?
This was poor planning on my part, but I just uber-normalized the database because I wanted to be as flexible with the design as possible and prevent unneeded cross-wiring. It's silly to say it, but as the site is right now, each form-field has points to a single table. Obviously having pages doing 10 queries to 10 tables on one form-page is over-board.

The other tables are things like:

-employer declined resumes
-employer saved resumes
-etc etc etc

Quote:
As a design comment - I HATE it when a site limits me in some arbitrary way. One example is where you have Duty 1-3 listed for an employer. What if I have 4 really important things? (I realize that this specific thing isn't that important just using it as an example). More subtle examples are things like assuming the job took place in the US. As someone that's moved and worked between US and Canada its really common (and frustrating) for things to not handle cases like this.
Yes! I agree with the limitation to USA-only. I went back and forth in my head over and over on that one but then decided to just do it that way for now. This field was also giving me issues on the preview page and I was thinking of sliding it aside for now. Figured I would have gotten poo for not having it at all, and here I get poo for having it.

If you have 4 things you want to say about yourself, great. But then once there's 4 fields, then there's a fifth thing. Where do you think this slippery slope stops? The idea is to create a single-page, scannable resume. This is a tough thing, actually, because it forces many decisions people may not be happy with and decreases flexibility. It feels like a lose-lose-lose situation.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:41 AM
hey dave,

as others have said, definitely learn bootstrap. you can make stuff look professional without being a great designer, which is something most programmers, including myself, need. while i appreciate the do everything yourself spirit, and i'm sure it's taught you a lot, you have to admit there is a certain 1995 web aesthetic to the current design -- or maybe you should go 100% that way and throw up some yellow animated under construction gifs with guys in hardhats digging.

also yeah, 71 tables is WAY high. that shouldn't make you feel good for being 100% normal, it should make you feel bad for overengineering. this is the kind of thing to think about in relation to that rich hickey video on simplicity. forget about programming for a second, and think about the distinct mental concepts that exist in your head when you are thinking about that site. like if you were just explaining to a nontechnical person in detail what the site does and what its features are. if the set of concepts in your implementation is way larger than your natural cognitive set of concepts, that is a sign that you are probably over-engineering.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:48 AM
I just put a bootstrap demo of the dynamic form together for you http://s229481461.onlinehome.us/test.html

I wouldn't call it heavy and I wasn't trying to tell you how to do it.. just a suggestion.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 11:58 AM
Quote:
Originally Posted by txpstwx
I totally agree with this. I just don't think it's fair to be discouraging at this point of his project. It has to start somewhere. Although, it's probably just an educational exercise.
I'll leave it at - I'm very impressed with what he did so I don't think I'm discouraging on the project. I feel like he most certainly succeeded at his number 1 goal and that's something to be quite proud of.

But I also hate people that try to be nice by not telling the truth (as they see it) about a business idea. I don't see how that does anyone any favours.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 12:02 PM
Quote:
Originally Posted by daveT
If you have 4 things you want to say about yourself, great. But then once there's 4 fields, then there's a fifth thing. Where do you think this slippery slope stops? The idea is to create a single-page, scannable resume. This is a tough thing, actually, because it forces many decisions people may not be happy with and decreases flexibility. It feels like a lose-lose-lose situation.
Definitely tough. I guess if your site goal is to say that you have very targeted resumes - you probably made the right decision (forcing people into being concise).

I have doubts about your overall goal being that good though. Even if it were actually good for employers and employees to be very focused (and I think it could be) your site then requires a bit of "I know what's best for you so I'm going to make you do it my way" - which people generally don't like.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 12:50 PM
Quote:
Originally Posted by jjshabado
It's a tough nut to crack.
Which would mean that it is an excellent idea for a startup. The tougher the nut the better imo

I think there's actually some potential in "designing a better job site" because it's essentially a big data problem with a lot of potential to do pretty cool stuff on the data.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-22-2012 , 12:58 PM
I meant its a tough nut to crack in the sense of there's already a lot of competition you have to beat which is obviously not the best idea for a startup unless you're bringing something really extraordinary to the market.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m