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

01-26-2014 , 07:03 PM
I just sat down with the intention of getting started with RubyMotion - I didn't notice before that it costs $230.

I don't think I want to spent that just to play around - but I really want to use it and its probably worth that much...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 09:22 PM
Has anyone used a Topre keyboard?

I'm not unhappy with the Das Keybaord at all, but I'm getting curious about some of the other things out there. I just think this is beautiful. I can't really afford to buy this one, but there seems to be some cheaper ones with mixed reviews.

It appears that the Das w/ letters is created from a different ORM, so the build-quality isn't the same. I'm fairly surprised that this could even be true, so it feels like buyer beware with some of this stuff.

The blank keys increase the cool-factor, for certain, but some key-combos are hard to get right on a blank keyboard. Not impossible, just inconvenient. I like the feel of the mechanical keys, but you know, once you try something better, you want to try even better, if you get the drift.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 09:26 PM
Doesn't seem it could be 6 times better than a 50 dollar keyboard.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 09:41 PM
... and that comes from an Apple user. j/k

The standard isn't really -vs- a $50 keyboard, though I will say that the Das is certainly 3x better than a $50 keyboard, judging from the fact that my hands no longer burn at night and when I press a key, it actually registers 100% of the time.

The standard is -vs- other mechanical keyboards. Is it possible that it is 66% better than my current board?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 09:47 PM
I remember some crappy keyboards before I entered Mac land but never went farther than one of the 100 dollar MS boards which was always good enough. I never cared what people thought about the kit I bought though so I don't expect anyone else to.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 09:47 PM
Quote:
Originally Posted by daveT
I'm not unhappy with the Das Keybaord at all, but I'm getting curious about some of the other things out there.
you're a keyboard-hound, dave. you can't be tied down to just one. booze, fast cars, and smooth, blank, dark keys with tight, satisfying click-pressure that gives way to a pop at your finger's touch -- that's where heart is and that's where it will always be. it's time to be honest with yourself.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 10:00 PM
In my own defense, I type a tens of thousands key strokes a day.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 10:01 PM
Quote:
Originally Posted by jjshabado
I just sat down with the intention of getting started with RubyMotion - I didn't notice before that it costs $230.

I don't think I want to spent that just to play around - but I really want to use it and its probably worth that much...
This seems like it could be easily solved by offering a free version like Xamarin does and limiting the code size until upgrade.

https://store.xamarin.com

I would like to see if their solution would work for me, but I am not going to pay $200 to find out. But on the other hand if it does work for me, it's worth more than $200.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 10:14 PM
They have some sort of 30 day money back guarantee that could work for you.

I've ended up just sticking with objective c. It seems like it'll be harder to find resources for ruby motion and since I'm just kind of doing this by myself whenever I get bored that seemed like a big deal.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 10:16 PM
Quote:
Originally Posted by jjshabado
They have some sort of 30 day money back guarantee that could work for you.

I've ended up just sticking with objective c. It seems like it'll be harder to find resources for ruby motion and since I'm just kind of doing this by myself whenever I get bored that seemed like a big deal.
there seems to be a lot of good resources for them, actually. screencast sites, quality tutorials, a book, etc.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 10:27 PM
Quote:
Originally Posted by gaming_mouse
there seems to be a lot of good resources for them, actually. screencast sites, quality tutorials, a book, etc.
Yeah, but not nearly as many as objective c. More importantly I was thinking of things like stack overflow questions and answers.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-26-2014 , 11:09 PM
Quote:
Originally Posted by jjshabado
Yeah, but not nearly as many as objective c. More importantly I was thinking of things like stack overflow questions and answers.
Yeah, with StackO it's virtually impossible to get stuck on an ObjC issue.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 01:14 AM
jj or other mongo guys,

Any good resources to learning how to actually model data aside from the mongo data modeling pages?

Im working on a project with a friend using mongo, and unfortunately Im 100% in the SQL mindset and my buddy doesnt know very much about either.

I guess my first question is, when you store an aggregate inside a document, does that basically represent the entire entity? (Again Im sure thats mostly sql lingo) ie. a user belongs to a team, a team has many projects

Code:
User
{
	id
	first name
	last name
	job title
	email
	phone number
	password
	user role
	is_authenticated
	is_active
	is_anonymous
	team id
	created projects
	{
		id
		date_created
	}
	date added
}

Team
{
	id
	name
	description
	subscription type
	projects
	{
		id
	}
}

Project
{
	id
	name
	description
}
I have a feeling Im not doing this right, but is storing the users and the projects entirely inside the Team what I should be doing? At what point are we nesting too many aggregates?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 01:40 AM
Quote:
Originally Posted by PJo336
jj or other mongo guys,

Any good resources to learning how to actually model data aside from the mongo data modeling pages?

Im working on a project with a friend using mongo, and unfortunately Im 100% in the SQL mindset and my buddy doesnt know very much about either.

I guess my first question is, when you store an aggregate inside a document, does that basically represent the entire entity? (Again Im sure thats mostly sql lingo) ie. a user belongs to a team, a team has many projects

Code:
User
{
	id
	first name
	last name
	job title
	email
	phone number
	password
	user role
	is_authenticated
	is_active
	is_anonymous
	team id
	created projects
	{
		id
		date_created
	}
	date added
}

Team
{
	id
	name
	description
	subscription type
	projects
	{
		id
	}
}

Project
{
	id
	name
	description
}
I have a feeling Im not doing this right, but is storing the users and the projects entirely inside the Team what I should be doing? At what point are we nesting too many aggregates?
I think everything's fine except I'd store team id in project and not have a list of project ids in team and also store created_by user id in project and not have a list of created project ids in user. That's more of a relational data modeling, but if you have a genuine need to store ids there instead of whole objects, you're probably in relational territory anyway.

Whether you should do it that way or store whole projects and users in the team object depends on your usage. Are users and projects standalone objects that need to be manipulated independent of the team they belong to?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 02:43 AM
My thinking for placement of both of those was that wed be directly looking up which projects go with a team and which projects a user created. I guess in a simple conversational use case it would be "What projects belong to this team" so we look in the team and "What projects did this user create" so we look in the user, rather than looking at every project and finding which team id or user id fits the bill.

I definitely am fine storing whole objects inside of objects, I'm just not really sure what the use case for that is, versus separating them completely like relational tables. Im approaching this as a complete learning experience, hence picking python and mongo both of which I have no experience with (vs java and oracle/mysql), but of course the end result is I end up trying to do Javaesque and mySQLesque things

On the plus side, Ive got a whole app running on a server complete with a login system in 1 day and probably only a couple hundred lines of code. Take that Spring/Hibernate
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 02:56 AM
Quote:
Originally Posted by PJo336
My thinking for placement of both of those was that wed be directly looking up which projects go with a team and which projects a user created. I guess in a simple conversational use case it would be "What projects belong to this team" so we look in the team and "What projects did this user create" so we look in the user, rather than looking at every project and finding which team id or user id fits the bill.
Even if you store the team id with the project, a simple query would do this for you -> db.projects.find({team_id: some_team_id}) and with an index, it would be pretty quick. It even has the benefit of returning actual projects not just the id.

Btw, if you're starting out and don't have a good feel for what's best, I wouldn't worry too much, just try something out and you will learn the pros and cons if you pay attention to how the design affects things later.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 03:12 AM
Besides not having to learn Objective C, is there any other upsides to Ruby Motion? There has to be some limitations right?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 07:31 AM
Quote:
Originally Posted by daveT
Has anyone used a Topre keyboard?

I'm not unhappy with the Das Keybaord at all, but I'm getting curious about some of the other things out there. I just think this is beautiful. I can't really afford to buy this one, but there seems to be some cheaper ones with mixed reviews.

It appears that the Das w/ letters is created from a different ORM, so the build-quality isn't the same. I'm fairly surprised that this could even be true, so it feels like buyer beware with some of this stuff.

The blank keys increase the cool-factor, for certain, but some key-combos are hard to get right on a blank keyboard. Not impossible, just inconvenient. I like the feel of the mechanical keys, but you know, once you try something better, you want to try even better, if you get the drift.
Whatever keyboard you get, make sure it gets shipped through Alexandria lol
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 07:58 AM
PJo336,

It's an interesting dilemma but I think the embedding resources question is highly dependent on what kind of data you're storing and how you plan to query/modify it.

I don't know if mongo has changed much in a few years but when I used it in the past it was pretty detrimental for performance if you had many large embedded documents and you expected the embedded documents to be changing often.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 08:15 AM
PJo336,

Like others have mentioned, its usually a matter of looking at how you're going to query the data.

So in your case users, teams, and projects are all entities that you'll want to be able to query for separately. The only real thing you'll need are the id links so you can do like Candybar said and query for something like all projects for a specific user.

So as an example you'll probably want to query for your user on almost every request. You may need this for authorization, or you may want to display user's name/email in a header, or whatever. But you probably only need all of the user's projects on a page where you list those. So it doesn't make a ton of sense to embed the project details in the user. I'd remove projects entirely from the user and team and put create_date, user_id, and team_id on the project.

Notice that a good case for embedding would be a field like user preferences where you had a map of specific preference keys to preference values for a user (ex. {'posts_per_page':50, 'show_when_active':false, ...}). That's information that you're going to want on most pages and it makes sense to keep it with the user object.

Quote:
Originally Posted by candybar
Btw, if you're starting out and don't have a good feel for what's best, I wouldn't worry too much, just try something out and you will learn the pros and cons if you pay attention to how the design affects things later.
And in the end this is correct. Remember that one of your advantages with Mongo is that changing schemes isn't all that painful.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 09:15 AM
Quote:
Originally Posted by Barrin6
Besides not having to learn Objective C, is there any other upsides to Ruby Motion? There has to be some limitations right?
You don't have to write Objective C? Obviously I don't know Objective C yet, but I've already seen a bunch of "C crap" that you shouldn't have to worry about anymore. Ruby seems much more elegant.

Also, getting out of XCode seemed pretty awesome. If I were ever doing this seriously that would be a pretty big selling point for me.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 11:16 AM
Quote:
Originally Posted by candybar
Even if you store the team id with the project, a simple query would do this for you -> db.projects.find({team_id: some_team_id}) and with an index, it would be pretty quick. It even has the benefit of returning actual projects not just the id.

Btw, if you're starting out and don't have a good feel for what's best, I wouldn't worry too much, just try something out and you will learn the pros and cons if you pay attention to how the design affects things later.
Both very good points. I'll definitely be doing some experimenting.

Quote:
Originally Posted by Shoe Lace
PJo336,

It's an interesting dilemma but I think the embedding resources question is highly dependent on what kind of data you're storing and how you plan to query/modify it.

I don't know if mongo has changed much in a few years but when I used it in the past it was pretty detrimental for performance if you had many large embedded documents and you expected the embedded documents to be changing often.
That makes sense, and it was definitely my concern. But I also dont want to shy away from embedding when it would be correct to do so.

Quote:
Originally Posted by jjshabado
PJo336,

Like others have mentioned, its usually a matter of looking at how you're going to query the data.

So in your case users, teams, and projects are all entities that you'll want to be able to query for separately. The only real thing you'll need are the id links so you can do like Candybar said and query for something like all projects for a specific user.

So as an example you'll probably want to query for your user on almost every request. You may need this for authorization, or you may want to display user's name/email in a header, or whatever. But you probably only need all of the user's projects on a page where you list those. So it doesn't make a ton of sense to embed the project details in the user. I'd remove projects entirely from the user and team and put create_date, user_id, and team_id on the project.

Notice that a good case for embedding would be a field like user preferences where you had a map of specific preference keys to preference values for a user (ex. {'posts_per_page':50, 'show_when_active':false, ...}). That's information that you're going to want on most pages and it makes sense to keep it with the user object.



And in the end this is correct. Remember that one of your advantages with Mongo is that changing schemes isn't all that painful.
Thanks, this is a great example. I have been querying the user a lot (obviously), so I guess I just need to pay more attention to what information Im pulling out the most and structure based on that.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 11:41 AM
Quote:
Originally Posted by daveT
Has anyone used a Topre keyboard?

I'm not unhappy with the Das Keybaord at all, but I'm getting curious about some of the other things out there. I just think this is beautiful. I can't really afford to buy this one, but there seems to be some cheaper ones with mixed reviews.

It appears that the Das w/ letters is created from a different ORM, so the build-quality isn't the same. I'm fairly surprised that this could even be true, so it feels like buyer beware with some of this stuff.

The blank keys increase the cool-factor, for certain, but some key-combos are hard to get right on a blank keyboard. Not impossible, just inconvenient. I like the feel of the mechanical keys, but you know, once you try something better, you want to try even better, if you get the drift.
Apparently the Das Ultimate (no key print) is has the old solid build quality. The Professional version is not as solid. Wish I knew this before ordering it last week for work. I might order the Ultimate for myself too.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 11:53 AM
Anyone know a bunch about SEO? Basically, I enjoy building single page apps. Seems like there was a pattern of redirecting the google bot to static snapshots of rendered HTML for indexing these types of sites. A few sites do this for cheap.

Any downside to this method if the pages aren't being updated too often? Probably not a good solution for a forum or something.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-27-2014 , 12:11 PM
Quote:
Originally Posted by jjshabado
You don't have to write Objective C? Obviously I don't know Objective C yet, but I've already seen a bunch of "C crap" that you shouldn't have to worry about anymore. Ruby seems much more elegant.

Also, getting out of XCode seemed pretty awesome. If I were ever doing this seriously that would be a pretty big selling point for me.
yeah, from what i gather they have a more user friendly API wrapped over XCode/iOS SDK (haven't started using it yet so not sure what the correct terminology is). at the same time, you can access everything natively. i don't think there are downsides (as there with stuff like titanium appcelerator), but there may be some small ones.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m