Pulsar vs. Kafka - <AUTHOR> https://streamnative.io/blog/tech/pulsar-vs-kafka-part-1 <comment><USER2> For more details on pulsar and comparisons to similar systems see this series of blog posts from a rabbitmq developer.

[https://jack-vanlightly.com/blog/2018/10/2/understanding- how...](https://jack-vanlightly.com/blog/2018/10/2/understanding-how-apache- pulsar-works)

[https://jack-vanlightly.com/blog/2018/10/21/how-to-not- lose-...](https://jack-vanlightly.com/blog/2018/10/21/how-to-not-lose- messages-on-an-apache-pulsar-cluster)

[https://jack-vanlightly.com/blog/2018/10/25/testing- producer...](https://jack-vanlightly.com/blog/2018/10/25/testing-producer- deduplication-in-apache-kafka-and-apache-pulsar)

[https://jack-vanlightly.com/blog/2019/9/4/a-look-at-multi- to...](https://jack-vanlightly.com/blog/2019/9/4/a-look-at-multi-topic- subscriptions-with-apache-pulsar)

</comment><comment><USER3> > Lower end-to-end latency helps enterprises gain business insights faster.

They lost me here. I can think of plenty of situations where reduced latency is beneficial, but not many situations where shaving a few milliseconds would make a difference to "business insight"!

Although I suppose it is strictly correct, in the tautological sense...

<comment><USER4> So I've developed an in-house fancy thoroughbred 'real time' data warehouse, a very rare beast indeed, and its awesome.

Of course, our business is still running on nightly reports. But the tech is cool!

So I wanna say you're wrong, but I've got man-years invested in a system that hasn't been utilized to its full potential yet :(

Time will tell. Somewhere, some competitor will be using real-time insights to out-compete us.

<comment><USER5> Nightly to seconds is definitely great. Seconds to milliseconds is what is questionable I think.

<comment><USER6> > Nightly to seconds is definitely great

Why? Can a business mobilise in anything less than days? If a report is minutes out of data, is that any loss? Given that some largish proportion of reports are never used, perhaps better management is key.

not disagreeing but efficiency is not just a matter of quickness.

<comment><USER7> Nightly to seconds = developers can see the data generated within seconds.

This generally has implications on data quality, because you aren't fixing data quality issues once they occur in prod.

This also makes it far easier to develop ETL pipelines. You don't need complex tooling to see whether your ETL pipeline works.

You can technically fix data quality and dev velocity issues without low data freshness, but a quick glance at the data engineering landscape tells you they aren't being solved enough.

</comment></comment></comment></comment></comment><comment><USER8> All those articles of kafka vs pulsar are always biased (this one is from a company selling pulsar). There are so many of them that I can't get an opinion on which one is good for what.

<comment><USER9> Pulsar is more flexible and fault-tolerant. For me the most important thing is client can request log queue starting from specific log by id, it has better retrying mechanisms for logs that failed to be processed. But it has absurdly bad documentation. I had to learn many things about Pulsar by downloading src of their java library and just reading the code. Documentation on starting bookie, zookie, pulsar, pulsar-proxy cluster was non-existent, and making it work like in their architectural diagram was a week of work and experiments, compared to literally 2 hours spent in Kafka.

Bookkeeper has/had even worse documentation and setup. When I used it bookie couldn't have mounted directory for log storage, so it's not really that persistent as they say. Before restarting bookie node it has/had to be reformatted to allow bookie instance to re-use logs saved on disk. The whole "log are persisted" is true, but they don't say that you can't simple mount them in docker and restart your PC to it.

Pulsar is good when you get it working. Documentation is really bad and it's hard to make it work. All the super-positive articles about pulsar are sponsored (streamnative and yahoo) and biased to make pulsar look much, much, MUCH SIMPLER than it actually is.

<comment><USER10> > For me the most important thing is client can request log queue starting > from specific log by id

Kafka clients can start at a particular offset ID within a partition.

</comment></comment></comment><comment><USER11> AWS should fork Pulsar and put out a v2 streaming product. Kinesis is kind of crappy (IMO) and doesn't seem to be improving much. If you look at the Pulsar architecture and feature set you can tell that it was designed very much with this in mind (something that large scale cloud providers can integrate with their infinitely scalable storage and compute systems).

It's not all hype either, according to this post [https://jack- vanlightly.com/blog/2018/10/21/how-to-not-lose-...](https://jack- vanlightly.com/blog/2018/10/21/how-to-not-lose-messages-on-an-apache-pulsar- cluster) it seems like a solid piece of tech.

<comment><USER12> Instead of Kinesis we you AWS MSK (Managed Kafka), which is expensive but works quite well.

<comment><USER13> Calling MSK expensive is maybe not being clear enough. It's more than 2x the cost of the raw EC2 instances. Then on top of that, to get metrics at the per broker level there's an upcharge, and a further one for per topic metrics. These are things that are actually extremely important at scale, and it's absurd how expensive it gets.

Then you combine that with how immature the UX is, and it really just doesn't feel good to deal with. It's not that much work to run a Kafka cluster with the sort of design that MSK provides, and it can be done better than that without much cost.

</comment></comment></comment><comment><USER14> With Pulsar vs Kafka, I don't see a huge argument between either one functionality wise as they have so much in common (distributed log, Java based, avoid copying memory, use Zookeeper). Because Kafka is more supported and well-known it seems Pulsar needs to be an order of magnitude more performant to capture developer mindshare.

I see the same with Spark vs Flink in that similarities outweigh differences. I wonder if this is some sort of emergent pattern in open source software.

<comment><USER15> There are real differences among them. Here is some painful aspects of Kafka:

1\. A single partition is stored in one node (replicas on another nodes). With this, introducing new nodes takes very long time to replicate large partitions, because it can replicate one partition from only one node (leader of the partition). On Pulsar each segment of partition is stored in a different bookkeeper node.

2\. Because of 1, if two consumers read different parts of a partition that are far from each other, they will compete over disk bandwidth. In Kafka consumer can not read from replica node. If a topic is really popular and many consumers try to read from it (from different parts of the file which makes OS page cache useless), total consumption rate is limited to disk bandwidth of a single node. But in Pulsar each consumer can read from different brokers. Catch up consumers won't trash streaming consumers in Pulsar.

These are not problems that can be fixed easily. Additionally, in the realm of streaming the difference between Flink and Spark is day and night. The low watermark feature that Flink offers makes them behave fundamentally different.

<comment><USER16> 1\. is true, but if you want that data to move to a new node, it still needs to be replicated. Kafka's approach is to use tiered storage (which I believe is close to completion).

2\. Kafka can read from a replica node. It's relatively new but it's there.

<comment><USER15> That's true but still limitation is not fully resolved. In order to increase consumption rate, we need to add replicas. In pulsar Brokers are merely cache nodes over Bookkeeper. Adding more Brokers is trivial in Pulsar.

<comment><USER17> How in pulsar do they get around the fact that adding a new broker, data needs to be moved over before that broker can start serving data? This seems like a basic law of physics type limitation to me.

<comment><USER15> Network is faster than disk. Once cached, then you are only bound by network IO for subsequent uses.

<comment><USER17> Sure- but how is this different than kafka's caching?

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> This smacks of being heavily one-product-focussed to me. Being a Kafka user it's hard enough managing and understanding one system, nevermind three or four joined together.

Maybe it's a bit faster or a bit more elastic, or whatever, who knows. What I really care about is whether I get called at 3am and in that regard the argument seems pretty weak. Kafka for all its woes is a solid system you know you can count on.

I'd much rather see someone come up with a truly innovative alternative that actually pushes the boundaries, rather than just copying what's there already, and adding a few window dressings.

<comment><USER18> What kind of (lower level) surrogate metrics would you be interested in that could translate to '3am phone calls' when comparing messaging systems?

<comment><USER16> Being used by at least one company of significant size that (a) i've heard of and (b) isn't directly connected to the project would be a good start.

<comment><USER18> 'Directly connected' to a project might mean a user of - but I assume you mean a major contributor to (as even small time users of free software often contribute something - bug reports, feature requests, code contributions, money, etc).

The page: [https://pulsar.apache.org/powered- by/](https://pulsar.apache.org/powered-by/) suggests there's quite some number of corporate users who are happy to confirm they use this suite. I don't know how many of those _you 've_ heard of, though.

I suspect many private & government agencies around the world would decline to formally attach their name to any list like this, lest it be (mis)interpreted as an endorsement.

<comment><USER16> I've heard of Comcast, but that's Yahoo. Not heard of the others.

</comment></comment></comment></comment></comment><comment><USER19> I've enjoyed using Pulsar but ZooKeeper... arghh. It's an excellent component but a pain to manage.

Looking forward to trying Kafka again when they finally remove ZK

<comment><USER20> What difficulties have you had with Zookeeper and Kafka? Zookeeper can be difficult mostly because developers don't understand it very well. But in the case of Pulsar/BookKeeper/Kafka the usage of Zookeeper is very minimal so it's main problem constraint (performance) is mostly mitigated. Availability and management wise Zookeeper 3.5+ is actually pretty great. You do need to understand dynamic ensemble management but really it's a small price to pay for it's rock solid nature. Stuff like etcd is getting close these days but it took 3 protocol versions and tons of bugs, performance and scalability problems for it to get close to ZK.

</comment></comment><comment><USER21> I really like the architecture of Pulsar, it is very elegant with clear separation of duties between components.

That said, we have used Kafka for so long, and it works well enough at our scale that we have no reason to even test Pulsar. Kafka also has much more integrations with other tools due to its popularity.

</comment><comment><USER22> Can anyone share their thoughts on whether, in case of a new project is it worth to start with Pulsar instead of Kafka as a distributed log/pub sub solution with guaranteed delivery? I heard a lot of stories about Kafka's operational complexity and TFA seems to be pointing out that Pulsar has a lower operational upkeep (ie. less manpower needed to keep it running).

<comment><USER12> Because Pulsar and Kafka both use Zookeeper, the operational complexity will largely be the same. The best thing you can do to lower op complexity is using managed Kafka by Confluent or AWS (something similar probably exists for pulsar).

<comment><USER23> Kafka is replacing Zookeeper: [https://www.confluent.io/blog/removing- zookeeper-dependency-...](https://www.confluent.io/blog/removing-zookeeper- dependency-in-kafka/)

</comment></comment></comment><comment><USER24> Is there any sort of 'single node' version of these frameworks? I'm very interested in building event-driven solutions, but I don't need the scale offered by kakfa/pulsar, and I really don't want all the complexity. Is there any reason nobody has made a smaller, less distributed event-centric DB?

<comment><USER25> You can run kafka on a single node no problem.

Give this a try: [https://www.digitalocean.com/community/tutorials/how-to- inst...](https://www.digitalocean.com/community/tutorials/how-to-install- apache-kafka-on-ubuntu-18-04)

<comment><USER12> Single node Kafka still needs Zookeeper, though.

</comment></comment></comment><comment><USER26> Can pulsar users here talk about exactly once message delivery from the consumer side? I use Kafka and needed a cache based on incoming events. But if the consumer crashes it's not easy to pick up from exactly where it left off without manually committing offsets which hurts performance. There's also some hand waving Kafka gossip that it's hard to commit offsets right. Any insight here is greatly appreciated.

</comment><comment><USER27> Another service that "needs" zookeeper. Has anyone figured out a simple way to manage zookeeper for a small team?

<comment><USER10> What problems have you had with it?

<comment><USER27> Its just more complicated than it needs to be. Esp I have a hobby project with tiny usage.

</comment></comment></comment><comment><USER28> Mentioning "Fortune 100 companies" in the first paragraph is a red flag of enterprise BS for me. Not sold.

</comment><comment><USER29> I still can't believe kafka doesnt have a good open source GUI managing tool

<comment><USER10> This is great: [https://github.com/tchiotludo/akhq](https://github.com/tchiotludo/akhq), using this currently in our environment. There's also Kafka Manager which has been around for a while.

I still recommend managing Kafka through the CLI tools however.

</comment></comment><comment><USER30> > two of the most favored messaging systems on the market

Give me a break, I'd literally never even heard of Pulsar until this article popped up.

Of _all_ messaging systems I would have thought Kafka vs SQS, or even RabbitMQ at the very least

<comment><USER31> For people currently interested in building an event based architecture, pulsar is definitely a very well known option.

<comment><USER32> I am squarely in the "people interested in building an event based architecture". Not a CS background, but know tech decently. I typically know the names of more of these apache projects than most people I've talked to IRL (though ostensibly I'm not part of the tech elite). Yet pulsar I only came across on HN a week back. And nothing changes due to the knowledge. It's yet another apache product which has great design but needs either a genius or an army of devops to deploy. Like even if I figure out what the hell this thing is, I'm then tasked with figuring out what the hell zookeeper is (like for real, I'll buy a beer for someone who can successfully ELI5 wth zookeeper is. And also pig. Or impala).

<comment><USER2> If you can't understand what Zookeeper is, I'd recommend reading Martin Kleppmann's book Designing Data-Intensive Applications ([https://dataintensive.net/](https://dataintensive.net/)).

You don't need a CS degree to work in this field (I don't have one either!) but there are fundamental concepts you need to understand in order to make informed decisions when designing distributed systems.

<comment><USER16> You don't need a CS degree or Martin Kleppmann's book to work out it's a GPITA.

<comment><USER33> I am also not a fan of Zookeeper but I have come to respect it. In defense of Zookeeper, distributed systems are a GPITA. If you need to select some components why not go for ones that are solid [1].

[1] [https://aphyr.com/posts/291-jepsen- zookeeper](https://aphyr.com/posts/291-jepsen-zookeeper)

</comment></comment></comment></comment></comment></comment><comment><USER34> How does it compare to [https://docs.prefect.io/](https://docs.prefect.io/) ?

<comment><USER35> Prefect is workflow (particularly dataflow) orchestrator. Pulsar and Kafka are general purpose distributed streaming engines.

<comment><USER34> ah, yeah. totally forgot. sorry. i deal a lot with workflows and imagery mixes them up for me.

</comment></comment></comment><comment><USER34> There are so many pubsubs. It seems like every company and framework has their own.

<comment><USER36> Kafka is the futherest thing from a library that I can even remotely think of.</comment></comment>


Ask HN: Why stagflaction happens? - <AUTHOR>

I keep hearing as one of the arguments against Bitcoin, or against the Japanese of the last years, that deflaction make people hoard money and cause the economy to get stuck as noone buys anything.
Thus, I also hear, that a constant level of low inflaction, makes people want to spend their money, and thus spur economic activity, and maybe some growth.
I live in Brazil, and in the last two years, I heard a lot of people complaining of inflaction and no salary rise... At first I thought it was some sort of psychologial thing or cronical complaining...
But in 2012 we had only 0.9% of GDP growth, and 5.8% of inflaction, and currently our GDP growth is not getting better (in fact it retracted in february) while inflaction is rising (6.3%), in fact, even more interestingly is looking beyond those numbers, and looking at the numbers that matter for most people, that is the inflaction of food prices, something that everyone must buy, those according to IPCA are 8.8%, but we can highlight some classes of basic products, like vegetables, that had a 46.67% increase in the last quarter.
Yet, I kept hearing in the last two years from people in the commerce sector (not services, those were not complaining much) that they were having terrible sales, only slightly better than 2009 (the height of the great recession here), the supermarket association for example that in the 12 months period leading to february they had a 4% real contraction in gross income.
If Brazil is having such problems with inflaction (to the point last week political magazines were all running cover stories on the price of tomato, that rose 70.45% on this quarter alone), why the GDP growth is struggling?
We have historic low unemployment and inflaction, why people are not spending money? Why commerce people (not only retailers, but I also spoke with B2B sellers) are complaining so much that they are selling less than the last years? (excepting 2009) <comment><USER3> I don't want to be pedantic, but this is a question that probably not even most professional economists will be able to give you a simple (or even accurate) answer for. This is not because mainstream economics is intellectually bankrupt or anything, but it's because economics is _extraordinarily complex_. A million variables affect the economy of any nation. Similarly, inflation and deflation do not exist in a vacuum; the currency is not the only variable influencing inflation; thousands of other variables can affect inflation; ditto for GDP.

 _Inflation does not directly lead to or cause higher GDP, unlike what you seem to imply._ But it's generally agreed that moderate inflation is necessary and unavoidable for growth, and is preferable to the consequence of tightening monetary policy, which is lower GDP growth.

The textbook example for one (out of hundreds) of the possible reasons for stagflation is a rise in commodity prices. For example, the US experienced a long period of stagflation in the 1970s because oil prices skyrocketed - <USER2> because of inflation, but because several Middle Eastern nations stopped/curtailed oil shipments. This is called a "supply shock" in economics, and it causes inflation by increasing prices, while decreasing GDP by making it more expensive to buy the resources (e.g. oil) necessary for production. Another "textbook" reason (again, I have no idea whether these actually apply to Brazil) would be a loose monetary policy (high inflation), coupled by heavy government regulation (low GDP).</comment>


French Bees Produce Blue Honey - <AUTHOR> http://newsfeed.time.com/2012/10/05/french-bees-produce-blue-honey/

<comment><USER2> If you're posting an article that's almost a year old, chances are it's not news!

That was awesome when it happened though. Watched a video of a beekeeper complaining that the colour will affect sales negatively. I couldn't understand why, sure the clarity of regular honey can affect purchasing, but this is novelty, people would snap it up!</comment>


Quick Tips for Fast Code on the JVM - <AUTHOR> https://gist.github.com/djspiewak/464c11307cabc80171c90397d4ec34ef <comment><USER2> I'd recommend a process rather than a handful of implementation-specific rules of thumb that are, IMO, at risk of being applied too generally. I'd hate someone to read this article and then go ahead and avoid 'new' wherever possible because they think that's how you make code fast, or avoiding boxing and polymorphic call sites, etc.

My process for writing fast code on the JVM:

1) Measure. Set up a benchmark so you know whether you're on the happy path or not, or whether you've fallen off a performance cliff, for whatever reason. Make this part of your testing suite with some kind of notification for regressions.

2) Start small, ideally with a do-nothing loop over the input. This gives you a baseline; you can't go faster than a do-nothing loop (presuming you can't skip part of your input, which is an algorithm problem, not specific to JVM optimization).

3) Incrementally build up your algorithm and pay attention to when it falls off the performance cliff, using your benchmark from (1). If and when you fall off the performance cliff, that's when you start bringing in tricks like avoiding new, ensuring call sites are monomorphic / bimorphic, avoiding boxing, reducing pointer indirections and other cache friendly code, etc.

Another trick to consider is playing around with inlining, but not in the way you might think: try pushing infrequently executed code (conditionals) one level deeper in the call stack (i.e. making the body of an if-block into a method and calling it). The idea here is to encourage inlining of method doing the calling. Inlining is where the JVM gets to specialize your code to the specific situation at hand, but the JVM is reluctant to inline big methods because it has a time budget. So you need to help it.

<comment><USER3> Be careful with 2) because of inlining. Can't count the number of times I wrote benchmarks that got completely inlined away.

<comment><USER4> Also for(Foo x : y) will allocate iterators on some JVM implementations which will nail you on the GC.

<comment><USER5> It's not on some JVM implementations, to be able to remove the Iterator creation, the VM requires the call to y.iterator() to be either monomorphic or bimorphic.

Hence the advice "Keep Things Monomorphic or Bimorphic" !

<comment><USER6> Even if it inline the iteration creation and calls, then hoist and remove the allocation, you're likely to see suboptimal instructions.

On hot paths, I often find it better to just avoid iterators in the first place than trying to clean up the mess later.

<comment><USER5> yes, the Iterator protocol of Java is sub-optimal \- hasNext() has to be called twice so you hope the VM will kick the common sub expression elimination which i have found works well only if you do not do any side effect in hasNext. \- and most of the Iterator are fail fast so the code has to check that the modCount of the collection has not changed.

but from my own experience, you usually do not have to optimize that far, removing that 'synchronized' block, is far more common.

</comment></comment></comment></comment></comment></comment><comment><USER7> One point I'd like to add which a lot of people disagree with is that we should all focus on writing simple and easy to understand code. Enigineers shouldn't worry too much about optimizing code unles there is a good reason to do so.

I'd say about 1% of my code has ever required me to return and optimize it.(I usually write apis that are utilized by end user apis). Most of the time my code is more than fast enough and user concerns are more around bugs related to requirements.

In the few cases I have had to optimize its usually been a super obvious problem. For instance there was a Scala API that looped over a list of lists and called the Scala built in find function. That function is linear and incredibly slow I just converted the first list into a hashmap took a call that took 30 seconds to under 3 seconds still slow but order of magnitudes faster. It's usually been silly stuff like that.

All of this of course depends on the domain you are working in some applications require you to squeeze out every millisecond in which case most of this won't apply to you.

<comment><USER8> _we should all focus on writing simple and easy to understand code_

That _is_ an optimisation. I've found that the simplest solution is usually the most efficient.

<comment><USER9> This is a good-sounding statement, so it "feels true". But, if you stop to really think about it... It's probably false in most circumstances [1]

[1] If by "efficient" you mean time-efficient. If you pick your own efficiency metric, then yes, sure, I guess so...

</comment></comment></comment><comment><USER10> If you're getting to this level of optimization, you could just consider going native. Making a shared lib in Rust that uses JNI and does everything you could do in Java is really really easy.

<comment><USER11> Careful, though. It costs about a millisecond to do a return trip across the JNI boundary, so don't do that anywhere near an inner loop. Accessing Java objects from native code is also a pain, with potential performance gotchas (pinning, mostly).

An approach I've seen work is to have dedicated Java and native threads, communicating via shared memory. We have some funky in-house code for this, but I think Aeron [1] should be a good open source option.

[1] [https://github.com/real-logic/aeron](https://github.com/real-logic/aeron)

<comment><USER12> > Accessing Java objects from native code is also a pain, with potential > performance gotchas (pinning, mostly).

What do you mean by pinning? If you mean pinning threads to cores, how does that relate to JNI?

<comment><USER13> Probably pinning the object in memory, so that you can keep a stable reference to it without the danger of the GC moving it away under your pointer.

</comment></comment></comment></comment><comment><USER14> The example of bad allocations

      def first[A](left: A, right: A): A = left

      first(12, 42)   // => 12

actually allocates nothing, because both numbers are in the Integer box cache range (-128 to 127 inclusive by default, but configurable to be greater). The general argument is good though, so mabye first(128,129) is a better example :)

<comment><USER15> Seems odd that the compiler can't inline this pattern.

<comment><USER16> It probably can. Graal certainly could.

</comment></comment></comment><comment><USER17> Hmmmm. Fast code for my particular application, in my area of specialization. But not actually very helpful for 99.9% of applications that are actually deployed, which dont really suffer from the type of problem here, and far higher level optimisation would have greater benefit...

E.g. prefer final fields; don't share between threads unless you need to; there is little point micro-optimising a poor algorithm; don't do the same work repeatedly...

Having said that, in a specialised context, very interesting....

<comment><USER6> Can't have a performance oriented article here (or on any dev site) without a chorus on how irrelevant/useless/harmful the information is. Or half the comments being about profiling.

Also final doesn't help hotspot nearly as much as the pointers the article gives. Final doesn't help hotspot much if at all.

</comment></comment><comment><USER18> Usual disclaimer of profile your code to identify areas for improvement and try to quantify changes as far as possible -- it's no good doing things just because you _think_ it'll make the program faster.

Specifically on the Java side of things, while not quite as low-level as what the post is talking about, I've seen situations where proper use of logging libraries has given perf increases. It's as simple as log.info("Foo: {}", "bar") instead of log.info(String.format("Foo: %s", "bar")) -- reducing the number of string operations dependant on your chosen logging level. Simple but I've seen it happen.

Shoutout to Brandon Gregg's blog [0] with some interesting stuff on performance, some of which is Java-specific.

[0] [http://www.brendangregg.com/](http://www.brendangregg.com/)

<comment><USER5> yes, String.valueOf() is dog slow.

We recently moved all logging stuff to use a constant lambda as first parameter, log.info(s -> "Foo: " \+ s, "bar") so if the logger is not enabled, the constants are discarded by the VM and otherwise the string concatenation is faster than any string interpolations.

<comment><USER19> Huh. I'll have to try that. Thanks.

My solution was to flip the problem, making a separate logger instance for each log level. So something like

      Logger warn = Logger.factory(Level.WARN);
      warn.log( "message" );

If warn is disabled, factory returns a NullObject (do nothing) logger.

(My actual implementation had one level of indirection, so logs levels could be updated at runtime.)

Then I got nutty optimizing printf, doing JIT class generation per template... But that's another story.

TL;DR: Logging in Java drives me nuts, so I made my own.

<comment><USER5> Did you take a look to java.lang.invoke.StringConcatFactory, it does more or less what you want using method handles instead of bytecode generation ?

<comment><USER19> Thanks for the tip. Will check it out. I'll be happy if it moots my hackery.

</comment></comment></comment></comment></comment><comment><USER20> > It occurred to me that, really, I had more or less picked up all of it by > word of mouth and experience, and there just aren't any good reference > sources on the topic. So… here's my word of mouth.

Can someone provide some reference on how JVM optimisation works, or maybe JVM generally?

<comment><USER21> The Java Performance book by Oaks has some sections on internals. Cliff Click has a talk called "A JVM Does What?" that has some interesting material (very compressed though).

There's also some old Oracle or Sun white papers on Hotspot, but I've never actually read them.

One nitpick to keep in mind: the major JVMs do many things in similar ways but have important differences. In fact, there is a spec that's much less prescriptive, and JITs are entirely an implementation detail. Often when you read "the JVM does X" it means that the author is talking about Hotspot.

</comment></comment><comment><USER22> At a certain point, it's simpler, more robust, and more predictable to write some JNI and put the hot path in C++ or Rust or something.

</comment><comment><USER23> About the monomorphic and bimorphic virtual methods, Aleksey Shipilev has some great articles on the topic, including low-level benchmarks: [https://shipilev.net/blog/2015/black-magic-method- dispatch/](https://shipilev.net/blog/2015/black-magic-method-dispatch/)

</comment><comment><USER24> The link from the submission seems to 404. This link seems to work: [https://gist.github.com/djspiewak/464c11307cabc80171c90397d4...](https://gist.github.com/djspiewak/464c11307cabc80171c90397d4ec34ef)

</comment><comment><USER25> I'd actually like to add "Don't touch synchronized functions" to the list. If need be try and use Thread Locals instead.

<comment><USER26> Foremost one should look what java.util.concurrent[0] has to offer before reinventing concurrency patterns from scratch.

[0] [https://docs.oracle.com/javase/9/docs/api/java/util/concurre...](https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/package- summary.html)</comment></comment>


UK Heat: Tube temperatures to exceed the legal limit for transporting cattle - <AUTHOR> http://www.independent.co.uk/news/uk/home-news/uk-heatwave-temperatures-on-the-tube-are-going-to-exceed-the-legal-limit-for-transporting-cattle-10356439.html

<comment><USER2> You do realise that cattle are far more valuable than the average tube passenger?</comment>


Show HN: Free the Vote - <AUTHOR> https://freethevote.us <comment><USER2> Have you thought about doing more targeted swing state matches?

I did a vote swap in 2004 using a similar system. I voted for the Badnarik (L) in MA, and someone in MO voted for Kerry (D). We did talk on the phone beforehand, to get a sense of each other's politics, and I did what I promised. No guarantees that he did, and Kerry ended up losing MO pretty hard anyways.

<comment><AUTHOR> Yeah, but I think other people are handling that. There was an article in the NYT about doing it ([http://www.nytimes.com/2016/09/16/opinion/anti-trump- republi...](http://www.nytimes.com/2016/09/16/opinion/anti-trump-republicans- dont-waste-your-vote-trade-it.html)).</comment></comment>


Formlabs reveals Form 1a, next generations SLA printer - <AUTHOR> https://gigaom.com/2014/06/10/formlabs-reveals-the-form-1-a-faster-and-more-reliable-sla-3d-printer/

<comment><AUTHOR> This from the budget SLA (Stereo Lithography) side of the 3D printer business. SLA printers have potentially higher resolution at a more limited choice of colors.

Of the three 3D print technologies (FDM, SLA, and LS (Laser Sintering)) I expect SLA to eventually win the budget market and LS to win the production market. But in any event its awesome the progress that is being made.</comment>


We're Sorry - <AUTHOR> http://blog.scribblelive.com/2012/03/were-sorry-2/

<comment><USER2> As an end-user, I like Scribble. And really, if The Verge is putting up with vid.io's consistently inconsistent crap, they shouldn't complain about an occasional glitch from Scribble.</comment>


Cycling in your 80s can mean having the immune system of a 20-year-old - <AUTHOR> http://road.cc/content/news/238435-cycling-your-80s-can-mean-having-immune-system-20-year-old <comment><USER2> long live bikers!</comment>


Programmer pops question on girlfriend's video game - <AUTHOR> http://news.yahoo.com/s/ap/20080415/ap_on_fe_st/odd_programmer_proposal <comment><AUTHOR> The programmer's blog: [http://www.xanga.com/p3ng/635897016/a-nerdy-proposal- story-i...](http://www.xanga.com/p3ng/635897016/a-nerdy-proposal-story-im- engaged.html)</comment>


Using Rust in an Embedded Project: A Simple Example - <AUTHOR> https://spin.atomicobject.com/2016/07/08/rust-embedded-project-example/#.V3-os-6qlZw.hackernews <comment><USER2> Embedded projects often have limited memory and demand high reliability. If the application requires any dynamic memory allocation on the heap but the language provides no facility for checking or recovering from unsuccessful allocations besides crashing, wouldn't that be kind of a deal breaker? I get the feeling this issue is either a low priority or a very advanced topic in the Rust community. Would anyone care to enlighten me?

<comment><USER3> The language itself knows nothing about heap allocation.

The standard library provides heap allocation stuff that will abort on OOM, but in an embedded project, you aren't using the standard library, and so you can do heap allocation any way you choose.</comment></comment>


For God's sake, follow your dreams - <AUTHOR> http://blog.rootein.com/2010/04/for-gods-sake-follow-your-dreams.html <comment><USER2> _So why is it that as we grow up we lose all the passion, the energy, the will and the strength to keep our dreams alive._

Because we lose so much energy in general.

Because we don't take care of ourselves.

OP cites Tony Robbins. Anyone who has ever been to any Tony Robbins event knows that he always starts with health (eating right, exercising, and mental attitude) before addressing anything else. Because he already knows what many don't: if you're not feeling right, nothing else matters.

Almost all of us have ample energy in our teens and twenties. But as we get older, we have to make a conscious effort to maintain energy and vitality. Most people I know in their 30s, 40s, and 50s don't do nearly enough. We slow down, put on weight, and lose energy. It happens so gradually that we barely notice. And we blame everything else: family, finances, lifestyle, etc. And we avoid acknowledging the elephant in the room: it's awfully hard to get passionate about anything when we only have enough energy to plop down in front of the TV with a bag of chips.

Most people I know with the energy to accomplish a lot, regardless of age, take care of themselves, especially those working 2 jobs or running a side business.

All of the other reasons (fear of failure, responsibilities, etc.) make sense, but I wonder how many people don't follow their dreams simply because they've run out of energy by not taking good enough care of themselves.

<comment><USER3> I'd like to add that it's also never too late to start taking better care of yourself and reaping the benefits thereof. I know a man who decided to become a vegetarian and start riding his bike more frequently at the age of 40. He's 80 now, and just biked across the country last year.

<comment><USER4> I'm reminded of this story from a webpage on San Francisco running "superstars". While I think genetics is a significant factor in determining your base energy level and how far you go, I think most of us have a lot more potential to regain lost energy than we realize:

"Sister Marion Irvine did not start running until age 47. She was overweight and smoked two packs a day. Looking for a way to relax after a day as a grade school principal in San Rafael, Sister Marion took up running. ''I needed to use up some pent-up energy, so I decided to give it a go,'' said the 54-year- old Roman Catholic nun, who was soon going 70 miles a week. She started out half-running and half-walking.

In 1984, she qualified for the US Olympic Trials in the marathon by running 2:51 at the age of 54, becoming the oldest to ever qualify for the OTs."

</comment></comment></comment><comment><USER5> I resigned from a reasonably safe, reliable career and went to med school, married, with two kids(1). I'm glad I made the move, but it was definitely scary. With marriage, you're still pretty risk-tolerant. Kids . . . not so much.

Once I was there I realized it was going to be even harder than I anticipated, no thanks to evacuating three weeks after starting to avoid Katrina, but also, just managing the added responsibilities of a house, diapers, daycare, regular meals . . . it adds up. 2-3 hours a day, usually prime study hours.

And I agree with barrkel. You _are_ taking time away from your kids. And your spouse. Which will increase your spouse's stress. It's not a pretty picture. I still think it has been worth it, but I'm 34 and my hair is turning grey.

\</comment><comment></comment><comment>--

(1)I was also going from being an officer in the Navy to med school in New Orleans and asked what would happen if the big one comes, to which the dean replied, in the spring of 2005 "We have very good pumping systems". . .

</comment><comment><USER6> Talking about starting a business or doing something equally 'crazy' is a popular conversational topic at lunch with my coworkers. It provides just about the same amount of escapism value as buying into a lotto pool. We do that too.

I noticed that when I actually started working on my business on the side, this topic of conversation started coming up less often. I think seeing someone actually work hard to change his reality sort of ruined the dream. "It's fun to talk about it, but you mean I actually have to do extra work??"

</comment><comment><USER7> Two sides to this coin.

This is easy to say when you're 23, single, and you are almost completely defined by your occupation. Asking a child what he wants to be when he grows up doesn't give you good information; ask him what he wants to eat and he'll say "candy, all the time."

Maybe it's because I just watched Cosmos, but your life is a blip on the cosmic time scale. Make it count, but remember that very few people will remember or care what you did to make money.

That's not to say that you should toil in a job you hate, but there's nothing wrong with not doing your dream job because your committment to your family is more important.

</comment><comment><USER8> Speaking from my own experience, I'd say that my biggest hurdle to following my dreams is a false dichotomy created somewhere in my imagination. For some reason, I always imagine 1) no income, 2) no reduction in expenses, and 3) not being able to get a job should I go belly up.

I started working part-time about 5 weeks ago, and it's become obvious that I was fooling myself for the sake of maintaining the status quo. Now that I see that it's relatively easy to find income outside of my day job and that my family can cut expenses if we are more deliberate about how we spend, I wonder why I have always imagined the worst.

The biggest factor is stuff. It's true that what you buy enslaves you. Houses to a mortgage, cars to a loan and expensive insurance, retail items to credit card debt. The more you can eliminate or reduce those expenses, the less of an excuse you'll have to keep working in a situation that isn't fulfilling.

<comment><USER9> i'm glad you've found success. can you say exactly what your dream was though? your own business?

<comment><USER8> I'm not saying that I have reached my dream, because I haven't. I am slowly working towards what would best be called a lifestyle business.

I didn't make the first step for a long time because of some faulty assumptions.

</comment></comment></comment><comment><USER10> If the urge to pursue one's dreams is strong enough, a person will find ways to take action towards them. In many cases an inner cocktail of fear, laziness and other areas of higher personal importance will prevent a person from taking the crucial first steps. Overcoming those factors is what separates the doers from those who daydream themselves into a rosy future. I am not to judge other persons as I have found myself guilty of it on countless occasions but I have an interesting story to share with you:

A few years ago, a friend of mine mentioned that he would really like to become an entrepreneur. I got all ears and starting listening more closely. During the chat he also mentioned his desire to invent something new. My eyes lightened up and I tried to extract a few more nuggets of information out of him. You never know - maybe I accidentally bumped into the perfect co-founder for a future venture? As our discussion progressed, I tried to evaluate in what entrepreneurial stage he currently resided.

      Me: "What actions have you taken so far?"
      Him: "I am thinking of business ideas all the time."
      Me: "No, no! I mean: What have you specifically done so far?"
      Him: "Reading the news and trying to come up with a business idea."

Recently I met up with this guy again and asked him about progress. He is still in the thinking stage which disappointed me. But that is the path he chose and I accept it. Thinking only takes you so far. Doing is what ultimately pushes things forward. Sometimes people do not want something bad enough that they push harder and leave the stage of randomly coming across the next big thing. This is perfectly fine and one has to accept it.

<comment><USER11> I have this experience all the time. People know I am self-employed, and 'do something with computers'. I have to sit through half baked ideas at dinner tables, 'I'd like to have a website that did x', or 'do you think I could do somethign with a website?'. Sometimes I give very specific advice, right down to suggesting which platforms to use and what sort of domain name to get. There was the personal trainer who needed to find more clients, the person with mild success on ebay who wanted to build it into an online store, the educator who wanted to use the net to build inter-school learning materials. They all listen and get excited, nobody ever does anything. My wife tells me I am too hard on them. If I can douse their dreams with a few throwaway comments, then they aren't burning very bright to start with. I think a lot of people engage in dreaming as a way of escapism, not as an actual life plan.

Me? I just dream is was 2008 again, and sales were 30% higher.

</comment></comment><comment><USER12> Stuff like this is the reason why I read HN. Not too long ago a HN thread I posted changed my life and the way I think, hopefully, permanently. It's not just the advice, some of it is obvious or trimmed versions of common knowledge, but the people who give it.

Most people who talk about chasing after dreams are the ones who want nothing more than to run in the rat races that surround them. The same goes for other topics. Most people who talk about virtues of hardwork and other stuff are the same people who have never done so themselves.

I've learnt more about life from such people in a matter of months than my immediate environment in the past 18 years.

In the past few months I've become certain that I will work on my startup no matter what. So what if I am a teenager with a startup (the horror)? So what if I fail? So what if my nightmares of not having a future come true? So what if I don't have money or a permanent work station? So what if no one takes my ideas seriously? So what if I still have truckloads to learn?

I am going to still do it and enjoy every second of it.

</comment><comment><USER13> Very few people are remembered for what they did for a living, but most people remember those who loved them for the rest of their lives. When you have the responsibility to look after children in particular, it's just a smidgen selfish to sacrifice some of your potential to invest in their futures for the sake of following your own dreams. This is why it's better to take these kinds of risks when you're young.

<comment><USER14> My son is a year and a half old. Five months ago, I began working full-time for a startup.

Before joining the startup, I sat down with my wife and we decided on milestones, a budget, and a schedule for spending time with my son. I know how long I can afford to wait for ramen profitability, and how much money I need to earn in the first two years. And if it doesn't work out, my cofounders know when I would have to walk.

I won't pretend it's always easy. But I see my son more than most lawyers, doctors or consultants see their children. Since I'm not currently commuting, I spend more time with him than typical parents who attend night school after working full time.

Don't forget: A monthly paycheck can evaporate with little warning, and unemployment rates for 50-year-old programmers have often been brutal. If you're a programmer, and you choose the safe course every month, you don't guarantee safety for your family in 10 or 20 years time.

So live below your means, save aggressively, and take the occasional risk. Start a business. Go to night school. Take a 3 month sabbatical and study something intensely.

<comment><USER15> > Since I'm not currently commuting, I spend more time with him than typical > parents who attend night school after working full time.

This. Commuting is soul killing, frustrating, expensive, emotionally taxing dead time. A few people enjoy driving quite a bit - for them, it's relaxation. But for the majority of people it's awful.

I loved Los Angeles when I visited there for business 3-4 times, so I moved there. I didn't realize how driving as a novelty turns into terribleness. Just getting groceries took 20 minutes of round trip driving - that's 20 minutes that ain't coming back. And I'm paying gas, insurance, registration, and maintenance for the pleasure of having my time stolen from me.

Never again. Walking cities or living immediately by my work in a mini-city- center for the rest of my life. I don't mind commuting on a train or ferry because I can read books, but commuter driving is a huge waste of time and life.

<comment><USER16> Amen to that. I did the LA commute (~3hrs/day) myself for several years before quitting. Never again. Now I live in Seattle and ride a scooter to work -- 10 minutes from door to door.

</comment></comment></comment></comment><comment><USER17> Taking steps towards your dream can also help you realize that you want something different. I wanted to be an AI researcher throughout school. I also loved programming though, so I took a job as a systems programmer at a computer vision research lab with the intent of applying for Grad school later. It was perfect - I could cherry-pick good recommendations from people who went to top schools, and I would live happily ever after.

But now I'm glad I took this route, because working with researchers, I would clearly get more satisfaction in an engineering-style role than a researcher role. As a result, I have a new dream, and one that I work towards every day after work

</comment><comment><USER18> And speaking of where the money should come from, when that guy chose the more expensive car instead of following his dream, was it worth it?

When he bought a bigger house instead of following his dream, was it worth it?

Each time he bought a friggin' super size instead of regular on McDonalds for an extra $2 instead of following his dream was it worth it?

I guess it was and that his dream wasn't that valuable to him after all.

<comment><USER19> Dreams have value _as dreams_ , otherwise it's no longer escapism, it's _work_.

</comment></comment><comment><USER20> Years ago I heard a study where people over the age of 95 were ask a simple question.

      "If you had life to live over again, what would you do differently?"

There were 3 answers that dominated all other responses:

      - Risk More

      - Reflect More

      - Do more things that would live on after you were dead

If you can't learn from old folks who've already spent their lives, you can't learn from anyone at all.

</comment><comment><USER21> "The three most harmful addictions are heroin, carbohydrates and a monthly salary." - Nassim Nicholas Taleb

I only have to get off one more of these :-)

</comment><comment><USER22> The author of the article doesn't have a family.

<comment><USER23> If it helps, I know plenty of people who _do_ have families and who have the exact same attitude as the author.

</comment></comment><comment><USER18> I always wonder how many hours per day people who say they don't have time watch TV.

<comment><USER24> As someone wisely said somewhere (it may have been here), time is not fungible. I find you only have so many hours of productive work in you per day, and you probably wouldn't have spent that TV-watching time doing something brilliant anyway.

<comment><USER25> Plus TV watching can be a social activity. I can watch an hour or two of TV with my wife but she's not going to sit down and program with me.

</comment></comment></comment><comment><USER26> I wonder how much the person the author was talking to was really dreaming about being an animator, and how much he was actually dreaming about not having the responsibilities that were "preventing" him from being an animator.

</comment><comment><USER27> "Are their dreams not worth it? If not, why do we sulk about them later?"

Yes, their dreams are not worth it _by their own account, and in their own words ("Are you crazy? Where will the paycheck come from?") and most importantly, as evidenced by their own actions_. No, they won't sulk about it. Really. Not everyone has the passion it takes to change the world, take risks, or whatever it is that makes people like Jobs and Wozniak do what they did. There are a LOT of people who never let their eye off the ball called the next paycheck. Luckily for the rest of us, these people are called "customers". :-)

</comment><comment><USER28> This is a classic 'follow your dream' that attracts classic 'man, face the reality' comments. However, there is no need to oppose one and the other.

I work for a company that was founded 6 years ago and grew to 130 people and 55 million pounds (85 million dollars) in yearly revenues by now. The company never took investment, was started without significant savings by one founder and is still expanding rapidly. We build innovative products, regularly receive awards and make acquisitions. Our profit margins are great. We're more successful than most other companies.

Yet, this company wasn't started as a usual startup. The business started by driving traffic to online shops using google ads. Doing this is actually hard work and it's very unsexy, techcrunch won't write about it and your friends won't say wow. But the company grew from one person to a small team, then to a larger team, the rest is history. Now that we're very profitable we can afford to innovate. Many projects that we started flopped but some survived and are either profitable or growing quickly. I have little doubt that the future of this company is very bright.

Starting a startup is like playing a lottery. Not only you have to invest some of your time and money into it, you also have to be lucky. Actually, you have to be very lucky. The line between success and failure when you have no cash reserves is extremely thin. You are free to take the risk but you should accept that most probably you'll fail.

A better way to innovate is to earn some money before you actually innovate. Our company did it by working in affiliate business, your way may be different. Our company didn't innovate when we could not afford to lose. However, once we could afford it, we opened a sizeable division responsible for innovations and it's paying off. As I've said, most projects fail but fortunately we can afford it. We learn and move on.

There's a difference between doing something and achieving a result. If you want to be a part of a startup, start one, it's free and easy, I've done it a couple of times. If you want to build a business and make money, find a way to pay for your mistakes and bad luck when it happens.

Go out and figure out how to make some money, not millions but a little bit in the least risky way. Affiliate traffic like our founder did? Maybe buying and selling stuff on ebay? Maybe something else. Just build an unsexy old- fashioned business that will generate money and then you'll be in a position to innovate, follow your dreams and all that stuff.

This worked for our founder and I'm pretty sure it's a much shorter path to success than learning to code at night or building the next twitter on weekends. If you want the result, ruthlessly minimize the risk even if it means building a less sexy business first. I guess this won't be a very popular advice though.

<comment><USER29> Can you share what company you're working for or any more details about the business?

The reason I'm asking is that I am the single founder(and sole employee) of an affiliate marketing/internet marketing business that's somewhat successful($XXX,XXX revenues) and I'm wondering what it takes to take the company to the next level and expand like your company did. I know a lot of affiliates in the same position- living comfortably from their affiliate earnings but no way to achieve a rapid "hockey stick" growth curve. Of course, most are playing it safe and not innovating. Shoot me an email to ilya[at]unviral.com, I would love to talk about this more.

</comment></comment><comment><USER30> Spend more time on your dream than reading Hacker news :)

<comment><USER31> :(

</comment></comment><comment><USER32> For God's sake, follow your dreams... before you start a family

</comment><comment><USER33> I feel the same way, and I'm getting close to making such a move. But overall, there's a negative feedback loop keeping people from following their dreams. If enough people do, wages in other areas will rise, making them more attractive. We can't all be astronauts, somebody's got to unclog the toilet in the space station.

Then again, we could all be a little happier if our dream was something other than what made us money.

</comment><comment><USER34> You can have anything you want, just not everything.

</comment><comment><USER19> I don't like the dismissive 'fear of failure' and I don't like the default answer of 'what if you have a family' and this post has little else.

And failure isn't scary, being old and unaccomplished is? Come on, that deserves some more introspection than that! You're still driven by fear if that's the case.

Much more interesting is what are the real motivations if you don't accept fear of failure is the reason. Or if you do, then what to do about it. Or if you ask what is there about failure to be afraid _of_ (and you aren't allowed to say 'nothing really' because that dismisses the fact that you are afraid of it).

Motivation and fears are way more interesting than this gives them credit for.

</comment><comment><USER35> %s/follow your dreams/stay upwind/g and I'll agree. Take more risks, make learning time a priority, etc., just please let's stop using that phrase.

<http://paulgraham.com/hs.html>

Anyway, as for the guy in the story, if the guy's been "always wanting to get into animation and design" for 10 years, I have to wonder if that's just a conversation piece rather than a real desire. Though then again it could be he really is just ignorant on how to proceed, sort of like "I want to be rich" but not knowing a workable/desirable/easy-sounding path to it.

</comment><comment><USER36> that's what i'm planning to do, i've noticed my employer that i will not continue working here past August and will try to bootstrap and dedicated myself to a personal project or two. Good thing i have an eepc, so that in a couple of months i can beg coins in the street with one hand and code with the other...

</comment><comment><USER37> Thank you for all the comments folks. I have posted an update to this post at [http://blog.rootein.com/2010/07/an-update-to-for-gods- sake-f...](http://blog.rootein.com/2010/07/an-update-to-for-gods-sake-follow- your-dreams-post.html) \- Amit

</comment><comment><AUTHOR> Great post, Amit! The biggest thing I learned in my first startup was that I had time to work on a side project. Even if it's just 5 hours a week, find something to create. Either come up with an idea yourself, or find someone who needs help with a startup.

</comment><comment><USER38> I find the author a little naive for not knowing that most excuses that people have are just made to protect the ego. :/

And it's unreasonable to expect everyone to be hard-working on something whose outcome will be largely determined by chance.

</comment><comment><USER39> really a very good piece of advice for me at this stage of my life... though I am working at my day job.. but already started to chase my dream... scarified a big pay check in abroad to work and make my dream successful..

I am not going to see back in my life and told that due to this or that reason I didn't followed my dream.. I will give my 100% and let's see whether I ll fail or succeed.. It doesn't matter whether I ll fail... I will rise again and again....

Thanks again!! it made my day :)

</comment><comment><USER40> Here's an entire website dedicated to this topic of "pushing ideas to reality" and execution: <http://the99percent.com>

</comment><comment><USER41> I liked when the author said: "I knew I was about to start an argument with someone I don't know, so I smile and left."

To be honest, I would usually have argued.. would you?

<comment><USER42> Nope. I agree with the article... I would've not argued either. Actually, I don't even try to persuade my closest friends that I've known for 15 years. Up until a couple of years ago, I loved preaching and talking about life goals, etc.. but I've realized that people won't listen to reasonable arguments when it comes to that.

Quitting your job and taking a risk is one of those things that you have to come to yourself, or not at all.

<comment><USER41> To be clear, I said that I would argue but I'm not saying it's the "right thing" to do in that situation. I really was more interested in everyone's opinion on that subject.

</comment></comment></comment><comment><USER43> We want to be sure where the next paycheck comes from instead of trusting we'll be fine, somehow.

And, damn it, we still can't be sure.

</comment><comment><USER44> To answer a question in the article:

1) We forget our dreams and risks because if we have children or just people depending on us to put a roof over their heads and food on the table, we can't just drop everything.

2) Once you live in luxury, it is hard to drastically cut back a few months (like spend 1000 a month vs 3000) and then have enough money saved to just take a risk and hope for the best.

3) Even if YOU can achieve (2), your spouse might not be able to.

4) Loans, assist with this risk averseness, since you don't want to lose your house/invested money. Honestly this is why I am debt free. When a company I worked for went under, people were ripping their hair out, I was just smiling "cool, I got time to look for a better job".

5) In reality, you DO HAVE FREE TIME. I have 1 child (3yo), and a full time job, and a wife in college, AND I find time to r&r AND work on a startup, AND spend time with child/wife. If I have enough hours, no excuse for you. I have co-workers with even more responsibilities than I do AND they manage to find time for a side company.

In reality people who say "I don't have time" are just not willing to sacrifice anything for their dreams. Even if you fail you can at least live your life knowing you tried, if you succeed it feels even better, otherwise your whole life is spent envious of someone else's success.

<comment><USER19> It's possibly time for me to point to the freely available book Arnold Bennet's 'How to Live on 24 Hours per Day' as an interesting read.

<comment><USER4> Also available as a free Kindle book on Amazon. I must say I'm enjoying reading it as much for the images it conjures up in my mind as for the advice:

"(for nowhere can one more perfectly immerse one's self in one's self than in a compartment full of silent, withdrawn, smoking males)"

<comment><USER45> How does the free Kindle thing work? I only find one for 2$ on my Android Kindle app. I don't think I have ever seen a free Kindle book.

<comment><USER4> This is the link I used:

[http://www.amazon.com/gp/product/B000JQU7DA/ref=docs-os- doi_...](http://www.amazon.com/gp/product/B000JQU7DA/ref=docs-os-doi_0)

</comment></comment></comment></comment></comment><comment><USER46> the problem with following your dreams is that you can end up with a nightmare. Learning to be cautious is a good skill for life.</comment>


Humans hot, sweaty, natural-born runners - <AUTHOR> http://www.physorg.com/news95954919.html <comment><USER2> Almost the first sentence in the article set a bad tone:

 _Even nature's best animal distance runners — such as horses and dogs — will run similar distances only if forced to do so_

This sentence is meaningless. When does a dog do anything uncomfortable without coercion? It's not like a dog will voluntarily, say, go without food because it needs to lose weight. Similarly, humans don't spontaneously run marathons. There is a huge psychological build-up required, of which this article is a part. It's notable that most Kenyan marathon champions don't continue running once they retire. They get plenty of physical activity on the farm and don't have the Western obsession with endurance sports.

\----

This article does not exist in a vacuum. There is a whole barefoot running / endurance running movement that is taking over conventional sports shoes at the moment. The general premise is:

\- humans evolved to run without shoes, so you should (or better, with expensive shoes with minimal heals)

\- humans evolved to run long distances, so you should

I don't disagree with the statements, but I think it's oversimplified. I say this as someone who wears Vivo Barefoot shoes. In particular, persistence hunting (the form of hunting that relied on long distance running) was not widely used outside of some specific niches (really hot places, for instance) and a lot of humans have adapted away from endurance activities (which is obvious is look at a Kenyan marathon runner next to a Scandinavian strong-man competitor).

<comment><USER3> Id say that running without shoes is only a good idea if you plan to die quite young, and therefore wont be needing your feet, ankles and knees in old age.

<comment><USER4> Nobody advocates running barefoot on asphalt. And yes, running can wear out your joints, but even if you wear running shoes.

<comment><USER3> They will certainly wear out faster without shoes, no matter what you're running on.

Evolution is somewhat limited in what it can do. It must build upon things that are already there, over very long periods of time through subtle genetic mutations. Just because evolution didn't grace us with air cushioned soles and decent bridge and ankle support doesn't mean it's no good for us. Evolution had a lot less to play with and did the best it could. Humans made it better.

I do find it odd that some people like to look back at the way humans did stuff in the past and somehow arrive at the conclusion that it's better for us. They invariably neglect to take into account the pitifully short lifespans our ancestors had. We also lived in caves, but I don't see many people eager to do that these days.

And then there's stuff like the Palaeolithic diet which is absolute nonsense that ranks up there with Hal-Al and Kosher butchering.

That became a rant... I had no idea it bothered me so much.

<comment><USER5> This at least has some evidence. The guy pushing barefoot running has done some a study showing you put less stress on your joints when running barefoot then with shoes. I believe it had something to do with running with a better stride then when in padded shoes because your feet now have more feedback information. Just found his website here: <http://barefootrunning.fas.harvard.edu/>

<comment><USER6> My understanding of the mechanics are simple: when you heel-strike, your heel hits the pavement hard, and the shock is absorbed by your knee. When you toe- strike, your ankle can act as a spring and absorb the impact over a greater period of time, meaning your joints experience less force. I think it's the toe-strike versus heel-strike is what's important. Running shoes just encourage heel-striking.

</comment></comment></comment></comment></comment></comment><comment><USER7> I've been compiling a list of these things which "set us apart" from most other mammals: the "ones I'm more sure about" column contains: we can form complex vocal patterns, we walk upright, we don't tiptoe everywhere, we're essentially naked, we have large brains, we bleed when we menstruate, our causal intuitions have come detached from their immediate objects. (There's also a "less sure about" column which contains things like "we sing for the hell of it" and "our hearts are distinctly on the left.")

The tiptoeing one comes from when I was trying to discuss evolution with some intelligent design enthusiasts in the US (shudder). So the point they were making was, you can't possibly say that we look similar to dogs. And with my laptop I started pulling up skeletal diagrams of us and dogs, and showing that pretty much the entire logical structure of dogs' skeletons is identical to that of humans' skeletons, from shoulderblades to legs, if you think of them as standing on their tiptoes. It also points out a clear parallel between our arms, which have the same logical structure as our legs, and common ancestry suggests an elegant solution -- once, there was no difference between arms and legs, so of course they had the same structure -- natural selection just stole the recipe for one leg and used it four times.

Anyway, it's very interesting to see that these observations about our nudity and non-tiptoe bipedal walk come from such a simple, easily-expressible underlying story. Thanks.

<comment><USER8> "we bleed when we menstruate" sounded way too weird. Maybe it still is valid if you set the emphasis on 'set apart from _most_' but it's nothing humans are unique in - according to a couple simple search terms.

(See 1 - if Wikipedia is to believe what we consider normal menstruation _is_ common mostly for humans and our close relatives in the animal kingdom, but also happens in simians and .. erm.. bats?)

1: <https://en.wikipedia.org/wiki/Menstruation_%28mammal%29>

2: [https://myperiodblog.wordpress.com/2010/11/08/do-other- anima...](https://myperiodblog.wordpress.com/2010/11/08/do-other-animals- menstruate/)

<comment><USER7> "Most" is indeed key. For example, as far as "complex vocal patterns" go, there are birds which can learn to duplicate human speech and therefore have the vocal capacity of humans. Or, as far as bipedalism goes, you have the kangaroo -- and actually, if I count the animals that I've seen take a few steps on their hind legs, I'd have to also include dogs, a rabbit, a gerbil, and an elephant that was trying to get his mating on. Even our nakedness is shared by other species -- one of them is called the _naked mole rat_.

<comment><AUTHOR> Also birds for bipedalism. At the extreme we have ostriches and emus.

BTW: cockatoos also have strikingly manipulative feet, which they use in combination with their beak (though they can't use both feet simultaneously). And a surprisingly high brain/body ratio. Although they lack a prefrontal cortex, birds have separately developed a different structure, called the hyperpallium. There's no necessary barrier for birds evolving sapience independently from our line (any more than for aliens) - and there's no reason that the architecture of our brains must be better/more efficient.

<comment><USER9> Arguably, if Dr. Irene Pepperberg's work with Alex the African grey parrot is to be believed, bird sapience has already been demonstrated.

</comment></comment></comment></comment></comment><comment><USER10> "Persistence hunting" is a fantastic sales approach for startups (once of course you are good at qualifying and aiming the right prey for you). Because in startups: we have no big weapons (exotic seminar to invite prospects, big cars or offices to impress...), we are naked!

But if you are determined enough and get you and your team ready for a tough decisive journey, I guarantee, somebody, something, will get tired before you do, and you will win. Think if you are in a competitive sale. Your "incumbent" competitor thinks they closed it, they "arrived", because they nuked your pricing, your reputation, or they sent their big gun CEO in, and they are already celebrating the end of negotiations, but you keep on making the extra- mile (it really hurts (I do know that) to bite the bullet but keep at it). I have many instances to prove it worked for me (my 1st jobs) or the cos I worked for ( _Edit with specifics_ : Vivisimo US based startup, 3 Employees at that time in Europe won Enterprise deals against Autonomy (based in the UK) for Airbus, Organon (now Merck), against the French based Exalead for Danone; we did it again for WorldWide famous consultancy firm).

For our current startup (rejected by YC this nov11, huge blow, but we kept at it) we only got our 1st paying client last week. While we started running over 1.5 years ago... But hopefully will be profitable ramen before end of August... if I just apply what I have just been telling you of course... AirBnB story is huge inspiration for us - _AutoMotivational post for the new starting week_

</comment><comment><USER11> There is an annual 22 mile race held in Llanwrtyd Wells in Wales called Man vs Horse. I was surprised when I first heard about it that there was even any chance a human could win but apparently they have 2 times in recent years. The horses I understand have a check up half way round (11 miles) to make sure they are still safe to race.

<comment><USER12> Presumably the horse has a human on its back which is a fairly significant encumbrance. "Man vs Horse+Man" might be a better name in that case.

<comment><USER13> that race would only be fair if it was a manned horse vs a man with a horse on his back.

</comment></comment></comment><comment><USER14> "Even nature's best animal distance runners — such as horses and dogs — will run similar distances only if forced to do so, and the startling evidence is that humans are better at it, Lieberman said. "

That doesn't seem to be true for sled dogs though, who can easily outrun humans over long distances and are very eager to run.

Then again, they've been bred and trained by humans to do that, and they usually run under conditions where overheating is not a problem.

<comment><USER15> I was thinking the same thing. My sister used to ride a bike with her dog. It could go 20 miles at a fast clip before getting tired. It was in hot weather with a thick coat of fur. Maybe they were good partners in hunting.

</comment></comment><comment><USER16> I am a CS graduate and also a Biologist and there so much nonsense in this article that I cannot believe it was published.

"Even nature's best animal distance runners — such as horses and dogs — will run similar distances only if forced to do so"

Those sentences are meaningless as arguments, we humans run for fun because we CAN spend calories as much as we like OR because we do it for food or we die like African long-range hunters, ask those guys to run 50km for fun. They do it because otherwise they will die hungry, we can be as heat efficient as we like, give us a small brain and we are DEAD.

Today we have an impossible large amount of food and medicine available thanks to human civilization. A horse run for his life when needed and that's it, there is no point in spending calories if everything is OK he will need to work a lot to get them back inside.

How can a person conclude that we are the best long-range runners in the nature with such a comparison ? What about scale ? I bet you that an Ant can run in a day more that any human can bare.

A professional runner does only one single thing with it's energy RUN, he doesn't need to hunt, or run for his life, get injured and heal for himself without medicine aid and they can have the chance to sleep 8 or more hours at night. Try being a gazelle and doing that, you will last 5 seconds in nature, same thing for African long-range hunters they can sleep for 8 hours and rest... try sleeping 15 minute periods and eating and drinking only what you find on the run for all your life and chase a gazelle, good luck with that.

We are good at it, but the best in the planet ? I very much doubt it... most of the animals have evolved millions of years to endure nature in it's full power ( some got lucky and didn't had a very strong evolution force behind them like Lemurs in Madagascar) they are probably better than we are in every single thing besides thinking.

<comment><USER17> Sounds like you think humans aren't animals that have evolved to endure nature's full power. The article made some dumb statements, but the overall idea is sound. Humans can run prey animals into the ground in the same way that the wild dogs of Africa do.

</comment></comment><comment><USER18> As someone who is currently trying to run all 450 miles of the London Underground for charity I think that the greatest challenge of running is mental and not physical. Whilst I take his point we are built better to run long distances - I would love for there to be some analysis on the mental side of running. An animal may not be able to run 26 miles for physical reasons but I firmly believe humans can only run 26 miles if they have cause. If they are inspired. If they are so inspired that giving up is not an option. There is not a hope in hell I could run the distances I am running without being massively inspired by the cause I am running for - that for me is what sets us apart.

<comment><USER19> Not so sure about having to have a deep compelling cause, the first time Cliff Young fronted up for an endurance race I believe it was because he just wanted to have a go.

My father, now 77, has walked a 1000km track pretty much every year for the past decade now. He doesn't run but he does carry a pack and sets a pretty mean pace. His initial motivation was the death of my mother and the hole it left in his life, now it's just another of his regular activities.

Cliff Young: <http://www.elitefeet.com/the-legend-of-cliff-young>

</comment></comment><comment><USER20> Obligatory plug for Chris McDougall's great book _Born To Run_:

<http://www.chrismcdougall.com/>

<comment><USER21> Fascinating story. One of this book's main characters, Micah True aka Caballo Blanco, died last week on a remote Western wilderness run. Don't know if he had his boots on. [http://www.google.com/hostednews/ap/article/ALeqM5hZ- OB7jl7Y...](http://www.google.com/hostednews/ap/article/ALeqM5hZ- OB7jl7YgmXamkSNtTboAargXw?docId)

<comment><USER22> RIP Caballo Blanco. Chris Mcdougal's tweet gives a fitting tribute to him, from his id @McDougallChris :

"caballo had the only funeral he would have wanted: his friends spent days running in the wilderness in his honor."

</comment></comment></comment><comment><USER23> If humans did evolve to persistence hunt, to run indefinitely in pursuit of our prey until it gives up and dies, I wonder how that has shaped us relative to a baseline alien civilization. I can imagine one alien telling another, "Don't mess with humans -- they will _hunt you down_."

</comment><comment><USER24> I thought it was already well-established that our species has long been king of long distance running.

To me, what's interesting now, is how fast can the human body actually go. Horse, dog and women sprinters all largely topped out in the 70s. Men's 100m is expected to drop a bit more.

Both women and men are expected to continue to break marathon records, but women seem to be doing it at a faster pace.

[http://www.dailygalaxy.com/my_weblog/2009/08/how-fast- can-a-...](http://www.dailygalaxy.com/my_weblog/2009/08/how-fast-can-a-human- ulitimately-run-is-a-50-second-100-meters-possible-.html)

[http://www.sciencedaily.com/releases/2008/11/081128082831.ht...](http://www.sciencedaily.com/releases/2008/11/081128082831.htm)

</comment><comment><USER25> I disagree with the statement made in this paper. Humans are not hot, sweaty, natural-born runners -- we are hot, sweaty, natural-born swimmers. Although the theory is speculative, human evolution taking place in a semi-aquatic rather than plains environment explains our upright posture to stay above the water, our near hairless bodies to make us streamlined while swimming, our webbed fingers and toes, the ability of human babies having the innate ability to swim.

</comment><comment><USER26> [http://www.amazon.com/Born-Run-Superathletes-Greatest- Vintag...](http://www.amazon.com/Born-Run-Superathletes-Greatest- Vintage/dp/0307279189/ref=sr_1_1?ie=UTF8&qid=1333371636&sr=8-1)

There is a whole book written about this. There are several conversations in the book with this same professor. I would definitely say this book has changed my life.

In more than a few places, I was pretty sure that book was written specifically for me. My dad was in the process of getting knee surgery right when I picked it up. There was a section that detailed a doctor visit the author had, where the doctor told him his only recourse was to have the same surgery my dad was having. Two years later, the author (who didn't have the surgery) is still running barefoot around central park, yes on asphalt and concrete and any other substrate you can imagine. My dad is not. My dad used to come home and run for hours every day after work. Now he doesn't run at all.

Just thought I'd share some points in the book that I love and find relevant to this discussion so far...

Not mentioned in the article but Lieberman talks about it in the book, is the fact that all four-legged animals can only breath one time per stride. A running cheetah operates like a large bellows. When he extends, his diaphragm (which is attached to the pelvis) pulls back and forces the lungs open, forced inhale. When they stride, all their organs literally slosh forward in their horizontal bodies, compressing the diaphragm, forcing an exhale. Humans standing upright allows us to breath whenever we feel like it while running. No other animal can do that.

Also about the Man vs Horse race. Unless the dude sitting on the horses back is a sumo wrestler, it probably doesn't count for much. A horse that is 1200lbs of muscle has a 150lb man sitting on his back. That's equivalent to wearing a 10lb backpack. I'm not saying you wouldn't notice it, but you can't blame the backpack for losing the race. The real reason is that a horse can only outrun a human for 10-15 miles, at which point the horse has to slow down to a maintainable pace, or die. Humans have no such restriction.

And as for running on asphalt - we have the best shock absorbers science has ever seen...they're called knees. Air cushioned soles and arch support, pronation and supination control, torsion bars, built in computer chips to monitor your (incorrect) foot strike and adjust the shoe on the fly are all awesome - if you won't be needing your feet ankles and knees in old age.

I don't recommend many books, but read this one. Even if you don't run, hate running, have never run in your life. You will love your feet when you're done.

</comment><comment><USER27> "While animals get rid of excess heat by panting, they can't pant when they gallop"

Why can't animals pant and gallop at the same time?

</comment><comment><USER28> That was an inspiring story, now days, it's brain agility and endurance that wins the day and feeds the family.

<comment><USER29> Programming often resembles persistence hunting.

<comment><USER30> Especially the part where I sit at my desk and eat M&Ms.

</comment></comment></comment><comment><USER31> _"We're the tortoises of the animal kingdom"_

... That might be the deepest thing I've ever read.

Also, here's Attenborough narrating this article <http://www.youtube.com/watch?v=826HMLoiE_o>

<comment><USER32> "We're the tortoises of the animal kingdom" such a beautiful and witty analogy, isn't it?

<comment><USER33> That's what separates us from the animals. Except for the weasel.</comment></comment></comment>


Ask HN: How do you deal with having "too many" hobbies? - <AUTHOR> Currently these are projects I have started in some fashion (whether it only be planning stages, purchased materials but not built, or partially built):
- Bartending Robot - 6 DOF Robotic Arm
- Custom Wifi controlled Lighting
- Foldable 1 Person Boat
- Home Server
- Custom Ergonomic Keyboard
- Basic FPGA modules
- RNN Chatbot
In addition I enjoy doing the following and have the equipment for it:
- Learning Guitar
- DJ Mixing (just for myself, not paid)
- Producing songs / Music Theory (FL Studio)
- Archery
That feels like a lot to me, and although some are things that have no "finish" date, some definitely do and i have trouble finishing them because i am distracted by my other hobbies and always seem to be picking new stuff up. As a result i feel like i never make a ton of headway into any one thing.
Is there any advice you have for how to manage this so that I can feel like i'm actually accomplishing something <comment><USER2> It sounds like you're worried that you aren't accomplishing things because you aren't finishing them. But really, I'm sure you're learning a lot while doing them, and that's accomplishment too. Many times when I do a project, I'm learning the most at the beginning, and the later stages are more fine details (that take a lot more time to get right, such as "productionizing" it).

Feel free to stop working on things when you don't want to work on them anymore. At the very least, you have a lot of interesting things to talk about, and maybe even share your experience with other people (blogs, github).

If you have diagrams or code, I'd suggest releasing them, even unfinished, because maybe someone else will want to pick it up, or just look over it. Even that can be a win, and make you feel productive / accomplished.

Don't force yourself to do something that you aren't interested in anymore - maybe you've already accomplished what you were hoping for! Maybe you'll find something that you just can't put down - even then you might not feel accomplished because it's not your career. Even if it is your career, there's generally always someone who's better at it, and more you can learn.

<comment><USER3> thanks for this logical take on moving on and not holding it against yourself.

i have often said that sometimes it's just better to go with the grain of life & interests. you can't manufacture enthusiasm for a topic, and if your enthusiasm lies in another topic or interest it is often best to pursue that. if only to let that run it's course so you're focused on what you actually want to focus on rather that that being an initial latency hit in all your thoughts that you have to proxy back to the topic you're supposed to be focused on.

although, sometimes you have to push yourself to focus on lower self- prioritized topics because of that whole paycheck thing.

</comment></comment><comment><USER4> There's a balance to be struck.

Not finishing things, or getting deep into a subject, can be frustrating. A hobby can be a source of novelty, but often what we seek is a degree of mastery or depth of study.

I think the real problem is when you get to a point of real challenge in something, and then abandon it. There's a lot of value and learning that comes from confronting difficult problems. I think that this frustration is often what is at issue in questions like this.

On the other hand, these are hobbies, and you should have some freedom to abandon and take them up again at your leisure. Otherwise it can simply be work or drudgery.

Some tips:

* Do sometimes commit to reaching a checkpoint. Something tangible and satisfying once complete. These should be chosen carefully, however, as something too ambitious can turn unpleasant and overwhelming. A first woodworking project should be something like a cutting board, not an armoire, for instance.

* Also allow yourself to play and experiment without focus on the final product. Be critical of what actually warrants discipline.

* Recognize when you're simply looking for novelty or the attraction of new 'stuff'. If you have the means and don't mind having lots of unused stuff around, then it's not such an issue, but I think most people find this sort of 'hobby detritus' to be unpleasant. The simple thing to do is to put off purchases or research until later; if you lose interest so easily, it's not worth pursing.

* Focus on one habit at a time. If regular practice is required, have some humility about how great a commitment this can be.

<comment><USER5> Excellent points. I utilize checkpoints and minimum waiting periods to good effect. Often together. I'll tell myself that if I am still interested in buying X after I finish Y then I will do it.

</comment></comment><comment><USER6> One thing to consider is whether you are making a habit of telling others about your brand new hobby. Is there a concern that you start up new projects/hobbies, let others know that you're working on them (thus receiving praise), and then feeling like you are beholden to continuing the project?

This may or may not be the case, but if it is, I recommend not telling anyone about a new project/hobby until you've reached a stage where what you have is praiseworthy as an accomplishment.

</comment><comment><USER7> One thing I've come to terms with is that there's no "finishing" my hobbies. How would you quantify finishing something like drawing? I'm always reminded of the Geoffrey Chaucer quote[0]:

 _The lyf so short, the craft so longe to lerne._

I like to create small chunks that have a clear stopping point and a neatly defined goal. For writing, it may be the process of creating a blog post. For drawing, it could be a 20 minute sketch of a tree. For guitar playing, I wouldn't count noodling, but I would count learning a new song all the way through. Breaking it up into these chunks makes it more manageable, and each one is a small, enjoyable step forward.

The other question is which one to choose. Each hobby is a craft you could spend a lifetime mastering! I don't worry about this as much these days, and I'll do whatever I feel like on any given day. If I want to focus on one section (say I want to stick to a regular writing schedule to get better at writing), I can set a clear goal for one of the chunks and work my way through it. If I worry too much about fitting everything in, say by giving myself a quota like _do these five tasks daily_ , I've found that it quickly becomes a chore I try to avoid, not something I look forward to. Worrying about moving everything forward means I barely move at all. Letting that go, I can move one forward at a time as I please, which I've found makes for much more enjoyable progress across the board over time.

[0] [https://en.wikiquote.org/wiki/Geoffrey_Chaucer](https://en.wikiquote.org/wiki/Geoffrey_Chaucer)

</comment><comment><USER8> I have (and have had for many years) the same trouble. I can't tell you what to do, but I can tell you what I think I've learned (so far):

1\. I am incredibly curious, by nature. I want to learn everything. I accept that it is NOT possible to learn everything I want to.

2\. I can be more disciplined. I can say no to projects. I can't be good at everything. Saying no can be (surprisingly) fulfilling. I can be more dedicated than comes naturally, but it takes extra willpower. The payoff is worth it.

3\. Projects involving other people are more fun, and therefore more successful and more engrossing.

4\. What I _really_ want is to accomplish something meaningful.

5\. There are patterns in my projects, in my interests. They feed on each other.

6\. It's ok to treat a project as a learning experience, and then move on.

7\. A project that I'm serious about will take at least 5 years.

<comment><USER9> All good points. I would also comment that hobbies can be seasonal. My musical / coding hobbies tend to get more attention during the winter months when the weather is not so good. In the summer outdoor activities like gardening take more of my time.

</comment></comment><comment><USER10> I think it's perfectly fine to have some of the hobbies that are completely pointless with no end goal/product, but:

Some of them I'm sure you have bigger dreams with. For those 1 or 2, make your end goal/product happen, even if it sucks. And then do it again. For your music production that would be putting together 5 of the songs you are playing around with in to an LP in a folder and naming it. And perhaps the next one will be of guitar songs, and all in a key you came to be comfortable while learning. These are things noone can take away from you and you will feel productive, while learning/enjoying the hobby. Compete in a small archery tournament or create your own even if you're the only one that competes.

</comment><comment><USER11> I had this same problem. Too many interests, not enough time in the day!

So I pruned. I actually made a list, and prioritized. There were a few things on there that, after years of diddling around, I'm just no good at. There were a few things that were just too expensive or time consuming.

Now I limit myself to 2-3 things, and I actually make progress on those. It's kind of freeing to admit that you enjoy something, but that it's just not a priority.

<comment><USER12> I have the same problem and I took the same approach: if I'm not immediately good at whatever I was doing, I'm over it. If I need to buy special tools to do the hobby, I buy quality but beginner's tools, and if I'm good at it and outgrow the tool, I have no issues buying a new better one. If I'm not good at it, I didn't waste too much money on professional equipment I'm never going to use.

At first it was hard to admit I'm not good at something and for years I spun my wheels trying to get good. Now I give it a reasonable amount of time and if it hasn't gotten easier, I'm done. There are enough things I am good at and that do come easily, there's no sense in spending time doing something that I don't really want to do.

Also since it's a hobby, I don't make promises to anyone about finished products. I'll show it off when it's done, but in-progress stuff is just for me. That way there's no shame in failure, since no one even knew you were trying.

</comment></comment><comment><USER13> In three steps:

1\. Pick activities and goals that are coherent with your personality as you understand it. You might have a vague idea of this but the better you articulate it, the more you'll accomplish.

2\. Find new methods of feedback that inform you of progress. Having a teacher or mentor to ask is the classic way of "getting up to speed" but after that you have to become more creative and look for specific phenomena that you could optimize for. Completions, revenue and similar large-scale metrics tend not to give you enough to go on in the moment.

3\. Look for techniques that you find painless and give you maximal leverage towards your goals. The bulk of a project is application of technique, but the design of it involves figuring out which technique to use when. If the goal is "learn the technique" many kinds of projects will do. But using a technique for creative effect is a matter of finding the time and place for it, the same as it would be for a fighting technique.

</comment><comment><USER14> Accept that your hobbies are about enjoying yourself and learning new things. That's why it's called "hobbies" and not "work". Trying to make every single hour you are awake "productive" and "optimised" to achieve "goals" is a mentally unhealthy thing to do. Your brain needs time to just be happy and relax without stressing out about an end goal. Also (by the way) you and everybody you know and everybody reading this and everybody on the planet will die one day. So don't worry about it. Relax. Enjoy the ride.

</comment><comment><USER15> Do you want to actually accomplish something or do you want to feel like you're actually accomplishing something?

It's more fun to start things than stick with them. When you're new to something you make bigger jumps in improvement with less effort. But going from intermediate to expert takes much more work for far smaller return.

If you'd rather feel like you're making progress, keep doing new things and get OK at them. If you want to actually make progress, pick something and actually stick with it, especially when it feels hard and pointless.

</comment><comment><USER16> For me, once I was able to find a project I was able to make a small amount of money off of, it started the spark for doing tons of other projects. Only now the projects tend to contribute to the original project usually by enhancements in efficiency.

Some of my other hobbies have taken a back seat, but being able to tie in soldering projects with woodworking and website building all while being able to fund it through some other means than my day job is pretty glorious. It also makes it easier to put a value on things.

</comment><comment><USER17> I struggle with this sometimes as well. I do a "purge" about every 6 months and ditch anything I'm not fully committed to or making progress on and ensure I'm focusing on longer-term goals. It's hard at first, but feels good after you see yourself making better progress on fewer things. That's my 2¢

</comment><comment><USER18> imho, there's nothing wrong with having side projects to learn and improve without being forced to "finish" them.

<comment><USER19> totally agree - the experience, knowledge and growth that comes with the "hobbies" should be a fair amount of reward as is; however, if you are trying to "product-ize" one of your "hobbies" then that is something totally different - you need laser focus for that to "complete" one of these...

</comment></comment><comment><USER20> I:

1\. Got married.

2\. Bought a house.

3\. Had kids.

Problem solved.

</comment><comment><USER21> One way is to list your hobbies and rate the frequency you've spentntime with each. You'll quickly find you spend more time with one or two. Which then you could focus on.</comment>