Hacker Newsnew | past | comments | ask | show | jobs | submit | more arturnt's commentslogin

It's helpful to have predictable names. Imagine you have to @ someone or add them on a code review by name or send them a chat by name. @fruitloops123 is a lot harder to remember than @mark[Teamname] or @marklastname.

When you are large enough first names no longer work.


GitHub's tools always fell short for me. Phabricator is a much better code review tool (with a commandline workflows). Trello / JIRA are a lot faster and more flexible for issue management or sprint workflows.


I get these emails weekly and it's very helpful in interview prep.


If you are using Java with a package/build manager like maven you can always automatically pull all the source jars and then any IDE (Intellij/Eclipse) will allow you to jump through all third party libraries. Are you targeting the non-IDE crowd with this tool?


The main use-case that I see for this is when an exception is thrown in production on some random server inside a third party library. Such exceptions can be excruciatingly hard to run down without the source code.


While useful, I can't see how it could ensure that the right version of the source code is being presented to the user.

In theory, it could analyse all versions of a library, and then choose only those versions that could lead to the given stack trace. Even that would be error prone, and may lead to multiple results.

Setting up an IDE would take extra time, but would be the best way to debug the exception.


Finding the right version of the source code is definitely a challenge. However, it's a solvable one. What you're suggesting is actually what ExceptError does. It indexes all versions of each library, and uses context from the entire stack-trace, including line-numbers, method-names, etc, to find the exact match.

Agree that IDE is the best way, especially when it comes to Java, but it's not always possible. For example you may be debugging distributed systems in production.


Hibernate comes to mind as a use case. That's always crapping huge stacks in production thanks to obscure edge cases.


The other thing is that even with an IDE, I think folks may find this useful. Not everyone uses Gradle, Maven, etc, and also not every library on Maven comes with the source jars.


Sneakpeeq, Inc. (based in San Francisco)

We are revolutionizing e-commerce. Building a Heroku of Shopping. We are a smart, fast, motivated, and most of all fun group of engineers backed by top VCs. Our founders are serial entrepreneurs and former engineers. We are growing like crazy looking for smart generalists that are ready to work on hard problems.

-Artur

Interested? Email artur@sneakpeeq.com and let me get you coffee!


I disagree with this article. A "Growth Hacker" is an engineer that applies himself in the field of marketing. This means coming up with interesting and innovative ways of lowering the cost of user acquisition. The distinction is important since Marketing itself is a very loaded term.

Companies like Zynga thrived because they found cheap ways of getting users: early un-managed FB platform, and app referrals. Same with AirBnB and their craigslist post automation.

Growth hacking isn't going to make your product better, but more people will be aware of it.


<blockquote>A "Growth Hacker" is an engineer that applies himself in the field of marketing.</blockquote>

or a marketer who learns how to code?


It's possible you might end up with an equivalently effective person, but I think it'd be easier to transition from coder->marketer. I suspect that the knowledge required to be useful is about 70-30, or maybe 85-15, heavily on the coder side.

To pick up some marketing ideas that will start moving the needle on your startup, read a small book. You'd probably already know enough to start iterating on 3 or more techniques.

To get a marketer to pick up the most basic coding skills, start with flow control and variables. It could be a month before you're useful, in one language only. Then understand HTML, SQL, the server-side language, maybe jQuery, plus maybe security so you don't start adding lots of useful but dangerous code. Understand performance, so you don't kill the server with a loop in customer-facing code. Not just be able to click a "add new test" button, but integrate ABingo without hassling the rest of the team (if that's the best tool for the job). The point is: whatever it takes. You need to know enough technical concepts to be fast and loose with whatever will move the needle best. You're making few marketing decisions, but many technical ones.

So: fully agreed with your other comment. Marketers will be well-served by getting into some of the code, because it'll enable them greatly. But if I were hiring a marketer->coder, I'd be a lot more wary.

Up until today, I've disliked the growth hacker "thing". But these posts have clarified it for me. I'm generally irritated at the non-bschool vibe around here, but on this issue I'll lean heavily on the coder side.


All the details of programming are complicated and you can justify it with your expert knowledge as fact. Perhaps marketing is just as complicated but seems simple since you just see the output / results and do not have the expert knowledge to realize the detail that went into it?


I certainly don't think world-class marketing is simple at all. You get brilliant people in all roles, and I'm in awe of the best in the business. But most startups don't need killer deep-knowledge marketers who could design a marketing strategy for Coke but have learned to program a bit. Most startups need someone well-versed in technology who knows enough about marketing to move the needle on growth.


Yes, anyone can become a really bad marketer by reading a book, just like anyone can become a really bad Engineer by reading a book.

The thing is? being a good marketer has more to do with who you know (and who knows you) than what you know. (just like being a good Engineer has more to do with how well you can figure things out than with how many languages you know.)

knowing people that can get you press is super important for marketing people (and, of course, the ability to get people to like you.)


My mistake; I would define it either way.


Spoken like someone who knows nothing about Java. There are a bunch of apps written in Java web start(ie yEd), which involves just clicking on a link. Off the top of my head, some very popular Java apps are Eclipse/Intellij or Azureus.


I use IntelliJ daily, and the install experience is "devloper friendly", not exactly end user friendly. Dont get me started on Eclipse install process.

JWS is awful. It is totally not the way users expect to install applications.


"Dont get me started on Eclipse install process."

Actually, please start. I install the JDK via an installer, unzip Eclipse, run eclipse.exe, and it just works. Am I missing something?


Probably the part where it usually can't find your JDK (and barfs with some random error on startup as a result) until you edit a config file or set some environment variable(s). NetBeans on the other hand usually finds 5 different JDKs on your system and asks which one you would like to use.


which part of intellij installation that is more developer friendly? i just download the DMG and drag the icon to Applications, just like other apps.


Im using ItelliJ on linux now, IntelliJ is just a .zip. You are right thats the way it works on OS X and that is excellent.


The first thing that anyone who doesn't know Java complains about is running a main method, which no one in the Java world does 99% of the time. This is probably the first thing you have to do in a Hello World Java tutorial, but has nothing to do with Java.

There are some poor design choices in Java like no method overriding, mix of primitives and their boxed equivalents, lack of closures, or first class functions, confusing equals semantics, generics verbosity, etc. But main method is just moot.

Also it has nothing to do with superiority of Lisp over Java. Lisp has a different philosophy it's a functional language, while languages like Java, C, Ruby, Python etc are all imperative (see http://en.wikipedia.org/wiki/Functional_programming#Comparis...). I think a better article would be about the virtues of each style and when to use which.


One can program in Lisp in an imperative manner very easily and likewise one can program in Python in a functional manner very easily. The big difference between Lisp and Python (or Ruby) is not the functional nature of Lisp, but rather it's homoiconicity.

Re Java, I write CLI programs in Java all the time. It's fine for that, other than the annoying 1 second startup time.


When Google went IPO their valuation hovered around 30B, compare that to Facebooks 3 times that, now nearing 90-100B in the private markets. Companies are staying the private markets a lot longer so by the time they hit the public market they are already overvalued/valued appropriately. I doubt Facebook will see exponential growth initially until they have healthier profit numbers. Unless a lot of amateur investors buy it because they saw The Social Network.


It doesn't even require a lot of amateur investors to drive it up beyond reason, just the belief that there will be a lot of amateur investors. Who cares if I paid a stupid price if I can sell to them at a stupider price? Some people call this the "Greater Fool Theory."

http://en.wikipedia.org/wiki/Greater_fool_theory http://en.wikipedia.org/wiki/Keynesian_beauty_contest


I agree with you wholeheartedly. When I read Fahrenheit 451 a while back I was bothered by it since it really describes the trends in present day society. There the war was on television, and how over time it has been reduced to pointless factoids without depth or context. Sounds familiar?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: