Getting more women into tech* isn't just about the money...
1.) Not encouraged in early years: If you are a tech-savvy female, "soft" tech careers (Graphic Design etc.) are generally recommended as career paths.
2.) It's a Boy's Club: If you make it past the college classes (with a 20:1 M-to-F ratio), you enter the workforce with (mostly) the same ratio. This means that unless you have thick skin & a good sense of humor, you'll never make it.
3.) You're Wrong: Even if you are right. And no one will hesitate to tell you why.
* Speaking for a professional career in Tech.
In my experience, a lot of these actually provoke you to strive to over-achieve & prove yourself. But I can see how it can seem off-putting for a new-comer.
I'm surprised this is still an issue. The guys here can't seem to trip over each other quickly enough to white knight imaginary women from any possible sexism. Is there a tech crowd that isn't obsessed over this topic and is making us all endure having to hear that Leisure Suit Larry is sexist and why? Speaking as a guy who managed guys and gals alike (in tech) and never treated them like children.
#2 would apply just as readily to female-dominated positions like nursing. A man who cannot handle a competitive, female-dominated field like nursing will get his ass handed to him as badly or worse. Men tend to be able to tolerate women who cannot get along in a male-dominated environment. That is not even remotely true in reverse.
I have the opposite background, but similar anecdotes. Spent all of high school and college in various art or design-focused curriculum and degrees. Inevitably ended up taking a few dev courses, but was only marginally interested. My first job after college was as a web designer in a software shop where I quickly realized that "real-world" programming mixed aesthetics and creativity with logic and really hard problems, was immediately hooked and started absorbing everything (even SICP!) in my quest to become a better developer.
Like yours, my left-brain intuitively sees patterns and (un)readabilty in code, beauty in simplicity, and has empathy for users/novices. My right-brain solves the problems, connects the top to the bottom, and is cold-and-calculating about the inner-workings.
It's also my experience, that if you are design-forward people discount your programming skills (all the more reason to prove them wrong) and if you are development-forward people discount your creative side ("oh, I _totally_ trust your opinion, but just to be on the safe side....").
IMHO Diversity of skills gives you insight into your work and the world around you. Even if you are not a natural you still gain new perspective. Hell, even knowing that you aren't any good is half the battle! I am good at _executing_ other people's ideas, and intuitively knowing what looks good - but struggle coming up with an original _truly unique_ artwork from scratch. On the other hand, Give me an empty vim buffer...
Let me precede this by saying - JS is one of my favorite programming languages. And I agree, unless you know JS you will not be a well-rounded client-side engineer.
But...
Unless the styles are integral to the functionality of a certain component (usually layout or box model), I prefer to keep the styles where they belong. To me, it is much easier to maintain styles in a stylesheet - especially if you have jr. devs or designers working with you. Yes, CSS easily becomes a big ball of mud. But if you organize it properly - and maybe even use something like LESS or SASS - it is much more maintainable.
It is also the responsibility of a good developer to know when to apply certain techniques. For instance - a simple "grow on hover" is very easy to achieve via CSS animations - with a fallback to non-animated grow on IE etc. But a "grow on hover and then do crazy animations" is probably better accomplished with JS.
But 'regular' people are loving the Galaxy S 2, I guess because of it's large and vibrant screen, and it's thinner (to hold) compared to the iPhone 4[1].
I really like the Galaxy S 2 and I wish so hard that Android was actually polished to the degree that iOS is. My iPhone bores and I love the screen on the Galaxy S, yet I know I will miss out on OS updates and being able to smoothly rotate the screen. The day android is as polished as iOS is is the day I switch.
[1] I'm not sure if it is actually thinner than the iPhone 4, but it feels thinner, much in the same way the 2nd gen iPod touch was thinner than the previous gen)
No, I meant Android models. People who want the latest iOS, get the latest iPhone. People who want latest Android won't necessarily get a Galaxy S2 because there are are many other new Android phones. So I'm saying comparing the iPhone sales to the Galaxy S2 sales isn't fair.
Do you think that might have something to do with the variety of models available? That people are more free to pick what hits their aesthetic desires, as well as form, functionality, features?
Whereas with the iPhone, you basically have "the iPhone". So of course sales are consolidated into that one model.
The Galaxy S II is the best selling phone in several countries, in others it's a close 2nd to the iPhone 4. I'm not sure it's possible for it to sell a "hell of a lot more" unless every single person bought one, (would you make the same argument for the iPhone 4?).
Samsung have just overtaken Apple in total smartphone sales, though they have a few more models than Apple. But if you look at the trajectory (they came from nothing in the last year or so) it's only a matter of time before their flagship outsells Apple's in more countries than it already does.
The Galaxy S2 sold 10 million phones worldwide even before it went on sale in the US. It's pretty much the bestselling Android phone. So this is a pretty silly comment, although fairly typical for iPhone users who aren't up to date on Android phones.
I found one article about the sales of the S2 from an "android news" site, that indicated it was selling 2-3 million a month. I'm sure it is the best selling android phone, and I say anything that sells more than a million units in a year is a "hit", but that's not a lot of sales compared to the iPhone. It certainly hasn't broken out into the mainstream like the iPhone has.
Look at the comment I was responding to, that people must not be loving the Galaxy S2 because "there would be a hell of a lot more sales of it than there are..."
In my experience, yes. I a lot of people I work with (shifty at KFC) and live in my dorm get more excited about the Galaxy as apposed to the iPhone. Those who have the GS2 love and live by it.
0.6mm at its thinnest point, and 0.5mm thicker at its thickest point (the latter being a sticking point, UK's Advertising Standards Authority ruled against Samsung's claim of thinnest smartphone on the market on these grounds)
I am so fucking tired of this argument. "Users don't care" - well you know what? I AM a user. And if a phone can't do X it does matter for me, even if you or your grandma might not care. It's downright insulting saying that I am somehow different from regular people, because I have flaws with Apple products.
What mitigated this a bit though, is the actual Phantom codebase on-top of Webkit is really small. So when you need to figure out exactly what it's doing, it's super easy to just dig into the src.
I'm hoping more visibility as CLI JS (and/or Coffescript) testing becomes more mainstream, it will bump up the # of contributors.
PhantomJS is one of the better "headless" browsers out there. Webkit-based, Minimal src codebase (Python), and easy to compile (with QT tools).
IMO The API is a little weird though: when evaluating js within a PhantomJS "WebPage" context, it is _completely_ sandboxed. i.e. you can't use closures or otherwise reference any variables outside the scope of your "WebPage" (without work-arounds). This is odd, when you consider that the page is just another var in your script. IMO it kind of breaks some JS paradigms. Not a big deal, but an annoyance none-the-less.
Janus is amazing. I replaced all of the hassle of maintaining a bunch of plugins and vimrc with Janus and a few lines in ~/.vimrc.local and ~/.janus.rake
With Janus, you can easily remove things you dont want and add plugins you need.
This is how I approach project design as well (after the POC phase): Top down (API first). Then (not covered in parent article) bottom-up, (a.k.a. what building blocks does that API need?). _Everything else is just glue._
If you exclusively do one or the other, you end up in bad territory. Top-Down: Results in excessively bloated API logic. Bottom-Up: You end up with a muddy API, that is overly complicated & hard to use (it's more of a RPC lib than an API).
This comment is under rated. Think about the intteraction (view), write tests and document the model, then fill it out. Correct tests, fixtures/factories and model as necessary.
The controller should be thin, make 1 or 2 calls to the model while mapping or cleaning input, then the response. If your controller actions are thick then your model sucks and isn't encapsulated or you have complicated response logic. Avoid these by writing great encapsulated models. understand the presenter pattern.
I've worked in sections of code that doesn't consider my opinion as advice and dechipering wtf was going on was anything but quick, and I probably introduced bugs because I couldn't understand how everything worked.
Tldr, controllers are glue code. Applications made entirely of glue doesn't even sound right saying it.
Besides the whole `cd` override thing, I am curious why so many people are "confused" or have problems with RVM? (This is a genuine question. I've never had problems with RVM, but obviously others have, so I am curious)
1.) Not encouraged in early years: If you are a tech-savvy female, "soft" tech careers (Graphic Design etc.) are generally recommended as career paths.
2.) It's a Boy's Club: If you make it past the college classes (with a 20:1 M-to-F ratio), you enter the workforce with (mostly) the same ratio. This means that unless you have thick skin & a good sense of humor, you'll never make it.
3.) You're Wrong: Even if you are right. And no one will hesitate to tell you why.
* Speaking for a professional career in Tech.
In my experience, a lot of these actually provoke you to strive to over-achieve & prove yourself. But I can see how it can seem off-putting for a new-comer.