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

03-14-2014 , 09:05 AM
Quote:
Originally Posted by kerowo
A lot is going to depend on how good your documentation is. Is the intern going to have to solve a bunch of dependency issues that no one wrote down but everyone knows? Any other gotchas in your environment? You can't expect a new person to sit down and figure stuff out on the wiki if you don't have good documentation.
Basically this.

We make it clear that they should update documentation accordingly. We then usually have them do some stuff with our product and give us feedback (good for them and for us). After that we give them an easy feature/bug to fix and shepherd through to production.

I'd say that usually takes a few days to a week and we have a fairly complex dev set up.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 09:12 AM
Quote:
Originally Posted by Nchabazam
Oh I'm sure. It just sounded like a lot of big companies (google, sendgrid, etc) are moving over their whole stacks to Go as fast as humanly possible. I'm sure they have their own web frameworks with it, if that's what they're using it for.
Whole stacks? Google uses a ton of different techs. Last I checked they were using Go to handle the download service. But this is the type of stuff I'm talking about. That download service isn't a front end to a web app / page. It's just a service that needs to be super efficient.

Sendgrid's front end website is built with rails btw. Maybe the little service that handles their high traffic email queue is powered by Go and that's a good use case.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 09:23 AM
Quote:
Originally Posted by Shoe Lace
Whole stacks? Google uses a ton of different techs. Last I checked they were using Go to handle the download service. But this is the type of stuff I'm talking about. That download service isn't a front end to a web app / page. It's just a service that needs to be super efficient.

Sendgrid's front end website is built with rails btw. Maybe the little service that handles their high traffic email queue is powered by Go and that's a good use case.
What would Google's web framework currently be built in? Sounds like they mostly used Java(?). Do they have some sort of C compiler like facebook has (hip hop compiler or w/e)? Their stuff is so ridiculously fast.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 09:50 AM
I don't know. I think they have a ton of teams and they just build stuff with whatever the team leaders choose. I think a lot of their stuff is straight C/C++ for the high traffic services.

Basically, continue writing rails apps and then when you hit a concurrency/latency bottleneck that you can't fix and you've identified the problem code to be something that you can extract into a service then extract it into its own ruby service using celluloid (or an equiv.), and then once that falls over and cannot be horizontally/vertically scaled within reason then rewrite that service in Go.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 10:10 AM
Quote:
Originally Posted by clowntable
How long would you think an intern with very little Python/webdev experience (just assume ABC-learned Java in school) would take to get through the Django tutorial if you also require him to
- use pip/virtualenv(wrapper)
- configure his IDE of choice (let's say PyDev)
- python3 instead of the assumed python2 from the tutorial (expected to install both on his linux dev-computer)

And actually understand the stuff, not just click through, well enough to make meaningful small changes to the example app reasonably fast

How much extra for
- setting up/using git for the mere basics (if never used version control before)
- virtual box+vagrant+salt

Am I way off base for expecting this in one work day with very little extra help (he gets a couple of links to read for each topic but then it's basically google it yourself)
At least 2 days. More likely a week
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 11:25 AM
Of course they are rare.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 02:21 PM
Quote:
Originally Posted by clowntable
How long would you think an intern with very little Python/webdev experience (just assume ABC-learned Java in school) would take to get through the Django tutorial if you also require him to
- use pip/virtualenv(wrapper)
- configure his IDE of choice (let's say PyDev)
- python3 instead of the assumed python2 from the tutorial (expected to install both on his linux dev-computer)

And actually understand the stuff, not just click through, well enough to make meaningful small changes to the example app reasonably fast

How much extra for
- setting up/using git for the mere basics (if never used version control before)
- virtual box+vagrant+salt

Am I way off base for expecting this in one work day with very little extra help (he gets a couple of links to read for each topic but then it's basically google it yourself)
Somewhere between 3 days-2 weeks. It really depends on if they've done any stuff with a unix based OS before. When I first started learning, I had never used a mac, and a lot of the setup was very foreign to me. I guess it didn't take me forever once I figured out to use a virtualbox, but I floundered for a while.

I don't know much about Java, but isn't it a lot easier to config than like python/ruby?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 04:59 PM
Java in school is way easier because you're almost never using libraries or if you are you're just given the magical command that makes it work.

Java in real life can be sort of messy, but I think usually the tools for managing it are better and so it can seem much easier.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 06:25 PM
Idk what kind of python libraries were talking about but even widely used stuff like spring and hibernate can be a complete nightmare if they feel the need that day
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 07:52 PM
I'm guessing Java has a nice way to hide the POM these days, right?

I know some people prefer using it, but I'm not sure who.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 09:38 PM
Quote:
Originally Posted by jjshabado
Java in real life can be sort of messy, but I think usually the tools for managing it are better and so it can seem much easier.
Can you give some examples of how it is sort of messy?

I don't really understand the need on this forum for people to criticize something without giving reasoning.

Java is a great choice for developers because of the countless open source libraries for almost anything a developer needs to do.

Simple as dragging the jar into your project's library folder and adding the imports which are done automatically with any IDE.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 10:26 PM
How many people are on your team? How good is your version control? Are all your devs using the same version of all the libraries? Do all the frameworks you're using use the same versions of those libraries? I don't think they are saying Java shouldn't be used I think they are saying that working code is more complex than Java 301 code.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 11:02 PM
Quote:
Originally Posted by kerowo
How many people are on your team? How good is your version control? Are all your devs using the same version of all the libraries? Do all the frameworks you're using use the same versions of those libraries? I don't think they are saying Java shouldn't be used I think they are saying that working code is more complex than Java 301 code.
So we're assuming in this picture that devs are not using any code management like github and the project is fairly young or what?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 11:18 PM
Quote:
Originally Posted by Nchabazam
Had an interesting conversation with a couple of guys who are using Go and CanJS for their stack. Sounds like Go is going to take over the world, and is easy to learn. Obviously there was a bit of kool aid for me to drink, but sounded like there were massive amount of job openings for it.

Anyone have any thoughts?
I'll chime in since I generally use a odd-ball language.

Every new language that gains more than 1% market-share is going to be the next big thing, or be The Last Programming Language.

It is preposterous to say XYZ language is going to be huge. No one can predict it. Ruby was virtually unheard of until Rails. Java was entirely The Next Big Thing (it lost the web to Javascript, a language that by all means didn't have a crying chance -vs- Sun Micro). PHP was nearly invincible. The year of Linux and Lisp is always next year.

As for the job openings. I wouldn't depend on it. The baseline talent of Go-langers, Clojurians, Haskellers, and Erlangers is stratospherically high. If you are dealing with languages that are new or under-served, you don't have the luxury of installing a library for some functionality you need and there are almost no tools available. You pretty have to either roll your own functions, tools, or slog through under-documented code.

I can offer you this anecdote. There is one guy I often see at various meetups. We were discussing some of the various meetup groups. He said that Clojure was "sort of hardcore" and then called Go-lang "super hardcore."

I'm not going to go into massive detail about the accomplishments of the Clojure people in my area, but a few items that I can point out are building their own high-scalability NoSQL database from scratch (2 people) and building a 24 redundant network monitoring system (1 person). I was at one meetup that was a "hackathon." The assignment? Build your own IRC network channel... from scratch within 2 hours. Believe it or not, a few people tackled this challenge.

And these guys are "sort of hardcore."

Not to discourage you, but when I hear there are jobs for Erlang, Clojure, Haskell, or Go around (and I hear this a lot since I work with Clojure), I don't think "Hmmm. Website." I'm thinking massive data, phone systems, parallel algorithms + processing, high-scalability, and massive neural networks. People just don't do "easy stuff" with languages like this. I'm thinking you better know what this means:



Because you will probably be asked to program that on a whiteboard (and I'm not being sarcastic) and I've seen equations that would make your eyes glaze over during demos.

****

You will learn a ton really fast using a language like Go. When you are flapping in the wind, you only have yourself to reach into and find guidance. You don't go to esoteric languages for job opportunities. You go into them because you love something about the philosophy. You want to drill down and really study and you want to come out the other side a better programmer. You want to show the world something that they will enjoy and you want to be able to say "I build this with my two hands and look at this neat little hack."

Obviously, there is a lot of upside as well. It has been fun watching the fast growth of Clojure over the past year. The tooling is much better and the community and libraries have matured at a very fast rate.

I suspect that, in spite of Google's backing, Go has a decent chance, I say in spite because you can find many other programming and OSS stuff Google has put out that hasn't done so well. Closure is one example. Excellent JavaScript framework, great ecosystem, but no mind share.

Then at the end, you have an epiphany, but it is up to you to decide which fork you want to travel.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 11:50 PM
Quote:
Originally Posted by iosys
Can you give some examples of how it is sort of messy?

I don't really understand the need on this forum for people to criticize something without giving reasoning.

Java is a great choice for developers because of the countless open source libraries for almost anything a developer needs to do.

Simple as dragging the jar into your project's library folder and adding the imports which are done automatically with any IDE.
I think sometimes we just say things assuming other people have the background to understand what we mean. If you want more details, just ask.

Rarely is a production java project managed just by putting jars in source control. It's usually done with a tool that pulls in library dependencies as needed at build time (caching where appropriate). You can have silly class path issues or conflicting jars or spend hours trying to figure out why the **** maven seems to be finding the wrong jar.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-14-2014 , 11:55 PM
When I thought people couldn't go any lower, I think I've discovered the lowest grade programmers on the planet.

The company site, which is really nothing more than a basic store-front, took over one year to finish. And by "finish," I mean that the site isn't really done yet. We still have to add all the information and pictures.

It has to be the most ugly, bizarre, website I have ever seen that wasn't a straight-up troll. I can't describe how ugly, slow, and unusable the thing is. Just shocking.

After one solid year of "development," the main functionality the company needed, which is really little more than a facet search, was never completed. The person who has to upload the product details and pictures took 3 days of back-and-forth with the developer to finally get the basics up. He then asked why there wasn't a drop-down list on the product detail pages: "Oh, you will have to pay extra for that." Not that there is any evidence that these guys did anything at all with the site aside from fiddle a few CSS items (very poorly, I might add), but of course, this guy has the gall to ask for more money and then what? Take another 6 months to implement this "feature?"

After uploading all of the content, including all the minutia like product descriptions and other candy, nothing showed up on the pages. The main pages showed the products and linked to the product detail pages, but the detail pages just showed a picture and nothing else.

And as may have guessed, the site features the largest, most obnoxious, image slider splash you've ever seen on the front page of a site.

The sad part is that this is a CMS site, so it wasn't like they couldn't install a theme for free and get something somewhat professional looking for, idk, free?

When the boss finally saw this site, he said "Are you ****ing kidding me? That's not our new site, is it?"

Of course, communication and mock-ups would have mitigated the disaster partly, but wow, just wow.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 01:03 AM
Quote:
Originally Posted by jjshabado
I think sometimes we just say things assuming other people have the background to understand what we mean. If you want more details, just ask.

Rarely is a production java project managed just by putting jars in source control. It's usually done with a tool that pulls in library dependencies as needed at build time (caching where appropriate). You can have silly class path issues or conflicting jars or spend hours trying to figure out why the **** maven seems to be finding the wrong jar.
Good example in a smaller application I am working on. A couple libraries all used the same library as a dependency, but different versions so there were a ton of conflicts. It was annoying to track it down as well since the errors werent exactly helpful until I specifically knew what to look for. I had to look over the entire dependency tree and exclude the correct dependencies to get the appropriate version I wanted operating. Im still not even sure that was the best approach, but sometimes getting something running is most important.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 06:25 AM
How did me being way off when it comes to setting up a dev environment end in yet another language war...lol

The point about never using a Unixoid OS was a good one. Didn't even think about it because I have used Linux for so long but there are many people that have been on Windows all their lives (which can be pretty messy with some languages, iirc. Ruby/Rails stuff was a nightmare in the beginning)

I think for the easy cases all languages are fairly easy to set up and for special cases there are always going to be tricky setups (especially with long chains of dependencies). Haven't had any issues with most Java usecases but combining it with a proprietary Prolog requires specific versions for libraries sometimes which gets a little tricky but isn't anything that you can't handle.
Python is extra tricky because of the 2/3 divide and stuff not being ported to 3 yet etc.

Either way, thanks for the input I'll correct my expectations downwards. Maybe I should just pick some exotic language I haven't used before and see how long it takes me to write something like poll app.
Haskell would probably be a good "worst case" candidate. I feel I'd struggle a lot

[I also randomly saw that there's a "7 web frameworks in 7 days" book now. I really enjoyed the databases and languages ones as a nice high level train ride read to get a grasp of what's out there so I might get that one]

---

Regarding Go...I listened to an interesting podcast about it on the train. Had a guy from Google and he explained where Go replaced legacy stuff internally and why...interesting stuff. I think it was this one:
http://twit.tv/show/floss-weekly/284

But could have been "The Changelog"...those are the two podcasts I usually listen to on the train

Last edited by clowntable; 03-15-2014 at 06:33 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 08:37 AM
The funny thing was I thought I was kind of giving Java a compliment about the tooling around the hard problem of dependency management.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 10:20 AM
Ya, I didn't hear any insults to the language in your post. It's not like you (accurately) referred to Java as "Today's COBOL" or anything...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 12:47 PM
Quote:
Originally Posted by daveT
After one solid year of "development," the main functionality the company needed, which is really little more than a facet search, was never completed.
Theres a free drupal solr module that works pretty much out of the box that does faceted search and all sorts of things I thought only ninja MIT grads could pull off.

I'm kind of surprised solr isn't talked about more. Is there something wrong with it that makes it seem unpopular? Just old news? Is it the xml configuration?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 04:46 PM
I think a lot of people choose elastic search now. I really can't think of 1 good reason to use solr instead of elastic search at this point.

I'm sure it has its place in some niches but every full text search / aggregation / facet problems I've encountered was solved with elastic search.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 06:03 PM
Quote:
Originally Posted by e i pi
Theres a free drupal solr module that works pretty much out of the box that does faceted search and all sorts of things I thought only ninja MIT grads could pull off.
This site using NopCommerce, does have Solr integration and doesn't appear to have elastic search baked in. We are talking about 2 people who, by all evidence, never programmed before and likely never used .Net, so it's safe to say we got expected results.

In order to get said functionality to work, they would have to know how to design the database so that it would work. According to the one guy, it took them many months to get the functionality to work, which really wasn't hard enough to to justify this kind of time, and it appears to not work anyways.

Even if they never programmed before, I think that one year of learning and screwing up is enough to get this site up and running properly. But trust me, the details of everything I know of is just crazy. Now, after all of this, they feel that they can hold the code hostage, which is just absurd.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 09:42 PM
Quote:
Originally Posted by jjshabado
The funny thing was I thought I was kind of giving Java a compliment about the tooling around the hard problem of dependency management.
A problem that is not limited to java code.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
03-15-2014 , 10:01 PM
That is a person's carelessness or lack of organization and nothing to do with the language.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m